/* History of cvs commits:
*
* $Log$
+ * Revision 1.15 2007/10/01 20:24:08 kharlov
+ * Memory leaks fixed
+ *
+ * Revision 1.14 2007/09/26 14:22:18 cvetan
+ * 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.
+ *
+ * Revision 1.13 2007/08/30 10:40:27 cvetan
+ * Minor
+ *
* Revision 1.12 2007/08/28 12:55:08 policheh
* Loaders removed from the reconstruction code (C.Cheshkov)
*
//_________________________________________________________________________
// Wrapping class for reconstruction
-//*--
-//*-- Author: Yves Schutz (SUBATECH)
+//--
+//-- Author: Yves Schutz (SUBATECH)
// Reconstruction class. Redesigned from the old AliReconstructionner class and
// derived from STEER/AliReconstructor.
//_________________________________________________________________________
// --- ROOT system ---
+#include <Riostream.h>
#include "AliReconstructor.h"
+#include "AliPHOSRecoParam.h"
class AliPHOSDigitizer ;
class AliPHOSClusterizer ;
+class AliPHOSClusterizerv1 ;
class AliPHOSTrackSegmentMaker ;
class AliPHOSPID ;
class AliPHOSSDigitizer ;
class AliRawReader;
class AliPHOSRecoParam;
class AliPHOSGeometry;
+class AliPHOSCalibData ;
+class AliPHOSTriggerParameters;
// --- Standard library ---
public:
AliPHOSReconstructor() ; //ctor
- AliPHOSReconstructor(const AliPHOSReconstructor & rec) :
- AliReconstructor(rec),
- fGeom(rec.fGeom)
- {
- // cpy ctor:
- // requested by the Coding Convention
- Fatal("cpy ctor", "not implemented") ;
- }
- ~AliPHOSReconstructor() ; //dtor
+ virtual ~AliPHOSReconstructor() ; //dtor
+
static void SetDebug() { fgDebug = kTRUE ; }
static void ResetDebug() { fgDebug = kFALSE ; }
static Bool_t Debug() { return fgDebug ; }
- AliTracker *CreateTracker(AliRunLoader* runLoader) const;
+ AliTracker *CreateTracker() const;
using AliReconstructor::FillESD;
virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
AliESDEvent* esd) const;
using AliReconstructor::Reconstruct;
- virtual Bool_t HasLocalReconstruction() const {return kTRUE;};
virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
- // virtual void Reconstruct(AliRunLoader* runLoader) const ;
- // virtual void Reconstruct(AliRunLoader* runLoader, AliRawReader * rawreader) const ;
virtual Bool_t HasDigitConversion() const {return kTRUE;};
virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
+ virtual Float_t Calibrate(Float_t amp, Int_t absId) const ;
+ virtual Float_t CalibrateT(Float_t time, Int_t absId) const ;
- AliPHOSReconstructor & operator = (const AliPHOSReconstructor & /*rvalue*/) {
- // assignement operator requested by coding convention but not needed
- Fatal("operator =", "not implemented") ;
- return *this ;
- }
+ void FillMisalMatrixes(AliESDEvent* esd)const ;
+
+ static const AliPHOSRecoParam* GetRecoParam() {
+ return dynamic_cast<const AliPHOSRecoParam*>(AliReconstructor::GetRecoParam(4)); }
+ static Float_t CorrectNonlinearity(Float_t oldEnergy) ;
+
+ void readTRUParameters(AliPHOSTriggerParameters* parameters) const;
- void SetRecoParamEmc(AliPHOSRecoParam * param){ fgkRecoParamEmc = param;}
- void SetRecoParamCpv(AliPHOSRecoParam * param){ fgkRecoParamCpv = param;}
-
- static const AliPHOSRecoParam* GetRecoParamEmc(){ return fgkRecoParamEmc;}
- static const AliPHOSRecoParam* GetRecoParamCpv(){ return fgkRecoParamCpv;}
-
private:
+ AliPHOSReconstructor(const AliPHOSReconstructor & rec); // Not implemented
+ AliPHOSReconstructor & operator = (const AliPHOSReconstructor &); // Not implemented
static Bool_t fgDebug ; //! verbosity controller
- static AliPHOSRecoParam* fgkRecoParamEmc; // reconstruction parameters for EMC
- static AliPHOSRecoParam* fgkRecoParamCpv; // reconstruction parameters for EMC
- AliPHOSGeometry* fGeom; // pointer to the PHOS geometry
-
- ClassDef(AliPHOSReconstructor,3) // PHOS Reconstruction class
+ AliPHOSGeometry *fGeom; // pointer to the PHOS geometry
+ AliPHOSClusterizerv1 *fClusterizer; //! PHOS clusterizer
+ AliPHOSTrackSegmentMaker *fTSM; //! PHOS TrackSegmentMaker
+ AliPHOSPID *fPID; //! PHOS PID maker
+ TClonesArray *fTmpDigLG; //! Temporary array of LG digits
+ static TClonesArray *fgDigitsArray; //! Array of PHOS digits
+ static TObjArray *fgEMCRecPoints; //! Array of EMC rec.points
+ static AliPHOSCalibData * fgCalibData ; //! Calibration database if aval.
+ static TClonesArray *fgTriggerDigits; //! Array of PHOS trigger digits
+
+ ClassDef(AliPHOSReconstructor,10) // PHOS Reconstruction class
};