18 numberOfUsedRecHits(forwardRecHits) + numberOfUsedRecHits(backwardRecHits) - 1,
22 materialEffects_(config.materialEffects),
23 propDir_(config.propDir),
43 throw cms::Exception(
"BadConfig") <<
"[DualReferenceTrajectory::construct] Wrong MaterialEffects: " 61 const std::vector<TrajectoryStateOnSurface>& fwdTsosVec = fwdTraj->
trajectoryStates();
62 const std::vector<TrajectoryStateOnSurface>& bwdTsosVec = bwdTraj->
trajectoryStates();
78 unsigned int nMeas = nFwdMeas + nBwdMeas -
nMeasPerHit;
103 fwdTraj->
derivatives().sub(nFwdMeas + 1, nFwdMeas + nFwdBP, nParam + 1, nParam + nFwdBP));
110 bwdTraj->
derivatives().sub(nMeasPerHit + 1, nBwdMeas, nParam + 1, nParam + nBwdBP));
113 bwdTraj->
derivatives().sub(nBwdMeas + 1, nBwdMeas + nBwdBP, nParam + 1, nParam + nBwdBP));
126 const bool revertDirection)
const {
128 throw cms::Exception(
"BadConfig") <<
"[DualReferenceTrajectory::construct] Wrong MaterialEffects: "
const LocalTrajectoryParameters & localParameters() const
const PropagationDirection propDir_
AlgebraicMatrix theDerivatives
unsigned int numberOfHitMeas() const
const TransientTrackingRecHit::ConstRecHitContainer & recHits() const
const PropagationDirection oppositeDirection(const PropagationDirection propDir) const
DualReferenceTrajectory(const TrajectoryStateOnSurface &tsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot, const ReferenceTrajectoryBase::Config &config)
AlgebraicVector theParameters
AlgebraicVector theMeasurements
const AlgebraicSymMatrix & measurementErrors() const
const AlgebraicSymMatrix & trajectoryPositionErrors() const
AlgebraicSymMatrix theTrajectoryPositionCov
const AlgebraicMatrix & derivatives() const
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
virtual AlgebraicVector extractParameters(const TrajectoryStateOnSurface &referenceTsos) const
AlgebraicVector theTrajectoryPositions
TransientTrackingRecHit::ConstRecHitContainer theRecHits
AlgebraicSymMatrix theMeasurementsCov
CLHEP::HepVector AlgebraicVector
static unsigned int nMeasPerHit
AlgebraicVector5 mixedFormatVector() const
unsigned int numberOfVirtualMeas() const
const AlgebraicVector & measurements() const
std::vector< TrajectoryStateOnSurface > theTsosVec
virtual bool construct(const TrajectoryStateOnSurface &referenceTsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot)
const AlgebraicVector & trajectoryPositions() const
unsigned int theNumberOfPars
const MaterialEffects materialEffects_
const std::vector< TrajectoryStateOnSurface > & trajectoryStates() const