#include <ReferenceTrajectoryBase.h>
Classes | |
struct | Config |
Public Types | |
enum | MaterialEffects { none, multipleScattering, energyLoss, combined, breakPoints, brokenLinesCoarse, brokenLinesFine, localGBL, curvlinGBL } |
typedef ReferenceCountingPointer < ReferenceTrajectoryBase > | ReferenceTrajectoryPtr |
Protected Member Functions | |
unsigned int | numberOfUsedRecHits (const TransientTrackingRecHit::ConstRecHitContainer &recHits) const |
ReferenceTrajectoryBase (unsigned int nPar, unsigned int nHits, unsigned int nVirtualPar, unsigned int nVirtualMeas) | |
bool | useRecHit (const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const |
Protected Attributes | |
AlgebraicMatrix | theDerivatives |
TMatrixD | theGblExtDerivatives |
TVectorD | theGblExtMeasurements |
TVectorD | theGblExtPrecisions |
std::vector< std::pair < std::vector< gbl::GblPoint > , TMatrixD > > | theGblInput |
AlgebraicMatrix | theInnerLocalToTrajectory |
AlgebraicMatrix | theInnerTrajectoryToCurvilinear |
AlgebraicVector | theMeasurements |
AlgebraicSymMatrix | theMeasurementsCov |
int | theNomField |
unsigned int | theNumberOfHits |
unsigned int | theNumberOfPars |
unsigned int | theNumberOfVirtualMeas |
unsigned int | theNumberOfVirtualPars |
bool | theParamCovFlag |
AlgebraicSymMatrix | theParameterCov |
AlgebraicVector | theParameters |
TransientTrackingRecHit::ConstRecHitContainer | theRecHits |
AlgebraicSymMatrix | theTrajectoryPositionCov |
AlgebraicVector | theTrajectoryPositions |
std::vector < TrajectoryStateOnSurface > | theTsosVec |
bool | theValidityFlag |
Static Protected Attributes | |
static const unsigned int | nMeasPerHit = 2 |
Author : Gero Flucke (based on code for ORCA by Edmund Widl) date : 2006/09/17 last update:
by :
Base class for reference 'trajectories' of single- or multiparticles stated. Inheriting classes have to calculate all relevant quantities accessed through member functions of this base class:
The local measured x/y coordinates on all crossed detectors as vector:
m = (x1, y1, x2, y2, ..., xN, yN) [transposed vector shown]
their covariance matrix (possibly containing correlations between hits due to material effects which are not taken into account by the ideal trajectory parametrisation, cf. below),
similarly the local x/y cordinates of the reference trajectory with covariance,
the parameters of the (ideal) 'trajectory' (e.g. 5 values for a single track or 9 for a two-track-state with vertex constraint),
the derivatives of the local coordinates of the reference trajectory with respect to the initial 'trajectory'-parameters, e.g. for n parameters 'p' and N hits with 'x/y' coordinates:
D = ( dx1/dp1, dx1/dp2, ..., dx1/dpn,
dy1/dp1, dy1/dp2, ..., dy1/dpn, dx2/dp1, dx2/dp2, ..., dx2/dpn, dy2/dp1, dy2/dp2, ..., dy2/dpn, . . . . . . dxN/dp1, dxN/dp2, ..., dxN/dpn, dyN/dp1, dyN/dp2, ..., dyN/dpn )
and finally the TrajectoryStateOnSurface's of the reference trajectory.
Take care to check validity of the calculation (isValid()) before using the results.
.............................................................................
090730 C. Kleinwort: 'Break Points' introduced for better description of multiple scattering (correlations)
For each detector layer (in the hit collection) two ortogonal scattering angles are introduced as new local track parameters ("break points"). To constrain those to the expected mean (=0.) and variance (~1/p^2 X/X0) corresponding measurements are added. Invalid hits may be used to produce break points too (UseInvalidHits = True).
Break points have been implemented for: ReferenceTrajectory, BzeroReferenceTrajectory, DualReferenceTrajectory and DualBzeroReferenceTrajectory For 'Dual' trajectories they make no sense as only the correlations between the hits in a track half are accounted for and not those between the halves!
Break Points are selected by TrajectoryFactory.MaterialEffects = "BreakPoints"
090909 C. Kleinwort: 'Broken Lines' introduced for description of multiple scattering (V. Blobel, Nuclear Instruments and Methods A, 566 (2006), pp. 14-17) Fine Broken Lines are selected by TrajectoryFactory.MaterialEffects = "BrokenLinesFine" (exact derivatives) Coarse Broken Lines are selected by TrajectoryFactory.MaterialEffects = "BrokenLines[Coarse]" (approximate derivatives, closeby hits (ds<1cm) combined)
091127 C. Kleinwort: 1) 'Broken Lines' extended to PCA, required for beamspot constraint and TwoBodyDecayTrajectory, selected with "BrokenLines[Coarse]Pca" or "BrokenLinesFinePca" 2) For coarse Broken Lines linear interpolation is used for combined hits 3) TwoBodyDecayTrajectory implemented for break points and Broken Lines
141103 C. Kleinwort: 'General Broken Lines' introduced for description of multiple scattering (C. Kleinwort, Nuclear Instruments and Methods A, 673 (2012), pp. 107-110) needs GBL version >= V01-13-00 (from svnsrv.desy.de) Selected by TrajectoryFactory.MaterialEffects = "LocalGBL" or = "CurvlinGBL" (for trajectory constructed in local or curvilinear system)
Definition at line 104 of file ReferenceTrajectoryBase.h.
typedef ReferenceCountingPointer<ReferenceTrajectoryBase> ReferenceTrajectoryBase::ReferenceTrajectoryPtr |
Definition at line 109 of file ReferenceTrajectoryBase.h.
Enumerator | |
---|---|
none | |
multipleScattering | |
energyLoss | |
combined | |
breakPoints | |
brokenLinesCoarse | |
brokenLinesFine | |
localGBL | |
curvlinGBL |
Definition at line 111 of file ReferenceTrajectoryBase.h.
|
inlinevirtual |
Definition at line 135 of file ReferenceTrajectoryBase.h.
|
explicitprotected |
Definition at line 3 of file ReferenceTrajectoryBase.cc.
References theRecHits, and theTsosVec.
|
pure virtual |
|
inline |
Returns the derivatives of the local coordinates of the reference trajectory (i.e. trajectoryPositions) w.r.t. the initial 'trajectory'-parameters.
Definition at line 159 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the GBL external derivatives.
Definition at line 174 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the GBL external derivatives.
Definition at line 178 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the GBL external derivatives.
Definition at line 182 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the GBL input
Definition at line 170 of file ReferenceTrajectoryBase.h.
|
inline |
Definition at line 137 of file ReferenceTrajectoryBase.h.
Referenced by core.AutoHandle.AutoHandle::ReallyLoad().
|
inline |
Returns the transformation of local to tracjectory parameters
Definition at line 166 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the full covariance matrix of the measurements. ORCA-equivalent: covariance()
Definition at line 145 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the measurements in local coordinates.
Definition at line 141 of file ReferenceTrajectoryBase.h.
|
inline |
Definition at line 215 of file ReferenceTrajectoryBase.h.
|
inline |
Definition at line 214 of file ReferenceTrajectoryBase.h.
|
inline |
Definition at line 210 of file ReferenceTrajectoryBase.h.
|
inline |
Definition at line 211 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 25 of file ReferenceTrajectoryBase.cc.
References useRecHit().
|
inline |
Definition at line 212 of file ReferenceTrajectoryBase.h.
|
inline |
Definition at line 213 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the covariance matrix of the 'track'-parameters.
Definition at line 199 of file ReferenceTrajectoryBase.h.
|
inline |
Returns true if the covariance matrix of the 'track'-parameters is set.
Definition at line 191 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the set of 'track'-parameters.
Definition at line 187 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the TransientTrackingRecHits (as ConstRecHitPointer's), order might depend on concrete implementation of inheriting class
Definition at line 208 of file ReferenceTrajectoryBase.h.
|
inline |
Set the covariance matrix of the 'track'-parameters.
Definition at line 195 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the covariance matrix of the reference trajectory.
Definition at line 154 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the local coordinates of the reference trajectory. ORCA-equivalent: referenceTrack()
Definition at line 150 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the Tsos at the surfaces of the hits, parallel to recHits()
Definition at line 203 of file ReferenceTrajectoryBase.h.
|
inline |
Returns the transformation of tracjectory to curvilinear parameters
Definition at line 163 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 35 of file ReferenceTrajectoryBase.cc.
Referenced by numberOfUsedRecHits().
|
staticprotected |
Definition at line 261 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 247 of file ReferenceTrajectoryBase.h.
Referenced by BzeroReferenceTrajectory::BzeroReferenceTrajectory().
|
protected |
Definition at line 257 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 258 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 259 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 254 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 252 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 250 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 238 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 239 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 255 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 230 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 231 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 232 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 233 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 228 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 245 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 244 of file ReferenceTrajectoryBase.h.
Referenced by BzeroReferenceTrajectory::BzeroReferenceTrajectory().
|
protected |
Definition at line 236 of file ReferenceTrajectoryBase.h.
Referenced by ReferenceTrajectoryBase().
|
protected |
Definition at line 242 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 241 of file ReferenceTrajectoryBase.h.
|
protected |
Definition at line 235 of file ReferenceTrajectoryBase.h.
Referenced by ReferenceTrajectoryBase().
|
protected |
Definition at line 227 of file ReferenceTrajectoryBase.h.
Referenced by BzeroReferenceTrajectory::BzeroReferenceTrajectory(), and DualBzeroReferenceTrajectory::DualBzeroReferenceTrajectory().