]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCcalibTime.h
Technical fix: reducing the virtual memory consumption
[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 class TGraphErrors;
22
23 #include "TTreeStream.h"
24 #include "TMap.h"
25  
26 class AliTPCcalibTime:public AliTPCcalibBase {
27 public:
28   AliTPCcalibTime(); 
29   AliTPCcalibTime(const Text_t *name, const Text_t *title, UInt_t StartTime, UInt_t EndTime, Int_t deltaIntegrationTimeVdrift);
30   virtual ~AliTPCcalibTime();
31   
32   virtual void           Process(AliESDEvent *event);
33   virtual Long64_t       Merge(TCollection *li);
34   virtual void           Analyze();
35   //
36   static Bool_t          IsLaser(AliESDEvent *event);
37   void                   ProcessLaser (AliESDEvent *event);
38   void                   ProcessCosmic(AliESDEvent *event);
39   Bool_t                 IsPair(AliExternalTrackParam *tr0, AliExternalTrackParam *tr1);
40   Bool_t                 IsCross(AliESDtrack *tr0, AliESDtrack *tr1);
41
42   THnSparse* GetHistVdriftLaserA(Int_t index=1){return fHistVdriftLaserA[index];};
43   THnSparse* GetHistVdriftLaserC(Int_t index=1){return fHistVdriftLaserC[index];};
44   THnSparse* GetHistoDrift(TObjString* name);
45   THnSparse* GetHistoDrift(const char* name);
46   TMap*      GetHistoDrift();
47   TGraphErrors*    GetGraphDrift(TObjString* name);
48   TGraphErrors*    GetGraphDrift(const char* name);
49   TMap*      GetGraphDrift();
50   TGraph*    GetFitDrift(TObjString* name);
51   TGraph*    GetFitDrift(const char* name);
52   TMap*      GetFitDrift();
53   TH1F*      GetCosmiMatchingHisto(Int_t index=0){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 private:
58   void ResetCurrent();                  // reset current values
59
60   AliTPCcalibLaser * fLaser;            //! laser calibration
61   //
62   // current information
63   //
64   Float_t fDz;          //! current delta z
65   
66   // cuts
67   //
68   Float_t fCutMaxD;     // maximal distance in rfi ditection
69   Float_t fCutMaxDz;    // maximal distance in z ditection
70   Float_t fCutTheta;    // maximal distance in theta ditection
71   Float_t fCutMinDir;   // direction vector products
72   Int_t   fCutTracks;   // maximal number of tracks
73  
74   AliTPCcalibTime(const AliTPCcalibTime&); 
75   AliTPCcalibTime& operator=(const AliTPCcalibTime&); 
76
77   TH1F* fCosmiMatchingHisto[10];
78
79   // laser histo
80   THnSparse * fHistVdriftLaserA[3];     //Histograms for V drift from laser
81   THnSparse * fHistVdriftLaserC[3];     //Histograms for V drift from laser
82   // DELTA Z histo
83   TMap      * fMapDz;                   //Tmap of V drifts for different triggers
84
85   Int_t    fTimeBins;                   //Bins time
86   Double_t fTimeStart;                  //Start time
87   Double_t fTimeEnd;                    //End time
88   Int_t    fPtBins;                     //Bins pt
89   Double_t fPtStart;                    //Start pt
90   Double_t fPtEnd;                      //End pt
91   Int_t    fVdriftBins;                 //Bins vdrift
92   Double_t fVdriftStart;                //Start vdrift
93   Double_t fVdriftEnd;                  //End vdrift
94   Int_t    fRunBins;                    //Bins run
95   Double_t fRunStart;                   //Start run
96   Double_t fRunEnd;                     //End run
97   Int_t    fBinsVdrift[4];              //Bins for vdrift
98   Double_t fXminVdrift[4];              //Xmax for vdrift
99   Double_t fXmaxVdrift[4];              //Xmin for vdrift
100   ClassDef(AliTPCcalibTime, 2); 
101 };
102
103 #endif
104
105