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