26 theMass(config.getParameter<double>(
"ParticleMass")),
27 theMomentumEstimate(config.getParameter<double>(
"MomentumEstimate"))
29 edm::LogInfo(
"Alignment") <<
"@SUB=BzeroReferenceTrajectoryFactory" 48 ConstTrajTrackPairCollection::const_iterator itTracks = tracks.begin();
50 while ( itTracks != tracks.end() )
54 if ( input.first.isValid() )
84 if ( tracks.size() != external.size() )
86 edm::LogInfo(
"ReferenceTrajectories") <<
"@SUB=BzeroReferenceTrajectoryFactory::trajectories" 87 <<
"Inconsistent input:\n" 88 <<
"\tnumber of tracks = " << tracks.size()
89 <<
"\tnumber of external predictions = " << external.size();
96 ConstTrajTrackPairCollection::const_iterator itTracks = tracks.begin();
97 ExternalPredictionCollection::const_iterator itExternal = external.begin();
99 while ( itTracks != tracks.end() )
103 if ( input.first.isValid() )
105 if ( (*itExternal).isValid() &&
sameSurface( (*itExternal).surface(), input.first.surface() ) )
118 AlgebraicSymMatrix externalParamErrors( asHepMatrix<5>( (*itExternal).localError().matrix() ) );
119 refTraj->setParameterErrors( externalParamErrors.sub( 2, 5 ) );
121 trajectories.push_back( refTraj );
const ReferenceTrajectoryCollection trajectories(const edm::EventSetup &setup, const ConstTrajTrackPairCollection &tracks, const reco::BeamSpot &beamSpot) const override
Produce the reference trajectories.
MaterialEffects materialEffects(void) const
def setup(process, global_tag, zero_tesla=False)
static std::string const input
~BzeroReferenceTrajectoryFactory() override
bool sameSurface(const Surface &s1, const Surface &s2) const
const bool allowZeroMaterial_
virtual const TrajectoryInput innermostStateAndRecHits(const ConstTrajTrackPair &track) const
BzeroReferenceTrajectoryFactory(const edm::ParameterSet &config)
AlignmentAlgorithmBase::ConstTrajTrackPairCollection ConstTrajTrackPairCollection
std::vector< ReferenceTrajectoryPtr > ReferenceTrajectoryCollection
PropagationDirection propagationDirection(void) const
CLHEP::HepSymMatrix AlgebraicSymMatrix
#define DEFINE_EDM_PLUGIN(factory, type, name)
double theMomentumEstimate
std::pair< TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer > TrajectoryInput
std::vector< TrajectoryStateOnSurface > ExternalPredictionCollection
ReferenceTrajectoryBase::ReferenceTrajectoryPtr ReferenceTrajectoryPtr
T const * product() const