CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
helicityAngle.cc File Reference
#include "CommonTools/CandUtils/interface/helicityAngle.h"
#include "DataFormats/Candidate/interface/Candidate.h"
#include "CommonTools/CandUtils/interface/Booster.h"
#include <Math/VectorUtil.h>

Go to the source code of this file.

Functions

double helicityAngle (const reco::Candidate &mother, const reco::Candidate &daughter)
 return the helicity angle for two particles. More...
 
double helicityAngle (const Candidate &cand)
 

Function Documentation

double helicityAngle ( const reco::Candidate mother,
const reco::Candidate daughter 
)

return the helicity angle for two particles.

helicityAngle

Utility function that returns the helicity angle It is defined as the angle between the candidate momentum and one of the daughters momentum in the mother's center-of-mass reference frame. This angle has a two-fold ambiguity (h, pi - h ), and by convention the angle smaller than pi/2 is chosen.

Author
Luca Lista, INFN
Version
Revision:
1.7
Id:
helicityAngle.h,v 1.7 2007/12/11 08:42:52 hegner Exp

Definition at line 9 of file helicityAngle.cc.

9  {
10  Particle::Vector boost = mother.p4().BoostToCM();
11  Particle::LorentzVector pdau = ROOT::Math::VectorUtil::boost( daughter.p4(), boost );
12  double h = ROOT::Math::VectorUtil::Angle( pdau, boost );
13  if ( h > M_PI / 2 ) h = M_PI - h;
14  return h;
15 }
ROOT::Math::Plane3D::Vector Vector
Definition: EcalHitMaker.cc:29
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
#define M_PI
math::PtEtaPhiELorentzVectorF LorentzVector
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
double helicityAngle ( const reco::Candidate c)

return the helicity angle of a two body decay with daughter automatically retreived Note: asserts if the candidate does not have two daughters

Definition at line 18 of file helicityAngle.cc.

References assert(), reco::Candidate::daughter(), helicityAngle(), and reco::Candidate::numberOfDaughters().

18  {
19  assert( cand.numberOfDaughters() == 2 );
20  return helicityAngle( cand, *cand.daughter(0) );
21 }
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
assert(m_qm.get())
virtual size_type numberOfDaughters() const =0
number of daughters
double helicityAngle(const reco::Candidate &mother, const reco::Candidate &daughter)
return the helicity angle for two particles.
Definition: helicityAngle.cc:9