#include <Thrust.h>
Classes | |
struct | ThetaPhi |
Public Types | |
typedef math::XYZVector | Vector |
spatial vector More... | |
Public Member Functions | |
const Vector & | axis () const |
thrust axis (with magnitude = 1) More... | |
template<typename const_iterator > | |
Thrust (const_iterator begin, const_iterator end) | |
constructor from first and last iterators More... | |
double | thrust () const |
thrust value (in the range [0.5, 1.0]) More... | |
Private Member Functions | |
Vector | axis (double theta, double phi) const |
Vector | axis (const ThetaPhi &tp) const |
ThetaPhi | finalAxis (ThetaPhi) const |
void | init (const std::vector< const reco::Candidate * > &) |
ThetaPhi | initialAxis () const |
void | parabola (double &a, double &b, double &c, const Vector &, const Vector &, const Vector &) const |
double | thrust (const Vector &theAxis) const |
Private Attributes | |
Vector | axis_ |
const unsigned int | n_ |
std::vector< Vector > | p_ |
double | pSum_ |
double | thrust_ |
Utility to compute thrust value and axis from a collection of candidates.
Ported from BaBar implementation.
The thrust axis is the vector T which maximises the following expression:
sum_i=1...N ( | T . p_i | )
t = ------------------------------— sum_i=1...N ( (p_i . _p_i)^(1/2) )
where p_i, i=1...N are the particle momentum vectors. The thrust value is the maximum value of t.
The thrust axis has a two-fold ambiguity due to taking the absolute value of the dot product. This computation returns by convention a thurs axis with a positive component along the z-direction is positive.
The thrust measure the alignment of a collection of particles along a common axis. The lower the thrust, the more spherical the event is. The higher the thrust, the more jet-like the
typedef math::XYZVector Thrust::Vector |
|
inline |
|
inline |
|
private |
Definition at line 134 of file Thrust.cc.
References funct::cos(), and funct::sin().
Definition at line 74 of file Thrust.h.
References axis(), Thrust::ThetaPhi::phi, and Thrust::ThetaPhi::theta.
|
private |
Definition at line 63 of file Thrust.cc.
References a, b, trackerHits::c, run_regression::done, epsilon, Thrust::ThetaPhi::phi, pi, pi2, pi_2, pi_4, and Thrust::ThetaPhi::theta.
|
private |
Definition at line 6 of file Thrust.cc.
References axis_, i, alignCSCRings::r, and edmStreamStallGrapher::t.
Referenced by Thrust().
|
private |
Definition at line 16 of file Thrust.cc.
References a, b, trackerHits::c, funct::cos(), i, cmsHarvester::index, j, bookConverter::max, phi, pi, pi2, alignCSCRings::r, funct::sin(), mathSSE::sqrt(), and detailsBasic3DVector::z.
|
private |
|
inline |
thrust value (in the range [0.5, 1.0])
Definition at line 55 of file Thrust.h.
References thrust_.
Referenced by Rivet::CMS_EWK_11_021::analyze().
|
private |
|
private |