#include <PFDisplacedVertexCandidateFinder.h>
Public Types | |
typedef reco::PFDisplacedVertexCandidateCollection::const_iterator | IBC |
typedef std::list < reco::TrackBaseRef > ::iterator | IE |
typedef std::list < reco::TrackBaseRef > ::const_iterator | IEC |
typedef std::vector< bool > | Mask |
Mask used to spot if a track is free or not. More... | |
Public Member Functions | |
void | findDisplacedVertexCandidates () |
-----— Main function which find vertices -----— /// More... | |
PFDisplacedVertexCandidateFinder () | |
void | setDebug (bool debug) |
sets debug printout flag More... | |
void | setInput (const edm::Handle< reco::TrackCollection > &trackh, const MagneticField *magField) |
void | setParameters (double dcaCut, double primaryVertexCut, double dcaPInnerHitCut, const edm::ParameterSet &ps_trk) |
---—— Set different algo parameters —— /// More... | |
std::auto_ptr < reco::PFDisplacedVertexCandidateCollection > | transferVertexCandidates () |
const std::auto_ptr < reco::PFDisplacedVertexCandidateCollection > & | vertexCandidates () const |
~PFDisplacedVertexCandidateFinder () | |
Private Member Functions | |
IE | associate (IE next, IE last, reco::PFDisplacedVertexCandidate &tempVertexCandidate) |
--—— Different steps of the finder algorithm --—— /// More... | |
GlobalTrajectoryParameters | getGlobalTrajectoryParameters (const reco::Track *) const |
--—— TOOLS --—— // More... | |
bool | goodPtResolution (const reco::TrackBaseRef &trackref) const |
Quality Criterion on the Pt resolution to select a Track. More... | |
bool | isSelected (const reco::TrackBaseRef &trackref) |
void | link (const reco::TrackBaseRef &el1, const reco::TrackBaseRef &el2, double &dist, GlobalPoint &P, reco::PFDisplacedVertexCandidate::VertexLinkTest &linktest) |
Check whether 2 elements are linked and fill the link parameters. More... | |
void | packLinks (reco::PFDisplacedVertexCandidate &vertexCandidate) |
Private Attributes | |
double | dcaCut_ |
–— Algo parameters for the vertex finder -— /// More... | |
double | dcaPInnerHitCut2_ |
Maximum distance between the DCA Point and the inner hit of the track. More... | |
bool | debug_ |
if true, debug printouts activated More... | |
std::list< reco::TrackBaseRef > | eventTracks_ |
The track refs. More... | |
std::vector < GlobalTrajectoryParameters > | eventTrackTrajectories_ |
const MagneticField * | magField_ |
double | nChi2_max_ |
double | primaryVertexCut2_ |
Do not reconstruct vertices wich are too close to the beam pipe. More... | |
double | pt_min_ |
TwoTrackMinimumDistance | theMinimum_ |
Mask | trackMask_ |
std::auto_ptr < reco::PFDisplacedVertexCandidateCollection > | vertexCandidates_ |
-----— Members -----— /// More... | |
unsigned | vertexCandidatesSize_ |
Friends | |
std::ostream & | operator<< (std::ostream &, const PFDisplacedVertexCandidateFinder &) |
Definition at line 22 of file PFDisplacedVertexCandidateFinder.h.
typedef reco::PFDisplacedVertexCandidateCollection::const_iterator PFDisplacedVertexCandidateFinder::IBC |
Definition at line 36 of file PFDisplacedVertexCandidateFinder.h.
typedef std::list< reco::TrackBaseRef >::iterator PFDisplacedVertexCandidateFinder::IE |
Definition at line 34 of file PFDisplacedVertexCandidateFinder.h.
typedef std::list< reco::TrackBaseRef >::const_iterator PFDisplacedVertexCandidateFinder::IEC |
Definition at line 35 of file PFDisplacedVertexCandidateFinder.h.
typedef std::vector<bool> PFDisplacedVertexCandidateFinder::Mask |
Mask used to spot if a track is free or not.
Definition at line 32 of file PFDisplacedVertexCandidateFinder.h.
PFDisplacedVertexCandidateFinder::PFDisplacedVertexCandidateFinder | ( | ) |
Definition at line 14 of file PFDisplacedVertexCandidateFinder.cc.
References TwoTrackMinimumDistance::SlowMode, and theMinimum_.
PFDisplacedVertexCandidateFinder::~PFDisplacedVertexCandidateFinder | ( | ) |
Definition at line 27 of file PFDisplacedVertexCandidateFinder.cc.
References gather_cfg::cout, debug_, and eventTracks_.
|
private |
--—— Different steps of the finder algorithm --—— ///
Recursive procedure to associate tracks together
Definition at line 109 of file PFDisplacedVertexCandidateFinder.cc.
References reco::PFDisplacedVertexCandidate::addElement(), gather_cfg::cout, debug_, eventTracks_, i, link(), P, trackMask_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by findDisplacedVertexCandidates().
void PFDisplacedVertexCandidateFinder::findDisplacedVertexCandidates | ( | ) |
-----— Main function which find vertices -----— ///
Definition at line 74 of file PFDisplacedVertexCandidateFinder.cc.
References associate(), gather_cfg::cout, debug_, eventTracks_, reco::PFDisplacedVertexCandidate::isValid(), packLinks(), vertexCandidates_, and vertexCandidatesSize_.
|
private |
--—— TOOLS --—— //
Allows to calculate the helix aproximation for a given track which may be then extrapolated to any point.
Definition at line 321 of file PFDisplacedVertexCandidateFinder.cc.
References reco::TrackBase::charge(), reco::TrackBase::momentum(), position, reco::TrackBase::vx(), reco::TrackBase::vy(), and reco::TrackBase::vz().
Referenced by setInput().
|
private |
Quality Criterion on the Pt resolution to select a Track.
Definition at line 341 of file PFDisplacedVertexCandidateFinder.cc.
References gather_cfg::cout, debug_, nChi2_max_, reco::TrackBase::normalizedChi2(), reco::TrackBase::pt(), ExpressReco_HICollisions_FallBack::pt, pt_min_, and reco::TrackBase::ptError().
Referenced by isSelected().
|
inlineprivate |
A function which gather the information if a track is available for vertexing
Definition at line 103 of file PFDisplacedVertexCandidateFinder.h.
References goodPtResolution().
Referenced by python.Vispa.Views.LineDecayView.LineDecayContainer::keyPressEvent(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::leaveEvent(), python.Vispa.Views.LineDecayView.ParticleWidget::paint(), and setInput().
|
private |
Check whether 2 elements are linked and fill the link parameters.
Definition at line 206 of file PFDisplacedVertexCandidateFinder.cc.
References TwoTrackMinimumDistance::calculate(), TwoTrackMinimumDistance::crossingPoint(), dcaCut_, TwoTrackMinimumDistance::distance(), reco::TrackBase::eta(), eventTrackTrajectories_, edm::RefToBase< T >::key(), reco::TrackBase::phi(), primaryVertexCut2_, reco::TrackBase::pt(), theMinimum_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by associate(), and packLinks().
|
private |
Compute missing links in the displacedVertexCandidates (the recursive procedure does not build all links)
Definition at line 279 of file PFDisplacedVertexCandidateFinder.cc.
References gather_cfg::cout, debug_, reco::PFDisplacedVertexCandidate::elements(), asciidump::els, link(), P, and reco::PFDisplacedVertexCandidate::setLink().
Referenced by findDisplacedVertexCandidates().
|
inline |
sets debug printout flag
Definition at line 52 of file PFDisplacedVertexCandidateFinder.h.
void PFDisplacedVertexCandidateFinder::setInput | ( | const edm::Handle< reco::TrackCollection > & | trackh, |
const MagneticField * | magField | ||
) |
Set the imput collection of tracks and calculate their trajectory parameters the Global Trajectory Parameters
Definition at line 40 of file PFDisplacedVertexCandidateFinder.cc.
References eventTracks_, eventTrackTrajectories_, edm::Ref< C, T, F >::get(), getGlobalTrajectoryParameters(), i, isSelected(), edm::HandleBase::isValid(), magField_, and trackMask_.
|
inline |
---—— Set different algo parameters —— ///
Sets algo parameters for the vertex candidate finder
Definition at line 42 of file PFDisplacedVertexCandidateFinder.h.
References ExpressReco_HICollisions_FallBack::dcaCut, dcaCut_, ExpressReco_HICollisions_FallBack::dcaPInnerHitCut, dcaPInnerHitCut2_, edm::ParameterSet::getParameter(), nChi2_max_, ExpressReco_HICollisions_FallBack::primaryVertexCut, primaryVertexCut2_, and pt_min_.
|
inline |
Definition at line 61 of file PFDisplacedVertexCandidateFinder.h.
References vertexCandidates_.
|
inline |
Definition at line 63 of file PFDisplacedVertexCandidateFinder.h.
References vertexCandidates_.
Referenced by operator<<().
|
friend |
Definition at line 372 of file PFDisplacedVertexCandidateFinder.cc.
|
private |
–— Algo parameters for the vertex finder -— ///
Distance of minimal approach below which two tracks are considered as linked together
Definition at line 131 of file PFDisplacedVertexCandidateFinder.h.
Referenced by link(), and setParameters().
|
private |
Maximum distance between the DCA Point and the inner hit of the track.
Definition at line 135 of file PFDisplacedVertexCandidateFinder.h.
Referenced by setParameters().
|
private |
if true, debug printouts activated
Definition at line 153 of file PFDisplacedVertexCandidateFinder.h.
Referenced by associate(), findDisplacedVertexCandidates(), goodPtResolution(), packLinks(), setDebug(), and ~PFDisplacedVertexCandidateFinder().
|
private |
The track refs.
Definition at line 116 of file PFDisplacedVertexCandidateFinder.h.
Referenced by associate(), findDisplacedVertexCandidates(), operator<<(), setInput(), and ~PFDisplacedVertexCandidateFinder().
|
private |
The Trajectories vector allow to calculate snd to store only once the track trajectory parameters
Definition at line 125 of file PFDisplacedVertexCandidateFinder.h.
Referenced by link(), and setInput().
|
private |
Definition at line 156 of file PFDisplacedVertexCandidateFinder.h.
Referenced by setInput().
|
private |
Tracks preselection to reduce the combinatorics in PFDisplacedVertexCandidates this cuts are repeated then in a smarter way in the PFDisplacedVertexFinder be sure you are consistent between them
Definition at line 140 of file PFDisplacedVertexCandidateFinder.h.
Referenced by goodPtResolution(), and setParameters().
|
private |
Do not reconstruct vertices wich are too close to the beam pipe.
Definition at line 133 of file PFDisplacedVertexCandidateFinder.h.
Referenced by link(), and setParameters().
|
private |
Definition at line 141 of file PFDisplacedVertexCandidateFinder.h.
Referenced by goodPtResolution(), and setParameters().
|
private |
Definition at line 148 of file PFDisplacedVertexCandidateFinder.h.
Referenced by link(), and PFDisplacedVertexCandidateFinder().
|
private |
The trackMask allows to keep the information on the tracks which are still free and those which are already used or disabled.
Definition at line 122 of file PFDisplacedVertexCandidateFinder.h.
Referenced by associate(), and setInput().
|
private |
-----— Members -----— ///
Definition at line 112 of file PFDisplacedVertexCandidateFinder.h.
Referenced by findDisplacedVertexCandidates(), transferVertexCandidates(), and vertexCandidates().
|
private |
Max number of expected vertexCandidates in the event Used to allocate the memory and avoid multiple copy
Definition at line 145 of file PFDisplacedVertexCandidateFinder.h.
Referenced by findDisplacedVertexCandidates().