![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
29 , m_storeTResult(false)
30 , m_sgMultipleNames({})
31 , m_storeMultipleOutputs(
false)
33 declareInterface<DerivationFramework::IAugmentationTool>(
this);
46 "No SG name provided for the output of EGElectronLikelihoodToolWrapper!");
47 return StatusCode::FAILURE;
74 return StatusCode::SUCCESS;
81 const EventContext& ctx = Gaudi::Hive::currentContext();
92 std::unique_ptr<SG::WriteDecorHandle<xAOD::EgammaContainer, float>>
93 decoratorResult =
nullptr;
96 std::make_unique<SG::WriteDecorHandle<xAOD::EgammaContainer, float>>(
127 Error(
"addBranches()",
128 "Error applying fudge factors to current photon");
132 "Current object has no valid fudge factors due to out-of-range");
136 "Unknown correction code %d from ElectronPhotonShowerShapeFudgeTool",
137 (
int)correctionCode);
142 const unsigned int isEM =
149 const bool pass_selection = (
bool)theAccept;
150 if (pass_selection) {
151 decoratorPass(*
par) = 1;
153 decoratorPass(*
par) = 0;
155 decoratorIsEM(*
par) = isEM;
156 if (decoratorResult) {
157 (*decoratorResult)(*par) =
158 static_cast<float>(
m_tool->calculate(ctx, pCopy));
163 std::vector<float> toolOutput =
m_tool->calculateMultipleOutputs(ctx, eCopy);
164 for (
size_t i = 0;
i < toolOutput.size();
i++){
165 decoratorMultipleOutputs.at(
i)(*par) = toolOutput.at(
i);
170 decoratorPass(*
par) = 1;
172 decoratorPass(*
par) = 0;
174 decoratorIsEM(*
par) = isEM;
175 if (decoratorResult) {
178 (*decoratorResult)(*par) =
179 static_cast<float>(
m_tool->calculate(ctx, pCopy));
184 std::vector<float> toolOutput =
m_tool->calculateMultipleOutputs(ctx, eCopy);
185 for (
size_t i = 0;
i < toolOutput.size();
i++){
186 decoratorMultipleOutputs.at(
i)(*par) = toolOutput.at(
i);
196 return StatusCode::SUCCESS;
std::bitset< NBITS > getCutResultInvertedBitSet() const
Get an inverted bitset of the cut result.
Electron_v1 Electron
Definition of the current "egamma version".
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
@ OutOfValidityRange
Input object is out of validity range.
@ Error
Some error happened during the object correction.
Helper class to provide type-safe access to aux data.
::StatusCode StatusCode
StatusCode definition for legacy code.
Handle class for adding a decoration to an object.
@ Ok
The correction was done successfully.
bool getCutResult(const std::string &cutName) const
Get the result of a cut, based on the cut name (safer)
Return value from object correction CP tools.
setBGCode setTAP setLVL2ErrorBits bool