X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=EMCAL%2FAliEMCALReconstructor.h;h=9b600752baf41379bb410e34f71fc9e5f42b4c82;hb=e2c14c6e829044a38e9a99af5fb883f0867ce68e;hp=dbe71ebf7445a5a423ff0958115eb58841ec6d77;hpb=23904d1648087ce6461f62c17d38caf6534f9847;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALReconstructor.h b/EMCAL/AliEMCALReconstructor.h index dbe71ebf744..9b600752baf 100644 --- a/EMCAL/AliEMCALReconstructor.h +++ b/EMCAL/AliEMCALReconstructor.h @@ -10,55 +10,101 @@ //*-- //*-- Author: Yves Schutz (SUBATECH) //*-- Dmitri Peressounko (SUBATECH & Kurchatov Institute) +// Reconstruction class. Redesigned from the old AliReconstructionner class and +// derived from STEER/AliReconstructor. +// +//-- Aleksei Pavlinov : added staf for EMCAL jet trigger 9Apr 25, 2008) +// : fgDigitsArr should read just once at event // --- ROOT system --- +class TList; +class TClonesArray; +class TTree; + +// --- AliRoot header files --- #include "AliReconstructor.h" +#include "AliEMCALTracker.h" +#include "AliEMCALRecParam.h" + + class AliEMCALDigitizer ; class AliEMCALClusterizer ; -class AliEMCALPID ; class AliEMCALSDigitizer ; -class AliESD ; -class AliRawReaderFile ; +class AliEMCALRecParam; +class AliESDEvent ; +class AliRawReader ; +class AliEMCALRawUtils; +class AliEMCALGeometry; +class AliEMCALCalibData ; +class AliCaloCalibPedestal ; +class AliEMCALTriggerElectronics; // --- Standard library --- -// --- AliRoot header files --- + class AliEMCALReconstructor : public AliReconstructor { public: AliEMCALReconstructor() ; //ctor - AliEMCALReconstructor(const AliEMCALReconstructor & rec) : AliReconstructor(rec) { - // cpy ctor: - // requested by the Coding Convention - Fatal("cpy ctor", "not implemented") ; - } virtual ~AliEMCALReconstructor() ; //dtor - Bool_t Debug() const { return fDebug ; } - AliTracker *CreateTracker(AliRunLoader* runLoader) const; - virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const ; - virtual void Reconstruct(AliRunLoader* runLoader) const ; - virtual void Reconstruct(AliRunLoader* runLoader, AliRawReaderFile * rawreader) const ; - - - AliEMCALReconstructor & operator = (const AliEMCALReconstructor & /*rvalue*/) { - // assignement operator requested by coding convention but not needed - Fatal("operator =", "not implemented") ; - return *this ; - } + virtual void Init() {;} + + Bool_t Debug() const { return fDebug ; } + + using AliReconstructor::FillESD; + virtual void FillESD(TTree* digitsTree, TTree* clustersTree, + AliESDEvent* esd) const; + AliTracker* CreateTracker () const + {return new AliEMCALTracker;} + using AliReconstructor::Reconstruct; + virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const; + + virtual Bool_t HasDigitConversion() const {return kTRUE;}; + virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const; + static void SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;} + + void ReadDigitsArrayFromTree(TTree *digitsTree) const; + + TList *GetList() const {return fList;} + + static const AliEMCALRecParam* GetRecParam() { + return dynamic_cast(AliReconstructor::GetRecoParam(6)); } + + static TClonesArray* GetDigitsArr() {return fgDigitsArr;} + + void FillMisalMatrixes(AliESDEvent* esd)const ; private: + AliEMCALReconstructor(const AliEMCALReconstructor &); //Not implemented + AliEMCALReconstructor & operator = (const AliEMCALReconstructor &); //Not implemented + Bool_t fDebug; //! verbosity controller - - ClassDef(AliEMCALReconstructor,1) // Reconstruction algorithm class (Base Class) + + TList *fList; //! List of hists (only for trigger now) + AliEMCALGeometry *fGeom; // pointer to the EMCAL geometry + + static AliEMCALClusterizer* fgClusterizer; // clusterizer + static const AliEMCALRecParam* fgkRecParam; // reconstruction + // parameters for EMCAL + static AliEMCALRawUtils* fgRawUtils; // raw utilities class - + // only need one per reco + static TClonesArray* fgDigitsArr; // Array with EMCAL digits + AliEMCALCalibData * fCalibData ; //! Calibration database if aval + AliCaloCalibPedestal * fPedestalData ; //! Tower status database if aval + + static AliEMCALTriggerElectronics* fgTriggerProcessor; + + ClassDef(AliEMCALReconstructor,9) // Reconstruction algorithm class (Base Class) }; #endif // ALIEMCALRECONSTRUCTOR_H +