Rivet::SVertex Class Reference

Determine secondary vertices. More...

`#include <SVertex.hh>`

Inheritance diagram for Rivet::SVertex:

## Public Member Functions

const vector< FourMomentum > & | getTaggedJets () const
| Return vector of tagged jets (FourMomentum's)
Standard constructors and destructors.
| SVertex (const ChargedFinalState &chfs, const vector< FourMomentum > &jetaxes, double deltaR, double detEta, double IPres, double DLS, double DLSres=0.0)
virtual const Projection * | clone () const
| Clone on the heap.
Public Member Functions inherited from Rivet::Projection
bool | before (const Projection &p) const
virtual const std::set< PdgIdPair > | beamPairs () const
virtual std::string | name () const
| Get the name of the projection.
Projection & | addPdgIdPair (PdgId beam1, PdgId beam2)
| Add a colliding beam pair.
Log & | getLog () const
| Get a Log object based on the getName() property of the calling projection object.
void | setName (const std::string &name)
| Used by derived classes to set their name.
| Projection ()
| The default constructor.
virtual | ~Projection ()
| The destructor.
Public Member Functions inherited from Rivet::ProjectionApplier
| ProjectionApplier ()
| Constructor.
std::set< ConstProjectionPtr > | getProjections () const
| Get the contained projections, including recursion.
template<typename PROJ >
const PROJ & | getProjection (const std::string &name) const
| Get the named projection, specifying return type via a template argument.
const Projection & | getProjection (const std::string &name) const
template<typename PROJ >
const PROJ & | applyProjection (const Event &evt, const PROJ &proj) const
| Apply the supplied projection on event.
template<typename PROJ >
const PROJ & | applyProjection (const Event &evt, const Projection &proj) const
| Apply the supplied projection on event.
template<typename PROJ >
const PROJ & | applyProjection (const Event &evt, const std::string &name) const
| Apply the named projection on event.

## Protected Member Functions

void | project (const Event &e)
| Apply the projection to the event. More...
int | compare (const Projection &p) const
| Compare projections.
Protected Member Functions inherited from Rivet::Projection
Cmp< Projection > | mkNamedPCmp (const Projection &otherparent, const std::string &pname) const
Cmp< Projection > | mkPCmp (const Projection &otherparent, const std::string &pname) const
Protected Member Functions inherited from Rivet::ProjectionApplier
Log & | getLog () const
ProjectionHandler & | getProjHandler () const
| Get a reference to the ProjectionHandler for this thread.
template<typename PROJ >
const PROJ & | addProjection (const PROJ &proj, const std::string &name)

## Detailed Description

Determine secondary vertices.

Makes use of PVertex projection.

Todo:
  Replace function with a functor to improve equality comparisons.

Complex cuts on tracks and vertices to validate them have to be provided by an external function bool f(SVertex&, ParticleVector&, const HepMC::GenVertex&, FourMomentum); which can be embedded in the analysis code. An example can be found in the S6653332 analysis. A pointer to this function has to be given to the constructor of the SVertex projection. Its arguments are as follows:

in: reference to instance of SVertex projection, ParticleVector of vertex to be analyzed, primary (Gen)Vertex out: FourMomentum = visible Momentum of vertex (selected tracks), return bool: cuts passed? 1 : 0

In this way the SVertex projection can be kept as universal/flexible as possible.

The constructor expects also a list of (pre-selected) jets. Associated tracks and vertices to a jet are checked for displacement. A list of tagged jets can be obtained via the getTaggedJets() function

## Constructor & Destructor Documentation

## SVertex()

Rivet::SVertex::SVertex | ( | const ChargedFinalState & | chfs,
|  | const vector< FourMomentum > & | jetaxes,
|  | double | deltaR,
|  | double | detEta,
|  | double | IPres,
|  | double | DLS,
|  | double | DLSres = `0.0`
| ) |  |

inline

The default constructor. Must specify a PVertex projection object which is assumed to live through the run.

Referenced by clone().

## Member Function Documentation

## project()

void Rivet::SVertex::project | ( | const Event & | e | ) |

protected virtual

Apply the projection to the event.

Todo:
  Use acceptance from the FinalState instead

Implements Rivet::Projection.

References Rivet::Particle::genParticle(), Rivet::get2dClosestApproach(), Rivet::get2dDecayLength(), Rivet::Particle::momentum(), Rivet::FinalState::particles(), Rivet::PVertex::position(), Rivet::FourVector::pseudorapidity(), and Rivet::FourMomentum::pT().

Referenced by getTaggedJets().

The documentation for this class was generated from the following files:

- include/Rivet/Projections/SVertex.hh
- src/Projections/SVertex.cc