]>
Commit | Line | Data |
---|---|---|
c74c5f6c | 1 | #ifndef ALITPCCALIBTIME_H |
2 | #define ALITPCCALIBTIME_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | #include "AliTPCcalibBase.h" | |
8 | #include "TH2F.h" | |
9 | #include "TF1.h" | |
10 | #include "TArrayD.h" | |
11 | #include "TObjArray.h" | |
12 | ||
13 | class TH1F; | |
14 | class TH3F; | |
15 | class TH2F; | |
16 | class THnSparse; | |
17 | class TList; | |
18 | class AliESDEvent; | |
19 | class AliESDtrack; | |
da6c0bc9 | 20 | class AliTPCcalibLaser; |
74235403 | 21 | class TGraphErrors; |
dde68d36 | 22 | class AliSplineFit; |
92761e02 | 23 | class AliESDfriendTrack; |
c74c5f6c | 24 | |
25 | #include "TTreeStream.h" | |
2be25cc9 | 26 | #include "TMap.h" |
c74c5f6c | 27 | |
28 | class AliTPCcalibTime:public AliTPCcalibBase { | |
29 | public: | |
30 | AliTPCcalibTime(); | |
74235403 | 31 | AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeVdrift); |
c74c5f6c | 32 | virtual ~AliTPCcalibTime(); |
33 | ||
34 | virtual void Process(AliESDEvent *event); | |
35 | virtual Long64_t Merge(TCollection *li); | |
36 | virtual void Analyze(); | |
dde68d36 | 37 | static Bool_t IsLaser (AliESDEvent *event); |
38 | static Bool_t IsCosmics (AliESDEvent *event); | |
39 | static Bool_t IsBeam (AliESDEvent *event); | |
2be25cc9 | 40 | void ProcessLaser (AliESDEvent *event); |
c74c5f6c | 41 | void ProcessCosmic(AliESDEvent *event); |
dde68d36 | 42 | void ProcessBeam (AliESDEvent *event); |
c74c5f6c | 43 | Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1); |
d3ce44cb | 44 | Bool_t IsCross(AliESDtrack *tr0, AliESDtrack *tr1); |
dde68d36 | 45 | Bool_t IsSame (AliESDtrack *tr0, AliESDtrack *tr1); |
3e55050f | 46 | void ProcessSame(AliESDtrack* track, AliESDfriendTrack *friendTrack,AliESDEvent *event); |
b842d904 | 47 | void ProcessAlignITS(AliESDtrack* track, AliESDfriendTrack *friendTrack, AliESDEvent *event,AliESDfriend *ESDfriend); |
0dac7b3a | 48 | void ProcessAlignTRD(AliESDtrack* track, AliESDfriendTrack *friendTrack); |
817766d5 | 49 | void ProcessAlignTOF(AliESDtrack* track, AliESDfriendTrack *friendTrack); |
d3ce44cb | 50 | |
dde68d36 | 51 | THnSparse* GetHistVdriftLaserA(Int_t index=1){return fHistVdriftLaserA[index];}; |
52 | THnSparse* GetHistVdriftLaserC(Int_t index=1){return fHistVdriftLaserC[index];}; | |
53 | THnSparse* GetHistoDrift(const char* name); | |
54 | TObjArray* GetHistoDrift(); | |
55 | TGraphErrors* GetGraphDrift(const char* name); | |
56 | TObjArray* GetGraphDrift(); | |
57 | AliSplineFit* GetFitDrift(const char* name); | |
58 | // TObjArray* GetFitDrift(); | |
59 | TH1F* GetCosmiMatchingHisto(Int_t index=0){return fCosmiMatchingHisto[index];}; | |
c74c5f6c | 60 | |
1aa15e8d | 61 | void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}; |
62 | void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);} | |
3e55050f | 63 | TObjArray* GetAlignITSTPC() {return fAlignITSTPC;} // alignemnt array ITS TPC match |
64 | TObjArray* GetAlignTRDTPC() {return fAlignTRDTPC;} // alignemnt array TRD TPC match | |
65 | TObjArray* GetAlignTOFTPC() {return fAlignTOFTPC;} // alignemnt array TOF TPC match | |
66 | ||
67 | ||
c74c5f6c | 68 | private: |
da6c0bc9 | 69 | void ResetCurrent(); // reset current values |
c74c5f6c | 70 | |
da6c0bc9 | 71 | AliTPCcalibLaser * fLaser; //! laser calibration |
72 | // | |
73 | // current information | |
74 | // | |
75 | Float_t fDz; //! current delta z | |
da6c0bc9 | 76 | |
c74c5f6c | 77 | // cuts |
78 | // | |
79 | Float_t fCutMaxD; // maximal distance in rfi ditection | |
74235403 | 80 | Float_t fCutMaxDz; // maximal distance in z ditection |
c74c5f6c | 81 | Float_t fCutTheta; // maximal distance in theta ditection |
82 | Float_t fCutMinDir; // direction vector products | |
74235403 | 83 | Int_t fCutTracks; // maximal number of tracks |
c74c5f6c | 84 | |
85 | AliTPCcalibTime(const AliTPCcalibTime&); | |
86 | AliTPCcalibTime& operator=(const AliTPCcalibTime&); | |
87 | ||
d3ce44cb | 88 | TH1F* fCosmiMatchingHisto[10]; |
2be25cc9 | 89 | |
90 | // laser histo | |
74235403 | 91 | THnSparse * fHistVdriftLaserA[3]; //Histograms for V drift from laser |
92 | THnSparse * fHistVdriftLaserC[3]; //Histograms for V drift from laser | |
2be25cc9 | 93 | // DELTA Z histo |
dde68d36 | 94 | // TMap* fMapDz; //Tmap of V drifts for different triggers |
95 | TObjArray* fArrayDz; // array of DZ histograms for different triggers | |
817766d5 | 96 | TObjArray* fAlignITSTPC; // alignemnt array ITS TPC match |
97 | TObjArray* fAlignTRDTPC; // alignemnt array TRD TPC match | |
98 | TObjArray* fAlignTOFTPC; // alignemnt array TOF TPC match | |
74235403 | 99 | Int_t fTimeBins; //Bins time |
100 | Double_t fTimeStart; //Start time | |
101 | Double_t fTimeEnd; //End time | |
102 | Int_t fPtBins; //Bins pt | |
103 | Double_t fPtStart; //Start pt | |
104 | Double_t fPtEnd; //End pt | |
105 | Int_t fVdriftBins; //Bins vdrift | |
106 | Double_t fVdriftStart; //Start vdrift | |
107 | Double_t fVdriftEnd; //End vdrift | |
108 | Int_t fRunBins; //Bins run | |
109 | Double_t fRunStart; //Start run | |
110 | Double_t fRunEnd; //End run | |
111 | Int_t fBinsVdrift[4]; //Bins for vdrift | |
112 | Double_t fXminVdrift[4]; //Xmax for vdrift | |
113 | Double_t fXmaxVdrift[4]; //Xmin for vdrift | |
114 | ClassDef(AliTPCcalibTime, 2); | |
c74c5f6c | 115 | }; |
116 | ||
117 | #endif | |
118 | ||
119 |