4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //////////////////////////////////////////////////////////////////
8 // class for TOF calibration:: simulation of uncalibrated data //
9 //////////////////////////////////////////////////////////////////
23 class AliTOFcalib:public TTask{
25 AliTOFcalib(); // ctor
26 AliTOFcalib(AliTOFGeometry *geom);
27 AliTOFcalib(const AliTOFcalib & calib); // copy constructor
28 AliTOFcalib& operator=(const AliTOFcalib & calib); // assignment operator
29 virtual ~AliTOFcalib() ; // dtor
30 Int_t NSector()const {return fNSector;}
31 Int_t NPlate()const {return fNPlate;}
32 Int_t NStripA()const {return fNStripA;}
33 Int_t NStripB()const {return fNStripB;}
34 Int_t NStripC()const {return fNStripC;}
35 Int_t NpadZ()const {return fNpadZ;}
36 Int_t NpadX()const {return fNpadX;}
37 AliTOFCal * GetTOFCalArray() const {return fTOFCal;}
38 AliTOFCal * GetTOFCalSimArray() const {return fTOFSimCal;}
39 TH1F * GetTOFSimToT() const {return fTOFSimToT;}
40 void SelectESD(AliESD *event);
43 TH1F* Profile(Int_t i);
44 Int_t NChannels()const{return fNChannels;}
45 TF1* SetFitFunctions(TH1F* histo);
46 void CorrectESDTime();// useless method, kept to make Chiara happy
47 void CorrectESDTime(AliESD *event);
48 // Methods to retrieve/write parameters from/on CDB
49 void WriteSimParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun);
50 void WriteSimParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFCal *cal, TH1F *histo);
51 void ReadSimParFromCDB(Char_t *sel, Int_t nrun);
52 void WriteParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFCal *cal);
53 void WriteParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun);
54 void ReadParFromCDB(Char_t *sel, Int_t nrun);
55 Int_t GetIndex(Int_t *detId); // Get channel index for Calibration
58 class AliTOFArray : public TObject {
60 AliTOFArray(): TObject(),fSize(0),fArray(0x0){}
61 AliTOFArray(Int_t size):
64 fArray(new TArrayF*[size]) {
66 AliTOFArray(const AliTOFArray & source):
67 TObject(),fSize(0),fArray(0x0){ // copy constructor
68 this->fSize= source.fSize;
69 this->fArray= source.fArray;
72 AliTOFArray& operator=(const AliTOFArray & source) { // assignment operator
73 this->fSize= source.fSize;
74 this->fArray= source.fArray;
78 Int_t GetSize() const {return fSize;}
79 void AddArray(Int_t pos, TArrayF * parr) {
80 if (pos>-1 && pos < fSize)fArray[pos] = parr;}
81 TArrayF * GetArray(Int_t pos) const {
83 if (pos>-1 && pos < fSize)parr = fArray[pos];
86 virtual ~AliTOFArray() {
92 Int_t fSize; // Size of the array of TArrayFs
93 TArrayF ** fArray; //[fSize]};
99 static const Int_t fgkchannel; // max number of entries per channel
100 Int_t fNChannels; // number of TOF channels
101 Int_t fNSector; // number of TOF sectors
102 Int_t fNPlate; // number of TOF plates
103 Int_t fNStripA; // number of TOF strips A
104 Int_t fNStripB; // number of TOF strips B
105 Int_t fNStripC; // number of TOF strips C
106 Int_t fNpadZ; // number of TOF pads Z
107 Int_t fNpadX; // number of TOF pads X
108 Int_t fNevents; // number of events
109 TObjArray * fESDsel; // selected ESD tracks for calibration
110 AliTOFArray *fArrayToT; // array for ToT values
111 AliTOFArray *fArrayTime; // array for Time values
112 AliTOFCal *fTOFCal; // array of AliTOFChannels storing calib parameters
113 AliTOFCal *fTOFSimCal; // array of AliTOFChannels storing calib parameters
114 TH1F *fTOFSimToT; // histo with realistic ToT signal from TB Data
115 ClassDef(AliTOFcalib,1);
118 #endif // AliTOFcalib_H