]>
Commit | Line | Data |
---|---|---|
bd092f0f | 1 | #ifndef AliAnalysisTaskEMCALIsoPhoton_h |
2 | #define AliAnalysisTaskEMCALIsoPhoton_h | |
3 | ||
4 | // $Id$ | |
5 | ||
6 | class TH1F; | |
7 | class TH2F; | |
caaf99d3 | 8 | class TH3F; |
965c985f | 9 | class THnSparse; |
a62631a9 | 10 | class TList; |
bd092f0f | 11 | class TObjArray; |
12 | class AliEMCALGeometry; | |
13 | class AliESDCaloCells; | |
14 | class AliESDEvent; | |
15 | class AliESDtrack; | |
16 | class AliESDtrackCuts; | |
17 | class AliVCluster; | |
c7bb0b43 | 18 | class AliMCEvent; |
19 | class AliStack; | |
20 | class TParticle; | |
bd092f0f | 21 | |
22 | #include "AliAnalysisTaskSE.h" | |
23 | ||
24 | class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE { | |
25 | public: | |
26 | AliAnalysisTaskEMCALIsoPhoton(); | |
27 | AliAnalysisTaskEMCALIsoPhoton(const char *name); | |
28 | virtual ~AliAnalysisTaskEMCALIsoPhoton() {} | |
29 | ||
30 | void UserCreateOutputObjects(); | |
31 | void UserExec(Option_t *option); | |
32 | void Terminate(Option_t *); | |
33 | ||
34 | void GetCeIso(TVector3 vec, Float_t &iso, Float_t &phiband, Float_t &core); | |
35 | Double_t GetCrossEnergy(const AliVCluster *cluster, Short_t &idmax); | |
36 | Double_t GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const; | |
37 | void GetTrIso(TVector3 vec, Float_t &iso, Float_t &phiband, Float_t &core); | |
38 | void FillClusHists(); | |
c7bb0b43 | 39 | void FillMcHists(); |
bd092f0f | 40 | void SetExotCut(Double_t c) { fExoticCut = c; } |
41 | void SetGeoName(const char *n) { fGeoName = n; } | |
42 | void SetIsoConeR(Double_t r) { fIsoConeR = r; } | |
43 | void SetPeriod(const char *n) { fPeriod = n; } | |
751194e8 | 44 | void SetTriggerBit(const char *tb) { fTrigBit = tb; } |
bd092f0f | 45 | void SetPrimTrackCuts(AliESDtrackCuts *c) { fPrTrCuts = c; } |
46 | void SetTrainMode(Bool_t t) { fIsTrain = t; } | |
c7bb0b43 | 47 | void SetMcMode(Bool_t mc) { fIsMc = mc; } |
ecd47673 | 48 | void SetDebugOn(Bool_t d) { fDebug = d; } |
f3843637 | 49 | void SetPathStringSelect(char *p) { fPathStrOpt = p; } |
bd092f0f | 50 | |
51 | protected: | |
52 | TRefArray *fCaloClusters; //!pointer to EMCal clusters | |
53 | TObjArray *fSelPrimTracks; //!pointer to ESD primary tracks | |
3f4073ba | 54 | TClonesArray *fTracks; //!track input array |
bd092f0f | 55 | AliESDCaloCells *fEMCalCells; //!pointer to EMCal cells |
ae41967e | 56 | AliESDtrackCuts *fPrTrCuts; //pointer to hold the prim track cuts |
bd092f0f | 57 | AliEMCALGeometry *fGeom; // geometry utils |
58 | TString fGeoName; // geometry name (def = EMCAL_FIRSTYEARV1) | |
59 | TString fPeriod; // string to the LHC period | |
751194e8 | 60 | TString fTrigBit; // string to the trigger bit name |
bd092f0f | 61 | Bool_t fIsTrain; // variable to set train mode |
c7bb0b43 | 62 | Bool_t fIsMc; // variable to set mc mode |
ecd47673 | 63 | Bool_t fDebug; // variable to set on/off debugging printouts |
f3843637 | 64 | TString fPathStrOpt; // variable to set the name of files to be analyzed (MC only) |
bd092f0f | 65 | Double_t fExoticCut; // variable to set the cut on exotic clusters |
66 | Double_t fIsoConeR; // variable to set the isolation cone radius | |
965c985f | 67 | Int_t fNDimensions; // variable to set the number of dimensions of n-sparse |
68 | Double_t fECut; // variable to set the minimum E of a cluster | |
16a4050e | 69 | Int_t fTrackMult; // global variable with the event multiplicity |
70 | ||
bd092f0f | 71 | |
72 | private: | |
73 | AliESDEvent *fESD; //! ESD object | |
c7bb0b43 | 74 | AliMCEvent *fMCEvent; //! MC event object |
75 | AliStack *fStack; //!MC particles stack object | |
76 | ||
bd092f0f | 77 | TList *fOutputList; //! Output list |
78 | //histograms for events with 1+ track pt>1 | |
79 | TH1F *fEvtSel; //!evt selection counter: 0=all trg, 1=pv cut | |
0b21f686 | 80 | TH1F *fNClusEt10; //!number of clusters w/ Et>10 in the event |
bd092f0f | 81 | TH1F *fPVtxZ; //!primary vertex Z before cut |
caaf99d3 | 82 | TH3F *fMCDirPhotonPtEtaPhi; //!direct produced photon pt |
c7bb0b43 | 83 | TH1F *fDecayPhotonPtMC; //!decay photon pt |
bd092f0f | 84 | TH2F *fCellAbsIdVsAmpl; //!cell abs id vs cell amplitude (energy) |
85 | TH2F *fNClusHighClusE; //!total number of clusters vs. highest clus energy in the event | |
965c985f | 86 | THnSparse *fHnOutput; //!Output matrix with 7 dimensions |
87 | ||
bd092f0f | 88 | AliAnalysisTaskEMCALIsoPhoton(const AliAnalysisTaskEMCALIsoPhoton&); // not implemented |
89 | AliAnalysisTaskEMCALIsoPhoton& operator=(const AliAnalysisTaskEMCALIsoPhoton&); // not implemented | |
90 | ||
91 | ClassDef(AliAnalysisTaskEMCALIsoPhoton, 1); // Class to analyse isolated photons | |
92 | }; | |
93 | #endif |