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;
const char * setFileName()
void getName(std::string &name)
void decay(EvtParticle *p)
const char * setDaugAng(int i)
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)