]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCcalibTime.h
Adjust the ranges for histograms
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibTime.h
CommitLineData
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 10class TObjArray;
c74c5f6c 11class TH1F;
12class TH3F;
13class TH2F;
14class THnSparse;
3e0d9569 15class TH1D;
c74c5f6c 16class TList;
17class AliESDEvent;
18class AliESDtrack;
da6c0bc9 19class AliTPCcalibLaser;
74235403 20class TGraphErrors;
dde68d36 21class AliSplineFit;
92761e02 22class AliESDfriendTrack;
c74c5f6c 23
c74c5f6c 24class AliTPCcalibTime:public AliTPCcalibBase {
25public:
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
b9ab8e40 81
82 void SetCutTracks(Int_t maxTracks) { fCutTracks = maxTracks; } // set maximal number of tracks
83 Int_t GetCutTracks() const { return fCutTracks; } // retun maximal number of tracks
84
85
86
00ec4542 87protected:
da6c0bc9 88 void ResetCurrent(); // reset current values
660f0543 89 Int_t fMemoryMode; // 0 -do not fill THnSparse with residuals 1- fill only important QA THn 2 - Fill all THnsparse for calibration
da6c0bc9 90 AliTPCcalibLaser * fLaser; //! laser calibration
91 //
92 // current information
93 //
94 Float_t fDz; //! current delta z
da6c0bc9 95
c74c5f6c 96 // cuts
97 //
98 Float_t fCutMaxD; // maximal distance in rfi ditection
74235403 99 Float_t fCutMaxDz; // maximal distance in z ditection
c74c5f6c 100 Float_t fCutTheta; // maximal distance in theta ditection
101 Float_t fCutMinDir; // direction vector products
74235403 102 Int_t fCutTracks; // maximal number of tracks
c74c5f6c 103
c74c5f6c 104
d3ce44cb 105 TH1F* fCosmiMatchingHisto[10];
391ffdb2 106 //
107 // distortion maps
108 //
b9908d0b 109 THnSparse* fResHistoTPCCE[5]; //TPC-TPCE matching map
391ffdb2 110 THnSparse* fResHistoTPCITS[5]; //TPC-ITS matching map
111 THnSparse* fResHistoTPCvertex[5]; //TPC-ITS vertex matching map
112 THnSparse* fResHistoTPCTRD[5]; //TPC-TRD matching map
0b736a46 113 THnSparse* fResHistoTPCTOF[5]; //TPC-TRD matching map
2be25cc9 114 // laser histo
74235403 115 THnSparse * fHistVdriftLaserA[3]; //Histograms for V drift from laser
116 THnSparse * fHistVdriftLaserC[3]; //Histograms for V drift from laser
97d3fea0 117 TObjArray *fArrayLaserA; //Object array of driftvelocity laserA
118 TObjArray *fArrayLaserC; //Object array of driftvelocity laserC
70036ef3 119 //
120 // TPC vertex A side C side histo
121 //
b1fea14f 122 THnSparse * fTPCVertex[12]; // TPC vertex histograms A side c side - A+C -ESD
123 THnSparse * fTPCVertexCorrelation[5]; // TPC vertex correlation A side C side with TPC vertex and ITS vertex
2be25cc9 124 // DELTA Z histo
dde68d36 125 TObjArray* fArrayDz; // array of DZ histograms for different triggers
817766d5 126 TObjArray* fAlignITSTPC; // alignemnt array ITS TPC match
127 TObjArray* fAlignTRDTPC; // alignemnt array TRD TPC match
128 TObjArray* fAlignTOFTPC; // alignemnt array TOF TPC match
97d3fea0 129 Int_t fTimeKalmanBin; // width of Kalman bin - time in seconds
74235403 130 Int_t fTimeBins; //Bins time
131 Double_t fTimeStart; //Start time
132 Double_t fTimeEnd; //End time
133 Int_t fPtBins; //Bins pt
134 Double_t fPtStart; //Start pt
135 Double_t fPtEnd; //End pt
136 Int_t fVdriftBins; //Bins vdrift
137 Double_t fVdriftStart; //Start vdrift
138 Double_t fVdriftEnd; //End vdrift
139 Int_t fRunBins; //Bins run
140 Double_t fRunStart; //Start run
141 Double_t fRunEnd; //End run
142 Int_t fBinsVdrift[4]; //Bins for vdrift
143 Double_t fXminVdrift[4]; //Xmax for vdrift
144 Double_t fXmaxVdrift[4]; //Xmin for vdrift
00ec4542 145
146private:
147 AliTPCcalibTime(const AliTPCcalibTime&);
148 AliTPCcalibTime& operator=(const AliTPCcalibTime&);
149
b1fea14f 150 ClassDef(AliTPCcalibTime, 10);
c74c5f6c 151};
152
153#endif
154
155