38 return StatusCode::SUCCESS;
50 CHECK(h_outputJets.
record(std::make_unique<xAOD::JetContainer>(),
51 std::make_unique<xAOD::JetAuxContainer>()));
55 CHECK(h_caloClusters.isValid());
56 ATH_MSG_DEBUG(
"Read in " << h_caloClusters->size() <<
" clusters");
58 const auto&
clusters = *h_caloClusters;
62 std::vector<Gep::Cluster> gepClusters;
65 std::back_inserter(gepClusters),
66 [](
const auto& cluster){
67 return Gep::Cluster(cluster->p4());});
72 std::unique_ptr<Gep::IJetMaker> jetMaker{};
83 CHECK(h_seeds.isValid());
89 auto WTAConeJetMaker = std::make_unique<Gep::WTAConeJetMaker>();
93 WTAConeJetMaker->m_GEPWTAParameters.SetJet_dR2(
m_WTAJet_dR2);
94 WTAConeJetMaker->m_GEPWTAParameters.SetIso_dR2(
m_WTAJet_dR2);
99 WTAConeJetMaker->SetSeedCleaningAlgo(0);
102 jetMaker = std::move(WTAConeJetMaker);
106 return StatusCode::FAILURE;
111 std::vector<Gep::Jet> gepJets = jetMaker->makeJets( gepClusters );
117 if( gepJets.empty() ){
118 return StatusCode::SUCCESS;
122 for(
const auto& gjet: gepJets){
124 std::unique_ptr<xAOD::Jet> xAODJet{
new xAOD::Jet()};
130 h_outputJets->
push_back(std::move(xAODJet));
133 p4.SetPt(gjet.vec.Pt());
134 p4.SetEta(gjet.vec.Eta());
135 p4.SetPhi(gjet.vec.Phi());
136 p4.SetM(gjet.vec.M());
145 for (
const auto&
i: gjet.constituentsIndices) {
151 return StatusCode::SUCCESS;