]>
Commit | Line | Data |
---|---|---|
3c8efc07 | 1 | #ifndef ALITOFANALYSISTASKCALIBPASS0_H |
2 | #define ALITOFANALYSISTASKCALIBPASS0_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /////////////////////////////////////////////////////////////// | |
8 | // // | |
9 | // This class provides TOF pass0/passX calibration tools // | |
10 | // // | |
11 | /////////////////////////////////////////////////////////////// | |
12 | ||
13 | #include "AliAnalysisTaskSE.h" | |
14 | ||
15 | class AliESDtrack; | |
16 | class AliESDEvent; | |
17 | class AliPhysicsSelection; | |
18 | class AliESDtrackCuts; | |
19 | class AliESDVertex; | |
20 | class AliGRPManager; | |
21 | class AliGRPObject; | |
22 | class AliTOFcalib; | |
23 | class TList; | |
24 | class TH2F; | |
25 | class TF1; | |
26 | class TH1D; | |
27 | ||
28 | class AliTOFAnalysisTaskCalibPass0 : | |
29 | public AliAnalysisTaskSE | |
30 | { | |
31 | ||
32 | public: | |
33 | ||
34 | AliTOFAnalysisTaskCalibPass0(); // default constructor | |
35 | virtual ~AliTOFAnalysisTaskCalibPass0(); // default destructor | |
36 | ||
37 | virtual void UserCreateOutputObjects(); // user create output objects | |
38 | virtual void UserExec(Option_t *); // user exec | |
39 | ||
40 | /* getters */ | |
41 | AliPhysicsSelection *GetEventCuts() const {return fEventCuts;}; // getter | |
42 | AliESDtrackCuts *GetTrackCuts() const {return fTrackCuts;}; // getter | |
43 | AliTOFcalib *GetTOFcalib() const {return fTOFcalib;}; // getter | |
44 | ||
45 | /* setters */ | |
46 | void SetEventSelectionFlag(Bool_t value = kTRUE) {fEventSelectionFlag = value;}; // setter | |
47 | void SetVertexSelectionFlag(Bool_t value = kTRUE) {fVertexSelectionFlag = value;}; // setter | |
48 | void SetVertexCut(Double_t value) {fVertexCut = value;}; // setter | |
49 | ||
50 | /* post-processing methods */ | |
51 | Bool_t ProcessOutput(const Char_t *filename, const Char_t *dbString); // process output | |
d501ffec | 52 | |
53 | /* static setters */ | |
54 | static void SetMinVertexIntegral(Double_t value) {fgMinVertexIntegral = value;}; // setter | |
55 | static void SetMinDeltatIntegal(Double_t value) {fgMinDeltatIntegral = value;}; // setter | |
56 | static void SetMinVertexIntegralSample (Double_t value) {fgMinVertexIntegralSample = value;}; // setter | |
57 | static void SetMinDeltatIntegralSample (Double_t value) {fgMinDeltatIntegralSample = value;}; // setter | |
3c8efc07 | 58 | |
59 | protected: | |
60 | ||
61 | AliTOFAnalysisTaskCalibPass0(const AliTOFAnalysisTaskCalibPass0 &); // copy constructor | |
62 | AliTOFAnalysisTaskCalibPass0 &operator=(const AliTOFAnalysisTaskCalibPass0 &); // operator= | |
63 | ||
64 | /* methods */ | |
65 | Bool_t InitRun(); // init run | |
66 | Bool_t InitEvent(); // init event | |
67 | Bool_t HasTOFMeasurement(const AliESDtrack *track) const ; // has TOF measurement | |
68 | ||
69 | /* post-processing methods */ | |
70 | Bool_t CheckMatchingPerformance(const TH2F *histoDeltazEta, const TH2F *histoAcceptedTracksEtaPt, const TH2F *histoMatchedTracksEtaPt) const; // check matching efficiency | |
71 | Bool_t CalibrateAndStore(TH2F *histoVertexTimestamp, TH2F *histoDeltatTimestamp, const Char_t *dbString); // calibrate and store | |
72 | Int_t FitPeak(TF1 *fitFunc, TH1D *h, Float_t startSigma, Float_t nSigmaMin, Float_t nSigmaMax); // fit peak | |
73 | ||
74 | /* flags and cuts */ | |
75 | Bool_t fInitFlag; // init flag | |
76 | Bool_t fEventSelectionFlag; // event selection flag | |
77 | Bool_t fVertexSelectionFlag; // vertex selection flag | |
78 | Double_t fVertexCut; // vertex cut | |
79 | ||
80 | /* ESD analysis */ | |
81 | Int_t fRunNumber; // run number | |
82 | AliESDEvent *fESDEvent; // ESD event | |
83 | AliPhysicsSelection *fEventCuts; // event cuts | |
84 | AliESDtrackCuts *fTrackCuts; // track cuts | |
85 | UInt_t fStartTime; // start time | |
86 | UInt_t fEndTime; // end time | |
87 | UInt_t fEventTime; // event time | |
88 | UInt_t fElapsedTime; // event time since start | |
89 | const AliESDVertex *fkVertex; // vertex | |
90 | ||
91 | /* GRP related stuff */ | |
92 | AliGRPManager *fGRPManager; // GRP manager | |
93 | const AliGRPObject *fkGRPObject; // GRP object | |
94 | ||
95 | /* TOF related stuff */ | |
96 | AliTOFcalib *fTOFcalib; // TOF calib | |
97 | ||
98 | /* lists and histos */ | |
99 | TList *fHistoList; // list of histograms | |
100 | TH2F *fHistoVertexTimestamp; // vertex-timestamp histo | |
101 | TH2F *fHistoDeltatTimestamp; // deltat-timestamp histo | |
102 | TH2F *fHistoDeltazEta; // deltaz-eta histo | |
103 | TH2F *fHistoDeltazCosTheta; // deltaz-costheta histo | |
104 | TH2F *fHistoAcceptedTracksEtaPt; // accepted tracks eta-pt histo | |
105 | TH2F *fHistoMatchedTracksEtaPt; // matched tracks eta-pt histo | |
106 | ||
107 | /* post-processing variables */ | |
108 | static const Int_t fgkMaxNumberOfPoints; // max number of points | |
d501ffec | 109 | static Double_t fgMinVertexIntegral; // min vertex integral |
110 | static Double_t fgMinDeltatIntegral; // min vertex integral | |
111 | static Double_t fgMinVertexIntegralSample; // min vertex integral sample | |
112 | static Double_t fgMinDeltatIntegralSample; // min vertex integral sample | |
3c8efc07 | 113 | |
114 | ||
115 | ClassDef(AliTOFAnalysisTaskCalibPass0, 1); | |
116 | }; | |
117 | ||
118 | #endif /* ALIANALYSISTASKEVENTTIME_H */ |