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