CMS 3D CMS Logo

CosmicMuonTrajectoryBuilder.h
Go to the documentation of this file.
1 #ifndef CosmicMuonTrajectoryBuilder_H
2 #define CosmicMuonTrajectoryBuilder_H
3 
9 
26 
27 namespace edm {
28  class Event;
29  class EventSetup;
30 } // namespace edm
31 
32 class Trajectory;
37 
40 
42 public:
45 
48 
51 
54 
55  void setEvent(const edm::Event&) override;
56 
58 
59  //FIXME
60  const Propagator* propagatorAlong() const { return &*theService->propagator("SteppingHelixPropagatorAlong"); }
61 
62  const Propagator* propagatorOpposite() const { return &*theService->propagator("SteppingHelixPropagatorOpposite"); }
63 
65 
67 
69 
70  const CosmicMuonUtilities* utilities() const { return smoother()->utilities(); }
71 
73 
75 
76  double t0(const DTRecSegment4D* deseg) const;
77 
79 
80 private:
82 
84 
86 
88 
90 
92  void reverseTrajectory(Trajectory&) const;
93 
95  void flipTrajectory(Trajectory&) const;
96 
99 
101  bool selfDuplicate(const Trajectory&) const;
102 
104  void estimateDirection(Trajectory&) const;
105 
107  void getDirectionByTime(Trajectory&) const;
108 
109  std::vector<TrajectoryMeasurement> findBestMeasurements(const DetLayer*,
111  const Propagator*,
112  const MeasurementEstimator*);
113 
115  const DetLayer* layer, int& dtChambers, int& cscChambers, int& rpcChambers, int& totalChambers);
116 
119 
123 
126 
128 
130 
133 
137 
138  unsigned long long theCacheId_DG;
141 };
142 #endif
CosmicMuonTrajectoryBuilder::reverseTrajectory
void reverseTrajectory(Trajectory &) const
reverse a trajectory without refit (out the measurements order changed)
Definition: CosmicMuonTrajectoryBuilder.cc:699
CSCRecHit2DCollection.h
CosmicMuonTrajectoryBuilder::unusedHits
MuonTransientTrackingRecHit::MuonRecHitContainer unusedHits(const DetLayer *, const TrajectoryMeasurement &) const
Definition: CosmicMuonTrajectoryBuilder.cc:464
MeasurementEstimator
Definition: MeasurementEstimator.h:19
service
Definition: service.py:1
DTRecSegment4D
Definition: DTRecSegment4D.h:23
Handle.h
CosmicMuonTrajectoryBuilder::theUpdator
MuonTrajectoryUpdator * theUpdator
Definition: CosmicMuonTrajectoryBuilder.h:120
CosmicMuonTrajectoryBuilder::t0
double t0(const DTRecSegment4D *deseg) const
Definition: CosmicMuonTrajectoryBuilder.cc:904
CosmicMuonTrajectoryBuilder::smoother
CosmicMuonSmoother * smoother() const
Definition: CosmicMuonTrajectoryBuilder.h:68
CosmicMuonTrajectoryBuilder::theNTraversing
int theNTraversing
Definition: CosmicMuonTrajectoryBuilder.h:135
CosmicMuonTrajectoryBuilder::flipTrajectory
void flipTrajectory(Trajectory &) const
flip a trajectory with refit (the momentum direction is opposite)
Definition: CosmicMuonTrajectoryBuilder.cc:724
CosmicMuonSmoother
Definition: CosmicMuonSmoother.h:38
ESHandle.h
DTRecHitCollection.h
DetLayer
Definition: DetLayer.h:21
CosmicMuonTrajectoryBuilder::build
void build(const TrajectoryStateOnSurface &, const NavigationDirection &, Trajectory &)
Definition: CosmicMuonTrajectoryBuilder.cc:481
MuonDetLayerMeasurements
Definition: MuonDetLayerMeasurements.h:41
edm
HLT enums.
Definition: AlignableModifier.h:19
CosmicMuonTrajectoryBuilder::theBestMeasurementFinder
MuonBestMeasurementFinder * theBestMeasurementFinder
Definition: CosmicMuonTrajectoryBuilder.h:127
CosmicMuonTrajectoryBuilder::theCacheId_DG
unsigned long long theCacheId_DG
Definition: CosmicMuonTrajectoryBuilder.h:138
MuonTransientTrackingRecHit::MuonRecHitContainer
std::vector< MuonRecHitPointer > MuonRecHitContainer
Definition: MuonTransientTrackingRecHit.h:26
MuonTransientTrackingRecHit.h
CosmicMuonTrajectoryBuilder::~CosmicMuonTrajectoryBuilder
~CosmicMuonTrajectoryBuilder() override
Destructor.
Definition: CosmicMuonTrajectoryBuilder.cc:104
edm::Handle< CSCRecHit2DCollection >
CosmicMuonTrajectoryBuilder::cschits_
edm::Handle< CSCRecHit2DCollection > cschits_
Definition: CosmicMuonTrajectoryBuilder.h:139
MuonTrajectoryBuilder::CandidateContainer
MuonCandidate::CandidateContainer CandidateContainer
Definition: MuonTrajectoryBuilder.h:24
CosmicMuonTrajectoryBuilder::backwardUpdator
MuonTrajectoryUpdator * backwardUpdator() const
Definition: CosmicMuonTrajectoryBuilder.h:66
CosmicMuonTrajectoryBuilder::theService
const MuonServiceProxy * theService
Definition: CosmicMuonTrajectoryBuilder.h:124
DirectMuonNavigation
Definition: DirectMuonNavigation.h:20
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
CosmicMuonSmoother.h
CosmicMuonTrajectoryBuilder::updator
MuonTrajectoryUpdator * updator() const
Definition: CosmicMuonTrajectoryBuilder.h:64
CosmicMuonSmoother::utilities
const CosmicMuonUtilities * utilities() const
Definition: CosmicMuonSmoother.h:62
CosmicMuonTrajectoryBuilder::thePropagatorName
std::string thePropagatorName
Definition: CosmicMuonTrajectoryBuilder.h:129
CosmicMuonTrajectoryBuilder::theSmoother
CosmicMuonSmoother * theSmoother
Definition: CosmicMuonTrajectoryBuilder.h:125
Event
CosmicMuonTrajectoryBuilder::selfDuplicate
bool selfDuplicate(const Trajectory &) const
check if the trajectory iterates the same hit more than once
Definition: CosmicMuonTrajectoryBuilder.cc:674
CosmicMuonTrajectoryBuilder::theNavigationPSet
edm::ParameterSet theNavigationPSet
Definition: CosmicMuonTrajectoryBuilder.h:118
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
MuonTrajectoryBuilder
Definition: MuonTrajectoryBuilder.h:21
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CosmicMuonUtilities
Definition: CosmicMuonUtilities.h:30
CosmicMuonTrajectoryBuilder::bestMeasurementFinder
MuonBestMeasurementFinder * bestMeasurementFinder() const
Definition: CosmicMuonTrajectoryBuilder.h:74
CosmicMuonTrajectoryBuilder::theBKUpdator
MuonTrajectoryUpdator * theBKUpdator
Definition: CosmicMuonTrajectoryBuilder.h:121
CosmicMuonTrajectoryBuilder::theNSuccess
int theNSuccess
Definition: CosmicMuonTrajectoryBuilder.h:136
edm::ParameterSet
Definition: ParameterSet.h:47
CosmicMuonTrajectoryBuilder::CosmicMuonTrajectoryBuilder
CosmicMuonTrajectoryBuilder(const edm::ParameterSet &, const MuonServiceProxy *service, edm::ConsumesCollector &iC)
Constructor.
Definition: CosmicMuonTrajectoryBuilder.cc:43
CosmicMuonTrajectoryBuilder::propagatorOpposite
const Propagator * propagatorOpposite() const
Definition: CosmicMuonTrajectoryBuilder.h:62
Event.h
CosmicMuonTrajectoryBuilder::getDirectionByTime
void getDirectionByTime(Trajectory &) const
check the direction of trajectory by checking the timing
Definition: CosmicMuonTrajectoryBuilder.cc:812
MuonTrajectoryUpdator.h
CosmicMuonTrajectoryBuilder::trajectories
TrajectoryContainer trajectories(const TrajectorySeed &) override
build trajectories from seed
Definition: CosmicMuonTrajectoryBuilder.cc:135
MuonBestMeasurementFinder
Definition: MuonBestMeasurementFinder.h:24
CosmicMuonTrajectoryBuilder::theLayerMeasurements
MuonDetLayerMeasurements * theLayerMeasurements
Definition: CosmicMuonTrajectoryBuilder.h:122
CosmicMuonTrajectoryBuilder::trajectories
CandidateContainer trajectories(const TrackCand &) override
dummy implementation, unused in this class
Definition: CosmicMuonTrajectoryBuilder.h:53
CosmicMuonTrajectoryBuilder::buildSecondHalf
void buildSecondHalf(Trajectory &)
Definition: CosmicMuonTrajectoryBuilder.cc:574
CosmicMuonTrajectoryBuilder::theNavigation
DirectMuonNavigation * theNavigation
Definition: CosmicMuonTrajectoryBuilder.h:117
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
MuonServiceProxy::propagator
edm::ESHandle< Propagator > propagator(std::string propagatorName) const
get the propagator
Definition: MuonServiceProxy.cc:177
CosmicMuonTrajectoryBuilder::theTraversingMuonFlag
bool theTraversingMuonFlag
Definition: CosmicMuonTrajectoryBuilder.h:131
CosmicMuonTrajectoryBuilder::findBestMeasurements
std::vector< TrajectoryMeasurement > findBestMeasurements(const DetLayer *, const TrajectoryStateOnSurface &, const Propagator *, const MeasurementEstimator *)
Definition: CosmicMuonTrajectoryBuilder.cc:851
TrajectorySeedCollection.h
CosmicMuonTrajectoryBuilder::utilities
const CosmicMuonUtilities * utilities() const
Definition: CosmicMuonTrajectoryBuilder.h:70
MuonTrajectoryUpdator
Definition: MuonTrajectoryUpdator.h:34
CosmicMuonTrajectoryBuilder::checkDirectionByT0
PropagationDirection checkDirectionByT0(const DTRecSegment4D *, const DTRecSegment4D *) const
Definition: CosmicMuonTrajectoryBuilder.cc:929
CosmicMuonTrajectoryBuilder::estimateDirection
void estimateDirection(Trajectory &) const
check the direction of trajectory by checking eta spread
Definition: CosmicMuonTrajectoryBuilder.cc:773
MuonTrajectoryBuilder::TrajectoryContainer
MuonCandidate::TrajectoryContainer TrajectoryContainer
Definition: MuonTrajectoryBuilder.h:23
NavigationDirection
NavigationDirection
Definition: NavigationDirection.h:4
CosmicMuonTrajectoryBuilder::category_
std::string category_
Definition: CosmicMuonTrajectoryBuilder.h:134
CosmicMuonTrajectoryBuilder
Definition: CosmicMuonTrajectoryBuilder.h:41
Trajectory
Definition: Trajectory.h:38
MuonDetLayerMeasurements.h
CosmicMuonTrajectoryBuilder::incrementChamberCounters
void incrementChamberCounters(const DetLayer *layer, int &dtChambers, int &cscChambers, int &rpcChambers, int &totalChambers)
Definition: CosmicMuonTrajectoryBuilder.cc:889
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
MuonServiceProxy.h
CosmicMuonTrajectoryBuilder::reverseTrajectoryPropagationDirection
void reverseTrajectoryPropagationDirection(Trajectory &) const
reverse the propagation direction of a trajectory
Definition: CosmicMuonTrajectoryBuilder.cc:752
DetLayer.h
TrajectorySeed
Definition: TrajectorySeed.h:18
CosmicMuonTrajectoryBuilder::intermediateState
TrajectoryStateOnSurface intermediateState(const TrajectoryStateOnSurface &) const
Definition: CosmicMuonTrajectoryBuilder.cc:599
EventSetup.h
MuonTrajectoryBuilder::TrackCand
std::pair< const Trajectory *, reco::TrackRef > TrackCand
Definition: MuonTrajectoryBuilder.h:25
CosmicMuonTrajectoryBuilder::setEvent
void setEvent(const edm::Event &) override
pass the Event to the algo at each event
Definition: CosmicMuonTrajectoryBuilder.cc:121
MuonTrajectoryBuilder.h
ConsumesCollector.h
EventSetup
CosmicMuonTrajectoryBuilder::propagator
const Propagator * propagator() const
Definition: CosmicMuonTrajectoryBuilder.h:57
ParameterSet.h
MuonServiceProxy
Definition: MuonServiceProxy.h:38
ConstRecHitPointer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
Definition: CosmicMuonTrajectoryBuilder.h:39
CosmicMuonTrajectoryBuilder::selectHits
void selectHits(MuonTransientTrackingRecHit::MuonRecHitContainer &) const
Definition: CosmicMuonTrajectoryBuilder.cc:615
edm::Event
Definition: Event.h:73
CosmicMuonTrajectoryBuilder::propagatorAlong
const Propagator * propagatorAlong() const
Definition: CosmicMuonTrajectoryBuilder.h:60
TrajectoryMeasurement
Definition: TrajectoryMeasurement.h:25
CosmicMuonTrajectoryBuilder::navigation
DirectMuonNavigation * navigation() const
Definition: CosmicMuonTrajectoryBuilder.h:72
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
MuonRecHitContainer
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
Definition: CosmicMuonTrajectoryBuilder.h:36
CosmicMuonTrajectoryBuilder::dthits_
edm::Handle< DTRecHitCollection > dthits_
Definition: CosmicMuonTrajectoryBuilder.h:140
DTRecSegment4DCollection.h
CosmicMuonTrajectoryBuilder::theStrict1LegFlag
bool theStrict1LegFlag
Definition: CosmicMuonTrajectoryBuilder.h:132