5 #include "fastjet/tools/Pruner.hh"
14 ReclusterJets::ReclusterJets(
const std::vector<LorentzVector> &
objects,
double ktpower,
double rparam)
15 : ktpower_(ktpower), rparam_(rparam) {
20 fastjet::PseudoJet
j(
o.Px(),
o.Py(),
o.Pz(),
o.E());
37 throw cms::Exception(
"InvalidArgument",
"Unsupported ktpower value");
48 std::vector<math::XYZTLorentzVector> JetObjectsAll;
49 JetObjectsAll.reserve(
jets.size());
50 for (
const fastjet::PseudoJet &pj :
jets) {
51 JetObjectsAll.push_back(
LorentzVector(pj.px(), pj.py(), pj.pz(), pj.e()));
87 throw cms::Exception(
"InvalidArgument",
"getPrunedSubjetExclusive called for non-existing exclusive subjet");
95 throw cms::Exception(
"InvalidArgument",
"getPrunedSubjetInclusive called for non-existing inclusive subjet");
102 fastjet::Pruner pruner(fastjet::cambridge_algorithm,
zcut, rcutFactor);
104 fastjet::PseudoJet pruned_jet = pruner(
jet);
105 return LorentzVector(pruned_jet.px(), pruned_jet.py(), pruned_jet.pz(), pruned_jet.e());