#include <PFDisplacedVertexFinder.h>
Public Types | |
enum | FitterType { F_NOTDEFINED, F_DONOTREFIT, F_KALMAN, F_ADAPTIVE } |
Fitter Type. More... | |
typedef reco::PFDisplacedVertexCollection::iterator | IDV |
typedef reco::PFDisplacedVertexCandidateCollection::iterator | IDVC |
typedef reco::PFDisplacedVertexSeedCollection::iterator | IDVS |
typedef std::set < reco::TrackBaseRef > ::iterator | IEset |
-----— Useful Types -----— /// More... | |
typedef std::pair < PFTrackHitInfo, PFTrackHitInfo > | PFTrackHitFullInfo |
typedef std::pair< unsigned int, unsigned int > | PFTrackHitInfo |
Public Member Functions | |
const std::auto_ptr < reco::PFDisplacedVertexCollection > & | displacedVertices () const |
void | findDisplacedVertices () |
-----— Main function which find vertices -----— /// More... | |
PFDisplacedVertexFinder () | |
void | setAVFParameters (const edm::ParameterSet &ps) |
void | setDebug (bool debug) |
Sets debug printout flag. More... | |
void | setEdmParameters (const MagneticField *magField, edm::ESHandle< GlobalTrackingGeometry > globTkGeomHandle, edm::ESHandle< TrackerGeometry > tkerGeomHandle) |
Sets parameters for track extrapolation and hits study. More... | |
void | setInput (const edm::Handle< reco::PFDisplacedVertexCandidateCollection > &) |
Set input collections of tracks. More... | |
void | setParameters (double transvSize, double longSize, double primaryVertexCut, double tobCut, double tecCut, double minAdaptWeight, bool switchOff2TrackVertex) |
--—— Set different algo parameters --—— /// More... | |
void | setPrimaryVertex (edm::Handle< reco::VertexCollection > mainVertexHandle, edm::Handle< reco::BeamSpot > beamSpotHandle) |
void | setTracksSelector (const edm::ParameterSet &ps) |
void | setVertexIdentifier (const edm::ParameterSet &ps) |
std::auto_ptr < reco::PFDisplacedVertexCollection > | transferDisplacedVertices () |
~PFDisplacedVertexFinder () | |
Private Attributes | |
bool | debug_ |
If true, debug printouts activated. More... | |
std::auto_ptr < reco::PFDisplacedVertexCandidateCollection > | displacedVertexCandidates_ |
-----— Members -----— /// More... | |
std::auto_ptr < reco::PFDisplacedVertexCollection > | displacedVertices_ |
edm::ESHandle < GlobalTrackingGeometry > | globTkGeomHandle_ |
Tracker geometry for discerning hit positions. More... | |
PFDisplacedVertexHelper | helper_ |
PFCheckHitPattern | hitPattern_ |
double | longSize_ |
const MagneticField * | magField_ |
to be able to extrapolate tracks f More... | |
double | minAdaptWeight_ |
double | primaryVertexCut_ |
double | ratio_ |
double | sigmacut_ |
Adaptive Vertex Fitter parameters. More... | |
bool | switchOff2TrackVertex_ |
double | t_ini_ |
double | tecCut_ |
edm::ESHandle< TrackerGeometry > | tkerGeomHandle_ |
doc? More... | |
double | tobCut_ |
double | transvSize_ |
--—— Parameters --—— /// More... | |
Friends | |
std::ostream & | operator<< (std::ostream &, const PFDisplacedVertexFinder &) |
Definition at line 32 of file PFDisplacedVertexFinder.h.
typedef reco::PFDisplacedVertexCollection::iterator PFDisplacedVertexFinder::IDV |
Definition at line 45 of file PFDisplacedVertexFinder.h.
typedef reco::PFDisplacedVertexCandidateCollection::iterator PFDisplacedVertexFinder::IDVC |
Definition at line 43 of file PFDisplacedVertexFinder.h.
typedef reco::PFDisplacedVertexSeedCollection::iterator PFDisplacedVertexFinder::IDVS |
Definition at line 44 of file PFDisplacedVertexFinder.h.
typedef std::set< reco::TrackBaseRef >::iterator PFDisplacedVertexFinder::IEset |
-----— Useful Types -----— ///
Definition at line 42 of file PFDisplacedVertexFinder.h.
typedef std::pair<PFTrackHitInfo, PFTrackHitInfo> PFDisplacedVertexFinder::PFTrackHitFullInfo |
Definition at line 48 of file PFDisplacedVertexFinder.h.
typedef std::pair<unsigned int, unsigned int> PFDisplacedVertexFinder::PFTrackHitInfo |
Definition at line 47 of file PFDisplacedVertexFinder.h.
Fitter Type.
Enumerator | |
---|---|
F_NOTDEFINED | |
F_DONOTREFIT | |
F_KALMAN | |
F_ADAPTIVE |
Definition at line 51 of file PFDisplacedVertexFinder.h.
PFDisplacedVertexFinder::PFDisplacedVertexFinder | ( | ) |
Definition at line 28 of file PFDisplacedVertexFinder.cc.
PFDisplacedVertexFinder::~PFDisplacedVertexFinder | ( | ) |
Definition at line 40 of file PFDisplacedVertexFinder.cc.
|
private |
Definition at line 768 of file PFDisplacedVertexFinder.cc.
References edm::RefToBase< T >::key(), reco::Vertex::originalTrack(), and reco::Vertex::refittedTracks().
Referenced by selectAndLabelVertices().
|
inline |
Definition at line 112 of file PFDisplacedVertexFinder.h.
References displacedVertices_.
Referenced by operator<<().
void PFDisplacedVertexFinder::findDisplacedVertices | ( | ) |
-----— Main function which find vertices -----— ///
Definition at line 66 of file PFDisplacedVertexFinder.cc.
References gather_cfg::cout, debug_, displacedVertexCandidates_, displacedVertices_, findSeedsFromCandidate(), fitVertexFromSeed(), i, mergeSeeds(), and selectAndLabelVertices().
|
private |
--—— Different steps of the finder algorithm --—— ///
Analyse a vertex candidate and select potential vertex point(s)
Definition at line 148 of file PFDisplacedVertexFinder.cc.
References gather_cfg::cout, reco::PFDisplacedVertexCandidate::dcaPoint(), debug_, getLongDiff(), getTransvDiff(), longSize_, reco::PFDisplacedVertexCandidate::r2Map(), mathSSE::sqrt(), transvSize_, reco::PFDisplacedVertexCandidate::tref(), and PV3DBase< T, PVType, FrameType >::x().
Referenced by findDisplacedVertices().
|
private |
Fit one by one the vertex points with associated tracks to get displaced vertices.
This prefit procedure allow to reduce the Warning rate from Adaptive Vertex fitter It reject also many fake tracks
Definition at line 236 of file PFDisplacedVertexFinder.cc.
References reco::PFDisplacedVertex::addElement(), PFCheckHitPattern::analyze(), reco::PFDisplacedVertex::calcKinematics(), reco::Vertex::chi2(), HLT_FULL_cff::chi2, gather_cfg::cout, debug_, reco::PFDisplacedVertexSeed::Dump(), reco::PFDisplacedVertexSeed::elements(), cppFunctionSkipper::exception, F_ADAPTIVE, F_DONOTREFIT, F_KALMAN, F_NOTDEFINED, getVertexTrackType(), globTkGeomHandle_, helper_, PFTrackAlgoTools::highQuality(), hitPattern_, i, PFDisplacedVertexHelper::isTrackSelected(), TransientVertex::isValid(), magField_, minAdaptWeight_, reco::Vertex::ndof(), PFTrackAlgoTools::nonIterative(), listBenchmarks::pattern, reco::Vertex::position(), TransientVertex::position(), PFDisplacedVertexHelper::primaryVertex(), primaryVertexCut_, ratio_, TransientVertex::refittedTrack(), reco::Vertex::removeTracks(), rho, reco::PFDisplacedVertexSeed::seedPoint(), reco::PFDisplacedVertex::setPrimaryDirection(), sigmacut_, mathSSE::sqrt(), PFTrackAlgoTools::step45(), switchOff2TrackVertex_, t_ini_, tecCut_, tkerGeomHandle_, tobCut_, TransientVertex::totalChiSquared(), reco::TransientTrack::track(), TransientVertex::trackWeight(), KalmanVertexFitter::vertex(), AdaptiveVertexFitter::vertex(), puppiForMET_cff::weight, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by findDisplacedVertices().
|
private |
Definition at line 715 of file PFDisplacedVertexFinder.cc.
References Basic3DVector< T >::dot(), Basic3DVector< T >::mag(), and Basic3DVector< T >::mag2().
Referenced by findSeedsFromCandidate(), and isCloseTo().
|
private |
Definition at line 724 of file PFDisplacedVertexFinder.cc.
References Basic3DVector< T >::dot(), and Basic3DVector< T >::mag().
|
private |
Definition at line 735 of file PFDisplacedVertexFinder.cc.
References Basic3DVector< T >::cross(), and Basic3DVector< T >::mag().
Referenced by findSeedsFromCandidate(), and isCloseTo().
|
private |
Definition at line 745 of file PFDisplacedVertexFinder.cc.
Referenced by fitVertexFromSeed().
|
private |
-----— Tools -----— ///
Definition at line 698 of file PFDisplacedVertexFinder.cc.
References getLongDiff(), getTransvDiff(), longSize_, reco::PFDisplacedVertexSeed::seedPoint(), and transvSize_.
Referenced by mergeSeeds().
|
private |
Sometimes two vertex candidates can be quite close and coming from the same vertex.
Definition at line 205 of file PFDisplacedVertexFinder.cc.
References gather_cfg::cout, debug_, and isCloseTo().
Referenced by findDisplacedVertices().
|
private |
Definition at line 685 of file PFDisplacedVertexFinder.cc.
References helper_, PFDisplacedVertexHelper::identifyVertex(), reco::PFDisplacedVertex::isFake(), and reco::PFDisplacedVertex::setVertexType().
Referenced by selectAndLabelVertices().
|
private |
Remove potentially fakes displaced vertices.
Definition at line 592 of file PFDisplacedVertexFinder.cc.
References commonTracks(), gather_cfg::cout, debug_, primaryVertexCut_, rejectAndLabelVertex(), rho, tecCut_, tobCut_, and z.
Referenced by findDisplacedVertices().
|
inline |
Definition at line 99 of file PFDisplacedVertexFinder.h.
References edm::ParameterSet::getParameter(), ratio_, sigmacut_, and t_ini_.
|
inline |
Sets debug printout flag.
Definition at line 75 of file PFDisplacedVertexFinder.h.
|
inline |
Sets parameters for track extrapolation and hits study.
Definition at line 78 of file PFDisplacedVertexFinder.h.
References globTkGeomHandle_, magField_, and tkerGeomHandle_.
void PFDisplacedVertexFinder::setInput | ( | const edm::Handle< reco::PFDisplacedVertexCandidateCollection > & | displacedVertexCandidates | ) |
Set input collections of tracks.
Definition at line 43 of file PFDisplacedVertexFinder.cc.
References displacedVertexCandidates_, i, and edm::HandleBase::isValid().
|
inline |
--—— Set different algo parameters --—— ///
Sets algo parameters for the vertex finder
Definition at line 62 of file PFDisplacedVertexFinder.h.
References longSize_, minAdaptWeight_, primaryVertexCut_, switchOff2TrackVertex_, tecCut_, tobCut_, and transvSize_.
|
inline |
Definition at line 94 of file PFDisplacedVertexFinder.h.
References helper_, and PFDisplacedVertexHelper::setPrimaryVertex().
|
inline |
Definition at line 86 of file PFDisplacedVertexFinder.h.
References helper_, and PFDisplacedVertexHelper::setTracksSelector().
|
inline |
Definition at line 90 of file PFDisplacedVertexFinder.h.
References helper_, and PFDisplacedVertexHelper::setVertexIdentifier().
|
inline |
Definition at line 110 of file PFDisplacedVertexFinder.h.
References displacedVertices_.
|
friend |
Definition at line 787 of file PFDisplacedVertexFinder.cc.
|
private |
If true, debug printouts activated.
Definition at line 180 of file PFDisplacedVertexFinder.h.
Referenced by findDisplacedVertices(), findSeedsFromCandidate(), fitVertexFromSeed(), mergeSeeds(), selectAndLabelVertices(), and setDebug().
|
private |
-----— Members -----— ///
Definition at line 156 of file PFDisplacedVertexFinder.h.
Referenced by findDisplacedVertices(), and setInput().
|
private |
Definition at line 157 of file PFDisplacedVertexFinder.h.
Referenced by displacedVertices(), findDisplacedVertices(), and transferDisplacedVertices().
|
private |
Tracker geometry for discerning hit positions.
Definition at line 183 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), and setEdmParameters().
|
private |
Definition at line 194 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), operator<<(), rejectAndLabelVertex(), setPrimaryVertex(), setTracksSelector(), and setVertexIdentifier().
|
private |
Definition at line 192 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed().
|
private |
Definition at line 164 of file PFDisplacedVertexFinder.h.
Referenced by findSeedsFromCandidate(), isCloseTo(), and setParameters().
|
private |
to be able to extrapolate tracks f
Definition at line 189 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), and setEdmParameters().
|
private |
Definition at line 168 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), and setParameters().
|
private |
Definition at line 165 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), selectAndLabelVertices(), and setParameters().
|
private |
Definition at line 176 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), operator<<(), and setAVFParameters().
|
private |
Adaptive Vertex Fitter parameters.
Definition at line 174 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), operator<<(), and setAVFParameters().
|
private |
Definition at line 170 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), and setParameters().
|
private |
Definition at line 175 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), operator<<(), and setAVFParameters().
|
private |
Definition at line 167 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), selectAndLabelVertices(), and setParameters().
|
private |
doc?
Definition at line 186 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), and setEdmParameters().
|
private |
Definition at line 166 of file PFDisplacedVertexFinder.h.
Referenced by fitVertexFromSeed(), selectAndLabelVertices(), and setParameters().
|
private |
--—— Parameters --—— ///
Algo parameters for the vertex finder
Definition at line 163 of file PFDisplacedVertexFinder.h.
Referenced by findSeedsFromCandidate(), isCloseTo(), and setParameters().