CMS 3D CMS Logo

TSGFromPropagation.h
Go to the documentation of this file.
1 #ifndef RecoMuon_TrackerSeedGenerator_TSGFromPropagation_H
2 #define RecoMuon_TrackerSeedGenerator_TSGFromPropagation_H
3 
22 
23 #include <memory>
24 
26 class Propagator;
27 class MeasurementTracker;
31 class TrackerTopology;
32 
34 public:
37 
39 
41  ~TSGFromPropagation() override;
42 
44  void trackerSeeds(const TrackCand&,
45  const TrackingRegion&,
46  const TrackerTopology*,
47  std::vector<TrajectorySeed>&) override;
48 
50  void init(const MuonServiceProxy*) override;
51 
53  void setEvent(const edm::Event&) override;
54 
55 private:
57 
59 
60  const TrajectoryStateUpdator* updator() const { return theUpdator.get(); }
61 
62  const Chi2MeasurementEstimator* estimator() const { return theEstimator.get(); }
63 
65 
68 
71  const edm::OwnVector<TrackingRecHit>& container,
72  const DetId& id) const;
73 
75  void validMeasurements(std::vector<TrajectoryMeasurement>&) const;
76 
78  std::vector<TrajectoryMeasurement> findMeasurements(const DetLayer*, const TrajectoryStateOnSurface&) const;
79 
81  bool passSelection(const TrajectoryStateOnSurface&) const;
82 
83  void getRescalingFactor(const TrackCand& staMuon);
84 
86  void adjust(FreeTrajectoryState&) const;
87 
89  void adjust(TrajectoryStateOnSurface&) const;
90 
91  double dxyDis(const TrajectoryStateOnSurface& tsos) const;
92 
93  double zDis(const TrajectoryStateOnSurface& tsos) const;
94 
96  bool operator()(const TrajectoryMeasurement& lhs, const TrajectoryMeasurement& rhs) const {
97  return lhs.estimate() < rhs.estimate();
98  }
99  };
100 
101  struct isInvalid {
102  bool operator()(const TrajectoryMeasurement& measurement) {
103  return (((measurement).recHit() == nullptr) || !((measurement).recHit()->isValid()) ||
104  !((measurement).updatedState().isValid()));
105  }
106  };
107 
108  unsigned long long theCacheId_MT;
109  unsigned long long theCacheId_TG;
110 
112 
114 
118 
119  std::unique_ptr<const DirectTrackerNavigation> theNavigation;
120 
122 
123  std::unique_ptr<const TrajectoryStateUpdator> theUpdator;
124 
125  std::unique_ptr<const Chi2MeasurementEstimator> theEstimator;
126 
127  const double theMaxChi2;
128 
130 
132 
134 
135  const bool theUpdateStateFlag;
136 
137  enum class ResetMethod { discrete, fixed, matrix };
139 
140  const bool theSelectStateFlag;
141 
143 
144  std::unique_ptr<MuonErrorMatrix> theErrorMatrixAdjuster;
145 
146  const double theSigmaZ;
147 
149 
153 };
154 
155 #endif
TSGFromPropagation::innerState
TrajectoryStateOnSurface innerState(const TrackCand &) const
Definition: TSGFromPropagation.cc:207
TrackerSeedGenerator::TrackCand
std::pair< const Trajectory *, reco::TrackRef > TrackCand
Definition: TrackerSeedGenerator.h:30
MeasurementTrackerEvent.h
FreeTrajectoryState.h
TSGFromPropagation::theUpdator
std::unique_ptr< const TrajectoryStateUpdator > theUpdator
Definition: TSGFromPropagation.h:123
TSGFromPropagation::theErrorMatrixPset
const edm::ParameterSet theErrorMatrixPset
Definition: TSGFromPropagation.h:148
TSGFromPropagation::ResetMethod::fixed
Chi2MeasurementEstimator
Definition: Chi2MeasurementEstimator.h:15
TSGFromPropagation::findMeasurements
std::vector< TrajectoryMeasurement > findMeasurements(const DetLayer *, const TrajectoryStateOnSurface &) const
look for measurements on the first compatible layer
Definition: TSGFromPropagation.cc:264
DetLayer
Definition: DetLayer.h:21
TSGFromPropagation::validMeasurements
void validMeasurements(std::vector< TrajectoryMeasurement > &) const
select valid measurements
Definition: TSGFromPropagation.cc:258
TSGFromPropagation::estimator
const Chi2MeasurementEstimator * estimator() const
Definition: TSGFromPropagation.h:62
TSGFromPropagation::passSelection
bool passSelection(const TrajectoryStateOnSurface &) const
check some quantity and beam-spot compatibility and decide to continue
Definition: TSGFromPropagation.cc:291
edm::EDGetTokenT< reco::BeamSpot >
TrackerTopology
Definition: TrackerTopology.h:16
TSGFromPropagation::increasingEstimate::operator()
bool operator()(const TrajectoryMeasurement &lhs, const TrajectoryMeasurement &rhs) const
Definition: TSGFromPropagation.h:96
TrackerSeedGenerator.h
TSGFromPropagation::theEstimator
std::unique_ptr< const Chi2MeasurementEstimator > theEstimator
Definition: TSGFromPropagation.h:125
TSGFromPropagation::theNavigation
std::unique_ptr< const DirectTrackerNavigation > theNavigation
Definition: TSGFromPropagation.h:119
TSGFromPropagation::theService
const MuonServiceProxy * theService
Definition: TSGFromPropagation.h:121
TrajectoryMeasurement.h
TSGFromPropagation::theMeasTrackerName
const std::string theMeasTrackerName
Definition: TSGFromPropagation.h:115
TSGFromPropagation
Definition: TSGFromPropagation.h:33
TSGFromPropagation::trackerSeeds
void trackerSeeds(const TrackCand &, const TrackingRegion &, const TrackerTopology *, std::vector< TrajectorySeed > &) override
generate seed(s) for a track
Definition: TSGFromPropagation.cc:68
TSGFromPropagation::ResetMethod::discrete
edm::Handle< MeasurementTrackerEvent >
TSGFromPropagation::getRescalingFactor
void getRescalingFactor(const TrackCand &staMuon)
Definition: TSGFromPropagation.cc:317
TSGFromPropagation::theMeasurementTrackerEventToken
const edm::EDGetTokenT< MeasurementTrackerEvent > theMeasurementTrackerEventToken
Definition: TSGFromPropagation.h:152
TrajectoryStateUpdator.h
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
TSGFromPropagation::isInvalid
Definition: TSGFromPropagation.h:101
TSGFromPropagation::propagator
edm::ESHandle< Propagator > propagator() const
Definition: TSGFromPropagation.h:64
TSGFromPropagation::theCategory
const std::string theCategory
Definition: TSGFromPropagation.h:111
MuonErrorMatrix.h
Propagator
Definition: Propagator.h:44
DetId
Definition: DetId.h:17
MeasurementTracker
Definition: MeasurementTracker.h:21
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
BeamSpot.h
LayerMeasurements.h
TSGFromPropagation::theSigmaZ
const double theSigmaZ
Definition: TSGFromPropagation.h:146
TSGFromPropagation::ResetMethod::matrix
TSGFromPropagation::theMaxChi2
const double theMaxChi2
Definition: TSGFromPropagation.h:127
TSGFromPropagation::TSGFromPropagation
TSGFromPropagation(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
constructor
Definition: TSGFromPropagation.cc:29
edm::ESHandle< Propagator >
TSGFromPropagation::theResetMethod
const ResetMethod theResetMethod
Definition: TSGFromPropagation.h:138
sistrip::SpyUtilities::isValid
const bool isValid(const Frame &aFrame, const FrameQuality &aQuality, const uint16_t aExpectedPos)
Definition: SiStripSpyUtilities.cc:124
TSGFromPropagation::theTracker
edm::ESHandle< GeometricSearchTracker > theTracker
Definition: TSGFromPropagation.h:113
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TrackerSeedGenerator
Definition: TrackerSeedGenerator.h:24
TSGFromPropagation::setEvent
void setEvent(const edm::Event &) override
set an event
Definition: TSGFromPropagation.cc:176
edm::ParameterSet
Definition: ParameterSet.h:47
TSGFromPropagation::outerTkState
TrajectoryStateOnSurface outerTkState(const TrackCand &) const
Definition: TSGFromPropagation.cc:228
TrajectoryStateTransform
Definition: TrajectoryStateTransform.h:47
TSGFromPropagation::ResetMethod
ResetMethod
Definition: TSGFromPropagation.h:137
TSGFromPropagation::theBeamSpotToken
const edm::EDGetTokenT< reco::BeamSpot > theBeamSpotToken
Definition: TSGFromPropagation.h:151
TSGFromPropagation::theMeasTracker
edm::ESHandle< MeasurementTracker > theMeasTracker
Definition: TSGFromPropagation.h:116
MuonServiceProxy::propagator
edm::ESHandle< Propagator > propagator(std::string propagatorName) const
get the propagator
Definition: MuonServiceProxy.cc:177
DirectTrackerNavigation
Definition: DirectTrackerNavigation.h:26
TSGFromPropagation::isInvalid::operator()
bool operator()(const TrajectoryMeasurement &measurement)
Definition: TSGFromPropagation.h:102
TSGFromPropagation::theFixedErrorRescaling
const double theFixedErrorRescaling
Definition: TSGFromPropagation.h:131
TSGFromPropagation::theSelectStateFlag
const bool theSelectStateFlag
Definition: TSGFromPropagation.h:140
TSGFromPropagation::dxyDis
double dxyDis(const TrajectoryStateOnSurface &tsos) const
Definition: TSGFromPropagation.cc:306
TSGFromPropagation::zDis
double zDis(const TrajectoryStateOnSurface &tsos) const
Definition: TSGFromPropagation.cc:312
TSGFromPropagation::beamSpot
edm::Handle< reco::BeamSpot > beamSpot
Definition: TSGFromPropagation.h:150
TSGFromPropagation::thePropagatorName
const std::string thePropagatorName
Definition: TSGFromPropagation.h:142
TSGFromPropagation::~TSGFromPropagation
~TSGFromPropagation() override
destructor
Definition: TSGFromPropagation.cc:66
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
TrajectoryMeasurement::estimate
float estimate() const
Definition: TrajectoryMeasurement.h:192
TSGFromPropagation::theUseVertexStateFlag
const bool theUseVertexStateFlag
Definition: TSGFromPropagation.h:133
TSGFromPropagation::adjust
void adjust(FreeTrajectoryState &) const
adjust the error matrix of the FTS
Definition: TSGFromPropagation.cc:328
TSGFromPropagation::theMeasTrackerEvent
edm::Handle< MeasurementTrackerEvent > theMeasTrackerEvent
Definition: TSGFromPropagation.h:117
GeometricSearchTracker
Definition: GeometricSearchTracker.h:15
MuonServiceProxy.h
TrajectorySeed
Definition: TrajectorySeed.h:18
TSGFromPropagation::theUpdateStateFlag
const bool theUpdateStateFlag
Definition: TSGFromPropagation.h:135
TrackingRegion
Definition: TrackingRegion.h:41
TSGFromPropagation::createSeed
TrajectorySeed createSeed(const TrajectoryStateOnSurface &, const DetId &) const
create a hitless seed from a trajectory state
Definition: TSGFromPropagation.cc:246
TSGFromPropagation::increasingEstimate
Definition: TSGFromPropagation.h:95
ConsumesCollector.h
TrajectoryStateUpdator
Definition: TrajectoryStateUpdator.h:14
ParameterSet.h
MuonServiceProxy
Definition: MuonServiceProxy.h:38
TSGFromPropagation::init
void init(const MuonServiceProxy *) override
initialize
Definition: TSGFromPropagation.cc:155
edm::Event
Definition: Event.h:73
TrajectoryMeasurement
Definition: TrajectoryMeasurement.h:25
TSGFromPropagation::theFlexErrorRescaling
double theFlexErrorRescaling
Definition: TSGFromPropagation.h:129
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
TSGFromPropagation::updator
const TrajectoryStateUpdator * updator() const
Definition: TSGFromPropagation.h:60
TSGFromPropagation::theCacheId_TG
unsigned long long theCacheId_TG
Definition: TSGFromPropagation.h:109
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
edm::OwnVector< TrackingRecHit >
TSGFromPropagation::theErrorMatrixAdjuster
std::unique_ptr< MuonErrorMatrix > theErrorMatrixAdjuster
Definition: TSGFromPropagation.h:144
TSGFromPropagation::theCacheId_MT
unsigned long long theCacheId_MT
Definition: TSGFromPropagation.h:108