]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Modifications in AliAnaOmegaToPi0Gamma:
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 25 Jan 2010 13:04:16 +0000 (13:04 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 25 Jan 2010 13:04:16 +0000 (13:04 +0000)
1) Change the bins, min and max in accordance with PWG4 function GetHistoPtBins etc
2) add two pt cuts: fPi0OverOmegaPtCut and fGammaOverOmegaPtCut
3) change the code of vertex z cut
4) add analysis to train wagon

PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx
PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.h
PWG4/macros/AddTaskPartCorr.C
PWG4/macros/ConfigAnalysisOmegaToPi0Gamma.C

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
index 64200fade26e33b1a2f73e5df2dc1728838e24f0..cea113c16ec878446f03eddfff92cd208c3b53e8 100644 (file)
@@ -38,12 +38,13 @@ class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
   void SetInputAODPhotonName(TString name) {fInputAODGammaName=name;}
   Bool_t IsBadRun(Int_t /*iRun*/) const {return kFALSE;} //Tests if this run bad according to private list
 
-  void SetNPtBinsMinMax(Int_t bins, Double_t min, Double_t max) {fNbinsPt=bins; fPtBegin=min; fPtEnd=max; } //set pt bins, min and max   
-  void SetNMassBinsMinMas(Int_t bins, Double_t min, Double_t max) {fNbinsM=bins; fMinM=min; fMaxM=max; } //set mass pt bins, min and max   
-  void SetNEventsMixed(Int_t nevents) { fNmaxMixEv=nevents;} //events to be mixed 
+  void SetNEventsMixed(Int_t nevents) { fNmaxMixEv=nevents;} //events to be mixed
   void SetNPID(Int_t pid) {fNpid=pid;} 
+  void SetNVtxZ(Int_t vtx){fNVtxZBin=vtx;}
+  void SetNBadChDist(Int_t dist){fNBadChDistBin=dist;}
   void SetPi0MassPeakWidthCut(Double_t win){fPi0MassWindow=win;} 
-
+  void SetPi0OverOmegaPtCut(Double_t cut){fPi0OverOmegaPtCut=cut;}
+  void SetGammaOverOmegaPtCut(Double_t cut){fGammaOverOmegaPtCut=cut;}
   void ReadHistograms(TList * outputList);
 
   private:
@@ -68,13 +69,8 @@ class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
   Int_t fNmaxMixEv;              //buffer size events to be mixed
   Double_t fPi0Mass;             //nominal pi0 mass
   Double_t fPi0MassWindow;       //pi0 mass windows
-
-  Int_t fNbinsPt;                //Pt bin number, min and max
-  Double_t fPtBegin;             //pt minmum
-  Double_t fPtEnd;               //pt maxium
-  Int_t fNbinsM;                 //mass bin number, min and max  
-  Double_t fMinM;                //mass minmum
-  Double_t fMaxM;                //mass maxium
+  Double_t fPi0OverOmegaPtCut;   //pi0 Pt over omega pt cut
+  Double_t fGammaOverOmegaPtCut; //gamma pt over omega pt cut
 
   TH2F * fhEtalon;               //an etalon of 3D histograms
 
@@ -94,7 +90,7 @@ class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
   TH2F **fMixCOmega2;            //mixC omega IVM(asy, pt, m)
 
   TH1F *fhOmegaPriPt;            //MC primary omega pt in 2pi and |y|<0.5
-  ClassDef(AliAnaOmegaToPi0Gamma,1)
+  ClassDef(AliAnaOmegaToPi0Gamma,2)
 } ;
 
 #endif 
index 88cb238db64412fdf1a5947bb9788f4d13e7026b..d20c4cf71bbe7f1796edd0ceb65adec76e2ec97e 100644 (file)
@@ -73,16 +73,16 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   AliFiducialCut * fidCut1stYear = new AliFiducialCut();
   fidCut1stYear->DoCTSFiducialCut(kFALSE) ;
   if(kSimulation){
-               fidCut1stYear->DoEMCALFiducialCut(kTRUE) ;
-               fidCut1stYear->DoPHOSFiducialCut(kTRUE) ;
-               fidCut1stYear->SetSimpleEMCALFiducialCut(0.7,80.,120.);
-               fidCut1stYear->SetSimplePHOSFiducialCut(0.12,260.,320.);
+    fidCut1stYear->DoEMCALFiducialCut(kTRUE) ;
+    fidCut1stYear->DoPHOSFiducialCut(kTRUE) ;
+    fidCut1stYear->SetSimpleEMCALFiducialCut(0.7,80.,120.);
+    fidCut1stYear->SetSimplePHOSFiducialCut(0.12,260.,320.);
   } 
   else{
-               fidCut1stYear->DoEMCALFiducialCut(kFALSE) ;
-               fidCut1stYear->DoPHOSFiducialCut(kFALSE) ;
+    fidCut1stYear->DoEMCALFiducialCut(kFALSE) ;
+    fidCut1stYear->DoPHOSFiducialCut(kFALSE) ;
   }    
-       
+  
 //  AliFiducialCut * fidCut = new AliFiducialCut();
 //  fidCut->DoCTSFiducialCut(kFALSE) ;
 //  fidCut->DoEMCALFiducialCut(kTRUE) ;
@@ -95,8 +95,8 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   else  qa->SwitchOffDataMC() ;
   qa->AddToHistogramsName("AnaCaloQA_");
   if(kSimulation){
-         qa->SetFiducialCut(fidCut1stYear);
-         qa->SwitchOnFiducialCut();
+    qa->SetFiducialCut(fidCut1stYear);
+    qa->SwitchOnFiducialCut();
   }
   if(qa=="PHOS") qa->SetNumberOfModules(3); //PHOS first year
   else  qa->SetNumberOfModules(4); //EMCAL first year
@@ -104,12 +104,12 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   qa->SetHistoPtRangeAndNBins(0, 50, 500) ;
   qa->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
   if(calorimeter == "PHOS"){
-         qa->SetHistoEtaRangeAndNBins(-0.13, 0.13, 100) ;
-         qa->SetHistoPhiRangeAndNBins(250*TMath::DegToRad(), 330*TMath::DegToRad() , 200) ;
+    qa->SetHistoEtaRangeAndNBins(-0.13, 0.13, 100) ;
+    qa->SetHistoPhiRangeAndNBins(250*TMath::DegToRad(), 330*TMath::DegToRad() , 200) ;
   }
   else if(calorimeter == "EMCAL"){
-         qa->SetHistoEtaRangeAndNBins(-0.8, 0.8, 200) ;
-         qa->SetHistoPhiRangeAndNBins(70*TMath::DegToRad(), 130*TMath::DegToRad(), 200) ;
+    qa->SetHistoEtaRangeAndNBins(-0.8, 0.8, 200) ;
+    qa->SetHistoPhiRangeAndNBins(70*TMath::DegToRad(), 130*TMath::DegToRad(), 200) ;
   }
   qa->SetHistoMassRangeAndNBins(0., 0.6, 300) ;
   qa->SetHistoAsymmetryRangeAndNBins(0., 1. , 25) ;
@@ -127,8 +127,6 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   // --------------------
   // --- Pi0 Analysis ---
   // --------------------
-       
-       
 
   AliAnaPhoton *anaphoton1 = new AliAnaPhoton();
   anaphoton1->SetDebug(-1); //10 for lots of messages
@@ -184,7 +182,7 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   
   AliAnaPhoton *anaphoton2 = new AliAnaPhoton();
   anaphoton2->SetDebug(-1); //10 for lots of messages
-  anaphoton2->SetMinPt(2);
+  anaphoton2->SetMinPt(0.);
   anaphoton2->SetCaloPID(pid);
   anaphoton2->SetCalorimeter(calorimeter);
   if(kUseKinematics) anaphoton2->SwitchOnDataMC() ;//Access MC stack and fill more histograms
@@ -213,7 +211,7 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   
   AliAnaParticleIsolation *anaisol = new AliAnaParticleIsolation();
   anaisol->SetDebug(-1);
-  anaisol->SetMinPt(2);
+  anaisol->SetMinPt(0);
   anaisol->SetInputAODName(Form("Photons%s",calorimeter.Data()));
   anaisol->SetCalorimeter(calorimeter);
   if(kUseKinematics) anaisol->SwitchOnDataMC() ;//Access MC stack and fill more histograms
@@ -319,7 +317,7 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   AliAnaPi0EbE *anapi0ebe = new AliAnaPi0EbE();
   anapi0ebe->SetDebug(-1);//10 for lots of messages
   anapi0ebe->SetAnalysisType(AliAnaPi0EbE::kIMCalo);
-  anapi0ebe->SetMinPt(2);
+  anapi0ebe->SetMinPt(0);
   anapi0ebe->SetCalorimeter(calorimeter);
   anapi0ebe->SetInputAODName(Form("Photons%s",calorimeter.Data()));
   anapi0ebe->SetOutputAODName(Form("Pi0s%s",calorimeter.Data()));
@@ -335,7 +333,7 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   
   AliAnaParticleIsolation *anaisolpi0 = new AliAnaParticleIsolation();
   anaisolpi0->SetDebug(-1);
-  anaisolpi0->SetMinPt(2);
+  anaisolpi0->SetMinPt(0);
   anaisolpi0->SetInputAODName(Form("Pi0s%s",calorimeter.Data()));
   anaisolpi0->AddToHistogramsName("AnaIsolPi0_");
   anaisolpi0->SetCalorimeter(calorimeter);
@@ -411,7 +409,29 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   //      ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
   //      ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
   if(kPrintSettings) anacorrhadronisopi0->Print("");
-  
+  //analysis the omega->pi0+gamma
+  AliAnaOmegaToPi0Gamma *anaomegaToPi0Gamma = new AliAnaOmegaToPi0Gamma();
+  anaomegaToPi0Gamma->SetDebug(-1);//10 for lots of messages
+  anaomegaToPi0Gamma->SetInputAODName(Form("Pi0s%s",calorimeter.Data()));
+  anaomegaToPi0Gamma->SetInputAODPhotonName(Form("Photons%s",calorimeter.Data()));
+  anaomegaToPi0Gamma->SetNPID(2);
+  anaomegaToPi0Gamma->SetNVtxZ(2);
+  anaomegaToPi0Gamma->SetNBadChDist(3);
+  anaomegaToPi0Gamma->SetNEventsMixed(4);
+  if(calorimeter.Data()=="PHOS")
+           anaomegaToPi0Gamma->SetPi0MassPeakWidthCut(0.008); // PHOS
+  else if(calorimeter.Data()=="EMCAL")
+           anaomegaToPi0Gamma->SetPi0MassPeakWidthCut(0.012); // EMCAL 
+  anaomegaToPi0Gamma->SetHistoPtRangeAndNBins(0, 20, 200) ;
+  anaomegaToPi0Gamma->SetHistoMassRangeAndNBins(0, 1, 200) ;
+  anaomegaToPi0Gamma->SetPi0OverOmegaPtCut(0.8);
+  anaomegaToPi0Gamma->SetGammaOverOmegaPtCut(0.2);
+  if(kUseKinematics) anaomegaToPi0Gamma->SwitchOnDataMC() ;//Access MC stack and fill more histograms
+  else anaomegaToPi0Gamma->SwitchOffDataMC() ;//Access MC stack and fill more histograms
+  anaomegaToPi0Gamma->AddToHistogramsName(Form("AnaOmegaToPi0Gamma%s_",calorimeter.Data()));
+  anaomegaToPi0Gamma->Print("");
   // #### Configure Maker ####
   AliAnaPartCorrMaker * maker = new AliAnaPartCorrMaker();
   maker->SetReader(reader);//pointer to reader
@@ -427,7 +447,8 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   maker->AddAnalysis(anaisolpi0,9);
   maker->AddAnalysis(anacorrhadronpi0,10);
   maker->AddAnalysis(anacorrhadronisopi0,11);
-  
+  maker->AddAnalysis(anaomegaToPi0Gamma,12);  
   maker->SetAnaDebug(-1)  ;
   maker->SwitchOnHistogramsMaker()  ;
   maker->SwitchOnAODsMaker()  ;
index 251b5a2197f086a2dbf38ad385dfc7bcce7e4654..aebe6c67aad683cf79d8be18073786bd9537c1f0 100644 (file)
@@ -1,4 +1,3 @@
-
 AliAnaPartCorrMaker*  ConfigAnalysis()
 {
        //
@@ -8,13 +7,13 @@ AliAnaPartCorrMaker*  ConfigAnalysis()
        printf("ConfigAnalysis() \n");
        printf("======================== \n");
        
-       //Detector Fiducial Cuts
+       //Detector Fidutial Cuts
        AliFiducialCut * fidCut = new AliFiducialCut();
-       fidCut->DoCTSFiducialCut(kFALSE) ;
+       fidCut->DoCTSFiducialCut(kTRUE) ;
        fidCut->DoEMCALFiducialCut(kTRUE) ;
        fidCut->DoPHOSFiducialCut(kTRUE) ;
        
-       //fidCut->SetSimpleCTSFiducialCut(0.9,0.,360.);
+       fidCut->SetSimpleCTSFiducialCut(0.9,0.,360.);
        fidCut->SetSimpleEMCALFiducialCut(0.7,80.,190.);
        fidCut->SetSimplePHOSFiducialCut(0.12,220.,320.);
        
@@ -29,18 +28,14 @@ AliAnaPartCorrMaker*  ConfigAnalysis()
        //Switch on or off the detectors information that you want
        reader->SwitchOnPHOS();
        reader->SwitchOnEMCAL();
-       reader->SwitchOffCTS();
+       reader->SwitchOnCTS();
        
        //Min particle pT
-       reader->SetEMCALPtMin(0.2); 
-       reader->SetPHOSPtMin(0.2);
-       //reader->SetCTSPtMin(0.2);
+       reader->SetEMCALPtMin(0.5); 
+       reader->SetPHOSPtMin(0.5);
+       reader->SetCTSPtMin(0.5);
        
        reader->SetFiducialCut(fidCut);
-               
-       //Remove the temporal AODs we create.   
-       reader->SwitchOnCleanStdAOD();  
-       
        reader->Print("");
        
        
@@ -59,7 +54,7 @@ AliAnaPartCorrMaker*  ConfigAnalysis()
 
        AliAnaPhoton *anaphoton = new AliAnaPhoton();
         anaphoton->SetDebug(-1); //10 for lots of messages
-        anaphoton->SetMinPt(0.2);
+        anaphoton->SetMinPt(0.1);
         anaphoton->SetMinDistanceToBadChannel(2, 4, 5);
         anaphoton->SetCaloPID(pid);
 //        anaphoton->SetFiducialCut(fidCut); //More acceptance selections if needed at this level
@@ -82,44 +77,41 @@ AliAnaPartCorrMaker*  ConfigAnalysis()
        // >>> Second Analysis <<<
        
        AliNeutralMesonSelection *nms = new AliNeutralMesonSelection();
-       nms->SetInvMassCutRange(0.1, 0.17)      ;
+       nms->SetInvMassCutRange(0.11, 0.16)     ;
        nms->KeepNeutralMesonSelectionHistos(kTRUE);
        //Set Histrograms bins and ranges
-       nms->SetHistoERangeAndNBins(0, 50, 100) ;
-       nms->SetHistoPtRangeAndNBins(0, 50, 100) ;
-       nms->SetHistoAngleRangeAndNBins(0, 0.3, 100) ;
-       nms->SetHistoIMRangeAndNBins(0, 0.4, 100) ;  
 
-       AliAnaPi0EbE *anapi0 = new AliAnaPi0EbE();
-       anapi0->SetDebug(-1);//10 for lots of messages
-       anapi0->SetAnalysisType(AliAnaPi0EbE::kIMCalo);
-       anapi0->SetInputAODName("PhotonsPHOS");
-       anapi0->SetOutputAODName("Pi0sPHOS");
-       anapi0->SetOutputAODClassName("AliAODPWG4Particle");
-       anapi0->SwitchOffDataMC() ;//Access MC stack and fill more histograms
-       anapi0->SetNeutralMesonSelection(nms);
-       anapi0->AddToHistogramsName("AnaPi0EbEPHOS_");
+       AliAnaPi0EbE *anapi0EbE = new AliAnaPi0EbE();
+       anapi0EbE->SetDebug(-1);//10 for lots of messages
+       anapi0EbE->SetAnalysisType(AliAnaPi0EbE::kIMCalo);
+       anapi0EbE->SetInputAODName("PhotonsPHOS");
+       anapi0EbE->SetOutputAODName("Pi0sPHOS");
+       anapi0EbE->SetOutputAODClassName("AliAODPWG4Particle");
+       anapi0EbE->SwitchOffDataMC() ;//Access MC stack and fill more histograms
+       anapi0EbE->SetNeutralMesonSelection(nms);
+       anapi0EbE->AddToHistogramsName("AnaPi0EbEPHOS_");
        //Set Histrograms bins and ranges
-       anapi0->SetHistoPtRangeAndNBins(0, 50, 100) ;
-       anapi0->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
-       anapi0->SetHistoEtaRangeAndNBins(-0.2, 0.2, 100) ;
-       anapi0->Print("");
+
+       anapi0EbE->Print("");
        
         AliAnaOmegaToPi0Gamma *anaomega = new AliAnaOmegaToPi0Gamma();
         anaomega->SetDebug(-1);//10 for lots of messages
         anaomega->SetInputAODName("Pi0sPHOS");
         anaomega->SetInputAODPhotonName("PhotonsPHOS");
-       anaomega->SetNPID(3);
+       anaomega->SetNPID(2);
+        anaomega->SetNVtxZ(2);
+        anaomega->SetNBadChDist(1);
         anaomega->SetNEventsMixed(4);
-        anaomega->SetNPtBinsMinMax(200,0,20.);
-        anaomega->SetNMassBinsMinMas(200,0,1.);
-        anaomega->SetPi0MassPeakWidthCut(0.015);
+        anaomega->SetPi0MassPeakWidthCut(0.008); //
+        anaomega->SetHistoPtRangeAndNBins(0, 10, 200) ;
+        anaomega->SetHistoMassRangeAndNBins(0, 1, 200) ;
+        anaomega->SetPi0OverOmegaPtCut(0.8);
+        anaomega->SetGammaOverOmegaPtCut(0.2);
         anaomega->SwitchOnFiducialCut();
-        anaomega->SwitchOnDataMC() ;//Access MC stack and fill more histograms
-        anaomega->AddToHistogramsName("AnaNeuPHOS_");
+        anaomega->SwitchOffDataMC() ;//Access MC stack and fill more histograms
+        anaomega->AddToHistogramsName("AnaOmegaToPi0GammaPHOS_");
         anaomega->Print("");
 
-
 //for EMCAL
         AliCaloPID * pid1 = new AliCaloPID();
         // use selection with simple weights
@@ -131,7 +123,7 @@ AliAnaPartCorrMaker*  ConfigAnalysis()
 
         AliAnaPhoton *anaphoton1 = new AliAnaPhoton();
         anaphoton1->SetDebug(-1); //10 for lots of messages
-        anaphoton1->SetMinPt(0.2);
+        anaphoton1->SetMinPt(0.1);
         anaphoton1->SetMinDistanceToBadChannel(2, 4, 5);
         anaphoton1->SetCaloPID(pid);
         anaphoton1->SetCalorimeter("EMCAL");
@@ -149,46 +141,41 @@ AliAnaPartCorrMaker*  ConfigAnalysis()
         anaphoton1->Print("");
 
        AliNeutralMesonSelection *nms1 = new AliNeutralMesonSelection();
-        nms1->SetInvMassCutRange(0.1, 0.17)     ;
+        nms1->SetInvMassCutRange(0.11, 0.16)     ;
         nms1->KeepNeutralMesonSelectionHistos(kTRUE);
         //Set Histrograms bins and ranges
-        nms1->SetHistoERangeAndNBins(0, 50, 100) ;
-        nms1->SetHistoPtRangeAndNBins(0, 50, 100) ;
-        nms1->SetHistoAngleRangeAndNBins(0, 0.3, 100) ;
-        nms1->SetHistoIMRangeAndNBins(0, 0.4, 100) ;
 
-
-        AliAnaPi0EbE *anapi01 = new AliAnaPi0EbE();
-        anapi01->SetDebug(-1);//10 for lots of messages
-        anapi01->SetAnalysisType(AliAnaPi0EbE::kIMCalo);
-        anapi01->SetInputAODName("PhotonsEMCAL");
-        anapi01->SetOutputAODName("Pi0sEMCAL");
-        anapi01->SetOutputAODClassName("AliAODPWG4Particle");
-        anapi01->SwitchOffDataMC() ;//Access MC stack and fill more histograms
-        anapi01->SetNeutralMesonSelection(nms1);
-        anapi01->AddToHistogramsName("AnaPi0EbEEMCAL_");
+        AliAnaPi0EbE *anapi0EbEEbE1 = new AliAnaPi0EbE();
+        anapi0EbEEbE1->SetDebug(-1);//10 for lots of messages
+        anapi0EbEEbE1->SetAnalysisType(AliAnaPi0EbE::kIMCalo);
+        anapi0EbEEbE1->SetInputAODName("PhotonsEMCAL");
+        anapi0EbEEbE1->SetOutputAODName("Pi0sEMCAL");
+        anapi0EbEEbE1->SetOutputAODClassName("AliAODPWG4Particle");
+        anapi0EbEEbE1->SwitchOffDataMC() ;//Access MC stack and fill more histograms
+        anapi0EbEEbE1->SetNeutralMesonSelection(nms1);
+        anapi0EbEEbE1->AddToHistogramsName("AnaPi0EbEEMCAL_");
         //Set Histrograms bins and ranges
-        anapi01->SetHistoPtRangeAndNBins(0, 50, 100) ;
-        anapi01->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
-        anapi01->SetHistoEtaRangeAndNBins(-0.8, 0.8, 100) ;
-        anapi01->Print("");
+        anapi0EbEEbE1->Print("");
+
 
         AliAnaOmegaToPi0Gamma *anaomega1 = new AliAnaOmegaToPi0Gamma();
         anaomega1->SetDebug(-1);//10 for lots of messages
         anaomega1->SetInputAODName("Pi0sEMCAL");
         anaomega1->SetInputAODPhotonName("PhotonsEMCAL");
-        anaomega1->SetNPID(3);
+        anaomega1->SetNPID(2);
+        anaomega1->SetNVtxZ(2);
+        anaomega1->SetNBadChDist(1);
         anaomega1->SetNEventsMixed(4);
-        //anaomega1->SetNAsyBinsMinMax(200,0,1.);
-        anaomega1->SetNPtBinsMinMax(200,0,20.);
-        anaomega1->SetNMassBinsMinMas(200,0,1.);
         anaomega1->SetPi0MassPeakWidthCut(0.015);
+        anaomega1->SetHistoPtRangeAndNBins(0, 10, 200) ;
+        anaomega1->SetHistoMassRangeAndNBins(0, 1, 200) ;
+        anaomega1->SetPi0OverOmegaPtCut(0.8);
+        anaomega1->SetGammaOverOmegaPtCut(0.2);
         anaomega1->SwitchOnFiducialCut();
-        anaomega1->SwitchOnDataMC() ;//Access MC stack and fill more histograms
-        anaomega1->AddToHistogramsName("AnaNeuEMCAL_");
+        anaomega1->SwitchOffDataMC() ;//Access MC stack and fill more histograms
+        anaomega1->AddToHistogramsName("AnaOmegaToPi0GammaEMCAL_");
         anaomega1->Print("");
 
-
        //---------------------------------------------------------------------
        // Set  analysis algorithm and reader
        //---------------------------------------------------------------------
@@ -196,12 +183,12 @@ AliAnaPartCorrMaker*  ConfigAnalysis()
        maker->SetReader(reader);//pointer to reader
        maker->SetAnaDebug(0);
        maker->AddAnalysis(anaphoton,0);
-       maker->AddAnalysis(anapi0,1);
+       maker->AddAnalysis(anapi0EbE,1);
                maker->AddAnalysis(anaomega,2);
 
         maker->AddAnalysis(anaphoton1,3);
-        maker->AddAnalysis(anapi01,4);
-       maker->AddAnalysis(anaomega1,5);
+        maker->AddAnalysis(anapi0EbEEbE1,4);
+        maker->AddAnalysis(anaomega1,5);
 
        maker->SwitchOnHistogramsMaker()  ;
        maker->SwitchOnAODsMaker()  ;