#ifndef ALIPWG4HIGHPTTRACKQA_H
#define ALIPWG4HIGHPTTRACKQA_H
#include "AliAnalysisTaskSE.h"
class TH1F;
class TH2F;
class TH3F;
class TProfile;
class TList;
class TArrayF;
class AliVEvent;
class AliESDEvent;
class AliESDtrackCuts;
class AliESDVertex;
class AliAODVertex;
class AliAODTrack;
class AliESDtrack;
class AliGenPythiaEventHeader;
class AliMCEvent;
class AliPWG4HighPtTrackQA: public AliAnalysisTaskSE {
public:
AliPWG4HighPtTrackQA();
AliPWG4HighPtTrackQA(const char *name);
virtual ~AliPWG4HighPtTrackQA() {;}
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
virtual Bool_t Notify();
enum DataType {kESD,kAOD};
Bool_t IsPbPb() {return fIsPbPb;}
Bool_t SelectEvent();
Int_t CalculateCentrality(AliVEvent *ev);
Int_t CalculateCentrality(AliESDEvent *esd);
Int_t CalculateCentrality(const AliAODEvent *aod);
Int_t GetCentralityClass(Float_t cent=-1.) const;
void DoAnalysisESD();
void DoAnalysisAOD();
void FillHistograms();
void SetDataType(DataType d) {fDataType = d;}
void SetIsPbPb(Bool_t cs) {fIsPbPb = cs;}
void SetCentralityClass(int cent) {fCentClass=cent;}
void SetCuts(AliESDtrackCuts* trackCuts) {fTrackCuts = trackCuts;}
void SetCutsITSLoose(AliESDtrackCuts* trackCuts) {fTrackCutsITSLoose = trackCuts;}
void SetCutsTPConly(AliESDtrackCuts* trackCuts) {fTrackCutsTPConly = trackCuts;}
void SetTrackType(Int_t trackType) {fTrackType = trackType;}
void SetFilterMask(UInt_t filterMask) {fFilterMask = filterMask ;}
void SetIncludeNoITS(Bool_t f) {fIncludeNoITS = f ; }
void SetSigmaConstrainedMax(Double_t sigma) {fSigmaConstrainedMax=sigma;}
void SetPtMax(Float_t ptmax) {fPtMax = ptmax;}
void SetPtBinEdges(Int_t region, Double_t ptmax, Double_t ptBinWidth);
void SetNVariables(Int_t nv) {fNVariables = nv;}
Float_t GetPtMax() {return fPtMax;}
Float_t GetTPCClusterInfo(const AliAODTrack *tr,Int_t nNeighbours=3, Int_t type=0, Int_t row0=0, Int_t row1=159, Bool_t useFitMap=kFALSE) const;
Float_t GetTPCClusterInfoFitMap(const AliESDtrack *tr,Int_t nNeighbours=3, Int_t type=0, Int_t row0=0, Int_t row1=159) const;
Int_t GetTrackLengthTPC(const AliESDtrack *track) const;
Int_t GetTrackLengthTPC(const AliAODTrack *track) const;
Float_t GetGoldenChi2(AliESDtrack *origtrack);
Float_t GetGGCChi2(AliESDtrack *origtrack);
static AliGenPythiaEventHeader* GetPythiaEventHeader(const AliMCEvent *mcEvent);
static Bool_t PythiaInfoFromFile(const char* currFile,Float_t &fXsec,Float_t &fTrials);
protected:
private:
AliPWG4HighPtTrackQA(const AliPWG4HighPtTrackQA&);
AliPWG4HighPtTrackQA& operator=(const AliPWG4HighPtTrackQA&);
DataType fDataType;
AliVEvent *fEvent;
AliESDEvent *fESD;
const AliESDVertex *fVtx;
const AliAODVertex *fVtxAOD;
AliESDtrackCuts *fTrackCuts;
AliESDtrackCuts *fTrackCutsITSLoose;
AliESDtrackCuts *fTrackCutsTPConly;
Int_t fTrackType;
UInt_t fFilterMask;
Bool_t fIncludeNoITS;
Double_t fSigmaConstrainedMax;
Float_t fPtMax;
Float_t fPtBinEdges[3][2];
Bool_t fIsPbPb;
Int_t fCentClass;
Int_t fNVariables;
TArrayF *fVariables;
UChar_t fITSClusterMap;
Float_t fAvgTrials;
TH1F *fNEventAll;
TH1F *fNEventSel;
TH1F *fNEventReject;
TH1F *fh1Centrality;
TProfile* fh1Xsec;
TH1F* fh1Trials;
TH1F* fh1PtHard;
TH1F* fh1PtHardTrials;
TH1F *fh1NTracksAll;
TH1F *fh1NTracksReject;
TH1F *fh1NTracksSel;
TH1F *fPtAll;
TH1F *fPtSel;
TH2F *fPtPhi;
TH2F *fPtEta;
TH3F *fPtEtaPhi;
TH2F *fPtDCA2D;
TH2F *fPtDCAZ;
TH2F *fPtNClustersTPC;
TH2F *fPtNClustersTPCPhi;
TH2F *fPtNClustersTPCIter1;
TH3F *fPtNClustersTPCIter1Phi;
TH2F *fPtNClustersTPCShared;
TH2F *fPtNClustersTPCSharedFrac;
TH2F *fPtNPointITS;
TH3F *fPtNPointITSPhi;
TH2F *fPtChi2C;
TH2F *fPtNSigmaToVertex;
TH2F *fPtRelUncertainty1Pt;
TH3F *fPtRelUncertainty1PtNClus;
TH3F *fPtRelUncertainty1PtNClusIter1;
TH3F *fPtRelUncertainty1PtNPointITS;
TH3F *fPtRelUncertainty1PtITSClusterMap;
TH3F *fPtRelUncertainty1PtChi2;
TH3F *fPtRelUncertainty1PtChi2Iter1;
TH3F *fPtRelUncertainty1PtPhi;
TH2F *fPtChi2PerClusterTPC;
TH2F *fPtChi2PerClusterTPCIter1;
TH2F *fPtNCrossedRows;
TH3F *fPtNCrossedRowsPhi;
TH3F *fPtNCrossedRowsNClusFPhi;
TH3F *fPtNCrRNCrRNClusF;
TH2F *fPtNCrossedRowsFit;
TH3F *fPtNCrossedRowsFitPhi;
TH3F *fPtNCrossedRowsNClusFFitPhi;
TH2F *fNCrossedRowsNCrossedRowsFit;
TH2F *fNClustersNCrossedRows;
TH2F *fNClustersNCrossedRowsFit;
TH3F *fPtNClustersNClustersFitMap;
TH3F *fPtRelUncertainty1PtNCrossedRows;
TH3F *fPtRelUncertainty1PtNCrossedRowsFit;
TH2F *fPtChi2Gold;
TH2F *fPtChi2GGC;
TH3F *fPtChi2GoldPhi;
TH3F *fPtChi2GGCPhi;
TH2F *fChi2GoldChi2GGC;
TH3F *fPtChi2ITSPhi;
TH2F *fPtSigmaY2;
TH2F *fPtSigmaZ2;
TH2F *fPtSigmaSnp2;
TH2F *fPtSigmaTgl2;
TH2F *fPtSigma1Pt2;
TProfile *fProfPtSigmaY2;
TProfile *fProfPtSigmaZ2;
TProfile *fProfPtSigmaSnp2;
TProfile *fProfPtSigmaTgl2;
TProfile *fProfPtSigma1Pt2;
TProfile *fProfPtSigma1Pt;
TProfile *fProfPtPtSigma1Pt;
TList *fHistList;
ClassDef(AliPWG4HighPtTrackQA,8)
};
#endif
AliPWG4HighPtTrackQA.h:10 AliPWG4HighPtTrackQA.h:11 AliPWG4HighPtTrackQA.h:12 AliPWG4HighPtTrackQA.h:13 AliPWG4HighPtTrackQA.h:14 AliPWG4HighPtTrackQA.h:15 AliPWG4HighPtTrackQA.h:16 AliPWG4HighPtTrackQA.h:17 AliPWG4HighPtTrackQA.h:18 AliPWG4HighPtTrackQA.h:19 AliPWG4HighPtTrackQA.h:20 AliPWG4HighPtTrackQA.h:21 AliPWG4HighPtTrackQA.h:22 AliPWG4HighPtTrackQA.h:23 AliPWG4HighPtTrackQA.h:24 AliPWG4HighPtTrackQA.h:25 AliPWG4HighPtTrackQA.h:26 AliPWG4HighPtTrackQA.h:27 AliPWG4HighPtTrackQA.h:28 AliPWG4HighPtTrackQA.h:29 AliPWG4HighPtTrackQA.h:30 AliPWG4HighPtTrackQA.h:31 AliPWG4HighPtTrackQA.h:32 AliPWG4HighPtTrackQA.h:33 AliPWG4HighPtTrackQA.h:34 AliPWG4HighPtTrackQA.h:35 AliPWG4HighPtTrackQA.h:36 AliPWG4HighPtTrackQA.h:37 AliPWG4HighPtTrackQA.h:38 AliPWG4HighPtTrackQA.h:39 AliPWG4HighPtTrackQA.h:40 AliPWG4HighPtTrackQA.h:41 AliPWG4HighPtTrackQA.h:42 AliPWG4HighPtTrackQA.h:43 AliPWG4HighPtTrackQA.h:44 AliPWG4HighPtTrackQA.h:45 AliPWG4HighPtTrackQA.h:46 AliPWG4HighPtTrackQA.h:47 AliPWG4HighPtTrackQA.h:48 AliPWG4HighPtTrackQA.h:49 AliPWG4HighPtTrackQA.h:50 AliPWG4HighPtTrackQA.h:51 AliPWG4HighPtTrackQA.h:52 AliPWG4HighPtTrackQA.h:53 AliPWG4HighPtTrackQA.h:54 AliPWG4HighPtTrackQA.h:55 AliPWG4HighPtTrackQA.h:56 AliPWG4HighPtTrackQA.h:57 AliPWG4HighPtTrackQA.h:58 AliPWG4HighPtTrackQA.h:59 AliPWG4HighPtTrackQA.h:60 AliPWG4HighPtTrackQA.h:61 AliPWG4HighPtTrackQA.h:62 AliPWG4HighPtTrackQA.h:63 AliPWG4HighPtTrackQA.h:64 AliPWG4HighPtTrackQA.h:65 AliPWG4HighPtTrackQA.h:66 AliPWG4HighPtTrackQA.h:67 AliPWG4HighPtTrackQA.h:68 AliPWG4HighPtTrackQA.h:69 AliPWG4HighPtTrackQA.h:70 AliPWG4HighPtTrackQA.h:71 AliPWG4HighPtTrackQA.h:72 AliPWG4HighPtTrackQA.h:73 AliPWG4HighPtTrackQA.h:74 AliPWG4HighPtTrackQA.h:75 AliPWG4HighPtTrackQA.h:76 AliPWG4HighPtTrackQA.h:77 AliPWG4HighPtTrackQA.h:78 AliPWG4HighPtTrackQA.h:79 AliPWG4HighPtTrackQA.h:80 AliPWG4HighPtTrackQA.h:81 AliPWG4HighPtTrackQA.h:82 AliPWG4HighPtTrackQA.h:83 AliPWG4HighPtTrackQA.h:84 AliPWG4HighPtTrackQA.h:85 AliPWG4HighPtTrackQA.h:86 AliPWG4HighPtTrackQA.h:87 AliPWG4HighPtTrackQA.h:88 AliPWG4HighPtTrackQA.h:89 AliPWG4HighPtTrackQA.h:90 AliPWG4HighPtTrackQA.h:91 AliPWG4HighPtTrackQA.h:92 AliPWG4HighPtTrackQA.h:93 AliPWG4HighPtTrackQA.h:94 AliPWG4HighPtTrackQA.h:95 AliPWG4HighPtTrackQA.h:96 AliPWG4HighPtTrackQA.h:97 AliPWG4HighPtTrackQA.h:98 AliPWG4HighPtTrackQA.h:99 AliPWG4HighPtTrackQA.h:100 AliPWG4HighPtTrackQA.h:101 AliPWG4HighPtTrackQA.h:102 AliPWG4HighPtTrackQA.h:103 AliPWG4HighPtTrackQA.h:104 AliPWG4HighPtTrackQA.h:105 AliPWG4HighPtTrackQA.h:106 AliPWG4HighPtTrackQA.h:107 AliPWG4HighPtTrackQA.h:108 AliPWG4HighPtTrackQA.h:109 AliPWG4HighPtTrackQA.h:110 AliPWG4HighPtTrackQA.h:111 AliPWG4HighPtTrackQA.h:112 AliPWG4HighPtTrackQA.h:113 AliPWG4HighPtTrackQA.h:114 AliPWG4HighPtTrackQA.h:115 AliPWG4HighPtTrackQA.h:116 AliPWG4HighPtTrackQA.h:117 AliPWG4HighPtTrackQA.h:118 AliPWG4HighPtTrackQA.h:119 AliPWG4HighPtTrackQA.h:120 AliPWG4HighPtTrackQA.h:121 AliPWG4HighPtTrackQA.h:122 AliPWG4HighPtTrackQA.h:123 AliPWG4HighPtTrackQA.h:124 AliPWG4HighPtTrackQA.h:125 AliPWG4HighPtTrackQA.h:126 AliPWG4HighPtTrackQA.h:127 AliPWG4HighPtTrackQA.h:128 AliPWG4HighPtTrackQA.h:129 AliPWG4HighPtTrackQA.h:130 AliPWG4HighPtTrackQA.h:131 AliPWG4HighPtTrackQA.h:132 AliPWG4HighPtTrackQA.h:133 AliPWG4HighPtTrackQA.h:134 AliPWG4HighPtTrackQA.h:135 AliPWG4HighPtTrackQA.h:136 AliPWG4HighPtTrackQA.h:137 AliPWG4HighPtTrackQA.h:138 AliPWG4HighPtTrackQA.h:139 AliPWG4HighPtTrackQA.h:140 AliPWG4HighPtTrackQA.h:141 AliPWG4HighPtTrackQA.h:142 AliPWG4HighPtTrackQA.h:143 AliPWG4HighPtTrackQA.h:144 AliPWG4HighPtTrackQA.h:145 AliPWG4HighPtTrackQA.h:146 AliPWG4HighPtTrackQA.h:147 AliPWG4HighPtTrackQA.h:148 AliPWG4HighPtTrackQA.h:149 AliPWG4HighPtTrackQA.h:150 AliPWG4HighPtTrackQA.h:151 AliPWG4HighPtTrackQA.h:152 AliPWG4HighPtTrackQA.h:153 AliPWG4HighPtTrackQA.h:154 AliPWG4HighPtTrackQA.h:155 AliPWG4HighPtTrackQA.h:156 AliPWG4HighPtTrackQA.h:157 AliPWG4HighPtTrackQA.h:158 AliPWG4HighPtTrackQA.h:159 AliPWG4HighPtTrackQA.h:160 AliPWG4HighPtTrackQA.h:161 AliPWG4HighPtTrackQA.h:162 AliPWG4HighPtTrackQA.h:163 AliPWG4HighPtTrackQA.h:164 AliPWG4HighPtTrackQA.h:165 AliPWG4HighPtTrackQA.h:166 AliPWG4HighPtTrackQA.h:167 AliPWG4HighPtTrackQA.h:168 AliPWG4HighPtTrackQA.h:169 AliPWG4HighPtTrackQA.h:170 AliPWG4HighPtTrackQA.h:171 AliPWG4HighPtTrackQA.h:172 AliPWG4HighPtTrackQA.h:173 AliPWG4HighPtTrackQA.h:174 AliPWG4HighPtTrackQA.h:175 AliPWG4HighPtTrackQA.h:176 AliPWG4HighPtTrackQA.h:177 AliPWG4HighPtTrackQA.h:178 AliPWG4HighPtTrackQA.h:179 AliPWG4HighPtTrackQA.h:180 AliPWG4HighPtTrackQA.h:181 AliPWG4HighPtTrackQA.h:182 AliPWG4HighPtTrackQA.h:183 AliPWG4HighPtTrackQA.h:184 AliPWG4HighPtTrackQA.h:185 AliPWG4HighPtTrackQA.h:186 AliPWG4HighPtTrackQA.h:187 AliPWG4HighPtTrackQA.h:188 AliPWG4HighPtTrackQA.h:189 AliPWG4HighPtTrackQA.h:190 AliPWG4HighPtTrackQA.h:191 AliPWG4HighPtTrackQA.h:192 AliPWG4HighPtTrackQA.h:193 AliPWG4HighPtTrackQA.h:194 AliPWG4HighPtTrackQA.h:195 AliPWG4HighPtTrackQA.h:196 AliPWG4HighPtTrackQA.h:197 AliPWG4HighPtTrackQA.h:198 AliPWG4HighPtTrackQA.h:199 AliPWG4HighPtTrackQA.h:200 AliPWG4HighPtTrackQA.h:201 AliPWG4HighPtTrackQA.h:202 AliPWG4HighPtTrackQA.h:203 AliPWG4HighPtTrackQA.h:204 AliPWG4HighPtTrackQA.h:205 AliPWG4HighPtTrackQA.h:206 AliPWG4HighPtTrackQA.h:207 AliPWG4HighPtTrackQA.h:208 AliPWG4HighPtTrackQA.h:209 AliPWG4HighPtTrackQA.h:210 AliPWG4HighPtTrackQA.h:211 AliPWG4HighPtTrackQA.h:212 AliPWG4HighPtTrackQA.h:213 AliPWG4HighPtTrackQA.h:214 AliPWG4HighPtTrackQA.h:215 AliPWG4HighPtTrackQA.h:216 AliPWG4HighPtTrackQA.h:217 AliPWG4HighPtTrackQA.h:218 AliPWG4HighPtTrackQA.h:219 AliPWG4HighPtTrackQA.h:220 AliPWG4HighPtTrackQA.h:221 AliPWG4HighPtTrackQA.h:222 AliPWG4HighPtTrackQA.h:223 AliPWG4HighPtTrackQA.h:224 AliPWG4HighPtTrackQA.h:225 AliPWG4HighPtTrackQA.h:226 AliPWG4HighPtTrackQA.h:227 AliPWG4HighPtTrackQA.h:228 AliPWG4HighPtTrackQA.h:229 AliPWG4HighPtTrackQA.h:230 AliPWG4HighPtTrackQA.h:231 AliPWG4HighPtTrackQA.h:232 AliPWG4HighPtTrackQA.h:233 AliPWG4HighPtTrackQA.h:234 AliPWG4HighPtTrackQA.h:235 AliPWG4HighPtTrackQA.h:236 AliPWG4HighPtTrackQA.h:237 AliPWG4HighPtTrackQA.h:238 AliPWG4HighPtTrackQA.h:239 AliPWG4HighPtTrackQA.h:240 AliPWG4HighPtTrackQA.h:241 AliPWG4HighPtTrackQA.h:242 AliPWG4HighPtTrackQA.h:243 AliPWG4HighPtTrackQA.h:244 AliPWG4HighPtTrackQA.h:245 AliPWG4HighPtTrackQA.h:246 AliPWG4HighPtTrackQA.h:247 AliPWG4HighPtTrackQA.h:248 AliPWG4HighPtTrackQA.h:249 AliPWG4HighPtTrackQA.h:250