ATLAS Offline Software
CalibrationDataInterfaceTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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 
22 class AtlasDetectorID;
23 class Identifier;
24 class Jet;
25 
26 namespace Analysis
27 {
28 
29  class CalibrationDataVariables;
30 
66  {
67  public:
68  CalibrationDataInterfaceTool(const std::string&,const std::string&,const IInterface*);
69 
71  virtual ~CalibrationDataInterfaceTool () = default;
72 
74  StatusCode queryInterface( const InterfaceID& riid, void** ppvIf );
75 
77  virtual StatusCode initialize() override;
78 
86  CalibResult getEfficiency (const Jet& jet, const std::string& label,
87  const std::string& OP, Uncertainty unc = None) const;
88 
90  CalibResult getMCEfficiency (const Jet& jet, const std::string& label,
91  const std::string& OP, Uncertainty unc = None) const;
92 
94  CalibResult getScaleFactor (const Jet& jet, const std::string& label,
95  const std::string& OP, Uncertainty unc = None) const;
96 
97  private:
98 
100  void registerObjects(const std::string& folder, const std::string& OP) const;
101 
103  void retrieveFunctionArguments(const Jet& jet, const std::string& object, Double_t* x) const;
104 
106  void makeVariables (const Jet& jet, CalibrationDataVariables& x) const;
107 
108  //-------------------- Properties --------------------
109 
115  std::string m_SFcalibrationBName;
116  std::string m_SFcalibrationCName;
117  std::string m_SFcalibrationTName;
119 
121  ToolHandle<CalibrationBroker> m_broker {this, "CalibrationBroker", "", "brief pointer to the performance broker"};
122 
123  };
124 } // end of namespace
125 
126 #endif
Analysis::CalibResult
std::pair< double, double > CalibResult
Definition: CalibrationDataInterfaceBase.h:34
Analysis::CalibrationDataInterfaceTool::m_SFcalibrationCName
std::string m_SFcalibrationCName
Definition: CalibrationDataInterfaceTool.h:116
Analysis::CalibrationDataInterfaceTool::queryInterface
StatusCode queryInterface(const InterfaceID &riid, void **ppvIf)
allow access to the ICalibrationDataInterfaceTool interface
Definition: CalibrationDataInterfaceTool.cxx:62
Analysis::CalibrationDataInterfaceBase
Definition: CalibrationDataInterfaceBase.h:47
Jet
Basic data class defines behavior for all Jet objects The Jet class is the principal data class for...
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:47
Analysis::CalibrationDataInterfaceTool::m_EffcalibrationTName
std::string m_EffcalibrationTName
Definition: CalibrationDataInterfaceTool.h:113
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
Analysis::ICalibrationDataInterfaceTool
Definition: ICalibrationDataInterfaceTool.h:21
Analysis::CalibrationDataInterfaceTool::registerObjects
void registerObjects(const std::string &folder, const std::string &OP) const
auxiliary function dealing with registration of objects
Definition: CalibrationDataInterfaceTool.cxx:310
x
#define x
Analysis::CalibrationDataInterfaceTool::getEfficiency
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.
Definition: CalibrationDataInterfaceTool.cxx:287
Analysis::CalibrationDataInterfaceTool::m_EffcalibrationBName
std::string m_EffcalibrationBName
calibration curves for b, c, and light-flavour jets
Definition: CalibrationDataInterfaceTool.h:111
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
Analysis::CalibrationDataInterfaceTool::m_broker
ToolHandle< CalibrationBroker > m_broker
pointer to the performance broker
Definition: CalibrationDataInterfaceTool.h:121
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Analysis::CalibrationDataInterfaceTool::m_SFcalibrationLightName
std::string m_SFcalibrationLightName
Definition: CalibrationDataInterfaceTool.h:118
AthAlgTool.h
Analysis::CalibrationDataInterfaceTool::m_EffcalibrationLightName
std::string m_EffcalibrationLightName
Definition: CalibrationDataInterfaceTool.h:114
ICalibrationDataInterfaceTool.h
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:160
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::CalibrationDataInterfaceTool::CalibrationDataInterfaceTool
CalibrationDataInterfaceTool(const std::string &, const std::string &, const IInterface *)
Definition: CalibrationDataInterfaceTool.cxx:28
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:325
Analysis::CalibrationDataInterfaceTool::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: CalibrationDataInterfaceTool.cxx:75
Analysis::CalibrationDataInterfaceTool::m_EffcalibrationCName
std::string m_EffcalibrationCName
Definition: CalibrationDataInterfaceTool.h:112
Analysis::CalibrationDataInterfaceTool::m_SFcalibrationBName
std::string m_SFcalibrationBName
Definition: CalibrationDataInterfaceTool.h:115
Analysis::ICalibrationDataInterfaceTool::Uncertainty
Uncertainty
retrieve either the total uncertainty or only the statistical or systematic components
Definition: ICalibrationDataInterfaceTool.h:28
Analysis::ICalibrationDataInterfaceTool::None
@ None
Definition: ICalibrationDataInterfaceTool.h:28
Analysis::CalibrationDataVariables
Definition: CalibrationDataVariables.h:42
Analysis::CalibrationDataInterfaceTool::~CalibrationDataInterfaceTool
virtual ~CalibrationDataInterfaceTool()=default
default destructor
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56
Analysis::CalibrationDataInterfaceTool::retrieveFunctionArguments
void retrieveFunctionArguments(const Jet &jet, const std::string &object, Double_t *x) const
auxiliary function to retrieve values of function arguments
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:225
CalibrationDataInterfaceBase.h
Analysis::CalibrationDataInterfaceTool::m_SFcalibrationTName
std::string m_SFcalibrationTName
Definition: CalibrationDataInterfaceTool.h:117
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
Analysis::CalibrationDataInterfaceTool
Definition: CalibrationDataInterfaceTool.h:66