]>
Commit | Line | Data |
---|---|---|
f6019cda | 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) | |
40164976 | 13 | // Reconstruction class. Redesigned from the old AliReconstructionner class and |
14 | // derived from STEER/AliReconstructor. | |
15 | // | |
f6019cda | 16 | |
f6019cda | 17 | // --- ROOT system --- |
85c25c2e | 18 | class TClonesArray; |
19 | class TTree; | |
20 | ||
0c5b726e | 21 | // --- AliRoot header files --- |
22 | #include "AliReconstructor.h" | |
23 | #include "AliEMCALTracker.h" | |
24 | #include "AliEMCALRecParam.h" | |
25 | ||
f6019cda | 26 | class AliEMCALDigitizer ; |
27 | class AliEMCALClusterizer ; | |
f6019cda | 28 | class AliEMCALSDigitizer ; |
c47157cd | 29 | class AliEMCALRecParam; |
af885e0f | 30 | class AliESDEvent ; |
1d59832c | 31 | class AliRawReader ; |
65bdc82f | 32 | class AliEMCALRawUtils; |
33 | class AliEMCALGeometry; | |
0c5b726e | 34 | class AliEMCALCalibData ; |
40164976 | 35 | class AliCaloCalibPedestal ; |
916f1e76 | 36 | class AliEMCALTriggerElectronics; |
de39a0ff | 37 | class AliEMCALTriggerData; |
f6019cda | 38 | |
f6019cda | 39 | class AliEMCALReconstructor : public AliReconstructor { |
29c9d15f | 40 | |
41 | public: | |
42 | ||
f6019cda | 43 | AliEMCALReconstructor() ; //ctor |
29c9d15f | 44 | |
f6019cda | 45 | virtual ~AliEMCALReconstructor() ; //dtor |
29c9d15f | 46 | |
47 | virtual void Init() {;} | |
48 | virtual void InitClusterizer() const; | |
49 | ||
4800667c | 50 | using AliReconstructor::FillESD; |
29c9d15f | 51 | virtual void FillESD(TTree* digitsTree, TTree* clustersTree, AliESDEvent* esd) const; |
52 | AliTracker* CreateTracker () const {return new AliEMCALTracker;} | |
4800667c | 53 | using AliReconstructor::Reconstruct; |
29c9d15f | 54 | virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const ; |
55 | ||
56 | virtual Bool_t HasDigitConversion() const {return kTRUE;}; | |
57 | virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const; | |
58 | ||
59 | static void SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;} | |
60 | ||
61 | void ReadDigitsArrayFromTree(TTree *digitsTree) const; | |
a68156e6 | 62 | |
0832a2bf | 63 | static const AliEMCALRecParam* GetRecParam() { |
64 | return dynamic_cast<const AliEMCALRecParam*>(AliReconstructor::GetRecoParam(6)); } | |
29c9d15f | 65 | |
85c25c2e | 66 | static TClonesArray* GetDigitsArr() {return fgDigitsArr;} |
29c9d15f | 67 | |
68 | void FillMisalMatrixes(AliESDEvent* esd)const ; | |
69 | ||
70 | private: | |
f6019cda | 71 | |
3abc001d | 72 | AliEMCALReconstructor(const AliEMCALReconstructor &); //Not implemented |
73 | AliEMCALReconstructor & operator = (const AliEMCALReconstructor &); //Not implemented | |
29c9d15f | 74 | |
75 | AliEMCALGeometry * fGeom; // pointer to the EMCAL geometry | |
76 | static AliEMCALClusterizer * fgClusterizer; // clusterizer | |
77 | static AliEMCALRawUtils * fgRawUtils; // raw utilities class | |
78 | ||
79 | //Temporal arrays with clusters, digits, triggers, to be reused per event | |
80 | static TClonesArray * fgDigitsArr; //-> Array with EMCAL digits | |
81 | static TObjArray * fgClustersArr; //-> Array with EMCAL clusters | |
82 | static TClonesArray * fgTriggerDigits; //-> Array with EMCAL trigger digits | |
83 | ||
84 | //OCDB | |
85 | static const AliEMCALRecParam* fgkRecParam; // reconstruction parameters for EMCAL | |
86 | AliEMCALCalibData * fCalibData ; //! Calibration database if aval | |
87 | AliCaloCalibPedestal * fPedestalData ; //! Tower status database if aval | |
88 | ||
89 | //Trigger specific | |
90 | static AliEMCALTriggerElectronics* fgTriggerProcessor; // Trigger preprocessor | |
91 | AliEMCALTriggerData * fTriggerData; // Trigger parameters data container | |
92 | ||
93 | ClassDef(AliEMCALReconstructor,11) // Reconstruction algorithm class (Base Class) | |
94 | ||
95 | }; | |
f6019cda | 96 | |
97 | #endif // ALIEMCALRECONSTRUCTOR_H | |
916f1e76 | 98 |