#include <CosmicMuonTrajectoryBuilder.h>
Private Member Functions | |
void | build (const TrajectoryStateOnSurface &, const NavigationDirection &, Trajectory &) |
void | buildSecondHalf (Trajectory &) |
void | estimateDirection (Trajectory &) const |
check the direction of trajectory by checking eta spread More... | |
std::vector < TrajectoryMeasurement > | findBestMeasurements (const DetLayer *, const TrajectoryStateOnSurface &, const Propagator *, const MeasurementEstimator *) |
void | flipTrajectory (Trajectory &) const |
flip a trajectory with refit (the momentum direction is opposite) More... | |
void | getDirectionByTime (Trajectory &) const |
check the direction of trajectory by checking the timing More... | |
void | incrementChamberCounters (const DetLayer *layer, int &dtChambers, int &cscChambers, int &rpcChambers, int &totalChambers) |
TrajectoryStateOnSurface | intermediateState (const TrajectoryStateOnSurface &) const |
void | reverseTrajectory (Trajectory &) const |
reverse a trajectory without refit (out the measurements order changed) More... | |
void | reverseTrajectoryPropagationDirection (Trajectory &) const |
reverse the propagation direction of a trajectory More... | |
void | selectHits (MuonTransientTrackingRecHit::MuonRecHitContainer &) const |
bool | selfDuplicate (const Trajectory &) const |
check if the trajectory iterates the same hit more than once More... | |
MuonTransientTrackingRecHit::MuonRecHitContainer | unusedHits (const DetLayer *, const TrajectoryMeasurement &) const |
Private Attributes | |
std::string | category_ |
edm::Handle < CSCRecHit2DCollection > | cschits_ |
edm::Handle< DTRecHitCollection > | dthits_ |
MuonBestMeasurementFinder * | theBestMeasurementFinder |
MuonTrajectoryUpdator * | theBKUpdator |
unsigned long long | theCacheId_DG |
MuonDetLayerMeasurements * | theLayerMeasurements |
DirectMuonNavigation * | theNavigation |
edm::ParameterSet | theNavigationPSet |
int | theNSuccess |
int | theNTraversing |
std::string | thePropagatorName |
const MuonServiceProxy * | theService |
CosmicMuonSmoother * | theSmoother |
bool | theStrict1LegFlag |
bool | theTraversingMuonFlag |
MuonTrajectoryUpdator * | theUpdator |
Additional Inherited Members | |
Public Types inherited from MuonTrajectoryBuilder | |
typedef MuonCandidate::CandidateContainer | CandidateContainer |
typedef std::pair< const Trajectory *, reco::TrackRef > | TrackCand |
typedef MuonCandidate::TrajectoryContainer | TrajectoryContainer |
Definition at line 38 of file CosmicMuonTrajectoryBuilder.h.
CosmicMuonTrajectoryBuilder::CosmicMuonTrajectoryBuilder | ( | const edm::ParameterSet & | par, |
const MuonServiceProxy * | service, | ||
edm::ConsumesCollector & | iC | ||
) |
Constructor.
Definition at line 44 of file CosmicMuonTrajectoryBuilder.cc.
References category_, edm::ParameterSet::getParameter(), insideOut, outsideIn, theBestMeasurementFinder, theBKUpdator, theCacheId_DG, theLayerMeasurements, theNavigation, theNavigationPSet, theNSuccess, theNTraversing, thePropagatorName, theService, theSmoother, theStrict1LegFlag, theTraversingMuonFlag, and theUpdator.
|
virtual |
Destructor.
Definition at line 97 of file CosmicMuonTrajectoryBuilder.cc.
References category_, LogTrace, theBestMeasurementFinder, theBKUpdator, theLayerMeasurements, theNavigation, theNSuccess, theNTraversing, theSmoother, and theUpdator.
|
inline |
Definition at line 67 of file CosmicMuonTrajectoryBuilder.h.
References theBKUpdator.
Referenced by build(), and trajectories().
|
inline |
Definition at line 75 of file CosmicMuonTrajectoryBuilder.h.
References theBestMeasurementFinder.
|
private |
Definition at line 469 of file CosmicMuonTrajectoryBuilder.cc.
References alongMomentum, backwardUpdator(), PV3DBase< T, PVType, FrameType >::basicVector(), category_, DirectMuonNavigation::compatibleEndcapLayers(), DirectMuonNavigation::compatibleLayers(), Basic3DVector< T >::dot(), Trajectory::empty(), Basic3DVector< T >::eta(), findBestMeasurements(), Trajectory::firstMeasurement(), TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::globalPosition(), reco::if(), incrementChamberCounters(), TrajectoryStateOnSurface::isValid(), Trajectory::lastMeasurement(), LogTrace, MuonTrajectoryUpdator::makeFirstTime(), FreeTrajectoryState::momentum(), navigation(), oppositeToMomentum, FreeTrajectoryState::position(), Propagator::propagate(), propagator(), propagatorAlong(), propagatorOpposite(), TrajectoryStateOnSurface::rescaleError(), MuonTrajectoryUpdator::setFitDirection(), theBKUpdator, theStrict1LegFlag, theTraversingMuonFlag, MuonTrajectoryUpdator::update(), TrajectoryMeasurement::updatedState(), updator(), and PV3DBase< T, PVType, FrameType >::y().
Referenced by buildSecondHalf().
|
private |
Definition at line 565 of file CosmicMuonTrajectoryBuilder.cc.
References build(), category_, Trajectory::empty(), Trajectory::firstMeasurement(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), insideOut, intermediateState(), TrajectoryStateOnSurface::isValid(), Trajectory::lastMeasurement(), LogTrace, TrajectoryMeasurement::predictedState(), TrajectoryMeasurement::recHit(), reverseTrajectory(), and TrajectoryMeasurement::updatedState().
Referenced by trajectories().
PropagationDirection CosmicMuonTrajectoryBuilder::checkDirectionByT0 | ( | const DTRecSegment4D * | dtseg1, |
const DTRecSegment4D * | dtseg2 | ||
) | const |
Definition at line 940 of file CosmicMuonTrajectoryBuilder.cc.
References alongMomentum, anyDirection, category_, LogTrace, oppositeToMomentum, query::result, and t0().
|
private |
check the direction of trajectory by checking eta spread
Definition at line 771 of file CosmicMuonTrajectoryBuilder.cc.
References category_, PV3DBase< T, PVType, FrameType >::eta(), Trajectory::firstMeasurement(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), Trajectory::lastMeasurement(), LogTrace, CosmicMuonUtilities::reverseDirection(), Trajectory::seed(), theService, theSmoother, CosmicMuonSmoother::trajectories(), TrajectoryMeasurement::updatedState(), and utilities().
Referenced by trajectories().
|
private |
Definition at line 859 of file CosmicMuonTrajectoryBuilder.cc.
References MuonBestMeasurementFinder::findBestMeasurement(), MuonDetLayerMeasurements::groupedMeasurements(), GeometricSearchDet::hasGroups(), MuonDetLayerMeasurements::measurements(), query::result, theBestMeasurementFinder, and theLayerMeasurements.
Referenced by build(), and trajectories().
|
private |
flip a trajectory with refit (the momentum direction is opposite)
Definition at line 717 of file CosmicMuonTrajectoryBuilder.cc.
References category_, CosmicMuonSmoother::fit(), TrajectoryStateOnSurface::isValid(), Trajectory::lastMeasurement(), LogTrace, CosmicMuonUtilities::reverseDirection(), Trajectory::seed(), theService, theSmoother, TrajectoryMeasurement::updatedState(), and utilities().
Referenced by trajectories().
|
private |
check the direction of trajectory by checking the timing
Definition at line 814 of file CosmicMuonTrajectoryBuilder.cc.
References category_, CSCDetId, cschits_, dthits_, DTLayerId, LogTrace, and PV3DBase< T, PVType, FrameType >::perp().
|
private |
Definition at line 898 of file CosmicMuonTrajectoryBuilder.cc.
References GeomDetEnumerators::CSC, GeomDetEnumerators::DT, GeomDetEnumerators::RPCBarrel, GeomDetEnumerators::RPCEndcap, and DetLayer::subDetector().
Referenced by build(), and trajectories().
|
private |
Definition at line 591 of file CosmicMuonTrajectoryBuilder.cc.
References category_, TrajectoryStateOnSurface::globalDirection(), LogTrace, Propagator::propagate(), and propagator().
Referenced by buildSecondHalf().
|
inline |
Definition at line 73 of file CosmicMuonTrajectoryBuilder.h.
References theNavigation.
Referenced by build(), and trajectories().
|
inline |
Definition at line 58 of file CosmicMuonTrajectoryBuilder.h.
References MuonServiceProxy::propagator(), thePropagatorName, and theService.
Referenced by build(), intermediateState(), and trajectories().
|
inline |
Definition at line 61 of file CosmicMuonTrajectoryBuilder.h.
References MuonServiceProxy::propagator(), and theService.
Referenced by build().
|
inline |
Definition at line 63 of file CosmicMuonTrajectoryBuilder.h.
References MuonServiceProxy::propagator(), and theService.
Referenced by build().
|
private |
reverse a trajectory without refit (out the measurements order changed)
Definition at line 689 of file CosmicMuonTrajectoryBuilder.cc.
References alongMomentum, Trajectory::firstMeasurement(), Trajectory::lastMeasurement(), Trajectory::measurements(), oppositeToMomentum, TrajectoryMeasurement::recHit(), and Trajectory::seed().
Referenced by buildSecondHalf().
|
private |
reverse the propagation direction of a trajectory
Definition at line 748 of file CosmicMuonTrajectoryBuilder.cc.
References alongMomentum, anyDirection, Trajectory::direction(), Trajectory::empty(), Trajectory::measurements(), oppositeToMomentum, Trajectory::pop(), and Trajectory::seed().
Referenced by trajectories().
|
private |
Definition at line 609 of file CosmicMuonTrajectoryBuilder.cc.
References i, j, keep, and tmp.
|
private |
check if the trajectory iterates the same hit more than once
Definition at line 665 of file CosmicMuonTrajectoryBuilder.cc.
References Trajectory::empty(), and query::result.
Referenced by trajectories().
|
virtual |
pass the Event to the algo at each event
Implements MuonTrajectoryBuilder.
Definition at line 112 of file CosmicMuonTrajectoryBuilder.cc.
References category_, LogTrace, MuonDetLayerMeasurements::setEvent(), theCacheId_DG, theLayerMeasurements, theNavigation, theNavigationPSet, and theService.
|
inline |
Definition at line 69 of file CosmicMuonTrajectoryBuilder.h.
References theSmoother.
Referenced by utilities().
double CosmicMuonTrajectoryBuilder::t0 | ( | const DTRecSegment4D * | deseg | ) | const |
Definition at line 915 of file CosmicMuonTrajectoryBuilder.cc.
References category_, DTRecSegment4D::hasPhi(), DTRecSegment2D::ist0Valid(), LogTrace, DTRecSegment4D::phiSegment(), query::result, DTRecSegment2D::specificRecHits(), and DTRecSegment2D::t0().
Referenced by checkDirectionByT0().
|
virtual |
build trajectories from seed
Implements MuonTrajectoryBuilder.
Definition at line 130 of file CosmicMuonTrajectoryBuilder.cc.
References alongMomentum, backwardUpdator(), PV3DBase< T, PVType, FrameType >::basicVector(), buildSecondHalf(), category_, Trajectory::chiSquared(), DirectMuonNavigation::compatibleEndcapLayers(), DirectMuonNavigation::compatibleLayers(), MuonSubdetId::CSC, debug, dir, Trajectory::direction(), Basic3DVector< T >::dot(), MuonSubdetId::DT, Trajectory::empty(), GeomDetEnumerators::endcap, estimateDirection(), MuonTrajectoryUpdator::estimator(), PV3DBase< T, PVType, FrameType >::eta(), findBestMeasurements(), Trajectory::firstMeasurement(), flipTrajectory(), TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), reco::if(), incrementChamberCounters(), insideOut, TrajectoryStateOnSurface::isValid(), Trajectory::isValid(), Trajectory::lastMeasurement(), LogTrace, PV3DBase< T, PVType, FrameType >::mag(), Trajectory::measurements(), navigation(), oppositeToMomentum, outsideIn, Trajectory::pop(), propagator(), MuonDetLayerMeasurements::recHits(), TrajectoryStateOnSurface::rescaleError(), query::result, reverseTrajectoryPropagationDirection(), selfDuplicate(), MuonTrajectoryUpdator::setFitDirection(), TrajectorySeed::startingState(), edmStreamStallGrapher::t, theBKUpdator, theLayerMeasurements, theService, theSmoother, theStrict1LegFlag, theTraversingMuonFlag, CosmicMuonSmoother::trajectories(), trajectoryStateTransform::transientState(), unusedHits(), MuonTrajectoryUpdator::update(), TrajectoryMeasurement::updatedState(), updator(), utilities(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
inlinevirtual |
dummy implementation, unused in this class
Implements MuonTrajectoryBuilder.
Definition at line 52 of file CosmicMuonTrajectoryBuilder.h.
|
private |
Definition at line 449 of file CosmicMuonTrajectoryBuilder.cc.
References category_, LogTrace, TrajectoryMeasurement::recHit(), MuonDetLayerMeasurements::recHits(), query::result, and theLayerMeasurements.
Referenced by trajectories().
|
inline |
Definition at line 65 of file CosmicMuonTrajectoryBuilder.h.
References theUpdator.
Referenced by build(), and trajectories().
|
inline |
Definition at line 71 of file CosmicMuonTrajectoryBuilder.h.
References smoother(), and CosmicMuonSmoother::utilities().
Referenced by estimateDirection(), flipTrajectory(), and trajectories().
|
private |
Definition at line 133 of file CosmicMuonTrajectoryBuilder.h.
Referenced by build(), buildSecondHalf(), checkDirectionByT0(), CosmicMuonTrajectoryBuilder(), estimateDirection(), flipTrajectory(), getDirectionByTime(), intermediateState(), setEvent(), t0(), trajectories(), unusedHits(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 138 of file CosmicMuonTrajectoryBuilder.h.
Referenced by getDirectionByTime().
|
private |
Definition at line 139 of file CosmicMuonTrajectoryBuilder.h.
Referenced by getDirectionByTime().
|
private |
Definition at line 126 of file CosmicMuonTrajectoryBuilder.h.
Referenced by bestMeasurementFinder(), CosmicMuonTrajectoryBuilder(), findBestMeasurements(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 120 of file CosmicMuonTrajectoryBuilder.h.
Referenced by backwardUpdator(), build(), CosmicMuonTrajectoryBuilder(), trajectories(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 137 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and setEvent().
|
private |
Definition at line 121 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), findBestMeasurements(), setEvent(), trajectories(), unusedHits(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 116 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), navigation(), setEvent(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 117 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and setEvent().
|
private |
Definition at line 135 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 134 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 128 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and propagator().
|
private |
Definition at line 123 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), estimateDirection(), flipTrajectory(), propagator(), propagatorAlong(), propagatorOpposite(), setEvent(), and trajectories().
|
private |
Definition at line 124 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), estimateDirection(), flipTrajectory(), smoother(), trajectories(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 131 of file CosmicMuonTrajectoryBuilder.h.
Referenced by build(), CosmicMuonTrajectoryBuilder(), and trajectories().
|
private |
Definition at line 130 of file CosmicMuonTrajectoryBuilder.h.
Referenced by build(), CosmicMuonTrajectoryBuilder(), and trajectories().
|
private |
Definition at line 119 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), updator(), and ~CosmicMuonTrajectoryBuilder().