Rivet: /Users/chrisg/software/rivet/include/Rivet/Projections/InvMassFinalState.hh Source File

| Rivet 3.1.9

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
11 class InvMassFinalState : public FinalState {
12 public:
13
15 InvMassFinalState(const FinalState& fsp,
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
23 InvMassFinalState(const FinalState& fsp,
24 const std::vector<std::pair<PdgId, PdgId> >& idpairs, // vector of pairs of decay products
25 double minmass, // min inv mass
26 double maxmass, // max inv mass
27 double masstarget=-1.0);
28
29
31 InvMassFinalState(const std::pair<PdgId, PdgId>& idpair, // pair of decay products
32 double minmass, // min inv mass
33 double maxmass, // max inv mass
34 double masstarget=-1.0);
35 InvMassFinalState(const std::vector<std::pair<PdgId, PdgId> >& idpairs, // vector of pairs of decay products
36 double minmass, // min inv mass
37 double maxmass, // max inv mass
38 double masstarget=-1.0);
39
40
42 DEFAULT_RIVET_PROJ_CLONE(InvMassFinalState);
43
45 using Projection::operator =;
46
47
49 const std::vector<std::pair<Particle, Particle> >& particlePairs() const;
50
51
53 void useTransverseMass(bool usetrans=true) {
54 _useTransverseMass = usetrans;
55 }
56
58 void calc(const Particles& inparticles);
59
60
62 void project(const Event& e);
63
65 CmpState compare(const Projection& p) const;
66
67
68 protected:
69
71 vector<PdgIdPair> _decayids;
72
74 vector<pair<Particle, Particle> > _particlePairs;
75
77 double _minmass;
78
80 double _maxmass;
81
83 double _masstarget;
84
86 bool _useTransverseMass;
87
88 };
89
90
91}
92
93#endif
Rivet::Event
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
Rivet::FinalState
Project out all final-state particles in an event. Probably the most important projection in Rivet!
Definition FinalState.hh:12
Rivet::InvMassFinalState
Identify particles which can be paired to fit within a given invariant mass window.
Definition InvMassFinalState.hh:11
Rivet::InvMassFinalState::InvMassFinalState
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.
Rivet::InvMassFinalState::compare
CmpState compare(const Projection &p) const
Compare projections.
Rivet::InvMassFinalState::particlePairs
const std::vector< std::pair< Particle, Particle > > & particlePairs() const
Constituent pairs.
Rivet::InvMassFinalState::project
void project(const Event &e)
Apply the projection on the supplied event.
Rivet::InvMassFinalState::DEFAULT_RIVET_PROJ_CLONE
DEFAULT_RIVET_PROJ_CLONE(InvMassFinalState)
Clone on the heap.
Rivet::InvMassFinalState::InvMassFinalState
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.
Rivet::InvMassFinalState::useTransverseMass
void useTransverseMass(bool usetrans=true)
Choose whether to use the full inv mass or just the transverse mass.
Definition InvMassFinalState.hh:53
Rivet::InvMassFinalState::calc
void calc(const Particles &inparticles)
Operate on a given particle vector directly instead of through project (no caching)
Rivet::InvMassFinalState::InvMassFinalState
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.
Rivet::Particles
Specialised vector of Particle objects.
Definition Particle.hh:25
Rivet::Projection
Base class for all Rivet projections.
Definition Projection.hh:29
Rivet::Kin::p
double p(const ParticleBase &p)
Unbound function access to p.
Definition ParticleBaseUtils.hh:684
Rivet
Definition MC_Cent_pPb.hh:10