Hi
I have a 2D histogram and i want to have 7 cuts on this histogram i use this program but at the end i have 7 similar histogram like first histogram without any cut. for the points of cuts i use an input file (S[j],E1[j],E2[j]).
for(int bin=0; bin<sn; bin++){
for(int j=1; j<1890 ; j++){
double smax=100.58;
double smin=35.18;
int sn=7;
st=(smax-smin)/sn;
s1=smin+bin*st;
s2=smin+(bin+1)*st;
if(S[j]<=s1+0.05 && S[j]>=s1){
E11=E1[j];
E12=E2[j];
}
if(S[j]<=s2+0.05 && S[j]>=s2){
E21=E1[j];
E22=E2[j];
}
}
sprintf(cha[1],"np%dE",bin);
sprintf(cha[2],"npp%d",bin);
Np[bin]=new TH1F(cha[1],cha[2],50, -50, 50);
sprintf(cha[1],"hp%dE",bin);
sprintf(cha[2],"hpp%d",bin);
hp[bin]=new TH2F(cha[1],cha[2],140, 0, 140, 140,0, 140);
m=(E22-E12)/(E21-E11);
n=-1/m;
b=-m*E21+E22;
b1=-n*E11+E12;
b2=-n*E21+E22;
x1=-b1/n;
x2=-b2/n;
x3=135;
x4=135;
y1=0;
y2=0;
y3=(n*x3)+b1;
y4=(n*x4)+b2;
double h[5]={x1,x2,x4,x3,x1};
double k[5]={y1,y2,y4,y3,y1};
sprintf(cha[1],"cut%d",bin);
cut[bin]=new TCutG(cha[1],5,h,k);
double Ein,Eout;
cut[bin]->IsInside(Eout,Ein);
hp[bin]->Fill(Eout,Ein);
please help me. thanks
