]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/GammaConv/macros/AddTask_GammaConvDalitzQAV1_pPb.C
TENDER becomes Tender, removing .so
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / macros / AddTask_GammaConvDalitzQAV1_pPb.C
index bf2ebec936e57e634ae94b29ba2aaf9e18387b3d..4a31917b1325c7d19ed8575057a96f56aab0e353 100644 (file)
@@ -23,28 +23,28 @@ void AddTask_GammaConvDalitzQAV1_pPb(  Int_t trainConfig = 1,
    cout<<"cutnumberAODBranch: "<<cutnumberAODBranch.Data()<<endl;
 
   // ================= Load Librariers =================================
-   gSystem->Load("libCore.so");  
-   gSystem->Load("libTree.so");
-   gSystem->Load("libGeom.so");
-   gSystem->Load("libVMC.so");
-   gSystem->Load("libPhysics.so");
+   gSystem->Load("libCore");  
+   gSystem->Load("libTree");
+   gSystem->Load("libGeom");
+   gSystem->Load("libVMC");
+   gSystem->Load("libPhysics");
    gSystem->Load("libMinuit");
    gSystem->Load("libSTEERBase");
    gSystem->Load("libESD");
    gSystem->Load("libAOD");
    gSystem->Load("libANALYSIS");
    gSystem->Load("libANALYSISalice");  
-   gSystem->Load("libPWGGAGammaConv.so");
-   gSystem->Load("libCDB.so");
-   gSystem->Load("libSTEER.so");
-   gSystem->Load("libSTEERBase.so");
-   gSystem->Load("libTENDER.so");
-   gSystem->Load("libTENDERSupplies.so");
-
+   gSystem->Load("libPWGGAGammaConv");
+   gSystem->Load("libCDB");
+   gSystem->Load("libSTEER");
+   gSystem->Load("libSTEERBase");
+   gSystem->Load("libTender");
+   gSystem->Load("libTenderSupplies");
    
   
+  
    
-   
+   Int_t isHeavyIon = 2;
 
    cout<<"Entro 0"<<endl;
 
@@ -65,16 +65,20 @@ void AddTask_GammaConvDalitzQAV1_pPb(  Int_t trainConfig = 1,
    }
    
    //=========  Set Cutnumber for V0Reader ================================
-   TString ConvCutnumber="";
+   
+   TString cutnumberEvent = "8000000";
+   
+   TString cutnumberPhoton="";
    
    if(trainConfig == 9 || trainConfig == 10 ){
-   ConvCutnumber = "8000000160084001001500000000";   //Offline  V0 finder 
-   }
-   else {
-   ConvCutnumber = "8000000060084001001500000000";   //Online  V0 finder
+   cutnumberPhoton = "160000084001001500000000";   //Offline  V0 finder 
+   } else if ( trainConfig >= 54 && trainConfig <= 60  ){   // Warning!!!   Those trains must run in stand-alone mode
+   cutnumberPhoton = "000000700040000500000000";  
+   } else {
+   cutnumberPhoton = "060000084001000500000000";   //Online  V0 finder //change              
    }
    
-   TString ElecCuts      = "9000540000000200000";            //Electron Cuts
+   TString ElecCuts      = "90005400000002000000";            //Electron Cuts
    Bool_t doEtaShift = kFALSE;
 
 
@@ -82,43 +86,55 @@ void AddTask_GammaConvDalitzQAV1_pPb(  Int_t trainConfig = 1,
    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
    
    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
-   if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
-      AliV0ReaderV1 *fV0ReaderV1 = new AliV0ReaderV1("V0ReaderV1");
-      
-      fV0ReaderV1->SetUseOwnXYZCalculation(kTRUE);
-      fV0ReaderV1->SetCreateAODs(kFALSE);// AOD Output
-      fV0ReaderV1->SetUseAODConversionPhoton(kTRUE);
-      
-      if (!mgr) {
-         Error("AddTask_V0ReaderV1", "No analysis manager found.");
-         return;
-      }
-
-      // Set AnalysisCut Number
-      AliConversionCuts *fCuts=NULL;
-      if( ConvCutnumber !=""){
-         fCuts= new AliConversionCuts(ConvCutnumber.Data(),ConvCutnumber.Data());
-         fCuts->SetPreSelectionCutFlag(kTRUE);
-         if(fCuts->InitializeCutsFromCutString(ConvCutnumber.Data())){
-            fCuts->DoEtaShift(doEtaShift);
-           fV0ReaderV1->SetConversionCuts(fCuts);
-            fCuts->SetFillCutHistograms("",kTRUE);
-         }
-      }
-      if(inputHandler->IsA()==AliAODInputHandler::Class()){
-      // AOD mode
-         fV0ReaderV1->SetDeltaAODBranchName(Form("GammaConv_%s_gamma",cutnumberAODBranch.Data()));
-      }
-      fV0ReaderV1->Init();
-
-      AliLog::SetGlobalLogLevel(AliLog::kInfo);
-
-      //connect input V0Reader
-      mgr->AddTask(fV0ReaderV1);
-      mgr->ConnectInput(fV0ReaderV1,0,cinput);
-
-   }
-
+   //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
+       if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
+               AliV0ReaderV1 *fV0ReaderV1 = new AliV0ReaderV1("V0ReaderV1");
+               
+               fV0ReaderV1->SetUseOwnXYZCalculation(kTRUE);
+               fV0ReaderV1->SetCreateAODs(kFALSE);// AOD Output
+               fV0ReaderV1->SetUseAODConversionPhoton(kTRUE);
+               
+               if (!mgr) {
+                       Error("AddTask_V0ReaderV1", "No analysis manager found.");
+                       return;
+               }
+       
+               AliConvEventCuts *fEventCuts=NULL;
+               if(cutnumberEvent!=""){
+                       fEventCuts= new AliConvEventCuts(cutnumberEvent.Data(),cutnumberEvent.Data());
+                       fEventCuts->SetPreSelectionCutFlag(kTRUE);
+                       if(fEventCuts->InitializeCutsFromCutString(cutnumberEvent.Data())){
+                               fEventCuts->DoEtaShift(doEtaShift);
+                               fV0ReaderV1->SetEventCuts(fEventCuts);
+                               fEventCuts->SetFillCutHistograms("",kTRUE);
+                       }
+               }
+
+               // Set AnalysisCut Number
+               AliConversionPhotonCuts *fCuts=NULL;
+               if(cutnumberPhoton!=""){
+                       fCuts= new AliConversionPhotonCuts(cutnumberPhoton.Data(),cutnumberPhoton.Data());
+                       fCuts->SetPreSelectionCutFlag(kTRUE);
+                       fCuts->SetIsHeavyIon(isHeavyIon);
+                       if(fCuts->InitializeCutsFromCutString(cutnumberPhoton.Data())){
+                               fV0ReaderV1->SetConversionCuts(fCuts);
+                               fCuts->SetFillCutHistograms("",kTRUE);
+                       }
+               }
+               if(inputHandler->IsA()==AliAODInputHandler::Class()){
+               // AOD mode
+                       cout << "AOD handler: adding " << cutnumberAODBranch.Data() << " as conversion branch" << endl;
+                       fV0ReaderV1->SetDeltaAODBranchName(Form("GammaConv_%s_gamma",cutnumberAODBranch.Data()));
+               }
+               fV0ReaderV1->Init();
+       
+               AliLog::SetGlobalLogLevel(AliLog::kInfo);
+       
+               //connect input V0Reader
+               mgr->AddTask(fV0ReaderV1);
+               mgr->ConnectInput(fV0ReaderV1,0,cinput);
+       
+       }
    //================================================
    //========= Add Electron Selector ================
 
@@ -178,12 +194,14 @@ void AddTask_GammaConvDalitzQAV1_pPb(  Int_t trainConfig = 1,
 
    // Cut Numbers to use in Analysis
    Int_t numberOfCuts = 1;
+   
+   TString *eventCutArray     = new TString[numberOfCuts];
 
-   TString *ConvCutarray    = new TString[numberOfCuts];
+   TString *photonCutArray    = new TString[numberOfCuts];
 
-   TString *ElecCutarray    = new TString[numberOfCuts];
+   TString *ElecCutarray      = new TString[numberOfCuts];
 
-   TString *MesonCutarray   = new TString[numberOfCuts];
+   TString *MesonCutarray     = new TString[numberOfCuts];
 
    Bool_t doEtaShiftIndCuts = kFALSE;
    TString stringShift = "";
@@ -197,87 +215,261 @@ void AddTask_GammaConvDalitzQAV1_pPb(  Int_t trainConfig = 1,
    
    
 if( trainConfig == 1 ) {  // No eta shift |Y| < 0.8
-       
-       ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
+                                                                                    
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
        
 }  else if( trainConfig == 2 ) {  // No eta shift |Y| < 0.8
   
-       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 
+       eventCutArray[0]="8000011"; photonCutArray[0] = "032000093603007200000000"; 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 
        
 }  else if( trainConfig == 3 ) {  // No eta shift |Y| < 0.8
   
-       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
+       eventCutArray[0]="8000011"; photonCutArray[0] = "042000093603007200000000"; 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
 
 }  else if( trainConfig == 4 ) {  // No eta shift  |Y| < 0.8
   
-       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  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "012000093603007200000000"; 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  
     
 } else if ( trainConfig == 5 ) {
 
-       ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310262331"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102623310"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
 
 } else if ( trainConfig == 6 ) {  // No eta shift |Y| < 0.8
        
-       ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310264371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102643710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
        
 } else if ( trainConfig == 7 ) {
   
-       ConvCutarray[0] = "8000012002093603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
+       eventCutArray[0]="8000012"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
        
 } else if ( trainConfig == 8 ) {  // No eta shift |Y| < 0.8
        
-       ConvCutarray[0] = "8000012002093603007200000000"; ElecCutarray[0] = "9047540023310264371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
+       eventCutArray[0]="8000012"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102643710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
        
 } else if ( trainConfig == 9  ) {
        
-       ConvCutarray[0] = "8000011102093603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
+       eventCutArray[0]="8000011"; photonCutArray[0] = "102000093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
        
 } else if ( trainConfig == 10 ) {
 
-        ConvCutarray[0] = "8000012102093603007200000000"; ElecCutarray[0] = "9047540023310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
+        eventCutArray[0]="8000012"; photonCutArray[0] = "102000093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
 
 } else if ( trainConfig == 11  ) {
        
-       ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540023310262301"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102623010"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
        
 } else if ( trainConfig == 12 ) {
 
-        ConvCutarray[0] = "8000012002093603007200000000"; ElecCutarray[0] = "9047540023310262301"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
+        eventCutArray[0]="8000012"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102623010"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011
 
 }  else if ( trainConfig == 13 ) {
        
-       ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540053310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400533102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls
        
 }  else if ( trainConfig == 14 ) {
   
-       ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540073310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls no Any
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400733102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls no Any
        
 }  else if ( trainConfig == 15 ) {
 
-       ConvCutarray[0] = "8000012002093603007200000000"; ElecCutarray[0] = "9047540053310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls
+       eventCutArray[0]="8000012"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400533102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls
        
 }  else if ( trainConfig == 16 ) {
   
-       ConvCutarray[0] = "8000012002093603007200000000"; ElecCutarray[0] = "9047540073310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + 4 ITScls no Any
-       
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400833002623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth  +  No psipair
+               
 }  else if ( trainConfig == 17 ) {
   
-       ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540083310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400833102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth
        
 } else if ( trainConfig  == 18 ) {
 
-        ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540093310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + 4ITS cls
+        eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400933102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + 4ITS cls
 
 } else if ( trainConfig  == 19 ) {
   
-       ConvCutarray[0] = "8000011002093603007200000000"; ElecCutarray[0] = "9047540013310262371"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400133102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts
+       
+} else if ( trainConfig  == 20 ) {
+
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000092170008260400000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01621035009000"; // standard cut Annika analysis:
+       
+} else if ( trainConfig  == 21 ) {
+
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000092170008260400000"; ElecCutarray[0] = "90475400133102623710"; MesonCutarray[0] = "01621035009000"; // standard cut Annika analysis: + kFirst
+       
+} else if ( trainConfig  == 22 ){
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400153102621710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kFirtst
+
+} else if ( trainConfig  == 23 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400853102621710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kBoth
+       
+} else if ( trainConfig  == 24 ){
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400153102621700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kFirtst No weights
+
+} else if ( trainConfig  == 25 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400853102621700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100 + Old Standard 2010 + kBoth No weights
+       
+} else if ( trainConfig  == 26 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400133102623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts + No weights
+       
+} else if ( trainConfig  == 27 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400833102623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth  +  No weights
+       
+} else if ( trainConfig  == 28 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000493603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt > 0.075
+       
+} else if ( trainConfig  == 29 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000193603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt > 0.100
+       
+} else if ( trainConfig  == 30 ) {
+      
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102633710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt{e} > 0.150
+       
+} else if ( trainConfig  == 31 ) {
+       
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102653710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + Pt{e} > 0.175
+       
+} else if ( trainConfig  == 32  ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "007000093603007200000000"; ElecCutarray[0] = "90475400233102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + Photon R > 35 cm
+  
+} else if ( trainConfig  == 33  ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "007000093603007200000000"; ElecCutarray[0] = "90475400833102623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + Photon R > 35 cm 
+       
+} else if ( trainConfig  == 34  ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "007000093603007200000000"; ElecCutarray[0] = "90475400833102623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + Photon R > 35 cm + No weights 
+       
+} else if ( trainConfig  == 35 ) {                                             
+                                                                            
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400833002623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth  + NoPsiPair + No weights
+       
+} else if ( trainConfig  == 36 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102623700"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny no Weights
+
+} else if ( trainConfig  == 37 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400833102623711"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + smearing photon virtual
+
+} else if ( trainConfig  == 38 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400133102623711"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts + smearing photon virtual
+       
+} else if( trainConfig   == 39 ) {  
+                                            
+        eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102623711"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + kAny  + smearing photon virtual 
+
+} else if ( trainConfig  == 40 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400833102623712"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kBoth + smearing photon virtual  electrons
+
+} else if ( trainConfig  == 41 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400133102623712"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kFirts + smearing photon virtual electrons
+       
+} else if( trainConfig   == 42 ) {  
+                                            
+        eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; ElecCutarray[0] = "90475400233102623712"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011  + kAny  + smearing photon virtual electrons 
+
+} else if( trainConfig  == 43 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; 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;
+
+} else if( trainConfig  == 44 ) {
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; 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
+       
+} else if( trainConfig  == 45 ) {  
+                                            
+        eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; 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
+
+} else if( trainConfig == 46 ) {  
+
+        eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; 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 
+       
+} else if( trainConfig == 47 ) {
+
+       eventCutArray[0]="8000011"; photonCutArray[0] = "005000093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  10cm
+       
+} else if( trainConfig == 48 ){
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "008000093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  12.5cm
+       
+} else if( trainConfig == 49 ){
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "006000093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  20 cm 
+       
+} else if( trainConfig == 50 ){
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "007000093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  35 cm
+       
+} else if( trainConfig == 51 ){
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "009000093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  7.5 cm
+       
+} else if( trainConfig == 52 ){
+  
+       eventCutArray[0]="8000011"; photonCutArray[0] = "000000093603007200000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny + new psiPair Cut + gammaR >  0 cm
+       
+} else if( trainConfig == 53 ) {  
+                                            
+        eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; 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
+
+} else if( trainConfig == 53 ) {  
+  
+        eventCutArray[0]="8000011"; photonCutArray[0] = "002000093603007200000000"; 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
+
+} else if( trainConfig == 54 ) {
+  
+        eventCutArray[0]="8000011"; photonCutArray[0] = "000000000040000500000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny    + new psiPair Cut    0.60, 0.0 0.12   + 0   cm < Rconv  < 180 cm   //open cuts
+       
+} else if( trainConfig == 55 ) {
+      
+       eventCutArray[0]="8000011"; photonCutArray[0] = "002000000040000500000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny  + new psiPair Cut    0.60, 0.0 0.12 + Rconv > 5 cm
+       
+} else if( trainConfig == 56 ) {
+      
+       eventCutArray[0]="8000011"; photonCutArray[0] = "009000000040000500000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny  + new psiPair Cut    0.60, 0.0 0.12 + Rconv > 7.5 cm
+       
+} else if( trainConfig == 57 ) {
+      
+       eventCutArray[0]="8000011"; photonCutArray[0] = "005000000040000500000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny  + new psiPair Cut    0.60, 0.0 0.12 + Rconv > 10 cm
+       
+} else if( trainConfig == 58 ) {
+      
+       eventCutArray[0]="8000011"; photonCutArray[0] = "008000000040000500000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny  + new psiPair Cut    0.60, 0.0 0.12 + Rconv > 12.5 cm
+       
+} else if( trainConfig == 59 ) {
+      
+       eventCutArray[0]="8000011"; photonCutArray[0] = "006000000040000500000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny  + new psiPair Cut    0.60, 0.0 0.12 + Rconv > 20 cm
+       
+} else if( trainConfig == 60 ) {
+      
+       eventCutArray[0]="8000011"; photonCutArray[0] = "007000000040000500000000"; ElecCutarray[0] = "90475400233202623710"; MesonCutarray[0] = "01031035009000"; //standard cut Pi0 pPb 00-100  //Tracks 2011 + kAny  + new psiPair Cut    0.60, 0.0 0.12 + Rconv > 35 cm
        
 }
+       
+
+
 
 
+
+   TList *EventCutList = new TList();
    TList *ConvCutList  = new TList();
    TList *MesonCutList = new TList();
    TList *ElecCutList  = new TList();
+   
 
    TList *HeaderList = new TList();
    TObjString *Header1 = new TObjString("pi0_1");
@@ -285,10 +477,19 @@ if( trainConfig == 1 ) {  // No eta shift |Y| < 0.8
    TObjString *Header3 = new TObjString("eta_2");
    HeaderList->Add(Header3);
    
+   
+   EventCutList->SetOwner(kTRUE);
+   AliConvEventCuts **analysisEventCuts = new AliConvEventCuts*[numberOfCuts];
+   
+   
    ConvCutList->SetOwner(kTRUE);
-   AliConversionCuts **analysisCuts             = new AliConversionCuts*[numberOfCuts];
+   AliConversionPhotonCuts **analysisCuts = new AliConversionPhotonCuts*[numberOfCuts];
+   
+   
    MesonCutList->SetOwner(kTRUE);
    AliConversionMesonCuts **analysisMesonCuts   = new AliConversionMesonCuts*[numberOfCuts];
+   
+   
    ElecCutList->SetOwner(kTRUE);
    AliDalitzElectronCuts **analysisElecCuts     = new AliDalitzElectronCuts*[numberOfCuts];
 
@@ -297,72 +498,86 @@ if( trainConfig == 1 ) {  // No eta shift |Y| < 0.8
    for(Int_t i = 0; i<numberOfCuts; i++){
 
 
-          analysisCuts[i] = new AliConversionCuts();
+          analysisEventCuts[i] = new AliConvEventCuts();
       
 
-         if (  ( trainConfig >= 1 && trainConfig <= 6 ) || trainConfig == 9 || trainConfig == 11  || trainConfig == 13 || trainConfig == 14 || trainConfig == 17 || trainConfig == 18 || trainConfig == 19 ){
+         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 ||
+                 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 ||
+                 trainConfig == 45 || trainConfig == 46 || trainConfig == 47 ||  trainConfig == 48  || trainConfig == 49 || trainConfig == 50 || trainConfig == 51 || trainConfig == 52 || trainConfig == 54 || trainConfig == 55 || trainConfig == 56 || trainConfig == 57 || trainConfig == 58 || trainConfig == 59 || 
+                 trainConfig == 60 ) {
            
            if (doWeighting){
              if (generatorName.CompareTo("DPMJET")==0){
-               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");
+               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");
              } else if (generatorName.CompareTo("HIJING")==0){   
-               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");
+               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");
              }
            }
-         } else if ( trainConfig == 7 || trainConfig == 8 || trainConfig == 10 || trainConfig == 12  || trainConfig == 15 || trainConfig == 16 ){
+         } else if ( trainConfig == 7 || trainConfig == 8 || trainConfig == 10 || trainConfig == 12  || trainConfig == 15 ){
            
              if (doWeighting){
-                 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");
+                 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");
              }
          }
-         if( ! analysisCuts[i]->InitializeCutsFromCutString(ConvCutarray[i].Data()) ) {
-            cout<<"ERROR: analysisCuts [" <<i<<"]"<<endl;
-            return 0;
-         } else { 
-                         
-             if (doEtaShiftIndCuts) {
+        
          
-               analysisCuts[i]->DoEtaShift(doEtaShiftIndCuts);
-               analysisCuts[i]->SetEtaShift(stringShift);
-             }
-             ConvCutList->Add(analysisCuts[i]);
-             analysisCuts[i]->SetFillCutHistograms("",kFALSE);
-             analysisCuts[i]->SetAcceptedHeader(HeaderList);
          
-         }
-
-
+       if( ! analysisEventCuts[i]->InitializeCutsFromCutString(eventCutArray[i].Data()) ){
+         cout<<"ERROR: analysisEventCuts [ " << i <<" ] "<<endl;
+         return 0;
+       }
+       
+       if (doEtaShiftIndCuts) {
+         analysisEventCuts[i]->DoEtaShift(doEtaShiftIndCuts);
+         analysisEventCuts[i]->SetEtaShift(stringShift);
+       }
+               
+       EventCutList->Add(analysisEventCuts[i]);
+       analysisEventCuts[i]->SetFillCutHistograms("",kFALSE);  
+       analysisEventCuts[i]->SetAcceptedHeader(HeaderList);
+         
+                 
+         
+       analysisCuts[i] = new AliConversionPhotonCuts();
+       
+       if( ! analysisCuts[i]->InitializeCutsFromCutString(photonCutArray[i].Data()) ) {
+             cout<<"ERROR: analysisCuts [ " << i <<" ] "<<endl;
+             return 0;
+       }
+       analysisCuts[i]->SetIsHeavyIon(isHeavyIon);
+       ConvCutList->Add(analysisCuts[i]);
+       analysisCuts[i]->SetFillCutHistograms("",kFALSE);          
 
-      analysisMesonCuts[i] = new AliConversionMesonCuts();
+       analysisMesonCuts[i] = new AliConversionMesonCuts();
     
-      if( ! analysisMesonCuts[i]->InitializeCutsFromCutString(MesonCutarray[i].Data()) ) {
+       if( ! analysisMesonCuts[i]->InitializeCutsFromCutString(MesonCutarray[i].Data()) ) {
             cout<<"ERROR: analysisMesonCuts [ " <<i<<" ] "<<endl;
             return 0;
-      }
-      else {
-            MesonCutList->Add(analysisMesonCuts[i]);
-            analysisMesonCuts[i]->SetFillCutHistograms("");
-      }
-
+       }
+       MesonCutList->Add(analysisMesonCuts[i]);
+       analysisMesonCuts[i]->SetFillCutHistograms("");
+  
 
-       TString cutName( Form("%s_%s_%s",ConvCutarray[i].Data(),ElecCutarray[i].Data(),MesonCutarray[i].Data() ) );
+      //TString cutName( Form("%s_%s_%s_%s",eventCutArray[i].Data(), photonCutArray[i].Data(),ElecCutarray[i].Data(),MesonCutarray[i].Data() ) );
 
 
-       analysisElecCuts[i] = new AliDalitzElectronCuts();
-       if( !analysisElecCuts[i]->InitializeCutsFromCutString(ElecCutarray[i].Data())) {
+      analysisElecCuts[i] = new AliDalitzElectronCuts();
+      if( !analysisElecCuts[i]->InitializeCutsFromCutString(ElecCutarray[i].Data())) {
 
             cout<< "ERROR:  analysisElecCuts [ " <<i<<" ] "<<endl;
             return 0;
-       }
-       else { 
-        ElecCutList->Add(analysisElecCuts[i]);
-        analysisElecCuts[i]->SetFillCutHistograms("",kFALSE,cutName); 
-       }
-     
+      }
+      
+      ElecCutList->Add(analysisElecCuts[i]);
+      analysisElecCuts[i]->SetFillCutHistograms("",kFALSE,ElecCutarray[i].Data()); 
+           
 
    }
 
-
+   
+   
+   
+   task->SetEventCutList(numberOfCuts,EventCutList);
    task->SetConversionCutList(numberOfCuts,ConvCutList);
    task->SetMesonCutList(MesonCutList);
    task->SetElectronCutList(ElecCutList);