20 std::vector<float> s_e;
21 std::vector<float> s_px;
22 std::vector<float> s_py;
23 std::vector<float> s_pz;
26 fastjet::PseudoJet pjet = fastjet::join(constit_pseudojets);
28 fastjet::JetAlgorithm jetalg = fastjet::antikt_algorithm;
30 jetalg = fastjet::antikt_algorithm;
31 }
else if (
m_type ==
"Kt") {
32 jetalg = fastjet::kt_algorithm;
33 }
else if (
m_type ==
"CamKt") {
34 jetalg = fastjet::cambridge_algorithm;
37 fastjet::JetDefinition microjet_def(jetalg,
m_R);
38 fastjet::ClusterSequence microjet_cs(pjet.constituents(), microjet_def);
39 std::vector<fastjet::PseudoJet> microjets = fastjet::sorted_by_pt(microjet_cs.inclusive_jets(
m_minPt));
40 for (
size_t z = 0;
z < microjets.size(); ++
z) {
41 s_e.push_back(microjets[
z].e());
42 s_px.push_back(microjets[
z].px());
43 s_py.push_back(microjets[
z].py());
44 s_pz.push_back(microjets[
z].pz());
49 ss <<
"Subjet" <<
m_type << (int) (
m_R*100) <<
"_e";
50 jet.setAttribute(
ss.str().c_str(), s_e);
52 ss <<
"Subjet" <<
m_type << (int) (
m_R*100) <<
"_px";
53 jet.setAttribute(
ss.str().c_str(), s_px);
55 ss <<
"Subjet" <<
m_type << (int) (
m_R*100) <<
"_py";
56 jet.setAttribute(
ss.str().c_str(), s_py);
58 ss <<
"Subjet" <<
m_type << (int) (
m_R*100) <<
"_pz";
59 jet.setAttribute(
ss.str().c_str(), s_pz);
static PseudoJetVector constituentPseudoJets(const xAOD::Jet &jet, bool ignoreGhosts=true, bool requireJetStructure=false)
Returns the jet's constituents as a vector of PseudoJet if ignoreGhosts==true, ghost constituents are...