#include <Thrust.hh>
Inheritance diagram for Thrust:
, with the direction of the unit vector which maximises
being identified as the thrust axis. The unit vector which maximises the thrust scalar in the plane perpendicular to
is the "thrust major" direction, and the vector perpendicular to both the thrust and thrust major directions is the thrust minor. Both the major and minor directions have associated thrust scalars.
Thrust calculations have particularly simple forms for less than 4 particles, and in those cases this projection is computationally minimal. For 4 or more particles, a more general calculation must be carried out, based on the Brandt/Dahmen method from Z. Phys. C1 (1978). While a polynomial improvement on the exponential scaling of the naive method, this algorithm scales asymptotically as . Be aware that the thrust may easily be the most computationally demanding projection in Rivet for large events!
The Rivet implementation of thrust is based heavily on Stefan Gieseke's Herwig++ re-coding of the 'tasso' code from HERWIG.
Definition at line 42 of file Thrust.hh.
Public Member Functions | |
Thrust (FinalState &fsp) | |
Constructor. The FinalState projection must live throughout the run. | |
string | getName () const |
Return the name of the projection. | |
bool | before (const Projection &p) const |
virtual const Cuts | getCuts () const |
virtual const set< BeamPair > | getBeamPairs () const |
set< Projection * > | getProjections () const |
Get the contained projections, including recursion. | |
const double | thrust () const |
const double | thrustMajor () const |
The thrust major scalar, ![]() | |
const double | thrustMinor () const |
The thrust minor scalar, ![]() | |
const double | oblateness () const |
The oblateness, ![]() | |
const Vector3 & | thrustAxis () const |
const Vector3 & | thrustMajorAxis () const |
The thrust major axis (axis of max thrust perpendicular to thrust axis). | |
const Vector3 & | thrustMinorAxis () const |
The thrust minor axis (axis perpendicular to thrust and thrust major). | |
Protected Member Functions | |
void | project (const Event &e) |
Perform the projection on the Event. | |
int | compare (const Projection &p) const |
Compare projections. | |
Projection & | addProjection (Projection &proj) |
Add a projection dependency to the projection list. | |
Projection & | addBeamPair (const ParticleName &beam1, const ParticleName &beam2) |
Add a colliding beam pair. | |
Projection & | addCut (const string &quantity, const Comparison &comparison, const double value) |
Add a cut. | |
Log & | getLog () |
Get a Log object based on the getName() property of the calling projection object. | |
Protected Attributes | |
Cuts | _cuts |
Parameter constraints. | |
set< BeamPair > | _beamPairs |
Beam-type constraint. | |
set< Projection * > | _projections |
Collection of pointers to projections, for automatically combining constraints. | |
Friends | |
class | Event |
Event is a friend. | |
class | Cmp<Projection> |
The Cmp specialization for Projection is a friend. |
|
Constructor. The FinalState projection must live throughout the run.
|
|
Add a colliding beam pair.
Definition at line 145 of file Projection.hh. References Rivet::BeamPair. |
|
Add a cut.
Definition at line 151 of file Projection.hh. |
|
Add a projection dependency to the projection list.
Definition at line 139 of file Projection.hh. |
|
Determine whether this object should be ordered before the object p given as argument. If p is of a different class than this, the before() function of the corresponding type_info objects is used. Otherwise, if the objects are of the same class, the virtual compare(const Projection &) will be returned. Definition at line 88 of file Projection.hh. Referenced by less< const Rivet::Projection * >::operator()(). |
|
Compare projections.
Implements Projection. |
|
Return the BeamConstraints for this projection. Derived classes should ensure that all contained projections are registered in the _projections set for the beam constraint chaining to work. Definition at line 114 of file Projection.hh. References Cuts::end(), and Rivet::intersection(). |
|
Return the Cuts objects for this projection. Derived classes should ensure that all contained projections are registered in the _projections set for the cut chaining to work. Definition at line 102 of file Projection.hh. References Cuts::addCuts(). |
|
Get a Log object based on the getName() property of the calling projection object.
Definition at line 7 of file Projection.cc. References Log::getLog(), and Projection::getName(). Referenced by VetoedFinalState::project(), TrackJet::project(), TotalVisibleMomentum::project(), Sphericity::project(), Multiplicity::project(), ChargedLeptons::project(), ChargedFinalState::project(), and Beam::project(). |
|
Return the name of the projection.
Reimplemented from Projection. |
|
Get the contained projections, including recursion.
Definition at line 128 of file Projection.hh. References Cuts::end(). |
|
The oblateness,
Definition at line 78 of file Thrust.hh. Referenced by ZPhys73C11::analyze(). |
|
Perform the projection on the Event.
Implements Projection. Definition at line 200 of file Thrust.cc. References Event::applyProjection(). |
|
Thrust scalar accessors The thrust scalar, Definition at line 72 of file Thrust.hh. Referenced by ZPhys73C11::analyze(), and TestAnalysis::analyze(). |
|
Thrust axis accessors The thrust axis. Definition at line 83 of file Thrust.hh. Referenced by ZPhys73C11::analyze(). |
|
The thrust major scalar,
Definition at line 74 of file Thrust.hh. Referenced by ZPhys73C11::analyze(). |
|
The thrust major axis (axis of max thrust perpendicular to thrust axis).
Definition at line 85 of file Thrust.hh. Referenced by ZPhys73C11::analyze(). |
|
The thrust minor scalar,
Definition at line 76 of file Thrust.hh. Referenced by ZPhys73C11::analyze(). |
|
The thrust minor axis (axis perpendicular to thrust and thrust major).
Definition at line 87 of file Thrust.hh. Referenced by ZPhys73C11::analyze(). |
|
The Cmp specialization for Projection is a friend.
Definition at line 31 of file Projection.hh. |
|
Event is a friend.
Definition at line 28 of file Projection.hh. |
|
Beam-type constraint.
Definition at line 164 of file Projection.hh. |
|
Parameter constraints.
Definition at line 161 of file Projection.hh. |
|
Collection of pointers to projections, for automatically combining constraints.
Definition at line 167 of file Projection.hh. |