Example of the usage of the TRolke class The TRolke class computes the profile likelihood confidence limits for 7 different model assumptions on systematic/statistical uncertainties. 
Please read TRolke.cxx and TRolke.h for more docs.
 
 
 ======================================================== 
For model 1: Poisson / Binomial
the Profile Likelihood interval is :
[0,11.5943]
 
 ======================================================== 
For model 2 : Poisson / Gaussian
the Profile Likelihood interval is :
[3.88417,18.4584]
 
 ======================================================== 
For model 3 : Gaussian / Gaussian
the Profile Likelihood interval is :
[0,17.5005]
***************************************
* some more example's for gauss/gauss *
*                                     *
sensitivity:
[0.00213408,9.0817]
median limit:
[0,9.21861] @ x =5
ML limit:
[0,9.21861] @ x =5
sensitivity:
[0.00213408,18.3004]
the Profile Likelihood interval is :
[0,17.5005]
critical number: 13
critical number for 5 sigma: 21
***************************************
 
 ======================================================== 
For model 4 : Poissonian / Known
the Profile Likelihood interval is :
[0,4.08807]
 
 ======================================================== 
For model 5 : Gaussian / Known
the Profile Likelihood interval is :
[0,4.91504]
 
 ======================================================== 
For model 6 : Known / Binomial
the Profile Likelihood interval is :
[11.4655,36.3035]
 
 ======================================================== 
For model 7 : Known / Gaussian 
the Profile Likelihood interval is :
[0,20.1747]
Example of the effect of bounded vs unbounded, For model 1
the BOUNDED Profile Likelihood interval is :
[0,1.1729]
the UNBOUNDED Profile Likelihood interval is :
[0,0.936334]
   
 
{
   
 
 
   
 
 
   cout << endl<<" ======================================================== " <<endl;
   tau = 2.5; 
   z = 50;    
 
   alpha=0.9; 
 
 
   tr.SetPoissonBkgBinomEff(
x,
y,z,tau,
m);
 
 
   cout << "For model 1: Poisson / Binomial" << endl;
   cout << "the Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
 
   cout << endl<<" ======================================================== " <<endl;
   tau = 2.5;   
   alpha =0.95; 
 
 
 
   cout << "For model 2 : Poisson / Gaussian" << endl;
   cout << "the Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
 
   cout << endl<<" ======================================================== " <<endl;
   alpha =0.99; 
 
 
   cout << "For model 3 : Gaussian / Gaussian" << endl;
   cout << "the Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
 
   cout << "***************************************" << endl;
   cout << "* some more example's for gauss/gauss *" << endl;
   cout << "*                                     *" << endl;
   cout << "sensitivity:" << endl;
   cout << 
"[" << 
slow << 
"," << 
shigh << 
"]" << endl;
 
 
   cout << "median limit:" << endl;
 
   cout << "ML limit:" << endl;
 
   cout << "sensitivity:" << endl;
   cout << 
"[" << 
slow << 
"," << 
shigh << 
"]" << endl;
 
 
   cout << "the Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
 
 
   cout << 
"critical number: " << 
ncrt << endl;
 
 
   cout << 
"critical number for 5 sigma: " << 
ncrt << endl;
 
 
   cout << "***************************************" << endl;
 
   cout << endl<<" ======================================================== " <<endl;
   tau = 5;     
 
   alpha =0.68; 
 
 
   tr.SetPoissonBkgKnownEff(
x,
y,tau,
e);
 
 
   cout << "For model 4 : Poissonian / Known" << endl;
   cout <<  "the Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
 
   cout << endl<<" ======================================================== " <<endl;
   alpha =0.799999; 
 
 
 
   cout << "For model 5 : Gaussian / Known" << endl;
   cout <<  "the Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
 
   cout << endl<<" ======================================================== " <<endl;
   z = 500;     
   alpha =0.9;  
 
 
   tr.SetKnownBkgBinomEff(
x, z,
m,
b);
 
 
   cout << "For model 6 : Known / Binomial" << endl;
   cout <<  "the Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
 
   cout << endl<<" ======================================================== " <<endl;
   alpha =0.95; 
 
 
 
 
   cout << "For model 7 : Known / Gaussian " << endl;
   cout <<  "the Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
 
 
   tau = 5;
   z = 90;
   alpha = 0.90;
 
   tr.SetPoissonBkgBinomEff(
x,
y,z,tau,
m);
 
 
   cout << "Example of the effect of bounded vs unbounded, For model 1" << endl;
   cout <<  "the BOUNDED Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
 
 
 
   cout <<  "the UNBOUNDED Profile Likelihood interval is :" << endl;
   cout << 
"[" << ll << 
"," << 
ul << 
"]" << endl;
 
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
<div class="legacybox"><h2>Legacy Code</h2> TRolke is a legacy interface: there will be no bug fixes ...
 
- Authors
 - Jan Conrad, Johan Lundberg 
 
Definition in file Rolke.C.