]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCcalibTime.h
The previous commit 43117 was done by Stefan. This is a test commit to see if everyth...
[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 11
12class TH1F;
13class TH3F;
14class TH2F;
15class THnSparse;
3e0d9569 16class TH1D;
c74c5f6c 17class TList;
18class AliESDEvent;
19class AliESDtrack;
da6c0bc9 20class AliTPCcalibLaser;
74235403 21class TGraphErrors;
dde68d36 22class AliSplineFit;
92761e02 23class AliESDfriendTrack;
c74c5f6c 24
c74c5f6c 25class AliTPCcalibTime:public AliTPCcalibBase {
26public:
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 77private:
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