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