64 if (options.Contains(
"q")) fQUICK = 1;
136 if (quickJump < 0.0) quickJump = 0.0;
138 for(i = iLower+1; i <=
fNMuStep; i++) {
171 for(i = 0; i <
fNMax; i++) {
173 if(muBest[i]<0.0) muBest[i] = 0.0;
176 if(probMuBest[i] == 0.0) r[i] = 0.0;
177 else r[i] = p[i]/probMuBest[i];
185 Int_t iMax = rank[0];
186 Int_t iMin = rank[0];
187 for(i = 0; i <
fNMax; i++) {
189 if(iMax < rank[i]) iMax = rank[i];
190 if(iMin > rank[i]) iMin = rank[i];
191 if(sum >=
fCL)
break;
198 delete [] probMuBest;
231 if(newMuStep == 0.0) {
232 std::cout <<
"TFeldmanCousins::SetMuStep ERROR New step size is zero - unable to change value"<< std::endl;
void SetMuStep(Double_t newMuStep=0.005)
set the step in signal to use when generating tables
static Vc_ALWAYS_INLINE int_v min(const int_v &x, const int_v &y)
virtual ~TFeldmanCousins()
void Sort(Index n, const Element *a, Index *index, Bool_t down=kTRUE)
ClassImp(TFeldmanCousins) TFeldmanCousins
constructor
Int_t FindLimitsFromTable(Double_t mu)
calculate the probability table for a given mu for n = 0, NMAX// and return 1 if the number of observ...
Double_t Poisson(Double_t x, Double_t par)
compute the Poisson distribution function for (x,par) The Poisson PDF is implemented by means of Eule...
Double_t Prob(Int_t N, Double_t mu, Double_t B)
calculate the poissonian probability for // a mean of mu+B events with a variance of N // ...
void SetMuMax(Double_t newMax=50.0)
set maximum value of signal to use in calculating the tables
Double_t CalculateLowerLimit(Double_t Nobserved, Double_t Nbackground)
given Nobserved and Nbackground, try different values of mu that give lower limits that// are consist...
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
Double_t CalculateUpperLimit(Double_t Nobserved, Double_t Nbackground)
given Nobserved and Nbackground, try different values of mu that give upper limits that// are consist...