38 fOptions.
Add(
"cent",
"ESTIMATOR",
"Use centrality",
"none");
39 fOptions.
Add(
"cent-bins",
"EDGES",
"Centrality bin edges",
"");
40 fOptions.
Add(
"ipz-min",
"CENTIMETER",
"Min Ip Z",
"-10");
41 fOptions.
Add(
"ipz-max",
"CENTIMETER",
"Max Ip Z",
"+10");
42 fOptions.
Add(
"trigger",
"TYPE",
"Trigger to use",
"INEL");
44 fOptions.
Add(
"satellite",
"Use satellite interactions");
45 fOptions.
Add(
"sys",
"SYSTEM",
"1:pp, 2:PbPb, 3:pPb",
"");
48 fOptions.
Add(
"aod-snn",
"ENERGY",
"Center of mass energy GeV",
"");
49 fOptions.
Add(
"aod-field",
"STRENGTH",
"L3 field strength in kG",
"");
50 fOptions.
Add(
"aod-forward-config",
"FILE",
"Forward configuration",
51 "ForwardAODConfig.C");
52 fOptions.
Add(
"aod-central-config",
"FILE",
"Forward configuration",
53 "CentralAODConfig.C");
54 fOptions.
Add(
"aod-corr",
"DIR",
"Corrections dir",
"");
57 fOptions.
Add(
"dndeta-config",
"FILE",
"dN/deta configuration",
59 fOptions.
Add(
"dndeta-trig",
"TYPE",
"Trigger type",
"INEL");
60 fOptions.
Add(
"dndeta-scheme",
"SCHEME",
"Normalization scheme",
"");
61 fOptions.
Add(
"dndeta-trigEff",
"EFFICENCY",
"Trigger effeciency", 1);
62 fOptions.
Add(
"dndeta-trigEff0",
"EFFICENCY",
"0-bin trigger effeciency", 1);
65 fOptions.
Add(
"pnch-resp",
"Run the response matrix task for P(Nch)",
false);
66 fOptions.
Add(
"pnch-bias",
"Run the trigger bias task for P(Nch)",
false);
69 fOptions.
Add(
"flow-max-mom",
"MOMENT",
"Max flow moment to analyse",
"5");
70 fOptions.
Add(
"flow-detectors",
"NAMES",
"Forward detectors",
"fmd+vzero");
72 "Which types of QC's to do [std,eta-gap,3cor,all]",
"all");
73 fOptions.
Add(
"flow-eta-gap",
"DISTANCE",
"Size of eta gap",
"2.0");
74 fOptions.
Add(
"flow-use-b",
"Use impact param. for centrality",
false);
76 "What to afterburn [eta,phi,b,pid]",
"");
77 fOptions.
Add(
"flow-outlier-fmd",
"NSIGMA",
"Outlier cut for FMD",
"4.0");
78 fOptions.
Add(
"flow-outlier-spd",
"NSIGMA",
"Outlier cut for SPD",
"0.0");
80 "Whether to get the vertex from the MC header");
82 "Whether or only to use tracks for reference flow " 83 "[tpc,hybrid,only]",
"tpc+hybrid");
84 fOptions.
Add(
"flow-ep",
"Add Event Plane tasks (need VZERO AOD objects)");
108 Form(
"%d,%lu,%hu,%hu,%hd,\"%s\",\"%s\"",
109 mc, run, sys, sNN, fld,
110 fwdConfig.Data(), cor.Data()));
111 if (!fwd)
return false;
117 Form(
"%d,%lu,%hu,%hu,%hd,\"%s\",\"%s\"",
118 mc, run, sys, sNN, fld,
119 cenConfig.Data(),cor.Data()));
120 if (!cen)
return false;
141 TString args = Form(
"\"%s\",\"%s\"", which, config.Data());
142 UInt_t mask = AliVEvent::kAny;
146 Printf(
"Failed to add task via AddTaskdNdeta.C(%s,%s)",
147 which, config.Data());
150 FromOption(tsk,
"TriggerMask",
"trigger",
"INEL");
151 FromOption(tsk,
"FilterMask",
"filter",
"OUTLIER|PILEUP-BIN");
152 FromOption(tsk,
"CentralityMethod",
"cent",
"");
153 FromOption(tsk,
"CentralityAxis",
"cent-bins",
"default");
156 FromOption(tsk,
"SatelliteVertices",
"satellite",
false);
157 FromOption(tsk,
"NormalizationScheme",
"dndeta-scheme",
"EVENT,TRIGGER");
158 FromOption(tsk,
"TriggerEff",
"dndeta-trigEff", 1.);
159 FromOption(tsk,
"TriggerEff0",
"dndeta-trigEff0",1.);
179 const char* mac =
"AddTaskForwardFlowQC.C";
181 CoupleSECar(mac,Form(fmt, det, useEtaGap, use3cor, tracks));
182 if (!task)
return false;
183 FromOption(task,
"CentralityAxis",
"cent-bins",
"default");
209 Bool_t doFMD = fwdDets.Contains(
"FMD");
210 Bool_t doVZERO = fwdDets.Contains(
"VZERO");
212 Bool_t onlyTr = tracks.Contains(
"only");
213 Bool_t tpcTr = tracks.Contains(
"tpc");
214 Bool_t hybridTr = tracks.Contains(
"hybrid");
215 Bool_t ispA = sys == 3 || sys == 4;
217 Bool_t std = types.Contains(
"std") || types.Contains(
"all");
218 Bool_t etaGap = types.Contains(
"eta-gap") || types.Contains(
"all");
219 Bool_t cor3 = types.Contains(
"3cor") || types.Contains(
"all");
228 args=TString::Format(
"%d,\"%%s\",%%d,%%d,%d,%f,%f,%f,%%d,%d,%d,%d,%d,%d",
243 if (!onlyTr &&!
CreateFlowTask(args,
"FMD",
false,
false,0))
return false;
244 if (tpcTr &&!
CreateFlowTask(args,
"FMD",
false,
false,1))
return false;
245 if (hybridTr&&!
CreateFlowTask(args,
"FMD",
false,
false,2))
return false;
248 if (!onlyTr &&!
CreateFlowTask(args,
"FMD",
true,
false,0))
return false;
249 if (tpcTr &&!
CreateFlowTask(args,
"FMD",
true,
false,1))
return false;
250 if (hybridTr&&!
CreateFlowTask(args,
"FMD",
true,
false,2))
return false;
253 if (!onlyTr &&!
CreateFlowTask(args,
"FMD",
false,
true, 0))
return false;
258 if (!onlyTr &&!
CreateFlowTask(args,
"VZERO",
false,
false,0))
return false;
259 if (tpcTr &&!
CreateFlowTask(args,
"VZERO",
false,
false,1))
return false;
260 if (hybridTr&&!
CreateFlowTask(args,
"VZERO",
false,
false,2))
return false;
263 if (!onlyTr &&!
CreateFlowTask(args,
"VZERO",
true,
false,0))
return false;
264 if (tpcTr &&!
CreateFlowTask(args,
"VZERO",
true,
false,1))
return false;
265 if (hybridTr&&!
CreateFlowTask(args,
"VZERO",
true,
false,2))
return false;
268 if (!onlyTr &&!
CreateFlowTask(args,
"VZERO",
false,
true,0))
return false;
276 Form(
"%d, %d, \"%s\"", mc, moment, fwdDets.Data()));
286 Info(
"CreatePNchTask",
"\n" 287 "*****************************************************\n" 288 "Creating a task via %s\n" 289 "*****************************************************", mac);
291 if (!tsk)
return false;
292 FromOption(tsk,
"TriggerMask",
"trigger",
"INEL");
293 FromOption(tsk,
"FilterMask",
"filter",
"OUTLIER|PILEUP-BIN");
295 FromOption(tsk,
"CentralityAxis",
"cent-bins",
"default");
307 AliAnalysisManager::SetCommonFileName(
"forward.root");
313 gROOT->SetMacroPath(Form(
"%s:$(ALICE_PHYSICS)/PWGLF/FORWARD/analysis2",
314 gROOT->GetMacroPath()));
315 gROOT->SetMacroPath(Form(
"%s:$(ALICE_ROOT)/ANALYSIS/macros",
316 gROOT->GetMacroPath()));
326 if (mc)
CoupleCar(
"AddTaskMCParticleFilter.C",
"");
370 AliInputEventHandler* ih =
371 dynamic_cast<AliInputEventHandler*
>(mgr->GetInputEventHandler());
373 Fatal(
"CreatePhysicsSelection",
"Couldn't get input handler (%p)", ih);
376 AliPhysicsSelection* ps =
377 dynamic_cast<AliPhysicsSelection*
>(ih->GetEventSelection());
379 Fatal(
"CreatePhysicsSelection",
"Couldn't get PhysicsSelection (%p)",ps);
384 Warning(
"CreatePhysicsSelection",
385 "Special setup for pPb pilot run September, 2012");
386 gROOT->SetMacroPath(Form(
"%s:$(ALICE_PHYSICS)/ANALYSIS/macros",
387 gROOT->GetMacroPath()));
388 gROOT->LoadMacro(
"PhysicsSelectionOADB_CINT5_pA.C");
389 gROOT->ProcessLine(Form(
"((AliPhysicsSelection*)%p)" 390 "->SetCustomOADBObjects(" 391 "OADBSelection_CINT5_V0A(),0);", ps));
392 ps->SetSkipTriggerClassSelection(
true);
411 const char*
ClassName()
const {
return "MakeFullTrain"; }
Double_t AsDouble(const TString &name, Double_t def=0) const
virtual void CreateCentralitySelection(Bool_t mc)
void CreateTasks(AliAnalysisManager *)
Bool_t AsBool(const TString &name) const
MakeFullTrain(const char *name)
Int_t AsInt(const TString &name, Int_t def=0) const
Bool_t CreateFlowTask(const char *fmt, const char *det, Bool_t useEtaGap, Bool_t use3cor, Short_t tracks)
const TString & Get(const TString &name) const
Bool_t Has(const TString &name) const
void Set(const TString &name, const TString &value)
Base classs for train specifications.
Option * Add(const TString &name, const TString &arg, const TString &desc, const TString &val="")
virtual Bool_t LoadAux(const TString &name, Bool_t copy=false)
void FromOption(AliAnalysisTaskSE *task, const char *what, const char *opt, Double_t defval)
const char * ClassName() const
virtual Bool_t HasMCHandler() const
void Show(std::ostream &o, const char *prefix=" ") const
Bool_t CreatedNdetaTask(const char *which)
virtual AliAnalysisTask * CoupleCar(const TString ¯o, const TString &args)
virtual void CreatePhysicsSelection(Bool_t mc, AliAnalysisManager *mgr)
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
Bool_t CreatePNchTask(const char *mac)