115 for (i = 0; i <=
data->GetSignal()->GetLast(); i++) {
117 (((
TH1 *) (
data->GetSignal()->At(i)))->GetNbinsX() + 2) :
maxbins;
118 nsig += ((
TH1 *) (
data->GetSignal()->At(i)))->Integral();
119 nbg += ((
TH1 *) (
data->GetBackground()->At(i)))->Integral();
127 for (
Int_t channel = 0; channel <=
data->GetSignal()->GetLast(); channel++)
129 bin <= ((
TH1 *) (
data->GetSignal()->At(channel)))->GetNbinsX()+1;
135 if ((
b == 0) && (s > 0)) {
136 std::cout <<
"WARNING: Ignoring bin " << bin <<
" of channel "
137 << channel <<
" which has s=" << s <<
" but b=" <<
b << std::endl;
138 std::cout <<
" Maybe the MC statistic has to be improved..." << std::endl;
140 if ((s > 0) && (
b > 0))
145 if ((s > 0) && (
b > 0))
147 else if ((s > 0) && (
b == 0))
163 for (i = 0; i <
nmc; i++) {
175 for (
Int_t channel = 0;
176 channel <=
fluctuated->GetSignal()->GetLast(); channel++) {
178 bin <=((
TH1 *) (
fluctuated->GetSignal()->At(channel)))->GetNbinsX()+1;
190 if ((s > 0) && (b2 > 0))
192 else if ((s > 0) && (b2 == 0))
198 if ((
s2 > 0) && (
b > 0))
200 else if ((s > 0) && (
b == 0))
255 for (
Int_t channel = 0; channel <=
input->GetSignal()->GetLast(); channel++) {
259 for(
int i=1; i<=
newsignal->GetNbinsX(); i++) {
284 for (
Int_t channel = 0;
285 channel <=
input->GetSignal()->GetLast();
290 bin <((
TVectorD *) (
input->GetErrorOnSignal()->At(channel)))->GetNrows();
292 serrf[channel] += ((
TVectorD *) (
input->GetErrorOnSignal()->At(channel)))->operator[](bin) *
294 berrf[channel] += ((
TVectorD *) (
input->GetErrorOnBackground()->At(channel)))->operator[](bin) *
297 if ((
serrf[channel] < -1.0) || (
berrf[channel] < -0.9)) {
307 for (
Int_t channel = 0; channel <=
input->GetSignal()->GetLast();
312 for(
int i=1; i<=
newsignal->GetNbinsX(); i++)
315 for(
int i=1; i<=
newsignal->GetNbinsX(); i++)
int Int_t
Signed integer 4 bytes (int)
double Double_t
Double 8 bytes.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
Array of doubles (64 bits per element).
Class to compute 95% CL limits.
1-D histogram with a double per channel (see TH1 documentation)
TH1 is the base class of all histogram classes in ROOT.
This class serves as input for the TLimit::ComputeLimit method.
static Double_t LogLikelihood(Double_t s, Double_t b, Double_t b2, Double_t d)
static TOrdCollection * fgSystNames
Collection of systematics names.
static TArrayD * fgTable
A log table... just to speed up calculation.
static bool Fluctuate(TLimitDataSource *input, TLimitDataSource *output, bool init, TRandom *, bool stat=false)
static TConfidenceLevel * ComputeLimit(TLimitDataSource *data, Int_t nmc=50000, bool stat=false, TRandom *generator=nullptr)
Collectable string class.
Random number generator class based on M.
This is the base class for the ROOT Random number generators.
Double_t Exp(Double_t x)
Returns the base-e exponential function of x, which is e raised to the power x.
Double_t Log(Double_t x)
Returns the natural logarithm of x.