]>
Commit | Line | Data |
---|---|---|
8f589502 | 1 | #ifndef ALITOFT0V1_H |
2 | #define ALITOFT0V1_H | |
536031f2 | 3 | |
8f589502 | 4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //----------------------------------------------------------------------------// | |
8 | // // | |
9 | // Description: class to performe an event time measurment with TOF. // | |
10 | // // | |
11 | //----------------------------------------------------------------------------// | |
12 | ||
13 | #include "TObject.h" | |
536031f2 | 14 | |
62f44f07 | 15 | #include "TObjArray.h" |
16 | ||
14b2cbea | 17 | class AliESDtrack; |
8f589502 | 18 | class AliESDEvent; |
2a258f40 | 19 | class AliESDpid; |
536031f2 | 20 | |
62f44f07 | 21 | class TObjArray; |
22 | ||
536031f2 | 23 | class AliTOFT0v1: public TObject { |
24 | public: | |
25 | ||
2a258f40 | 26 | AliTOFT0v1(AliESDpid *extPID=NULL); // default constructor |
27 | AliTOFT0v1(AliESDEvent *event,AliESDpid *extPID=NULL); // overloaded constructor | |
536031f2 | 28 | virtual ~AliTOFT0v1() ; // dtor |
29 | ||
721ed687 | 30 | Double_t* DefineT0(Option_t *option,Float_t pMinCut=3,Float_t pMaxCut=5); |
2a258f40 | 31 | |
536031f2 | 32 | void SetMomBounds(Float_t pLow, Float_t pUp) { fLowerMomBound=pLow; fUpperMomBound=pUp;} // momenta are expressed in [GeV/c] |
33 | void SetTimeCorr(Float_t timecorr) {fTimeCorr=timecorr;} //in ns!!! | |
8f589502 | 34 | Float_t GetMomError(Int_t index, Float_t mom, Float_t texp) const; |
2a258f40 | 35 | Double_t GetResult(Int_t i){if(i < 6) return fT0SigmaT0def[i]; else return -1.;}; |
8f589502 | 36 | /* void Print(Option_t* option) const ; */ |
536031f2 | 37 | |
2a258f40 | 38 | void SetTimeResolution(Float_t /* timeres */){}; // obsolete |
a558aa69 | 39 | void SetOptimization(Bool_t flag=kFALSE){fOptFlag=flag;}; |
5b4ed716 | 40 | void Init(AliESDEvent *event); // init |
41 | ||
536031f2 | 42 | private: |
14b2cbea | 43 | |
62f44f07 | 44 | Float_t ToCalculatePower(Float_t base, Int_t exponent) const ; |
45 | Int_t ToCalculatePower(Int_t base, Int_t exponent) const ; | |
46 | ||
5b4ed716 | 47 | AliTOFT0v1(const AliTOFT0v1 &); |
48 | AliTOFT0v1 & operator=(const AliTOFT0v1 &) ; | |
49 | ||
14b2cbea | 50 | Bool_t AcceptTrack(AliESDtrack *track); /* accept track */ |
8f589502 | 51 | Float_t GetSigmaToVertex(AliESDtrack *track) const; /* get sigma to vertex */ |
90beec49 | 52 | Bool_t CheckTPCMatching(AliESDtrack *track,Int_t imass) const; |
536031f2 | 53 | |
536031f2 | 54 | Float_t fLowerMomBound; // momentum lower bound for selected primary tracks |
536031f2 | 55 | Float_t fUpperMomBound; // momentum upper bound for selected primary tracks |
8f589502 | 56 | Float_t fTimeCorr; // global time resolution used to calculate T0 |
536031f2 | 57 | AliESDEvent* fEvent; //evento per il quale si vuole calcolare il T0 |
2a258f40 | 58 | Double_t fT0SigmaT0def[6]; // array with the event information ([0]=event time -- [1] = sigma -- [2] = tracks on the TOF -- [3] = tracks used for the event time) |
a558aa69 | 59 | |
60 | Int_t fLookupPowerThree[15]; //! lookup table for power 3 to speed up the code | |
536031f2 | 61 | |
2a258f40 | 62 | AliESDpid *fPIDesd; // class with the detector response |
63 | ||
62f44f07 | 64 | TObjArray *fTracks; //! array of tracks |
65 | TObjArray *fGTracks; //! array of good tracks | |
66 | TObjArray *fTracksT0; //! array of tracks usefull for T0 estimate | |
a558aa69 | 67 | Bool_t fOptFlag; // use optimized code |
62f44f07 | 68 | |
a558aa69 | 69 | ClassDef(AliTOFT0v1,5); // Calculate the time zero using TOF detector */ |
536031f2 | 70 | |
71 | }; | |
72 | ||
73 | #endif |