CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
DualBzeroReferenceTrajectory Class Reference

#include <DualBzeroReferenceTrajectory.h>

Inheritance diagram for DualBzeroReferenceTrajectory:
DualReferenceTrajectory ReferenceTrajectoryBase ReferenceCounted

Public Types

typedef TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
 
- Public Types inherited from DualReferenceTrajectory
typedef TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
 
- Public Types inherited from ReferenceTrajectoryBase
enum  MaterialEffects {
  none, multipleScattering, energyLoss, combined,
  breakPoints, brokenLinesCoarse, brokenLinesFine, localGBL,
  curvlinGBL
}
 
typedef ReferenceCountingPointer< ReferenceTrajectoryBaseReferenceTrajectoryPtr
 

Public Member Functions

DualBzeroReferenceTrajectoryclone () const override
 
 DualBzeroReferenceTrajectory (const TrajectoryStateOnSurface &tsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot, const ReferenceTrajectoryBase::Config &config)
 
 ~DualBzeroReferenceTrajectory () override
 
- Public Member Functions inherited from DualReferenceTrajectory
DualReferenceTrajectoryclone () const override
 
 DualReferenceTrajectory (const TrajectoryStateOnSurface &tsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot, const ReferenceTrajectoryBase::Config &config)
 
 ~DualReferenceTrajectory () override
 
- Public Member Functions inherited from ReferenceTrajectoryBase
const AlgebraicMatrixderivatives () const
 
const Eigen::MatrixXd & gblExtDerivatives () const
 
const Eigen::VectorXd & gblExtMeasurements () const
 
const Eigen::VectorXd & gblExtPrecisions () const
 
std::vector< std::pair< std::vector< gbl::GblPoint >, Eigen::MatrixXd > > & gblInput ()
 
bool isValid ()
 
const AlgebraicMatrixlocalToTrajectory () const
 
const AlgebraicSymMatrixmeasurementErrors () const
 
const AlgebraicVectormeasurements () const
 
int nominalField () const
 
unsigned int numberOfHitMeas () const
 
unsigned int numberOfHits () const
 
unsigned int numberOfPar () const
 
unsigned int numberOfVirtualMeas () const
 
unsigned int numberOfVirtualPar () const
 
const AlgebraicSymMatrixparameterErrors () const
 
bool parameterErrorsAvailable () const
 
const AlgebraicVectorparameters () const
 
const TransientTrackingRecHit::ConstRecHitContainerrecHits () const
 
void setParameterErrors (const AlgebraicSymMatrix &error)
 
const AlgebraicSymMatrixtrajectoryPositionErrors () const
 
const AlgebraicVectortrajectoryPositions () const
 
const std::vector< TrajectoryStateOnSurface > & trajectoryStates () const
 
const AlgebraicMatrixtrajectoryToCurv () const
 
 ~ReferenceTrajectoryBase () override
 

Protected Member Functions

virtual ReferenceTrajectoryconstruct (const TrajectoryStateOnSurface &referenceTsos, const ConstRecHitContainer &recHits, double mass, MaterialEffects materialEffects, const PropagationDirection propDir, const MagneticField *magField, bool useBeamSpot, const reco::BeamSpot &beamSpot) const
 
AlgebraicVector extractParameters (const TrajectoryStateOnSurface &referenceTsos) const override
 
- Protected Member Functions inherited from DualReferenceTrajectory
virtual bool construct (const TrajectoryStateOnSurface &referenceTsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot)
 
virtual ReferenceTrajectoryconstruct (const TrajectoryStateOnSurface &referenceTsos, const ConstRecHitContainer &recHits, const MagneticField *magField, const reco::BeamSpot &beamSpot, const bool revertDirection=false) const
 
 DualReferenceTrajectory (unsigned int nPar, unsigned int nHits, const ReferenceTrajectoryBase::Config &config)
 
const PropagationDirection oppositeDirection (const PropagationDirection propDir) const
 
- Protected Member Functions inherited from ReferenceTrajectoryBase
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

double theMomentumEstimate
 
- Protected Attributes inherited from ReferenceTrajectoryBase
AlgebraicMatrix theDerivatives
 
Eigen::MatrixXd theGblExtDerivatives
 
Eigen::VectorXd theGblExtMeasurements
 
Eigen::VectorXd theGblExtPrecisions
 
std::vector< std::pair< std::vector< gbl::GblPoint >, Eigen::MatrixXd > > 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< TrajectoryStateOnSurfacetheTsosVec
 
bool theValidityFlag
 

Additional Inherited Members

- Static Protected Attributes inherited from ReferenceTrajectoryBase
static unsigned int nMeasPerHit {2}
 

Detailed Description

Definition at line 38 of file DualBzeroReferenceTrajectory.h.

Member Typedef Documentation

Definition at line 43 of file DualBzeroReferenceTrajectory.h.

Constructor & Destructor Documentation

DualBzeroReferenceTrajectory::DualBzeroReferenceTrajectory ( const TrajectoryStateOnSurface tsos,
const ConstRecHitContainer forwardRecHits,
const ConstRecHitContainer backwardRecHits,
const MagneticField magField,
const reco::BeamSpot beamSpot,
const ReferenceTrajectoryBase::Config config 
)

Definition at line 14 of file DualBzeroReferenceTrajectory.cc.

References construct(), and ReferenceTrajectoryBase::theValidityFlag.

Referenced by clone().

19  :
21  numberOfUsedRecHits(forwardRecHits) + numberOfUsedRecHits(backwardRecHits) - 1,
22  config),
24 {
25  theValidityFlag = construct(tsos, forwardRecHits, backwardRecHits, magField, beamSpot);
26 }
const LocalTrajectoryParameters & localParameters() const
DualReferenceTrajectory(const TrajectoryStateOnSurface &tsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot, const ReferenceTrajectoryBase::Config &config)
config
Definition: looper.py:288
virtual ReferenceTrajectory * construct(const TrajectoryStateOnSurface &referenceTsos, const ConstRecHitContainer &recHits, double mass, MaterialEffects materialEffects, const PropagationDirection propDir, const MagneticField *magField, bool useBeamSpot, const reco::BeamSpot &beamSpot) const
unsigned int numberOfUsedRecHits(const TransientTrackingRecHit::ConstRecHitContainer &recHits) const
AlgebraicVector5 mixedFormatVector() const
DualBzeroReferenceTrajectory::~DualBzeroReferenceTrajectory ( )
inlineoverride

Definition at line 52 of file DualBzeroReferenceTrajectory.h.

52 {}

Member Function Documentation

DualBzeroReferenceTrajectory* DualBzeroReferenceTrajectory::clone ( void  ) const
inlineoverridevirtual

Implements ReferenceTrajectoryBase.

Definition at line 54 of file DualBzeroReferenceTrajectory.h.

References ecalDrivenElectronSeedsParameters_cff::beamSpot, construct(), DualReferenceTrajectory::construct(), DualBzeroReferenceTrajectory(), extractParameters(), ResonanceBuilder::mass, ReferenceTrajectoryBase::recHits(), and fftjetvertexadder_cfi::useBeamSpot.

54 { return new DualBzeroReferenceTrajectory(*this); }
DualBzeroReferenceTrajectory(const TrajectoryStateOnSurface &tsos, const ConstRecHitContainer &forwardRecHits, const ConstRecHitContainer &backwardRecHits, const MagneticField *magField, const reco::BeamSpot &beamSpot, const ReferenceTrajectoryBase::Config &config)
ReferenceTrajectory * DualBzeroReferenceTrajectory::construct ( const TrajectoryStateOnSurface referenceTsos,
const ConstRecHitContainer recHits,
double  mass,
MaterialEffects  materialEffects,
const PropagationDirection  propDir,
const MagneticField magField,
bool  useBeamSpot,
const reco::BeamSpot beamSpot 
) const
protectedvirtual

Definition at line 30 of file DualBzeroReferenceTrajectory.cc.

References ReferenceTrajectoryBase::breakPoints, looper::config, Exception, ReferenceTrajectoryBase::Config::hitsAreReverse, theMomentumEstimate, fftjetvertexadder_cfi::useBeamSpot, and ReferenceTrajectoryBase::Config::useBeamSpot.

Referenced by clone(), and DualBzeroReferenceTrajectory().

37 {
38  if (materialEffects >= breakPoints) throw cms::Exception("BadConfig")
39  << "[DualBzeroReferenceTrajectory::construct] Wrong MaterialEffects: " << materialEffects;
40 
42  config.useBeamSpot = useBeamSpot;
43  config.hitsAreReverse = false;
44  return new BzeroReferenceTrajectory(referenceTsos, recHits, magField, beamSpot, config);
45 }
const TransientTrackingRecHit::ConstRecHitContainer & recHits() const
Definition: config.py:1
config
Definition: looper.py:288
AlgebraicVector DualBzeroReferenceTrajectory::extractParameters ( const TrajectoryStateOnSurface referenceTsos) const
overrideprotectedvirtual

Reimplemented from DualReferenceTrajectory.

Definition at line 49 of file DualBzeroReferenceTrajectory.cc.

References TrajectoryStateOnSurface::localParameters(), and LocalTrajectoryParameters::mixedFormatVector().

Referenced by clone().

50 {
51  AlgebraicVector param = asHepVector<5>( referenceTsos.localParameters().mixedFormatVector() );
52  return param.sub( 2, 5 );
53 }
const LocalTrajectoryParameters & localParameters() const
CLHEP::HepVector AlgebraicVector
AlgebraicVector5 mixedFormatVector() const

Member Data Documentation

double DualBzeroReferenceTrajectory::theMomentumEstimate
protected

Definition at line 69 of file DualBzeroReferenceTrajectory.h.

Referenced by construct().