ATLAS Offline Software
Public Types | Static Public Member Functions | List of all members
EfficiencyPurityCalculator Class Reference

#include <EfficiencyPurityCalculator.h>

Collaboration diagram for EfficiencyPurityCalculator:

Public Types

enum  axis { kX, kY, kZ }
 

Static Public Member Functions

static void inverseSum (TH1 *in, TH1 *out, int axis)
 
static void calculateIntegrated (TH1 *all, TH1 *matched, TH1 *puri, int axis, int dim=1)
 
static void calculateEfficiency (TH1 *reference, TH1 *matched, TH1 *effPur)
 

Detailed Description

Definition at line 11 of file EfficiencyPurityCalculator.h.

Member Enumeration Documentation

◆ axis

Enumerator
kX 
kY 
kZ 

Definition at line 13 of file EfficiencyPurityCalculator.h.

13 { kX, kY, kZ };

Member Function Documentation

◆ calculateEfficiency()

void EfficiencyPurityCalculator::calculateEfficiency ( TH1 *  reference,
TH1 *  matched,
TH1 *  effPur 
)
static

Definition at line 53 of file EfficiencyPurityCalculator.cxx.

53  {
54  effPur->Add(matched);
55  effPur->Sumw2();
56  effPur->Divide(effPur, reference, 1, 1, "B");
57 }

◆ calculateIntegrated()

void EfficiencyPurityCalculator::calculateIntegrated ( TH1 *  all,
TH1 *  matched,
TH1 *  puri,
int  axis,
int  dim = 1 
)
static

Definition at line 34 of file EfficiencyPurityCalculator.cxx.

34  {
35  inverseSum(matched, puri, axis);
36  int nbinsx = matched->GetXaxis()->GetNbins();
37  double xmin = matched->GetXaxis()->GetXmin();
38  double xmax = matched->GetXaxis()->GetXmax();
39  // int nbinsy = matched->GetYaxis()->GetNbins();
40  // double ymin = matched->GetYaxis()->GetXmin();
41  // double ymax = matched->GetYaxis()->GetXmax();
42 // TH1* alli = 0;
43  TH1 *alli = new TH1F("tmp", "tmp", nbinsx, xmin, xmax);
44 // if (dim == 1) alli = new TH1F("tmp","tmp",nbinsx,xmin,xmax);
45 // if (dim == 2) alli = new TH2F("tmp","tmp",nbinsx,xmin,xmax, nbinsy, ymin, ymax);
46  inverseSum(all, alli, axis);
47  puri->Sumw2();
48  puri->Divide(puri, alli, 1, 1, "B");
49  delete alli;
50 }

◆ inverseSum()

void EfficiencyPurityCalculator::inverseSum ( TH1 *  in,
TH1 *  out,
int  axis 
)
static

Definition at line 8 of file EfficiencyPurityCalculator.cxx.

8  {
9  if (in->GetEntries() == 0) {
10  return;
11  }
12  int nbinsx = in->GetXaxis()->GetNbins();
13  int nbinsy = in->GetYaxis()->GetNbins();
14  if (axis == kX) {
15  for (int j = 0; j < nbinsy; ++j) {
16  float ntotal = 0;
17  for (int i = nbinsx; i >= 0; --i) {
18  ntotal += in->GetBinContent(i, j);
19  out->SetBinContent(i, j, ntotal);
20  }
21  }
22  }else {
23  for (int i = 0; i < nbinsx; ++i) {
24  float ntotal = 0;
25  for (int j = nbinsy; j >= 0; --j) {
26  ntotal += in->GetBinContent(i, j);
27  out->SetBinContent(i, j, ntotal);
28  }
29  }
30  }
31 }

The documentation for this class was generated from the following files:
EfficiencyPurityCalculator::kY
@ kY
Definition: EfficiencyPurityCalculator.h:13
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:70
EfficiencyPurityCalculator::inverseSum
static void inverseSum(TH1 *in, TH1 *out, int axis)
Definition: EfficiencyPurityCalculator.cxx:8
reference
Definition: hcg.cxx:437
lumiFormat.i
int i
Definition: lumiFormat.py:85
xmin
double xmin
Definition: listroot.cxx:60
EfficiencyPurityCalculator::kX
@ kX
Definition: EfficiencyPurityCalculator.h:13
EfficiencyPurityCalculator::axis
axis
Definition: EfficiencyPurityCalculator.h:13
python.ElectronD3PDObject.matched
matched
Definition: ElectronD3PDObject.py:138
xmax
double xmax
Definition: listroot.cxx:61
EfficiencyPurityCalculator::kZ
@ kZ
Definition: EfficiencyPurityCalculator.h:13
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
Cut::all
@ all
Definition: SUSYToolsAlg.cxx:67