24 ATH_MSG_ERROR(
"EnergyCorrelatorGeneralizedTool needs to have its input jet container name configured!");
25 return StatusCode::FAILURE;
35 if( std::abs(
m_Beta-1.0) > 1.0
e-5 ) {
38 ATH_MSG_WARNING(
"The Beta property is deprecated, please use the BetaList property to provide a list of values" );
49 float betaFix =
round(
beta * 10.0 ) / 10.0;
50 if( std::abs(
beta-betaFix) > 1.0
e-5 )
ATH_MSG_DEBUG(
"beta = " <<
beta <<
" has been rounded to " << betaFix );
89 return StatusCode::SUCCESS;
106 fastjet::PseudoJet
jet;
107 fastjet::PseudoJet jet_ungroomed;
113 bool calculate_ungroomed =
false;
123 ATH_MSG_ERROR(
"Parent element link is not valid. Aborting" );
124 return StatusCode::FAILURE;
127 const xAOD::Jet* parentJet = *(parentLink);
135 float beta = moment.first;
141 float ECFG_2_1_value = -999.0;
142 float ECFG_3_2_value = -999.0;
145 float ECFG_2_1_ungroomed_value = -999.0;
146 float ECFG_3_1_ungroomed_value = -999.0;
147 float ECFG_3_2_ungroomed_value = -999.0;
150 float ECFG_3_1_value = -999.0;
151 float ECFG_4_1_value = -999.0;
152 float ECFG_4_2_value = -999.0;
166 if( calculate_ungroomed ) {
167 ECFG_2_1_ungroomed_value = ECFG_2_1.
result(jet_ungroomed);
168 ECFG_3_1_ungroomed_value = ECFG_3_1.
result(jet_ungroomed);
169 ECFG_3_2_ungroomed_value = ECFG_3_2.
result(jet_ungroomed);
186 (*moment.second.dec_ECFG_2_1)(*injet) = ECFG_2_1_value;
187 (*moment.second.dec_ECFG_3_1)(*injet) = ECFG_3_1_value;
188 (*moment.second.dec_ECFG_3_2)(*injet) = ECFG_3_2_value;
189 (*moment.second.dec_ECFG_4_1)(*injet) = ECFG_4_1_value;
190 (*moment.second.dec_ECFG_4_2)(*injet) = ECFG_4_2_value;
192 (*moment.second.dec_ECFG_2_1_ungroomed)(*injet) = ECFG_2_1_ungroomed_value;
193 (*moment.second.dec_ECFG_3_1_ungroomed)(*injet) = ECFG_3_1_ungroomed_value;
194 (*moment.second.dec_ECFG_3_2_ungroomed)(*injet) = ECFG_3_2_ungroomed_value;
199 float ECFG_2_1_2_value = -999;
200 float ECFG_3_1_1_value = -999;
201 float ECFG_3_2_1_value = -999;
202 float ECFG_3_2_2_value = -999;
203 float ECFG_3_3_1_value = -999;
204 float ECFG_4_2_2_value = -999;
205 float ECFG_4_4_1_value = -999;
208 float ECFG_3_3_2_value = -999;
226 ECFG_2_1_2_value = (*
m_moments.at(2.0).dec_ECFG_2_1)(*injet);
230 ECFG_2_1_2_value = ECFG_2_1_2.
result(
jet);
235 ECFG_3_1_1_value = (*
m_moments.at(1.0).dec_ECFG_3_1)(*injet);
239 ECFG_3_1_1_value = ECFG_3_1_1.
result(
jet);
243 ECFG_3_2_1_value = (*
m_moments.at(1.0).dec_ECFG_3_2)(*injet);
247 ECFG_3_2_2_value = (*
m_moments.at(2.0).dec_ECFG_3_2)(*injet);
251 ECFG_3_2_2_value = ECFG_3_2_2.
result(
jet);
256 ECFG_3_3_1_value = ECFG_3_3_1.
result(
jet);
260 ECFG_4_2_2_value = (*
m_moments.at(2.0).dec_ECFG_4_2)(*injet);
264 ECFG_4_2_2_value = ECFG_4_2_2.
result(
jet);
269 ECFG_4_4_1_value = ECFG_4_4_1.
result(
jet);
274 ECFG_3_3_2_value = ECFG_3_3_2.
result(
jet);
278 wdh_ECFG_2_1_2(*injet) = ECFG_2_1_2_value;
279 wdh_ECFG_3_1_1(*injet) = ECFG_3_1_1_value;
280 wdh_ECFG_3_2_1(*injet) = ECFG_3_2_1_value;
281 wdh_ECFG_3_2_2(*injet) = ECFG_3_2_2_value;
282 wdh_ECFG_3_3_1(*injet) = ECFG_3_3_1_value;
283 wdh_ECFG_4_2_2(*injet) = ECFG_4_2_2_value;
284 wdh_ECFG_4_4_1(*injet) = ECFG_4_4_1_value;
287 wdh_ECFG_3_3_2(*injet) = ECFG_3_3_2_value;
291 return StatusCode::SUCCESS;