1 AliAnalysisGrid* CreateAlienHandlerHadEt(Int_t dataset, Bool_t data, Int_t test, Int_t material, Bool_t altV0Scale = kFALSE, bool runCompiledVersion = kFALSE, int simflag = 0)
3 // Check if user has a valid token, otherwise make one. This has limitations.
4 // One can always follow the standard procedure of calling alien-token-init then
5 // source /tmp/gclient_env_$UID in the current shell.
6 //if (!AliAnalysisGrid::CreateToken()) return NULL;
7 AliAnalysisAlien *plugin = new AliAnalysisAlien();
9 // Overwrite all generated files, datasets and output results from a previous session
10 plugin->SetOverwriteMode();
11 // Set the run mode (can be "full", "test", "offline", "submit" or "terminate")
13 plugin->SetRunMode("test"); // VERY IMPORTANT - DECRIBED BELOW
17 plugin->SetRunMode("full"); // VERY IMPORTANT - DECRIBED BELOW
20 plugin->SetRunMode("terminate"); // VERY IMPORTANT - DECRIBED BELOW
23 //needed for local testing?
24 //plugin->SetFileForTestMode("files.txt"); // file should contain path name to a local directory containg *ESDs.root etc
25 // Set versions of used packages
26 plugin->SetAPIVersion("V1.1x");
27 plugin->SetROOTVersion("v5-34-08");
28 plugin->SetAliROOTVersion("v5-05-55-AN");
29 // Declare input data to be processed.
31 plugin->AddIncludePath("-I$ALICE_ROOT/PWGUD/base -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWGPP -I$ALICE_ROOT/PWGPP/ITS");
32 // Method 1: Create automatically XML collections using alien 'find' command.
33 // Define production directory LFN
34 // plugin->SetGridDataDir("/alice/sim/LHC10a18");
35 // Set data search pattern
36 // plugin->SetDataPattern("*ESDs.root"); // simulated, tags not used
37 // plugin->SetDataPattern("*ESDs/pass4/*ESDs.root"); // real data check reco pass and data base directory
38 // plugin->SetRunPrefix("000"); // real data
39 // plugin->SetDataPattern("*tag.root"); // Use ESD tags (same applies for AOD's)
40 // ...then add run numbers to be considered
41 // plugin->AddRunNumber(125020); // simulated
42 // plugin->AddRunNumber(104065); // real data
44 // Method 2: Declare existing data files (raw collections, xml collections, root file)
45 // If no path mentioned data is supposed to be in the work directory (see SetGridWorkingDir())
46 // XML collections added via this method can be combined with the first method if
47 // the content is compatible (using or not tags)
48 //plugin->AddDataFile("tag.xml");
49 // plugin->AddDataFile("/alice/data/2008/LHC08c/000057657/raw/Run57657.Merged.RAW.tag.root");
50 if(dataset==20100){//PbPb 2.76 TeV
52 cout<<"Running over data"<<endl;
53 plugin->SetGridDataDir("/alice/data/2010/LHC10h");//PbPb data
54 plugin->SetDataPattern("*ESDs/pass2/*ESDs.root");
55 plugin->SetRunPrefix("000"); // real data
58 cout<<"Running over MC"<<endl;
60 plugin->SetGridDataDir("/alice/sim/LHC11a10a_bis");
61 //plugin->SetGridDataDir("/alice/sim/LHC11a4_bis");//PbPb simulation
63 if(material==1){//7% more material
64 plugin->SetGridDataDir("/alice/sim/LHC10h9");//PbPb simulation
66 if(material==-1){//7% less material
67 plugin->SetGridDataDir("/alice/sim/LHC10h10");//PbPb simulation
69 if(material==10){//OK it's a cheat but this runs on DPM jet
70 plugin->SetGridDataDir("/alice/sim/LHC10h2");//PbPb simulation
72 if(material==11){//OK it's a cheat but this runs on AMPT
73 plugin->SetGridDataDir(" /alice/sim/LHC11a9a");//PbPb simulation
75 plugin->SetDataPattern("*ESDs.root");
76 //plugin->SetGridWorkingDir("etPbPbSim");
78 plugin->AddRunNumber(139465);
79 // plugin->AddRunNumber(137366);
80 // plugin->AddRunNumber(137161);
83 if(dataset==2009){//pp 900 GeV
84 if(data){//only 233 jobs!
85 cout<<"Running over data"<<endl;
86 plugin->SetGridDataDir("/alice/data/2010/LHC10c");//PbPb data
87 //plugin->SetDataPattern("*ESDs/pass3/*ESDs.root");
88 plugin->SetDataPattern("*ESDs/pass3/*ESDs.root");
89 plugin->SetRunPrefix("000"); // real data
91 else{//sim over 1500 jobs, some get killed because it's above quota
92 cout<<"Running over MC"<<endl;
95 plugin->SetGridDataDir("/alice/sim/LHC11b1a");//PbPb simulation
97 if(material==1){//10% more material budget
98 plugin->SetGridDataDir("/alice/sim/LHC11b1b");//PbPb simulation
100 if(material==-1){//10% less material budget
101 plugin->SetGridDataDir("/alice/sim/LHC11b1c");//PbPb simulation
104 if(simflag==1) plugin->SetGridDataDir("/alice/sim/2011/LHC11h1a");//PYTHIA
105 if(simflag==2) plugin->SetGridDataDir("/alice/sim/2011/LHC11h1b");//PHOJET
106 if(simflag==3) plugin->SetGridDataDir("/alice/sim/2011/LHC11h1c");//PYTHIA Flat
107 plugin->SetDataPattern("*ESDs.root");
109 plugin->AddRunNumber(118506);
110 // plugin->AddRunNumber(121040);
111 // plugin->AddRunNumber(121039);
112 // plugin->AddRunNumber(118561);
113 // plugin->AddRunNumber(118560);
114 // plugin->AddRunNumber(118558);
115 // plugin->AddRunNumber(118557);
116 // plugin->AddRunNumber(118556);
117 // plugin->AddRunNumber(118518);
118 // plugin->AddRunNumber(118512);
119 // plugin->AddRunNumber(118507);
120 // plugin->AddRunNumber(118506);
122 // plugin->AddRunNumber(118504);
123 // plugin->AddRunNumber(118503);
127 if(dataset==20111){//pp 2.76 TeV
129 cout<<"Running over data"<<endl;
130 plugin->SetGridDataDir("/alice/data/2011/LHC11a");//
131 plugin->SetDataPattern("*ESDs/pass4_with_SDD/*ESDs.root");
132 plugin->SetRunPrefix("000"); // real data
134 else{//sim - 332 jobs
135 cout<<"Running over MC"<<endl;
136 if(simflag==0) plugin->SetGridDataDir("/alice/sim/LHC11b10a");//
137 if(simflag==1) plugin->SetGridDataDir("/alice/sim/2011/LHC11h5a");//PYTHIA
138 if(simflag==2) plugin->SetGridDataDir("/alice/sim/2011/LHC11h5b");//PHOJET
139 if(simflag==3) plugin->SetGridDataDir("/alice/sim/2011/LHC11h5c");//PYTHIA Flat
140 plugin->SetDataPattern("*ESDs.root");
142 // plugin->AddRunNumber(146860);
143 // plugin->AddRunNumber(146859);
144 // plugin->AddRunNumber(146856);
145 // plugin->AddRunNumber(146824);
146 // plugin->AddRunNumber(146817);
147 // plugin->AddRunNumber(146806);
148 // plugin->AddRunNumber(146805);
149 // plugin->AddRunNumber(146804);
150 // plugin->AddRunNumber(146803);
151 // plugin->AddRunNumber(146802);
152 // plugin->AddRunNumber(146801);
153 // plugin->AddRunNumber(146748);
154 // plugin->AddRunNumber(146747);
155 // plugin->AddRunNumber(146746);
157 // plugin->AddRunNumber(146860);
158 // plugin->AddRunNumber(146859);
159 // plugin->AddRunNumber(146858);
160 // plugin->AddRunNumber(146857);
161 // plugin->AddRunNumber(146856);
162 // plugin->AddRunNumber(146824);
163 // if(data){//these productions are not yet done for MC
164 // plugin->AddRunNumber(146817);
165 // plugin->AddRunNumber(146807);
166 // plugin->AddRunNumber(146806);
167 // plugin->AddRunNumber(146805);
168 // plugin->AddRunNumber(146804);
169 // plugin->AddRunNumber(146803);
170 // plugin->AddRunNumber(146802);
172 plugin->AddRunNumber(146805);
175 if(dataset==2010){//pp 7 TeV
176 if(data){//data - 569 jobs
177 cout<<"Running over 7 TeV data"<<endl;
178 plugin->SetGridDataDir("/alice/data/2010/LHC10e");//PbPb data
179 plugin->SetDataPattern("*ESDs/pass2/*ESDs.root");
180 cout<<"Setting run prefix to be 000"<<endl;
181 plugin->SetRunPrefix("000"); // real data
184 if(simflag==0) plugin->SetGridDataDir("/alice/sim/LHC10e20");//
185 if(simflag==1) plugin->SetGridDataDir("/alice/sim/2011/LHC11h4a");//PYTHIA
186 if(simflag==2) plugin->SetGridDataDir("/alice/sim/2011/LHC11h4b");//PHOJET
187 if(simflag==3) plugin->SetGridDataDir("/alice/sim/2011/LHC11h4c");//PYTHIA Flat
188 plugin->SetDataPattern("*ESDs.root");
190 plugin->AddRunNumber("130795");
191 // plugin->AddRunNumber("130840");
192 // plugin->AddRunNumber("130834");
193 // plugin->AddRunNumber("130833");
194 // plugin->AddRunNumber("130831");
195 // plugin->AddRunNumber("130804");
196 // plugin->AddRunNumber("130803");
197 // plugin->AddRunNumber("130802");
198 // plugin->AddRunNumber("130799");
199 // plugin->AddRunNumber("130798");
200 // plugin->AddRunNumber("130795");
203 if(dataset==2012){//pp 8 TeV
204 if(data){//data - 569 jobs
205 cout<<"Running over 8 TeV data"<<endl;
206 plugin->SetGridDataDir("/alice/data/2012/LHC12b");//PbPb data
207 plugin->SetDataPattern("*ESDs/pass1/*ESDs.root");
208 cout<<"Setting run prefix to be 000"<<endl;
209 plugin->SetRunPrefix("000"); // real data
212 plugin->SetGridDataDir("/alice/sim/2012/LHC12c1b");//
214 //plugin->AddRunNumber("177799");
215 plugin->AddRunNumber("178030");
217 if(dataset==2013){//pPb
218 if(data){//data - 569 jobs
219 cout<<"Running over pPb data"<<endl;
220 plugin->SetGridDataDir("/alice/data/2013/LHC13b");//PbPb data
221 plugin->SetDataPattern("*ESDs/pass3/*ESDs.root");
222 cout<<"Setting run prefix to be 000"<<endl;
223 plugin->SetRunPrefix("000"); // real data
226 plugin->SetGridDataDir(" /alice/sim/2013/LHC13b3");//
228 plugin->AddRunNumber("195483");
233 if(dataset==20100){//PbPb 2.76 TeV
235 plugin->SetGridWorkingDir("etPbPbData");
238 if(material==0){plugin->SetGridWorkingDir("etPbPbSim");}
239 if(material==-1) plugin->SetGridWorkingDir("etPbPbSimMatBudLow");
240 if(material==1) plugin->SetGridWorkingDir("etPbPbSimMatBudHigh");
241 if(material==10) plugin->SetGridWorkingDir("etPbPbSimDPMJET");
242 if(material==11) plugin->SetGridWorkingDir("etPbPbSimAMPT");
246 if(dataset==2009){//pp 900 GeV
248 plugin->SetGridWorkingDir("etpp900GeVData");
252 if(material==0) plugin->SetGridWorkingDir("etpp900GeVSim");
253 if(material==-1) plugin->SetGridWorkingDir("etpp900GeVSimMatBudLow");
254 if(material==1) plugin->SetGridWorkingDir("etpp900GeVSimMatBudHigh");
256 if(simflag==1) plugin->SetGridWorkingDir("etpp900GeVSimPYTHIA");//PYTHIA
257 if(simflag==2) plugin->SetGridWorkingDir("etpp900GeVSimPHOJET");//PHOJET
258 if(simflag==3) plugin->SetGridWorkingDir("etpp900GeVSimPYTHIAFLAT");//PYTHIA Flat
261 if(dataset==20111){//pp 2.76 TeV
263 plugin->SetGridWorkingDir("etpp276TeVData");
266 if(altV0Scale) plugin->SetGridWorkingDir("etpp276TeVSimAlt");
268 // plugin->SetGridWorkingDir("etpp276TeVSim");
270 if(simflag==0) plugin->SetGridWorkingDir("etpp276TeVSim");//
271 if(simflag==1) plugin->SetGridWorkingDir("etpp276TeVSimPYTHIA");//PYTHIA
272 if(simflag==2) plugin->SetGridWorkingDir("etpp276TeVSimPHOJET");//PHOJET
273 if(simflag==3) plugin->SetGridWorkingDir("etpp276TeVSimPYTHIAFLAT");//PYTHIA Flat
277 if(dataset==2010){//pp 7 TeV
279 plugin->SetGridWorkingDir("etpp7TeVData");
282 if(simflag==0) plugin->SetGridWorkingDir("etpp7TeVSim");//
283 if(simflag==1) plugin->SetGridWorkingDir("etpp7TeVSimPYTHIA");//PYTHIA
284 if(simflag==2) plugin->SetGridWorkingDir("etpp7TeVSimPHOJET");//PHOJET
285 if(simflag==3) plugin->SetGridWorkingDir("etpp7TeVSimPYTHIAFLAT");//PYTHIA Flat
288 if(dataset==2012){//pp 8 TeV
290 plugin->SetGridWorkingDir("etpp8TeVData");
293 plugin->SetGridWorkingDir("etpp8TeVSim");
296 if(dataset==2013){//pPb
298 plugin->SetGridWorkingDir("etpPb5TeVData");
301 plugin->SetGridWorkingDir("etpPb5TeVSim");
307 // Define alien work directory where all files will be copied. Relative to alien $HOME.
308 //plugin->SetGridWorkingDir("et");
309 // Declare alien output directory. Relative to working directory.
310 plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
311 // Declare the analysis source files names separated by blancs. To be compiled runtime IN THE SAME ORDER THEY ARE LISTED
312 // using ACLiC on the worker nodes.
313 //plugin->SetAnalysisSource("AliAnalysisTaskHadEt.cxx");
314 //plugin->SetAnalysisSource("AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisHadEt.cxx AliAnalysisHadEtMonteCarlo.cxx AliAnalysisHadEtReconstructed.cxx AliAnalysisTaskHadEt.cxx AliAnalysisTaskTotEt.cxx");
315 //TString sourcefiles = "AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisHadEt.cxx AliAnalysisHadEtMonteCarlo.cxx AliAnalysisHadEtReconstructed.cxx AliAnalysisEtSelectionContainer.cxx AliAnalysisEtSelectionHandler.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskHadEt.cxx";
316 //plugin->SetAnalysisSource(sourcefiles.Data());
317 if(!runCompiledVersion){
318 plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisHadEt.cxx AliAnalysisHadEtMonteCarlo.cxx AliAnalysisHadEtReconstructed.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskHadEt.cxx");
321 //cout<<"Setting source files "<<sourcefiles<<endl;
322 // Declare all libraries (other than the default ones for the framework. These will be
323 // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
324 //TString additionallibs = "AliAnalysisEtCuts.h AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.h AliAnalysisHadEtCorrections.cxx AliAnalysisEtSelectionContainer.cxx AliAnalysisEtSelectionHandler.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisEtCommon.h AliAnalysisEtCommon.cxx AliAnalysisHadEt.cxx AliAnalysisHadEtMonteCarlo.cxx AliAnalysisHadEtReconstructed.cxx AliAnalysisTaskHadEt.cxx AliAnalysisHadEt.h AliAnalysisHadEtMonteCarlo.h AliAnalysisHadEtReconstructed.h AliAnalysisTaskHadEt.h AliAnalysisEtSelectionContainer.h AliAnalysisEtSelectionHandler.h AliAnalysisTaskTransverseEnergy.h corrections.root ConfigHadEtAnalysis.C ConfigHadEtMonteCarlo.C ConfigHadEtReconstructed.C physicsSelections.root";
325 //TString additionallibs = "AliAnalysisEtCuts.h AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.h AliAnalysisHadEtCorrections.cxx AliAnalysisEtSelectionContainer.cxx AliAnalysisEtSelectionHandler.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisEtCommon.h AliAnalysisEtCommon.cxx AliAnalysisHadEt.cxx AliAnalysisHadEtMonteCarlo.cxx AliAnalysisHadEtReconstructed.cxx AliAnalysisTaskHadEt.cxx AliAnalysisHadEt.h AliAnalysisHadEtMonteCarlo.h AliAnalysisHadEtReconstructed.h AliAnalysisTaskHadEt.h AliAnalysisEtSelectionContainer.h AliAnalysisEtSelectionHandler.h AliAnalysisTaskTransverseEnergy.h physicsSelections.root ConfigHadEtMonteCarlo.C ConfigHadEtReconstructed.C corrections.root";
326 //plugin->SetAdditionalLibs(additionallibs.Data());
327 if(!runCompiledVersion){//
328 plugin->SetAdditionalLibs( "libPWGUDbase.so AliAnalysisEtCuts.h AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.h AliAnalysisHadEtCorrections.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisEtCommon.h AliAnalysisEtCommon.cxx AliAnalysisHadEt.cxx AliAnalysisHadEtMonteCarlo.cxx AliAnalysisHadEtReconstructed.cxx AliAnalysisTaskHadEt.cxx AliAnalysisHadEt.h AliAnalysisHadEtMonteCarlo.h AliAnalysisHadEtReconstructed.h AliAnalysisTaskHadEt.h AliAnalysisTaskTransverseEnergy.h ConfigHadEtMonteCarlo.C ConfigHadEtReconstructed.C corrections.root");
331 plugin->SetAdditionalLibs( "ConfigHadEtMonteCarlo.C ConfigHadEtReconstructed.C corrections.root libPWGUDbase.so libPWGLFtotEt.so");
333 // No need for output file names. Procedure is automatic. <-- not true
334 //plugin->SetDefaultOutputs(kFALSE);
335 //plugin->SetOutputFiles("Et.ESD.new.sim.root");
336 // No need define the files to be archived. Note that this is handled automatically by the plugin.
337 // plugin->SetOutputArchive("log_archive.zip:stdout,stderr");
338 // Set a name for the generated analysis macro (default MyAnalysis.C) Make this unique !
339 plugin->SetAnalysisMacro("ChristinesEtAnalysis.C");
340 // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore). The optimum for an analysis
341 // is correlated with the run time - count few hours TTL per job, not minutes !
342 plugin->SetSplitMaxInputFileNumber(50);
343 if(dataset==2013){//pPb
344 plugin->SetSplitMaxInputFileNumber(20);
346 // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
347 //plugin->SetMaxInitFailed(5);
348 // Optionally resubmit threshold.
349 //plugin->SetMasterResubmitThreshold(90);
350 // Optionally set time to live (default 30000 sec)
351 plugin->SetTTL(20000);
352 // Optionally set input format (default xml-single)
353 plugin->SetInputFormat("xml-single");
354 // Optionally modify the name of the generated JDL (default analysis.jdl)
355 plugin->SetJDLName("TaskEt.jdl");
356 // Optionally modify job price (default 1)
358 // Optionally modify split mode (default 'se')
359 plugin->SetSplitMode("se");
360 plugin->SetTerminateFiles("event_stat.root") ;
361 plugin->SetKeepLogs();
362 plugin->SetMergeViaJDL();