ATLAS Offline Software
IBTaggingEfficiencyTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CPIBTAGGINGEFFICIENCYTOOL_H
6 #define CPIBTAGGINGEFFICIENCYTOOL_H
7 
8 #include "AsgTools/IAsgTool.h"
13 
14 #include "xAODJet/Jet.h"
15 
16 #include <vector>
17 #include <string>
18 #include <set>
19 
22 
24 
26  ASG_TOOL_INTERFACE( IBTagEfficiencyTool )
27 
28  public:
29 
30 
32  float & sf) = 0 ;
33 
35  float & eff) = 0;
36 
38  float & eff) = 0;
39 
41  float & sf) = 0;
42 
44  float & eff) = 0;
45 
46 
48  float & sf) = 0;
49 
51  float & sf) = 0;
52 
54  float & eff) = 0;
55 
56 
57 
58  virtual CP::CorrectionCode getMCEfficiencyONNX( const std::vector<std::vector<float>>& node_feat, std::vector<float>& effAllJet) = 0;
59 
60  virtual CP::CorrectionCode getMCEfficiencyONNX( const std::vector<std::vector<float>>& node_feat, std::vector<std::vector<float>>& effAllJetAllWp) = 0;
61 
62 
63  // utility methods
64  virtual const std::map<CP::SystematicVariation, std::vector<std::string> > listSystematics() const = 0;
65  //
66  virtual std::string getTaggerName() const = 0;
67  //
68  virtual std::string getOperatingPoint() const = 0;
69  //
70  virtual std::string getJetAuthor() const = 0;
71 
72  // select an efficiency map for use in MC/MC and inefficiency scale factors, based on user specified selection of efficiency maps
73  virtual bool setMapIndex(const std::string& flavour, unsigned int index) = 0;
74  // select an efficiency map for use in MC/MC and inefficiency scale factors, based on configuration file that contains DSID to effmap specification
75  virtual bool setMapIndex(unsigned int dsid) = 0;
76 
77  // this merely passes on the request to the underlying CDI object (listSystematics() cannot be used here, as corresponding CP::SystematicVariation objects may not exist)
78  virtual std::map<std::string, std::vector<std::string> > listScaleFactorSystematics(bool named = false) const = 0;
79 
80  virtual CP::CorrectionCode getEigenRecompositionCoefficientMap(const std::string &label, std::map<std::string, std::map<std::string, float>> & coefficientMap) = 0;
81 };
82 
83 #endif // CPIBTAGGINGEFFICIENCYTOOL_H
IBTaggingEfficiencyTool::listScaleFactorSystematics
virtual std::map< std::string, std::vector< std::string > > listScaleFactorSystematics(bool named=false) const =0
Jet.h
IBTaggingEfficiencyTool::getInefficiency
virtual CP::CorrectionCode getInefficiency(const xAOD::Jet &jet, float &eff)=0
IBTaggingEfficiencyTool::getJetAuthor
virtual std::string getJetAuthor() const =0
IBTaggingEfficiencyTool::getMCEfficiencyONNX
virtual CP::CorrectionCode getMCEfficiencyONNX(const std::vector< std::vector< float >> &node_feat, std::vector< float > &effAllJet)=0
index
Definition: index.py:1
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
SystematicSet.h
IBTaggingEfficiencyTool::getMCEfficiencyONNX
virtual CP::CorrectionCode getMCEfficiencyONNX(const std::vector< std::vector< float >> &node_feat, std::vector< std::vector< float >> &effAllJetAllWp)=0
CalibrationDataVariables.h
ISystematicsTool.h
IBTaggingEfficiencyTool::setMapIndex
virtual bool setMapIndex(const std::string &flavour, unsigned int index)=0
IBTaggingEfficiencyTool::getOperatingPoint
virtual std::string getOperatingPoint() const =0
CalibrationDataInterfaceROOT.h
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
IBTaggingEfficiencyTool::getInefficiencyScaleFactor
virtual CP::CorrectionCode getInefficiencyScaleFactor(int flavour, const Analysis::CalibrationDataVariables &v, float &sf)=0
Generate_dsid_ranseed.dsid
dsid
Definition: Generate_dsid_ranseed.py:6
IBTaggingEfficiencyTool::getMCEfficiency
virtual CP::CorrectionCode getMCEfficiency(const xAOD::Jet &jet, float &eff)=0
IBTaggingEfficiencyTool::getScaleFactor
virtual CP::CorrectionCode getScaleFactor(int flavour, const Analysis::CalibrationDataVariables &v, float &sf)=0
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
IBTaggingEfficiencyTool::getScaleFactor
virtual CP::CorrectionCode getScaleFactor(const xAOD::Jet &jet, float &sf)=0
Declare the interface that the class provides.
StatusCode.h
IBTaggingEfficiencyTool::getMCEfficiency
virtual CP::CorrectionCode getMCEfficiency(int flavour, const Analysis::CalibrationDataVariables &v, float &eff)=0
IBTaggingEfficiencyTool
Definition: IBTaggingEfficiencyTool.h:23
IBTaggingEfficiencyTool::getEfficiency
virtual CP::CorrectionCode getEfficiency(const xAOD::Jet &jet, float &eff)=0
IBTaggingEfficiencyTool::getTaggerName
virtual std::string getTaggerName() const =0
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition: ISystematicsTool.h:32
python.PyAthena.v
v
Definition: PyAthena.py:157
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
IBTaggingEfficiencyTool::getEigenRecompositionCoefficientMap
virtual CP::CorrectionCode getEigenRecompositionCoefficientMap(const std::string &label, std::map< std::string, std::map< std::string, float >> &coefficientMap)=0
Analysis::CalibrationDataVariables
Definition: CalibrationDataVariables.h:42
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
IBTaggingEfficiencyTool::listSystematics
virtual const std::map< CP::SystematicVariation, std::vector< std::string > > listSystematics() const =0
CorrectionCode.h
dqt_zlumi_alleff_HIST.eff
int eff
Definition: dqt_zlumi_alleff_HIST.py:113
IBTaggingEfficiencyTool::getInefficiencyScaleFactor
virtual CP::CorrectionCode getInefficiencyScaleFactor(const xAOD::Jet &jet, float &sf)=0
IBTaggingEfficiencyTool::setMapIndex
virtual bool setMapIndex(unsigned int dsid)=0