]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCcalibTime.h
Wrong header file names.
[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 #include "TH2F.h"
9 #include "TF1.h"
10 #include "TArrayD.h"
11 #include "TObjArray.h"
12
13 class TH1F;
14 class TH3F;
15 class TH2F;
16 class THnSparse;
17 class TList;
18 class AliESDEvent;
19 class AliESDtrack;
20 class AliTPCcalibLaser;
21
22 #include "TTreeStream.h"
23 #include "TMap.h"
24  
25 class AliTPCcalibTime:public AliTPCcalibBase {
26 public:
27   AliTPCcalibTime(); 
28   AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeDeDx, Int_t deltaIntegrationTimeVdrift);
29   virtual ~AliTPCcalibTime();
30   
31   virtual void           Process(AliESDEvent *event);
32   virtual Long64_t       Merge(TCollection *li);
33   virtual void           Analyze();
34   //
35   static Bool_t           IsLaser(AliESDEvent *event);
36   void                   ProcessLaser (AliESDEvent *event);
37   void                   ProcessCosmic(AliESDEvent *event);
38   Bool_t                 IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1);
39   //
40   THnSparse *                 GetHistVdrift(){return (THnSparse*) fHistVdrift;};
41   THnSparse *                 GetHistDeDxVsTgl(){return (THnSparse*) fHistDeDxTgl;};
42   THnSparse *                 GetHistDeDx(){return (THnSparse*) fHistDeDx;};
43   THnSparse *                 GetHistVdriftLaserA(Int_t index=1){return (THnSparse*) fHistVdriftLaserA[index];};
44   THnSparse *                 GetHistVdriftLaserC(Int_t index=1){return (THnSparse*) fHistVdriftLaserC[index];};
45   TMap      *                 GetMapDz(){return (TMap *) fMapDz;};
46
47   
48   void     Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);};
49   void     Process(AliTPCseed *track){return AliTPCcalibBase::Process(track);}
50 private:
51   void ResetCurrent();                  // reset current values
52
53   THnSparse * fHistDeDxTgl;             // dEdx vs. dip angle vs time histogram
54   THnSparse * fHistDeDx;                // dEdx vs. time histogram (cosmics: all particles on Fermi plateau)
55   THnSparse * fHistVdrift;              // drift velocity vs time histogram
56
57   Float_t fIntegrationTimeDeDx;         // required statistics for each dEdx time bin
58   Float_t fIntegrationTimeVdrift;       // required statistics for each Vdrift time bin
59
60   AliTPCcalibLaser * fLaser;            //! laser calibration
61   //
62   // current information
63   //
64   Float_t fDz;          //! current delta z
65   Float_t fdEdx;        //! current dEdx
66   Float_t fdEdxRatio;   //! current dEdx ratio
67   Float_t fTl;          //! current tan(lambda)
68   
69   // cuts
70   //
71   Float_t fCutMaxD;     // maximal distance in rfi ditection
72   Float_t fCutMaxDz;     // maximal distance in z ditection
73   Float_t fCutTheta;    // maximal distance in theta ditection
74   Float_t fCutMinDir;   // direction vector products
75  
76   AliTPCcalibTime(const AliTPCcalibTime&); 
77   AliTPCcalibTime& operator=(const AliTPCcalibTime&); 
78
79
80   // laser histo
81   THnSparse * fHistVdriftLaserA[3];             //NEW! Histograms for V drift from laser
82   THnSparse * fHistVdriftLaserC[3];             //NEW! Histograms for V drift from laser
83   // DELTA Z histo
84   TMap      * fMapDz;                   //NEW! Tmap of V drifts for different triggers
85
86   Int_t    fTimeBins;                   //NEW! Bins time
87   Double_t fTimeStart;                  //NEW! Start time
88   Double_t fTimeEnd;                    //NEW! End time
89   Int_t    fPtBins;                     //NEW! Bins pt
90   Double_t fPtStart;                    //NEW! Start pt
91   Double_t fPtEnd;                      //NEW! End pt
92   Int_t    fVdriftBins;                 //NEW! Bins vdrift
93   Double_t fVdriftStart;                //NEW! Start vdrift
94   Double_t fVdriftEnd;                  //NEW! End vdrift
95   Int_t    fRunBins;                    //NEW! Bins run
96   Double_t fRunStart;                   //NEW! Start run
97   Double_t fRunEnd;                     //NEW! End run
98   Int_t    fBinsVdrift[4];              //NEW! Bins for vdrift
99   Double_t fXminVdrift[4];              //NEW! Xmax for vdrift
100   Double_t fXmaxVdrift[4];              //NEW! Xmin for vdrift
101   ClassDef(AliTPCcalibTime, 1); 
102 };
103
104 #endif
105
106