]>
Commit | Line | Data |
---|---|---|
99e5fe42 | 1 | #ifndef ALIJETESDREADER_H |
2 | #define ALIJETESDREADER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
83a444b1 | 7 | //--------------------------------------------------------------------- |
99e5fe42 | 8 | // Jet ESD Reader |
9 | // ESD reader for jet analysis | |
10 | // Author: Mercedes Lopez Noriega (mercedes.lopez.noriega@cern.ch) | |
b45b0c92 | 11 | //========================================================================= |
12 | // Modified in order to use a fUnitArray object instead of a fMomentumArray | |
13 | // Includes EMCal Geometry, fUnitArray, grid objects and tools for Hadron correction | |
8838ab7a | 14 | // Author : magali.estienne@subatech.in2p3.fr |
83a444b1 | 15 | //--------------------------------------------------------------------- |
99e5fe42 | 16 | |
17 | #include "AliJetReader.h" | |
b45b0c92 | 18 | #include "AliJetUnitArray.h" |
19 | #include "AliJetGrid.h" | |
8838ab7a | 20 | |
21 | class TRefArray; | |
99e5fe42 | 22 | class AliJetESDReaderHeader; |
8838ab7a | 23 | class AliEMCALGeometry; |
5b81d1ce | 24 | class AliJetDummyGeo; |
b45b0c92 | 25 | class AliJetHadronCorrection; |
26 | class AliJetUnitArray; | |
27 | class AliJetReaderHeader; | |
1b307662 | 28 | class AliESDEvent; |
99e5fe42 | 29 | |
30 | class AliJetESDReader : public AliJetReader | |
31 | { | |
32 | public: | |
33 | AliJetESDReader(); | |
34 | virtual ~AliJetESDReader(); | |
ee7de0dd | 35 | |
8838ab7a | 36 | Bool_t FillMomentumArray(); |
37 | void OpenInputFiles(); | |
38 | void InitUnitArray(); | |
39 | void CreateTasks(TChain* tree); | |
40 | Bool_t ExecTasks(Bool_t procid, TRefArray* refArray); | |
ee7de0dd | 41 | |
8838ab7a | 42 | // Getters |
43 | Float_t GetTrackMass() const {return fMass;} // returns mass of the track | |
44 | Int_t GetTrackSign() const {return fSign;} // returns sign of the track | |
45 | ||
99e5fe42 | 46 | // Setters |
8838ab7a | 47 | void SetInputEvent(TObject* esd, TObject* aod, TObject* mc); |
48 | void SetTPCGrid(AliJetGrid *grid) {fTpcGrid = grid;} | |
49 | void SetEMCalGrid(AliJetGrid *grid) {fEmcalGrid = grid;} | |
b45b0c92 | 50 | // Correction of hadronic energy |
be6e5811 | 51 | void SetHadronCorrector(AliJetHadronCorrection* corr) {fHadCorr = corr;} |
52 | void SetApplyElectronCorrection(Int_t flag = 1) {fECorrection = flag; fEFlag=kTRUE;} | |
53 | void SetApplyMIPCorrection(Bool_t val); | |
54 | void SetApplyFractionHadronicCorrection(Bool_t val); | |
55 | void SetFractionHadronicCorrection(Double_t val); | |
9e4cc50d | 56 | |
99e5fe42 | 57 | protected: |
19e6695b | 58 | AliJetDummyGeo *fGeom; //! EMCAL Geometry |
eaabc21f | 59 | TChain *fChain; //! chain for reconstructed tracks |
be6e5811 | 60 | TChain *fTree; //! tree to get the EMCal geometry |
1b307662 | 61 | AliESDEvent *fESD; //! pointer to esd |
be6e5811 | 62 | AliJetHadronCorrection *fHadCorr; //! Pointer to Hadron Correction Object |
19e6695b | 63 | AliJetGrid *fTpcGrid; //! Pointer to grid object |
64 | AliJetGrid *fEmcalGrid; //! Pointer to grid object | |
ee7de0dd | 65 | AliJetGrid *fGrid0; // Pointer to grid object |
66 | AliJetGrid *fGrid1; // Pointer to grid object | |
67 | AliJetGrid *fGrid2; // Pointer to grid object | |
68 | AliJetGrid *fGrid3; // Pointer to grid object | |
69 | AliJetGrid *fGrid4; // Pointer to grid object | |
b45b0c92 | 70 | Float_t fPtCut; // Pt cut for tracks to minimise background contribution |
be6e5811 | 71 | Int_t fApplyElectronCorrection; // Electron correction flag |
8838ab7a | 72 | Bool_t fEFlag; // if (fEFlag == kFALSE) => fECorrection automatically setted |
be6e5811 | 73 | Bool_t fApplyMIPCorrection; // Apply MIP or not ? Exclusive with fApplyFractionHadronicCorrection |
74 | Bool_t fApplyFractionHadronicCorrection; // Another type of charged particle energy deposition in EMC | |
75 | Double_t fFractionHadronicCorrection; // Fraction of momentum of the TPC track to be subtracted from EMC tower | |
b45b0c92 | 76 | Int_t fNumUnits; // Number of units in the unit object array |
77 | // (same as num towers in EMCAL) | |
8838ab7a | 78 | Int_t fDebug; //! Debug option |
79 | Float_t fMass; // Particle mass | |
80 | Int_t fSign; // Particle sign | |
b45b0c92 | 81 | Int_t fNIn; // Number of Array filled in UnitArray |
82 | Int_t fOpt; // Detector to be used for jet reconstruction | |
ee7de0dd | 83 | Bool_t fDZ; // Use or not dead zones |
b45b0c92 | 84 | Int_t fNeta; // Number of bins in eta of tpc grid |
85 | Int_t fNphi; // Number of bins in phi of tpc grid | |
86 | Bool_t fArrayInitialised; // To check that array of units is initialised | |
8838ab7a | 87 | TRefArray *fRefArray; // array of digit position and energy |
88 | Bool_t fProcId; // Bool_t for TProcessID synchronization | |
89 | ||
90 | private: | |
91 | Bool_t SetEMCALGeometry(); | |
92 | void InitParameters(); | |
93 | AliJetESDReader(const AliJetESDReader &det); | |
94 | AliJetESDReader &operator=(const AliJetESDReader &det); | |
95 | ||
96 | ||
97 | ||
99e5fe42 | 98 | ClassDef(AliJetESDReader,1) |
99 | }; | |
100 | ||
101 | #endif |