CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
MultiVertexBSeeder Class Reference

#include <MultiVertexBSeeder.h>

Inheritance diagram for MultiVertexBSeeder:
VertexReconstructor

Public Member Functions

MultiVertexBSeederclone () const override
 
 MultiVertexBSeeder (double nsigma=50.)
 
std::vector< TransientVertexvertices (const std::vector< reco::TransientTrack > &) const override
 
std::vector< TransientVertexvertices (const std::vector< reco::TransientTrack > &, const reco::BeamSpot &) const override
 
- Public Member Functions inherited from VertexReconstructor
 VertexReconstructor ()
 
virtual std::vector< TransientVertexvertices (const std::vector< reco::TransientTrack > &primaries, const std::vector< reco::TransientTrack > &tracks, const reco::BeamSpot &spot) const
 
virtual ~VertexReconstructor ()
 

Private Attributes

double theNSigma
 

Detailed Description

A good seeder for "B-jetty" setups (i.e. high-multiplicity, collimated track "bundles" with at least one secondary vertex )

Definition at line 12 of file MultiVertexBSeeder.h.

Constructor & Destructor Documentation

MultiVertexBSeeder::MultiVertexBSeeder ( double  nsigma = 50.)

Definition at line 207 of file MultiVertexBSeeder.cc.

207  :
208  theNSigma ( nsigma ) {}

Member Function Documentation

MultiVertexBSeeder * MultiVertexBSeeder::clone ( void  ) const
overridevirtual

Implements VertexReconstructor.

Definition at line 202 of file MultiVertexBSeeder.cc.

203 {
204  return new MultiVertexBSeeder ( * this );
205 }
MultiVertexBSeeder(double nsigma=50.)
vector< TransientVertex > MultiVertexBSeeder::vertices ( const std::vector< reco::TransientTrack > &  ) const
overridevirtual

Reconstruct vertices

Implements VertexReconstructor.

Definition at line 217 of file MultiVertexBSeeder.cc.

References ghostTrackVertexReco_cff::finder, mps_fire::i, and funct::true.

Referenced by vertices().

219 {
220  vector < Cluster1D < reco::TransientTrack > > ips = computeIPs ( trks );
221  /*
222  FsmwClusterizer1D < reco::TransientTrack > fsmw ( .4, theNSigma );
223  MultiClusterizer1D<reco::TransientTrack> finder ( fsmw );
224  */
226 
227  pair < vector < Cluster1D<reco::TransientTrack> >,
228  vector < const reco::TransientTrack * > > res;
229  res = finder ( ips );
230  #ifdef MVBS_DEBUG
231  // need to compute jet trajectory again :-(
232  GlobalTrajectoryParameters jet = computeJetTrajectory ( trks );
233  map < string, harvest::MultiType > attrs;
234  attrs["point:mag"]=0.75;
235  attrs["point:color"]="blue";
236  attrs["point:name"]="mode";
237  DebuggingHarvester("out.txt").save ( res.first, jet, attrs, "mode" );
238  #endif
239 
240  vector < TransientVertex > ret;
241  for ( vector< Cluster1D < reco::TransientTrack > >::const_iterator i=res.first.begin();
242  i!=res.first.end() ; ++i )
243  {
244  ret.push_back ( pseudoVertexFit ( *i, i!=res.first.begin(),
245  /* kalman fit*/ true ) );
246  }
247  return ret;
248 }
Definition: Electron.h:4
vector< TransientVertex > MultiVertexBSeeder::vertices ( const std::vector< reco::TransientTrack > &  t,
const reco::BeamSpot  
) const
overridevirtual

Reconstruct vertices, exploiting the beamspot constraint for the primary vertex

Reimplemented from VertexReconstructor.

Definition at line 210 of file MultiVertexBSeeder.cc.

References vertices().

213 {
214  return vertices ( trks );
215 }
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const override

Member Data Documentation

double MultiVertexBSeeder::theNSigma
private

Definition at line 25 of file MultiVertexBSeeder.h.