]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
ConversionCuts extended for Eventplane angle cut, thus all addTasks modified to have...
authorfbock <fbock@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 28 Nov 2013 14:45:36 +0000 (14:45 +0000)
committerfbock <fbock@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 28 Nov 2013 14:45:36 +0000 (14:45 +0000)
23 files changed:
PWGGA/GammaConv/AliAnalysisTaskConversionQA.cxx
PWGGA/GammaConv/AliAnalysisTaskGammaConvV1.cxx
PWGGA/GammaConv/AliAnalysisTaskGammaConvV1.h
PWGGA/GammaConv/AliConversionCuts.cxx
PWGGA/GammaConv/AliConversionCuts.h
PWGGA/GammaConv/AliDalitzElectronCuts.cxx
PWGGA/GammaConv/AliDalitzElectronCuts.h
PWGGA/GammaConv/AliGammaConversionAODBGHandler.cxx
PWGGA/GammaConv/AliGammaConversionAODBGHandler.h
PWGGA/GammaConv/macros/AddTask_ConversionAODProduction.C
PWGGA/GammaConv/macros/AddTask_GammaConvDalitzV1_PbPb.C
PWGGA/GammaConv/macros/AddTask_GammaConvDalitzV1_pPb.C
PWGGA/GammaConv/macros/AddTask_GammaConvDalitzV1_pp.C
PWGGA/GammaConv/macros/AddTask_GammaConvV1_PbPb.C
PWGGA/GammaConv/macros/AddTask_GammaConvV1_PbPb2.C
PWGGA/GammaConv/macros/AddTask_GammaConvV1_pPb.C
PWGGA/GammaConv/macros/AddTask_GammaConvV1_pp.C
PWGGA/GammaConv/macros/AddTask_GammaConvdPhi_PbPb.C
PWGGA/GammaConv/macros/AddTask_GammaConvdPhi_pp.C
PWGGA/GammaConv/macros/AddTask_Material.C
PWGGA/GammaConv/macros/AddTask_PhotonQA.C
PWGGA/GammaConv/macros/AddTask_Pi0v2.C
PWGGA/GammaConv/macros/AddTask_Resolution.C

index 33bf7541aa88180207ed52eb17d3c6987d63cf9e..db654996f52138ebefb6925b2af09ec66bcae96b 100644 (file)
@@ -952,7 +952,7 @@ UInt_t AliAnalysisTaskConversionQA::IsTruePhotonAOD(AliAODConversionPhoton *True
                kind = 9;
                //              return kFALSE; // One particle does not exist
    
-  } else if( posDaughter->GetMother() != negDaughter->GetMother()  || (posDaughter->GetMother() == negDaughter->GetMother() && posDaughter->GetMother() ==-1)) {
+   } else if( posDaughter->GetMother() != negDaughter->GetMother()  || (posDaughter->GetMother() == negDaughter->GetMother() && posDaughter->GetMother() ==-1)) {
                kind = 1;
 
                pdgCodePos=TMath::Abs(posDaughter->GetPdgCode());
@@ -970,8 +970,8 @@ UInt_t AliAnalysisTaskConversionQA::IsTruePhotonAOD(AliAODConversionPhoton *True
                pdgCodePos=posDaughter->GetPdgCode();
                pdgCodeNeg=negDaughter->GetPdgCode();
 
-               if ( TruePhotonCandidate->GetMCParticle(fMCStack)->GetPdgCode()) 
-                       pdgCode = TruePhotonCandidate->GetMCParticle(fMCStack)->GetPdgCode(); 
+               if ( Photon->GetPdgCode()) 
+                       pdgCode = Photon->GetPdgCode(); 
                if(TMath::Abs(pdgCodePos)!=11 || TMath::Abs(pdgCodeNeg)!=11) kind = 2; // true from hadronic decays
                else if ( !(pdgCodeNeg==pdgCodePos)){
                        if(pdgCode == 111) kind = 3; // pi0 Dalitz
index bc88801a63074e5dc9426486a212912b5fb43044..067788bbce3cbad6c262faefa11ed37623bcc8a6 100644 (file)
@@ -53,6 +53,7 @@
 #include "AliConversionAODBGHandlerRP.h"
 #include "AliAODMCParticle.h"
 #include "AliAODMCHeader.h"
+#include "AliEventplane.h"
 
 ClassImp(AliAnalysisTaskGammaConvV1)
 
@@ -71,7 +72,6 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
    fPhotonDCAList(NULL),
    fMesonDCAList(NULL),        
    fTrueList(NULL),
-   fTrueMotherRapList(NULL),
    fMCList(NULL),
    fHeaderNameList(NULL),
    fOutputContainer(0),
@@ -82,6 +82,8 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
    fMesonCutArray(NULL),
    fMesonCuts(NULL),
    hESDConvGammaPt(NULL),
+   hESDConvGammaR(NULL),
+   hESDConvGammaEta(NULL),
    tESDConvGammaPtDcazCat(NULL),
    fPtGamma(0),
    fDCAzPhoton(0),
@@ -94,6 +96,14 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
    hESDMotherBackInvMassPt(NULL),
    sESDMotherBackInvMassPtZM(NULL),
    hESDMotherInvMassEalpha(NULL),
+   hESDMotherPi0PtY(NULL),
+   hESDMotherEtaPtY(NULL),
+   hESDMotherPi0PtAlpha(NULL),
+   hESDMotherEtaPtAlpha(NULL),
+   hESDMotherPi0YEtaLowPtGamma(NULL),
+   hESDMotherPi0YEtaHighPtGamma(NULL),
+   hESDMotherEtaYEtaLowPtGamma(NULL),
+   hESDMotherEtaYEtaHighPtGamma(NULL),
    hMCHeaders(NULL),
    hMCAllGammaPt(NULL),
    hMCDecayGammaPi0Pt(NULL),
@@ -106,9 +116,6 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
    hMCConvGammaPt(NULL),
    hMCConvGammaR(NULL),
    hMCConvGammaEta(NULL),
-   hMCConvGammaRSPt(NULL),
-   hMCConvGammaRSR(NULL),
-   hMCConvGammaRSEta(NULL),
    hMCPi0Pt(NULL),
    hMCPi0WOWeightPt(NULL),
    hMCEtaPt(NULL),
@@ -132,12 +139,19 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
    hESDTrueEtaWithPi0DaughterMCPt(NULL),
    hESDTrueBckGGInvMassPt(NULL),
    hESDTrueBckContInvMassPt(NULL),
+   hESDTruePi0PtY(NULL),
+   hESDTrueEtaPtY(NULL),
+   hESDTruePi0PtAlpha(NULL),
+   hESDTrueEtaPtAlpha(NULL),
+   hESDTruePi0YEtaLowPtGamma(NULL),
+   hESDTruePi0YEtaHighPtGamma(NULL),
+   hESDTrueEtaYEtaLowPtGamma(NULL),
+   hESDTrueEtaYEtaHighPtGamma(NULL),
    hESDTrueMotherDalitzInvMassPt(NULL),
    hESDTrueConvGammaPt(NULL),
    hESDCombinatorialPt(NULL),
    hESDTruePrimaryConvGammaPt(NULL),
    hESDTruePrimaryConvGammaESDPtMCPt(NULL),
-   hESDTruePrimaryConvGammaRSESDPtMCPt(NULL),
    hESDTrueSecondaryConvGammaPt(NULL),
    hESDTrueSecondaryConvGammaFromXFromK0sPt(NULL),
    hESDTrueSecondaryConvGammaFromXFromLambdaPt(NULL),
@@ -155,6 +169,7 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
    fDCAzGammaMax(0),
    iFlag(0),
    iMesonMCInfo(0),
+   fEventPlaneAngle(-100),
    fRandom(0),
    fnGammaCandidates(0),
    fUnsmearedPx(NULL),
@@ -170,8 +185,8 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
    fMoveParticleAccordingToVertex(kTRUE),
    fIsHeavyIon(kFALSE),
    fDoMesonAnalysis(kTRUE),
-   fDoMesonQA(kFALSE),
-   fDoPhotonQA(kFALSE),
+   fDoMesonQA(0),
+   fDoPhotonQA(0),
    fIsFromMBHeader(kTRUE),
    fIsMC(kFALSE)
 {
@@ -194,7 +209,6 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
    fPhotonDCAList(NULL),
    fMesonDCAList(NULL),
    fTrueList(NULL),
-   fTrueMotherRapList(NULL),
    fMCList(NULL),
    fHeaderNameList(NULL),
    fOutputContainer(0),
@@ -205,6 +219,8 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
    fMesonCutArray(NULL),
    fMesonCuts(NULL),
    hESDConvGammaPt(NULL),
+   hESDConvGammaR(NULL),
+   hESDConvGammaEta(NULL),
    tESDConvGammaPtDcazCat(NULL),
    fPtGamma(0),
    fDCAzPhoton(0),
@@ -217,6 +233,14 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
    hESDMotherBackInvMassPt(NULL),
    sESDMotherBackInvMassPtZM(NULL),
    hESDMotherInvMassEalpha(NULL),
+   hESDMotherPi0PtY(NULL),
+   hESDMotherEtaPtY(NULL),
+   hESDMotherPi0PtAlpha(NULL),
+   hESDMotherEtaPtAlpha(NULL),
+   hESDMotherPi0YEtaLowPtGamma(NULL),
+   hESDMotherPi0YEtaHighPtGamma(NULL),
+   hESDMotherEtaYEtaLowPtGamma(NULL),
+   hESDMotherEtaYEtaHighPtGamma(NULL),
    hMCHeaders(NULL),
    hMCAllGammaPt(NULL),
    hMCDecayGammaPi0Pt(NULL),
@@ -229,9 +253,6 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
    hMCConvGammaPt(NULL),
    hMCConvGammaR(NULL),
    hMCConvGammaEta(NULL),
-   hMCConvGammaRSPt(NULL),
-   hMCConvGammaRSR(NULL),
-   hMCConvGammaRSEta(NULL),
    hMCPi0Pt(NULL),
    hMCPi0WOWeightPt(NULL),
    hMCEtaPt(NULL),
@@ -255,12 +276,19 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
    hESDTrueEtaWithPi0DaughterMCPt(NULL),
    hESDTrueBckGGInvMassPt(NULL),
    hESDTrueBckContInvMassPt(NULL),
+   hESDTruePi0PtY(NULL),
+   hESDTrueEtaPtY(NULL),
+   hESDTruePi0PtAlpha(NULL),
+   hESDTrueEtaPtAlpha(NULL),
+   hESDTruePi0YEtaLowPtGamma(NULL),
+   hESDTruePi0YEtaHighPtGamma(NULL),
+   hESDTrueEtaYEtaLowPtGamma(NULL),
+   hESDTrueEtaYEtaHighPtGamma(NULL),
    hESDTrueMotherDalitzInvMassPt(NULL),
    hESDTrueConvGammaPt(NULL),
    hESDCombinatorialPt(NULL),
    hESDTruePrimaryConvGammaPt(NULL),
    hESDTruePrimaryConvGammaESDPtMCPt(NULL),
-   hESDTruePrimaryConvGammaRSESDPtMCPt(NULL),
    hESDTrueSecondaryConvGammaPt(NULL),
    hESDTrueSecondaryConvGammaFromXFromK0sPt(NULL),
    hESDTrueSecondaryConvGammaFromXFromLambdaPt(NULL),
@@ -278,6 +306,7 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
    fDCAzGammaMax(0),
    iFlag(0),
    iMesonMCInfo(0),
+   fEventPlaneAngle(-100),
    fRandom(0),
    fnGammaCandidates(0),
    fUnsmearedPx(NULL),
@@ -293,8 +322,8 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
    fMoveParticleAccordingToVertex(kTRUE),
    fIsHeavyIon(kFALSE),
    fDoMesonAnalysis(kTRUE),
-   fDoMesonQA(kFALSE),
-   fDoPhotonQA(kFALSE),
+   fDoMesonQA(0),
+   fDoPhotonQA(0),
    fIsFromMBHeader(kTRUE),
    fIsMC(kFALSE)
 {
@@ -416,19 +445,33 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
    hEtaShift = new TProfile*[fnCuts];
    hESDConvGammaPt = new TH1F*[fnCuts];
 
-   if (fDoPhotonQA){
+   if (fDoPhotonQA == 2){
       fPhotonDCAList = new TList*[fnCuts];
       tESDConvGammaPtDcazCat = new TTree*[fnCuts];
    }
+   if (fDoPhotonQA > 0){
+      hESDConvGammaR = new TH1F*[fnCuts];
+      hESDConvGammaEta = new TH1F*[fnCuts];
+   } 
    
    if(fDoMesonAnalysis){
       hESDMotherInvMassPt = new TH2F*[fnCuts];
       hESDMotherBackInvMassPt = new TH2F*[fnCuts];
       hESDMotherInvMassEalpha = new TH2F*[fnCuts];
-      if (fDoMesonQA){
+      if (fDoMesonQA == 2){
          fMesonDCAList = new TList*[fnCuts];
          tESDMesonsInvMassPtDcazMinDcazMaxFlag = new TTree*[fnCuts];
       }
+      if (fDoMesonQA > 0){
+         hESDMotherPi0PtY =  new TH2F*[fnCuts];
+         hESDMotherEtaPtY =  new TH2F*[fnCuts];
+         hESDMotherPi0PtAlpha =  new TH2F*[fnCuts];
+         hESDMotherEtaPtAlpha =  new TH2F*[fnCuts];
+         hESDMotherPi0YEtaLowPtGamma =  new TH2F*[fnCuts];
+         hESDMotherPi0YEtaHighPtGamma =  new TH2F*[fnCuts];
+         hESDMotherEtaYEtaLowPtGamma =  new TH2F*[fnCuts];
+         hESDMotherEtaYEtaHighPtGamma =  new TH2F*[fnCuts];
+      }   
    }
 
    for(Int_t iCut = 0; iCut<fnCuts;iCut++){
@@ -477,7 +520,7 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
       hESDConvGammaPt[iCut] = new TH1F("ESD_ConvGamma_Pt","ESD_ConvGamma_Pt",250,0,25);
       fESDList[iCut]->Add(hESDConvGammaPt[iCut]);
 
-      if (fDoPhotonQA){
+      if (fDoPhotonQA == 2){
          fPhotonDCAList[iCut] = new TList();
          fPhotonDCAList[iCut]->SetName(Form("%s_%s Photon DCA tree",cutstring.Data(),cutstringMeson.Data()));
          fPhotonDCAList[iCut]->SetOwner(kTRUE);
@@ -496,6 +539,13 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
          fPhotonDCAList[iCut]->Add(tESDConvGammaPtDcazCat[iCut]);
       }
 
+      if (fDoPhotonQA > 0){
+         hESDConvGammaR[iCut] = new TH1F("ESD_ConvGamma_R","ESD_ConvGamma_R",800,0,200);
+         fESDList[iCut]->Add(hESDConvGammaR[iCut]);
+         hESDConvGammaEta[iCut] = new TH1F("ESD_ConvGamma_Eta","ESD_ConvGamma_Eta",100,-4,4);
+         fESDList[iCut]->Add(hESDConvGammaEta[iCut]);
+      }
+      
       if(fDoMesonAnalysis){
          hESDMotherInvMassPt[iCut] = new TH2F("ESD_Mother_InvMass_Pt","ESD_Mother_InvMass_Pt",800,0,0.8,250,0,25);
          fESDList[iCut]->Add(hESDMotherInvMassPt[iCut]);
@@ -503,7 +553,7 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
          fESDList[iCut]->Add(hESDMotherBackInvMassPt[iCut]);
          hESDMotherInvMassEalpha[iCut] = new TH2F("ESD_Mother_InvMass_vs_E_alpha","ESD_Mother_InvMass_vs_E_alpha",800,0,0.8,250,0,25);
          fESDList[iCut]->Add(hESDMotherInvMassEalpha[iCut]);
-         if (fDoMesonQA){    
+         if (fDoMesonQA == 2){    
             fMesonDCAList[iCut] = new TList();
             fMesonDCAList[iCut]->SetName(Form("%s_%s Meson DCA tree",cutstring.Data(),cutstringMeson.Data()));
             fMesonDCAList[iCut]->SetOwner(kTRUE);
@@ -521,6 +571,26 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
             fMesonDCAList[iCut]->Add(tESDMesonsInvMassPtDcazMinDcazMaxFlag[iCut]);
               
          }
+         if (fDoMesonQA > 0 ){
+            hESDMotherPi0PtY[iCut] = new TH2F("ESD_MotherPi0_Pt_Y","ESD_MotherPi0_Pt_Y",250,0,25,150,-1.5,1.5);            
+            fESDList[iCut]->Add(hESDMotherPi0PtY[iCut]);
+            hESDMotherEtaPtY[iCut] = new TH2F("ESD_MotherEta_Pt_Y","ESD_MotherEta_Pt_Y",250,0,25,150,-1.5,1.5);
+            fESDList[iCut]->Add(hESDMotherEtaPtY[iCut]);
+            hESDMotherPi0PtAlpha[iCut] = new TH2F("ESD_MotherPi0_Pt_Alpha","ESD_MotherPi0_Pt_Alpha",250,0,25,100,0,1);            
+            fESDList[iCut]->Add(hESDMotherPi0PtAlpha[iCut]);
+            hESDMotherEtaPtAlpha[iCut] = new TH2F("ESD_MotherEta_Pt_Alpha","ESD_MotherEta_Pt_Alpha",250,0,25,100,0,1);
+            fESDList[iCut]->Add(hESDMotherEtaPtAlpha[iCut]);
+            hESDMotherPi0YEtaLowPtGamma[iCut] = new TH2F("ESD_MotherPi0_Y_EtaLowPtGamma","ESD_MotherPi0_Y_EtaLowPtGamma",150,-1.5,1.5,200,2,2);            
+            fESDList[iCut]->Add(hESDMotherPi0YEtaLowPtGamma[iCut]);
+            hESDMotherPi0YEtaHighPtGamma[iCut] = new TH2F("ESD_MotherPi0_Y_EtaHighPtGamma","ESD_MotherPi0_Y_EtaHighPtGamma",150,-1.5,1.5,200,2,2);            
+            fESDList[iCut]->Add(hESDMotherPi0YEtaHighPtGamma[iCut]);
+            hESDMotherEtaYEtaLowPtGamma[iCut] = new TH2F("ESD_MotherEta_Y_EtaLowPtGamma","ESD_MotherEta_Y_EtaLowPtGamma",150,-1.5,1.5,200,2,2);            
+            fESDList[iCut]->Add(hESDMotherEtaYEtaLowPtGamma[iCut]);
+            hESDMotherEtaYEtaHighPtGamma[iCut] = new TH2F("ESD_MotherEta_Y_EtaHighPtGamma","ESD_MotherEta_Y_EtaHighPtGamma",150,-1.5,1.5,200,2,2);            
+            fESDList[iCut]->Add(hESDMotherEtaYEtaHighPtGamma[iCut]);
+         }
+         
+            
       }
 
 
@@ -546,13 +616,11 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
       hMCDecayGammaPhiPt = new TH1F*[fnCuts];
       hMCDecayGammaSigmaPt = new TH1F*[fnCuts];
       hMCConvGammaPt = new TH1F*[fnCuts];
-      hMCConvGammaRSPt = new TH1F*[fnCuts];
       hESDTrueConvGammaPt = new TH1F*[fnCuts];
 
       hESDCombinatorialPt = new TH2F*[fnCuts];
       hESDTruePrimaryConvGammaPt = new TH1F*[fnCuts];
       hESDTruePrimaryConvGammaESDPtMCPt = new TH2F*[fnCuts];
-      hESDTruePrimaryConvGammaRSESDPtMCPt = new TH2F*[fnCuts];
       hESDTrueSecondaryConvGammaPt = new TH1F*[fnCuts];
       hESDTrueSecondaryConvGammaFromXFromK0sPt = new TH1F*[fnCuts];
       hESDTrueSecondaryConvGammaFromXFromLambdaPt = new TH1F*[fnCuts];
@@ -560,11 +628,9 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
       hESDTrueDalitzPsiPairDeltaPhi= new TH2F*[fnCuts];
       hESDTrueGammaPsiPairDeltaPhi= new TH2F*[fnCuts];
 
-      if (fDoPhotonQA){
+      if (fDoPhotonQA > 0){
          hMCConvGammaR = new TH1F*[fnCuts];
          hMCConvGammaEta = new TH1F*[fnCuts];
-         hMCConvGammaRSR = new TH1F*[fnCuts];
-         hMCConvGammaRSEta = new TH1F*[fnCuts];
       }
 
       if(fDoMesonAnalysis){
@@ -582,7 +648,7 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
          hESDTrueSecondaryMotherFromK0sInvMassPt = new TH2F*[fnCuts];
          hESDTrueSecondaryMotherFromEtaInvMassPt = new TH2F*[fnCuts];
          hESDTrueMotherDalitzInvMassPt = new TH2F*[fnCuts];
-         if (fDoMesonQA){
+         if (fDoMesonQA > 0){
             hMCPi0PtY = new TH2F*[fnCuts];
             hMCEtaPtY = new TH2F*[fnCuts];
             hMCK0sPt = new TH1F*[fnCuts];
@@ -594,7 +660,14 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
             hESDTrueEtaWithPi0DaughterMCPt = new TH1F*[fnCuts];
             hESDTrueBckGGInvMassPt = new TH2F*[fnCuts];
             hESDTrueBckContInvMassPt = new TH2F*[fnCuts];
-            fTrueMotherRapList = new TList*[fnCuts];
+            hESDTruePi0PtY = new TH2F*[fnCuts];
+            hESDTrueEtaPtY = new TH2F*[fnCuts];
+            hESDTruePi0PtAlpha = new TH2F*[fnCuts];
+            hESDTrueEtaPtAlpha = new TH2F*[fnCuts];
+            hESDTruePi0YEtaLowPtGamma = new TH2F*[fnCuts];
+            hESDTruePi0YEtaHighPtGamma = new TH2F*[fnCuts];
+            hESDTrueEtaYEtaLowPtGamma = new TH2F*[fnCuts];
+            hESDTrueEtaYEtaHighPtGamma = new TH2F*[fnCuts];
          }
       }
 
@@ -627,18 +700,12 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
          fMCList[iCut]->Add(hMCDecayGammaSigmaPt[iCut]);
          hMCConvGammaPt[iCut] = new TH1F("MC_ConvGamma_Pt","MC_ConvGamma_Pt",250,0,25);
          fMCList[iCut]->Add(hMCConvGammaPt[iCut]);
-         hMCConvGammaRSPt[iCut] = new TH1F("MC_ConvGamma_RS_Pt","MC_ConvGamma_RS_Pt",250,0,25);
-         fMCList[iCut]->Add(hMCConvGammaRSPt[iCut]);
-
-         if (fDoPhotonQA){
+      
+         if (fDoPhotonQA > 0){
             hMCConvGammaR[iCut] = new TH1F("MC_ConvGamma_R","MC_ConvGamma_R",800,0,200);
             fMCList[iCut]->Add(hMCConvGammaR[iCut]);
             hMCConvGammaEta[iCut] = new TH1F("MC_ConvGamma_Eta","MC_ConvGamma_Eta",100,-4,4);
             fMCList[iCut]->Add(hMCConvGammaEta[iCut]);
-            hMCConvGammaRSR[iCut] = new TH1F("MC_ConvGamma_RS_R","MC_ConvGamma_RS_R",800,0,200);
-            fMCList[iCut]->Add(hMCConvGammaRSR[iCut]);
-            hMCConvGammaRSEta[iCut] = new TH1F("MC_ConvGamma_RS_Eta","MC_ConvGamma_RS_Eta",100,-4,4);
-            fMCList[iCut]->Add(hMCConvGammaRSEta[iCut]);
          }
 
          if(fDoMesonAnalysis){
@@ -658,11 +725,11 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
             hMCEtaInAccPt[iCut] = new TH1F("MC_EtaInAcc_Pt","MC_EtaInAcc_Pt",250,0,25);
             hMCEtaInAccPt[iCut]->Sumw2();
             fMCList[iCut]->Add(hMCEtaInAccPt[iCut]);
-            if (fDoMesonQA){
-               hMCPi0PtY[iCut] = new TH2F("MC_Pi0_Pt_Y","MC_Pi0_Pt_Y",250,0,25,20,-1,1);
+            if (fDoMesonQA > 0){
+               hMCPi0PtY[iCut] = new TH2F("MC_Pi0_Pt_Y","MC_Pi0_Pt_Y",250,0,25,150,-1.5,1.5);
                hMCPi0PtY[iCut]->Sumw2();
                fMCList[iCut]->Add(hMCPi0PtY[iCut]);
-               hMCEtaPtY[iCut] = new TH2F("MC_Eta_Pt_Y","MC_Eta_Pt_Y",250,0,25,20,-1,1);
+               hMCEtaPtY[iCut] = new TH2F("MC_Eta_Pt_Y","MC_Eta_Pt_Y",250,0,25,150,-1.5,1.5);
                hMCEtaPtY[iCut]->Sumw2();
                fMCList[iCut]->Add(hMCEtaPtY[iCut]);
                hMCK0sPt[iCut] = new TH1F("MC_K0s_Pt","MC_K0s_Pt",250,0,25);
@@ -671,7 +738,7 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
                hMCK0sWOWeightPt[iCut] = new TH1F("MC_K0s_WOWeights_Pt","MC_K0s_WOWeights_Pt",250,0,25);
                hMCK0sWOWeightPt[iCut]->Sumw2();
                fMCList[iCut]->Add(hMCK0sWOWeightPt[iCut]);
-               hMCK0sPtY[iCut] = new TH2F("MC_K0s_Pt_Y","MC_K0s_Pt_Y",250,0,25,20,-1,1);
+               hMCK0sPtY[iCut] = new TH2F("MC_K0s_Pt_Y","MC_K0s_Pt_Y",250,0,25,150,-1.5,1.5);
                hMCK0sPtY[iCut]->Sumw2();
                fMCList[iCut]->Add(hMCK0sPtY[iCut]);
                
@@ -727,10 +794,7 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
          
          hESDTruePrimaryConvGammaESDPtMCPt[iCut] = new TH2F("ESD_TruePrimaryConvGammaESD_PtMCPt", "ESD_TruePrimaryConvGammaESD_PtMCPt",250,0,25,250,0,25);
          fTrueList[iCut]->Add(hESDTruePrimaryConvGammaESDPtMCPt[iCut]);
-         hESDTruePrimaryConvGammaRSESDPtMCPt[iCut]
-            = new TH2F("ESD_TruePrimaryConvGammaESD_RS_PtMCPt", "ESD_TruePrimaryConvGammaESD_RS_PtMCPt",250,0,25,250,0,25);
-         fTrueList[iCut]->Add(hESDTruePrimaryConvGammaRSESDPtMCPt[iCut]);
-
+         
          if(fDoMesonAnalysis){
             hESDTrueMotherInvMassPt[iCut] = new TH2F("ESD_TrueMother_InvMass_Pt","ESD_TrueMother_InvMass_Pt",800,0,0.8,250,0,25);
             fTrueList[iCut]->Add(hESDTrueMotherInvMassPt[iCut]);
@@ -759,7 +823,7 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
             fTrueList[iCut]->Add(hESDTrueSecondaryMotherFromEtaInvMassPt[iCut]);
             hESDTrueMotherDalitzInvMassPt[iCut] = new TH2F("ESD_TrueDalitz_InvMass_Pt","ESD_TrueDalitz_InvMass_Pt",800,0,0.8,250,0,25);
             fTrueList[iCut]->Add(hESDTrueMotherDalitzInvMassPt[iCut]);         
-            if (fDoMesonQA){
+            if (fDoMesonQA > 0){
                hESDTruePrimaryPi0MCPtResolPt[iCut] = new TH2F("ESD_TruePrimaryPi0_MCPt_ResolPt","ESD_TruePrimaryPi0_ResolPt_MCPt",500,0,25,1000,-1.,1.);
                hESDTruePrimaryPi0MCPtResolPt[iCut]->Sumw2();
                fTrueList[iCut]->Add(hESDTruePrimaryPi0MCPtResolPt[iCut]);
@@ -774,6 +838,23 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects()
                fTrueList[iCut]->Add(hESDTrueK0sWithPi0DaughterMCPt[iCut]);
                hESDTrueEtaWithPi0DaughterMCPt[iCut] = new TH1F("ESD_TrueEtaWithPi0Daughter_MCPt","ESD_TrueEtaWithPi0Daughter_MCPt",250,0,25);
                fTrueList[iCut]->Add(hESDTrueEtaWithPi0DaughterMCPt[iCut]);
+               hESDTruePi0PtY[iCut] = new TH2F("ESD_TruePi0_Pt_Y","ESD_TruePi0_Pt_Y",250,0,25,150,-1.5,1.5);
+               fTrueList[iCut]->Add(hESDTruePi0PtY[iCut]);
+               hESDTrueEtaPtY[iCut] = new TH2F("ESD_TrueEta_Pt_Y","ESD_TrueEta_Pt_Y",250,0,25,150,-1.5,1.5);
+               fTrueList[iCut]->Add(hESDTrueEtaPtY[iCut]);
+               hESDTruePi0PtAlpha[iCut] = new TH2F("ESD_TruePi0_Pt_Alpha","ESD_TruePi0_Pt_Alpha",250,0,25,100,0,1);
+               fTrueList[iCut]->Add(hESDTruePi0PtAlpha[iCut]);
+               hESDTrueEtaPtAlpha[iCut] = new TH2F("ESD_TrueEta_Pt_Alpha","ESD_TrueEta_Pt_Alpha",250,0,25,100,0,1);
+               fTrueList[iCut]->Add(hESDTrueEtaPtAlpha[iCut]);
+               
+               hESDTruePi0YEtaLowPtGamma[iCut] = new TH2F("ESD_TruePi0_Y_EtaLowPtGamma","ESD_TruePi0_Y_EtaLowPtGamma",150,-1.5,1.5,200,2,2);            
+               fTrueList[iCut]->Add(hESDTruePi0YEtaLowPtGamma[iCut]);
+               hESDTruePi0YEtaHighPtGamma[iCut] = new TH2F("ESD_TruePi0_Y_EtaHighPtGamma","ESD_TruePi0_Y_EtaHighPtGamma",150,-1.5,1.5,200,2,2);            
+               fTrueList[iCut]->Add(hESDTruePi0YEtaHighPtGamma[iCut]);
+               hESDTrueEtaYEtaLowPtGamma[iCut] = new TH2F("ESD_TrueEta_Y_EtaLowPtGamma","ESD_TrueEta_Y_EtaLowPtGamma",150,-1.5,1.5,200,2,2);            
+               fTrueList[iCut]->Add(hESDTrueEtaYEtaLowPtGamma[iCut]);
+               hESDTrueEtaYEtaHighPtGamma[iCut] = new TH2F("ESD_TrueEta_Y_EtaHighPtGamma","ESD_TrueEta_Y_EtaHighPtGamma",150,-1.5,1.5,200,2,2);            
+               fTrueList[iCut]->Add(hESDTrueEtaYEtaHighPtGamma[iCut]);
             }
          }
       }
@@ -853,6 +934,10 @@ void AliAnalysisTaskGammaConvV1::UserExec(Option_t *)
    
    // ------------------- BeginEvent ----------------------------
 
+   AliEventplane *EventPlane = fInputEvent->GetEventplane();
+   if(fIsHeavyIon)fEventPlaneAngle = EventPlane->GetEventplane("V0",fInputEvent,2);
+   else fEventPlaneAngle=0.0;
+   
    if(fIsMC && fInputEvent->IsA()==AliAODEvent::Class() && !(fV0Reader->AreAODsRelabeled())){
       RelabelAODPhotonCandidates(kTRUE);    // In case of AODMC relabeling MC
       fV0Reader->RelabelAODs(kTRUE);
@@ -988,12 +1073,17 @@ void AliAnalysisTaskGammaConvV1::ProcessPhotonCandidates()
       }
 
       if(!((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelected(PhotonCandidate,fInputEvent)) continue;
+      if(!((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(PhotonCandidate->GetPhotonPhi(),fEventPlaneAngle)) continue;
       if(!((AliConversionCuts*)fCutArray->At(fiCut))->UseElecSharingCut() &&
          !((AliConversionCuts*)fCutArray->At(fiCut))->UseToCloseV0sCut()){
          fGammaCandidates->Add(PhotonCandidate); // if no second loop is required add to events good gammas
 
          if(fIsFromMBHeader){
             hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
+            if (fDoPhotonQA > 0){
+               hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
+               hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+            }   
          }
          if(fIsMC){
             if(fInputEvent->IsA()==AliESDEvent::Class())
@@ -1001,7 +1091,7 @@ void AliAnalysisTaskGammaConvV1::ProcessPhotonCandidates()
             if(fInputEvent->IsA()==AliAODEvent::Class())
                ProcessTruePhotonCandidatesAOD(PhotonCandidate);
          }
-         if (fIsFromMBHeader && fDoPhotonQA){
+         if (fIsFromMBHeader && fDoPhotonQA == 2){
             if (fIsHeavyIon && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
                fPtGamma = PhotonCandidate->Pt();
                fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
@@ -1044,6 +1134,10 @@ void AliAnalysisTaskGammaConvV1::ProcessPhotonCandidates()
             fGammaCandidates->Add(PhotonCandidate);
             if(fIsFromMBHeader){
                hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
+               if (fDoPhotonQA > 0){
+                  hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
+                  hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+               }
             }
          }
          if(fIsMC){
@@ -1053,7 +1147,7 @@ void AliAnalysisTaskGammaConvV1::ProcessPhotonCandidates()
                ProcessTruePhotonCandidatesAOD(PhotonCandidate);
          } else GammaCandidatesStepTwo->Add(PhotonCandidate); // Close v0s cut enabled -> add to list two
          
-           if (fIsFromMBHeader && fDoPhotonQA){
+           if (fIsFromMBHeader && fDoPhotonQA == 2){
             if (fIsHeavyIon && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
                fPtGamma = PhotonCandidate->Pt();
                fDCAzPhoton = PhotonCandidate->GetDCAzToPrimVtx();
@@ -1088,6 +1182,10 @@ void AliAnalysisTaskGammaConvV1::ProcessPhotonCandidates()
          fGammaCandidates->Add(PhotonCandidate); // Add gamma to current cut TList
          if(fIsFromMBHeader){
             hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
+            if (fDoPhotonQA > 0){
+               hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
+               hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+            }
          }
          if(fIsMC){
             if(fInputEvent->IsA()==AliESDEvent::Class())
@@ -1188,9 +1286,8 @@ void AliAnalysisTaskGammaConvV1::ProcessTruePhotonCandidatesAOD(AliAODConversion
       if(fIsFromMBHeader){
          iPhotonMCInfo = 6;
          hESDTruePrimaryConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
-         hESDTruePrimaryConvGammaRSESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
+         hESDTruePrimaryConvGammaESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
       }
-      hESDTruePrimaryConvGammaESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
       // (Not Filled for i6, Extra Signal Gamma (parambox) are secondary)
    }
    else{
@@ -1272,10 +1369,10 @@ void AliAnalysisTaskGammaConvV1::ProcessTruePhotonCandidates(AliAODConversionPho
       // Count just primary MC Gammas as true --> For Ratio esdtruegamma / mcconvgamma
       if(fIsFromMBHeader){
          iPhotonMCInfo = 6;
-         hESDTruePrimaryConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
-         hESDTruePrimaryConvGammaRSESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
+         hESDTruePrimaryConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());  
+         hESDTruePrimaryConvGammaESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
+
       }
-      hESDTruePrimaryConvGammaESDPtMCPt[fiCut]->Fill(TruePhotonCandidate->Pt(),Photon->Pt()); // Allways Filled
       // (Not Filled for i6, Extra Signal Gamma (parambox) are secondary)
    }
    else{
@@ -1312,15 +1409,14 @@ void AliAnalysisTaskGammaConvV1::ProcessAODMCParticles()
       if (!particle) continue;
       if (!particle->IsPrimary()) continue;
 
-      Bool_t mcIsFromMB = kTRUE;
       Int_t isMCFromMBHeader = -1;
       if(((AliConversionCuts*)fCutArray->At(fiCut))->GetSignalRejection() != 0){
          isMCFromMBHeader
             = ((AliConversionCuts*)fCutArray->At(fiCut))->IsParticleFromBGEvent(i, fMCStack, fInputEvent);
          if(isMCFromMBHeader == 0 && ((AliConversionCuts*)fCutArray->At(fiCut))->GetSignalRejection() != 3) continue;
-         if(isMCFromMBHeader != 2) mcIsFromMB = kFALSE;
       }
-
+      
+      if(!((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(particle->Phi(),fEventPlaneAngle,kFALSE)) continue;
       if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedAODMC(particle,AODMCTrackArray,kFALSE)){
          hMCAllGammaPt[fiCut]->Fill(particle->Pt()); // All MC Gamma
          if(particle->GetMother() >-1){ // Meson Decay Gamma
@@ -1359,21 +1455,14 @@ void AliAnalysisTaskGammaConvV1::ProcessAODMCParticles()
             }
          }
          hMCConvGammaPt[fiCut]->Fill(particle->Pt());
-         if (fDoPhotonQA){
+         if (fDoPhotonQA > 0){
             hMCConvGammaR[fiCut]->Fill(rConv);
             hMCConvGammaEta[fiCut]->Fill(particle->Eta());
          }
-         if(mcIsFromMB){
-            hMCConvGammaRSPt[fiCut]->Fill(particle->Pt());
-            if (fDoPhotonQA){
-               hMCConvGammaRSR[fiCut]->Fill(rConv);
-               hMCConvGammaRSEta[fiCut]->Fill(particle->Eta());
-            }
-         }
       }
       // Converted MC Gamma
       if(fDoMesonAnalysis){
-         if(particle->GetPdgCode() == 310 && fDoMesonQA){
+         if(particle->GetPdgCode() == 310 && fDoMesonQA > 0){
             Double_t mesonY = 10.;
             if(particle->E() - particle->Pz() == 0 || particle->E() + particle->Pz() == 0){
                mesonY=10.-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift();
@@ -1414,15 +1503,17 @@ void AliAnalysisTaskGammaConvV1::ProcessAODMCParticles()
             if(particle->GetPdgCode() == 111){
                hMCPi0Pt[fiCut]->Fill(particle->Pt(),weighted); // All MC Pi0
                hMCPi0WOWeightPt[fiCut]->Fill(particle->Pt());
-               if (fDoMesonQA) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+               if (fDoMesonQA > 0) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
             } else if(particle->GetPdgCode() == 221){
                hMCEtaPt[fiCut]->Fill(particle->Pt(),weighted); // All MC Eta
-               if (fDoMesonQA) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+               if (fDoMesonQA > 0) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
             }
             
             // Check the acceptance for both gammas
             if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedAODMC(daughter0,AODMCTrackArray,kFALSE) &&
-               ((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedAODMC(daughter1,AODMCTrackArray,kFALSE) ){
+               ((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedAODMC(daughter1,AODMCTrackArray,kFALSE)  &&
+               ((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(daughter0->Phi(),fEventPlaneAngle,kFALSE) &&
+               ((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(daughter1->Phi(),fEventPlaneAngle,kFALSE)){
 
                if(particle->GetPdgCode() == 111){
                   hMCPi0InAccPt[fiCut]->Fill(particle->Pt(),weighted); // MC Pi0 with gamma in acc
@@ -1442,15 +1533,14 @@ void AliAnalysisTaskGammaConvV1::ProcessMCParticles()
       TParticle* particle = (TParticle *)fMCStack->Particle(i);
       if (!particle) continue;
 
-      Bool_t mcIsFromMB = kTRUE;
       Int_t isMCFromMBHeader = -1;
       if(((AliConversionCuts*)fCutArray->At(fiCut))->GetSignalRejection() != 0){
          isMCFromMBHeader
             = ((AliConversionCuts*)fCutArray->At(fiCut))->IsParticleFromBGEvent(i, fMCStack, fInputEvent);
          if(isMCFromMBHeader == 0 && ((AliConversionCuts*)fCutArray->At(fiCut))->GetSignalRejection() != 3) continue;
-         if(isMCFromMBHeader != 2) mcIsFromMB = kFALSE;
       }
 
+      if(!((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(particle->Phi(),fEventPlaneAngle,kFALSE)) continue;
       if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(particle,fMCStack,kFALSE)){
          hMCAllGammaPt[fiCut]->Fill(particle->Pt()); // All MC Gamma
          if(particle->GetMother(0) >-1){ // Meson Decay Gamma
@@ -1481,20 +1571,13 @@ void AliAnalysisTaskGammaConvV1::ProcessMCParticles()
       }
       if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(particle,fMCStack,kTRUE)){
          hMCConvGammaPt[fiCut]->Fill(particle->Pt());
-         if (fDoPhotonQA){
+         if (fDoPhotonQA > 0){
             hMCConvGammaR[fiCut]->Fill(((TParticle*)fMCStack->Particle(particle->GetFirstDaughter()))->R());
             hMCConvGammaEta[fiCut]->Fill(particle->Eta());
          }
-         if(mcIsFromMB){
-            hMCConvGammaRSPt[fiCut]->Fill(particle->Pt());
-            if (fDoPhotonQA){
-               hMCConvGammaRSR[fiCut]->Fill(((TParticle*)fMCStack->Particle(particle->GetFirstDaughter()))->R());
-               hMCConvGammaRSEta[fiCut]->Fill(particle->Eta());
-            }
-         }
       } // Converted MC Gamma
       if(fDoMesonAnalysis){
-         if(particle->GetPdgCode() == 310 && fDoMesonQA){
+         if(particle->GetPdgCode() == 310 && fDoMesonQA > 0){
             Double_t mesonY = 10.;
             if(particle->Energy() - particle->Pz() == 0 || particle->Energy() + particle->Pz() == 0){
                mesonY=10.-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift();
@@ -1536,15 +1619,17 @@ void AliAnalysisTaskGammaConvV1::ProcessMCParticles()
             if(particle->GetPdgCode() == 111){
                hMCPi0Pt[fiCut]->Fill(particle->Pt(),weighted); // All MC Pi0
                hMCPi0WOWeightPt[fiCut]->Fill(particle->Pt());
-               if (fDoMesonQA) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+               if (fDoMesonQA > 0) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
             } else if(particle->GetPdgCode() == 221){
                hMCEtaPt[fiCut]->Fill(particle->Pt(),weighted); // All MC Eta
-               if (fDoMesonQA) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+               if (fDoMesonQA > 0) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
             } 
 
             // Check the acceptance for both gammas
             if(((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(daughter0,fMCStack,kFALSE) &&
-               ((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(daughter1,fMCStack,kFALSE) ){
+               ((AliConversionCuts*)fCutArray->At(fiCut))->PhotonIsSelectedMC(daughter1,fMCStack,kFALSE)  &&
+               ((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(daughter0->Phi(),fEventPlaneAngle,kFALSE) &&
+               ((AliConversionCuts*)fCutArray->At(fiCut))->InPlaneOutOfPlaneCut(daughter1->Phi(),fEventPlaneAngle,kFALSE)){
 
                if(particle->GetPdgCode() == 111){
                   hMCPi0InAccPt[fiCut]->Fill(particle->Pt(),weighted); // MC Pi0 with gamma in acc
@@ -1582,6 +1667,31 @@ void AliAnalysisTaskGammaConvV1::CalculatePi0Candidates(){
                hESDMotherInvMassPt[fiCut]->Fill(pi0cand->M(),pi0cand->Pt());
                if(pi0cand->GetAlpha()<0.1)
                   hESDMotherInvMassEalpha[fiCut]->Fill(pi0cand->M(),pi0cand->E());
+               
+               if (fDoMesonQA > 0){
+                  if ( pi0cand->M() < 0.17){
+                     hESDMotherPi0PtY[fiCut]->Fill(pi0cand->Pt(),abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()));  
+                     hESDMotherPi0PtAlpha[fiCut]->Fill(pi0cand->Pt(),pi0cand->GetAlpha());  
+                     if (gamma0->Pt() < gamma1->Pt()){
+                       hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma0->Eta()); 
+                       hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma1->Eta()); 
+                     } else {
+                       hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma1->Eta()); 
+                       hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma0->Eta()); 
+                     }   
+                  } 
+                  if ( pi0cand->M() > 0.17 && pi0cand->M() < 0.7){
+                     hESDMotherEtaPtY[fiCut]->Fill(pi0cand->Pt(),abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()));  
+                     hESDMotherEtaPtAlpha[fiCut]->Fill(pi0cand->Pt(),pi0cand->GetAlpha());  
+                     if (gamma0->Pt() < gamma1->Pt()){
+                       hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma0->Eta()); 
+                       hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma1->Eta()); 
+                     } else {
+                       hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma1->Eta()); 
+                       hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(pi0cand->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),gamma0->Eta()); 
+                     }
+                  }
+               }   
                if(((AliConversionMesonCuts*)fMesonCutArray->At(fiCut))->DoBGCalculation()){
                   Int_t zbin = 0;
                   Int_t mbin = 0;
@@ -1613,7 +1723,7 @@ void AliAnalysisTaskGammaConvV1::CalculatePi0Candidates(){
                   if(fInputEvent->IsA()==AliAODEvent::Class())
                      ProcessTrueMesonCandidatesAOD(pi0cand,gamma0,gamma1);
                }
-               if (fDoMesonQA){
+               if (fDoMesonQA == 2){
                   fInvMass = pi0cand->M();
                   fPt  = pi0cand->Pt();
                   if (abs(gamma0->GetDCAzToPrimVtx()) < abs(gamma1->GetDCAzToPrimVtx())){
@@ -1725,6 +1835,30 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidates(AliAODConversionMoth
          
          if(isTruePi0 || isTrueEta){// True Pion or Eta
             hESDTrueMotherInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt()); 
+            if (fDoMesonQA > 0){
+               if (isTruePi0){
+                  hESDTruePi0PtY[fiCut]->Fill(Pi0Candidate->Pt(),abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift())); 
+                  hESDTruePi0PtAlpha[fiCut]->Fill(Pi0Candidate->Pt(),Pi0Candidate->GetAlpha()); 
+                  if (TrueGammaCandidate0->Pt() < TrueGammaCandidate1->Pt()){
+                     hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta()); 
+                     hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta()); 
+                  } else {
+                     hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta()); 
+                     hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta()); 
+                  }   
+                  
+               } else if (isTrueEta){   
+                  hESDTrueEtaPtY[fiCut]->Fill(Pi0Candidate->Pt(),abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift())); 
+                  hESDTrueEtaPtAlpha[fiCut]->Fill(Pi0Candidate->Pt(),Pi0Candidate->GetAlpha()); 
+                  if (TrueGammaCandidate0->Pt() < TrueGammaCandidate1->Pt()){
+                     hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta()); 
+                     hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta()); 
+                  } else {
+                     hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta()); 
+                     hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta()); 
+                  }
+               }
+            }   
             if(gamma0MotherLabel >= MCStack->GetNprimary()){ // Secondary Meson
                Int_t secMotherLabel = ((TParticle*)MCStack->Particle(gamma1MotherLabel))->GetMother(0);
                Float_t weightedSec= 1;
@@ -1738,13 +1872,13 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidates(AliAODConversionMoth
                   if(MCStack->Particle(secMotherLabel)->GetPdgCode()==310){
                      iMesonMCInfo = 4;
                      hESDTrueSecondaryMotherFromK0sInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weightedSec);
-                     if (fDoMesonQA)hESDTrueK0sWithPi0DaughterMCPt[fiCut]
+                     if (fDoMesonQA > 0)hESDTrueK0sWithPi0DaughterMCPt[fiCut]
                                        ->Fill(MCStack->Particle(secMotherLabel)->Pt());
                   }
                   if(MCStack->Particle(secMotherLabel)->GetPdgCode()==221){
                      iMesonMCInfo = 3;
                      hESDTrueSecondaryMotherFromEtaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weightedSec);
-                     if (fDoMesonQA)hESDTrueEtaWithPi0DaughterMCPt[fiCut]
+                     if (fDoMesonQA > 0)hESDTrueEtaWithPi0DaughterMCPt[fiCut]
                                        ->Fill(MCStack->Particle(secMotherLabel)->Pt());
                   }
                }
@@ -1760,7 +1894,9 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidates(AliAODConversionMoth
                hESDTruePrimaryMotherInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weighted);
                hESDTruePrimaryMotherW0WeightingInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
                pESDTruePrimaryMotherWeightsInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weighted);
-               if (fDoMesonQA){
+              
+               
+               if (fDoMesonQA > 0){
                   if(isTruePi0){ // Only primary pi0 for resolution
                      hESDTruePrimaryPi0MCPtResolPt[fiCut]->Fill(((TParticle*)MCStack->Particle(gamma1MotherLabel))->Pt(),(Pi0Candidate->Pt()-((TParticle*)MCStack->Particle(gamma1MotherLabel))->Pt())/((TParticle*)MCStack->Particle(gamma1MotherLabel))->Pt(),weighted);
                   }
@@ -1770,7 +1906,7 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidates(AliAODConversionMoth
                }
             }
          } else if(!isTruePi0 && !isTrueEta){ // Background
-            if (fDoMesonQA){
+            if (fDoMesonQA > 0){
                if(gamma0MotherLabel>-1 && gamma1MotherLabel>-1){ // Both Tracks are Photons and have a mother but not Pi0 or Eta
                   hESDTrueBckGGInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
                   iMesonMCInfo = 1;
@@ -1783,7 +1919,7 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidates(AliAODConversionMoth
                iMesonMCInfo = 5;
                hESDTrueMotherDalitzInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
             } else if (gamma0DalitzCand || gamma1DalitzCand){
-               if (fDoMesonQA)hESDTrueBckContInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+               if (fDoMesonQA > 0)hESDTrueBckContInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
             }   
          }
       }
@@ -1887,7 +2023,30 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidatesAOD(AliAODConversionM
             
    if(isTruePi0 || isTrueEta){// True Pion or Eta
       hESDTrueMotherInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
-      
+      if (fDoMesonQA > 0){
+         if (isTruePi0){
+            hESDTruePi0PtY[fiCut]->Fill(Pi0Candidate->Pt(),abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()));
+            hESDTruePi0PtAlpha[fiCut]->Fill(Pi0Candidate->Pt(),Pi0Candidate->GetAlpha()); 
+            if (TrueGammaCandidate0->Pt() < TrueGammaCandidate1->Pt()){
+               hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta()); 
+               hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta()); 
+            } else {
+               hESDMotherPi0YEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta()); 
+               hESDMotherPi0YEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta()); 
+            }
+         } else if (isTrueEta){   
+            hESDTrueEtaPtY[fiCut]->Fill(Pi0Candidate->Pt(),abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift())); 
+            hESDTrueEtaPtAlpha[fiCut]->Fill(Pi0Candidate->Pt(),Pi0Candidate->GetAlpha()); 
+            if (TrueGammaCandidate0->Pt() < TrueGammaCandidate1->Pt()){
+               hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta()); 
+               hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta()); 
+            } else {
+               hESDMotherEtaYEtaLowPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate1->Eta()); 
+               hESDMotherEtaYEtaHighPtGamma[fiCut]->Fill(abs(Pi0Candidate->Rapidity()-((AliConversionCuts*)fCutArray->At(fiCut))->GetEtaShift()),TrueGammaCandidate0->Eta()); 
+            }
+
+         }
+      }
       if(!(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma0MotherLabel))->IsPrimary())){ // Secondary Meson
          Int_t secMotherLabel = static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->GetMother();
          Float_t weightedSec= 1;
@@ -1901,13 +2060,13 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidatesAOD(AliAODConversionM
             if(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(secMotherLabel))->GetPdgCode()==310){
                iMesonMCInfo = 4;
                hESDTrueSecondaryMotherFromK0sInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weightedSec);
-               if (fDoMesonQA)hESDTrueK0sWithPi0DaughterMCPt[fiCut]
+               if (fDoMesonQA > 0)hESDTrueK0sWithPi0DaughterMCPt[fiCut]
                                  ->Fill(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(secMotherLabel))->Pt());
             }
             if(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(secMotherLabel))->GetPdgCode()==221){
                iMesonMCInfo = 3;
                hESDTrueSecondaryMotherFromEtaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weightedSec);
-               if (fDoMesonQA)hESDTrueEtaWithPi0DaughterMCPt[fiCut]
+               if (fDoMesonQA > 0)hESDTrueEtaWithPi0DaughterMCPt[fiCut]
                                  ->Fill(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(secMotherLabel))->Pt());
             }
          }
@@ -1924,10 +2083,11 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidatesAOD(AliAODConversionM
          hESDTruePrimaryMotherW0WeightingInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
          pESDTruePrimaryMotherWeightsInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt(),weighted);
               
-         if (fDoMesonQA){
+         if (fDoMesonQA > 0){
             if(isTruePi0){ // Only primary pi0 for resolution
                hESDTruePrimaryPi0MCPtResolPt[fiCut]->Fill(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->Pt(),
                                                           (Pi0Candidate->Pt()-static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->Pt())/static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->Pt(),weighted);
+               
             }
             if (isTrueEta){ // Only primary eta for resolution
                hESDTruePrimaryEtaMCPtResolPt[fiCut]->Fill(static_cast<AliAODMCParticle*>(AODMCTrackArray->At(gamma1MotherLabel))->Pt(),
@@ -1936,7 +2096,7 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidatesAOD(AliAODConversionM
          }
       }
    } else if(!isTruePi0 && !isTrueEta) { // Background
-      if (fDoMesonQA){
+      if (fDoMesonQA > 0){
          if(gamma0MotherLabel>-1 && gamma1MotherLabel>-1){ // Both Tracks are Photons and have a mother but not Pi0 or Eta
             hESDTrueBckGGInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
             iMesonMCInfo = 1;
@@ -1949,7 +2109,7 @@ void AliAnalysisTaskGammaConvV1::ProcessTrueMesonCandidatesAOD(AliAODConversionM
          iMesonMCInfo = 5;
          hESDTrueMotherDalitzInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
       } else if (gamma0DalitzCand || gamma1DalitzCand){
-         if (fDoMesonQA)hESDTrueBckContInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+         if (fDoMesonQA > 0)hESDTrueBckContInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
       }
    }
 }
@@ -2017,6 +2177,9 @@ void AliAnalysisTaskGammaConvV1::CalculateBackground(){
                   if(fMoveParticleAccordingToVertex == kTRUE){
                      MoveParticleAccordingToVertex(&previousGoodV0,bgEventVertex);
                   }
+                  if(fIsHeavyIon){
+                     RotateParticleAccordingToEP(&previousGoodV0,bgEventVertex->fEP,fEventPlaneAngle);
+                  }
 
                   AliAODConversionMother *backgroundCandidate = new AliAODConversionMother(&currentEventGoodV0,&previousGoodV0);
                   backgroundCandidate->CalculateDistanceOfClossetApproachToPrimVtx(fInputEvent->GetPrimaryVertex());
@@ -2048,6 +2211,10 @@ void AliAnalysisTaskGammaConvV1::CalculateBackground(){
                      if(fMoveParticleAccordingToVertex == kTRUE){
                         MoveParticleAccordingToVertex(&previousGoodV0,bgEventVertex);
                      }
+                     if(fIsHeavyIon){
+                        RotateParticleAccordingToEP(&previousGoodV0,bgEventVertex->fEP,fEventPlaneAngle);
+                     }
+
 
                      AliAODConversionMother *backgroundCandidate = new AliAODConversionMother(&currentEventGoodV0,&previousGoodV0);
                      backgroundCandidate->CalculateDistanceOfClossetApproachToPrimVtx(fInputEvent->GetPrimaryVertex());
@@ -2152,6 +2319,16 @@ void AliAnalysisTaskGammaConvV1::RotateParticle(AliAODConversionPhoton *gamma){
    Double_t rotationValue = fRandom.Rndm()*2*nRadiansPM + TMath::Pi()-nRadiansPM;
    gamma->RotateZ(rotationValue);
 }
+
+//________________________________________________________________________
+void AliAnalysisTaskGammaConvV1::RotateParticleAccordingToEP(AliAODConversionPhoton *gamma, Double_t previousEventEP, Double_t thisEventEP){
+
+   previousEventEP=previousEventEP+TMath::Pi();
+   thisEventEP=thisEventEP+TMath::Pi();
+   Double_t rotationValue= thisEventEP-previousEventEP;
+   gamma->RotateZ(rotationValue);
+}
+
 //________________________________________________________________________
 void AliAnalysisTaskGammaConvV1::MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex){
    //see header file for documentation
@@ -2168,10 +2345,10 @@ void AliAnalysisTaskGammaConvV1::UpdateEventByEventData(){
    //see header file for documentation
    if(fGammaCandidates->GetEntries() >0 ){
       if(((AliConversionMesonCuts*)fMesonCutArray->At(fiCut))->UseTrackMultiplicity()){
-         fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fV0Reader->GetNumberOfPrimaryTracks());
+         fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fV0Reader->GetNumberOfPrimaryTracks(),fEventPlaneAngle);
       }
       else{ // means we use #V0s for multiplicity
-         fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fGammaCandidates->GetEntries());
+         fBGHandler[fiCut]->AddEvent(fGammaCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fGammaCandidates->GetEntries(),fEventPlaneAngle);
       }
    }
 }
index 2feae462496a4ff06ec67829df0d6c25f04af2d4..03e8a9bf3b318f92f78ede599b230c720260886e 100644 (file)
@@ -36,8 +36,8 @@ class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
 
    void SetIsMC(Bool_t isMC){fIsMC=isMC;}
    void SetDoMesonAnalysis(Bool_t flag){fDoMesonAnalysis = flag;}
-   void SetDoMesonQA(Bool_t flag){fDoMesonQA = flag;}
-   void SetDoPhotonQA(Bool_t flag){fDoPhotonQA = flag;}
+   void SetDoMesonQA(Int_t flag){fDoMesonQA = flag;}
+   void SetDoPhotonQA(Int_t flag){fDoPhotonQA = flag;}
    void ProcessPhotonCandidates();
    void CalculatePi0Candidates();
    void CalculateBackground();
@@ -50,6 +50,7 @@ class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
    void ProcessTrueMesonCandidates( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
    void ProcessTrueMesonCandidatesAOD(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
    void RotateParticle(AliAODConversionPhoton *gamma);
+   void RotateParticleAccordingToEP(AliAODConversionPhoton *gamma, Double_t previousEventEP, Double_t thisEventEP);
    void SetConversionCutList(Int_t nCuts, TList *CutArray){
       fnCuts = nCuts;
       fCutArray = CutArray;
@@ -79,7 +80,6 @@ class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
    TList **fPhotonDCAList;
    TList **fMesonDCAList;        
    TList **fTrueList;
-   TList **fTrueMotherRapList;
    TList **fMCList;
    TList **fHeaderNameList;
    TList *fOutputContainer;
@@ -90,6 +90,8 @@ class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
    TList *fMesonCutArray;
    AliConversionMesonCuts *fMesonCuts;
    TH1F **hESDConvGammaPt;
+   TH1F **hESDConvGammaR;
+   TH1F **hESDConvGammaEta;
    TTree **tESDConvGammaPtDcazCat;
    Float_t fPtGamma;
    Float_t fDCAzPhoton;
@@ -108,6 +110,14 @@ class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
    TH2F **hESDMotherBackInvMassPt;
    THnSparseF **sESDMotherBackInvMassPtZM;
    TH2F **hESDMotherInvMassEalpha;
+   TH2F **hESDMotherPi0PtY;
+   TH2F **hESDMotherEtaPtY;
+   TH2F **hESDMotherPi0PtAlpha;
+   TH2F **hESDMotherEtaPtAlpha;
+   TH2F **hESDMotherPi0YEtaLowPtGamma;
+   TH2F **hESDMotherPi0YEtaHighPtGamma;
+   TH2F **hESDMotherEtaYEtaLowPtGamma;
+   TH2F **hESDMotherEtaYEtaHighPtGamma;
    TH1I **hMCHeaders;
    TH1F **hMCAllGammaPt;
    TH1F **hMCDecayGammaPi0Pt;
@@ -120,9 +130,6 @@ class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
    TH1F **hMCConvGammaPt;
    TH1F **hMCConvGammaR;
    TH1F **hMCConvGammaEta;
-   TH1F **hMCConvGammaRSPt;
-   TH1F **hMCConvGammaRSR;
-   TH1F **hMCConvGammaRSEta;
    TH1F **hMCPi0Pt;
    TH1F **hMCPi0WOWeightPt;
    TH1F **hMCEtaPt;
@@ -146,12 +153,19 @@ class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
    TH1F **hESDTrueEtaWithPi0DaughterMCPt;
    TH2F **hESDTrueBckGGInvMassPt;
    TH2F **hESDTrueBckContInvMassPt;
+   TH2F **hESDTruePi0PtY;
+   TH2F **hESDTrueEtaPtY;
+   TH2F **hESDTruePi0PtAlpha;
+   TH2F **hESDTrueEtaPtAlpha;
+   TH2F **hESDTruePi0YEtaLowPtGamma;
+   TH2F **hESDTruePi0YEtaHighPtGamma;
+   TH2F **hESDTrueEtaYEtaLowPtGamma;
+   TH2F **hESDTrueEtaYEtaHighPtGamma;
    TH2F **hESDTrueMotherDalitzInvMassPt;
    TH1F **hESDTrueConvGammaPt;
    TH2F **hESDCombinatorialPt;
    TH1F **hESDTruePrimaryConvGammaPt;
    TH2F **hESDTruePrimaryConvGammaESDPtMCPt;
-   TH2F **hESDTruePrimaryConvGammaRSESDPtMCPt;
    TH1F **hESDTrueSecondaryConvGammaPt;
    TH1F **hESDTrueSecondaryConvGammaFromXFromK0sPt;
    TH1F **hESDTrueSecondaryConvGammaFromXFromLambdaPt;
@@ -175,6 +189,7 @@ class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
                          // 4: secondary meson from k0s, 
                          // 5: dalitz
                          // 6: primary meson gamma-gamma-channel
+   Double_t fEventPlaneAngle; // EventPlaneAngle
    TRandom3 fRandom;
    Int_t fnGammaCandidates;
    Double_t *fUnsmearedPx; //[fnGammaCandidates]
@@ -190,8 +205,8 @@ class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
    Bool_t fMoveParticleAccordingToVertex;
    Bool_t fIsHeavyIon;
    Bool_t fDoMesonAnalysis;
-   Bool_t fDoMesonQA;
-   Bool_t fDoPhotonQA;
+   Int_t fDoMesonQA;
+   Int_t fDoPhotonQA;
    Bool_t fIsFromMBHeader;
    Bool_t fIsMC;
 
@@ -201,7 +216,7 @@ private:
    AliAnalysisTaskGammaConvV1 &operator=(const AliAnalysisTaskGammaConvV1&); // Prevent assignment
 
 
-   ClassDef(AliAnalysisTaskGammaConvV1, 7);
+   ClassDef(AliAnalysisTaskGammaConvV1, 8);
 };
 
 #endif
index c4ac1c7c3dff569c6410f09cb6d67a858696001f..f9e94cfd1ea47d46acd29f52e70f985cca089965 100644 (file)
@@ -86,6 +86,7 @@ const char* AliConversionCuts::fgkCutNames[AliConversionCuts::kNCuts] = {
    "RejectToCloseV0s", //24
    "DcaRPrimVtx", //25
    "DcaZPrimVtx" //26
+   "EvetPlane" //27
 };
 
 
@@ -175,6 +176,7 @@ AliConversionCuts::AliConversionCuts(const char *name,const char *title) :
    fElectronLabelArray(NULL),
    fDCAZPrimVtxCut(1000),
    fDCARPrimVtxCut(1000),
+   fInPlaneOutOfPlane(0),
    fConversionPointXArray(0.0),
    fConversionPointYArray(0.0),
    fConversionPointZArray(0.0),
@@ -217,6 +219,7 @@ AliConversionCuts::AliConversionCuts(const char *name,const char *title) :
    hCentrality(NULL),
    hCentralityVsNumberOfPrimaryTracks(NULL),
    hVertexZ(NULL),
+   hEventPlanePhi(NULL),
    hTriggerClass(NULL),
    hTriggerClassSelected(NULL),
    hReweightMCHistPi0(NULL),
@@ -328,6 +331,7 @@ AliConversionCuts::AliConversionCuts(const AliConversionCuts &ref) :
    fElectronLabelArray(NULL),
    fDCAZPrimVtxCut(ref.fDCAZPrimVtxCut),
    fDCARPrimVtxCut(ref.fDCAZPrimVtxCut),
+   fInPlaneOutOfPlane(ref.fInPlaneOutOfPlane),
    fConversionPointXArray(ref.fConversionPointXArray),
    fConversionPointYArray(ref.fConversionPointYArray),
    fConversionPointZArray(ref.fConversionPointZArray),
@@ -370,6 +374,7 @@ AliConversionCuts::AliConversionCuts(const AliConversionCuts &ref) :
    hCentrality(NULL),
    hCentralityVsNumberOfPrimaryTracks(NULL),
    hVertexZ(NULL),
+   hEventPlanePhi(NULL),
    hTriggerClass(NULL),
    hTriggerClassSelected(NULL),
    hReweightMCHistPi0(ref.hReweightMCHistPi0),
@@ -468,7 +473,7 @@ void AliConversionCuts::InitCutHistograms(TString name, Bool_t preCut){
 //       fHistograms->Add(fFitDataK0s);
 //    }
    // IsPhotonSelected
-   hCutIndex=new TH1F(Form("IsPhotonSelected %s",GetCutNumber().Data()),"IsPhotonSelected",10,-0.5,9.5);
+   hCutIndex=new TH1F(Form("IsPhotonSelected %s",GetCutNumber().Data()),"IsPhotonSelected",11,-0.5,10.5);
    hCutIndex->GetXaxis()->SetBinLabel(kPhotonIn+1,"in");
    hCutIndex->GetXaxis()->SetBinLabel(kOnFly+1,"onfly");
    hCutIndex->GetXaxis()->SetBinLabel(kNoTracks+1,"no tracks");
@@ -476,6 +481,7 @@ void AliConversionCuts::InitCutHistograms(TString name, Bool_t preCut){
    hCutIndex->GetXaxis()->SetBinLabel(kTrackCuts+1,"Track cuts");
    hCutIndex->GetXaxis()->SetBinLabel(kConvPointFail+1,"ConvPoint fail");
    hCutIndex->GetXaxis()->SetBinLabel(kPhotonCuts+1,"PhotonCuts");
+   hCutIndex->GetXaxis()->SetBinLabel(kEventPlane+1,"EventPlane");
    hCutIndex->GetXaxis()->SetBinLabel(kPhotonOut+1,"out");
    fHistograms->Add(hCutIndex);
 
@@ -596,6 +602,11 @@ void AliConversionCuts::InitCutHistograms(TString name, Bool_t preCut){
    }
    delete [] newBins;
 
+   hCentrality=new TH1F(Form("Centrality %s",GetCutNumber().Data()),"Centrality",1000,0,100);
+   fHistograms->Add(hCentrality);
+   hCentralityVsNumberOfPrimaryTracks=new TH2F(Form("Centrality vs Primary Tracks %s",GetCutNumber().Data()),"Centrality vs Primary Tracks ",100,0,100,4000,0,4000);
+   fHistograms->Add(hCentralityVsNumberOfPrimaryTracks);
+
    // Event Cuts and Info
    if(preCut){
       hV0EventCuts=new TH1F(Form("ESD_EventCuts %s",GetCutNumber().Data()),"Event Cuts",7,-0.5,6.5);
@@ -608,10 +619,6 @@ void AliConversionCuts::InitCutHistograms(TString name, Bool_t preCut){
       hV0EventCuts->GetXaxis()->SetBinLabel(7,"out");
       fHistograms->Add(hV0EventCuts);
 
-      hCentrality=new TH1F(Form("Centrality %s",GetCutNumber().Data()),"Centrality",1000,0,100);
-      fHistograms->Add(hCentrality);
-      hCentralityVsNumberOfPrimaryTracks=new TH2F(Form("Centrality vs Primary Tracks %s",GetCutNumber().Data()),"Centrality vs Primary Tracks ",100,0,100,4000,0,4000);
-      fHistograms->Add(hCentralityVsNumberOfPrimaryTracks);
       hVertexZ=new TH1F(Form("VertexZ %s",GetCutNumber().Data()),"VertexZ",1000,-50,50);
       fHistograms->Add(hVertexZ);
 
@@ -690,6 +697,11 @@ void AliConversionCuts::InitCutHistograms(TString name, Bool_t preCut){
       hTriggerClassSelected->GetXaxis()->SetBinLabel(33,"V0AND");
       hTriggerClassSelected->GetXaxis()->SetBinLabel(34,"NOT kFastOnly");
       fHistograms->Add(hTriggerClassSelected);
+      
+      hEventPlanePhi=new TH1F(Form("EventPlaneMinusPhotonAngle %s",GetCutNumber().Data()),"EventPlaneMinusPhotonAngle",360,-TMath::Pi(),TMath::Pi());
+      fHistograms->Add(hEventPlanePhi);
+
+      
    }
    TH1::AddDirectory(kTRUE);
 }
@@ -1986,6 +1998,15 @@ Bool_t AliConversionCuts::SetCut(cutIds cutID, const Int_t value) {
          return kTRUE;
       } else return kFALSE;
 
+   case kInPlaneOutOfPlane:
+   if( SetInPlaneOutOfPlane(value)) {
+      fCuts[kInPlaneOutOfPlane] = value;
+      UpdateCutString();
+      return kTRUE;
+   } else return kFALSE;
+
+
+      
 
    case kNCuts:
       AliError("Cut id out of range");
@@ -3070,6 +3091,26 @@ Bool_t AliConversionCuts::SetDCARPhotonPrimVtxCut(Int_t DCARPhotonPrimVtx){
    return kTRUE;
 }
 
+///________________________________________________________________________
+Bool_t AliConversionCuts::SetInPlaneOutOfPlane(Int_t inOutPlane){
+   // Set Cut
+   switch(inOutPlane){
+   case 0:  //
+      fInPlaneOutOfPlane = 0; // No Event Plane
+      break;
+   case 1:  //
+      fInPlaneOutOfPlane = 1; // In-Plane
+      break;
+   case 2:  //
+      fInPlaneOutOfPlane = 2; // Out-Of-Plane
+      break;
+   default:
+      cout<<"Warning: In-Plane or Out-Of-Plane not defined "<<inOutPlane<<endl;
+      return kFALSE;
+   }
+   return kTRUE;
+}
+
 
 //-------------------------------------------------------------
 Double_t AliConversionCuts::GetCentrality(AliVEvent *event)
@@ -3958,3 +3999,35 @@ void AliConversionCuts::GetCorrectEtaShiftFromPeriod(TString periodName){
       }
    else printf(" Gamma Conversion Cuts %s :: Automatic Eta Shift requested but Period is not known -> No Shift \n\n",(GetCutNumber()).Data());
 }
+
+///________________________________________________________________________
+Bool_t AliConversionCuts::InPlaneOutOfPlaneCut(Double_t photonPhi, Double_t eventPlaneAngle, Bool_t fill){
+   
+   //GetPhotonPhi() 0-2 Pi  //eventPlaneAngle -1pi-1pi
+   eventPlaneAngle=eventPlaneAngle+TMath::Pi();
+   Double_t gammaToEPAngle = eventPlaneAngle-photonPhi;
+   if(gammaToEPAngle < 0) gammaToEPAngle=gammaToEPAngle+2*TMath::Pi();
+   gammaToEPAngle = gammaToEPAngle-TMath::Pi(); // angle from -pi +pi
+
+   if(!fInPlaneOutOfPlane){
+      if(fill&&hEventPlanePhi)hEventPlanePhi->Fill(gammaToEPAngle);
+      return kTRUE;
+   }
+   else if(fInPlaneOutOfPlane == 1){
+      if(abs(gammaToEPAngle)<=0.25*TMath::Pi() || abs(gammaToEPAngle)>=0.75*TMath::Pi()){
+         if(fill&&hEventPlanePhi)hEventPlanePhi->Fill(gammaToEPAngle);
+         return kTRUE;
+      }
+      else return kFALSE;
+   }
+   else if(fInPlaneOutOfPlane == 2){
+      if(abs(gammaToEPAngle)>0.25*TMath::Pi() && abs(gammaToEPAngle)<0.75*TMath::Pi()){
+         if(fill&&hEventPlanePhi)hEventPlanePhi->Fill(gammaToEPAngle);
+         return kTRUE;
+      }
+      else return kFALSE;
+   }
+   return kFALSE;
+
+}
+
index edeebd11ef1bb8f8ea267657f67a0d2344c07f73..a68b0eb690e0ff66bd05314156022db0883cecee 100644 (file)
@@ -35,387 +35,395 @@ class AliAODMCParticle;
 using namespace std;
 
 class AliConversionCuts : public AliAnalysisCuts {
+      
+   public: 
+      
+
+   enum cutIds {
+      kisHeavyIon,                  
+      kCentralityMin,               
+      kCentralityMax,               
+      kselectV0AND,                 
+      kmultiplicityMethod,             
+      kremovePileUp,                
+      kExtraSignals, 
+      kv0FinderType,                
+      ketaCut,                                     
+      kRCut,                     
+      ksinglePtCut,                 
+      kclsTPCCut,                   
+      kededxSigmaCut,               
+      kpidedxSigmaCut,              
+      kpiMomdedxSigmaCut,        
+      kpiMaxMomdedxSigmaCut,        
+      kLowPRejectionSigmaCut,       
+      kTOFelectronPID,              
+      kQtMaxCut,                    
+      kchi2GammaCut,                
+      kPsiPair, 
+      kdoPhotonAsymmetryCut,
+      kCosPAngle,
+      kElecShare,
+      kToCloseV0s,
+      kDcaRPrimVtx,
+      kDcaZPrimVtx,
+      kInPlaneOutOfPlane,
+      kNCuts
+   };
+
+   enum photonCuts {
+         kPhotonIn=0,
+         kOnFly,
+         kNoTracks,
+         kTrackCuts,
+         kdEdxCuts,
+         kConvPointFail,
+         kPhotonCuts,
+         kEventPlane,
+         kPhotonOut
+   };
+
+
+   Bool_t SetCutIds(TString cutString); 
+   Int_t fCuts[kNCuts];
+   Bool_t SetCut(cutIds cutID, Int_t cut);
+   Bool_t UpdateCutString();
+
+
+   static const char * fgkCutNames[kNCuts];
+
+   Double_t GetCosineOfPointingAngle(const AliConversionPhotonBase * photon, AliVEvent * event) const; 
+
+
+   Bool_t InitializeCutsFromCutString(const TString analysisCutSelection);
+   void SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kAny) {
+      fOfflineTriggerMask = offlineTriggerMask;
+      fTriggerSelectedManually = kTRUE;
+   }
+   void SelectSpecialTrigger(UInt_t offlineTriggerMask = AliVEvent::kAny, TString TriggerClassName = "AliVEvent::kAny" ) {
+      fOfflineTriggerMask = offlineTriggerMask;
+      fSpecialTriggerName = TriggerClassName;
+      cout << fSpecialTriggerName.Data() << endl;
+      
+   }   
+   void FillElectonLabelArray(AliAODConversionPhoton* photon, Int_t nV0);
+   void SetAcceptedHeader(TList *HeaderList){fHeaderList = HeaderList;}   
+   void SetPreSelectionCutFlag(Bool_t preSelFlag){fPreSelCut = preSelFlag;}   
+   TString *GetFoundHeader(){return fGeneratorNames;}
+
+   Int_t GetEventQuality(){return fEventQuality;}
+   Bool_t GetIsFromPileup(){return fRemovePileUp;}
    
- public: 
+   AliConversionCuts(const char *name="V0Cuts", const char * title="V0 Cuts");
+   AliConversionCuts(const AliConversionCuts&);
+   AliConversionCuts& operator=(const AliConversionCuts&);
+
+   virtual ~AliConversionCuts();                            //virtual destructor
+
+   static AliConversionCuts * GetStandardCuts2010PbPb();
+   static AliConversionCuts * GetStandardCuts2010pp();
+
+   virtual Bool_t IsSelected(TObject* /*obj*/){return kTRUE;}
+   virtual Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
+
+   TString GetCutNumber();
+   
+   void GetCentralityRange(Double_t range[2]){range[0]=10*fCentralityMin;range[1]=10*fCentralityMax;};
    
+   // Cut Selection
+   Bool_t EventIsSelected(AliVEvent *fInputEvent, AliVEvent *fMCEvent);
+   Int_t IsEventAcceptedByConversionCut(AliConversionCuts *ReaderCuts, AliVEvent *InputEvent, AliMCEvent *MCEvent, Bool_t isHeavyIon);
+   Bool_t PhotonIsSelected(AliConversionPhotonBase * photon, AliVEvent  * event);
+   Bool_t PhotonIsSelectedMC(TParticle *particle,AliStack *fMCStack,Bool_t checkForConvertedGamma=kTRUE);
+   Bool_t PhotonIsSelectedAODMC(AliAODMCParticle *particle,TClonesArray *aodmcArray,Bool_t checkForConvertedGamma=kTRUE);
+   Bool_t ElectronIsSelectedMC(TParticle *particle,AliStack *fMCStack);
+   Bool_t TracksAreSelected(AliVTrack * negTrack, AliVTrack * posTrack);
+   Bool_t MesonIsSelected(AliAODConversionMother *pi0,Bool_t IsSignal=kTRUE);
+   Bool_t MesonIsSelectedMC(TParticle *fMCMother,AliStack *fMCStack, Bool_t bMCDaughtersInAcceptance=kFALSE);
 
-  enum cutIds {
-   kisHeavyIon,                  
-   kCentralityMin,               
-   kCentralityMax,               
-   kselectV0AND,                 
-   kmultiplicityMethod,             
-   kremovePileUp,                
-   kExtraSignals, 
-   kv0FinderType,                
-   ketaCut,                                     
-   kRCut,                     
-   ksinglePtCut,                 
-   kclsTPCCut,                   
-   kededxSigmaCut,               
-   kpidedxSigmaCut,              
-   kpiMomdedxSigmaCut,        
-   kpiMaxMomdedxSigmaCut,        
-   kLowPRejectionSigmaCut,       
-   kTOFelectronPID,              
-   kQtMaxCut,                    
-   kchi2GammaCut,                
-   kPsiPair, 
-   kdoPhotonAsymmetryCut,
-   kCosPAngle,
-   kElecShare,
-   kToCloseV0s,
-        kDcaRPrimVtx,
-        kDcaZPrimVtx,
-   kNCuts
-  };
-
-  enum photonCuts {
-      kPhotonIn=0,
-      kOnFly,
-      kNoTracks,
-      kTrackCuts,
-      kdEdxCuts,
-      kConvPointFail,
-      kPhotonCuts,
-      kPhotonOut
-  };
-
-
-  Bool_t SetCutIds(TString cutString); 
-  Int_t fCuts[kNCuts];
-  Bool_t SetCut(cutIds cutID, Int_t cut);
-  Bool_t UpdateCutString();
-
-
-  static const char * fgkCutNames[kNCuts];
-
-  Double_t GetCosineOfPointingAngle(const AliConversionPhotonBase * photon, AliVEvent * event) const; 
-
-
-  Bool_t InitializeCutsFromCutString(const TString analysisCutSelection);
-  void SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kAny) {
-     fOfflineTriggerMask = offlineTriggerMask;
-     fTriggerSelectedManually = kTRUE;
-  }
-  void SelectSpecialTrigger(UInt_t offlineTriggerMask = AliVEvent::kAny, TString TriggerClassName = "AliVEvent::kAny" ) {
-     fOfflineTriggerMask = offlineTriggerMask;
-     fSpecialTriggerName = TriggerClassName;
-     cout << fSpecialTriggerName.Data() << endl;
-     
-  }   
-  void FillElectonLabelArray(AliAODConversionPhoton* photon, Int_t nV0);
-  void SetAcceptedHeader(TList *HeaderList){fHeaderList = HeaderList;}   
-  void SetPreSelectionCutFlag(Bool_t preSelFlag){fPreSelCut = preSelFlag;}   
-  TString *GetFoundHeader(){return fGeneratorNames;}
-
-  Int_t GetEventQuality(){return fEventQuality;}
-  Bool_t GetIsFromPileup(){return fRemovePileUp;}
-  
-  AliConversionCuts(const char *name="V0Cuts", const char * title="V0 Cuts");
-  AliConversionCuts(const AliConversionCuts&);
-  AliConversionCuts& operator=(const AliConversionCuts&);
+   void InitAODpidUtil(Int_t type);
+   Bool_t InitPIDResponse();
+   
+   void SetPIDResponse(AliPIDResponse * pidResponse) {fPIDResponse = pidResponse;}
+   AliPIDResponse * GetPIDResponse() { return fPIDResponse;}
+   
+   void PrintCuts();
 
-  virtual ~AliConversionCuts();                            //virtual destructor
+   void InitCutHistograms(TString name="",Bool_t preCut = kTRUE);
+   void SetFillCutHistograms(TString name="",Bool_t preCut = kTRUE){if(!fHistograms){InitCutHistograms(name,preCut);};}
+   TList *GetCutHistograms(){return fHistograms;}
+   void FillPhotonCutIndex(Int_t photoncut){if(hCutIndex)hCutIndex->Fill(photoncut);}
+   void SetEtaShift(Double_t etaShift) {
+      fEtaShift = etaShift;
+      fLineCutZRSlope = tan(2*atan(exp(-fEtaCut + etaShift)));
+      if(fEtaCutMin > -0.1)
+         fLineCutZRSlopeMin = tan(2*atan(exp(-fEtaCutMin + etaShift)));
+   }
+   void SetEtaShift(TString pPbOrPbp) {
+      Double_t etaShift = 0.0;
+      if(!pPbOrPbp.CompareTo("pPb"))      etaShift = -0.465;
+      else if(!pPbOrPbp.CompareTo("Pbp")) etaShift =  0.465;
+      
+      fEtaShift = etaShift;
+      fLineCutZRSlope = tan(2*atan(exp(-fEtaCut + etaShift)));
+      if(fEtaCutMin > -0.1)
+         fLineCutZRSlopeMin = tan(2*atan(exp(-fEtaCutMin + etaShift)));
+   }
+   Double_t GetEtaShift() {return fEtaShift;}
+   Bool_t GetDoEtaShift(){return fDoEtaShift;}
+   void DoEtaShift(Bool_t doEtaShift){fDoEtaShift = doEtaShift;}
+   void GetCorrectEtaShiftFromPeriod(TString periodName);
+   
+   static AliVTrack * GetTrack(AliVEvent * event, Int_t label);
+   static AliESDtrack *GetESDTrack(AliESDEvent * event, Int_t label);
+   
+   ///Cut functions
+   Bool_t SpecificTrackCuts(AliAODTrack * negTrack, AliAODTrack * posTrack,Int_t &cutIndex);
+   Bool_t SpecificTrackCuts(AliESDtrack * negTrack, AliESDtrack * posTrack,Int_t &cutIndex);
+   Bool_t AcceptanceCuts(AliConversionPhotonBase *photon);
+   Bool_t AcceptanceCut(TParticle *particle, TParticle * ePos,TParticle* eNeg);
+   Bool_t dEdxCuts(AliVTrack * track);
+   Bool_t ArmenterosQtCut(AliConversionPhotonBase *photon);
+   Bool_t AsymmetryCut(AliConversionPhotonBase *photon,AliVEvent *event);
+   Bool_t PIDProbabilityCut(AliConversionPhotonBase *photon, AliVEvent * event);
+   Bool_t SelectV0Finder(Bool_t onfly){
+      if(onfly == fUseOnFlyV0Finder) return kTRUE;
+      else return kFALSE;
+   }
+   Bool_t PhotonCuts(AliConversionPhotonBase *photon,AliVEvent *event);
+   Bool_t CorrectedTPCClusterCut(AliConversionPhotonBase *photon, AliVEvent * event);
+   Bool_t PsiPairCut(const AliConversionPhotonBase * photon, Double_t deltaPhi) const;
+   Bool_t CosinePAngleCut(const AliConversionPhotonBase * photon, AliVEvent * event) const;
+   Bool_t RejectSharedElectronV0s(AliAODConversionPhoton* photon, Int_t nV0, Int_t nV0s);
+   Bool_t RejectToCloseV0s(AliAODConversionPhoton* photon, TList *photons, Int_t nV0);
+   Int_t IsParticleFromBGEvent(Int_t index, AliStack *MCStack, AliVEvent *InputEvent = 0x0);
+   void GetNotRejectedParticles(Int_t rejection, TList *HeaderList, AliVEvent *MCEvent);
+   void SetUseReweightingWithHistogramFromFile( Bool_t pi0reweight=kTRUE, Bool_t etareweight=kFALSE, Bool_t k0sreweight=kFALSE, TString path="$ALICE_ROOT/PWGGA/GammaConv/MCSpectraInput.root", 
+                                                TString histoNamePi0 = "", TString histoNameEta = "", TString histoNameK0s = "",
+                                                TString fitNamePi0 = "", TString fitNameEta = "", TString fitNameK0s ="" ) {
+      AliInfo(Form("enabled reweighting for: pi0 : %i, eta: %i, K0s: %i",pi0reweight, etareweight, k0sreweight));
+      fDoReweightHistoMCPi0 = pi0reweight; 
+      fDoReweightHistoMCEta = etareweight; 
+      fDoReweightHistoMCK0s = k0sreweight; 
+      fPathTrFReweighting=path;
+      fNameHistoReweightingPi0 =histoNamePi0;
+      fNameHistoReweightingEta =histoNameEta;
+      fNameHistoReweightingK0s =histoNameK0s; 
+      fNameFitDataPi0 =fitNamePi0;
+      fNameFitDataEta =fitNameEta;
+      fNameFitDataK0s =fitNameK0s; 
+      
+   }
+   void  LoadReweightingHistosMCFromFile ();
+   // Event Cuts
+   Bool_t IsCentralitySelected(AliVEvent *fInputEvent, AliVEvent *fMCEvent = NULL);
+   Double_t GetCentrality(AliVEvent *event);
+   Int_t GetNumberOfContributorsVtx(AliVEvent *event);
+   Bool_t VertexZCut(AliVEvent *fInputEvent);
+   Bool_t IsTriggerSelected(AliVEvent *fInputEvent);
+   Bool_t HasV0AND(){return fHasV0AND;}
+   Bool_t IsSDDFired(){return fIsSDDFired;}
+   Int_t IsSpecialTrigger(){return fSpecialTrigger;}
+   TString GetSpecialTriggerName(){return fSpecialTriggerName;}
+   Bool_t InPlaneOutOfPlaneCut(Double_t photonPhi, Double_t eventPlaneAngle = -100, Bool_t fill = kTRUE);
+   Int_t GetInPlaneOutOfPlaneCut(){return fInPlaneOutOfPlane;}
 
-  static AliConversionCuts * GetStandardCuts2010PbPb();
-  static AliConversionCuts * GetStandardCuts2010pp();
 
-  virtual Bool_t IsSelected(TObject* /*obj*/){return kTRUE;}
-  virtual Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
+   // Set Individual Cuts
+   Bool_t SetRCut(Int_t RCut);
+   Bool_t SetV0Finder(Int_t v0FinderType);
+   Bool_t SetChi2GammaCut(Int_t chi2GammaCut);
+   Bool_t SetTPCdEdxCutPionLine(Int_t pidedxSigmaCut);
+   Bool_t SetTPCdEdxCutElectronLine(Int_t ededxSigmaCut);
+   Bool_t SetSinglePtCut(Int_t singlePtCut);
+   Bool_t SetTPCClusterCut(Int_t clsTPCCut);
+   Bool_t SetEtaCut(Int_t etaCut);
+   Bool_t SetMinMomPiondEdxCut(Int_t piMinMomdedxSigmaCut);
+   Bool_t SetMaxMomPiondEdxCut(Int_t piMaxMomdedxSigmaCut);
+   Bool_t SetLowPRejectionCuts(Int_t LowPRejectionSigmaCut);
+   Bool_t SetQtMaxCut(Int_t QtMaxCut);
+   Bool_t SetTOFElectronPIDCut(Int_t TOFelectronPID);
+   Bool_t SetTRDElectronCut(Int_t TRDElectronCut);
+   Bool_t SetCentralityMin(Int_t useCentrality);
+   Bool_t SetIsHeavyIon(Int_t isHeavyIon);
+   Bool_t SetCentralityMax(Int_t centralityBin);
+   Bool_t SetPhotonAsymmetryCut(Int_t doPhotonAsymmetryCut);
+   Bool_t SetRemovePileUp(Int_t removePileUp);  
+   Bool_t SetMultiplicityMethod(Int_t multiplicityMethod);
+   Int_t SetSelectSpecialTrigger(Int_t selectSpecialTrigger);
+   Bool_t SetCosPAngleCut(Int_t cosCut);
+   Bool_t SetPsiPairCut(Int_t psiCut);
+   Bool_t SetSharedElectronCut(Int_t sharedElec);
+   Bool_t SetToCloseV0sCut(Int_t toClose);
+   Bool_t SetRejectExtraSignalsCut(Int_t extraSignal);
+   Bool_t SetDCARPhotonPrimVtxCut(Int_t DCARPhotonPrimVtx);
+   Bool_t SetDCAZPhotonPrimVtxCut(Int_t DCAZPhotonPrimVtx);
+   Bool_t SetInPlaneOutOfPlane(Int_t inOutPlane);
+   
+   // Request Flags
 
-  TString GetCutNumber();
-  
-  void GetCentralityRange(Double_t range[2]){range[0]=10*fCentralityMin;range[1]=10*fCentralityMax;};
-  
-  // Cut Selection
-  Bool_t EventIsSelected(AliVEvent *fInputEvent, AliVEvent *fMCEvent);
-  Int_t IsEventAcceptedByConversionCut(AliConversionCuts *ReaderCuts, AliVEvent *InputEvent, AliMCEvent *MCEvent, Bool_t isHeavyIon);
-  Bool_t PhotonIsSelected(AliConversionPhotonBase * photon, AliVEvent  * event);
-  Bool_t PhotonIsSelectedMC(TParticle *particle,AliStack *fMCStack,Bool_t checkForConvertedGamma=kTRUE);
-  Bool_t PhotonIsSelectedAODMC(AliAODMCParticle *particle,TClonesArray *aodmcArray,Bool_t checkForConvertedGamma=kTRUE);
-  Bool_t ElectronIsSelectedMC(TParticle *particle,AliStack *fMCStack);
-  Bool_t TracksAreSelected(AliVTrack * negTrack, AliVTrack * posTrack);
-  Bool_t MesonIsSelected(AliAODConversionMother *pi0,Bool_t IsSignal=kTRUE);
-  Bool_t MesonIsSelectedMC(TParticle *fMCMother,AliStack *fMCStack, Bool_t bMCDaughtersInAcceptance=kFALSE);
-
-  void InitAODpidUtil(Int_t type);
-  Bool_t InitPIDResponse();
-  
-  void SetPIDResponse(AliPIDResponse * pidResponse) {fPIDResponse = pidResponse;}
-  AliPIDResponse * GetPIDResponse() { return fPIDResponse;}
-  
-  void PrintCuts();
-
-  void InitCutHistograms(TString name="",Bool_t preCut = kTRUE);
-  void SetFillCutHistograms(TString name="",Bool_t preCut = kTRUE){if(!fHistograms){InitCutHistograms(name,preCut);};}
-  TList *GetCutHistograms(){return fHistograms;}
-  void FillPhotonCutIndex(Int_t photoncut){if(hCutIndex)hCutIndex->Fill(photoncut);}
-  void SetEtaShift(Double_t etaShift) {
-     fEtaShift = etaShift;
-     fLineCutZRSlope = tan(2*atan(exp(-fEtaCut + etaShift)));
-     if(fEtaCutMin > -0.1)
-        fLineCutZRSlopeMin = tan(2*atan(exp(-fEtaCutMin + etaShift)));
-  }
-  void SetEtaShift(TString pPbOrPbp) {
-     Double_t etaShift = 0.0;
-     if(!pPbOrPbp.CompareTo("pPb"))      etaShift = -0.465;
-     else if(!pPbOrPbp.CompareTo("Pbp")) etaShift =  0.465;
-     
-     fEtaShift = etaShift;
-     fLineCutZRSlope = tan(2*atan(exp(-fEtaCut + etaShift)));
-     if(fEtaCutMin > -0.1)
-        fLineCutZRSlopeMin = tan(2*atan(exp(-fEtaCutMin + etaShift)));
-  }
-  Double_t GetEtaShift() {return fEtaShift;}
-  Bool_t GetDoEtaShift(){return fDoEtaShift;}
-  void DoEtaShift(Bool_t doEtaShift){fDoEtaShift = doEtaShift;}
-  void GetCorrectEtaShiftFromPeriod(TString periodName);
-  
-  static AliVTrack * GetTrack(AliVEvent * event, Int_t label);
-  static AliESDtrack *GetESDTrack(AliESDEvent * event, Int_t label);
-  
-  ///Cut functions
-  Bool_t SpecificTrackCuts(AliAODTrack * negTrack, AliAODTrack * posTrack,Int_t &cutIndex);
-  Bool_t SpecificTrackCuts(AliESDtrack * negTrack, AliESDtrack * posTrack,Int_t &cutIndex);
-  Bool_t AcceptanceCuts(AliConversionPhotonBase *photon);
-  Bool_t AcceptanceCut(TParticle *particle, TParticle * ePos,TParticle* eNeg);
-  Bool_t dEdxCuts(AliVTrack * track);
-  Bool_t ArmenterosQtCut(AliConversionPhotonBase *photon);
-  Bool_t AsymmetryCut(AliConversionPhotonBase *photon,AliVEvent *event);
-  Bool_t PIDProbabilityCut(AliConversionPhotonBase *photon, AliVEvent * event);
-  Bool_t SelectV0Finder(Bool_t onfly){
-     if(onfly == fUseOnFlyV0Finder) return kTRUE;
-     else return kFALSE;
-  }
-  Bool_t PhotonCuts(AliConversionPhotonBase *photon,AliVEvent *event);
-  Bool_t CorrectedTPCClusterCut(AliConversionPhotonBase *photon, AliVEvent * event);
-  Bool_t PsiPairCut(const AliConversionPhotonBase * photon, Double_t deltaPhi) const;
-  Bool_t CosinePAngleCut(const AliConversionPhotonBase * photon, AliVEvent * event) const;
-  Bool_t RejectSharedElectronV0s(AliAODConversionPhoton* photon, Int_t nV0, Int_t nV0s);
-  Bool_t RejectToCloseV0s(AliAODConversionPhoton* photon, TList *photons, Int_t nV0);
-  Int_t IsParticleFromBGEvent(Int_t index, AliStack *MCStack, AliVEvent *InputEvent = 0x0);
-  void GetNotRejectedParticles(Int_t rejection, TList *HeaderList, AliVEvent *MCEvent);
-  void SetUseReweightingWithHistogramFromFile( Bool_t pi0reweight=kTRUE, Bool_t etareweight=kFALSE, Bool_t k0sreweight=kFALSE, TString path="$ALICE_ROOT/PWGGA/GammaConv/MCSpectraInput.root", 
-                                               TString histoNamePi0 = "", TString histoNameEta = "", TString histoNameK0s = "",
-                                               TString fitNamePi0 = "", TString fitNameEta = "", TString fitNameK0s ="" ) {
-     AliInfo(Form("enabled reweighting for: pi0 : %i, eta: %i, K0s: %i",pi0reweight, etareweight, k0sreweight));
-     fDoReweightHistoMCPi0 = pi0reweight; 
-     fDoReweightHistoMCEta = etareweight; 
-     fDoReweightHistoMCK0s = k0sreweight; 
-     fPathTrFReweighting=path;
-     fNameHistoReweightingPi0 =histoNamePi0;
-     fNameHistoReweightingEta =histoNameEta;
-     fNameHistoReweightingK0s =histoNameK0s; 
-     fNameFitDataPi0 =fitNamePi0;
-     fNameFitDataEta =fitNameEta;
-     fNameFitDataK0s =fitNameK0s; 
-     
-  }
-  void  LoadReweightingHistosMCFromFile ();
-  // Event Cuts
-  Bool_t IsCentralitySelected(AliVEvent *fInputEvent, AliVEvent *fMCEvent = NULL);
-  Double_t GetCentrality(AliVEvent *event);
-  Int_t GetNumberOfContributorsVtx(AliVEvent *event);
-  Bool_t VertexZCut(AliVEvent *fInputEvent);
-  Bool_t IsTriggerSelected(AliVEvent *fInputEvent);
-  Bool_t HasV0AND(){return fHasV0AND;}
-  Bool_t IsSDDFired(){return fIsSDDFired;}
-  Int_t IsSpecialTrigger(){return fSpecialTrigger;}
-  TString GetSpecialTriggerName(){return fSpecialTriggerName;}
-
-  // Set Individual Cuts
-  Bool_t SetRCut(Int_t RCut);
-  Bool_t SetV0Finder(Int_t v0FinderType);
-  Bool_t SetChi2GammaCut(Int_t chi2GammaCut);
-  Bool_t SetTPCdEdxCutPionLine(Int_t pidedxSigmaCut);
-  Bool_t SetTPCdEdxCutElectronLine(Int_t ededxSigmaCut);
-  Bool_t SetSinglePtCut(Int_t singlePtCut);
-  Bool_t SetTPCClusterCut(Int_t clsTPCCut);
-  Bool_t SetEtaCut(Int_t etaCut);
-  Bool_t SetMinMomPiondEdxCut(Int_t piMinMomdedxSigmaCut);
-  Bool_t SetMaxMomPiondEdxCut(Int_t piMaxMomdedxSigmaCut);
-  Bool_t SetLowPRejectionCuts(Int_t LowPRejectionSigmaCut);
-  Bool_t SetQtMaxCut(Int_t QtMaxCut);
-  Bool_t SetTOFElectronPIDCut(Int_t TOFelectronPID);
-  Bool_t SetTRDElectronCut(Int_t TRDElectronCut);
-  Bool_t SetCentralityMin(Int_t useCentrality);
-  Bool_t SetIsHeavyIon(Int_t isHeavyIon);
-  Bool_t SetCentralityMax(Int_t centralityBin);
-  Bool_t SetPhotonAsymmetryCut(Int_t doPhotonAsymmetryCut);
-  Bool_t SetRemovePileUp(Int_t removePileUp);  
-  Bool_t SetMultiplicityMethod(Int_t multiplicityMethod);
-  Int_t SetSelectSpecialTrigger(Int_t selectSpecialTrigger);
-  Bool_t SetCosPAngleCut(Int_t cosCut);
-  Bool_t SetPsiPairCut(Int_t psiCut);
-  Bool_t SetSharedElectronCut(Int_t sharedElec);
-  Bool_t SetToCloseV0sCut(Int_t toClose);
-  Bool_t SetRejectExtraSignalsCut(Int_t extraSignal);
-  Bool_t SetDCARPhotonPrimVtxCut(Int_t DCARPhotonPrimVtx);
-  Bool_t SetDCAZPhotonPrimVtxCut(Int_t DCAZPhotonPrimVtx);
+   Int_t IsHeavyIon(){return fIsHeavyIon;}
+   Int_t GetFirstTPCRow(Double_t radius);
+   Float_t GetWeightForMeson(TString period, Int_t index, AliStack *MCStack, AliVEvent *InputEvent = 0x0);
+
+   Bool_t UseElecSharingCut(){return fDoSharedElecCut;}
+   Bool_t UseToCloseV0sCut(){return fDoToCloseV0sCut;}
+   Int_t GetMultiplicityMethod(){return fMultiplicityMethod;}
+   Double_t GetEtaCut(){return fEtaCut;}
+   Int_t GetSignalRejection(){return fRejectExtraSignals;}
+   Int_t GetNAcceptedHeaders(){return fnHeaders; }
+   TString * GetAcceptedHeaderNames(){return fGeneratorNames;}
+   Int_t * GetAcceptedHeaderStart(){return fNotRejectedStart;}
+   Int_t * GetAcceptedHeaderEnd(){return fNotRejectedEnd;}
+   TList* GetAcceptedHeader(){return fHeaderList;}
    
-  // Request Flags
-
-  Int_t IsHeavyIon(){return fIsHeavyIon;}
-  Int_t GetFirstTPCRow(Double_t radius);
-  Float_t GetWeightForMeson(TString period, Int_t index, AliStack *MCStack, AliVEvent *InputEvent = 0x0);
-
-  Bool_t UseElecSharingCut(){return fDoSharedElecCut;}
-  Bool_t UseToCloseV0sCut(){return fDoToCloseV0sCut;}
-  Int_t GetMultiplicityMethod(){return fMultiplicityMethod;}
-  Double_t GetEtaCut(){return fEtaCut;}
-  Int_t GetSignalRejection(){return fRejectExtraSignals;}
-  Int_t GetNAcceptedHeaders(){return fnHeaders; }
-  TString * GetAcceptedHeaderNames(){return fGeneratorNames;}
-  Int_t * GetAcceptedHeaderStart(){return fNotRejectedStart;}
-  Int_t * GetAcceptedHeaderEnd(){return fNotRejectedEnd;}
-  TList* GetAcceptedHeader(){return fHeaderList;}
-  
-  
-  protected:
-  TList *fHistograms;
-  TList *fHeaderList;
-  AliPIDResponse *fPIDResponse;
-
-
-  Int_t fEventQuality; // EventQuality
-  //cuts
-  Double_t fMaxR; //r cut
-  Double_t fMinR; //r cut
-  Double_t fEtaCut; //eta cut
-  Double_t fEtaCutMin; //eta cut
-  Double_t fPtCut; // pt cut
-  Double_t fSinglePtCut; // pt cut for electron/positron
-  Double_t fMaxZ; //z cut
-  Double_t fMinClsTPC; // minimum clusters in the TPC
-  Double_t fMinClsTPCToF; // minimum clusters to findable clusters
-  Double_t fLineCutZRSlope; //linecut
-  Double_t fLineCutZValue; //linecut
-  Double_t fLineCutZRSlopeMin; //linecut
-  Double_t fLineCutZValueMin; //linecut
-  Double_t fChi2CutConversion; //chi2cut
-  Double_t fPIDProbabilityCutNegativeParticle;
-  Double_t fPIDProbabilityCutPositiveParticle;
-  Bool_t   fDodEdxSigmaCut; // flag to use the dEdxCut based on sigmas
-  Bool_t   fDoTOFsigmaCut; // flag to use TOF pid cut RRnewTOF
-  Double_t fPIDTRDEfficiency; // required electron efficiency for TRD PID
-  Bool_t   fDoTRDPID; // flag to use TRD pid
-  Double_t fPIDnSigmaAboveElectronLine; // sigma cut
-  Double_t fPIDnSigmaBelowElectronLine; // sigma cut
-  Double_t fTofPIDnSigmaAboveElectronLine; // sigma cut RRnewTOF
-  Double_t fTofPIDnSigmaBelowElectronLine; // sigma cut RRnewTOF 
-  Double_t fPIDnSigmaAbovePionLine;     // sigma cut
-  Double_t fPIDnSigmaAbovePionLineHighPt;     // sigma cut
-  Double_t fPIDMinPnSigmaAbovePionLine; // sigma cut
-  Double_t fPIDMaxPnSigmaAbovePionLine; // sigma cut
-  Double_t fDoKaonRejectionLowP;   // Kaon rejection at low p
-  Double_t fDoProtonRejectionLowP; // Proton rejection at low p
-  Double_t fDoPionRejectionLowP;   // Pion rejection at low p
-  Double_t fPIDnSigmaAtLowPAroundKaonLine; // sigma cut
-  Double_t fPIDnSigmaAtLowPAroundProtonLine; // sigma cut
-  Double_t fPIDnSigmaAtLowPAroundPionLine; // sigma cut
-  Double_t fPIDMinPKaonRejectionLowP; // Momentum limit to apply kaon rejection
-  Double_t fPIDMinPProtonRejectionLowP; // Momentum limit to apply proton rejection
-  Double_t fPIDMinPPionRejectionLowP; // Momentum limit to apply proton rejection
-  Bool_t   fDoQtGammaSelection; // Select gammas using qtMax
-  Bool_t   fDoHighPtQtGammaSelection; // RRnew Select gammas using qtMax for high pT
-  Double_t fQtMax; // Maximum Qt from Armenteros to select Gammas
-  Double_t fHighPtQtMax; // RRnew Maximum Qt for High pT from Armenteros to select Gammas
-  Double_t fPtBorderForQt; // RRnew 
-  Double_t fXVertexCut; //vertex cut
-  Double_t fYVertexCut; //vertex cut
-  Double_t fZVertexCut; // vertexcut
-  Double_t fNSigmaMass; //nsigma cut
-  Bool_t fUseEtaMinCut; //flag
-  Bool_t fUseOnFlyV0Finder; //flag
-  Bool_t   fDoPhotonAsymmetryCut; // flag to use the PhotonAsymetryCut
-  Double_t fMinPPhotonAsymmetryCut; // Min Momentum for Asymmetry Cut
-  Double_t fMinPhotonAsymmetry;  // Asymmetry Cut
-  Int_t  fIsHeavyIon;               // flag for heavy ion
-  Int_t fDetectorCentrality;  // centrality detecotor V0M or CL1
-  Int_t fModCentralityClass; // allows to select smaller centrality classes
-  Double_t fMaxVertexZ;    // max z offset of vertex
-  Int_t fCentralityMin;  // centrality selection lower bin value
-  Int_t fCentralityMax; // centrality selection upper bin value
-  Bool_t fUseCorrectedTPCClsInfo; // flag to use corrected tpc cl info
-  Bool_t fUseTOFpid; // flag to use tof pid
-  Int_t fMultiplicityMethod; // selected multiplicity method
-  Int_t fSpecialTrigger; // flag
-  Bool_t fRemovePileUp; //flag
-  Float_t fOpeningAngle; // min opening angle for meson
-  Float_t fPsiPairCut;
-  Float_t fPsiPairDeltaPhiCut;
-  Bool_t fDo2DPsiPair;
-  Float_t fCosPAngleCut;
-  Bool_t fDoToCloseV0sCut; //
-  Int_t fRejectExtraSignals;//
-  Double_t fminV0Dist; //
-  Bool_t fDoSharedElecCut; //
-  UInt_t fOfflineTriggerMask;   //  Task processes collision candidates only
-  Bool_t fHasV0AND; // V0AND Offline Trigger
-  Bool_t fIsSDDFired; // SDD FIRED to select with SDD events
-  TRandom3 fRandom; //
-  Int_t fElectronArraySize; // Size of electron array
-  Int_t *fElectronLabelArray; //[fElectronArraySize]
-  Double_t fDCAZPrimVtxCut; // cut value for the maximum distance in Z between the photon & the primary vertex [cm]
-  Double_t fDCARPrimVtxCut; // cut value for the maximum distance in R between the photon & the primary vertex [cm]
-  Float_t fConversionPointXArray; // Array with conversion Point x
-  Float_t fConversionPointYArray; // Array with conversion Point y
-  Float_t fConversionPointZArray; // Array with conversion Point z
-  Int_t fnHeaders; // Number of Headers
-  Int_t *fNotRejectedStart; //[fnHeaders]
-  Int_t *fNotRejectedEnd; //[fnHeaders]
-  TString *fGeneratorNames; //[fnHeaders]
-  TObjString *fCutString; // cut number used for analysis
-  AliAnalysisUtils *fUtils;
-  Double_t fEtaShift;
-  Bool_t fDoEtaShift;            // Flag for Etashift
-  Bool_t fDoReweightHistoMCPi0; // Flag for reweighting Pi0 input with histogram
-  Bool_t fDoReweightHistoMCEta; // Flag for reweighting Eta input with histogram
-  Bool_t fDoReweightHistoMCK0s; // Flag for reweighting K0s input with histogram
-  TString fPathTrFReweighting; // Path for file used in reweighting
-  TString fNameHistoReweightingPi0; //Histogram name for reweighting Pi0
-  TString fNameHistoReweightingEta; //Histogram name for reweighting Eta
-  TString fNameHistoReweightingK0s; //Histogram name for reweighting K0s
-  TString fNameFitDataPi0; //Fit name for fit to spectrum of pi0s in Data
-  TString fNameFitDataEta; //Fit name for fit to spectrum of etas in Data
-  TString fNameFitDataK0s; //Fit name for fit to spectrum of k0s in Data
-  // Histograms
-  TH1F *hdEdxCuts;  // bookkeeping for dEdx cuts
-  TH2F *hTPCdEdxbefore; // TPC dEdx before cuts
-  TH2F *hTPCdEdxafter; // TPC dEdx after cuts
-  TH2F *hTPCdEdxSigbefore; // TPC Sigma dEdx before cuts
-  TH2F *hTPCdEdxSigafter; // TPC Sigm dEdx after cuts
-  TH2F *hTOFbefore; // TOF before cuts
-  TH2F *hTOFSigbefore; // TOF Sigma before cuts
-  TH2F *hTOFSigafter; // TOF Sigma after cuts
-  TH2F *hPsiPairDeltaPhiafter; // TOF Sigma after cuts
-  TH1F *hTrackCuts; // bookkeeping for track cuts
-  TH1F *hPhotonCuts; // bookkeeping for photon specific cuts
-  TH1F *hInvMassbefore; // e+e- inv mass distribution before cuts
-  TH2F *hArmenterosbefore; // armenteros podolanski plot before cuts
-  TH1F *hInvMassafter; // e+e- inv mass distribution after cuts
-  TH2F *hArmenterosafter;  // armenteros podolanski plot after cuts
-  TH1F *hAcceptanceCuts; // bookkeeping for acceptance cuts
-  TH1F *hCutIndex; // bookkeeping for cuts
-  TH1F *hV0EventCuts; // bookkeeping for event selection cuts
-  TH1F *hCentrality; // centrality distribution for selected events
-  TH2F *hCentralityVsNumberOfPrimaryTracks; // centrality distribution for selected events
-  TH1F *hVertexZ; // vertex z distribution for selected events
-  TH1F *hTriggerClass; //fired offline trigger class
-  TH1F *hTriggerClassSelected; //selected fired offline trigger class
-  TH1D *hReweightMCHistPi0; //histogram input for reweighting Pi0
-  TH1D *hReweightMCHistEta; //histogram input for reweighting Eta
-  TH1D *hReweightMCHistK0s; //histogram input for reweighting K0s
-  TF1  *fFitDataPi0; //fit to pi0 spectrum in Data
-  TF1  *fFitDataEta; //fit to eta spectrum in Data
-  TF1  *fFitDataK0s; //fit to K0s spectrum in Data
-  Bool_t fPreSelCut; // Flag for preselection cut used in V0Reader
-  Bool_t fTriggerSelectedManually; // Flag for manual trigger selection
-  TString fSpecialTriggerName; // Name of the Special Triggers
+   
+   protected:
+   TList *fHistograms;
+   TList *fHeaderList;
+   AliPIDResponse *fPIDResponse;
+
+
+   Int_t fEventQuality; // EventQuality
+   //cuts
+   Double_t fMaxR; //r cut
+   Double_t fMinR; //r cut
+   Double_t fEtaCut; //eta cut
+   Double_t fEtaCutMin; //eta cut
+   Double_t fPtCut; // pt cut
+   Double_t fSinglePtCut; // pt cut for electron/positron
+   Double_t fMaxZ; //z cut
+   Double_t fMinClsTPC; // minimum clusters in the TPC
+   Double_t fMinClsTPCToF; // minimum clusters to findable clusters
+   Double_t fLineCutZRSlope; //linecut
+   Double_t fLineCutZValue; //linecut
+   Double_t fLineCutZRSlopeMin; //linecut
+   Double_t fLineCutZValueMin; //linecut
+   Double_t fChi2CutConversion; //chi2cut
+   Double_t fPIDProbabilityCutNegativeParticle;
+   Double_t fPIDProbabilityCutPositiveParticle;
+   Bool_t   fDodEdxSigmaCut; // flag to use the dEdxCut based on sigmas
+   Bool_t   fDoTOFsigmaCut; // flag to use TOF pid cut RRnewTOF
+   Double_t fPIDTRDEfficiency; // required electron efficiency for TRD PID
+   Bool_t   fDoTRDPID; // flag to use TRD pid
+   Double_t fPIDnSigmaAboveElectronLine; // sigma cut
+   Double_t fPIDnSigmaBelowElectronLine; // sigma cut
+   Double_t fTofPIDnSigmaAboveElectronLine; // sigma cut RRnewTOF
+   Double_t fTofPIDnSigmaBelowElectronLine; // sigma cut RRnewTOF 
+   Double_t fPIDnSigmaAbovePionLine;     // sigma cut
+   Double_t fPIDnSigmaAbovePionLineHighPt;     // sigma cut
+   Double_t fPIDMinPnSigmaAbovePionLine; // sigma cut
+   Double_t fPIDMaxPnSigmaAbovePionLine; // sigma cut
+   Double_t fDoKaonRejectionLowP;   // Kaon rejection at low p
+   Double_t fDoProtonRejectionLowP; // Proton rejection at low p
+   Double_t fDoPionRejectionLowP;   // Pion rejection at low p
+   Double_t fPIDnSigmaAtLowPAroundKaonLine; // sigma cut
+   Double_t fPIDnSigmaAtLowPAroundProtonLine; // sigma cut
+   Double_t fPIDnSigmaAtLowPAroundPionLine; // sigma cut
+   Double_t fPIDMinPKaonRejectionLowP; // Momentum limit to apply kaon rejection
+   Double_t fPIDMinPProtonRejectionLowP; // Momentum limit to apply proton rejection
+   Double_t fPIDMinPPionRejectionLowP; // Momentum limit to apply proton rejection
+   Bool_t   fDoQtGammaSelection; // Select gammas using qtMax
+   Bool_t   fDoHighPtQtGammaSelection; // RRnew Select gammas using qtMax for high pT
+   Double_t fQtMax; // Maximum Qt from Armenteros to select Gammas
+   Double_t fHighPtQtMax; // RRnew Maximum Qt for High pT from Armenteros to select Gammas
+   Double_t fPtBorderForQt; // RRnew 
+   Double_t fXVertexCut; //vertex cut
+   Double_t fYVertexCut; //vertex cut
+   Double_t fZVertexCut; // vertexcut
+   Double_t fNSigmaMass; //nsigma cut
+   Bool_t fUseEtaMinCut; //flag
+   Bool_t fUseOnFlyV0Finder; //flag
+   Bool_t   fDoPhotonAsymmetryCut; // flag to use the PhotonAsymetryCut
+   Double_t fMinPPhotonAsymmetryCut; // Min Momentum for Asymmetry Cut
+   Double_t fMinPhotonAsymmetry;  // Asymmetry Cut
+   Int_t  fIsHeavyIon;               // flag for heavy ion
+   Int_t fDetectorCentrality;  // centrality detecotor V0M or CL1
+   Int_t fModCentralityClass; // allows to select smaller centrality classes
+   Double_t fMaxVertexZ;    // max z offset of vertex
+   Int_t fCentralityMin;  // centrality selection lower bin value
+   Int_t fCentralityMax; // centrality selection upper bin value
+   Bool_t fUseCorrectedTPCClsInfo; // flag to use corrected tpc cl info
+   Bool_t fUseTOFpid; // flag to use tof pid
+   Int_t fMultiplicityMethod; // selected multiplicity method
+   Int_t fSpecialTrigger; // flag
+   Bool_t fRemovePileUp; //flag
+   Float_t fOpeningAngle; // min opening angle for meson
+   Float_t fPsiPairCut;
+   Float_t fPsiPairDeltaPhiCut;
+   Bool_t fDo2DPsiPair;
+   Float_t fCosPAngleCut;
+   Bool_t fDoToCloseV0sCut; //
+   Int_t fRejectExtraSignals;//
+   Double_t fminV0Dist; //
+   Bool_t fDoSharedElecCut; //
+   UInt_t fOfflineTriggerMask;   //  Task processes collision candidates only
+   Bool_t fHasV0AND; // V0AND Offline Trigger
+   Bool_t fIsSDDFired; // SDD FIRED to select with SDD events
+   TRandom3 fRandom; //
+   Int_t fElectronArraySize; // Size of electron array
+   Int_t *fElectronLabelArray; //[fElectronArraySize]
+   Double_t fDCAZPrimVtxCut; // cut value for the maximum distance in Z between the photon & the primary vertex [cm]
+   Double_t fDCARPrimVtxCut; // cut value for the maximum distance in R between the photon & the primary vertex [cm]
+   Int_t fInPlaneOutOfPlane; // In-Plane Out-Of Plane Analysis
+   Float_t fConversionPointXArray; // Array with conversion Point x
+   Float_t fConversionPointYArray; // Array with conversion Point y
+   Float_t fConversionPointZArray; // Array with conversion Point z
+   Int_t fnHeaders; // Number of Headers
+   Int_t *fNotRejectedStart; //[fnHeaders]
+   Int_t *fNotRejectedEnd; //[fnHeaders]
+   TString *fGeneratorNames; //[fnHeaders]
+   TObjString *fCutString; // cut number used for analysis
+   AliAnalysisUtils *fUtils;
+   Double_t fEtaShift;
+   Bool_t fDoEtaShift;            // Flag for Etashift
+   Bool_t fDoReweightHistoMCPi0; // Flag for reweighting Pi0 input with histogram
+   Bool_t fDoReweightHistoMCEta; // Flag for reweighting Eta input with histogram
+   Bool_t fDoReweightHistoMCK0s; // Flag for reweighting K0s input with histogram
+   TString fPathTrFReweighting; // Path for file used in reweighting
+   TString fNameHistoReweightingPi0; //Histogram name for reweighting Pi0
+   TString fNameHistoReweightingEta; //Histogram name for reweighting Eta
+   TString fNameHistoReweightingK0s; //Histogram name for reweighting K0s
+   TString fNameFitDataPi0; //Fit name for fit to spectrum of pi0s in Data
+   TString fNameFitDataEta; //Fit name for fit to spectrum of etas in Data
+   TString fNameFitDataK0s; //Fit name for fit to spectrum of k0s in Data
+   // Histograms
+   TH1F *hdEdxCuts;  // bookkeeping for dEdx cuts
+   TH2F *hTPCdEdxbefore; // TPC dEdx before cuts
+   TH2F *hTPCdEdxafter; // TPC dEdx after cuts
+   TH2F *hTPCdEdxSigbefore; // TPC Sigma dEdx before cuts
+   TH2F *hTPCdEdxSigafter; // TPC Sigm dEdx after cuts
+   TH2F *hTOFbefore; // TOF before cuts
+   TH2F *hTOFSigbefore; // TOF Sigma before cuts
+   TH2F *hTOFSigafter; // TOF Sigma after cuts
+   TH2F *hPsiPairDeltaPhiafter; // TOF Sigma after cuts
+   TH1F *hTrackCuts; // bookkeeping for track cuts
+   TH1F *hPhotonCuts; // bookkeeping for photon specific cuts
+   TH1F *hInvMassbefore; // e+e- inv mass distribution before cuts
+   TH2F *hArmenterosbefore; // armenteros podolanski plot before cuts
+   TH1F *hInvMassafter; // e+e- inv mass distribution after cuts
+   TH2F *hArmenterosafter;  // armenteros podolanski plot after cuts
+   TH1F *hAcceptanceCuts; // bookkeeping for acceptance cuts
+   TH1F *hCutIndex; // bookkeeping for cuts
+   TH1F *hV0EventCuts; // bookkeeping for event selection cuts
+   TH1F *hCentrality; // centrality distribution for selected events
+   TH2F *hCentralityVsNumberOfPrimaryTracks; // centrality distribution for selected events
+   TH1F *hVertexZ; // vertex z distribution for selected events
+   TH1F *hEventPlanePhi; //EventPlaneAngle Minus Photon Angle
+   TH1F *hTriggerClass; //fired offline trigger class
+   TH1F *hTriggerClassSelected; //selected fired offline trigger class
+   TH1D *hReweightMCHistPi0; //histogram input for reweighting Pi0
+   TH1D *hReweightMCHistEta; //histogram input for reweighting Eta
+   TH1D *hReweightMCHistK0s; //histogram input for reweighting K0s
+   TF1  *fFitDataPi0; //fit to pi0 spectrum in Data
+   TF1  *fFitDataEta; //fit to eta spectrum in Data
+   TF1  *fFitDataK0s; //fit to K0s spectrum in Data
+   Bool_t fPreSelCut; // Flag for preselection cut used in V0Reader
+   Bool_t fTriggerSelectedManually; // Flag for manual trigger selection
+   TString fSpecialTriggerName; // Name of the Special Triggers
 private:
 
-  ClassDef(AliConversionCuts,5)
+   ClassDef(AliConversionCuts,6)
 };
 
 
index c02bf84479cb5763383290e8f14d7ad88791b916..17606a86d2ef1c2c5b2c1b0ac241c2c1c1872c34 100644 (file)
@@ -721,7 +721,7 @@ Bool_t AliDalitzElectronCuts::IsFromGammaConversion( Double_t psiPair, Double_t
 }\r
 \r
 ///________________________________________________________________________\r
-Bool_t AliDalitzElectronCuts::UpdateCutString() {\r
+Bool_t AliDalitzElectronCuts::UpdateCutString(cutIds cutID, Int_t value) {\r
 ///Update the cut string (if it has been created yet)\r
 \r
   if(fCutString && fCutString->GetString().Length() == kNCuts) {\r
@@ -792,42 +792,42 @@ Bool_t AliDalitzElectronCuts::SetCut(cutIds cutID, const Int_t value) {
   case kededxSigmaITSCut:\r
        if( SetITSdEdxCutElectronLine(value)) { //NOTE SetITSdEdxCutElectronLine: To be implemented \r
          fCuts[kededxSigmaITSCut] = value;\r
-         UpdateCutString();\r
+         UpdateCutString(cutID, value);\r
          return kTRUE;\r
        } else return kFALSE;\r
 \r
        case kededxSigmaTPCCut:\r
                if( SetTPCdEdxCutElectronLine(value)) { //NOTE SetITSdEdxCutElectronLine: To be implemented \r
                        fCuts[kededxSigmaTPCCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
                \r
   case kpidedxSigmaTPCCut:\r
                if( SetTPCdEdxCutPionLine(value)) { //NOTE SetITSdEdxCutPionLine: To be implemented\r
                        fCuts[kpidedxSigmaTPCCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
                \r
   case kpiMinMomdedxSigmaTPCCut:\r
                if( SetMinMomPiondEdxTPCCut(value)) {\r
                        fCuts[kpiMinMomdedxSigmaTPCCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
                \r
   case kpiMaxMomdedxSigmaTPCCut:\r
                if( SetMaxMomPiondEdxTPCCut(value)) {\r
                        fCuts[kpiMaxMomdedxSigmaTPCCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
                \r
   case kLowPRejectionSigmaCut:\r
                if( SetLowPRejectionCuts(value) ) {\r
                        fCuts[kLowPRejectionSigmaCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
                \r
@@ -835,39 +835,39 @@ Bool_t AliDalitzElectronCuts::SetCut(cutIds cutID, const Int_t value) {
   case kTOFelectronPID:\r
                if( SetTOFElectronPIDCut(value)) {\r
                        fCuts[kTOFelectronPID] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
   case kclsITSCut:\r
                if( SetITSClusterCut(value) ) {\r
                        fCuts[kclsITSCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;                   \r
                } else return kFALSE;\r
   case kclsTPCCut:\r
                if( SetTPCClusterCut(value)) {\r
                        fCuts[kclsTPCCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
                \r
   case ketaCut:\r
                if( SetEtaCut(value)) {\r
                        fCuts[ketaCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
   case kptCut:         \r
                if( SetPtCut(value)) {\r
                        fCuts[kptCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
     \r
   case kDCACut:\r
                if( SetDCACut(value)) {\r
                        fCuts[kDCACut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
              \r
@@ -875,41 +875,41 @@ Bool_t AliDalitzElectronCuts::SetCut(cutIds cutID, const Int_t value) {
        case kPsiPair:\r
                if( SetPsiPairCut(value)) {\r
                        fCuts[kPsiPair] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
                \r
   case kRejectSharedElecGamma:\r
                if( SetRejectSharedElecGamma(value)) {\r
                        fCuts[kRejectSharedElecGamma] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
           return kTRUE;\r
                } else return kFALSE;\r
                \r
   case kBackgroundScheme:\r
                if( SetBackgroundScheme(value)) {\r
                        fCuts[kBackgroundScheme] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
 \r
   case kNumberOfRotations:\r
                if( SetNumberOfRotations(value)) {\r
                        fCuts[kNumberOfRotations] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
                \r
   case kmassCut:\r
                if( SetMassCut(value)) {\r
                        fCuts[kmassCut] = value;\r
-                       UpdateCutString();\r
+                       UpdateCutString(cutID, value);\r
                        return kTRUE;\r
                } else return kFALSE;\r
   case kWeights:\r
                 if( SetDoWeights(value)) {\r
                         fCuts[kWeights] = value;\r
-                        UpdateCutString();\r
+                        UpdateCutString(cutID, value);\r
                         return kTRUE;\r
                 } else return kFALSE;\r
                \r
@@ -1188,52 +1188,52 @@ Bool_t AliDalitzElectronCuts::SetTPCClusterCut(Int_t clsTPCCut)
 {   // Set Cut\r
        switch(clsTPCCut){\r
        case 0: // 0\r
-               fMinClsTPC= 0;\r
+               fMinClsTPC= 0.;\r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                break;\r
        case 1:  // 70\r
-               fMinClsTPC= 70;\r
+               fMinClsTPC= 70.;\r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                break;\r
        case 2:  // 80\r
-               fMinClsTPC= 80;\r
+               fMinClsTPC= 80.;\r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                break;\r
        case 3:  // 100\r
-               fMinClsTPC= 100;\r
+               fMinClsTPC= 100.;\r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                break;\r
        case 4:  // 0% of findable clusters\r
-               fMinClsTPC= 70;  \r
+               fMinClsTPC= 70.;  \r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                fMinClsTPCToF= 0.0;\r
                fUseCorrectedTPCClsInfo=0;\r
                break;\r
        case 5:  // 35% of findable clusters\r
-               fMinClsTPC = 70;  \r
+               fMinClsTPC = 70.;  \r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                fMinClsTPCToF= 0.35;\r
                fUseCorrectedTPCClsInfo=0;\r
                break;\r
        case 6:  // 60% of findable clusters\r
-               fMinClsTPC= 70;  \r
+               fMinClsTPC= 70.;  \r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                fMinClsTPCToF= 0.6;\r
                fUseCorrectedTPCClsInfo=0;\r
                break;\r
        case 7:  // 70% of findable clusters\r
-               fMinClsTPC= 70;  \r
+               fMinClsTPC= 70.;  \r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                fMinClsTPCToF= 0.7;\r
                fUseCorrectedTPCClsInfo=0;\r
                break;\r
-       case 8: fMinClsTPC = 0;  \r
+       case 8: fMinClsTPC = 0.;  \r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                fMinClsTPCToF= 0.35;\r
                fUseCorrectedTPCClsInfo=0;\r
                break;\r
        case 9:  // 35% of findable clusters\r
-               fMinClsTPC = 70;  \r
+               fMinClsTPC = 70.;  \r
                fesdTrackCuts->SetMinNClustersTPC(fMinClsTPC);\r
                fMinClsTPCToF= 0.35;\r
                fUseCorrectedTPCClsInfo=1;\r
index 363f0f05e99594e2a97b5a70b1587a9c814291eb..bf5857c01098f264baebdf3132de9bfa6046f58e 100644 (file)
@@ -75,7 +75,7 @@ class AliDalitzElectronCuts : public AliAnalysisCuts {
   Bool_t SetCutIds(TString cutString); 
   Int_t fCuts[kNCuts];
   Bool_t SetCut(cutIds cutID, Int_t cut);
-  Bool_t UpdateCutString();
+  Bool_t UpdateCutString(cutIds cutID, Int_t value);
   static const char * fgkCutNames[kNCuts];
 
 
@@ -177,7 +177,7 @@ class AliDalitzElectronCuts : public AliAnalysisCuts {
   Double_t fPsiPairCut;
   Double_t fDeltaPhiCutMin;
   Double_t fDeltaPhiCutMax;
-  Int_t fMinClsTPC; // minimum clusters in the TPC
+  Double_t fMinClsTPC; // minimum clusters in the TPC
   Double_t fMinClsTPCToF; // minimum clusters to findable clusters
   Bool_t   fDodEdxSigmaITSCut; // flag to use the dEdxCut ITS based on sigmas
   Bool_t   fDodEdxSigmaTPCCut; // flag to use the dEdxCut TPC based on sigmas
index d7c39752780639db2332d77920ea35f79bbf82dd..dd611f332f36af356feff312a543bf14e073255e 100644 (file)
@@ -195,40 +195,43 @@ AliGammaConversionAODBGHandler::AliGammaConversionAODBGHandler(UInt_t collisionS
 
       else if(collisionSystem == 8 || collisionSystem == 9){ //pPb
 
-       fBinLimitsArrayMultiplicity[0] = 0.;
-       fBinLimitsArrayMultiplicity[1] = 7.5;
-       fBinLimitsArrayMultiplicity[2] = 16.5;
-       fBinLimitsArrayMultiplicity[3] = 29.5;
-       fBinLimitsArrayMultiplicity[4] = 500.;  
-       
-       if(centMin == 0 && centMax == 20){
-         fBinLimitsArrayMultiplicity[0] = 0.;
-         fBinLimitsArrayMultiplicity[1] = 31.5;
-         fBinLimitsArrayMultiplicity[2] = 40.5;
-         fBinLimitsArrayMultiplicity[3] = 50.5;
-         fBinLimitsArrayMultiplicity[4] = 500.;
-         }     
-       else if(centMin == 20 && centMax == 40){
-         fBinLimitsArrayMultiplicity[0] = 0.;
-         fBinLimitsArrayMultiplicity[1] = 19.5;
-         fBinLimitsArrayMultiplicity[2] = 25.5;
-         fBinLimitsArrayMultiplicity[3] = 32.5;
-         fBinLimitsArrayMultiplicity[4] = 500.;
-         }     
-       else if(centMin == 40 && centMax == 60){
-         fBinLimitsArrayMultiplicity[0] = 0.;
-         fBinLimitsArrayMultiplicity[1] = 12.5;
-         fBinLimitsArrayMultiplicity[2] = 16.5;
-         fBinLimitsArrayMultiplicity[3] = 22.5;
-         fBinLimitsArrayMultiplicity[4] = 500.;
-         }     
-       else if(centMin == 60 && centMax == 80){
-         fBinLimitsArrayMultiplicity[0] = 0.;
-         fBinLimitsArrayMultiplicity[1] = 5.5;
-         fBinLimitsArrayMultiplicity[2] = 9.5;
-         fBinLimitsArrayMultiplicity[3] = 13.5;
-         fBinLimitsArrayMultiplicity[4] = 500.;
-         }     
+         fBinLimitsArrayMultiplicity[0] = 0.;
+         fBinLimitsArrayMultiplicity[1] = 7.5;
+         fBinLimitsArrayMultiplicity[2] = 16.5;
+         fBinLimitsArrayMultiplicity[3] = 29.5;
+         fBinLimitsArrayMultiplicity[4] = 500.;        
+         
+         if(centMin == 0 && centMax == 20){
+            fBinLimitsArrayMultiplicity[0] = 0.;
+            fBinLimitsArrayMultiplicity[1] = 31.5;
+            fBinLimitsArrayMultiplicity[2] = 40.5;
+            fBinLimitsArrayMultiplicity[3] = 50.5;
+            fBinLimitsArrayMultiplicity[4] = 500.;
+         } else if(centMin == 20 && centMax == 40){
+            fBinLimitsArrayMultiplicity[0] = 0.;
+            fBinLimitsArrayMultiplicity[1] = 19.5;
+            fBinLimitsArrayMultiplicity[2] = 25.5;
+            fBinLimitsArrayMultiplicity[3] = 32.5;
+            fBinLimitsArrayMultiplicity[4] = 500.;
+         } else if(centMin == 40 && centMax == 60){
+            fBinLimitsArrayMultiplicity[0] = 0.;
+            fBinLimitsArrayMultiplicity[1] = 12.5;
+            fBinLimitsArrayMultiplicity[2] = 16.5;
+            fBinLimitsArrayMultiplicity[3] = 22.5;
+            fBinLimitsArrayMultiplicity[4] = 500.;
+         } else if(centMin == 60 && centMax == 80){ 
+            fBinLimitsArrayMultiplicity[0] = 0.;
+            fBinLimitsArrayMultiplicity[1] = 5.5;
+            fBinLimitsArrayMultiplicity[2] = 9.5;
+            fBinLimitsArrayMultiplicity[3] = 13.5;
+            fBinLimitsArrayMultiplicity[4] = 500.;
+          } else if(centMin == 60 && centMax == 100){
+            fBinLimitsArrayMultiplicity[0] = 0.;
+            fBinLimitsArrayMultiplicity[1] = 2.5;
+            fBinLimitsArrayMultiplicity[2] = 6.5;
+            fBinLimitsArrayMultiplicity[3] = 11.5;
+            fBinLimitsArrayMultiplicity[4] = 500.;
+          }  
       }
    }
    else{// pp or pPb V0 Mult
@@ -502,7 +505,8 @@ Int_t AliGammaConversionAODBGHandler::GetMultiplicityBinIndex(Int_t multiplicity
   return fNBinsMultiplicity-1;
 }
 
-void AliGammaConversionAODBGHandler::AddEvent(TList* const eventGammas,Double_t xvalue, Double_t yvalue, Double_t zvalue, Int_t multiplicity){
+void AliGammaConversionAODBGHandler::AddEvent(TList* const eventGammas,Double_t xvalue, Double_t yvalue, Double_t zvalue, Int_t multiplicity, Double_t epvalue){
+
   // see header file for documantation  
 
   //  cout<<"Entering the AddEvent function"<<endl;
@@ -523,6 +527,7 @@ void AliGammaConversionAODBGHandler::AddEvent(TList* const eventGammas,Double_t
   fBGEventVertex[z][m][eventCounter].fX = xvalue;
   fBGEventVertex[z][m][eventCounter].fY = yvalue;
   fBGEventVertex[z][m][eventCounter].fZ = zvalue;
+  fBGEventVertex[z][m][eventCounter].fEP = epvalue;
 
   //first clear the vector
   // cout<<"Size of vector: "<<fBGEvents[z][m][eventCounter].size()<<endl;
index f1aa2daaf1f4e889f835e1f9e67971bd6af26326..2332767eb0a2c433752c19987666975796349987 100644 (file)
@@ -35,6 +35,7 @@ public:
       Double_t fX;
       Double_t fY;
       Double_t fZ;
+      Double_t fEP;
    };
    typedef struct GammaConversionVertex GammaConversionVertex; //!
 
@@ -55,7 +56,7 @@ public:
 
    Int_t GetMultiplicityBinIndex(Int_t mult) const;
 
-   void AddEvent(TList* const eventGammas, Double_t xvalue,Double_t yvalue,Double_t zvalue, Int_t multiplicity);
+   void AddEvent(TList* const eventGammas, Double_t xvalue,Double_t yvalue,Double_t zvalue, Int_t multiplicity, Double_t epvalue = -100);
    void AddElectronEvent(TClonesArray* const eventENeg, Double_t zvalue, Int_t multiplicity);
 
    Int_t GetNBGEvents()const {return fNEvents;}
@@ -81,6 +82,6 @@ private:
    Double_t *fBinLimitsArrayMultiplicity;//! bin limit multiplicity array
    AliGammaConversionBGVector fBGEvents; //background events
    AliGammaConversionBGVector fBGEventsENeg; //background electron events
-   ClassDef(AliGammaConversionAODBGHandler,2)
+   ClassDef(AliGammaConversionAODBGHandler,3)
 };
 #endif
index 2ee78e27b03e47a2587d072c2a0dcce223a9f039..efa1ccb9c0a6593106259df678393a550b888be3 100644 (file)
@@ -24,17 +24,17 @@ AliAnalysisTask *AddTask_ConversionAODProduction(Int_t dataset=0, Bool_t isMC =
 
     if(dataset == 1){
      // Old cut string, no longer compatible with AliConversionCuts
-     // analysiscut="900177009350113211200001000000000";
+     // analysiscut="9001770093501132112000010000000000";
      // New cut string as of April 2013
-       analysiscut= "100000006008400000150000000";
-       analysiscutB="100000016008400000150000000";
+       analysiscut= "1000000060084000001500000000";
+       analysiscutB="1000000160084000001500000000";
     } else if (dataset == 2){
-       analysiscut= "800000006008400000150000000";
-       analysiscutB="800000016008400000150000000";
+       analysiscut= "8000000060084000001500000000";
+       analysiscutB="8000000160084000001500000000";
     } else{
       // analysiscut="
-       analysiscut ="000000006008400100150000000";
-       analysiscutB="000000016008400100150000000";
+       analysiscut ="0000000060084001001500000000";
+       analysiscutB="0000000160084001001500000000";
     }
 
     //========= Add V0 Reader to  ANALYSIS manager =====
index 2be71d71f0bdbe93ed1331402e64e598f7201b3d..e8463d5de74286ee1a41565954a5b957fd3b0c22 100644 (file)
@@ -51,7 +51,7 @@ void AddTask_GammaConvDalitzV1_PbPb(   Int_t trainConfig = 1,
 
   //=========  Set Cutnumber for V0Reader ================================
                           
-  TString ConvCutnumber = "108000000008400100150000000";   //Online  V0 finder
+  TString ConvCutnumber = "1080000000084001001500000000";   //Online  V0 finder
   TString ElecCuts      = "9000620000000200000";            //Electron Cuts
                            //903162000550020210
                            //900054000000020000
@@ -149,44 +149,44 @@ void AddTask_GammaConvDalitzV1_PbPb(   Int_t trainConfig = 1,
 
    if ( trainConfig == 1 ) {
 
-       ConvCutarray[0]  = "124000104209297100720000000"; MesonCutarray[0] = "01522045009000"; ElecCutarray[0]  = "9051620025510252170"; //PbPb 20-40% kAny
-       ConvCutarray[1]  = "146000104209297100720000000"; MesonCutarray[1] = "01522045009000"; ElecCutarray[1]  = "9051620025510252170"; //PbPb 40-60% kAny
-       ConvCutarray[2]  = "168000104209297100720000000"; MesonCutarray[2] = "01522045009000"; ElecCutarray[2]  = "9051620025510252170"; //PbPb 60-80% kAny
+       ConvCutarray[0]  = "1240001042092971007200000000"; MesonCutarray[0] = "01522045009000"; ElecCutarray[0]  = "9051620025510252170"; //PbPb 20-40% kAny
+       ConvCutarray[1]  = "1460001042092971007200000000"; MesonCutarray[1] = "01522045009000"; ElecCutarray[1]  = "9051620025510252170"; //PbPb 40-60% kAny
+       ConvCutarray[2]  = "1680001042092971007200000000"; MesonCutarray[2] = "01522045009000"; ElecCutarray[2]  = "9051620025510252170"; //PbPb 60-80% kAny
 
     } else if ( trainConfig == 2 ) {
 
-       ConvCutarray[0]  = "524000104209297100322000000"; MesonCutarray[0] = "01522085009000"; ElecCutarray[0]  = "9051620025510252170"; //PbPb 20-40% kAny Alpha cut 0.6
-       ConvCutarray[1]  = "546000104209297100120000000"; MesonCutarray[1] = "01522065009000"; ElecCutarray[1]  = "9051620025510252170"; //PbPb 40-60% kAny Alpha cut 0.8      
-       ConvCutarray[2]  = "568000104209297100120000000"; MesonCutarray[2] = "01522075009000"; ElecCutarray[2]  = "9051620025510252170"; //PbPb 60-80% kAny Alpha cut 0.85
+       ConvCutarray[0]  = "5240001042092971003220000000"; MesonCutarray[0] = "01522085009000"; ElecCutarray[0]  = "9051620025510252170"; //PbPb 20-40% kAny Alpha cut 0.6
+       ConvCutarray[1]  = "5460001042092971001200000000"; MesonCutarray[1] = "01522065009000"; ElecCutarray[1]  = "9051620025510252170"; //PbPb 40-60% kAny Alpha cut 0.8      
+       ConvCutarray[2]  = "5680001042092971001200000000"; MesonCutarray[2] = "01522075009000"; ElecCutarray[2]  = "9051620025510252170"; //PbPb 60-80% kAny Alpha cut 0.85
       
     } else if ( trainConfig == 3 ) {
 
-       ConvCutarray[0]  = "524000104209297100322000000"; MesonCutarray[0] = "01522085009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Alpha cut 0.6
-       ConvCutarray[1]  = "546000104209297100120000000"; MesonCutarray[1] = "01522065009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Alpha cut 0.8      
-       ConvCutarray[2]  = "568000104209297100120000000"; MesonCutarray[2] = "01522075009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Alpha cut 0.85
+       ConvCutarray[0]  = "5240001042092971003220000000"; MesonCutarray[0] = "01522085009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Alpha cut 0.6
+       ConvCutarray[1]  = "5460001042092971001200000000"; MesonCutarray[1] = "01522065009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Alpha cut 0.8      
+       ConvCutarray[2]  = "5680001042092971001200000000"; MesonCutarray[2] = "01522075009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Alpha cut 0.85
 
     } else if ( trainConfig == 4 ) {
 
-       ConvCutarray[0]  = "524000203209297100322000000"; MesonCutarray[0] = "01523015009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65  only added signals alpha cut Pt dependent ( 0.7, 1.2)
-       ConvCutarray[1]  = "546000203209297100120000000"; MesonCutarray[1] = "01523015009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65  only added signals alpha cut Pt dependent ( 0.7, 1.2)
-       ConvCutarray[2]  = "568000203209297100120000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.80  only added signals alpha cut Pt dependent ( 0.80, 1.2)
+       ConvCutarray[0]  = "5240002032092971003220000000"; MesonCutarray[0] = "01523015009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65  only added signals alpha cut Pt dependent ( 0.7, 1.2)
+       ConvCutarray[1]  = "5460002032092971001200000000"; MesonCutarray[1] = "01523015009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65  only added signals alpha cut Pt dependent ( 0.7, 1.2)
+       ConvCutarray[2]  = "5680002032092971001200000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.80  only added signals alpha cut Pt dependent ( 0.80, 1.2)
 
     } else if ( trainConfig == 5 ) {
 
-       ConvCutarray[0]  = "524000103209297100322000000"; MesonCutarray[0] = "01523015009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.7, 1.2)
-       ConvCutarray[1]  = "546000103209297100120000000"; MesonCutarray[1] = "01523015009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.7, 1.2)  
-       ConvCutarray[2]  = "568000103209297100120000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.8, 1.2)
+       ConvCutarray[0]  = "5240001032092971003220000000"; MesonCutarray[0] = "01523015009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.7, 1.2)
+       ConvCutarray[1]  = "5460001032092971001200000000"; MesonCutarray[1] = "01523015009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.7, 1.2)  
+       ConvCutarray[2]  = "5680001032092971001200000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.8, 1.2)
     } else if ( trainConfig == 6 ) {
 
-       ConvCutarray[0]  = "524000203209297100322000000"; MesonCutarray[0] = "01523095009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65  only added signals alpha cut Pt dependent( 0.65, 1.2)
-       ConvCutarray[1]  = "546000203209297100120000000"; MesonCutarray[1] = "01523095009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65  only added signals alpha cut Pt dependent( 0.65, 1.2)
-       ConvCutarray[2]  = "568000203209297100120000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.80  only added signals alpha cut Pt dependent( 0.80, 1.2)
+       ConvCutarray[0]  = "5240002032092971003220000000"; MesonCutarray[0] = "01523095009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65  only added signals alpha cut Pt dependent( 0.65, 1.2)
+       ConvCutarray[1]  = "5460002032092971001200000000"; MesonCutarray[1] = "01523095009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65  only added signals alpha cut Pt dependent( 0.65, 1.2)
+       ConvCutarray[2]  = "5680002032092971001200000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.80  only added signals alpha cut Pt dependent( 0.80, 1.2)
 
     } else if ( trainConfig == 7 ) {
 
-       ConvCutarray[0]  = "524000103209297100322000000"; MesonCutarray[0] = "01523095009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.65, 1.2)
-       ConvCutarray[1]  = "546000103209297100120000000"; MesonCutarray[1] = "01523095009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.65, 1.2)
-       ConvCutarray[2]  = "568000103209297100120000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.80, 1.2)
+       ConvCutarray[0]  = "5240001032092971003220000000"; MesonCutarray[0] = "01523095009000"; ElecCutarray[0]  = "9051620025510252171"; //PbPb 20-40% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.65, 1.2)
+       ConvCutarray[1]  = "5460001032092971001200000000"; MesonCutarray[1] = "01523095009000"; ElecCutarray[1]  = "9051620025510252171"; //PbPb 40-60% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.65, 1.2)
+       ConvCutarray[2]  = "5680001032092971001200000000"; MesonCutarray[2] = "01523025009000"; ElecCutarray[2]  = "9051620025510252171"; //PbPb 60-80% kAny Gamma |Eta| < 0.65 alpha cut Pt dependent ( 0.80, 1.2)
     }
 
 
index fb221fe0cc0123ecac84100220908199de181941..9cdf6e56dae1b788a723db66984a21bd5b68dbcb 100644 (file)
@@ -48,7 +48,7 @@ void AddTask_GammaConvDalitzV1_pPb(    Int_t trainConfig = 1,
    }
    
    //=========  Set Cutnumber for V0Reader ================================
-   TString ConvCutnumber = "800000006008400100150000000";   //Online  V0 finder
+   TString ConvCutnumber = "8000000060084001001500000000";   //Online  V0 finder
    TString ElecCuts      = "9000540000000200000";            //Electron Cuts
    Bool_t doEtaShift = kFALSE;
 
@@ -172,21 +172,21 @@ void AddTask_GammaConvDalitzV1_pPb(    Int_t trainConfig = 1,
 
    if( trainConfig == 1 ) {
 
-        ConvCutarray[0] = "800000008209360300720000000"; ElecCutarray[0] = "9047540025810262170"; MesonCutarray[0] = "01039035009000"; //standard cut Pi0 PbPb 00-100
-        ConvCutarray[1] = "800000008209360300720000000"; ElecCutarray[1] = "9047540025810261170"; MesonCutarray[1] = "01039035009000"; //standard cut Pi0 PbPb 00-100 + Single Pt primary > 0.100 GeV
-        ConvCutarray[2] = "800000008209460300720000000"; ElecCutarray[2] = "9047540025810262170"; MesonCutarray[2] = "01039035009000"; //standard cut Pi0 PbPb 00-100 + dEdx electron gamma   -6 ,7 sigmas
-        ConvCutarray[3] = "800000008209360300720300000"; ElecCutarray[3] = "9047540025810262170"; MesonCutarray[3] = "01039035009000"; //standard cut Pi0 PbPb 00-100  do Aysemtri cut
-        ConvCutarray[4] = "800000008209360300720000000"; ElecCutarray[4] = "9051540025810262170"; MesonCutarray[4] = "01039035009000"; //standard cut Pi0 PbPb 00-100
-        ConvCutarray[5] = "800000008209360300720000000"; ElecCutarray[5] = "9051540025810262170"; MesonCutarray[5] = "01039035009000"; //standard cut Pi0 PbPb 00-100 Standard cut + dEdx primary -3, 5 and  3.0  , -10 pion rejection
+        ConvCutarray[0] = "8000000082093603007200000000"; ElecCutarray[0] = "9047540025810262170"; MesonCutarray[0] = "01039035009000"; //standard cut Pi0 PbPb 00-100
+        ConvCutarray[1] = "8000000082093603007200000000"; ElecCutarray[1] = "9047540025810261170"; MesonCutarray[1] = "01039035009000"; //standard cut Pi0 PbPb 00-100 + Single Pt primary > 0.100 GeV
+        ConvCutarray[2] = "8000000082094603007200000000"; ElecCutarray[2] = "9047540025810262170"; MesonCutarray[2] = "01039035009000"; //standard cut Pi0 PbPb 00-100 + dEdx electron gamma   -6 ,7 sigmas
+        ConvCutarray[3] = "8000000082093603007203000000"; ElecCutarray[3] = "9047540025810262170"; MesonCutarray[3] = "01039035009000"; //standard cut Pi0 PbPb 00-100  do Aysemtri cut
+        ConvCutarray[4] = "8000000082093603007200000000"; ElecCutarray[4] = "9051540025810262170"; MesonCutarray[4] = "01039035009000"; //standard cut Pi0 PbPb 00-100
+        ConvCutarray[5] = "8000000082093603007200000000"; ElecCutarray[5] = "9051540025810262170"; MesonCutarray[5] = "01039035009000"; //standard cut Pi0 PbPb 00-100 Standard cut + dEdx primary -3, 5 and  3.0  , -10 pion rejection
 
    } else if( trainConfig == 2 ) {
 
-        ConvCutarray[0] = "800000008209360300720000000"; ElecCutarray[0] = "9047540025810262170"; MesonCutarray[0] = "01039035009000"; //standard cut Pi0 PbPb 00-100
-        ConvCutarray[1] = "802000008209360300720000000"; ElecCutarray[1] = "9047540025810262170"; MesonCutarray[1] = "01039035009000"; //standard cut Pi0 PbPb 00-20
-        ConvCutarray[2] = "824000008209360300720000000"; ElecCutarray[2] = "9047540025810262170"; MesonCutarray[2] = "01039035009000"; //standard cut Pi0 PbPb 20-40
-        ConvCutarray[3] = "846000008209360300720000000"; ElecCutarray[3] = "9047540025810262170"; MesonCutarray[3] = "01039035009000"; //standard cut Pi0 PbPb 40-60
-        ConvCutarray[4] = "868000008209360300720000000"; ElecCutarray[4] = "9047540025810262170"; MesonCutarray[4] = "01039035009000"; //standard cut Pi0 PbPb 60-80        
-        ConvCutarray[5] = "860000008209360300720000000"; ElecCutarray[5] = "9047540025810262170"; MesonCutarray[5] = "01039035009000"; //standard cut Pi0 PbPb 60-100
+        ConvCutarray[0] = "8000000082093603007200000000"; ElecCutarray[0] = "9047540025810262170"; MesonCutarray[0] = "01039035009000"; //standard cut Pi0 PbPb 00-100
+        ConvCutarray[1] = "8020000082093603007200000000"; ElecCutarray[1] = "9047540025810262170"; MesonCutarray[1] = "01039035009000"; //standard cut Pi0 PbPb 00-20
+        ConvCutarray[2] = "8240000082093603007200000000"; ElecCutarray[2] = "9047540025810262170"; MesonCutarray[2] = "01039035009000"; //standard cut Pi0 PbPb 20-40
+        ConvCutarray[3] = "8460000082093603007200000000"; ElecCutarray[3] = "9047540025810262170"; MesonCutarray[3] = "01039035009000"; //standard cut Pi0 PbPb 40-60
+        ConvCutarray[4] = "8680000082093603007200000000"; ElecCutarray[4] = "9047540025810262170"; MesonCutarray[4] = "01039035009000"; //standard cut Pi0 PbPb 60-80        
+        ConvCutarray[5] = "8600000082093603007200000000"; ElecCutarray[5] = "9047540025810262170"; MesonCutarray[5] = "01039035009000"; //standard cut Pi0 PbPb 60-100
    }
 
 
index 63ee02d75f8b220972da47e599502c9777d4efad..16d87fe1641e2eafea04bff27f94f1f557611a0f 100644 (file)
@@ -41,7 +41,7 @@ void AddTask_GammaConvDalitzV1_pp(  Int_t trainConfig = 1,  //change different s
    //=========  Set Cutnumber for V0Reader ================================
    
                        
-   TString cutnumber = "0000000000084001001500000"; 
+   TString cutnumber = "00000000000840010015000000"; 
    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
    
    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
@@ -143,16 +143,16 @@ void AddTask_GammaConvDalitzV1_pp(  Int_t trainConfig = 1,  //change different s
 
    if(trainConfig == 1){
      //TOF PID
-     ConvCutarray[0] = "0000011002093663027800000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210";  //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0
-     ConvCutarray[1] = "0000011002093663027800000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210";  //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0     
+     ConvCutarray[0] = "00000110020936630278000000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210";  //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0
+     ConvCutarray[1] = "00000110020936630278000000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210";  //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0     
     } else if (trainConfig == 2) {
      //TOF PID
-     ConvCutarray[0] = "0000011002093663027800000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210";  //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0
-     ConvCutarray[1] = "0000011002093663027800000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210";  //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0     
+     ConvCutarray[0] = "00000110020936630278000000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210";  //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0
+     ConvCutarray[1] = "00000110020936630278000000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210";  //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0     
     } else if (trainConfig == 3) {
      //TOF PID
-     ConvCutarray[0] = "0000011002093663027800000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210";  //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0
-     ConvCutarray[1] = "0000011002093663027800000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210";  //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0     
+     ConvCutarray[0] = "00000110020936630278000000"; MesonCutarray[0] = "01631031009";ElecCutarray[0] = "904784032531026210";  //TOF[-3,5] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0
+     ConvCutarray[1] = "00000110020936630278000000"; MesonCutarray[1] = "01631031009";ElecCutarray[1] = "904784042531026210";  //TOF[-2,3] 0.0 sigmas at low Pt for pion rejection, Pt 0.125 cut,  DCAxy Pt Dep, No Mass(e+,e-)  FindCluster > 0.0     
     } else {
       Error(Form("GammaConvDalitzV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
       return;
index 713e7aff3d0a48c82713d7a5f6a5483249bca02a..977da8e99de1d15c0cc00d9a9539a9cc929b9170 100644 (file)
@@ -1,7 +1,7 @@
 void AddTask_GammaConvV1_PbPb(  Int_t trainConfig = 1,  //change different set of cuts
                               Bool_t isMC   = kFALSE, //run MC 
-                              Bool_t enableQAMesonTask = kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
-                              Bool_t enableQAPhotonTask = kFALSE, // enable additional QA task
+                              Int_t enableQAMesonTask = 0, //enable QA in AliAnalysisTaskGammaConvV1
+                              Int_t enableQAPhotonTask = 0, // enable additional QA task
                               TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
                               Bool_t doWeighting = kFALSE,  //enable Weighting
                               TString cutnumberAODBranch = "1000000060084000001500000" 
@@ -43,7 +43,7 @@ void AddTask_GammaConvV1_PbPb(  Int_t trainConfig = 1,  //change different set o
    }
    
    //=========  Set Cutnumber for V0Reader ================================
-   TString cutnumber = "100000000008400100150000000"; 
+   TString cutnumber = "1000000000084001001500000000"; 
    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
    if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
@@ -97,293 +97,293 @@ void AddTask_GammaConvV1_PbPb(  Int_t trainConfig = 1,  //change different set o
    TString *mesonCutArray = new TString[numberOfCuts];
 
    if (trainConfig == 1){ // Standard cuts
-      cutarray[ 0] = "601000104209297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
-      cutarray[ 1] = "612000104209297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
-      cutarray[ 2] = "501000104209297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
-      cutarray[ 3] = "512000104209297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
-      cutarray[ 4] = "502000104209297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+      cutarray[ 0] = "6010001042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+      cutarray[ 1] = "6120001042092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+      cutarray[ 2] = "5010001042092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+      cutarray[ 3] = "5120001042092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+      cutarray[ 4] = "5020001042092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
    } else if (trainConfig == 2) { // Standard cuts
-      cutarray[ 0] = "524000104209297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
-      cutarray[ 1] = "546000104209297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
-      cutarray[ 2] = "568000104209297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
-      cutarray[ 3] = "548000104209297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
-      cutarray[ 4] = "549000104209297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+      cutarray[ 0] = "5240001042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+      cutarray[ 1] = "5460001042092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+      cutarray[ 2] = "5680001042092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+      cutarray[ 3] = "5480001042092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
+      cutarray[ 4] = "5490001042092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
    } else if (trainConfig == 3) { // Standard cuts only added signals
-      cutarray[ 0] = "601000204209297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
-      cutarray[ 1] = "612000204209297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
-      cutarray[ 2] = "501000204209297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
-      cutarray[ 3] = "512000204209297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
-      cutarray[ 4] = "502000204209297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+      cutarray[ 0] = "6010002042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+      cutarray[ 1] = "6120002042092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+      cutarray[ 2] = "5010002042092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+      cutarray[ 3] = "5120002042092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+      cutarray[ 4] = "5020002042092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
    } else if (trainConfig == 4) { // Standard cuts only added signals
-      cutarray[ 0] = "524000204209297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
-      cutarray[ 1] = "546000204209297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
-      cutarray[ 2] = "568000204209297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
-      cutarray[ 3] = "548000204209297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40% 
-      cutarray[ 4] = "549000204209297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+      cutarray[ 0] = "5240002042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+      cutarray[ 1] = "5460002042092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+      cutarray[ 2] = "5680002042092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+      cutarray[ 3] = "5480002042092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40% 
+      cutarray[ 4] = "5490002042092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
    } else if (trainConfig == 5){ // R-minCut 7.5 cm
-      cutarray[ 0] = "601000104909297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
-      cutarray[ 1] = "612000104909297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
-      cutarray[ 2] = "501000104909297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
-      cutarray[ 3] = "512000104909297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
-      cutarray[ 4] = "502000104909297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+      cutarray[ 0] = "6010001049092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+      cutarray[ 1] = "6120001049092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+      cutarray[ 2] = "5010001049092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+      cutarray[ 3] = "5120001049092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+      cutarray[ 4] = "5020001049092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
    } else if (trainConfig == 6) { // R-minCut 7.5 cm
-      cutarray[ 0] = "524000104909297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
-      cutarray[ 1] = "546000104909297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
-      cutarray[ 2] = "568000104909297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
-      cutarray[ 3] = "548000104909297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
-      cutarray[ 4] = "549000104909297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+      cutarray[ 0] = "5240001049092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+      cutarray[ 1] = "5460001049092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+      cutarray[ 2] = "5680001049092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+      cutarray[ 3] = "5480001049092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
+      cutarray[ 4] = "5490001049092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
    } else if (trainConfig == 7) {// R-minCut 7.5 cm
-      cutarray[ 0] = "601000204909297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
-      cutarray[ 1] = "612000204909297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
-      cutarray[ 2] = "501000204909297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
-      cutarray[ 3] = "512000204909297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
-      cutarray[ 4] = "502000204909297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+      cutarray[ 0] = "6010002049092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+      cutarray[ 1] = "6120002049092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+      cutarray[ 2] = "5010002049092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+      cutarray[ 3] = "5120002049092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+      cutarray[ 4] = "5020002049092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
    } else if (trainConfig == 8) { // R-minCut 7.5 cm
-      cutarray[ 0] = "524000204009297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
-      cutarray[ 1] = "546000204909297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
-      cutarray[ 2] = "568000204909297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
-      cutarray[ 3] = "548000204909297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40% 
-      cutarray[ 4] = "549000204909297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%   
+      cutarray[ 0] = "5240002040092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+      cutarray[ 1] = "5460002049092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+      cutarray[ 2] = "5680002049092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+      cutarray[ 3] = "5480002049092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40% 
+      cutarray[ 4] = "5490002049092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%   
    } else if (trainConfig == 9){ // R-minCut 12.5 cm
-      cutarray[ 0] = "601000104809297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
-      cutarray[ 1] = "612000104809297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
-      cutarray[ 2] = "501000104809297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
-      cutarray[ 3] = "512000104809297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
-      cutarray[ 4] = "502000104809297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+      cutarray[ 0] = "6010001048092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+      cutarray[ 1] = "6120001048092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+      cutarray[ 2] = "5010001048092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+      cutarray[ 3] = "5120001048092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+      cutarray[ 4] = "5020001048092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
    } else if (trainConfig == 10) { // R-minCut 12.5 cm
-      cutarray[ 0] = "524000104809297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
-      cutarray[ 1] = "546000104809297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
-      cutarray[ 2] = "568000104809297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
-      cutarray[ 3] = "548000104809297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
-      cutarray[ 4] = "549000104809297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
+      cutarray[ 0] = "5240001048092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+      cutarray[ 1] = "5460001048092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+      cutarray[ 2] = "5680001048092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+      cutarray[ 3] = "5480001048092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 40-80%
+      cutarray[ 4] = "5490001048092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%
    } else if (trainConfig == 11) {// R-minCut 12.5 cm
-      cutarray[ 0] = "601000204809297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
-      cutarray[ 1] = "612000204809297002322000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
-      cutarray[ 2] = "501000204809297002322000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
-      cutarray[ 3] = "512000204809297002322000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
-      cutarray[ 4] = "502000204809297002322000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
+      cutarray[ 0] = "6010002048092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 0-5%
+      cutarray[ 1] = "6120002048092970023220000000"; mesonCutArray[ 1] = "01522045009000"; // 5-10%
+      cutarray[ 2] = "5010002048092970023220000000"; mesonCutArray[ 2] = "01522045009000"; // 0-10%
+      cutarray[ 3] = "5120002048092970023220000000"; mesonCutArray[ 3] = "01522045009000"; // 10-20%
+      cutarray[ 4] = "5020002048092970023220000000"; mesonCutArray[ 4] = "01522045009000"; // 0-20%
    } else if (trainConfig == 12) { // R-minCut 12.5 cm
-      cutarray[ 0] = "524000204009297002322000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
-      cutarray[ 1] = "546000204809297002322000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
-      cutarray[ 2] = "568000204809297002322000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
-      cutarray[ 3] = "548000204809297002322000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40% 
-      cutarray[ 4] = "549000204809297002322000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%      
+      cutarray[ 0] = "5240002040092970023220000000"; mesonCutArray[ 0] = "01522045009000"; // 20-40%
+      cutarray[ 1] = "5460002048092970023220000000"; mesonCutArray[ 1] = "01522065009000"; // 40-60%
+      cutarray[ 2] = "5680002048092970023220000000"; mesonCutArray[ 2] = "01522065009000"; // 60-80%
+      cutarray[ 3] = "5480002048092970023220000000"; mesonCutArray[ 3] = "01522065009000"; // 20-40% 
+      cutarray[ 4] = "5490002048092970023220000000"; mesonCutArray[ 4] = "01522065009000"; // 40-90%      
    } else  if (trainConfig == 13){ // eta 0.65 (new standard), y = 0.6 (new Standard)
-      cutarray[ 0] = "601000103209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
-      cutarray[ 1] = "612000103209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
-      cutarray[ 2] = "501000103209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
-      cutarray[ 3] = "512000103209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
-      cutarray[ 4] = "502000103209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+      cutarray[ 0] = "6010001032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+      cutarray[ 1] = "6120001032092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+      cutarray[ 2] = "5010001032092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+      cutarray[ 3] = "5120001032092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+      cutarray[ 4] = "5020001032092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
    } else if (trainConfig == 14) {  // eta 0.65 (new standard), y = 0.6 (new Standard)
-      cutarray[ 0] = "524000103209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
-      cutarray[ 1] = "546000103209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
-      cutarray[ 2] = "568000103209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
-      cutarray[ 3] = "548000103209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
-      cutarray[ 4] = "549000103209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+      cutarray[ 0] = "5240001032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+      cutarray[ 1] = "5460001032092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+      cutarray[ 2] = "5680001032092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+      cutarray[ 3] = "5480001032092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
+      cutarray[ 4] = "5490001032092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
    } else if (trainConfig == 15) { // eta 0.65 (new standard), y = 0.6 (new Standard) cuts only added signals
-      cutarray[ 0] = "601000203209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
-      cutarray[ 1] = "612000203209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
-      cutarray[ 2] = "501000203209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
-      cutarray[ 3] = "512000203209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
-      cutarray[ 4] = "502000203209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+      cutarray[ 0] = "6010002032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+      cutarray[ 1] = "6120002032092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+      cutarray[ 2] = "5010002032092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+      cutarray[ 3] = "5120002032092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+      cutarray[ 4] = "5020002032092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
    } else if (trainConfig == 16) { // eta 0.65 (new standard), y = 0.6 (new Standard) cuts only added signals
-      cutarray[ 0] = "524000203209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
-      cutarray[ 1] = "546000203209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
-      cutarray[ 2] = "568000203209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
-      cutarray[ 3] = "548000203209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40% 
-      cutarray[ 4] = "549000203209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+      cutarray[ 0] = "5240002032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+      cutarray[ 1] = "5460002032092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+      cutarray[ 2] = "5680002032092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+      cutarray[ 3] = "5480002032092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40% 
+      cutarray[ 4] = "5490002032092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
    } else  if (trainConfig == 17){ // eta 0.6, y = 0.6 (new Standard)
-      cutarray[ 0] = "601000101209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
-      cutarray[ 1] = "612000101209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
-      cutarray[ 2] = "501000101209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
-      cutarray[ 3] = "512000101209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
-      cutarray[ 4] = "502000101209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+      cutarray[ 0] = "6010001012092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+      cutarray[ 1] = "6120001012092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+      cutarray[ 2] = "5010001012092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+      cutarray[ 3] = "5120001012092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+      cutarray[ 4] = "5020001012092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
    } else if (trainConfig == 18) {  // eta 0.6, y = 0.6 (new Standard)
-      cutarray[ 0] = "524000101209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
-      cutarray[ 1] = "546000101209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
-      cutarray[ 2] = "568000101209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
-      cutarray[ 3] = "548000101209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
-      cutarray[ 4] = "549000101209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+      cutarray[ 0] = "5240001012092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+      cutarray[ 1] = "5460001012092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+      cutarray[ 2] = "5680001012092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+      cutarray[ 3] = "5480001012092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
+      cutarray[ 4] = "5490001012092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
    } else if (trainConfig == 19) { // eta 0.6, y = 0.6 (new Standard) cuts only added signals
-      cutarray[ 0] = "601000201209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
-      cutarray[ 1] = "612000201209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
-      cutarray[ 2] = "501000201209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
-      cutarray[ 3] = "512000201209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
-      cutarray[ 4] = "502000201209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+      cutarray[ 0] = "6010002012092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+      cutarray[ 1] = "6120002012092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+      cutarray[ 2] = "5010002012092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+      cutarray[ 3] = "5120002012092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+      cutarray[ 4] = "5020002012092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
    } else if (trainConfig == 20) { // eta 0.6, y = 0.6 (new Standard) cuts only added signals
-      cutarray[ 0] = "524000201209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
-      cutarray[ 1] = "546000201209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
-      cutarray[ 2] = "568000201209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
-      cutarray[ 3] = "548000201209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40% 
-      cutarray[ 4] = "549000201209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+      cutarray[ 0] = "5240002012092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+      cutarray[ 1] = "5460002012092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+      cutarray[ 2] = "5680002012092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+      cutarray[ 3] = "5480002012092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40% 
+      cutarray[ 4] = "5490002012092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
    } else  if (trainConfig == 21){ // eta 0.7, y = 0.6 (new Standard)
-      cutarray[ 0] = "601000107209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
-      cutarray[ 1] = "612000107209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
-      cutarray[ 2] = "501000107209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
-      cutarray[ 3] = "512000107209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
-      cutarray[ 4] = "502000107209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+      cutarray[ 0] = "6010001072092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+      cutarray[ 1] = "6120001072092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+      cutarray[ 2] = "5010001072092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+      cutarray[ 3] = "5120001072092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+      cutarray[ 4] = "5020001072092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
    } else if (trainConfig == 22) {  // eta 0.7, y = 0.6 (new Standard)
-      cutarray[ 0] = "524000107209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
-      cutarray[ 1] = "546000107209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
-      cutarray[ 2] = "568000107209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
-      cutarray[ 3] = "548000107209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
-      cutarray[ 4] = "549000107209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+      cutarray[ 0] = "5240001072092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+      cutarray[ 1] = "5460001072092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+      cutarray[ 2] = "5680001072092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+      cutarray[ 3] = "5480001072092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
+      cutarray[ 4] = "5490001072092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
    } else if (trainConfig == 23) { // eta 0.7, y = 0.6 (new Standard) cuts only added signals
-      cutarray[ 0] = "601000207209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
-      cutarray[ 1] = "612000207209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
-      cutarray[ 2] = "501000207209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
-      cutarray[ 3] = "512000207209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
-      cutarray[ 4] = "502000207209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+      cutarray[ 0] = "6010002072092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+      cutarray[ 1] = "6120002072092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+      cutarray[ 2] = "5010002072092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+      cutarray[ 3] = "5120002072092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+      cutarray[ 4] = "5020002072092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
    } else if (trainConfig == 24) { // eta 0.7, y = 0.6 (new Standard) cuts only added signals
-      cutarray[ 0] = "524000207209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
-      cutarray[ 1] = "546000207209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
-      cutarray[ 2] = "568000207209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
-      cutarray[ 3] = "548000207209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40% 
-      cutarray[ 4] = "549000207209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+      cutarray[ 0] = "5240002072092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+      cutarray[ 1] = "5460002072092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+      cutarray[ 2] = "5680002072092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+      cutarray[ 3] = "5480002072092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40% 
+      cutarray[ 4] = "5490002072092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
    } else  if (trainConfig == 25){ // eta 0.5, y = 0.6 (new Standard)
-      cutarray[ 0] = "601000105209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
-      cutarray[ 1] = "612000105209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
-      cutarray[ 2] = "501000105209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
-      cutarray[ 3] = "512000105209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
-      cutarray[ 4] = "502000105209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+      cutarray[ 0] = "6010001052092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+      cutarray[ 1] = "6120001052092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+      cutarray[ 2] = "5010001052092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+      cutarray[ 3] = "5120001052092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+      cutarray[ 4] = "5020001052092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
    } else if (trainConfig == 26) {  // eta 0.5, y = 0.6 (new Standard)
-      cutarray[ 0] = "524000105209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
-      cutarray[ 1] = "546000105209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
-      cutarray[ 2] = "568000105209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
-      cutarray[ 3] = "548000105209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
-      cutarray[ 4] = "549000105209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+      cutarray[ 0] = "5240001052092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+      cutarray[ 1] = "5460001052092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+      cutarray[ 2] = "5680001052092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+      cutarray[ 3] = "5480001052092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 40-80%
+      cutarray[ 4] = "5490001052092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
    } else if (trainConfig == 27) { // eta 0.5, y = 0.6 (new Standard) cuts only added signals
-      cutarray[ 0] = "601000205209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
-      cutarray[ 1] = "612000205209297002322000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
-      cutarray[ 2] = "501000205209297002322000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
-      cutarray[ 3] = "512000205209297002322000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
-      cutarray[ 4] = "502000205209297002322000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
+      cutarray[ 0] = "6010002052092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 0-5%
+      cutarray[ 1] = "6120002052092970023220000000"; mesonCutArray[ 1] = "01523045009000"; // 5-10%
+      cutarray[ 2] = "5010002052092970023220000000"; mesonCutArray[ 2] = "01523045009000"; // 0-10%
+      cutarray[ 3] = "5120002052092970023220000000"; mesonCutArray[ 3] = "01523045009000"; // 10-20%
+      cutarray[ 4] = "5020002052092970023220000000"; mesonCutArray[ 4] = "01523045009000"; // 0-20%
    } else if (trainConfig == 28) { // eta 0.5, y = 0.6 (new Standard) cuts only added signals
-      cutarray[ 0] = "524000205209297002322000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
-      cutarray[ 1] = "546000205209297002322000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
-      cutarray[ 2] = "568000205209297002322000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
-      cutarray[ 3] = "548000205209297002322000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40% 
-      cutarray[ 4] = "549000205209297002322000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
+      cutarray[ 0] = "5240002052092970023220000000"; mesonCutArray[ 0] = "01523045009000"; // 20-40%
+      cutarray[ 1] = "5460002052092970023220000000"; mesonCutArray[ 1] = "01523065009000"; // 40-60%
+      cutarray[ 2] = "5680002052092970023220000000"; mesonCutArray[ 2] = "01523065009000"; // 60-80%
+      cutarray[ 3] = "5480002052092970023220000000"; mesonCutArray[ 3] = "01523065009000"; // 20-40% 
+      cutarray[ 4] = "5490002052092970023220000000"; mesonCutArray[ 4] = "01523065009000"; // 40-90%
    } else  if (trainConfig == 29){ // eta 0.65 (new standard), y = 0.6 (new Standard) pt dependent alpha
-      cutarray[ 0] = "601000103209297002322000000"; mesonCutArray[ 0] = "01523015009000"; // 0-5%
-      cutarray[ 1] = "612000103209297002322000000"; mesonCutArray[ 1] = "01523015009000"; // 5-10%
-      cutarray[ 2] = "501000103209297002322000000"; mesonCutArray[ 2] = "01523015009000"; // 0-10%
-      cutarray[ 3] = "512000103209297002322000000"; mesonCutArray[ 3] = "01523015009000"; // 10-20%
-      cutarray[ 4] = "502000103209297002322000000"; mesonCutArray[ 4] = "01523015009000"; // 0-20%
+      cutarray[ 0] = "6010001032092970023220000000"; mesonCutArray[ 0] = "01523015009000"; // 0-5%
+      cutarray[ 1] = "6120001032092970023220000000"; mesonCutArray[ 1] = "01523015009000"; // 5-10%
+      cutarray[ 2] = "5010001032092970023220000000"; mesonCutArray[ 2] = "01523015009000"; // 0-10%
+      cutarray[ 3] = "5120001032092970023220000000"; mesonCutArray[ 3] = "01523015009000"; // 10-20%
+      cutarray[ 4] = "5020001032092970023220000000"; mesonCutArray[ 4] = "01523015009000"; // 0-20%
    } else if (trainConfig == 30) {  // eta 0.65 (new standard), y = 0.6 (new Standard) pt dependent alpha
-      cutarray[ 0] = "524000103209297002322000000"; mesonCutArray[ 0] = "01523015009000"; // 20-40%
-      cutarray[ 1] = "546000103209297002322000000"; mesonCutArray[ 1] = "01523025009000"; // 40-60%
-      cutarray[ 2] = "568000103209297002322000000"; mesonCutArray[ 2] = "01523025009000"; // 60-80%
-      cutarray[ 3] = "548000103209297002322000000"; mesonCutArray[ 3] = "01523025009000"; // 40-80%
-      cutarray[ 4] = "549000103209297002322000000"; mesonCutArray[ 4] = "01523025009000"; // 40-90%
+      cutarray[ 0] = "5240001032092970023220000000"; mesonCutArray[ 0] = "01523015009000"; // 20-40%
+      cutarray[ 1] = "5460001032092970023220000000"; mesonCutArray[ 1] = "01523025009000"; // 40-60%
+      cutarray[ 2] = "5680001032092970023220000000"; mesonCutArray[ 2] = "01523025009000"; // 60-80%
+      cutarray[ 3] = "5480001032092970023220000000"; mesonCutArray[ 3] = "01523025009000"; // 40-80%
+      cutarray[ 4] = "5490001032092970023220000000"; mesonCutArray[ 4] = "01523025009000"; // 40-90%
    } else if (trainConfig == 31) { // eta 0.65 (new standard), y = 0.6 (new Standard) cuts only added signals, pt dependent alpha
-      cutarray[ 0] = "601000203209297002322000000"; mesonCutArray[ 0] = "01523015009000"; // 0-5%
-      cutarray[ 1] = "612000203209297002322000000"; mesonCutArray[ 1] = "01523015009000"; // 5-10%
-      cutarray[ 2] = "501000203209297002322000000"; mesonCutArray[ 2] = "01523015009000"; // 0-10%
-      cutarray[ 3] = "512000203209297002322000000"; mesonCutArray[ 3] = "01523015009000"; // 10-20%
-      cutarray[ 4] = "502000203209297002322000000"; mesonCutArray[ 4] = "01523015009000"; // 0-20%
+      cutarray[ 0] = "6010002032092970023220000000"; mesonCutArray[ 0] = "01523015009000"; // 0-5%
+      cutarray[ 1] = "6120002032092970023220000000"; mesonCutArray[ 1] = "01523015009000"; // 5-10%
+      cutarray[ 2] = "5010002032092970023220000000"; mesonCutArray[ 2] = "01523015009000"; // 0-10%
+      cutarray[ 3] = "5120002032092970023220000000"; mesonCutArray[ 3] = "01523015009000"; // 10-20%
+      cutarray[ 4] = "5020002032092970023220000000"; mesonCutArray[ 4] = "01523015009000"; // 0-20%
    } else if (trainConfig == 32) { // eta 0.65 (new standard), y = 0.6 (new Standard) cuts only added signals, pt dependent alpha
-      cutarray[ 0] = "524000203209297002322000000"; mesonCutArray[ 0] = "01523015009000"; // 20-40%
-      cutarray[ 1] = "546000203209297002322000000"; mesonCutArray[ 1] = "01523025009000"; // 40-60%
-      cutarray[ 2] = "568000203209297002322000000"; mesonCutArray[ 2] = "01523025009000"; // 60-80%
-      cutarray[ 3] = "548000203209297002322000000"; mesonCutArray[ 3] = "01523025009000"; // 20-40% 
-      cutarray[ 4] = "549000203209297002322000000"; mesonCutArray[ 4] = "01523025009000"; // 40-90%
+      cutarray[ 0] = "5240002032092970023220000000"; mesonCutArray[ 0] = "01523015009000"; // 20-40%
+      cutarray[ 1] = "5460002032092970023220000000"; mesonCutArray[ 1] = "01523025009000"; // 40-60%
+      cutarray[ 2] = "5680002032092970023220000000"; mesonCutArray[ 2] = "01523025009000"; // 60-80%
+      cutarray[ 3] = "5480002032092970023220000000"; mesonCutArray[ 3] = "01523025009000"; // 20-40% 
+      cutarray[ 4] = "5490002032092970023220000000"; mesonCutArray[ 4] = "01523025009000"; // 40-90%
    } else if (trainConfig == 33){ // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "601000100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
-      cutarray[ 1] = "612000100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
-      cutarray[ 2] = "501000100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
-      cutarray[ 3] = "512000100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
-      cutarray[ 4] = "502000100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+      cutarray[ 0] = "6010001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+      cutarray[ 1] = "6120001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+      cutarray[ 2] = "5010001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+      cutarray[ 3] = "5120001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+      cutarray[ 4] = "5020001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
    } else if (trainConfig == 34) { // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "524000100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
-      cutarray[ 1] = "546000100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
-      cutarray[ 2] = "568000100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
-      cutarray[ 3] = "548000100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
-      cutarray[ 4] = "549000100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
+      cutarray[ 0] = "5240001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+      cutarray[ 1] = "5460001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+      cutarray[ 2] = "5680001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+      cutarray[ 3] = "5480001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+      cutarray[ 4] = "5490001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
    } else if (trainConfig == 35){ // Standard cuts, eta 1.4, only to be run on data
-      cutarray[ 0] = "601000102209297002322000000"; mesonCutArray[ 0] = "01520045009000"; // 0-5%
-      cutarray[ 1] = "612000102209297002322000000"; mesonCutArray[ 1] = "01520045009000"; // 5-10%
-      cutarray[ 2] = "501000102209297002322000000"; mesonCutArray[ 2] = "01520045009000"; // 0-10%
-      cutarray[ 3] = "512000102209297002322000000"; mesonCutArray[ 3] = "01520045009000"; // 10-20%
-      cutarray[ 4] = "502000102209297002322000000"; mesonCutArray[ 4] = "01520045009000"; // 0-20%
+      cutarray[ 0] = "6010001022092970023220000000"; mesonCutArray[ 0] = "01520045009000"; // 0-5%
+      cutarray[ 1] = "6120001022092970023220000000"; mesonCutArray[ 1] = "01520045009000"; // 5-10%
+      cutarray[ 2] = "5010001022092970023220000000"; mesonCutArray[ 2] = "01520045009000"; // 0-10%
+      cutarray[ 3] = "5120001022092970023220000000"; mesonCutArray[ 3] = "01520045009000"; // 10-20%
+      cutarray[ 4] = "5020001022092970023220000000"; mesonCutArray[ 4] = "01520045009000"; // 0-20%
    } else if (trainConfig == 36) { // Standard cuts, eta 1.4, only to be run on data
-      cutarray[ 0] = "524000102209297002322000000"; mesonCutArray[ 0] = "01520045009000"; // 20-40%
-      cutarray[ 1] = "546000102209297002322000000"; mesonCutArray[ 1] = "01520065009000"; // 40-60%
-      cutarray[ 2] = "568000102209297002322000000"; mesonCutArray[ 2] = "01520065009000"; // 60-80%
-      cutarray[ 3] = "548000102209297002322000000"; mesonCutArray[ 3] = "01520065009000"; // 40-80%
-      cutarray[ 4] = "549000102209297002322000000"; mesonCutArray[ 4] = "01520065009000"; // 40-90%   
+      cutarray[ 0] = "5240001022092970023220000000"; mesonCutArray[ 0] = "01520045009000"; // 20-40%
+      cutarray[ 1] = "5460001022092970023220000000"; mesonCutArray[ 1] = "01520065009000"; // 40-60%
+      cutarray[ 2] = "5680001022092970023220000000"; mesonCutArray[ 2] = "01520065009000"; // 60-80%
+      cutarray[ 3] = "5480001022092970023220000000"; mesonCutArray[ 3] = "01520065009000"; // 40-80%
+      cutarray[ 4] = "5490001022092970023220000000"; mesonCutArray[ 4] = "01520065009000"; // 40-90%   
    } else if (trainConfig == 37){ // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "601400100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
-      cutarray[ 1] = "612400100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
-      cutarray[ 2] = "501400100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
-      cutarray[ 3] = "512400100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
-      cutarray[ 4] = "502400100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+      cutarray[ 0] = "6014001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+      cutarray[ 1] = "6124001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+      cutarray[ 2] = "5014001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+      cutarray[ 3] = "5124001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+      cutarray[ 4] = "5024001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
    } else if (trainConfig == 38) { // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "524400100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
-      cutarray[ 1] = "546400100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
-      cutarray[ 2] = "568400100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
-      cutarray[ 3] = "548400100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
-      cutarray[ 4] = "549400100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
+      cutarray[ 0] = "5244001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+      cutarray[ 1] = "5464001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+      cutarray[ 2] = "5684001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+      cutarray[ 3] = "5484001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+      cutarray[ 4] = "5494001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
    } else if (trainConfig == 39){ // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "601500100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
-      cutarray[ 1] = "612500100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
-      cutarray[ 2] = "501500100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
-      cutarray[ 3] = "512500100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
-      cutarray[ 4] = "502500100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+      cutarray[ 0] = "6015001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+      cutarray[ 1] = "6125001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+      cutarray[ 2] = "5015001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+      cutarray[ 3] = "5125001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+      cutarray[ 4] = "5025001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
    } else if (trainConfig == 40) { // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "524500100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
-      cutarray[ 1] = "546500100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
-      cutarray[ 2] = "568500100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
-      cutarray[ 3] = "548500100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
-      cutarray[ 4] = "549500100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
+      cutarray[ 0] = "5245001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+      cutarray[ 1] = "5465001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+      cutarray[ 2] = "5685001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+      cutarray[ 3] = "5485001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+      cutarray[ 4] = "5495001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
    } else if (trainConfig == 41){ // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "601600100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
-      cutarray[ 1] = "612600100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
-      cutarray[ 2] = "501600100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
-      cutarray[ 3] = "512600100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
-      cutarray[ 4] = "502600100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+      cutarray[ 0] = "6016001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+      cutarray[ 1] = "6126001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+      cutarray[ 2] = "5016001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+      cutarray[ 3] = "5126001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+      cutarray[ 4] = "5026001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
    } else if (trainConfig == 42) { // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "524600100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
-      cutarray[ 1] = "546600100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
-      cutarray[ 2] = "568600100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
-      cutarray[ 3] = "548600100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
-      cutarray[ 4] = "549600100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
+      cutarray[ 0] = "5246001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+      cutarray[ 1] = "5466001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+      cutarray[ 2] = "5686001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+      cutarray[ 3] = "5486001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+      cutarray[ 4] = "5496001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
    } else if (trainConfig == 43){ // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "601700100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
-      cutarray[ 1] = "612700100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
-      cutarray[ 2] = "501700100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
-      cutarray[ 3] = "512700100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
-      cutarray[ 4] = "502700100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+      cutarray[ 0] = "6017001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+      cutarray[ 1] = "6127001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+      cutarray[ 2] = "5017001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+      cutarray[ 3] = "5127001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+      cutarray[ 4] = "5027001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
    } else if (trainConfig == 44) { // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "524700100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
-      cutarray[ 1] = "546700100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
-      cutarray[ 2] = "568700100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
-      cutarray[ 3] = "548700100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
-      cutarray[ 4] = "549700100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
+      cutarray[ 0] = "5247001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+      cutarray[ 1] = "5467001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+      cutarray[ 2] = "5687001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+      cutarray[ 3] = "5487001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+      cutarray[ 4] = "5497001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
    } else if (trainConfig == 45){ // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "601800100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
-      cutarray[ 1] = "612800100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
-      cutarray[ 2] = "501800100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
-      cutarray[ 3] = "512800100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
-      cutarray[ 4] = "502800100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+      cutarray[ 0] = "6018001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+      cutarray[ 1] = "6128001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+      cutarray[ 2] = "5018001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+      cutarray[ 3] = "5128001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+      cutarray[ 4] = "5028001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
    } else if (trainConfig == 46) { // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "524800100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
-      cutarray[ 1] = "546800100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
-      cutarray[ 2] = "568800100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
-      cutarray[ 3] = "548800100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
-      cutarray[ 4] = "549800100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
+      cutarray[ 0] = "5248001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+      cutarray[ 1] = "5468001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+      cutarray[ 2] = "5688001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+      cutarray[ 3] = "5488001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+      cutarray[ 4] = "5498001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
    } else if (trainConfig == 47){ // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "601900100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
-      cutarray[ 1] = "612900100209297002322000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
-      cutarray[ 2] = "501900100209297002322000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
-      cutarray[ 3] = "512900100209297002322000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
-      cutarray[ 4] = "502900100209297002322000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
+      cutarray[ 0] = "6019001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 0-5%
+      cutarray[ 1] = "6129001002092970023220000000"; mesonCutArray[ 1] = "01525045009000"; // 5-10%
+      cutarray[ 2] = "5019001002092970023220000000"; mesonCutArray[ 2] = "01525045009000"; // 0-10%
+      cutarray[ 3] = "5129001002092970023220000000"; mesonCutArray[ 3] = "01525045009000"; // 10-20%
+      cutarray[ 4] = "5029001002092970023220000000"; mesonCutArray[ 4] = "01525045009000"; // 0-20%
    } else if (trainConfig == 48) { // Standard cuts, eta 0.9, only to be run on data
-      cutarray[ 0] = "524900100209297002322000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
-      cutarray[ 1] = "546900100209297002322000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
-      cutarray[ 2] = "568900100209297002322000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
-      cutarray[ 3] = "548900100209297002322000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
-      cutarray[ 4] = "549900100209297002322000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
+      cutarray[ 0] = "5249001002092970023220000000"; mesonCutArray[ 0] = "01525045009000"; // 20-40%
+      cutarray[ 1] = "5469001002092970023220000000"; mesonCutArray[ 1] = "01525065009000"; // 40-60%
+      cutarray[ 2] = "5689001002092970023220000000"; mesonCutArray[ 2] = "01525065009000"; // 60-80%
+      cutarray[ 3] = "5489001002092970023220000000"; mesonCutArray[ 3] = "01525065009000"; // 40-80%
+      cutarray[ 4] = "5499001002092970023220000000"; mesonCutArray[ 4] = "01525065009000"; // 40-90%   
       
    } else {
       Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
@@ -479,8 +479,8 @@ void AddTask_GammaConvV1_PbPb(  Int_t trainConfig = 1,  //change different set o
    task->SetMesonCutList(numberOfCuts,MesonCutList);
    task->SetMoveParticleAccordingToVertex(kTRUE);
    task->SetDoMesonAnalysis(kTRUE);
-   if (enableQAMesonTask) task->SetDoMesonQA(kTRUE); //Attention new switch for Pi0 QA
-   if (enableQAPhotonTask) task->SetDoPhotonQA(kTRUE);  //Attention new switch small for Photon QA
+   task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
+   task->SetDoPhotonQA(enableQAPhotonTask);  //Attention new switch small for Photon QA
 
    //connect containers
    AliAnalysisDataContainer *coutput =
index e69be914febfd1ab139d2702084ba7d6fc7e9d49..73122bc6aef730012db2d9a2460c8b81924947e7 100644 (file)
@@ -1,7 +1,7 @@
 void AddTask_GammaConvV1_PbPb2(  Int_t trainConfig = 1,  //change different set of cuts
                               Bool_t isMC   = kFALSE, //run MC 
-                              Bool_t enableQAMesonTask = kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
-                              Bool_t enableQAPhotonTask = kFALSE, // enable additional QA task
+                              Int_t enableQAMesonTask = 0, //enable QA in AliAnalysisTaskGammaConvV1
+                              Int_t enableQAPhotonTask = 0, // enable additional QA task
                               TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
                               Bool_t doWeighting = kFALSE,  //enable Weighting
                               TString cutnumberAODBranch = "1000000060084000001500000" 
@@ -43,7 +43,7 @@ void AddTask_GammaConvV1_PbPb2(  Int_t trainConfig = 1,  //change different set
    }
    
    //=========  Set Cutnumber for V0Reader ================================
-   TString cutnumber = "100000000008400100150000000"; 
+   TString cutnumber = "1000000000084001001500000000"; 
    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
    if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
@@ -97,67 +97,67 @@ void AddTask_GammaConvV1_PbPb2(  Int_t trainConfig = 1,  //change different set
    TString *mesonCutArray = new TString[numberOfCuts];
 
    if (trainConfig == 1){ 
-      cutarray[ 0] = "601000104209297002322000000"; mesonCutArray[ 0] = "01522045009000"; 
+      cutarray[ 0] = "6010001042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; 
    } else if (trainConfig == 2) { 
-      cutarray[ 0] = "612000104209297002322000000"; mesonCutArray[ 0] = "01522045009000"; 
+      cutarray[ 0] = "6120001042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; 
    } else if (trainConfig == 3) { 
-      cutarray[ 0] = "501000104209297002322000000"; mesonCutArray[ 0] = "01522045009000"; 
+      cutarray[ 0] = "5010001042092970023220000000"; mesonCutArray[ 0] = "01522045009000"; 
    } else if (trainConfig == 4) { 
-      cutarray[ 0] = "502000104209297002322000000"; mesonCutArray[ 0] = "01522045009000";    
+      cutarray[ 0] = "5020001042092970023220000000"; mesonCutArray[ 0] = "01522045009000";    
    } else if (trainConfig == 5) { 
-      cutarray[ 0] = "512000104209297002322000000"; mesonCutArray[ 0] = "01522045009000";    
+      cutarray[ 0] = "5120001042092970023220000000"; mesonCutArray[ 0] = "01522045009000";    
    } else if (trainConfig == 6) { 
-      cutarray[ 0] = "524000104209297002322000000"; mesonCutArray[ 0] = "01522045009000";       
+      cutarray[ 0] = "5240001042092970023220000000"; mesonCutArray[ 0] = "01522045009000";       
    } else if (trainConfig == 7) {    
-      cutarray[ 0] = "546000104209297002322000000"; mesonCutArray[ 0] = "01522065009000"; 
+      cutarray[ 0] = "5460001042092970023220000000"; mesonCutArray[ 0] = "01522065009000"; 
    } else if (trainConfig == 8) {    
-      cutarray[ 0] = "548000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";    
+      cutarray[ 0] = "5480001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";    
    } else if (trainConfig == 9) {    
-      cutarray[ 0] = "545000104209297002322000000"; mesonCutArray[ 0] = "01522065009000"; 
+      cutarray[ 0] = "5450001042092970023220000000"; mesonCutArray[ 0] = "01522065009000"; 
    } else if (trainConfig == 10) { 
-      cutarray[ 0] = "556000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+      cutarray[ 0] = "5560001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 11) { 
-      cutarray[ 0] = "568000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";    
+      cutarray[ 0] = "5680001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";    
    } else if (trainConfig == 12) { 
-      cutarray[ 0] = "567000104209297002322000000"; mesonCutArray[ 0] = "01522065009000"; 
+      cutarray[ 0] = "5670001042092970023220000000"; mesonCutArray[ 0] = "01522065009000"; 
    } else if (trainConfig == 13) { 
-      cutarray[ 0] = "578000104209297002322000000"; mesonCutArray[ 0] = "01522065009000"; 
+      cutarray[ 0] = "5780001042092970023220000000"; mesonCutArray[ 0] = "01522065009000"; 
    } else if (trainConfig == 14) { 
-      cutarray[ 0] = "469000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";
+      cutarray[ 0] = "4690001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";
    } else if (trainConfig == 15) { 
-      cutarray[ 0] = "589000104209297002322000000"; mesonCutArray[ 0] = "01522065009000";    
+      cutarray[ 0] = "5890001042092970023220000000"; mesonCutArray[ 0] = "01522065009000";    
    } else  if (trainConfig == 16){ 
-      cutarray[ 0] = "601000203209297002322000000"; mesonCutArray[ 0] = "01523045009000"; 
+      cutarray[ 0] = "6010002032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; 
    } else if (trainConfig == 17) { 
-      cutarray[ 0] = "612000103209297002322000000"; mesonCutArray[ 0] = "01523045009000"; 
+      cutarray[ 0] = "6120001032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; 
    } else if (trainConfig == 18) { 
-      cutarray[ 0] = "501000103209297002322000000"; mesonCutArray[ 0] = "01523045009000"; 
+      cutarray[ 0] = "5010001032092970023220000000"; mesonCutArray[ 0] = "01523045009000"; 
    } else if (trainConfig == 19) { 
-      cutarray[ 0] = "502000103209297002322000000"; mesonCutArray[ 0] = "01523045009000";    
+      cutarray[ 0] = "5020001032092970023220000000"; mesonCutArray[ 0] = "01523045009000";    
    } else if (trainConfig == 20) { 
-      cutarray[ 0] = "512000103209297002322000000"; mesonCutArray[ 0] = "01523045009000";    
+      cutarray[ 0] = "5120001032092970023220000000"; mesonCutArray[ 0] = "01523045009000";    
    } else if (trainConfig == 21) { 
-      cutarray[ 0] = "524000103209297002322000000"; mesonCutArray[ 0] = "01523045009000";       
+      cutarray[ 0] = "5240001032092970023220000000"; mesonCutArray[ 0] = "01523045009000";       
    } else if (trainConfig == 22) {    
-      cutarray[ 0] = "546000103209297002322000000"; mesonCutArray[ 0] = "01523065009000"; 
+      cutarray[ 0] = "5460001032092970023220000000"; mesonCutArray[ 0] = "01523065009000"; 
    } else if (trainConfig == 23) {    
-      cutarray[ 0] = "548000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";    
+      cutarray[ 0] = "5480001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";    
    } else if (trainConfig == 24) {    
-      cutarray[ 0] = "545000103209297002322000000"; mesonCutArray[ 0] = "01523065009000"; 
+      cutarray[ 0] = "5450001032092970023220000000"; mesonCutArray[ 0] = "01523065009000"; 
    } else if (trainConfig == 25) { 
-      cutarray[ 0] = "556000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+      cutarray[ 0] = "5560001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
    } else if (trainConfig == 26) { 
-      cutarray[ 0] = "568000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";    
+      cutarray[ 0] = "5680001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";    
    } else if (trainConfig == 27) { 
-      cutarray[ 0] = "567000103209297002322000000"; mesonCutArray[ 0] = "01523065009000"; 
+      cutarray[ 0] = "5670001032092970023220000000"; mesonCutArray[ 0] = "01523065009000"; 
    } else if (trainConfig == 28) { 
-      cutarray[ 0] = "578000103209297002322000000"; mesonCutArray[ 0] = "01523065009000"; 
+      cutarray[ 0] = "5780001032092970023220000000"; mesonCutArray[ 0] = "01523065009000"; 
    } else if (trainConfig == 29) { 
-      cutarray[ 0] = "469000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";
+      cutarray[ 0] = "4690001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";
    } else if (trainConfig == 30) { 
-      cutarray[ 0] = "589000103209297002322000000"; mesonCutArray[ 0] = "01523065009000";    
+      cutarray[ 0] = "5890001032092970023220000000"; mesonCutArray[ 0] = "01523065009000";    
    } else if (trainConfig == 31) { 
-      cutarray[ 0] = "508000100209297002322000000"; mesonCutArray[ 0] = "01525065009000";    
+      cutarray[ 0] = "5080001002092970023220000000"; mesonCutArray[ 0] = "01525065009000";    
    } else {
       Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
       return;
@@ -194,8 +194,8 @@ void AddTask_GammaConvV1_PbPb2(  Int_t trainConfig = 1,  //change different set
    task->SetMesonCutList(numberOfCuts,MesonCutList);
    task->SetMoveParticleAccordingToVertex(kTRUE);
    task->SetDoMesonAnalysis(kTRUE);
-   if (enableQAMesonTask) task->SetDoMesonQA(kTRUE); //Attention new switch for Pi0 QA
-   if (enableQAPhotonTask) task->SetDoPhotonQA(kTRUE);  //Attention new switch small for Photon QA
+   task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
+   task->SetDoPhotonQA(enableQAPhotonTask);  //Attention new switch small for Photon QA
 
    //connect containers
    AliAnalysisDataContainer *coutput =
index 94b52783f1d2276530ab01abc90a5cc01e013540..efb2523cdd8f82533bcd83f7db7d36e3e774cf13 100644 (file)
@@ -1,7 +1,7 @@
 void AddTask_GammaConvV1_pPb(  Int_t trainConfig = 1,  //change different set of cuts
                               Bool_t isMC   = kFALSE, //run MC
-                              Bool_t enableQAMesonTask = kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
-                              Bool_t enableQAPhotonTask = kFALSE, // enable additional QA task
+                              Int_t enableQAMesonTask = 0, //enable QA in AliAnalysisTaskGammaConvV1
+                              Int_t enableQAPhotonTask = 0, // enable additional QA task
                               TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
                               TString cutnumberAODBranch = "8000000060084000001500000" // cutnumber for AOD branch
                            ) {
@@ -42,7 +42,7 @@ void AddTask_GammaConvV1_pPb(  Int_t trainConfig = 1,  //change different set of
    }
    
    //=========  Set Cutnumber for V0Reader ================================
-   TString cutnumber = "800000006008400100150000000";
+   TString cutnumber = "8000000060084001001500000000";
    Bool_t doEtaShift = kFALSE;
    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
@@ -102,58 +102,58 @@ void AddTask_GammaConvV1_pPb(  Int_t trainConfig = 1,  //change different set of
       // Shifting in pPb direction
       doEtaShiftIndCuts = kTRUE;
       stringShift = "pPb";
-      cutarray[ 0] = "800000108209317200329000000"; mesonCutArray[ 0] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 1] = "802000108209317200329000000"; mesonCutArray[ 1] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 2] = "824000108209317200329000000"; mesonCutArray[ 2] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 3] = "846000108209317200329000000"; mesonCutArray[ 3] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 4] = "868000108209317200329000000"; mesonCutArray[ 4] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 5] = "860000108209317200329000000"; mesonCutArray[ 5] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 0] = "8000001082093172003290000000"; mesonCutArray[ 0] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 1] = "8020001082093172003290000000"; mesonCutArray[ 1] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 2] = "8240001082093172003290000000"; mesonCutArray[ 2] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 3] = "8460001082093172003290000000"; mesonCutArray[ 3] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 4] = "8680001082093172003290000000"; mesonCutArray[ 4] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 5] = "8600001082093172003290000000"; mesonCutArray[ 5] = "01629045009000";  //standard cut Pi0 pPb
    } else if (trainConfig == 2) {
      // doEtaShiftIndCuts = kTRUE;
      // stringShift = "pPb";
-      cutarray[ 0] = "800000107209317200329000000"; mesonCutArray[ 0] = "01627045009000"; 
-      cutarray[ 1] = "802000107209317200329000000"; mesonCutArray[ 1] = "01627045009000"; 
-      cutarray[ 2] = "824000107209317200329000000"; mesonCutArray[ 2] = "01627045009000"; 
-      cutarray[ 3] = "846000107209317200329000000"; mesonCutArray[ 3] = "01627045009000"; 
-      cutarray[ 4] = "868000107209317200329000000"; mesonCutArray[ 4] = "01627045009000"; 
-      cutarray[ 5] = "860000107209317200329000000"; mesonCutArray[ 5] = "01627045009000"; 
+      cutarray[ 0] = "8000001072093172003290000000"; mesonCutArray[ 0] = "01627045009000"; 
+      cutarray[ 1] = "8020001072093172003290000000"; mesonCutArray[ 1] = "01627045009000"; 
+      cutarray[ 2] = "8240001072093172003290000000"; mesonCutArray[ 2] = "01627045009000"; 
+      cutarray[ 3] = "8460001072093172003290000000"; mesonCutArray[ 3] = "01627045009000"; 
+      cutarray[ 4] = "8680001072093172003290000000"; mesonCutArray[ 4] = "01627045009000"; 
+      cutarray[ 5] = "8600001072093172003290000000"; mesonCutArray[ 5] = "01627045009000"; 
    } else if (trainConfig == 3) {
      // doEtaShiftIndCuts = kTRUE;
      //  stringShift = "pPb";
-      cutarray[ 0] = "800000100209317200329000000"; mesonCutArray[ 0] = "01621035009000"; 
-      cutarray[ 1] = "802000100209317200329000000"; mesonCutArray[ 1] = "01621035009000"; 
-      cutarray[ 2] = "824000100209317200329000000"; mesonCutArray[ 2] = "01621035009000"; 
-      cutarray[ 3] = "846000100209317200329000000"; mesonCutArray[ 3] = "01621035009000"; 
-      cutarray[ 4] = "868000100209317200329000000"; mesonCutArray[ 4] = "01621035009000"; 
-      cutarray[ 5] = "860000100209317200329000000"; mesonCutArray[ 5] = "01621035009000"; 
+      cutarray[ 0] = "8000001002093172003290000000"; mesonCutArray[ 0] = "01621035009000"; 
+      cutarray[ 1] = "8020001002093172003290000000"; mesonCutArray[ 1] = "01621035009000"; 
+      cutarray[ 2] = "8240001002093172003290000000"; mesonCutArray[ 2] = "01621035009000"; 
+      cutarray[ 3] = "8460001002093172003290000000"; mesonCutArray[ 3] = "01621035009000"; 
+      cutarray[ 4] = "8680001002093172003290000000"; mesonCutArray[ 4] = "01621035009000"; 
+      cutarray[ 5] = "8600001002093172003290000000"; mesonCutArray[ 5] = "01621035009000"; 
    } else if(trainConfig == 4){
       // Shifting in pPb direction
       doEtaShiftIndCuts = kTRUE;
       stringShift = "pPb";
-      cutarray[ 0] = "800000208209317200329000000"; mesonCutArray[ 0] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 1] = "802000208209317200329000000"; mesonCutArray[ 1] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 2] = "824000208209317200329000000"; mesonCutArray[ 2] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 3] = "846000208209317200329000000"; mesonCutArray[ 3] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 4] = "868000208209317200329000000"; mesonCutArray[ 4] = "01629045009000";  //standard cut Pi0 pPb
-      cutarray[ 5] = "860000208209317200329000000"; mesonCutArray[ 5] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 0] = "8000002082093172003290000000"; mesonCutArray[ 0] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 1] = "8020002082093172003290000000"; mesonCutArray[ 1] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 2] = "8240002082093172003290000000"; mesonCutArray[ 2] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 3] = "8460002082093172003290000000"; mesonCutArray[ 3] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 4] = "8680002082093172003290000000"; mesonCutArray[ 4] = "01629045009000";  //standard cut Pi0 pPb
+      cutarray[ 5] = "8600002082093172003290000000"; mesonCutArray[ 5] = "01629045009000";  //standard cut Pi0 pPb
    } else if (trainConfig == 5) {
      // doEtaShiftIndCuts = kTRUE;
      // stringShift = "pPb";
-      cutarray[ 0] = "800000207209317200329000000"; mesonCutArray[ 0] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 1] = "802000207209317200329000000"; mesonCutArray[ 1] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 2] = "824000207209317200329000000"; mesonCutArray[ 2] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 3] = "846000207209317200329000000"; mesonCutArray[ 3] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 4] = "868000207209317200329000000"; mesonCutArray[ 4] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 5] = "860000207209317200329000000"; mesonCutArray[ 5] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 0] = "8000002072093172003290000000"; mesonCutArray[ 0] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 1] = "8020002072093172003290000000"; mesonCutArray[ 1] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 2] = "8240002072093172003290000000"; mesonCutArray[ 2] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 3] = "8460002072093172003290000000"; mesonCutArray[ 3] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 4] = "8680002072093172003290000000"; mesonCutArray[ 4] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 5] = "8600002072093172003290000000"; mesonCutArray[ 5] = "01627045009000";  //standard cut Pi0 pPb Single pT Cut changed
    } else if (trainConfig == 6) {
      // doEtaShiftIndCuts = kTRUE;
      //  stringShift = "pPb";
-      cutarray[ 0] = "800000200209317200329000000"; mesonCutArray[ 0] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 1] = "802000200209317200329000000"; mesonCutArray[ 1] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 2] = "824000200209317200329000000"; mesonCutArray[ 2] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 3] = "846000200209317200329000000"; mesonCutArray[ 3] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 4] = "868000200209317200329000000"; mesonCutArray[ 4] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
-      cutarray[ 5] = "860000200209317200329000000"; mesonCutArray[ 5] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 0] = "8000002002093172003290000000"; mesonCutArray[ 0] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 1] = "8020002002093172003290000000"; mesonCutArray[ 1] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 2] = "8240002002093172003290000000"; mesonCutArray[ 2] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 3] = "8460002002093172003290000000"; mesonCutArray[ 3] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 4] = "8680002002093172003290000000"; mesonCutArray[ 4] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
+      cutarray[ 5] = "8600002002093172003290000000"; mesonCutArray[ 5] = "01621035009000";  //standard cut Pi0 pPb Single pT Cut changed
       
    } else {
       Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
@@ -198,8 +198,8 @@ void AddTask_GammaConvV1_pPb(  Int_t trainConfig = 1,  //change different set of
    task->SetMesonCutList(numberOfCuts,MesonCutList);
    task->SetMoveParticleAccordingToVertex(kTRUE);
    task->SetDoMesonAnalysis(kTRUE);
-   if (enableQAMesonTask) task->SetDoMesonQA(kTRUE); //Attention new switch for Pi0 QA
-   if (enableQAMesonTask) task->SetDoPhotonQA(kTRUE);  //Attention new switch small for Photon QA
+   task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
+   task->SetDoPhotonQA(enableQAMesonTask);  //Attention new switch small for Photon QA
  
    //connect containers
    AliAnalysisDataContainer *coutput =
index e832f5264fadbde1f72af7c095a2b7b5538192b8..70463f49e54d426d61a496e67fa13e646e1266af 100644 (file)
@@ -1,7 +1,7 @@
 void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,  //change different set of cuts
                               Bool_t isMC   = kFALSE, //run MC 
-                              Bool_t enableQAMesonTask = kFALSE, //enable QA in AliAnalysisTaskGammaConvV1
-                              Bool_t enableQAPhotonTask = kFALSE, // enable additional QA task
+                              Int_t enableQAMesonTask = 0, //enable QA in AliAnalysisTaskGammaConvV1
+                              Int_t enableQAPhotonTask = 0, // enable additional QA task
                               TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
                               TString cutnumberAODBranch = "0000000060084001001500000" // cutnumber for AOD branch
                            ) {
@@ -42,7 +42,7 @@ void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,  //change different set of
    }
    
    //=========  Set Cutnumber for V0Reader ================================
-   TString cutnumber = "000000000208400000220000000"; 
+   TString cutnumber = "0000000002084000002200000000"; 
    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
    
    //========= Add V0 Reader to  ANALYSIS manager if not yet existent =====
@@ -96,20 +96,20 @@ void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,  //change different set of
    TString *mesonCutArray = new TString[numberOfCuts];
 
    if(trainConfig == 1){
-      cutarray[ 0] = "000001200209366300380000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD , only boxes
-      cutarray[ 1] = "000101200209366300380000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD, V0AND , only boxes
-      cutarray[ 2] = "000001200209326000380000000"; mesonCutArray[2] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
-      cutarray[ 3] = "000001200209326000380000000"; mesonCutArray[3] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
+      cutarray[ 0] = "0000012002093663003800000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD , only boxes
+      cutarray[ 1] = "0001012002093663003800000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD, V0AND , only boxes
+      cutarray[ 2] = "0000012002093260003800000000"; mesonCutArray[2] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
+      cutarray[ 3] = "0000012002093260003800000000"; mesonCutArray[3] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
    } else if (trainConfig == 2) {
-      cutarray[ 0] = "000001100209366300380000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD , only Minbias MC
-      cutarray[ 1] = "000101100209366300380000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD, V0AND
-      cutarray[ 2] = "000001100209326000380000000"; mesonCutArray[2] = "01631031009000"; //standard cut Gamma pp 2-76TeV
-      cutarray[ 3] = "000001100209326000380000000"; mesonCutArray[3] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
+      cutarray[ 0] = "0000011002093663003800000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD , only Minbias MC
+      cutarray[ 1] = "0001011002093663003800000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV without SDD, V0AND
+      cutarray[ 2] = "0000011002093260003800000000"; mesonCutArray[2] = "01631031009000"; //standard cut Gamma pp 2-76TeV
+      cutarray[ 3] = "0000011002093260003800000000"; mesonCutArray[3] = "01631031009000"; //standard cut Gamma pp 2-76TeV , only boxes
    } else if (trainConfig == 3) {
-      cutarray[ 0] = "000201100209366300380000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD , only Minbias MC
-      cutarray[ 1] = "000301100209366300380000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD, V0AND , only Minbias MC
-      cutarray[ 2] = "000201200209366300380000000"; mesonCutArray[2] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD , only Boxes MC
-      cutarray[ 3] = "000301200209366300380000000"; mesonCutArray[3] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD, V0AND, only Boxes MC
+      cutarray[ 0] = "0002011002093663003800000000"; mesonCutArray[0] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD , only Minbias MC
+      cutarray[ 1] = "0003011002093663003800000000"; mesonCutArray[1] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD, V0AND , only Minbias MC
+      cutarray[ 2] = "0002012002093663003800000000"; mesonCutArray[2] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD , only Boxes MC
+      cutarray[ 3] = "0003012002093663003800000000"; mesonCutArray[3] = "01631031009000"; //standard cut Pi0 pp 2.76TeV with SDD, V0AND, only Boxes MC
    } else {
       Error(Form("GammaConvV1_%i",trainConfig), "wrong trainConfig variable no cuts have been specified for the configuration");
       return;
@@ -145,8 +145,8 @@ void AddTask_GammaConvV1_pp(  Int_t trainConfig = 1,  //change different set of
    task->SetMesonCutList(numberOfCuts,MesonCutList);
    task->SetMoveParticleAccordingToVertex(kTRUE);
    task->SetDoMesonAnalysis(kTRUE);
-   if (enableQAMesonTask) task->SetDoMesonQA(kTRUE); //Attention new switch for Pi0 QA
-   if (enableQAPhotonTask) task->SetDoPhotonQA(kTRUE);  //Attention new switch small for Photon QA
+   task->SetDoMesonQA(enableQAMesonTask); //Attention new switch for Pi0 QA
+   task->SetDoPhotonQA(enableQAPhotonTask);  //Attention new switch small for Photon QA
 
    //connect containers
    AliAnalysisDataContainer *coutput =
index 63366af3afe223395c48f70680bb3f53a758a0ff..be19c3d33746197fd37562206769018aeb06b748 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisTask *AddTask_GammaConvdPhi_PbPb(TString v0Cut = "109000200209297002322000000",
+AliAnalysisTask *AddTask_GammaConvdPhi_PbPb(TString v0Cut = "1090002002092970023220000000",
                                         TString pionCut = "01522045009000",
                                         TString photoncut = "",
                                         Bool_t pbpb = kTRUE) {
index 35c3795dd3879c46aa21267d6ed1da704a1169bd..8de56d0f8f5e4f46560c065d1983f86d6ad6f315 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisTask *AddTask_GammaConvdPhi_pp(TString v0Cut = "000001100209366300380000000",
+AliAnalysisTask *AddTask_GammaConvdPhi_pp(TString v0Cut = "0000011002093663003800000000",
                                         TString pionCut = "01631031009000",
                                         Bool_t pbpb = kFALSE) {
 
@@ -330,32 +330,32 @@ AliAnalysisTask *AddTask_GammaConvdPhi_pp(TString v0Cut = "000001100209366300380
   TString *tcutarray  =new TString[7];
   TString *wcutarray = new TString[7];
   
-  //"000001100209366300380000000",
-                // "000001100209366300380000000"; // -4 5 sigma electron line
-  tcutarray[0] = "000001100209266300380000000"; // -3 5 sigma
-  wcutarray[0] = "000001100209166300380000000"; //dedex -5 -5 sigma
+  //"0000011002093663003800000000",
+                // "0000011002093663003800000000"; // -4 5 sigma electron line
+  tcutarray[0] = "0000011002092663003800000000"; // -3 5 sigma
+  wcutarray[0] = "0000011002091663003800000000"; //dedex -5 -5 sigma
 
-             // "000001100209366300380000000"; // 663: 2 sigma low pt (0.25)  0.5 sigma: high pt (3.5)
-  tcutarray[1] = "000001100209386300380000000"; // 863  2                      1 
-  wcutarray[1] = "000001100209356300380000000"; // 563  2                      -10
+             // "0000011002093663003800000000"; // 663: 2 sigma low pt (0.25)  0.5 sigma: high pt (3.5)
+  tcutarray[1] = "0000011002093863003800000000"; // 863  2                      1 
+  wcutarray[1] = "0000011002093563003800000000"; // 563  2                      -10
 
-  tcutarray[2] = "000001100209366300380000000";
-  wcutarray[2] = "000001100209366300380000000";
+  tcutarray[2] = "0000011002093663003800000000";
+  wcutarray[2] = "0000011002093663003800000000";
 
-  tcutarray[3] = "000001100269366300380000000"; // single pt 6: 0.04 tight
-  wcutarray[3] = "000001100249366300380000000"; // single pt 4: 0.075 loose
+  tcutarray[3] = "0000011002693663003800000000"; // single pt 6: 0.04 tight
+  wcutarray[3] = "0000011002493663003800000000"; // single pt 4: 0.075 loose
 
                             //                 //tpc cluster cut 9 : 0.6 default
-  tcutarray[4] = "000001100206366300380000000"; //6 : > 0.7 tight 
-  wcutarray[4] = "000001100208366300380000000"; //8 : > 0.35 loose
+  tcutarray[4] = "0000011002063663003800000000"; //6 : > 0.7 tight 
+  wcutarray[4] = "0000011002083663003800000000"; //8 : > 0.35 loose
 
                                    //          // qt max 3: 0.05 default
-  tcutarray[5] = "000001100209366300480000000"; //4 : < 0.03 tight
-  wcutarray[5] = "000001100209366300280000000"; //2 : < 0.07 loose 
+  tcutarray[5] = "0000011002093663004800000000"; //4 : < 0.03 tight
+  wcutarray[5] = "0000011002093663002800000000"; //2 : < 0.07 loose 
 
                                     //         // chi2 8 default <20
-  tcutarray[6] = "000001100209366300390000000"; //9 : < 15 tight 
-  wcutarray[6] = "000001100209366300320000000"; //2 : < 30 loose
+  tcutarray[6] = "0000011002093663003900000000"; //9 : < 15 tight 
+  wcutarray[6] = "0000011002093663003200000000"; //2 : < 30 loose
 
 
   ///Add the tight cuts
index 56c03313ceab0928ec215864c57910bec5325e75..4bfaa44f2591418e386778fd969fbd29d5afba6b 100644 (file)
@@ -1,5 +1,5 @@
-void AddTask_Material(TString V0ReaderCutNumber = "000000006008400100150000000",
-                      TString TaskCutnumber = "000000009009266374380000000",
+void AddTask_Material(TString V0ReaderCutNumber = "0000000060084001001500000000",
+                      TString TaskCutnumber = "0000000090092663743800000000",
                       Bool_t IsMC = kFALSE, 
                       Int_t IsHeavyIon = 0, 
                       TString cutnumberAODBranch = "0000000060084001001500000",
@@ -7,10 +7,10 @@ void AddTask_Material(TString V0ReaderCutNumber = "000000006008400100150000000",
                      ){
   
    // Suitable Cutnumbers for the V0 Reader for
-   // PbPb: V0ReaderCutNumber =  "100000006008400100150000000"; (V0Mult MC)
-   //  or   V0ReaderCutNumber =  "500000006008400100150000000" (TPC mult MC)
-   // pPb: V0ReaderCutNumber =   "800000006008400100150000000";
-   // pp: V0ReaderCutNumber =    "000000006008400100150000000";
+   // PbPb: V0ReaderCutNumber =  "1000000060084001001500000000"; (V0Mult MC)
+   //  or   V0ReaderCutNumber =  "5000000060084001001500000000" (TPC mult MC)
+   // pPb: V0ReaderCutNumber =   "8000000060084001001500000000";
+   // pp: V0ReaderCutNumber =    "0000000060084001001500000000";
 
 
    // ================= Load Librariers =================================
@@ -94,10 +94,10 @@ void AddTask_Material(TString V0ReaderCutNumber = "000000006008400100150000000",
 
 
    // suitable cuts for the material Task:
-   // PbPb:  TaskCutnumber = "568000106009266304480300000"; TPC mult in MC - 60-80% central
-   //   or:  TaskCutnumber = "168000106009266304480300000"; V0 mult in MC  - 60-80% central
-   //  pPb:  TaskCutnumber = "800000009009266374380000000";
-   //   pp:  TaskCutnumber = "000000009009266374380000000";
+   // PbPb:  TaskCutnumber = "5680001060092663044803000000"; TPC mult in MC - 60-80% central
+   //   or:  TaskCutnumber = "1680001060092663044803000000"; V0 mult in MC  - 60-80% central
+   //  pPb:  TaskCutnumber = "8000000090092663743800000000";
+   //   pp:  TaskCutnumber = "0000000090092663743800000000";
 
    AliConversionCuts *analysisCuts = new AliConversionCuts();
    analysisCuts->InitializeCutsFromCutString(TaskCutnumber.Data());
index 18246f881ba01d04c37e4c0ef94bd063fd769811..b5c0ed7e8667b055ee74e6d516713adeb69b6947 100644 (file)
@@ -1,18 +1,19 @@
-void AddTask_PhotonQA(  TString V0ReaderCutNumber = "000000006008400100150000000", 
-                        TString TaskCutnumber = "000000009009266374380000000",
+void AddTask_PhotonQA(  TString V0ReaderCutNumber = "0000000060084001001500000000", 
+                        TString TaskCutnumber = "0000000090092663743800000000",
                         Bool_t IsMC = kFALSE,
                         Int_t IsHeavyIon = 0,
                         Bool_t kHistograms = kTRUE, 
                         Bool_t kTree = kTRUE,
                         TString V0ReaderCutNumberAODBranch = "0000000060084001001500000", 
+                        Bool_t runBasicQAWithStandardOutput = kTRUE,
                         Bool_t doEtaShiftV0Reader = kFALSE 
                      ){
              
    // Suitable Cutnumbers for the V0 Reader for
-   // PbPb: V0ReaderCutNumber =  "100000006008400100150000000"; (V0Mult MC)
-   //  or   V0ReaderCutNumber =  "500000006008400100150000000" (TPC mult MC)
-   // pPb: V0ReaderCutNumber =   "800000006008400100150000000";
-   // pp: V0ReaderCutNumber =    "000000006008400100150000000";
+   // PbPb: V0ReaderCutNumber =  "1000000060084001001500000000"; (V0Mult MC)
+   //  or   V0ReaderCutNumber =  "5000000060084001001500000000" (TPC mult MC)
+   // pPb: V0ReaderCutNumber =   "8000000060084001001500000000";
+   // pp: V0ReaderCutNumber =    "0000000060084001001500000000";
 
    
    // ================= Load Librariers =================================
@@ -99,10 +100,10 @@ void AddTask_PhotonQA(  TString V0ReaderCutNumber = "000000006008400100150000000
    
 
    // suitable cuts for the photon Task, however in principle every cutnumber can be chosen which is used in the photon analysis:
-   // PbPb:  TaskCutnumber = "568000106009266304480300000"; TPC mult in MC - 60-80% central
-   //   or:  TaskCutnumber = "168000106009266304480300000"; V0 mult in MC  - 60-80% central
-   //  pPb:  TaskCutnumber = "800000009009266374380000000";
-   //   pp:  TaskCutnumber = "000000009009266374380000000";
+   // PbPb:  TaskCutnumber = "5680001060092663044803000000"; TPC mult in MC - 60-80% central
+   //   or:  TaskCutnumber = "1680001060092663044803000000"; V0 mult in MC  - 60-80% central
+   //  pPb:  TaskCutnumber = "8000000090092663743800000000";
+   //   pp:  TaskCutnumber = "0000000090092663743800000000";
 
     AliConversionCuts *analysisCuts = new AliConversionCuts();
         analysisCuts->InitializeCutsFromCutString(TaskCutnumber.Data());
@@ -115,13 +116,19 @@ void AddTask_PhotonQA(  TString V0ReaderCutNumber = "000000006008400100150000000
     mgr->AddTask(fQA);
 
     AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
-    AliAnalysisDataContainer *coutput =
-       mgr->CreateContainer(Form("GammaConv_V1QA_%s",TaskCutnumber.Data()), TList::Class(),
-                            AliAnalysisManager::kOutputContainer,Form("GammaConvV1_QA_%s.root",TaskCutnumber.Data()));
-
-
+    if (runBasicQAWithStandardOutput){
+         AliAnalysisDataContainer *coutput =
+            mgr->CreateContainer(Form("GammaConv_V1QA_%s",TaskCutnumber.Data()), TList::Class(),
+                AliAnalysisManager::kOutputContainer,Form("%s:GammaConvV1_QA_%s",AliAnalysisManager::GetCommonFileName(), TaskCutnumber.Data()));
+         mgr->ConnectOutput(fQA,  1, coutput);
+    } else {
+         AliAnalysisDataContainer *coutput =
+            mgr->CreateContainer(Form("GammaConv_V1QA_%s",TaskCutnumber.Data()), TList::Class(),
+                 AliAnalysisManager::kOutputContainer,Form("GammaConvV1_QA_%s.root",TaskCutnumber.Data()));
+         mgr->ConnectOutput(fQA,  1, coutput);
+    }
     mgr->ConnectInput(fQA,0,cinput);
-    mgr->ConnectOutput(fQA,  1, coutput);
+    
 
    //connect containers
    return;
index 4ce2c02ac1bc2e62eb5bf2b0757ab5c01cee3dde..81a9e6820d51d12a20d577a22c053d996e0f5cf6 100644 (file)
@@ -25,45 +25,46 @@ TString mesoncutarray[numberOfCuts];
 
 
 // Standard Cuts
-cutarray[0] = "1080000042092970023220000"; mesoncutarray[0] = "01522045000";  //standard cut Pi0 PbPb 00-100
+                                                                  01525065009000
+cutarray[0] = "1080000042092970023220000000"; mesoncutarray[0] = "01522045000000";  //standard cut Pi0 PbPb 00-100
 
 // TPC PID
-cutarray[1] = "1080001042093970023220000"; mesoncutarray[1] = "01522045000";
-cutarray[2] = "1080001042096970023220000"; mesoncutarray[2] = "01522045000";
-cutarray[3] = "1080001042092470023220000"; mesoncutarray[3] = "01522045000";
-cutarray[4] = "1080001042092770023220000"; mesoncutarray[4] = "01522045000";
-cutarray[5] = "1080001042092950023220000"; mesoncutarray[5] = "01522045000";
+cutarray[1] = "1080001042093970023220000000"; mesoncutarray[1] = "01522045000000";
+cutarray[2] = "1080001042096970023220000000"; mesoncutarray[2] = "01522045000000";
+cutarray[3] = "1080001042092470023220000000"; mesoncutarray[3] = "01522045000000";
+cutarray[4] = "1080001042092770023220000000"; mesoncutarray[4] = "01522045000000";
+cutarray[5] = "1080001042092950023220000000"; mesoncutarray[5] = "01522045000000";
 
 // TOF PID
-cutarray[6] = "1080001042092970033220000"; mesoncutarray[6] = "01522045000";
-cutarray[7] = "1080001042092970043220000"; mesoncutarray[7] = "01522045000";
+cutarray[6] = "1080001042092970033220000000"; mesoncutarray[6] = "01522045000000";
+cutarray[7] = "1080001042092970043220000000"; mesoncutarray[7] = "01522045000000";
 
 // Qt max
-cutarray[8] = "1080001042092970024220000"; mesoncutarray[8] = "01522045000";
-cutarray[9] = "1080001042092970022220000"; mesoncutarray[9] = "01522045000";
+cutarray[8] = "1080001042092970024220000000"; mesoncutarray[8] = "01522045000000";
+cutarray[9] = "1080001042092970022220000000"; mesoncutarray[9] = "01522045000000";
 
 //  Chi2 Gamma
-cutarray[10] = "1080001042092970023120000"; mesoncutarray[10] = "01522045000";
-cutarray[11] = "1080001042092970023820000"; mesoncutarray[11] = "01522045000";
+cutarray[10] = "1080001042092970023120000000"; mesoncutarray[10] = "01522045000000";
+cutarray[11] = "1080001042092970023820000000"; mesoncutarray[11] = "01522045000000";
                                         // Psi Pair
-cutarray[12] = "1080001042092970023210000"; mesoncutarray[12] = "01522045000";
-cutarray[13] = "1080001042092970023230000"; mesoncutarray[13] = "01522045000";
+cutarray[12] = "1080001042092970023210000000"; mesoncutarray[12] = "01522045000000";
+cutarray[13] = "1080001042092970023230000000"; mesoncutarray[13] = "01522045000000";
 
 //  R Cut
-cutarray[14] = "1080001044092970023220000"; mesoncutarray[14] = "01522045000";   //5-70
-cutarray[15] = "1080001045092970023220000"; mesoncutarray[15] = "01522045000";   //10-180
-cutarray[16] = "1080001046092970023220000"; mesoncutarray[16] = "01522045000";   //20
-cutarray[17] = "1080001047092970023220000"; mesoncutarray[17] = "01522045000";   //26
-cutarray[18] = "1080001048092970023220000"; mesoncutarray[18] = "01522045000";   //35
-cutarray[19] = "1080001045092970023220000"; mesoncutarray[19] = "01522045000";  //60
+cutarray[14] = "1080001044092970023220000000"; mesoncutarray[14] = "01522045000000";   //5-70
+cutarray[15] = "1080001045092970023220000000"; mesoncutarray[15] = "01522045000000";   //10-180
+cutarray[16] = "1080001046092970023220000000"; mesoncutarray[16] = "01522045000000";   //20
+cutarray[17] = "1080001047092970023220000000"; mesoncutarray[17] = "01522045000000";   //26
+cutarray[18] = "1080001048092970023220000000"; mesoncutarray[18] = "01522045000000";   //35
+cutarray[19] = "1080001045092970023220000000"; mesoncutarray[19] = "01522045000000";  //60
 
 // Single Pt
-cutarray[20] = "1080001042492970023220000"; mesoncutarray[20] = "01522045000";
-cutarray[21] = "1080001042192970023220000"; mesoncutarray[21] = "01522045000";
+cutarray[20] = "1080001042492970023220000000"; mesoncutarray[20] = "01522045000000";
+cutarray[21] = "1080001042192970023220000000"; mesoncutarray[21] = "01522045000000";
 
 // Alpha
-cutarray[22] = "1080001042092970023220000"; mesoncutarray[22] = "01022085000";
-cutarray[23] = "1080001042092970023220000"; mesoncutarray[23] = "01022005000";
+cutarray[22] = "1080001042092970023220000000"; mesoncutarray[22] = "01022085000000";
+cutarray[23] = "1080001042092970023220000000"; mesoncutarray[23] = "01022005000000";
 
 AliAnalysisTask *AddTask_Pi0v2(Int_t harmonic=2,Bool_t IsHeavyIon=kTRUE,Bool_t doSys=kTRUE){
 
@@ -97,10 +98,10 @@ AliAnalysisTask *AddTask_Pi0v2(Int_t harmonic=2,Bool_t IsHeavyIon=kTRUE,Bool_t d
     TString fV0ReaderCut="";
 
     if(IsHeavyIon){
-       fV0ReaderCut = "1080000002084001001500000";
+       fV0ReaderCut = "1080000002084001001500000000";
     }
     else{
-       fV0ReaderCut = "0000000002084001001500000";
+       fV0ReaderCut = "0000000002084001001500000000";
     }
     fV0Reader=new AliV0ReaderV1(Form("PhotonPi0v%d",harmonic));
     mgr->AddTask(fV0Reader);
index 35ec3b5466236f4c33ae2b7a8defd24818b858dc..bfa3ad0ad90365a0bf10c68209142a0d562adffc 100644 (file)
@@ -1,5 +1,5 @@
-void AddTask_Resolution(   TString V0ReaderCutNumber = "000000006008400100150000000",
-                           TString TaskCutnumber = "000000009009266374380000000",
+void AddTask_Resolution(   TString V0ReaderCutNumber = "0000000060084001001500000000",
+                           TString TaskCutnumber = "0000000090092663743800000000",
                            Bool_t IsMC = kTRUE, 
                            Int_t IsHeavyIon = 0, 
                            TString cutnumberAODBranch = "0000000060084001001500000",
@@ -95,10 +95,10 @@ void AddTask_Resolution(   TString V0ReaderCutNumber = "000000006008400100150000
    }   
 
    // suitable cuts for the material Task:
-   // PbPb:  TaskCutnumber = "568000106009266304480300000"; TPC mult in MC - 60-80% central
-   //   or:  TaskCutnumber = "168000106009266304480300000"; V0 mult in MC  - 60-80% central
-   //  pPb:  TaskCutnumber = "800000009009266374380000000";
-   //   pp:  TaskCutnumber = "000000009009266374380000000";
+   // PbPb:  TaskCutnumber = "5680001060092663044803000000"; TPC mult in MC - 60-80% central
+   //   or:  TaskCutnumber = "1680001060092663044803000000"; V0 mult in MC  - 60-80% central
+   //  pPb:  TaskCutnumber = "8000000090092663743800000000";
+   //   pp:  TaskCutnumber = "0000000090092663743800000000";
 
   
    AliConversionCuts *analysisCuts = new AliConversionCuts();