30 const EventContext& )
const {
37 if (pDiTau ==
nullptr) {
39 return StatusCode::FAILURE;
45 return StatusCode::FAILURE;
54 ATH_MSG_WARNING(
"cluster constituents could not be retrieved from seed jet");
55 return StatusCode::FAILURE;
58 std::vector<PseudoJet> vpjClusters;
60 for (
const auto *cl: vConst) {
62 TLorentzVector temp_p4;
63 temp_p4.SetPtEtaPhiM(cl->pt(), cl->eta(), cl->phi(), cl->m());
64 PseudoJet c( temp_p4.Px(), temp_p4.Py(), temp_p4.Pz(), temp_p4.E());
66 vpjClusters.push_back(c);
72 JetDefinition jd = JetDefinition(antikt_algorithm,
m_Rsubjet);
73 AreaDefinition area_def(active_area_explicit_ghosts,GhostedAreaSpec(SelectorAbsRapMax(
m_maxEta)));
74 ClusterSequenceArea cs(vpjClusters, jd, area_def);
77 std::vector<PseudoJet> vSubjets = sorted_by_pt( cs.inclusive_jets(
m_ptmin) );
78 if (vSubjets.size()<=1) {
79 ATH_MSG_DEBUG(
"Found less than 2 subjets. Reject ditau candidate");
80 return StatusCode::FAILURE;
84 if (this->msgLevel() <= MSG::DEBUG){
85 for (
const auto& subjet: vSubjets) {
86 ATH_MSG_DEBUG(
"pt: " << subjet.pt() <<
" eta: " << subjet.eta() <<
" phi: " << subjet.phi());
90 data->subjets = vSubjets;
94 return StatusCode::SUCCESS;