ATLAS Offline Software
Loading...
Searching...
No Matches
CalibrationDataInterfaceTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// CalibrationDataInterfaceTool.h, (c) ATLAS Detector software
8
9#ifndef ANALYSISCALIBRATIONDATAINTERFACETOOL_H
10#define ANALYSISCALIBRATIONDATAINTERFACETOOL_H
11
13#include "GaudiKernel/ToolHandle.h"
14#include "JetTagCalibration/CalibrationBroker.h"
17#include "Rtypes.h"
18#include <vector>
19#include <string>
20#include <utility>
21
22class AtlasDetectorID;
23class Identifier;
24class Jet;
25
26namespace Analysis
27{
28
30
63
64 class CalibrationDataInterfaceTool : public extends<AthAlgTool, ICalibrationDataInterfaceTool>,
66 {
67 public:
68 CalibrationDataInterfaceTool(const std::string&,const std::string&,const IInterface*);
69
71 virtual ~CalibrationDataInterfaceTool () = default;
72
74 virtual StatusCode initialize() override;
75
81
83 CalibResult getEfficiency (const Jet& jet, const std::string& label,
84 const std::string& OP, Uncertainty unc = None) const;
85
87 CalibResult getMCEfficiency (const Jet& jet, const std::string& label,
88 const std::string& OP, Uncertainty unc = None) const;
89
91 CalibResult getScaleFactor (const Jet& jet, const std::string& label,
92 const std::string& OP, Uncertainty unc = None) const;
93
94 private:
95
97 void registerObjects(const std::string& folder, const std::string& OP) const;
98
100 void retrieveFunctionArguments(const Jet& jet, const std::string& object, Double_t* x) const;
101
103 void makeVariables (const Jet& jet, CalibrationDataVariables& x) const;
104
105 //-------------------- Properties --------------------
106
116
118 ToolHandle<CalibrationBroker> m_broker {this, "CalibrationBroker", "", "brief pointer to the performance broker"};
119
120 };
121} // end of namespace
122
123#endif
#define x
CalibrationDataInterfaceTool(const std::string &, const std::string &, const IInterface *)
ToolHandle< CalibrationBroker > m_broker
pointer to the performance broker
std::string m_EffcalibrationBName
calibration curves for b, c, and light-flavour jets
virtual ~CalibrationDataInterfaceTool()=default
default destructor
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.
void retrieveFunctionArguments(const Jet &jet, const std::string &object, Double_t *x) const
auxiliary function to retrieve values of function arguments
virtual StatusCode initialize() override
standard Athena-Algorithm method
void registerObjects(const std::string &folder, const std::string &OP) const
auxiliary function dealing with registration of objects
CalibResult getMCEfficiency(const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const
"MC" efficiency retrieval
void makeVariables(const Jet &jet, CalibrationDataVariables &x) const
auxiliary function to create the intermediate struct needed for the data layer
CalibResult getScaleFactor(const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const
efficiency scale factor retrieval
This class (struct, actually) is nothing but a light-weight container of (kinematic or other) variabl...
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
std::string label(const std::string &format, int i)
Definition label.h:19
The namespace of all packages in PhysicsAnalysis/JetTagging.
std::pair< double, double > CalibResult
Uncertainty
specification of type information requested by the user