18 gSystem->SetIncludePath(
"-I. -I$ROOTSYS/include -I$ALICE_ROOT -I$ALICE_ROOT/include -I$ALICE_PHYSICS -I$ALICE_PHYSICS/include -I$ALICE_ROOT/ITS -I$ALICE_ROOT/TPC -I$ALICE_ROOT/CONTAINERS -I$ALICE_ROOT/STEER/STEER -I$ALICE_ROOT/STEER/STEERBase -I$ALICE_ROOT/STEER/ESD -I$ALICE_ROOT/STEER/AOD -I$ALICE_ROOT/TRD -I$ALICE_ROOT/macros -I$ALICE_ROOT/ANALYSIS -I$ALICE_PHYSICS/OADB -I$ALICE_PHYSICS/PWGHF -I$ALICE_PHYSICS/PWGHF/base -I$ALICE_PHYSICS/PWGHF/vertexingHF -I$ALICE_PHYSICS/PWG/FLOW/Base -I$ALICE_PHYSICS/PWG/FLOW/Tasks -I$ALICE_PHYSICS/PWG -g");
23 Long64_t nentries=123567890,firstentry=0;
25 Bool_t useAlienPlugin=kTRUE;
27 TString testfileslistWithPlugin=
"";
28 Bool_t saveProofToAlien=kFALSE;
30 TString loadMacroPath=
"$ALICE_PHYSICS/PWGHF/vertexingHF/macros/";
34 if(analysisMode==
"grid") {
36 TGrid::Connect(
"alien://");
37 }
else if(analysisMode==
"proof") {
39 if(inputMode!=
"dataset") {printf(
"Input mode must be dataset, for proof analysis\n");
return;}
40 gEnv->SetValue(
"XSec.GSI.DelegProxy",
"2");
41 TProof::Open(
"alicecaf");
43 if(saveProofToAlien) {
44 TGrid::Connect(
"alien://");
46 TString homedir = gGrid->GetHomeDirectory();
47 TString workdir = homedir + trainName;
48 if(!gGrid->Cd(workdir)) {
50 if(gGrid->Mkdir(workdir)) {
52 ::Info(
"VertexingTrain::Connect()",
"Directory %s created", gGrid->Pwd());
55 gGrid->Mkdir(
"proof_output");
56 gGrid->Cd(
"proof_output");
57 proofOutdir = Form(
"alien://%s", gGrid->Pwd());
64 if(analysisMode==
"local" || analysisMode==
"grid") {
65 TString loadLibraries=
"LoadLibraries.C"; loadLibraries.Prepend(loadMacroPath.Data());
66 gROOT->LoadMacro(loadLibraries.Data());
69 gSystem->Load(
"libRAWDatabase");
74 }
else if (analysisMode==
"proof") {
81 gSystem->Load(
"libRAWDatabase");
88 TString parDir=
"/afs/cern.ch/user/d/dainesea/code/";
91 gProof->UploadPackage(
"AF-v4-17");
92 gProof->EnablePackage(
"AF-v4-17");
94 parFile=
"PWGHFvertexingHF.par"; parFile.Prepend(parDir.Data());
95 gProof->UploadPackage(parFile.Data());
96 gProof->EnablePackage(
"PWGHFvertexingHF");
99 parFile=
"STEERBase.par"; parFile.Prepend(parDir.Data());
100 gProof->UploadPackage(parFile.Data());
101 gProof->EnablePackage(
"STEERBase");
103 parFile=
"ESD.par"; parFile.Prepend(parDir.Data());
104 gProof->UploadPackage(parFile.Data());
105 gProof->EnablePackage(
"ESD");
107 parFile=
"AOD.par"; parFile.Prepend(parDir.Data());
108 gProof->UploadPackage(parFile.Data());
109 gProof->EnablePackage(
"AOD");
111 parFile=
"ANALYSIS.par"; parFile.Prepend(parDir.Data());
112 gProof->UploadPackage(parFile.Data());
113 gProof->EnablePackage(
"ANALYSIS");
115 parFile=
"ANALYSISalice.par"; parFile.Prepend(parDir.Data());
116 gProof->UploadPackage(parFile.Data());
117 gProof->EnablePackage(
"ANALYSISalice");
119 parFile=
"CORRFW.par"; parFile.Prepend(parDir.Data());
120 gProof->UploadPackage(parFile.Data());
121 gProof->EnablePackage(
"CORRFW");
123 parFile=
"PWGHFbase.par"; parFile.Prepend(parDir.Data());
124 gProof->UploadPackage(parFile.Data());
125 gProof->EnablePackage(
"PWGHFbase");
127 parFile=
"PWGHFvertexingHF.par"; parFile.Prepend(parDir.Data());
128 gProof->UploadPackage(parFile.Data());
129 gProof->EnablePackage(
"PWGHFvertexingHF");
131 gProof->ShowEnabledPackages();
138 AliAnalysisGrid *alienHandler =
CreateAlienHandler(pluginmode,useParFiles,testfileslistWithPlugin);
139 if(!alienHandler)
return;
148 if(!useAlienPlugin) {
149 TString makeAODInputChain=
"../MakeAODInputChain.C"; makeAODInputChain.Prepend(loadMacroPath.Data());
150 if(inputMode==
"list") {
152 gROOT->LoadMacro(makeAODInputChain.Data());
155 printf(
"ENTRIES %d\n",chainAOD->GetEntries());
156 }
else if(inputMode==
"xml") {
158 gROOT->LoadMacro(makeAODInputChain.Data());
160 }
else if(inputMode==
"dataset") {
163 dataset=
"/ITS/dainesea/AODVertexingHF_LHC08x_180100";
169 mgr->SetDebugLevel(10);
171 if(useAlienPlugin) mgr->SetGridHandler(alienHandler);
174 AliAODInputHandler *inputHandler =
new AliAODInputHandler(
"handler",
"handler for D2H");
175 if(analysisMode==
"proof" ) {
176 inputHandler->AddFriend(
"./AliAOD.VertexingHF.root");
178 if(saveProofToAlien) mgr->SetSpecialOutputLocation(proofOutdir);
180 mgr->SetInputEventHandler(inputHandler);
188 gROOT->LoadMacro(
"$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
191 gROOT->LoadMacro(
"$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDqa.C");
192 AliAnalysisTaskPIDqa *pidQA = AddTaskPIDqa();
205 taskName=
"AddTaskHFQA.C"; taskName.Prepend(loadMacroPath.Data());
206 gROOT->LoadMacro(taskName.Data());
207 AliAnalysisTaskSEHFQA *qaTask =
AddTaskHFQA(0,
"",kFALSE, kTRUE, 0 ,
"QApp",kTRUE,kTRUE,kFALSE, kTRUE, kFALSE,kTRUE);
213 taskName=
"AddTaskD0Mass.C"; taskName.Prepend(loadMacroPath.Data());
214 gROOT->LoadMacro(taskName.Data());
274 if(chainAOD) printf(
"CHAIN HAS %d ENTRIES\n",(
Int_t)chainAOD->GetEntries());
276 if(!mgr->InitAnalysis())
return;
278 if(analysisMode==
"grid" && !useAlienPlugin) analysisMode=
"local";
279 if(analysisMode!=
"proof") {
280 mgr->StartAnalysis(analysisMode.Data(),chainAOD,nentries,firstentry);
283 mgr->StartAnalysis(analysisMode.Data(),dataset.Data(),nentries,firstentry);
297 plugin->SetRunMode(pluginmode.Data());
300 plugin->SetAPIVersion(
"V1.1x");
301 plugin->SetROOTVersion();
302 plugin->SetAliROOTVersion();
303 plugin->SetNtestFiles(1);
304 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGHF/vertexingHF/AddGoodRuns.C");
310 plugin->SetFileForTestMode(testfileslistWithPlugin.Data());
316 plugin->SetGridDataDir(
"/alice/data/2010/LHC10d");
317 plugin->SetDataPattern(
"pass2/AOD018/*AliAOD.root");
318 plugin->SetFriendChainName(
"./AliAOD.VertexingHF.root");
326 plugin->SetNrunsPerMaster(totruns);
352 plugin->SetGridWorkingDir(
"myHFanalysis");
354 plugin->SetExecutable(
"myHFanalysis.sh");
356 plugin->SetGridOutputDir(
"output");
362 plugin->SetAdditionalLibs(
"libPWGflowBase.so libPWGflowTasks.so libPWGHFbase.so libPWGHFvertexingHF.so libGui.so libRAWDatabase.so libCDB.so libSTEER.so libTRDbase.so libPWGTRD.so");
365 plugin->EnablePackage(
"STEERBase.par");
366 plugin->EnablePackage(
"ESD.par");
367 plugin->EnablePackage(
"AOD.par");
368 plugin->EnablePackage(
"ANALYSIS.par");
369 plugin->EnablePackage(
"OADB.par");
370 plugin->EnablePackage(
"ANALYSISalice.par");
371 plugin->EnablePackage(
"CORRFW.par");
372 plugin->EnablePackage(
"PWGHFbase.par");
373 plugin->EnablePackage(
"PWGHFvertexingHF.par");
375 plugin->AddIncludePath(
"-I. -I$ROOTSYS/include -I$ALICE_ROOT -I$ALICE_ROOT/include -I$ALICE_PHYSICS -I$ALICE_PHYSICS/include -I$ALICE_ROOT/ITS -I$ALICE_ROOT/TPC -I$ALICE_ROOT/CONTAINERS -I$ALICE_ROOT/STEER/STEER -I$ALICE_ROOT/STEER/STEERBase -I$ALICE_ROOT/STEER/ESD -I$ALICE_ROOT/STEER/AOD -I$ALICE_ROOT/TRD -I$ALICE_ROOT/macros -I$ALICE_ROOT/ANALYSIS -I$ALICE_PHYSICS/OADB -I$ALICE_PHYSICS/PWGHF -I$ALICE_PHYSICS/PWGHF/base -I$ALICE_PHYSICS/PWGHF/vertexingHF -I$ALICE_PHYSICS/PWG/FLOW/Base -I$ALICE_PHYSICS/PWG/FLOW/Tasks -I$ALICE_PHYSICS/PWG -g");
377 plugin->SetDefaultOutputs(kTRUE);
379 plugin->SetMergeViaJDL(kTRUE);
380 plugin->SetOneStageMerging(kFALSE);
381 plugin->SetMaxMergeStages(2);
384 plugin->SetAnalysisMacro(
"AnalysisHF.C");
387 plugin->SetJDLName(
"TaskHF.jdl");
AliAnalysisGrid * CreateAlienHandler(TString pluginmode="test", Bool_t useParFiles=kFALSE, TString testfileslistWithPlugin="")
AliAnalysisTaskSEHFQA * AddTaskHFQA(AliAnalysisTaskSEHFQA::DecChannel ch, TString filecutsname="", Bool_t readMC=kFALSE, Bool_t simplemode=kFALSE, Int_t system=1, TString finDirname="", Bool_t trackon=kTRUE, Bool_t pidon=kTRUE, Bool_t centralityon=kTRUE, Bool_t eventselon=kTRUE, Bool_t flowobson=kFALSE, Bool_t filldistribforeffcheckson=kFALSE)
void RunAnalysisAODVertexingHF()
AliAnalysisTaskSED0Mass * AddTaskD0Mass(Int_t flag=0, Bool_t readMC=kFALSE, Bool_t filldistr=kFALSE, Bool_t cutOnDistr=kFALSE, Int_t system=0, Int_t flagD0D0bar=0, Float_t minC=0, Float_t maxC=0, TString finDirname="Loose", TString finname="", TString finObjname="D0toKpiCuts", Bool_t flagAOD049=kFALSE, Bool_t FillMassPt=false, Bool_t FillImpPar=false, Bool_t DrawDetSignal=false, Bool_t PIDCheck=false, Bool_t FillMassY=false, Bool_t FillMCAcc=true, Int_t AODProtection=1)
Int_t AddGoodRuns(AliAnalysisAlien *plugin, TString lhcPeriod, TString mcprod="")