CommonTools
CandUtils
src
helicityAngle.cc
Go to the documentation of this file.
1
// $Id: helicityAngle.cc,v 1.14 2007/12/11 08:42:53 hegner Exp $
2
#include "
CommonTools/CandUtils/interface/helicityAngle.h
"
3
#include "
DataFormats/Candidate/interface/Candidate.h
"
4
#include "
CommonTools/CandUtils/interface/Booster.h
"
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
}
boost
Definition:
CLHEP.h:16
reco::Candidate
Definition:
Candidate.h:27
std
Definition:
JetResolutionObject.h:76
cms::cuda::assert
assert(be >=bs)
helicityAngle
double helicityAngle(const reco::Candidate &mother, const reco::Candidate &daughter)
return the helicity angle for two particles.
Definition:
helicityAngle.cc:9
Candidate.h
helicityAngle.h
M_PI
#define M_PI
Definition:
BXVectorInputProducer.cc:50
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:46
reco::Particle::Vector
math::XYZVector Vector
point in the space
Definition:
Particle.h:27
cand
Definition:
decayParser.h:32
h
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition:
Activities.doc:4
Booster.h
reco::Particle::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition:
Particle.h:21
reco::Candidate::p4
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
Generated for CMSSW Reference Manual by
1.8.14