Rivet  1.8.3
Public Member Functions | Protected Member Functions | List of all members
Rivet::Hemispheres Class Reference

Calculate the hemisphere masses and broadenings. More...

#include <Hemispheres.hh>

Inheritance diagram for Rivet::Hemispheres:
Rivet::Projection Rivet::ProjectionApplier

Public Member Functions

 Hemispheres (const AxesDefinition &ax)
 Constructor.
 
virtual const Projectionclone () const
 Clone on the heap.
 
void clear ()
 
bool massMatchesBroadening ()
 Is the hemisphere with the max mass the same as the one with the max broadening?
 
Hemisphere masses (scaled by \f$ 1 / E^2_\mathrm{vis} \f$).
double E2vis () const
 
double Evis () const
 
double M2high () const
 
double Mhigh () const
 
double M2low () const
 
double Mlow () const
 
double M2diff () const
 
double Mdiff () const
 
double scaledM2high () const
 
double scaledMhigh () const
 
double scaledM2low () const
 
double scaledMlow () const
 
double scaledM2diff () const
 
double scaledMdiff () const
 
Hemisphere broadenings.
double Bmax () const
 
double Bmin () const
 
double Bsum () const
 
double Bdiff () const
 
- Public Member Functions inherited from Rivet::Projection
bool before (const Projection &p) const
 
virtual const std::set< PdgIdPairbeamPairs () const
 
virtual std::string name () const
 Get the name of the projection.
 
ProjectionaddPdgIdPair (PdgId beam1, PdgId beam2)
 Add a colliding beam pair.
 
LoggetLog () 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< ConstProjectionPtrgetProjections () 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 ProjectiongetProjection (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)
 Perform the projection on the Event.
 
int compare (const Projection &p) const
 Compare with other projections.
 
- Protected Member Functions inherited from Rivet::Projection
Cmp< ProjectionmkNamedPCmp (const Projection &otherparent, const std::string &pname) const
 
Cmp< ProjectionmkPCmp (const Projection &otherparent, const std::string &pname) const
 
- Protected Member Functions inherited from Rivet::ProjectionApplier
LoggetLog () const
 
ProjectionHandlergetProjHandler () 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

Calculate the hemisphere masses and broadenings.

Calculate the hemisphere masses and broadenings, with event hemispheres defined by the plane normal to the thrust vector, $ \vec{n}_\mathrm{T} $.

The "high" hemisphere mass, $ M^2_\mathrm{high} / E^2_\mathrm{vis} $, is defined as

\[ \frac{M^2_\mathrm{high}}{E^2_\mathrm{vis}} = \frac{1}{E^2_\mathrm{vis}} \max \left( \left| \sum_{\vec{p}_k \cdot \vec{n}_\mathrm{T} > 0} p_k \right|^2 , \left| \sum_{\vec{p}_k \cdot \vec{n}_\mathrm{T} < 0} p_k \right|^2 \right) \]

and the corresponding "low" hemisphere mass, $ M^2_\mathrm{low} / E^2_\mathrm{vis} $, is the sum of momentum vectors in the opposite hemisphere, i.e. $ \max \rightarrow \min $ in the formula above.

Finally, we define a hemisphere mass difference:

\[ \frac{M^2_\mathrm{diff} }{ E^2_\mathrm{vis}} = \frac{ M^2_\mathrm{high} - M^2_\mathrm{low} }{ E^2_\mathrm{vis}} . \]

Similarly to the masses, we also define hemisphere broadenings, using the momenta transverse to the thrust axis:

\[ B_\pm = \frac{ \sum{\pm \vec{p}_i \cdot \vec{n}_\mathrm{T} > 0} |\vec{p}_i \times \vec{n}_\mathrm{T} | }{ 2 \sum_i | \vec{p}_i | } \]

and then a set of the broadening maximum, minimum, sum and difference as follows:

\[ B_\mathrm{max} = \max(B_+, B_-) \]

\[ B_\mathrm{min} = \min(B_+, B_-) \]

\[ B_\mathrm{sum} = B_+ + B_- \]

\[ B_\mathrm{diff} = |B_+ - B_-| \]

Internally, this projection uses a Thrust or Sphericity projection to determine the hemisphere orientation.


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