A block of tracks linked together. More...
#include <PFDisplacedVertexCandidate.h>
Classes | |
struct | VertexLink |
Public Types | |
typedef std::map< float, std::pair< int, int > > | DistMap |
typedef std::vector< float > | DistVector |
typedef std::map< unsigned int, VertexLink > | VertexLinkData |
enum | VertexLinkTest { LINKTEST_DCA, LINKTEST_DUMMY, LINKTEST_ALL } |
Public Member Functions | |
void | addElement (const TrackBaseRef) |
add a track Reference to the current Candidate More... | |
void | associatedElements (const unsigned i, const VertexLinkData &vertexLinkData, std::multimap< float, unsigned > &sortedAssociates, const VertexLinkTest test=LINKTEST_DCA) const |
associate 2 elements More... | |
const GlobalPoint | dcaPoint (unsigned ie1, unsigned ie2) const |
DistVector | distVector () const |
void | Dump (std::ostream &out=std::cout) const |
cout function More... | |
const std::vector< TrackBaseRef > & | elements () const |
bool | isValid () const |
A Vertex Candidate is valid if it has at least two tracks. More... | |
unsigned | nTracks () const |
PFDisplacedVertexCandidate () | |
Default constructor. More... | |
DistMap | r2Map () const |
--—— Provide useful information --—— /// More... | |
DistVector | r2Vector () const |
void | setLink (unsigned i1, unsigned i2, const float dist, const GlobalPoint &dcaPoint, const VertexLinkTest test=LINKTEST_DCA) |
const TrackBaseRef & | tref (unsigned ie) const |
const VertexLinkData & | vertexLinkData () const |
Private Member Functions | |
const float | dist (unsigned ie1, unsigned ie2) const |
--—— Internal tools --—— /// More... | |
bool | matrix2vector (unsigned i, unsigned j, unsigned &index) const |
bool | testLink (unsigned ie1, unsigned ie2) const |
test if a link between two tracks is valid: value_link =! -1 More... | |
unsigned | vertexLinkDataSize () const |
--—— Storage of the information --—— /// More... | |
Private Attributes | |
std::vector< TrackBaseRef > | elements_ |
--—— MEMBERS --—— /// More... | |
VertexLinkData | vertexLinkData_ |
map of links between tracks More... | |
Friends | |
std::ostream & | operator<< (std::ostream &, const PFDisplacedVertexCandidate &) |
cout function More... | |
A block of tracks linked together.
A DisplacedVertexCandidate is a format produced by the DisplacedVertexCandidateFinder to hold a Collection of Refs to the tracks linked together by DCA. It contains:
Definition at line 29 of file PFDisplacedVertexCandidate.h.
typedef std::map< float, std::pair<int,int> > reco::PFDisplacedVertexCandidate::DistMap |
A type to provide the information about the position of DCA Points or values of DCA.
Definition at line 58 of file PFDisplacedVertexCandidate.h.
typedef std::vector< float > reco::PFDisplacedVertexCandidate::DistVector |
Definition at line 59 of file PFDisplacedVertexCandidate.h.
typedef std::map< unsigned int, VertexLink > reco::PFDisplacedVertexCandidate::VertexLinkData |
Definition at line 54 of file PFDisplacedVertexCandidate.h.
Test used for the track linkind. For the moment only DCA is used, but other are possibles like distance between inner hits.
Enumerator | |
---|---|
LINKTEST_DCA | |
LINKTEST_DUMMY | |
LINKTEST_ALL |
Definition at line 47 of file PFDisplacedVertexCandidate.h.
PFDisplacedVertexCandidate::PFDisplacedVertexCandidate | ( | ) |
void PFDisplacedVertexCandidate::addElement | ( | const TrackBaseRef | element | ) |
add a track Reference to the current Candidate
Definition at line 12 of file PFDisplacedVertexCandidate.cc.
Referenced by PFDisplacedVertexCandidateFinder::associate().
void PFDisplacedVertexCandidate::associatedElements | ( | const unsigned | i, |
const VertexLinkData & | vertexLinkData, | ||
std::multimap< float, unsigned > & | sortedAssociates, | ||
const VertexLinkTest | test = LINKTEST_DCA |
||
) | const |
associate 2 elements
Definition at line 49 of file PFDisplacedVertexCandidate.cc.
References cmsHarvester::index, and FrontierCondition_GT_autoExpress_cfi::test.
const GlobalPoint PFDisplacedVertexCandidate::dcaPoint | ( | unsigned | ie1, |
unsigned | ie2 | ||
) | const |
Definition at line 155 of file PFDisplacedVertexCandidate.cc.
References cmsHarvester::index.
Referenced by PFDisplacedVertexFinder::findSeedsFromCandidate().
|
private |
--—— Internal tools --—— ///
Definition at line 178 of file PFDisplacedVertexCandidate.cc.
References cmsHarvester::index.
PFDisplacedVertexCandidate::DistVector PFDisplacedVertexCandidate::distVector | ( | ) | const |
Definition at line 136 of file PFDisplacedVertexCandidate.cc.
References ztail::d.
void PFDisplacedVertexCandidate::Dump | ( | std::ostream & | out = std::cout | ) | const |
cout function
Definition at line 238 of file PFDisplacedVertexCandidate.cc.
References bookConverter::elements, Pi, EnergyCorrector::pt, and mathSSE::sqrt().
|
inline |
Definition at line 110 of file PFDisplacedVertexCandidate.h.
References elements_.
Referenced by PFDisplacedVertexCandidateFinder::packLinks().
|
inline |
A Vertex Candidate is valid if it has at least two tracks.
Definition at line 101 of file PFDisplacedVertexCandidate.h.
References elements_.
Referenced by PFDisplacedVertexCandidateFinder::findDisplacedVertexCandidates(), and core.AutoHandle.AutoHandle::ReallyLoad().
|
private |
makes the correspondance between a 2d element matrix and the 1D vector which is the most compact way to store the matrix
Definition at line 212 of file PFDisplacedVertexCandidate.cc.
References combine::missing, findQualityFiles::size, and std::swap().
|
inline |
Definition at line 114 of file PFDisplacedVertexCandidate.h.
References elements_.
PFDisplacedVertexCandidate::DistMap PFDisplacedVertexCandidate::r2Map | ( | ) | const |
--—— Provide useful information --—— ///
Definition at line 95 of file PFDisplacedVertexCandidate.cc.
References P, and diffTwoXMLs::r2.
Referenced by PFDisplacedVertexFinder::findSeedsFromCandidate().
PFDisplacedVertexCandidate::DistVector PFDisplacedVertexCandidate::r2Vector | ( | ) | const |
Definition at line 116 of file PFDisplacedVertexCandidate.cc.
References P, and diffTwoXMLs::r2.
void PFDisplacedVertexCandidate::setLink | ( | unsigned | i1, |
unsigned | i2, | ||
const float | dist, | ||
const GlobalPoint & | dcaPoint, | ||
const VertexLinkTest | test = LINKTEST_DCA |
||
) |
set a link between elements of indices i1 and i2, of "distance" dist the link is set in the linkData vector provided as an argument. As indicated by the 'const' statement, 'this' is not modified.
Definition at line 17 of file PFDisplacedVertexCandidate.cc.
References assert(), reco::PFDisplacedVertexCandidate::VertexLink::dcaPoint_, reco::PFDisplacedVertexCandidate::VertexLink::distance_, cmsHarvester::index, cmsLHEtoEOSManager::l, convertSQLiteXML::ok, FrontierCondition_GT_autoExpress_cfi::test, and reco::PFDisplacedVertexCandidate::VertexLink::test_.
Referenced by PFDisplacedVertexCandidateFinder::packLinks().
|
private |
test if a link between two tracks is valid: value_link =! -1
Definition at line 171 of file PFDisplacedVertexCandidate.cc.
References ztail::d.
|
inline |
Definition at line 106 of file PFDisplacedVertexCandidate.h.
References elements_.
Referenced by PFDisplacedVertexFinder::findSeedsFromCandidate().
|
inline |
Definition at line 119 of file PFDisplacedVertexCandidate.h.
References vertexLinkData_.
|
private |
--—— Storage of the information --—— ///
Those are the tools from PFBlockAlgo
Definition at line 202 of file PFDisplacedVertexCandidate.cc.
References gen::n.
|
friend |
cout function
|
private |
--—— MEMBERS --—— ///
vector of refs to the associated tracks
Definition at line 153 of file PFDisplacedVertexCandidate.h.
Referenced by elements(), isValid(), nTracks(), and tref().
|
private |
map of links between tracks
Definition at line 156 of file PFDisplacedVertexCandidate.h.
Referenced by vertexLinkData().