21{
22 vector<fastjet::PseudoJet> constit_pseudojets = jet.constituents();
23 vector<fastjet::PseudoJet> subjets;
24 if(constit_pseudojets.empty()) {
25 cout << "Warning in SubjetFinder: jet has no constituents" << endl;
26 return subjets;
27 }
28
29 fastjet::ClusterSequence *clust_seq = nullptr;
30
32 fastjet::JetDefinition jet_def = fastjet::JetDefinition(fastjet::ee_kt_algorithm);
33 clust_seq = new fastjet::ClusterSequence(constit_pseudojets, jet_def);
35 fastjet::JetDefinition jet_def = fastjet::JetDefinition(
new fastjet::EECambridgePlugin(
m_jetrad));
36 clust_seq = new fastjet::ClusterSequence(constit_pseudojets, jet_def);
37 }else{
38 fastjet::JetDefinition jet_def = fastjet::JetDefinition(
m_fj_jetalg,
m_jetrad, fastjet::E_scheme, fastjet::Best);
39 clust_seq = new fastjet::ClusterSequence(constit_pseudojets, jet_def);
40 }
41
43 subjets = fastjet::sorted_by_pt(clust_seq->inclusive_jets(
m_ptmin));
44 }
45 else {
46 subjets = fastjet::sorted_by_pt(clust_seq->exclusive_jets_up_to(
m_exclusivenjets));
47 }
48
49 if(subjets.empty()) {
50 delete clust_seq;
51 }
52 else {
53 clust_seq->delete_self_when_unused();
54 }
55
56 return subjets;
57}