]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/TOF/AliAnalysisTaskTOFqaID.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGPP / TOF / AliAnalysisTaskTOFqaID.h
CommitLineData
9310e980 1#ifndef ALIANALYSISTASKTOFQAID_h
2#define ALIANALYSISTASKTOFQAID_h
3
4class TString;
5class TList;
6class AliAnalysisFilter;
7class AliCDBManager;
8class AliTOFcalib;
9class AliTOFT0maker;
10class AliTOFT0v1;
11class AliTOFHeader;
12
13#include "AliAnalysisTaskSE.h"
14
15class 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