12 # include <AliAnalysisManager.h> 36 fOptions.
Add(
"collision",
"TYPE",
"Collision system", 0);
38 fOptions.
Add(
"centrality",
"Use centrality",
false);
39 fOptions.
Add(
"track-refs",
"Also read track references");
40 fOptions.
Add(
"kinematics-filter",
"Use kinematics fitler");
42 fOptions.
Add(
"run",
"RUNNUMBER",
"Set initial run number", 0);
46 fOptions.
Add(
"muon-copy",
"Make additional MUON specific AOD",
true);
48 fOptions.
Add(
"jetan-delta",
"Make Jet analysis delta AOD",
true);
49 fOptions.
Add(
"vertexing",
"Use PWGHF vertexing",
true);
50 fOptions.
Add(
"jpsi-filter",
"Use PWGDQ J/Psi filter",
false);
51 fOptions.
Add(
"d0-decay",
"Use PWGHF D0->h+h",
true);
53 fOptions.
Add(
"forward-nch",
"Forward charged particle",
true);
55 fOptions.
Add(
"pid-response",
"Use PID response",
true);
67 seTask->SelectCollisionCandidates(AliVEvent::kAny);
79 mgr->RegisterExtraFile(
"AliAOD.Muons.root");
80 mgr->RegisterExtraFile(
"AliAOD.Dimuons.root");
84 TString::Format(
"%d,%d,false,false,false,false,true,false,false,%d",
96 CoupleSECar(
"$ALICE_PHYSICS/PWGHF/vertexingHF/macros/AddTaskVertexingHF.C");
97 seTask->SelectCollisionCandidates(0);
98 mgr->RegisterExtraFile(
"AliAOD.VertexingHF.root");
105 CoupleSECar(
"$ALICE_PHYSICS/PWGDQ/dielectron/macros/AddTaskJPSIFilter.C");
106 seTask->SelectCollisionCandidates(0);
107 mgr->RegisterExtraFile(
"AliAOD.Dielectron.root");
112 CoupleCar(
"$ALICE_PHYSICS/PWGHF/vertexingHF/AddD2HTrain.C",
113 "kFALSE, 1,0,0,0,0,0,0,0,0,0,0");
139 std::ofstream o(
"AddJets.C");
140 o <<
"void AddJets(AliAnalysisManager* mgr,\n" 141 <<
" UInt_t highPt,\n" 142 <<
" const char* deltaAOD,\n" 143 <<
" Bool_t useDelta,\n" 144 <<
" Bool_t usePS,\n" 146 <<
" Float_t etaCut,\n" 147 <<
" Float_t centLow,\n" 148 <<
" Float_t centHigh)\n" 150 <<
" gROOT->SetMacroPath(Form(\"%s:$ALICE_ROOT/PWGJE/macros\",\n" 151 <<
" gROOT->GetMacroPath()));\n" 153 <<
" gROOT->LoadMacro(\"AddTaskJets.C\");\n" 154 <<
" AliAnalysisTaskJets *jTask = 0;\n" 155 <<
" jTask = AddTaskJets(\"AOD\",\"UA1\",0.4,highPt,1.,0);\n" 156 <<
" jTask->SetNonStdOutputFile(deltaAOD);\n" 158 <<
" if (useDelta) {\n" 159 <<
" mgr->RegisterExtraFile(deltaAOD);\n" 161 <<
" jTask = AddTaskJets(\"AOD\",\"UA1\",0.4,highPt,1.,2);\n" 162 <<
" jTask->SetNonStdOutputFile(deltaAOD);\n" 166 o <<
" jTask =AddTaskJets(\"AOD\",\"SISCONE\",0.4,highPt,0.15,0);\n" 167 <<
" jTask->SetNonStdOutputFile(deltaAOD);\n" 168 <<
" TString subBranches = jTask->GetNonStdBranch();\n" 170 o <<
" gROOT->LoadMacro(\"AddTaskJetCluster.C\");\n" 171 <<
" AliAnalysisTaskJetCluster* cTask = 0;\n" 172 <<
" cTask = AddTaskJetCluster(\"AOD\",\"\",highPt,usePS,\n" 173 <<
" \"KT\",0.4,0,1,deltaAOD,0.15,etaCut,0);\n" 174 <<
" cTask->SetBackgroundCalc(kTRUE);\n" 175 <<
" cTask->SetNRandomCones(10);\n" 176 <<
" cTask->SetCentralityCut(centLow,centHigh);\n" 177 <<
" cTask->SetGhostEtamax(etaCut);\n" 178 <<
" TString bgBranch = Form(\"%s_%s\",\n" 179 <<
" AliAODJetEventBackground::StdBranchName(),\n" 180 <<
" cTask->GetJetOutputBranch());\n" 182 o <<
" cTask = AddTaskJetCluster(\"AOD\",\"\",highPt,usePS,\n" 183 <<
" \"ANTIKT\",0.4,2,1,deltaAOD,0.15);\n" 184 <<
" cTask->SetNRandomCones(10);\n" 185 <<
" cTask->SetCentralityCut(centLow,centHigh);\n" 186 <<
" if (pbpb) cTask->SetBackgroundBranch(bgBranch);\n" 187 <<
" subBranches += Form(\" %s\",cTask->GetJetOutputBranch());\n" 189 o <<
" cTask = AddTaskJetCluster(\"AOD\",\"\",highPt,usePS,\n" 190 <<
"\"ANTIKT\",0.2,0,1,deltaAOD,0.15);\n" 191 <<
" cTask->SetCentralityCut(centLow,centHigh);\n" 192 <<
" if (pbpb) cTask->SetBackgroundBranch(bgBranch);\n" 193 <<
" subBranches += Form(\" %s\",cTask->GetJetOutputBranch());\n" 195 o <<
" if (pbpb) {\n" 196 <<
" gROOT->LoadMacro(\"AddTaskJetBackgroundSubtract.C\");\n" 197 <<
" AliAnalysisTaskJetBackgroundSubtract* sTask = 0;\n" 198 <<
" sTask = AddTaskJetBackgroundSubtract(subBranches,1,\"B0\",\n" 200 <<
" sTask->SetBackgroundBranch(bgBranch);\n" 201 <<
" sTask->SetNonStdOutputFile(deltaAOD);\n" 207 UInt_t highPtFilterMask = 272;
208 TString deltaAODJetName =
"AliAOD.Jets.root";
212 gROOT->Macro(Form(
"./AddJets.C((AliAnalysisManager*)%p," 213 "%d,\"%s\",%d,%d,%d,%f,%f,%f);",
214 mgr, highPtFilterMask, deltaAODJetName.Data(),
215 jetanDelta, physicsSelection,
217 trackEtaWindow, centLow, centHigh));
222 Bool_t fwdMC = (mgr->GetMCtruthEventHandler() != 0 &&
225 CoupleCar(
"$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/AddTaskForwardMult.C",
240 if (
fOptions.
Has(
"sys-info")) mgr->SetNSysInfo(100);
242 const char* aliPhys =
"$(ALICE_PHYSICS)";
246 AliAnalysisManager::SetCommonFileName(
"AODQA.root");
254 if (vertexing || d0Decay) {
255 TString src =
"$ALICE_PHYSICS/PWGHF/vertexingHF/ConfigVertexingHF.C";
256 if (
fOptions.
AsInt(
"collision") == 1) src.ReplaceAll(
".C",
"highmult.C");
257 TFile::Cp(src,
"ConfigVertexingHF.C");
302 AliMCEventHandler* mcHandler =
new AliMCEventHandler();
virtual void CreateCentralitySelection(Bool_t mc)
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)
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)