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