X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EMCAL%2FAliEMCALReconstructor.h;h=e34902c2fc51c049bde07b08c98b8b0d7543cdfb;hb=c5136d398f82f8f3beaf99dff1d8338f71bd219c;hp=c52b3ce425a751fafcaee28c1d749ca51372155e;hpb=5dee926e8ba960b0765de85362fdef7d54b225a2;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALReconstructor.h b/EMCAL/AliEMCALReconstructor.h index c52b3ce425a..e34902c2fc5 100644 --- a/EMCAL/AliEMCALReconstructor.h +++ b/EMCAL/AliEMCALReconstructor.h @@ -10,54 +10,89 @@ //*-- //*-- Author: Yves Schutz (SUBATECH) //*-- Dmitri Peressounko (SUBATECH & Kurchatov Institute) - +// Reconstruction class. Redesigned from the old AliReconstructionner class and +// derived from STEER/AliReconstructor. +// // --- ROOT system --- +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 ; - -// --- Standard library --- - -// --- AliRoot header files --- +class AliEMCALRecParam; +class AliESDEvent ; +class AliRawReader ; +class AliEMCALRawUtils; +class AliEMCALGeometry; +class AliEMCALCalibData ; +class AliCaloCalibPedestal ; +class AliEMCALTriggerElectronics; +class AliEMCALTriggerData; class AliEMCALReconstructor : public AliReconstructor { - -public: - + + 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 ; } - virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const ; - virtual void Reconstruct(AliRunLoader* runLoader) const ; - virtual void Reconstruct(AliRunLoader* runLoader, AliRawReader* rawreader) const ; + virtual void Init() {;} + virtual void InitClusterizer() const; - AliEMCALReconstructor & operator = (const AliEMCALReconstructor & /*rvalue*/) { - // assignement operator requested by coding convention but not needed - Fatal("operator =", "not implemented") ; - return *this ; - } + 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 ; - -private: + virtual Bool_t HasDigitConversion() const {return kTRUE;}; + virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const; - Bool_t fDebug; //! verbosity controller - - ClassDef(AliEMCALReconstructor,1) // Reconstruction algorithm class (Base Class) - -}; + static void SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;} + + void ReadDigitsArrayFromTree(TTree *digitsTree) const; + + 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 + + AliEMCALGeometry * fGeom; // pointer to the EMCAL geometry + static AliEMCALClusterizer * fgClusterizer; // clusterizer + static AliEMCALRawUtils * fgRawUtils; // raw utilities class + + //Temporal arrays with clusters, digits, triggers, to be reused per event + static TClonesArray * fgDigitsArr; //-> Array with EMCAL digits + static TObjArray * fgClustersArr; //-> Array with EMCAL clusters + static TClonesArray * fgTriggerDigits; //-> Array with EMCAL trigger digits + + //OCDB + static const AliEMCALRecParam* fgkRecParam; // reconstruction parameters for EMCAL + AliEMCALCalibData * fCalibData ; //! Calibration database if aval + AliCaloCalibPedestal * fPedestalData ; //! Tower status database if aval + + //Trigger specific + static AliEMCALTriggerElectronics* fgTriggerProcessor; // Trigger preprocessor + AliEMCALTriggerData * fTriggerData; // Trigger parameters data container + + ClassDef(AliEMCALReconstructor,11) // Reconstruction algorithm class (Base Class) + + }; #endif // ALIEMCALRECONSTRUCTOR_H +