CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
MultiVertexFitter Class Reference

#include <MultiVertexFitter.h>

Public Types

typedef std::map< int, double > SeedToWeightMap
 
typedef std::map
< reco::TransientTrack,
SeedToWeightMap
TrackAndSeedToWeightMap
 
typedef std::pair
< reco::TransientTrack, float > 
TrackAndWeight
 

Public Member Functions

 MultiVertexFitter (const AnnealingSchedule &sched=DefaultMVFAnnealing(), const LinearizationPointFinder &seeder=DefaultLinearizationPointFinder(), float revive_below=-1.)
 
 MultiVertexFitter (const MultiVertexFitter &)
 
std::vector< CachingVertex< 5 > > vertices (const std::vector< std::vector< reco::TransientTrack > > &, const std::vector< reco::TransientTrack > &primaries=std::vector< reco::TransientTrack >())
 
std::vector< CachingVertex< 5 > > vertices (const std::vector< std::vector< TrackAndWeight > > &, const std::vector< reco::TransientTrack > &primaries=std::vector< reco::TransientTrack >())
 
std::vector< CachingVertex< 5 > > vertices (const std::vector< CachingVertex< 5 > > &, const std::vector< reco::TransientTrack > &primaries=std::vector< reco::TransientTrack >())
 
std::vector< CachingVertex< 5 > > vertices (const std::vector< TransientVertex > &, const std::vector< reco::TransientTrack > &primaries=std::vector< reco::TransientTrack >())
 
 ~MultiVertexFitter ()
 

Private Types

typedef
ReferenceCountingPointer
< LinearizedTrackState< 5 > > 
RefCountedLinearizedTrackState
 
typedef CachingVertex
< 5 >::RefCountedVertexTrack 
RefCountedVertexTrack
 

Private Member Functions

void clear ()
 
void createPrimaries (const std::vector< reco::TransientTrack > &tracks)
 
void createSeed (const std::vector< reco::TransientTrack > &tracks)
 
void createSeed (const std::vector< TrackAndWeight > &tracks)
 
std::vector< CachingVertex< 5 > > fit ()
 
void lostVertexClaimer ()
 
void printSeeds () const
 
void printWeights () const
 
void printWeights (const reco::TransientTrack &) const
 
void resetSeedNr ()
 
int seedNr ()
 
bool updateSeeds ()
 
void updateWeights ()
 

Private Attributes

AnnealingScheduletheAssComp
 
LinTrackCache theCache
 
std::set< reco::TransientTrackthePrimaries
 
float theReviveBelow
 
LinearizationPointFindertheSeeder
 
std::vector< reco::TransientTracktheTracks
 
int theVertexStateNr
 
std::vector< std::pair< int,
CachingVertex< 5 > > > 
theVertexStates
 
TrackAndSeedToWeightMap theWeights
 

Detailed Description

fits n vertices in parallel, associating weights for every track-vertex std::pair. The special constructor's arguments take precedence over the SimpleConfigurables.

SimpleConfigurables:

MultiVertexFitter:Debug = 0 MultiVertexFitter:DisplacementLimit = 0.00001 MultiVertexFitter:MaxIterations = 30 MultiVertexFitter:ClaimLostVertices = true MultiVertexFitter:MinimumWeightFraction = 1e-6 MultiVertexFitter:ReviveBelow = 0.3 MultiVertexFitter:DiscardLightWeights = true

Definition at line 15 of file MultiVertexFitter.h.

Member Typedef Documentation

Definition at line 106 of file MultiVertexFitter.h.

Definition at line 105 of file MultiVertexFitter.h.

typedef std::map< int , double > MultiVertexFitter::SeedToWeightMap

Definition at line 44 of file MultiVertexFitter.h.

Definition at line 45 of file MultiVertexFitter.h.

Definition at line 43 of file MultiVertexFitter.h.

Constructor & Destructor Documentation

MultiVertexFitter::MultiVertexFitter ( const AnnealingSchedule sched = DefaultMVFAnnealing(),
const LinearizationPointFinder seeder = DefaultLinearizationPointFinder(),
float  revive_below = -1. 
)

Definition at line 334 of file MultiVertexFitter.cc.

MultiVertexFitter::MultiVertexFitter ( const MultiVertexFitter o)

Definition at line 341 of file MultiVertexFitter.cc.

MultiVertexFitter::~MultiVertexFitter ( )

Definition at line 346 of file MultiVertexFitter.cc.

Member Function Documentation

void MultiVertexFitter::clear ( void  )
private

Definition at line 88 of file MultiVertexFitter.cc.

void MultiVertexFitter::createPrimaries ( const std::vector< reco::TransientTrack > &  tracks)
private

Definition at line 118 of file MultiVertexFitter.cc.

void MultiVertexFitter::createSeed ( const std::vector< reco::TransientTrack > &  tracks)
private

Definition at line 101 of file MultiVertexFitter.cc.

void MultiVertexFitter::createSeed ( const std::vector< TrackAndWeight > &  tracks)
private

Definition at line 140 of file MultiVertexFitter.cc.

vector< CachingVertex< 5 > > MultiVertexFitter::fit ( void  )
private

Definition at line 582 of file MultiVertexFitter.cc.

void MultiVertexFitter::lostVertexClaimer ( )
private

Definition at line 653 of file MultiVertexFitter.cc.

void MultiVertexFitter::printSeeds ( ) const
private

Definition at line 641 of file MultiVertexFitter.cc.

void MultiVertexFitter::printWeights ( ) const
private

Definition at line 626 of file MultiVertexFitter.cc.

void MultiVertexFitter::printWeights ( const reco::TransientTrack t) const
private

Definition at line 614 of file MultiVertexFitter.cc.

void MultiVertexFitter::resetSeedNr ( )
private

Definition at line 135 of file MultiVertexFitter.cc.

int MultiVertexFitter::seedNr ( )
private

Definition at line 130 of file MultiVertexFitter.cc.

bool MultiVertexFitter::updateSeeds ( )
private

Definition at line 437 of file MultiVertexFitter.cc.

void MultiVertexFitter::updateWeights ( )
private

add the primary only tracks to primary vertex only.

now add "free tracks" to all vertices

Definition at line 352 of file MultiVertexFitter.cc.

vector< CachingVertex< 5 > > MultiVertexFitter::vertices ( const std::vector< std::vector< reco::TransientTrack > > &  tracks,
const std::vector< reco::TransientTrack > &  primaries = std::vector < reco::TransientTrack > () 
)

Supply simple clusters of reco::TransientTracks. primaries: supply tracks which are hard coded to the primary vertex.

Definition at line 290 of file MultiVertexFitter.cc.

Referenced by MultiVertexReconstructor::vertices().

vector< CachingVertex< 5 > > MultiVertexFitter::vertices ( const std::vector< std::vector< TrackAndWeight > > &  tracks,
const std::vector< reco::TransientTrack > &  primaries = std::vector < reco::TransientTrack > () 
)

Supply clusters of tracks with weights, association weights of the other vertices is considered zero. FIXME weights are currently ignored. primaries: supply tracks which are hard coded to the primary vertex.

Definition at line 314 of file MultiVertexFitter.cc.

vector< CachingVertex< 5 > > MultiVertexFitter::vertices ( const std::vector< CachingVertex< 5 > > &  initials,
const std::vector< reco::TransientTrack > &  primaries = std::vector < reco::TransientTrack > () 
)

Supply full CachingVertices; CachingVertices are the first seeds. primaries: supply tracks which are hard coded to the primary vertex.

Definition at line 251 of file MultiVertexFitter.cc.

vector< CachingVertex< 5 > > MultiVertexFitter::vertices ( const std::vector< TransientVertex > &  vtces,
const std::vector< reco::TransientTrack > &  primaries = std::vector < reco::TransientTrack > () 
)

Same as above.

Definition at line 221 of file MultiVertexFitter.cc.

Member Data Documentation

AnnealingSchedule* MultiVertexFitter::theAssComp
private

Definition at line 116 of file MultiVertexFitter.h.

LinTrackCache MultiVertexFitter::theCache
private

Definition at line 119 of file MultiVertexFitter.h.

std::set< reco::TransientTrack > MultiVertexFitter::thePrimaries
private

Definition at line 115 of file MultiVertexFitter.h.

float MultiVertexFitter::theReviveBelow
private

Definition at line 113 of file MultiVertexFitter.h.

LinearizationPointFinder* MultiVertexFitter::theSeeder
private

Definition at line 117 of file MultiVertexFitter.h.

std::vector< reco::TransientTrack > MultiVertexFitter::theTracks
private

Definition at line 114 of file MultiVertexFitter.h.

int MultiVertexFitter::theVertexStateNr
private

Definition at line 112 of file MultiVertexFitter.h.

std::vector< std::pair < int, CachingVertex<5> > > MultiVertexFitter::theVertexStates
private

Definition at line 111 of file MultiVertexFitter.h.

TrackAndSeedToWeightMap MultiVertexFitter::theWeights
mutableprivate

Definition at line 118 of file MultiVertexFitter.h.