|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   12 #ifndef TIDA_T_EFFICIENCY_H 
   13 #define TIDA_T_EFFICIENCY_H 
   21 #include "TGraphAsymmErrors.h" 
   29     m_name(
n.empty() ? std::string(
h->GetName())+
"_eff" : 
n) {
 
   74     for ( 
size_t i=0 ; 
i<
m_ibin.size() ; 
i++ ) { 
 
  111   void SetDenominator( 
T* 
h ) {
 
  113     for ( 
size_t i=0 ; 
i<
m_ibin.size() ; 
i++ ) { 
 
  119   virtual void SetNumerator( 
T* 
h ) {
 
  121     for ( 
size_t i=0 ; 
i<
m_ibin.size() ; 
i++ ) {
 
  138     for ( 
size_t i=0 ; 
i<
m_ibin.size() ; 
i++ ) { 
 
  147       return n_tot / d_tot;
 
  177     for ( 
int i=1 ; 
i<=hd->GetNbinsX() ; 
i++ ) {  
 
  178       double y = hd->GetBinContent(
i);
 
  179       if ( 
y==0 ) hd->SetBinContent(
i, 1
e-20);
 
  182     TGraphAsymmErrors* tg = 
new TGraphAsymmErrors( hn, hd, 
"cl=0.683 b(1,1) mode" );
 
  185     double* 
x      = tg->GetX();
 
  186     double* 
y      = tg->GetY();
 
  190     for ( 
int i=0 ; 
i<
n ; 
i++ ) { 
 
  194       double yeup   = tg->GetErrorYhigh(
i);
 
  195       double yedown = tg->GetErrorYlow(
i);
 
  207       tg->SetPoint( 
i, 
x[
i], 
y[
i] ); 
 
  209       tg->SetPointEYhigh( 
i, yeup ); 
 
  210       tg->SetPointEYlow( 
i, yedown ); 
 
  212       tg->SetPointEXhigh( 
i, 0 ); 
 
  213       tg->SetPointEXlow( 
i, 0 ); 
 
  240 #endif  // TIDA_T_EFFICIENCY_H  
  
T_Efficiency(T *hnum, T *hden, const std::string &n, double)
virtual void getibinvec(bool force=false)=0
T_Efficiency(T *h, const std::string &n)
void finalise(double scale=100)
actually calculate the efficiencies
const std::string & name() const
std::vector< int > m_ibin
TGraphAsymmErrors * BayesInternal(TH1 *hn, TH1 *hd, double scale=100) const
double findTotalEfficiency()
these 1D and 2D Fill versionms should never be called directly in fact, are they even needed at all ?