]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/GammaConv/macros/AddTask_GammaConvDalitzQAV1_pPb.C
New function for TrueChic added and a cut with open photon R added
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / macros / AddTask_GammaConvDalitzQAV1_pPb.C
1 void AddTask_GammaConvDalitzQAV1_pPb(  Int_t trainConfig = 1,
2                                        Bool_t isMC       = kFALSE, //run MC 
3                                        Bool_t enableQAMesonTask = kTRUE, //enable QA in AliAnalysisTaskGammaConvDalitzV1
4                                        Bool_t enableDoMesonChic = kFALSE, // enable additional Chic analysis
5                                        Bool_t enableSetProdVtxVGamma = kTRUE,
6                                        TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
7                                        Bool_t doWeighting = kFALSE,  //enable Weighting
8                                        TString generatorName = "DPMJET",                                
9                                        TString cutnumberAODBranch = "0000000060084001001500000"
10                                   ) {
11
12
13    
14    cout<<"*********Parameters*******"<<endl;
15    cout<<"trainConfig: "<<trainConfig<<endl;
16    cout<<"isMC: "<<isMC<<endl;
17    cout<<"enableQAMesonTask: "<<enableQAMesonTask<<endl;
18    cout<<"enableDoMesonChic: "<<enableDoMesonChic<<endl;
19    cout<<"enableSetProdVtxVGamma: "<<enableSetProdVtxVGamma<<endl;
20    cout<<"fileNameInputForWeighting: "<<fileNameInputForWeighting.Data()<<endl;
21    cout<<"doWeighting: "<<doWeighting<<endl;
22    cout<<"generatorName: "<<generatorName.Data()<<endl;
23    cout<<"cutnumberAODBranch: "<<cutnumberAODBranch.Data()<<endl;
24
25   // ================= Load Librariers =================================
26    gSystem->Load("libCore.so");  
27    gSystem->Load("libTree.so");
28    gSystem->Load("libGeom.so");
29    gSystem->Load("libVMC.so");
30    gSystem->Load("libPhysics.so");
31    gSystem->Load("libMinuit");
32    gSystem->Load("libSTEERBase");
33    gSystem->Load("libESD");
34    gSystem->Load("libAOD");
35    gSystem->Load("libANALYSIS");
36    gSystem->Load("libANALYSISalice");  
37    gSystem->Load("libPWGGAGammaConv.so");
38    gSystem->Load("libCDB.so");
39    gSystem->Load("libSTEER.so");
40    gSystem->Load("libSTEERBase.so");
41    gSystem->Load("libTENDER.so");
42    gSystem->Load("libTENDERSupplies.so");
43    
44   
45   
46    
47    Int_t isHeavyIon = 2;
48
49    cout<<"Entro 0"<<endl;
50
51    // ================== GetAnalysisManager ===============================
52    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
53    if (!mgr) {
54       Error(Form("AddTask_GammaConvDalitzV1_pPb_%i",trainConfig), "No analysis manager found.");
55       return ;
56    }
57
58    // ================== GetInputEventHandler =============================
59    AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
60    
61    //========= Add PID Reponse to ANALYSIS manager ====
62    if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
63       gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
64       AddTaskPIDResponse(isMC);
65    }
66    
67    //=========  Set Cutnumber for V0Reader ================================
68    
69    TString cutnumberEvent = "8000000";
70    
71    TString cutnumberPhoton="";
72    
73    if(trainConfig == 9 || trainConfig == 10 ){
74    cutnumberPhoton = "160084001001500000000";   //Offline  V0 finder 
75    }
76    else {
77    cutnumberPhoton = "060084001001500000000";   //Online  V0 finder
78    }
79    
80    TString ElecCuts      = "90005400000002000000";            //Electron Cuts
81    Bool_t doEtaShift = kFALSE;
82
83
84
85    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
86    
87    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
88    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
89         if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
90                 AliV0ReaderV1 *fV0ReaderV1 = new AliV0ReaderV1("V0ReaderV1");
91                 
92                 fV0ReaderV1->SetUseOwnXYZCalculation(kTRUE);
93                 fV0ReaderV1->SetCreateAODs(kFALSE);// AOD Output
94                 fV0ReaderV1->SetUseAODConversionPhoton(kTRUE);
95                 
96                 if (!mgr) {
97                         Error("AddTask_V0ReaderV1", "No analysis manager found.");
98                         return;
99                 }
100         
101                 AliConvEventCuts *fEventCuts=NULL;
102                 if(cutnumberEvent!=""){
103                         fEventCuts= new AliConvEventCuts(cutnumberEvent.Data(),cutnumberEvent.Data());
104                         fEventCuts->SetPreSelectionCutFlag(kTRUE);
105                         if(fEventCuts->InitializeCutsFromCutString(cutnumberEvent.Data())){
106                                 fEventCuts->DoEtaShift(doEtaShift);
107                                 fV0ReaderV1->SetEventCuts(fEventCuts);
108                                 fEventCuts->SetFillCutHistograms("",kTRUE);
109                         }
110                 }
111
112                 // Set AnalysisCut Number
113                 AliConversionPhotonCuts *fCuts=NULL;
114                 if(cutnumberPhoton!=""){
115                         fCuts= new AliConversionPhotonCuts(cutnumberPhoton.Data(),cutnumberPhoton.Data());
116                         fCuts->SetPreSelectionCutFlag(kTRUE);
117                         fCuts->SetIsHeavyIon(isHeavyIon);
118                         if(fCuts->InitializeCutsFromCutString(cutnumberPhoton.Data())){
119                                 fV0ReaderV1->SetConversionCuts(fCuts);
120                                 fCuts->SetFillCutHistograms("",kTRUE);
121                         }
122                 }
123                 if(inputHandler->IsA()==AliAODInputHandler::Class()){
124                 // AOD mode
125                         cout << "AOD handler: adding " << cutnumberAODBranch.Data() << " as conversion branch" << endl;
126                         fV0ReaderV1->SetDeltaAODBranchName(Form("GammaConv_%s_gamma",cutnumberAODBranch.Data()));
127                 }
128                 fV0ReaderV1->Init();
129         
130                 AliLog::SetGlobalLogLevel(AliLog::kInfo);
131         
132                 //connect input V0Reader
133                 mgr->AddTask(fV0ReaderV1);
134                 mgr->ConnectInput(fV0ReaderV1,0,cinput);
135         
136         }
137    //================================================
138    //========= Add Electron Selector ================
139
140
141    if( !(AliDalitzElectronSelector*)mgr->GetTask("ElectronSelector") ){
142
143    AliDalitzElectronSelector *fElectronSelector = new AliDalitzElectronSelector("ElectronSelector");
144
145    // Set AnalysisCut Number
146
147    AliDalitzElectronCuts *fElecCuts=0;
148
149    //ElecCuts = "900054000000020000";
150
151     if( ElecCuts!=""){
152
153        fElecCuts= new AliDalitzElectronCuts(ElecCuts.Data(),ElecCuts.Data());
154
155             if(fElecCuts->InitializeCutsFromCutString(ElecCuts.Data())){
156
157                 fElectronSelector->SetDalitzElectronCuts(fElecCuts);
158
159                 fElecCuts->SetFillCutHistograms("",kTRUE);
160
161             }
162     }
163
164     fElectronSelector->Init();
165     mgr->AddTask(fElectronSelector);
166     
167     AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer();
168
169     //connect input V0Reader
170
171     mgr->ConnectInput (fElectronSelector,0,cinput1);
172
173  }
174
175
176
177     cout<<"Entro"<<endl;
178    //================================================
179    //========= Add task to the ANALYSIS manager =====
180    //================================================
181    //            find input container
182    
183   
184  
185    AliAnalysisTaskGammaConvDalitzV1 *task=NULL;
186
187    task= new AliAnalysisTaskGammaConvDalitzV1(Form("GammaConvDalitzV1_%i",trainConfig));
188
189    task->SetIsHeavyIon(2);
190    task->SetIsMC(isMC);
191
192
193
194    // Cut Numbers to use in Analysis
195    Int_t numberOfCuts = 1;
196    
197    TString *eventCutArray     = new TString[numberOfCuts];
198
199    TString *photonCutArray    = new TString[numberOfCuts];
200
201    TString *ElecCutarray      = new TString[numberOfCuts];
202
203    TString *MesonCutarray     = new TString[numberOfCuts];
204
205    Bool_t doEtaShiftIndCuts = kFALSE;
206    TString stringShift = "";
207
208    // Shifting in pPb direction
209
210    doEtaShiftIndCuts = kFALSE;
211    stringShift = "pPb";
212
213
214    
215    
216 if( trainConfig == 1 ) {  // No eta shift |Y| < 0.8
217                                                                                      
218         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
219         
220 }  else if( trainConfig == 2 ) {  // No eta shift |Y| < 0.8
221   
222         eventCutArray[0]="8000011"; photonCutArray[0] = "032093603007200000000"; ElecCutarray[0] = "90475400239102623710"; MesonCutarray[0] = "01033035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 +  |Y| < 0.6 and |Gamma_eta| < 0.65 and |e+_eta| < 0.65 and |e-_eta| < 0.65 
223         
224 }  else if( trainConfig == 3 ) {  // No eta shift |Y| < 0.8
225   
226         eventCutArray[0]="8000011"; photonCutArray[0] = "042093603007200000000"; ElecCutarray[0] = "90475400235102623710"; MesonCutarray[0] = "01032035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 +  |Y| < 0.7 and |Gamma_eta| < 0.75 and |e+_eta| < 0.75 and |e-_eta| < 0.75
227
228 }  else if( trainConfig == 4 ) {  // No eta shift  |Y| < 0.8
229   
230         eventCutArray[0]="8000011"; photonCutArray[0] = "012093603007200000000"; ElecCutarray[0] = "90475400236102623710"; MesonCutarray[0] = "01034035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 +  |Y| < 0.5 and |Gamma_eta| < 0.60 and |e+_eta| < 0.60 and |e-_eta| < 0.60  
231     
232 } else if ( trainConfig == 5 ) {
233
234         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102623310"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
235
236 } else if ( trainConfig == 6 ) {  // No eta shift |Y| < 0.8
237         
238         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102643710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
239         
240 } else if ( trainConfig == 7 ) {
241   
242         eventCutArray[0]="8000012"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
243         
244 } else if ( trainConfig == 8 ) {  // No eta shift |Y| < 0.8
245         
246         eventCutArray[0]="8000012"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102643710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
247         
248 } else if ( trainConfig == 9  ) {
249         
250         eventCutArray[0]="8000011"; photonCutArray[0] = "102093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
251         
252 } else if ( trainConfig == 10 ) {
253
254         eventCutArray[0]="8000012"; photonCutArray[0] = "102093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
255
256 } else if ( trainConfig == 11  ) {
257         
258         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102623010"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
259         
260 } else if ( trainConfig == 12 ) {
261
262         eventCutArray[0]="8000012"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102623010"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
263
264 }  else if ( trainConfig == 13 ) {
265         
266         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400533102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls
267         
268 }  else if ( trainConfig == 14 ) {
269   
270         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400733102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls no Any
271         
272 }  else if ( trainConfig == 15 ) {
273
274         eventCutArray[0]="8000012"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400533102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls
275         
276 }  else if ( trainConfig == 16 ) {
277   
278         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400833002623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth  +  No psipair
279                 
280 }  else if ( trainConfig == 17 ) {
281   
282         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400833102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth
283         
284 } else if ( trainConfig  == 18 ) {
285
286         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400933102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + 4ITS cls
287
288 } else if ( trainConfig  == 19 ) {
289   
290         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400133102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts
291         
292 } else if ( trainConfig  == 20 ) {
293
294         eventCutArray[0]="8000011"; photonCutArray[0] = "002092170008260400000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01621035009000"; // standard cut Annika analysis:
295         
296 } else if ( trainConfig  == 21 ) {
297
298         eventCutArray[0]="8000011"; photonCutArray[0] = "002092170008260400000"; ElecCutarray[0] = "90475400133102623710"; MesonCutarray[0] = "01621035009000"; // standard cut Annika analysis: + kFirst
299         
300 } else if ( trainConfig  == 22 ){
301   
302         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400153102621710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kFirtst
303
304 } else if ( trainConfig  == 23 ) {
305   
306         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400853102621710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kBoth
307         
308 } else if ( trainConfig  == 24 ){
309   
310         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400153102621700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kFirtst No weights
311
312 } else if ( trainConfig  == 25 ) {
313   
314         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400853102621700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kBoth No weights
315         
316 } else if ( trainConfig  == 26 ) {
317   
318         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400133102623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts + No weights
319         
320 } else if ( trainConfig  == 27 ) {
321   
322         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400833102623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth  +  No weights
323         
324 } else if ( trainConfig  == 28 ) {
325   
326         eventCutArray[0]="8000011"; photonCutArray[0] = "002493603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt > 0.075
327         
328 } else if ( trainConfig  == 29 ) {
329   
330         eventCutArray[0]="8000011"; photonCutArray[0] = "002193603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt > 0.100
331         
332 } else if ( trainConfig  == 30 ) {
333       
334         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102633710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt{e} > 0.150
335         
336 } else if ( trainConfig  == 31 ) {
337         
338         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102653710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt{e} > 0.175
339         
340 } else if ( trainConfig  == 32  ) {
341   
342         eventCutArray[0]="8000011"; photonCutArray[0] = "007093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + Photon R > 35 cm
343   
344 } else if ( trainConfig  == 33  ) {
345   
346         eventCutArray[0]="8000011"; photonCutArray[0] = "007093603007200000000"; ElecCutarray[0] = "90475400833102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + Photon R > 35 cm 
347         
348 } else if ( trainConfig  == 34  ) {
349   
350         eventCutArray[0]="8000011"; photonCutArray[0] = "007093603007200000000"; ElecCutarray[0] = "90475400833102623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + Photon R > 35 cm + No weights 
351         
352 } else if ( trainConfig  == 35 ) {                                              
353                                                                              
354         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400833002623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth  + NoPsiPair + No weights
355         
356 } else if ( trainConfig  == 36 ) {
357   
358         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny no Weights
359
360 } else if ( trainConfig  == 37 ) {
361   
362         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400833102623711"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + smearing photon virtual
363
364 } else if ( trainConfig  == 38 ) {
365   
366         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400133102623711"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts + smearing photon virtual
367         
368 } else if( trainConfig   == 39 ) {  
369                                              
370         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102623711"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + kAny  + smearing photon virtual 
371
372 } else if ( trainConfig  == 40 ) {
373   
374         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400833102623712"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + smearing photon virtual  electrons
375
376 } else if ( trainConfig  == 41 ) {
377   
378         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400133102623712"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts + smearing photon virtual electrons
379         
380 } else if( trainConfig   == 42 ) {  
381                                              
382         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233102623712"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + kAny  + smearing photon virtual electrons 
383
384 } else if( trainConfig  == 43 ) {
385   
386         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400833202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 +  kBoth + New psi pair cut  fPsiPairCut = 0.60;    fDeltaPhiCutMin = 0.0; fDeltaPhiCutMax = 0.12;
387
388 } else if( trainConfig  == 44 ) {
389   
390         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400833502623712"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + New psi pair cut  fPsiPairCut = 0.60;     fDeltaPhiCutMin = 0.0; fDeltaPhiCutMax = 0.12; +  Electron Smearing
391         
392 } else if( trainConfig  == 45 ) {  
393                                              
394         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + kAny  + New psi pair cut + New psi pair cut  fPsiPairCut = 0.60    fDeltaPhiCutMin = 0.0 fDeltaPhiCutMax = 0.12
395
396 } else if( trainConfig == 46 ) {  
397
398         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233202623712"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + kAny  + New psi pair cut + New psi pair cut  fPsiPairCut = 0.60;    fDeltaPhiCutMin = 0.0; fDeltaPhiCutMax = 0.12; + photon virtual electrons 
399         
400 } else if( trainConfig == 47 ) {
401
402         eventCutArray[0]="8000011"; photonCutArray[0] = "005093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  10cm
403         
404 } else if( trainConfig == 48 ){
405   
406         eventCutArray[0]="8000011"; photonCutArray[0] = "008093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  12.5cm
407         
408 } else if( trainConfig == 49 ){
409   
410         eventCutArray[0]="8000011"; photonCutArray[0] = "006093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  20 cm 
411         
412 } else if( trainConfig == 50 ){
413   
414         eventCutArray[0]="8000011"; photonCutArray[0] = "007093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  35 cm
415         
416 } else if( trainConfig == 51 ){
417   
418         eventCutArray[0]="8000011"; photonCutArray[0] = "009093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  7.5 cm
419         
420 } else if( trainConfig == 52 ){
421   
422         eventCutArray[0]="8000011"; photonCutArray[0] = "000093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  0 cm
423         
424 } else if( trainConfig == 53 ) {  
425                                              
426         eventCutArray[0]="8000011"; photonCutArray[0] = "002093603007200000000"; ElecCutarray[0] = "90475400233202623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + kAny  + New psi pair cut + New psi pair cut  fPsiPairCut = 0.60    fDeltaPhiCutMin = 0.0 fDeltaPhiCutMax = 0.12
427
428 }
429         
430
431
432
433
434
435    TList *EventCutList = new TList();
436    TList *ConvCutList  = new TList();
437    TList *MesonCutList = new TList();
438    TList *ElecCutList  = new TList();
439    
440
441    TList *HeaderList = new TList();
442    TObjString *Header1 = new TObjString("pi0_1");
443    HeaderList->Add(Header1);
444    TObjString *Header3 = new TObjString("eta_2");
445    HeaderList->Add(Header3);
446    
447    
448    EventCutList->SetOwner(kTRUE);
449    AliConvEventCuts **analysisEventCuts = new AliConvEventCuts*[numberOfCuts];
450    
451    
452    ConvCutList->SetOwner(kTRUE);
453    AliConversionPhotonCuts **analysisCuts = new AliConversionPhotonCuts*[numberOfCuts];
454    
455    
456    MesonCutList->SetOwner(kTRUE);
457    AliConversionMesonCuts **analysisMesonCuts   = new AliConversionMesonCuts*[numberOfCuts];
458    
459    
460    ElecCutList->SetOwner(kTRUE);
461    AliDalitzElectronCuts **analysisElecCuts     = new AliDalitzElectronCuts*[numberOfCuts];
462
463
464
465    for(Int_t i = 0; i<numberOfCuts; i++){
466
467
468           analysisEventCuts[i] = new AliConvEventCuts();
469       
470
471           if (  ( trainConfig >= 1 && trainConfig <= 6 ) || trainConfig == 9  ||  trainConfig == 11  || trainConfig == 13 || trainConfig == 14 || trainConfig == 16 || trainConfig == 17 || trainConfig == 18 || trainConfig == 19 || trainConfig == 20 || trainConfig == 21 || trainConfig == 22 || trainConfig == 23 ||
472                   trainConfig == 28 || trainConfig == 29 || trainConfig == 30 ||  trainConfig == 31  || trainConfig == 32 || trainConfig == 33 || trainConfig == 37 || trainConfig == 38 || trainConfig == 39 || trainConfig == 40 || trainConfig == 41 || trainConfig == 41 || trainConfig == 43 || trainConfig == 44 ||
473                   trainConfig == 45 || trainConfig == 46 || trainConfig == 47 ||  trainConfig == 48  || trainConfig == 49 || trainConfig == 50 || trainConfig == 51 || trainConfig == 52 ) {
474             
475             if (doWeighting){
476               if (generatorName.CompareTo("DPMJET")==0){
477                analysisEventCuts[i]->SetUseReweightingWithHistogramFromFile(kTRUE, kTRUE, kFALSE, fileNameInputForWeighting, "Pi0_DPMJET_LHC13b2_efix_pPb_5023GeV_MBV0A", "Eta_DPMJET_LHC13b2_efix_pPb_5023GeV_MBV0A", "","Pi0_Fit_Data_pPb_5023GeV_MBV0A","Eta_Fit_Data_pPb_5023GeV_MBV0A");
478               } else if (generatorName.CompareTo("HIJING")==0){   
479                analysisEventCuts[i]->SetUseReweightingWithHistogramFromFile(kTRUE, kTRUE, kFALSE, fileNameInputForWeighting, "Pi0_Hijing_LHC13e7_pPb_5023GeV_MBV0A", "Eta_Hijing_LHC13e7_pPb_5023GeV_MBV0A", "","Pi0_Fit_Data_pPb_5023GeV_MBV0A","Eta_Fit_Data_pPb_5023GeV_MBV0A");
480               }
481             }
482           } else if ( trainConfig == 7 || trainConfig == 8 || trainConfig == 10 || trainConfig == 12  || trainConfig == 15 ){
483             
484               if (doWeighting){
485                   analysisEventCuts[i]->SetUseReweightingWithHistogramFromFile(kTRUE, kTRUE, kFALSE, fileNameInputForWeighting, "Pi0_Hijing_LHC13e7_addSig_pPb_5023GeV_MBV0A", "Eta_Hijing_LHC13e7_addSig_pPb_5023GeV_MBV0A", "","Pi0_Fit_Data_pPb_5023GeV_MBV0A","Eta_Fit_Data_pPb_5023GeV_MBV0A");
486               }
487           }
488          
489           
490           
491        if( ! analysisEventCuts[i]->InitializeCutsFromCutString(eventCutArray[i].Data()) ){
492           cout<<"ERROR: analysisEventCuts [ " << i <<" ] "<<endl;
493           return 0;
494        }
495        
496        if (doEtaShiftIndCuts) {
497           analysisEventCuts[i]->DoEtaShift(doEtaShiftIndCuts);
498           analysisEventCuts[i]->SetEtaShift(stringShift);
499        }
500                 
501        EventCutList->Add(analysisEventCuts[i]);
502        analysisEventCuts[i]->SetFillCutHistograms("",kFALSE);   
503        analysisEventCuts[i]->SetAcceptedHeader(HeaderList);
504           
505                   
506           
507        analysisCuts[i] = new AliConversionPhotonCuts();
508        
509        if( ! analysisCuts[i]->InitializeCutsFromCutString(photonCutArray[i].Data()) ) {
510               cout<<"ERROR: analysisCuts [ " << i <<" ] "<<endl;
511               return 0;
512        }
513        analysisCuts[i]->SetIsHeavyIon(isHeavyIon);
514        ConvCutList->Add(analysisCuts[i]);
515        analysisCuts[i]->SetFillCutHistograms("",kFALSE);           
516
517        analysisMesonCuts[i] = new AliConversionMesonCuts();
518     
519        if( ! analysisMesonCuts[i]->InitializeCutsFromCutString(MesonCutarray[i].Data()) ) {
520             cout<<"ERROR: analysisMesonCuts [ " <<i<<" ] "<<endl;
521             return 0;
522        }
523        MesonCutList->Add(analysisMesonCuts[i]);
524        analysisMesonCuts[i]->SetFillCutHistograms("");
525   
526
527       //TString cutName( Form("%s_%s_%s_%s",eventCutArray[i].Data(), photonCutArray[i].Data(),ElecCutarray[i].Data(),MesonCutarray[i].Data() ) );
528
529
530       analysisElecCuts[i] = new AliDalitzElectronCuts();
531       if( !analysisElecCuts[i]->InitializeCutsFromCutString(ElecCutarray[i].Data())) {
532
533             cout<< "ERROR:  analysisElecCuts [ " <<i<<" ] "<<endl;
534             return 0;
535       }
536       
537       ElecCutList->Add(analysisElecCuts[i]);
538       analysisElecCuts[i]->SetFillCutHistograms("",kFALSE,ElecCutarray[i].Data()); 
539            
540
541    }
542
543    
544    
545    
546    task->SetEventCutList(numberOfCuts,EventCutList);
547    task->SetConversionCutList(numberOfCuts,ConvCutList);
548    task->SetMesonCutList(MesonCutList);
549    task->SetElectronCutList(ElecCutList);
550
551    task->SetMoveParticleAccordingToVertex(kTRUE);
552    
553    if(enableSetProdVtxVGamma) task->SetProductionVertextoVGamma(kTRUE);
554    if(enableQAMesonTask) task->SetDoMesonQA(kTRUE);
555    if(enableDoMesonChic) task->SetDoChicAnalysis(kTRUE);
556
557    //connect containers
558    AliAnalysisDataContainer *coutput =
559    mgr->CreateContainer(Form("GammaConvDalitzV1_%i",trainConfig), TList::Class(),
560                            AliAnalysisManager::kOutputContainer,Form("GammaConvV1Dalitz_%i.root",trainConfig));
561
562    mgr->AddTask(task);
563    mgr->ConnectInput(task,0,cinput);
564    mgr->ConnectOutput(task,1,coutput);
565
566    return;
567
568 }