ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::JacobianCotThetaPtToThetaP Class Reference

This is the 5x5 jacobian for the transformation of track parameters and errors having a momentum representation of \( (\phi, cot\theta, q/p_{T}) \) to the new standard representation of \( (\phi, \theta, q/p) \), while the first two variables that express the local position representation keep unchanged. More...

#include <JacobianCotThetaPtToThetaP.h>

Inheritance diagram for Trk::JacobianCotThetaPtToThetaP:
Collaboration diagram for Trk::JacobianCotThetaPtToThetaP:

Public Member Functions

 JacobianCotThetaPtToThetaP (const double cotTheta, const double qpT)

Detailed Description

This is the 5x5 jacobian for the transformation of track parameters and errors having a momentum representation of \( (\phi, cot\theta, q/p_{T}) \) to the new standard representation of \( (\phi, \theta, q/p) \), while the first two variables that express the local position representation keep unchanged.

Mathematical motivation:
assuming \( u_{\mu} = ( d_{0}', z_{0}', \phi_{0}', cot\theta, q/p_{T} ) \) and \( v_{\mu} = (d_{0}, z_{0}, \phi_{0}, \theta, q/p)\), the set of \( v_{\mu}\) parameters can be expressed by the set of \( u_{\mu} \) parameters by following functions:

  • \( v_{1} = d_{0} = d_{0}' \)
  • \( v_{2} = z_{0} = z_{0}' \)
  • \( v_{3} = \phi_{0} = \phi_{0}' \)
  • \( v_{4} = \theta = atan(\frac{1}{cot\theta}) \)
  • \( v_{5} = q/p = \frac{q}{p_{T}} \cdot sin(atan(\frac{1}{cot\theta})) \)
    this results into three non-trivial terms of the corresponding jacobian:
  • \( \frac{\partial \theta}{\partial cot\theta} = - \frac{1}{1+cot^{2}\theta} \)
  • \( \frac{\partial (q/p)}{\partial cot\theta} = - \frac{cot\theta}{(1+cot^{2}\theta)^{3/2}} \frac{q}{p_{T}}\)
  • \( \frac{\partial (q/p)}{\partial (q/p_{T})} = \frac{1}{sqrt{1+cot^2\theta}} \)
Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 42 of file JacobianCotThetaPtToThetaP.h.

Constructor & Destructor Documentation

◆ JacobianCotThetaPtToThetaP()

Trk::JacobianCotThetaPtToThetaP::JacobianCotThetaPtToThetaP ( const double cotTheta,
const double qpT )

Definition at line 12 of file JacobianCotThetaPtToThetaP.cxx.

12 :
13 AmgMatrix(5,5)()
14{
15
16 // initialize to identify matrix
17 this->setIdentity();
18
19 double onePlusCotTSq = 1 + cotTheta*cotTheta;
20 (*this)(3,3) = - 1./onePlusCotTSq;
21 (*this)(4,3) = -cotTheta/(onePlusCotTSq*std::sqrt(onePlusCotTSq)) * qpT;
22 (*this)(4,4) = 1./std::sqrt(onePlusCotTSq);
23}
#define AmgMatrix(rows, cols)

The documentation for this class was generated from the following files: