CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
OutsideInMuonSeeder Class Referencefinal
Inheritance diagram for OutsideInMuonSeeder:
edm::stream::EDProducer<>

Public Member Functions

 OutsideInMuonSeeder (const edm::ParameterSet &iConfig)
 
void produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
 ~OutsideInMuonSeeder () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Member Functions

void doDebug (const reco::Track &tk) const
 
int doLayer (const GeometricSearchDet &layer, const TrajectoryStateOnSurface &state, std::vector< TrajectorySeed > &out, const Propagator &muon_propagator, const Propagator &tracker_propagator, const MeasurementTrackerEvent &mte) const
 

Private Attributes

const bool debug_
 Dump deug information. More...
 
const double errorRescaling_
 How much to rescale errors from STA. More...
 
edm::ESHandle< Chi2MeasurementEstimatorBaseestimator_
 
const std::string estimatorName_
 
const bool fromVertex_
 Do inside-out. More...
 
edm::ESHandle< GlobalTrackingGeometrygeometry_
 
const int hitsToTry_
 How many hits to try on same layer. More...
 
const int layersToTry_
 How many layers to try. More...
 
edm::ESHandle< MagneticFieldmagfield_
 
const float maxEtaForTOB_
 
const std::string measurementTrackerName_
 
edm::EDGetTokenT< MeasurementTrackerEventmeasurementTrackerTag_
 
const float minEtaForTEC_
 
edm::ESHandle< PropagatormuonPropagator_
 
const std::string muonPropagatorName_
 
StringCutObjectSelector< reco::Muonselector_
 Muon selection. More...
 
edm::EDGetTokenT< edm::View< reco::Muon > > src_
 Labels for input collections. More...
 
edm::ESHandle< PropagatortrackerPropagator_
 
const std::string trackerPropagatorName_
 
edm::ESHandle< TrajectoryStateUpdatorupdator_
 
const std::string updatorName_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 39 of file OutsideInMuonSeeder.cc.

Constructor & Destructor Documentation

◆ OutsideInMuonSeeder()

OutsideInMuonSeeder::OutsideInMuonSeeder ( const edm::ParameterSet iConfig)
explicit

Definition at line 94 of file OutsideInMuonSeeder.cc.

95  : src_(consumes<edm::View<reco::Muon>>(iConfig.getParameter<edm::InputTag>("src"))),
96  selector_(iConfig.existsAs<std::string>("cut") ? iConfig.getParameter<std::string>("cut") : "", true),
97  layersToTry_(iConfig.getParameter<int32_t>("layersToTry")),
98  hitsToTry_(iConfig.getParameter<int32_t>("hitsToTry")),
99  fromVertex_(iConfig.getParameter<bool>("fromVertex")),
100  errorRescaling_(iConfig.getParameter<double>("errorRescaleFactor")),
101  trackerPropagatorName_(iConfig.getParameter<std::string>("trackerPropagator")),
102  muonPropagatorName_(iConfig.getParameter<std::string>("muonPropagator")),
103  measurementTrackerTag_(consumes<MeasurementTrackerEvent>(edm::InputTag("MeasurementTrackerEvent"))),
104  estimatorName_(iConfig.getParameter<std::string>("hitCollector")),
105  updatorName_("KFUpdator"),
106  minEtaForTEC_(iConfig.getParameter<double>("minEtaForTEC")),
107  maxEtaForTOB_(iConfig.getParameter<double>("maxEtaForTOB")),
108  debug_(iConfig.getUntrackedParameter<bool>("debug", false)) {
109  produces<std::vector<TrajectorySeed>>();
110 }

◆ ~OutsideInMuonSeeder()

OutsideInMuonSeeder::~OutsideInMuonSeeder ( )
inlineoverride

Definition at line 42 of file OutsideInMuonSeeder.cc.

42 {}

Member Function Documentation

◆ doDebug()

void OutsideInMuonSeeder::doDebug ( const reco::Track tk) const
private

Definition at line 297 of file OutsideInMuonSeeder.cc.

297  {
299  std::unique_ptr<Propagator> pmuon_cloned = SetPropagationDirection(*muonPropagator_, alongMomentum);
300  for (unsigned int i = 0; i < tk.recHitsSize(); ++i) {
301  const TrackingRecHit *hit = &*tk.recHit(i);
302  const GeomDet *det = geometry_->idToDet(hit->geographicalId());
303  if (det == nullptr)
304  continue;
305  if (i != 0)
306  tsos = pmuon_cloned->propagate(tsos, det->surface());
307  if (!tsos.isValid())
308  continue;
309  LogDebug("OutsideInMuonSeeder") << " state " << i << " at x = " << tsos.globalPosition()
310  << ", p = " << tsos.globalMomentum() << std::endl;
311  if (hit->isValid()) {
312  LogDebug("OutsideInMuonSeeder") << " valid rechit on detid " << hit->geographicalId().rawId()
313  << std::endl;
314  } else {
315  LogDebug("OutsideInMuonSeeder") << " invalid rechit on detid " << hit->geographicalId().rawId()
316  << std::endl;
317  }
318  }
319 }

References alongMomentum, geometry_, TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), mps_fire::i, GlobalTrackingGeometry::idToDet(), trajectoryStateTransform::innerStateOnSurface(), TrajectoryStateOnSurface::isValid(), LogDebug, magfield_, muonPropagator_, reco::Track::recHit(), reco::Track::recHitsSize(), SetPropagationDirection(), and GeomDet::surface().

Referenced by produce().

◆ doLayer()

int OutsideInMuonSeeder::doLayer ( const GeometricSearchDet layer,
const TrajectoryStateOnSurface state,
std::vector< TrajectorySeed > &  out,
const Propagator muon_propagator,
const Propagator tracker_propagator,
const MeasurementTrackerEvent mte 
) const
private

Definition at line 230 of file OutsideInMuonSeeder.cc.

235  {
236  TrajectoryStateOnSurface onLayer(state);
237  onLayer.rescaleError(errorRescaling_);
238  std::vector<GeometricSearchDet::DetWithState> dets;
239  layer.compatibleDetsV(onLayer, muon_propagator, *estimator_, dets);
240 
241  if (debug_) {
242  LogDebug("OutsideInMuonSeeder") << "Query on layer around x = " << onLayer.globalPosition()
243  << " with local pos error " << sqrt(onLayer.localError().positionError().xx())
244  << " , " << sqrt(onLayer.localError().positionError().yy()) << " , "
245  << " returned " << dets.size() << " compatible detectors" << std::endl;
246  }
247 
248  std::vector<TrajectoryMeasurement> meas;
249  for (std::vector<GeometricSearchDet::DetWithState>::const_iterator it = dets.begin(), ed = dets.end(); it != ed;
250  ++it) {
251  MeasurementDetWithData det = measurementTracker.idToDet(it->first->geographicalId());
252  if (det.isNull()) {
253  std::cerr << "BOGUS detid " << it->first->geographicalId().rawId() << std::endl;
254  continue;
255  }
256  if (!it->second.isValid())
257  continue;
258  std::vector<TrajectoryMeasurement> mymeas =
259  det.fastMeasurements(it->second, state, tracker_propagator, *estimator_);
260  if (debug_)
261  LogDebug("OutsideInMuonSeeder") << "Query on detector " << it->first->geographicalId().rawId() << " returned "
262  << mymeas.size() << " measurements." << std::endl;
263  for (std::vector<TrajectoryMeasurement>::const_iterator it2 = mymeas.begin(), ed2 = mymeas.end(); it2 != ed2;
264  ++it2) {
265  if (it2->recHit()->isValid())
266  meas.push_back(*it2);
267  }
268  }
269  int found = 0;
270  std::sort(meas.begin(), meas.end(), TrajMeasLessEstim());
271  for (std::vector<TrajectoryMeasurement>::const_iterator it2 = meas.begin(), ed2 = meas.end(); it2 != ed2; ++it2) {
272  if (debug_) {
273  LogDebug("OutsideInMuonSeeder") << " inspecting Hit with chi2 = " << it2->estimate() << std::endl;
274  LogDebug("OutsideInMuonSeeder") << " track state " << it2->forwardPredictedState().globalPosition()
275  << std::endl;
276  LogDebug("OutsideInMuonSeeder") << " rechit position " << it2->recHit()->globalPosition() << std::endl;
277  }
278  TrajectoryStateOnSurface updated = updator_->update(it2->forwardPredictedState(), *it2->recHit());
279  if (updated.isValid()) {
280  if (debug_)
281  LogDebug("OutsideInMuonSeeder") << " --> updated state: x = " << updated.globalPosition()
282  << ", p = " << updated.globalMomentum() << std::endl;
284  seedHits.push_back(*it2->recHit()->hit());
285  PTrajectoryStateOnDet const &pstate =
286  trajectoryStateTransform::persistentState(updated, it2->recHit()->geographicalId().rawId());
287  TrajectorySeed seed(pstate, std::move(seedHits), oppositeToMomentum);
288  out.push_back(seed);
289  found++;
290  if (found == hitsToTry_)
291  break;
292  }
293  }
294  return found;
295 }

References beam_dqm_sourceclient-live_cfg::cerr, GeometricSearchDet::compatibleDetsV(), debug_, errorRescaling_, estimator_, MeasurementDetWithData::fastMeasurements(), newFWLiteAna::found, TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), hitsToTry_, MeasurementDetWithData::isNull(), TrajectoryStateOnSurface::isValid(), TrajectoryStateOnSurface::localError(), LogDebug, HLTSiStripMonitoring_cff::measurementTracker, eostools::move(), oppositeToMomentum, MillePedeFileConverter_cfg::out, trajectoryStateTransform::persistentState(), LocalTrajectoryError::positionError(), edm::OwnVector< T, P >::push_back(), TrajectoryStateOnSurface::rescaleError(), SurveyInfoScenario_cff::seed, mathSSE::sqrt(), TrajectoryStateUpdator::update(), updator_, LocalError::xx(), and LocalError::yy().

Referenced by produce().

◆ produce()

void OutsideInMuonSeeder::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 112 of file OutsideInMuonSeeder.cc.

112  {
113  using namespace edm;
114  using namespace std;
115 
122 
125 
126  ESHandle<TrackerGeometry> tmpTkGeometry;
127  iSetup.get<TrackerDigiGeometryRecord>().get(tmpTkGeometry);
128 
130  iEvent.getByToken(src_, src);
131 
132  auto out = std::make_unique<std::vector<TrajectorySeed>>();
133 
134  for (auto const &mu : *src) {
135  if (mu.outerTrack().isNull() || !selector_(mu))
136  continue;
137  if (debug_ && mu.innerTrack().isNonnull())
138  doDebug(*mu.innerTrack());
139 
140  // Better clone here and not directly into doLayer to avoid
141  // useless clone/destroy operations to set, in the end, the
142  // very same direction every single time.
143  std::unique_ptr<Propagator> pmuon_cloned =
145  std::unique_ptr<Propagator> ptracker_cloned = SetPropagationDirection(*trackerPropagator_, alongMomentum);
146 
147  int sizeBefore = out->size();
148  if (debug_)
149  LogDebug("OutsideInMuonSeeder") << "\n\n\nSeeding for muon of pt " << mu.pt() << ", eta " << mu.eta() << ", phi "
150  << mu.phi() << std::endl;
151  const reco::Track &tk = *mu.outerTrack();
152 
156 
157  if (std::abs(tk.eta()) < maxEtaForTOB_) {
158  std::vector<BarrelDetLayer const *> const &tob = measurementTracker->geometricSearchTracker()->tobLayers();
159  int found = 0;
160  int iLayer = tob.size();
161  if (iLayer == 0)
162  LogError("OutsideInMuonSeeder") << "TOB has no layers.";
163 
164  for (auto it = tob.rbegin(), ed = tob.rend(); it != ed; ++it, --iLayer) {
165  if (debug_)
166  LogDebug("OutsideInMuonSeeder") << "\n ==== Trying TOB " << iLayer << " ====" << std::endl;
167  if (doLayer(**it, state, *out, *(pmuon_cloned.get()), *(ptracker_cloned.get()), *measurementTracker)) {
168  if (++found == layersToTry_)
169  break;
170  }
171  }
172  }
173  if (tk.eta() > minEtaForTEC_) {
174  const auto &forwLayers = tmpTkGeometry->isThere(GeomDetEnumerators::P2OTEC)
175  ? measurementTracker->geometricSearchTracker()->posTidLayers()
176  : measurementTracker->geometricSearchTracker()->posTecLayers();
177  if (tmpTkGeometry->isThere(GeomDetEnumerators::P2OTEC)) {
178  LogDebug("OutsideInMuonSeeder") << "\n We are using the Phase2 Outer Tracker (defined as a TID+). ";
179  }
180  LogTrace("OutsideInMuonSeeder") << "\n ==== TEC+ tot layers " << forwLayers.size() << " ====" << std::endl;
181  int found = 0;
182  int iLayer = forwLayers.size();
183  if (iLayer == 0)
184  LogError("OutsideInMuonSeeder") << "TEC+ has no layers.";
185 
186  if (debug_)
187  LogDebug("OutsideInMuonSeeder") << "\n ==== Tot layers " << forwLayers.size() << " ====" << std::endl;
188  for (auto it = forwLayers.rbegin(), ed = forwLayers.rend(); it != ed; ++it, --iLayer) {
189  if (debug_)
190  LogDebug("OutsideInMuonSeeder") << "\n ==== Trying Forward Layer +" << +iLayer << " ====" << std::endl;
191  if (doLayer(**it, state, *out, *(pmuon_cloned.get()), *(ptracker_cloned.get()), *measurementTracker)) {
192  if (++found == layersToTry_)
193  break;
194  }
195  }
196  }
197  if (tk.eta() < -minEtaForTEC_) {
198  const auto &forwLayers = tmpTkGeometry->isThere(GeomDetEnumerators::P2OTEC)
199  ? measurementTracker->geometricSearchTracker()->negTidLayers()
200  : measurementTracker->geometricSearchTracker()->negTecLayers();
201  if (tmpTkGeometry->isThere(GeomDetEnumerators::P2OTEC)) {
202  LogDebug("OutsideInMuonSeeder") << "\n We are using the Phase2 Outer Tracker (defined as a TID-). ";
203  }
204  LogTrace("OutsideInMuonSeeder") << "\n ==== TEC- tot layers " << forwLayers.size() << " ====" << std::endl;
205  int found = 0;
206  int iLayer = forwLayers.size();
207  if (iLayer == 0)
208  LogError("OutsideInMuonSeeder") << "TEC- has no layers.";
209 
210  if (debug_)
211  LogDebug("OutsideInMuonSeeder") << "\n ==== Tot layers " << forwLayers.size() << " ====" << std::endl;
212  for (auto it = forwLayers.rbegin(), ed = forwLayers.rend(); it != ed; ++it, --iLayer) {
213  if (debug_)
214  LogDebug("OutsideInMuonSeeder") << "\n ==== Trying Forward Layer -" << -iLayer << " ====" << std::endl;
215  if (doLayer(**it, state, *out, *(pmuon_cloned.get()), *(ptracker_cloned.get()), *measurementTracker)) {
216  if (++found == layersToTry_)
217  break;
218  }
219  }
220  }
221  if (debug_)
222  LogDebug("OutsideInMuonSeeder") << "Outcome of seeding for muon of pt " << mu.pt() << ", eta " << mu.eta()
223  << ", phi " << mu.phi() << ": found " << (out->size() - sizeBefore) << " seeds."
224  << std::endl;
225  }
226 
227  iEvent.put(std::move(out));
228 }

References funct::abs(), alongMomentum, debug_, doDebug(), doLayer(), estimator_, estimatorName_, reco::TrackBase::eta(), newFWLiteAna::found, fromVertex_, geometry_, edm::EventSetup::get(), get, iEvent, trajectoryStateTransform::initialFreeState(), trajectoryStateTransform::innerStateOnSurface(), TrackerGeometry::isThere(), layersToTry_, LogDebug, LogTrace, magfield_, maxEtaForTOB_, HLTSiStripMonitoring_cff::measurementTracker, measurementTrackerTag_, minEtaForTEC_, eostools::move(), amptDefaultParameters_cff::mu, muonPropagator_, muonPropagatorName_, oppositeToMomentum, MillePedeFileConverter_cfg::out, GeomDetEnumerators::P2OTEC, edm::ESHandle< T >::product(), selector_, SetPropagationDirection(), TrackRefitter_38T_cff::src, src_, trackerPropagator_, trackerPropagatorName_, updator_, and updatorName_.

Member Data Documentation

◆ debug_

const bool OutsideInMuonSeeder::debug_
private

Dump deug information.

Definition at line 83 of file OutsideInMuonSeeder.cc.

Referenced by doLayer(), and produce().

◆ errorRescaling_

const double OutsideInMuonSeeder::errorRescaling_
private

How much to rescale errors from STA.

Definition at line 63 of file OutsideInMuonSeeder.cc.

Referenced by doLayer().

◆ estimator_

edm::ESHandle<Chi2MeasurementEstimatorBase> OutsideInMuonSeeder::estimator_
private

Definition at line 79 of file OutsideInMuonSeeder.cc.

Referenced by doLayer(), and produce().

◆ estimatorName_

const std::string OutsideInMuonSeeder::estimatorName_
private

Definition at line 69 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ fromVertex_

const bool OutsideInMuonSeeder::fromVertex_
private

Do inside-out.

Definition at line 60 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ geometry_

edm::ESHandle<GlobalTrackingGeometry> OutsideInMuonSeeder::geometry_
private

Definition at line 78 of file OutsideInMuonSeeder.cc.

Referenced by doDebug(), and produce().

◆ hitsToTry_

const int OutsideInMuonSeeder::hitsToTry_
private

How many hits to try on same layer.

Definition at line 57 of file OutsideInMuonSeeder.cc.

Referenced by doLayer().

◆ layersToTry_

const int OutsideInMuonSeeder::layersToTry_
private

How many layers to try.

Definition at line 54 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ magfield_

edm::ESHandle<MagneticField> OutsideInMuonSeeder::magfield_
private

Definition at line 75 of file OutsideInMuonSeeder.cc.

Referenced by doDebug(), and produce().

◆ maxEtaForTOB_

const float OutsideInMuonSeeder::maxEtaForTOB_
private

Definition at line 73 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ measurementTrackerName_

const std::string OutsideInMuonSeeder::measurementTrackerName_
private

Definition at line 68 of file OutsideInMuonSeeder.cc.

◆ measurementTrackerTag_

edm::EDGetTokenT<MeasurementTrackerEvent> OutsideInMuonSeeder::measurementTrackerTag_
private

Definition at line 67 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ minEtaForTEC_

const float OutsideInMuonSeeder::minEtaForTEC_
private

Definition at line 72 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ muonPropagator_

edm::ESHandle<Propagator> OutsideInMuonSeeder::muonPropagator_
private

Definition at line 76 of file OutsideInMuonSeeder.cc.

Referenced by doDebug(), and produce().

◆ muonPropagatorName_

const std::string OutsideInMuonSeeder::muonPropagatorName_
private

Definition at line 66 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ selector_

StringCutObjectSelector<reco::Muon> OutsideInMuonSeeder::selector_
private

Muon selection.

Definition at line 51 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ src_

edm::EDGetTokenT<edm::View<reco::Muon> > OutsideInMuonSeeder::src_
private

Labels for input collections.

Definition at line 48 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ trackerPropagator_

edm::ESHandle<Propagator> OutsideInMuonSeeder::trackerPropagator_
private

Definition at line 77 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ trackerPropagatorName_

const std::string OutsideInMuonSeeder::trackerPropagatorName_
private

Definition at line 65 of file OutsideInMuonSeeder.cc.

Referenced by produce().

◆ updator_

edm::ESHandle<TrajectoryStateUpdator> OutsideInMuonSeeder::updator_
private

Definition at line 80 of file OutsideInMuonSeeder.cc.

Referenced by doLayer(), and produce().

◆ updatorName_

const std::string OutsideInMuonSeeder::updatorName_
private

Definition at line 70 of file OutsideInMuonSeeder.cc.

Referenced by produce().

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
OutsideInMuonSeeder::trackerPropagatorName_
const std::string trackerPropagatorName_
Definition: OutsideInMuonSeeder.cc:65
OutsideInMuonSeeder::updatorName_
const std::string updatorName_
Definition: OutsideInMuonSeeder.cc:70
mps_fire.i
i
Definition: mps_fire.py:355
MeasurementDetWithData::fastMeasurements
std::vector< TrajectoryMeasurement > fastMeasurements(const TrajectoryStateOnSurface &stateOnThisDet, const TrajectoryStateOnSurface &tsos2, const Propagator &prop, const MeasurementEstimator &est) const
Definition: MeasurementDetWithData.h:46
OutsideInMuonSeeder::selector_
StringCutObjectSelector< reco::Muon > selector_
Muon selection.
Definition: OutsideInMuonSeeder.cc:51
OutsideInMuonSeeder::magfield_
edm::ESHandle< MagneticField > magfield_
Definition: OutsideInMuonSeeder.cc:75
GeomDet
Definition: GeomDet.h:27
trajectoryStateTransform::initialFreeState
FreeTrajectoryState initialFreeState(const reco::Track &tk, const MagneticField *field, bool withErr=true)
Definition: TrajectoryStateTransform.cc:58
HLTSiStripMonitoring_cff.measurementTracker
measurementTracker
Definition: HLTSiStripMonitoring_cff.py:178
OutsideInMuonSeeder::layersToTry_
const int layersToTry_
How many layers to try.
Definition: OutsideInMuonSeeder.cc:54
OutsideInMuonSeeder::errorRescaling_
const double errorRescaling_
How much to rescale errors from STA.
Definition: OutsideInMuonSeeder.cc:63
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
edm
HLT enums.
Definition: AlignableModifier.h:19
trajectoryStateTransform::persistentState
PTrajectoryStateOnDet persistentState(const TrajectoryStateOnSurface &ts, unsigned int detid)
Definition: TrajectoryStateTransform.cc:14
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition: TrajectoryStateOnSurface.h:65
oppositeToMomentum
Definition: PropagationDirection.h:4
GlobalTrackingGeometryRecord
Definition: GlobalTrackingGeometryRecord.h:17
TrajMeasLessEstim
Definition: TrajMeasLessEstim.h:10
SetPropagationDirection
std::unique_ptr< Propagator > SetPropagationDirection(Propagator const &iprop, PropagationDirection dir)
Definition: HelperPropagatorUtility.cc:5
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::ParameterSet::existsAs
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:160
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
edm::Handle< MeasurementTrackerEvent >
OutsideInMuonSeeder::debug_
const bool debug_
Dump deug information.
Definition: OutsideInMuonSeeder.cc:83
trajectoryStateTransform
Definition: TrajectoryStateTransform.h:15
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
reco::Track::recHitsSize
size_t recHitsSize() const
Get number of RecHits. (Warning, this includes invalid hits, which are not physical hits).
Definition: Track.h:97
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
OutsideInMuonSeeder::measurementTrackerTag_
edm::EDGetTokenT< MeasurementTrackerEvent > measurementTrackerTag_
Definition: OutsideInMuonSeeder.cc:67
OutsideInMuonSeeder::estimatorName_
const std::string estimatorName_
Definition: OutsideInMuonSeeder.cc:69
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
reco::Track
Definition: Track.h:27
edm::ESHandle< TrackerGeometry >
GeomDetEnumerators::P2OTEC
Definition: GeomDetEnumerators.h:24
TrackerGeometry::isThere
bool isThere(GeomDetEnumerators::SubDetector subdet) const
Definition: TrackerGeometry.cc:219
MeasurementDetWithData::isNull
bool isNull() const
Definition: MeasurementDetWithData.h:13
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::View
Definition: CaloClusterFwd.h:14
TrajectoryStateUpdator::update
virtual TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const =0
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::LogError
Definition: MessageLogger.h:183
TrackRefitter_38T_cff.src
src
Definition: TrackRefitter_38T_cff.py:24
OutsideInMuonSeeder::doDebug
void doDebug(const reco::Track &tk) const
Definition: OutsideInMuonSeeder.cc:297
GeometricSearchDet::compatibleDetsV
virtual void compatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const
Definition: GeometricSearchDet.cc:9
beam_dqm_sourceclient-live_cfg.cerr
cerr
Definition: beam_dqm_sourceclient-live_cfg.py:17
reco::TrackBase::eta
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:623
OutsideInMuonSeeder::updator_
edm::ESHandle< TrajectoryStateUpdator > updator_
Definition: OutsideInMuonSeeder.cc:80
iEvent
int iEvent
Definition: GenABIO.cc:224
OutsideInMuonSeeder::muonPropagatorName_
const std::string muonPropagatorName_
Definition: OutsideInMuonSeeder.cc:66
OutsideInMuonSeeder::doLayer
int doLayer(const GeometricSearchDet &layer, const TrajectoryStateOnSurface &state, std::vector< TrajectorySeed > &out, const Propagator &muon_propagator, const Propagator &tracker_propagator, const MeasurementTrackerEvent &mte) const
Definition: OutsideInMuonSeeder.cc:230
get
#define get
reco::Track::recHit
TrackingRecHitRef recHit(size_t i) const
Get i-th hit on the track.
Definition: Track.h:94
OutsideInMuonSeeder::geometry_
edm::ESHandle< GlobalTrackingGeometry > geometry_
Definition: OutsideInMuonSeeder.cc:78
OutsideInMuonSeeder::hitsToTry_
const int hitsToTry_
How many hits to try on same layer.
Definition: OutsideInMuonSeeder.cc:57
TrackingRecHit
Definition: TrackingRecHit.h:21
OutsideInMuonSeeder::maxEtaForTOB_
const float maxEtaForTOB_
Definition: OutsideInMuonSeeder.cc:73
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
TrajectoryStateOnSurface::globalMomentum
GlobalVector globalMomentum() const
Definition: TrajectoryStateOnSurface.h:66
OutsideInMuonSeeder::muonPropagator_
edm::ESHandle< Propagator > muonPropagator_
Definition: OutsideInMuonSeeder.cc:76
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
MeasurementDetWithData
Definition: MeasurementDetWithData.h:6
GlobalTrackingGeometry::idToDet
const GeomDet * idToDet(DetId) const override
Definition: GlobalTrackingGeometry.cc:44
TrajectorySeed
Definition: TrajectorySeed.h:17
OutsideInMuonSeeder::estimator_
edm::ESHandle< Chi2MeasurementEstimatorBase > estimator_
Definition: OutsideInMuonSeeder.cc:79
edm::OwnVector::push_back
void push_back(D *&d)
Definition: OwnVector.h:326
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
PTrajectoryStateOnDet
Definition: PTrajectoryStateOnDet.h:10
OutsideInMuonSeeder::src_
edm::EDGetTokenT< edm::View< reco::Muon > > src_
Labels for input collections.
Definition: OutsideInMuonSeeder.cc:48
trajectoryStateTransform::innerStateOnSurface
TrajectoryStateOnSurface innerStateOnSurface(const reco::Track &tk, const TrackingGeometry &geom, const MagneticField *field, bool withErr=true)
Definition: TrajectoryStateTransform.cc:110
OutsideInMuonSeeder::fromVertex_
const bool fromVertex_
Do inside-out.
Definition: OutsideInMuonSeeder.cc:60
edm::InputTag
Definition: InputTag.h:15
OutsideInMuonSeeder::trackerPropagator_
edm::ESHandle< Propagator > trackerPropagator_
Definition: OutsideInMuonSeeder.cc:77
alongMomentum
Definition: PropagationDirection.h:4
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
SurveyInfoScenario_cff.seed
seed
Definition: SurveyInfoScenario_cff.py:295
hit
Definition: SiStripHitEffFromCalibTree.cc:88
edm::OwnVector< TrackingRecHit >
OutsideInMuonSeeder::minEtaForTEC_
const float minEtaForTEC_
Definition: OutsideInMuonSeeder.cc:72
TrackingComponentsRecord
Definition: TrackingComponentsRecord.h:12