]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSEvalRecPoint.cxx
Removing warnings (icc), adding more detailed description
[u/mrichter/AliRoot.git] / PHOS / AliPHOSEvalRecPoint.cxx
index e68a29f32ad631ab5e4499930ab8e46d46c2e6a7..59311ddc03c44f6edcfc60c47caa851452afeb94 100644 (file)
 #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; 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);
   }
@@ -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; iter<nIter; iter++)
     {
@@ -444,7 +445,7 @@ void AliPHOSEvalRecPoint::TwoGam(Float_t* gamma1, Float_t* gamma2)
 
       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);
@@ -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; 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;     
@@ -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; iter<nIter; iter++)
     {
@@ -722,7 +723,7 @@ void AliPHOSEvalRecPoint::EvaluatePosition()
 
          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);
@@ -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; 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);
                    }
@@ -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; 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);
@@ -994,7 +993,7 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima()
       //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;
@@ -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();
 }