7#ifndef TRIGGLOBALEFFICIENCYCORRECTION_TRIGGLOBALEFFICIENCYCORRECTIONTOOL_H
8#define TRIGGLOBALEFFICIENCYCORRECTION_TRIGGLOBALEFFICIENCYCORRECTIONTOOL_H 1
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>
197 template <
class CPTool>
199 ToolHandleArray<CPTool>& suppliedTools,
200 std::map<ToolKey, std::size_t>& toolIndex,
201 std::flat_set<std::size_t>& collectedTags);
203 const std::string& inputList,
206 std::flat_set<std::size_t>&
tags);
208 bool useDefaultElectronTools,
209 bool useDefaultPhotonTools);
211 const std::flat_set<std::size_t>& collectedMuonTags,
212 const std::flat_set<std::size_t>& collectedPhotonTags);
220 template <
class... ListOfLegs>
224 const std::flat_set<std::size_t>& legs,
227 std::size_t leg1, std::size_t leg2,
bool& success);
232 const std::flat_set<std::size_t>& legs,
234 template <
class Container>
236 template <
class Particle>
238 const std::vector<const Particle*>& particles);
245 const xAOD::Muon* p,
unsigned runNumber, std::size_t leg, std::size_t tag,
248 const xAOD::Photon* p,
unsigned runNumber, std::size_t leg,
250 template <
class ParticleType>
252 const ParticleType* p,
unsigned runNumber, std::size_t leg,
286 static inline constexpr const std::flat_set<std::size_t>&
forwardLegs(
287 const std::flat_set<std::size_t>& legs);
288 static inline constexpr std::array<std::size_t, 2>
forwardLegs(
289 std::size_t leg1, std::size_t leg2);
Base class for elements of a container that can have aux data.
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
Helper class to provide constant type-safe access to aux data.
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".