small bug fixes
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 14 Jul 2009 16:23:53 +0000 (16:23 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 14 Jul 2009 16:23:53 +0000 (16:23 +0000)
PWG0/multiplicity/AliMultiplicityCorrection.cxx
PWG0/multiplicity/AliMultiplicityCorrection.h
PWG0/multiplicity/AliMultiplicityTask.cxx
PWG0/multiplicity/correct.C
PWG0/multiplicity/plots.C

index 187ba41..15699af 100644 (file)
@@ -720,7 +720,7 @@ void AliMultiplicityCorrection::DrawHistograms()
 }
 
 //____________________________________________________________________
-void AliMultiplicityCorrection::DrawComparison(const char* name, Int_t inputRange, Bool_t fullPhaseSpace, Bool_t /*normalizeESD*/, TH1* mcHist, Bool_t simple)
+void AliMultiplicityCorrection::DrawComparison(const char* name, Int_t inputRange, Bool_t fullPhaseSpace, Bool_t /*normalizeESD*/, TH1* mcHist, Bool_t simple, EventType eventType)
 {
   // draw comparison plots
 
@@ -780,7 +780,11 @@ void AliMultiplicityCorrection::DrawComparison(const char* name, Int_t inputRang
   // for that we convolute the response matrix with the gathered result
   // if normalizeESD is not set, the histogram is already normalized, this needs to be passed to CalculateMultiplicityESD
   TH1* tmpESDEfficiencyRecorrected = (TH1*) fMultiplicityESDCorrected[esdCorrId]->Clone("tmpESDEfficiencyRecorrected");
+  
+  // undo trigger, vertex efficiency correction
+  fCurrentEfficiency = GetEfficiency(inputRange, eventType);
   tmpESDEfficiencyRecorrected->Multiply(fCurrentEfficiency);
+  
   TH2* convoluted = CalculateMultiplicityESD(tmpESDEfficiencyRecorrected, esdCorrId);
   TH1* convolutedProj = convoluted->ProjectionY("convolutedProj", -1, -1, "e");
   if (convolutedProj->Integral() > 0)
index 0ff4a34..2281789 100644 (file)
@@ -50,7 +50,7 @@ class AliMultiplicityCorrection : public TNamed {
     Bool_t LoadHistograms(const Char_t* dir = 0);
     void SaveHistograms(const char* dir = 0);
     void DrawHistograms();
-    void DrawComparison(const char* name, Int_t inputRange, Bool_t fullPhaseSpace, Bool_t normalizeESD, TH1* mcHist, Bool_t simple = kFALSE);
+    void DrawComparison(const char* name, Int_t inputRange, Bool_t fullPhaseSpace, Bool_t normalizeESD, TH1* mcHist, Bool_t simple = kFALSE, EventType eventType = kTrVtx);
 
     Int_t ApplyMinuitFit(Int_t inputRange, Bool_t fullPhaseSpace, EventType eventType, Bool_t check = kFALSE, TH1* initialConditions = 0);
 
index 7cf4de0..79ebd54 100644 (file)
@@ -215,6 +215,7 @@ void AliMultiplicityTask::Exec(Option_t*)
   }
 
   Bool_t eventTriggered = AliPWG0Helper::IsEventTriggered(fESD, fTrigger);
+  //Printf("%lld", fESD->GetTriggerMask());
 
   const AliESDVertex* vtxESD = AliPWG0Helper::GetVertex(fESD, fAnalysisMode);
   Bool_t eventVertex = (vtxESD != 0);
@@ -839,5 +840,5 @@ void AliMultiplicityTask::Terminate(Option_t *)
 
   file->Close();
 
-  Printf("Writting result to multiplicity.root");
+  Printf("Written result to multiplicity.root");
 }
index df19334..9eb856c 100644 (file)
@@ -74,7 +74,7 @@ void correct(const char* fileNameMC = "multiplicityMC.root", const char* folder
     TH2F* hist = esd->GetMultiplicityESD(hID);
     TH2F* hist2 = esd->GetMultiplicityMC(hID, eventType);
   
-    mult->SetMultiplicityESD(histID, hist);
+    mult->SetMultiplicityESD(hID, hist);
   
     // small hack to get around charge conservation for full phase space ;-)
     if (fullPhaseSpace)
index 3927aa6..6b7e73f 100644 (file)
@@ -2907,6 +2907,11 @@ TH1* SystematicsSummary(Bool_t tpc = 0, Bool_t nsd = kTRUE)
   legend->Draw();
 
   canvas->SaveAs(canvas->GetName());
+  
+  file = TFile::Open(Form("%s_syst_error.root", (tpc) ? "tpc" : "spd"), "RECREATE");
+  totalINEL->Write("inel_1");
+  totalNSD->Write("nsd_1");
+  file->Close();
 
   return (nsd) ? totalNSD : totalINEL;
 }
@@ -3060,6 +3065,11 @@ void finalPlot2(Bool_t tpc = 0)
   
   TList list;
   
+  // get syst error
+  file = TFile::Open(Form("%s_syst_error.root", (tpc) ? "tpc" : "spd"));
+  TH1* totalINEL = (TH1*) file->Get("inel_1");
+  TH1* totalNSD = (TH1*) file->Get("nsd_1");
+  
   Int_t count = 0;
   for (AliMultiplicityCorrection::EventType eventType = AliMultiplicityCorrection::kINEL; eventType <= AliMultiplicityCorrection::kNSD; eventType++)
   {
@@ -3084,7 +3094,8 @@ void finalPlot2(Bool_t tpc = 0)
       //result->SetStats(kFALSE);
     
       // systematic error
-      TH1* error = SystematicsSummary(tpc, (eventType == AliMultiplicityCorrection::kNSD));
+      //TH1* error = SystematicsSummary(tpc, (eventType == AliMultiplicityCorrection::kNSD));
+      TH1* error = (eventType == AliMultiplicityCorrection::kNSD) ? totalNSD : totalINEL;
       
       TH1* systError = (TH1*) result->Clone("systError");
       // small hack until we have syst. errors for all eta ranges