]>
Commit | Line | Data |
---|---|---|
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 */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //_________________________________________________________________________ | |
9 | // Wrapping class for reconstruction | |
10 | //*-- | |
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. | |
15 | // | |
16 | //-- Aleksei Pavlinov : added staf for EMCAL jet trigger 9Apr 25, 2008) | |
17 | // : fgDigitsArr should read just once at event | |
18 | ||
19 | ||
20 | // --- ROOT system --- | |
21 | class TList; | |
22 | class TClonesArray; | |
23 | class TTree; | |
24 | ||
25 | ||
26 | // --- AliRoot header files --- | |
27 | #include "AliReconstructor.h" | |
28 | #include "AliEMCALTracker.h" | |
29 | #include "AliEMCALRecParam.h" | |
30 | ||
31 | ||
32 | class AliEMCALDigitizer ; | |
33 | class AliEMCALClusterizer ; | |
34 | class AliEMCALSDigitizer ; | |
35 | class AliEMCALRecParam; | |
36 | class AliESDEvent ; | |
37 | class AliRawReader ; | |
38 | class AliEMCALRawUtils; | |
39 | class AliEMCALGeometry; | |
40 | class AliEMCALCalibData ; | |
41 | class AliCaloCalibPedestal ; | |
42 | ||
43 | // --- Standard library --- | |
44 | ||
45 | ||
46 | ||
47 | class AliEMCALReconstructor : public AliReconstructor { | |
48 | ||
49 | public: | |
50 | ||
51 | AliEMCALReconstructor() ; //ctor | |
52 | ||
53 | virtual ~AliEMCALReconstructor() ; //dtor | |
54 | ||
55 | virtual void Init(); | |
56 | Bool_t Debug() const { return fDebug ; } | |
57 | ||
58 | using AliReconstructor::FillESD; | |
59 | virtual void FillESD(TTree* digitsTree, TTree* clustersTree, | |
60 | AliESDEvent* esd) const; | |
61 | AliTracker* CreateTracker () const | |
62 | {return new AliEMCALTracker;} | |
63 | using AliReconstructor::Reconstruct; | |
64 | virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const; | |
65 | ||
66 | virtual Bool_t HasDigitConversion() const {return kTRUE;}; | |
67 | virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const; | |
68 | ||
69 | static void SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;} | |
70 | ||
71 | void ReadDigitsArrayFromTree(TTree *digitsTree) const; | |
72 | ||
73 | TList *GetList() const {return fList;} | |
74 | ||
75 | static const AliEMCALRecParam* GetRecParam() { | |
76 | return dynamic_cast<const AliEMCALRecParam*>(AliReconstructor::GetRecoParam(6)); } | |
77 | ||
78 | static TClonesArray* GetDigitsArr() {return fgDigitsArr;} | |
79 | ||
80 | void FillMisalMatrixes(AliESDEvent* esd)const ; | |
81 | ||
82 | private: | |
83 | ||
84 | AliEMCALReconstructor(const AliEMCALReconstructor &); //Not implemented | |
85 | AliEMCALReconstructor & operator = (const AliEMCALReconstructor &); //Not implemented | |
86 | ||
87 | Bool_t fDebug; //! verbosity controller | |
88 | ||
89 | TList *fList; //! List of hists (only for trigger now) | |
90 | AliEMCALGeometry *fGeom; // pointer to the EMCAL geometry | |
91 | ||
92 | static AliEMCALClusterizer* fgClusterizer; // clusterizer | |
93 | static const AliEMCALRecParam* fgkRecParam; // reconstruction | |
94 | // parameters for EMCAL | |
95 | static AliEMCALRawUtils* fgRawUtils; // raw utilities class - | |
96 | // only need one per reco | |
97 | static TClonesArray* fgDigitsArr; // Array with EMCAL digits | |
98 | AliEMCALCalibData * fCalibData ; //! Calibration database if aval | |
99 | AliCaloCalibPedestal * fPedestalData ; //! Tower status database if aval | |
100 | ||
101 | ClassDef(AliEMCALReconstructor,8) // Reconstruction algorithm class (Base Class) | |
102 | ||
103 | }; | |
104 | ||
105 | #endif // ALIEMCALRECONSTRUCTOR_H |