194 |
|
return sigmas; |
195 |
|
} else { |
196 |
|
int nlimittoysused=1; |
197 |
< |
if(doobserved) nlimittoysused=nlimittoys; |
198 |
< |
/* dout << "Now calling : CL95(" << luminosity << "," << lumiuncert*luminosity << "," << mceff << "," << mcefferr << "," << Npred[ibin] << "," << Nprederr[ibin] << "," << Nobs[ibin] << "," << false << "," << nuisancemodel<< ") " << endl; |
197 |
> |
//if(doobserved) nlimittoysused=nlimittoys; |
198 |
> |
nlimittoysused=nlimittoys; |
199 |
> |
dout << "Now calling : CL95(" << luminosity << "," << lumiuncert*luminosity << "," << mceff << "," << mcefferr << "," << Npred[ibin] << "," << Nprederr[ibin] << "," << Nobs[ibin] << "," << false << "," << nuisancemodel<< ") " << endl; |
200 |
|
sigma95 = CL95(luminosity, lumiuncert*luminosity, mceff, mcefferr, Npred[ibin], Nprederr[ibin], Nobs[ibin], false, nuisancemodel); |
200 |
– |
*/ |
201 |
– |
dout << "Now calling : roostats_limit(" << luminosity << "," << lumiuncert*luminosity << ","<<mceff <<","<<mcefferr<<","<<Npred[ibin]<<","<<Nprederr[ibin] << ",n=" << nlimittoysused << ",gauss=" << false << ", nuisanceModel="<<nuisancemodel<<",method="<<limitmethod<<",plotfilename="<<plotfilename<<",seed=1) " << endl; |
202 |
– |
LimitResult limit = roostats_limit(luminosity,lumiuncert*luminosity,mceff,mcefferr,Npred[ibin],Nprederr[ibin],nlimittoysused,false,nuisancemodel,limitmethod,plotfilename,1); |
201 |
|
|
202 |
+ |
/* dout << "Now calling : roostats_cl95(" << luminosity << "," << lumiuncert*luminosity << ","<<mceff <<","<<mcefferr<<","<<Npred[ibin]<<","<<Nprederr[ibin] << ",n=" << nlimittoysused << ",gauss=" << false << ",nuisanceModel="<<nuisancemodel<<",method="<<limitmethod<<",plotfilename="<<plotfilename<<",seed=0) " << endl; |
203 |
+ |
/* dout << "Now calling : roostats_limit(" << luminosity << "," << lumiuncert*luminosity << ","<<mceff <<","<<mcefferr<<","<<Npred[ibin]<<","<<Nprederr[ibin] << ",n=" << nlimittoysused << ",gauss=" << false << ", nuisanceModel="<<nuisancemodel<<",method="<<limitmethod<<",plotfilename="<<plotfilename<<",seed=1) " << endl; |
204 |
+ |
LimitResult limit = roostats_limit(luminosity,lumiuncert*luminosity,mceff,mcefferr,Npred[ibin],Nprederr[ibin],nlimittoysused,false,nuisancemodel,limitmethod,plotfilename,0); |
205 |
+ |
dout << "Now interpreting and saving results ... " << endl; |
206 |
|
vector<float> sigmas; |
207 |
|
sigmas.push_back(limit.GetExpectedLimit());//expected |
208 |
|
sigmas.push_back(limit.GetObservedLimit());//observed |
211 |
|
sigmas.push_back(limit.GetTwoSigmaHighRange());//expected, 2 up |
212 |
|
sigmas.push_back(limit.GetOneSigmaLowRange());//expected, down |
213 |
|
sigmas.push_back(limit.GetTwoSigmaLowRange());//expected, 2 down |
214 |
< |
// if(doobserved) { |
215 |
< |
// dout << "Now calling : CLA(" << luminosity << "," << lumiuncert*luminosity << "," << mceff << "," << mcefferr << "," << Npred[ibin] << "," << Nprederr[ibin] << "," << nuisancemodel<< ") " << endl; |
216 |
< |
// sigma95A = CLA(luminosity, lumiuncert*luminosity, mceff, mcefferr, Npred[ibin], Nprederr[ibin], nuisancemodel); |
217 |
< |
// } |
218 |
< |
|
219 |
< |
/* vector<float> sigmas; |
214 |
> |
*/ |
215 |
> |
// float limit = roostats_cl95(luminosity,lumiuncert*luminosity,mceff,mcefferr,Npred[ibin],Nprederr[ibin],nlimittoysused,false,nuisancemodel,limitmethod,plotfilename,0); |
216 |
> |
if(doobserved) { |
217 |
> |
dout << "Now calling : CLA(" << luminosity << "," << lumiuncert*luminosity << "," << mceff << "," << mcefferr << "," << Npred[ibin] << "," << Nprederr[ibin] << "," << nuisancemodel<< ") " << endl; |
218 |
> |
sigma95A = CLA(luminosity, lumiuncert*luminosity, mceff, mcefferr, Npred[ibin], Nprederr[ibin], nuisancemodel); |
219 |
> |
} |
220 |
> |
// vector<float> sigmas; |
221 |
> |
// sigmas.push_back(limit); |
222 |
> |
vector<float> sigmas; |
223 |
|
sigmas.push_back(sigma95); |
224 |
< |
sigmas.push_back(sigma95A);*/ |
224 |
> |
sigmas.push_back(sigma95A); |
225 |
|
return sigmas; |
226 |
|
|
227 |
|
|
252 |
|
// fill_result_histos(observed,observederr, null,null,null,null,null,null,null,mcjzb,JZBcutat,14000,(int)5,result,(signalsamples.FindSample(signalsamples.collection[isample].filename)),signalsamples); |
253 |
|
// observed-=result;//this is the actual excess we see! |
254 |
|
// float expected=observed/luminosity; |
255 |
< |
string plotfilename=(string)(TString(signalsamples.collection[isample].samplename)+TString("___JZB_geq_")+TString(any2string(JZBcutat))); |
255 |
> |
string plotfilename=(string)(TString(signalsamples.collection[isample].samplename)+TString("___JZB_geq_")+TString(any2string(JZBcutat))+TString(".png")); |
256 |
|
dout << "Sample: " << signalsamples.collection[isample].samplename << ", JZB>"<<JZBcutat<< " : " << mceff << " +/- " << staterr << " (stat) +/- " << systerr << " (syst) --> toterr = " << toterr << endl; |
257 |
|
vector<float> sigmas = compute_one_upper_limit(mceff,toterr,ibin,mcjzb,plotfilename,doobserved); |
258 |
|
|