]>
Commit | Line | Data |
---|---|---|
586f2bc3 | 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" | |
be6e5811 | 14 | #include "AliJetUnitArray.h" |
15 | #include "AliJetGrid.h" | |
16 | class AliJetUnitArray; | |
17 | class AliJetDummyGeo; | |
18 | class AliJetHadronCorrection; | |
586f2bc3 | 19 | class AliJetAODReaderHeader; |
20 | class AliJetReaderHeader; | |
0e4398c8 | 21 | class AliAODMCParticle; |
586f2bc3 | 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 | ||
9e4cc50d | 33 | Bool_t FillMomentumArray(); |
0e4398c8 | 34 | static Bool_t AcceptAODMCParticle(AliAODMCParticle *mcP,Short_t flag); |
35 | ||
586f2bc3 | 36 | void OpenInputFiles(); |
37 | void ConnectTree(TTree* tree, TObject* data); | |
be6e5811 | 38 | void InitUnitArray(); |
39 | void CreateTasks(TChain* tree); | |
40 | Bool_t ExecTasks(Bool_t procid, TRefArray* refArray); | |
41 | ||
f5c22dad | 42 | void SetInputEvent(const TObject* /*esd*/, const TObject* aod, const TObject* /*mc*/) {fAOD = (AliAODEvent*) aod;} |
be6e5811 | 43 | void SetTPCGrid(AliJetGrid *grid) {fTpcGrid = grid;} |
44 | void SetEMCalGrid(AliJetGrid *grid) {fEmcalGrid = grid;} | |
45 | // Correction of hadronic energy | |
f5c22dad | 46 | void SetHadronCorrection(const Int_t flag = 1) {fHCorrection = flag;} |
be6e5811 | 47 | void SetHadronCorrector(AliJetHadronCorrection* corr) {fHadCorr = corr;} |
f5c22dad | 48 | void SetApplyElectronCorrection(const Int_t flag = 1) {fECorrection = flag; fEFlag=kTRUE;} |
49 | void SetApplyMIPCorrection(const Bool_t val); | |
be6e5811 | 50 | void SetApplyFractionHadronicCorrection(Bool_t val); |
51 | void SetFractionHadronicCorrection(Double_t val); | |
52 | ||
53 | ||
9e4cc50d | 54 | private: |
be6e5811 | 55 | Bool_t SetEMCALGeometry(); |
0e4398c8 | 56 | Bool_t FillMomentumArrayMC(); |
57 | ||
58 | ||
be6e5811 | 59 | void InitParameters(); |
9e4cc50d | 60 | AliJetAODReader(const AliJetAODReader &det); |
61 | AliJetAODReader &operator=(const AliJetAODReader &det); | |
586f2bc3 | 62 | |
63 | private: | |
586f2bc3 | 64 | AliAODEvent *fAOD; //! pointer to aod |
bcec7a80 | 65 | TRefArray *fRef; //! pointer to array of references to tracks |
586f2bc3 | 66 | Int_t fDebug; // Debug option |
67 | Int_t fOpt; // Detector to be used for jet reconstruction | |
be6e5811 | 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 | |
be6e5811 | 78 | Int_t fApplyElectronCorrection; // Electron correction flag |
be6e5811 | 79 | Bool_t fApplyMIPCorrection; // Apply MIP or not ? Exclusive with fApplyFractionHadronicCorrection |
80 | Bool_t fApplyFractionHadronicCorrection; // Another type of charged particle energy deposition in EMC | |
81 | Double_t fFractionHadronicCorrection; // Fraction of momentum of the TPC track to be subtracted from EMC tower | |
82 | Int_t fNumUnits; // Number of units in the unit object array | |
83 | // (same as num towers in EMCAL) | |
84 | Float_t fMass; // Particle mass | |
85 | Int_t fSign; // Particle sign | |
86 | Int_t fNIn; // Number of Array filled in UnitArray | |
87 | Bool_t fDZ; // Use or not dead zones | |
88 | Int_t fNeta; // Number of bins in eta of tpc grid | |
89 | Int_t fNphi; // Number of bins in phi of tpc grid | |
be6e5811 | 90 | TRefArray *fRefArray; // array of digit position and energy |
91 | Bool_t fProcId; // Bool_t for TProcessID synchronization | |
9f166120 | 92 | ClassDef(AliJetAODReader,2) |
586f2bc3 | 93 | }; |
94 | ||
95 | #endif |