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"
11 #include "TObjArray.h"
20 class AliTPCcalibLaser;
23 class AliESDfriendTrack;
25 #include "TTreeStream.h"
28 class AliTPCcalibTime:public AliTPCcalibBase {
31 AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeVdrift);
32 virtual ~AliTPCcalibTime();
34 virtual void Process(AliESDEvent *event);
35 virtual Long64_t Merge(TCollection *li);
36 virtual void Analyze();
37 static Bool_t IsLaser (AliESDEvent *event);
38 static Bool_t IsCosmics (AliESDEvent *event);
39 static Bool_t IsBeam (AliESDEvent *event);
40 void ProcessLaser (AliESDEvent *event);
41 void ProcessCosmic(AliESDEvent *event);
42 void ProcessBeam (AliESDEvent *event);
43 Bool_t IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1);
44 Bool_t IsCross(AliESDtrack *tr0, AliESDtrack *tr1);
45 Bool_t IsSame (AliESDtrack *tr0, AliESDtrack *tr1);
46 void ProcessSame(AliESDtrack* track, AliESDfriendTrack *friendTrack,AliESDEvent *event);
47 void ProcessAlignITS(AliESDtrack* track, AliESDfriendTrack *friendTrack);
48 void ProcessAlignTRD(AliESDtrack* track, AliESDfriendTrack *friendTrack);
49 void ProcessAlignTOF(AliESDtrack* track, AliESDfriendTrack *friendTrack);
51 THnSparse* GetHistVdriftLaserA(Int_t index=1){return fHistVdriftLaserA[index];};
52 THnSparse* GetHistVdriftLaserC(Int_t index=1){return fHistVdriftLaserC[index];};
53 THnSparse* GetHistoDrift(const char* name);
54 TObjArray* GetHistoDrift();
55 TGraphErrors* GetGraphDrift(const char* name);
56 TObjArray* GetGraphDrift();
57 AliSplineFit* GetFitDrift(const char* name);
58 // TObjArray* GetFitDrift();
59 TH1F* GetCosmiMatchingHisto(Int_t index=0){return fCosmiMatchingHisto[index];};
61 void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);};
62 void Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);}
63 TObjArray* GetAlignITSTPC() {return fAlignITSTPC;} // alignemnt array ITS TPC match
64 TObjArray* GetAlignTRDTPC() {return fAlignTRDTPC;} // alignemnt array TRD TPC match
65 TObjArray* GetAlignTOFTPC() {return fAlignTOFTPC;} // alignemnt array TOF TPC match
69 void ResetCurrent(); // reset current values
71 AliTPCcalibLaser * fLaser; //! laser calibration
73 // current information
75 Float_t fDz; //! current delta z
79 Float_t fCutMaxD; // maximal distance in rfi ditection
80 Float_t fCutMaxDz; // maximal distance in z ditection
81 Float_t fCutTheta; // maximal distance in theta ditection
82 Float_t fCutMinDir; // direction vector products
83 Int_t fCutTracks; // maximal number of tracks
85 AliTPCcalibTime(const AliTPCcalibTime&);
86 AliTPCcalibTime& operator=(const AliTPCcalibTime&);
88 TH1F* fCosmiMatchingHisto[10];
91 THnSparse * fHistVdriftLaserA[3]; //Histograms for V drift from laser
92 THnSparse * fHistVdriftLaserC[3]; //Histograms for V drift from laser
94 // TMap* fMapDz; //Tmap of V drifts for different triggers
95 TObjArray* fArrayDz; // array of DZ histograms for different triggers
96 TObjArray* fAlignITSTPC; // alignemnt array ITS TPC match
97 TObjArray* fAlignTRDTPC; // alignemnt array TRD TPC match
98 TObjArray* fAlignTOFTPC; // alignemnt array TOF TPC match
99 Int_t fTimeBins; //Bins time
100 Double_t fTimeStart; //Start time
101 Double_t fTimeEnd; //End time
102 Int_t fPtBins; //Bins pt
103 Double_t fPtStart; //Start pt
104 Double_t fPtEnd; //End pt
105 Int_t fVdriftBins; //Bins vdrift
106 Double_t fVdriftStart; //Start vdrift
107 Double_t fVdriftEnd; //End vdrift
108 Int_t fRunBins; //Bins run
109 Double_t fRunStart; //Start run
110 Double_t fRunEnd; //End run
111 Int_t fBinsVdrift[4]; //Bins for vdrift
112 Double_t fXminVdrift[4]; //Xmax for vdrift
113 Double_t fXmaxVdrift[4]; //Xmin for vdrift
114 ClassDef(AliTPCcalibTime, 2);