class TH1F;
class TH2F;
+class TH3F;
class THnSparse;
class TList;
class TObjArray;
class AliESDtrack;
class AliESDtrackCuts;
class AliVCluster;
+class AliMCEvent;
+class AliStack;
+class TParticle;
#include "AliAnalysisTaskSE.h"
Double_t GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const;
void GetTrIso(TVector3 vec, Float_t &iso, Float_t &phiband, Float_t &core);
void FillClusHists();
+ void FillMcHists();
+ Float_t GetClusSource(const AliVCluster *cluster);
+ void FollowGamma();
+ void GetDaughtersInfo(const int firstd, const int lastd, const int selfid, const char *indputindent);
void SetExotCut(Double_t c) { fExoticCut = c; }
void SetGeoName(const char *n) { fGeoName = n; }
void SetIsoConeR(Double_t r) { fIsoConeR = r; }
void SetTriggerBit(const char *tb) { fTrigBit = tb; }
void SetPrimTrackCuts(AliESDtrackCuts *c) { fPrTrCuts = c; }
void SetTrainMode(Bool_t t) { fIsTrain = t; }
+ void SetMcMode(Bool_t mc) { fIsMc = mc; }
+ void SetDebugOn(Bool_t d) { fDebug = d; }
+ void SetPathStringSelect(char *p) { fPathStrOpt = p; }
+ void SetEtCut(Double_t ec) { fECut = ec; }
protected:
TRefArray *fCaloClusters; //!pointer to EMCal clusters
TString fPeriod; // string to the LHC period
TString fTrigBit; // string to the trigger bit name
Bool_t fIsTrain; // variable to set train mode
+ Bool_t fIsMc; // variable to set mc mode
+ Bool_t fDebug; // variable to set on/off debugging printouts
+ TString fPathStrOpt; // variable to set the name of files to be analyzed (MC only)
Double_t fExoticCut; // variable to set the cut on exotic clusters
Double_t fIsoConeR; // variable to set the isolation cone radius
Int_t fNDimensions; // variable to set the number of dimensions of n-sparse
Double_t fECut; // variable to set the minimum E of a cluster
+ Int_t fTrackMult; // global variable with the event multiplicity
+ TString fMcIdFamily; // string that holds the ids of all particles originated from the prompt photon
+ Int_t fNClusForDirPho; // number of clusters from prompt photon per event
+ Float_t fDirPhoPt; // prompt photon pt (assumes only one per event)
+
private:
AliESDEvent *fESD; //! ESD object
+ AliMCEvent *fMCEvent; //! MC event object
+ AliStack *fStack; //!MC particles stack object
+
TList *fOutputList; //! Output list
//histograms for events with 1+ track pt>1
TH1F *fEvtSel; //!evt selection counter: 0=all trg, 1=pv cut
+ TH1F *fNClusEt10; //!number of clusters w/ Et>10 in the event
TH1F *fPVtxZ; //!primary vertex Z before cut
+ TH1F *fTrMultDist; //!track multiplicity distribution
+ TH3F *fMCDirPhotonPtEtaPhi; //!direct produced photon pt
+ TH1F *fDecayPhotonPtMC; //!decay photon pt
TH2F *fCellAbsIdVsAmpl; //!cell abs id vs cell amplitude (energy)
TH2F *fNClusHighClusE; //!total number of clusters vs. highest clus energy in the event
+ TH2F *fClusEtMcPt; //!cluster et x mc-pt
+ TH2F *fClusMcDetaDphi; //!delta-eta x delta-phi(reco-mc)
+ TH2F *fNClusPerPho; //!delta-eta x delta-phi(reco-mc)
+ TH2F *fMCDirPhotonPtEtaNoClus; //!eta x phi for prompt photons that didn't produce clusters
THnSparse *fHnOutput; //!Output matrix with 7 dimensions
AliAnalysisTaskEMCALIsoPhoton(const AliAnalysisTaskEMCALIsoPhoton&); // not implemented