31 fOptions.
Add(
"only-mb",
"Only collect statistics from MB events");
32 fOptions.
Add(
"config",
"FILE",
"Configuration",
"elossFitConfig.C");
34 fOptions.
Add(
"dead",
"FILE",
"Additional dead-map script",
"");
35 fOptions.
Add(
"low-cut",
"VALUE",
"Low cut on eloss", -1);
62 AliAnalysisManager::SetCommonFileName(
"forward_eloss.root");
68 gROOT->SetMacroPath(Form(
"%s:$(ALICE_PHYSICS)/PWGLF/FORWARD/analysis2",
69 gROOT->GetMacroPath()));
83 CoupleSECar(
"AddTaskFMDELoss.C", Form(
"%d,%d,%f,\"%s\",\"%s\",\"%s\"",
87 dead.Data()), AliVEvent::kAny);
89 Fatal(
"CoupleCars",
"Failed to add energy loss task");
116 const char*
ClassName()
const {
return "MakeFMDELossTrain"; }
133 std::ofstream f(
"Extract.C");
135 Error(
"SaveSetup",
"Failed to open Extract.C");
138 f <<
"// Generated by " <<
ClassName() <<
"\n"
140 <<
" const char* file=\"forward_eloss.root\")\n"
142 <<
" const char* fwd=\"$ALICE_PHYSICS/PWGLF/FORWARD/analysis2\";\n"
143 <<
" gROOT->LoadMacro(Form(\"%s/corrs/ExtractELoss.C\",fwd));\n"
144 <<
" ExtractELoss(file,mc);\n"
146 <<
"// EOF" << std::endl;
151 std::ofstream f(
"Summarize.C");
153 Error(
"SaveSummarize",
"Failed to open Summarize.C script");
157 <<
"// Generated by " <<
ClassName() <<
"\n"
159 <<
"void Summarize(Bool_t mc=" <<
HasMCHandler() <<
",\n"
160 <<
" const char* filename=\"forward_eloss.root\")\n"
162 <<
" const char* fwd=\"$ALICE_PHYSICS/PWGLF/FORWARD/analysis2\";\n"
163 <<
" gROOT->LoadMacro(Form(\"%s/corrs/DrawCorrELoss.C\",fwd));\n"
164 <<
" DrawCorrELoss(mc,filename);\n"
166 <<
"// EOF" << std::endl;
171 std::ofstream f(
"ReFit.C");
173 Error(
"SaveRerun",
"Failed to open ReFit.C script");
177 <<
"// Generated by " <<
ClassName() <<
"\n"
178 <<
"// If force=true, then force set parameters\n"
179 <<
"// If shift=true, enable extra shift in Delta from sigma/xi\n"
181 <<
"void ReFit(Bool_t force=false,\n"
182 <<
" Bool_t shift=true,\n"
183 <<
" const char* filename=\"forward_eloss.root\")\n"
185 <<
" const char* fwd=\"$ALICE_PHYSICS/PWGLF/FORWARD/analysis2\";\n"
186 <<
" gROOT->LoadMacro(Form(\"%s/corrs/RerunELossFits.C\",fwd));\n"
187 <<
" RerunELossFits(force,filename);\n"
189 <<
"// EOF" << std::endl;
195 <<
" echo \"=== Extracting Corrections ...\"\n"
196 <<
" aliroot -l -b -q ${prefix}Extract.C\\($mc\\)\n"
197 <<
" echo \"=== Summarizing results ...\"\n"
198 <<
" aliroot -l -b -q ${prefix}Summarize.C\\($mc\\)\n"
199 <<
" if test x$dest = x ; then return ; fi\n"
200 <<
" echo \"=== Uploading to ${dest} ...\"\n"
201 <<
" aliroot -l -b -q Upload.C\\(\\\"${dest}\\\"\\);\n"
Double_t AsDouble(const TString &name, Double_t def=0) const
virtual void CreateCentralitySelection(Bool_t mc)
void CreateTasks(AliAnalysisManager *mgr)
Bool_t AsBool(const TString &name) const
virtual void CreateCentralitySelection(Bool_t mc)
void PostShellCode(std::ostream &f)
const TString & Get(const TString &name) const
MakeFMDELossTrain(const char *name="FMD Energy Loss")
Bool_t Has(const TString &name) const
virtual AliAnalysisManager * CreateAnalysisManager(const char *name)
void Set(const TString &name, const TString &value)
const char * ClassName() const
void SaveSetup(Bool_t asShellScript)
Base classs for train specifications.
Option * Add(const TString &name, const TString &arg, const TString &desc, const TString &val="")
virtual void SaveSetup(Bool_t asShellScript)
virtual Bool_t LoadAux(const TString &name, Bool_t copy=false)
virtual AliAnalysisManager * CreateAnalysisManager(const char *name)
virtual Bool_t HasMCHandler() const
AliVEventHandler * CreateOutputHandler(UShort_t)
virtual AliAnalysisTaskSE * CoupleSECar(const TString ¯o, const TString &args, UInt_t mask=0)
virtual Bool_t LoadLibrary(const TString &name, Bool_t slave=true, Bool_t forcePar=false)=0