#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 41 of file CosmicMuonTrajectoryBuilder.h.
CosmicMuonTrajectoryBuilder::CosmicMuonTrajectoryBuilder | ( | const edm::ParameterSet & | par, |
const MuonServiceProxy * | service, | ||
edm::ConsumesCollector & | iC | ||
) |
Constructor.
Definition at line 43 of file CosmicMuonTrajectoryBuilder.cc.
References category_, HLT_2023v12_cff::CSCRecSegmentLabel, HLT_2023v12_cff::DTRecSegmentLabel, edm::ParameterSet::getParameter(), insideOut, outsideIn, HLT_2023v12_cff::RPCRecSegmentLabel, theBestMeasurementFinder, theBKUpdator, theCacheId_DG, theLayerMeasurements, theNavigation, theNavigationPSet, theNSuccess, theNTraversing, thePropagatorName, theService, theSmoother, theStrict1LegFlag, theTraversingMuonFlag, and theUpdator.
|
override |
Destructor.
Definition at line 104 of file CosmicMuonTrajectoryBuilder.cc.
References category_, LogTrace, theBestMeasurementFinder, theBKUpdator, theLayerMeasurements, theNavigation, theNSuccess, theNTraversing, theSmoother, and theUpdator.
|
inline |
Definition at line 66 of file CosmicMuonTrajectoryBuilder.h.
References theBKUpdator.
Referenced by build(), and trajectories().
|
inline |
Definition at line 74 of file CosmicMuonTrajectoryBuilder.h.
References theBestMeasurementFinder.
|
private |
Definition at line 481 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(), ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::if(), incrementChamberCounters(), TrajectoryStateOnSurface::isValid(), Trajectory::lastMeasurement(), LogTrace, MuonTrajectoryUpdator::makeFirstTime(), FreeTrajectoryState::momentum(), navigation(), oppositeToMomentum, FreeTrajectoryState::position(), Propagator::propagate(), propagator(), propagatorAlong(), propagatorOpposite(), rpcPointValidation_cfi::recHit, 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 574 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 929 of file CosmicMuonTrajectoryBuilder.cc.
References alongMomentum, anyDirection, category_, LogTrace, oppositeToMomentum, mps_fire::result, and t0().
|
private |
check the direction of trajectory by checking eta spread
Definition at line 773 of file CosmicMuonTrajectoryBuilder.cc.
References category_, PV3DBase< T, PVType, FrameType >::eta(), Trajectory::firstMeasurement(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), hfClusterShapes_cfi::hits, TrajectoryStateOnSurface::isValid(), Trajectory::lastMeasurement(), LogTrace, Trajectory::recHits(), groupFilesInBlocks::reverse, CosmicMuonUtilities::reverseDirection(), Trajectory::seed(), theService, theSmoother, CosmicMuonSmoother::trajectories(), TrajectoryMeasurement::updatedState(), and utilities().
Referenced by trajectories().
|
private |
Definition at line 851 of file CosmicMuonTrajectoryBuilder.cc.
References MuonBestMeasurementFinder::findBestMeasurement(), MuonDetLayerMeasurements::groupedMeasurements(), nano_mu_digi_cff::layer, MuonDetLayerMeasurements::measurements(), propagator(), mps_fire::result, theBestMeasurementFinder, and theLayerMeasurements.
Referenced by build(), and trajectories().
|
private |
flip a trajectory with refit (the momentum direction is opposite)
Definition at line 724 of file CosmicMuonTrajectoryBuilder.cc.
References category_, CosmicMuonSmoother::fit(), hfClusterShapes_cfi::hits, TrajectoryStateOnSurface::isValid(), Trajectory::lastMeasurement(), LogTrace, Trajectory::recHits(), groupFilesInBlocks::reverse, 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 812 of file CosmicMuonTrajectoryBuilder.cc.
References category_, cschits_, dthits_, hfClusterShapes_cfi::hits, LogTrace, and Trajectory::recHits().
|
private |
Definition at line 889 of file CosmicMuonTrajectoryBuilder.cc.
References GeomDetEnumerators::CSC, GeomDetEnumerators::DT, nano_mu_digi_cff::layer, GeomDetEnumerators::RPCBarrel, and GeomDetEnumerators::RPCEndcap.
Referenced by build(), and trajectories().
|
private |
Definition at line 599 of file CosmicMuonTrajectoryBuilder.cc.
References category_, TrajectoryStateOnSurface::globalDirection(), LogTrace, Propagator::propagate(), and propagator().
Referenced by buildSecondHalf().
|
inline |
Definition at line 72 of file CosmicMuonTrajectoryBuilder.h.
References theNavigation.
Referenced by build(), and trajectories().
|
inline |
Definition at line 57 of file CosmicMuonTrajectoryBuilder.h.
References MuonServiceProxy::propagator(), thePropagatorName, and theService.
Referenced by build(), findBestMeasurements(), intermediateState(), and trajectories().
|
inline |
Definition at line 60 of file CosmicMuonTrajectoryBuilder.h.
References MuonServiceProxy::propagator(), and theService.
Referenced by build().
|
inline |
Definition at line 62 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 699 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 752 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 615 of file CosmicMuonTrajectoryBuilder.cc.
References hfClusterShapes_cfi::hits, mps_fire::i, dqmiolumiharvest::j, runTheMatrix::keep, and createJobs::tmp.
|
private |
check if the trajectory iterates the same hit more than once
Definition at line 674 of file CosmicMuonTrajectoryBuilder.cc.
References Trajectory::empty(), hfClusterShapes_cfi::hits, Trajectory::recHits(), and mps_fire::result.
Referenced by trajectories().
|
overridevirtual |
pass the Event to the algo at each event
Implements MuonTrajectoryBuilder.
Definition at line 121 of file CosmicMuonTrajectoryBuilder.cc.
References category_, LogTrace, MuonDetLayerMeasurements::setEvent(), theCacheId_DG, theLayerMeasurements, theNavigation, theNavigationPSet, and theService.
|
inline |
Definition at line 68 of file CosmicMuonTrajectoryBuilder.h.
References theSmoother.
Referenced by utilities().
double CosmicMuonTrajectoryBuilder::t0 | ( | const DTRecSegment4D * | deseg | ) | const |
Definition at line 904 of file CosmicMuonTrajectoryBuilder.cc.
References category_, DTRecSegment4D::hasPhi(), DTRecSegment2D::ist0Valid(), LogTrace, DTRecSegment4D::phiSegment(), mps_fire::result, DTRecSegment2D::specificRecHits(), and DTRecSegment2D::t0().
Referenced by checkDirectionByT0().
|
overridevirtual |
build trajectories from seed
Implements MuonTrajectoryBuilder.
Definition at line 135 of file CosmicMuonTrajectoryBuilder.cc.
References alongMomentum, backwardUpdator(), PV3DBase< T, PVType, FrameType >::basicVector(), buildSecondHalf(), category_, Trajectory::chiSquared(), DirectMuonNavigation::compatibleEndcapLayers(), DirectMuonNavigation::compatibleLayers(), MuonSubdetId::CSC, debug, DeadROC_duringRun::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(), ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::if(), incrementChamberCounters(), insideOut, sistrip::SpyUtilities::isValid(), TrajectoryStateOnSurface::isValid(), Trajectory::isValid(), Trajectory::lastMeasurement(), nano_mu_digi_cff::layer, LogTrace, PV3DBase< T, PVType, FrameType >::mag(), Trajectory::measurements(), navigation(), oppositeToMomentum, outsideIn, Trajectory::pop(), propagator(), MuonDetLayerMeasurements::recHits(), TrajectoryStateOnSurface::rescaleError(), mps_fire::result, runTheMatrix::ret, groupFilesInBlocks::reverse, reverseTrajectoryPropagationDirection(), fileCollector::seed, selfDuplicate(), MuonTrajectoryUpdator::setFitDirection(), 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().
|
inlineoverridevirtual |
dummy implementation, unused in this class
Implements MuonTrajectoryBuilder.
Definition at line 53 of file CosmicMuonTrajectoryBuilder.h.
|
private |
Definition at line 464 of file CosmicMuonTrajectoryBuilder.cc.
References category_, nano_mu_digi_cff::layer, LogTrace, TrajectoryMeasurement::recHit(), MuonDetLayerMeasurements::recHits(), mps_fire::result, and theLayerMeasurements.
Referenced by trajectories().
|
inline |
Definition at line 64 of file CosmicMuonTrajectoryBuilder.h.
References theUpdator.
Referenced by build(), and trajectories().
|
inline |
Definition at line 70 of file CosmicMuonTrajectoryBuilder.h.
References smoother(), and CosmicMuonSmoother::utilities().
Referenced by estimateDirection(), flipTrajectory(), and trajectories().
|
private |
Definition at line 134 of file CosmicMuonTrajectoryBuilder.h.
Referenced by build(), buildSecondHalf(), checkDirectionByT0(), CosmicMuonTrajectoryBuilder(), estimateDirection(), flipTrajectory(), getDirectionByTime(), intermediateState(), setEvent(), t0(), trajectories(), unusedHits(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 139 of file CosmicMuonTrajectoryBuilder.h.
Referenced by getDirectionByTime().
|
private |
Definition at line 140 of file CosmicMuonTrajectoryBuilder.h.
Referenced by getDirectionByTime().
|
private |
Definition at line 127 of file CosmicMuonTrajectoryBuilder.h.
Referenced by bestMeasurementFinder(), CosmicMuonTrajectoryBuilder(), findBestMeasurements(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 121 of file CosmicMuonTrajectoryBuilder.h.
Referenced by backwardUpdator(), build(), CosmicMuonTrajectoryBuilder(), trajectories(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 138 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and setEvent().
|
private |
Definition at line 122 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), findBestMeasurements(), setEvent(), trajectories(), unusedHits(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 117 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), navigation(), setEvent(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 118 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and setEvent().
|
private |
Definition at line 136 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 135 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 129 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), and propagator().
|
private |
Definition at line 124 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), estimateDirection(), flipTrajectory(), propagator(), propagatorAlong(), propagatorOpposite(), setEvent(), and trajectories().
|
private |
Definition at line 125 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), estimateDirection(), flipTrajectory(), smoother(), trajectories(), and ~CosmicMuonTrajectoryBuilder().
|
private |
Definition at line 132 of file CosmicMuonTrajectoryBuilder.h.
Referenced by build(), CosmicMuonTrajectoryBuilder(), and trajectories().
|
private |
Definition at line 131 of file CosmicMuonTrajectoryBuilder.h.
Referenced by build(), CosmicMuonTrajectoryBuilder(), and trajectories().
|
private |
Definition at line 120 of file CosmicMuonTrajectoryBuilder.h.
Referenced by CosmicMuonTrajectoryBuilder(), updator(), and ~CosmicMuonTrajectoryBuilder().