]>
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; |
c74c5f6c | 21 | |
22 | #include "TTreeStream.h" | |
2be25cc9 | 23 | #include "TMap.h" |
c74c5f6c | 24 | |
25 | class AliTPCcalibTime:public AliTPCcalibBase { | |
26 | public: | |
27 | AliTPCcalibTime(); | |
2be25cc9 | 28 | AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeDeDx, Int_t deltaIntegrationTimeVdrift); |
c74c5f6c | 29 | virtual ~AliTPCcalibTime(); |
30 | ||
31 | virtual void Process(AliESDEvent *event); | |
32 | virtual Long64_t Merge(TCollection *li); | |
33 | virtual void Analyze(); | |
34 | // | |
2be25cc9 | 35 | static Bool_t IsLaser(AliESDEvent *event); |
36 | void ProcessLaser (AliESDEvent *event); | |
c74c5f6c | 37 | void ProcessCosmic(AliESDEvent *event); |
38 | Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1); | |
39 | // | |
40 | THnSparse * GetHistVdrift(){return (THnSparse*) fHistVdrift;}; | |
41 | THnSparse * GetHistDeDxVsTgl(){return (THnSparse*) fHistDeDxTgl;}; | |
42 | THnSparse * GetHistDeDx(){return (THnSparse*) fHistDeDx;}; | |
2be25cc9 | 43 | THnSparse * GetHistVdriftLaserA(Int_t index=1){return (THnSparse*) fHistVdriftLaserA[index];}; |
44 | THnSparse * GetHistVdriftLaserC(Int_t index=1){return (THnSparse*) fHistVdriftLaserC[index];}; | |
45 | TMap * GetMapDz(){return (TMap *) fMapDz;}; | |
c74c5f6c | 46 | |
47 | ||
1aa15e8d | 48 | void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}; |
49 | void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);} | |
c74c5f6c | 50 | private: |
da6c0bc9 | 51 | void ResetCurrent(); // reset current values |
c74c5f6c | 52 | |
53 | THnSparse * fHistDeDxTgl; // dEdx vs. dip angle vs time histogram | |
54 | THnSparse * fHistDeDx; // dEdx vs. time histogram (cosmics: all particles on Fermi plateau) | |
55 | THnSparse * fHistVdrift; // drift velocity vs time histogram | |
56 | ||
57 | Float_t fIntegrationTimeDeDx; // required statistics for each dEdx time bin | |
58 | Float_t fIntegrationTimeVdrift; // required statistics for each Vdrift time bin | |
59 | ||
da6c0bc9 | 60 | AliTPCcalibLaser * fLaser; //! laser calibration |
61 | // | |
62 | // current information | |
63 | // | |
64 | Float_t fDz; //! current delta z | |
65 | Float_t fdEdx; //! current dEdx | |
66 | Float_t fdEdxRatio; //! current dEdx ratio | |
67 | Float_t fTl; //! current tan(lambda) | |
68 | ||
c74c5f6c | 69 | // cuts |
70 | // | |
71 | Float_t fCutMaxD; // maximal distance in rfi ditection | |
da6c0bc9 | 72 | Float_t fCutMaxDz; // maximal distance in z ditection |
c74c5f6c | 73 | Float_t fCutTheta; // maximal distance in theta ditection |
74 | Float_t fCutMinDir; // direction vector products | |
75 | ||
76 | AliTPCcalibTime(const AliTPCcalibTime&); | |
77 | AliTPCcalibTime& operator=(const AliTPCcalibTime&); | |
78 | ||
2be25cc9 | 79 | |
80 | // laser histo | |
81 | THnSparse * fHistVdriftLaserA[3]; //NEW! Histograms for V drift from laser | |
82 | THnSparse * fHistVdriftLaserC[3]; //NEW! Histograms for V drift from laser | |
83 | // DELTA Z histo | |
84 | TMap * fMapDz; //NEW! Tmap of V drifts for different triggers | |
85 | ||
86 | Int_t fTimeBins; //NEW! Bins time | |
87 | Double_t fTimeStart; //NEW! Start time | |
88 | Double_t fTimeEnd; //NEW! End time | |
89 | Int_t fPtBins; //NEW! Bins pt | |
90 | Double_t fPtStart; //NEW! Start pt | |
91 | Double_t fPtEnd; //NEW! End pt | |
92 | Int_t fVdriftBins; //NEW! Bins vdrift | |
93 | Double_t fVdriftStart; //NEW! Start vdrift | |
94 | Double_t fVdriftEnd; //NEW! End vdrift | |
95 | Int_t fRunBins; //NEW! Bins run | |
96 | Double_t fRunStart; //NEW! Start run | |
97 | Double_t fRunEnd; //NEW! End run | |
98 | Int_t fBinsVdrift[4]; //NEW! Bins for vdrift | |
99 | Double_t fXminVdrift[4]; //NEW! Xmax for vdrift | |
100 | Double_t fXmaxVdrift[4]; //NEW! Xmin for vdrift | |
c74c5f6c | 101 | ClassDef(AliTPCcalibTime, 1); |
102 | }; | |
103 | ||
104 | #endif | |
105 | ||
106 |