#include <TracksterLinkingbyFastJet.h>
|
void | initialize (const HGCalDDDConstants *hgcons, const hgcal::RecHitTools rhtools, const edm::ESHandle< MagneticField > bfieldH, const edm::ESHandle< Propagator > propH) override |
|
void | linkTracksters (const Inputs &input, std::vector< Trackster > &resultTracksters, std::vector< std::vector< unsigned int >> &linkedResultTracksters, std::vector< std::vector< unsigned int >> &linkedTracksterIdToInputTracksterId) override |
|
| TracksterLinkingbyFastJet (const edm::ParameterSet &conf, edm::ConsumesCollector iC, cms::Ort::ONNXRuntime const *onnxRuntime=nullptr) |
|
| ~TracksterLinkingbyFastJet () override |
|
virtual void | setEvent (edm::Event &iEvent, edm::EventSetup const &iEventSetup) |
|
| TracksterLinkingAlgoBase (const edm::ParameterSet &conf, edm::ConsumesCollector, cms::Ort::ONNXRuntime const *onnxRuntime=nullptr) |
|
virtual | ~TracksterLinkingAlgoBase () |
|
Definition at line 14 of file TracksterLinkingbyFastJet.h.
◆ TracksterLinkingbyFastJet()
◆ ~TracksterLinkingbyFastJet()
ticl::TracksterLinkingbyFastJet::~TracksterLinkingbyFastJet |
( |
| ) |
|
|
inlineoverride |
◆ fillPSetDescription()
Definition at line 50 of file TracksterLinkingbyFastJet.h.
References edm::ParameterSetDescription::add().
51 iDesc.
add<
int>(
"algo_verbosity", 0);
52 iDesc.
add<
int>(
"jet_algorithm", 2)
53 ->setComment(
"FastJet jet clustering algorithm: 0 = kt, 1 = Cambridge/Aachen, 2 = anti-kt");
54 iDesc.
add<
double>(
"radius", 0.1);
ParameterDescriptionBase * add(U const &iLabel, T const &value)
◆ initialize()
◆ linkTracksters()
void TracksterLinkingbyFastJet::linkTracksters |
( |
const Inputs & |
input, |
|
|
std::vector< Trackster > & |
resultTracksters, |
|
|
std::vector< std::vector< unsigned int >> & |
linkedResultTracksters, |
|
|
std::vector< std::vector< unsigned int >> & |
linkedTracksterIdToInputTracksterId |
|
) |
| |
|
overridevirtual |
Implements ticl::TracksterLinkingAlgoBase.
Definition at line 8 of file TracksterLinkingbyFastJet.cc.
References algorithm_, mps_fire::i, input, metsig::jet, PDWG_EXODelayedJetMET_cff::jets, ticl::Trackster::mergeTracksters(), and radius_.
14 std::vector<fastjet::PseudoJet> fjInputs;
15 for (
size_t i = 0;
i <
input.tracksters.size(); ++
i) {
17 fastjet::PseudoJet pj(
input.tracksters[
i].barycenter().x(),
18 input.tracksters[
i].barycenter().y(),
19 input.tracksters[
i].barycenter().z(),
20 input.tracksters[
i].raw_energy());
22 fjInputs.push_back(pj);
26 fastjet::ClusterSequence sequence(fjInputs, fastjet::JetDefinition(
algorithm_,
radius_));
27 auto jets = fastjet::sorted_by_pt(sequence.inclusive_jets(0));
28 linkedTracksterIdToInputTracksterId.resize(
jets.size());
30 for (
unsigned int i = 0;
i <
jets.size(); ++
i) {
33 std::vector<unsigned int> linkedTracksters;
35 if (!
jet.constituents().empty()) {
37 for (
const auto& constituent :
jet.constituents()) {
38 auto tracksterIndex = constituent.user_index();
39 linkedTracksterIdToInputTracksterId[
i].push_back(tracksterIndex);
42 linkedTracksters.push_back(resultTracksters.size());
43 resultTracksters.push_back(outTrackster);
45 linkedResultTracksters.push_back(linkedTracksters);
static std::string const input
void mergeTracksters(const Trackster &other)
fastjet::JetAlgorithm algorithm_
◆ algorithm_
fastjet::JetAlgorithm ticl::TracksterLinkingbyFastJet::algorithm_ |
|
private |
◆ radius_
const float ticl::TracksterLinkingbyFastJet::radius_ |
|
private |