rivet is hosted by Hepforge, IPPP Durham
Rivet  2.7.0
InvMassFinalState.hh
1 // -*- C++ -*-
2 #ifndef RIVET_InvMassFinalState_HH
3 #define RIVET_InvMassFinalState_HH
4 
5 #include "Rivet/Projections/FinalState.hh"
6 
7 namespace 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 
43 
44 
46  const std::vector<std::pair<Particle, Particle> >& particlePairs() const;
47 
48 
50  void useTransverseMass(bool usetrans=true) {
51  _useTransverseMass = usetrans;
52  }
53 
55  void calc(const Particles& inparticles);
56 
57 
59  void project(const Event& e);
60 
62  int compare(const Projection& p) const;
63 
64 
65  private:
66 
68  vector<PdgIdPair> _decayids;
69 
71  vector<pair<Particle, Particle> > _particlePairs;
72 
74  double _minmass;
75 
77  double _maxmass;
78 
80  double _masstarget;
81 
83  bool _useTransverseMass;
84 
85  };
86 
87 
88 }
89 
90 
91 #endif
Definition: ALICE_2010_I880049.cc:13
Identify particles which can be paired to fit within a given invariant mass window.
Definition: InvMassFinalState.hh:11
void project(const Event &e)
Apply the projection on the supplied event.
Definition: InvMassFinalState.cc:80
const std::vector< std::pair< Particle, Particle > > & particlePairs() const
Constituent pairs.
Definition: InvMassFinalState.cc:180
DEFAULT_RIVET_PROJ_CLONE(InvMassFinalState)
Clone on the heap.
Definition: Event.hh:22
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.
Project out all final-state particles in an event. Probably the most important projection in Rivet! ...
Definition: FinalState.hh:12
int compare(const Projection &p) const
Compare projections.
Definition: InvMassFinalState.cc:53
void useTransverseMass(bool usetrans=true)
Choose whether to use the full inv mass or just the transverse mass.
Definition: InvMassFinalState.hh:50
void calc(const Particles &inparticles)
Operate on a given particle vector directly instead of through project (no caching) ...
Definition: InvMassFinalState.cc:86
Base class for all Rivet projections.
Definition: Projection.hh:29