#include <TwoBodyDecayDerivatives.h>
Public Types | |
enum | { dimension = 6 } |
enum | DerivativeParameterName { px = 1, py = 2, pz = 3, theta = 4, phi = 5, mass = 6 } |
Public Member Functions | |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | derivatives (const TwoBodyDecay &tbd) const |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | derivatives (const TwoBodyDecayParameters ¶m) const |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | selectedDerivatives (const TwoBodyDecay &tbd, const std::vector< bool > &selector) const |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | selectedDerivatives (const TwoBodyDecayParameters ¶m, const std::vector< bool > &selector) const |
TwoBodyDecayDerivatives (double mPrimary=91.1876, double mSecondary=0.105658) | |
~TwoBodyDecayDerivatives () | |
Private Member Functions | |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | dqsdm (const TwoBodyDecayParameters ¶m) const |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | dqsdphi (const TwoBodyDecayParameters ¶m) const |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | dqsdpx (const TwoBodyDecayParameters ¶m) const |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | dqsdpy (const TwoBodyDecayParameters ¶m) const |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | dqsdpz (const TwoBodyDecayParameters ¶m) const |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | dqsdtheta (const TwoBodyDecayParameters ¶m) const |
const std::pair < AlgebraicMatrix, AlgebraicMatrix > | dqsdzi (const TwoBodyDecayParameters ¶m, const DerivativeParameterName &i) const |
Private Attributes | |
double | thePrimaryMass |
double | theSecondaryMass |
/class TwoBodyDecayDerivatives
This class provides the derivatives matrices need by the class TwoBodyDecayEstimator.
/author Edmund Widl
Definition at line 14 of file TwoBodyDecayDerivatives.h.
anonymous enum |
TwoBodyDecayDerivatives::TwoBodyDecayDerivatives | ( | double | mPrimary = 91.1876 , |
double | mSecondary = 0.105658 |
||
) |
Definition at line 9 of file TwoBodyDecayDerivatives.cc.
TwoBodyDecayDerivatives::~TwoBodyDecayDerivatives | ( | ) |
Definition at line 13 of file TwoBodyDecayDerivatives.cc.
const std::pair< AlgebraicMatrix, AlgebraicMatrix > TwoBodyDecayDerivatives::derivatives | ( | const TwoBodyDecay & | tbd | ) | const |
Derivatives of the lab frame momenta (in cartesian representation) of the secondaries w.r.t. z=(px,py,pz,theta,phi,m).
Definition at line 17 of file TwoBodyDecayDerivatives.cc.
References TwoBodyDecay::decayParameters().
Referenced by TwoBodyDecayTrajectoryState::construct(), and TwoBodyDecayEstimator::constructMatrices().
const std::pair< AlgebraicMatrix, AlgebraicMatrix > TwoBodyDecayDerivatives::derivatives | ( | const TwoBodyDecayParameters & | param | ) | const |
Derivatives of the lab frame momenta (in cartesian representation) of the secondaries w.r.t. z=(px,py,pz,theta,phi,m).
Definition at line 23 of file TwoBodyDecayDerivatives.cc.
References dimension, dqsdm(), dqsdphi(), dqsdpx(), dqsdpy(), dqsdpz(), dqsdtheta(), mass, phi, px, py, pz, and theta.
|
private |
Derivatives of the lab frame momenta of the secondaries w.r.t. the mass of the primary
Definition at line 393 of file TwoBodyDecayDerivatives.cc.
References alignmentValidation::c1, funct::cos(), p2, phi, TwoBodyDecayParameters::phi, TwoBodyDecayParameters::px, px, TwoBodyDecayParameters::py, py, pz, TwoBodyDecayParameters::pz, TwoBodyDecayModel::rotationMatrix(), funct::sin(), mathSSE::sqrt(), thePrimaryMass, theSecondaryMass, theta, and TwoBodyDecayParameters::theta.
Referenced by derivatives(), and dqsdzi().
|
private |
Derivatives of the lab frame momenta of the secondaries w.r.t. the decay angle phi in the primary's rest frame.
Definition at line 355 of file TwoBodyDecayDerivatives.cc.
References alignmentValidation::c1, funct::cos(), TwoBodyDecayParameters::phi, phi, TwoBodyDecayParameters::px, px, TwoBodyDecayParameters::py, py, pz, TwoBodyDecayParameters::pz, TwoBodyDecayModel::rotationMatrix(), funct::sin(), mathSSE::sqrt(), thePrimaryMass, theSecondaryMass, theta, and TwoBodyDecayParameters::theta.
Referenced by derivatives(), and dqsdzi().
|
private |
Derivatives of the lab frame momenta of the secondaries w.r.t. px of the primary particle.
Definition at line 91 of file TwoBodyDecayDerivatives.cc.
References alignmentValidation::c1, funct::cos(), AlCaHLTBitMon_ParallelJobs::p, p2, phi, TwoBodyDecayParameters::phi, TwoBodyDecayParameters::px, px, TwoBodyDecayParameters::py, py, pz, TwoBodyDecayParameters::pz, funct::sin(), mathSSE::sqrt(), thePrimaryMass, theSecondaryMass, theta, and TwoBodyDecayParameters::theta.
Referenced by derivatives(), and dqsdzi().
|
private |
Derivatives of the lab frame momenta of the secondaries w.r.t. py of the primary particle.
Definition at line 164 of file TwoBodyDecayDerivatives.cc.
References alignmentValidation::c1, funct::cos(), AlCaHLTBitMon_ParallelJobs::p, p2, phi, TwoBodyDecayParameters::phi, TwoBodyDecayParameters::px, px, TwoBodyDecayParameters::py, py, pz, TwoBodyDecayParameters::pz, funct::sin(), mathSSE::sqrt(), thePrimaryMass, theSecondaryMass, theta, and TwoBodyDecayParameters::theta.
Referenced by derivatives(), and dqsdzi().
|
private |
Derivatives of the lab frame momenta of the secondaries w.r.t. pz of the primary particle.
Definition at line 237 of file TwoBodyDecayDerivatives.cc.
References alignmentValidation::c1, funct::cos(), AlCaHLTBitMon_ParallelJobs::p, p2, phi, TwoBodyDecayParameters::phi, TwoBodyDecayParameters::px, px, TwoBodyDecayParameters::py, py, pz, TwoBodyDecayParameters::pz, funct::sin(), mathSSE::sqrt(), thePrimaryMass, theSecondaryMass, theta, and TwoBodyDecayParameters::theta.
Referenced by derivatives(), and dqsdzi().
|
private |
Derivatives of the lab frame momenta of the secondaries w.r.t. the decay angle theta in the primary's rest frame.
Definition at line 310 of file TwoBodyDecayDerivatives.cc.
References alignmentValidation::c1, funct::cos(), p2, phi, TwoBodyDecayParameters::phi, TwoBodyDecayParameters::px, px, TwoBodyDecayParameters::py, py, pz, TwoBodyDecayParameters::pz, TwoBodyDecayModel::rotationMatrix(), funct::sin(), mathSSE::sqrt(), thePrimaryMass, theSecondaryMass, theta, and TwoBodyDecayParameters::theta.
Referenced by derivatives(), and dqsdzi().
|
private |
Definition at line 437 of file TwoBodyDecayDerivatives.cc.
References dqsdm(), dqsdphi(), dqsdpx(), dqsdpy(), dqsdpz(), dqsdtheta(), edm::hlt::Exception, mass, phi, px, py, pz, and theta.
Referenced by selectedDerivatives().
const std::pair< AlgebraicMatrix, AlgebraicMatrix > TwoBodyDecayDerivatives::selectedDerivatives | ( | const TwoBodyDecay & | tbd, |
const std::vector< bool > & | selector | ||
) | const |
Derivatives of the lab frame momenta (in cartesian representation) of the secondaries w.r.t. the selected parameters.
Definition at line 54 of file TwoBodyDecayDerivatives.cc.
References TwoBodyDecay::decayParameters().
const std::pair< AlgebraicMatrix, AlgebraicMatrix > TwoBodyDecayDerivatives::selectedDerivatives | ( | const TwoBodyDecayParameters & | param, |
const std::vector< bool > & | selector | ||
) | const |
Derivatives of the lab frame momenta (in cartesian representation) of the secondaries w.r.t. the selected parameters.
Definition at line 61 of file TwoBodyDecayDerivatives.cc.
References prof2calltree::count, dimension, dqsdzi(), edm::hlt::Exception, i, and funct::true.
|
private |
Definition at line 76 of file TwoBodyDecayDerivatives.h.
Referenced by dqsdm(), dqsdphi(), dqsdpx(), dqsdpy(), dqsdpz(), and dqsdtheta().
|
private |
Definition at line 77 of file TwoBodyDecayDerivatives.h.
Referenced by dqsdm(), dqsdphi(), dqsdpx(), dqsdpy(), dqsdpz(), and dqsdtheta().