Updated documentation
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALReconstructor.h
CommitLineData
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 21class TList;
22class TClonesArray;
23class TTree;
24
0c5b726e 25
26// --- AliRoot header files ---
27#include "AliReconstructor.h"
28#include "AliEMCALTracker.h"
29#include "AliEMCALRecParam.h"
30
31
f6019cda 32class AliEMCALDigitizer ;
33class AliEMCALClusterizer ;
f6019cda 34class AliEMCALSDigitizer ;
c47157cd 35class AliEMCALRecParam;
af885e0f 36class AliESDEvent ;
1d59832c 37class AliRawReader ;
65bdc82f 38class AliEMCALRawUtils;
39class AliEMCALGeometry;
0c5b726e 40class AliEMCALCalibData ;
40164976 41class AliCaloCalibPedestal ;
916f1e76 42class AliEMCALTriggerElectronics;
de39a0ff 43class AliEMCALTriggerData;
f6019cda 44
45// --- Standard library ---
46
0c5b726e 47
f6019cda 48
49class AliEMCALReconstructor : public AliReconstructor {
50
51public:
52
53 AliEMCALReconstructor() ; //ctor
f6019cda 54
55 virtual ~AliEMCALReconstructor() ; //dtor
56
40871053 57 virtual void Init() {;}
9519e3e3 58 virtual void InitClusterizer() const;
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 86private:
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
4bd37bd4 101 static TClonesArray* fgDigitsArr; //-> Array with EMCAL digits
102 static TObjArray* fgClustersArr; // Array with EMCAL clusters
103 static TClonesArray* fgTriggerDigits; //-> Array with EMCAL trigger digits
b57cc9b9 104
40164976 105 AliEMCALCalibData * fCalibData ; //! Calibration database if aval
106 AliCaloCalibPedestal * fPedestalData ; //! Tower status database if aval
c47157cd 107
916f1e76 108 static AliEMCALTriggerElectronics* fgTriggerProcessor;
de39a0ff 109 AliEMCALTriggerData* fTriggerData;
110
111
b57cc9b9 112 ClassDef(AliEMCALReconstructor,10) // Reconstruction algorithm class (Base Class)
f6019cda 113
114};
115
116#endif // ALIEMCALRECONSTRUCTOR_H
916f1e76 117