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 Member Functions | Private Attributes | Friends
PFDisplacedVertexFinder Class Reference

#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::PFDisplacedVertexSeedCollection::iterator 
IDVS
 -----— 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 Member Functions

unsigned commonTracks (const reco::PFDisplacedVertex &, const reco::PFDisplacedVertex &) const
 
void findSeedsFromCandidate (const reco::PFDisplacedVertexCandidate &, reco::PFDisplacedVertexSeedCollection &)
 --—— Different steps of the finder algorithm --—— /// More...
 
bool fitVertexFromSeed (const reco::PFDisplacedVertexSeed &, reco::PFDisplacedVertex &)
 Fit one by one the vertex points with associated tracks to get displaced vertices. More...
 
double getLongDiff (const GlobalPoint &, const GlobalPoint &) const
 
double getLongProj (const GlobalPoint &, const GlobalVector &) const
 
double getTransvDiff (const GlobalPoint &, const GlobalPoint &) const
 
reco::PFDisplacedVertex::VertexTrackType getVertexTrackType (PFTrackHitFullInfo &) const
 
bool isCloseTo (const reco::PFDisplacedVertexSeed &, const reco::PFDisplacedVertexSeed &) const
 -----— Tools -----— /// More...
 
void mergeSeeds (reco::PFDisplacedVertexSeedCollection &, std::vector< bool > &bLocked)
 Sometimes two vertex candidates can be quite close and coming from the same vertex. More...
 
bool rejectAndLabelVertex (reco::PFDisplacedVertex &dv)
 
void selectAndLabelVertices (reco::PFDisplacedVertexCollection &, std::vector< bool > &)
 Remove potentially fakes displaced vertices. More...
 

Private Attributes

bool debug_
 If true, debug printouts activated. More...
 
reco::PFDisplacedVertexCandidateCollection
const * 
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 MagneticFieldmagField_
 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< TrackerGeometrytkerGeomHandle_
 doc? More...
 
double tobCut_
 
double transvSize_
 --—— Parameters --—— /// More...
 

Friends

std::ostream & operator<< (std::ostream &, const PFDisplacedVertexFinder &)
 

Detailed Description

Definition at line 32 of file PFDisplacedVertexFinder.h.

Member Typedef Documentation

typedef reco::PFDisplacedVertexCollection::iterator PFDisplacedVertexFinder::IDV

Definition at line 43 of file PFDisplacedVertexFinder.h.

typedef reco::PFDisplacedVertexSeedCollection::iterator PFDisplacedVertexFinder::IDVS

-----— Useful Types -----— ///

Definition at line 42 of file PFDisplacedVertexFinder.h.

Definition at line 46 of file PFDisplacedVertexFinder.h.

typedef std::pair<unsigned int, unsigned int> PFDisplacedVertexFinder::PFTrackHitInfo

Definition at line 45 of file PFDisplacedVertexFinder.h.

Member Enumeration Documentation

Fitter Type.

Enumerator
F_NOTDEFINED 
F_DONOTREFIT 
F_KALMAN 
F_ADAPTIVE 

Definition at line 49 of file PFDisplacedVertexFinder.h.

Constructor & Destructor Documentation

PFDisplacedVertexFinder::PFDisplacedVertexFinder ( )

Definition at line 28 of file PFDisplacedVertexFinder.cc.

PFDisplacedVertexFinder::~PFDisplacedVertexFinder ( )

Definition at line 40 of file PFDisplacedVertexFinder.cc.

Member Function Documentation

unsigned PFDisplacedVertexFinder::commonTracks ( const reco::PFDisplacedVertex v1,
const reco::PFDisplacedVertex v2 
) const
private

Definition at line 763 of file PFDisplacedVertexFinder.cc.

const std::auto_ptr< reco::PFDisplacedVertexCollection >& PFDisplacedVertexFinder::displacedVertices ( ) const
inline

Definition at line 110 of file PFDisplacedVertexFinder.h.

void PFDisplacedVertexFinder::findDisplacedVertices ( )

-----— Main function which find vertices -----— ///

Definition at line 58 of file PFDisplacedVertexFinder.cc.

void PFDisplacedVertexFinder::findSeedsFromCandidate ( const reco::PFDisplacedVertexCandidate vertexCandidate,
reco::PFDisplacedVertexSeedCollection tempDisplacedVertexSeeds 
)
private

--—— Different steps of the finder algorithm --—— ///

Analyse a vertex candidate and select potential vertex point(s)

Definition at line 143 of file PFDisplacedVertexFinder.cc.

bool PFDisplacedVertexFinder::fitVertexFromSeed ( const reco::PFDisplacedVertexSeed displacedVertexSeed,
reco::PFDisplacedVertex displacedVertex 
)
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 231 of file PFDisplacedVertexFinder.cc.

double PFDisplacedVertexFinder::getLongDiff ( const GlobalPoint Ref,
const GlobalPoint ToProject 
) const
private

Definition at line 710 of file PFDisplacedVertexFinder.cc.

double PFDisplacedVertexFinder::getLongProj ( const GlobalPoint Ref,
const GlobalVector ToProject 
) const
private

Definition at line 719 of file PFDisplacedVertexFinder.cc.

double PFDisplacedVertexFinder::getTransvDiff ( const GlobalPoint Ref,
const GlobalPoint ToProject 
) const
private

Definition at line 730 of file PFDisplacedVertexFinder.cc.

reco::PFDisplacedVertex::VertexTrackType PFDisplacedVertexFinder::getVertexTrackType ( PFTrackHitFullInfo pairTrackHitInfo) const
private

Definition at line 740 of file PFDisplacedVertexFinder.cc.

bool PFDisplacedVertexFinder::isCloseTo ( const reco::PFDisplacedVertexSeed dv1,
const reco::PFDisplacedVertexSeed dv2 
) const
private

-----— Tools -----— ///

Definition at line 693 of file PFDisplacedVertexFinder.cc.

void PFDisplacedVertexFinder::mergeSeeds ( reco::PFDisplacedVertexSeedCollection tempDisplacedVertexSeeds,
std::vector< bool > &  bLocked 
)
private

Sometimes two vertex candidates can be quite close and coming from the same vertex.

Definition at line 200 of file PFDisplacedVertexFinder.cc.

bool PFDisplacedVertexFinder::rejectAndLabelVertex ( reco::PFDisplacedVertex dv)
private

Definition at line 680 of file PFDisplacedVertexFinder.cc.

void PFDisplacedVertexFinder::selectAndLabelVertices ( reco::PFDisplacedVertexCollection tempDisplacedVertices,
std::vector< bool > &  bLocked 
)
private

Remove potentially fakes displaced vertices.

Definition at line 587 of file PFDisplacedVertexFinder.cc.

void PFDisplacedVertexFinder::setAVFParameters ( const edm::ParameterSet ps)
inline

Definition at line 97 of file PFDisplacedVertexFinder.h.

void PFDisplacedVertexFinder::setDebug ( bool  debug)
inline

Sets debug printout flag.

Definition at line 73 of file PFDisplacedVertexFinder.h.

void PFDisplacedVertexFinder::setEdmParameters ( const MagneticField magField,
edm::ESHandle< GlobalTrackingGeometry globTkGeomHandle,
edm::ESHandle< TrackerGeometry tkerGeomHandle 
)
inline

Sets parameters for track extrapolation and hits study.

Definition at line 76 of file PFDisplacedVertexFinder.h.

void PFDisplacedVertexFinder::setInput ( const edm::Handle< reco::PFDisplacedVertexCandidateCollection > &  displacedVertexCandidates)

Set input collections of tracks.

Definition at line 43 of file PFDisplacedVertexFinder.cc.

void PFDisplacedVertexFinder::setParameters ( double  transvSize,
double  longSize,
double  primaryVertexCut,
double  tobCut,
double  tecCut,
double  minAdaptWeight,
bool  switchOff2TrackVertex 
)
inline

--—— Set different algo parameters --—— ///

Sets algo parameters for the vertex finder

Definition at line 60 of file PFDisplacedVertexFinder.h.

void PFDisplacedVertexFinder::setPrimaryVertex ( edm::Handle< reco::VertexCollection mainVertexHandle,
edm::Handle< reco::BeamSpot beamSpotHandle 
)
inline

Definition at line 92 of file PFDisplacedVertexFinder.h.

void PFDisplacedVertexFinder::setTracksSelector ( const edm::ParameterSet ps)
inline

Definition at line 84 of file PFDisplacedVertexFinder.h.

void PFDisplacedVertexFinder::setVertexIdentifier ( const edm::ParameterSet ps)
inline

Definition at line 88 of file PFDisplacedVertexFinder.h.

std::auto_ptr< reco::PFDisplacedVertexCollection > PFDisplacedVertexFinder::transferDisplacedVertices ( )
inline
Returns
auto_ptr to collection of DisplacedVertices

Definition at line 108 of file PFDisplacedVertexFinder.h.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const PFDisplacedVertexFinder a 
)
friend

Definition at line 782 of file PFDisplacedVertexFinder.cc.

Member Data Documentation

bool PFDisplacedVertexFinder::debug_
private

If true, debug printouts activated.

Definition at line 178 of file PFDisplacedVertexFinder.h.

reco::PFDisplacedVertexCandidateCollection const* PFDisplacedVertexFinder::displacedVertexCandidates_
private

-----— Members -----— ///

Definition at line 154 of file PFDisplacedVertexFinder.h.

std::auto_ptr< reco::PFDisplacedVertexCollection > PFDisplacedVertexFinder::displacedVertices_
private

Definition at line 155 of file PFDisplacedVertexFinder.h.

edm::ESHandle<GlobalTrackingGeometry> PFDisplacedVertexFinder::globTkGeomHandle_
private

Tracker geometry for discerning hit positions.

Definition at line 181 of file PFDisplacedVertexFinder.h.

PFDisplacedVertexHelper PFDisplacedVertexFinder::helper_
private

Definition at line 192 of file PFDisplacedVertexFinder.h.

PFCheckHitPattern PFDisplacedVertexFinder::hitPattern_
private

Definition at line 190 of file PFDisplacedVertexFinder.h.

double PFDisplacedVertexFinder::longSize_
private

Definition at line 162 of file PFDisplacedVertexFinder.h.

const MagneticField* PFDisplacedVertexFinder::magField_
private

to be able to extrapolate tracks f

Definition at line 187 of file PFDisplacedVertexFinder.h.

double PFDisplacedVertexFinder::minAdaptWeight_
private

Definition at line 166 of file PFDisplacedVertexFinder.h.

double PFDisplacedVertexFinder::primaryVertexCut_
private

Definition at line 163 of file PFDisplacedVertexFinder.h.

double PFDisplacedVertexFinder::ratio_
private

Definition at line 174 of file PFDisplacedVertexFinder.h.

double PFDisplacedVertexFinder::sigmacut_
private

Adaptive Vertex Fitter parameters.

Definition at line 172 of file PFDisplacedVertexFinder.h.

bool PFDisplacedVertexFinder::switchOff2TrackVertex_
private

Definition at line 168 of file PFDisplacedVertexFinder.h.

double PFDisplacedVertexFinder::t_ini_
private

Definition at line 173 of file PFDisplacedVertexFinder.h.

double PFDisplacedVertexFinder::tecCut_
private

Definition at line 165 of file PFDisplacedVertexFinder.h.

edm::ESHandle<TrackerGeometry> PFDisplacedVertexFinder::tkerGeomHandle_
private

doc?

Definition at line 184 of file PFDisplacedVertexFinder.h.

double PFDisplacedVertexFinder::tobCut_
private

Definition at line 164 of file PFDisplacedVertexFinder.h.

double PFDisplacedVertexFinder::transvSize_
private

--—— Parameters --—— ///

Algo parameters for the vertex finder

Definition at line 161 of file PFDisplacedVertexFinder.h.