#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;
// 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);
}
-AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(Int_t i, Bool_t cpv) : AliPHOSCpvRecPoint()
+AliPHOSEvalRecPoint::AliPHOSEvalRecPoint(Int_t i, Bool_t cpv) : fEventFolderName(AliConfig::fgkDefaultEventFolderName)
{
// ctor
fChi2Dof=-111;
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;
}
Int_t nDigits = rp->GetMultiplicity();
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];
this->AddDigit(*digit,eDigit);
}
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;
// 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()) {
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);
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);
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; iter<nIter; iter++)
{
for(Int_t 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);
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; iDigit<nDigits; iDigit++)
{
- AliPHOSDigit* digit = (AliPHOSDigit*)fGetter->Digits()->At( digits[iDigit] );
+ AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] );
Int_t relid[4] ;
fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
Float_t x,z;
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) ;
newRP->AddDigit(*digit,eDigit);
}
Info("UnfoldTwoMergedPoints", "======= Split: daughter rec point %d =================", iMax) ;
- newRP->Print("");
+ newRP->Print();
}
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; iter<nIter; iter++)
{
Float_t* energies = GetEnergiesList();
Int_t* digits = GetDigitsList();
- 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);
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();
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;
for(Int_t iDigit=0; iDigit<rp->GetDigitsMultiplicity(); 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);
}
delete rp;
Info("MergeClosePoint", "++++++ Resulting point: ++++++++") ;
- this->Print("");
+ this->Print();
break;
}
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()) {
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);
for(iDigit=0; iDigit<nDigits; iDigit++)
{
- AliPHOSDigit* digit = (AliPHOSDigit*)fGetter->Digits()->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);
//Neighbous ( matrix 3x3 around the local maximum)
for(Int_t iDigit=0; iDigit<nDigits; iDigit++)
{
- AliPHOSDigit* digit = (AliPHOSDigit*)fGetter->Digits()->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;
newRP->EvalLocalPosition(logWeight,digits);
Info("UnfoldLocalMaxima", "======= Unfold: daughter rec point %d =================", iMax) ;
- newRP->Print("");
+ newRP->Print();
}
// RemoveFromWorkingPool(this);
}
-void AliPHOSEvalRecPoint::PrintPoint(Option_t* opt)
+void AliPHOSEvalRecPoint::PrintPoint()
{
// print rec.point to stdout
- AliPHOSCpvRecPoint::Print(opt);
+ AliPHOSCpvRecPoint::Print();
TVector3 lpos;
GetLocalPosition(lpos);
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;
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;
void AliPHOSEvalRecPoint::PrintWorkingPool()
{
// print pool of rec.points to stdout
- ((TObjArray*)GetWorkingPool())->Print("");
+ ((TObjArray*)GetWorkingPool())->Print();
}