Rivet API documentation

Rivet 4.1.3
InvMassFinalState.hh
1// -*- C++ -*-
2#ifndef RIVET_InvMassFinalState_HH
3#define RIVET_InvMassFinalState_HH
4
5#include "Rivet/Projections/FinalState.hh"
6
7namespace Rivet {
8
9
12 public:
13
16 const std::pair<PdgId, PdgId>& idpair, // pair of decay products
17 double minmass, // min inv mass
18 double maxmass, // max inv mass
19 double masstarget = -1.0);
20
21
24 const FinalState& fsp,
25 const std::vector<std::pair<PdgId, PdgId>>& idpairs, // vector of pairs of decay products
26 double minmass, // min inv mass
27 double maxmass, // max inv mass
28 double masstarget = -1.0);
29
30
32 InvMassFinalState(const std::pair<PdgId, PdgId>& idpair, // pair of decay products
33 double minmass, // min inv mass
34 double maxmass, // max inv mass
35 double masstarget = -1.0);
37 const std::vector<std::pair<PdgId, PdgId>>& idpairs, // vector of pairs of decay products
38 double minmass, // min inv mass
39 double maxmass, // max inv mass
40 double masstarget = -1.0);
41
42
45
47 using Projection::operator=;
48
49
51 const std::vector<std::pair<Particle, Particle>>& particlePairs() const;
52
53
55 void useTransverseMass(bool usetrans = true) {
56 _useTransverseMass = usetrans;
57 }
58
60 void calc(const Particles& inparticles);
61
62
64 void project(const Event& e);
65
67 CmpState compare(const Projection& p) const;
68
69
70 protected:
71
73 vector<PdgIdPair> _decayids;
74
76 vector<pair<Particle, Particle>> _particlePairs;
77
79 double _minmass;
80
82 double _maxmass;
83
85 double _masstarget;
86
88 bool _useTransverseMass;
89 };
90
91
92}
93
94#endif
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
FinalState(const Cut &c=Cuts::OPEN)
Construction using Cuts object.
InvMassFinalState(const std::pair< PdgId, PdgId > &idpair, double minmass, double maxmass, double masstarget=-1.0)
Same thing as above, but we want to pass the particles directly to the calc method.
CmpState compare(const Projection &p) const
Compare projections.
const std::vector< std::pair< Particle, Particle > > & particlePairs() const
Constituent pairs.
void project(const Event &e)
Apply the projection on the supplied event.
RIVET_DEFAULT_PROJ_CLONE(InvMassFinalState)
Clone on the heap.
InvMassFinalState(const FinalState &fsp, const std::pair< PdgId, PdgId > &idpair, double minmass, double maxmass, double masstarget=-1.0)
Constructor for a single inv-mass pair.
void useTransverseMass(bool usetrans=true)
Choose whether to use the full inv mass or just the transverse mass.
Definition InvMassFinalState.hh:55
void calc(const Particles &inparticles)
Operate on a given particle vector directly instead of through project (no caching).
InvMassFinalState(const FinalState &fsp, const std::vector< std::pair< PdgId, PdgId > > &idpairs, double minmass, double maxmass, double masstarget=-1.0)
Constructor for multiple inv-mass pairs.
Specialised vector of Particle objects.
Definition Particle.hh:21
Base class for all Rivet projections.
Definition Projection.hh:29
double p(const ParticleBase &p)
Unbound function access to p.
Definition ParticleBaseUtils.hh:819
Definition LHCbCommon.hh:9