]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSPIDv0.cxx
removing duplicated code (Christian)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSPIDv0.cxx
index ff914db04ac663284ee150fa86e4816b2e4aee67..f7957bfc18cabbc86accdeaa58e48abe6fb35834 100644 (file)
 
 /* $Id$ */
 
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.13  2005/05/28 14:19:04  schutz
+ * Compilation warnings fixed by T.P.
+ *
+ */
+
 //_________________________________________________________________________
 // Implementation version v0 of the PHOS particle identifier 
 // Particle identification based on the 
 //            Completely redesined by Dmitri Peressounko, March 2001
 
 // --- ROOT system ---
-#include "TROOT.h"
 #include "TTree.h"
-#include "TFile.h"
 #include "TF2.h"
 #include "TFormula.h"
 #include "TCanvas.h"
-#include "TFolder.h"
-#include "TSystem.h"
+
 #include "TBenchmark.h"
 // --- Standard library ---
 
 // --- AliRoot header files ---
-
+#include "AliLog.h"
 #include "AliRun.h"
 #include "AliGenerator.h"
-#include "AliPHOS.h"
 #include "AliPHOSPIDv0.h"
 #include "AliPHOSEmcRecPoint.h"
-#include "AliPHOSClusterizerv1.h"
 #include "AliPHOSTrackSegment.h"
-#include "AliPHOSTrackSegmentMakerv1.h"
 #include "AliPHOSRecParticle.h"
 #include "AliPHOSGeometry.h"
 #include "AliPHOSLoader.h"
 ClassImp( AliPHOSPIDv0) 
 
 //____________________________________________________________________________
-AliPHOSPIDv0::AliPHOSPIDv0():AliPHOSPID()
+AliPHOSPIDv0::AliPHOSPIDv0():
+  fTrackSegmentsTitle(""), 
+  fRecPointsTitle(""),
+  fRecParticlesTitle(""),
+  fIDOptions("dis time"),
+  fNEvent(0),
+  fClusterizer(0),
+  fTSMaker(0),
+  fFormula(0),
+  fDispersion(0.f),
+  fCpvEmcDistance(0.f),
+  fTimeGate(2.e-9f),
+  fRecParticlesInRun(0)
 { 
   // default ctor
-  fFormula           = 0 ;
-  fDispersion        = 0. ; 
-  fCpvEmcDistance    = 0 ; 
-  fTimeGate          = 2.e-9 ;
-  fEventFolderName    = "" ; 
-  fTrackSegmentsTitle= "" ; 
-  fRecPointsTitle    = "" ; 
-  fRecParticlesTitle = "" ; 
-  fIDOptions         = "dis time" ; 
-  fRecParticlesInRun = 0 ;
-  fClusterizer = 0;
-  fTSMaker = 0;
+  fEventFolderName = ""; 
 }
 
 //____________________________________________________________________________
-AliPHOSPIDv0::AliPHOSPIDv0(const char * evFolderName,const char * name) : AliPHOSPID(evFolderName, name)
+AliPHOSPIDv0::AliPHOSPIDv0(const char * evFolderName,const char * name) : 
+  AliPHOSPID(evFolderName, name),
+  fTrackSegmentsTitle(GetName()), 
+  fRecPointsTitle(GetName()),
+  fRecParticlesTitle(GetName()),
+  fIDOptions("dis time"),
+  fNEvent(0),
+  fClusterizer(0),
+  fTSMaker(0),
+  fFormula(new TFormula("LambdaCuts","(x>1)*(x<2.5)*(y>0)*(y<x)")),
+  fDispersion(2.f),
+  fCpvEmcDistance(3.f),
+  fTimeGate(2.e-9f),
+  fRecParticlesInRun(0)
 { 
   //ctor with the indication on where to look for the track segments
-
-  fFormula        = new TFormula("LambdaCuts","(x>1)*(x<2.5)*(y>0)*(y<x)") ;   
-  fDispersion     = 2.0 ; 
-  fCpvEmcDistance = 3.0 ;
-  fTimeGate          = 2.e-9 ;
-  fEventFolderName     = GetTitle() ; 
-  fTrackSegmentsTitle = GetName();
-  fRecPointsTitle     = GetName();
-  fRecParticlesTitle  = GetName();
-  fIDOptions          = "dis time" ;
-    
-  fRecParticlesInRun = 0 ; 
-
+  fEventFolderName    = GetTitle() ; 
   Init() ;
+}
 
+//____________________________________________________________________________
+AliPHOSPIDv0::AliPHOSPIDv0(const AliPHOSPIDv0 & rhs) :
+  AliPHOSPID(rhs),
+  fTrackSegmentsTitle(rhs.fTrackSegmentsTitle), 
+  fRecPointsTitle(rhs.fRecPointsTitle),
+  fRecParticlesTitle(rhs.fRecParticlesTitle),
+  fIDOptions(rhs.fIDOptions),
+  fNEvent(rhs.fNEvent),
+  fClusterizer(rhs.fClusterizer),
+  fTSMaker(rhs.fTSMaker),
+  fFormula(rhs.fFormula),
+  fDispersion(rhs.fDispersion),
+  fCpvEmcDistance(rhs.fCpvEmcDistance),
+  fTimeGate(rhs.fTimeGate),
+  fRecParticlesInRun(rhs.fRecParticlesInRun)
+{
+  //Copy ctor, the same as compiler-generated, possibly wrong if
+  //someone implements dtor correctly.
+}
+  
+//____________________________________________________________________________
+AliPHOSPIDv0 & AliPHOSPIDv0::operator = (const AliPHOSPIDv0 & rhs)
+{
+  //Copy-assignment, emulates compiler generated, possibly wrong.
+  AliPHOSPID::operator = (rhs);
+  fTrackSegmentsTitle = rhs.fTrackSegmentsTitle;
+  fRecPointsTitle = rhs.fRecPointsTitle;
+  fRecParticlesTitle = rhs.fRecParticlesTitle;
+  fIDOptions = rhs.fIDOptions;
+  fNEvent = rhs.fNEvent;
+  fClusterizer = rhs.fClusterizer;
+  fTSMaker = rhs.fTSMaker;
+  fFormula = rhs.fFormula;
+  fDispersion = rhs.fDispersion;
+  fCpvEmcDistance = rhs.fCpvEmcDistance;
+  fTimeGate = rhs.fTimeGate;
+  fRecParticlesInRun = rhs.fRecParticlesInRun;
+
+  return *this;
 }
 
 //____________________________________________________________________________
 AliPHOSPIDv0::~AliPHOSPIDv0()
-{ 
+{
+  //Empty dtor, fFormula leaks 
 }
 
 //____________________________________________________________________________
@@ -176,14 +220,15 @@ void  AliPHOSPIDv0::Exec(Option_t * option)
   AliRunLoader* runget = AliRunLoader::GetRunLoader(GetTitle());
   if(runget == 0x0) 
    {
-     Error("Exec","Can not find run getter in event folder \"%s\"",GetTitle());
+     AliError(Form("Can not find run getter in event folder \"%s\"",
+                  GetTitle()));
      return;
    }
   
   AliPHOSLoader* gime = dynamic_cast<AliPHOSLoader*>(runget->GetLoader("PHOSLoader"));
   if ( gime == 0 ) 
    {
-     Error("Exec","Could not obtain the Loader object !"); 
+     AliError("Could not obtain the Loader object !"); 
      return ;
    } 
 
@@ -197,7 +242,9 @@ void  AliPHOSPIDv0::Exec(Option_t * option)
   
   for(ievent = 0; ievent < nevents; ievent++){
     runget->GetEvent(ievent);
-    Info("Exec", "event %d %d %d", ievent, gime->EmcRecPoints(), gime->TrackSegments()) ;
+    AliInfo(Form("event %d %d %d", 
+                ievent, gime->EmcRecPoints(), 
+                gime->TrackSegments())) ;
     MakeRecParticles() ;
     
     WriteRecParticles();
@@ -212,8 +259,9 @@ void  AliPHOSPIDv0::Exec(Option_t * option)
   
   if(strstr(option,"tim")){
     gBenchmark->Stop("PHOSPID");
-    Info("Exec", "took %f seconds for PID %f seconds per event", 
-        gBenchmark->GetCpuTime("PHOSPID"), gBenchmark->GetCpuTime("PHOSPID")/nevents) ; 
+    AliInfo(Form("took %f seconds for PID %f seconds per event", 
+                gBenchmark->GetCpuTime("PHOSPID"), 
+                gBenchmark->GetCpuTime("PHOSPID")/nevents)) ; 
   }
   
 }
@@ -226,14 +274,15 @@ void AliPHOSPIDv0::Init()
   AliRunLoader* runget = AliRunLoader::GetRunLoader(GetTitle());
   if(runget == 0x0) 
    {
-     Error("Exec","Can not find run getter in event folder \"%s\"",GetTitle());
+     AliError(Form("Can not find run getter in event folder \"%s\"",
+                  GetTitle()));
      return;
    }
   
   AliPHOSLoader* gime = dynamic_cast<AliPHOSLoader*>(runget->GetLoader("PHOSLoader"));
   if ( gime == 0 ) 
    {
-     Error("Exec","Could not obtain the Loader object !"); 
+     AliError("Could not obtain the Loader object !"); 
      return ;
    } 
    
@@ -243,7 +292,9 @@ void AliPHOSPIDv0::Init()
 }
 
 //____________________________________________________________________________
-void  AliPHOSPIDv0::MakeRecParticles(){
+void  AliPHOSPIDv0::MakeRecParticles()
+{
+  // Reconstructs the particles from the tracksegments
 
   TString taskName(GetName()) ; 
   taskName.Remove(taskName.Index(Version())-1) ;
@@ -251,14 +302,15 @@ void  AliPHOSPIDv0::MakeRecParticles(){
   AliRunLoader* runget = AliRunLoader::GetRunLoader(GetTitle());
   if(runget == 0x0) 
    {
-     Error("Exec","Can not find run getter in event folder \"%s\"",GetTitle());
+     AliError(Form("Can not find run getter in event folder \"%s\"",
+                  GetTitle()));
      return;
    }
   
   AliPHOSLoader* gime = dynamic_cast<AliPHOSLoader*>(runget->GetLoader("PHOSLoader"));
   if ( gime == 0 ) 
    {
-     Error("Exec","Could not obtain the Loader object !"); 
+     AliError("Could not obtain the Loader object !"); 
      return ;
    } 
 
@@ -340,7 +392,7 @@ void  AliPHOSPIDv0::MakeRecParticles(){
 }
 
 //____________________________________________________________________________
-void  AliPHOSPIDv0:: Print() const
+void  AliPHOSPIDv0:: Print(const Option_t *) const
 {
   // Print the parameters used for the particle type identification
   TString message ; 
@@ -352,19 +404,20 @@ void  AliPHOSPIDv0:: Print() const
   message += "    RecParticles Branch title   %s\n" ;  
   message += "with parameters:\n"  ;
   message += "    Maximal EMC - CPV  distance (cm) %f\n" ;
-  Info("Print", message.Data(),  
+  AliInfo(Form( message.Data(),  
        GetTitle(), 
        fRecPointsTitle.Data(), 
        fTrackSegmentsTitle.Data(), 
        fRecParticlesTitle.Data(), 
-       fCpvEmcDistance );
+       fCpvEmcDistance ));
 
   if(fIDOptions.Contains("dis",TString::kIgnoreCase ))
-    Info("Print", "                    dispersion cut %f",  fDispersion ) ;
+    AliInfo(Form("                    dispersion cut %f",  fDispersion )) ;
   if(fIDOptions.Contains("ell",TString::kIgnoreCase ))
-    Info("Print", "             Eliptic cuts function: %s",  fFormula->GetTitle() ) ;
+    AliInfo(Form("             Eliptic cuts function: %s",  
+                fFormula->GetTitle() )) ;
   if(fIDOptions.Contains("tim",TString::kIgnoreCase ))
-    Info("Print",  "             Time Gate used: %f",  fTimeGate) ;
+    AliInfo(Form("             Time Gate used: %f",  fTimeGate)) ;
 }
 
 //____________________________________________________________________________
@@ -379,18 +432,20 @@ void  AliPHOSPIDv0::SetShowerProfileCut(const char * formula)
 //____________________________________________________________________________
 void  AliPHOSPIDv0::WriteRecParticles()
 {
+  // Saves the reconstructed particles too a file
  
   AliRunLoader* runget = AliRunLoader::GetRunLoader(GetTitle());
   if(runget == 0x0) 
    {
-     Error("Exec","Can not find run getter in event folder \"%s\"",GetTitle());
+     AliError(Form("Can not find run getter in event folder \"%s\"",
+                  GetTitle()));
      return;
    }
   
   AliPHOSLoader* gime = dynamic_cast<AliPHOSLoader*>(runget->GetLoader("PHOSLoader"));
   if ( gime == 0 ) 
    {
-     Error("Exec","Could not obtain the Loader object !"); 
+     AliError("Could not obtain the Loader object !"); 
      return ;
    } 
 
@@ -509,14 +564,15 @@ void AliPHOSPIDv0::PrintRecParticles(Option_t * option)
   AliRunLoader* runget = AliRunLoader::GetRunLoader(GetTitle());
   if(runget == 0x0) 
    {
-     Error("WriteRecParticles","Can not find run getter in event folder \"%s\"",GetTitle());
+     AliError(Form("Can not find run getter in event folder \"%s\"",
+                  GetTitle()));
      return;
    }
   
   AliPHOSLoader* gime = dynamic_cast<AliPHOSLoader*>(runget->GetLoader("PHOSLoader"));
   if ( gime == 0 ) 
    {
-     Error("WriteRecParticles","Could not obtain the Loader object !"); 
+     AliError("Could not obtain the Loader object !"); 
      return ;
    } 
 
@@ -527,10 +583,11 @@ void AliPHOSPIDv0::PrintRecParticles(Option_t * option)
   TString message ; 
   message  = "event %d\n" ; 
   message += "       found %d RecParticles\n" ; 
-  Info("PrintRecParticles", message.Data(), gAlice->GetEvNumber(), recParticles->GetEntriesFast() ) ;   
+  AliInfo(Form(message.Data(), 
+              gAlice->GetEvNumber(), recParticles->GetEntriesFast() )) ;   
 
   if(strstr(option,"all")) {  // printing found TS
-    Info("PrintRecParticles","  PARTICLE   Index    \n"  ) ; 
+    AliInfo("  PARTICLE   Index"  ) ; 
    
     Int_t index ;
     for (index = 0 ; index < recParticles->GetEntries() ; index++) {
@@ -568,7 +625,8 @@ void AliPHOSPIDv0::PrintRecParticles(Option_t * option)
       //    Int_t nprimaries;
       //    primaries = rp->GetPrimaries(nprimaries);
       
-      Info("PrintRecParticles", "          %s     %d\n",  particle, rp->GetIndexInList()) ;
+      AliInfo(Form("          %s     %d",  
+                  particle, rp->GetIndexInList())) ;
     }
   }  
 }