Line data Source code
1 : #ifndef ALIPHOSRECONSTRUCTOR_H
2 : #define ALIPHOSRECONSTRUCTOR_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 : /* History of cvs commits:
9 : *
10 : * $Log$
11 : * Revision 1.15 2007/10/01 20:24:08 kharlov
12 : * Memory leaks fixed
13 : *
14 : * Revision 1.14 2007/09/26 14:22:18 cvetan
15 : * Important changes to the reconstructor classes. Complete elimination of the run-loaders, which are now steered only from AliReconstruction. Removal of the corresponding Reconstruct() and FillESD() methods.
16 : *
17 : * Revision 1.13 2007/08/30 10:40:27 cvetan
18 : * Minor
19 : *
20 : * Revision 1.12 2007/08/28 12:55:08 policheh
21 : * Loaders removed from the reconstruction code (C.Cheshkov)
22 : *
23 : * Revision 1.11 2007/07/24 17:20:35 policheh
24 : * Usage of RecoParam objects instead of hardcoded parameters in reconstruction.
25 : * (See $ALICE_ROOT/PHOS/macros/BeamTest2006/RawReconstruction.C).
26 : *
27 : * Revision 1.10 2007/07/11 13:43:30 hristov
28 : * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
29 : *
30 : * Revision 1.9 2006/11/15 16:05:03 kharlov
31 : * New FillESD() for raw data is added
32 : *
33 : * Revision 1.8 2005/05/28 14:19:04 schutz
34 : * Compilation warnings fixed by T.P.
35 : *
36 : */
37 :
38 : //_________________________________________________________________________
39 : // Wrapping class for reconstruction
40 : //--
41 : //-- Author: Yves Schutz (SUBATECH)
42 : // Reconstruction class. Redesigned from the old AliReconstructionner class and
43 : // derived from STEER/AliReconstructor.
44 : //_________________________________________________________________________
45 :
46 : // --- ROOT system ---
47 :
48 : #include "AliReconstructor.h"
49 : #include "AliPHOSRecoParam.h"
50 : class AliPHOSDigitizer ;
51 : class AliPHOSClusterizer ;
52 : class AliPHOSClusterizerv1 ;
53 : class AliPHOSTrackSegmentMaker ;
54 : class AliPHOSPID ;
55 : class AliPHOSSDigitizer ;
56 : class AliESDEvent ;
57 : class AliRawReader;
58 : class AliPHOSRecoParam;
59 : class AliPHOSGeometry;
60 : class AliPHOSCalibData ;
61 : class AliPHOSTriggerParameters;
62 :
63 : // --- Standard library ---
64 :
65 : // --- AliRoot header files ---
66 :
67 : class AliPHOSReconstructor : public AliReconstructor {
68 :
69 : public:
70 :
71 : AliPHOSReconstructor() ; //ctor
72 : virtual ~AliPHOSReconstructor() ; //dtor
73 :
74 0 : static void SetDebug() { fgDebug = kTRUE ; }
75 0 : static void ResetDebug() { fgDebug = kFALSE ; }
76 68 : static Bool_t Debug() { return fgDebug ; }
77 : AliTracker *CreateTracker() const;
78 : using AliReconstructor::FillESD;
79 : virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
80 : AliESDEvent* esd) const;
81 : using AliReconstructor::Reconstruct;
82 : virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
83 :
84 24 : virtual Bool_t HasDigitConversion() const {return kTRUE;};
85 : virtual void ConvertDigits (AliRawReader* rawReader, TTree* digitsTree) const;
86 : virtual void ConvertDigitsEMC(AliRawReader* rawReader, TClonesArray* digits) const;
87 : virtual void ConvertDigitsCPV(AliRawReader* rawReader, TClonesArray* digits) const;
88 : virtual Float_t Calibrate(Float_t amp, Int_t absId) const ;
89 : virtual Float_t CalibrateT(Float_t time, Int_t absId, Bool_t isLG) const ;
90 :
91 : void FillMisalMatrixes(AliESDEvent* esd)const ;
92 :
93 : static const AliPHOSRecoParam* GetRecoParam() {
94 1408 : return dynamic_cast<const AliPHOSRecoParam*>(AliReconstructor::GetRecoParam(4)); }
95 : static Float_t CorrectNonlinearity(Float_t oldEnergy) ;
96 :
97 : void readTRUParameters(AliPHOSTriggerParameters* parameters) const;
98 :
99 : private:
100 : AliPHOSReconstructor(const AliPHOSReconstructor & rec); // Not implemented
101 : AliPHOSReconstructor & operator = (const AliPHOSReconstructor &); // Not implemented
102 :
103 : static Bool_t fgDebug ; //! verbosity controller
104 : AliPHOSGeometry *fGeom; // pointer to the PHOS geometry
105 : AliPHOSClusterizerv1 *fClusterizer; //! PHOS clusterizer
106 : AliPHOSTrackSegmentMaker *fTSM; //! PHOS TrackSegmentMaker
107 : AliPHOSPID *fPID; //! PHOS PID maker
108 : TClonesArray *fTmpDigLG; //! Temporary array of LG digits
109 : static TClonesArray *fgDigitsArray; //! Array of PHOS digits
110 : static TObjArray *fgEMCRecPoints; //! Array of EMC rec.points
111 : static TObjArray *fgCPVRecPoints; //! Array of CPV rec.points
112 : static AliPHOSCalibData * fgCalibData ; //! Calibration database if aval.
113 : static TClonesArray *fgTriggerDigits; //! Array of PHOS trigger digits
114 :
115 138 : ClassDef(AliPHOSReconstructor,11) // PHOS Reconstruction class
116 :
117 : };
118 :
119 : #endif // ALIPHOSRECONSTRUCTOR_H
|