22#include "EvtGenBase/EvtPatches.hh"
24#include "EvtGenBase/EvtParticle.hh"
25#include "EvtGenBase/EvtGenKine.hh"
26#include "EvtGenBase/EvtPDL.hh"
27#include "EvtGenBase/EvtVector4C.hh"
28#include "EvtGenBase/EvtVector4R.hh"
29#include "EvtGenBase/EvtTensor4C.hh"
30#include "EvtGenBase/EvtDiracParticle.hh"
31#include "EvtGenBase/EvtScalarParticle.hh"
32#include "EvtGenBase/EvtVectorParticle.hh"
33#include "EvtGenBase/EvtTensorParticle.hh"
34#include "EvtGenBase/EvtPhotonParticle.hh"
35#include "EvtGenBase/EvtNeutrinoParticle.hh"
36#include "EvtGenBase/EvtStringParticle.hh"
37#include "EvtGenBase/EvtRaritaSchwingerParticle.hh"
38#include "EvtGenBase/EvtHighSpinParticle.hh"
39#include "EvtGenBase/EvtReport.hh"
40#include "EvtGenBase/EvtHelSys.hh"
41#include "EvtGenModels/EvtBody3.hh"
42#include "EvtGenBase/EvtRandom.hh"
49#include "TApplication.h"
120 TH1F *did1= (TH1F*)
f.Get(DA1);
121 TH1F *did2= (TH1F*)
f.Get(DA2);
122 TH2F *hid = (TH2F*)
f.Get(hp);
124 TAxis* d1x=did1->GetXaxis();
125 TAxis* d2x=did2->GetXaxis();
126 TAxis* xaxis = hid->GetXaxis();
127 TAxis* yaxis = hid->GetYaxis();
129 int BINSd1 =did1->GetXaxis()->GetLast();
130 int BINSd2 =did2->GetXaxis()->GetLast();
131 int BINSx =xaxis->GetLast();
132 int BINSy =yaxis->GetLast();
133 int BINS =BINSx*BINSy;
135 double av1,av2,avm1,avm2;
138 double yvalue,ymax=0.0;
142 for(i=1;i<BINSd1+1;i++){
143 av1=did1->GetBinContent(i);
144 if(av1>avm1) avm1=av1;
148 for(i=1;i<BINSd2+1;i++){
149 av2=did2->GetBinContent(i);
150 if(av2>avm2) avm2=av2;
155 for(i=1;i<BINSx+1;i++){
156 for(j=1;j<BINSy+1;j++){
157 binxy=hid->GetBin(i,j);
158 yvalue=hid->GetBinContent(binxy);
160 if(yvalue>ymax) ymax=yvalue;
170 double xmass2,ymass2;
185 xmass2=(pd1+pd2).mass2();
186 ymass2=(pd3+pd4).mass2();
188 int xbin = hid->GetXaxis()->FindBin(xmass2);
189 int ybin = hid->GetYaxis()->FindBin(ymass2);
190 int xybin= hid->GetBin(xbin,ybin);
191 double zvalue=hid->GetBinContent(xybin);
192 double xratio=zvalue/ymax;
193 if(xratio ==0 )
goto loop;
195 if(rd1>xratio)
goto loop;
200 int dbin1=did1->FindBin(da1);
201 int dbin2=did2->FindBin(da2);
203 double dr1=(did1->GetBinContent(dbin1))/avm1;
204 double dr2=(did2->GetBinContent(dbin2))/avm2;
205 if(dr1==0 || dr2==0)
goto loop;
207 if(rd1>dr1)
goto loop;
210 if(rd1>dr2)
goto loop;
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
const char * setFileName()
void getName(std::string &name)
void decay(EvtParticle *p)
const char * setDaugAng(int i)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
static EvtSpinType::spintype getSpinType(EvtId i)
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)