]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/FORWARD/analysis2/corrs/DrawCorrELoss.C
Fixes for energy loss generation
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / corrs / DrawCorrELoss.C
index d4316c16b983f7143328fa4c08e87d231546d404..5e685764bfd4886122dca469c7bbca6f8bf47f4d 100644 (file)
@@ -35,14 +35,6 @@ DrawCorrELoss(ULong_t runNo, UShort_t sys, UShort_t sNN, Short_t field,
   gROOT->LoadMacro(Form("%s/scripts/SummaryDrawer.C", fwd));
   gROOT->LoadMacro(Form("%s/corrs/CorrDrawer.C", fwd));
 
-  // --- Set limits on fits the energy -------------------------------
-  // Maximum relative error on parameters 
-  AliFMDCorrELossFit::ELossFit::fgMaxRelError = .12;
-  // Least weight to use 
-  AliFMDCorrELossFit::ELossFit::fgLeastWeight = 1e-5;
-  // Maximum value of reduced chi^2 
-  AliFMDCorrELossFit::ELossFit::fgMaxChi2nu   = 10;
-
   CorrDrawer d;
   d.Summarize(AliForwardCorrectionManager::kELossFits, runNo, sys, sNN, field, 
              mc, sat, "", fname);
@@ -57,17 +49,51 @@ DrawCorrELoss(Bool_t      mc,
   gROOT->LoadMacro(Form("%s/scripts/SummaryDrawer.C", fwd));
   gROOT->LoadMacro(Form("%s/corrs/CorrDrawer.C", fwd));
 
-  // --- Set limits on fits the energy -------------------------------
-  // Maximum relative error on parameters 
-  AliFMDCorrELossFit::ELossFit::fgMaxRelError = .12;
-  // Least weight to use 
-  AliFMDCorrELossFit::ELossFit::fgLeastWeight = 1e-5;
-  // Maximum value of reduced chi^2 
-  AliFMDCorrELossFit::ELossFit::fgMaxChi2nu   = 10;
-
   CorrDrawer::Summarize(AliForwardCorrectionManager::kELossFits, 
                        mc, file, local);
 }
+
+void 
+DrawCorrELoss(Bool_t mc, Bool_t dummy, 
+             const char* file="forward_eloss_rerun.root")
+{
+  const char* fwd = "$ALICE_ROOT/PWGLF/FORWARD/analysis2";
+  if (!gROOT->GetClass("AliAODForwardMult"))
+    gROOT->Macro(Form("%s/scripts/LoadLibs.C", fwd));
+  gROOT->LoadMacro(Form("%s/scripts/SummaryDrawer.C", fwd));
+  gROOT->LoadMacro(Form("%s/corrs/CorrDrawer.C", fwd));
+
+  TFile* hist = TFile::Open(file, "READ");
+  if (!hist) { 
+    Error("DrawCorrELoss", "Failed to open %s", file);
+    return;
+  }
+  TList* res = static_cast<TList*>(hist->Get("ForwardResults"));
+  if (!res) { 
+    Error("DrawCorrEloss", "Failed to get ForwardResults from %s", file);
+    return;
+  }
+  TList* ef = static_cast<TList*>(res->FindObject("fmdEnergyFitter"));
+  if (!ef) { 
+    Error("DrawCorrEloss", "Failed to get fmdEnergyFitter from %s:/%s", 
+         file, res->GetName());
+    return;
+  }
+
+  AliFMDCorrELossFit* fits = 
+    static_cast<AliFMDCorrELossFit*>(ef->FindObject("AliFMDCorrELossFit"));
+  if (!fits) {
+    Error("DrawCorrEloss", "Failed to get AliFMDCorrELossFit from %s:/%s/%s", 
+         file, res->GetName(), ef->GetName());
+    return;
+  }
+  
+  CorrDrawer* cd = new CorrDrawer;
+  cd->fELossExtra = file;
+  cd->fMinQuality = 8;
+  cd->Summarize(fits);
+}
+
 //
 // EOF
 //