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