]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/GammaConv/macros/AddTask_GammaConvDalitzQAV1_pPb.C
Commit for Simone
[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    
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    TString ConvCutnumber="";
69    
70    if(trainConfig == 9 || trainConfig == 10 ){
71    ConvCutnumber = "8000000160084001001500000000";   //Offline  V0 finder 
72    }
73    else {
74    ConvCutnumber = "8000000060084001001500000000";   //Online  V0 finder
75    }
76    
77    TString ElecCuts      = "9000540000000200000";            //Electron Cuts
78    Bool_t doEtaShift = kFALSE;
79
80
81
82    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
83    
84    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
85    if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
86       AliV0ReaderV1 *fV0ReaderV1 = new AliV0ReaderV1("V0ReaderV1");
87       
88       fV0ReaderV1->SetUseOwnXYZCalculation(kTRUE);
89       fV0ReaderV1->SetCreateAODs(kFALSE);// AOD Output
90       fV0ReaderV1->SetUseAODConversionPhoton(kTRUE);
91       
92       if (!mgr) {
93          Error("AddTask_V0ReaderV1", "No analysis manager found.");
94          return;
95       }
96
97       // Set AnalysisCut Number
98       AliConversionCuts *fCuts=NULL;
99       if( ConvCutnumber !=""){
100          fCuts= new AliConversionCuts(ConvCutnumber.Data(),ConvCutnumber.Data());
101          fCuts->SetPreSelectionCutFlag(kTRUE);
102          if(fCuts->InitializeCutsFromCutString(ConvCutnumber.Data())){
103             fCuts->DoEtaShift(doEtaShift);
104             fV0ReaderV1->SetConversionCuts(fCuts);
105             fCuts->SetFillCutHistograms("",kTRUE);
106          }
107       }
108       if(inputHandler->IsA()==AliAODInputHandler::Class()){
109       // AOD mode
110          fV0ReaderV1->SetDeltaAODBranchName(Form("GammaConv_%s_gamma",cutnumberAODBranch.Data()));
111       }
112       fV0ReaderV1->Init();
113
114       AliLog::SetGlobalLogLevel(AliLog::kInfo);
115
116       //connect input V0Reader
117       mgr->AddTask(fV0ReaderV1);
118       mgr->ConnectInput(fV0ReaderV1,0,cinput);
119
120    }
121
122    //================================================
123    //========= Add Electron Selector ================
124
125
126    if( !(AliDalitzElectronSelector*)mgr->GetTask("ElectronSelector") ){
127
128    AliDalitzElectronSelector *fElectronSelector = new AliDalitzElectronSelector("ElectronSelector");
129
130    // Set AnalysisCut Number
131
132    AliDalitzElectronCuts *fElecCuts=0;
133
134    //ElecCuts = "900054000000020000";
135
136     if( ElecCuts!=""){
137
138        fElecCuts= new AliDalitzElectronCuts(ElecCuts.Data(),ElecCuts.Data());
139
140             if(fElecCuts->InitializeCutsFromCutString(ElecCuts.Data())){
141
142                 fElectronSelector->SetDalitzElectronCuts(fElecCuts);
143
144                 fElecCuts->SetFillCutHistograms("",kTRUE);
145
146             }
147     }
148
149     fElectronSelector->Init();
150     mgr->AddTask(fElectronSelector);
151     
152     AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer();
153
154     //connect input V0Reader
155
156     mgr->ConnectInput (fElectronSelector,0,cinput1);
157
158  }
159
160
161
162     cout<<"Entro"<<endl;
163    //================================================
164    //========= Add task to the ANALYSIS manager =====
165    //================================================
166    //            find input container
167    
168   
169  
170    AliAnalysisTaskGammaConvDalitzV1 *task=NULL;
171
172    task= new AliAnalysisTaskGammaConvDalitzV1(Form("GammaConvDalitzV1_%i",trainConfig));
173
174    task->SetIsHeavyIon(2);
175    task->SetIsMC(isMC);
176
177
178
179    // Cut Numbers to use in Analysis
180    Int_t numberOfCuts = 1;
181
182    TString *ConvCutarray    = new TString[numberOfCuts];
183
184    TString *ElecCutarray    = new TString[numberOfCuts];
185
186    TString *MesonCutarray   = new TString[numberOfCuts];
187
188    Bool_t doEtaShiftIndCuts = kFALSE;
189    TString stringShift = "";
190
191    // Shifting in pPb direction
192
193    doEtaShiftIndCuts = kFALSE;
194    stringShift = "pPb";
195
196
197    
198    
199 if( trainConfig == 1 ) {  // No eta shift |Y| < 0.8
200         
201                                                                              
202         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
203         
204 }  else if( trainConfig == 2 ) {  // No eta shift |Y| < 0.8
205   
206         ConvCutarray[0] = "8000011032093603007200000000"; ElecCutarray[0] = "9047540023910262371"; 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 
207         
208 }  else if( trainConfig == 3 ) {  // No eta shift |Y| < 0.8
209   
210         ConvCutarray[0] = "8000011042093603007200000000"; ElecCutarray[0] = "9047540023510262371"; 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
211
212 }  else if( trainConfig == 4 ) {  // No eta shift  |Y| < 0.8
213   
214         ConvCutarray[0] = "8000011012093603007200000000"; ElecCutarray[0] = "9047540023610262371"; 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  
215     
216 } else if ( trainConfig == 5 ) {
217
218         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310262331"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
219
220 } else if ( trainConfig == 6 ) {  // No eta shift |Y| < 0.8
221         
222         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310264371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
223         
224 } else if ( trainConfig == 7 ) {
225   
226         ConvCutarray[0] = "8000012002093603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
227         
228 } else if ( trainConfig == 8 ) {  // No eta shift |Y| < 0.8
229         
230         ConvCutarray[0] = "8000012002093603007200000000"; ElecCutarray[0] = "9047540023310264371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
231         
232 } else if ( trainConfig == 9  ) {
233         
234         ConvCutarray[0] = "8000011102093603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
235         
236 } else if ( trainConfig == 10 ) {
237
238         ConvCutarray[0] = "8000012102093603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
239
240 } else if ( trainConfig == 11  ) {
241         
242         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310262301"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
243         
244 } else if ( trainConfig == 12 ) {
245
246         ConvCutarray[0] = "8000012002093603007200000000"; ElecCutarray[0] = "9047540023310262301"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
247
248 }  else if ( trainConfig == 13 ) {
249         
250         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540053310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls
251         
252 }  else if ( trainConfig == 14 ) {
253   
254         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540073310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls no Any
255         
256 }  else if ( trainConfig == 15 ) {
257
258         ConvCutarray[0] = "8000012002093603007200000000"; ElecCutarray[0] = "9047540053310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls
259         
260 }  else if ( trainConfig == 16 ) {
261   
262         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540083300262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth  +  No psipair
263                 
264 }  else if ( trainConfig == 17 ) {
265   
266         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540083310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth
267         
268 } else if ( trainConfig  == 18 ) {
269
270         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540093310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + 4ITS cls
271
272 } else if ( trainConfig  == 19 ) {
273   
274         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540013310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts
275         
276 } else if ( trainConfig  == 20 ) {
277
278         ConvCutarray[0] = "8000011002092170008260400000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01621035009000"; // standard cut Annika analysis:
279         
280 } else if ( trainConfig  == 21 ) {
281
282         ConvCutarray[0] = "8000011002092170008260400000"; ElecCutarray[0] = "9047540013310262371"; MesonCutarray[0] = "01621035009000"; // standard cut Annika analysis: + kFirst
283         
284 } else if ( trainConfig  == 22 ){
285   
286         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540015310262171"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kFirtst
287
288 } else if ( trainConfig  == 23 ) {
289   
290         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540085310262171"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kBoth
291         
292 } else if ( trainConfig  == 24 ){
293   
294         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540015310262170"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kFirtst No weights
295
296 } else if ( trainConfig  == 25 ) {
297   
298         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540085310262170"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kBoth No weights
299         
300 } else if ( trainConfig  == 26 ) {
301   
302         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540013310262370"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts + No weights
303         
304 } else if ( trainConfig  == 27 ) {
305   
306         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540083310262370"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth  +  No weights
307         
308 } else if ( trainConfig  == 28 ) {
309   
310         ConvCutarray[0] = "8000011002493603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt > 0.075
311         
312 } else if ( trainConfig  == 29 ) {
313   
314         ConvCutarray[0] = "8000011002193603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt > 0.100
315         
316 } else if ( trainConfig  == 30 ) {
317       
318         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310263371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt{e} > 0.150
319         
320 } else if ( trainConfig  == 31 ) {
321         
322         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310265371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt{e} > 0.175
323         
324 } else if ( trainConfig  == 32  ) {
325   
326         ConvCutarray[0] = "8000011007093603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + Photon R > 35 cm
327   
328 } else if ( trainConfig  == 33  ) {
329   
330         ConvCutarray[0] = "8000011007093603007200000000"; ElecCutarray[0] = "9047540083310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + Photon R > 35 cm 
331         
332 } else if ( trainConfig  == 34  ) {
333   
334         ConvCutarray[0] = "8000011007093603007200000000"; ElecCutarray[0] = "9047540083310262370"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + Photon R > 35 cm + No weights 
335         
336 } else if ( trainConfig  == 35 ) {                                              
337                                                                              
338         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540083300262370"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth  + NoPsiPair + No weights
339         
340 } else if ( trainConfig  == 36 ) {
341   
342         ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310262370"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny no Weights
343 }
344
345
346
347
348
349
350
351
352    TList *ConvCutList  = new TList();
353    TList *MesonCutList = new TList();
354    TList *ElecCutList  = new TList();
355
356    TList *HeaderList = new TList();
357    TObjString *Header1 = new TObjString("pi0_1");
358    HeaderList->Add(Header1);
359    TObjString *Header3 = new TObjString("eta_2");
360    HeaderList->Add(Header3);
361    
362    ConvCutList->SetOwner(kTRUE);
363    AliConversionCuts **analysisCuts             = new AliConversionCuts*[numberOfCuts];
364    MesonCutList->SetOwner(kTRUE);
365    AliConversionMesonCuts **analysisMesonCuts   = new AliConversionMesonCuts*[numberOfCuts];
366    ElecCutList->SetOwner(kTRUE);
367    AliDalitzElectronCuts **analysisElecCuts     = new AliDalitzElectronCuts*[numberOfCuts];
368
369
370
371    for(Int_t i = 0; i<numberOfCuts; i++){
372
373
374           analysisCuts[i] = new AliConversionCuts();
375       
376
377           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 ||
378                   trainConfig == 28 || trainConfig == 29 || trainConfig == 30 || trainConfig == 31 || trainConfig == 32 || trainConfig == 33 )
379           ){
380             
381             if (doWeighting){
382               if (generatorName.CompareTo("DPMJET")==0){
383                analysisCuts[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");
384               } else if (generatorName.CompareTo("HIJING")==0){   
385                analysisCuts[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");
386               }
387             }
388           } else if ( trainConfig == 7 || trainConfig == 8 || trainConfig == 10 || trainConfig == 12  || trainConfig == 15 ){
389             
390               if (doWeighting){
391                   analysisCuts[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");
392               }
393           }
394           if( ! analysisCuts[i]->InitializeCutsFromCutString(ConvCutarray[i].Data()) ) {
395             cout<<"ERROR: analysisCuts [" <<i<<"]"<<endl;
396             return 0;
397           } else { 
398                           
399               if (doEtaShiftIndCuts) {
400           
401                 analysisCuts[i]->DoEtaShift(doEtaShiftIndCuts);
402                 analysisCuts[i]->SetEtaShift(stringShift);
403               }
404               ConvCutList->Add(analysisCuts[i]);
405               analysisCuts[i]->SetFillCutHistograms("",kFALSE);
406               analysisCuts[i]->SetAcceptedHeader(HeaderList);
407           
408           }
409
410
411
412       analysisMesonCuts[i] = new AliConversionMesonCuts();
413     
414       if( ! analysisMesonCuts[i]->InitializeCutsFromCutString(MesonCutarray[i].Data()) ) {
415             cout<<"ERROR: analysisMesonCuts [ " <<i<<" ] "<<endl;
416             return 0;
417       }
418       else {
419             MesonCutList->Add(analysisMesonCuts[i]);
420             analysisMesonCuts[i]->SetFillCutHistograms("");
421       }
422
423
424        TString cutName( Form("%s_%s_%s",ConvCutarray[i].Data(),ElecCutarray[i].Data(),MesonCutarray[i].Data() ) );
425
426
427        analysisElecCuts[i] = new AliDalitzElectronCuts();
428        if( !analysisElecCuts[i]->InitializeCutsFromCutString(ElecCutarray[i].Data())) {
429
430             cout<< "ERROR:  analysisElecCuts [ " <<i<<" ] "<<endl;
431             return 0;
432        }
433        else { 
434         ElecCutList->Add(analysisElecCuts[i]);
435         analysisElecCuts[i]->SetFillCutHistograms("",kFALSE,cutName); 
436        }
437      
438
439    }
440
441
442    task->SetConversionCutList(numberOfCuts,ConvCutList);
443    task->SetMesonCutList(MesonCutList);
444    task->SetElectronCutList(ElecCutList);
445
446    task->SetMoveParticleAccordingToVertex(kTRUE);
447    
448    if(enableSetProdVtxVGamma) task->SetProductionVertextoVGamma(kTRUE);
449    if(enableQAMesonTask) task->SetDoMesonQA(kTRUE);
450    if(enableDoMesonChic) task->SetDoChicAnalysis(kTRUE);
451
452    //connect containers
453    AliAnalysisDataContainer *coutput =
454    mgr->CreateContainer(Form("GammaConvDalitzV1_%i",trainConfig), TList::Class(),
455                            AliAnalysisManager::kOutputContainer,Form("GammaConvV1Dalitz_%i.root",trainConfig));
456
457    mgr->AddTask(task);
458    mgr->ConnectInput(task,0,cinput);
459    mgr->ConnectOutput(task,1,coutput);
460
461    return;
462
463 }