]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/EvTrkSelection/AliAnalysisTrackingUncertainties.h
Updates.
[u/mrichter/AliRoot.git] / PWGPP / EvTrkSelection / AliAnalysisTrackingUncertainties.h
CommitLineData
b938b7fc 1#ifndef ALIANALYSISTRACKINGUNCERTAINTIES_H
2#define ALIANALYSISTRACKINGUNCERTAINTIES_H
3
4//////////////////////////////////////////////////////////////////////////////
5// //
6// Analysis task for the systematic study of the uncertainties related to //
7// the tracking and ITS-TPC matching efficiency for different particle //
8// species. //
9// //
10//////////////////////////////////////////////////////////////////////////////
11
12class TList;
13class AliESDEvent;
14class AliMCEvent;
15class AliESDtrack;
16class AliESDtrackCuts;
17class AliESDpid;
18
19
20#include "AliAnalysisTaskSE.h"
21#include "AliAnalysisUtils.h"
e476333f 22#include "THn.h"
b938b7fc 23
24// ITS->TPC matching constants
25const int kMaxMatch=5;
26const double kMaxChi2 = 200;
27
28
29class AliAnalysisTrackingUncertainties : public AliAnalysisTaskSE {
30 public:
31 AliAnalysisTrackingUncertainties(const char *name);
32 AliAnalysisTrackingUncertainties();
33 virtual ~AliAnalysisTrackingUncertainties() {}
34 //
35 virtual void UserCreateOutputObjects();
36 virtual void UserExec(Option_t *option);
37 virtual void Terminate(Option_t *);
38 //
39 void ProcessTrackCutVariation();
40 void ProcessItsTpcMatching();
48b2ef2f 41 void Match(const AliESDtrack* tr0, const AliESDtrack* tr1, Int_t & nmatch, Double_t rotate = 0);
b938b7fc 42 //
43 void SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
44 void InitializeTrackCutHistograms();
45 //
46
47
48 private:
4d737435 49 enum ESpecies_t{
50 kSpecElectron = 0,
51 kSpecPion = 1,
52 kSpecKaon = 2,
53 kSpecProton = 3,
a95c2a62 54 kUndef = 4,
55 kAll = 5
4d737435 56 };
b938b7fc 57 //
58 void BinLogAxis(const THn *h, Int_t axisNumber);
59 Bool_t IsVertexAccepted(AliESDEvent * esd, Float_t &vertexZ);
4d737435 60 ESpecies_t GetPid(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
61 Bool_t IsElectron(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
a95c2a62 62 Bool_t IsPion(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
63 Bool_t IsKaon(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
64 Bool_t IsProton(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
65 //
66 Bool_t IsConsistentWithPid(Int_t type, const AliESDtrack * const tr);
b938b7fc 67 //
68 //
69 //
70 AliESDEvent * fESD; //! ESD object
71 AliESDpid * fESDpid; //! basic pid object
72 AliAnalysisUtils * fUtils; //! vertex and event selection classes
73 Bool_t fMCtrue; // flag if real data or MC is processed
74 //
75 //
76 TList * fListHist; //! output list for histograms
77 AliESDtrackCuts * fESDtrackCuts; // cut set which is under study
78 //
79 // helper variables for ITS->TPC matching
80 //
81 const AliESDtrack * fMatchTr[kMaxMatch];
82 Double_t fMatchChi[kMaxMatch];
83 //
84 //
85 AliAnalysisTrackingUncertainties(const AliAnalysisTrackingUncertainties&);
86 AliAnalysisTrackingUncertainties& operator=(const AliAnalysisTrackingUncertainties&);
87
88 ClassDef(AliAnalysisTrackingUncertainties, 1);
89};
90
91#endif