]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - JETAN/AliJetReader.h
Removing the hard-wired particle masses (B. Hippolyte)
[u/mrichter/AliRoot.git] / JETAN / AliJetReader.h
index 1dc85a02a54b9967cec9608a7f6441146dd00d97..47585449693b9a890bfb0902f641a5cb07ffad94 100755 (executable)
@@ -4,20 +4,28 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
  
-//---------------------------------------------------------------------
 // Jet reader base class
 // manages the reading of input for jet algorithms
-// Author: jgcn@mda.cinvestav.mx
-//---------------------------------------------------------------------
-  
+// Authors: jgcn@mda.cinvestav.mx
+//          Magali Estienne <magali.estienne@IReS.in2p3.fr>  
+
 #include <TObject.h>
 #include <TChain.h>
+#include <TArrayI.h>
 
+class TTree;
+class TTask;
+class TChain;
 class TClonesArray;
+class TRefArray;
 class AliJetReaderHeader;
-class AliESD;
+class AliESDEvent;
 class AliHeader;
-
+class AliJetUnitArray;
+class AliJetHadronCorrectionv1;
+class AliJet;
+class AliJetFillUnitArrayTracks;
+class AliJetFillUnitArrayEMCalDigits;
 
 class AliJetReader : public TObject 
 {
@@ -26,27 +34,68 @@ class AliJetReader : public TObject
   virtual ~AliJetReader();
 
   // Getters
-  virtual TClonesArray *GetMomentumArray() {return fMomentumArray;}
-  virtual Int_t GetChainEntries() {return fChain->GetEntries();} 
-  virtual AliJetReaderHeader* GetReaderHeader() { return fReaderHeader;}
-  virtual AliHeader* GetAliHeader() { return fAliHeader;}
+  virtual TClonesArray*        GetMomentumArray()    const {return fMomentumArray;}
+  virtual TRefArray*           GetReferences()       const {return 0;}   
+  virtual TClonesArray        *GetUnitArray()        const {return fUnitArray;}  
+  virtual TRefArray           *GetRefArray()         const {return fRefArray;}
+  virtual TClonesArray        *GetUnitArrayNoCuts()  const {return fUnitArrayNoCuts;} 
 
+  virtual AliJetReaderHeader* GetReaderHeader()      const {return fReaderHeader;}
+  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;}
+  
   // Setters
-  virtual void FillMomentumArray(Int_t) {}
-  virtual void SetReaderHeader(AliJetReaderHeader* header) {fReaderHeader = header;}
-         
-  // others
-  virtual void OpenInputFiles() {}
+  virtual Bool_t FillMomentumArray() {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   FillUnitArrayFromEMCALClusters(Int_t) {} // temporarily not used
+  virtual void   InitUnitArray() {}
+  virtual void   InitParameters() {}
+  virtual void   CreateTasks() {}
+  //  virtual void   ExecTasks(Int_t) {}
+  virtual Bool_t   ExecTasks(Int_t) {return kTRUE;}
+  /*   // Correction of hadronic energy 
+       virtual void SetHadronCorrector(AliEMCALHadronCorrectionv1* corr) {fHadronCorrector = corr;} 
+       virtual void SetHadronCorrection(Int_t flag = 1) {fHCorrection = flag;} */
+  virtual void   SetReaderHeader(AliJetReaderHeader* header) 
+      {fReaderHeader = header;}
+  virtual void   SetESD(AliESDEvent* esd) { fESD = esd;}
+  //  virtual Int_t  SetNumCandidate(Int_t cand) {fNumCandidate = cand;} 
+  //  virtual Int_t  SetNumCandidateCut(Int_t candcut) {fNumCandidateCut = candcut;}
+  
+
+  // 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();
  
  protected:
-  TChain                  *fChain;         // chain for reconstructed tracks
-  TChain                  *fChainMC;       // chain for mc information
-  TClonesArray            *fMomentumArray; // array of particle momenta
-  TClonesArray            *fArrayMC;       // array of mc particles
-  AliESD                  *fESD;           // pointer to esd
-  AliJetReaderHeader      *fReaderHeader;  // pointer to header
-  AliHeader               *fAliHeader;     // pointer to event header
+  AliJetReader(const AliJetReader& rJetReader);
+  AliJetReader& operator = (const AliJetReader& rhsr);
+  TChain                  *fChain;            // chain 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
+  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 
+  TRefArray               *fRefArray;         // 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;
+  AliJetFillUnitArrayEMCalDigits   *fFillUAFromEMCalDigits;
+  Int_t                    fNumCandidate;
+  Int_t                    fNumCandidateCut;
   ClassDef(AliJetReader,1)
 };