]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCcalibTime.h
Macros moved to the TPC/scripts/OCDBscan directory
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibTime.h
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"
8 class TObjArray;
9
10 class TH1F;
11 class TH3F;
12 class TH2F;
13 class THnSparse;
14 class TList;
15 class AliESDEvent;
16 class AliESDtrack;
17 class AliTPCcalibLaser;
18 class TGraphErrors;
19 class AliSplineFit;
20 class AliESDfriendTrack;
21
22 class AliTPCcalibTime:public AliTPCcalibBase {
23 public:
24   AliTPCcalibTime(); 
25   AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeVdrift);
26   virtual ~AliTPCcalibTime();
27   
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);
44
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];};
54   
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
60
61
62 private:
63   void ResetCurrent();                  // reset current values
64
65   AliTPCcalibLaser * fLaser;            //! laser calibration
66   //
67   // current information
68   //
69   Float_t fDz;          //! current delta z
70   
71   // cuts
72   //
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
78  
79   AliTPCcalibTime(const AliTPCcalibTime&); 
80   AliTPCcalibTime& operator=(const AliTPCcalibTime&); 
81
82   TH1F* fCosmiMatchingHisto[10];
83
84   // laser histo
85   THnSparse * fHistVdriftLaserA[3];     //Histograms for V drift from laser
86   THnSparse * fHistVdriftLaserC[3];     //Histograms for V drift from laser
87   // DELTA Z histo
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); 
109 };
110
111 #endif
112
113