#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 |
constructor from first and last iterators
Definition at line 44 of file Thrust.h.
References egammaForCoreTracking_cff::cands, end, mps_fire::i, init(), and n_.
|
inline |
|
private |
Definition at line 74 of file Thrust.h.
References a, axis(), b, EnergyCorrector::c, init(), parabola(), Thrust::ThetaPhi::phi, and Thrust::ThetaPhi::theta.
|
private |
Definition at line 63 of file Thrust.cc.
References a, b, EnergyCorrector::c, geometryDiff::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_, mps_fire::i, alignCSCRings::r, and lumiQTWidget::t.
Referenced by axis(), and Thrust().
|
private |
Definition at line 16 of file Thrust.cc.
References a, b, EnergyCorrector::c, funct::cos(), mps_fire::i, SiStripPI::max, pi, pi2, alignCSCRings::r, funct::sin(), and mathSSE::sqrt().
|
private |
|
inline |
|
private |
|
private |