]>
Commit | Line | Data |
---|---|---|
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 | ||
11 | #include "TTask.h" | |
12 | #include "TH1F.h" | |
13 | #include "AliTOFChannel.h" | |
14 | #include "TClonesArray.h" | |
15 | #include "TList.h" | |
16 | #include "AliTOFCal.h" | |
17 | #include "AliTOFGeometry.h" | |
18 | #include "AliESD.h" | |
6dc9348d | 19 | |
20 | class AliTOFcalib:public TTask{ | |
21 | public: | |
22 | AliTOFcalib(); // ctor | |
d4ad0d6b | 23 | AliTOFcalib(AliTOFGeometry *geom); |
6dc9348d | 24 | AliTOFcalib(const AliTOFcalib & calib); |
6dc9348d | 25 | virtual ~AliTOFcalib() ; // dtor |
26 | Int_t NSector()const {return fNSector;} | |
27 | Int_t NPlate()const {return fNPlate;} | |
28 | Int_t NStripA()const {return fNStripA;} | |
29 | Int_t NStripB()const {return fNStripB;} | |
30 | Int_t NStripC()const {return fNStripC;} | |
31 | Int_t NpadZ()const {return fNpadZ;} | |
32 | Int_t NpadX()const {return fNpadX;} | |
d4ad0d6b | 33 | AliTOFCal * GetTOFCalArray() const {return fTOFCal;} |
34 | AliTOFCal * GetTOFCalSimArray() const {return fTOFSimCal;} | |
35 | TH1F * GetTOFSimToT() const {return fTOFSimToT;} | |
36 | void SelectESD(AliESD *event); | |
6dc9348d | 37 | void CombESDId(); |
38 | void CalibrateESD(); | |
39 | TH1F* Profile(Int_t i); | |
d4ad0d6b | 40 | Int_t NChannels()const{return fNChannels;} |
6dc9348d | 41 | TF1* SetFitFunctions(TH1F* histo); |
d4ad0d6b | 42 | void CorrectESDTime();// useless method, kept to make Chiara happy |
43 | void CorrectESDTime(AliESD *event); | |
44 | // Methods to retrieve/write parameters from/on CDB | |
45 | void WriteSimParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun); | |
46 | void WriteSimParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFCal *cal, TH1F *histo); | |
47 | void ReadSimParFromCDB(Char_t *sel, Int_t nrun); | |
48 | void WriteParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFCal *cal); | |
49 | void WriteParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun); | |
50 | void ReadParFromCDB(Char_t *sel, Int_t nrun); | |
51 | Int_t GetIndex(Int_t *detId); // Get channel index for Calibration | |
6dc9348d | 52 | |
53 | public: | |
54 | class AliTOFArray : public TObject { | |
55 | public: | |
56 | AliTOFArray(): TObject(),fSize(0),fArray(0x0){} | |
57 | AliTOFArray(Int_t size) : | |
58 | TObject(), | |
59 | fSize(size), | |
60 | fArray(new TArrayF*[size]) { | |
61 | } | |
62 | Int_t GetSize() const {return fSize;} | |
63 | void AddArray(Int_t pos, TArrayF * parr) { | |
340693af | 64 | if (pos>-1 && pos < fSize)fArray[pos] = parr;} |
65 | TArrayF * GetArray(Int_t pos) const { | |
66 | TArrayF * parr = 0x0; | |
67 | if (pos>-1 && pos < fSize)parr = fArray[pos]; | |
6dc9348d | 68 | return parr; |
69 | } | |
70 | virtual ~AliTOFArray() { | |
71 | delete [] fArray; | |
72 | } | |
73 | ||
74 | private: | |
75 | ||
76 | Int_t fSize; // Size of the array of TArrayFs | |
77 | TArrayF ** fArray; //[fSize]}; | |
78 | ||
79 | }; | |
80 | ||
81 | ||
82 | private: | |
83 | static const Int_t fgkchannel; // max number of entries per channel | |
d4ad0d6b | 84 | Int_t fNChannels; // number of TOF channels |
6dc9348d | 85 | Int_t fNSector; // number of TOF sectors |
86 | Int_t fNPlate; // number of TOF plates | |
87 | Int_t fNStripA; // number of TOF strips A | |
88 | Int_t fNStripB; // number of TOF strips B | |
89 | Int_t fNStripC; // number of TOF strips C | |
90 | Int_t fNpadZ; // number of TOF pads Z | |
91 | Int_t fNpadX; // number of TOF pads X | |
d4ad0d6b | 92 | Int_t fNevents; // number of events |
6dc9348d | 93 | TObjArray * fESDsel; // selected ESD tracks for calibration |
6dc9348d | 94 | AliTOFArray *fArrayToT; // array for ToT values |
95 | AliTOFArray *fArrayTime; // array for Time values | |
6dc9348d | 96 | AliTOFCal *fTOFCal; // array of AliTOFChannels storing calib parameters |
d4ad0d6b | 97 | AliTOFCal *fTOFSimCal; // array of AliTOFChannels storing calib parameters |
98 | TH1F *fTOFSimToT; // histo with realistic ToT signal from TB Data | |
6dc9348d | 99 | ClassDef(AliTOFcalib,1); |
100 | }; | |
101 | ||
102 | #endif // AliTOFcalib_H | |
103 |