#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 EventContext & |
ctx | ) |
const |
|
finaloverridevirtual |
Definition at line 77 of file EGElectronLikelihoodToolWrapper.cxx.
111 Error(
"addBranches()",
112 "Error applying fudge factors to current photon");
116 "Current object has no valid fudge factors due to out-of-range");
120 "Unknown correction code %d from ElectronPhotonShowerShapeFudgeTool",
121 (
int)correctionCode);
123 pCopies.push_back (pCopy);
138 std::unique_ptr<SG::WriteDecorHandle<xAOD::EgammaContainer, float>>
139 decoratorResult =
nullptr;
142 std::make_unique<SG::WriteDecorHandle<xAOD::EgammaContainer, float>>(
151 if (!pCopy) pCopy =
par;
154 const unsigned int isEM =
155 (
unsigned int)theAccept.getCutResultInvertedBitSet()
161 const bool pass_selection = (
bool)theAccept;
162 if (pass_selection) {
163 decoratorPass(*
par) = 1;
165 decoratorPass(*
par) = 0;
167 decoratorIsEM(*
par) = isEM;
168 if (decoratorResult) {
169 (*decoratorResult)(*par) =
170 static_cast<float>(
m_tool->calculate(ctx, pCopy));
175 std::vector<float> toolOutput =
m_tool->calculateMultipleOutputs(ctx, eCopy);
176 for (
size_t i = 0;
i < toolOutput.size();
i++){
177 decoratorMultipleOutputs.at(
i)(*par) = toolOutput.at(
i);
181 if (theAccept.getCutResult(
m_cut)) {
182 decoratorPass(*
par) = 1;
184 decoratorPass(*
par) = 0;
186 decoratorIsEM(*
par) = isEM;
187 if (decoratorResult) {
190 (*decoratorResult)(*par) =
191 static_cast<float>(
m_tool->calculate(ctx, pCopy));
196 std::vector<float> toolOutput =
m_tool->calculateMultipleOutputs(ctx, eCopy);
197 for (
size_t i = 0;
i < toolOutput.size();
i++){
198 decoratorMultipleOutputs.at(
i)(*par) = toolOutput.at(
i);
204 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: