CMS 3D CMS Logo

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.

References h, M_PI, and reco::Candidate::p4().

Referenced by helicityAngle().

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 }
Definition: CLHEP.h:16
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
ROOT::Math::Plane3D::Vector Vector
Definition: EcalHitMaker.cc:29
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
#define M_PI
math::PtEtaPhiELorentzVectorF LorentzVector
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 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) ...
double helicityAngle(const reco::Candidate &mother, const reco::Candidate &daughter)
return the helicity angle for two particles.
Definition: helicityAngle.cc:9
virtual size_type numberOfDaughters() const =0
number of daughters