37{
38
40
41
42 SG::WriteDecorHandle<xAOD::EgammaContainer, char> decoratorPass{
44 };
45 SG::WriteDecorHandle<xAOD::EgammaContainer, unsigned int> decoratorIsEM{
47 };
48
49
50
51
52
53
54
55
56
62
70 } else {
74 pCopy = ph;
75 }
77
79 Warning(
80 "addBranches()",
81 "Current photon has no valid fudge factors due to out-of-range");
82 } else {
83 Warning(
84 "addBranches()",
85 "Unknown correction code %d from ElectronPhotonShowerShapeFudgeTool",
86 (int)correctionCode);
87 }
88 pCopies.push_back (pCopy);
89 }
90 }
91 else {
93 }
94
95
98 if (!pCopy) pCopy =
par;
99
100
101 asg::AcceptData theAccept(
m_tool->accept(ctx, pCopy));
102 unsigned int isEM = (
unsigned int)theAccept.getCutResultInvertedBitSet()
103 .to_ulong();
104
105
106
108 bool pass_selection = (
bool)theAccept;
109 if (pass_selection) {
110 decoratorPass(*par) = 1;
111 } else {
112 decoratorPass(*par) = 0;
113 }
114 decoratorIsEM(*par) = isEM;
115 } else {
116 if (theAccept.getCutResult(
m_cut)) {
117 decoratorPass(*par) = 1;
118 } else {
119 decoratorPass(*par) = 0;
120 }
121 decoratorIsEM(*par) = isEM;
122 }
123 }
124
125 return StatusCode::SUCCESS;
126}
@ OutOfValidityRange
Input object is out of validity range.
@ Ok
The correction was done successfully.
@ NEVER_TRACK_INDICES
Never track indices, regardless of the setting of the ownership policy.
@ OWN_ELEMENTS
this data object owns its elements
ObjectType
Type of objects that have a representation in the xAOD EDM.
@ Electron
The object is an electron.
Egamma_v1 Egamma
Definition of the current "egamma version".
Photon_v1 Photon
Definition of the current "egamma version".
setBGCode setTAP setLVL2ErrorBits bool
EgammaContainer_v1 EgammaContainer
Definition of the current "egamma container version".
Electron_v1 Electron
Definition of the current "egamma version".