#ifndef ALIANALYSISTRACKINGUNCERTAINTIES_H
#define ALIANALYSISTRACKINGUNCERTAINTIES_H
class TList;
class AliESDEvent;
class AliMCEvent;
class AliESDtrack;
class AliESDtrackCuts;
class AliESDpid;
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisUtils.h"
#include "THn.h"
const int kMaxMatch=5;
const double kMaxChi2 = 200;
class AliAnalysisTrackingUncertainties : public AliAnalysisTaskSE {
public:
AliAnalysisTrackingUncertainties(const char *name);
AliAnalysisTrackingUncertainties();
virtual ~AliAnalysisTrackingUncertainties() {}
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
void ProcessTrackCutVariation();
void ProcessItsTpcMatching();
void Match(const AliESDtrack* tr0, const AliESDtrack* tr1, Int_t& nmatch, Bool_t excludeMom = kFALSE, Double_t rotate=0);
void SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
void InitializeTrackCutHistograms();
void ExcludeMomFromChi2ITSTPC(Bool_t ex = kTRUE) { fExcludeMomFromChi2ITSTPC = ex; }
private:
enum ESpecies_t{
kSpecElectron = 0,
kSpecPion = 1,
kSpecKaon = 2,
kSpecProton = 3,
kUndef = 4,
kAll = 5
};
void BinLogAxis(const THn *h, Int_t axisNumber);
Bool_t IsVertexAccepted(AliESDEvent * esd, Float_t &vertexZ);
ESpecies_t GetPid(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
Bool_t IsElectron(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
Bool_t IsPion(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
Bool_t IsKaon(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
Bool_t IsProton(const AliESDtrack * const tr, Bool_t useTPCTOF = kFALSE) const;
Bool_t IsConsistentWithPid(Int_t type, const AliESDtrack * const tr);
AliESDEvent * fESD;
AliESDpid * fESDpid;
AliAnalysisUtils * fUtils;
Bool_t fMCtrue;
TList * fListHist;
AliESDtrackCuts * fESDtrackCuts;
const AliESDtrack * fMatchTr[kMaxMatch];
Double_t fMatchChi[kMaxMatch];
Bool_t fExcludeMomFromChi2ITSTPC;
AliAnalysisTrackingUncertainties(const AliAnalysisTrackingUncertainties&);
AliAnalysisTrackingUncertainties& operator=(const AliAnalysisTrackingUncertainties&);
ClassDef(AliAnalysisTrackingUncertainties, 1);
};
#endif
AliAnalysisTrackingUncertainties.h:1 AliAnalysisTrackingUncertainties.h:2 AliAnalysisTrackingUncertainties.h:3 AliAnalysisTrackingUncertainties.h:4 AliAnalysisTrackingUncertainties.h:5 AliAnalysisTrackingUncertainties.h:6 AliAnalysisTrackingUncertainties.h:7 AliAnalysisTrackingUncertainties.h:8 AliAnalysisTrackingUncertainties.h:9 AliAnalysisTrackingUncertainties.h:10 AliAnalysisTrackingUncertainties.h:11 AliAnalysisTrackingUncertainties.h:12 AliAnalysisTrackingUncertainties.h:13 AliAnalysisTrackingUncertainties.h:14 AliAnalysisTrackingUncertainties.h:15 AliAnalysisTrackingUncertainties.h:16 AliAnalysisTrackingUncertainties.h:17 AliAnalysisTrackingUncertainties.h:18 AliAnalysisTrackingUncertainties.h:19 AliAnalysisTrackingUncertainties.h:20 AliAnalysisTrackingUncertainties.h:21 AliAnalysisTrackingUncertainties.h:22 AliAnalysisTrackingUncertainties.h:23 AliAnalysisTrackingUncertainties.h:24 AliAnalysisTrackingUncertainties.h:25 AliAnalysisTrackingUncertainties.h:26 AliAnalysisTrackingUncertainties.h:27 AliAnalysisTrackingUncertainties.h:28 AliAnalysisTrackingUncertainties.h:29 AliAnalysisTrackingUncertainties.h:30 AliAnalysisTrackingUncertainties.h:31 AliAnalysisTrackingUncertainties.h:32 AliAnalysisTrackingUncertainties.h:33 AliAnalysisTrackingUncertainties.h:34 AliAnalysisTrackingUncertainties.h:35 AliAnalysisTrackingUncertainties.h:36 AliAnalysisTrackingUncertainties.h:37 AliAnalysisTrackingUncertainties.h:38 AliAnalysisTrackingUncertainties.h:39 AliAnalysisTrackingUncertainties.h:40 AliAnalysisTrackingUncertainties.h:41 AliAnalysisTrackingUncertainties.h:42 AliAnalysisTrackingUncertainties.h:43 AliAnalysisTrackingUncertainties.h:44 AliAnalysisTrackingUncertainties.h:45 AliAnalysisTrackingUncertainties.h:46 AliAnalysisTrackingUncertainties.h:47 AliAnalysisTrackingUncertainties.h:48 AliAnalysisTrackingUncertainties.h:49 AliAnalysisTrackingUncertainties.h:50 AliAnalysisTrackingUncertainties.h:51 AliAnalysisTrackingUncertainties.h:52 AliAnalysisTrackingUncertainties.h:53 AliAnalysisTrackingUncertainties.h:54 AliAnalysisTrackingUncertainties.h:55 AliAnalysisTrackingUncertainties.h:56 AliAnalysisTrackingUncertainties.h:57 AliAnalysisTrackingUncertainties.h:58 AliAnalysisTrackingUncertainties.h:59 AliAnalysisTrackingUncertainties.h:60 AliAnalysisTrackingUncertainties.h:61 AliAnalysisTrackingUncertainties.h:62 AliAnalysisTrackingUncertainties.h:63 AliAnalysisTrackingUncertainties.h:64 AliAnalysisTrackingUncertainties.h:65 AliAnalysisTrackingUncertainties.h:66 AliAnalysisTrackingUncertainties.h:67 AliAnalysisTrackingUncertainties.h:68 AliAnalysisTrackingUncertainties.h:69 AliAnalysisTrackingUncertainties.h:70 AliAnalysisTrackingUncertainties.h:71 AliAnalysisTrackingUncertainties.h:72 AliAnalysisTrackingUncertainties.h:73 AliAnalysisTrackingUncertainties.h:74 AliAnalysisTrackingUncertainties.h:75 AliAnalysisTrackingUncertainties.h:76 AliAnalysisTrackingUncertainties.h:77 AliAnalysisTrackingUncertainties.h:78 AliAnalysisTrackingUncertainties.h:79 AliAnalysisTrackingUncertainties.h:80 AliAnalysisTrackingUncertainties.h:81 AliAnalysisTrackingUncertainties.h:82 AliAnalysisTrackingUncertainties.h:83 AliAnalysisTrackingUncertainties.h:84 AliAnalysisTrackingUncertainties.h:85 AliAnalysisTrackingUncertainties.h:86 AliAnalysisTrackingUncertainties.h:87 AliAnalysisTrackingUncertainties.h:88 AliAnalysisTrackingUncertainties.h:89 AliAnalysisTrackingUncertainties.h:90 AliAnalysisTrackingUncertainties.h:91 AliAnalysisTrackingUncertainties.h:92 AliAnalysisTrackingUncertainties.h:93 AliAnalysisTrackingUncertainties.h:94 AliAnalysisTrackingUncertainties.h:95