12 # include <AliAnalysisManager.h>
36 fOptions.
Add(
"collision",
"TYPE",
"Collision system", 0);
39 fOptions.
Add(
"physics-selection",
"Use PhysicsSelection",
true);
41 fOptions.
Add(
"centrality",
"Use centrality",
false);
42 fOptions.
Add(
"v0-tender",
"Use of V0 tender",
false);
43 fOptions.
Add(
"track-refs",
"Also read track references");
44 fOptions.
Add(
"kinematics-filter",
"Use kinematics fitler");
46 fOptions.
Add(
"run",
"RUNNUMBER",
"Set initial run number", 0);
50 fOptions.
Add(
"muon-copy",
"Make additional MUON specific AOD",
true);
52 fOptions.
Add(
"jetan-delta",
"Make Jet analysis delta AOD",
true);
53 fOptions.
Add(
"vertexing",
"Use PWGHF vertexing",
true);
54 fOptions.
Add(
"jpsi-filter",
"Use PWGDQ J/Psi filter",
false);
55 fOptions.
Add(
"d0-decay",
"Use PWGHF D0->h+h",
true);
57 fOptions.
Add(
"forward-nch",
"Forward charged particle",
true);
59 fOptions.
Add(
"pid-response",
"Use PID response",
true);
92 if (
fOptions.
Has(
"sys-info")) mgr->SetNSysInfo(100);
94 const char* aliPhys =
"$(ALICE_PHYSICS)";
98 AliAnalysisManager::SetCommonFileName(
"AODQA.root");
100 CoupleCar(Form(
"%s/TENDER/TenderSupplies/AddTaskTender.C", aliPhys),
108 seTask->SelectCollisionCandidates(AliVEvent::kAny);
111 if (cdb && !tender) {
120 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/PilotTrain/AddTaskCDBconnect.C");
121 gROOT->ProcessLine(Form(
"AddTaskCDBconnect(%d)",
fOptions.
AsInt(
"run")));
122 gROOT->ProcessLine(
"AliCDBManager* cdb = AliCDBManager::Instance();"
123 "cdb->SetDefaultStorage(\"raw://\");");
132 mgr->RegisterExtraFile(
"AliAOD.Muons.root");
133 mgr->RegisterExtraFile(
"AliAOD.Dimuons.root");
137 TString::Format(
"%d,%d,false,false,false,false,true,false,false,%d",
145 if (vertexing || d0Decay) {
146 TString src =
"$ALICE_PHYSICS/PWGHF/vertexingHF/ConfigVertexingHF.C";
148 src.ReplaceAll(
".C",
"highmult.C");
149 TFile::Cp(src,
"ConfigVertexingHF.C");
158 CoupleSECar(
"$ALICE_PHYSICS/PWGHF/vertexingHF/macros/AddTaskVertexingHF.C");
159 seTask->SelectCollisionCandidates(0);
160 mgr->RegisterExtraFile(
"AliAOD.VertexingHF.root");
166 CoupleSECar(
"$ALICE_PHYSICS/PWGDQ/dielectron/macros/AddTaskJPSIFilter.C");
167 seTask->SelectCollisionCandidates(0);
168 mgr->RegisterExtraFile(
"AliAOD.Dielectron.root");
172 CoupleCar(
"$ALICE_PHYSICS/PWGHF/vertexingHF/AddD2HTrain.C",
173 "kFALSE, 1,0,0,0,0,0,0,0,0,0,0");
197 std::ofstream o(
"AddJets.C");
198 o <<
"void AddJets(AliAnalysisManager* mgr,\n"
199 <<
" UInt_t highPt,\n"
200 <<
" const char* deltaAOD,\n"
201 <<
" Bool_t useDelta,\n"
202 <<
" Bool_t usePS,\n"
204 <<
" Float_t etaCut,\n"
205 <<
" Float_t centLow,\n"
206 <<
" Float_t centHigh)\n"
208 <<
" gROOT->SetMacroPath(Form(\"%s:$ALICE_ROOT/PWGJE/macros\",\n"
209 <<
" gROOT->GetMacroPath()));\n"
211 <<
" gROOT->LoadMacro(\"AddTaskJets.C\");\n"
212 <<
" AliAnalysisTaskJets *jTask = 0;\n"
213 <<
" jTask = AddTaskJets(\"AOD\",\"UA1\",0.4,highPt,1.,0);\n"
214 <<
" jTask->SetNonStdOutputFile(deltaAOD);\n"
216 <<
" if (useDelta) {\n"
217 <<
" mgr->RegisterExtraFile(deltaAOD);\n"
219 <<
" jTask = AddTaskJets(\"AOD\",\"UA1\",0.4,highPt,1.,2);\n"
220 <<
" jTask->SetNonStdOutputFile(deltaAOD);\n"
224 o <<
" jTask =AddTaskJets(\"AOD\",\"SISCONE\",0.4,highPt,0.15,0);\n"
225 <<
" jTask->SetNonStdOutputFile(deltaAOD);\n"
226 <<
" TString subBranches = jTask->GetNonStdBranch();\n"
228 o <<
" gROOT->LoadMacro(\"AddTaskJetCluster.C\");\n"
229 <<
" AliAnalysisTaskJetCluster* cTask = 0;\n"
230 <<
" cTask = AddTaskJetCluster(\"AOD\",\"\",highPt,usePS,\n"
231 <<
" \"KT\",0.4,0,1,deltaAOD,0.15,etaCut,0);\n"
232 <<
" cTask->SetBackgroundCalc(kTRUE);\n"
233 <<
" cTask->SetNRandomCones(10);\n"
234 <<
" cTask->SetCentralityCut(centLow,centHigh);\n"
235 <<
" cTask->SetGhostEtamax(etaCut);\n"
236 <<
" TString bgBranch = Form(\"%s_%s\",\n"
237 <<
" AliAODJetEventBackground::StdBranchName(),\n"
238 <<
" cTask->GetJetOutputBranch());\n"
240 o <<
" cTask = AddTaskJetCluster(\"AOD\",\"\",highPt,usePS,\n"
241 <<
" \"ANTIKT\",0.4,2,1,deltaAOD,0.15);\n"
242 <<
" cTask->SetNRandomCones(10);\n"
243 <<
" cTask->SetCentralityCut(centLow,centHigh);\n"
244 <<
" if (pbpb) cTask->SetBackgroundBranch(bgBranch);\n"
245 <<
" subBranches += Form(\" %s\",cTask->GetJetOutputBranch());\n"
247 o <<
" cTask = AddTaskJetCluster(\"AOD\",\"\",highPt,usePS,\n"
248 <<
"\"ANTIKT\",0.2,0,1,deltaAOD,0.15);\n"
249 <<
" cTask->SetCentralityCut(centLow,centHigh);\n"
250 <<
" if (pbpb) cTask->SetBackgroundBranch(bgBranch);\n"
251 <<
" subBranches += Form(\" %s\",cTask->GetJetOutputBranch());\n"
253 o <<
" if (pbpb) {\n"
254 <<
" gROOT->LoadMacro(\"AddTaskJetBackgroundSubtract.C\");\n"
255 <<
" AliAnalysisTaskJetBackgroundSubtract* sTask = 0;\n"
256 <<
" sTask = AddTaskJetBackgroundSubtract(subBranches,1,\"B0\",\n"
258 <<
" sTask->SetBackgroundBranch(bgBranch);\n"
259 <<
" sTask->SetNonStdOutputFile(deltaAOD);\n"
265 UInt_t highPtFilterMask = 272;
266 TString deltaAODJetName =
"AliAOD.Jets.root";
270 gROOT->Macro(Form(
"./AddJets.C((AliAnalysisManager*)%p,"
271 "%d,\"%s\",%d,%d,%d,%f,%f,%f);",
272 mgr, highPtFilterMask, deltaAODJetName.Data(),
273 jetanDelta, physicsSelection,
275 trackEtaWindow, centLow, centHigh));
277 if (
fOptions.
Has(
"forward-nch") && physicsSelection) {
278 Bool_t fwdMC = (mgr->GetMCtruthEventHandler() != 0 &&
281 CoupleCar(
"$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/AddTaskForwardMult.C",
320 AliMCEventHandler* mcHandler =
new AliMCEventHandler();
virtual void CreateCentralitySelection(Bool_t mc)
virtual AliVEventHandler * CreateMCHandler(UShort_t, bool mc)
Int_t AsInt(const TString &name, Int_t def=0) const
virtual void CreatePhysicsSelection(Bool_t mc, AliAnalysisManager *mgr)
Bool_t Has(const TString &name) const
void Set(const TString &name, const TString &value)
const char * ClassName() const
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)
virtual void CreateCentralitySelection(Bool_t mc, AliAnalysisManager *mgr)
AODTrain(const char *name="myTest")
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
void CreateTasks(AliAnalysisManager *mgr)