1 #ifndef ALIEMCALRECONSTRUCTOR_H
2 #define ALIEMCALRECONSTRUCTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //_________________________________________________________________________
9 // Wrapping class for reconstruction
11 //*-- Author: Yves Schutz (SUBATECH)
12 //*-- Dmitri Peressounko (SUBATECH & Kurchatov Institute)
13 // Reconstruction class. Redesigned from the old AliReconstructionner class and
14 // derived from STEER/AliReconstructor.
16 //-- Aleksei Pavlinov : added staf for EMCAL jet trigger 9Apr 25, 2008)
17 // : fgDigitsArr should read just once at event
20 // --- ROOT system ---
26 // --- AliRoot header files ---
27 #include "AliReconstructor.h"
28 #include "AliEMCALTracker.h"
29 #include "AliEMCALRecParam.h"
32 class AliEMCALDigitizer ;
33 class AliEMCALClusterizer ;
34 class AliEMCALSDigitizer ;
35 class AliEMCALRecParam;
38 class AliEMCALRawUtils;
39 class AliEMCALGeometry;
40 class AliEMCALCalibData ;
41 class AliCaloCalibPedestal ;
42 class AliEMCALTriggerElectronics;
43 class AliEMCALTriggerData;
45 // --- Standard library ---
49 class AliEMCALReconstructor : public AliReconstructor {
53 AliEMCALReconstructor() ; //ctor
55 virtual ~AliEMCALReconstructor() ; //dtor
57 virtual void Init() {;}
58 virtual void InitClusterizer();
60 Bool_t Debug() const { return fDebug ; }
62 using AliReconstructor::FillESD;
63 virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
64 AliESDEvent* esd) const;
65 AliTracker* CreateTracker () const
66 {return new AliEMCALTracker;}
67 using AliReconstructor::Reconstruct;
68 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const ;
70 virtual Bool_t HasDigitConversion() const {return kTRUE;};
71 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
73 static void SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;}
75 void ReadDigitsArrayFromTree(TTree *digitsTree) const;
77 TList *GetList() const {return fList;}
79 static const AliEMCALRecParam* GetRecParam() {
80 return dynamic_cast<const AliEMCALRecParam*>(AliReconstructor::GetRecoParam(6)); }
82 static TClonesArray* GetDigitsArr() {return fgDigitsArr;}
84 void FillMisalMatrixes(AliESDEvent* esd)const ;
88 AliEMCALReconstructor(const AliEMCALReconstructor &); //Not implemented
89 AliEMCALReconstructor & operator = (const AliEMCALReconstructor &); //Not implemented
91 Bool_t fDebug; //! verbosity controller
93 TList *fList; //! List of hists (only for trigger now)
94 AliEMCALGeometry *fGeom; // pointer to the EMCAL geometry
96 static AliEMCALClusterizer* fgClusterizer; // clusterizer
97 static const AliEMCALRecParam* fgkRecParam; // reconstruction
98 // parameters for EMCAL
99 static AliEMCALRawUtils* fgRawUtils; // raw utilities class -
100 // only need one per reco
101 static TClonesArray* fgDigitsArr; // Array with EMCAL digits
102 static TObjArray* fgClustersArr; // Array with EMCAL clusters
104 AliEMCALCalibData * fCalibData ; //! Calibration database if aval
105 AliCaloCalibPedestal * fPedestalData ; //! Tower status database if aval
107 static AliEMCALTriggerElectronics* fgTriggerProcessor;
108 AliEMCALTriggerData* fTriggerData;
111 ClassDef(AliEMCALReconstructor,10) // Reconstruction algorithm class (Base Class)
115 #endif // ALIEMCALRECONSTRUCTOR_H