27 theMass(
config.getParameter<double>(
"ParticleMass")),
28 theMomentumEstimate(
config.getParameter<double>(
"MomentumEstimate")) {
29 edm::LogInfo(
"Alignment") <<
"@SUB=BzeroReferenceTrajectoryFactory" 42 ConstTrajTrackPairCollection::const_iterator itTracks =
tracks.begin();
44 while (itTracks !=
tracks.end()) {
47 if (
input.first.isValid()) {
53 config.hitsAreReverse =
false;
74 <<
"@SUB=BzeroReferenceTrajectoryFactory::trajectories" 75 <<
"Inconsistent input:\n" 76 <<
"\tnumber of tracks = " <<
tracks.size() <<
"\tnumber of external predictions = " <<
external.size();
82 ConstTrajTrackPairCollection::const_iterator itTracks =
tracks.begin();
83 ExternalPredictionCollection::const_iterator itExternal =
external.begin();
85 while (itTracks !=
tracks.end()) {
88 if (
input.first.isValid()) {
89 if ((*itExternal).isValid() &&
sameSurface((*itExternal).surface(),
input.first.surface())) {
95 config.hitsAreReverse =
false;
99 AlgebraicSymMatrix externalParamErrors(asHepMatrix<5>((*itExternal).localError().matrix()));
100 refTraj->setParameterErrors(externalParamErrors.sub(2, 5));
109 config.hitsAreReverse =
false;
dictionary config
Read in AllInOne config in JSON format.
bool sameSurface(const Surface &s1, const Surface &s2) const
MaterialEffects materialEffects(void) const
static std::string const input
BzeroReferenceTrajectoryFactory(const edm::ParameterSet &config, edm::ConsumesCollector &iC)
~BzeroReferenceTrajectoryFactory() override
const bool allowZeroMaterial_
const ReferenceTrajectoryCollection trajectories(const edm::EventSetup &setup, const ConstTrajTrackPairCollection &tracks, const reco::BeamSpot &beamSpot) const override
Produce the reference trajectories.
std::pair< TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer > TrajectoryInput
Log< level::Info, false > LogInfo
AlignmentAlgorithmBase::ConstTrajTrackPairCollection ConstTrajTrackPairCollection
virtual const TrajectoryInput innermostStateAndRecHits(const ConstTrajTrackPair &track) const
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > m_MagFieldToken
CLHEP::HepSymMatrix AlgebraicSymMatrix
std::vector< TrajectoryStateOnSurface > ExternalPredictionCollection
PropagationDirection propagationDirection(void) const
#define DEFINE_EDM_PLUGIN(factory, type, name)
double theMomentumEstimate
ReferenceTrajectoryBase::ReferenceTrajectoryPtr ReferenceTrajectoryPtr
std::vector< ReferenceTrajectoryPtr > ReferenceTrajectoryCollection