1 #ifndef ALIANALYSISTRACKINGUNCERTAINTIES_H
2 #define ALIANALYSISTRACKINGUNCERTAINTIES_H
4 //////////////////////////////////////////////////////////////////////////////
6 // Analysis task for the systematic study of the uncertainties related to //
7 // the tracking and ITS-TPC matching efficiency for different particle //
10 //////////////////////////////////////////////////////////////////////////////
16 class AliESDtrackCuts;
20 #include "AliAnalysisTaskSE.h"
21 #include "AliAnalysisUtils.h"
24 // ITS->TPC matching constants
25 const int kMaxMatch=5;
26 const double kMaxChi2 = 200;
29 class AliAnalysisTrackingUncertainties : public AliAnalysisTaskSE {
31 AliAnalysisTrackingUncertainties(const char *name);
32 AliAnalysisTrackingUncertainties();
33 virtual ~AliAnalysisTrackingUncertainties() {}
35 virtual void UserCreateOutputObjects();
36 virtual void UserExec(Option_t *option);
37 virtual void Terminate(Option_t *);
39 void ProcessTrackCutVariation();
40 void ProcessItsTpcMatching();
41 void Match(const AliESDtrack* tr0, const AliESDtrack* tr1, Int_t& nmatch, Bool_t excludeMom = kFALSE, Double_t rotate=0);
44 void SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
45 void InitializeTrackCutHistograms();
47 void ExcludeMomFromChi2ITSTPC(Bool_t ex = kTRUE) { fExcludeMomFromChi2ITSTPC = ex; }
60 void BinLogAxis(const THn *h, Int_t axisNumber);
61 Bool_t IsVertexAccepted(AliESDEvent * esd, Float_t &vertexZ);
62 ESpecies_t GetPid(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
63 Bool_t IsElectron(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
64 Bool_t IsPion(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
65 Bool_t IsKaon(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
66 Bool_t IsProton(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
68 Bool_t IsConsistentWithPid(Int_t type, const AliESDtrack * const tr);
72 AliESDEvent * fESD; //! ESD object
73 AliESDpid * fESDpid; //! basic pid object
74 AliAnalysisUtils * fUtils; //! vertex and event selection classes
75 Bool_t fMCtrue; // flag if real data or MC is processed
78 TList * fListHist; //! output list for histograms
79 AliESDtrackCuts * fESDtrackCuts; // cut set which is under study
81 // helper variables for ITS->TPC matching
83 const AliESDtrack * fMatchTr[kMaxMatch];
84 Double_t fMatchChi[kMaxMatch];
85 Bool_t fExcludeMomFromChi2ITSTPC; // ITS->TPC : exclude momentum from matching chi2 calculation
89 AliAnalysisTrackingUncertainties(const AliAnalysisTrackingUncertainties&);
90 AliAnalysisTrackingUncertainties& operator=(const AliAnalysisTrackingUncertainties&);
92 ClassDef(AliAnalysisTrackingUncertainties, 1);