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