X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSEvalRecPoint.cxx;h=59311ddc03c44f6edcfc60c47caa851452afeb94;hb=3fe464932e53ec7b5c764aeb95fc72ea857b5204;hp=e68a29f32ad631ab5e4499930ab8e46d46c2e6a7;hpb=386aef34aa74c52f3326dd6348ae7fe33394e566;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSEvalRecPoint.cxx b/PHOS/AliPHOSEvalRecPoint.cxx index e68a29f32ad..59311ddc03c 100644 --- a/PHOS/AliPHOSEvalRecPoint.cxx +++ b/PHOS/AliPHOSEvalRecPoint.cxx @@ -30,19 +30,23 @@ #include "TFolder.h" // --- AliRoot header files --- +#include "AliConfig.h" +#include "AliPHOSDigit.h" +#include "AliPHOSClusterizer.h" #include "AliPHOSEvalRecPoint.h" #include "AliRun.h" -#include "AliPHOSGetter.h" +#include "AliPHOSLoader.h" #include "AliPHOSRecCpvManager.h" #include "AliPHOSRecEmcManager.h" #include "AliPHOSDigitizer.h" +#include "AliPHOSGeometry.h" // --- Standard library --- ClassImp(AliPHOSEvalRecPoint) - AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(): AliPHOSCpvRecPoint() + AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(): fEventFolderName(AliConfig::fgkDefaultEventFolderName) { // default ctor fParent=-333; @@ -60,8 +64,7 @@ AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(Bool_t cpv, AliPHOSEvalRecPoint* parent // fParent=parent; TObjArray* wPool = (TObjArray*)GetWorkingPool(); if(!wPool) { - Error("AliPHOSEvalRecPoint", "Couldn't find working pool. Exit.") ; - exit(1); + Fatal("ctor", "Couldn't find working pool") ; } fParent = wPool->IndexOf((TObject*)parent); @@ -81,7 +84,7 @@ AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(Bool_t cpv, AliPHOSEvalRecPoint* parent } -AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(Int_t i, Bool_t cpv) : AliPHOSCpvRecPoint() +AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(Int_t i, Bool_t cpv) : fEventFolderName(AliConfig::fgkDefaultEventFolderName) { // ctor fChi2Dof=-111; @@ -89,15 +92,15 @@ AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(Int_t i, Bool_t cpv) : AliPHOSCpvRecPoi AliPHOSEmcRecPoint* rp=0; - AliPHOSGetter* fGetter = AliPHOSGetter::GetInstance(); + AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName); if(cpv) { - rp = (AliPHOSCpvRecPoint*)fGetter->CpvRecPoints()->At(i); + rp = (AliPHOSCpvRecPoint*)fLoader->CpvRecPoints()->At(i); fIsEmc = kFALSE; fIsCpv = kTRUE; } else { - rp = (AliPHOSEmcRecPoint*)fGetter->EmcRecPoints()->At(i); + rp = (AliPHOSEmcRecPoint*)fLoader->EmcRecPoints()->At(i); fIsEmc = kTRUE; fIsCpv = kFALSE; } @@ -107,7 +110,7 @@ AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(Int_t i, Bool_t cpv) : AliPHOSCpvRecPoi Int_t nDigits = rp->GetMultiplicity(); for(Int_t iDigit=0; iDigitDigits()->At( digits[iDigit] ); + AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); Float_t eDigit = energies[iDigit]; this->AddDigit(*digit,eDigit); } @@ -128,8 +131,7 @@ AliPHOSClusterizer* AliPHOSEvalRecPoint::GetClusterizer() TFolder* wPoolF = (TFolder*)aliceF->FindObject("WhiteBoard/RecPoints/PHOS/SmP"); AliPHOSClusterizer* clu = (AliPHOSClusterizer*)wPoolF->FindObject("PHOS:clu-v1"); if(!clu) { - Error("GetClusterizer", "Couldn't find Clusterizer. Exit.") ; - exit(1); + Fatal("GetClusterizer", "Couldn't find Clusterizer") ; } return clu; @@ -220,11 +222,10 @@ void AliPHOSEvalRecPoint::Init() // initialization AliPHOSClusterizer* clusterizer = GetClusterizer(); if(!clusterizer) { - Error("Init", "Cannot get clusterizer. Exit.") ; - exit(1); + Fatal("Init", "Cannot get clusterizer") ; } - TClonesArray* digits = AliPHOSGetter::GetInstance()->Digits(); + TClonesArray* digits = AliPHOSLoader::GetPHOSLoader(fEventFolderName)->Digits(); Float_t logWeight=0; if(this->IsEmc()) { @@ -300,14 +301,14 @@ void AliPHOSEvalRecPoint::InitTwoGam(Float_t* gamma1, Float_t* gamma2) Float_t sqr; Float_t cos2fi = 1.; - AliPHOSGetter* fGetter = AliPHOSGetter::GetInstance(); - const AliPHOSGeometry* fGeom = fGetter->PHOSGeometry(); + AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName); + const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry(); Int_t iDigit; //loop variable for(iDigit = 0 ; iDigit < nDigits ; iDigit ++) { - digit = (AliPHOSDigit*)fGetter->Digits()->At( digits[iDigit] ); + digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); eDigit = energies[iDigit]; fGeom->AbsToRelNumbering(digit->GetId(), relid) ; fGeom->RelPosInModule(relid, iy, ix); @@ -330,7 +331,7 @@ void AliPHOSEvalRecPoint::InitTwoGam(Float_t* gamma1, Float_t* gamma2) Float_t eu3 = 0; for(iDigit = 0 ; iDigit < nDigits ; iDigit ++) { - digit = (AliPHOSDigit*)fGetter->Digits()->At( digits[iDigit] ); + digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); eDigit = energies[iDigit]; fGeom->AbsToRelNumbering(digit->GetId(), relid) ; fGeom->RelPosInModule(relid, iy, ix); @@ -430,8 +431,8 @@ void AliPHOSEvalRecPoint::TwoGam(Float_t* gamma1, Float_t* gamma2) Float_t iy ; Int_t relid[4] ; - AliPHOSGetter* fGetter = AliPHOSGetter::GetInstance(); - const AliPHOSGeometry* fGeom = fGetter->PHOSGeometry(); + AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName); + const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry(); for(Int_t iter=0; iterDigits()->At( digits[iDigit] ); + digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); eDigit = energies[iDigit]; fGeom->AbsToRelNumbering(digit->GetId(), relid) ; fGeom->RelPosInModule(relid, iy, ix); @@ -591,12 +592,12 @@ void AliPHOSEvalRecPoint::UnfoldTwoMergedPoints(Float_t* gamma1, Float_t* gamma2 Float_t* energies = GetEnergiesList(); Float_t* eFit = new Float_t[nDigits]; - AliPHOSGetter* fGetter = AliPHOSGetter::GetInstance(); - const AliPHOSGeometry* fGeom = fGetter->PHOSGeometry(); + AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName); + const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry(); for(Int_t iDigit=0; iDigitDigits()->At( digits[iDigit] ); + AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); Int_t relid[4] ; fGeom->AbsToRelNumbering(digit->GetId(), relid) ; Float_t x,z; @@ -642,7 +643,7 @@ void AliPHOSEvalRecPoint::UnfoldTwoMergedPoints(Float_t* gamma1, Float_t* gamma2 for( Int_t iDigit = 0 ; iDigit < nDigits ; iDigit ++) { - AliPHOSDigit* digit = (AliPHOSDigit*)fGetter->Digits()->At( digits[iDigit] ); + AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); Float_t eDigit = energies[iDigit]; Int_t relid[4] ; fGeom->AbsToRelNumbering(digit->GetId(), relid) ; @@ -659,7 +660,7 @@ void AliPHOSEvalRecPoint::UnfoldTwoMergedPoints(Float_t* gamma1, Float_t* gamma2 newRP->AddDigit(*digit,eDigit); } Info("UnfoldTwoMergedPoints", "======= Split: daughter rec point %d =================", iMax) ; - newRP->Print(""); + newRP->Print(); } @@ -708,8 +709,8 @@ void AliPHOSEvalRecPoint::EvaluatePosition() Float_t cosi,x1=0,y1=0; Float_t chisqc; - AliPHOSGetter* fGetter = AliPHOSGetter::GetInstance(); - const AliPHOSGeometry* fGeom = fGetter->PHOSGeometry(); + AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName); + const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry(); for(Int_t iter=0; iterDigits()->At( digits[iDigit] ); + digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); eDigit = energies[iDigit]; fGeom->AbsToRelNumbering(digit->GetId(), relid) ; fGeom->RelPosInModule(relid, iy, ix); @@ -849,8 +850,8 @@ void AliPHOSEvalRecPoint::SplitMergedShowers() void AliPHOSEvalRecPoint::MergeClosePoint() { // merge rec.points if they are too close - AliPHOSGetter* fGetter = AliPHOSGetter::GetInstance(); -// AliPHOSDigitizer* digitizer = fGetter->Digitizer(); + AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName); +// AliPHOSDigitizer* digitizer = fLoader->Digitizer(); // Float_t fPedestal = digitizer->GetPedestal(); // YVK 30.09.2001 // Float_t fSlope = digitizer->GetSlope(); @@ -865,9 +866,9 @@ void AliPHOSEvalRecPoint::MergeClosePoint() if(TooClose(rp)) { Info("MergeClosePoint", "+++++++ Merging point 1: ++++++") ; - this->Print(""); + this->Print(); Info("MergeClosePoint", "+++++++ and point 2: ++++++++++") ; - ((AliPHOSEvalRecPoint*)rp)->Print(""); + ((AliPHOSEvalRecPoint*)rp)->Print(); //merge two rec. points TVector3 lpos1; @@ -884,7 +885,7 @@ void AliPHOSEvalRecPoint::MergeClosePoint() for(Int_t iDigit=0; iDigitGetDigitsMultiplicity(); iDigit++) { - AliPHOSDigit* digit = (AliPHOSDigit*)fGetter->Digits()->At(digits[iDigit]); + AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At(digits[iDigit]); Float_t eDigit = energies[iDigit]; this->AddDigit(*digit,eDigit); } @@ -896,7 +897,7 @@ void AliPHOSEvalRecPoint::MergeClosePoint() delete rp; Info("MergeClosePoint", "++++++ Resulting point: ++++++++") ; - this->Print(""); + this->Print(); break; } @@ -921,11 +922,9 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima() Float_t xMax; Float_t zMax; -// AliPHOSClusterizer* clusterizer = fGetter->Clusterizer("PHOSclu-v1"); AliPHOSClusterizer* clusterizer = GetClusterizer(); if(!clusterizer) { - Error("UnfoldLocalMaxima", "Cannot get clusterizer. Exit.") ; - exit(1); + Fatal("UnfoldLocalMaxima", "Cannot get clusterizer") ; } if(this->IsEmc()) { @@ -937,9 +936,9 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima() logWeight = clusterizer->GetCpvLogWeight(); } - AliPHOSGetter* fGetter = AliPHOSGetter::GetInstance(); - const AliPHOSGeometry* fGeom = fGetter->PHOSGeometry(); - TClonesArray* digits = fGetter->Digits(); + AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName); + const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry(); + TClonesArray* digits = fLoader->Digits(); // if number of local maxima less then 2 - nothing to unfold Int_t nMax = GetNumberOfLocalMax(maxAt,maxAtEnergy,locMaxCut,digits); @@ -960,7 +959,7 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima() for(iDigit=0; iDigitDigits()->At( digitsList[iDigit] ); + AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digitsList[iDigit] ); fGeom->AbsToRelNumbering(digit->GetId(), relid) ; Float_t x,z; fGeom->RelPosInModule(relid, x, z); @@ -994,7 +993,7 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima() //Neighbous ( matrix 3x3 around the local maximum) for(Int_t iDigit=0; iDigitDigits()->At( digitsList[iDigit] ); + AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digitsList[iDigit] ); Float_t eDigit = energies[iDigit]; fGeom->AbsToRelNumbering(digit->GetId(), relid) ; Float_t ix,iz; @@ -1016,7 +1015,7 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima() newRP->EvalLocalPosition(logWeight,digits); Info("UnfoldLocalMaxima", "======= Unfold: daughter rec point %d =================", iMax) ; - newRP->Print(""); + newRP->Print(); } // RemoveFromWorkingPool(this); @@ -1027,10 +1026,10 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima() } -void AliPHOSEvalRecPoint::PrintPoint(Option_t* opt) +void AliPHOSEvalRecPoint::PrintPoint() { // print rec.point to stdout - AliPHOSCpvRecPoint::Print(opt); + AliPHOSCpvRecPoint::Print(); TVector3 lpos; GetLocalPosition(lpos); @@ -1049,8 +1048,7 @@ AliPHOSRecManager* AliPHOSEvalRecPoint::GetReconstructionManager() const TFolder* wPoolF = (TFolder*)aliceF->FindObject("WhiteBoard/RecPoints/PHOS/SmP"); AliPHOSRecManager* recMng = (AliPHOSRecManager*)wPoolF->FindObject("AliPHOSRecManager"); if(!recMng) { - Error("GetReconstructionManager", "Couldn't find Reconstruction Manager. Exit.") ; - exit(1); + Fatal("GetReconstructionManager", "Couldn't find Reconstruction Manager") ; } return recMng; @@ -1079,8 +1077,7 @@ const TObject* AliPHOSEvalRecPoint::GetWorkingPool() TFolder* wPoolF = (TFolder*)aliceF->FindObject("WhiteBoard/RecPoints/PHOS/SmP"); TObject* wPool = wPoolF->FindObject("SmartPoints"); if(!wPool) { - Error("GetWorkingPool", "Couldn't find Working Pool. Exit.") ; - exit(1); + Fatal("GetWorkingPool", "Couldn't find Working Pool") ; } return wPool; @@ -1115,5 +1112,5 @@ void AliPHOSEvalRecPoint::RemoveFromWorkingPool(TObject* obj) void AliPHOSEvalRecPoint::PrintWorkingPool() { // print pool of rec.points to stdout - ((TObjArray*)GetWorkingPool())->Print(""); + ((TObjArray*)GetWorkingPool())->Print(); }