#ifndef ALIANALYSISTASKFLOWTPCEMCALQCSP_H
#define ALIANALYSISTASKFLOWTPCEMCALQCSP_H
class THnSparse;
class TH2F;
class TLorentzVector;
class AliEMCALTrack;
class AliMagF;
class AliESDEvent;
class AliAODEvent;
class AliEMCALGeometry;
class AliEMCALRecoUtils;
class AliAnalysisFilter;
class AliESDtrackCuts;
class AliESDtrack;
class AliAODtrack;
class AliHFEcontainer;
class AliHFEcuts;
class AliHFEpid;
class AliHFEpidTPC;
class AliHFEpidQAmanager;
class AliCFManager;
class AliFlowTrackCuts;
class AliFlowTrack;
class AliFlowEvent;
class AliFlowCandidateTrack;
class AliFlowEventSimple;
class AliCentrality;
class AliSelectNonHFE;
#include "AliAnalysisTaskSE.h"
class AliAnalysisTaskFlowTPCEMCalQCSP : public AliAnalysisTaskSE {
public:
AliAnalysisTaskFlowTPCEMCalQCSP();
AliAnalysisTaskFlowTPCEMCalQCSP(const char *name);
virtual ~AliAnalysisTaskFlowTPCEMCalQCSP();
void SetEnableDebugMode() {fDebug = kTRUE; };
void SetCentralityParameters(Double_t CentralityMin, Double_t CentralityMax, const char* CentralityMethod);
void CheckCentrality(AliAODEvent *event,Bool_t ¢ralitypass);
void SelectPhotonicElectron(Int_t itrack,const AliAODTrack *track, Double_t eopinc, Double_t evPlAnglV0, Bool_t &fFlagPhotonicElec, Double_t weightEPflat, Double_t multev);
void SetInvariantMassCut(Double_t invmass) {fInvmassCut = invmass;};
void SetpTCuttrack(Double_t ptcut) {fpTCut = ptcut;};
void SetTrigger(Int_t trig) {fTrigger = trig;};
void SetAssoTPCCluster(Int_t tpc_clust) {fAssoTPCCluster = tpc_clust;};
void SetMultCorrelationCut(Bool_t multcut) {fMultCut = multcut;};
void SetAssoITSRefit(Bool_t itsref) {fAssoITSRefit = itsref;};
void SetFlowSideBands(Bool_t sidebandsflow){fSideBandsFlow = sidebandsflow;}
void SelectPhotonicElectronMethod(Bool_t dca){fDCA = dca;}
void Setphiminuspsi(Bool_t phipsi){fPhiminusPsi = phipsi;}
void SetPurity(Bool_t Purityel){fpurity = Purityel;}
template <typename T> void PlotVZeroMultiplcities(const T* event) const;
template <typename T> void SetNullCuts(T* aod);
void PrepareFlowEvent(Int_t iMulti, AliFlowEvent *FlowEv) const;
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
void SetRPCuts(AliFlowTrackCuts *cutsRP) { fCutsRP = cutsRP; }
void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
void SetIDCuts(Double_t minTPC, Double_t maxTPC, Double_t minEovP, Double_t maxEovP, Double_t minM20, Double_t maxM20, Double_t minM02, Double_t maxM02, Double_t Dispersion);
void SetOpeningAngleflag(Bool_t opang){fOP_angle = opang;};
void SetOpeningAngleCut(Double_t opanglecut) {fOpeningAngleCut = opanglecut;};
void SetHistoForCentralityFlattening(TH1F *h,Double_t minCentr,Double_t maxCentr,Double_t centrRef=0.,Int_t switchTRand=0);
Bool_t IsEventSelectedForCentrFlattening(Float_t centvalue);
void SetHistoForEPFlattWeights(TH1D *h);
Double_t GiveMeWeight(Double_t EP);
void SetEPWeight(Bool_t epw){EPweights = epw;};
void SetTPCPID(AliHFEpidTPC *pidcorr){ftpcpid = pidcorr;};
void SetMultCorrectionTheo(Bool_t mulcorr){multCorrection = mulcorr;}
void SetPtMinAssoCut(Double_t ptminimumasso) {fptminAsso = ptminimumasso;};
AliHFEpid *GetPID() const { return fPID; };
private:
Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
Bool_t fDebug;
AliAODEvent *fAOD;
AliVEvent *fVevent;
AliEMCALGeometry *fGeom;
TList *fOutputList;
AliHFEcuts *fCuts;
Bool_t fIdentifiedAsOutInz;
Bool_t fPassTheEventCut;
AliCFManager *fCFM;
AliHFEpid *fPID;
AliHFEpidTPC *ftpcpid;
AliHFEpidQAmanager *fPIDqa;
AliFlowTrackCuts *fCutsRP;
AliFlowTrackCuts *fNullCuts;
AliFlowEvent *fFlowEvent;
const char *fkCentralityMethod;
Double_t fCentrality;
Double_t fCentralityMin;
Double_t fCentralityMax;
Double_t fInvmassCut;
Double_t fpTCut;
Int_t fTrigger;
TH1F *fPhi;
TH1F *fEta;
TH1F *fVZEROA;
TH1F *fVZEROC;
TH1F *fTPCM;
TH1F *fNoEvents;
TH2F *fTrkEovPBef;
TH1F *fInclusiveElecPt;
TH2F *fTPCnsigma;
TH2F *fTPCnsigmaAft;
TH1F *fCentralityPass;
TH1F *fCentralityNoPass;
TH1F *fInvmassLS1;
TH1F *fInvmassULS1;
TH1F *fPhotoElecPt;
TH1F *fSemiInclElecPt;
TH1F *fULSElecPt;
TH1F *fLSElecPt;
Double_t fminTPC;
Double_t fmaxTPC;
Double_t fminEovP;
Double_t fmaxEovP;
Double_t fminM20;
Double_t fmaxM20;
Double_t fminM02;
Double_t fmaxM02;
Double_t fDispersion;
TH2F *fMultCorAfterCuts;
TH2F *fMultvsCentr;
TProfile *fSubEventDPhiv2;
TH1D *EPVzA;
TH1D *EPVzC;
TH1D *EPTPC;
THnSparseF *fV2Phi;
THnSparseD *fSparseElectronHadron;
TH1D *fvertex;
TH2F *fMultCorBeforeCuts;
Bool_t fSideBandsFlow;
Bool_t fPhiminusPsi;
AliFlowEvent *fFlowEventCont;
Bool_t fpurity;
THnSparseD *fSparseElectronpurity;
TH1F *fOpeningAngleLS;
TH1F *fOpeningAngleULS;
AliSelectNonHFE *fNonHFE;
Bool_t fDCA;
Double_t fOpeningAngleCut;
Bool_t fOP_angle;
Int_t fAssoTPCCluster;
Bool_t fAssoITSRefit;
Bool_t fMultCut;
TH2F *fMultCorAfterCentrBeforeCuts;
TH2F *fMultCorAfterVZTRKComp;
TH1F *fCentralityBeforePileup;
TH1F *fCentralityAfterVZTRK;
TH1F *fCentralityAfterCorrCut;
TH2F *fMultCorAfterCorrCut;
TH1D *EPVz;
TH1D *EPTPCp;
TH1D *EPTPCn;
TProfile *fSubEventDPhiv2new;
THnSparseF *fV2Phivzerotot;
TH1F *fHistCentrDistr;
TH1F *fCentralityNoPassForFlattening;
TH1F *fInvmassLS1highpt;
TH1F *fInvmassULS1highpt;
THnSparseF *fSparsephipsiULS;
THnSparseF *fSparsephipsiLS;
THnSparseF *fSparseMassULS;
THnSparseF *fSparseMassLS;
TH1D *fHistEPDistrWeight;
Bool_t EPweights;
TH1D *EPVzAftW;
Bool_t multCorrection;
Double_t fptminAsso;
AliAnalysisTaskFlowTPCEMCalQCSP(const AliAnalysisTaskFlowTPCEMCalQCSP&);
AliAnalysisTaskFlowTPCEMCalQCSP& operator=(const AliAnalysisTaskFlowTPCEMCalQCSP&);
ClassDef(AliAnalysisTaskFlowTPCEMCalQCSP, 2);
};
#endif
AliAnalysisTaskFlowTPCEMCalQCSP.h:1 AliAnalysisTaskFlowTPCEMCalQCSP.h:2 AliAnalysisTaskFlowTPCEMCalQCSP.h:3 AliAnalysisTaskFlowTPCEMCalQCSP.h:4 AliAnalysisTaskFlowTPCEMCalQCSP.h:5 AliAnalysisTaskFlowTPCEMCalQCSP.h:6 AliAnalysisTaskFlowTPCEMCalQCSP.h:7 AliAnalysisTaskFlowTPCEMCalQCSP.h:8 AliAnalysisTaskFlowTPCEMCalQCSP.h:9 AliAnalysisTaskFlowTPCEMCalQCSP.h:10 AliAnalysisTaskFlowTPCEMCalQCSP.h:11 AliAnalysisTaskFlowTPCEMCalQCSP.h:12 AliAnalysisTaskFlowTPCEMCalQCSP.h:13 AliAnalysisTaskFlowTPCEMCalQCSP.h:14 AliAnalysisTaskFlowTPCEMCalQCSP.h:15 AliAnalysisTaskFlowTPCEMCalQCSP.h:16 AliAnalysisTaskFlowTPCEMCalQCSP.h:17 AliAnalysisTaskFlowTPCEMCalQCSP.h:18 AliAnalysisTaskFlowTPCEMCalQCSP.h:19 AliAnalysisTaskFlowTPCEMCalQCSP.h:20 AliAnalysisTaskFlowTPCEMCalQCSP.h:21 AliAnalysisTaskFlowTPCEMCalQCSP.h:22 AliAnalysisTaskFlowTPCEMCalQCSP.h:23 AliAnalysisTaskFlowTPCEMCalQCSP.h:24 AliAnalysisTaskFlowTPCEMCalQCSP.h:25 AliAnalysisTaskFlowTPCEMCalQCSP.h:26 AliAnalysisTaskFlowTPCEMCalQCSP.h:27 AliAnalysisTaskFlowTPCEMCalQCSP.h:28 AliAnalysisTaskFlowTPCEMCalQCSP.h:29 AliAnalysisTaskFlowTPCEMCalQCSP.h:30 AliAnalysisTaskFlowTPCEMCalQCSP.h:31 AliAnalysisTaskFlowTPCEMCalQCSP.h:32 AliAnalysisTaskFlowTPCEMCalQCSP.h:33 AliAnalysisTaskFlowTPCEMCalQCSP.h:34 AliAnalysisTaskFlowTPCEMCalQCSP.h:35 AliAnalysisTaskFlowTPCEMCalQCSP.h:36 AliAnalysisTaskFlowTPCEMCalQCSP.h:37 AliAnalysisTaskFlowTPCEMCalQCSP.h:38 AliAnalysisTaskFlowTPCEMCalQCSP.h:39 AliAnalysisTaskFlowTPCEMCalQCSP.h:40 AliAnalysisTaskFlowTPCEMCalQCSP.h:41 AliAnalysisTaskFlowTPCEMCalQCSP.h:42 AliAnalysisTaskFlowTPCEMCalQCSP.h:43 AliAnalysisTaskFlowTPCEMCalQCSP.h:44 AliAnalysisTaskFlowTPCEMCalQCSP.h:45 AliAnalysisTaskFlowTPCEMCalQCSP.h:46 AliAnalysisTaskFlowTPCEMCalQCSP.h:47 AliAnalysisTaskFlowTPCEMCalQCSP.h:48 AliAnalysisTaskFlowTPCEMCalQCSP.h:49 AliAnalysisTaskFlowTPCEMCalQCSP.h:50 AliAnalysisTaskFlowTPCEMCalQCSP.h:51 AliAnalysisTaskFlowTPCEMCalQCSP.h:52 AliAnalysisTaskFlowTPCEMCalQCSP.h:53 AliAnalysisTaskFlowTPCEMCalQCSP.h:54 AliAnalysisTaskFlowTPCEMCalQCSP.h:55 AliAnalysisTaskFlowTPCEMCalQCSP.h:56 AliAnalysisTaskFlowTPCEMCalQCSP.h:57 AliAnalysisTaskFlowTPCEMCalQCSP.h:58 AliAnalysisTaskFlowTPCEMCalQCSP.h:59 AliAnalysisTaskFlowTPCEMCalQCSP.h:60 AliAnalysisTaskFlowTPCEMCalQCSP.h:61 AliAnalysisTaskFlowTPCEMCalQCSP.h:62 AliAnalysisTaskFlowTPCEMCalQCSP.h:63 AliAnalysisTaskFlowTPCEMCalQCSP.h:64 AliAnalysisTaskFlowTPCEMCalQCSP.h:65 AliAnalysisTaskFlowTPCEMCalQCSP.h:66 AliAnalysisTaskFlowTPCEMCalQCSP.h:67 AliAnalysisTaskFlowTPCEMCalQCSP.h:68 AliAnalysisTaskFlowTPCEMCalQCSP.h:69 AliAnalysisTaskFlowTPCEMCalQCSP.h:70 AliAnalysisTaskFlowTPCEMCalQCSP.h:71 AliAnalysisTaskFlowTPCEMCalQCSP.h:72 AliAnalysisTaskFlowTPCEMCalQCSP.h:73 AliAnalysisTaskFlowTPCEMCalQCSP.h:74 AliAnalysisTaskFlowTPCEMCalQCSP.h:75 AliAnalysisTaskFlowTPCEMCalQCSP.h:76 AliAnalysisTaskFlowTPCEMCalQCSP.h:77 AliAnalysisTaskFlowTPCEMCalQCSP.h:78 AliAnalysisTaskFlowTPCEMCalQCSP.h:79 AliAnalysisTaskFlowTPCEMCalQCSP.h:80 AliAnalysisTaskFlowTPCEMCalQCSP.h:81 AliAnalysisTaskFlowTPCEMCalQCSP.h:82 AliAnalysisTaskFlowTPCEMCalQCSP.h:83 AliAnalysisTaskFlowTPCEMCalQCSP.h:84 AliAnalysisTaskFlowTPCEMCalQCSP.h:85 AliAnalysisTaskFlowTPCEMCalQCSP.h:86 AliAnalysisTaskFlowTPCEMCalQCSP.h:87 AliAnalysisTaskFlowTPCEMCalQCSP.h:88 AliAnalysisTaskFlowTPCEMCalQCSP.h:89 AliAnalysisTaskFlowTPCEMCalQCSP.h:90 AliAnalysisTaskFlowTPCEMCalQCSP.h:91 AliAnalysisTaskFlowTPCEMCalQCSP.h:92 AliAnalysisTaskFlowTPCEMCalQCSP.h:93 AliAnalysisTaskFlowTPCEMCalQCSP.h:94 AliAnalysisTaskFlowTPCEMCalQCSP.h:95 AliAnalysisTaskFlowTPCEMCalQCSP.h:96 AliAnalysisTaskFlowTPCEMCalQCSP.h:97 AliAnalysisTaskFlowTPCEMCalQCSP.h:98 AliAnalysisTaskFlowTPCEMCalQCSP.h:99 AliAnalysisTaskFlowTPCEMCalQCSP.h:100 AliAnalysisTaskFlowTPCEMCalQCSP.h:101 AliAnalysisTaskFlowTPCEMCalQCSP.h:102 AliAnalysisTaskFlowTPCEMCalQCSP.h:103 AliAnalysisTaskFlowTPCEMCalQCSP.h:104 AliAnalysisTaskFlowTPCEMCalQCSP.h:105 AliAnalysisTaskFlowTPCEMCalQCSP.h:106 AliAnalysisTaskFlowTPCEMCalQCSP.h:107 AliAnalysisTaskFlowTPCEMCalQCSP.h:108 AliAnalysisTaskFlowTPCEMCalQCSP.h:109 AliAnalysisTaskFlowTPCEMCalQCSP.h:110 AliAnalysisTaskFlowTPCEMCalQCSP.h:111 AliAnalysisTaskFlowTPCEMCalQCSP.h:112 AliAnalysisTaskFlowTPCEMCalQCSP.h:113 AliAnalysisTaskFlowTPCEMCalQCSP.h:114 AliAnalysisTaskFlowTPCEMCalQCSP.h:115 AliAnalysisTaskFlowTPCEMCalQCSP.h:116 AliAnalysisTaskFlowTPCEMCalQCSP.h:117 AliAnalysisTaskFlowTPCEMCalQCSP.h:118 AliAnalysisTaskFlowTPCEMCalQCSP.h:119 AliAnalysisTaskFlowTPCEMCalQCSP.h:120 AliAnalysisTaskFlowTPCEMCalQCSP.h:121 AliAnalysisTaskFlowTPCEMCalQCSP.h:122 AliAnalysisTaskFlowTPCEMCalQCSP.h:123 AliAnalysisTaskFlowTPCEMCalQCSP.h:124 AliAnalysisTaskFlowTPCEMCalQCSP.h:125 AliAnalysisTaskFlowTPCEMCalQCSP.h:126 AliAnalysisTaskFlowTPCEMCalQCSP.h:127 AliAnalysisTaskFlowTPCEMCalQCSP.h:128 AliAnalysisTaskFlowTPCEMCalQCSP.h:129 AliAnalysisTaskFlowTPCEMCalQCSP.h:130 AliAnalysisTaskFlowTPCEMCalQCSP.h:131 AliAnalysisTaskFlowTPCEMCalQCSP.h:132 AliAnalysisTaskFlowTPCEMCalQCSP.h:133 AliAnalysisTaskFlowTPCEMCalQCSP.h:134 AliAnalysisTaskFlowTPCEMCalQCSP.h:135 AliAnalysisTaskFlowTPCEMCalQCSP.h:136 AliAnalysisTaskFlowTPCEMCalQCSP.h:137 AliAnalysisTaskFlowTPCEMCalQCSP.h:138 AliAnalysisTaskFlowTPCEMCalQCSP.h:139 AliAnalysisTaskFlowTPCEMCalQCSP.h:140 AliAnalysisTaskFlowTPCEMCalQCSP.h:141 AliAnalysisTaskFlowTPCEMCalQCSP.h:142 AliAnalysisTaskFlowTPCEMCalQCSP.h:143 AliAnalysisTaskFlowTPCEMCalQCSP.h:144 AliAnalysisTaskFlowTPCEMCalQCSP.h:145 AliAnalysisTaskFlowTPCEMCalQCSP.h:146 AliAnalysisTaskFlowTPCEMCalQCSP.h:147 AliAnalysisTaskFlowTPCEMCalQCSP.h:148 AliAnalysisTaskFlowTPCEMCalQCSP.h:149 AliAnalysisTaskFlowTPCEMCalQCSP.h:150 AliAnalysisTaskFlowTPCEMCalQCSP.h:151 AliAnalysisTaskFlowTPCEMCalQCSP.h:152 AliAnalysisTaskFlowTPCEMCalQCSP.h:153 AliAnalysisTaskFlowTPCEMCalQCSP.h:154 AliAnalysisTaskFlowTPCEMCalQCSP.h:155 AliAnalysisTaskFlowTPCEMCalQCSP.h:156 AliAnalysisTaskFlowTPCEMCalQCSP.h:157 AliAnalysisTaskFlowTPCEMCalQCSP.h:158 AliAnalysisTaskFlowTPCEMCalQCSP.h:159 AliAnalysisTaskFlowTPCEMCalQCSP.h:160 AliAnalysisTaskFlowTPCEMCalQCSP.h:161 AliAnalysisTaskFlowTPCEMCalQCSP.h:162 AliAnalysisTaskFlowTPCEMCalQCSP.h:163 AliAnalysisTaskFlowTPCEMCalQCSP.h:164 AliAnalysisTaskFlowTPCEMCalQCSP.h:165 AliAnalysisTaskFlowTPCEMCalQCSP.h:166 AliAnalysisTaskFlowTPCEMCalQCSP.h:167 AliAnalysisTaskFlowTPCEMCalQCSP.h:168 AliAnalysisTaskFlowTPCEMCalQCSP.h:169 AliAnalysisTaskFlowTPCEMCalQCSP.h:170 AliAnalysisTaskFlowTPCEMCalQCSP.h:171 AliAnalysisTaskFlowTPCEMCalQCSP.h:172 AliAnalysisTaskFlowTPCEMCalQCSP.h:173 AliAnalysisTaskFlowTPCEMCalQCSP.h:174 AliAnalysisTaskFlowTPCEMCalQCSP.h:175 AliAnalysisTaskFlowTPCEMCalQCSP.h:176 AliAnalysisTaskFlowTPCEMCalQCSP.h:177 AliAnalysisTaskFlowTPCEMCalQCSP.h:178 AliAnalysisTaskFlowTPCEMCalQCSP.h:179 AliAnalysisTaskFlowTPCEMCalQCSP.h:180 AliAnalysisTaskFlowTPCEMCalQCSP.h:181 AliAnalysisTaskFlowTPCEMCalQCSP.h:182 AliAnalysisTaskFlowTPCEMCalQCSP.h:183 AliAnalysisTaskFlowTPCEMCalQCSP.h:184 AliAnalysisTaskFlowTPCEMCalQCSP.h:185 AliAnalysisTaskFlowTPCEMCalQCSP.h:186 AliAnalysisTaskFlowTPCEMCalQCSP.h:187 AliAnalysisTaskFlowTPCEMCalQCSP.h:188 AliAnalysisTaskFlowTPCEMCalQCSP.h:189 AliAnalysisTaskFlowTPCEMCalQCSP.h:190 AliAnalysisTaskFlowTPCEMCalQCSP.h:191 AliAnalysisTaskFlowTPCEMCalQCSP.h:192 AliAnalysisTaskFlowTPCEMCalQCSP.h:193 AliAnalysisTaskFlowTPCEMCalQCSP.h:194 AliAnalysisTaskFlowTPCEMCalQCSP.h:195 AliAnalysisTaskFlowTPCEMCalQCSP.h:196 AliAnalysisTaskFlowTPCEMCalQCSP.h:197 AliAnalysisTaskFlowTPCEMCalQCSP.h:198 AliAnalysisTaskFlowTPCEMCalQCSP.h:199 AliAnalysisTaskFlowTPCEMCalQCSP.h:200 AliAnalysisTaskFlowTPCEMCalQCSP.h:201 AliAnalysisTaskFlowTPCEMCalQCSP.h:202 AliAnalysisTaskFlowTPCEMCalQCSP.h:203 AliAnalysisTaskFlowTPCEMCalQCSP.h:204