]>
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" | |
3e0d9569 | 8 | #include "THnSparse.h" // Temporary |
9 | #include "TH1D.h" // Temporary make code compiling for HLT in the | |
2811495d | 10 | class TObjArray; |
c74c5f6c | 11 | |
12 | class TH1F; | |
13 | class TH3F; | |
14 | class TH2F; | |
15 | class THnSparse; | |
3e0d9569 | 16 | class TH1D; |
c74c5f6c | 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 | |
c74c5f6c | 25 | class AliTPCcalibTime:public AliTPCcalibBase { |
26 | public: | |
27 | AliTPCcalibTime(); | |
74235403 | 28 | AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeVdrift); |
c74c5f6c | 29 | virtual ~AliTPCcalibTime(); |
30 | ||
31 | virtual void Process(AliESDEvent *event); | |
2811495d | 32 | virtual Long64_t Merge(TCollection *const li); |
c74c5f6c | 33 | virtual void Analyze(); |
2811495d | 34 | static Bool_t IsLaser (const AliESDEvent *const event); |
35 | static Bool_t IsCosmics (const AliESDEvent *const event); | |
36 | static Bool_t IsBeam (const AliESDEvent *const event); | |
2be25cc9 | 37 | void ProcessLaser (AliESDEvent *event); |
2811495d | 38 | void ProcessCosmic(const AliESDEvent *const event); |
39 | void ProcessBeam (const AliESDEvent *const event); | |
c74c5f6c | 40 | Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1); |
2811495d | 41 | Bool_t IsCross(AliESDtrack *const tr0, AliESDtrack *const tr1); |
42 | Bool_t IsSame (AliESDtrack *const tr0, AliESDtrack *const tr1); | |
43 | void ProcessSame(AliESDtrack *const track, AliESDfriendTrack *const friendTrack, const AliESDEvent *const event); | |
44 | void ProcessAlignITS(AliESDtrack *const track, AliESDfriendTrack *const friendTrack, const AliESDEvent *const event, AliESDfriend *const ESDfriend); | |
45 | void ProcessAlignTRD(AliESDtrack* const track, AliESDfriendTrack *const friendTrack); | |
46 | void ProcessAlignTOF(AliESDtrack* const track, AliESDfriendTrack *const friendTrack); | |
d3ce44cb | 47 | |
6ba68367 | 48 | THnSparse* GetHistVdriftLaserA(Int_t index=1) const {return fHistVdriftLaserA[index];}; |
49 | THnSparse* GetHistVdriftLaserC(Int_t index=1) const {return fHistVdriftLaserC[index];}; | |
2811495d | 50 | THnSparse* GetHistoDrift(const char* name) const; |
51 | TObjArray* GetHistoDrift() const; | |
dde68d36 | 52 | TGraphErrors* GetGraphDrift(const char* name); |
53 | TObjArray* GetGraphDrift(); | |
54 | AliSplineFit* GetFitDrift(const char* name); | |
55 | // TObjArray* GetFitDrift(); | |
6ba68367 | 56 | TH1F* GetCosmiMatchingHisto(Int_t index=0) const {return fCosmiMatchingHisto[index];}; |
c74c5f6c | 57 | |
1aa15e8d | 58 | void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}; |
59 | void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);} | |
2811495d | 60 | TObjArray* GetAlignITSTPC() const {return fAlignITSTPC;} // alignemnt array ITS TPC match |
61 | TObjArray* GetAlignTRDTPC() const {return fAlignTRDTPC;} // alignemnt array TRD TPC match | |
62 | TObjArray* GetAlignTOFTPC() const {return fAlignTOFTPC;} // alignemnt array TOF TPC match | |
3e55050f | 63 | |
b9908d0b | 64 | THnSparse* GetResHistoTPCCE(Int_t index) const { return (index<5) ? fResHistoTPCCE[index]:0;} //TPC-CE matching map |
9112627b | 65 | THnSparse* GetResHistoTPCITS(Int_t index) const { return (index<5) ? fResHistoTPCITS[index]:0;} //TPC-ITS matching map |
391ffdb2 | 66 | THnSparse* GetResHistoTPCvertex(Int_t index) const { return (index<5) ? fResHistoTPCvertex[index] :0;} //TPC vertex matching map |
67 | THnSparse* GetResHistoTPCTRD(Int_t index) const { return (index<5) ? fResHistoTPCTRD[index]:0;} //TPC-TRD matching map | |
0b736a46 | 68 | THnSparse* GetResHistoTPCTOF(Int_t index) const { return (index<5) ? fResHistoTPCTOF[index]:0;} //TPC-TOF matching map |
391ffdb2 | 69 | |
70 | void BookDistortionMaps(); // book histograms | |
b9908d0b | 71 | void FillResHistoTPCCE(const AliExternalTrackParam * pTPCIn, const AliExternalTrackParam * pTPCOut ); // fill residual histo |
391ffdb2 | 72 | void FillResHistoTPCITS(const AliExternalTrackParam * pTPCIn, const AliExternalTrackParam * pITSOut ); // fill residual histo |
73 | void FillResHistoTPC(const AliESDtrack * pTrack); | |
74 | void FillResHistoTPCTRD(const AliExternalTrackParam * pTPCOut, const AliExternalTrackParam * pTRDIn ); | |
0b736a46 | 75 | void FillResHistoTPCTOF(const AliExternalTrackParam * pTPCOut, const AliExternalTrackParam * pTOFIn ); |
3e55050f | 76 | |
c74c5f6c | 77 | private: |
da6c0bc9 | 78 | void ResetCurrent(); // reset current values |
c74c5f6c | 79 | |
da6c0bc9 | 80 | AliTPCcalibLaser * fLaser; //! laser calibration |
81 | // | |
82 | // current information | |
83 | // | |
84 | Float_t fDz; //! current delta z | |
da6c0bc9 | 85 | |
c74c5f6c | 86 | // cuts |
87 | // | |
88 | Float_t fCutMaxD; // maximal distance in rfi ditection | |
74235403 | 89 | Float_t fCutMaxDz; // maximal distance in z ditection |
c74c5f6c | 90 | Float_t fCutTheta; // maximal distance in theta ditection |
91 | Float_t fCutMinDir; // direction vector products | |
74235403 | 92 | Int_t fCutTracks; // maximal number of tracks |
c74c5f6c | 93 | |
94 | AliTPCcalibTime(const AliTPCcalibTime&); | |
95 | AliTPCcalibTime& operator=(const AliTPCcalibTime&); | |
96 | ||
d3ce44cb | 97 | TH1F* fCosmiMatchingHisto[10]; |
391ffdb2 | 98 | // |
99 | // distortion maps | |
100 | // | |
b9908d0b | 101 | THnSparse* fResHistoTPCCE[5]; //TPC-TPCE matching map |
391ffdb2 | 102 | THnSparse* fResHistoTPCITS[5]; //TPC-ITS matching map |
103 | THnSparse* fResHistoTPCvertex[5]; //TPC-ITS vertex matching map | |
104 | THnSparse* fResHistoTPCTRD[5]; //TPC-TRD matching map | |
0b736a46 | 105 | THnSparse* fResHistoTPCTOF[5]; //TPC-TRD matching map |
2be25cc9 | 106 | // laser histo |
74235403 | 107 | THnSparse * fHistVdriftLaserA[3]; //Histograms for V drift from laser |
108 | THnSparse * fHistVdriftLaserC[3]; //Histograms for V drift from laser | |
2be25cc9 | 109 | // DELTA Z histo |
dde68d36 | 110 | TObjArray* fArrayDz; // array of DZ histograms for different triggers |
817766d5 | 111 | TObjArray* fAlignITSTPC; // alignemnt array ITS TPC match |
112 | TObjArray* fAlignTRDTPC; // alignemnt array TRD TPC match | |
113 | TObjArray* fAlignTOFTPC; // alignemnt array TOF TPC match | |
74235403 | 114 | Int_t fTimeBins; //Bins time |
115 | Double_t fTimeStart; //Start time | |
116 | Double_t fTimeEnd; //End time | |
117 | Int_t fPtBins; //Bins pt | |
118 | Double_t fPtStart; //Start pt | |
119 | Double_t fPtEnd; //End pt | |
120 | Int_t fVdriftBins; //Bins vdrift | |
121 | Double_t fVdriftStart; //Start vdrift | |
122 | Double_t fVdriftEnd; //End vdrift | |
123 | Int_t fRunBins; //Bins run | |
124 | Double_t fRunStart; //Start run | |
125 | Double_t fRunEnd; //End run | |
126 | Int_t fBinsVdrift[4]; //Bins for vdrift | |
127 | Double_t fXminVdrift[4]; //Xmax for vdrift | |
128 | Double_t fXmaxVdrift[4]; //Xmin for vdrift | |
0b736a46 | 129 | ClassDef(AliTPCcalibTime, 4); |
c74c5f6c | 130 | }; |
131 | ||
132 | #endif | |
133 | ||
134 |