16 unsigned int tracksPerTrajectory) :
18 tracksPerTrajectory_(tracksPerTrajectory),
19 materialEffects_(materialEffects(config.getParameter<std::
string>(
"MaterialEffects"))),
20 propDir_(propagationDirection(config.getParameter<std::
string>(
"PropagationDirection"))),
21 useWithoutDet_(config.getParameter<bool>(
"UseHitWithoutDet")),
22 useInvalidHits_(config.getParameter<bool>(
"UseInvalidHits")),
23 useProjectedHits_(config.getParameter<bool>(
"UseProjectedHits")),
24 useBeamSpot_(config.getParameter<bool>(
"UseBeamSpot")),
25 includeAPEs_(config.getParameter<bool>(
"IncludeAPEs"))
28 <<
"@SUB=TrajectoryFactoryBase"
30 <<
"' with following settings:"
52 Trajectory::DataContainer::iterator itM = trajectoryMeasurements.begin();
55 while ( itM != trajectoryMeasurements.end() )
57 if ( ( *itM ).updatedState().isValid() &&
useRecHit( ( *itM ).recHit() ) )
break;
60 if ( itM != trajectoryMeasurements.end() ) result.first = ( *itM ).updatedState();
63 while ( itM != trajectoryMeasurements.end() )
66 if (
useRecHit( aRecHit ) ) result.second.push_back( aRecHit );
87 reordered.reserve( original.size() );
89 Trajectory::DataContainer::const_reverse_iterator itM;
90 for ( itM = original.rbegin(); itM != original.rend(); ++itM )
92 reordered.push_back( *itM );
112 const GeomDet* det = hitPtr->det();
141 <<
"[TrajectoryFactoryBase::materialEffects] Unknown parameter: " << strME;
153 <<
"[TrajectoryFactoryBase::propagationDirection] Unknown parameter: " << strPD;
const bool useInvalidHits_
T getParameter(std::string const &) const
MaterialEffects materialEffects(void) const
virtual const Trajectory::DataContainer orderedTrajectoryMeasurements(const Trajectory &trajectory) const
AlignmentAlgorithmBase::ConstTrajTrackPair ConstTrajTrackPair
const bool useWithoutDet_
bool useRecHit(const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const
PropagationDirection const & direction() const
DataContainer const & measurements() const
TrajectoryFactoryBase(const edm::ParameterSet &config)
const bool useProjectedHits_
std::vector< TrajectoryMeasurement > DataContainer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
bool sameSurface(const Surface &s1, const Surface &s2) const
virtual const TrajectoryInput innermostStateAndRecHits(const ConstTrajTrackPair &track) const
const PropagationDirection propDir_
const edm::ParameterSet cfg_
PropagationDirection propagationDirection(void) const
std::pair< TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer > TrajectoryInput
virtual ~TrajectoryFactoryBase(void)
const PositionType & position() const
bool isProjected(TrackingRecHit const &hit)