#include <RecoPixelVertexing/PixelVertexFinding/interface/DivisiveVertexFinder.h>
Public Member Functions | |
DivisiveVertexFinder (double track_pt_min, double track_pt_max, double track_chi2_max, double track_prob_min, double zOffset=5.0, int ntrkMin=5, bool useError=true, double zSeparation=0.05, bool wtAverage=true, int verbosity=0) | |
bool | findVertexes (const reco::TrackRefVector &trks, reco::VertexCollection &vertexes) |
Run the divisive algorithm and return a vector of vertexes for the input track collection. More... | |
bool | findVertexesAlt (const reco::TrackRefVector &trks, reco::VertexCollection &vertexes, const math::XYZPoint &bs) |
~DivisiveVertexFinder () | |
Private Attributes | |
pixeltemp::DivisiveClusterizer1D< reco::Track > | divmeth_ |
We use Wolfgang's templated class that implements the actual divisive method. More... | |
int | ntrkMin_ |
PVClusterComparer * | pvComparer_ |
bool | useError_ |
int | verbose_ |
bool | wtAverage_ |
double | zOffset_ |
Cuts on vertex formation and other options. More... | |
double | zSeparation_ |
Description: Fits a primary vertex in 1D (z) using the "divisive method"
Implementation: This class was ported from ORCA by me (Aaron). It was originally written by ... Find the PV candidates with a simple divisive method. Divide the luminosity region in several regions according to the track distance and for each of them make a PVCluster. Iteratively discard tracks and recover them in a new PVCluster. Return a sorted vector<Vertex> (aka VertexCollection) with the z coordinate of PV candidates
ntkmin | Minimum number of tracks required to form a cluster. |
useError | physical distances or weighted distances. |
zsep | Maximum distance between two adjacent tracks that belong to the same initial cluster. |
wei | Compute the cluster "center" with an unweighted or a weighted average of the tracks. Weighted means weighted with the error of the data point. |
Definition at line 34 of file DivisiveVertexFinder.h.
DivisiveVertexFinder::DivisiveVertexFinder | ( | double | track_pt_min, |
double | track_pt_max, | ||
double | track_chi2_max, | ||
double | track_prob_min, | ||
double | zOffset = 5.0 , |
||
int | ntrkMin = 5 , |
||
bool | useError = true , |
||
double | zSeparation = 0.05 , |
||
bool | wtAverage = true , |
||
int | verbosity = 0 |
||
) |
Definition at line 13 of file DivisiveVertexFinder.cc.
References pvComparer_, HLT_2018_cff::track_chi2_max, HLT_2018_cff::track_prob_min, HLT_2018_cff::track_pt_max, and HLT_2018_cff::track_pt_min.
DivisiveVertexFinder::~DivisiveVertexFinder | ( | ) |
Definition at line 33 of file DivisiveVertexFinder.cc.
bool DivisiveVertexFinder::findVertexes | ( | const reco::TrackRefVector & | trks, |
reco::VertexCollection & | vertexes | ||
) |
Run the divisive algorithm and return a vector of vertexes for the input track collection.
Definition at line 35 of file DivisiveVertexFinder.cc.
References runTheMatrix::err, Measurement1D::error(), mps_fire::i, edm::isNotFinite(), edm::RefVector< C, T, F >::size(), findQualityFiles::v, Measurement1D::value(), jets_cff::vertexes, and wtAverage_.
Referenced by PixelVertexProducer::produce().
bool DivisiveVertexFinder::findVertexesAlt | ( | const reco::TrackRefVector & | trks, |
reco::VertexCollection & | vertexes, | ||
const math::XYZPoint & | bs | ||
) |
Definition at line 60 of file DivisiveVertexFinder.cc.
References cms::cuda::bs, divmeth_, PVValHelper::dz, runTheMatrix::err, mps_fire::i, recoMuon::in, edm::isNotFinite(), MillePedeFileConverter_cfg::out, pvComparer_, pixeltemp::DivisiveClusterizer1D< T >::setBeamSpot(), edm::RefVector< C, T, F >::size(), mathSSE::sqrt(), groupFilesInBlocks::temp, findQualityFiles::v, verbose_, and jets_cff::vertexes.
Referenced by PixelVertexProducer::produce().
|
private |
We use Wolfgang's templated class that implements the actual divisive method.
Definition at line 61 of file DivisiveVertexFinder.h.
Referenced by findVertexesAlt().
|
private |
Definition at line 57 of file DivisiveVertexFinder.h.
|
private |
Definition at line 67 of file DivisiveVertexFinder.h.
Referenced by DivisiveVertexFinder(), and findVertexesAlt().
|
private |
Definition at line 58 of file DivisiveVertexFinder.h.
|
private |
Definition at line 65 of file DivisiveVertexFinder.h.
Referenced by findVertexesAlt().
|
private |
Definition at line 58 of file DivisiveVertexFinder.h.
Referenced by findVertexes().
|
private |
Cuts on vertex formation and other options.
Definition at line 56 of file DivisiveVertexFinder.h.
|
private |
Definition at line 56 of file DivisiveVertexFinder.h.