1 #ifndef ALIJETESDREADER_H
2 #define ALIJETESDREADER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //---------------------------------------------------------------------
9 // ESD reader for jet analysis
10 // Author: Mercedes Lopez Noriega (mercedes.lopez.noriega@cern.ch)
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
14 // Author : magali.estienne@subatech.in2p3.fr
15 //---------------------------------------------------------------------
17 #include "AliJetReader.h"
18 #include "AliJetUnitArray.h"
19 #include "AliJetGrid.h"
22 class AliJetESDReaderHeader;
23 class AliEMCALGeometry;
25 class AliJetHadronCorrection;
26 class AliJetUnitArray;
27 class AliJetReaderHeader;
30 class AliJetESDReader : public AliJetReader
34 virtual ~AliJetESDReader();
36 Bool_t FillMomentumArray();
37 void OpenInputFiles();
39 void CreateTasks(TChain* tree);
40 Bool_t ExecTasks(const Bool_t procid, TRefArray* refArray);
43 Float_t GetTrackMass() const {return fMass;} // returns mass of the track
44 Int_t GetTrackSign() const {return fSign;} // returns sign of the track
47 void SetInputEvent(const TObject* esd, const TObject* aod, const TObject* mc);
48 void SetTPCGrid(AliJetGrid *grid) {fTpcGrid = grid;}
49 void SetEMCalGrid(AliJetGrid *grid) {fEmcalGrid = grid;}
50 // Correction of hadronic energy
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);
58 AliJetDummyGeo *fGeom; //! EMCAL Geometry
59 AliJetHadronCorrection *fHadCorr; //! Pointer to Hadron Correction Object
60 AliJetGrid *fTpcGrid; //! Pointer to grid object
61 AliJetGrid *fEmcalGrid; //! Pointer to grid object
62 AliJetGrid *fGrid0; // Pointer to grid object
63 AliJetGrid *fGrid1; // Pointer to grid object
64 AliJetGrid *fGrid2; // Pointer to grid object
65 AliJetGrid *fGrid3; // Pointer to grid object
66 AliJetGrid *fGrid4; // Pointer to grid object
67 Float_t fPtCut; // Pt cut for tracks to minimise background contribution
68 Int_t fApplyElectronCorrection; // Electron correction flag
69 Bool_t fApplyMIPCorrection; // Apply MIP or not ? Exclusive with fApplyFractionHadronicCorrection
70 Bool_t fApplyFractionHadronicCorrection; // Another type of charged particle energy deposition in EMC
71 Double_t fFractionHadronicCorrection; // Fraction of momentum of the TPC track to be subtracted from EMC tower
72 Int_t fNumUnits; // Number of units in the unit object array
73 // (same as num towers in EMCAL)
74 Int_t fDebug; //! Debug option
75 Float_t fMass; // Particle mass
76 Int_t fSign; // Particle sign
77 Int_t fNIn; // Number of Array filled in UnitArray
78 Int_t fOpt; // Detector to be used for jet reconstruction
79 Bool_t fDZ; // Use or not dead zones
80 Int_t fNeta; // Number of bins in eta of tpc grid
81 Int_t fNphi; // Number of bins in phi of tpc grid
82 TRefArray *fRefArray; // array of digit position and energy
83 Bool_t fProcId; // Bool_t for TProcessID synchronization
84 Bool_t SetEMCALGeometry();
85 void InitParameters();
86 AliJetESDReader(const AliJetESDReader &det);
87 AliJetESDReader &operator=(const AliJetESDReader &det);
91 ClassDef(AliJetESDReader,1)