|
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"
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 ?