CMS 3D CMS Logo

CosmicRegionalSeedGenerator.cc
Go to the documentation of this file.
1 #include <iostream>
2 #include <memory>
3 #include <string>
4 
6 
10 
12 
13 #include <TMath.h>
14 
15 using namespace std;
16 using namespace trigger;
17 using namespace reco;
18 using namespace edm;
19 
21  : conf_(conf) {
22  edm::LogInfo("CosmicRegionalSeedGenerator") << "Begin Run:: Constructing CosmicRegionalSeedGenerator";
23 
25  ptMin_ = regionPSet.getParameter<double>("ptMin");
26  rVertex_ = regionPSet.getParameter<double>("rVertex");
27  zVertex_ = regionPSet.getParameter<double>("zVertex");
28  deltaEta_ = regionPSet.getParameter<double>("deltaEtaRegion");
29  deltaPhi_ = regionPSet.getParameter<double>("deltaPhiRegion");
30 
31  edm::ParameterSet toolsPSet = conf_.getParameter<edm::ParameterSet>("ToolsPSet");
32  thePropagatorName_ = toolsPSet.getParameter<std::string>("thePropagatorName");
33  regionBase_ = toolsPSet.getParameter<std::string>("regionBase");
34 
35  edm::ParameterSet collectionsPSet = conf_.getParameter<edm::ParameterSet>("CollectionsPSet");
36  recoMuonsCollection_ = collectionsPSet.getParameter<edm::InputTag>("recoMuonsCollection");
37  recoTrackMuonsCollection_ = collectionsPSet.getParameter<edm::InputTag>("recoTrackMuonsCollection");
38  recoL2MuonsCollection_ = collectionsPSet.getParameter<edm::InputTag>("recoL2MuonsCollection");
39 
40  edm::ParameterSet regionInJetsCheckPSet = conf_.getParameter<edm::ParameterSet>("RegionInJetsCheckPSet");
41  doJetsExclusionCheck_ = regionInJetsCheckPSet.getParameter<bool>("doJetsExclusionCheck");
42  deltaRExclusionSize_ = regionInJetsCheckPSet.getParameter<double>("deltaRExclusionSize");
43  jetsPtMin_ = regionInJetsCheckPSet.getParameter<double>("jetsPtMin");
44  recoCaloJetsCollection_ = regionInJetsCheckPSet.getParameter<edm::InputTag>("recoCaloJetsCollection");
49  measurementTrackerEventToken_ = iC.consumes<MeasurementTrackerEvent>(edm::InputTag("MeasurementTrackerEvent"));
50 
51  edm::LogInfo("CosmicRegionalSeedGenerator") << "Reco muons collection: " << recoMuonsCollection_ << "\n"
52  << "Reco tracks muons collection: " << recoTrackMuonsCollection_ << "\n"
53  << "Reco L2 muons collection: " << recoL2MuonsCollection_;
54 }
55 
56 std::vector<std::unique_ptr<TrackingRegion>> CosmicRegionalSeedGenerator::regions(const edm::Event& event,
57  const edm::EventSetup& es) const {
58  std::vector<std::unique_ptr<TrackingRegion>> result;
59 
63  event.getByToken(measurementTrackerEventToken_, hmte);
64  measurementTracker = hmte.product();
65  }
66  //________________________________________
67  //
68  //Seeding on Sta muon (MC && Datas)
69  //________________________________________
70 
71  if (regionBase_ == "seedOnStaMuon" || regionBase_.empty()) {
72  LogDebug("CosmicRegionalSeedGenerator") << "Seeding on stand alone muons ";
73 
74  //get collections
75  //+++++++++++++++
76 
77  //get the muon collection
79  event.getByToken(recoMuonsToken_, muonsHandle);
80  if (!muonsHandle.isValid()) {
81  edm::LogError("CollectionNotFound") << "Error::No reco muons collection (" << recoMuonsCollection_
82  << ") in the event - Please verify the name of the muon collection";
83  return result;
84  }
85 
86  LogDebug("CosmicRegionalSeedGenerator") << "Muons collection size = " << muonsHandle->size();
87 
88  //get the jet collection
89  edm::Handle<CaloJetCollection> caloJetsHandle;
90  event.getByToken(recoCaloJetsToken_, caloJetsHandle);
91 
92  //get the propagator
93  edm::ESHandle<Propagator> thePropagator;
94  // thePropagatorName = "AnalyticalPropagator"
95  es.get<TrackingComponentsRecord>().get(thePropagatorName_, thePropagator);
96 
97  //get tracker geometry
98  edm::ESHandle<TrackerGeometry> theTrackerGeometry;
99  es.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
100  //const TrackerGeometry& theTracker(*theTrackerGeometry);
101 
102  //definition of the region
103  //+++++++++++++++++++++++++
104 
105  int nmuons = 0;
106  for (reco::MuonCollection::const_iterator staMuon = muonsHandle->begin(); staMuon != muonsHandle->end();
107  ++staMuon) {
108  //select sta muons
109  if (!staMuon->isStandAloneMuon()) {
110  LogDebug("CosmicRegionalSeedGenerator") << "This muon is not a stand alone muon";
111  continue;
112  }
113 
114  //bit 25 as a coverage -1.4 < eta < 1.4
115  if (abs(staMuon->standAloneMuon()->eta()) > 1.5)
116  continue;
117 
118  //debug
119  nmuons++;
120  LogDebug("CosmicRegionalSeedGenerator") << "Muon stand alone found in the collection - in muons chambers: \n "
121  << "Position = " << staMuon->standAloneMuon()->outerPosition() << "\n "
122  << "Momentum = " << staMuon->standAloneMuon()->outerMomentum() << "\n "
123  << "Eta = " << staMuon->standAloneMuon()->eta() << "\n "
124  << "Phi = " << staMuon->standAloneMuon()->phi();
125 
126  //initial position, momentum, charge
127 
128  GlobalPoint initialRegionPosition(staMuon->standAloneMuon()->referencePoint().x(),
129  staMuon->standAloneMuon()->referencePoint().y(),
130  staMuon->standAloneMuon()->referencePoint().z());
131  GlobalVector initialRegionMomentum(staMuon->standAloneMuon()->momentum().x(),
132  staMuon->standAloneMuon()->momentum().y(),
133  staMuon->standAloneMuon()->momentum().z());
134  int charge = (int)staMuon->standAloneMuon()->charge();
135 
136  LogDebug("CosmicRegionalSeedGenerator") << "Initial region - Reference point of the sta muon: \n "
137  << "Position = " << initialRegionPosition << "\n "
138  << "Momentum = " << initialRegionMomentum << "\n "
139  << "Eta = " << initialRegionPosition.eta() << "\n "
140  << "Phi = " << initialRegionPosition.phi() << "\n "
141  << "Charge = " << charge;
142 
143  //propagation on the last layers of TOB
144  if (staMuon->standAloneMuon()->outerPosition().y() > 0)
145  initialRegionMomentum *= -1;
146  GlobalTrajectoryParameters glb_parameters(
147  initialRegionPosition, initialRegionMomentum, charge, thePropagator->magneticField());
148  FreeTrajectoryState fts(glb_parameters);
149  StateOnTrackerBound onBounds(thePropagator.product());
150  TrajectoryStateOnSurface outer = onBounds(fts);
151 
152  if (!outer.isValid()) {
153  //edm::LogError("FailedPropagation") << "Trajectory state on surface not valid" ;
154  LogDebug("CosmicRegionalSeedGenerator") << "Trajectory state on surface not valid";
155  continue;
156  }
157 
158  //final position & momentum
159  GlobalPoint regionPosition = outer.globalPosition();
160  GlobalVector regionMom = outer.globalMomentum();
161 
162  LogDebug("CosmicRegionalSeedGenerator")
163  << "Region after propagation: \n "
164  << "Position = " << outer.globalPosition() << "\n "
165  << "Momentum = " << outer.globalMomentum() << "\n "
166  << "R = " << regionPosition.perp() << " ---- z = " << regionPosition.z() << "\n "
167  << "Eta = " << outer.globalPosition().eta() << "\n "
168  << "Phi = " << outer.globalPosition().phi();
169 
170  //step back
171  double stepBack = 1;
172  GlobalPoint center = regionPosition + stepBack * regionMom.unit();
173  GlobalVector v = stepBack * regionMom.unit();
174  LogDebug("CosmicRegionalSeedGenerator") << "Step back vector = " << v << "\n";
175 
176  //exclude region built in jets
177  if (doJetsExclusionCheck_) {
178  double delta_R_min = 1000.;
179  for (CaloJetCollection::const_iterator jet = caloJetsHandle->begin(); jet != caloJetsHandle->end(); jet++) {
180  if (jet->pt() < jetsPtMin_)
181  continue;
182 
183  double deta = center.eta() - jet->eta();
184  double dphi = fabs(center.phi() - jet->phi());
185  if (dphi > TMath::Pi())
186  dphi = 2 * TMath::Pi() - dphi;
187 
188  double delta_R = sqrt(deta * deta + dphi * dphi);
189  if (delta_R < delta_R_min)
190  delta_R_min = delta_R;
191 
192  } //end loop on jets
193 
194  if (delta_R_min < deltaRExclusionSize_) {
195  LogDebug("CosmicRegionalSeedGenerator") << "Region built too close from a jet";
196  continue;
197  }
198  } //end if doJetsExclusionCheck
199 
200  //definition of the region
201 
202  result.push_back(std::make_unique<CosmicTrackingRegion>(
203  (-1) * regionMom, center, ptMin_, rVertex_, zVertex_, deltaEta_, deltaPhi_, regionPSet, measurementTracker));
204 
205  LogDebug("CosmicRegionalSeedGenerator")
206  << "Final CosmicTrackingRegion \n "
207  << "Position = " << center << "\n "
208  << "Direction = " << result.back()->direction() << "\n "
209  << "Distance from the region on the layer = " << (regionPosition - center).mag() << "\n "
210  << "Eta = " << center.eta() << "\n "
211  << "Phi = " << center.phi();
212 
213  } //end loop on muons
214 
215  } //end if SeedOnStaMuon
216 
217  //________________________________________
218  //
219  //Seeding on cosmic muons (MC && Datas)
220  //________________________________________
221 
222  if (regionBase_ == "seedOnCosmicMuon") {
223  LogDebug("CosmicRegionalSeedGenerator") << "Seeding on cosmic muons tracks";
224 
225  //get collections
226  //+++++++++++++++
227 
228  //get the muon collection
229  edm::Handle<reco::TrackCollection> cosmicMuonsHandle;
230  event.getByToken(recoTrackMuonsToken_, cosmicMuonsHandle);
231  if (!cosmicMuonsHandle.isValid()) {
232  edm::LogError("CollectionNotFound")
233  << "Error::No cosmic muons collection (" << recoTrackMuonsCollection_
234  << ") in the event - Please verify the name of the muon reco track collection";
235  return result;
236  }
237 
238  LogDebug("CosmicRegionalSeedGenerator") << "Cosmic muons tracks collection size = " << cosmicMuonsHandle->size();
239 
240  //get the jet collection
241  edm::Handle<CaloJetCollection> caloJetsHandle;
242  event.getByToken(recoCaloJetsToken_, caloJetsHandle);
243 
244  //get the propagator
245  edm::ESHandle<Propagator> thePropagator;
246  // thePropagatorName = "AnalyticalPropagator"
247  es.get<TrackingComponentsRecord>().get(thePropagatorName_, thePropagator);
248 
249  //get tracker geometry
250  edm::ESHandle<TrackerGeometry> theTrackerGeometry;
251  es.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
252 
253  //definition of the region
254  //+++++++++++++++++++++++++
255 
256  int nmuons = 0;
257  for (reco::TrackCollection::const_iterator cosmicMuon = cosmicMuonsHandle->begin();
258  cosmicMuon != cosmicMuonsHandle->end();
259  ++cosmicMuon) {
260  //bit 25 as a coverage -1.4 < eta < 1.4
261  if (abs(cosmicMuon->eta()) > 1.5)
262  continue;
263 
264  nmuons++;
265 
266  //initial position, momentum, charge
267  GlobalPoint initialRegionPosition(
268  cosmicMuon->referencePoint().x(), cosmicMuon->referencePoint().y(), cosmicMuon->referencePoint().z());
269  GlobalVector initialRegionMomentum(
270  cosmicMuon->momentum().x(), cosmicMuon->momentum().y(), cosmicMuon->momentum().z());
271  int charge = (int)cosmicMuon->charge();
272 
273  LogDebug("CosmicRegionalSeedGenerator") << "Position and momentum of the muon track in the muon chambers: \n "
274  << "x = " << cosmicMuon->outerPosition().x() << "\n "
275  << "y = " << cosmicMuon->outerPosition().y() << "\n "
276  << "y = " << cosmicMuon->pt() << "\n "
277  << "Initial region - Reference point of the cosmic muon track: \n "
278  << "Position = " << initialRegionPosition << "\n "
279  << "Momentum = " << initialRegionMomentum << "\n "
280  << "Eta = " << initialRegionPosition.eta() << "\n "
281  << "Phi = " << initialRegionPosition.phi() << "\n "
282  << "Charge = " << charge;
283 
284  //propagation on the last layers of TOB
285  if (cosmicMuon->outerPosition().y() > 0 && cosmicMuon->momentum().y() < 0)
286  initialRegionMomentum *= -1;
287  GlobalTrajectoryParameters glb_parameters(
288  initialRegionPosition, initialRegionMomentum, charge, thePropagator->magneticField());
289  FreeTrajectoryState fts(glb_parameters);
290  StateOnTrackerBound onBounds(thePropagator.product());
291  TrajectoryStateOnSurface outer = onBounds(fts);
292 
293  if (!outer.isValid()) {
294  //edm::LogError("FailedPropagation") << "Trajectory state on surface not valid" ;
295  LogDebug("CosmicRegionalSeedGenerator") << "Trajectory state on surface not valid";
296  continue;
297  }
298 
299  //final position & momentum
300  GlobalPoint regionPosition = outer.globalPosition();
301  GlobalVector regionMom = outer.globalMomentum();
302 
303  LogDebug("CosmicRegionalSeedGenerator")
304  << "Region after propagation: \n "
305  << "Position = " << outer.globalPosition() << "\n "
306  << "Momentum = " << outer.globalMomentum() << "\n "
307  << "R = " << regionPosition.perp() << " ---- z = " << regionPosition.z() << "\n "
308  << "Eta = " << outer.globalPosition().eta() << "\n "
309  << "Phi = " << outer.globalPosition().phi();
310 
311  //step back
312  double stepBack = 1;
313  GlobalPoint center = regionPosition + stepBack * regionMom.unit();
314  GlobalVector v = stepBack * regionMom.unit();
315  LogDebug("CosmicRegionalSeedGenerator") << "Step back vector = " << v << "\n";
316 
317  //exclude region built in jets
318  if (doJetsExclusionCheck_) {
319  double delta_R_min = 1000.;
320  for (CaloJetCollection::const_iterator jet = caloJetsHandle->begin(); jet != caloJetsHandle->end(); jet++) {
321  if (jet->pt() < jetsPtMin_)
322  continue;
323 
324  double deta = center.eta() - jet->eta();
325  double dphi = fabs(center.phi() - jet->phi());
326  if (dphi > TMath::Pi())
327  dphi = 2 * TMath::Pi() - dphi;
328 
329  double delta_R = sqrt(deta * deta + dphi * dphi);
330  if (delta_R < delta_R_min)
331  delta_R_min = delta_R;
332 
333  } //end loop on jets
334 
335  if (delta_R_min < deltaRExclusionSize_) {
336  LogDebug("CosmicRegionalSeedGenerator") << "Region built too close from a jet";
337  continue;
338  }
339  } // end if doJetsExclusionCheck
340 
341  //definition of the region
342  result.push_back(std::make_unique<CosmicTrackingRegion>(
343  (-1) * regionMom, center, ptMin_, rVertex_, zVertex_, deltaEta_, deltaPhi_, regionPSet, measurementTracker));
344 
345  LogDebug("CosmicRegionalSeedGenerator")
346  << "Final CosmicTrackingRegion \n "
347  << "Position = " << center << "\n "
348  << "Direction = " << result.back()->direction() << "\n "
349  << "Distance from the region on the layer = " << (regionPosition - center).mag() << "\n "
350  << "Eta = " << center.eta() << "\n "
351  << "Phi = " << center.phi();
352 
353  } //end loop on muons
354 
355  } //end if SeedOnCosmicMuon
356 
357  //________________________________________
358  //
359  //Seeding on L2 muons (MC && Datas)
360  //________________________________________
361 
362  if (regionBase_ == "seedOnL2Muon") {
363  LogDebug("CosmicRegionalSeedGenerator") << "Seeding on L2 muons";
364 
365  //get collections
366  //+++++++++++++++
367 
368  //get the muon collection
370  event.getByToken(recoL2MuonsToken_, L2MuonsHandle);
371 
372  if (!L2MuonsHandle.isValid()) {
373  edm::LogError("CollectionNotFound") << "Error::No L2 muons collection (" << recoL2MuonsCollection_
374  << ") in the event - Please verify the name of the L2 muon collection";
375  return result;
376  }
377 
378  LogDebug("CosmicRegionalSeedGenerator") << "L2 muons collection size = " << L2MuonsHandle->size();
379 
380  //get the propagator
381  edm::ESHandle<Propagator> thePropagator;
382  // thePropagatorName = "AnalyticalPropagator"
383  es.get<TrackingComponentsRecord>().get(thePropagatorName_, thePropagator);
384 
385  //get tracker geometry
386  edm::ESHandle<TrackerGeometry> theTrackerGeometry;
387  es.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
388 
389  //definition of the region
390  //+++++++++++++++++++++++++
391 
392  int nmuons = 0;
393  for (reco::RecoChargedCandidateCollection::const_iterator L2Muon = L2MuonsHandle->begin();
394  L2Muon != L2MuonsHandle->end();
395  ++L2Muon) {
396  reco::TrackRef tkL2Muon = L2Muon->get<reco::TrackRef>();
397 
398  //bit 25 as a coverage -1.4 < eta < 1.4
399  if (abs(tkL2Muon->eta()) > 1.5)
400  continue;
401 
402  nmuons++;
403 
404  //initial position, momentum, charge
405  GlobalPoint initialRegionPosition(
406  tkL2Muon->referencePoint().x(), tkL2Muon->referencePoint().y(), tkL2Muon->referencePoint().z());
407  GlobalVector initialRegionMomentum(tkL2Muon->momentum().x(), tkL2Muon->momentum().y(), tkL2Muon->momentum().z());
408  int charge = (int)tkL2Muon->charge();
409 
410  LogDebug("CosmicRegionalSeedGenerator") << "Position and momentum of the L2 muon track in the muon chambers: \n "
411  << "x = " << tkL2Muon->outerPosition().x() << "\n "
412  << "y = " << tkL2Muon->outerPosition().y() << "\n "
413  << "y = " << tkL2Muon->pt() << "\n "
414  << "Initial region - Reference point of the L2 muon track: \n "
415  << "Position = " << initialRegionPosition << "\n "
416  << "Momentum = " << initialRegionMomentum << "\n "
417  << "Eta = " << initialRegionPosition.eta() << "\n "
418  << "Phi = " << initialRegionPosition.phi() << "\n "
419  << "Charge = " << charge;
420 
421  //seeding only in the bottom
422  if (tkL2Muon->outerPosition().y() > 0) {
423  LogDebug("CosmicRegionalSeedGenerator") << "L2 muon in the TOP --- Region not created";
424  return result;
425  }
426 
427  GlobalTrajectoryParameters glb_parameters(
428  initialRegionPosition, initialRegionMomentum, charge, thePropagator->magneticField());
429  FreeTrajectoryState fts(glb_parameters);
430  StateOnTrackerBound onBounds(thePropagator.product());
431  TrajectoryStateOnSurface outer = onBounds(fts);
432 
433  if (!outer.isValid()) {
434  //edm::LogError("FailedPropagation") << "Trajectory state on surface not valid" ;
435  LogDebug("CosmicRegionalSeedGenerator") << "Trajectory state on surface not valid";
436  continue;
437  }
438 
439  //final position & momentum
440  GlobalPoint regionPosition = outer.globalPosition();
441  GlobalVector regionMom = outer.globalMomentum();
442 
443  LogDebug("CosmicRegionalSeedGenerator")
444  << "Region after propagation: \n "
445  << "Position = " << outer.globalPosition() << "\n "
446  << "Momentum = " << outer.globalMomentum() << "\n "
447  << "R = " << regionPosition.perp() << " ---- z = " << regionPosition.z() << "\n "
448  << "Eta = " << outer.globalPosition().eta() << "\n "
449  << "Phi = " << outer.globalPosition().phi();
450 
451  //step back
452  double stepBack = 1;
453  GlobalPoint center = regionPosition + stepBack * regionMom.unit();
454  GlobalVector v = stepBack * regionMom.unit();
455  LogDebug("CosmicRegionalSeedGenerator") << "Step back vector = " << v << "\n";
456 
457  //definition of the region
458  result.push_back(std::make_unique<CosmicTrackingRegion>(
459  (-1) * regionMom, center, ptMin_, rVertex_, zVertex_, deltaEta_, deltaPhi_, regionPSet, measurementTracker));
460 
461  LogDebug("CosmicRegionalSeedGenerator")
462  << "Final L2TrackingRegion \n "
463  << "Position = " << center << "\n "
464  << "Direction = " << result.back()->direction() << "\n "
465  << "Distance from the region on the layer = " << (regionPosition - center).mag() << "\n "
466  << "Eta = " << center.eta() << "\n "
467  << "Phi = " << center.phi();
468 
469  } //end loop on muons
470 
471  } //end if SeedOnL2Muon
472 
473  return result;
474 }
Vector3DBase
Definition: Vector3DBase.h:8
CosmicRegionalSeedGenerator::jetsPtMin_
double jetsPtMin_
Definition: CosmicRegionalSeedGenerator.h:82
Propagator.h
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
CaloJet.h
Muon.h
CosmicRegionalSeedGenerator::measurementTrackerEventToken_
edm::EDGetTokenT< MeasurementTrackerEvent > measurementTrackerEventToken_
Definition: CosmicRegionalSeedGenerator.h:78
B2GMonitoring_cff.nmuons
nmuons
Definition: B2GMonitoring_cff.py:147
edm::Handle::product
T const * product() const
Definition: Handle.h:70
HLTSiStripMonitoring_cff.measurementTracker
measurementTracker
Definition: HLTSiStripMonitoring_cff.py:178
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::LogInfo
Definition: MessageLogger.h:254
edm::Ref::get
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:232
CosmicRegionalSeedGenerator::thePropagatorName_
std::string thePropagatorName_
Definition: CosmicRegionalSeedGenerator.h:68
CosmicRegionalSeedGenerator::recoL2MuonsCollection_
edm::InputTag recoL2MuonsCollection_
Definition: CosmicRegionalSeedGenerator.h:73
CosmicRegionalSeedGenerator::recoTrackMuonsCollection_
edm::InputTag recoTrackMuonsCollection_
Definition: CosmicRegionalSeedGenerator.h:72
Propagator::magneticField
virtual const MagneticField * magneticField() const =0
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
findQualityFiles.v
v
Definition: findQualityFiles.py:179
edm::Handle< MeasurementTrackerEvent >
reco::RecoChargedCandidateCollection
std::vector< RecoChargedCandidate > RecoChargedCandidateCollection
collectin of RecoChargedCandidate objects
Definition: RecoChargedCandidateFwd.h:9
edm::Ref< TrackCollection >
kinem::delta_R
double delta_R(double eta1, double phi1, double eta2, double phi2)
Definition: AnglesUtil.h:106
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
CosmicRegionalSeedGenerator.h
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
Vector3DBase::unit
Vector3DBase unit() const
Definition: Vector3DBase.h:54
CosmicRegionalSeedGenerator::ptMin_
float ptMin_
Definition: CosmicRegionalSeedGenerator.h:62
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
CosmicRegionalSeedGenerator::deltaPhi_
float deltaPhi_
Definition: CosmicRegionalSeedGenerator.h:66
edm::EDGetTokenT::isUninitialized
bool isUninitialized() const
Definition: EDGetToken.h:70
reco::MuonCollection
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
CosmicRegionalSeedGenerator::deltaRExclusionSize_
double deltaRExclusionSize_
Definition: CosmicRegionalSeedGenerator.h:81
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
edm::ESHandle< Propagator >
CosmicRegionalSeedGenerator::recoMuonsCollection_
edm::InputTag recoMuonsCollection_
Definition: CosmicRegionalSeedGenerator.h:71
CosmicRegionalSeedGenerator::regionPSet
edm::ParameterSet regionPSet
Definition: CosmicRegionalSeedGenerator.h:60
GlobalTrajectoryParameters
Definition: GlobalTrajectoryParameters.h:15
Point3DBase< float, GlobalTag >
CosmicRegionalSeedGenerator::regionBase_
std::string regionBase_
Definition: CosmicRegionalSeedGenerator.h:69
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
CosmicRegionalSeedGenerator::regions
std::vector< std::unique_ptr< TrackingRegion > > regions(const edm::Event &event, const edm::EventSetup &es) const override
Definition: CosmicRegionalSeedGenerator.cc:56
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
CosmicRegionalSeedGenerator::conf_
edm::ParameterSet conf_
Definition: CosmicRegionalSeedGenerator.h:59
edm::ParameterSet
Definition: ParameterSet.h:36
edm::LogError
Definition: MessageLogger.h:183
CosmicRegionalSeedGenerator::recoL2MuonsToken_
edm::EDGetTokenT< reco::RecoChargedCandidateCollection > recoL2MuonsToken_
Definition: CosmicRegionalSeedGenerator.h:77
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
CosmicRegionalSeedGenerator::CosmicRegionalSeedGenerator
CosmicRegionalSeedGenerator(const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
Definition: CosmicRegionalSeedGenerator.cc:20
createfilelist.int
int
Definition: createfilelist.py:10
CosmicRegionalSeedGenerator::deltaEta_
float deltaEta_
Definition: CosmicRegionalSeedGenerator.h:65
reco::CaloJetCollection
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
Definition: CaloJetCollection.h:15
StateOnTrackerBound
Definition: StateOnTrackerBound.h:13
edm::EventSetup
Definition: EventSetup.h:57
CosmicRegionalSeedGenerator::recoMuonsToken_
edm::EDGetTokenT< reco::MuonCollection > recoMuonsToken_
Definition: CosmicRegionalSeedGenerator.h:75
get
#define get
CosmicRegionalSeedGenerator::zVertex_
float zVertex_
Definition: CosmicRegionalSeedGenerator.h:64
CosmicRegionalSeedGenerator::rVertex_
float rVertex_
Definition: CosmicRegionalSeedGenerator.h:63
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
mag
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition: Basic3DVectorLD.h:127
std
Definition: JetResolutionObject.h:76
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
RecoChargedCandidate.h
metsig::jet
Definition: SignAlgoResolutions.h:47
Pi
const double Pi
Definition: CosmicMuonParameters.h:18
trigger
Definition: HLTPrescaleTableCond.h:8
CosmicRegionalSeedGenerator::recoCaloJetsCollection_
edm::InputTag recoCaloJetsCollection_
Definition: CosmicRegionalSeedGenerator.h:83
mps_fire.result
result
Definition: mps_fire.py:303
CosmicRegionalSeedGenerator::recoTrackMuonsToken_
edm::EDGetTokenT< reco::TrackCollection > recoTrackMuonsToken_
Definition: CosmicRegionalSeedGenerator.h:76
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
SurfaceOrientation::outer
Definition: Surface.h:19
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
event
Definition: event.py:1
edm::Event
Definition: Event.h:73
CosmicRegionalSeedGenerator::doJetsExclusionCheck_
bool doJetsExclusionCheck_
Definition: CosmicRegionalSeedGenerator.h:80
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
edm::InputTag
Definition: InputTag.h:15
CosmicRegionalSeedGenerator::recoCaloJetsToken_
edm::EDGetTokenT< reco::CaloJetCollection > recoCaloJetsToken_
Definition: CosmicRegionalSeedGenerator.h:74
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
edm::ConsumesCollector
Definition: ConsumesCollector.h:39
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
HLTSiStripMonitoring_cff.MeasurementTrackerEvent
MeasurementTrackerEvent
Definition: HLTSiStripMonitoring_cff.py:224
TrackingComponentsRecord
Definition: TrackingComponentsRecord.h:12