]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/totEt/macros/CreateAlienHandlerHadEt.C
adding switches to run compiled version
[u/mrichter/AliRoot.git] / PWGLF / totEt / macros / CreateAlienHandlerHadEt.C
CommitLineData
2eca0e87 1AliAnalysisGrid* CreateAlienHandlerHadEt(Int_t dataset, Bool_t data, Bool_t test, Int_t material, Bool_t altV0Scale = kFALSE, bool runCompiledVersion = kFALSE)
16dad6e3 2{
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();
8
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")
12 if(test){
13 plugin->SetRunMode("test"); // VERY IMPORTANT - DECRIBED BELOW
14 }
15 else{
16 plugin->SetRunMode("full"); // VERY IMPORTANT - DECRIBED BELOW
17 }
2eca0e87 18 //needed for local testing?
19 //plugin->SetFileForTestMode("files.txt"); // file should contain path name to a local directory containg *ESDs.root etc
16dad6e3 20 // Set versions of used packages
21 plugin->SetAPIVersion("V1.1x");
2eca0e87 22 plugin->SetROOTVersion("v5-33-02a");
23 plugin->SetAliROOTVersion("v5-03-15-AN");
16dad6e3 24 // Declare input data to be processed.
25
2eca0e87 26 plugin->AddIncludePath("-I$ALICE_ROOT/PWGUD/base");
16dad6e3 27 // Method 1: Create automatically XML collections using alien 'find' command.
28 // Define production directory LFN
29 // plugin->SetGridDataDir("/alice/sim/LHC10a18");
30 // Set data search pattern
31 // plugin->SetDataPattern("*ESDs.root"); // simulated, tags not used
32 // plugin->SetDataPattern("*ESDs/pass4/*ESDs.root"); // real data check reco pass and data base directory
33 // plugin->SetRunPrefix("000"); // real data
34 // plugin->SetDataPattern("*tag.root"); // Use ESD tags (same applies for AOD's)
35 // ...then add run numbers to be considered
36 // plugin->AddRunNumber(125020); // simulated
37 // plugin->AddRunNumber(104065); // real data
38
39 // Method 2: Declare existing data files (raw collections, xml collections, root file)
40 // If no path mentioned data is supposed to be in the work directory (see SetGridWorkingDir())
41 // XML collections added via this method can be combined with the first method if
42 // the content is compatible (using or not tags)
43 //plugin->AddDataFile("tag.xml");
44 // plugin->AddDataFile("/alice/data/2008/LHC08c/000057657/raw/Run57657.Merged.RAW.tag.root");
45 if(dataset==20100){//PbPb 2.76 TeV
46 if(data){//185 jobs
47 cout<<"Running over data"<<endl;
48 plugin->SetGridDataDir("/alice/data/2010/LHC10h");//PbPb data
49 plugin->SetDataPattern("*ESDs/pass1/*ESDs.root");
50 plugin->SetRunPrefix("000"); // real data
51 }
52 else{
53 cout<<"Running over MC"<<endl;
54 if(material==0){
55 plugin->SetGridDataDir("/alice/sim/LHC11a4_bis");//PbPb simulation
56 }
57 if(material==1){//7% more material
58 plugin->SetGridDataDir("/alice/sim/LHC10h9");//PbPb simulation
59 }
60 if(material==-1){//7% less material
61 plugin->SetGridDataDir("/alice/sim/LHC10h10");//PbPb simulation
62 }
63 if(material==10){//OK it's a cheat but this runs on DPM jet
64 plugin->SetGridDataDir("/alice/sim/LHC10h2");//PbPb simulation
65 }
66 if(material==11){//OK it's a cheat but this runs on AMPT
67 plugin->SetGridDataDir(" /alice/sim/LHC11a9a");//PbPb simulation
68 }
69 plugin->SetDataPattern("*ESDs.root");
70 //plugin->SetGridWorkingDir("etPbPbSim");
71 }
72 plugin->AddRunNumber(137366);
73 plugin->AddRunNumber(137161);
74 }
75 else{
76 if(dataset==2009){//pp 900 GeV
77 if(data){//only 233 jobs!
78 cout<<"Running over data"<<endl;
79 plugin->SetGridDataDir("/alice/data/2010/LHC10c");//PbPb data
80 plugin->SetDataPattern("*ESDs/pass3/*ESDs.root");
81 plugin->SetRunPrefix("000"); // real data
82 }
83 else{//sim over 1500 jobs, some get killed because it's above quota
84 cout<<"Running over MC"<<endl;
85 if(material==0){
86 plugin->SetGridDataDir("/alice/sim/LHC11b1a");//PbPb simulation
87 }
88 if(material==1){//10% more material budget
89 plugin->SetGridDataDir("/alice/sim/LHC11b1b");//PbPb simulation
90 }
91 if(material==-1){//10% less material budget
92 plugin->SetGridDataDir("/alice/sim/LHC11b1c");//PbPb simulation
93 }
94 plugin->SetDataPattern("*ESDs.root");
95 }
96 plugin->AddRunNumber(121040);
97 plugin->AddRunNumber(121039);
98 plugin->AddRunNumber(118561);
99 plugin->AddRunNumber(118560);
100 plugin->AddRunNumber(118558);
101 plugin->AddRunNumber(118557);
102 plugin->AddRunNumber(118556);
103 plugin->AddRunNumber(118518);
104 plugin->AddRunNumber(118512);
105 plugin->AddRunNumber(118507);
106 plugin->AddRunNumber(118506);
107 if(data){
108 plugin->AddRunNumber(118504);
109 plugin->AddRunNumber(118503);
110 }
111 }
112
113 if(dataset==20111){//pp 2.76 TeV
114 if(data){//257 jobs
115 cout<<"Running over data"<<endl;
116 plugin->SetGridDataDir("/alice/data/2011/LHC11a");//PbPb data
117 plugin->SetDataPattern("*ESDs/pass2_with_SDD/*ESDs.root");
118 plugin->SetRunPrefix("000"); // real data
119 }
120 else{//sim - 332 jobs
121 cout<<"Running over MC"<<endl;
122 plugin->SetGridDataDir("/alice/sim/LHC11b10a");//PbPb simulation
123 plugin->SetDataPattern("*ESDs.root");
124 }
125 plugin->AddRunNumber(146860);
126 plugin->AddRunNumber(146859);
127 plugin->AddRunNumber(146858);
128 plugin->AddRunNumber(146857);
129 plugin->AddRunNumber(146856);
130 // plugin->AddRunNumber(146824);
131 // if(data){//these productions are not yet done for MC
132 // plugin->AddRunNumber(146817);
133 // plugin->AddRunNumber(146807);
134 // plugin->AddRunNumber(146806);
135 // plugin->AddRunNumber(146805);
136 // plugin->AddRunNumber(146804);
137 // plugin->AddRunNumber(146803);
138 // plugin->AddRunNumber(146802);
139 // }
140
141 }
142 if(dataset==2010){//pp 7 TeV
143 if(data){//data - 569 jobs
144 cout<<"Running over 7 TeV data"<<endl;
145 plugin->SetGridDataDir("/alice/data/2010/LHC10e");//PbPb data
146 plugin->SetDataPattern("*ESDs/pass2/*ESDs.root");
147 cout<<"Setting run prefix to be 000"<<endl;
148 plugin->SetRunPrefix("000"); // real data
149 }
150 else{//sim- 346 jobs
151 plugin->SetGridDataDir("/alice/sim/LHC10e20");
152 plugin->SetDataPattern("*ESDs.root");
153 }
154 plugin->AddRunNumber("130840");
155 plugin->AddRunNumber("130834");
156 plugin->AddRunNumber("130833");
157 plugin->AddRunNumber("130831");
158 plugin->AddRunNumber("130804");
159 plugin->AddRunNumber("130803");
160 plugin->AddRunNumber("130802");
161 plugin->AddRunNumber("130799");
162 plugin->AddRunNumber("130798");
163 plugin->AddRunNumber("130795");
164 }
165 }
166
167
168 if(dataset==20100){//PbPb 2.76 TeV
169 if(data){
170 plugin->SetGridWorkingDir("etPbPbData");
171 }
172 else{
173 if(material==0){plugin->SetGridWorkingDir("etPbPbSim");}
174 if(material==-1) plugin->SetGridWorkingDir("etPbPbSimMatBudLow");
175 if(material==1) plugin->SetGridWorkingDir("etPbPbSimMatBudHigh");
176 if(material==10) plugin->SetGridWorkingDir("etPbPbSimDPMJET");
177 if(material==11) plugin->SetGridWorkingDir("etPbPbSimAMPT");
178 }
179 }
180 else{
181 if(dataset==2009){//pp 900 GeV
182 if(data){
183 plugin->SetGridWorkingDir("etpp900GeVData");
184 }
185 else{
186 if(material==0) plugin->SetGridWorkingDir("etpp900GeVSim");
187 if(material==-1) plugin->SetGridWorkingDir("etpp900GeVSimMatBudLow");
188 if(material==1) plugin->SetGridWorkingDir("etpp900GeVSimMatBudHigh");
189 }
190 }
191 if(dataset==20111){//pp 2.76 TeV
192 if(data){
193 plugin->SetGridWorkingDir("etpp276TeVData");
194 }
195 else{
196 if(altV0Scale) plugin->SetGridWorkingDir("etpp276TeVSimAlt");
197 else{plugin->SetGridWorkingDir("etpp276TeVSim");}
198 }
199 }
200 if(dataset==2010){//pp 7 TeV
201 if(data){
202 plugin->SetGridWorkingDir("etpp7TeVData");
203 }
204 else{
205 plugin->SetGridWorkingDir("etpp7TeVSim");
206 }
207 }
208 }
209
210
211 // Define alien work directory where all files will be copied. Relative to alien $HOME.
212 //plugin->SetGridWorkingDir("et");
213 // Declare alien output directory. Relative to working directory.
214 plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
215 // Declare the analysis source files names separated by blancs. To be compiled runtime IN THE SAME ORDER THEY ARE LISTED
216 // using ACLiC on the worker nodes.
217 //plugin->SetAnalysisSource("AliAnalysisTaskHadEt.cxx");
218 //plugin->SetAnalysisSource("AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisHadEt.cxx AliAnalysisHadEtMonteCarlo.cxx AliAnalysisHadEtReconstructed.cxx AliAnalysisTaskHadEt.cxx AliAnalysisTaskTotEt.cxx");
219 //TString sourcefiles = "AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisHadEt.cxx AliAnalysisHadEtMonteCarlo.cxx AliAnalysisHadEtReconstructed.cxx AliAnalysisEtSelectionContainer.cxx AliAnalysisEtSelectionHandler.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskHadEt.cxx";
220 //plugin->SetAnalysisSource(sourcefiles.Data());
2eca0e87 221 if(!runCompiledVersion){
222 plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisHadEt.cxx AliAnalysisHadEtMonteCarlo.cxx AliAnalysisHadEtReconstructed.cxx AliAnalysisEtSelectionContainer.cxx AliAnalysisEtSelectionHandler.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskHadEt.cxx");
223 }
16dad6e3 224
225 //cout<<"Setting source files "<<sourcefiles<<endl;
226 // Declare all libraries (other than the default ones for the framework. These will be
227 // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
228 //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";
229 //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";
230 //plugin->SetAdditionalLibs(additionallibs.Data());
2eca0e87 231 if(!runCompiledVersion){
232 plugin->SetAdditionalLibs( "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 libPWGUDbase.so");
233 }
234 else{
235 plugin->SetAdditionalLibs( "physicsSelections.root ConfigHadEtMonteCarlo.C ConfigHadEtReconstructed.C corrections.root libPWGUDbase.so libPWGLFtotEt.so");
236 }
16dad6e3 237 // No need for output file names. Procedure is automatic. <-- not true
238 //plugin->SetDefaultOutputs(kFALSE);
239 //plugin->SetOutputFiles("Et.ESD.new.sim.root");
240 // No need define the files to be archived. Note that this is handled automatically by the plugin.
241 // plugin->SetOutputArchive("log_archive.zip:stdout,stderr");
242 // Set a name for the generated analysis macro (default MyAnalysis.C) Make this unique !
243 plugin->SetAnalysisMacro("ChristinesEtAnalysis.C");
244 // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore). The optimum for an analysis
245 // is correlated with the run time - count few hours TTL per job, not minutes !
246 plugin->SetSplitMaxInputFileNumber(100);
247 // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
248 //plugin->SetMaxInitFailed(5);
249 // Optionally resubmit threshold.
250 //plugin->SetMasterResubmitThreshold(90);
251 // Optionally set time to live (default 30000 sec)
252 plugin->SetTTL(20000);
253 // Optionally set input format (default xml-single)
254 plugin->SetInputFormat("xml-single");
255 // Optionally modify the name of the generated JDL (default analysis.jdl)
256 plugin->SetJDLName("TaskEt.jdl");
257 // Optionally modify job price (default 1)
258 plugin->SetPrice(1);
259 // Optionally modify split mode (default 'se')
260 plugin->SetSplitMode("se");
261 plugin->SetTerminateFiles("event_stat.root") ;
262 plugin->SetKeepLogs();
263 return plugin;
264}