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 28 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 49 of file PFDisplacedVertexCandidate.h.
typedef std::vector<float> reco::PFDisplacedVertexCandidate::DistVector |
Definition at line 50 of file PFDisplacedVertexCandidate.h.
typedef std::map<unsigned int, VertexLink> reco::PFDisplacedVertexCandidate::VertexLinkData |
Definition at line 45 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 43 of file PFDisplacedVertexCandidate.h.
PFDisplacedVertexCandidate::PFDisplacedVertexCandidate | ( | ) |
void PFDisplacedVertexCandidate::addElement | ( | const TrackBaseRef | element | ) |
add a track Reference to the current Candidate
Definition at line 11 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 39 of file PFDisplacedVertexCandidate.cc.
References mps_fire::i, if(), and ctpps_dqm_sourceclient-live_cfg::test.
const GlobalPoint PFDisplacedVertexCandidate::dcaPoint | ( | unsigned | ie1, |
unsigned | ie2 | ||
) | const |
Definition at line 126 of file PFDisplacedVertexCandidate.cc.
Referenced by PFDisplacedVertexFinder::findSeedsFromCandidate().
|
private |
-----— Internal tools -----— ///
Definition at line 148 of file PFDisplacedVertexCandidate.cc.
PFDisplacedVertexCandidate::DistVector PFDisplacedVertexCandidate::distVector | ( | ) | const |
Definition at line 111 of file PFDisplacedVertexCandidate.cc.
References ztail::d.
void PFDisplacedVertexCandidate::Dump | ( | std::ostream & | out = std::cout | ) | const |
cout function
Definition at line 192 of file PFDisplacedVertexCandidate.cc.
References bookConverter::elements, get, MillePedeFileConverter_cfg::out, Pi, DiDispStaMuonMonitor_cfi::pt, and mathSSE::sqrt().
|
inline |
Definition at line 95 of file PFDisplacedVertexCandidate.h.
References elements_.
Referenced by PFDisplacedVertexCandidateFinder::associate(), PFDisplacedVertexCandidateFinder::findDisplacedVertexCandidates(), and PFDisplacedVertexCandidateFinder::packLinks().
|
inline |
A Vertex Candidate is valid if it has at least two tracks.
Definition at line 89 of file PFDisplacedVertexCandidate.h.
References elements_.
Referenced by ntupleDataFormat._Object::_checkIsValid(), 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 172 of file PFDisplacedVertexCandidate.cc.
References combine::missing, findQualityFiles::size, and std::swap().
|
inline |
Definition at line 98 of file PFDisplacedVertexCandidate.h.
References elements_.
PFDisplacedVertexCandidate::DistMap PFDisplacedVertexCandidate::r2Map | ( | ) | const |
-----— Provide useful information -----— ///
Definition at line 77 of file PFDisplacedVertexCandidate.cc.
References diffTwoXMLs::r2.
Referenced by PFDisplacedVertexFinder::findSeedsFromCandidate().
PFDisplacedVertexCandidate::DistVector PFDisplacedVertexCandidate::r2Vector | ( | ) | const |
Definition at line 94 of file PFDisplacedVertexCandidate.cc.
References 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 13 of file PFDisplacedVertexCandidate.cc.
References cms::cuda::assert(), testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, cmsLHEtoEOSManager::l, convertSQLiteXML::ok, and ctpps_dqm_sourceclient-live_cfg::test.
Referenced by PFDisplacedVertexCandidateFinder::packLinks().
|
private |
|
inline |
Definition at line 92 of file PFDisplacedVertexCandidate.h.
References elements_.
Referenced by PFDisplacedVertexFinder::findSeedsFromCandidate().
|
inline |
Definition at line 101 of file PFDisplacedVertexCandidate.h.
References vertexLinkData_.
|
private |
-----— Storage of the information -----— ///
Those are the tools from PFBlockAlgo
Definition at line 163 of file PFDisplacedVertexCandidate.cc.
References dqmiodumpmetadata::n.
|
friend |
cout function
|
private |
-----— MEMBERS -----— ///
vector of refs to the associated tracks
Definition at line 131 of file PFDisplacedVertexCandidate.h.
Referenced by elements(), isValid(), nTracks(), and tref().
|
private |
map of links between tracks
Definition at line 134 of file PFDisplacedVertexCandidate.h.
Referenced by vertexLinkData().