]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/totEt/macros/CreateAlienHandlerCaloEtSim.C
updating macros for running on compiled code
[u/mrichter/AliRoot.git] / PWGLF / totEt / macros / CreateAlienHandlerCaloEtSim.C
CommitLineData
adb58d35 1AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputName, const char * pluginRunMode, int production, Bool_t isPHOS, Bool_t ispp,Bool_t isData, Int_t runnum, Bool_t runCompiledVersion)
4998bf42 2{
99a6613d 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.
c9bdd83c 6 //if (!AliAnalysisGrid::CreateToken()) return NULL;
99a6613d 7 AliAnalysisAlien *plugin = new AliAnalysisAlien();
4998bf42 8
99a6613d 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")
53992099 12 // plugin->SetRunMode("full"); // VERY IMPORTANT - DECRIBED BELOW
13 // plugin->SetRunMode("test"); // VERY IMPORTANT - DECRIBED BELOW
14 plugin->SetRunMode(pluginRunMode); // VERY IMPORTANT - DECRIBED BELOW
8df12228 15 cout<<"Running in "<<pluginRunMode<<" mode"<<endl;
53992099 16
99a6613d 17 // Set versions of used packages
964c8159 18 plugin->SetAPIVersion("V1.1x");
adb58d35 19 plugin->SetROOTVersion("v5-34-08-4");
20 plugin->SetAliROOTVersion("v5-05-63-AN");
99a6613d 21 // Declare input data to be processed.
4998bf42 22
99a6613d 23 // Method 1: Create automatically XML collections using alien 'find' command.
24 // Define production directory LFN
25 // plugin->SetGridDataDir("/alice/sim/LHC10a18");
26 // Set data search pattern
27 // plugin->SetDataPattern("*ESDs.root"); // simulated, tags not used
28 // plugin->SetDataPattern("*ESDs/pass4/*ESDs.root"); // real data check reco pass and data base directory
29 // plugin->SetRunPrefix("000"); // real data
30 // plugin->SetDataPattern("*tag.root"); // Use ESD tags (same applies for AOD's)
31 // ...then add run numbers to be considered
32 // plugin->AddRunNumber(125020); // simulated
33 // plugin->AddRunNumber(104065); // real data
4998bf42 34
7c03166b 35
36 plugin->SetDataPattern("*ESDs.root");
c31562f7 37 //plugin->SetGridDataDir("/alice/sim/LHC10d4");
38 //plugin->AddRunNumber("120741");//smallest of the above
7c03166b 39 if(ispp){
40 if( production==0){
41 //pp
42 plugin->SetGridDataDir("/alice/sim/2012/LHC12a15e/");
43 plugin->AddRunNumber(169838);
44 }
45 if( production==1 || production==2 || production==3){
46 cout<<"I am here! "<<endl;
47 //pp
48 if(production==1){
49 plugin->SetGridDataDir(" /alice/sim/LHC11b1a/");//nominal
50 outputDir = outputDir + "NominalLHC11b1a";
51 }
52 if(production==2){
53 plugin->SetGridDataDir(" /alice/sim/LHC11b1b/");//high material budget
54 outputDir = outputDir + "HighLHC11b1b";
55 }
56 if(production==3){
57 plugin->SetGridDataDir(" /alice/sim/LHC11b1c/");//low material budget
58 outputDir = outputDir + "LowLHC11b1c";
59 }
60 plugin->AddRunNumber(121040);//all runs in these productions with good EMC and PHOS and global status
61 plugin->AddRunNumber(121039);//
62 plugin->AddRunNumber(118558);
63 plugin->AddRunNumber(118518);
64 plugin->AddRunNumber(118506);
65 //Additional runs which may be used 118561, 118560, 118556 emc bad parts
66 //118512, 118507 status unknown
67 }
68 }
69 else{
70 if(isData){//185 jobs
d45a33b8 71 cout<<"Running over data"<<endl;
72 if(production==1){
73 plugin->SetGridDataDir("/alice/data/2010/LHC10h");//PbPb data
74 plugin->SetDataPattern("*ESDs/pass2/*ESDs.root");
75 plugin->SetRunPrefix("000"); // real data
76 outputDir = outputDir + "LHC10hPass2";
77 if(runnum==0){
78 plugin->AddRunNumber(139465);
79 outputDir = outputDir + "Run139465";
80 }
81 if(runnum==1){
82 plugin->AddRunNumber(138442);
83 outputDir = outputDir + "Run138442";
84 }
85 if(runnum==2){
86 plugin->AddRunNumber(138364);
87 outputDir = outputDir + "Run138364";
88 }
89 if(runnum==3){
90 plugin->AddRunNumber(138534);
91 outputDir = outputDir + "Run138534";
92 }
93 if(runnum==4){
94 plugin->AddRunNumber(138275);
95 outputDir = outputDir + "Run138275";
96 }
97 }
98 if(production==2){
99 plugin->SetGridDataDir("/alice/data/2011/LHC11h_2");//PbPb data
100 plugin->SetDataPattern("*ESDs/pass2/*ESDs.root");
101 plugin->SetRunPrefix("000"); // real data
adb58d35 102 //plugin->AddRunNumber(169099);
103 plugin->AddRunNumber(168464);
d45a33b8 104 outputDir = outputDir + "LHC11hPass2";
105 }
7c03166b 106 }
107 else{
108 if(production==0){
109 //Standard
110 if(isPHOS){
111 plugin->SetGridDataDir("/alice/sim/LHC11a10a_bis");
112 }
113 else{
114 outputDir = outputDir + "LHC11a4_bis";
115 plugin->SetGridDataDir("/alice/sim/LHC11a4_bis");
116 plugin->SetGridDataDir("/alice/sim/LHC11a4_bis");
117 }
118 plugin->AddRunNumber(139465);
119 plugin->AddRunNumber(139470);
120 plugin->AddRunNumber(137366);
121 plugin->AddRunNumber(137161);
122 }
123 if(production==1){
70292245 124 //cout<<"I am here! Line 93 "<<endl;
7c03166b 125 //if(!isPHOS){
126 outputDir = outputDir + "LHC11a10a_bis";
127 plugin->SetGridDataDir("/alice/sim/LHC11a10a_bis");
128 //}
129// plugin->AddRunNumber(137366);
130// plugin->AddRunNumber(137161);
131// plugin->AddRunNumber(139470);
132 plugin->AddRunNumber(139465);//probably our focus now
d45a33b8 133// plugin->AddRunNumber(138442);
134// plugin->AddRunNumber(138364);
135// plugin->AddRunNumber(138534);
136// plugin->AddRunNumber(138275);
7c03166b 137 }
138 if(production==2){
139 if(!isPHOS){
140 outputDir = outputDir + "LHC11b7";
141 plugin->SetGridDataDir("/alice/sim/LHC11b7");
142 }
143 plugin->AddRunNumber(137549);
144 plugin->AddRunNumber(138200);
145 }
146 if(production==3){
147 if(!isPHOS){
148 outputDir = outputDir + "LHC11a10a";
149 plugin->SetGridDataDir("/alice/sim/LHC11a10a");
150 }
151 plugin->AddRunNumber(139470);
152 }
70292245 153 if(production==4){
154 outputDir = outputDir + "LHC13d2";
155 plugin->SetGridDataDir(" /alice/sim/2013/LHC13d2");
156 plugin->AddRunNumber(139465);//probably our focus now
157 }
adb58d35 158 if(production==5){//2011 production - not perfect but the best fit
159 cout<<"I am here setting grid data dir"<<endl;
160 outputDir = outputDir + "LHC14a6";
161 plugin->SetGridDataDir(" /alice/sim/2014/LHC14a6");
162// outputDir = outputDir + "LHC11a4_bisTEST";
163// plugin->SetGridDataDir("/alice/sim/LHC11a4_bis");
164// plugin->AddRunNumber(139465);
165// plugin->AddRunNumber(137161);
166// outputDir = outputDir + "LHC14a1a";
167// plugin->SetGridDataDir(" /alice/sim/2014/LHC14a1a");
168 plugin->AddRunNumber(168464);//probably our focus now
169 //plugin->AddRunNumber(169238);//test 18 Mar 14 - does this let me submit jobs?
170 }
70292245 171
172
7c03166b 173 }
174 }
175
99a6613d 176 // Method 2: Declare existing data files (raw collections, xml collections, root file)
177 // If no path mentioned data is supposed to be in the work directory (see SetGridWorkingDir())
178 // XML collections added via this method can be combined with the first method if
179 // the content is compatible (using or not tags)
83de2448 180 //plugin->AddDataFile("tag.xml");
6ad010c1 181 // plugin->AddDataFile("wn.xml"); // test
99a6613d 182 // file generated with: find -x tag /alice/sim/LHC10d1/117222/* AliESDs.root > tag.xml
4998bf42 183
99a6613d 184 // Define alien work directory where all files will be copied. Relative to alien $HOME.
185 plugin->SetGridWorkingDir(outputDir.Data());
186 // Declare alien output directory. Relative to working directory.
187 plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
188 // Declare the analysis source files names separated by blancs. To be compiled runtime IN THE SAME ORDER THEY ARE LISTED
9fb993e3 189 //plugin->SetAdditionalRootLibs("libPHOSUtils.so libEMCALUtils.so libPWG4CaloCalib.so libPWG4PartCorrBase.so libPWG4PartCorrDep.so");
99a6613d 190 // using ACLiC on the worker nodes.
adb58d35 191 if(runCompiledVersion){
192 plugin->SetAdditionalLibs("libPHOSUtils.so libTENDER.so libTENDERSupplies.so libPWGTools.so libPWGEMCAL.so badchannels.root libPWGLFtotEt.so corrections.root calocorrections.root ConfigEtMonteCarlo.C ConfigEtReconstructed.C");
193 }
194 else{
195 plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisEtSelector.cxx AliAnalysisEtSelectorPhos.cxx AliAnalysisEtSelectorEmcal.cxx AliAnalysisEtTrackMatchCorrections.cxx AliAnalysisEtRecEffCorrection.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisEmEtMonteCarlo.cxx AliAnalysisEmEtReconstructed.cxx AliAnalysisTaskTotEt.cxx");
fe71c343 196 //plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisEtSelector.cxx AliAnalysisEtSelectorPhos.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskTotEt.cxx");
99a6613d 197 // Declare all libraries (other than the default ones for the framework. These will be
198 // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
adb58d35 199 plugin->SetAdditionalLibs("libPHOSUtils.so libTENDER.so libTENDERSupplies.so libPWGTools.so libPWGEMCAL.so AliAnalysisEtCuts.cxx AliAnalysisEtCuts.h AliAnalysisHadEtCorrections.cxx AliAnalysisHadEtCorrections.h AliAnalysisEtCommon.cxx AliAnalysisEtCommon.h AliAnalysisEtSelector.cxx AliAnalysisEtSelector.h AliAnalysisEtSelectorPhos.cxx AliAnalysisEtSelectorPhos.h AliAnalysisEtSelectorEmcal.cxx AliAnalysisEtSelectorEmcal.h AliAnalysisEtTrackMatchCorrections.cxx AliAnalysisEtTrackMatchCorrections.h AliAnalysisEtRecEffCorrection.cxx AliAnalysisEtRecEffCorrection.h AliAnalysisEt.cxx AliAnalysisEt.h AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarlo.h AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloPhos.h AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtMonteCarloEmcal.h AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructed.h AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedPhos.h AliAnalysisEtReconstructedEmcal.cxx AliAnalysisEtReconstructedEmcal.h AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskTransverseEnergy.h AliAnalysisEmEtMonteCarlo.cxx AliAnalysisEmEtMonteCarlo.h AliAnalysisEmEtReconstructed.cxx AliAnalysisEmEtReconstructed.h AliAnalysisTaskTotEt.cxx AliAnalysisTaskTotEt.h badchannels.root corrections.root calocorrections.root ConfigEtMonteCarlo.C ConfigEtReconstructed.C");
200 }
201 plugin->SetExecutableCommand("aliroot -b -q");
6ad010c1 202 // add extra include files/path
203 plugin->AddIncludePath("-I. -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/ANALYSIS");
99a6613d 204
205 // No need for output file names. Procedure is automatic. <-- not true
62633297 206 //plugin->SetDefaultOutputs(kFALSE);
8df12228 207 //plugin->SetOutputFiles(outputName.Data());
62633297 208 //plugin->SetOutputFiles("Et.ESD.sim.EMCAL.root event_stat.root");
99a6613d 209 // No need define the files to be archived. Note that this is handled automatically by the plugin.
210 // plugin->SetOutputArchive("log_archive.zip:stdout,stderr");
211 // Set a name for the generated analysis macro (default MyAnalysis.C) Make this unique !
212 plugin->SetAnalysisMacro("DavidEtAnalysis.C");
213 // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore). The optimum for an analysis
214 // is correlated with the run time - count few hours TTL per job, not minutes !
adb58d35 215 plugin->SetSplitMaxInputFileNumber(20);
99a6613d 216 // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
d45a33b8 217 //plugin->SetMaxInitFailed(50);
99a6613d 218 // Optionally resubmit threshold.
c9bdd83c 219 //plugin->SetMasterResubmitThreshold(90);
99a6613d 220 // Optionally set time to live (default 30000 sec)
adb58d35 221 plugin->SetTTL(30000);
99a6613d 222 // Optionally set input format (default xml-single)
223 plugin->SetInputFormat("xml-single");
224 // Optionally modify the name of the generated JDL (default analysis.jdl)
225 plugin->SetJDLName("TaskEt.jdl");
226 // Optionally modify job price (default 1)
227 plugin->SetPrice(1);
228 // Optionally modify split mode (default 'se')
229 plugin->SetSplitMode("se");
6ad010c1 230
7c03166b 231
232 plugin->SetMergeViaJDL();
233
99a6613d 234 return plugin;
4998bf42 235}