CVS head for this package - Administrative privileges
Persistent classes for Track Reco data format.
- reco::Track: reconstructed Track. Objects of this type are ment to be stored in the AOD.
Contains a reference to an object of type reco::TrackExtra. - reco::TrackExtra: Track extension. Objects of this type are ment to be stored in the RECO.
The complete track information is stored in two different object: reco::Track and reco::TrackExtra, that are stored in two different collection, physically written to fine into two different ROOT branches. This modularity allows the freedom to "drop" the reco::TrackExtra component, if not needed, and leave only reco::Track, in order to save disk space. This could be done, for instance while writing only the AOD component of a RECO collection.
A reco::Track has a reference (edm::Ref) to a reco::TrackExtra object that allows to access the information in the "extra" tier. Users don't necessarily have to dereference this persistent reference, since reco::Track has two sets of methods:
For instance, the following methods will only access reco::TrackBase data members:
reco::Track trk;
double pt = trk.pt();
double eta = trk.eta();
The following instead access data members contained in reco::TrackExtra:
reco::Track trk;
double outerPt = trk.outerPt();
math::XYZPoint p = trk.outerPosition();
and are equivalent to:
reco::Track trk;
const reco::TrackExtraRef & trkExtra = trk.extra();
double outerPt = trkExtra.outerPt();
math::XYZPoint p = trkExtra.outerPosition();
Warning: collections of those two data types are potentially stored in different data tiers. So, if a reco::TrackExtra is not stored on disk dereferencing the reference contained in reco::Track may result in an exception.
Track helix parametrization follows the perigee model described in the internal CMS note CMS IN-2003/008. The five parameters are:
- κ: signed transverse curvature: &kappa = -q • Bz/pt.
- θ: polar angle of the momentum vector.
- φ0: azimuthal angle of the momentum vector at the PCA to the beam line.
- d0: signed transverse distance of the PCA. By convention, the
sign is positive if the reference point is at the left of the PCA.
- dz: longitudinal distance of the PCA.
The five parameters are stored internally in a vector whose index varies from 0 to 4, in the order listed above. The indices are also defined as the enumerator index
defined in the namespace reco::helix:
enum index { i_transverseCurvature = 0 , i_theta, i_phi0, i_d0, i_dz };
So, for instance, in order to access specific track parameters a user can write the following code that requires no explicit numeric index:
using namespace reco::perigee;
reco::TrackRef track = ... ;
double d0 = track->parameter( i_d0 );
double covThetaPhi = track->covariance( i_theta, i_phi0 );
None.
None.
To be reviewed.
Last updated: @ L. Lista, Th. Speer
Generated on Tue Jun 9 17:56:13 2009 for CMSSW by
1.5.4