CMS 3D CMS Logo

helicityAngle.cc
Go to the documentation of this file.
1 // $Id: helicityAngle.cc,v 1.14 2007/12/11 08:42:53 hegner Exp $
5 #include <Math/VectorUtil.h>
6 using namespace reco;
7 using namespace std;
8 
9 double helicityAngle(const reco::Candidate& mother, const reco::Candidate& daughter) {
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)
14  h = M_PI - h;
15  return h;
16 }
17 
18 double helicityAngle(const Candidate& cand) {
19  assert(cand.numberOfDaughters() == 2);
20  return helicityAngle(cand, *cand.daughter(0));
21 }
cms::cuda::assert
assert(be >=bs)
Booster.h
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
h
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
boost
Definition: CLHEP.h:16
reco::Particle::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Particle.h:21
reco::Particle::Vector
math::XYZVector Vector
point in the space
Definition: Particle.h:27
h
helicityAngle
double helicityAngle(const reco::Candidate &mother, const reco::Candidate &daughter)
return the helicity angle for two particles.
Definition: helicityAngle.cc:9
cand
Definition: decayParser.h:32
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
reco::Candidate
Definition: Candidate.h:27
std
Definition: JetResolutionObject.h:76
reco::Candidate::p4
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
helicityAngle.h
Candidate.h