#ifndef ALIANALYSISTASKHFECAL_H
#define ALIANALYSISTASKHFECAL_H
class THnSparse;
class TH2F;
class TLorentzVector;
class TGraphErrors;
class AliEMCALTrack;
class AliMagF;
class AliESDEvent;
class AliAODEvent;
class AliEMCALGeometry;
class AliEMCALRecoUtils;
class AliAnalysisFilter;
class AliESDtrackCuts;
class AliESDtrack;
class AliHFEcontainer;
class AliHFEcuts;
class AliHFEpid;
class AliHFEpidQAmanager;
class AliCFManager;
#include "AliAnalysisTaskSE.h"
#include "AliStack.h"
class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
public:
AliAnalysisTaskHFECal();
AliAnalysisTaskHFECal(const char *name);
virtual ~AliAnalysisTaskHFECal();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
void SetOpeningAngleCut (Double_t openingAngle) {fOpeningAngleCut = openingAngle;};
void SetMimpTassCut (Double_t MimpTassCut) {fMimpTassCut = MimpTassCut;};
void SetMimNsigassCut (Double_t MimNsigassCut) {fMimNsigassCut = MimNsigassCut;};
void SetInvariantMassCut (Double_t invmass) {fInvmassCut = invmass;};
void SetMassConstraint (Bool_t MassConstraint) { fSetMassConstraint = MassConstraint; };
void SetMassWidthCut (Bool_t MassWidthCut) { fSetMassWidthCut = MassWidthCut; };
void SetMassNonlinear (Bool_t MassNonlinear) { fSetMassNonlinear = MassNonlinear; };
void SetMassCalMethod (Bool_t KFpart) { fSetKFpart = KFpart; };
void SetQAHist (int qahist) {fqahist = qahist;};
AliHFEpid *GetPID() const { return fPID; }
void SetRejectKinkMother(Bool_t rejectKinkMother = kFALSE) { fRejectKinkMother = rejectKinkMother; };
void SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonic, Bool_t &fFlagConvinat, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent, Bool_t tagpi0, Bool_t tageta, Int_t iCal);
void FindMother(TParticle* part, int &label, int &pid);
double GetMCweight(double mcPi0pT);
double GetMCweightEta(double mcEtapT);
void FindTriggerClusters();
double MCEopMeanCorrection(double pTmc, float central);
double NsigmaCorrection(double tmpeta, float central);
private:
Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
AliESDEvent *fESD;
AliMCEvent *fMC;
AliStack *stack;
AliEMCALGeometry *fGeom;
TList *fOutputList;
Int_t fqahist;
AliESDtrackCuts *fTrackCuts;
AliHFEcuts *fCuts;
Bool_t fIdentifiedAsOutInz;
Bool_t fPassTheEventCut;
Bool_t fRejectKinkMother;
Bool_t fmcData;
Double_t fVz;
AliCFManager *fCFM;
AliHFEpid *fPID;
AliHFEpidQAmanager *fPIDqa;
Double_t fOpeningAngleCut;
Double_t fMimpTassCut;
Double_t fMimNsigassCut;
Double_t fInvmassCut;
Bool_t fSetMassConstraint;
Bool_t fSetMassWidthCut;
Bool_t fSetMassNonlinear;
Bool_t fSetKFpart;
int ftriggers[48][60];
int ftriggersCut[48][60];
int ftriggersTime[48][60];
TH1F *fNoEvents;
THnSparseD *fEMCAccE;
TH2F *hEMCAccE;
TH1F *fTrkpt;
TH2F *fTrkEovPBef;
TH2F *fTrkEovPAft;
TH2F *fdEdxBef;
TH2F *fdEdxAft;
TH2F *fIncpT;
TH2F *fIncpTM20;
THnSparseD *fInvmassLS;
THnSparseD *fInvmassULS;
THnSparseD *fInvmassLSmc;
THnSparseD *fInvmassULSmc;
TH2D *fInvmassLSreco;
TH2D *fInvmassULSreco;
TH2D *fInvmassLSmc0;
TH2D *fInvmassLSmc1;
TH2D *fInvmassLSmc2;
TH2D *fInvmassLSmc3;
TH2D *fInvmassULSmc0;
TH2D *fInvmassULSmc1;
TH2D *fInvmassULSmc2;
TH2D *fInvmassULSmc3;
TH1F *fOpeningAngleLS;
TH1F *fOpeningAngleULS;
TH1F *fPhotoElecPt;
TH2F *fPhoElecPt;
TH2F *fPhoElecPtM20;
TH2F *fPhoElecPtM20Mass;
TH2F *fSameElecPt;
TH2F *fSameElecPtM20;
TH2F *fSameElecPtM20Mass;
TH2F *fSemiElecPtM20;
TH1F *fTrackPtBefTrkCuts;
TH1F *fTrackPtAftTrkCuts;
TH2F *fTPCnsigma;
TH1F *fCent;
THnSparseD *fEleInfo;
THnSparseD *fElenSigma;
TH2F *fInputHFEMC;
TH2F *fInputAlle;
TH2F *fIncpTMChfe;
TH2F *fIncpTMChfeAll;
TH2F *fIncpTMCM20hfe;
TH2F *fIncpTMCM20hfeAll;
TH2F *fIncpTMCM20hfeCheck;
THnSparseD *fInputHFEMC_weight;
THnSparseD *fIncpTMCM20hfeCheck_weight;
THnSparseD *fIncpTMCpho;
THnSparseD *fIncpTMCM20pho;
THnSparseD *fPhoElecPtMC;
THnSparseD *fPhoElecPtMCM20;
TH2D *fPhoElecPtMCM20Mass;
THnSparseD *fSameElecPtMC;
THnSparseD *fSameElecPtMCM20;
TH2D *fSameElecPtMCM20Mass;
THnSparseD *fIncpTMCM20pho_pi0e;
THnSparseD *fPhoElecPtMCM20_pi0e;
THnSparseD *fSameElecPtMCM20_pi0e;
THnSparseD *fIncpTMCM20pho_eta;
THnSparseD *fPhoElecPtMCM20_eta;
THnSparseD *fSameElecPtMCM20_eta;
THnSparseD *fIncpTMCpho_pi0e_TPC;
THnSparseD *fPhoElecPtMC_pi0e_TPC;
THnSparseD *fSameElecPtMC_pi0e_TPC;
THnSparseD *fIncpTMCpho_eta_TPC;
THnSparseD *fPhoElecPtMC_eta_TPC;
THnSparseD *fSameElecPtMC_eta_TPC;
TH1D *CheckNclust;
TH1D *CheckNits;
TH2D *CheckDCA;
THnSparseD *Hpi0pTcheck;
THnSparseD *HETApTcheck;
TH2D *HphopTcheck;
TH2D *HDpTcheck;
TH2D *HBpTcheck;
TH1D *fpTCheck;
TH2D *fMomDtoE;
TH2D *fLabelCheck;
TH2D *fgeoFake;
TH2D *fFakeTrk0;
TH2D *fFakeTrk1;
TH2D *ftimingEle;
TH2D *fIncMaxE;
TH2D *fIncReco;
TH2D *fPhoReco;
TH2D *fSamReco;
TH2D *fIncRecoMaxE;
TH2D *fPhoRecoMaxE;
TH2D *fSamRecoMaxE;
TH2D *fPhoVertexReco_TPC;
TH2D *fPhoVertexReco_TPC_Invmass;
TH2D *fPhoVertexReco_EMCal;
TH2D *fPhoVertexReco_Invmass;
TH2D *fPhoVertexReco_step0;
TH2D *fPhoVertexReco_step1;
TH1D *fMatchV0_0;
TH1D *fMatchV0_1;
TH1D *fMatchMC_0;
TH1D *fMatchMC_1;
TH2D *fpair;
TH2D *fFakeRejection0;
TH2D *fFakeRejection1;
TH2D *fFakeRejection2;
TH2D *EopFake;
TH2D *EopTrue;
TH2D *MatchFake;
TH2D *MatchTrue;
TH2D *MatchTrCheck;
TH2D *MatchTrEop;
TGraphErrors *fnSigEtaCorr[7];
AliAnalysisTaskHFECal(const AliAnalysisTaskHFECal&);
AliAnalysisTaskHFECal& operator=(const AliAnalysisTaskHFECal&);
ClassDef(AliAnalysisTaskHFECal, 1);
};
#endif
AliAnalysisTaskHFECal.h:1 AliAnalysisTaskHFECal.h:2 AliAnalysisTaskHFECal.h:3 AliAnalysisTaskHFECal.h:4 AliAnalysisTaskHFECal.h:5 AliAnalysisTaskHFECal.h:6 AliAnalysisTaskHFECal.h:7 AliAnalysisTaskHFECal.h:8 AliAnalysisTaskHFECal.h:9 AliAnalysisTaskHFECal.h:10 AliAnalysisTaskHFECal.h:11 AliAnalysisTaskHFECal.h:12 AliAnalysisTaskHFECal.h:13 AliAnalysisTaskHFECal.h:14 AliAnalysisTaskHFECal.h:15 AliAnalysisTaskHFECal.h:16 AliAnalysisTaskHFECal.h:17 AliAnalysisTaskHFECal.h:18 AliAnalysisTaskHFECal.h:19 AliAnalysisTaskHFECal.h:20 AliAnalysisTaskHFECal.h:21 AliAnalysisTaskHFECal.h:22 AliAnalysisTaskHFECal.h:23 AliAnalysisTaskHFECal.h:24 AliAnalysisTaskHFECal.h:25 AliAnalysisTaskHFECal.h:26 AliAnalysisTaskHFECal.h:27 AliAnalysisTaskHFECal.h:28 AliAnalysisTaskHFECal.h:29 AliAnalysisTaskHFECal.h:30 AliAnalysisTaskHFECal.h:31 AliAnalysisTaskHFECal.h:32 AliAnalysisTaskHFECal.h:33 AliAnalysisTaskHFECal.h:34 AliAnalysisTaskHFECal.h:35 AliAnalysisTaskHFECal.h:36 AliAnalysisTaskHFECal.h:37 AliAnalysisTaskHFECal.h:38 AliAnalysisTaskHFECal.h:39 AliAnalysisTaskHFECal.h:40 AliAnalysisTaskHFECal.h:41 AliAnalysisTaskHFECal.h:42 AliAnalysisTaskHFECal.h:43 AliAnalysisTaskHFECal.h:44 AliAnalysisTaskHFECal.h:45 AliAnalysisTaskHFECal.h:46 AliAnalysisTaskHFECal.h:47 AliAnalysisTaskHFECal.h:48 AliAnalysisTaskHFECal.h:49 AliAnalysisTaskHFECal.h:50 AliAnalysisTaskHFECal.h:51 AliAnalysisTaskHFECal.h:52 AliAnalysisTaskHFECal.h:53 AliAnalysisTaskHFECal.h:54 AliAnalysisTaskHFECal.h:55 AliAnalysisTaskHFECal.h:56 AliAnalysisTaskHFECal.h:57 AliAnalysisTaskHFECal.h:58 AliAnalysisTaskHFECal.h:59 AliAnalysisTaskHFECal.h:60 AliAnalysisTaskHFECal.h:61 AliAnalysisTaskHFECal.h:62 AliAnalysisTaskHFECal.h:63 AliAnalysisTaskHFECal.h:64 AliAnalysisTaskHFECal.h:65 AliAnalysisTaskHFECal.h:66 AliAnalysisTaskHFECal.h:67 AliAnalysisTaskHFECal.h:68 AliAnalysisTaskHFECal.h:69 AliAnalysisTaskHFECal.h:70 AliAnalysisTaskHFECal.h:71 AliAnalysisTaskHFECal.h:72 AliAnalysisTaskHFECal.h:73 AliAnalysisTaskHFECal.h:74 AliAnalysisTaskHFECal.h:75 AliAnalysisTaskHFECal.h:76 AliAnalysisTaskHFECal.h:77 AliAnalysisTaskHFECal.h:78 AliAnalysisTaskHFECal.h:79 AliAnalysisTaskHFECal.h:80 AliAnalysisTaskHFECal.h:81 AliAnalysisTaskHFECal.h:82 AliAnalysisTaskHFECal.h:83 AliAnalysisTaskHFECal.h:84 AliAnalysisTaskHFECal.h:85 AliAnalysisTaskHFECal.h:86 AliAnalysisTaskHFECal.h:87 AliAnalysisTaskHFECal.h:88 AliAnalysisTaskHFECal.h:89 AliAnalysisTaskHFECal.h:90 AliAnalysisTaskHFECal.h:91 AliAnalysisTaskHFECal.h:92 AliAnalysisTaskHFECal.h:93 AliAnalysisTaskHFECal.h:94 AliAnalysisTaskHFECal.h:95 AliAnalysisTaskHFECal.h:96 AliAnalysisTaskHFECal.h:97 AliAnalysisTaskHFECal.h:98 AliAnalysisTaskHFECal.h:99 AliAnalysisTaskHFECal.h:100 AliAnalysisTaskHFECal.h:101 AliAnalysisTaskHFECal.h:102 AliAnalysisTaskHFECal.h:103 AliAnalysisTaskHFECal.h:104 AliAnalysisTaskHFECal.h:105 AliAnalysisTaskHFECal.h:106 AliAnalysisTaskHFECal.h:107 AliAnalysisTaskHFECal.h:108 AliAnalysisTaskHFECal.h:109 AliAnalysisTaskHFECal.h:110 AliAnalysisTaskHFECal.h:111 AliAnalysisTaskHFECal.h:112 AliAnalysisTaskHFECal.h:113 AliAnalysisTaskHFECal.h:114 AliAnalysisTaskHFECal.h:115 AliAnalysisTaskHFECal.h:116 AliAnalysisTaskHFECal.h:117 AliAnalysisTaskHFECal.h:118 AliAnalysisTaskHFECal.h:119 AliAnalysisTaskHFECal.h:120 AliAnalysisTaskHFECal.h:121 AliAnalysisTaskHFECal.h:122 AliAnalysisTaskHFECal.h:123 AliAnalysisTaskHFECal.h:124 AliAnalysisTaskHFECal.h:125 AliAnalysisTaskHFECal.h:126 AliAnalysisTaskHFECal.h:127 AliAnalysisTaskHFECal.h:128 AliAnalysisTaskHFECal.h:129 AliAnalysisTaskHFECal.h:130 AliAnalysisTaskHFECal.h:131 AliAnalysisTaskHFECal.h:132 AliAnalysisTaskHFECal.h:133 AliAnalysisTaskHFECal.h:134 AliAnalysisTaskHFECal.h:135 AliAnalysisTaskHFECal.h:136 AliAnalysisTaskHFECal.h:137 AliAnalysisTaskHFECal.h:138 AliAnalysisTaskHFECal.h:139 AliAnalysisTaskHFECal.h:140 AliAnalysisTaskHFECal.h:141 AliAnalysisTaskHFECal.h:142 AliAnalysisTaskHFECal.h:143 AliAnalysisTaskHFECal.h:144 AliAnalysisTaskHFECal.h:145 AliAnalysisTaskHFECal.h:146 AliAnalysisTaskHFECal.h:147 AliAnalysisTaskHFECal.h:148 AliAnalysisTaskHFECal.h:149 AliAnalysisTaskHFECal.h:150 AliAnalysisTaskHFECal.h:151 AliAnalysisTaskHFECal.h:152 AliAnalysisTaskHFECal.h:153 AliAnalysisTaskHFECal.h:154 AliAnalysisTaskHFECal.h:155 AliAnalysisTaskHFECal.h:156 AliAnalysisTaskHFECal.h:157 AliAnalysisTaskHFECal.h:158 AliAnalysisTaskHFECal.h:159 AliAnalysisTaskHFECal.h:160 AliAnalysisTaskHFECal.h:161 AliAnalysisTaskHFECal.h:162 AliAnalysisTaskHFECal.h:163 AliAnalysisTaskHFECal.h:164 AliAnalysisTaskHFECal.h:165 AliAnalysisTaskHFECal.h:166 AliAnalysisTaskHFECal.h:167 AliAnalysisTaskHFECal.h:168 AliAnalysisTaskHFECal.h:169 AliAnalysisTaskHFECal.h:170 AliAnalysisTaskHFECal.h:171 AliAnalysisTaskHFECal.h:172 AliAnalysisTaskHFECal.h:173 AliAnalysisTaskHFECal.h:174 AliAnalysisTaskHFECal.h:175 AliAnalysisTaskHFECal.h:176 AliAnalysisTaskHFECal.h:177 AliAnalysisTaskHFECal.h:178 AliAnalysisTaskHFECal.h:179 AliAnalysisTaskHFECal.h:180 AliAnalysisTaskHFECal.h:181 AliAnalysisTaskHFECal.h:182 AliAnalysisTaskHFECal.h:183 AliAnalysisTaskHFECal.h:184 AliAnalysisTaskHFECal.h:185 AliAnalysisTaskHFECal.h:186 AliAnalysisTaskHFECal.h:187 AliAnalysisTaskHFECal.h:188 AliAnalysisTaskHFECal.h:189 AliAnalysisTaskHFECal.h:190 AliAnalysisTaskHFECal.h:191 AliAnalysisTaskHFECal.h:192 AliAnalysisTaskHFECal.h:193 AliAnalysisTaskHFECal.h:194 AliAnalysisTaskHFECal.h:195 AliAnalysisTaskHFECal.h:196 AliAnalysisTaskHFECal.h:197 AliAnalysisTaskHFECal.h:198 AliAnalysisTaskHFECal.h:199 AliAnalysisTaskHFECal.h:200 AliAnalysisTaskHFECal.h:201 AliAnalysisTaskHFECal.h:202 AliAnalysisTaskHFECal.h:203 AliAnalysisTaskHFECal.h:204 AliAnalysisTaskHFECal.h:205 AliAnalysisTaskHFECal.h:206 AliAnalysisTaskHFECal.h:207 AliAnalysisTaskHFECal.h:208 AliAnalysisTaskHFECal.h:209 AliAnalysisTaskHFECal.h:210 AliAnalysisTaskHFECal.h:211 AliAnalysisTaskHFECal.h:212 AliAnalysisTaskHFECal.h:213 AliAnalysisTaskHFECal.h:214 AliAnalysisTaskHFECal.h:215 AliAnalysisTaskHFECal.h:216 AliAnalysisTaskHFECal.h:217 AliAnalysisTaskHFECal.h:218 AliAnalysisTaskHFECal.h:219 AliAnalysisTaskHFECal.h:220 AliAnalysisTaskHFECal.h:221 AliAnalysisTaskHFECal.h:222 AliAnalysisTaskHFECal.h:223 AliAnalysisTaskHFECal.h:224 AliAnalysisTaskHFECal.h:225 AliAnalysisTaskHFECal.h:226 AliAnalysisTaskHFECal.h:227 AliAnalysisTaskHFECal.h:228 AliAnalysisTaskHFECal.h:229 AliAnalysisTaskHFECal.h:230 AliAnalysisTaskHFECal.h:231 AliAnalysisTaskHFECal.h:232 AliAnalysisTaskHFECal.h:233 AliAnalysisTaskHFECal.h:234 AliAnalysisTaskHFECal.h:235 AliAnalysisTaskHFECal.h:236 AliAnalysisTaskHFECal.h:237 AliAnalysisTaskHFECal.h:238 AliAnalysisTaskHFECal.h:239 AliAnalysisTaskHFECal.h:240 AliAnalysisTaskHFECal.h:241 AliAnalysisTaskHFECal.h:242 AliAnalysisTaskHFECal.h:243 AliAnalysisTaskHFECal.h:244 AliAnalysisTaskHFECal.h:245 AliAnalysisTaskHFECal.h:246 AliAnalysisTaskHFECal.h:247