1 #ifndef ALITPCCALIBTIME_H
2 #define ALITPCCALIBTIME_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 #include "AliTPCcalibBase.h"
17 class AliTPCcalibLaser;
20 class AliESDfriendTrack;
22 class AliTPCcalibTime:public AliTPCcalibBase {
25 AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeVdrift);
26 virtual ~AliTPCcalibTime();
28 virtual void Process(AliESDEvent *event);
29 virtual Long64_t Merge(TCollection *const li);
30 virtual void Analyze();
31 static Bool_t IsLaser (const AliESDEvent *const event);
32 static Bool_t IsCosmics (const AliESDEvent *const event);
33 static Bool_t IsBeam (const AliESDEvent *const event);
34 void ProcessLaser (AliESDEvent *event);
35 void ProcessCosmic(const AliESDEvent *const event);
36 void ProcessBeam (const AliESDEvent *const event);
37 Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1);
38 Bool_t IsCross(AliESDtrack *const tr0, AliESDtrack *const tr1);
39 Bool_t IsSame (AliESDtrack *const tr0, AliESDtrack *const tr1);
40 void ProcessSame(AliESDtrack *const track, AliESDfriendTrack *const friendTrack, const AliESDEvent *const event);
41 void ProcessAlignITS(AliESDtrack *const track, AliESDfriendTrack *const friendTrack, const AliESDEvent *const event, AliESDfriend *const ESDfriend);
42 void ProcessAlignTRD(AliESDtrack* const track, AliESDfriendTrack *const friendTrack);
43 void ProcessAlignTOF(AliESDtrack* const track, AliESDfriendTrack *const friendTrack);
45 THnSparse* GetHistVdriftLaserA(Int_t index=1) const {return fHistVdriftLaserA[index];};
46 THnSparse* GetHistVdriftLaserC(Int_t index=1) const {return fHistVdriftLaserC[index];};
47 THnSparse* GetHistoDrift(const char* name) const;
48 TObjArray* GetHistoDrift() const;
49 TGraphErrors* GetGraphDrift(const char* name);
50 TObjArray* GetGraphDrift();
51 AliSplineFit* GetFitDrift(const char* name);
52 // TObjArray* GetFitDrift();
53 TH1F* GetCosmiMatchingHisto(Int_t index=0) const {return fCosmiMatchingHisto[index];};
55 void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);};
56 void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);}
57 TObjArray* GetAlignITSTPC() const {return fAlignITSTPC;} // alignemnt array ITS TPC match
58 TObjArray* GetAlignTRDTPC() const {return fAlignTRDTPC;} // alignemnt array TRD TPC match
59 TObjArray* GetAlignTOFTPC() const {return fAlignTOFTPC;} // alignemnt array TOF TPC match
63 void ResetCurrent(); // reset current values
65 AliTPCcalibLaser * fLaser; //! laser calibration
67 // current information
69 Float_t fDz; //! current delta z
73 Float_t fCutMaxD; // maximal distance in rfi ditection
74 Float_t fCutMaxDz; // maximal distance in z ditection
75 Float_t fCutTheta; // maximal distance in theta ditection
76 Float_t fCutMinDir; // direction vector products
77 Int_t fCutTracks; // maximal number of tracks
79 AliTPCcalibTime(const AliTPCcalibTime&);
80 AliTPCcalibTime& operator=(const AliTPCcalibTime&);
82 TH1F* fCosmiMatchingHisto[10];
85 THnSparse * fHistVdriftLaserA[3]; //Histograms for V drift from laser
86 THnSparse * fHistVdriftLaserC[3]; //Histograms for V drift from laser
88 // TMap* fMapDz; //Tmap of V drifts for different triggers
89 TObjArray* fArrayDz; // array of DZ histograms for different triggers
90 TObjArray* fAlignITSTPC; // alignemnt array ITS TPC match
91 TObjArray* fAlignTRDTPC; // alignemnt array TRD TPC match
92 TObjArray* fAlignTOFTPC; // alignemnt array TOF TPC match
93 Int_t fTimeBins; //Bins time
94 Double_t fTimeStart; //Start time
95 Double_t fTimeEnd; //End time
96 Int_t fPtBins; //Bins pt
97 Double_t fPtStart; //Start pt
98 Double_t fPtEnd; //End pt
99 Int_t fVdriftBins; //Bins vdrift
100 Double_t fVdriftStart; //Start vdrift
101 Double_t fVdriftEnd; //End vdrift
102 Int_t fRunBins; //Bins run
103 Double_t fRunStart; //Start run
104 Double_t fRunEnd; //End run
105 Int_t fBinsVdrift[4]; //Bins for vdrift
106 Double_t fXminVdrift[4]; //Xmax for vdrift
107 Double_t fXmaxVdrift[4]; //Xmin for vdrift
108 ClassDef(AliTPCcalibTime, 2);