#include <EGElectronLikelihoodToolWrapper.h>
|
ToolHandle< IAsgElectronLikelihoodTool > | m_tool |
|
ToolHandle< IElectronPhotonShowerShapeFudgeTool > | m_fudgeMCTool { this, "EGammaFudgeMCTool", "", "Fudging tool" } |
|
SG::ReadHandleKey< xAOD::EgammaContainer > | m_ContainerName |
|
SG::WriteDecorHandleKey< xAOD::EgammaContainer > | m_decoratorPass { this, "decoratorPass", "", "" } |
|
SG::WriteDecorHandleKey< xAOD::EgammaContainer > | m_decoratorIsEM { this, "decoratorIsEM", "", "" } |
|
SG::WriteDecorHandleKey< xAOD::EgammaContainer > | m_decoratorResult { this, "decoratorResult", "", "" } |
|
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer, float > | m_decoratorMultipleOutputs {this, "decoratorMultipleOutputs", {}, ""} |
|
std::string | m_cut |
|
std::string | m_sgName |
|
bool | m_storeTResult |
|
std::vector< std::string > | m_sgMultipleNames |
|
bool | m_storeMultipleOutputs |
|
◆ EGElectronLikelihoodToolWrapper()
DerivationFramework::EGElectronLikelihoodToolWrapper::EGElectronLikelihoodToolWrapper |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ addBranches()
StatusCode DerivationFramework::EGElectronLikelihoodToolWrapper::addBranches |
( |
| ) |
const |
|
finaloverridevirtual |
Definition at line 77 of file EGElectronLikelihoodToolWrapper.cxx.
80 const EventContext& ctx = Gaudi::Hive::currentContext();
112 Error(
"addBranches()",
113 "Error applying fudge factors to current photon");
117 "Current object has no valid fudge factors due to out-of-range");
121 "Unknown correction code %d from ElectronPhotonShowerShapeFudgeTool",
122 (
int)correctionCode);
124 pCopies.push_back (pCopy);
139 std::unique_ptr<SG::WriteDecorHandle<xAOD::EgammaContainer, float>>
140 decoratorResult =
nullptr;
143 std::make_unique<SG::WriteDecorHandle<xAOD::EgammaContainer, float>>(
152 if (!pCopy) pCopy =
par;
155 const unsigned int isEM =
156 (
unsigned int)theAccept.getCutResultInvertedBitSet()
162 const bool pass_selection = (
bool)theAccept;
163 if (pass_selection) {
164 decoratorPass(*
par) = 1;
166 decoratorPass(*
par) = 0;
168 decoratorIsEM(*
par) = isEM;
169 if (decoratorResult) {
170 (*decoratorResult)(*par) =
171 static_cast<float>(
m_tool->calculate(ctx, pCopy));
176 std::vector<float> toolOutput =
m_tool->calculateMultipleOutputs(ctx, eCopy);
177 for (
size_t i = 0;
i < toolOutput.size();
i++){
178 decoratorMultipleOutputs.at(
i)(*par) = toolOutput.at(
i);
182 if (theAccept.getCutResult(
m_cut)) {
183 decoratorPass(*
par) = 1;
185 decoratorPass(*
par) = 0;
187 decoratorIsEM(*
par) = isEM;
188 if (decoratorResult) {
191 (*decoratorResult)(*par) =
192 static_cast<float>(
m_tool->calculate(ctx, pCopy));
197 std::vector<float> toolOutput =
m_tool->calculateMultipleOutputs(ctx, eCopy);
198 for (
size_t i = 0;
i < toolOutput.size();
i++){
199 decoratorMultipleOutputs.at(
i)(*par) = toolOutput.at(
i);
205 return StatusCode::SUCCESS;
◆ initialize()
StatusCode DerivationFramework::EGElectronLikelihoodToolWrapper::initialize |
( |
| ) |
|
|
finaloverridevirtual |
Definition at line 41 of file EGElectronLikelihoodToolWrapper.cxx.
45 "No SG name provided for the output of EGElectronLikelihoodToolWrapper!");
46 return StatusCode::FAILURE;
73 return StatusCode::SUCCESS;
◆ m_ContainerName
◆ m_cut
std::string DerivationFramework::EGElectronLikelihoodToolWrapper::m_cut |
|
private |
◆ m_decoratorIsEM
◆ m_decoratorMultipleOutputs
◆ m_decoratorPass
◆ m_decoratorResult
◆ m_fudgeMCTool
◆ m_sgMultipleNames
std::vector<std::string> DerivationFramework::EGElectronLikelihoodToolWrapper::m_sgMultipleNames |
|
private |
◆ m_sgName
std::string DerivationFramework::EGElectronLikelihoodToolWrapper::m_sgName |
|
private |
◆ m_storeMultipleOutputs
bool DerivationFramework::EGElectronLikelihoodToolWrapper::m_storeMultipleOutputs |
|
private |
◆ m_storeTResult
bool DerivationFramework::EGElectronLikelihoodToolWrapper::m_storeTResult |
|
private |
◆ m_tool
The documentation for this class was generated from the following files: