Rivet
1.8.3
|
Calculate the hemisphere masses and broadenings. More...
#include <Hemispheres.hh>
Public Member Functions | |
Hemispheres (const AxesDefinition &ax) | |
Constructor. | |
virtual const Projection * | clone () 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 |
![]() | |
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) |
Perform the projection on the Event. | |
int | compare (const Projection &p) const |
Compare with other 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) |
Calculate the hemisphere masses and broadenings.
Calculate the hemisphere masses and broadenings, with event hemispheres defined by the plane normal to the thrust vector, .
The "high" hemisphere mass, , is defined as
and the corresponding "low" hemisphere mass, , is the sum of momentum vectors in the opposite hemisphere, i.e.
in the formula above.
Finally, we define a hemisphere mass difference:
Similarly to the masses, we also define hemisphere broadenings, using the momenta transverse to the thrust axis:
and then a set of the broadening maximum, minimum, sum and difference as follows:
Internally, this projection uses a Thrust or Sphericity projection to determine the hemisphere orientation.