]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALReconstructor.h
suppress off-line finders ( vertex etc.)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALReconstructor.h
index dbe71ebf7445a5a423ff0958115eb58841ec6d77..e34902c2fc51c049bde07b08c98b8b0d7543cdfb 100644 (file)
 //*--
 //*-- 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 ; }
-  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 ;
   
+  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<const AliEMCALRecParam*>(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
+