Go to the documentation of this file. 1 #ifndef CosmicMuonTrajectoryBuilder_H
2 #define CosmicMuonTrajectoryBuilder_H
115 const DetLayer*
layer,
int& dtChambers,
int& cscChambers,
int& rpcChambers,
int& totalChambers);
void reverseTrajectory(Trajectory &) const
reverse a trajectory without refit (out the measurements order changed)
MuonTransientTrackingRecHit::MuonRecHitContainer unusedHits(const DetLayer *, const TrajectoryMeasurement &) const
MuonTrajectoryUpdator * theUpdator
double t0(const DTRecSegment4D *deseg) const
CosmicMuonSmoother * smoother() const
void flipTrajectory(Trajectory &) const
flip a trajectory with refit (the momentum direction is opposite)
void build(const TrajectoryStateOnSurface &, const NavigationDirection &, Trajectory &)
MuonBestMeasurementFinder * theBestMeasurementFinder
unsigned long long theCacheId_DG
std::vector< MuonRecHitPointer > MuonRecHitContainer
~CosmicMuonTrajectoryBuilder() override
Destructor.
edm::Handle< CSCRecHit2DCollection > cschits_
MuonCandidate::CandidateContainer CandidateContainer
MuonTrajectoryUpdator * backwardUpdator() const
const MuonServiceProxy * theService
MuonTrajectoryUpdator * updator() const
const CosmicMuonUtilities * utilities() const
std::string thePropagatorName
CosmicMuonSmoother * theSmoother
bool selfDuplicate(const Trajectory &) const
check if the trajectory iterates the same hit more than once
edm::ParameterSet theNavigationPSet
constexpr std::array< uint8_t, layerIndexSize > layer
MuonBestMeasurementFinder * bestMeasurementFinder() const
MuonTrajectoryUpdator * theBKUpdator
CosmicMuonTrajectoryBuilder(const edm::ParameterSet &, const MuonServiceProxy *service, edm::ConsumesCollector &iC)
Constructor.
const Propagator * propagatorOpposite() const
void getDirectionByTime(Trajectory &) const
check the direction of trajectory by checking the timing
TrajectoryContainer trajectories(const TrajectorySeed &) override
build trajectories from seed
MuonDetLayerMeasurements * theLayerMeasurements
CandidateContainer trajectories(const TrackCand &) override
dummy implementation, unused in this class
void buildSecondHalf(Trajectory &)
DirectMuonNavigation * theNavigation
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
edm::ESHandle< Propagator > propagator(std::string propagatorName) const
get the propagator
bool theTraversingMuonFlag
std::vector< TrajectoryMeasurement > findBestMeasurements(const DetLayer *, const TrajectoryStateOnSurface &, const Propagator *, const MeasurementEstimator *)
const CosmicMuonUtilities * utilities() const
PropagationDirection checkDirectionByT0(const DTRecSegment4D *, const DTRecSegment4D *) const
void estimateDirection(Trajectory &) const
check the direction of trajectory by checking eta spread
MuonCandidate::TrajectoryContainer TrajectoryContainer
void incrementChamberCounters(const DetLayer *layer, int &dtChambers, int &cscChambers, int &rpcChambers, int &totalChambers)
void reverseTrajectoryPropagationDirection(Trajectory &) const
reverse the propagation direction of a trajectory
TrajectoryStateOnSurface intermediateState(const TrajectoryStateOnSurface &) const
std::pair< const Trajectory *, reco::TrackRef > TrackCand
void setEvent(const edm::Event &) override
pass the Event to the algo at each event
const Propagator * propagator() const
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
void selectHits(MuonTransientTrackingRecHit::MuonRecHitContainer &) const
const Propagator * propagatorAlong() const
DirectMuonNavigation * navigation() const
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
edm::Handle< DTRecHitCollection > dthits_