60 ConstTrajTrackPairCollection::const_iterator itTracks = tracks.begin();
62 while ( itTracks != tracks.end() )
67 if ( input.first.isValid() )
91 if ( tracks.size() != external.size() )
93 edm::LogInfo(
"ReferenceTrajectories") <<
"@SUB=ReferenceTrajectoryFactory::trajectories"
94 <<
"Inconsistent input:\n"
95 <<
"\tnumber of tracks = " << tracks.size()
96 <<
"\tnumber of external predictions = " << external.size();
103 ConstTrajTrackPairCollection::const_iterator itTracks = tracks.begin();
104 ExternalPredictionCollection::const_iterator itExternal = external.begin();
106 while ( itTracks != tracks.end() )
110 if ( input.first.isValid() )
112 if ( (*itExternal).isValid() &&
sameSurface( (*itExternal).surface(), input.first.surface() ) )
120 AlgebraicSymMatrix externalParamErrors( asHepMatrix<5>( (*itExternal).localError().matrix() ) );
121 refTraj->setParameterErrors( externalParamErrors );
123 trajectories.push_back( refTraj );
T getParameter(std::string const &) const
virtual const ReferenceTrajectoryCollection trajectories(const edm::EventSetup &setup, const ConstTrajTrackPairCollection &tracks, const reco::BeamSpot &beamSpot) const
Produce the reference trajectories.
MaterialEffects materialEffects(void) const
virtual ReferenceTrajectoryFactory * clone() const
A factory that produces instances of class ReferenceTrajectory from a given TrajTrackPairCollection.
bool sameSurface(const Surface &s1, const Surface &s2) const
virtual ~ReferenceTrajectoryFactory()
virtual const TrajectoryInput innermostStateAndRecHits(const ConstTrajTrackPair &track) const
AlignmentAlgorithmBase::ConstTrajTrackPairCollection ConstTrajTrackPairCollection
std::vector< ReferenceTrajectoryPtr > ReferenceTrajectoryCollection
T const * product() const
ReferenceTrajectoryFactory(const edm::ParameterSet &config)
PropagationDirection propagationDirection(void) const
CLHEP::HepSymMatrix AlgebraicSymMatrix
#define DEFINE_EDM_PLUGIN(factory, type, name)
std::pair< TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer > TrajectoryInput
std::vector< TrajectoryStateOnSurface > ExternalPredictionCollection
ReferenceTrajectoryBase::ReferenceTrajectoryPtr ReferenceTrajectoryPtr
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")