]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - JETAN/AliJetESDReader.h
Protection added.
[u/mrichter/AliRoot.git] / JETAN / AliJetESDReader.h
index 790c83a06f7abf816d3a3b8989f575dcf620dccb..1d14954d61c6d1320b7d4a105b90d0be015de10a 100755 (executable)
@@ -4,13 +4,25 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
  
+//---------------------------------------------------------------------
 // Jet ESD Reader 
 // ESD reader for jet analysis
 // Author: Mercedes Lopez Noriega (mercedes.lopez.noriega@cern.ch)
+//=========================================================================
+// Modified in order to use a fUnitArray object instead of a fMomentumArray
+// Includes EMCal Geometry, fUnitArray, grid objects and tools for Hadron correction
+// Author : magali.estienne@ires.in2p3.fr
+//---------------------------------------------------------------------
 
 #include "AliJetReader.h"
+#include "AliJetUnitArray.h"
+#include "AliJetGrid.h"
 class AliJetESDReaderHeader;
-
+class AliJetDummyGeo;
+class AliJetHadronCorrection;
+class AliJetUnitArray;
+class AliJetReaderHeader;
+class AliESDEvent;
 
 class AliJetESDReader : public AliJetReader
 {
@@ -19,17 +31,54 @@ class AliJetESDReader : public AliJetReader
   virtual ~AliJetESDReader();
 
   // Getters
-  Float_t GetTrackMass() const {return fMass;}     // returns mass of the track
-  Int_t   GetTrackSign() const {return fSign;}     // returns sign of the track
+  Float_t GetTrackMass() const {return fMass;}  // returns mass of the track
+  Int_t   GetTrackSign() const {return fSign;}  // returns sign of the track
 
   // Setters
-  void FillMomentumArray(Int_t event); 
-  void OpenInputFiles();
-   
- protected:
-  Float_t fMass;    // Particle mass
-  Int_t   fSign;    // Particle sign
+  Bool_t FillMomentumArray(); 
+  void   OpenInputFiles();
+  void   InitUnitArray();
+  void   CreateTasks();
+  //  void   ExecTasks(Int_t event);
+  Bool_t   ExecTasks(Int_t event);
+  void   SetInputEvent(TObject* esd, TObject* aod, TObject* mc);
+  virtual void SetTPCGrid(AliJetGrid *grid)   {fTpcGrid = grid;}
+  virtual void SetEMCalGrid(AliJetGrid *grid) {fEmcalGrid = grid;}
+  // Correction of hadronic energy
+  virtual void SetHadronCorrection(Int_t flag = 1) {fHCorrection = flag;}
+  virtual void SetHadronCorrector(AliJetHadronCorrectionv1* corr) {fHadCorr = corr;}
+ private:
+  void SetEMCALGeometry();
+  void InitParameters();
+  AliJetESDReader(const AliJetESDReader &det);
+  AliJetESDReader &operator=(const AliJetESDReader &det);
 
+ protected:
+  AliJetDummyGeo             *fGeom;             //! EMCAL Geometry 
+  TChain                     *fChain;            //! chain for reconstructed tracks
+  AliESDEvent                *fESD;              //! pointer to esd
+  AliJetHadronCorrectionv1   *fHadCorr;          //! Pointer to Hadron Correction Object 
+  AliJetGrid                 *fTpcGrid;          //! Pointer to grid object
+  AliJetGrid                 *fEmcalGrid;        //! Pointer to grid object
+  AliJetGrid                 *fGrid0;            // Pointer to grid object
+  AliJetGrid                 *fGrid1;            // Pointer to grid object
+  AliJetGrid                 *fGrid2;            // Pointer to grid object
+  AliJetGrid                 *fGrid3;            // Pointer to grid object
+  AliJetGrid                 *fGrid4;            // Pointer to grid object
+  Float_t                     fPtCut;            // Pt cut for tracks to minimise background contribution
+  Int_t                       fHCorrection;      // Hadron correction flag
+  Int_t                       fNumUnits;         // Number of units in the unit object array
+                                                 // (same as num towers in EMCAL)
+  Int_t                       fDebug;            // Debug option
+  Float_t                     fMass;    // Particle mass
+  Int_t                       fSign;    // Particle sign
+  Int_t                       fNIn;              // Number of Array filled in UnitArray
+  Int_t                       fOpt;              // Detector to be used for jet reconstruction
+  Bool_t                      fDZ;               // Use or not dead zones
+  Int_t                       fNeta;             // Number of bins in eta of tpc grid
+  Int_t                       fNphi;             // Number of bins in phi of tpc grid
+  Bool_t                      fArrayInitialised; // To check that array of units is initialised
+  
   ClassDef(AliJetESDReader,1)
 };