Go to the documentation of this file. 1 #ifndef RecoParticleFlow_PFTracking_PFDisplacedVertexFinder_h
2 #define RecoParticleFlow_PFTracking_PFDisplacedVertexFinder_h
39 typedef reco::PFDisplacedVertexSeedCollection::iterator
IDVS;
40 typedef reco::PFDisplacedVertexCollection::iterator
IDV;
edm::ESHandle< GlobalTrackingGeometry > globTkGeomHandle_
Tracker geometry for discerning hit positions.
std::pair< float, float > getTransvLongDiff(const GlobalPoint &, const GlobalPoint &) const
void setEdmParameters(const MagneticField *magField, edm::ESHandle< GlobalTrackingGeometry > globTkGeomHandle, const TrackerTopology *tkerTopo, const TrackerGeometry *tkerGeom)
Sets parameters for track extrapolation and hits study.
reco::PFDisplacedVertex::VertexTrackType getVertexTrackType(PFTrackHitFullInfo &) const
std::unique_ptr< reco::PFDisplacedVertexCollection > transferDisplacedVertices()
PFDisplacedVertexHelper helper_
reco::PFDisplacedVertexSeedCollection::iterator IDVS
-----— Useful Types -----— ///
const std::unique_ptr< reco::PFDisplacedVertexCollection > & displacedVertices() const
Displaced Vertex Finder Algorithm.
void setVertexIdentifier(const edm::ParameterSet &ps)
Set Vertex identifier parameters.
void setTracksSelector(const edm::ParameterSet &ps)
Set Tracks selector parameters.
void setPrimaryVertex(edm::Handle< reco::VertexCollection > mainVertexHandle, edm::Handle< reco::BeamSpot > beamSpotHandle)
Update the primary vertex information.
const TrackerTopology * tkerTopo_
doc?
bool debug_
If true, debug printouts activated.
bool isCloseTo(const reco::PFDisplacedVertexSeed &, const reco::PFDisplacedVertexSeed &) const
-----— Tools -----— ///
bool fitVertexFromSeed(const reco::PFDisplacedVertexSeed &, reco::PFDisplacedVertex &)
Fit one by one the vertex points with associated tracks to get displaced vertices.
void findDisplacedVertices()
-----— Main function which find vertices -----— ///
bool rejectAndLabelVertex(reco::PFDisplacedVertex &dv)
std::unique_ptr< reco::PFDisplacedVertexCollection > displacedVertices_
std::vector< PFDisplacedVertex > PFDisplacedVertexCollection
collection of PFDisplacedVertex objects
reco::PFDisplacedVertexCandidateCollection const * displacedVertexCandidates_
-----— Members -----— ///
~PFDisplacedVertexFinder()
bool switchOff2TrackVertex_
friend std::ostream & operator<<(std::ostream &, const PFDisplacedVertexFinder &)
std::pair< PFTrackHitInfo, PFTrackHitInfo > PFTrackHitFullInfo
std::vector< PFDisplacedVertexSeed > PFDisplacedVertexSeedCollection
collection of PFDisplacedVertexSeed objects
void findSeedsFromCandidate(const reco::PFDisplacedVertexCandidate &, reco::PFDisplacedVertexSeedCollection &)
-----— Different steps of the finder algorithm -----— ///
const MagneticField * magField_
to be able to extrapolate tracks f
PFDisplacedVertexFinder()
void mergeSeeds(reco::PFDisplacedVertexSeedCollection &, std::vector< bool > &bLocked)
Sometimes two vertex candidates can be quite close and coming from the same vertex.
void setDebug(bool debug)
Sets debug printout flag.
reco::PFDisplacedVertexCollection::iterator IDV
void setTracksSelector(const edm::ParameterSet &ps)
void setAVFParameters(const edm::ParameterSet &ps)
unsigned commonTracks(const reco::PFDisplacedVertex &, const reco::PFDisplacedVertex &) const
void selectAndLabelVertices(reco::PFDisplacedVertexCollection &, std::vector< bool > &)
Remove potentially fakes displaced vertices.
const TrackerGeometry * tkerGeom_
void setPrimaryVertex(edm::Handle< reco::VertexCollection > mainVertexHandle, edm::Handle< reco::BeamSpot > beamSpotHandle)
T getParameter(std::string const &) const
void setInput(const edm::Handle< reco::PFDisplacedVertexCandidateCollection > &)
Set input collections of tracks.
float transvSize_
-----— Parameters -----— ///
void setVertexIdentifier(const edm::ParameterSet &ps)
double sigmacut_
Adaptive Vertex Fitter parameters.
void setParameters(double transvSize, double longSize, double primaryVertexCut, double tobCut, double tecCut, double minAdaptWeight, bool switchOff2TrackVertex)
-----— Set different algo parameters -----— ///
A block of tracks linked together.
std::pair< unsigned int, unsigned int > PFTrackHitInfo
PFCheckHitPattern hitPattern_
std::vector< PFDisplacedVertexCandidate > PFDisplacedVertexCandidateCollection
collection of PFDisplacedVertexCandidate objects