7#ifndef TRIGGLOBALEFFICIENCYCORRECTION_TRIGGLOBALEFFICIENCYCORRECTIONTOOL_H
8#define TRIGGLOBALEFFICIENCYCORRECTION_TRIGGLOBALEFFICIENCYCORRECTIONTOOL_H 1
10#include <boost/container/container_fwd.hpp>
48 const std::vector<const xAOD::IParticle*>& particles,
49 double& efficiencyScaleFactor)
override;
51 unsigned runNumber,
const std::vector<const xAOD::IParticle*>& particles,
52 double& efficiencyScaleFactor)
override;
54 const std::vector<const xAOD::IParticle*>& particles,
55 double& efficiencyData,
double& efficiencyMc)
override;
57 unsigned runNumber,
const std::vector<const xAOD::IParticle*>& particles,
58 double& efficiencyData,
double& efficiencyMc)
override;
69 const std::vector<const xAOD::IParticle*>& particles)
override;
71 std::unordered_map<std::string, bool>& matched_per_trigger,
72 const std::vector<const xAOD::IParticle*>& particles)
override;
74 std::vector<std::string>& triggers)
override;
76 const std::string& trigger, std::size_t& numberOfLegs)
override;
79 const std::map<std::string, std::string>& triggerCombination,
80 const std::string& version,
81 std::map<std::string, std::string>& legsPerKey) {
86 const std::map<std::string, std::string>& triggerCombination,
87 const std::string& version,
88 std::map<std::string, std::string>& legsPerKey) {
93 const std::map<std::string, std::string>& triggerCombination,
94 const std::string& version,
95 std::map<std::string, std::string>& legsPerKey,
131 ToolKey(std::size_t leg, std::size_t tag,
unsigned runNumber)
136 std::pair<unsigned, unsigned> bounds)
140 ToolKey(std::size_t leg = 0, std::size_t tag = 0)
146 ToolHandleArray<IAsgElectronEfficiencyCorrectionTool>
148 ToolHandleArray<IAsgElectronEfficiencyCorrectionTool>
150 ToolHandleArray<IAsgPhotonEfficiencyCorrectionTool>
152 ToolHandleArray<IAsgPhotonEfficiencyCorrectionTool>
195 template <
typename Key>
200 template <
class CPTool>
202 ToolHandleArray<CPTool>& suppliedTools,
203 std::map<ToolKey, std::size_t>& toolIndex,
206 const std::string& inputList,
211 bool useDefaultElectronTools,
212 bool useDefaultPhotonTools);
223 template <
class... ListOfLegs>
230 std::size_t leg1, std::size_t leg2,
bool& success);
237 template <
class Container>
239 template <
class Particle>
241 const std::vector<const Particle*>& particles);
248 const xAOD::Muon* p,
unsigned runNumber, std::size_t leg, std::size_t tag,
251 const xAOD::Photon* p,
unsigned runNumber, std::size_t leg,
253 template <
class ParticleType>
255 const ParticleType* p,
unsigned runNumber, std::size_t leg,
291 static inline constexpr std::array<std::size_t, 2>
forwardLegs(
292 std::size_t leg1, std::size_t leg2);
Base class for elements of a container that can have aux data.
boost::container::flat_set< Key > flat_set
char data[hepevt_bytes_allocation_ATLAS]
Return value from object correction CP tools.
@ Ok
The correction was done successfully.
Class to wrap a set of SystematicVariations.
storage of the time histories of all the cells
SG::ConstAccessor< T, ALLOC > ConstAccessor
std::vector< std::string > tags
the template specializations below must be enclosed in this namespace
ObjectType
Type of objects that have a representation in the xAOD EDM.
@ Photon
The object is a photon.
@ Electron
The object is an electron.
Muon_v1 Muon
Reference the current persistent version:
Photon_v1 Photon
Definition of the current "egamma version".
Electron_v1 Electron
Definition of the current "egamma version".