]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIJETAODREADER_H | |
2 | #define ALIJETAODREADER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //--------------------------------------------------------------------- | |
8 | // Jet AOD Reader | |
9 | // AOD reader for jet analysis | |
10 | // Author: Davide Perrino (davide.perrino@cern.ch) | |
11 | //--------------------------------------------------------------------- | |
12 | ||
13 | #include "AliJetReader.h" | |
14 | #include "AliJetUnitArray.h" | |
15 | #include "AliJetGrid.h" | |
16 | class AliJetUnitArray; | |
17 | class AliJetDummyGeo; | |
18 | class AliJetHadronCorrection; | |
19 | class AliJetAODReaderHeader; | |
20 | class AliJetReaderHeader; | |
21 | class AliAODMCParticle; | |
22 | class AliAODEvent; | |
23 | class TRefArray; | |
24 | ||
25 | class AliJetAODReader : public AliJetReader | |
26 | { | |
27 | public: | |
28 | AliJetAODReader(); | |
29 | virtual ~AliJetAODReader(); | |
30 | ||
31 | TRefArray* GetReferences() const {return fRef;} | |
32 | ||
33 | Bool_t FillMomentumArray(); | |
34 | static Bool_t AcceptAODMCParticle(AliAODMCParticle *mcP,Short_t flag); | |
35 | ||
36 | void OpenInputFiles(); | |
37 | void ConnectTree(TTree* tree, TObject* data); | |
38 | void InitUnitArray(); | |
39 | void CreateTasks(TChain* tree); | |
40 | Bool_t ExecTasks(Bool_t procid, TRefArray* refArray); | |
41 | ||
42 | void SetInputEvent(const TObject* /*esd*/, const TObject* aod, const TObject* /*mc*/) {fAOD = (AliAODEvent*) aod;} | |
43 | void SetTPCGrid(AliJetGrid *grid) {fTpcGrid = grid;} | |
44 | void SetEMCalGrid(AliJetGrid *grid) {fEmcalGrid = grid;} | |
45 | // Correction of hadronic energy | |
46 | void SetHadronCorrection(const Int_t flag = 1) {fHCorrection = flag;} | |
47 | void SetHadronCorrector(AliJetHadronCorrection* corr) {fHadCorr = corr;} | |
48 | void SetApplyElectronCorrection(const Int_t flag = 1) {fECorrection = flag; fEFlag=kTRUE;} | |
49 | void SetApplyMIPCorrection(const Bool_t val); | |
50 | void SetApplyFractionHadronicCorrection(Bool_t val); | |
51 | void SetFractionHadronicCorrection(Double_t val); | |
52 | ||
53 | ||
54 | private: | |
55 | Bool_t SetEMCALGeometry(); | |
56 | Bool_t FillMomentumArrayMC(); | |
57 | ||
58 | ||
59 | void InitParameters(); | |
60 | AliJetAODReader(const AliJetAODReader &det); | |
61 | AliJetAODReader &operator=(const AliJetAODReader &det); | |
62 | ||
63 | private: | |
64 | AliAODEvent *fAOD; //! pointer to aod | |
65 | TRefArray *fRef; //! pointer to array of references to tracks | |
66 | Int_t fDebug; // Debug option | |
67 | Int_t fOpt; // Detector to be used for jet reconstruction | |
68 | AliJetDummyGeo *fGeom; //! EMCAL Geometry | |
69 | ||
70 | AliJetHadronCorrection *fHadCorr; //! Pointer to Hadron Correction Object | |
71 | AliJetGrid *fTpcGrid; //! Pointer to grid object | |
72 | AliJetGrid *fEmcalGrid; //! Pointer to grid object | |
73 | AliJetGrid *fGrid0; // Pointer to grid object | |
74 | AliJetGrid *fGrid1; // Pointer to grid object | |
75 | AliJetGrid *fGrid2; // Pointer to grid object | |
76 | AliJetGrid *fGrid3; // Pointer to grid object | |
77 | AliJetGrid *fGrid4; // Pointer to grid object | |
78 | Float_t fPtCut; // Pt cut for tracks to minimise background contribution | |
79 | Int_t fApplyElectronCorrection; // Electron correction flag | |
80 | Bool_t fApplyMIPCorrection; // Apply MIP or not ? Exclusive with fApplyFractionHadronicCorrection | |
81 | Bool_t fApplyFractionHadronicCorrection; // Another type of charged particle energy deposition in EMC | |
82 | Double_t fFractionHadronicCorrection; // Fraction of momentum of the TPC track to be subtracted from EMC tower | |
83 | Int_t fNumUnits; // Number of units in the unit object array | |
84 | // (same as num towers in EMCAL) | |
85 | Float_t fMass; // Particle mass | |
86 | Int_t fSign; // Particle sign | |
87 | Int_t fNIn; // Number of Array filled in UnitArray | |
88 | Bool_t fDZ; // Use or not dead zones | |
89 | Int_t fNeta; // Number of bins in eta of tpc grid | |
90 | Int_t fNphi; // Number of bins in phi of tpc grid | |
91 | TRefArray *fRefArray; // array of digit position and energy | |
92 | Bool_t fProcId; // Bool_t for TProcessID synchronization | |
93 | ClassDef(AliJetAODReader,1) | |
94 | }; | |
95 | ||
96 | #endif |