]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TOF/AliTOFcalib.h
Adding RAWDatarec before STEER (Laurent)
[u/mrichter/AliRoot.git] / TOF / AliTOFcalib.h
CommitLineData
6dc9348d 1#ifndef ALITOFCALIB_H
2#define ALITOFCALIB_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//////////////////////////////////////////////////////////////////
8// class for TOF calibration:: simulation of uncalibrated data //
9//////////////////////////////////////////////////////////////////
10
0a749fa5 11#define CHENTRIESSMALL 300 // number of entries per TOF channel per run
12 // (to be divided by 3 to get the
13 // real number of entries), smallarray
14#define MAXCHENTRIESSMALL 10000 // max number of entries per TOF channel
15 // (to be divided by 3 to get the
16 // real number of entries), smallarray
17
18#define NIDXSMALL 3 // number of values stored
19 // after Comb PID per ESD track
20#define DELTAIDXTOT 0 // index for ToT in bigarray
21#define DELTAIDXTIME 1 // index for TOF time in big/smallarray
22#define DELTAIDXPID 2 // index for Exp Time after Comb PID
23 // in smallarray
24#define MEANENTRIES 15 // Mean number of entries per channel
25 // to perform calibration
26
6dc9348d 27#include "TTask.h"
0e46b9ae 28
29class TArrayF;
30class TF1;
31class TH1F;
32class TObjArray;
0a749fa5 33class TTree;
0e46b9ae 34
35class AliESD;
36
37class AliTOFCal;
7037bd93 38class AliTOFRecoParam;
6dc9348d 39
40class AliTOFcalib:public TTask{
41public:
42 AliTOFcalib(); // ctor
7aeeaf38 43 AliTOFcalib(const AliTOFcalib & calib); // copy constructor
44 AliTOFcalib& operator=(const AliTOFcalib & calib); // assignment operator
6dc9348d 45 virtual ~AliTOFcalib() ; // dtor
0a749fa5 46 void CreateCalArrays();
47 void CreateSimCalArrays();
48 TObjArray * GetTOFCalArrayOnline() const {return fTOFCalOnline;}
49 TObjArray * GetTOFCalArrayOffline() const {return fTOFCalOffline;}
50 TObjArray * GetTOFSimCalArrayOnline() const {return fTOFSimCalOnline;}
51 TObjArray * GetTOFSimCalArrayOffline() const {return fTOFSimCalOffline;}
d4ad0d6b 52 TH1F * GetTOFSimToT() const {return fTOFSimToT;}
0a749fa5 53 TTree * GetTOFCalibTree() const {return fTree;}
54 const char * GetOfflineValidity() const {return fkValidity;}
55 void SetOfflineValidity(const char* validity) {fkValidity = validity;}
d4ad0d6b 56 Int_t NChannels()const{return fNChannels;}
d4ad0d6b 57 // Methods to retrieve/write parameters from/on CDB
0a749fa5 58 void WriteSimParOnlineOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, TObjArray *cal);
59 void WriteSimParOfflineOnCDB(Char_t *sel, const Char_t * validity, Int_t minrun, Int_t maxrun, TObjArray *cal, TH1F *histo);
60 void ReadSimParOnlineFromCDB(Char_t *sel, Int_t nrun);
61 void ReadSimParOfflineFromCDB(Char_t *sel, Int_t nrun);
62 void WriteParOnlineOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun);
63 void WriteParOfflineOnCDB(Char_t *sel, const Char_t *validity, Int_t minrun, Int_t maxrun);
0cb9d099 64 void WriteParOnlineOnCDB(Char_t *sel);
65 void WriteParOfflineOnCDB(Char_t *sel, const Char_t *validity);
0a749fa5 66 Bool_t ReadParOnlineFromCDB(Char_t *sel, Int_t nrun);
67 Bool_t ReadParOfflineFromCDB(Char_t *sel, Int_t nrun);
7037bd93 68 void WriteRecParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFRecoParam *param);
69 AliTOFRecoParam * ReadRecParFromCDB(Char_t *sel, Int_t nrun);
0a749fa5 70 void CreateTreeFromCDB(Int_t minrun, Int_t maxrun);
71 void CreateTreeFromFile(Int_t minrun, Int_t maxrun);
72 void CreateTreeFromGrid(Int_t minrun, Int_t maxrun);
73 Int_t Calibrate(Option_t *optionSave="", Option_t *optionFit="RQ");
74 Int_t Calibrate(Int_t nch,Int_t *ich, Option_t *optionSave="", Option_t *optionFit="RQ");
75 Int_t Calibrate(Int_t ichmin, Int_t ichmax, Option_t *optionSave="", Option_t *optionFit="RQ");
76 Int_t Calibrate(Int_t ich, Option_t *optionSave="", Option_t *optionFit="RQ");
77 Int_t CalibrateFromProfile(Int_t ich, Option_t *optionSave="", Option_t *optionFit="RQ");
78 TH1F* Profile(Int_t i);
79 Int_t FindBins (TH1F* h, Double_t *bins) const;
80 void SetNruns(Int_t nruns) {fNruns=nruns;}
81 Int_t GetNruns() const {return fNruns;}
0cb9d099 82 void SetFirstRun(Int_t firstRun) {fFirstRun=firstRun;}
83 Int_t GetFirstRun() const {return fFirstRun;}
84 void SetLastRun(Int_t lastRun) {fLastRun=lastRun;}
85 Int_t GetLastRun() const {return fLastRun;}
6dc9348d 86
87private:
d4ad0d6b 88 Int_t fNChannels; // number of TOF channels
0a749fa5 89 TObjArray *fTOFCalOnline; // array of AliTOFChannels storing calib parameters
90 TObjArray *fTOFCalOffline; // array of AliTOFChannels storing calib parameters
91 TObjArray *fTOFSimCalOnline; // array of AliTOFChannels storing calib parameters
92 TObjArray *fTOFSimCalOffline; // array of AliTOFChannels storing calib parameters
d4ad0d6b 93 TH1F *fTOFSimToT; // histo with realistic ToT signal from TB Data
0a749fa5 94 const char *fkValidity; // validity for offline calibration object
95 TTree *fTree; // tree for TOF calibration
96 Int_t fNruns; // number of runs to be processed
0cb9d099 97 Int_t fFirstRun; // first run for calibration obj validity
98 Int_t fLastRun; // last run for calib obj validity
99
100 ClassDef(AliTOFcalib,3);
6dc9348d 101};
102
103#endif // AliTOFcalib_H
104