]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSIhepAnalyze.cxx
ext track class
[u/mrichter/AliRoot.git] / PHOS / AliPHOSIhepAnalyze.cxx
index 04c78538b7465acd4406a236bda2c602a80a86a1..83e7bc654a815ba5712d404841bc71de1e4a5d81 100644 (file)
 
 // --- AliRoot header files ---
 
+#include "AliRunLoader.h"
+#include "AliHeader.h"
+
+// --- PHOS header files ---
+#include "AliLog.h"
 #include "AliPHOSIhepAnalyze.h"
 #include "AliPHOSDigit.h"
 #include "AliPHOSRecParticle.h"
-#include "AliPHOSGetter.h"
+#include "AliPHOSLoader.h"
 #include "AliPHOSHit.h"
 #include "AliPHOSImpact.h"
 #include "AliPHOSvImpacts.h"
 ClassImp(AliPHOSIhepAnalyze)
 
 //____________________________________________________________________________
-
-  AliPHOSIhepAnalyze::AliPHOSIhepAnalyze() {}
+AliPHOSIhepAnalyze::AliPHOSIhepAnalyze():
+  fRunLoader(0),
+  fFileName()
+{
+}
 
 //____________________________________________________________________________
-
-AliPHOSIhepAnalyze::AliPHOSIhepAnalyze(Text_t * name) : fFileName(name) {}
+AliPHOSIhepAnalyze::AliPHOSIhepAnalyze(Text_t * name) : 
+  fRunLoader(0),
+  fFileName(name)
+{
+  // Constructor: open a header file
+  fRunLoader = AliRunLoader::Open(fFileName);
+  if (fRunLoader == 0x0)
+   {
+     AliFatal(Form("Can not load event from file %s",name));
+   }
+}
 
 //____________________________________________________________________________
 void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
@@ -87,27 +104,44 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
   TList * fCpvImpacts ;
   TBranch * branchCPVimpacts;
 
-  AliPHOSGetter * please = AliPHOSGetter::GetInstance(GetFileName().Data(),"PHOS");
-  const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
+  
+  
+  AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
+  if ( please == 0 )
+   {
+     AliError(Form("Could not obtain the Loader object !"));
+     return ;
+   }
+
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
-  Info("AnalyzeCPV1", "Start CPV Analysis-1. Resolutions, cluster multiplicity and lengths") ;
+  AliInfo(Form("Start CPV Analysis-1. Resolutions, cluster multiplicity and lengths")) ;
   for ( Int_t ievent=0; ievent<Nevents; ievent++) {  
     
     Int_t nTotalGen = 0;
     Int_t nChargedGen = 0;
 
     Int_t ntracks = gAlice->GetEvent(ievent);
-    Info("AnalyzeCPV1", ">>>>>>>Event %d .<<<<<<<", ievent) ;
+    AliInfo(Form(">>>>>>>Event %d .<<<<<<<", ievent)) ;
     
+  /******************************************************************/
+      TTree* treeH = please->TreeH();
+      if (treeH == 0x0)
+       {
+        AliError(Form("Can not get TreeH"));
+         return;
+       }
+/******************************************************************/     
+
     // Get branch of CPV impacts
-    if (! (branchCPVimpacts =gAlice->TreeH()->GetBranch("PHOSCpvImpacts")) ) {
-      Info("AnalyzeCPV1", "Couldn't find branch PHOSCpvImpacts. Exit.") ;
-      return; 
+    if (! (branchCPVimpacts =treeH->GetBranch("PHOSCpvImpacts")) ) {
+      AliWarning(Form("Couldn't find branch PHOSCpvImpacts. Exit.")) ;
+      return;
     }
  
     // Create and fill arrays of hits for each CPV module
       
-    Int_t nOfModules = fGeom->GetNModules();
+    Int_t nOfModules = phosgeom->GetNModules();
     TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
     Int_t iModule = 0;         
     for (iModule=0; iModule < nOfModules; iModule++)
@@ -124,7 +158,7 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
       branchCPVimpacts ->SetAddress(&fCpvImpacts);
       branchCPVimpacts ->GetEntry(itrack,0);
 
-      for (Int_t iModule=0; iModule < nOfModules; iModule++) {
+      for (iModule=0; iModule < nOfModules; iModule++) {
        impacts = (TClonesArray *)fCpvImpacts->At(iModule);
        // Do loop over impacts in the module
        for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
@@ -148,7 +182,7 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
     // The distance from the rec.point to the closest hit
     // gives the coordinate resolution of the CPV
 
-    please->Event(ievent);
+    fRunLoader->GetEvent(ievent);
     TIter nextRP(please->CpvRecPoints()) ;
     AliPHOSCpvRecPoint *cpvRecPoint ;
     Float_t xgen, ygen, zgen;
@@ -181,14 +215,12 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
        ygen   = impact->Y();
        
        //Transform to the local ref.frame
-       const AliPHOSGeometry* geom = please->PHOSGeometry();
-       Float_t phig = geom->GetPHOSAngle(phosModule);
+       Float_t phig = phosgeom->GetPHOSAngle(phosModule);
        Float_t phi = TMath::Pi()/180*phig;
-       Float_t distanceIPtoCPV = geom->GetIPtoOuterCoverDistance() -
-                         (geom->GetFTPosition(1)+
-                          geom->GetFTPosition(2)+
-                          geom->GetCPVTextoliteThickness()
-                         )/2;
+       Float_t distanceIPtoCPV = phosgeom->GetIPtoOuterCoverDistance() -
+         (phosgeom->GetFTPosition(1)+
+          phosgeom->GetFTPosition(2)+
+          phosgeom->GetCPVTextoliteThickness())/2;
        Float_t xoL,yoL,zoL ;
 //     xoL = xgen*TMath::Cos(phig)+ygen*TMath::Sin(phig) ;
 //     yoL = -xgen*TMath::Sin(phig)+ygen*TMath::Cos(phig) + distanceIPtoCPV;
@@ -208,10 +240,10 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
          gImpY = ygen;
        }
       }
-      Info("AnalyzeCPV1", "Impact global (X,Z,Y) = %f %f %f", gImpX, gImpZ, gImpY);
-      Info("AnalyzeCPV1", "Impact local (X,Z) = %f %f", locImpX, locImpZ);
-      Info("AnalyzeCPV1", "Reconstructed (X,Z) = %f %f", xrec, zrec);
-      Info("AnalyzeCPV1", "dxmin %f dzmin %f", dxmin, dzmin);
+      AliInfo(Form("Impact global (X,Z,Y) = %f %f %f", gImpX, gImpZ, gImpY));
+      AliInfo(Form("Impact local (X,Z) = %f %f", locImpX, locImpZ));
+      AliInfo(Form("Reconstructed (X,Z) = %f %f", xrec, zrec));
+      AliInfo(Form("dxmin %f dzmin %f", dxmin, dzmin));
       hDx  ->Fill(dxmin);
       hDz  ->Fill(dzmin);
 //        hDr  ->Fill(TMath::Sqrt(r2min));
@@ -221,13 +253,13 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
     }
     delete [] hitsPerModule;
 
-    Info("AnalyzeCPV1", "++++ Event %d : total %d impacts, %d charged impacts and %d  rec. points.", 
-          ievent, nTotalGen, nChargedGen, please->CpvRecPoints()->GetEntries()) ;
+    AliInfo(Form("++++ Event %d : total %d impacts, %d charged impacts and %d  rec. points.", 
+          ievent, nTotalGen, nChargedGen, please->CpvRecPoints()->GetEntries())) ;
   }
   // Save histograms
 
   Text_t outputname[80] ;
-  sprintf(outputname,"%s.analyzed",GetFileName().Data());
+  snprintf(outputname,80,"%s.analyzed",GetFileName().Data());
   TFile output(outputname,"RECREATE");
   output.cd();
   
@@ -306,26 +338,41 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
   TList * fEmcImpacts ;
   TBranch * branchEMCimpacts;
 
-  AliPHOSGetter * please = AliPHOSGetter::GetInstance(GetFileName().Data(),"PHOS");
-  const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
+  AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
+  if ( please == 0 )
+   {
+     AliError(Form("Could not obtain the Loader object !"));
+     return ;
+   }
+
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
-  Info("AnalyzeCPV1", "Start EMC Analysis-1. Resolutions, cluster multiplicity and lengths");
+  AliInfo(Form("Start EMC Analysis-1. Resolutions, cluster multiplicity and lengths"));
   for ( Int_t ievent=0; ievent<Nevents; ievent++) {  
     
     Int_t nTotalGen = 0;
 
     Int_t ntracks = gAlice->GetEvent(ievent);
-    Info("AnalyzeCPV1", " >>>>>>>Event %d .<<<<<<<", ievent) ;
+
+    AliInfo(Form(" >>>>>>>Event %d .<<<<<<<", ievent)) ;
+
+    TTree* treeH = please->TreeH();
+    if (treeH == 0x0)
+     {
+      AliError(Form("Can not get TreeH"));
+       return;
+     }
+
     
     // Get branch of EMC impacts
-    if (! (branchEMCimpacts =gAlice->TreeH()->GetBranch("PHOSEmcImpacts")) ) {
-      Info("AnalyzeCPV1", " Couldn't find branch PHOSEmcImpacts. Exit.");
+    if (! (branchEMCimpacts =treeH->GetBranch("PHOSEmcImpacts")) ) {
+      AliWarning(Form(" Couldn't find branch PHOSEmcImpacts. Exit."));
       return;
     }
  
     // Create and fill arrays of hits for each EMC module
       
-    Int_t nOfModules = fGeom->GetNModules();
+    Int_t nOfModules = phosgeom->GetNModules();
     TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
     Int_t iModule = 0;         
     for (iModule=0; iModule < nOfModules; iModule++)
@@ -342,7 +389,7 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
       branchEMCimpacts ->SetAddress(&fEmcImpacts);
       branchEMCimpacts ->GetEntry(itrack,0);
 
-      for (Int_t iModule=0; iModule < nOfModules; iModule++) {
+      for (iModule=0; iModule < nOfModules; iModule++) {
        impacts = (TClonesArray *)fEmcImpacts->At(iModule);
        // Do loop over impacts in the module
        for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
@@ -364,7 +411,7 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
     // The distance from the rec.point to the closest hit
     // gives the coordinate resolution of the EMC
 
-    please->Event(ievent);
+    fRunLoader->GetEvent(ievent);
     TIter nextRP(please->EmcRecPoints()) ;
     AliPHOSEmcRecPoint *emcRecPoint ;
     Float_t xgen, ygen, zgen;
@@ -397,10 +444,9 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
       
        
        //Transform to the local ref.frame
-       const AliPHOSGeometry* geom = please->PHOSGeometry();
-       Float_t phig = geom->GetPHOSAngle(phosModule);
+       Float_t phig = phosgeom->GetPHOSAngle(phosModule);
        Float_t phi = TMath::Pi()/180*phig;
-       Float_t distanceIPtoEMC = geom->GetIPtoCrystalSurface();
+       Float_t distanceIPtoEMC = phosgeom->GetIPtoCrystalSurface();
        Float_t xoL,yoL,zoL ;
 //     xoL = xgen*TMath::Cos(phig)+ygen*TMath::Sin(phig) ;
 //     yoL = -xgen*TMath::Sin(phig)+ygen*TMath::Cos(phig) + distanceIPtoEMC;
@@ -420,10 +466,10 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
          gImpY = ygen;
        }
       }
-      Info("AnalyzeCPV1", " Impact global (X,Z,Y) = %f %f %f", gImpX, gImpZ, gImpY);
-      Info("AnalyzeCPV1", " Impact local (X,Z) = %f %f", locImpX, locImpZ);
-      Info("AnalyzeCPV1", " Reconstructed (X,Z) = %f %f", xrec, zrec);
-      Info("AnalyzeCPV1", " dxmin %f dzmin %f", dxmin, dzmin) ;
+      AliInfo(Form(" Impact global (X,Z,Y) = %f %f %f", gImpX, gImpZ, gImpY));
+      AliInfo(Form(" Impact local (X,Z) = %f %f", locImpX, locImpZ));
+      AliInfo(Form(" Reconstructed (X,Z) = %f %f", xrec, zrec));
+      AliInfo(Form(" dxmin %f dzmin %f", dxmin, dzmin)) ;
       hDx  ->Fill(dxmin);
       hDz  ->Fill(dzmin);
 //        hDr  ->Fill(TMath::Sqrt(r2min));
@@ -433,14 +479,14 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
     }
     delete [] hitsPerModule;
 
-    Info("AnalyzeCPV1", "++++ Event %d : total  %d impacts,  %d Emc rec. points.", 
-        ievent, nTotalGen, please->EmcRecPoints()->GetEntriesFast()) ; 
+    AliInfo(Form("++++ Event %d : total  %d impacts,  %d Emc rec. points.", 
+        ievent, nTotalGen, please->EmcRecPoints()->GetEntriesFast())) ; 
 
   }
   // Save histograms
 
   Text_t outputname[80] ;
-  sprintf(outputname,"%s.analyzed",GetFileName().Data());
+  snprintf(outputname,80,"%s.analyzed",GetFileName().Data());
   TFile output(outputname,"update");
   output.cd();
   
@@ -497,36 +543,49 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
   // 24 March 2001
 
 
-  TH1F* hDrijCpvR = new TH1F("DrijCpvR","Distance between reconstructed hits in CPV",140,0,50);
-  TH1F* hDrijCpvG = new TH1F("Drij_cpv_g","Distance between generated hits in CPV",140,0,50);
-  TH1F* hDrijCpvRatio = new TH1F("DrijCpvRatio","R_{ij}^{rec}/R_{ij}^{gen} in CPV",140,0,50);
+  TH1F* hDrijCPVr = new TH1F("Drij_cpv_r","Distance between reconstructed hits in CPV",140,0,50);
+  TH1F* hDrijCPVg = new TH1F("Drij_cpv_g","Distance between generated hits in CPV",140,0,50);
+  TH1F* hDrijCPVratio = new TH1F("Drij_cpv_ratio","R_{ij}^{rec}/R_{ij}^{gen} in CPV",140,0,50);
 
 //    TH1F* hT0 = new TH1F("hT0","Type of entering particle",20000,-10000,10000);
 
-  hDrijCpvR->Sumw2();
-  hDrijCpvG->Sumw2();
-  hDrijCpvRatio->Sumw2(); //correct treatment of errors
+  hDrijCPVr->Sumw2();
+  hDrijCPVg->Sumw2();
+  hDrijCPVratio->Sumw2(); //correct treatment of errors
 
   TList * fCpvImpacts = new TList();
   TBranch * branchCPVimpacts;
 
-  AliPHOSGetter * please = AliPHOSGetter::GetInstance(GetFileName().Data(),"PHOS");
-  const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
+  AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
+  if ( please == 0 )
+   {
+     AliError(Form("Could not obtain the Loader object !"));
+     return ;
+   }
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
+  fRunLoader->LoadHeader();
 
   for (Int_t nev=0; nev<Nevents; nev++) 
     { 
       printf("\n=================== Event %10d ===================\n",nev);
-      Int_t ntracks = gAlice->GetEvent(nev);
-      please->Event(nev);
+      fRunLoader->GetEvent(nev);
+      Int_t ntracks = fRunLoader->GetHeader()->GetNtrack();
     
-      Int_t nrecCPV = 0; // Reconstructed points in event
-      Int_t  ngenCPV = 0; // Impacts in event
+      Int_t nRecCPV = 0; // Reconstructed points in event
+      Int_t nGenCPV = 0; // Impacts in event
 
       // Get branch of CPV impacts
-      if (! (branchCPVimpacts =gAlice->TreeH()->GetBranch("PHOSCpvImpacts")) )  return;
+      TTree* treeH = please->TreeH();
+      if (treeH == 0x0)
+       {
+        AliError(Form("Can not get TreeH"));
+        return;
+       }
+
+      if (! (branchCPVimpacts =treeH->GetBranch("PHOSCpvImpacts")) )  return;
       
       // Create and fill arrays of hits for each CPV module
-      Int_t nOfModules = fGeom->GetNModules();
+      Int_t nOfModules = phosgeom->GetNModules();
       TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
       Int_t iModule = 0;       
       for (iModule=0; iModule < nOfModules; iModule++)
@@ -537,10 +596,10 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
           
       for (Int_t itrack=0; itrack<ntracks; itrack++) {
        branchCPVimpacts ->SetAddress(&fCpvImpacts);
-       Info("AnalyzeCPV1", " branchCPVimpacts ->SetAddress(&fCpvImpacts) OK.");
+       AliInfo(Form(" branchCPVimpacts ->SetAddress(&fCpvImpacts) OK."));
        branchCPVimpacts ->GetEntry(itrack,0);
 
-       for (Int_t iModule=0; iModule < nOfModules; iModule++) {
+       for (iModule=0; iModule < nOfModules; iModule++) {
          impacts = (TClonesArray *)fCpvImpacts->At(iModule);
          // Do loop over impacts in the module
          for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
@@ -569,8 +628,8 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
                Float_t dx = genHit1->X() - genHit2->X();
                Float_t dz = genHit1->Z() - genHit2->Z();
                Float_t dr = TMath::Sqrt(dx*dx + dz*dz);
-               hDrijCpvG->Fill(dr);
-//                     Info("AnalyzeCPV1", "(dx dz dr): %f %f", dx, dz);
+               hDrijCPVg->Fill(dr);
+//                     AliInfo(Form("(dx dz dr): %f %f", dx, dz));
              }
          }
       }
@@ -579,9 +638,9 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
   //--------- Combinatoric distance between rec. hits in CPV
 
       TObjArray* cpvRecPoints = please->CpvRecPoints();
-      nrecCPV =  cpvRecPoints->GetEntriesFast();
+      nRecCPV =  cpvRecPoints->GetEntriesFast();
 
-      if(nrecCPV)
+      if(nRecCPV)
        {
          AliPHOSCpvRecPoint* recHit1;
          AliPHOSCpvRecPoint* recHit2;
@@ -603,24 +662,24 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
                      Float_t dz = locpos1.Z() - locpos2.Z();                 
                      Float_t dr = TMath::Sqrt(dx*dx + dz*dz);
                      if(recHit1->GetPHOSMod() == recHit2->GetPHOSMod())
-                       hDrijCpvR->Fill(dr);
+                       hDrijCPVr->Fill(dr);
                    }
                }
            }   
        }
       
-      Info("AnalyzeCPV1", " Event %d . Total of %d hits, %d rec.points.", 
-          nev,  ngenCPV, nrecCPV) ; 
+      AliInfo(Form(" Event %d . Total of %d hits, %d rec.points.", 
+          nev, nGenCPV, nRecCPV)) ; 
     
       delete [] hitsPerModule;
 
     } // End of loop over events.
 
 
-//    hDrijCpvG->Draw();
-//    hDrijCpvR->Draw();
-  hDrijCpvRatio->Divide(hDrijCpvR,hDrijCpvG);
-  hDrijCpvRatio->Draw();
+//    hDrijCPVg->Draw();
+//    hDrijCPVr->Draw();
+  hDrijCPVratio->Divide(hDrijCPVr,hDrijCPVg);
+  hDrijCPVratio->Draw();
 
 //    hT0->Draw();
 
@@ -640,11 +699,16 @@ void AliPHOSIhepAnalyze::CpvSingle(Int_t nevents)
   TH1S *hNrpX = new TH1S("hNrpX","CPV rec.point Phi-length"  ,21,-0.5,20.5);
   TH1S *hNrpZ = new TH1S("hNrpZ","CPV rec.point Z-length"    ,21,-0.5,20.5);
  
-  AliPHOSGetter* gime = AliPHOSGetter::GetInstance(GetFileName().Data(),"PHOS");
+  AliPHOSLoader* gime = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
+  if ( gime == 0 )
+   {
+     AliError(Form("Could not obtain the Loader object !"));
+     return ;
+   }
   
   for(Int_t ievent=0; ievent<nevents; ievent++)
     {
-      gime->Event(ievent);
+      fRunLoader->GetEvent(ievent);
       if(gime->CpvRecPoints()->GetEntriesFast()>1) continue;
 
       AliPHOSCpvRecPoint* pt = (AliPHOSCpvRecPoint*)(gime->CpvRecPoints())->At(0);
@@ -661,15 +725,15 @@ void AliPHOSIhepAnalyze::CpvSingle(Int_t nevents)
        hNrpX->Fill(rpMultX);
        hNrpZ->Fill(rpMultZ);
        hChi2->Fill(((AliPHOSEvalRecPoint*)pt)->Chi2Dof());
-       Info("AnalyzeCPV1", "+++++ Event %d . (Mult,MultX,MultZ) = %d %d %d +++++", 
-            ievent, rpMult, rpMultX, rpMultZ) ;
+       AliInfo(Form("+++++ Event %d . (Mult,MultX,MultZ) = %d %d %d +++++", 
+            ievent, rpMult, rpMultX, rpMultZ)) ;
 
       }
 
     }
        
   Text_t outputname[80] ;
-  sprintf(outputname,"%s.analyzed.single",GetFileName().Data());
+  snprintf(outputname,80,"%s.analyzed.single",GetFileName().Data());
   TFile output(outputname,"RECREATE");
   output.cd();
     
@@ -714,29 +778,45 @@ void AliPHOSIhepAnalyze::CpvSingle(Int_t nevents)
   
 }
 
-void AliPHOSIhepAnalyze::HitsCPV(TClonesArray& hits, Int_t nev)
+void AliPHOSIhepAnalyze::HitsCPV(Int_t nev)
 {
   // Cumulative list of charged CPV impacts in event nev.
 
+  AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
+  if ( please == 0 )
+   {
+     AliError(Form("Could not obtain the Loader object !"));
+     return ;
+   }
+
+     
+  printf("\n=================== Event %10d ===================\n",nev);
+  //16.03.2011: DP. Code below seems to be obsollete
+  //Comment it to sutisfy Coverity
+/* 
   TList * fCpvImpacts ;
   TBranch * branchCPVimpacts;
 
-  AliPHOSGetter * please = AliPHOSGetter::GetInstance(GetFileName().Data(),"PHOS");
-  const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
-     
-  printf("\n=================== Event %10d ===================\n",nev);
-  Int_t ntracks = gAlice->GetEvent(nev);
-  please->Event(nev);
+  fRunLoader->GetEvent(nev);
+  Int_t ntracks = fRunLoader->GetHeader()->GetNtrack();
     
-//    Int_t nrecCPV = 0; // Reconstructed points in event // 01.10.2001
-//    Int_t  ngenCPV = 0; // Impacts in event
+//    Int_t nRecCPV = 0; // Reconstructed points in event // 01.10.2001
+//    Int_t nGenCPV = 0; // Impacts in event
 
   // Get branch of CPV impacts
-  if (! (branchCPVimpacts =gAlice->TreeH()->GetBranch("PHOSCpvImpacts")) )  return;
+   TTree* treeH = please->TreeH();
+   if (treeH == 0x0)
+    {
+      AliError(Form("Can not get TreeH"));
+      return;
+    }
+
+  if (! (branchCPVimpacts =treeH->GetBranch("PHOSCpvImpacts")) )  return;
       
   // Create and fill arrays of hits for each CPV module
-  Int_t nOfModules = fGeom->GetNModules();
+  Int_t nOfModules = phosgeom->GetNModules();
   TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
   Int_t iModule = 0;   
   for (iModule=0; iModule < nOfModules; iModule++)
@@ -747,10 +827,10 @@ void AliPHOSIhepAnalyze::HitsCPV(TClonesArray& hits, Int_t nev)
           
   for (Int_t itrack=0; itrack<ntracks; itrack++) {
     branchCPVimpacts ->SetAddress(&fCpvImpacts);
-    Info("AnalyzeCPV1", " branchCPVimpacts ->SetAddress(&fCpvImpacts) OK.");
+    AliInfo(Form(" branchCPVimpacts ->SetAddress(&fCpvImpacts) OK."));
     branchCPVimpacts ->GetEntry(itrack,0);
 
-    for (Int_t iModule=0; iModule < nOfModules; iModule++) {
+    for (iModule=0; iModule < nOfModules; iModule++) {
       impacts = (TClonesArray *)fCpvImpacts->At(iModule);
       // Do loop over impacts in the module
       for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
@@ -767,17 +847,20 @@ void AliPHOSIhepAnalyze::HitsCPV(TClonesArray& hits, Int_t nev)
     printf("CPV module %d has %d hits\n",iModule,nsum);
   }
 
+*/
+
+
 //    TList * fCpvImpacts ;
 //    TBranch * branchCPVimpacts;
 //    AliPHOSImpact* impact;
 //    TClonesArray* impacts;
 
-//    AliPHOSGetter * please = AliPHOSGetter::GetInstance(GetFileName().Data(),"PHOS");
+//    AliPHOSLoader * please = AliPHOSLoader::GetInstance(GetFileName().Data(),"PHOS");
 //    const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
 
 //    Int_t ntracks = gAlice->GetEvent(ievent);
 //    Int_t nOfModules = fGeom->GetNModules();
-//    Info("AnalyzeCPV1", " Tracks: "<<ntracks<<"  Modules: "<<nOfModules);
+//    AliInfo(Form(" Tracks: "<<ntracks<<"  Modules: "<<nOfModules));
 
 //    if (! (branchCPVimpacts =gAlice->TreeH()->GetBranch("PHOSCpvImpacts")) )  return;
 
@@ -785,27 +868,27 @@ void AliPHOSIhepAnalyze::HitsCPV(TClonesArray& hits, Int_t nev)
 //      branchCPVimpacts ->SetAddress(&fCpvImpacts);
 //      Info("AnalyzeCPV1", " branchCPVimpacts ->SetAddress(&fCpvImpacts) OK.");
 //      branchCPVimpacts ->GetEntry(itrack,0);
-//      Info("AnalyzeCPV1", " branchCPVimpacts ->GetEntry(itrack,0) OK.");
+//      Info(Form(" branchCPVimpacts ->GetEntry(itrack,0) OK."));
     
 //      for (Int_t iModule=0; iModule < nOfModules; iModule++) {
 //        impacts = (TClonesArray *)fCpvImpacts->At(iModule);
-//        Info("AnalyzeCPV1", " fCpvImpacts->At(iModule) OK.");
+//        Info(Form(" fCpvImpacts->At(iModule) OK."));
 //        // Do loop over impacts in the module
 //        for (Int_t iImpact=0; iImpact<impacts->GetEntries(); iImpact++) {
 //     impact=(AliPHOSImpact*)impacts->At(iImpact);
 //     impact->Print();
 //     if(IsCharged(impact->GetPid()))
 //       {
-//         Info("AnalyzeCPV1", " Add charged hit..";
+//         Info(Form(" Add charged hit.."));
 //         new(hits[hits.GetEntriesFast()]) AliPHOSImpact(*impact);
-//         Info("AnalyzeCPV1", "done.");
+//         Info(Form("done."));
 //       }
 //        }
 //      }
 //      fCpvImpacts->Clear();
 //    }
 
-//    Info("AnalyzeCPV1", " PHOS event "<<ievent<<": "<<hits.GetEntries()<<" charged CPV hits.");
+//    Info(Form(" PHOS event "<<ievent<<": "<<hits.GetEntries()<<" charged CPV hits."));
 
 }
 
@@ -828,13 +911,13 @@ void AliPHOSIhepAnalyze::HitsCPV(TClonesArray& hits, Int_t nev)
 //     }
 //      }
 
-//    Info("AnalyzeCPV1", " PHOS module "<<iModule<<": "<<hits->GetEntries()<<" charged CPV hits.");
+//    Info(Form(" PHOS module "<<iModule<<": "<<hits->GetEntries()<<" charged CPV hits."));
 //  }
 
 Bool_t AliPHOSIhepAnalyze::IsCharged(Int_t pdgCode)
 {
   // For HIJING
-  Info("AnalyzeCPV1", "pdgCode %d", pdgCode);
+  AliInfo(Form("pdgCode %d", pdgCode));
   if(pdgCode==211 || pdgCode==-211 || pdgCode==321 || pdgCode==-321 || pdgCode==11 || pdgCode==-11 || pdgCode==2212 || pdgCode==-2212) return kTRUE;
   else
     return kFALSE;