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