X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFReconstructor.cxx;h=7e4a91c49b0853afdfc7991ed81394401bb674cf;hb=a9f12b132f223622079b94d161ce7f0b3dd82aeb;hp=74fed57a157cea25cdf9c6ee435598bf5da6b375;hpb=0e46b9aedf22cba61c60921b7b19fb76d89a7a2e;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFReconstructor.cxx b/TOF/AliTOFReconstructor.cxx index 74fed57a157..7e4a91c49b0 100644 --- a/TOF/AliTOFReconstructor.cxx +++ b/TOF/AliTOFReconstructor.cxx @@ -25,54 +25,65 @@ #include "AliLog.h" #include "AliRawReader.h" -#include "AliRunLoader.h" #include "AliTOFClusterFinder.h" -#include "AliTOFGeometry.h" +#include "AliTOFcalib.h" #include "AliTOFtrackerMI.h" #include "AliTOFtracker.h" +#include "AliTOFtrackerV1.h" #include "AliTOFReconstructor.h" class TTree; -class AliESD; +class AliESDEvent; extern TDirectory *gDirectory; extern TFile *gFile; ClassImp(AliTOFReconstructor) -//_____________________________________________________________________________ - void AliTOFReconstructor::Reconstruct(AliRunLoader* runLoader) const + //____________________________________________________________________ +AliTOFReconstructor::AliTOFReconstructor() + : AliReconstructor(), + fTOFcalib(0) { -// reconstruct clusters from digits - - AliTOFClusterFinder *tofClus = new AliTOFClusterFinder(runLoader); - tofClus->Load(); - for (Int_t iEvent = 0; iEvent < runLoader->GetNumberOfEvents(); iEvent++) - { - tofClus->Digits2RecPoints(iEvent); - } - tofClus->UnLoad(); +// +// ctor +// + //Retrieving the TOF calibration info + fTOFcalib = new AliTOFcalib(); + fTOFcalib->CreateCalArrays(); + if(!fTOFcalib->ReadParOnlineFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);} + if(!fTOFcalib->ReadParOfflineFromCDB("TOF/Calib",-1)) {AliFatal("Exiting, no CDB object found!!!");exit(0);} +} +//------------------------------------------------------------------------ +AliTOFReconstructor::AliTOFReconstructor(const AliTOFReconstructor &source) + : AliReconstructor(), + fTOFcalib(0) +{ +// +// copy ctor +// + this->fTOFcalib=source.fTOFcalib; } +//------------------------------------------------------------------------ +AliTOFReconstructor & AliTOFReconstructor::operator=(const AliTOFReconstructor &source) +{ +// +// assignment op. +// + this->fTOFcalib=source.fTOFcalib; + return *this; +} //_____________________________________________________________________________ -void AliTOFReconstructor::Reconstruct(AliRunLoader* runLoader, - AliRawReader *rawReader) const +AliTOFReconstructor::~AliTOFReconstructor() { -// reconstruct clusters from Raw Data - - AliTOFClusterFinder tofClus(runLoader); - tofClus.LoadClusters(); - Int_t iEvent = 0; - while (rawReader->NextEvent()) { - tofClus.Digits2RecPoints(iEvent,rawReader); - //tofClus.Raw2Digits(iEvent,rawReader); // temporary solution - iEvent++; - } - tofClus.UnLoadClusters(); - +// +// dtor +// + delete fTOFcalib; } //_____________________________________________________________________________ @@ -81,59 +92,42 @@ void AliTOFReconstructor::Reconstruct(AliRawReader *rawReader, { // reconstruct clusters from Raw Data - AliTOFClusterFinder tofClus; + AliTOFClusterFinder tofClus(fTOFcalib); tofClus.Digits2RecPoints(rawReader, clustersTree); } //_____________________________________________________________________________ -AliTracker* AliTOFReconstructor::CreateTracker(AliRunLoader* runLoader) const +void AliTOFReconstructor::Reconstruct(TTree *digitsTree, + TTree *clustersTree) const { -// create a TOF tracker +// reconstruct clusters from Raw Data - AliTOFGeometry* geom = GetTOFGeometry(runLoader); - if (!geom) return NULL; - // Double_t parPID[] = {130., 5.}; - Double_t parPID[] = {80., 5.}; - TString selectedTracker = GetOption(); - // use MI tracker if selected - if (selectedTracker.Contains("MI")) return new AliTOFtrackerMI(geom,parPID); + AliDebug(2,Form("Global Event loop mode: Creating Recpoints from Digits Tree")); + AliTOFClusterFinder tofClus(fTOFcalib); + tofClus.Digits2RecPoints(digitsTree, clustersTree); - return new AliTOFtracker(geom, parPID); } - //_____________________________________________________________________________ -void AliTOFReconstructor::FillESD(AliRunLoader* /*runLoader*/, - AliESD* /*esd*/) const + void AliTOFReconstructor::ConvertDigits(AliRawReader* reader, TTree* digitsTree) const { -// nothing to be done +// 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); } //_____________________________________________________________________________ -AliTOFGeometry* AliTOFReconstructor::GetTOFGeometry(AliRunLoader* runLoader) const +AliTracker* AliTOFReconstructor::CreateTracker() const { -// get the TOF parameters - - AliTOFGeometry *tofGeom; - - runLoader->CdGAFile(); - TDirectory *savedir=gDirectory; - TFile *in=(TFile*)gFile; - if (!in->IsOpen()) { - AliWarning("Geometry file is not open default TOF geometry will be used"); - tofGeom = new AliTOFGeometry(); - } - else { - in->cd(); - tofGeom = (AliTOFGeometry*) in->Get("TOFgeometry"); - } - - savedir->cd(); - - if (!tofGeom) { - AliError("no TOF geometry available"); - return NULL; - } - return tofGeom; +// create a TOF tracker + + TString selectedTracker = GetOption(); + // use MI tracker if selected + if (selectedTracker.Contains("MI")) return new AliTOFtrackerMI(); + if (selectedTracker.Contains("V1")) return new AliTOFtrackerV1(); + return new AliTOFtracker(); } +