class THnSparse;
class TH2F;
class TLorentzVector;
+class TGraphErrors;
class AliEMCALTrack;
class AliMagF;
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, AliStack *stack, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent);
+ void SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent, Bool_t tagpi0, Bool_t tageta);
+ void SelectPhotonicElectron2(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent, Bool_t tagpi0, Bool_t tageta);
+ 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; //!ESD object
AliMCEvent *fMC; //!MC object
+ AliStack *stack; //!MC object
AliEMCALGeometry *fGeom; // emcal geometry
TList *fOutputList; //! output list
AliHFEpid *fPID; //! PID
AliHFEpidQAmanager *fPIDqa; //! PID QA manager
Double_t fOpeningAngleCut; //openingAngle cut value
+ Double_t fMimpTassCut; //openingAngle cut value
+ Double_t fMimNsigassCut; //openingAngle cut value
Double_t fInvmassCut; //invariant mass cut value
+ Bool_t fSetMassConstraint; // Set mass constraint
+ Bool_t fSetMassWidthCut; // Set mass constraint
+ Bool_t fSetMassNonlinear; // Set mass constraint
+ Bool_t fSetKFpart; // Set mass constraint
int ftriggers[48][60];//!
int ftriggersCut[48][60];//!
TH1F *fNoEvents; //! no of events
THnSparseD *fEMCAccE; //! EMC acc
+ TH2F *hEMCAccE; //! EMC acc
TH1F *fTrkpt; //! track pt
TH2F *fTrkEovPBef; //! track E/p before HFE pid
TH2F *fTrkEovPAft; //! track E/p after HFE pid
THnSparseD *fInvmassULS; //! Inv mass of ULS (e,e)
THnSparseD *fInvmassLSmc; //! Inv mass of LS (e,e)
THnSparseD *fInvmassULSmc; //! Inv mass of ULS (e,e)
+ TH2D *fInvmassLSreco; //! Inv mass of LS (e,e)
+ TH2D *fInvmassULSreco; //! Inv mass of ULS (e,e)
+ TH2D *fInvmassLSmc0; //! Inv mass of ULS (e,e)
+ TH2D *fInvmassLSmc1; //! Inv mass of ULS (e,e)
+ TH2D *fInvmassLSmc2; //! Inv mass of ULS (e,e)
+ TH2D *fInvmassLSmc3; //! Inv mass of ULS (e,e)
+ TH2D *fInvmassULSmc0; //! Inv mass of ULS (e,e)
+ TH2D *fInvmassULSmc1; //! Inv mass of ULS (e,e)
+ TH2D *fInvmassULSmc2; //! Inv mass of ULS (e,e)
+ TH2D *fInvmassULSmc3; //! Inv mass of ULS (e,e)
TH1F *fOpeningAngleLS; //! opening angle for LS pairs
TH1F *fOpeningAngleULS; //! opening angle for ULS pairs
TH1F *fPhotoElecPt; //! photonic elec pt
TH2F *fPhoElecPtM20; //! Pho inclusive ele pt
TH2F *fSameElecPt; //! Same inclusive ele pt
TH2F *fSameElecPtM20; //! Same inclusive ele pt
+ TH2F *fSemiElecPtM20; //! Same inclusive ele pt
TH1F *fTrackPtBefTrkCuts; //! Track pt before track cuts
TH1F *fTrackPtAftTrkCuts; //! Track pt after track cuts
TH1F *fCent; //! centrality
THnSparseD *fEleInfo; //! EMC acc
+ THnSparseD *fElenSigma; //! EMC acc
/*
//<---- trigger info
TH1F *fClsEBftTrigCut; //Cluster E before trigger selection
TH2F *fIncpTMChfeAll; //! MC HFE pid electron vs centrality
TH2F *fIncpTMCM20hfe; //! MC HFE pid electron vs centrality
TH2F *fIncpTMCM20hfeAll; //! MC HFE pid electron vs centrality
+ TH2F *fIncpTMCM20hfeCheck; //! MC HFE pid electron vs centrality
+ THnSparseD *fInputHFEMC_weight; //! MC HFE pid electron vs centrality
+ THnSparseD *fIncpTMCM20hfeCheck_weight; //! MC HFE pid electron vs centrality
THnSparseD *fIncpTMCpho; //! MC HFE pid electron vs centrality
THnSparseD *fIncpTMCM20pho; //! MC HFE pid electron vs centrality
THnSparseD *fPhoElecPtMC; //! Pho inclusive ele pt
THnSparseD *fIncpTMCM20pho_pi0e; //! MC HFE pid electron vs centrality
THnSparseD *fPhoElecPtMCM20_pi0e; //! Pho inclusive ele pt
THnSparseD *fSameElecPtMCM20_pi0e; //! Same inclusive ele pt
+ THnSparseD *fIncpTMCM20pho_eta; //! MC HFE pid electron vs centrality
+ THnSparseD *fPhoElecPtMCM20_eta; //! Pho inclusive ele pt
+ THnSparseD *fSameElecPtMCM20_eta; //! Same inclusive ele pt
+ THnSparseD *fIncpTMCpho_pi0e_TPC; //! MC HFE pid electron vs centrality
+ THnSparseD *fPhoElecPtMC_pi0e_TPC; //! Pho inclusive ele pt
+ THnSparseD *fSameElecPtMC_pi0e_TPC; //! Same inclusive ele pt
+ THnSparseD *fIncpTMCpho_eta_TPC; //! MC HFE pid electron vs centrality
+ THnSparseD *fPhoElecPtMC_eta_TPC; //! Pho inclusive ele pt
+ THnSparseD *fSameElecPtMC_eta_TPC; //! Same inclusive ele pt
TH1D *CheckNclust;
TH1D *CheckNits;
- TH2D *Hpi0pTcheck;
+ 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_HFE;
+ TH2D *fPhoVertexReco_EMCal;
+ TH2D *fPhoVertexReco_Invmass;
+ TH2D *fPhoVertexReco_step0;
+ TH2D *fPhoVertexReco_step1;
+ TH2D *fPhoVertexReco_step2;
+ TH2D *fPhoVertexReco_step3;
+ TH2D *fPhoVertexReco_step4;
+ TH2D *fPhoVertexReco_step5;
+ TH1D *fMatchV0_0;
+ TH1D *fMatchV0_1;
+ TH1D *fMatchMC_0;
+ TH1D *fMatchMC_1;
+
+ //<----- correction
+ TGraphErrors *fnSigEtaCorr[7];
+
+
AliAnalysisTaskHFECal(const AliAnalysisTaskHFECal&); // not implemented
AliAnalysisTaskHFECal& operator=(const AliAnalysisTaskHFECal&); // not implemented