Rivet
1.8.3
|
Determine secondary vertices. More...
#include <SVertex.hh>
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. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
Cmp< Projection > | mkNamedPCmp (const Projection &otherparent, const std::string &pname) const |
Cmp< Projection > | mkPCmp (const Projection &otherparent, const std::string &pname) const |
![]() | |
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) |
Determine secondary vertices.
Makes use of PVertex projection.
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
|
inline |
|
protectedvirtual |
Apply the projection to the event.
Implements Rivet::Projection.
References Rivet::Particle::genParticle(), Rivet::get2dDecayLength(), Rivet::Particle::momentum(), Rivet::FinalState::particles(), Rivet::PVertex::position(), and Rivet::FourVector::pseudorapidity().