Adding statistical function (Marian)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSIhepAnalyze.cxx
index ea129c8..b01381e 100644 (file)
@@ -43,6 +43,7 @@
 #include "AliHeader.h"
 
 // --- PHOS header files ---
+#include "AliLog.h"
 #include "AliPHOSIhepAnalyze.h"
 #include "AliPHOSDigit.h"
 #include "AliPHOSRecParticle.h"
 ClassImp(AliPHOSIhepAnalyze)
 
 //____________________________________________________________________________
-
-AliPHOSIhepAnalyze::AliPHOSIhepAnalyze() 
- {
-   fRunLoader = 0x0;
- }
+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)
    {
-     Fatal("AliPHOSIhepAnalyze","Can not load event from file %s",name);
+     AliFatal(Form("Can not load event from file %s",name));
    }
- }
+}
 
 //____________________________________________________________________________
 void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
@@ -106,33 +109,33 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
   AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
   if ( please == 0 )
    {
-     Error("AnalyzeCPV1","Could not obtain the Loader object !");
+     AliError(Form("Could not obtain the Loader object !"));
      return ;
    }
 
   const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
 
-  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)
        {
-         Error("AnalyzeCPV1","Can not get TreeH");
+        AliError(Form("Can not get TreeH"));
          return;
        }
 /******************************************************************/     
 
     // Get branch of CPV impacts
     if (! (branchCPVimpacts =treeH->GetBranch("PHOSCpvImpacts")) ) {
-      Info("AnalyzeCPV1", "Couldn't find branch PHOSCpvImpacts. Exit.") ;
+      AliWarning(Form("Couldn't find branch PHOSCpvImpacts. Exit.")) ;
       return;
     }
  
@@ -239,10 +242,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));
@@ -252,8 +255,8 @@ 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
 
@@ -340,32 +343,32 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
   AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
   if ( please == 0 )
    {
-     Error("AnalyzeEMC1","Could not obtain the Loader object !");
+     AliError(Form("Could not obtain the Loader object !"));
      return ;
    }
 
   const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
 
-  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)
      {
-       Error("AnalyzeEMC1","Can not get TreeH");
+      AliError(Form("Can not get TreeH"));
        return;
      }
 
     
     // Get branch of EMC impacts
     if (! (branchEMCimpacts =treeH->GetBranch("PHOSEmcImpacts")) ) {
-      Info("AnalyzeCPV1", " Couldn't find branch PHOSEmcImpacts. Exit.");
+      AliWarning(Form(" Couldn't find branch PHOSEmcImpacts. Exit."));
       return;
     }
  
@@ -466,10 +469,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));
@@ -479,8 +482,8 @@ 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
@@ -543,15 +546,15 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
   // 24 March 2001
 
 
-  TH1F* hDrij_cpv_r = new TH1F("Drij_cpv_r","Distance between reconstructed hits in CPV",140,0,50);
-  TH1F* hDrij_cpv_g = new TH1F("Drij_cpv_g","Distance between generated hits in CPV",140,0,50);
-  TH1F* hDrij_cpv_ratio = new TH1F("Drij_cpv_ratio","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);
 
-  hDrij_cpv_r->Sumw2();
-  hDrij_cpv_g->Sumw2();
-  hDrij_cpv_ratio->Sumw2(); //correct treatment of errors
+  hDrijCPVr->Sumw2();
+  hDrijCPVg->Sumw2();
+  hDrijCPVratio->Sumw2(); //correct treatment of errors
 
   TList * fCpvImpacts = new TList();
   TBranch * branchCPVimpacts;
@@ -559,7 +562,7 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
   AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
   if ( please == 0 )
    {
-     Error("AnalyzeCPV2","Could not obtain the Loader object !");
+     AliError(Form("Could not obtain the Loader object !"));
      return ;
    }
   const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
@@ -571,14 +574,14 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
       fRunLoader->GetEvent(nev);
       Int_t ntracks = fRunLoader->GetHeader()->GetNtrack();
     
-      Int_t nrec_cpv = 0; // Reconstructed points in event
-      Int_t ngen_cpv = 0; // Impacts in event
+      Int_t nRecCPV = 0; // Reconstructed points in event
+      Int_t nGenCPV = 0; // Impacts in event
 
       // Get branch of CPV impacts
       TTree* treeH = please->TreeH();
       if (treeH == 0x0)
        {
-        Error("AnalyzeCPV2","Can not get TreeH");
+        AliError(Form("Can not get TreeH"));
         return;
        }
 
@@ -596,7 +599,7 @@ 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++) {
@@ -616,20 +619,20 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
        Int_t nsum = hitsPerModule[iModule]->GetEntriesFast();
        printf("CPV module %d has %d hits\n",iModule,nsum);
 
-        AliPHOSImpact* GenHit1;
-        AliPHOSImpact* GenHit2;
+        AliPHOSImpact* genHit1;
+        AliPHOSImpact* genHit2;
         Int_t irp1,irp2;
        for(irp1=0; irp1< nsum; irp1++)
          {
-           GenHit1 = (AliPHOSImpact*)((hitsPerModule[iModule])->At(irp1));
+           genHit1 = (AliPHOSImpact*)((hitsPerModule[iModule])->At(irp1));
            for(irp2 = irp1+1; irp2<nsum; irp2++)
              {
-               GenHit2 = (AliPHOSImpact*)((hitsPerModule[iModule])->At(irp2));
-               Float_t dx = GenHit1->X() - GenHit2->X();
-               Float_t dz = GenHit1->Z() - GenHit2->Z();
+               genHit2 = (AliPHOSImpact*)((hitsPerModule[iModule])->At(irp2));
+               Float_t dx = genHit1->X() - genHit2->X();
+               Float_t dz = genHit1->Z() - genHit2->Z();
                Float_t dr = TMath::Sqrt(dx*dx + dz*dz);
-               hDrij_cpv_g->Fill(dr);
-//                     Info("AnalyzeCPV1", "(dx dz dr): %f %f", dx, dz);
+               hDrijCPVg->Fill(dr);
+//                     AliInfo(Form("(dx dz dr): %f %f", dx, dz));
              }
          }
       }
@@ -638,48 +641,48 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
   //--------- Combinatoric distance between rec. hits in CPV
 
       TObjArray* cpvRecPoints = please->CpvRecPoints();
-      nrec_cpv =  cpvRecPoints->GetEntriesFast();
+      nRecCPV =  cpvRecPoints->GetEntriesFast();
 
-      if(nrec_cpv)
+      if(nRecCPV)
        {
-         AliPHOSCpvRecPoint* RecHit1;
-         AliPHOSCpvRecPoint* RecHit2;
-         TIter next_cpv_rec1(cpvRecPoints);
-         while(TObject* obj1 = next_cpv_rec1() )
+         AliPHOSCpvRecPoint* recHit1;
+         AliPHOSCpvRecPoint* recHit2;
+         TIter nextCPVrec1(cpvRecPoints);
+         while(TObject* obj1 = nextCPVrec1() )
            {
-             TIter next_cpv_rec2(cpvRecPoints);
-             while (TObject* obj2 = next_cpv_rec2())
+             TIter nextCPVrec2(cpvRecPoints);
+             while (TObject* obj2 = nextCPVrec2())
                {
                  if(!obj2->IsEqual(obj1))
                    {
-                     RecHit1 = (AliPHOSCpvRecPoint*)obj1;
-                     RecHit2 = (AliPHOSCpvRecPoint*)obj2;
+                     recHit1 = (AliPHOSCpvRecPoint*)obj1;
+                     recHit2 = (AliPHOSCpvRecPoint*)obj2;
                      TVector3 locpos1;
                      TVector3 locpos2;
-                     RecHit1->GetLocalPosition(locpos1);
-                     RecHit2->GetLocalPosition(locpos2);
+                     recHit1->GetLocalPosition(locpos1);
+                     recHit2->GetLocalPosition(locpos2);
                      Float_t dx = locpos1.X() - locpos2.X();
                      Float_t dz = locpos1.Z() - locpos2.Z();                 
                      Float_t dr = TMath::Sqrt(dx*dx + dz*dz);
-                     if(RecHit1->GetPHOSMod() == RecHit2->GetPHOSMod())
-                       hDrij_cpv_r->Fill(dr);
+                     if(recHit1->GetPHOSMod() == recHit2->GetPHOSMod())
+                       hDrijCPVr->Fill(dr);
                    }
                }
            }   
        }
       
-      Info("AnalyzeCPV1", " Event %d . Total of %d hits, %d rec.points.", 
-          nev, ngen_cpv, nrec_cpv) ; 
+      AliInfo(Form(" Event %d . Total of %d hits, %d rec.points.", 
+          nev, nGenCPV, nRecCPV)) ; 
     
       delete [] hitsPerModule;
 
     } // End of loop over events.
 
 
-//    hDrij_cpv_g->Draw();
-//    hDrij_cpv_r->Draw();
-  hDrij_cpv_ratio->Divide(hDrij_cpv_r,hDrij_cpv_g);
-  hDrij_cpv_ratio->Draw();
+//    hDrijCPVg->Draw();
+//    hDrijCPVr->Draw();
+  hDrijCPVratio->Divide(hDrijCPVr,hDrijCPVg);
+  hDrijCPVratio->Draw();
 
 //    hT0->Draw();
 
@@ -702,7 +705,7 @@ void AliPHOSIhepAnalyze::CpvSingle(Int_t nevents)
   AliPHOSLoader* gime = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
   if ( gime == 0 )
    {
-     Error("CpvSingle","Could not obtain the Loader object !");
+     AliError(Form("Could not obtain the Loader object !"));
      return ;
    }
   
@@ -725,8 +728,8 @@ 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)) ;
 
       }
 
@@ -778,7 +781,7 @@ 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.
 
@@ -788,7 +791,7 @@ void AliPHOSIhepAnalyze::HitsCPV(TClonesArray& hits, Int_t nev)
   AliPHOSLoader* please = dynamic_cast<AliPHOSLoader*>(fRunLoader->GetLoader("PHOSLoader"));
   if ( please == 0 )
    {
-     Error("HitsCPV","Could not obtain the Loader object !");
+     AliError(Form("Could not obtain the Loader object !"));
      return ;
    }
   const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
@@ -798,14 +801,14 @@ void AliPHOSIhepAnalyze::HitsCPV(TClonesArray& hits, Int_t nev)
   fRunLoader->GetEvent(nev);
   Int_t ntracks = fRunLoader->GetHeader()->GetNtrack();
     
-//    Int_t nrec_cpv = 0; // Reconstructed points in event // 01.10.2001
-//    Int_t ngen_cpv = 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
    TTree* treeH = please->TreeH();
    if (treeH == 0x0)
     {
-      Error("CPVSingle","Can not get TreeH");
+      AliError(Form("Can not get TreeH"));
       return;
     }
 
@@ -823,7 +826,7 @@ 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++) {
@@ -853,7 +856,7 @@ void AliPHOSIhepAnalyze::HitsCPV(TClonesArray& hits, Int_t nev)
 
 //    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;
 
@@ -861,27 +864,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."));
 
 }
 
@@ -904,14 +907,14 @@ 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 pdg_code)
+Bool_t AliPHOSIhepAnalyze::IsCharged(Int_t pdgCode)
 {
   // For HIJING
-  Info("AnalyzeCPV1", "pdg_code %d", pdg_code);
-  if(pdg_code==211 || pdg_code==-211 || pdg_code==321 || pdg_code==-321 || pdg_code==11 || pdg_code==-11 || pdg_code==2212 || pdg_code==-2212) return kTRUE;
+  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;
 }