ATLAS Offline Software
IPMGTruthWeightTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef PMGTOOLS_IPMGTRUTHWEIGHTTOOL_H
6 #define PMGTOOLS_IPMGTRUTHWEIGHTTOOL_H
7 
8 // STL include(s):
9 #include <string>
10 #include <vector>
11 
12 // EDM include(s):
15 
16 namespace PMGTools
17 {
25  {
27  ASG_TOOL_INTERFACE(xAOD::IPMGTruthWeightTool)
28 
29  public:
31  virtual const std::vector<std::string>& getWeightNames() const = 0;
32 
34  virtual float getWeight(const xAOD::EventInfo* evtInfo, const std::string& weightName) const = 0;
35 
37  virtual bool hasWeight(const std::string& weightName) const = 0;
38 
40  virtual float getSysWeight(const xAOD::EventInfo* evtInfo, const CP::SystematicSet& sys) const = 0;
41 
43  virtual size_t getSysWeightIndex(const CP::SystematicSet& sys) const = 0;
44 
45  }; // class IPMGTruthWeightTool
46 
47 } // namespace xAOD
48 
49 #endif // PMGTOOLS_IPMGTRUTHWEIGHTTOOL_H
PMGTools::IPMGTruthWeightTool::getWeightNames
virtual const std::vector< std::string > & getWeightNames() const =0
Declare the interface that the class provides.
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
PMGTools::IPMGTruthWeightTool::getSysWeightIndex
virtual size_t getSysWeightIndex(const CP::SystematicSet &sys) const =0
Return the weight index corresponding to the current systematics.
PMGTools
Tool providing sample cross-sections and k-factors etc.
Definition: AnalysisCommon/PMGTools/PMGTools/IPMGCrossSectionTool.h:15
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
PMGTools::IPMGTruthWeightTool::getSysWeight
virtual float getSysWeight(const xAOD::EventInfo *evtInfo, const CP::SystematicSet &sys) const =0
Return the weight corresponding to the current systematics.
IReentrantSystematicsTool.h
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
PMGTools::IPMGTruthWeightTool::hasWeight
virtual bool hasWeight(const std::string &weightName) const =0
Check if a weight called weightName exists.
CP::IReentrantSystematicsTool
interface for all CP tools supporting systematic variations within a reentrant algorithm
Definition: IReentrantSystematicsTool.h:58
PMGTools::IPMGTruthWeightTool::getWeight
virtual float getWeight(const xAOD::EventInfo *evtInfo, const std::string &weightName) const =0
Return the weight corresponding to weightName for this event.
PMGTools::IPMGTruthWeightTool
Interface for xAOD Truth Weight Tool which retrieves Meta Data from a truth record to interface the e...
Definition: IPMGTruthWeightTool.h:25