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