]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/TOF/AliAnalysisTaskTOFqaID.h
Added plots fpr PID qa from PIDqa task + addedd mean and sigma for Nsigma_TOF + cleanup
[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:
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; };
4f2b01c6 37 void SetMinPtCut(Float_t minpt) { fMatchingMomCut = minpt; return; }
38 void SetMaxEtaCut(Float_t maxeta) { fMatchingEtaCut = maxeta; return; }
103b61df 39 void EnableAdvancedCheck(Bool_t enable) { fEnableAdvancedCheck = enable; return; };
40 void EnableChargeSplit(Bool_t enable) { fEnableChargeSplit = enable; return; };
41 void SetExpTimeHistoRange(Float_t min, Float_t max) { fExpTimeRangeMin = min; fExpTimeRangeMax = max; return;};
42 void SetExpTimeHistoSmallRange(Float_t min, Float_t max) { fExpTimeSmallRangeMin = min; fExpTimeSmallRangeMax = max; return;};
43 void SetExpTimeBinWidth(Float_t width) { fExpTimeBinWidth = width; return;};
44 Bool_t SetSelectMCspecies(Bool_t enableMC, Int_t absPdgCode) {fIsMC = enableMC; fSelectedPdg = absPdgCode; return kTRUE;};
9310e980 45 TString GetSpeciesName(Int_t absPdgCode);
46 void HistogramMakeUp(TH1* hist, Color_t color, Int_t markerStyle, TString drawOpt, TString newName, TString newTitle, TString xTitle, TString yTitle);
47 Double_t GetPhiAtTPCouterRadius(AliESDtrack * track);
103b61df 48
9310e980 49 protected:
50 void AddTofBaseHisto(TList *list, Int_t charge, TString suffix);
51 void AddMatchingEffHisto(TList *list, Int_t charge, TString suffix);
52 void AddPidHisto(TList *list, Int_t charge, TString suffix);
53 void AddStartTimeHisto(TList *list, TString suffix);
54 void AddTrdHisto();
55 void AddTofTrgHisto(TString suffix);
56
57 void FillTofBaseHisto(AliESDtrack * track, Int_t charge, TString suffix);
58 void FillMatchedTrkHisto(Int_t charge, TString suffix);
59 void FillPrimaryTrkHisto(Int_t charge, TString suffix);
60 void FillPidHisto(AliESDtrack * track,Int_t charge, TString suffix);
61 void FillStartTimeHisto(TString suffix);
62 void FillTrdHisto(AliESDtrack * track, Int_t charge);
63 void FillStartTimeMaskHisto(TString suffix);
64 void FillTofTrgHisto(TString suffix);
65
66 Bool_t ComputeTimeZeroByTOF1GeV();
67 Bool_t SelectMCspecies(AliMCEvent * ev, AliESDtrack * track);
68 Bool_t ComputeMatchingEfficiency(TList* list, TString variable);
69 Bool_t IsTPCTOFMatched(AliESDtrack * track);
70 Bool_t IsInTRD(AliESDtrack * track);
71 Bool_t IsEventSelected(AliESDEvent * event);
72
73 private:
74 Int_t fRunNumber; //run number
75 AliESDEvent * fESD; //ESD object
76 AliMCEvent * fMCevent; //MC event
77 AliAnalysisFilter * fTrackFilter; //track filter object
78 AliESDVertex * fVertex; //pointer to the vertex object
79 AliESDpid * fESDpid; //pointer to the PID object
b0471367 80 //AliTOFT0v1 * fTOFT0v1; // TOF-T0 v1
9310e980 81 AliTOFHeader * fTOFHeader; // TOF header needed for trigger info
82 Int_t fNTOFtracks[3]; //number of tracks matching with TOF
83 //Int_t fNPrimaryTracks; //number of primary tracks
84 Float_t fT0[3]; //event time
85 Float_t fSigmaSpecie[5]; //number of TOF PID sigmas, ie.fSigmaPion, fSigmaKaon, fSigmaProton;
86 Double_t fTrkExpTimes[5]; //expected times from tracking for 5 mass hypothesis
87 Double_t fThExpTimes[5]; //theoretical expected times for 5 mass hypothesis
88 Bool_t fEnableAdvancedCheck; //flag to enable advanced checks
103b61df 89 Bool_t fEnableChargeSplit; //flag to enable split for sign of charge
90
9310e980 91 Float_t fExpTimeBinWidth;//bin width for t-texp histos
92 Float_t fExpTimeRangeMin, fExpTimeRangeMax; //range of t-texp histogram
93 Float_t fExpTimeSmallRangeMin, fExpTimeSmallRangeMax; //reduced range of t-texp histogram
94 Int_t fnExpTimeBins;
95 Int_t fnExpTimeSmallBins;
96
97 Double_t fMyTimeZeroTOF, fMyTimeZeroTOFsigma; //timeZero by TOF recomputed
98 Int_t fMyTimeZeroTOFtracks; // number of tracks used to recompute TOF_T0
99 Bool_t fIsMC; //flag for MC
100 Int_t fSelectedPdg; //pdg code of the selected specie (for MC only)
101 Double_t fP; //momentum
102 Double_t fPt; //transverse momentum
103 Double_t fEta; //psedorapidity
104 Double_t fPhi; //phi at vertex
105 Double_t fTPCOuterPhi; //phi at outer tpc radius
106 Double_t fL; //integrated track lenght
4f2b01c6 107 Double_t fMatchingMomCut;//minimum pT cut for matching eff vs eta, phi
108 Double_t fMatchingEtaCut;//simmetric eta cut for matching eff vs pt, eta, phi
9310e980 109 Double_t fTof;
110 //output objects
111 TList * fHlist; //list of general histos
112 TList * fHlistTimeZero; //list of timeZero related histos
113 TList * fHlistPID; //list of PID-related histos
114 TList * fHlistTRD; //list of general histos for positive tracks
115 TList * fHlistTrigger; //list of general histos for TOF trg infos
116
103b61df 117 ClassDef(AliAnalysisTaskTOFqaID, 2); // example of analysis
9310e980 118};
119
120#endif
121
122
123