]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/AliJetESDReader.h
Method to set jet finder put back.
[u/mrichter/AliRoot.git] / JETAN / AliJetESDReader.h
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  
7 //---------------------------------------------------------------------
8 // Jet ESD Reader 
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 //---------------------------------------------------------------------
16
17 #include <vector>
18
19 #include "AliJetReader.h"
20 #include "AliJetUnitArray.h"
21 #include "AliJetGrid.h"
22
23 class TRefArray;
24 class AliJetESDReaderHeader;
25 class AliEMCALGeometry;
26 class AliJetDummyGeo;
27 class AliJetHadronCorrection;
28 class AliJetUnitArray;
29 class AliJetReaderHeader;
30 class AliESDEvent;
31
32 class AliJetESDReader : public AliJetReader
33 {
34  public: 
35   AliJetESDReader();
36   virtual ~AliJetESDReader();
37
38   Bool_t     FillMomentumArray(); 
39   void       OpenInputFiles();
40   void       InitUnitArray();
41   void       CreateTasks(TChain* tree);
42   Bool_t     ExecTasks(Bool_t procid, TRefArray* refArray);
43
44   // Getters
45   Float_t    GetTrackMass() const {return fMass;}  // returns mass of the track
46   Int_t      GetTrackSign() const {return fSign;}  // returns sign of the track
47  
48   // Setters
49   void       SetInputEvent(TObject* esd, TObject* aod, TObject* mc);
50   void       SetTPCGrid(AliJetGrid *grid)   {fTpcGrid = grid;}
51   void       SetEMCalGrid(AliJetGrid *grid) {fEmcalGrid = grid;}
52   // Correction of hadronic energy
53   void       SetHadronCorrection(Int_t flag = 1) {fHCorrection = flag;}
54   void       SetHadronCorrector(AliJetHadronCorrectionv1* corr) {fHadCorr = corr;}
55   void       SetElectronCorrection(Int_t flag = 1) {fECorrection = flag; fEFlag=kTRUE;}
56
57  protected:
58   AliJetDummyGeo             *fGeom;             //! EMCAL Geometry 
59   TChain                     *fChain;            //! chain for reconstructed tracks
60   TChain                     *fTree;             //! tree for reconstructed tracks
61   AliESDEvent                *fESD;              //! pointer to esd
62   AliJetHadronCorrectionv1   *fHadCorr;          //! Pointer to Hadron Correction Object 
63   AliJetGrid                 *fTpcGrid;          //! Pointer to grid object
64   AliJetGrid                 *fEmcalGrid;        //! Pointer to grid object
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
70   Float_t                     fPtCut;            // Pt cut for tracks to minimise background contribution
71   Int_t                       fHCorrection;      // Hadron correction flag
72   Int_t                       fECorrection;      // Electron correction flag
73   Bool_t                      fEFlag;            // if (fEFlag == kFALSE) => fECorrection automatically setted
74   Int_t                       fNumUnits;         // Number of units in the unit object array
75                                                  // (same as num towers in EMCAL)
76   Int_t                       fDebug;            //! Debug option
77   Float_t                     fMass;             // Particle mass
78   Int_t                       fSign;             // Particle sign
79   Int_t                       fNIn;              // Number of Array filled in UnitArray
80   Int_t                       fOpt;              // Detector to be used for jet reconstruction
81   Bool_t                      fDZ;               // Use or not dead zones
82   Int_t                       fNeta;             // Number of bins in eta of tpc grid
83   Int_t                       fNphi;             // Number of bins in phi of tpc grid
84   Bool_t                      fArrayInitialised; // To check that array of units is initialised
85   TRefArray                  *fRefArray;         // array of digit position and energy 
86   Bool_t                      fProcId;           // Bool_t for TProcessID synchronization
87
88  private:
89   Bool_t SetEMCALGeometry();
90   void InitParameters();
91   AliJetESDReader(const AliJetESDReader &det);
92   AliJetESDReader &operator=(const AliJetESDReader &det);
93
94
95
96   ClassDef(AliJetESDReader,1)
97 };
98  
99 #endif