1 #ifndef __L1Trigger_VertexFinder_VertexFinder_h__
2 #define __L1Trigger_VertexFinder_VertexFinder_h__
16 namespace l1tVertexFinder {
56 edm::LogWarning(
"VertexFinder") <<
"PrimaryVertex::No Primary Vertex has been found.";
92 return (vertex0.
pt() > vertex1.pt());
98 return (vertex0.
z0() < vertex1.z0());
106 template <
typename ForwardIterator,
typename T>
108 while (first != last) {
124 const std::vector<float>& bin_centers,
125 const std::vector<unsigned int>&
counts);
bool operator()(const L1Track track0, const L1Track track1)
RecoVertex primaryVertex() const
Reconstructed Primary Vertex.
FitTrackCollection fitTracks_
void fastHistoLooseAssociation()
High pT Vertex Algorithm.
const std::vector< RecoVertex<> > & vertices() const
Returns the z positions of the reconstructed primary vertices.
float maxDistance(RecoVertex<> cluster0, RecoVertex<> cluster1)
Find maximum distance in two clusters of tracks.
void GapClustering()
Gap Clustering Algorithm.
float CentralDistance(RecoVertex<> cluster0, RecoVertex<> cluster1)
Find distance between centres of two clusters.
float meanDistance(RecoVertex<> cluster0, RecoVertex<> cluster1)
Find average distance in two clusters of tracks.
bool operator()(const L1Track track0, const L1Track track1)
unsigned int numInputTracks() const
Storage for tracks out of the L1 Track finder.
void FastHistoLooseAssociation()
TDR histogramming algorithmn.
void AdaptiveVertexReconstruction()
Vertexing algorithms.
std::vector< L1Track > FitTrackCollection
float centralDistance(RecoVertex<> cluster0, RecoVertex<> cluster1)
Find distance between centres of two clusters.
unsigned int numVertices() const
Number of reconstructed vertices.
void FastHisto(const TrackerTopology *tTopo)
Histogramming algorithm.
void SortVerticesInZ0()
Sort vertices in z.
void agglomerativeHierarchicalClustering()
Simple Merge Algorithm.
unsigned int numMatchedVertices_
void adaptiveVertexReconstruction()
Adaptive Vertex Reconstruction algorithm.
void findPrimaryVertex()
Find the primary vertex.
unsigned int primaryVertexId() const
Reconstructed Primary Vertex Id.
void fastHisto(const TrackerTopology *tTopo)
Histogramming algorithm.
void AgglomerativeHierarchicalClustering()
Simple Merge Algorithm.
unsigned int numIterations() const
Number of iterations.
Simple wrapper class for TTTrack.
Abs< T >::type abs(const T &t)
VertexFinder(FitTrackCollection &fitTracks, const AlgoSettings &settings)
Constructor and destructor.
const FitTrackCollection & fitTracks() const
Storage for tracks out of the L1 Track finder.
double z0() const
Vertex z0 position [cm].
double pt() const
Sum of fitted tracks transverse momentum [GeV].
float minDistance(RecoVertex<> cluster0, RecoVertex<> cluster1)
Find minimum distance in two clusters of tracks.
float MeanDistance(RecoVertex<> cluster0, RecoVertex<> cluster1)
Find average distance in two clusters of tracks.
unsigned int NumIterations() const
Number of iterations.
void PVR()
Principal Vertex Reconstructor algorithm.
void strided_iota(ForwardIterator first, ForwardIterator last, T value, T stride)
const AlgoSettings * settings_
void SortVerticesInPt()
Sort vertices in pT.
void HPV()
High pT Vertex Algorithm.
std::vector< RecoVertex<> > RecoVertexCollection
std::vector< RecoVertex<> > vertices_
unsigned int iterationsPerTrack() const
Number of iterations.
void Kmeans()
Kmeans Algorithm.
void associatePrimaryVertex(double trueZ0)
Associate the primary vertex with the real one.
Log< level::Warning, false > LogWarning
void DBSCAN()
DBSCAN algorithm.
float MaxDistance(RecoVertex<> cluster0, RecoVertex<> cluster1)
Find maximum distance in two clusters of tracks.
void computeAndSetVertexParameters(RecoVertex<> &vertex, const std::vector< float > &bin_centers, const std::vector< unsigned int > &counts)
Compute the vertex parameters.
unsigned int IterationsPerTrack() const
Accessors.
float MinDistance(RecoVertex<> cluster0, RecoVertex<> cluster1)
Find minimum distance in two clusters of tracks.