|
|
#include <MuonCkfTrajectoryBuilder.h>
|
| MuonCkfTrajectoryBuilder (const edm::ParameterSet &conf, edm::ConsumesCollector &iC) |
|
| ~MuonCkfTrajectoryBuilder () override |
|
TempTrajectory | buildTrajectories (const TrajectorySeed &, TrajectoryContainer &ret, unsigned int &nCandPerSeed, const TrajectoryFilter *) const override |
|
| CkfTrajectoryBuilder (const edm::ParameterSet &conf, edm::ConsumesCollector &iC) |
|
| CkfTrajectoryBuilder (const edm::ParameterSet &conf, std::unique_ptr< TrajectoryFilter > filter) |
|
void | rebuildTrajectories (TempTrajectory const &startingTraj, const TrajectorySeed &, TrajectoryContainer &result) const override |
|
TrajectoryContainer | trajectories (const TrajectorySeed &seed) const override |
| trajectories building starting from a seed More...
|
|
void | trajectories (const TrajectorySeed &seed, TrajectoryContainer &ret) const override |
| trajectories building starting from a seed More...
|
|
| ~CkfTrajectoryBuilder () override |
|
| BaseCkfTrajectoryBuilder (const BaseCkfTrajectoryBuilder &)=delete |
|
| BaseCkfTrajectoryBuilder (const edm::ParameterSet &conf, std::unique_ptr< TrajectoryFilter > filter, std::unique_ptr< TrajectoryFilter > inOutFilter=nullptr) |
|
const TransientTrackingRecHitBuilder * | hitBuilder () const |
|
BaseCkfTrajectoryBuilder & | operator= (const BaseCkfTrajectoryBuilder &)=delete |
|
virtual void | setDebugger (CkfDebugger *dbg) const |
|
void | setEvent (const edm::Event &event) const override |
|
void | setEvent (const edm::Event &iEvent, const edm::EventSetup &iSetup, const MeasurementTrackerEvent *data) |
|
void | setNavigationSchool (NavigationSchool const *nv) |
|
void | unset () const override |
|
| ~BaseCkfTrajectoryBuilder () override |
|
virtual void | rebuildSeedingRegion (const TrajectorySeed &, TrajectoryContainer &result) const |
|
virtual | ~TrajectoryBuilder () |
|
|
void | collectMeasurement (const DetLayer *layer, const std::vector< const DetLayer * > &nl, const TrajectoryStateOnSurface ¤tState, std::vector< TM > &result, int &invalidHits, const Propagator *) const |
|
void | findCompatibleMeasurements (const TrajectorySeed &seed, const TempTrajectory &traj, std::vector< TrajectoryMeasurement > &result) const override |
|
void | setEvent_ (const edm::Event &iEvent, const edm::EventSetup &iSetup) override |
|
unsigned int | limitedCandidates (const std::shared_ptr< const TrajectorySeed > &sharedSeed, TempTrajectoryContainer &candidates, TrajectoryContainer &result) const |
|
unsigned int | limitedCandidates (const TrajectorySeed &seed, TempTrajectory &startingTraj, TrajectoryContainer &result) const |
|
void | setEvent_ (const edm::Event &iEvent, const edm::EventSetup &iSetup) override |
|
void | updateTrajectory (TempTrajectory &traj, TM &&tm) const |
|
void | addToResult (std::shared_ptr< const TrajectorySeed > const &seed, TempTrajectory &traj, TrajectoryContainer &result, bool inOut=false) const |
|
void | addToResult (TempTrajectory const &traj, TempTrajectoryContainer &result, bool inOut=false) const |
|
virtual bool | analyzeMeasurementsDebugger (TempTrajectory &traj, const std::vector< TrajectoryMeasurement > &meas, const MeasurementTrackerEvent *theMeasurementTracker, const Propagator *theForwardPropagator, const Chi2MeasurementEstimatorBase *theEstimator, const TransientTrackingRecHitBuilder *theTTRHBuilder) const |
|
virtual bool | analyzeMeasurementsDebugger (Trajectory &traj, const std::vector< TrajectoryMeasurement > &meas, const MeasurementTrackerEvent *theMeasurementTracker, const Propagator *theForwardPropagator, const Chi2MeasurementEstimatorBase *theEstimator, const TransientTrackingRecHitBuilder *theTTRHBuilder) const |
|
const Propagator * | backwardPropagator (const TrajectorySeed &seed) const |
|
TempTrajectory | createStartingTrajectory (const TrajectorySeed &seed) const |
|
virtual void | fillSeedHistoDebugger (std::vector< TrajectoryMeasurement >::iterator begin, std::vector< TrajectoryMeasurement >::iterator end) const |
|
StateAndLayers | findStateAndLayers (const TrajectorySeed &seed, const TempTrajectory &traj) const |
|
const Propagator * | forwardPropagator (const TrajectorySeed &seed) const |
|
void | moveToResult (TempTrajectory &&traj, TempTrajectoryContainer &result, bool inOut=false) const |
|
bool | qualityFilter (const TempTrajectory &traj, bool inOut=false) const |
|
void | setData (const MeasurementTrackerEvent *data) |
|
bool | toBeContinued (TempTrajectory &traj, bool inOut=false) const |
|
Definition at line 7 of file MuonCkfTrajectoryBuilder.h.
◆ MuonCkfTrajectoryBuilder()
◆ ~MuonCkfTrajectoryBuilder()
MuonCkfTrajectoryBuilder::~MuonCkfTrajectoryBuilder |
( |
| ) |
|
|
override |
◆ collectMeasurement()
Definition at line 74 of file MuonCkfTrajectoryBuilder.cc.
80 for (std::vector<const DetLayer*>::const_iterator il = nl.begin(); il != nl.end(); il++) {
81 TSOS stateToUse = currentState;
84 LogDebug(
"CkfPattern") <<
" self propagating in findCompatibleMeasurements.\n from: \n" << stateToUse;
89 stateToUse = middle.
extrapolate(stateToUse, center, *prop);
93 LogDebug(
"CkfPattern") <<
"to: " << stateToUse;
97 std::vector<TM>
tmp = layerMeasurements.measurements((**il), stateToUse, *prop, *
theEstimator);
100 LogDebug(
"CkfPattern") <<
"only an invalid hit is found. trying differently";
103 LogDebug(
"CkfPattern") <<
tmp.size() <<
" measurements returned by LayerMeasurements";
120 LogDebug(
"CkfPattern") <<
"starting from:\n"
References PrintoutHelper::dumpMeasurements(), TransverseImpactPointExtrapolator::extrapolate(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), phase1PixelTopology::layer, LogDebug, MeasurementTrackerEvent::measurementTracker(), mps_fire::result, BaseCkfTrajectoryBuilder::theEstimator, theEtaPhiEstimator, BaseCkfTrajectoryBuilder::theMeasurementTracker, and createJobs::tmp.
Referenced by findCompatibleMeasurements().
◆ findCompatibleMeasurements()
Reimplemented from CkfTrajectoryBuilder.
Definition at line 126 of file MuonCkfTrajectoryBuilder.cc.
131 std::vector<const DetLayer*> nl;
134 LogDebug(
"CkfPattern") <<
"using JR patch for no measurement case";
141 const Surface* surface = &
g->surface();
152 LogDebug(
"CkfPattern") <<
"using the layer of the seed first.";
171 LogDebug(
"CkfPattern") <<
"Need to go to next layer to get measurements";
175 LogDebug(
"CkfPattern") <<
" there was no next layer with wellInside. Use the next with no check.";
188 <<
" to find measurements on next layers.";
201 LogDebug(
"CkfPattern") <<
" no next layers... going " << traj.
direction() <<
"\n from: \n"
216 bool afterInvalid =
false;
217 for (std::vector<TM>::const_iterator
i =
result.begin();
i !=
result.end();
i++) {
218 if (!
i->recHit().isValid())
220 if (afterInvalid &&
i->recHit().isValid()) {
221 edm::LogError(
"CkfPattern") <<
"CkfTrajectoryBuilder error: valid hit after invalid!";
References alongMomentum, collectMeasurement(), PTrajectoryStateOnDet::detId(), GeometricSearchTracker::detLayer(), TempTrajectory::direction(), TempTrajectory::empty(), BaseCkfTrajectoryBuilder::forwardPropagator(), TrajectoryStateOnSurface::freeState(), g, MeasurementTrackerEvent::geometricSearchTracker(), MeasurementTrackerEvent::geomTracker(), mps_fire::i, triggerObjects_cff::id, TrackerGeometry::idToDet(), insideOut, createfilelist::int, cmsLHEtoEOSManager::l, TempTrajectory::lastLayer(), TempTrajectory::lastMeasurement(), LogDebug, HLT_FULL_cff::magneticField, NavigationSchool::nextLayers(), outsideIn, TrajectoryMeasurement::recHit(), TrajectoryStateOnSurface::rescaleError(), mps_fire::result, fileCollector::seed, jetUpdater_cfi::sort, BaseCkfTrajectoryBuilder::theMeasurementTracker, BaseCkfTrajectoryBuilder::theNavigationSchool, theProximityPropagator, theRescaleErrorIfFail, theUseSeedLayer, trajectoryStateTransform::transientState(), and TrajectoryMeasurement::updatedState().
◆ setEvent_()
Implements BaseCkfTrajectoryBuilder.
Definition at line 32 of file MuonCkfTrajectoryBuilder.cc.
References edm::EventSetup::get(), get, iEvent, edm::ESHandle< T >::product(), CkfTrajectoryBuilder::setEvent_(), theDeltaEta, theDeltaPhi, BaseCkfTrajectoryBuilder::theEstimator, theEstimatorWatcher, theEtaPhiEstimator, theProximityPropagator, and theProximityPropagatorName.
◆ theDeltaEta
const double MuonCkfTrajectoryBuilder::theDeltaEta |
|
protected |
◆ theDeltaPhi
const double MuonCkfTrajectoryBuilder::theDeltaPhi |
|
protected |
◆ theEstimatorWatcher
◆ theEtaPhiEstimator
◆ theProximityPropagator
const Propagator* MuonCkfTrajectoryBuilder::theProximityPropagator |
|
protected |
◆ theProximityPropagatorName
const std::string MuonCkfTrajectoryBuilder::theProximityPropagatorName |
|
protected |
◆ theRescaleErrorIfFail
double MuonCkfTrajectoryBuilder::theRescaleErrorIfFail |
|
protected |
◆ theUseSeedLayer
bool MuonCkfTrajectoryBuilder::theUseSeedLayer |
|
protected |
const TrackerGeomDet * idToDet(DetId) const override
const std::string theProximityPropagatorName
T const * product() const
PropagationDirection direction() const
std::unique_ptr< Chi2MeasurementEstimatorBase > theEtaPhiEstimator
GlobalPoint globalPosition() const
const Chi2MeasurementEstimatorBase * theEstimator
const TrackerGeometry * geomTracker() const
TrajectoryStateOnSurface const & updatedState() const
void collectMeasurement(const DetLayer *layer, const std::vector< const DetLayer * > &nl, const TrajectoryStateOnSurface ¤tState, std::vector< TM > &result, int &invalidHits, const Propagator *) const
unsigned int detId() const
std::vector< const DetLayer * > nextLayers(const DetLayer &detLayer, Args &&... args) const
static std::string dumpMeasurements(const std::vector< TrajectoryMeasurement > &v)
const TrajectoryMeasurement & lastMeasurement() const
const DetLayer * detLayer(const DetId &id) const
obsolete method. Use idToLayer() instead.
const MeasurementTrackerEvent * theMeasurementTracker
CkfTrajectoryBuilder(const edm::ParameterSet &conf, edm::ConsumesCollector &iC)
constexpr std::array< uint8_t, layerIndexSize > layer
const MeasurementTracker & measurementTracker() const
const Propagator * theProximityPropagator
double theRescaleErrorIfFail
const GeometricSearchTracker * geometricSearchTracker() const
const NavigationSchool * theNavigationSchool
const Propagator * forwardPropagator(const TrajectorySeed &seed) const
edm::ESWatcher< BaseCkfTrajectoryBuilder::Chi2MeasurementEstimatorRecord > theEstimatorWatcher
Log< level::Error, false > LogError
void rescaleError(double factor)
ConstRecHitPointer const & recHit() const
void setEvent_(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
GlobalVector globalMomentum() const
const DetLayer * lastLayer() const
Redundant method, returns the layer of lastMeasurement() .
T getParameter(std::string const &) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
bool empty() const
True if trajectory has no measurements.