#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", m_ContainerName, "", "" } |
| |
| SG::WriteDecorHandleKey< xAOD::EgammaContainer > | m_decoratorIsEM { this, "decoratorIsEM", m_ContainerName, "", "" } |
| |
| SG::WriteDecorHandleKey< xAOD::EgammaContainer > | m_decoratorResult { this, "decoratorResult", m_ContainerName, "", "" } |
| |
| SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer, float > | m_decoratorMultipleOutputs {this, "decoratorMultipleOutputs", m_ContainerName, {}, ""} |
| |
| Gaudi::Property< std::string > | m_cut {this, "CutType", ""} |
| |
| Gaudi::Property< bool > | m_storeTResult {this, "StoreTResult", false} |
| |
| Gaudi::Property< bool > | m_storeMultipleOutputs {this, "StoreMultipleOutputs", false} |
| |
◆ addBranches()
| StatusCode DerivationFramework::EGElectronLikelihoodToolWrapper::addBranches |
( |
const EventContext & |
ctx | ) |
const |
|
finaloverridevirtual |
Definition at line 41 of file EGElectronLikelihoodToolWrapper.cxx.
75 Error(
"addBranches()",
76 "Error applying fudge factors to current photon");
80 "Current object has no valid fudge factors due to out-of-range");
84 "Unknown correction code %d from ElectronPhotonShowerShapeFudgeTool",
87 pCopies.push_back (pCopy);
102 std::unique_ptr<SG::WriteDecorHandle<xAOD::EgammaContainer, float>>
103 decoratorResult =
nullptr;
106 std::make_unique<SG::WriteDecorHandle<xAOD::EgammaContainer, float>>(
109 std::vector<SG::WriteDecorHandle<xAOD::EgammaContainer, float>> decoratorMultipleOutputs{};
117 if (!pCopy) pCopy =
par;
120 const unsigned int isEM =
121 (
unsigned int)theAccept.getCutResultInvertedBitSet()
127 const bool pass_selection = (
bool)theAccept;
128 if (pass_selection) {
129 decoratorPass(*
par) = 1;
131 decoratorPass(*
par) = 0;
133 decoratorIsEM(*
par) = isEM;
134 if (decoratorResult) {
135 (*decoratorResult)(*par) =
136 static_cast<float>(
m_tool->calculate(ctx, pCopy));
141 std::vector<float> toolOutput =
m_tool->calculateMultipleOutputs(ctx, eCopy);
142 for (
size_t i = 0;
i < toolOutput.size();
i++){
143 decoratorMultipleOutputs.at(
i)(*par) = toolOutput.at(
i);
147 if (theAccept.getCutResult(
m_cut)) {
148 decoratorPass(*
par) = 1;
150 decoratorPass(*
par) = 0;
152 decoratorIsEM(*
par) = isEM;
153 if (decoratorResult) {
154 (*decoratorResult)(*par) =
155 static_cast<float>(
m_tool->calculate(ctx, pCopy));
160 std::vector<float> toolOutput =
m_tool->calculateMultipleOutputs(ctx, eCopy);
161 for (
size_t i = 0;
i < toolOutput.size();
i++){
162 decoratorMultipleOutputs.at(
i)(*par) = toolOutput.at(
i);
168 return StatusCode::SUCCESS;
◆ initialize()
| StatusCode DerivationFramework::EGElectronLikelihoodToolWrapper::initialize |
( |
| ) |
|
|
finaloverridevirtual |
◆ m_ContainerName
◆ m_cut
| Gaudi::Property<std::string> DerivationFramework::EGElectronLikelihoodToolWrapper::m_cut {this, "CutType", ""} |
|
private |
◆ m_decoratorIsEM
◆ m_decoratorMultipleOutputs
◆ m_decoratorPass
◆ m_decoratorResult
◆ m_fudgeMCTool
◆ m_storeMultipleOutputs
| Gaudi::Property<bool> DerivationFramework::EGElectronLikelihoodToolWrapper::m_storeMultipleOutputs {this, "StoreMultipleOutputs", false} |
|
private |
◆ m_storeTResult
| Gaudi::Property<bool> DerivationFramework::EGElectronLikelihoodToolWrapper::m_storeTResult {this, "StoreTResult", false} |
|
private |
◆ m_tool
The documentation for this class was generated from the following files: