]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/EvTrkSelection/AliAnalysisTrackingUncertainties.h
Adding the addtask for the pid mh
[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"
22#include "THnSparse.h"
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,
54 kUndef = 4
55 };
b938b7fc 56 //
57 void BinLogAxis(const THn *h, Int_t axisNumber);
58 Bool_t IsVertexAccepted(AliESDEvent * esd, Float_t &vertexZ);
4d737435 59 ESpecies_t GetPid(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
60 Bool_t IsElectron(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
61 Bool_t IsPion(const AliESDtrack * const /*tr*/, Bool_t /*useTPCTOF = kFALSE*/) const;
62 Bool_t IsKaon(const AliESDtrack * const /*tr*/, Bool_t /*useTPCTOF = kFALSE*/) const;
63 Bool_t IsProton(const AliESDtrack * const /*tr*/, Bool_t /*useTPCTOF = kFALSE*/) const;
b938b7fc 64 //
65 //
66 //
67 AliESDEvent * fESD; //! ESD object
68 AliESDpid * fESDpid; //! basic pid object
69 AliAnalysisUtils * fUtils; //! vertex and event selection classes
70 Bool_t fMCtrue; // flag if real data or MC is processed
71 //
72 //
73 TList * fListHist; //! output list for histograms
74 AliESDtrackCuts * fESDtrackCuts; // cut set which is under study
75 //
76 // helper variables for ITS->TPC matching
77 //
78 const AliESDtrack * fMatchTr[kMaxMatch];
79 Double_t fMatchChi[kMaxMatch];
80 //
81 //
82 AliAnalysisTrackingUncertainties(const AliAnalysisTrackingUncertainties&);
83 AliAnalysisTrackingUncertainties& operator=(const AliAnalysisTrackingUncertainties&);
84
85 ClassDef(AliAnalysisTrackingUncertainties, 1);
86};
87
88#endif