20 const std::string& name,
21 const IInterface* parent)
22 : base_class(
type, name, parent )
136 return StatusCode::SUCCESS;
144 std::vector<JetData>& jetData
150 if( !jets.isValid() ){
152 ATH_MSG_WARNING(
"evtStore() does not contain the L1 jet collection with name "
154 return StatusCode::SUCCESS;
158 for(
const auto jet : *jets){
169 jetData.emplace_back(
et(
jet)*0.001,
175 return StatusCode::SUCCESS;
184 std::vector<JetMatchData>& jetMatchData
188 return StatusCode::SUCCESS;
191 std::unique_ptr<SG::ReadDecorHandle<JetContainer, char>> matchedHandle;
192 std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> ptdiffHandle;
193 std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> energydiffHandle;
194 std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> massdiffHandle;
195 std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> ptrespHandle;
196 std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> energyrespHandle;
197 std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> massrespHandle;
198 std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> ptrefHandle;
199 std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> etarefHandle;
224 return StatusCode::FAILURE;
227 ATH_CHECK((*matchedHandle).initialize());
229 ATH_CHECK((*energydiffHandle).initialize());
230 ATH_CHECK((*massdiffHandle).initialize());
232 ATH_CHECK((*energyrespHandle).initialize());
233 ATH_CHECK((*massrespHandle).initialize());
245 ATH_MSG_WARNING(
"evtStore() does not contain the L1 jet collection with name "
247 return StatusCode::SUCCESS;
250 for(
const auto jet : *jets){
251 bool matched = (*matchedHandle)(*jet);
254 jetMatchData.emplace_back((*ptdiffHandle)(*
jet),
255 (*energydiffHandle)(*
jet),
256 (*massdiffHandle)(*
jet),
257 (*ptrespHandle)(*
jet),
258 (*energyrespHandle)(*
jet),
259 (*massrespHandle)(*
jet),
260 (*ptrefHandle)(*
jet),
261 (*etarefHandle)(*
jet));
265 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
std::string et_label(const xAOD::jFexSRJetRoI *)
float et(const xAOD::jFexSRJetRoI *j)
bool vetoJet(const xAOD::jFexSRJetRoI *j)
Handle class for reading a decoration on an object.