From a98acac1c66d21588a839f268d01eae758821d16 Mon Sep 17 00:00:00 2001 From: arcelli Date: Wed, 2 May 2007 16:30:37 +0000 Subject: [PATCH] Add methods to handle single event reconstruction, and retrieve Calib info in the constructor (only once). HasLocalreconstruction is set to true as a default --- TOF/AliTOFReconstructor.cxx | 80 +++++++++++++++++++++++++++++++++++-- TOF/AliTOFReconstructor.h | 14 +++++-- 2 files changed, 87 insertions(+), 7 deletions(-) diff --git a/TOF/AliTOFReconstructor.cxx b/TOF/AliTOFReconstructor.cxx index eb55c8d0d4e..4e0948081aa 100644 --- a/TOF/AliTOFReconstructor.cxx +++ b/TOF/AliTOFReconstructor.cxx @@ -30,6 +30,7 @@ #include "AliTOFClusterFinder.h" #include "AliTOFGeometry.h" #include "AliTOFGeometryV5.h" +#include "AliTOFcalib.h" #include "AliTOFtrackerMI.h" #include "AliTOFtracker.h" #include "AliTOFReconstructor.h" @@ -43,15 +44,64 @@ extern TFile *gFile; ClassImp(AliTOFReconstructor) + //____________________________________________________________________ +AliTOFReconstructor::AliTOFReconstructor() + : AliReconstructor(), + fTOFGeometry(0), + fTOFcalib(0) +{ +// +// ctor +// + //Retrieving the TOF calibration info + fTOFGeometry = new AliTOFGeometryV5(); + fTOFcalib = new AliTOFcalib(fTOFGeometry); + if(!fTOFcalib->ReadParFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);} +} + +//------------------------------------------------------------------------ +AliTOFReconstructor::AliTOFReconstructor(const AliTOFReconstructor &source) + : AliReconstructor(), + fTOFGeometry(0), + fTOFcalib(0) +{ +// +// copy ctor +// + this->fTOFGeometry=source.fTOFGeometry; + this->fTOFcalib=source.fTOFcalib; +} + +//------------------------------------------------------------------------ +AliTOFReconstructor & AliTOFReconstructor::operator=(const AliTOFReconstructor &source) +{ +// +// assignment op. +// + this->fTOFGeometry=source.fTOFGeometry; + this->fTOFcalib=source.fTOFcalib; + return *this; +} +//_____________________________________________________________________________ +AliTOFReconstructor::~AliTOFReconstructor() +{ +// +// dtor +// + delete fTOFGeometry; + delete fTOFcalib; +} + //_____________________________________________________________________________ void AliTOFReconstructor::Reconstruct(AliRunLoader* runLoader) const { // reconstruct clusters from digits - AliTOFClusterFinder tofClus(runLoader); + AliTOFClusterFinder tofClus(runLoader, fTOFcalib); tofClus.Load(); for (Int_t iEvent = 0; iEvent < runLoader->GetNumberOfEvents(); iEvent++) { + AliDebug(2,Form("Local Event loop mode: Creating Recpoints from Digits, Event n. %i",iEvent)); tofClus.Digits2RecPoints(iEvent); } tofClus.UnLoad(); @@ -64,12 +114,12 @@ void AliTOFReconstructor::Reconstruct(AliRunLoader* runLoader, { // reconstruct clusters from Raw Data - AliTOFClusterFinder tofClus(runLoader); + AliTOFClusterFinder tofClus(runLoader, fTOFcalib); tofClus.LoadClusters(); Int_t iEvent = 0; while (rawReader->NextEvent()) { + AliDebug(2,Form("Local Event loop mode: Creating Recpoints from Raw data, Event n. %i",iEvent)); tofClus.Digits2RecPoints(iEvent,rawReader); - //tofClus.Raw2Digits(iEvent,rawReader); // temporary solution iEvent++; } tofClus.UnLoadClusters(); @@ -82,11 +132,33 @@ void AliTOFReconstructor::Reconstruct(AliRawReader *rawReader, { // reconstruct clusters from Raw Data - AliTOFClusterFinder tofClus; + AliTOFClusterFinder tofClus(fTOFcalib); tofClus.Digits2RecPoints(rawReader, clustersTree); } +//_____________________________________________________________________________ +void AliTOFReconstructor::Reconstruct(TTree *digitsTree, + TTree *clustersTree) const +{ +// reconstruct clusters from Raw Data + + AliDebug(2,Form("Global Event loop mode: Creating Recpoints from Digits Tree")); + AliTOFClusterFinder tofClus(fTOFcalib); + tofClus.Digits2RecPoints(digitsTree, clustersTree); + +} +//_____________________________________________________________________________ + void AliTOFReconstructor::ConvertDigits(AliRawReader* reader, TTree* digitsTree) const +{ +// reconstruct clusters from digits + + AliDebug(2,Form("Global Event loop mode: Converting Raw Data to a Digits Tree")); + AliTOFClusterFinder tofClus(fTOFcalib); + tofClus.Raw2Digits(reader, digitsTree); + +} + //_____________________________________________________________________________ AliTracker* AliTOFReconstructor::CreateTracker(AliRunLoader* /*runLoader*/) const { diff --git a/TOF/AliTOFReconstructor.h b/TOF/AliTOFReconstructor.h index e050acf44f1..9024d34f44e 100644 --- a/TOF/AliTOFReconstructor.h +++ b/TOF/AliTOFReconstructor.h @@ -21,17 +21,23 @@ class AliRawReader; class AliRunLoader; class AliTOFGeometry; +class AliTOFcalib; class AliTOFReconstructor: public AliReconstructor { public: - virtual ~AliTOFReconstructor() {}; + AliTOFReconstructor(); + AliTOFReconstructor(const AliTOFReconstructor &source); // copy constructor + AliTOFReconstructor& operator=(const AliTOFReconstructor &source); // ass. op. + virtual ~AliTOFReconstructor(); + virtual Bool_t HasLocalReconstruction() const { return kTRUE; } virtual void Reconstruct(AliRunLoader* runLoader) const; virtual void Reconstruct(AliRunLoader* runLoader, AliRawReader* rawReader) const; virtual void Reconstruct(AliRawReader* rawReader, TTree* clusterTree) const; - virtual void Reconstruct(TTree*, TTree*) const { }; + virtual void Reconstruct(TTree* digitsTree, TTree* clusterTree) const; + virtual void ConvertDigits(AliRawReader* reader, TTree* digitsTree) const; virtual AliTracker* CreateTracker(AliRunLoader* runLoader) const; virtual void FillESD(AliRunLoader*, AliRawReader*, AliESD*) const { }; virtual void FillESD(AliRawReader*, TTree*, AliESD*) const { }; @@ -39,9 +45,11 @@ public: virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const; private: + AliTOFGeometry *fTOFGeometry; + AliTOFcalib *fTOFcalib; AliTOFGeometry* GetTOFGeometry(AliRunLoader* runLoader) const; - ClassDef(AliTOFReconstructor, 0) // class for the TOF reconstruction + ClassDef(AliTOFReconstructor, 1) // class for the TOF reconstruction }; #endif -- 2.43.0