75 {
76
79 int* dp;
80
82 TH2F* hid = (TH2F*)
f.Get( hp );
83 TAxis* xaxis = hid->GetXaxis();
84 TAxis* yaxis = hid->GetYaxis();
85
86 int BINSx = xaxis->GetLast();
87 int BINSy = yaxis->GetLast();
88 int BINS = BINSx * BINSy;
89 double yvalue, ymax = 0.0;
90 int i, j, binxy;
91
92 for ( i = 1; i < BINSx + 1; i++ )
93 {
94 for ( j = 1; j < BINSy + 1; j++ )
95 {
96 binxy = hid->GetBin( i, j );
97 yvalue = hid->GetBinContent( binxy );
98
99 if ( yvalue > ymax ) ymax = yvalue;
100 }
101 }
102
103loop:
105
106 EvtParticle *id1, *id2, *id3, *id4, *s1;
107 EvtVector4R pd1, pd2, pd3, pd4, ps;
108 double xcostheta, ycostheta;
109
113
117
118 xcostheta = pd1.
get( 3 ) / pd1.
d3mag();
119 ycostheta = pd2.
get( 3 ) / pd2.
d3mag();
121 {
122 if ( pd1.
get( 0 ) > pd2.
get( 0 ) )
123 {
124 xcostheta = pd2.
get( 3 ) / pd2.
d3mag();
125 ycostheta = pd1.
get( 3 ) / pd1.
d3mag();
126 }
127 }
128 int xbin = hid->GetXaxis()->FindBin( xcostheta );
129 int ybin = hid->GetYaxis()->FindBin( ycostheta );
130 int xybin = hid->GetBin( xbin, ybin );
131 double zvalue = hid->GetBinContent( xybin );
132 double xratio = zvalue / ymax;
133
135 if ( rd1 > xratio ) goto loop;
136 return;
137}
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
const char * setFileName()
static std::string name(EvtId i)
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)