]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Updates from Renzhuo to enter the mini train
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 25 Mar 2010 18:05:18 +0000 (18:05 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 25 Mar 2010 18:05:18 +0000 (18:05 +0000)
PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx
PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.h

index f72b5433447e773d3e2e604841375b790f92a2a3..47447cd0796efb16de973c0d110a61df02d94826 100644 (file)
@@ -43,13 +43,13 @@ ClassImp(AliAnaOmegaToPi0Gamma)
 //______________________________________________________________________________\r
 AliAnaOmegaToPi0Gamma::AliAnaOmegaToPi0Gamma() : AliAnaPartCorrBaseClass(),\r
 fInputAODGamma(0),fInputAODPi0(0), fInputAODGammaName(""),\r
-fEventsList(0), \r
-fNVtxZBin(0), fNCentBin(0), fNRpBin(0), fNBadChDistBin(0), fNpid(0),\r
-fNmaxMixEv(0),fVtxZCut(0), fCent(0), fRp(0), fBadChDist(0),\r
-fPi0Mass(0), fPi0MassWindow(0),fPi0OverOmegaPtCut(0),fGammaOverOmegaPtCut(0),\r
+fEventsList(0),fNVtxZBin(1), fNCentBin(1), fNRpBin(1), fNBadChDistBin(1), fNpid(3),\r
+fNmaxMixEv(4), fVtxZCut(0), fCent(0), fRp(0), fBadChDist(0),\r
+fPi0Mass(0.13498),fPi0MassWindow(0.015),fPi0OverOmegaPtCut(0.8),\r
+fGammaOverOmegaPtCut(0.3),\r
 fhEtalon(0),\r
-fRealOmega(0), fMixAOmega(0),\r
-fMixBOmega(0), fMixCOmega(0),\r
+fRealOmega0(0), fMixAOmega0(0),\r
+fMixBOmega0(0), fMixCOmega0(0),\r
 fRealOmega1(0), fMixAOmega1(0),\r
 fMixBOmega1(0), fMixCOmega1(0),\r
 fRealOmega2(0), fMixAOmega2(0),\r
@@ -57,7 +57,6 @@ fMixBOmega2(0), fMixCOmega2(0),
 fhOmegaPriPt(0)\r
 {\r
  //Default Ctor\r
- InitParameters();\r
 }\r
 \r
 //______________________________________________________________________________\r
@@ -67,13 +66,16 @@ fInputAODPi0(new TClonesArray (*ex.fInputAODPi0)),
 fInputAODGammaName(ex.fInputAODGammaName),\r
 fEventsList(ex.fEventsList), \r
 fNVtxZBin(ex.fNVtxZBin), fNCentBin(ex.fNCentBin), fNRpBin(ex.fNRpBin),\r
-fNBadChDistBin(ex.fNBadChDistBin),fNpid(ex.fNpid),fNmaxMixEv(ex.fNmaxMixEv), \r
+fNBadChDistBin(ex.fNBadChDistBin),fNpid(ex.fNpid),\r
+fNmaxMixEv(ex.fNmaxMixEv),\r
 fVtxZCut(ex.fVtxZCut), fCent(ex.fCent), fRp(ex.fRp), fBadChDist(ex.fBadChDist),\r
-fPi0Mass(ex.fPi0Mass),fPi0MassWindow(ex.fPi0MassWindow),\r
-fPi0OverOmegaPtCut(ex.fPi0OverOmegaPtCut),fGammaOverOmegaPtCut(ex.fGammaOverOmegaPtCut),\r
+fPi0Mass(ex.fPi0Mass),\r
+fPi0MassWindow(ex.fPi0MassWindow),\r
+fPi0OverOmegaPtCut(ex.fPi0OverOmegaPtCut),\r
+fGammaOverOmegaPtCut(ex.fGammaOverOmegaPtCut),\r
 fhEtalon(ex.fhEtalon),\r
-fRealOmega(ex.fRealOmega), fMixAOmega(ex.fMixAOmega),\r
-fMixBOmega(ex.fMixBOmega), fMixCOmega(ex.fMixCOmega),\r
+fRealOmega0(ex.fRealOmega0), fMixAOmega0(ex.fMixAOmega0),\r
+fMixBOmega0(ex.fMixBOmega0), fMixCOmega0(ex.fMixCOmega0),\r
 fRealOmega1(ex.fRealOmega1), fMixAOmega1(ex.fMixAOmega1),\r
 fMixBOmega1(ex.fMixBOmega1), fMixCOmega1(ex.fMixCOmega1),\r
 fRealOmega2(ex.fRealOmega2), fMixAOmega2(ex.fMixAOmega2),\r
@@ -98,27 +100,28 @@ AliAnaOmegaToPi0Gamma & AliAnaOmegaToPi0Gamma::operator = (const AliAnaOmegaToPi
    fInputAODGammaName = ex.fInputAODGammaName;\r
    fEventsList = ex.fEventsList;\r
 \r
-   fVtxZCut=ex.fVtxZCut;\r
-   fCent=ex.fCent;\r
-   fRp=ex.fRp;\r
-   fBadChDist=ex.fBadChDist;\r
-   fNVtxZBin=ex.fNVtxZBin; \r
+   fNVtxZBin=ex.fNVtxZBin;\r
    fNCentBin=ex.fNCentBin;\r
    fNRpBin=ex.fNRpBin;\r
    fNBadChDistBin=ex.fNBadChDistBin;\r
    fNpid=ex.fNpid;\r
-\r
    fNmaxMixEv =ex.fNmaxMixEv;\r
+\r
+   fVtxZCut=ex.fVtxZCut;\r
+   fCent=ex.fCent;\r
+   fRp=ex.fRp;\r
+   fBadChDist=ex.fBadChDist;\r
+\r
    fPi0Mass=ex.fPi0Mass;\r
    fPi0MassWindow=ex.fPi0MassWindow;\r
    fPi0OverOmegaPtCut=ex.fPi0OverOmegaPtCut;\r
    fGammaOverOmegaPtCut=ex.fGammaOverOmegaPtCut;\r
 \r
    fhEtalon=ex.fhEtalon;\r
-   fRealOmega=ex.fRealOmega;\r
-   fMixAOmega=ex.fMixAOmega;\r
-   fMixBOmega=ex.fMixBOmega;\r
-   fMixCOmega=ex.fMixCOmega;\r
+   fRealOmega0=ex.fRealOmega0;\r
+   fMixAOmega0=ex.fMixAOmega0;\r
+   fMixBOmega0=ex.fMixBOmega0;\r
+   fMixCOmega0=ex.fMixCOmega0;\r
    fRealOmega1=ex.fRealOmega1;\r
    fMixAOmega1=ex.fMixAOmega1;\r
    fMixBOmega1=ex.fMixBOmega1;\r
@@ -158,6 +161,12 @@ AliAnaOmegaToPi0Gamma::~AliAnaOmegaToPi0Gamma() {
   }\r
   delete [] fEventsList;\r
   fEventsList=0;\r
+\r
+ delete [] fVtxZCut;\r
+ delete [] fCent;\r
+ delete [] fRp;\r
+ delete [] fBadChDist;\r
+\r
 }\r
 \r
 //______________________________________________________________________________\r
@@ -165,19 +174,6 @@ void AliAnaOmegaToPi0Gamma::InitParameters()
 {\r
 //Init parameters when first called the analysis\r
 //Set default parameters\r
-  fInputAODGammaName = "PhotonsPHOS";\r
-  fNmaxMixEv = 4;\r
-\r
-  fPi0Mass=0.13498;\r
-  fPi0MassWindow=0.015;\r
-  fPi0OverOmegaPtCut=0.8;\r
-  fGammaOverOmegaPtCut=0.3;\r
-  fNVtxZBin=1;\r
-  fNCentBin=1;\r
-  fNRpBin=1;\r
-  fNBadChDistBin=1;\r
-  fNpid=3;\r
-\r
   fVtxZCut = new Double_t [fNVtxZBin];\r
   for(Int_t i=0;i<fNVtxZBin;i++) fVtxZCut[i]=10*(i+1);\r
 \r
@@ -188,26 +184,15 @@ void AliAnaOmegaToPi0Gamma::InitParameters()
   fRp[0]=0;\r
 \r
   fBadChDist=new Int_t [fNBadChDistBin];\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
+  for(Int_t j=0;j<fNBadChDistBin;j++)   fBadChDist[j] = j+2;\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
 }\r
 \r
 \r
 //______________________________________________________________________________\r
 TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()\r
-{ \r
+{\r
+  InitParameters();\r
 \r
   Int_t nptbins   = GetHistoPtBins();\r
   Float_t ptmax   = GetHistoPtMax();\r
@@ -239,10 +224,10 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
  const char * detector= fInputAODGammaName.Data();\r
  Int_t ndim=fNVtxZBin*fNCentBin*fNRpBin*fNBadChDistBin*fNpid;\r
 \r
- fRealOmega =new TH2F*[ndim];\r
- fMixAOmega =new TH2F*[ndim];\r
- fMixBOmega =new TH2F*[ndim];\r
- fMixCOmega =new TH2F*[ndim];\r
+ fRealOmega0 =new TH2F*[ndim];\r
+ fMixAOmega0 =new TH2F*[ndim];\r
+ fMixBOmega0 =new TH2F*[ndim];\r
+ fMixCOmega0 =new TH2F*[ndim];\r
  \r
  fRealOmega1 =new TH2F*[ndim];\r
  fMixAOmega1 =new TH2F*[ndim];\r
@@ -263,39 +248,39 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
 \r
                      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(key,"RealToPi0Gamma_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_%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
-                     fRealOmega[index]->SetTitle(title);\r
-                     outputContainer->Add(fRealOmega[index]);\r
+                     fRealOmega0[index]=(TH2F*)fhEtalon->Clone(key) ;\r
+                     fRealOmega0[index]->SetName(key) ;\r
+                     fRealOmega0[index]->SetTitle(title);\r
+                     outputContainer->Add(fRealOmega0[index]);\r
 \r
-                    sprintf(key,"MAPi0Gamma_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                    sprintf(key,"MixAToPi0Gamma_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_%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
-                     fMixAOmega[index]->SetTitle(title);\r
-                     outputContainer->Add(fMixAOmega[index]);\r
+                     fMixAOmega0[index]=(TH2F*)fhEtalon->Clone(key) ;\r
+                     fMixAOmega0[index]->SetName(key) ;\r
+                     fMixAOmega0[index]->SetTitle(title);\r
+                     outputContainer->Add(fMixAOmega0[index]);\r
 \r
-                    sprintf(key,"MBPi0Gamma_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                    sprintf(key,"MixBToPi0Gamma_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_%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
-                     fMixBOmega[index]->SetTitle(title);\r
-                     outputContainer->Add(fMixBOmega[index]);\r
+                     fMixBOmega0[index]=(TH2F*)fhEtalon->Clone(key) ;\r
+                     fMixBOmega0[index]->SetName(key) ;\r
+                     fMixBOmega0[index]->SetTitle(title);\r
+                     outputContainer->Add(fMixBOmega0[index]);\r
 \r
-                    sprintf(key,"MCPi0Gamma_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                    sprintf(key,"MixCToPi0Gamma_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_%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
-                     fMixCOmega[index]->SetTitle(title);\r
-                     outputContainer->Add(fMixCOmega[index]);\r
+                     fMixCOmega0[index]=(TH2F*)fhEtalon->Clone(key) ;\r
+                     fMixCOmega0[index]->SetName(key) ;\r
+                     fMixCOmega0[index]->SetTitle(title);\r
+                     outputContainer->Add(fMixCOmega0[index]);\r
 \r
-                    sprintf(key,"RPi0Gamma1_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                    sprintf(key,"RealToPi0Gamma1_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_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fRealOmega1[index]=(TH2F*)fhEtalon->Clone(key) ;\r
@@ -303,7 +288,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      fRealOmega1[index]->SetTitle(title);\r
                      outputContainer->Add(fRealOmega1[index]);\r
 \r
-                     sprintf(key,"MAPi0Gamma1_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                     sprintf(key,"MixAToPi0Gamma1_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_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixAOmega1[index]=(TH2F*)fhEtalon->Clone(key) ;\r
@@ -311,7 +296,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      fMixAOmega1[index]->SetTitle(title);\r
                      outputContainer->Add(fMixAOmega1[index]);\r
 \r
-                     sprintf(key,"MBPi0Gamma1_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                     sprintf(key,"MixBToPi0Gamma1_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_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixBOmega1[index]=(TH2F*)fhEtalon->Clone(key) ;\r
@@ -319,7 +304,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      fMixBOmega1[index]->SetTitle(title);\r
                      outputContainer->Add(fMixBOmega1[index]);\r
 \r
-                     sprintf(key,"MCPi0Gamma1_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                     sprintf(key,"MixCToPi0Gamma1_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_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixCOmega1[index]=(TH2F*)fhEtalon->Clone(key) ;\r
@@ -327,7 +312,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      fMixCOmega1[index]->SetTitle(title);\r
                      outputContainer->Add(fMixCOmega1[index]);\r
 \r
-                    sprintf(key,"RPi0Gamma2_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                    sprintf(key,"RealToPi0Gamma2_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_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fRealOmega2[index]=(TH2F*)fhEtalon->Clone(key) ;\r
@@ -335,7 +320,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      fRealOmega2[index]->SetTitle(title);\r
                      outputContainer->Add(fRealOmega2[index]);\r
 \r
-                     sprintf(key,"MAPi0Gamma2_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                     sprintf(key,"MixAToPi0Gamma2_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_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixAOmega2[index]=(TH2F*)fhEtalon->Clone(key) ;\r
@@ -343,7 +328,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      fMixAOmega2[index]->SetTitle(title);\r
                      outputContainer->Add(fMixAOmega2[index]);\r
 \r
-                     sprintf(key,"MBPi0Gamma2_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                     sprintf(key,"MixBToPi0Gamma2_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_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixBOmega2[index]=(TH2F*)fhEtalon->Clone(key) ;\r
@@ -351,7 +336,7 @@ TList * AliAnaOmegaToPi0Gamma::GetCreateOutputObjects()
                      fMixBOmega2[index]->SetTitle(title);\r
                      outputContainer->Add(fMixBOmega2[index]);\r
 \r
-                     sprintf(key,"MCPi0Gamma2_Vz%dC%dRp%dPid%dDist%d",i,j,k,ipid,idist);\r
+                     sprintf(key,"MixCToPi0Gamma2_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_%dcm",detector,fVtxZCut[i],fCent[j],fRp[k],ipid,fBadChDist[idist]);\r
                      fhEtalon->Clone(key);\r
                      fMixCOmega2[index]=(TH2F*)fhEtalon->Clone(key) ;\r
@@ -479,19 +464,17 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
  fInputAODPi0 = (TClonesArray*)GetInputAODBranch();  //pi0 array\r
  Int_t npi0s = fInputAODPi0 ->GetEntries();\r
  \r
- if(nphotons<3)return; //for pi0, eta and omega->pi0+gamma->3gamma reconstruction\r
+ if(nphotons<3 || npi0s<1)return; //for pi0, eta and omega->pi0+gamma->3gamma reconstruction\r
 \r
- //if((nphotons<3) || (npi0s<=0)) return;\r
  //reconstruction of omega(782)->pi0+gamma->3gamma\r
  //loop for pi0 and photon\r
- if(GetDebug() > 0) printf("omega->pi0+gamma->3gamma invariant mass analysis ! \n");\r
+ if(GetDebug() > 0) printf("omega->pi0+gamma->3gamma invariant mass analysis ! This event have %d photons and %d pi0 \n", nphotons, npi0s);\r
  for(Int_t i=0;i<npi0s;i++){\r
      AliAODPWG4Particle * pi0 = (AliAODPWG4Particle*) (fInputAODPi0->At(i)) ; //pi0\r
      TLorentzVector vpi0(pi0->Px(),pi0->Py(),pi0->Pz(),pi0->E());\r
      Int_t lab1=pi0->GetCaloLabel(0);  // photon1 from pi0 decay\r
      Int_t lab2=pi0->GetCaloLabel(1);  // photon2 from pi0 decay\r
      //for omega->pi0+gamma, it needs at least three photons per event\r
-\r
      //Get the two decay photons from pi0\r
      AliAODPWG4Particle * photon1 =0;\r
      AliAODPWG4Particle * photon2 =0;\r
@@ -520,7 +503,6 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
 //    Double_t eta2=dph2.Eta();\r
 //    Double_t pi0dist=TMath::Sqrt((phi1-phi2)*(phi1-phi2)+(eta1-eta2)*(eta1-eta2));\r
 \r
-\r
     if(pi0->GetPdg()==111  && nphotons>2 && npi0s\r
            && TMath::Abs(vpi0.M()-fPi0Mass)<fPi0MassWindow) { //pi0 candidates\r
 \r
@@ -554,7 +536,7 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
 \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
-\r
+    \r
             if(lab3>0 && lab3!=lab1 && lab3!=lab2){\r
                for(Int_t ipid=0;ipid<fNpid;ipid++){\r
                    for(Int_t idist=0;idist<fNBadChDistBin;idist++){\r
@@ -565,12 +547,11 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                           photon1->DistToBad()>=fBadChDist[idist] &&\r
                           photon2->DistToBad()>=fBadChDist[idist] &&\r
                           photon3->DistToBad()>=fBadChDist[idist] ){\r
-                        \r
                           //fill the histograms\r
-                          fRealOmega[index]->Fill(pi0gammapt,pi0gammamass); \r
+                           if(GetDebug() > 2) printf("Real: index  %d  pt  %2.3f  mass   %2.3f \n", index, pi0gammapt, pi0gammamass);\r
+                          fRealOmega0[index]->Fill(pi0gammapt,pi0gammamass);\r
                           if(pi0asy<0.7) fRealOmega1[index]->Fill(pi0gammapt,pi0gammamass);\r
                           if(pi0asy<0.8) fRealOmega2[index]->Fill(pi0gammapt,pi0gammamass);\r
-//printf("real omega  %d  %2.2f \n", index, pi0gammamass);\r
                        }\r
                     }\r
                }\r
@@ -578,12 +559,11 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
          }     \r
          delete []dc1;\r
         delete []dc2;\r
-\r
+ if(GetDebug() > 0) printf("MixA: (r1_event1+r2_event1)+r3_event2 \n");\r
         //-------------------------\r
         //background analysis\r
         //three background\r
         // --A   (r1_event1+r2_event1)+r3_event2\r
-\r
          Int_t nMixed = fEventsList[curEventBin]->GetSize();\r
          for(Int_t im=0;im<nMixed;im++){\r
              TClonesArray* ev2= (TClonesArray*) (fEventsList[curEventBin]->At(im));\r
@@ -608,9 +588,9 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                           photon1->DistToBad()>=fBadChDist[idist] &&\r
                           photon2->DistToBad()>=fBadChDist[idist] &&\r
                           mix1ph->DistToBad()>=fBadChDist[idist] ){\r
-\r
+                          if(GetDebug() > 2) printf("MixA: index  %d   pt  %2.3f  mass   %2.3f \n",index, pi0gammapt, pi0gammamass);\r
                          //fill the histograms\r
-                         fMixAOmega[index]->Fill(pi0gammapt,pi0gammamass);\r
+                         fMixAOmega0[index]->Fill(pi0gammapt,pi0gammamass);\r
                           if(pi0asy<0.7)fMixAOmega1[index]->Fill(pi0gammapt,pi0gammamass);\r
                           if(pi0asy<0.8)fMixAOmega2[index]->Fill(pi0gammapt,pi0gammamass);\r
 //printf("mix A  %d  %2.2f \n", index, pi0gammamass);\r
@@ -626,6 +606,7 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
  //\r
  // --B   (r1_event1+r2_event2)+r3_event2\r
  //\r
+ if(GetDebug() >0)printf("MixB:  (r1_event1+r2_event2)+r3_event2 \n");\r
  for(Int_t i=0;i<nphotons;i++){\r
      AliAODPWG4Particle *ph1 = (AliAODPWG4Particle*) (fInputAODGamma->At(i)); \r
      TLorentzVector vph1(ph1->Px(),ph1->Py(),ph1->Pz(),ph1->E());\r
@@ -648,7 +629,6 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                     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
@@ -662,8 +642,9 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                               ph1->DistToBad()>=fBadChDist[idist] &&\r
                                ph2->DistToBad()>=fBadChDist[idist] &&\r
                                ph3->DistToBad()>=fBadChDist[idist] ){\r
+                               if(GetDebug() > 2) printf("MixB: index  %d   pt  %2.3f  mass   %2.3f \n", index, pi0gammapt, pi0gammamass);\r
                               //fill histograms\r
-                              fMixBOmega[index]->Fill(pi0gammapt,pi0gammamass);\r
+                              fMixBOmega0[index]->Fill(pi0gammapt,pi0gammamass);\r
                                if(pi0asy<0.7) fMixBOmega1[index]->Fill(pi0gammapt,pi0gammamass);\r
                                if(pi0asy<0.8) fMixBOmega2[index]->Fill(pi0gammapt,pi0gammamass);\r
 //printf("mix B  %d  %2.2f \n", index, pi0gammamass);\r
@@ -671,10 +652,11 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                        }                   \r
                    }\r
                }\r
-               \r
+       \r
                //\r
                // --C   (r1_event1+r2_event2)+r3_event3\r
                 //\r
+                if(GetDebug() >0)printf("MixC: (r1_event1+r2_event2)+r3_event3\n");\r
                for(Int_t je=(ie+1);je<nMixed;je++){\r
                    TClonesArray* ev3= (TClonesArray*) (fEventsList[curEventBin]->At(je));\r
                    for(Int_t mix3=0;mix3<ev3->GetEntries();mix3++){\r
@@ -685,9 +667,8 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                        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
+                        if(pi0OverOmegaPtRatio>fPi0OverOmegaPtCut ||\r
                           gammaOverOmegaPtRatio<fGammaOverOmegaPtCut) continue;\r
        \r
                        for(Int_t ipid=0;ipid<fNpid;ipid++){\r
@@ -699,8 +680,9 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
                                   ph1->DistToBad()>=fBadChDist[idist] &&\r
                                    ph2->DistToBad()>=fBadChDist[idist] &&\r
                                    ph3->DistToBad()>=fBadChDist[idist] ){\r
+                                   if(GetDebug() > 2) printf("MixC: index  %d  pt  %2.3f  mass   %2.3f \n", index, pi0gammapt, pi0gammamass);\r
                                   //fill histograms\r
-                                 fMixCOmega[index]->Fill(pi0gammapt,pi0gammamass);\r
+                                 fMixCOmega0[index]->Fill(pi0gammapt,pi0gammamass);\r
                                   if(pi0asy<0.7) fMixCOmega1[index]->Fill(pi0gammapt,pi0gammamass);\r
                                  if(pi0asy<0.8) fMixCOmega2[index]->Fill(pi0gammapt,pi0gammamass);\r
 //printf("mix C  %d  %2.2f \n", index, pi0gammamass);\r
@@ -714,6 +696,7 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
      }\r
  }\r
 \r
+\r
  //event buffer \r
  TClonesArray *currentEvent = new TClonesArray(*fInputAODGamma);\r
  if(currentEvent->GetEntriesFast()>0){\r
@@ -729,7 +712,6 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
        delete currentEvent ;\r
        currentEvent=0 ;\r
  }\r
\r
 }\r
 \r
 //______________________________________________________________________________\r
@@ -738,14 +720,14 @@ void AliAnaOmegaToPi0Gamma::ReadHistograms(TList * outputList)
  //read the histograms \r
  //for the finalization of the terminate analysis\r
 \r
- Int_t index = outputList->IndexOf(outputList->FindObject(GetAddedHistogramsStringToName()+"RPi0Gamma_Vz0C0Rp0Pid0Dist0"));\r
+ Int_t index = outputList->IndexOf(outputList->FindObject(GetAddedHistogramsStringToName()+"RealToPi0Gamma_Vz0C0Rp0Pid0Dist0"));\r
 \r
   Int_t ndim=fNVtxZBin*fNCentBin*fNRpBin*fNBadChDistBin*fNpid;\r
 \r
- if(!fRealOmega) fRealOmega =new TH2F*[ndim];\r
- if(!fMixAOmega) fMixAOmega =new TH2F*[ndim];\r
- if(!fMixBOmega) fMixBOmega =new TH2F*[ndim];\r
- if(!fMixCOmega) fMixCOmega =new TH2F*[ndim];\r
+ if(!fRealOmega0) fRealOmega0 =new TH2F*[ndim];\r
+ if(!fMixAOmega0) fMixAOmega0 =new TH2F*[ndim];\r
+ if(!fMixBOmega0) fMixBOmega0 =new TH2F*[ndim];\r
+ if(!fMixCOmega0) fMixCOmega0 =new TH2F*[ndim];\r
 \r
  if(!fRealOmega1) fRealOmega1 =new TH2F*[ndim];\r
  if(!fMixAOmega1) fMixAOmega1 =new TH2F*[ndim];\r
@@ -764,10 +746,10 @@ void AliAnaOmegaToPi0Gamma::ReadHistograms(TList * outputList)
              for(Int_t ipid=0;ipid<fNpid;ipid++){ \r
                 for(Int_t idist=0;idist<fNBadChDistBin;idist++){ //at particle\r
                     Int_t ind=idim*fNpid*fNBadChDistBin+ipid*fNBadChDistBin+idist;\r
-                    fRealOmega[ind]= (TH2F*) outputList->At(index++);\r
-                    fMixAOmega[ind]= (TH2F*) outputList->At(index++);\r
-                    fMixBOmega[ind]= (TH2F*) outputList->At(index++);\r
-                    fMixCOmega[ind]= (TH2F*) outputList->At(index++);\r
+                    fRealOmega0[ind]= (TH2F*) outputList->At(index++);\r
+                    fMixAOmega0[ind]= (TH2F*) outputList->At(index++);\r
+                    fMixBOmega0[ind]= (TH2F*) outputList->At(index++);\r
+                    fMixCOmega0[ind]= (TH2F*) outputList->At(index++);\r
 \r
                     fRealOmega1[ind]= (TH2F*) outputList->At(index++);\r
                     fMixAOmega1[ind]= (TH2F*) outputList->At(index++);\r
@@ -807,7 +789,7 @@ void AliAnaOmegaToPi0Gamma::Terminate(TList * outputList)
   cvsIVM->cd(1);\r
   char dec[128];\r
   sprintf(dec,"h2Real_%s",fInputAODGammaName.Data());\r
-  TH2F * h2Real= (TH2F*)fRealOmega[0]->Clone(dec);\r
+  TH2F * h2Real= (TH2F*)fRealOmega0[0]->Clone(dec);\r
   h2Real->GetXaxis()->SetRangeUser(4,6);\r
   TH1F * hRealOmega = (TH1F*) h2Real->ProjectionY();\r
   hRealOmega->SetTitle("RealPi0Gamma 4<pt<6");\r
@@ -816,7 +798,7 @@ void AliAnaOmegaToPi0Gamma::Terminate(TList * outputList)
 \r
   cvsIVM->cd(2);\r
   sprintf(dec,"hMixA_%s",fInputAODGammaName.Data());\r
-  TH2F *h2MixA= (TH2F*)fMixAOmega[0]->Clone(dec);\r
+  TH2F *h2MixA= (TH2F*)fMixAOmega0[0]->Clone(dec);\r
   h2MixA->GetXaxis()->SetRangeUser(4,6);\r
   TH1F * hMixAOmega = (TH1F*) h2MixA->ProjectionY();\r
   hMixAOmega->SetTitle("MixA 4<pt<6");\r
@@ -825,7 +807,7 @@ void AliAnaOmegaToPi0Gamma::Terminate(TList * outputList)
 \r
   cvsIVM->cd(3);\r
   sprintf(dec,"hMixB_%s",fInputAODGammaName.Data());\r
-  TH2F * h2MixB= (TH2F*)fMixBOmega[0]->Clone(dec);\r
+  TH2F * h2MixB= (TH2F*)fMixBOmega0[0]->Clone(dec);\r
   h2MixB->GetXaxis()->SetRangeUser(4,6);\r
   TH1F * hMixBOmega = (TH1F*) h2MixB->ProjectionY();\r
   hMixBOmega->SetTitle("MixB 4<pt<6");\r
@@ -834,7 +816,7 @@ void AliAnaOmegaToPi0Gamma::Terminate(TList * outputList)
 \r
   cvsIVM->cd(4);\r
   sprintf(dec,"hMixC_%s",fInputAODGammaName.Data());\r
-  TH2F *h2MixC= (TH2F*)fMixCOmega[0]->Clone(dec);\r
+  TH2F *h2MixC= (TH2F*)fMixCOmega0[0]->Clone(dec);\r
   h2MixC->GetXaxis()->SetRangeUser(4,6);\r
   TH1F * hMixCOmega = (TH1F*) h2MixC->ProjectionY();\r
   hMixCOmega->SetTitle("MixC 4<pt<6");\r
index 2194718a3b0f8c86686118e1bd7c57e3639a42c1..967e7cb0d85d2289124ffba72849df5a2f155dfa 100644 (file)
@@ -39,56 +39,55 @@ class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
   Bool_t IsBadRun(Int_t /*iRun*/) const {return kFALSE;} //Tests if this run bad according to private list
 
   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 SetNPID(Int_t pid) {fNpid=pid;} //N pid cut 
+  void SetNVtxZ(Int_t vtx){fNVtxZBin=vtx;} //N vertex Z cut
+  void SetNBadChDist(Int_t dist){fNBadChDistBin=dist;} //N dist cut
   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:
 
-  TClonesArray * fInputAODGamma; //Input AOD gamma array 
-  TClonesArray * fInputAODPi0;   //Input AOD pi0 array
-  TString fInputAODGammaName;    //Input AOD gamma name
-  TList ** fEventsList;          //event list for mixing 
-
-  Int_t fNVtxZBin;               //Number of vertex z cut
-  Int_t fNCentBin;               //Number of centrality cut
-  Int_t fNRpBin;                 //Number of reaction plane cut
-  Int_t fNBadChDistBin;          //Number of bad channel dist cut
-  Int_t fNpid;                   //Number of PID cut
-  Int_t fNmaxMixEv;              //buffer size events to be mixed
-
-  Double_t *fVtxZCut;            //[fNVtxZBin] vtertx z cut
-  Double_t *fCent;               //[fNCentBin] centrality cut
-  Double_t *fRp;                 //[fNRpBin] reaction plane cut
-  Int_t *fBadChDist;             //[fNBadChDistBin] bad channel dist
-
-  Double_t fPi0Mass;             //nominal pi0 mass
-  Double_t fPi0MassWindow;       //pi0 mass windows
-  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
-
-  TH2F **fRealOmega;             //real omega IVM(asy, pt, m), with Asy_pi0<1 
-  TH2F **fMixAOmega;             //mixA omega IVM(asy, pt, m) 
-  TH2F **fMixBOmega;             //mixB omega IVM(asy, pt, m) 
-  TH2F **fMixCOmega;             //mixC omega IVM(asy, pt, m) 
-
-  TH2F **fRealOmega1;            //real omega IVM(asy, pt, m), with Asy_pi0<0.7
-  TH2F **fMixAOmega1;            //mixA omega IVM(asy, pt, m)
-  TH2F **fMixBOmega1;            //mixB omega IVM(asy, pt, m)
-  TH2F **fMixCOmega1;            //mixC omega IVM(asy, pt, m)
-
-  TH2F **fRealOmega2;            //real omega IVM(asy, pt, m), with Asy_pi0<0.8
-  TH2F **fMixAOmega2;            //mixA omega IVM(asy, pt, m)
-  TH2F **fMixBOmega2;            //mixB omega IVM(asy, pt, m)
-  TH2F **fMixCOmega2;            //mixC omega IVM(asy, pt, m)
+  TClonesArray * fInputAODGamma; //!Input AOD gamma array 
+  TClonesArray * fInputAODPi0;   //!Input AOD pi0 array
+  TString fInputAODGammaName;    //!Input AOD gamma name
+  TList ** fEventsList;          //!event list for mixing 
+  Int_t fNVtxZBin;               //!Number of vertex z cut
+  Int_t fNCentBin;               //!Number of centrality cut
+  Int_t fNRpBin;                 //!Number of reaction plane cut
+  Int_t fNBadChDistBin;          //!Number of bad channel dist cut
+  Int_t fNpid;                   //!Number of PID cut
+  Int_t fNmaxMixEv;              //!buffer size events to be mixed
+
+  Double_t *fVtxZCut;            //![fNVtxZBin] vtertx z cut
+  Double_t *fCent;               //![fNCentBin] centrality cut
+  Double_t *fRp;                 //![fNRpBin] reaction plane cut
+  Int_t *fBadChDist;             //![fNBadChDistBin] bad channel dist
+  
+  Double_t fPi0Mass;             //!nominal pi0 mass
+  Double_t fPi0MassWindow;       //!pi0 mass windows
+  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
+  TH2F **fRealOmega0;             //!real omega IVM(asy, pt, m), with Asy_pi0<1 
+  TH2F **fMixAOmega0;             //!mixA omega IVM(asy, pt, m) 
+  TH2F **fMixBOmega0;             //!mixB omega IVM(asy, pt, m) 
+  TH2F **fMixCOmega0;             //!mixC omega IVM(asy, pt, m) 
+  TH2F **fRealOmega1;            //!real omega IVM(asy, pt, m), with Asy_pi0<0.7
+  TH2F **fMixAOmega1;            //!mixA omega IVM(asy, pt, m)
+  TH2F **fMixBOmega1;            //!mixB omega IVM(asy, pt, m)
+  TH2F **fMixCOmega1;            //!mixC omega IVM(asy, pt, m)
+  TH2F **fRealOmega2;            //!real omega IVM(asy, pt, m), with Asy_pi0<0.8
+  TH2F **fMixAOmega2;            //!mixA omega IVM(asy, pt, m)
+  TH2F **fMixBOmega2;            //!mixB omega IVM(asy, pt, m)
+  TH2F **fMixCOmega2;            //!mixC omega IVM(asy, pt, m)
+  TH1F *fhOmegaPriPt;            //!MC primary omega pt in 2pi and |y|<0.5
 
-  TH1F *fhOmegaPriPt;            //MC primary omega pt in 2pi and |y|<0.5
   ClassDef(AliAnaOmegaToPi0Gamma,2)
 } ;