5073027f293385cb6e5957e57eee82b846ef9365
[u/mrichter/AliRoot.git] / PWGJE / macros / ConfigTrainGrid.C
1 {
2   /*
3
4     //  < 1 are private
5     // run >= 100 < 1000 are real data
6     // runs > 1000 are sim data
7     1 = LHC09a1 pt hard 15 - 50 GeV 
8     2 = LHC09a2 pt hard 50 -100 GeV
9     3 = LHC09a3 pt hard > 100
10     100 = LHC09d 0.9 GeV real with TPC
11     200 = LHC10b 7 TeV real with TPC  
12     202 = LHC10b 7 TeV real with TPC  (pass2) 
13     300 = LHC10c 900 GeV real with TPC
14     302 = LHC10c 900 GeV  pass2 real with TPC
15     400 = LHC10c 7000 GeV real with TPC
16     402 = LHC10c 7000 GeV pass2  real with TPC
17     500 = LHC10d 7000 GeV Real
18     502 = LHC10d 7000 GeV Real pass2
19     801 = LHC10h Pb+Pb real
20     802 = LHC10h Pb+Pb real pass2
21     812 = LHC11h pass 2
22    1012 = LHC10a12 0.9 GeV MC Pythiy D6T  
23    1014 = LHC10a14 0.9 GeV MC ojet D6T  
24    2001 = LHC10b1 7 TeV Phojet with real OCDB
25    2002 = LHC10b2 7 TeV Pythia Pergiua-0
26    4001 = LHC10d1 pp, Pythia6 Perugia-0, 0.5T, 7000GeV, // misses some runs since i a different direcotory LHC10c9
27    4002 = LHC10d2 pp, Phojet, 0.5T, 7000GeV
28    4004 = LHC10d4 pp, Perugis, 0.5T, 7000GeV
29    5014 = LHC10e14 pp, Jet+Jet different p_T hard bins 0.5T, 7000GeV
30    6006 = LHC10f6 pp, Phojet Nachor Runs LHC10d
31    8012 = 50 80 GeV (LHC10h12)
32    8013 = 80-inf GeV (LHC10h13)
33    8102 = LHC11a2XX (where x = a - j)
34   */
35   Bool_t debugConfig =false;
36   Bool_t ckbConfig = false;
37   Bool_t productionConfig = true; // make this true for productions mode, no par files ets 
38   Int_t  iVersion = 1; // this is the train version for one datapass
39
40   // bextra == 0 4 plus
41   // bextra == 1 large pass1 split..
42   // bextra == 2 3 plus
43   //  Int_t bRun = 802; Int_t bExtra = 0;  char* cDate = "111018b";
44   Int_t bRun = 812; Int_t bExtra = 0;  char* cDate = "120202a";
45   //  Int_t bRun = 8102; Int_t bExtra = 1;  char* cDate = "110725a";
46   iAODanalysis = 0; 
47   // 1 == Read Jets and tracks form the input AOD
48   // needs the jet branchnames set explicitly
49   // 2 == Read tracks from input and jets from output
50   
51   // 1 =  write the Full AOD for all events 
52   // 2 =  write the Full AOD for triggered events
53   // 3 =  write the deltaAOD for all events
54   iFilterAnalysis = 1;
55   //  iFilterAnalysis = 2;kJetTriggerPtCut = 40; 
56   //  iFilterAnalysis = 3;
57   // iFilterAnalysis = 2;
58
59   if(iFilterAnalysis==1){
60     kSaveAOD            = 1;
61     kGridFilesPerJob       = 5;
62     kDeltaAODJetName   = "";
63     kFilterAOD = false;
64   }
65   else if(iFilterAnalysis==2){
66     kSaveAOD            = 1;
67     kGridFilesPerJob    = 20;
68     kDeltaAODJetName   = "";
69     kFilterAOD = true;
70   }
71   else if(iFilterAnalysis == 3){
72     kSaveAOD            = 2;
73     kGridFilesPerJob    = 20;
74       kDeltaAODJetName   = "AliAOD.Jets.root";
75       kFilterAOD = true;
76   }
77   
78
79
80   if (kPluginMode.Contains("merge")){
81     // currently merging this one...
82     //       cDate = "110717a";
83     //    bRun = 802; Int_t bExtra = 0; cDate = "110812a";
84   }
85   kUseDebug = kFALSE;
86   // this is for testing just one run...
87   //  kGridMaxRunsFromList = 1;kUseDebug = kTRUE;
88
89   kUseSysInfo = 100;
90   
91   kFillAOD                = kTRUE; // fill the aod
92   kGridMergeExclude = ""; kSaveAOD = (1<<0)|(1<<1)|(1<<3); // 
93   if(!productionConfig){
94     kUsePAR              = kTRUE; // 
95     kUseCPAR            = kTRUE;
96     kGridFilesPerJob       = 20;
97   }
98
99   iPhysicsSelection = 1;
100
101   if(iAODanalysis){
102     // iAODAn
103     if(iAODanalysis == 1){
104       iJETAN = 0;
105       iPWG4Cluster = 0;
106       iJETSUBTRACT = 0;
107     }
108   }
109
110   iJETAN = 3;
111   iDIJETAN = 1; // only run on one JetFinder for the moment
112   iPWGPPQASym = 0; // excluded since also on QA train         
113   iPWG4JetServices = 1; 
114   iPWG4Fragmentation = 0; 
115   iPWG4JetSpectrum = 7; 
116   iPWG4UE = 0; // tmp off awating updates
117   iPWG4LeadingUE = 1; 
118   iPWG4CorrectionsUE = 0; // 19.07. OFF awaiting changes by Sara
119   iPWG4PtQAMC       = 1;
120   iPWG4PtSpectra    = 1;
121   iPWG4PtQATPC      = 3;
122   iPWG4PtTrackQA    = 1;
123   iPWG4Cosmics      = 0; 
124   iPWG4JetChem      = 0;
125   iPWG4QGSep  = 0;
126   iPWG4Minijet  = 0;
127   iPWG4ThreeJets    = 0; // tmp off mem leak
128   iPWG4KMeans       = 1; // Off no feedback 
129   iPWG4Cluster      = 5;
130   kDeltaAODJetName   = ""; // for OTF we do not need to write a delta/saves some extension gymnastics in the tasks       
131   kPluginExecutableCommand = "cat wn.xml; root -b -q "; // dump the file list to stdout for debugging
132   kPluginAliRootVersion    = ""; 
133   kGridRunsPerMaster = 1; // To have the separate configs for eacj run in separate dirs
134
135   if(bRun<100){ // private MC
136     iPWGPPQASym = 0;
137     iPWG4JetChem = 0;
138     iPWG4UE = 0;
139     iPWG4Cluster      = 0;
140     iPWG4PtQAMC       = 0;
141     iPWG4PtSpectra    = 0;
142     iPWG4PtQATPC      = 0;
143     iPWG4Cosmics      = 0; // tmp on
144     iPWG4ThreeJets    = 0; 
145     iPWG4KMeans       = 0;
146     kUseKinefilter         = kTRUE;
147     kIsMC                  = kTRUE;  
148     kUseTR                 = kTRUE; 
149     kUseMC                 = kTRUE; 
150     kUseAODMC              = kTRUE; 
151     //   kErrorIgnoreLevel = 3001;
152     //    kPluginFastReadOption = kTRUE;
153   }
154
155   if(bRun>=1000){
156     kUseKinefilter         = kTRUE;
157     kIsMC                  = kTRUE; 
158     kUseMC                 = kTRUE; 
159     kUseAODMC              = kTRUE; 
160     kUseTR                 = kTRUE; 
161     iPhysicsSelection      = 1;
162   }
163
164
165   if (bRun == 1){
166     kGridRunRange[0]       =  0;  
167     kGridRunRange[1]       =  -1; 
168     kGridDatadir           = "/alice/sim/PDC_08b/LHC09a1/"; 
169     kGridDataSet           = "LHC09a1"; 
170     kGridRunPattern        = "%05d"; 
171     kGridLocalRunList      = "fp_lhc09a1.txt";
172     kTrainName             = Form("pwg4train_LHC09a1_%s",cDate);
173     iPhysicsSelection      = 0;
174     kHighPtFilterMask      = 32;     
175     kGridFilesPerJob       = 200;
176   }
177   else if (bRun == 2){
178     kGridRunRange[0]       =  0;  
179     kGridRunRange[1]       =  -1; 
180     kGridDatadir           = "/alice/sim/PDC_08b/LHC09a2/"; 
181     kGridDataSet           = "LHC09a2"; 
182     kGridRunPattern        = "%05d"; 
183     kGridLocalRunList      = "fp_lhc09a2.txt";
184     kTrainName             = Form("pwg4train_LHC09a2_%s",cDate);
185     iPhysicsSelection      = 0;
186     kHighPtFilterMask      = 32;     
187     kGridFilesPerJob       = 80;
188   }
189   else if (bRun == 3){
190     kGridRunRange[0]       =  0;  
191     kGridRunRange[1]       =  -1; // 
192     kGridDatadir           = "/alice/sim/PDC_08b/LHC09a3/"; 
193     kGridDataSet           = "LHC09a3"; 
194     kGridRunPattern        = "%05d"; 
195     kGridLocalRunList      = "fp_lhc09a3.txt";
196     kTrainName             = Form("pwg4train_LHC09a3_%s",cDate);
197     iPhysicsSelection      = 0;
198     kHighPtFilterMask      = 32;     
199     kGridFilesPerJob       = 80;
200   }
201   else if (bRun == 100){
202     kGridRunRange[0]       =  0; 
203     kGridRunRange[1]       =  -1; // 
204     kGridDatadir           = "/alice/data/2009/LHC09d/"; 
205     kGridDataSet           = "LHC09d"; 
206     kGridRunPattern        = "%09d"; 
207     kUseKinefilter         = kFALSE;
208     kIsMC                  = kFALSE;  // is real! 
209     kUseMC                 = kFALSE; 
210     kUseAODMC              = kFALSE; 
211     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
212     //    kGridPassPattern       = "pass1";    kGridLocalRunList      = "fp_runlist_pass1.txt";    kTrainName  = "pwg4train_LHC09d_pass1_100104";
213     kGridPassPattern       = "pass6";    kGridLocalRunList      = "fp_runlist_pass6.txt";    kTrainName  = Form("pwg4train_LHC09d_pass6_%s",cDate);
214     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
215   }
216   else if (bRun == 200){
217     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
218     kGridRunRange[1]       =  -1; // 
219     kGridDatadir           = "/alice/data/2010/LHC10b/"; 
220     kGridDataSet           = "LHC10b"; 
221     kGridRunPattern        = "%09d"; 
222     kUseKinefilter         = kFALSE;
223     kIsMC                  = kFALSE;  // is real! 
224     kUseMC                 = kFALSE; 
225     kUseAODMC              = kFALSE; 
226     kGridPassPattern       = "pass1";    kGridLocalRunList      = "fp_lhc10b_runlist_pass1.txt";    kTrainName  = Form("pwg4train_LHC10b_pass1_%s",cDate);
227     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
228     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
229     // stich of tasks not from PWG4JetTasks
230     gROOT->LoadMacro("cleanXML.C");
231     cleanXML();
232   }
233   else if (bRun == 202){
234     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
235     kGridRunRange[1]       =  -1; // 
236     kGridDatadir           = "/alice/data/2010/LHC10b/"; 
237     kGridDataSet           = "LHC10b"; 
238     kGridRunPattern        = "%09d"; 
239     kUseKinefilter         = kFALSE;
240     kIsMC                  = kFALSE;  // is real! 
241     kUseMC                 = kFALSE; 
242     kUseAODMC              = kFALSE; 
243     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
244     kGridPassPattern       = "pass2";    kGridLocalRunList      = "fp_lhc10b_runlist_pass2.txt";    kTrainName  = Form("pwg4train_LHC10b_pass2_%s",cDate);
245
246     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
247     // stich of tasks not from PWG4JetTasks
248
249     // switch off tasks with no feedback...
250     iPWG4ThreeJets    = 0; // tmp off mem leak
251     iPWG4KMeans       = 0;  // OFF no FEEDBACK
252     iPWG4Tagged       = 0; // OFF crashes on MC 
253     iPWG4CaloQA       = 0; // OFF not needed on MC   
254     iPWG4JetCorr      = 0; 
255     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
256     iPWG4omega3pi     = 0; // OFF no feedback
257
258     gROOT->LoadMacro("cleanXML.C");
259     cleanXML();
260   }
261   else if (bRun == 300){
262     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
263     kGridRunRange[1]       =  -1; // 
264     kGridDatadir           = "/alice/data/2010/LHC10c/"; 
265     kGridDataSet           = "LHC10c"; 
266     kGridRunPattern        = "%09d"; 
267     kUseKinefilter         = kFALSE;
268     kIsMC                  = kFALSE;  // is real! 
269     kUseMC                 = kFALSE; 
270     kUseAODMC              = kFALSE; 
271     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
272     kGridPassPattern       = "pass1";    kGridLocalRunList      = "fp_lhc10c_runlist_900_pass1.txt";    kTrainName  = Form("pwg4train_LHC10c_900_pass1_%s",cDate);
273     
274     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
275     // stich of tasks not from PWG4JetTasks
276     gROOT->LoadMacro("cleanXML.C");
277     cleanXML();
278   }
279   else if (bRun == 302){
280     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
281     kGridRunRange[1]       =  -1; // 
282     kGridDatadir           = "/alice/data/2010/LHC10c/"; 
283     kGridDataSet           = "LHC10c"; 
284     kGridRunPattern        = "%09d"; 
285     kUseKinefilter         = kFALSE;
286     kIsMC                  = kFALSE;  // is real! 
287     kUseMC                 = kFALSE; 
288     kUseAODMC              = kFALSE; 
289     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
290     kGridPassPattern       = "pass2";    kGridLocalRunList      = "fp_lhc10c_runlist_900_pass2.txt";    kTrainName  = Form("pwg4train_LHC10c_900_pass2_%s",cDate);
291
292     // switch off tasks with no feedback...
293     iPWG4ThreeJets    = 0; // tmp off mem leak
294     iPWG4KMeans       = 0;  // OFF no FEEDBACK
295     iPWG4Tagged       = 0; // OFF crashes on MC 
296     iPWG4CaloQA       = 0; // OFF not needed on MC   
297     iPWG4JetCorr      = 0; 
298     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
299     iPWG4omega3pi     = 0; // OFF no feedback
300
301     
302     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
303     // stich of tasks not from PWG4JetTasks
304     gROOT->LoadMacro("cleanXML.C");
305     cleanXML();
306   }
307   else if (bRun == 400){
308     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
309     kGridRunRange[1]       =  -1; // 
310     kGridDatadir           = "/alice/data/2010/LHC10c/"; 
311     kGridDataSet           = "LHC10c"; 
312     kGridRunPattern        = "%09d"; 
313     kUseKinefilter         = kFALSE;
314     kIsMC                  = kFALSE;  // is real! 
315     kUseMC                 = kFALSE; 
316     kUseAODMC              = kFALSE; 
317     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
318     kGridPassPattern       = "pass1";    kGridLocalRunList      = "fp_lhc10c_runlist_7000_pass1.txt";    kTrainName  = Form("pwg4train_LHC10c_7000_pass1_%s",cDate);
319
320     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
321     // stich of tasks not from PWG4JetTasks
322     gROOT->LoadMacro("cleanXML.C");
323     cleanXML();
324   }
325   else if (bRun == 402){
326     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
327     kGridRunRange[1]       =  -1; // 
328     kGridFilesPerJob       = 10;
329     kGridDatadir           = "/alice/data/2010/LHC10c/"; 
330     kGridDataSet           = "LHC10c"; 
331     kGridRunPattern        = "%09d"; 
332     kUseKinefilter         = kFALSE;
333     kIsMC                  = kFALSE;  // is real! 
334     kUseMC                 = kFALSE; 
335     kUseAODMC              = kFALSE; 
336     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
337     kGridPassPattern       = "pass2";    kGridLocalRunList      = "fp_lhc10c_runlist_7000_pass2.txt";    kTrainName  = Form("pwg4train_LHC10c_7000_pass2_%s",cDate);
338
339     // switch off tasks with no feedback...
340     iPWG4ThreeJets    = 0; // tmp off mem leak
341     iPWG4KMeans       = 0;  // OFF no FEEDBACK
342     iPWG4Tagged       = 0; // OFF crashes on MC 
343     iPWG4CaloQA       = 0; // OFF not needed on MC   
344     iPWG4JetCorr      = 0; 
345     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
346     iPWG4omega3pi     = 0; // OFF no feedback
347
348     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
349     // stich of tasks not from PWG4JetTasks
350     gROOT->LoadMacro("cleanXML.C");
351     cleanXML();
352   }
353   else if (bRun == 500){
354     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
355     kGridRunRange[1]       =  -1; // 
356     kGridDatadir           = "/alice/data/2010/LHC10d/"; 
357     kGridDataSet           = "LHC10d"; 
358     kGridRunPattern        = "%09d"; 
359     kUseKinefilter         = kFALSE;
360     kIsMC                  = kFALSE;  // is real! 
361     kUseMC                 = kFALSE; 
362     kUseAODMC              = kFALSE; 
363     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
364     kGridPassPattern       = "pass1";    kGridLocalRunList      = "fp_lhc10d_runlist_7000_pass1.txt";    kTrainName  = Form("pwg4train_LHC10d_7000_pass1_%s",cDate);
365
366     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
367     // stich of tasks not from PWG4JetTasks
368     gROOT->LoadMacro("cleanXML.C");
369     cleanXML();
370   }
371   else if (bRun == 502){
372     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
373     kGridRunRange[1]       =  -1; // 
374     kGridDatadir           = "/alice/data/2010/LHC10d/"; 
375     kGridDataSet           = "LHC10d"; 
376     kGridRunPattern        = "%09d"; 
377     kUseKinefilter         = kFALSE;
378     kIsMC                  = kFALSE;  // is real! 
379     kUseMC                 = kFALSE; 
380     kUseAODMC              = kFALSE; 
381
382     // switch off tasks with no feedback...
383     iPWG4ThreeJets    = 0; // tmp off mem leak
384     iPWG4KMeans       = 0;  // OFF no FEEDBACK
385     iPWG4Tagged       = 0; // OFF crashes on MC 
386     iPWG4CaloQA       = 0; // OFF not needed on MC   
387     iPWG4JetCorr      = 0; 
388     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
389     iPWG4omega3pi     = 0; // OFF no feedback
390
391
392     // swtich off most tasks for Pb+Pb
393     iDIJETAN = 0; // only run on one JetFinder for the moment
394     iPWG4Fragmentation = 0; 
395     iPWG4LeadingUE = 0; 
396     iPWG4JetChem      = 0;
397     iPWG4QGSep  = 0;
398     iPWG4Minijet  = 0;
399
400     // running as light a possible 
401
402     iPWG4PtQAMC     = 1;
403     iPWG4PtSpectra   = 1;
404     iPWG4PtQATPC   = 1;
405     iPWG4JetSpectrum = 1;
406     iPWG4JetServices  = 1; // !!!!!!!!!!! 
407     iPWG4Cluster      = 1;// not 5....
408     kHighPtFilterMask = 1<<8; // 256 TPC related to SPD     
409
410     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
411     kGridPassPattern       = "pass2";    kGridLocalRunList      = "fp_lhc10d_runlist_7000_pass2.txt";    kTrainName  = Form("p4t_10d_7000_p2_%s",cDate);
412     //    kDeltaAODJetName   = "AliAOD.Jets.root"; 
413     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
414     // stich of tasks not from PWG4JetTasks
415     gROOT->LoadMacro("cleanXML.C");
416     cleanXML();
417   }
418   else if (bRun == 801){
419     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
420     kGridRunRange[1]       =  -1; // 
421     kGridDatadir           = "/alice/data/2010/LHC10h/"; 
422     kGridDataSet           = "LHC10h"; 
423     kGridRunPattern        = "%09d"; 
424     kUseKinefilter         = kFALSE;
425     kIsMC                  = kFALSE;  // is real! 
426     kUseMC                 = kFALSE; 
427     kUseAODMC              = kFALSE; 
428
429     // switch off tasks with no feedback...
430     iPWG4ThreeJets    = 0; // tmp off mem leak
431     iPWG4KMeans       = 0;  // OFF no FEEDBACK
432     iPWG4Tagged       = 0; // OFF crashes on MC 
433     iPWG4CaloQA       = 0; // OFF not needed on MC   
434     iPWG4JetCorr      = 0; 
435     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
436     iPWG4omega3pi     = 0; // OFF no feedback
437
438     // swtich off most tasks for Pb+Pb
439     iDIJETAN = 0; // only run on one JetFinder for the moment
440     iPWG4Fragmentation = 0; 
441
442     // running as light a possible 
443
444     iPWG4PtQAMC     = 1;
445     iPWG4PtSpectra   = 1;
446     iPWG4PtQATPC   = 1;
447     iPWG4JetSpectrum = 1;
448     iPWG4JetServices  = 1; // !!!!!!!!!!! 
449     iPWG4Cluster      = 1;// not 5....
450     kHighPtFilterMask = 1<<8; // 256 TPC related to SPD     
451
452
453     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
454     kGridPassPattern       = "pass1_4plus";    kGridLocalRunList      = "fp_lhc10h_pass1_4plus.txt";    
455     kTrainName  = Form("t_10h_1_4p_%s",cDate);
456     if(bExtra==1){
457       kGridPassPattern       = "pass1";    kGridLocalRunList      = "fp_lhc10h_pass1.txt";   
458       //      kTrainName  = Form("train_pass1_%s",cDate);
459       kTrainName  = Form("t_10h_p1_%s",cDate);
460     }
461     else if(bExtra==2){
462       kGridPassPattern       = "pass1_plusplusplus";    kGridLocalRunList      = "fp_lhc10h_pass1_3plus.txt";
463       //      kTrainName  = Form("train_LHC10h_pass1_3p_%s",cDate);      
464       kTrainName  = Form("t_10h_p1_3p_%s",cDate);
465     }
466     kSaveAOD            = 1;  
467     kDeltaAODJetName   = "AliAOD.Jets.root";kSaveAOD = 2;
468
469     if (kPluginMode.Contains("merge")){
470       kSaveAOD = 0; // 
471     }
472     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
473     // stich of tasks not from PWG4JetTasks
474     //    gROOT->LoadMacro("cleanXML.C");
475     // cleanXML();
476   }
477   else if (bRun == 802){
478     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
479     kGridRunRange[1]       =  -1; // 
480     kGridDatadir           = "/alice/data/2010/LHC10h/"; 
481     kGridDataSet           = "LHC10h"; 
482     kGridExtraAliendirLevel  = Form("/%s",cDate);kGridOutdir = "output";
483     kGridRunPattern        = "%09d"; 
484     kUseKinefilter         = kFALSE;
485     kIsMC                  = kFALSE;  // is real! 
486     kUseMC                 = kFALSE; 
487     kUseAODMC              = kFALSE; 
488
489     if(iVersion==1){
490     // switch off tasks with no feedback...
491       iPWG4ThreeJets    = 0; // tmp off mem leak
492       iPWG4KMeans       = 0;  // OFF no FEEDBACK
493       iPWG4Tagged       = 0; // OFF crashes on MC 
494       iPWG4CaloQA       = 0; // OFF not needed on MC   
495       iPWG4JetCorr      = 0; 
496       iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
497       iPWG4omega3pi     = 0; // OFF no feedback
498       
499       // swtich off most tasks for Pb+Pb
500       iDIJETAN = 0; // only run on one JetFinder for the moment
501       iPWG4LeadingUE = 0; 
502       iPWG4JetChem      = 0;
503       iPWG4QGSep  = 0;
504       iPWG4Minijet  = 0;
505       
506       // running as light a possible 
507       
508       iPWG4PtQAMC     = 0;  // 
509       iPWG4PtQATPC   = 0;  // 
510       iPWG4PtSpectra   = 0;  //  
511       iPWG4PtTrackQA    = 0; // currently not needed 08.09.2011
512       iPWG4JetSpectrum = 1; 
513       iPWG4JetServices  = 1; // !!!!!!!!!!! 
514       iPWG4Cluster      = 1;// not 5....
515       kHighPtFilterMask = 1<<4|1<<8; // Global tracks with SPD requirment global constraitn for the rest
516       iPWG4Fragmentation = 1;
517     //
518     }// version1
519
520
521     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
522     kGridPassPattern       = "pass2";    // reset for AODs below
523
524     kGridLocalRunList      = "fp_lhc10h_pass2c.txt";    
525     if(bExtra==1)kGridLocalRunList      = "fp_lhc10h_pass2.txt";    
526     kTrainName  = Form("p4t_10h_pass2_%s",cDate);
527     if (kPluginMode.Contains("merge")){
528       //      kGridLocalRunList      = "fp_lhc10h_pass2b.txt";    
529       kGridLocalRunList      = "out_merge_100_1.txt";    
530     }
531     if(iAODanalysis)kTrainName  = Form("tAOD_10h_pass2_%s",cDate);
532
533     if(iAODanalysis==0){
534       // select what is running in the spectrum task, list of jet names is filles automatically
535       kGridFilesPerJob       = 30;
536      
537       /*
538         1: jetsAOD_UA104_B0_Filter00272_Cut01000
539         2: jetsAOD_UA104_B0_Filter00272_Cut02000
540         3: jetsAOD_UA104_B2_Filter00272_Cut01000
541         4: jetsAOD_UA104_B2_Filter00272_Cut02000
542         5: clustersAOD_KT04_B0_Filter00272_Cut00150_Skip00
543         6: clustersAOD_KT04_B0_Filter00272_Cut00150_Skip00RandomConeSkip00
544         7: clustersAOD_KT04_B0_Filter00272_Cut00150_Skip00RandomCone_random
545         8: clustersAOD_KT04_B0_Filter00272_Cut01000_Skip00
546         9: clustersAOD_KT04_B0_Filter00272_Cut01000_Skip00RandomConeSkip00
547         10: clustersAOD_KT04_B0_Filter00272_Cut01000_Skip00RandomCone_random
548         11: clustersAOD_KT04_B0_Filter00272_Cut02000_Skip00
549         12: clustersAOD_KT04_B0_Filter00272_Cut02000_Skip00RandomConeSkip00
550         13: clustersAOD_KT04_B0_Filter00272_Cut02000_Skip00RandomCone_random
551         14: clustersAOD_KT02_B0_Filter00272_Cut00150_Skip00
552         15: clustersAOD_KT02_B0_Filter00272_Cut00150_Skip00RandomConeSkip00
553         16: clustersAOD_KT02_B0_Filter00272_Cut00150_Skip00RandomCone_random
554         17: clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00
555         18: clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00RandomConeSkip02
556         19: clustersAOD_ANTIKT04_B0_Filter00272_Cut01000_Skip00
557         20: clustersAOD_ANTIKT04_B0_Filter00272_Cut01000_Skip00RandomConeSkip02
558         21: clustersAOD_ANTIKT04_B0_Filter00272_Cut02000_Skip00
559         22: clustersAOD_ANTIKT04_B0_Filter00272_Cut02000_Skip00RandomConeSkip02
560         23: clustersAOD_ANTIKT02_B0_Filter00272_Cut00150_Skip00
561         24: clustersAOD_ANTIKT02_B0_Filter00272_Cut00150_Skip00RandomConeSkip02
562         25: clustersAOD_KT04_B1_Filter00272_Cut00150_Skip00RandomConeSkip00
563         26: clustersAOD_KT04_B1_Filter00272_Cut00150_Skip00RandomCone_random
564         27: clustersAOD_ANTIKT04_B1_Filter00272_Cut00150_Skip00
565         28: clustersAOD_ANTIKT02_B1_Filter00272_Cut00150_Skip00
566         29: clustersAOD_KT04_B2_Filter00272_Cut00150_Skip00RandomConeSkip00
567         30: clustersAOD_KT04_B2_Filter00272_Cut00150_Skip00RandomCone_random
568         31: clustersAOD_ANTIKT04_B2_Filter00272_Cut00150_Skip00
569         32: clustersAOD_ANTIKT02_B2_Filter00272_Cut00150_Skip00
570         33: clustersAOD_KT04_B2_Filter00272_Cut01000_Skip00RandomConeSkip00
571         34: clustersAOD_KT04_B2_Filter00272_Cut01000_Skip00RandomCone_random
572         35: clustersAOD_ANTIKT04_B2_Filter00272_Cut01000_Skip00
573         36: clustersAOD_KT04_B2_Filter00272_Cut02000_Skip00RandomConeSkip00
574         37: clustersAOD_KT04_B2_Filter00272_Cut02000_Skip00RandomCone_random
575         38: clustersAOD_ANTIKT04_B2_Filter00272_Cut02000_Skip00
576       */
577       // in the first map we fill the correlations we want to plot
578       // in the jet back map we associated the branche used for background calculation
579       // to fetch the multiplicity
580
581       // UA1 
582       kJetMapSpectrum.Add(4,2);
583       kJetBackMapSpectrum.Add(4,8);
584
585       // anti kT 150 MeV
586       kJetMapSpectrum.Add(31,17);
587       kJetBackMapSpectrum.Add(31,5);
588       kJetBackMapSpectrum.Add(17,5);
589
590       // anti kT B1 150 MeV
591       kJetMapSpectrum.Add(27,17);
592       kJetBackMapSpectrum.Add(27,5);
593       kJetBackMapSpectrum.Add(17,5);
594
595       // anti kT 1000 MeV
596       kJetMapSpectrum.Add(35,19);
597       kJetBackMapSpectrum.Add(35,8);      
598       kJetBackMapSpectrum.Add(19,8);
599
600       // anti kT 2000 MeV
601       kJetMapSpectrum.Add(38,21);
602       kJetBackMapSpectrum.Add(38,11);      
603       kJetBackMapSpectrum.Add(21,11);
604
605
606       // anti kT 0.2
607       kJetMapSpectrum.Add(32,23);
608       kJetBackMapSpectrum.Add(32,5);      
609       kJetBackMapSpectrum.Add(23,5);
610
611       // random cones
612       /*
613       kJetMapSpectrum.Add(6,7);
614       kJetBackMapSpectrum.Add(6,5);
615       kJetBackMapSpectrum.Add(7,5);
616
617       kJetMapSpectrum.Add(9,10);
618       kJetBackMapSpectrum.Add(9,8);
619       kJetBackMapSpectrum.Add(10,8);
620       */
621     }
622     else if (iAODanalysis){
623       kGridFilesPerJob       = 20;
624       if(iAODanalysis==1){
625         kGridPassPattern = "pass2/AOD049";
626         iJETAN = 0;
627         iPWG4Cluster = 0;
628         iJETSUBTRACT = 0;
629
630
631         /* 
632            reading from AOD043 input
633            1 jetsAOD_UA104_B0_Filter00128_Cut01000 1 0x102c068d0
634            2 jetsAOD_UA104_B2_Filter00128_Cut01000 1 0x102c068d0
635            3 jetsAOD_SISCONE04_B0_Filter00128_Cut00150 1 0x102c068d0
636            4 clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00 1 0x102c068d0
637            5 clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00_random 1 0x102c068d0
638            6 clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00RandomConeSkip00 1 0x102c068d0
639            7 clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00RandomCone_random 1 0x102c068d0
640            8 clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02 1 0x102c068d0
641            9 clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02_random 1 0x102c068d0
642            10 clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02RandomConeSkip02 1 0x102c068d0
643            11 clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02RandomCone_random 1 0x102c068d0
644            12 clustersAOD_ANTIKT02_B0_Filter00128_Cut00150_Skip00 1 0x102c068d0
645            13 clustersAOD_ANTIKT02_B0_Filter00128_Cut00150_Skip00_random 1 0x102c068d0
646            14 jetsAOD_SISCONE04_B1_Filter00128_Cut00150 1 0x102c068d0
647            15 clustersAOD_ANTIKT04_B1_Filter00128_Cut00150_Skip02 1 0x102c068d0
648            16 clustersAOD_ANTIKT02_B1_Filter00128_Cut00150_Skip00 1 0x102c068d0
649         */
650
651         kJetListSpectrum.Add(new TObjString("jetsAOD_UA104_B0_Filter00128_Cut01000"));
652         kJetListSpectrum.Add(new TObjString("jetsAOD_UA104_B2_Filter00128_Cut01000"));
653         kJetListSpectrum.Add(new TObjString("jetsAOD_SISCONE04_B0_Filter00128_Cut00150"));
654         kJetListSpectrum.Add(new TObjString("clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00"));
655         kJetListSpectrum.Add(new TObjString("clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00_random"));
656         kJetListSpectrum.Add(new TObjString("clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00RandomConeSkip00"));
657         kJetListSpectrum.Add(new TObjString("clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00RandomCone_random"));
658         kJetListSpectrum.Add(new TObjString("clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02"));
659         kJetListSpectrum.Add(new TObjString("clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02_random"));
660         kJetListSpectrum.Add(new TObjString("clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02RandomConeSkip02"));
661         kJetListSpectrum.Add(new TObjString("clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02RandomCone_random"));
662         kJetListSpectrum.Add(new TObjString("clustersAOD_ANTIKT02_B0_Filter00128_Cut00150_Skip00"));
663         kJetListSpectrum.Add(new TObjString("clustersAOD_ANTIKT02_B0_Filter00128_Cut00150_Skip00_random"));
664         kJetListSpectrum.Add(new TObjString("jetsAOD_SISCONE04_B1_Filter00128_Cut00150"));
665         kJetListSpectrum.Add(new TObjString("clustersAOD_ANTIKT04_B1_Filter00128_Cut00150_Skip02"));    
666         kJetListSpectrum.Add(new TObjString("clustersAOD_ANTIKT02_B1_Filter00128_Cut00150_Skip00"));
667
668         // anti kT 150 MeV
669         kJetMapSpectrum.Add(15,8);
670         kJetBackMapSpectrum.Add(8,4);
671         kJetBackMapSpectrum.Add(15,4);
672
673         // anti kT R  = 0.2
674         kJetMapSpectrum.Add(17,12);
675         kJetBackMapSpectrum.Add(17,4);      
676         kJetBackMapSpectrum.Add(12,4);
677         
678         // random cones
679         kJetMapSpectrum.Add(6,7);
680         kJetBackMapSpectrum.Add(6,4);
681         kJetBackMapSpectrum.Add(7,4);
682         
683         kJetMapSpectrum.Add(10,11);
684         kJetBackMapSpectrum.Add(10,4);
685         kJetBackMapSpectrum.Add(11,4);
686         kDeltaAODJetNameInput = "AliAOD.Jets.root";
687         kDeltaAODJetName = "";
688         kHighPtFilterMask      = 128; // centrally produced AOD     
689       }
690       else if(iAODanalysis==2){
691         /*
692           ############# Possible jet branches ###################
693           1: jetsAOD_UA104_B0_Filter00128_Cut01000
694           2: jetsAOD_UA104_B0_Filter00128_Cut02000
695           3: jetsAOD_UA104_B2_Filter00128_Cut01000
696           4: jetsAOD_UA104_B2_Filter00128_Cut02000
697           5: clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00
698           6: clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00RandomConeSkip00
699           7: clustersAOD_KT04_B0_Filter00128_Cut00150_Skip00RandomCone_random
700           8: clustersAOD_KT04_B0_Filter00128_Cut02000_Skip00
701           9: clustersAOD_KT04_B0_Filter00128_Cut02000_Skip00RandomConeSkip00
702           10: clustersAOD_KT04_B0_Filter00128_Cut02000_Skip00RandomCone_random
703           11: clustersAOD_KT02_B0_Filter00128_Cut00150_Skip00
704           12: clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02
705           13: clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02RandomConeSkip02
706           14: clustersAOD_ANTIKT04_B0_Filter00128_Cut00150_Skip02RandomCone_random
707           15: clustersAOD_ANTIKT04_B0_Filter00128_Cut02000_Skip02
708           16: clustersAOD_ANTIKT02_B0_Filter00128_Cut00150_Skip00
709           17: clustersAOD_KT04_B1_Filter00128_Cut00150_Skip00Skip00RandomConeSkip00
710           18: clustersAOD_KT04_B1_Filter00128_Cut00150_Skip00Skip00RandomCone_random
711           19: clustersAOD_ANTIKT04_B1_Filter00128_Cut00150_Skip02
712           20: clustersAOD_ANTIKT04_B1_Filter00128_Cut00150_Skip02Skip02RandomConeSkip02
713           21: clustersAOD_ANTIKT04_B1_Filter00128_Cut00150_Skip02Skip02RandomCone_random
714           22: clustersAOD_ANTIKT02_B1_Filter00128_Cut00150_Skip00
715           23: clustersAOD_KT04_B2_Filter00128_Cut00150_Skip00Skip00RandomConeSkip00
716           24: clustersAOD_KT04_B2_Filter00128_Cut00150_Skip00Skip00RandomCone_random
717           25: clustersAOD_ANTIKT04_B2_Filter00128_Cut00150_Skip02
718           26: clustersAOD_ANTIKT04_B2_Filter00128_Cut00150_Skip02Skip02RandomConeSkip02
719           27: clustersAOD_ANTIKT04_B2_Filter00128_Cut00150_Skip02Skip02RandomCone_random
720           28: clustersAOD_ANTIKT02_B2_Filter00128_Cut00150_Skip00
721           29: clustersAOD_KT04_B2_Filter00128_Cut02000_Skip00Skip00RandomConeSkip00
722           30: clustersAOD_KT04_B2_Filter00128_Cut02000_Skip00Skip00RandomCone_random
723           31: clustersAOD_ANTIKT04_B2_Filter00128_Cut02000_Skip02
724          */
725         
726         // anti kT 150 MeV
727         kJetMapSpectrum.Add(25,12);
728         kJetBackMapSpectrum.Add(25,5);
729         kJetBackMapSpectrum.Add(12,5);
730
731         // anti kT R  = 0.2
732         kJetMapSpectrum.Add(28,16);
733         kJetBackMapSpectrum.Add(28,5);      
734         kJetBackMapSpectrum.Add(16,5);
735
736         // anti kT 2 GeV
737         kJetMapSpectrum.Add(31,15);
738         kJetBackMapSpectrum.Add(31,8);      
739         kJetBackMapSpectrum.Add(15,8);
740
741         
742         // random cones
743         kJetMapSpectrum.Add(9,10);
744         kJetBackMapSpectrum.Add(10,5);
745         kJetBackMapSpectrum.Add(9,5);
746         
747         kJetMapSpectrum.Add(13,14);
748         kJetBackMapSpectrum.Add(14,5);
749         kJetBackMapSpectrum.Add(13,5);
750         kDeltaAODJetNameInput = "";
751
752
753         kDeltaAODJetName   = "AliAOD.Jets.root";kSaveAOD = 2;
754         kHighPtFilterMask      = 128; // centrally produced AOD     
755         iPWG4Fragmentation = 0; // off for a pass 
756
757         
758       }
759     }
760     if (kPluginMode.Contains("merge")){
761       kSaveAOD = 0; // 
762     }
763     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
764     // stich of tasks not from PWG4JetTasks
765     //    gROOT->LoadMacro("cleanXML.C");
766     // cleanXML();
767   }
768   else if (bRun == 812){
769     iRunFlag = 1108;
770     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
771     kGridRunRange[1]       =  -1; // 
772     kGridDatadir           = "/alice/data/2011/LHC11h_2/"; 
773     kGridDataSet           = "LHC11h_2"; 
774     kGridExtraAliendirLevel  = Form("/%s",cDate);kGridOutdir = "output";
775     kGridRunPattern        = "%09d"; 
776     kUseKinefilter         = kFALSE;
777     kIsMC                  = kFALSE;  // is real! 
778     kUseMC                 = kFALSE; 
779     kUseAODMC              = kFALSE; 
780
781     if(iVersion==1){
782     // switch off tasks with no feedback...
783       iPWG4ThreeJets    = 0; // tmp off mem leak
784       iPWG4KMeans       = 0;  // OFF no FEEDBACK
785       iPWG4Tagged       = 0; // OFF crashes on MC 
786       iPWG4CaloQA       = 0; // OFF not needed on MC   
787       iPWG4JetCorr      = 0; 
788       iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
789       iPWG4omega3pi     = 0; // OFF no feedback
790       
791       // swtich off most tasks for Pb+Pb
792       iDIJETAN = 0; // only run on one JetFinder for the moment
793       iPWG4LeadingUE = 0; 
794       iPWG4JetChem      = 0;
795       iPWG4QGSep  = 0;
796       iPWG4Minijet  = 0;
797       
798       // running as light a possible 
799       
800       iPWG4PtQAMC     = 0;  // 
801       iPWG4PtQATPC   = 0;  // 
802       iPWG4PtSpectra   = 0;  //  
803       iPWG4PtTrackQA    = 0; // currently not needed 08.09.2011
804       iPWG4JetSpectrum = 1; 
805       iPWG4JetServices  = 1; // !!!!!!!!!!! 
806       iPWG4Cluster      = 1;// not 5....
807       kHighPtFilterMask = 1<<4|1<<8; // Global tracks with SPD requirment global constraitn for the rest
808       iPWG4Fragmentation = 1;
809     //
810     }// version1
811
812
813         
814         // anti kT 150 MeV
815         kJetMapSpectrum.Add(25,12);
816         kJetBackMapSpectrum.Add(25,5);
817         kJetBackMapSpectrum.Add(12,5);
818
819         // anti kT R  = 0.2
820         kJetMapSpectrum.Add(28,16);
821         kJetBackMapSpectrum.Add(28,5);      
822         kJetBackMapSpectrum.Add(16,5);
823
824         // anti kT 2 GeV
825         kJetMapSpectrum.Add(31,15);
826         kJetBackMapSpectrum.Add(31,8);      
827         kJetBackMapSpectrum.Add(15,8);
828
829         
830         // random cones
831         kJetMapSpectrum.Add(9,10);
832         kJetBackMapSpectrum.Add(10,5);
833         kJetBackMapSpectrum.Add(9,5);
834         
835         kJetMapSpectrum.Add(13,14);
836         kJetBackMapSpectrum.Add(14,5);
837         kJetBackMapSpectrum.Add(13,5);
838
839
840     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
841     kGridPassPattern       = "pass2";    // reset for AODs below
842
843     kGridLocalRunList      = "fp_lhc11h_pass2.txt";    
844     kTrainName  = Form("p4t_11h_pass2_%s",cDate);
845     if (kPluginMode.Contains("merge")){
846       //      kGridLocalRunList      = "fp_lhc10h_pass2b.txt";    
847       kGridLocalRunList      = "out_merge_100_1.txt";    
848     }
849     if (kPluginMode.Contains("merge")){
850       kSaveAOD = 0; // 
851     }
852     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
853     // stich of tasks not from PWG4JetTasks
854     //    gROOT->LoadMacro("cleanXML.C");
855     // cleanXML();
856   }
857
858   else if (bRun == 1012){
859     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
860     kGridRunRange[1]       =  -1; // 
861     kGridDatadir           = "/alice/sim/LHC10a12/"; 
862     kGridDataSet           = "LHC10a12"; 
863     kGridRunPattern        = "%06d"; 
864     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
865     kGridPassPattern       = "";    kGridLocalRunList      = "fp_lhc10a12.txt";    kTrainName  = Form("pwg4train_LHC10a12_%s",cDate);
866     kGridRunsPerMaster     = 1; // Physcicsselection does not support more than on run per job
867     kGridFilesPerJob       = 250; // only few events in a sim file
868     // stich of tasks not from PWG4JetTasks
869     gROOT->LoadMacro("cleanXML.C");
870     cleanXML();
871   }
872   else if (bRun == 1014){
873     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
874     kGridRunRange[1]       =  -1; // 
875     kGridDatadir           = "/alice/sim/LHC10a14/"; 
876     kGridDataSet           = "LHC10a14"; 
877     kGridRunPattern        = "%06d"; 
878     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
879     kGridPassPattern       = "";    kGridLocalRunList      = "fp_lhc10a14.txt";    kTrainName  = Form("pwg4train_LHC10a14_%s",cDate);
880     kGridRunsPerMaster     = 1; // Physcicsselection does not support more than on run per job
881     kGridFilesPerJob       = 250; // only few events in a sim file
882     // stich of tasks not from PWG4JetTasks
883     gROOT->LoadMacro("cleanXML.C");
884     cleanXML();
885   }
886   else if (bRun == 2001){
887     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
888     kGridRunRange[1]       =  -1; // 
889     kGridDatadir           = "/alice/sim/LHC10b1/"; 
890     kGridDataSet           = "LHC10b1"; 
891     kGridRunPattern        = "%06d"; 
892     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
893     kGridPassPattern       = "";    kGridLocalRunList      = "fp_lhc10b1.txt";    kTrainName  = Form("pwg4train_LHC10b1_%s",cDate);
894     kGridRunsPerMaster     = 1; // Physcicsselection does not support more than on run per job
895     kGridFilesPerJob       = 250; // only few events in a sim file
896     // stich of tasks not from PWG4JetTasks
897     gROOT->LoadMacro("cleanXML.C");
898     cleanXML();
899   }
900   else if (bRun == 2002){
901     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
902     kGridRunRange[1]       =  -1; // 
903     kGridDatadir           = "/alice/sim/LHC10b2/"; 
904     kGridDataSet           = "LHC10b2"; 
905     kGridRunPattern        = "%06d"; 
906     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
907     kGridPassPattern       = "";    kGridLocalRunList      = "fp_lhc10b2.txt";    kTrainName  = Form("pwg4train_LHC10b2_%s",cDate);
908     kGridRunsPerMaster     = 1; // Physcicsselection does not support more than on run per job
909     kGridFilesPerJob       = 250; // only few events in a sim file
910     // stich of tasks not from PWG4JetTasks
911     gROOT->LoadMacro("cleanXML.C");
912     cleanXML();
913   }
914   else if (bRun == 4001){
915     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
916     kGridRunRange[1]       =  -1; // 
917     kGridDatadir           = "/alice/sim/LHC10d1/"; 
918     kGridDataSet           = "LHC10d1"; 
919     kGridRunPattern        = "%06d"; 
920     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
921     kGridPassPattern       = "";    kGridLocalRunList      = "fp_lhc10d1.txt";    kTrainName  = Form("pwg4train_LHC10d1_%s",cDate);
922     kGridRunsPerMaster     = 1; // Physcicsselection does not support more than on run per job
923     kGridFilesPerJob       = 50; // only few events in a sim file
924     // stich of tasks not from PWG4JetTasks
925     gROOT->LoadMacro("cleanXML.C");
926     cleanXML();
927   }
928   else if (bRun == 4002){
929     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
930     kGridRunRange[1]       =  -1; // 
931     kGridDatadir           = "/alice/sim/LHC10d2/"; 
932     kGridDataSet           = "LHC10d2"; 
933     kGridRunPattern        = "%06d"; 
934     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
935     kGridPassPattern       = "";    kGridLocalRunList      = "fp_lhc10d2.txt";    kTrainName  = Form("pwg4train_LHC10d2_%s",cDate);
936     kGridRunsPerMaster     = 1; // Physcicsselection does not support more than on run per job
937     kGridFilesPerJob       = 100; // only few events in a sim file
938     // stich of tasks not from PWG4JetTasks
939     gROOT->LoadMacro("cleanXML.C");
940     cleanXML();
941   }
942   else if (bRun == 4004){
943     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
944     kGridRunRange[1]       =  -1; // 
945     kGridDatadir           = "/alice/sim/LHC10d4/"; 
946     kGridDataSet           = "LHC10d4"; 
947     kGridRunPattern        = "%06d"; 
948     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
949     kGridPassPattern       = "";    kGridLocalRunList      = "fp_lhc10d4.txt";    kTrainName  = Form("pwg4train_LHC10d4_%s",cDate);
950     kGridRunsPerMaster     = 1; // Physcicsselection does not support more than on run per job
951     kGridFilesPerJob       = 100; // only few events in a sim file
952     // stich of tasks not from PWG4JetTasks
953     iPWG4UE = 0; //
954     iPWG4ThreeJets    = 0; // tmp off mem leak
955     iPWG4KMeans       = 0;  // OFF no FEEDBACK
956     iPWG4Tagged       = 0; // OFF crashes on MC 
957     iPWG4CaloQA       = 0; // OFF not needed on MC   
958     iPWG4JetCorr      = 0; 
959     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
960     iPWG4CaloConv    = 0;  // 25.08. off: Output size 03.09 crashes 
961     iPWG4omega3pi     = 0; // OFF no feedback
962     gROOT->LoadMacro("cleanXML.C");
963     cleanXML();
964   }
965   else if(bRun==5014){
966     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
967     kGridRunRange[1]       =  -1; // 
968     kGridDatadir           = "/alice/sim/LHC10e14/120823/"; 
969     kGridRunPattern        = "%d"; 
970     kGridDataSet           = "LHC10e14"; 
971     kGridLocalRunList      = "fp_lhc10e14.txt";   kTrainName  = Form("pwg4train_LHC10e14_%s",cDate);
972     kGridPassPattern       = "";
973
974     iPWG4UE = 0; // off not needed on Jet+Jet
975     iPWG4LeadingUE = 0; // off not needed on Jet +Jet
976     iPWG4CorrectionsUE = 0; // off not needed on Jet +Jet
977     iPWG4Cosmics      = 0; // off not needed on Jet +Jet MC
978     iPWG4JetChem      = 0; // OFF no FEEDBACK
979     iPWG4ThreeJets    = 0; // tmp off mem leak
980     iPWG4KMeans       = 0;  // OFF no FEEDBACK
981     iPWG4Tagged       = 0; // OFF crashes on MC 
982     iPWG4CaloQA       = 0; // OFF not needed on MC   
983     iPWG4JetCorr      = 0; 
984     iPWG4GammaConv    = 0; // TMP OFF cuts not updated not so important for jet+jet
985     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
986     iPWG4CaloConv    = 0;  // 25.08. off: Output size 03.09 crashes 
987     iPWG4omega3pi     = 0; // OFF no feedback
988     iPWGPPQASym = 0; // excluded since also on QA train         
989     iPWG4Minijet  = 0;
990       iPWG4ThreeJets    = 0; // tmp off mem leak
991       iPWG4KMeans       = 0;  // OFF no FEEDBACK
992       iPWG4Tagged       = 0; // OFF crashes on MC 
993       iPWG4CaloQA       = 0; // OFF not needed on MC   
994       iPWG4JetCorr      = 0; 
995       iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
996       iPWG4omega3pi     = 0; // OFF no feedback
997       
998       // swtich off most tasks for Pb+Pb
999       iDIJETAN = 0; // only run on one JetFinder for the moment
1000
1001       
1002       // running as light a possible 
1003       
1004       iPWG4PtQAMC     = 0;  // 
1005       iPWG4PtQATPC   = 0;  // 
1006       iPWG4PtSpectra   = 0;  //  
1007       iPWG4PtTrackQA    = 0; // currently not needed 08.09.2011
1008       iPWG4JetSpectrum = 1; 
1009       iPWG4JetServices  = 1; // !!!!!!!!!!! 
1010       iPWG4Cluster      = 1;// not 5....
1011       kHighPtFilterMask = 1<<4|1<<8; // Global tracks with SPD requirment global constraitn for the rest
1012       iPWG4Fragmentation = 1;
1013     //
1014
1015
1016     kDeltaAODJetName   = ""; // for OTF we do not need to write a delta/saves some extension gymnastics in the tasks       
1017
1018     kUseKinefilter         = kTRUE;
1019     kIsMC                  = kTRUE;  
1020     kUseTR                 = kTRUE; 
1021     kUseMC                 = kTRUE; 
1022     kUseAODMC              = kTRUE; 
1023     //    gSystem->Exec("cp wn_lhc10b.xml wn.xml");
1024     kGridFilesPerJob       = 50; // only few events in a sim file
1025     gROOT->LoadMacro("cleanXML.C");
1026     cleanXML();
1027   }
1028   else if (bRun == 6006){
1029     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
1030     kGridRunRange[1]       =  -1; // 
1031     kGridDatadir           = "/alice/sim/LHC10f6/"; 
1032     kGridDataSet           = "LHC10f6"; 
1033     kGridRunPattern        = "%06d"; 
1034     kUseKinefilter         = kTRUE;
1035     kIsMC                  = kTRUE;  
1036     kUseMC                 = kTRUE; 
1037     kUseAODMC              = kTRUE; 
1038     kGridFilesPerJob       = 100;
1039     // switch off tasks with no feedback...
1040     iPWG4ThreeJets    = 0; // tmp off mem leak
1041     iPWG4KMeans       = 0;  // OFF no FEEDBACK
1042     iPWG4Tagged       = 0; // OFF crashes on MC 
1043     iPWG4CaloQA       = 0; // OFF not needed on MC   
1044     iPWG4JetCorr      = 0; 
1045     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
1046     iPWG4omega3pi     = 0; // OFF no feedback
1047
1048     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
1049     kGridPassPattern       = "";    kGridLocalRunList      = "fp_lhc10f6.txt";    kTrainName  = Form("pwg4train_LHC10f6_%s",cDate);
1050     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
1051     // stich of tasks not from PWG4JetTasks
1052     //    gROOT->LoadMacro("cleanXML.C");
1053     //    cleanXML();
1054   }
1055   else if (bRun == 8012){
1056     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
1057     kGridRunRange[1]       =  -1; // 
1058     kGridDatadir           = "/alice/sim/LHC10h12/"; 
1059     kGridDataSet           = "LHC10h12"; 
1060     kGridRunPattern        = "%06d"; 
1061     kUseKinefilter         = kTRUE;
1062     kIsMC                  = kTRUE;  
1063     kUseMC                 = kTRUE; 
1064     kUseAODMC              = kTRUE; 
1065     kGridFilesPerJob       = 50;
1066     // switch off tasks with no feedback...
1067
1068
1069     // switch off tasks with no feedback...
1070     iPWG4ThreeJets    = 0; // tmp off mem leak
1071     iPWG4KMeans       = 0;  // OFF no FEEDBACK
1072     iPWG4Tagged       = 0; // OFF crashes on MC 
1073     iPWG4CaloQA       = 0; // OFF not needed on MC   
1074     iPWG4JetCorr      = 0; 
1075     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
1076     iPWG4omega3pi     = 0; // OFF no feedback
1077
1078
1079     // swtich off most tasks for Pb+Pb
1080     iDIJETAN = 0; // only run on one JetFinder for the moment
1081     iPWG4Fragmentation = 0; 
1082     iPWG4LeadingUE = 0; 
1083     iPWG4JetChem      = 0;
1084     iPWG4QGSep  = 0;
1085     iPWG4Minijet  = 0;
1086
1087     // running as light a possible 
1088
1089     iPWG4PtQAMC     = 0;
1090     iPWG4PtSpectra   = 0;
1091     iPWG4PtQATPC   = 0;
1092     iPWG4JetSpectrum = 0;
1093     iPWG4JetServices  = 0; // !!!!!!!!!!! 
1094     iPWG4Cluster      = 1;// not 5....
1095     kHighPtFilterMask = 256;     
1096
1097     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
1098     kGridPassPattern       = "";    kGridLocalRunList      = "fp_lhc10h12.txt";    kTrainName  = Form("pwg4train_LHC10h12_%s",cDate);
1099     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
1100     // stich of tasks not from PWG4JetTasks
1101     gROOT->LoadMacro("cleanXML.C");
1102     cleanXML();
1103   }
1104   else if (bRun == 8102){
1105     kGridRunRange[0]       =  0;  // 0 is a bad number :(, needs a manual commit in alien...
1106     kGridRunRange[1]       =  -1; // 
1107
1108
1109     char a;
1110     if(bExtra<10)a = bExtra+97;
1111
1112     kGridDatadir           = Form("/alice/sim/LHC11a2%c/",a); 
1113     kGridDataSet           = Form("LHC11a2%c/",a); 
1114     kGridRunPattern        = "%06d"; 
1115     kUseKinefilter         = kTRUE;
1116     kIsMC                  = kTRUE;  
1117     kUseMC                 = kTRUE; 
1118     kUseAODMC              = kTRUE; 
1119     kGridFilesPerJob       = 50;
1120     // switch off tasks with no feedback...
1121
1122
1123     // switch off tasks with no feedback...
1124     iPWG4ThreeJets    = 0; // tmp off mem leak
1125     iPWG4KMeans       = 0;  // OFF no FEEDBACK
1126     iPWG4Tagged       = 0; // OFF crashes on MC 
1127     iPWG4CaloQA       = 0; // OFF not needed on MC   
1128     iPWG4JetCorr      = 0; 
1129     iPWG4JCORRAN      = 0;  // TMP OFF: Writes a Tree
1130     iPWG4omega3pi     = 0; // OFF no feedback
1131
1132
1133     // swtich off most tasks for Pb+Pb
1134     iDIJETAN = 0; // only run on one JetFinder for the moment
1135     iPWG4Fragmentation = 0; 
1136     iPWG4LeadingUE = 0; 
1137     iPWG4JetChem      = 0;
1138     iPWG4QGSep  = 0;
1139     iPWG4Minijet  = 0;
1140
1141     // running as light a possible 
1142     iJETSUBTRACT = 0; // no subtraction
1143
1144
1145     iPWG4PtQAMC     = 1;
1146     iPWG4PtSpectra   = 1;
1147     iPWG4PtQATPC   = 1;
1148     iPWG4JetSpectrum = 1;
1149     iPWG4JetServices  = 1; // !!!!!!!!!!! 
1150     iPWG4Cluster      = 1;// not 5....
1151     kHighPtFilterMask = 1<<4|1<<8;     
1152
1153
1154     kGridFilesPerJob       = 100;
1155     /*
1156 ############# Possible jet branches ###################
1157   1: jetsAOD_UA104_B0_Filter00272_Cut01000
1158       2: jetsAOD_UA104_B0_Filter00272_Cut02000
1159       3: jetsAODMC_UA104_B0_Filter00272_Cut01000
1160       4: jetsAODMC2_UA104_B0_Filter00272_Cut01000
1161       5: clustersAOD_KT06_B0_Filter00272_Cut00150_Skip00
1162       6: clustersAOD_KT04_B0_Filter00272_Cut00150_Skip00
1163       7: clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip02
1164       8: clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip02RandomConeSkip02
1165       9: clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip02RandomCone_random
1166       10: clustersAOD_ANTIKT04_B0_Filter00272_Cut02000_Skip02
1167       11: clustersAOD_ANTIKT02_B0_Filter00272_Cut00150_Skip00
1168       12: clustersAODMC_KT06_B0_Filter00272_Cut00150_Skip00
1169       13: clustersAODMC2_KT06_B0_Filter00272_Cut00150_Skip00
1170       14: clustersAODMC_ANTIKT04_B0_Filter00272_Cut00150_Skip00
1171       15: clustersAODMC2_ANTIKT04_B0_Filter00272_Cut00150_Skip00
1172 */
1173     // CLEAN XML FILES LOCALLY AND ON ALIEN WHEN STARTING A NEW PASS!
1174     kGridPassPattern       = "";    kGridLocalRunList      = "fp_runlist_lhc11a2.txt";    kTrainName  = Form("pwg4train_LHC11a2%c_%s",a,cDate);
1175     kGridRunsPerMaster = 1; // Physcicsselection does not support more than on run per job
1176     kGridFilesPerJob       = 100;
1177     // stich of tasks not from PWG4JetTasks
1178     gROOT->LoadMacro("cleanXML.C");
1179     cleanXML();
1180   }
1181
1182
1183
1184   if(ckbConfig){
1185     // switch off all but my analyses
1186     iPWG4KMeans     = 0;
1187     iPWGPPQASym = 0;
1188     iPWG4UE = 0;
1189     iPWG4PtQAMC        = 0;
1190     iPWG4PtSpectra     = 0;
1191     iPWG4PtQATPC        = 0;
1192     iPWG4ThreeJets        = 0;
1193     iPWG4KMeans     = 0;
1194     iPWG4Tagged    = 0; 
1195     kDeltaAODJetName   = ""; // for OTF we do not need to write a delta/saves some extension gymnastics in the tasks       
1196     kUseDebug = kFALSE;
1197     kPluginAliRootVersion    = ""; 
1198     kGridFilesPerJob       = 60;
1199     kTrainName             = Form("%s_ckb",kTrainName.Data());
1200   }
1201
1202   if(debugConfig){
1203     // debug mode 
1204     //    kUsePAR                = kFALSE; // cannot patch the macro for local test, need to laod FASTjet libs before loading FASTJETA.so
1205     //    kUseCPAR               = kFALSE;
1206     kUseSysInfo = 100;
1207     kUseDebug = kTRUE;
1208     kGridLocalRunList      = "fp_runlist_pass4_debug.txt";
1209     kTrainName             = Form("pwg4train_LHC09d_debug",cDate);
1210     
1211     // kPluginExecutableCommand = "root -b -q ";
1212     kPluginExecutableCommand = "cat wn.xml; echo \"Root.Stacktrace:         yes\" > .rootrc; root -b -q ";
1213     //    kPluginExecutableCommand = "echo \"run -b -q  pwg4train_LHC09d_debug.C\" > gdb.cmd; echo where >> gdb.cmd; echo quit >> gdb.cmd; echo y >> gdb.cmd; gdb -x gdb.cmd -batch root.exe";
1214   }
1215
1216   if (kPluginMode.Contains("test")){
1217     kJetTriggerPtCut = 0.01; 
1218     if(kAnalysisMode.Contains("grid")){
1219       //      kPluginExecutableCommand = "source ~/setup_root.txt; alienroot -b -q";      
1220       kPluginExecutableCommand = "root -b -q";      
1221       //      kPluginExecutableCommand = "valgrind --tool=memcheck --error-limit=no --max-stackframe=3060888 --suppressions=$ROOTSYS/etc/valgrind-root.supp --leak-check=full --num-callers=15 --log-file=valgrind_memcheck.log root.exe -b -q";
1222       //      kPluginExecutableCommand = "export ALICE_ROOT=./ROOTFILES/;" + kPluginExecutableCommand; 
1223       kPluginExecutableCommand = kPluginExecutableCommand; 
1224       kUseSysInfo = 1;
1225       kUseDebug = kTRUE;
1226       if(bRun==802){
1227         kGridLocalRunList      = "fp_lhc10h_anchor.txt";
1228       }
1229       kTrainName             = Form("pwg4train_test");
1230       if(iAODanalysis)kNumberOfEvents     = 500;
1231     }
1232     else{
1233       // local
1234       if(iAODanalysis)kNumberOfEvents     = 2000;
1235       kUseSysInfo = 1;
1236       kUseDebug = kTRUE;
1237       kTrainName             = Form("pwg4train_test_local");
1238       kLocalDataList = "local_esd_lhc10d_pass2.txt";
1239       kUsePAR              = kFALSE; // cannot patch the macro for local test, need to laod FASTjet libs before loading FASTJETA.so
1240       kUseCPAR            = kFALSE;
1241       if(bRun==802){
1242         kLocalDataList = "local_esd_lhc10h.txt";
1243         if(iAODanalysis)          kLocalDataList = "local_aod_lhc10h.txt";
1244       }
1245       else if (bRun == 5014){
1246         kLocalDataList = "local_esd_lhc10e14.txt";
1247       }
1248       //        iPWG4PtTrackQA    = 0;
1249       //        iPWG4PtQAMC       = 0;
1250       //        iPWG4PtSpectra    = 0;
1251       //        iPWG4PtQATPC      = 0;
1252       //        iPWG4PtTrackQA    = 0;
1253       //        iPWG4Cluster      = 0;
1254       kUseCPAR            = kFALSE;
1255       kUsePAR            = kFALSE;
1256       //      kNumberOfEvents     = 70;
1257       // all OFF
1258     }
1259   }
1260   if(kPluginAliRootVersion.Length()==0){
1261     //    kPluginExecutableCommand = "export ALICE_ROOT=./ROOTFILES/;" + kPluginExecutableCommand; 
1262     kPluginExecutableCommand = kPluginExecutableCommand; 
1263   } 
1264
1265   if (kPluginMode.Contains("merge")){
1266     // swtich of task where macros changed in the meantime
1267   }
1268
1269
1270 }