]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - JETAN/AliJetReader.h
A new (kIBModel4) revised version of the Inner Barrel from Mario
[u/mrichter/AliRoot.git] / JETAN / AliJetReader.h
old mode 100755 (executable)
new mode 100644 (file)
index 457f388..c5b0526
@@ -3,29 +3,22 @@
  
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
+
+/* $Id$ */
  
 // Jet reader base class
 // manages the reading of input for jet algorithms
 // Authors: jgcn@mda.cinvestav.mx
 //          Magali Estienne <magali.estienne@subatech.in2p3.fr>  
+//          alexandre.shabetai@cern.ch
 
 #include <TObject.h>
-#include <TChain.h>
-#include <TArrayI.h>
 
-class TTree;
-class TChain;
-class TTask;
-class TClonesArray;
-class TRefArray;
 class AliJetReaderHeader;
-class AliESDEvent;
-class AliHeader;
-class AliJetUnitArray;
-class AliJetHadronCorrectionv1;
-class AliJet;
-class AliJetFillUnitArrayTracks;
-class AliJetFillUnitArrayEMCalDigits;
+class AliJetFillCalTrkEvent;
+class AliJetCalTrkEvent;
+class AliVEvent;
+class AliMCEvent;
 
 class AliJetReader : public TObject 
 {
@@ -34,75 +27,36 @@ class AliJetReader : public TObject
   virtual ~AliJetReader();
 
   // Getters
-  virtual TClonesArray*       GetMomentumArray()     const {return fMomentumArray;}
-  virtual TRefArray*          GetReferences()        const {return 0;}   
-  virtual TClonesArray        *GetUnitArray() const {return fUnitArray;}  
-  virtual TClonesArray        *GetUnitArrayNoCuts()  const {return fUnitArrayNoCuts;} 
-
-  virtual AliJetReaderHeader* GetReaderHeader()      const {return fReaderHeader;}
-  virtual AliHeader           *GetAliHeader() const  {return fAliHeader;}
-  virtual Int_t               GetSignalFlag(Int_t i) const {return fSignalFlag[i];}
-  virtual Int_t               GetCutFlag(Int_t i)    const {return fCutFlag[i];}
-  virtual Int_t               GetArrayInitialised()  const {return fArrayInitialised;}
-  virtual Int_t               GetNumCandidate()      const {return fNumCandidate;} 
-  virtual Int_t               GetNumCandidateCut()   const {return fNumCandidateCut;}
+  AliJetCalTrkEvent*        GetCalTrkEvent()       const {return fCalTrkEvent;}
+  AliJetReaderHeader*       GetReaderHeader()      const {return fReaderHeader;}
   
   // Setters
-  virtual Bool_t FillMomentumArray() {return kTRUE;}
-  virtual Bool_t ReadEventLoader(Int_t) {return kTRUE;}
-  virtual void   FillUnitArrayFromTPCTracks(Int_t) {}     // temporarily not used
-  virtual void   FillUnitArrayFromEMCALHits() {}          // temporarily not used
-  virtual void   FillUnitArrayFromEMCALDigits(Int_t) {}   // temporarily not used
-  virtual void   InitUnitArray() {}
-  virtual void   InitParameters() {}
-  virtual void   CreateTasks(TChain* /*tree*/) {}
-  virtual Bool_t ExecTasks(Bool_t /*procid*/, TRefArray* /*refArray*/) {return kFALSE;}
-  // Correction of hadronic energy 
-  virtual void   SetHadronCorrector(AliJetHadronCorrectionv1*) {;} 
-  virtual void   SetHadronCorrection(Int_t) {;} 
-  virtual void   SetElectronCorrection(Int_t) {;} 
-  virtual void   SetReaderHeader(AliJetReaderHeader* header) 
-  {fReaderHeader = header;}
-  virtual void   SetESD(AliESDEvent* esd) { fESD = esd;}
+  void                      SetReaderHeader(AliJetReaderHeader* header)      {fReaderHeader = header;}  
 
   // Others
-  virtual void   OpenInputFiles() {}
-  virtual void   SetInputEvent(TObject* /*esd*/, TObject* /*aod*/, TObject* /*mc*/) {;}
-  virtual void   ConnectTree(TTree* /*tree*/, TObject* /*data*/) {}
-  virtual Bool_t GetGenJets(AliJet* /*genJets*/) {return kFALSE;}
-  
-  void ClearArray();
+  void                      SetInputEvent(const TObject* esd, const TObject* aod, const AliMCEvent* mc);
+  void                      InitTasks();
+  Bool_t                    CreateTasks();
+  Bool_t                    ExecTasks();
+  Bool_t                    ProcessEvent();
+  void                      WriteRHeaderToFile() const;
+  void                      WriteReaderHeader();
  
  protected:
   AliJetReader(const AliJetReader& rJetReader);
   AliJetReader& operator = (const AliJetReader& rhsr);
 
-  TChain                          *fChain;                 // chain for reconstructed tracks
-  TChain                          *fTree;                  // tree for reconstructed tracks
-  TClonesArray                    *fMomentumArray;         // array of particle momenta
-  TClonesArray                    *fArrayMC;               //! array of mc particles
-  TTask                           *fFillUnitArray;         //! task list for filling the UnitArray
-  AliESDEvent                     *fESD;                   // pointer to esd
-  AliJetReaderHeader              *fReaderHeader;          // pointer to header
-  AliHeader                       *fAliHeader;             // AliHeader
-  TArrayI                          fSignalFlag;            // to flag if a particle comes from pythia or
-                                                           // from the underlying event
-  TArrayI                          fCutFlag;               // to flag if a particle passed the pt cut or not
-  TClonesArray                    *fUnitArray;             // array of digit position and energy 
-  TClonesArray                    *fUnitArrayNoCuts;       //|| array of digit position and energy 
-  Bool_t                           fArrayInitialised;      // To check that array of units is initialised  
-  AliJetFillUnitArrayTracks       *fFillUAFromTracks;      // For charged particle task
-  AliJetFillUnitArrayEMCalDigits  *fFillUAFromEMCalDigits; // For neutral particle task
-  Int_t                            fNumCandidate;          // Number of entries different from zero in unitarray
-  Int_t                            fNumCandidateCut;       // Number of entries different from zero in unitarray
-                                                           // which pass pt cut
-  AliJetHadronCorrectionv1        *fHadronCorrector;       //! Pointer to hadronic correction 
-  Int_t                            fHCorrection;           //  Hadron correction flag 
-  Int_t                            fECorrection;           //  Electron correction flag 
-  Bool_t                           fEFlag;                 //  Electron correction flag 
-
+  AliJetCalTrkEvent*        fCalTrkEvent;                     //! Pointer to calTrkEvent
+  AliJetFillCalTrkEvent*    fFillEvent;                       //! Pointer to AliJetFillCalTrkEvent
+  AliJetReaderHeader*       fReaderHeader;                    //  Pointer to header
+  AliJetFillCalTrkEvent*    fFillEventwTrks;                  //  For charged particle task
+  Int_t                     fDebug;                           //  Debug option
+  AliVEvent*                fVEvent;                          //! Input event
+  AliMCEvent*               fMCEvent;                        //! MC Event;
+  Int_t                     fOpt;                             //  Detector config
+  
+  ClassDef(AliJetReader,2)                                    // jet reader class
 
-  ClassDef(AliJetReader,1)
 };
  
 #endif