]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx
Modifications in AliAnaOmegaToPi0Gamma:
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaOmegaToPi0Gamma.cxx
index aa5cea33ecc9c60f4e11b401730973c5a0450e3c..771502b994586336aeb8cdcca72e19f34ef050e4 100644 (file)
@@ -47,9 +47,7 @@ fEventsList(0),
 fVtxZCut(0), fCent(0), fRp(0), fBadChDist(0),\r
 fNVtxZBin(0), fNCentBin(0), fNRpBin(0), fNBadChDistBin(0), fNpid(0),\r
 fNmaxMixEv(0), fPi0Mass(0),\r
-fPi0MassWindow(0),\r
-fNbinsPt(0),fPtBegin(0),fPtEnd(0),\r
-fNbinsM(0),fMinM(0),fMaxM(0),\r
+fPi0MassWindow(0),fPi0OverOmegaPtCut(0),fGammaOverOmegaPtCut(0),\r
 fhEtalon(0),\r
 fRealOmega(0), fMixAOmega(0),\r
 fMixBOmega(0), fMixCOmega(0),\r
@@ -74,8 +72,7 @@ fNVtxZBin(ex.fNVtxZBin), fNCentBin(ex.fNCentBin), fNRpBin(ex.fNRpBin),
 fNBadChDistBin(ex.fNBadChDistBin),fNpid(ex.fNpid),\r
 fNmaxMixEv(ex.fNmaxMixEv), fPi0Mass(ex.fPi0Mass),\r
 fPi0MassWindow(ex.fPi0MassWindow),\r
-fNbinsPt(ex.fNbinsPt),fPtBegin(ex.fPtBegin),fPtEnd(ex.fPtEnd),\r
-fNbinsM(ex.fNbinsM),fMinM(ex.fMinM),fMaxM(ex.fMaxM),\r
+fPi0OverOmegaPtCut(ex.fPi0OverOmegaPtCut),fGammaOverOmegaPtCut(ex.fGammaOverOmegaPtCut),\r
 fhEtalon(ex.fhEtalon),\r
 fRealOmega(ex.fRealOmega), fMixAOmega(ex.fMixAOmega),\r
 fMixBOmega(ex.fMixBOmega), fMixCOmega(ex.fMixCOmega),\r
@@ -116,10 +113,9 @@ AliAnaOmegaToPi0Gamma & AliAnaOmegaToPi0Gamma::operator = (const AliAnaOmegaToPi
    fNmaxMixEv =ex.fNmaxMixEv;\r
    fPi0Mass=ex.fPi0Mass;\r
    fPi0MassWindow=ex.fPi0MassWindow;\r
+   fPi0OverOmegaPtCut=ex.fPi0OverOmegaPtCut;\r
+   fGammaOverOmegaPtCut=ex.fGammaOverOmegaPtCut;\r
 \r
-   fNbinsPt=ex.fNbinsPt;fPtBegin=ex.fPtBegin;fPtEnd=ex.fPtEnd;\r
-   fNbinsM=ex.fNbinsM;fMinM=ex.fMinM;fMaxM=ex.fMaxM;\r
-   \r
    fhEtalon=ex.fhEtalon;\r
    fRealOmega=ex.fRealOmega;\r
    fMixAOmega=ex.fMixAOmega;\r
@@ -176,13 +172,8 @@ void AliAnaOmegaToPi0Gamma::InitParameters()
 \r
   fPi0Mass=0.13498;\r
   fPi0MassWindow=0.015;\r
-  fNbinsPt=200;\r
-  fPtBegin=0;\r
-  fPtEnd=20;\r
-  fNbinsM=100;  //mass bin number, min and max\r
-  fMinM=0;\r
-  fMaxM=1;\r
-\r
+  fPi0OverOmegaPtCut=0.8;\r
+  fGammaOverOmegaPtCut=0.3;\r
   fNVtxZBin=1;\r
   fNCentBin=1;\r
   fNRpBin=1;\r
@@ -190,8 +181,7 @@ void AliAnaOmegaToPi0Gamma::InitParameters()
   fNpid=3;\r
 \r
   fVtxZCut = new Double_t [fNVtxZBin];\r
-  fVtxZCut[0]=30;\r
-  //fVtxZCut[0]=10 ; fVtxZCut[1]=20 ; fVtxZCut[2]=30 ;// fVtxZCut[3]=40 ;;\r
+  for(Int_t i=0;i<fNVtxZBin;i++) fVtxZCut[i]=10*(i+1);\r
 \r
   fCent=new Double_t[fNCentBin];\r
   fCent[0]=0;\r
@@ -200,19 +190,39 @@ void AliAnaOmegaToPi0Gamma::InitParameters()
   fRp[0]=0;\r
 \r
   fBadChDist=new Int_t [fNBadChDistBin];\r
-//  fBadChDist[0]=0; fBadChDist[1]=1; fBadChDist[2]=2;\r
-   fBadChDist[0]=0; \r
+  for(Int_t j=0;j<fNBadChDistBin;j++) fBadChDist[j] = j+2;\r
+ /* \r
+  Int_t nptbins   = GetHistoPtBins();\r
+  Float_t ptmax   = GetHistoPtMax();\r
+  Float_t ptmin  = GetHistoPtMin();\r
+\r
+  Int_t nmassbins = GetHistoMassBins();\r
+  Float_t massmin = GetHistoMassMin();\r
+  Float_t massmax = GetHistoMassMax();\r
 \r
-  fhEtalon = new TH2F("hEtalon","Histo with binning parameters", fNbinsPt,fPtBegin, fPtEnd,fNbinsM,fMinM,fMaxM) ;\r
+  fhEtalon = new TH2F("hEtalon","Histo with binning parameters", nptbins,ptmin,ptmax,nmassbins,massmin,massmax) ;\r
   fhEtalon->SetXTitle("P_{T} (GeV)") ;\r
   fhEtalon->SetYTitle("m_{inv} (GeV)") ;\r
-\r
+*/\r
 }\r
 \r
 \r
 //______________________________________________________________________________\r
 TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()\r
-{  \r
+{ \r
+\r
+  Int_t nptbins   = GetHistoPtBins();\r
+  Float_t ptmax   = GetHistoPtMax();\r
+  Float_t ptmin  = GetHistoPtMin();\r
+\r
+  Int_t nmassbins = GetHistoMassBins();\r
+  Float_t massmin = GetHistoMassMin();\r
+  Float_t massmax = GetHistoMassMax();\r
+\r
+  fhEtalon = new TH2F("hEtalon","Histo with binning parameters", nptbins,ptmin,ptmax,nmassbins,massmin,massmax) ;\r
+  fhEtalon->SetXTitle("P_{T} (GeV)") ;\r
+  fhEtalon->SetYTitle("m_{inv} (GeV)") ;\r
\r
  // store them in fOutputContainer\r
  fEventsList = new TList*[fNVtxZBin*fNCentBin*fNRpBin];\r
  for(Int_t i=0;i<fNVtxZBin;i++){\r
@@ -256,7 +266,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      Int_t index=idim*fNpid*fNBadChDistBin+ipid*fNBadChDistBin+idist;\r
 \r
                     sprintf(key,"RPi0Gamma_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s Real Pi0GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s Real Pi0GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fRealOmega[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fRealOmega[index]->SetName(key) ;\r
@@ -264,7 +274,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fRealOmega[index]);\r
 \r
                     sprintf(key,"MAPi0Gamma_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s MixA Pi0GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s MixA Pi0GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixAOmega[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fMixAOmega[index]->SetName(key) ;\r
@@ -272,7 +282,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fMixAOmega[index]);\r
 \r
                     sprintf(key,"MBPi0Gamma_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s MixB Pi0GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s MixB Pi0GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixBOmega[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fMixBOmega[index]->SetName(key) ;\r
@@ -280,7 +290,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fMixBOmega[index]);\r
 \r
                     sprintf(key,"MCPi0Gamma_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s MixC Pi0GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s MixC Pi0GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixCOmega[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fMixCOmega[index]->SetName(key) ;\r
@@ -288,7 +298,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fMixCOmega[index]);\r
 \r
                     sprintf(key,"RPi0Gamma1_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s Real Pi0(A<0.7)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s Real Pi0(A<0.7)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fRealOmega1[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fRealOmega1[index]->SetName(key) ;\r
@@ -296,7 +306,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fRealOmega1[index]);\r
 \r
                      sprintf(key,"MAPi0Gamma1_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s MixA Pi0(A<0.7)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s MixA Pi0(A<0.7)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixAOmega1[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fMixAOmega1[index]->SetName(key) ;\r
@@ -304,7 +314,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fMixAOmega1[index]);\r
 \r
                      sprintf(key,"MBPi0Gamma1_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s MixB Pi0(A<0.7)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s MixB Pi0(A<0.7)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixBOmega1[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fMixBOmega1[index]->SetName(key) ;\r
@@ -312,7 +322,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fMixBOmega1[index]);\r
 \r
                      sprintf(key,"MCPi0Gamma1_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s MixC Pi0(A<0.7)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s MixC Pi0(A<0.7)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixCOmega1[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fMixCOmega1[index]->SetName(key) ;\r
@@ -320,7 +330,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fMixCOmega1[index]);\r
 \r
                     sprintf(key,"RPi0Gamma2_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s Real Pi0(A<0.8)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s Real Pi0(A<0.8)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fRealOmega2[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fRealOmega2[index]->SetName(key) ;\r
@@ -328,7 +338,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fRealOmega2[index]);\r
 \r
                      sprintf(key,"MAPi0Gamma2_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s MixA Pi0(A<0.8)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s MixA Pi0(A<0.8)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixAOmega2[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fMixAOmega2[index]->SetName(key) ;\r
@@ -336,7 +346,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fMixAOmega2[index]);\r
 \r
                      sprintf(key,"MBPi0Gamma2_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s MixB Pi0(A<0.8)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s MixB Pi0(A<0.8)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixBOmega2[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fMixBOmega2[index]->SetName(key) ;\r
@@ -344,7 +354,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      outputContainer->Add(fMixBOmega2[index]);\r
 \r
                      sprintf(key,"MCPi0Gamma2_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
-                     sprintf(title, "%s MixC Pi0(A<0.8)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%d",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
+                     sprintf(title, "%s MixC Pi0(A<0.8)GammaIVM vz_%2.1f_ct_%2.1f_Rp_%2.1f_pid_%d_dist_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixCOmega2[index]=(TH2F*)fhEtalon->Clone(key) ;\r
                      fMixCOmega2[index]->SetName(key) ;\r
@@ -359,7 +369,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
  if(IsDataMC()){\r
     sprintf(key, "%sOmegaPri",detector);\r
     sprintf(title,"primary #omega in %s",detector);\r
-    fhOmegaPriPt=new TH1F(key, title,fNbinsPt,fPtBegin,fPtEnd);\r
+    fhOmegaPriPt=new TH1F(key, title,nptbins,ptmin,ptmax);\r
     fhOmegaPriPt->GetXaxis()->SetTitle("P_{T}");\r
     fhOmegaPriPt->GetYaxis()->SetTitle("dN/P_{T}");\r
     outputContainer->Add(fhOmegaPriPt);\r
@@ -451,11 +461,10 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
  Double_t vert[]={0,0,0} ;\r
  GetReader()->GetVertex(vert);\r
  Int_t curEventBin =0;\r
- Int_t ivtxzbin = -1;\r
- for(Int_t i=0;i<fNVtxZBin;i++){\r
- //   if(TMath::Abs(vert[2])<fVtxZCut[i] && TMath::Abs(vert[2])>=(fVtxZCut[i]-10)) ivtxzbin=i;\r
-     if(TMath::Abs(vert[2])<fVtxZCut[i]) ivtxzbin=i;\r
- }\r
+\r
+ Int_t ivtxzbin=(Int_t)TMath::Abs(vert[2])/10;\r
+ if(ivtxzbin>=fNVtxZBin)return;\r
+\r
  //centrality\r
  Int_t icentbin=0;\r
 \r
@@ -536,6 +545,14 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
              AliAODPWG4Particle *photon3 = (AliAODPWG4Particle*) (fInputAODGamma->At(j));\r
             TLorentzVector dph3(photon3->Px(),photon3->Py(),photon3->Pz(),photon3->E());\r
             Int_t lab3=photon3->GetCaloLabel(0);\r
+             Double_t pi0gammapt=(vpi0+dph3).Pt();\r
+             Double_t pi0gammamass=(vpi0+dph3).M();\r
+             Double_t pi0OverOmegaPtRatio =vpi0.Pt()/pi0gammapt; \r
+             Double_t gammaOverOmegaPtRatio= dph3.Pt()/pi0gammapt;\r
+\r
+             //pi0, gamma pt cut             \r
+             if(pi0OverOmegaPtRatio>fPi0OverOmegaPtCut || \r
+                gammaOverOmegaPtRatio<fGammaOverOmegaPtCut) continue;\r
 \r
             for(Int_t l=0;l<index1;l++) if(lab3==dc1[l]) lab3=-1;\r
              for(Int_t l=0;l<index2;l++) if(lab3==dc2[l]) lab3=-1;\r
@@ -551,8 +568,6 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                           photon2->DistToBad()>=fBadChDist[idist] &&\r
                           photon3->DistToBad()>=fBadChDist[idist] ){\r
                         \r
-                          Double_t pi0gammapt=(vpi0+dph3).Pt();\r
-                          Double_t pi0gammamass=(vpi0+dph3).M();\r
                           //fill the histograms\r
                           fRealOmega[index]->Fill(pi0gammapt,pi0gammamass); \r
                           if(pi0asy<0.7) fRealOmega1[index]->Fill(pi0gammapt,pi0gammamass);\r
@@ -577,6 +592,15 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
             for(Int_t mix1=0;mix1<ev2->GetEntries();mix1++){\r
                 AliAODPWG4Particle *mix1ph = (AliAODPWG4Particle*) (ev2->At(mix1));     \r
                TLorentzVector vmixph(mix1ph->Px(),mix1ph->Py(),mix1ph->Pz(),mix1ph->E());\r
+                Double_t pi0gammapt=(vpi0+vmixph).Pt();\r
+                Double_t pi0gammamass=(vpi0+vmixph).M();\r
+                Double_t pi0OverOmegaPtRatio =vpi0.Pt()/pi0gammapt;\r
+                Double_t gammaOverOmegaPtRatio= vmixph.Pt()/pi0gammapt;\r
+\r
+              //pi0, gamma pt cut             \r
+               if(pi0OverOmegaPtRatio>fPi0OverOmegaPtCut || \r
+                  gammaOverOmegaPtRatio<fGammaOverOmegaPtCut) continue;\r
+\r
                for(Int_t ipid=0;ipid<fNpid;ipid++){\r
                   for(Int_t idist=0;idist<fNBadChDistBin;idist++){\r
                       Int_t index=curEventBin*fNpid*fNBadChDistBin+ipid*fNBadChDistBin+idist;\r
@@ -587,8 +611,6 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                           photon2->DistToBad()>=fBadChDist[idist] &&\r
                           mix1ph->DistToBad()>=fBadChDist[idist] ){\r
 \r
-                          Double_t pi0gammapt=(vpi0+vmixph).Pt();\r
-                          Double_t pi0gammamass=(vpi0+vmixph).M();\r
                          //fill the histograms\r
                          fMixAOmega[index]->Fill(pi0gammapt,pi0gammamass);\r
                           if(pi0asy<0.7)fMixAOmega1[index]->Fill(pi0gammapt,pi0gammamass);\r
@@ -626,6 +648,13 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                    \r
                     Double_t pi0gammapt=(vph1+vph2+vph3).Pt();\r
                     Double_t pi0gammamass=(vph1+vph2+vph3).M(); \r
+                    Double_t pi0OverOmegaPtRatio =(vph1+vph2).Pt()/pi0gammapt;\r
+                    Double_t gammaOverOmegaPtRatio= vph3.Pt()/pi0gammapt;\r
+\r
+                   //pi0, gamma pt cut             \r
+                   if(pi0OverOmegaPtRatio>fPi0OverOmegaPtCut ||\r
+                       gammaOverOmegaPtRatio<fGammaOverOmegaPtCut) continue;\r
+\r
                    for(Int_t ipid=0;ipid<fNpid;ipid++){\r
                         for(Int_t idist=0;idist<fNBadChDistBin;idist++){\r
                             Int_t index=curEventBin*fNpid*fNBadChDistBin+ipid*fNBadChDistBin+idist;\r
@@ -656,7 +685,13 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                        \r
                         Double_t pi0gammapt=(vph1+vph2+vph3).Pt();\r
                        Double_t pi0gammamass=(vph1+vph2+vph3).M();\r
-                       \r
+                       Double_t pi0OverOmegaPtRatio =(vph1+vph2).Pt()/pi0gammapt;\r
+                        Double_t gammaOverOmegaPtRatio= vph3.Pt()/pi0gammapt;\r
\r
+                        //pi0, gamma pt cut             \r
+                       if(pi0OverOmegaPtRatio>fPi0OverOmegaPtCut ||\r
+                          gammaOverOmegaPtRatio<fGammaOverOmegaPtCut) continue;\r
+       \r
                        for(Int_t ipid=0;ipid<fNpid;ipid++){\r
                            for(Int_t idist=0;idist<fNBadChDistBin;idist++){\r
                                 Int_t index=curEventBin*fNpid*fNBadChDistBin+ipid*fNBadChDistBin+idist;\r
@@ -772,7 +807,9 @@ void AliAnaOmegaToPi0Gamma::Terminate(TList * outputList)
   cvsIVM->Divide(2, 2);\r
 \r
   cvsIVM->cd(1);\r
-  TH2F * h2Real= new TH2F(*fRealOmega[0]);\r
+  char dec[128];\r
+  sprintf(dec,"h2Real_%s",fInputAODGammaName.Data());\r
+  TH2F * h2Real= (TH2F*)fRealOmega[0]->Clone(dec);\r
   h2Real->GetXaxis()->SetRangeUser(4,6);\r
   TH1F * hRealOmega = (TH1F*) h2Real->ProjectionY();\r
   hRealOmega->SetTitle("RealPi0Gamma 4<pt<6");\r
@@ -780,7 +817,8 @@ void AliAnaOmegaToPi0Gamma::Terminate(TList * outputList)
   hRealOmega->Draw();\r
 \r
   cvsIVM->cd(2);\r
-  TH2F *h2MixA= new TH2F(*fMixAOmega[0]);\r
+  sprintf(dec,"hMixA_%s",fInputAODGammaName.Data());\r
+  TH2F *h2MixA= (TH2F*)fMixAOmega[0]->Clone(dec);\r
   h2MixA->GetXaxis()->SetRangeUser(4,6);\r
   TH1F * hMixAOmega = (TH1F*) h2MixA->ProjectionY();\r
   hMixAOmega->SetTitle("MixA 4<pt<6");\r
@@ -788,7 +826,8 @@ void AliAnaOmegaToPi0Gamma::Terminate(TList * outputList)
   hMixAOmega->Draw();\r
 \r
   cvsIVM->cd(3);\r
-  TH2F * h2MixB=new TH2F(*fMixBOmega[0]);\r
+  sprintf(dec,"hMixB_%s",fInputAODGammaName.Data());\r
+  TH2F * h2MixB= (TH2F*)fMixBOmega[0]->Clone(dec);\r
   h2MixB->GetXaxis()->SetRangeUser(4,6);\r
   TH1F * hMixBOmega = (TH1F*) h2MixB->ProjectionY();\r
   hMixBOmega->SetTitle("MixB 4<pt<6");\r
@@ -796,7 +835,8 @@ void AliAnaOmegaToPi0Gamma::Terminate(TList * outputList)
   hMixBOmega->Draw();\r
 \r
   cvsIVM->cd(4);\r
-  TH2F *h2MixC= new TH2F(*fMixCOmega[0]);\r
+  sprintf(dec,"hMixC_%s",fInputAODGammaName.Data());\r
+  TH2F *h2MixC= (TH2F*)fMixCOmega[0]->Clone(dec);\r
   h2MixC->GetXaxis()->SetRangeUser(4,6);\r
   TH1F * hMixCOmega = (TH1F*) h2MixC->ProjectionY();\r
   hMixCOmega->SetTitle("MixC 4<pt<6");\r