#include <ChargedParticleTrack.h>
Inheritance diagram for ChargedParticleTrack:


Public Member Functions | |
| ChargedParticleTrack (const char *name_, double kappa, double phi0, double theta, double dca, double z0, double mass, double charge_, double sstart, double sstop) | |
| Constructor from (kappa, phi0, theta, dca, z0, mass, sstart, sstop). | |
| ChargedParticleTrack (const char *name_, double kappa, double phi0, double theta, double dca, double z0, double mass, double charge_, double sstart) | |
| Constructor from (kappa, phi0, theta, dca, z0, mass, sstart). | |
| ChargedParticleTrack (const char *name_, const ThreeVector &vertex, const ThreeVector &momentum, double mass_, double charge_=1) | |
| Constructor from a (start) vertex and a momentum vector. | |
| ChargedParticleTrack (const char *name_, const float par_[5], const float cov_[15], double mass_, double charge_=1, double sstart=0, double sstop=0) | |
| Constructor from an array of parameters, an array of covariances. | |
| virtual | ~ChargedParticleTrack () |
| Destructor. | |
| virtual int | getNPar () const |
| Get number of parameters of this FitObject. | |
| virtual bool | setParam (int ilocal, double par_, bool measured_, bool fixed_=false) |
| Set value and measured flag of parameter ilocal; return=success. | |
| virtual bool | setParam (int ilocal, double par_) |
| Set value of parameter ilocal; return=success. | |
| virtual bool | setParameters (int ivertex, const ThreeVector &vertex, const FourVector &momentum, double charge_) |
| Set parameters such that track passes through a vertex with a given 4-momentum; return=success. | |
| virtual const char * | getParamName (int ilocal) const |
| Get name of parameter ilocal. | |
| virtual void | getTrajectoryPointEx (double s, ThreeVector &p) const |
| Get point along trajectory into existing 3-vector. | |
| virtual void | getVertexEx (int ivertex, ThreeVector &p) const |
| Get start (ivertex=0) or stop (ivertex=1) vertex into existing 3-vector. | |
| virtual void | setVertex (int ivertex, const TwoVector &p) |
| Set start (i=0) or stop (i=1) vertex to a point as close as possible to given point. | |
| virtual void | getTrajectoryDerivativeEx (double s, int ilocal, ThreeVector &p) const |
| Get derivative of trajectory w.r.t. parameter ilocal into existing 3-vector. | |
| virtual void | getVertexDerivativeEx (int ivertex, int ilocal, ThreeVector &p) const |
| Get derivative of vertex w.r.t. parameter ilocal into existing 3-vector. | |
| virtual void | getMomentumAtTrajectoryEx (double s, FourVector &p) const |
| Get momentum along trajectory into existing 4-vector. | |
| virtual void | getMomentumEx (int ivertex, FourVector &p) const |
| Get momentum at vertex into existing 4-vector. | |
| virtual double | getCharge () const |
| Get charge in units of e. | |
| virtual void | getMomentumDerivativeAtTrajectoryEx (double s, int ilocal, FourVector &p) const |
| Get momentum derivative along trajectory into existing 4-vector. | |
| virtual void | getMomentumDerivativeEx (int ivertex, int ilocal, FourVector &p) const |
| Get derivative of momentum w.r.t. parameter ilocal into existing 4-vector. | |
| virtual double | getArcLength (int i) const |
| Get s (arclength in r/phi) of vertex i. | |
| virtual double | getDChi2DParam (int ilocal) const |
| Get derivative of chi squared w.r.t. parameter ilocal. | |
| virtual double | getD2Chi2DParam2 (int ilocal1, int ilocal2) const |
| Get second derivative of chi squared w.r.t. parameters ilocal1 and ilocal2. | |
| virtual void | addToGlobalChi2DerMatrix (int idim, double *M) const |
| Add derivatives of chi squared to global covariance matrix. | |
| virtual void | addToGlobalDerMatrix (int idim, double c, double *M) const |
| Add derivatives to global covariance matrix. | |
| virtual JBLHelix | getTangentialHelix (double s) |
| Get helix that is tangential at a certain arc length s. | |
| virtual double | getMass () const |
| get Mass | |
| virtual bool | fixVertexParam (int ivertex, bool fix=true) |
| Fix parameter(s) pertaining to a vertex, or release it. | |
Static Public Attributes | |
| const double | parfact [NPARMAX] |
| Factor between internal and external parameters. | |
Protected Types | |
| enum | { NPAR = 8 } |
| Number of parameters. More... | |
Protected Member Functions | |
| void | updateCache () const |
| Update the cache values. | |
| virtual void | initCov (const float cov_[15]) |
| init covariance matrix from an array | |
| double | getNormalS (double s) const |
| Get smallest s that corresponds to same (x, y). | |
Protected Attributes | |
| double | kappa |
| kappa = parfact[0]*par[0] | |
| double | phi0 |
| phi0 = parfact[1]*par[1] | |
| double | theta |
| theta = parfact[2]*par[2] | |
| double | dca |
| dca = parfact[3]*par[3] | |
| double | z0 |
| z0 = parfact[4]*par[4] | |
| double | mass |
| mass = parfact[5]*par[5] | |
| double | r |
| 1/kappa | |
| double | sphi0 |
| sin(phi0) | |
| double | cphi0 |
| cos(phi0) | |
| double | dcamir |
| dca - r | |
| double | cottheta |
| cotan (theta) | |
| double | sintheta |
| sin (theta) | |
| double | sin2theta |
| sin^2 (theta) | |
| double | cBq |
| cB * charge | |
| double | pt |
| -cBq/kappa | |
| double | momentum |
| -cBq/[kappa*sin(theta)]; | |
| double | momderfact |
| +cBq/kappa^2; | |
| double | energy |
| sqrt ((cB/[kappa*sin(theta)])^2 + mass^2) | |
| double | beta |
| momentum/energy; | |
| double | charge |
| charge (in units of e) | |
Parameters:
Definition at line 38 of file ChargedParticleTrack.h.
|
|
Number of parameters.
Definition at line 194 of file ChargedParticleTrack.h. |
|
||||||||||||||||||||||||||||||||||||||||||||
|
Constructor from (kappa, phi0, theta, dca, z0, mass, sstart, sstop).
Definition at line 32 of file ChargedParticleTrack.C. References TrackFitObject::initCov(), parfact, TrackFitObject::setMParam(), and setParam(). |
|
||||||||||||||||||||||||||||||||||||||||
|
Constructor from (kappa, phi0, theta, dca, z0, mass, sstart).
Definition at line 60 of file ChargedParticleTrack.C. References TrackFitObject::initCov(), parfact, TrackFitObject::setMParam(), and setParam(). |
|
||||||||||||||||||||||||
|
Constructor from a (start) vertex and a momentum vector.
Definition at line 87 of file ChargedParticleTrack.C. References TrackFitObject::bfield, cBq, charge, dca, FourVector::getPhi(), FourVector::getPt(), FourVector::getTheta(), ThreeVector::getX(), ThreeVector::getY(), ThreeVector::getZ(), TrackFitObject::initCov(), kappa, parfact, phi0, r, TrackFitObject::setMParam(), setParam(), setParameters(), theta, and z0. |
|
||||||||||||||||||||||||||||||||
|
Constructor from an array of parameters, an array of covariances.
Definition at line 152 of file ChargedParticleTrack.C. References TrackFitObject::calculateCovInv(), TrackFitObject::initCov(), parfact, TrackFitObject::setMParam(), and setParam(). |
|
|
Destructor.
Definition at line 178 of file ChargedParticleTrack.C. |
|
||||||||||||
|
Add derivatives of chi squared to global covariance matrix.
Implements TrackFitObject. Definition at line 165 of file ChargedParticleTrack.h. |
|
||||||||||||||||
|
Add derivatives to global covariance matrix.
Implements TrackFitObject. Definition at line 167 of file ChargedParticleTrack.h. |
|
||||||||||||
|
Fix parameter(s) pertaining to a vertex, or release it.
Implements TrackFitObject. Definition at line 179 of file ChargedParticleTrack.h. References TrackFitObject::fixParam(). |
|
|
Get s (arclength in r/phi) of vertex i.
Implements TrackFitObject. Definition at line 509 of file ChargedParticleTrack.C. References NPAR, TrackFitObject::par, and parfact. |
|
|
Get charge in units of e.
Implements TrackFitObject. Definition at line 432 of file ChargedParticleTrack.C. Referenced by K0Event::createSmearedChargedTrack(). |
|
||||||||||||
|
Get second derivative of chi squared w.r.t. parameters ilocal1 and ilocal2.
Implements TrackFitObject. Definition at line 162 of file ChargedParticleTrack.h. |
|
|
Get derivative of chi squared w.r.t. parameter ilocal.
Implements TrackFitObject. Definition at line 160 of file ChargedParticleTrack.h. |
|
|
get Mass
Implements TrackFitObject. Definition at line 436 of file ChargedParticleTrack.C. References TrackFitObject::par, and parfact. Referenced by K0Event::createSmearedChargedTrack(). |
|
||||||||||||
|
Get momentum along trajectory into existing 4-vector.
Implements TrackFitObject. Definition at line 418 of file ChargedParticleTrack.C. References TrackFitObject::cachevalid, cottheta, energy, kappa, phi0, pt, FourVector::setValues(), and updateCache(). Referenced by getMomentumEx(). |
|
||||||||||||||||
|
Get momentum derivative along trajectory into existing 4-vector.
Implements TrackFitObject. Definition at line 440 of file ChargedParticleTrack.C. References beta, TrackFitObject::cachevalid, cBq, cottheta, energy, kappa, momderfact, momentum, NPAR, TrackFitObject::par, parfact, phi0, pt, FourVector::setValues(), sin2theta, and updateCache(). Referenced by getMomentumDerivativeEx(). |
|
||||||||||||||||
|
Get derivative of momentum w.r.t. parameter ilocal into existing 4-vector.
Implements TrackFitObject. Definition at line 493 of file ChargedParticleTrack.C. References getMomentumDerivativeAtTrajectoryEx(), NPAR, TrackFitObject::par, parfact, and FourVector::setValues(). |
|
||||||||||||
|
Get momentum at vertex into existing 4-vector.
Implements TrackFitObject. Definition at line 427 of file ChargedParticleTrack.C. References getMomentumAtTrajectoryEx(), NPAR, TrackFitObject::par, and parfact. |
|
|
Get smallest s that corresponds to same (x, y).
Definition at line 573 of file ChargedParticleTrack.C. References kappa, TrackFitObject::par, and parfact. Referenced by setParameters(), and setVertex(). |
|
|
Get number of parameters of this FitObject.
Implements TrackFitObject. Definition at line 181 of file ChargedParticleTrack.C. References NPAR. |
|
|
Get name of parameter ilocal.
Reimplemented from BaseFitObject. Definition at line 185 of file ChargedParticleTrack.C. |
|
|
Get helix that is tangential at a certain arc length s.
Implements TrackFitObject. Definition at line 563 of file ChargedParticleTrack.C. References TrackFitObject::par, and parfact. |
|
||||||||||||||||
|
Get derivative of trajectory w.r.t. parameter ilocal into existing 3-vector.
Implements TrackFitObject. Definition at line 310 of file ChargedParticleTrack.C. References TrackFitObject::cachevalid, cottheta, cphi0, dca, dcamir, kappa, NPAR, parfact, phi0, r, ThreeVector::setValues(), sin2theta, sphi0, and updateCache(). Referenced by getVertexDerivativeEx(). |
|
||||||||||||
|
Get point along trajectory into existing 3-vector.
Implements TrackFitObject. Definition at line 288 of file ChargedParticleTrack.C. References TrackFitObject::cachevalid, cottheta, cphi0, dca, dcamir, kappa, phi0, r, ThreeVector::setValues(), sphi0, updateCache(), and z0. Referenced by getVertexEx(). |
|
||||||||||||||||
|
Get derivative of vertex w.r.t. parameter ilocal into existing 3-vector.
Implements TrackFitObject. Definition at line 402 of file ChargedParticleTrack.C. References getTrajectoryDerivativeEx(), NPAR, TrackFitObject::par, parfact, and ThreeVector::setValues(). |
|
||||||||||||
|
Get start (ivertex=0) or stop (ivertex=1) vertex into existing 3-vector.
Implements TrackFitObject. Definition at line 375 of file ChargedParticleTrack.C. References getTrajectoryPointEx(), NPAR, TrackFitObject::par, and parfact. |
|
|
init covariance matrix from an array
Definition at line 547 of file ChargedParticleTrack.C. References TrackFitObject::checkCov(), TrackFitObject::cov, TrackFitObject::covinvvalid, TrackFitObject::initCov(), and parfact. |
|
||||||||||||
|
Set value of parameter ilocal; return=success.
Reimplemented from TrackFitObject. Definition at line 268 of file ChargedParticleTrack.C. References TrackFitObject::invalidateCache(), NPAR, TrackFitObject::par, and parfact. |
|
||||||||||||||||||||
|
Set value and measured flag of parameter ilocal; return=success.
Reimplemented from TrackFitObject. Definition at line 199 of file ChargedParticleTrack.C. References TrackFitObject::fixed, TrackFitObject::invalidateCache(), TrackFitObject::measured, and TrackFitObject::NPARMAX. Referenced by ChargedParticleTrack(), and setParameters(). |
|
||||||||||||||||||||
|
Set parameters such that track passes through a vertex with a given 4-momentum; return=success.
Implements TrackFitObject. Definition at line 208 of file ChargedParticleTrack.C. References TrackFitObject::bfield, cBq, charge, dca, FourVector::getMass(), getNormalS(), FourVector::getPhi(), FourVector::getPt(), FourVector::getTheta(), ThreeVector::getX(), ThreeVector::getY(), ThreeVector::getZ(), TrackFitObject::isParamFixed(), kappa, mass, NPAR, TrackFitObject::par, parfact, phi0, r, setParam(), theta, and z0. Referenced by ChargedParticleTrack(). |
|
||||||||||||
|
Set start (i=0) or stop (i=1) vertex to a point as close as possible to given point.
Implements TrackFitObject. Definition at line 380 of file ChargedParticleTrack.C. References TrackFitObject::cachevalid, cphi0, dca, dcamir, getNormalS(), TwoVector::getX(), TwoVector::getY(), kappa, NPAR, TrackFitObject::par, parfact, phi0, r, sphi0, and updateCache(). |
|
|
Update the cache values.
Definition at line 514 of file ChargedParticleTrack.C. References beta, TrackFitObject::bfield, TrackFitObject::cachevalid, TrackFitObject::calculateChi2(), cBq, charge, cottheta, cphi0, dca, dcamir, energy, kappa, mass, momderfact, momentum, TrackFitObject::par, parfact, phi0, pt, r, sin2theta, sintheta, sphi0, theta, and z0. Referenced by getMomentumAtTrajectoryEx(), getMomentumDerivativeAtTrajectoryEx(), getTrajectoryDerivativeEx(), getTrajectoryPointEx(), and setVertex(). |
|
|
momentum/energy;
Definition at line 215 of file ChargedParticleTrack.h. Referenced by getMomentumDerivativeAtTrajectoryEx(), and updateCache(). |
|
|
cB * charge
Definition at line 210 of file ChargedParticleTrack.h. Referenced by ChargedParticleTrack(), getMomentumDerivativeAtTrajectoryEx(), setParameters(), and updateCache(). |
|
|
charge (in units of e)
Definition at line 217 of file ChargedParticleTrack.h. Referenced by ChargedParticleTrack(), getCharge(), setParameters(), and updateCache(). |
|
|
cotan (theta)
Definition at line 207 of file ChargedParticleTrack.h. Referenced by getMomentumAtTrajectoryEx(), getMomentumDerivativeAtTrajectoryEx(), getTrajectoryDerivativeEx(), getTrajectoryPointEx(), and updateCache(). |
|
|
cos(phi0)
Definition at line 205 of file ChargedParticleTrack.h. Referenced by getTrajectoryDerivativeEx(), getTrajectoryPointEx(), setVertex(), and updateCache(). |
|
|
dca = parfact[3]*par[3]
Definition at line 200 of file ChargedParticleTrack.h. Referenced by ChargedParticleTrack(), getTrajectoryDerivativeEx(), getTrajectoryPointEx(), setParameters(), setVertex(), and updateCache(). |
|
|
dca - r
Definition at line 206 of file ChargedParticleTrack.h. Referenced by getTrajectoryDerivativeEx(), getTrajectoryPointEx(), setVertex(), and updateCache(). |
|
|
sqrt ((cB/[kappa*sin(theta)])^2 + mass^2)
Definition at line 214 of file ChargedParticleTrack.h. Referenced by getMomentumAtTrajectoryEx(), getMomentumDerivativeAtTrajectoryEx(), and updateCache(). |
|
|
kappa = parfact[0]*par[0]
Definition at line 197 of file ChargedParticleTrack.h. Referenced by ChargedParticleTrack(), getCharge(), getMomentumAtTrajectoryEx(), getMomentumDerivativeAtTrajectoryEx(), getNormalS(), getTrajectoryDerivativeEx(), getTrajectoryPointEx(), setParameters(), setVertex(), and updateCache(). |
|
|
mass = parfact[5]*par[5]
Definition at line 202 of file ChargedParticleTrack.h. Referenced by setParameters(), and updateCache(). |
|
|
+cBq/kappa^2;
Definition at line 213 of file ChargedParticleTrack.h. Referenced by getMomentumDerivativeAtTrajectoryEx(), and updateCache(). |
|
|
-cBq/[kappa*sin(theta)];
Definition at line 212 of file ChargedParticleTrack.h. Referenced by getMomentumDerivativeAtTrajectoryEx(), and updateCache(). |
|
|
Initial value:
{0.0001, 0.001, 0.01, 0.01, 1., 1., 1., 1.}
Definition at line 29 of file ChargedParticleTrack.C. Referenced by ChargedParticleTrack(), K0Event::createSmearedChargedTrack(), getArcLength(), getMass(), getMomentumDerivativeAtTrajectoryEx(), getMomentumDerivativeEx(), getMomentumEx(), getNormalS(), getTangentialHelix(), getTrajectoryDerivativeEx(), getVertexDerivativeEx(), getVertexEx(), initCov(), setParam(), setParameters(), setVertex(), and updateCache(). |
|
|
phi0 = parfact[1]*par[1]
Definition at line 198 of file ChargedParticleTrack.h. Referenced by ChargedParticleTrack(), getMomentumAtTrajectoryEx(), getMomentumDerivativeAtTrajectoryEx(), getTrajectoryDerivativeEx(), getTrajectoryPointEx(), setParameters(), setVertex(), and updateCache(). |
|
|
-cBq/kappa
Definition at line 211 of file ChargedParticleTrack.h. Referenced by getMomentumAtTrajectoryEx(), getMomentumDerivativeAtTrajectoryEx(), and updateCache(). |
|
|
1/kappa
Definition at line 203 of file ChargedParticleTrack.h. Referenced by ChargedParticleTrack(), getTrajectoryDerivativeEx(), getTrajectoryPointEx(), setParameters(), setVertex(), and updateCache(). |
|
|
sin^2 (theta)
Definition at line 209 of file ChargedParticleTrack.h. Referenced by getMomentumDerivativeAtTrajectoryEx(), getTrajectoryDerivativeEx(), and updateCache(). |
|
|
sin (theta)
Definition at line 208 of file ChargedParticleTrack.h. Referenced by updateCache(). |
|
|
sin(phi0)
Definition at line 204 of file ChargedParticleTrack.h. Referenced by getTrajectoryDerivativeEx(), getTrajectoryPointEx(), setVertex(), and updateCache(). |
|
|
theta = parfact[2]*par[2]
Definition at line 199 of file ChargedParticleTrack.h. Referenced by ChargedParticleTrack(), setParameters(), and updateCache(). |
|
|
z0 = parfact[4]*par[4]
Definition at line 201 of file ChargedParticleTrack.h. Referenced by ChargedParticleTrack(), getTrajectoryPointEx(), setParameters(), and updateCache(). |
1.3.2