ATLAS Offline Software
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Analysis::CalibrationDataInterfaceTool Class Reference

#include <CalibrationDataInterfaceTool.h>

Inheritance diagram for Analysis::CalibrationDataInterfaceTool:
Collaboration diagram for Analysis::CalibrationDataInterfaceTool:

Public Types

enum  variableType { kEta, kAbsEta, kPt }
 known variable types that can be used as function arguments More...
 

Public Member Functions

 CalibrationDataInterfaceTool (const std::string &, const std::string &, const IInterface *)
 
virtual ~CalibrationDataInterfaceTool ()=default
 default destructor More...
 
virtual StatusCode initialize () override
 standard Athena-Algorithm method More...
 
CalibResult getEfficiency (const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const
 Main interface methods accessing the flavour tagging performance information. More...
 
CalibResult getMCEfficiency (const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const
 "MC" efficiency retrieval More...
 
CalibResult getScaleFactor (const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const
 efficiency scale factor retrieval More...
 
const std::string & EffCalibrationName (const std::string &flavour, unsigned int mapIndex=0) const
 Main interface methods accessing the flavour tagging performance information. More...
 
void setEffCalibrationNames (const std::map< std::string, std::vector< std::string > > &names)
 
const std::string & SFCalibrationName (const std::string &flavour) const
 
void setSFCalibrationNames (const std::map< std::string, std::string > &names)
 

Protected Member Functions

std::string getContainername (const std::string &flavour, bool SF, unsigned int mapIndex=0) const
 auxiliary function for retrieval of container name More...
 
std::string getBasename (const std::string &name) const
 auxiliary function for retrieval of name within the directory More...
 
double combinedUncertainty (double stat, const std::pair< double, double > &syst) const
 utility function for combination of statistical and (a priori asymmetric) systematic uncertainty. More...
 

Protected Attributes

std::string m_taggerName
 tagging algorithm name More...
 

Private Member Functions

void registerObjects (const std::string &folder, const std::string &OP) const
 auxiliary function dealing with registration of objects More...
 
void retrieveFunctionArguments (const Jet &jet, const std::string &object, Double_t *x) const
 auxiliary function to retrieve values of function arguments More...
 
void makeVariables (const Jet &jet, CalibrationDataVariables &x) const
 auxiliary function to create the intermediate struct needed for the data layer More...
 

Private Attributes

std::string m_EffcalibrationBName
 calibration curves for b, c, and light-flavour jets More...
 
std::string m_EffcalibrationCName
 
std::string m_EffcalibrationTName
 
std::string m_EffcalibrationLightName
 
std::string m_SFcalibrationBName
 
std::string m_SFcalibrationCName
 
std::string m_SFcalibrationTName
 
std::string m_SFcalibrationLightName
 
ToolHandle< CalibrationBroker > m_broker {this, "CalibrationBroker", "", "brief pointer to the performance broker"}
 pointer to the performance broker More...
 
std::map< std::string, std::vector< std::string > > m_calibrationEffNames
 this simply collects the per-flavour properties. More...
 
std::map< std::string, std::string > m_calibrationSFNames
 

Detailed Description

hold: in particular, "channel" (jet author) aliasing is possible. The difference is that run-time information is to be provided in a text file to be interpreted using ROOT's TEnv and

DB representation (all residing under a common root folder): .../<jet author>/<tagger>/<operating point>/<flavour>/<object name> where <operating point> can be a weight cut (represented as a string, with the period replaced with an underscore) or the string "Continuous" (for continuous calibration purposes).

Author
Frank Filthaut F.Fil.nosp@m.thau.nosp@m.t@sci.nosp@m.ence.nosp@m..ru.n.nosp@m.l

This tool provides an interface to flavour tagging performance estimates.

A separate instance should be used for each different tagging algorithm. For each instance, all appropriate jet collections and tagger operating points need to be specified.

The model:

To retrieve results from COOL, a CalibrationBroker instance is used (a separate one from the one used for tagger weight distributions). This allows to use the CalibrationBroker's channel aliasing (although possibly with different aliases). Of course it is up to the user to verify that the aliasing is appropriate!

DB representation (all residing under a common root folder): .../<jet author>/<tagger>/<operating point>/<flavour>/<object name>

Author
Frank Filthaut F.Fil.nosp@m.thau.nosp@m.t@sci.nosp@m.ence.nosp@m..ru.n.nosp@m.l

Definition at line 64 of file CalibrationDataInterfaceTool.h.

Member Enumeration Documentation

◆ variableType

known variable types that can be used as function arguments

Enumerator
kEta 
kAbsEta 
kPt 

Definition at line 67 of file CalibrationDataInterfaceBase.h.

67 { kEta, kAbsEta, kPt };

Constructor & Destructor Documentation

◆ CalibrationDataInterfaceTool()

Analysis::CalibrationDataInterfaceTool::CalibrationDataInterfaceTool ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 28 of file CalibrationDataInterfaceTool.cxx.

30  :
31  AthAlgTool(t,n,p),
32  m_broker("PerformanceBroker")
33 {
34  declareProperty("taggerName", m_taggerName = "undefined",
35  "tagging algorithm name");
36  declareProperty("operatingPoints", m_operatingPoints,
37  "operating points for this tagging algorithm");
38  declareProperty("efficiencyCalibrationBName", m_EffcalibrationBName = "default",
39  "efficiency calibration curve for b jets");
40  declareProperty("efficiencyCalibrationCName", m_EffcalibrationCName = "default",
41  "efficiency calibration curve for c jets");
42  declareProperty("efficiencyCalibrationTName", m_EffcalibrationTName = "default",
43  "efficiency calibration curve for tau jets");
44  declareProperty("efficiencyCalibrationLightName", m_EffcalibrationLightName = "default",
45  "efficiency calibration curve for light-flavour jets");
46  declareProperty("scaleFactorCalibrationBName", m_SFcalibrationBName = "default",
47  "scale factor calibration curve for b jets");
48  declareProperty("scaleFactorCalibrationCName", m_SFcalibrationCName = "default",
49  "scale factor calibration curve for c jets");
50  declareProperty("scaleFactorCalibrationTName", m_SFcalibrationTName = "default",
51  "scale factor calibration curve for tau jets");
52  declareProperty("scaleFactorCalibrationLightName", m_SFcalibrationLightName = "default",
53  "scale factor calibration curve for light-flavour jets");
54  declareProperty("PerformanceBroker", m_broker,
55  "tool interfacing with COOL Database");
56 }

◆ ~CalibrationDataInterfaceTool()

virtual Analysis::CalibrationDataInterfaceTool::~CalibrationDataInterfaceTool ( )
virtualdefault

default destructor

Member Function Documentation

◆ combinedUncertainty()

double Analysis::CalibrationDataInterfaceBase::combinedUncertainty ( double  stat,
const std::pair< double, double > &  syst 
) const
protectedinherited

utility function for combination of statistical and (a priori asymmetric) systematic uncertainty.

NB perhaps this should be in its own

Definition at line 147 of file CalibrationDataInterfaceBase.cxx.

149 {
150  // Return the total (combined statistical and systematic) uncertainty started from
151  // its individual components. The result is symmetrised by using only the larger of
152  // the (a priori asymmetric) up- and downward systematic uncertainties.
153 
154  // The systematic uncertainty is (a priori) asymmetric, but this interface doesn't
155  // at present allow for asymmetric uncertainties.
156  // Address this by taking the larger (absolute) value of the two.
157  double largest = syst.first;
158  if (TMath::Abs(syst.second) > TMath::Abs(largest)) largest = syst.second;
159 
160  return TMath::Sqrt(stat*stat + largest*largest);
161 }

◆ EffCalibrationName()

const std::string & Analysis::CalibrationDataInterfaceBase::EffCalibrationName ( const std::string &  flavour,
unsigned int  mapIndex = 0 
) const
inherited

Main interface methods accessing the flavour tagging performance information.

Note that for both of the following, the label is assumed to adhere to the TruthInfo conventions (see package PhysicsAnalysis/JetTagging/JetTagInfo).

Definition at line 47 of file CalibrationDataInterfaceBase.cxx.

49 {
50  // Return the MC efficiency name for the given flavour.
51  // Note that no check is performed on the validity of the flavour.
52 
53  try {
54  return m_calibrationEffNames.at(flavour)[mapIndex];
55  }
56  catch (const std::out_of_range& e) {
57  std::cerr << "EffCalibrationName: flavour '" << flavour << "' is not known." << std::endl;
58  throw e;
59  }
60 }

◆ getBasename()

std::string Analysis::CalibrationDataInterfaceBase::getBasename ( const std::string &  name) const
protectedinherited

auxiliary function for retrieval of name within the directory

Definition at line 138 of file CalibrationDataInterfaceBase.cxx.

139 {
140  // Retrieve the name within the directory starting from the full name
141 
142  return name.substr(name.find_last_of('/')+1, std::string::npos);
143 }

◆ getContainername()

std::string Analysis::CalibrationDataInterfaceBase::getContainername ( const std::string &  flavour,
bool  SF,
unsigned int  mapIndex = 0 
) const
protectedinherited

auxiliary function for retrieval of container name

Definition at line 118 of file CalibrationDataInterfaceBase.cxx.

120 {
121  // Construct the full pathname corresponding to the container indicated by the combination
122  // of tagging operating point, jet flavour, and a possible extra extension. The calibration
123  // container name (stored internally) is also attached.
124 
125  const std::vector<std::string>& effNames = m_calibrationEffNames.at(flavour);
126  if (!SF && mapIndex >= effNames.size()) {
127  std::cerr << "getContainername: given mapIndex=" << mapIndex << " incompatible with array size "
128  << effNames.size() << "; resetting to 0" << std::endl;
129  mapIndex = 0;
130  }
131  std::string name = SF ? m_calibrationSFNames.at(flavour) : effNames[mapIndex];
132  name += SF ? "_SF" : "_Eff";
133 
134  return name;
135 }

◆ getEfficiency()

Analysis::CalibResult Analysis::CalibrationDataInterfaceTool::getEfficiency ( const Jet jet,
const std::string &  label,
const std::string &  OP,
Uncertainty  unc = None 
) const

Main interface methods accessing the flavour tagging performance information.

Note that for both of the following, the label is assumed to adhere to the TruthInfo conventions (see package PhysicsAnalysis/JetTagging/JetTagInfo). efficiency retrieval

Definition at line 271 of file CalibrationDataInterfaceTool.cxx.

273 {
274  Analysis::CalibResult sfResult = getScaleFactor(jet, label, OP, unc);
275  Analysis::CalibResult effResult = getMCEfficiency(jet, label, OP, unc);
276 
277  double relative = 0;
278  double value = effResult.first*sfResult.first;
279  if (value != 0) {
280  relative = effResult.second/effResult.first;
281  double sfRelative = sfResult.second/sfResult.first;
282  relative = std::sqrt(sfRelative*sfRelative + relative*relative);
283  } else {
284  ATH_MSG_WARNING("in " << name() << ": null result, SF=" << sfResult.first
285  << " MC eff=" << effResult.first);
286  relative = Analysis::dummyValue;
287  }
288 
289  return std::make_pair(value,value*relative);
290 }

◆ getMCEfficiency()

Analysis::CalibResult Analysis::CalibrationDataInterfaceTool::getMCEfficiency ( const Jet jet,
const std::string &  label,
const std::string &  OP,
Uncertainty  unc = None 
) const

"MC" efficiency retrieval

Definition at line 209 of file CalibrationDataInterfaceTool.cxx.

211 {
212  // extract the relevant jet quantities: kinematic variables and jet author
213 
214  // for light-flavour jets, rename from "N/A"
215  string flavour(label);
216  if (flavour == "N/A") flavour = "Light";
217 
218  string author = jet.jetAuthor();
219 
220  string effName(getBasename(OP, flavour, "_Eff", false));
221 
222  // Return a dummy result if the object is not found
223  std::pair<CalibrationDataContainer*,bool> ret =
224  m_broker->retrieveTObject<CalibrationDataContainer>(m_taggerName, author, effName);
225  CalibrationDataContainer* container = ret.first;
226  if (! container) {
227  ATH_MSG_WARNING("in " << name() << ": unable to find Eff calibration for object with "
228  << "tagger/jetCollection/flavour/operating point = "
229  << m_taggerName << "/" << author << "/" << flavour << "/" << OP);
230  return Analysis::dummyResult;
231  }
232 
233  /* Here, it isn't obvious what to do with the second element of the pair returned:
234  This indicates whether a new object has been loaded (presumably due to IOV changes),
235  but the CalibrationDataContainer should take of any necessary computations itself.
236  */
237 
238  // fill the CalibrationDataVariables object
241 
242  // always retrieve the result itself
243  double value;
244  if (container->getResult(variables, value) == CalibrationDataContainer::kError)
245  return Analysis::dummyResult;
246 
247  // retrieve the statistical uncertainty if desired
248  double stat(0);
249  if (unc == Total || unc == Statistical) {
250  if (container->getStatUncertainty(variables, stat) == CalibrationDataContainer::kError)
251  cerr << "getMCEfficiency: error retrieving MC efficiency statistical uncertainty!"
252  << endl;
253  }
254  UncertaintyResult resSyst(0,0);
255  if (unc == Total || unc == Systematic) {
256  if (container->getSystUncertainty(variables, resSyst) == CalibrationDataContainer::kError)
257  cerr << "getMCEfficiency: error retrieving MC efficiency parameter systematic uncertainty!"
258  << endl;
259  }
260 
261  double uncertainty = combinedUncertainty(stat, resSyst);
262  Analysis::CalibResult result = std::make_pair(value, uncertainty);
263 
264  result.first = std::max(0., std::min(1., result.first));
265  return result;
266 }

◆ getScaleFactor()

Analysis::CalibResult Analysis::CalibrationDataInterfaceTool::getScaleFactor ( const Jet jet,
const std::string &  label,
const std::string &  OP,
Uncertainty  unc = None 
) const

efficiency scale factor retrieval

Definition at line 144 of file CalibrationDataInterfaceTool.cxx.

146 {
147  // // For now, a calibration for the charm efficiency scale factor is assumed not to exist
148  // if (label == "C") return getScaleFactor(jet, "B", OP, unc);
149 
150  // for light-flavour jets, rename from "N/A"
151  string flavour(label);
152  if (flavour == "N/A") flavour = "Light";
153 
154  string author = jet.jetAuthor();
155 
156  string sfName(getBasename(OP, flavour, "_SF", true));
157 
158  // Return a dummy result if the object is not found
159  std::pair<CalibrationDataContainer*,bool> ret =
160  m_broker->retrieveTObject<CalibrationDataContainer>(m_taggerName, author, sfName);
161  CalibrationDataContainer* container = ret.first;
162  if (! container) {
163  ATH_MSG_WARNING("in " << name() << ": unable to find SF calibration for object with "
164  << "tagger/jetCollection/flavour/operating point = "
165  << m_taggerName << "/" << author << "/" << flavour << "/" << OP);
166  return Analysis::dummyResult;
167  }
168 
169  /* Here, it isn't obvious what to do with the second element of the pair returned:
170  This indicates whether a new object has been loaded (presumably due to IOV changes),
171  but the CalibrationDataContainer should take of any necessary computations itself.
172  */
173 
174  // fill the CalibrationDataVariables object
177 
178  // always retrieve the result itself
179  double value;
180  if (container->getResult(variables, value) == CalibrationDataContainer::kError)
181  return Analysis::dummyResult;
182 
183  // retrieve the statistical uncertainty if desired
184  double stat(0);
185  if (unc == Total || unc == Statistical) {
186  if (container->getStatUncertainty(variables, stat) == CalibrationDataContainer::kError)
187  cerr << "getScaleFactor: error retrieving Scale factor statistical uncertainty!"
188  << endl;
189  }
190  UncertaintyResult resSyst(0,0);
191  if (unc == Total || unc == Systematic) {
192  if (container->getSystUncertainty(variables, resSyst) == CalibrationDataContainer::kError)
193  cerr << "getScaleFactor: error retrieving Scale factor parameter systematic uncertainty!"
194  << endl;
195  }
196 
197  double uncertainty = combinedUncertainty(stat, resSyst);
198  Analysis::CalibResult result = std::make_pair(value, uncertainty);
199 
200  result.first = std::max(0., result.first);
201  if (std::abs(result.first) < Analysis::CalibZERO)
202  result.first = 1.;
203  return result;
204 }

◆ initialize()

StatusCode Analysis::CalibrationDataInterfaceTool::initialize ( )
overridevirtual

standard Athena-Algorithm method

Definition at line 59 of file CalibrationDataInterfaceTool.cxx.

60 {
61 
62 // StatusCode sc = AthAlgTool::initialize();
63 // if (sc.isFailure()) return sc;
64 //
65 // sc = m_broker.retrieve();
66 // if (sc.isFailure()) {
67 // ATH_MSG_FATAL("initialize() in " << name() << ": unable to retrieve CalibrationBroker tool!");
68 // return sc;
69 // }
70 
71  string::size_type end;
72 
73  std::vector<string> calibrationBNames;
74  if (m_EffcalibrationBName.size() > 0) {
75  do {
76  end = m_EffcalibrationBName.find(";");
77  calibrationBNames.push_back(m_EffcalibrationBName.substr(0,end));
78  if (end != string::npos) m_EffcalibrationBName = m_EffcalibrationBName.substr(end+1);
79  } while (end != string::npos);
80  }
81 
82  std::vector<string> calibrationCNames;
83  if (m_EffcalibrationCName.size() > 0) {
84  do {
85  end = m_EffcalibrationCName.find(";");
86  calibrationCNames.push_back(m_EffcalibrationCName.substr(0,end));
87  if (end != string::npos) m_EffcalibrationCName = m_EffcalibrationCName.substr(end+1);
88  } while (end != string::npos);
89  }
90 
91  std::vector<string> calibrationTNames;
92  if (m_EffcalibrationTName.size() > 0) {
93  do {
94  end = m_EffcalibrationTName.find(";");
95  calibrationTNames.push_back(m_EffcalibrationTName.substr(0,end));
96  if (end != string::npos) m_EffcalibrationTName = m_EffcalibrationTName.substr(end+1);
97  } while (end != string::npos);
98  }
99 
100  std::vector<string> calibrationLightNames;
101  if (m_EffcalibrationLightName.size() > 0) {
102  do {
103  end = m_EffcalibrationLightName.find(";");
104  calibrationLightNames.push_back(m_EffcalibrationLightName.substr(0,end));
105  if (end != string::npos) m_EffcalibrationLightName = m_EffcalibrationLightName.substr(end+1);
106  } while (end != string::npos);
107  }
108 
109 
110  // insert the calibration names into a common object
111  std::map<string, std::vector<string> > effNames;
112  effNames["B"] = calibrationBNames;
113  effNames["C"] = calibrationCNames;
114  effNames["T"] = calibrationTNames;
115  effNames["Light"] = calibrationLightNames;
116  setEffCalibrationNames(effNames);
117 
118  // insert the calibration names into a common object
119  std::map<string, string> calibrationNames;
120  calibrationNames["B"] = m_SFcalibrationBName;
121  calibrationNames["C"] = m_SFcalibrationCName;
122  calibrationNames["T"] = m_SFcalibrationTName;
123  calibrationNames["Light"] = m_SFcalibrationLightName;
124  setSFCalibrationNames(calibrationNames);
125 
126  // register all objects
127  for (std::map<string, string>::const_iterator it = calibrationNames.begin();
128  it != calibrationNames.end(); ++it) {
129  for (std::vector<string>::const_iterator op = m_operatingPoints.begin();
130  op != m_operatingPoints.end(); ++op) {
131  registerObjects(it->first, *op);
132  }
133  }
134 
135  ATH_MSG_INFO("initialize() successful in " << name());
136  return StatusCode::SUCCESS;
137 }

◆ makeVariables()

void Analysis::CalibrationDataInterfaceTool::makeVariables ( const Jet jet,
CalibrationDataVariables x 
) const
private

auxiliary function to create the intermediate struct needed for the data layer

Definition at line 309 of file CalibrationDataInterfaceTool.cxx.

311 {
312  x.jetAuthor = jet.jetAuthor();
313  x.jetPt = jet.pt() * 0.001; // NB convert from MeV to GeV!
314  x.jetEta = jet.eta();
315 }

◆ registerObjects()

void Analysis::CalibrationDataInterfaceTool::registerObjects ( const std::string &  folder,
const std::string &  OP 
) const
private

auxiliary function dealing with registration of objects

Definition at line 294 of file CalibrationDataInterfaceTool.cxx.

296 {
297  static const string slash("/");
298 
299  string common = OP; common += slash;
300  common += flavour; common += slash;
301  string nameEff(common); nameEff += EffCalibrationName(flavour); nameEff += "_Eff";
302  string nameSF(common); nameSF += SFCalibrationName(flavour); nameSF += "_SF";
303 
304  m_broker->registerHistogram(m_taggerName, nameSF);
305  m_broker->registerHistogram(m_taggerName, nameEff);
306 }

◆ retrieveFunctionArguments()

void Analysis::CalibrationDataInterfaceTool::retrieveFunctionArguments ( const Jet jet,
const std::string &  object,
Double_t *  x 
) const
private

auxiliary function to retrieve values of function arguments

◆ setEffCalibrationNames()

void Analysis::CalibrationDataInterfaceBase::setEffCalibrationNames ( const std::map< std::string, std::vector< std::string > > &  names)
inherited

Definition at line 63 of file CalibrationDataInterfaceBase.cxx.

65 {
66  // Set the MC efficiency names.
67 
69 }

◆ setSFCalibrationNames()

void Analysis::CalibrationDataInterfaceBase::setSFCalibrationNames ( const std::map< std::string, std::string > &  names)
inherited

Definition at line 87 of file CalibrationDataInterfaceBase.cxx.

88 {
89  // Set the efficiency scale factor calibration names.
90 
92 }

◆ SFCalibrationName()

const std::string & Analysis::CalibrationDataInterfaceBase::SFCalibrationName ( const std::string &  flavour) const
inherited

Definition at line 72 of file CalibrationDataInterfaceBase.cxx.

73 {
74  // Return the efficiency scale factor calibration name for the given flavour.
75  // Note that no check is performed on the validity of the flavour.
76 
77  try {
78  return m_calibrationSFNames.at(flavour);
79  }
80  catch (const std::out_of_range& e) {
81  std::cerr << "SFCalibrationName: flavour '" << flavour << "' is not known." << std::endl;
82  throw e;
83  }
84 }

Member Data Documentation

◆ m_broker

ToolHandle<CalibrationBroker> Analysis::CalibrationDataInterfaceTool::m_broker {this, "CalibrationBroker", "", "brief pointer to the performance broker"}
private

pointer to the performance broker

Definition at line 118 of file CalibrationDataInterfaceTool.h.

◆ m_calibrationEffNames

std::map<std::string, std::vector<std::string> > Analysis::CalibrationDataInterfaceBase::m_calibrationEffNames
privateinherited

this simply collects the per-flavour properties.

Definition at line 72 of file CalibrationDataInterfaceBase.h.

◆ m_calibrationSFNames

std::map<std::string, std::string> Analysis::CalibrationDataInterfaceBase::m_calibrationSFNames
privateinherited

Definition at line 73 of file CalibrationDataInterfaceBase.h.

◆ m_EffcalibrationBName

std::string Analysis::CalibrationDataInterfaceTool::m_EffcalibrationBName
private

calibration curves for b, c, and light-flavour jets

Definition at line 108 of file CalibrationDataInterfaceTool.h.

◆ m_EffcalibrationCName

std::string Analysis::CalibrationDataInterfaceTool::m_EffcalibrationCName
private

Definition at line 109 of file CalibrationDataInterfaceTool.h.

◆ m_EffcalibrationLightName

std::string Analysis::CalibrationDataInterfaceTool::m_EffcalibrationLightName
private

Definition at line 111 of file CalibrationDataInterfaceTool.h.

◆ m_EffcalibrationTName

std::string Analysis::CalibrationDataInterfaceTool::m_EffcalibrationTName
private

Definition at line 110 of file CalibrationDataInterfaceTool.h.

◆ m_SFcalibrationBName

std::string Analysis::CalibrationDataInterfaceTool::m_SFcalibrationBName
private

Definition at line 112 of file CalibrationDataInterfaceTool.h.

◆ m_SFcalibrationCName

std::string Analysis::CalibrationDataInterfaceTool::m_SFcalibrationCName
private

Definition at line 113 of file CalibrationDataInterfaceTool.h.

◆ m_SFcalibrationLightName

std::string Analysis::CalibrationDataInterfaceTool::m_SFcalibrationLightName
private

Definition at line 115 of file CalibrationDataInterfaceTool.h.

◆ m_SFcalibrationTName

std::string Analysis::CalibrationDataInterfaceTool::m_SFcalibrationTName
private

Definition at line 114 of file CalibrationDataInterfaceTool.h.

◆ m_taggerName

std::string Analysis::CalibrationDataInterfaceBase::m_taggerName
protectedinherited

tagging algorithm name

Definition at line 94 of file CalibrationDataInterfaceBase.h.


The documentation for this class was generated from the following files:
Analysis::CalibResult
std::pair< double, double > CalibResult
Definition: CalibrationDataInterfaceBase.h:34
Analysis::CalibrationDataInterfaceBase::EffCalibrationName
const std::string & EffCalibrationName(const std::string &flavour, unsigned int mapIndex=0) const
Main interface methods accessing the flavour tagging performance information.
Definition: CalibrationDataInterfaceBase.cxx:47
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
Analysis::CalibrationDataInterfaceTool::m_SFcalibrationCName
std::string m_SFcalibrationCName
Definition: CalibrationDataInterfaceTool.h:113
Analysis::CalibrationDataInterfaceBase::m_calibrationEffNames
std::map< std::string, std::vector< std::string > > m_calibrationEffNames
this simply collects the per-flavour properties.
Definition: CalibrationDataInterfaceBase.h:72
Analysis::dummyResult
const CalibResult dummyResult(dummyValue, dummyValue)
get_generator_info.result
result
Definition: get_generator_info.py:21
Analysis::CalibrationDataContainer
Definition: CalibrationDataContainer.h:51
checkCoolLatestUpdate.variables
variables
Definition: checkCoolLatestUpdate.py:13
Analysis::CalibrationDataInterfaceBase::kAbsEta
@ kAbsEta
Definition: CalibrationDataInterfaceBase.h:67
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
Analysis::CalibrationDataInterfaceTool::m_EffcalibrationTName
std::string m_EffcalibrationTName
Definition: CalibrationDataInterfaceTool.h:110
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
Analysis::CalibrationDataInterfaceBase::m_calibrationSFNames
std::map< std::string, std::string > m_calibrationSFNames
Definition: CalibrationDataInterfaceBase.h:73
Analysis::Statistical
@ Statistical
Definition: CalibrationDataInterfaceROOT.h:70
skel.it
it
Definition: skel.GENtoEVGEN.py:396
TRT_PAI_gasdata::SF
const float SF[NF]
Cross sections for Fluor.
Definition: TRT_PAI_gasdata.h:285
Analysis::CalibrationDataInterfaceTool::registerObjects
void registerObjects(const std::string &folder, const std::string &OP) const
auxiliary function dealing with registration of objects
Definition: CalibrationDataInterfaceTool.cxx:294
athena.value
value
Definition: athena.py:124
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
x
#define x
Analysis::CalibrationDataInterfaceBase::SFCalibrationName
const std::string & SFCalibrationName(const std::string &flavour) const
Definition: CalibrationDataInterfaceBase.cxx:72
Analysis::dummyValue
const double dummyValue
Definition: CalibrationDataInterfaceBase.h:33
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
Analysis::CalibrationDataInterfaceBase::m_taggerName
std::string m_taggerName
tagging algorithm name
Definition: CalibrationDataInterfaceBase.h:94
Analysis::Total
@ Total
Definition: CalibrationDataInterfaceROOT.h:70
MakeFileForReductions.largest
float largest
Definition: MakeFileForReductions.py:95
Analysis::CalibrationDataInterfaceTool::m_EffcalibrationBName
std::string m_EffcalibrationBName
calibration curves for b, c, and light-flavour jets
Definition: CalibrationDataInterfaceTool.h:108
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
Analysis::CalibrationDataInterfaceBase::kEta
@ kEta
Definition: CalibrationDataInterfaceBase.h:67
Analysis::CalibrationDataInterfaceTool::m_broker
ToolHandle< CalibrationBroker > m_broker
pointer to the performance broker
Definition: CalibrationDataInterfaceTool.h:118
beamspotman.n
n
Definition: beamspotman.py:731
Analysis::kError
@ kError
Definition: CalibrationDataVariables.h:60
python.subdetectors.mmg.names
names
Definition: mmg.py:8
Analysis::CalibrationDataInterfaceBase::combinedUncertainty
double combinedUncertainty(double stat, const std::pair< double, double > &syst) const
utility function for combination of statistical and (a priori asymmetric) systematic uncertainty.
Definition: CalibrationDataInterfaceBase.cxx:147
Analysis::CalibrationDataInterfaceTool::m_SFcalibrationLightName
std::string m_SFcalibrationLightName
Definition: CalibrationDataInterfaceTool.h:115
add-xsec-uncert-quadrature-N.label
label
Definition: add-xsec-uncert-quadrature-N.py:104
Analysis::CalibrationDataInterfaceTool::m_EffcalibrationLightName
std::string m_EffcalibrationLightName
Definition: CalibrationDataInterfaceTool.h:111
Analysis::UncertaintyResult
std::pair< double, double > UncertaintyResult
The following typedef is for convenience: most uncertainties can be asymmetric.
Definition: CalibrationDataContainer.h:33
beamspotman.stat
stat
Definition: beamspotman.py:266
Analysis::CalibrationDataInterfaceTool::getScaleFactor
CalibResult getScaleFactor(const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const
efficiency scale factor retrieval
Definition: CalibrationDataInterfaceTool.cxx:144
Analysis::CalibrationDataInterfaceBase::setEffCalibrationNames
void setEffCalibrationNames(const std::map< std::string, std::vector< std::string > > &names)
Definition: CalibrationDataInterfaceBase.cxx:63
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Analysis::CalibrationDataInterfaceTool::makeVariables
void makeVariables(const Jet &jet, CalibrationDataVariables &x) const
auxiliary function to create the intermediate struct needed for the data layer
Definition: CalibrationDataInterfaceTool.cxx:309
Analysis::CalibrationDataInterfaceTool::m_EffcalibrationCName
std::string m_EffcalibrationCName
Definition: CalibrationDataInterfaceTool.h:109
Analysis::CalibrationDataInterfaceTool::m_SFcalibrationBName
std::string m_SFcalibrationBName
Definition: CalibrationDataInterfaceTool.h:112
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CaloCondBlobAlgs_fillNoiseFromASCII.author
string author
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:26
Analysis::CalibrationDataVariables
Definition: CalibrationDataVariables.h:42
Analysis::CalibrationDataInterfaceBase::setSFCalibrationNames
void setSFCalibrationNames(const std::map< std::string, std::string > &names)
Definition: CalibrationDataInterfaceBase.cxx:87
AthAlgTool
Definition: AthAlgTool.h:26
Analysis::CalibrationDataInterfaceTool::getMCEfficiency
CalibResult getMCEfficiency(const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const
"MC" efficiency retrieval
Definition: CalibrationDataInterfaceTool.cxx:209
Analysis::CalibrationDataInterfaceBase::kPt
@ kPt
Definition: CalibrationDataInterfaceBase.h:67
Analysis::Systematic
@ Systematic
Definition: CalibrationDataInterfaceROOT.h:70
Analysis::CalibrationDataInterfaceTool::m_SFcalibrationTName
std::string m_SFcalibrationTName
Definition: CalibrationDataInterfaceTool.h:114
Analysis::CalibZERO
const double CalibZERO
Definition: CalibrationDataInterfaceBase.h:32
common
Definition: common.py:1
Analysis::CalibrationDataInterfaceBase::getBasename
std::string getBasename(const std::string &name) const
auxiliary function for retrieval of name within the directory
Definition: CalibrationDataInterfaceBase.cxx:138