21 outputCollectionName_(iConfig.getParameter<
std::
string>(
"l1VertexCollectionName")),
26 case Algorithm::fastHisto:
27 edm::LogInfo(
"VertexProducer") <<
"VertexProducer::Finding vertices using the fastHisto binning algorithm";
29 case Algorithm::fastHistoEmulation:
31 <<
"VertexProducer::Finding vertices using the emulation version of the fastHisto binning algorithm";
33 case Algorithm::fastHistoLooseAssociation:
35 <<
"VertexProducer::Finding vertices using the fastHistoLooseAssociation binning algorithm";
37 case Algorithm::GapClustering:
38 edm::LogInfo(
"VertexProducer") <<
"VertexProducer::Finding vertices using a gap clustering algorithm";
40 case Algorithm::agglomerativeHierarchical:
41 edm::LogInfo(
"VertexProducer") <<
"VertexProducer::Finding vertices using a Simple Merge Clustering algorithm";
43 case Algorithm::DBSCAN:
44 edm::LogInfo(
"VertexProducer") <<
"VertexProducer::Finding vertices using a DBSCAN algorithm";
47 edm::LogInfo(
"VertexProducer") <<
"VertexProducer::Finding vertices using a PVR algorithm";
49 case Algorithm::adaptiveVertexReconstruction:
51 <<
"VertexProducer::Finding vertices using an AdaptiveVertexReconstruction algorithm";
54 edm::LogInfo(
"VertexProducer") <<
"VertexProducer::Finding vertices using a Highest Pt Vertex algorithm";
56 case Algorithm::Kmeans:
57 edm::LogInfo(
"VertexProducer") <<
"VertexProducer::Finding vertices using a kmeans algorithm";
59 case Algorithm::NNEmulation:
60 edm::LogInfo(
"VertexProducer") <<
"VertexProducer::Finding vertices using the Neural Network Emulation";
88 std::vector<l1tVertexFinder::L1Track>
l1Tracks;
91 edm::LogInfo(
"VertexProducer") <<
"produce::Processing " << l1TracksHandle->
size() <<
" tracks";
93 for (
const auto&
track : *l1TracksHandle) {
99 edm::LogInfo(
"VertexProducer") <<
"produce::Removing track with too low of a pt (" << l1track.pt() <<
")\n" 100 <<
" word = " << l1track.getTTTrackPtr()->getTrackWord().to_string(2);
106 edm::LogInfo(
"VertexProducer") <<
"produce::Processing " <<
l1Tracks.size() <<
" tracks after minimum pt cut of" 113 case Algorithm::fastHisto: {
118 case Algorithm::fastHistoEmulation:
121 case Algorithm::fastHistoLooseAssociation:
124 case Algorithm::GapClustering:
127 case Algorithm::agglomerativeHierarchical:
130 case Algorithm::DBSCAN:
136 case Algorithm::adaptiveVertexReconstruction:
142 case Algorithm::Kmeans:
145 case Algorithm::NNEmulation:
155 std::unique_ptr<l1t::VertexWordCollection> product_emulation =
159 std::unique_ptr<l1t::VertexCollection> product(
new std::vector<l1t::Vertex>());
161 product->emplace_back(
vtx.vertex());
tensorflow::GraphDef * TrkWGraph_
void fastHistoLooseAssociation()
High pT Vertex Algorithm.
Ptr< typename C::value_type > refToPtr(Ref< C, typename C::value_type, refhelper::FindUsingAdvance< C, typename C::value_type > > const &ref)
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
void GapClustering()
Gap Clustering Algorithm.
GraphDef * loadGraphDef(const std::string &pbFile)
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken
void NNVtxEmulation(tensorflow::Session *TrackWeightSesh=nullptr, tensorflow::Session *PatternRecSesh=nullptr, tensorflow::Session *AssociationSesh=nullptr)
NNVtx algorithm.
tensorflow::Session * TrkWSesh_
void agglomerativeHierarchicalClustering()
Simple Merge Algorithm.
const edm::EDGetTokenT< TTTrackRefCollectionType > l1TracksToken_
const std::string outputCollectionName_
unsigned int debug() const
void adaptiveVertexReconstruction()
Adaptive Vertex Reconstruction algorithm.
void findPrimaryVertex()
Find the primary vertex.
void fastHisto(const TrackerTopology *tTopo)
Histogramming algorithm.
float vx_TrackMinPt() const
const std::vector< RecoVertex<> > & vertices() const
Returns the z positions of the reconstructed primary vertices.
std::string vx_trkw_graph() const
std::string vx_pattrec_graph() const
#define DEFINE_FWK_MODULE(type)
void sortVerticesInPt()
Sort vertices in pT.
VertexProducer(const edm::ParameterSet &)
tensorflow::GraphDef * PattRecGraph_
Session * createSession()
Log< level::Info, false > LogInfo
void PVR()
Find maximum distance in two clusters of tracks.
tensorflow::Session * PattRecSesh_
size_type size() const
Size of the RefVector.
void fastHistoEmulation()
Histogramming algorithm (emulation)
void HPV()
High pT Vertex Algorithm.
void Kmeans()
Kmeans Algorithm.
const l1t::VertexWordCollection & verticesEmulation() const
Returns the emulation primary vertices.
Algorithm vx_algo() const
void DBSCAN()
DBSCAN algorithm.
l1tVertexFinder::AlgoSettings settings_