2 class AliAnalysisAlien;
4 //_______________________________| Loading Libraries |________________________________
7 gSystem->SetIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT -I$ALICE_ROOT/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_ROOT/OADB -I$ALICE_ROOT/PWGPP -g");
9 //load the required aliroot libraries
10 gSystem->Load("libTree");
11 gSystem->Load("libGeom");
12 gSystem->Load("libPhysics");
13 gSystem->Load("libVMC");
14 gSystem->Load("libMinuit");
15 gSystem->Load("libSTEERBase");
16 gSystem->Load("libESD");
17 gSystem->Load("libAOD");
18 gSystem->Load("libANALYSIS");
19 gSystem->Load("libOADB");
20 gSystem->Load("libANALYSISalice");
21 gSystem->Load("libCORRFW");
22 gSystem->Load("libPWGPP");
25 //_______________________________| Running on Grid |________________________________
26 void RunCFSingleTrackEfficiencyTask()
29 const Bool_t readAOD = 1;
31 TString analysisMode = "local"; // "local", "grid", or "proof"
32 TString inputMode = "list"; // "list", "xml", or "dataset"
33 Long64_t nentries = 123567890,firstentry=0;
34 Bool_t useAlienPlugin = kTRUE;
35 TString pluginmode = "test";
36 TString testfileslistWithPlugin="filesAOD.txt"; // list of local files to test a la "files.txt" to use by the plugin
39 benchmark.Start("AliCFSingleTrackEfficiencyTask");
43 if(analysisMode=="grid") {
44 TGrid::Connect("alien://") ; // Create an AliRunTagCuts and an AliEventTagCuts Object
48 AliAnalysisGrid *alienHandler = CreateAlienHandler(pluginmode,testfileslistWithPlugin,readAOD);
49 if(!alienHandler) return;
52 printf("CREATE ANALYSIS MANAGER\n");
53 AliAnalysisManager *mgr = new AliAnalysisManager("My Manager","My Manager");
54 mgr->SetDebugLevel(10);
55 if(useAlienPlugin) mgr->SetGridHandler(alienHandler);
57 AliMCEventHandler* mcHandler = new AliMCEventHandler();
58 if (!readAOD) mgr->SetMCtruthEventHandler(mcHandler);
60 AliInputEventHandler* dataHandler;
61 if (readAOD) dataHandler = new AliAODInputHandler();
62 else dataHandler = new AliESDInputHandler();
63 mgr->SetInputEventHandler(dataHandler);
66 printf("Prepare to create the task\n");
68 // Run physics selection if not reading AODs
70 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
71 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(kTRUE);
76 // First add the task for the PID response setting
77 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
78 AliAnalysisTaskSE *setupTask = AddTaskPIDResponse(kTRUE,kTRUE);
80 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDqa.C");
81 AliAnalysisTaskPIDqa *pidQA = AddTaskPIDqa();
83 // gROOT->LoadMacro("AliSingleTrackEffCuts.cxx++g");
84 // gROOT->LoadMacro("AliCFSingleTrackEfficiencyTask.cxx++g");
85 gROOT->LoadMacro("AddSingleTrackEfficiencyTask.C");
86 AliCFSingleTrackEfficiencyTask *task = AddSingleTrackEfficiencyTask(readAOD,"Nch");
87 AliCFSingleTrackEfficiencyTask *taskPi = AddSingleTrackEfficiencyTask(readAOD,"Pion",AliPID::kPion,211);
88 AliCFSingleTrackEfficiencyTask *taskKa = AddSingleTrackEfficiencyTask(readAOD,"Kaon",AliPID::kKaon,321);
91 TChain * analysisChain=0;
93 if(analysisChain) printf("CHAIN HAS %d ENTRIES\n",(Int_t)analysisChain->GetEntries());
94 if(!mgr->InitAnalysis()) return;
96 if(analysisMode=="grid" && !useAlienPlugin) analysisMode="local";
97 if(analysisMode!="proof") {
98 mgr->StartAnalysis(analysisMode.Data(),analysisChain,nentries,firstentry);
101 benchmark.Stop("AliCFSingleTrackEfficiencyTask");
102 benchmark.Show("AliCFSingleTrackEfficiencyTask");
108 //_______________________________| CreateAlienHandler |________________________________
109 AliAnalysisGrid* CreateAlienHandler(TString pluginmode="test", TString testfileslistWithPlugin="", const Bool_t readAOD=kTRUE)
112 AliAnalysisAlien *plugin = new AliAnalysisAlien();
113 plugin->SetRunMode(pluginmode.Data());
114 plugin->SetUser("zconesa");
115 plugin->SetAPIVersion("V1.1x");
116 plugin->SetROOTVersion("v5-34-08");
117 plugin->SetAliROOTVersion("v5-05-03-AN");
118 plugin->SetNtestFiles(1);
120 // Set data file list to test on local mode
121 plugin->SetFileForTestMode(testfileslistWithPlugin.Data());
123 // Set data search pattern for DATA grid Mode
124 plugin->SetGridDataDir("/alice/sim/2013/LHC13d3"); // specify MC sample
125 if(readAOD) plugin->SetDataPattern("AOD/*AliAOD.root");// specify AOD set
126 else plugin->SetDataPattern("*/AliESDs.root");
129 gROOT->LoadMacro("$ALICE_ROOT/PWGHF/vertexingHF/AddGoodRuns.C");
130 totruns += AddGoodRuns(plugin,"LHC13b","LHC13b");
131 totruns += AddGoodRuns(plugin,"LHC13c","LHC13c");
132 plugin->SetNrunsPerMaster(totruns);
134 // plugin->AddDataFile("/alice/cern.ch/user/z/zconesa/sim/LHC13d3/195483_195529.xml");
136 plugin->SetGridWorkingDir("sim/LHC13d3/ST290713");
137 plugin->SetGridOutputDir("out");
139 plugin->SetExecutable("ST290713.sh");
140 plugin->SetAnalysisSource("AliSingleTrackEffCuts.cxx AliCFSingleTrackEfficiencyTask.cxx");
141 plugin->SetAdditionalLibs("AliSingleTrackEffCuts.h AliSingleTrackEffCuts.cxx AliCFSingleTrackEfficiencyTask.cxx AliCFSingleTrackEfficiencyTask.h");
142 plugin->AddIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT -I$ALICE_ROOT/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_ROOT/OADB -g");
144 plugin->SetDefaultOutputs(kTRUE);
146 plugin->SetMergeViaJDL(kTRUE);
147 plugin->SetOneStageMerging(kFALSE);
148 plugin->SetMaxMergeStages(2);
150 plugin->SetSplitMaxInputFileNumber(5);
152 plugin->SetAnalysisMacro("ST290713.C");
153 plugin->SetJDLName("TaskHFST290713.jdl");