]>
Commit | Line | Data |
---|---|---|
9310e980 | 1 | #ifndef ALIANALYSISTASKTOFQAID_h |
2 | #define ALIANALYSISTASKTOFQAID_h | |
3 | ||
4 | class TString; | |
5 | class TList; | |
6 | class AliAnalysisFilter; | |
7 | class AliCDBManager; | |
8 | class AliTOFcalib; | |
9 | class AliTOFT0maker; | |
10 | class AliTOFT0v1; | |
11 | class AliTOFHeader; | |
12 | ||
13 | #include "AliAnalysisTaskSE.h" | |
14 | ||
15 | class AliAnalysisTaskTOFqaID : public AliAnalysisTaskSE { | |
16 | public: | |
cf7778cf | 17 | |
18 | enum ETrackCutSetTOFqa_t { kRun1Cuts = 0, | |
19 | kStd2010, | |
20 | kStd2010crossedRows, | |
21 | kStd2011, | |
22 | kStd2011crossedRows, | |
23 | kNCutSetTOFqa }; | |
24 | ||
9310e980 | 25 | AliAnalysisTaskTOFqaID(); |
26 | AliAnalysisTaskTOFqaID(const char *name); | |
27 | AliAnalysisTaskTOFqaID(const AliAnalysisTaskTOFqaID& copy); | |
28 | AliAnalysisTaskTOFqaID& operator= (const AliAnalysisTaskTOFqaID& copy); | |
29 | virtual ~AliAnalysisTaskTOFqaID(); | |
30 | ||
31 | virtual void UserCreateOutputObjects(); | |
32 | virtual void UserExec(Option_t *option); | |
33 | virtual void Terminate(Option_t *); | |
34 | ||
20b640b9 | 35 | Int_t GetStripIndex(const Int_t * in); |
103b61df | 36 | void SetTrackFilter(AliAnalysisFilter *filter) { fTrackFilter = filter; return; }; |
37 | void EnableAdvancedCheck(Bool_t enable) { fEnableAdvancedCheck = enable; return; }; | |
38 | void EnableChargeSplit(Bool_t enable) { fEnableChargeSplit = enable; return; }; | |
39 | void SetExpTimeHistoRange(Float_t min, Float_t max) { fExpTimeRangeMin = min; fExpTimeRangeMax = max; return;}; | |
40 | void SetExpTimeHistoSmallRange(Float_t min, Float_t max) { fExpTimeSmallRangeMin = min; fExpTimeSmallRangeMax = max; return;}; | |
41 | void SetExpTimeBinWidth(Float_t width) { fExpTimeBinWidth = width; return;}; | |
42 | Bool_t SetSelectMCspecies(Bool_t enableMC, Int_t absPdgCode) {fIsMC = enableMC; fSelectedPdg = absPdgCode; return kTRUE;}; | |
9310e980 | 43 | TString GetSpeciesName(Int_t absPdgCode); |
44 | void HistogramMakeUp(TH1* hist, Color_t color, Int_t markerStyle, TString drawOpt, TString newName, TString newTitle, TString xTitle, TString yTitle); | |
45 | Double_t GetPhiAtTPCouterRadius(AliESDtrack * track); | |
103b61df | 46 | |
9310e980 | 47 | protected: |
48 | void AddTofBaseHisto(TList *list, Int_t charge, TString suffix); | |
49 | void AddMatchingEffHisto(TList *list, Int_t charge, TString suffix); | |
50 | void AddPidHisto(TList *list, Int_t charge, TString suffix); | |
51 | void AddStartTimeHisto(TList *list, TString suffix); | |
52 | void AddTrdHisto(); | |
53 | void AddTofTrgHisto(TString suffix); | |
54 | ||
55 | void FillTofBaseHisto(AliESDtrack * track, Int_t charge, TString suffix); | |
56 | void FillMatchedTrkHisto(Int_t charge, TString suffix); | |
57 | void FillPrimaryTrkHisto(Int_t charge, TString suffix); | |
58 | void FillPidHisto(AliESDtrack * track,Int_t charge, TString suffix); | |
59 | void FillStartTimeHisto(TString suffix); | |
60 | void FillTrdHisto(AliESDtrack * track, Int_t charge); | |
61 | void FillStartTimeMaskHisto(TString suffix); | |
62 | void FillTofTrgHisto(TString suffix); | |
63 | ||
64 | Bool_t ComputeTimeZeroByTOF1GeV(); | |
65 | Bool_t SelectMCspecies(AliMCEvent * ev, AliESDtrack * track); | |
66 | Bool_t ComputeMatchingEfficiency(TList* list, TString variable); | |
67 | Bool_t IsTPCTOFMatched(AliESDtrack * track); | |
68 | Bool_t IsInTRD(AliESDtrack * track); | |
69 | Bool_t IsEventSelected(AliESDEvent * event); | |
70 | ||
71 | private: | |
72 | Int_t fRunNumber; //run number | |
73 | AliESDEvent * fESD; //ESD object | |
74 | AliMCEvent * fMCevent; //MC event | |
75 | AliAnalysisFilter * fTrackFilter; //track filter object | |
76 | AliESDVertex * fVertex; //pointer to the vertex object | |
77 | AliESDpid * fESDpid; //pointer to the PID object | |
b0471367 | 78 | //AliTOFT0v1 * fTOFT0v1; // TOF-T0 v1 |
9310e980 | 79 | AliTOFHeader * fTOFHeader; // TOF header needed for trigger info |
80 | Int_t fNTOFtracks[3]; //number of tracks matching with TOF | |
81 | //Int_t fNPrimaryTracks; //number of primary tracks | |
82 | Float_t fT0[3]; //event time | |
83 | Float_t fSigmaSpecie[5]; //number of TOF PID sigmas, ie.fSigmaPion, fSigmaKaon, fSigmaProton; | |
84 | Double_t fTrkExpTimes[5]; //expected times from tracking for 5 mass hypothesis | |
85 | Double_t fThExpTimes[5]; //theoretical expected times for 5 mass hypothesis | |
86 | Bool_t fEnableAdvancedCheck; //flag to enable advanced checks | |
103b61df | 87 | Bool_t fEnableChargeSplit; //flag to enable split for sign of charge |
88 | ||
9310e980 | 89 | Float_t fExpTimeBinWidth;//bin width for t-texp histos |
90 | Float_t fExpTimeRangeMin, fExpTimeRangeMax; //range of t-texp histogram | |
91 | Float_t fExpTimeSmallRangeMin, fExpTimeSmallRangeMax; //reduced range of t-texp histogram | |
92 | Int_t fnExpTimeBins; | |
93 | Int_t fnExpTimeSmallBins; | |
94 | ||
95 | Double_t fMyTimeZeroTOF, fMyTimeZeroTOFsigma; //timeZero by TOF recomputed | |
96 | Int_t fMyTimeZeroTOFtracks; // number of tracks used to recompute TOF_T0 | |
97 | Bool_t fIsMC; //flag for MC | |
98 | Int_t fSelectedPdg; //pdg code of the selected specie (for MC only) | |
99 | Double_t fP; //momentum | |
100 | Double_t fPt; //transverse momentum | |
101 | Double_t fEta; //psedorapidity | |
102 | Double_t fPhi; //phi at vertex | |
103 | Double_t fTPCOuterPhi; //phi at outer tpc radius | |
104 | Double_t fL; //integrated track lenght | |
105 | Double_t fMatchingMomCut;//pT cut for eta, phi matching eff | |
106 | Double_t fTof; | |
107 | //output objects | |
108 | TList * fHlist; //list of general histos | |
109 | TList * fHlistTimeZero; //list of timeZero related histos | |
110 | TList * fHlistPID; //list of PID-related histos | |
111 | TList * fHlistTRD; //list of general histos for positive tracks | |
112 | TList * fHlistTrigger; //list of general histos for TOF trg infos | |
113 | ||
103b61df | 114 | ClassDef(AliAnalysisTaskTOFqaID, 2); // example of analysis |
9310e980 | 115 | }; |
116 | ||
117 | #endif | |
118 | ||
119 | ||
120 |