2 * Script to draw the energy loss fits
4 * @ingroup pwglf_forward_scripts_corr
7 //____________________________________________________________________
9 * Extract the energy loss correction object from file and rename it
10 * according to the settings
12 * @param fname File to extract from
13 * @param runNo Run number
14 * @param sys Collision system (pp, PbPb)
15 * @param sNN Center of mass energy (in GeV) per nucleon
16 * @param fld L3 magnetic field (-5,0,5) in kGaus
17 * @param sat For satellite interactions
19 * @ingroup pwglf_forward_scripts_corr
22 ExtractMCCorr(const char* fname,
29 const char* fwd = "$ALICE_ROOT/PWGLF/FORWARD/analysis2";
30 gSystem->AddIncludePath(Form("-I%s -I$ALICE_ROOT/include", fwd));
31 gROOT->Macro(Form("%s/scripts/LoadLibs.C", fwd));
32 gROOT->LoadMacro(Form("%s/corrs/CorrExtractor.C++g", fwd));
34 CorrExtractor fmdEx(&AliForwardCorrectionManager::Instance());
35 if (runNo > 0) fmdEx.fRunNo = runNo;
36 if (sys > 0) fmdEx.fSys = sys;
37 if (sNN > 0) fmdEx.fSNN = sNN;
38 if (fld < 999) fmdEx.fField = fld;
39 if (sat) fmdEx.fSatellite = sat;
40 if (fmdEx.Init(fname, "ForwardCorrSums", "fmd_corrections.root"))
41 fmdEx.Extract(AliFMDCorrSecondaryMap::Class(),
42 "ForwardCorrResults");
44 CorrExtractor spdEx(&AliCentralCorrectionManager::Instance());
45 if (runNo > 0) spdEx.fRunNo = runNo;
46 if (sys > 0) spdEx.fSys = sys;
47 if (sNN > 0) spdEx.fSNN = sNN;
48 if (fld < 999) spdEx.fField = fld;
49 if (sat) spdEx.fSatellite = sat;
50 if (spdEx.Init(fname, "CentralCorrSums", "spd_corrections.root")) {
51 spdEx.Extract(AliCentralCorrSecondaryMap::Class(), "CentralCorrResults");
52 spdEx.Extract(AliCentralCorrAcceptance::Class(), "CentralCorrResults");
55 std::ofstream f("Upload.C");
56 f << "// Generated by ExtractMCCorr.C\n"
57 << "TString MakeDest(const TString& dest, const TString& fname)\n"
59 << " TString tmp(dest);\n"
60 << " if (!tmp.IsNull()) {\n"
61 << " if (!tmp.EndsWith(\"/\")) tmp.Append(\"/\");\n"
62 << " tmp.Append(fname);\n"
66 << "void Upload(const TString& dest=\"\")\n"
68 << " gROOT->Macro(\"" << fwd << "/scripts/LoadLibs.C\");\n"
70 << " const char* fmdFile = \"fmd_corrections.root\";\n"
71 << " const char* spdFile = \"spd_corrections.root\";\n"
72 << " TString fdest = MakeDest(dest, fmdFile);\n"
73 << " TString sdest = MakeDest(dest, spdFile);\n"
75 << " AliForwardCorrectionManager::Instance().Append(fmdFile, fdest);\n"
76 << " AliCentralCorrectionManager::Instance().Append(spdFile, sdest);\n"
83 //____________________________________________________________________