]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.h
updato on how to read the tracks
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskEMCALIsoPhoton.h
CommitLineData
bd092f0f 1#ifndef AliAnalysisTaskEMCALIsoPhoton_h
2#define AliAnalysisTaskEMCALIsoPhoton_h
3
4// $Id$
5
6class TH1F;
7class TH2F;
965c985f 8class THnSparse;
a62631a9 9class TList;
bd092f0f 10class TObjArray;
11class AliEMCALGeometry;
12class AliESDCaloCells;
13class AliESDEvent;
14class AliESDtrack;
15class AliESDtrackCuts;
16class AliVCluster;
17
18#include "AliAnalysisTaskSE.h"
19
20class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
21 public:
22 AliAnalysisTaskEMCALIsoPhoton();
23 AliAnalysisTaskEMCALIsoPhoton(const char *name);
24 virtual ~AliAnalysisTaskEMCALIsoPhoton() {}
25
26 void UserCreateOutputObjects();
27 void UserExec(Option_t *option);
28 void Terminate(Option_t *);
29
30 void GetCeIso(TVector3 vec, Float_t &iso, Float_t &phiband, Float_t &core);
31 Double_t GetCrossEnergy(const AliVCluster *cluster, Short_t &idmax);
32 Double_t GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const;
33 void GetTrIso(TVector3 vec, Float_t &iso, Float_t &phiband, Float_t &core);
34 void FillClusHists();
35 void SetExotCut(Double_t c) { fExoticCut = c; }
36 void SetGeoName(const char *n) { fGeoName = n; }
37 void SetIsoConeR(Double_t r) { fIsoConeR = r; }
38 void SetPeriod(const char *n) { fPeriod = n; }
751194e8 39 void SetTriggerBit(const char *tb) { fTrigBit = tb; }
bd092f0f 40 void SetPrimTrackCuts(AliESDtrackCuts *c) { fPrTrCuts = c; }
41 void SetTrainMode(Bool_t t) { fIsTrain = t; }
42
43 protected:
44 TRefArray *fCaloClusters; //!pointer to EMCal clusters
45 TObjArray *fSelPrimTracks; //!pointer to ESD primary tracks
3f4073ba 46 TClonesArray *fTracks; //!track input array
bd092f0f 47 AliESDCaloCells *fEMCalCells; //!pointer to EMCal cells
48 AliESDtrackCuts *fPrTrCuts; //!pointer to hold the prim track cuts
49 AliEMCALGeometry *fGeom; // geometry utils
50 TString fGeoName; // geometry name (def = EMCAL_FIRSTYEARV1)
51 TString fPeriod; // string to the LHC period
751194e8 52 TString fTrigBit; // string to the trigger bit name
bd092f0f 53 Bool_t fIsTrain; // variable to set train mode
54 Double_t fExoticCut; // variable to set the cut on exotic clusters
55 Double_t fIsoConeR; // variable to set the isolation cone radius
965c985f 56 Int_t fNDimensions; // variable to set the number of dimensions of n-sparse
57 Double_t fECut; // variable to set the minimum E of a cluster
bd092f0f 58
59 private:
60 AliESDEvent *fESD; //! ESD object
61 TList *fOutputList; //! Output list
62 //histograms for events with 1+ track pt>1
63 TH1F *fEvtSel; //!evt selection counter: 0=all trg, 1=pv cut
64 TH1F *fPVtxZ; //!primary vertex Z before cut
65 TH2F *fCellAbsIdVsAmpl; //!cell abs id vs cell amplitude (energy)
66 TH2F *fNClusHighClusE; //!total number of clusters vs. highest clus energy in the event
965c985f 67 THnSparse *fHnOutput; //!Output matrix with 7 dimensions
68
bd092f0f 69 AliAnalysisTaskEMCALIsoPhoton(const AliAnalysisTaskEMCALIsoPhoton&); // not implemented
70 AliAnalysisTaskEMCALIsoPhoton& operator=(const AliAnalysisTaskEMCALIsoPhoton&); // not implemented
71
72 ClassDef(AliAnalysisTaskEMCALIsoPhoton, 1); // Class to analyse isolated photons
73};
74#endif