CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
FWRecoGeometryESProducer Class Reference

#include <FWRecoGeometryESProducer.h>

Inheritance diagram for FWRecoGeometryESProducer:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Member Functions

 FWRecoGeometryESProducer (const edm::ParameterSet &)
 
std::unique_ptr< FWRecoGeometryproduce (const FWRecoGeometryRecord &)
 
 ~FWRecoGeometryESProducer (void) override
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
ESProducer const & operator= (const ESProducer &)=delete
 
template<typename Record >
void updateFromMayConsumes (unsigned int iIndex, const Record &iRecord)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
 ESProxyFactoryProducer (const ESProxyFactoryProducer &)=delete
 
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)=delete
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
void createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
 DataProxyProvider ()
 
 DataProxyProvider (const DataProxyProvider &)=delete
 
const ComponentDescriptiondescription () const
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const DataProxyProvideroperator= (const DataProxyProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Private Member Functions

void ADD_PIXEL_TOPOLOGY (unsigned int rawid, const GeomDet *detUnit, FWRecoGeometry &)
 
void addCaloGeometry (FWRecoGeometry &)
 
void addCSCGeometry (FWRecoGeometry &)
 
void addDTGeometry (FWRecoGeometry &)
 
void addFTLGeometry (FWRecoGeometry &)
 
void addGEMGeometry (FWRecoGeometry &)
 
void addME0Geometry (FWRecoGeometry &)
 
void addPixelBarrelGeometry (FWRecoGeometry &)
 
void addPixelForwardGeometry (FWRecoGeometry &)
 
void addRPCGeometry (FWRecoGeometry &)
 
void addTECGeometry (FWRecoGeometry &)
 
void addTIBGeometry (FWRecoGeometry &)
 
void addTIDGeometry (FWRecoGeometry &)
 
void addTOBGeometry (FWRecoGeometry &)
 
void fillPoints (unsigned int id, std::vector< GlobalPoint >::const_iterator begin, std::vector< GlobalPoint >::const_iterator end, FWRecoGeometry &)
 
void fillShapeAndPlacement (unsigned int id, const GeomDet *det, FWRecoGeometry &)
 
 FWRecoGeometryESProducer (const FWRecoGeometryESProducer &)=delete
 
unsigned int insert_id (unsigned int id, FWRecoGeometry &)
 
const FWRecoGeometryESProduceroperator= (const FWRecoGeometryESProducer &)=delete
 
void writeTrackerParametersXML (FWRecoGeometry &)
 

Private Attributes

bool m_calo
 
const CaloGeometrym_caloGeom = nullptr
 
edm::ESGetToken< CaloGeometry, CaloGeometryRecordm_caloGeomToken
 
unsigned int m_current
 
const FastTimeGeometrym_ftlBarrelGeom = nullptr
 
edm::ESGetToken< FastTimeGeometry, IdealGeometryRecordm_ftlBarrelGeomToken
 
const FastTimeGeometrym_ftlEndcapGeom = nullptr
 
edm::ESGetToken< FastTimeGeometry, IdealGeometryRecordm_ftlEndcapGeomToken
 
bool m_muon
 
bool m_timing
 
bool m_tracker
 
const TrackerGeometrym_trackerGeom = nullptr
 
const GlobalTrackingGeometrym_trackingGeom = nullptr
 
edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecordm_trackingGeomToken
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProxyFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::DataProxyProvider
using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy > >>
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
ESConsumesCollectorT< TRecord > setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 

Detailed Description

Definition at line 25 of file FWRecoGeometryESProducer.h.

Constructor & Destructor Documentation

◆ FWRecoGeometryESProducer() [1/2]

FWRecoGeometryESProducer::FWRecoGeometryESProducer ( const edm::ParameterSet pset)

Definition at line 99 of file FWRecoGeometryESProducer.cc.

99  : m_current(-1) {
100  m_tracker = pset.getUntrackedParameter<bool>("Tracker", true);
101  m_muon = pset.getUntrackedParameter<bool>("Muon", true);
102  m_calo = pset.getUntrackedParameter<bool>("Calo", true);
103  m_timing = pset.getUntrackedParameter<bool>("Timing", false);
104  auto cc = setWhatProduced(this);
105  if (m_tracker or m_muon) {
106  cc.setConsumes(m_trackingGeomToken);
107  }
108  if (m_timing) {
109  cc.setConsumes(m_ftlBarrelGeomToken, edm::ESInputTag{"", "FastTimeBarrel"})
110  .setConsumes(m_ftlEndcapGeomToken, edm::ESInputTag{"", "SFBX"});
111  }
112  if (m_calo) {
113  cc.setConsumes(m_caloGeomToken);
114  }
115 }

References m_calo, m_caloGeomToken, m_ftlBarrelGeomToken, m_ftlEndcapGeomToken, m_muon, m_timing, m_tracker, m_trackingGeomToken, or, muonDTDigis_cfi::pset, and edm::ESProducer::setWhatProduced().

◆ ~FWRecoGeometryESProducer()

FWRecoGeometryESProducer::~FWRecoGeometryESProducer ( void  )
override

Definition at line 117 of file FWRecoGeometryESProducer.cc.

117 {}

◆ FWRecoGeometryESProducer() [2/2]

FWRecoGeometryESProducer::FWRecoGeometryESProducer ( const FWRecoGeometryESProducer )
privatedelete

Member Function Documentation

◆ ADD_PIXEL_TOPOLOGY()

void FWRecoGeometryESProducer::ADD_PIXEL_TOPOLOGY ( unsigned int  rawid,
const GeomDet detUnit,
FWRecoGeometry fwRecoGeometry 
)
private

Definition at line 40 of file FWRecoGeometryESProducer.cc.

42  {
43  const PixelGeomDetUnit* det = dynamic_cast<const PixelGeomDetUnit*>(detUnit);
44  if (det) {
45  const PixelTopology* topo = &det->specificTopology();
46 
47  std::pair<float, float> pitch = topo->pitch();
48  fwRecoGeometry.idToName[rawid].topology[0] = pitch.first;
49  fwRecoGeometry.idToName[rawid].topology[1] = pitch.second;
50 
51  fwRecoGeometry.idToName[rawid].topology[2] = topo->localX(0.f); // offsetX
52  fwRecoGeometry.idToName[rawid].topology[3] = topo->localY(0.f); // offsetY
53 
54  // big pixels layout
55  fwRecoGeometry.idToName[rawid].topology[4] = topo->isItBigPixelInX(80) ? 0 : 1;
56  }
57 }

References f, FWRecoGeometry::idToName, PixelTopology::isItBigPixelInX(), PixelTopology::localX(), PixelTopology::localY(), PixelTopology::pitch(), and PixelGeomDetUnit::specificTopology().

Referenced by addPixelBarrelGeometry(), and addPixelForwardGeometry().

◆ addCaloGeometry()

void FWRecoGeometryESProducer::addCaloGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 478 of file FWRecoGeometryESProducer.cc.

478  {
479  std::vector<DetId> vid = m_caloGeom->getValidDetIds(); // Calo
480  for (std::vector<DetId>::const_iterator it = vid.begin(), end = vid.end(); it != end; ++it) {
481  unsigned int id = insert_id(it->rawId(), fwRecoGeometry);
482  if (!((DetId::Forward == it->det()) || (DetId::HGCalEE == it->det()) || (DetId::HGCalHSi == it->det()) ||
483  (DetId::HGCalHSc == it->det()))) {
484  const CaloCellGeometry::CornersVec& cor = m_caloGeom->getGeometry(*it)->getCorners();
485  fillPoints(id, cor.begin(), cor.end(), fwRecoGeometry);
486  } else {
487  DetId::Detector det = it->det();
488  int subdet = (((DetId::HGCalEE == det) || (DetId::HGCalHSi == det) || (DetId::HGCalHSc == det)) ? ForwardEmpty
489  : it->subdetId());
490  const HGCalGeometry* geom = dynamic_cast<const HGCalGeometry*>(m_caloGeom->getSubdetectorGeometry(det, subdet));
491  const auto cor = geom->getNewCorners(*it);
492 
493  // roll = yaw = pitch = 0
494  fwRecoGeometry.idToName[id].matrix[0] = 1.0;
495  fwRecoGeometry.idToName[id].matrix[4] = 1.0;
496  fwRecoGeometry.idToName[id].matrix[8] = 1.0;
497 
498  // corners of the front face
499  for (uint i = 0; i < (cor.size() - 1); ++i) {
500  fwRecoGeometry.idToName[id].points[i * 3 + 0] = cor[i].x();
501  fwRecoGeometry.idToName[id].points[i * 3 + 1] = cor[i].y();
502  fwRecoGeometry.idToName[id].points[i * 3 + 2] = cor[i].z();
503  }
504 
505  // center
506  auto center = geom->getPosition(*it);
507  fwRecoGeometry.idToName[id].points[(cor.size() - 1) * 3 + 0] = center.x();
508  fwRecoGeometry.idToName[id].points[(cor.size() - 1) * 3 + 1] = center.y();
509  fwRecoGeometry.idToName[id].points[(cor.size() - 1) * 3 + 2] = center.z();
510 
511  // thickness
512  fwRecoGeometry.idToName[id].shape[3] = cor[cor.size() - 1].z();
513 
514  // total points
515  fwRecoGeometry.idToName[id].topology[0] = cor.size() - 1;
516  }
517  }
518 }

References EZArrayFL< T >::begin(), end, EZArrayFL< T >::end(), fillPoints(), DetId::Forward, ForwardEmpty, relativeConstraints::geom, CaloGeometry::getGeometry(), CaloGeometry::getSubdetectorGeometry(), CaloGeometry::getValidDetIds(), DetId::HGCalEE, DetId::HGCalHSc, DetId::HGCalHSi, mps_fire::i, triggerObjects_cff::id, FWRecoGeometry::idToName, insert_id(), m_caloGeom, and parallelization::uint.

Referenced by produce().

◆ addCSCGeometry()

void FWRecoGeometryESProducer::addCSCGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 164 of file FWRecoGeometryESProducer.cc.

164  {
165  DetId detId(DetId::Muon, 2);
166  const CSCGeometry* cscGeometry = static_cast<const CSCGeometry*>(m_trackingGeom->slaveGeometry(detId));
167  for (auto it = cscGeometry->chambers().begin(), end = cscGeometry->chambers().end(); it != end; ++it) {
168  const CSCChamber* chamber = *it;
169 
170  if (chamber) {
171  unsigned int rawid = chamber->geographicalId();
172  unsigned int current = insert_id(rawid, fwRecoGeometry);
173  fillShapeAndPlacement(current, chamber, fwRecoGeometry);
174  //
175  // CSC layers geometry
176  //
177  for (std::vector<const CSCLayer*>::const_iterator lit = chamber->layers().begin(), lend = chamber->layers().end();
178  lit != lend;
179  ++lit) {
180  const CSCLayer* layer = *lit;
181 
182  if (layer) {
183  unsigned int rawid = layer->geographicalId();
184  unsigned int current = insert_id(rawid, fwRecoGeometry);
185  fillShapeAndPlacement(current, layer, fwRecoGeometry);
186 
187  const CSCStripTopology* stripTopology = layer->geometry()->topology();
188  fwRecoGeometry.idToName[current].topology[0] = stripTopology->yAxisOrientation();
189  fwRecoGeometry.idToName[current].topology[1] = stripTopology->centreToIntersection();
190  fwRecoGeometry.idToName[current].topology[2] = stripTopology->yCentreOfStripPlane();
191  fwRecoGeometry.idToName[current].topology[3] = stripTopology->phiOfOneEdge();
192  fwRecoGeometry.idToName[current].topology[4] = stripTopology->stripOffset();
193  fwRecoGeometry.idToName[current].topology[5] = stripTopology->angularWidth();
194 
195  const CSCWireTopology* wireTopology = layer->geometry()->wireTopology();
196  fwRecoGeometry.idToName[current].topology[6] = wireTopology->wireSpacing();
197  fwRecoGeometry.idToName[current].topology[7] = wireTopology->wireAngle();
198  }
199  }
200  }
201  }
202 }

References CSCRadialStripTopology::angularWidth(), CSCRadialStripTopology::centreToIntersection(), relativeConstraints::chamber, CSCGeometry::chambers(), end, fillShapeAndPlacement(), GeomDet::geographicalId(), CSCLayer::geometry(), FWRecoGeometry::idToName, insert_id(), m_trackingGeom, DetId::Muon, CSCRadialStripTopology::phiOfOneEdge(), GlobalTrackingGeometry::slaveGeometry(), OffsetRadialStripTopology::stripOffset(), CSCLayerGeometry::topology(), CSCWireTopology::wireAngle(), CSCWireTopology::wireSpacing(), CSCLayerGeometry::wireTopology(), CSCRadialStripTopology::yAxisOrientation(), and CSCRadialStripTopology::yCentreOfStripPlane().

Referenced by produce().

◆ addDTGeometry()

void FWRecoGeometryESProducer::addDTGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 204 of file FWRecoGeometryESProducer.cc.

204  {
205  DetId detId(DetId::Muon, 1);
206  const DTGeometry* dtGeometry = static_cast<const DTGeometry*>(m_trackingGeom->slaveGeometry(detId));
207 
208  //
209  // DT chambers geometry
210  //
211  for (auto it = dtGeometry->chambers().begin(), end = dtGeometry->chambers().end(); it != end; ++it) {
212  const DTChamber* chamber = *it;
213 
214  if (chamber) {
215  unsigned int rawid = chamber->geographicalId().rawId();
216  unsigned int current = insert_id(rawid, fwRecoGeometry);
217  fillShapeAndPlacement(current, chamber, fwRecoGeometry);
218  }
219  }
220 
221  // Fill in DT layer parameters
222  for (auto it = dtGeometry->layers().begin(), end = dtGeometry->layers().end(); it != end; ++it) {
223  const DTLayer* layer = *it;
224 
225  if (layer) {
226  unsigned int rawid = layer->id().rawId();
227  unsigned int current = insert_id(rawid, fwRecoGeometry);
228  fillShapeAndPlacement(current, layer, fwRecoGeometry);
229 
230  const DTTopology& topo = layer->specificTopology();
231  const BoundPlane& surf = layer->surface();
232  // Topology W/H/L:
233  fwRecoGeometry.idToName[current].topology[0] = topo.cellWidth();
234  fwRecoGeometry.idToName[current].topology[1] = topo.cellHeight();
235  fwRecoGeometry.idToName[current].topology[2] = topo.cellLenght();
236  fwRecoGeometry.idToName[current].topology[3] = topo.firstChannel();
237  fwRecoGeometry.idToName[current].topology[4] = topo.lastChannel();
238  fwRecoGeometry.idToName[current].topology[5] = topo.channels();
239 
240  // Bounds W/H/L:
241  fwRecoGeometry.idToName[current].topology[6] = surf.bounds().width();
242  fwRecoGeometry.idToName[current].topology[7] = surf.bounds().thickness();
243  fwRecoGeometry.idToName[current].topology[8] = surf.bounds().length();
244  }
245  }
246 }

References DTTopology::cellHeight(), DTTopology::cellLenght(), DTTopology::cellWidth(), relativeConstraints::chamber, DTGeometry::chambers(), DTTopology::channels(), end, fillShapeAndPlacement(), DTTopology::firstChannel(), DTLayer::id(), FWRecoGeometry::idToName, insert_id(), DTTopology::lastChannel(), DTGeometry::layers(), m_trackingGeom, DetId::Muon, DetId::rawId(), GlobalTrackingGeometry::slaveGeometry(), DTLayer::specificTopology(), and GeomDet::surface().

Referenced by produce().

◆ addFTLGeometry()

void FWRecoGeometryESProducer::addFTLGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 520 of file FWRecoGeometryESProducer.cc.

520  {
521  // do the barrel
522  for (const auto& detid : m_ftlBarrelGeom->getValidDetIds()) {
523  unsigned int id = insert_id(detid.rawId(), fwRecoGeometry);
524  const auto& cor = m_ftlBarrelGeom->getCorners(detid);
525  fillPoints(id, cor.begin(), cor.end(), fwRecoGeometry);
526  }
527  // do the endcap
528  for (const auto& detid : m_ftlEndcapGeom->getValidDetIds()) {
529  unsigned int id = insert_id(detid.rawId(), fwRecoGeometry);
530  const auto& cor = m_ftlEndcapGeom->getCorners(detid);
531  fillPoints(id, cor.begin(), cor.end(), fwRecoGeometry);
532  }
533 }

References fillPoints(), FastTimeGeometry::getCorners(), FastTimeGeometry::getValidDetIds(), insert_id(), m_ftlBarrelGeom, and m_ftlEndcapGeom.

Referenced by produce().

◆ addGEMGeometry()

void FWRecoGeometryESProducer::addGEMGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 277 of file FWRecoGeometryESProducer.cc.

277  {
278  //
279  // GEM geometry
280  //
281 
282  try {
283  DetId detId(DetId::Muon, 4);
284  const GEMGeometry* gemGeom = static_cast<const GEMGeometry*>(m_trackingGeom->slaveGeometry(detId));
285 
286  // add in superChambers - gem Segments are based on superChambers
287  for (auto sc : gemGeom->superChambers()) {
288  if (sc) {
289  unsigned int rawid = sc->geographicalId().rawId();
290  unsigned int current = insert_id(rawid, fwRecoGeometry);
291  fillShapeAndPlacement(current, sc, fwRecoGeometry);
292  }
293  }
294  // add in chambers
295  for (auto ch : gemGeom->chambers()) {
296  if (ch) {
297  unsigned int rawid = ch->geographicalId().rawId();
298  unsigned int current = insert_id(rawid, fwRecoGeometry);
299  fillShapeAndPlacement(current, ch, fwRecoGeometry);
300  }
301  }
302  // add in etaPartitions - gem rechits are based on etaPartitions
303  for (auto roll : gemGeom->etaPartitions()) {
304  if (roll) {
305  unsigned int rawid = roll->geographicalId().rawId();
306  unsigned int current = insert_id(rawid, fwRecoGeometry);
307  fillShapeAndPlacement(current, roll, fwRecoGeometry);
308 
309  const StripTopology& topo = roll->specificTopology();
310  fwRecoGeometry.idToName[current].topology[0] = topo.nstrips();
311  fwRecoGeometry.idToName[current].topology[1] = topo.stripLength();
312  fwRecoGeometry.idToName[current].topology[2] = topo.pitch();
313 
314  float height = topo.stripLength() / 2;
315  LocalPoint lTop(0., height, 0.);
316  LocalPoint lBottom(0., -height, 0.);
317  fwRecoGeometry.idToName[current].topology[3] = roll->localPitch(lTop);
318  fwRecoGeometry.idToName[current].topology[4] = roll->localPitch(lBottom);
319  fwRecoGeometry.idToName[current].topology[5] = roll->npads();
320  }
321  }
322 
323  fwRecoGeometry.extraDet.Add(new TNamed("GEM", "GEM muon detector"));
324  try {
325  GEMDetId id(1, 1, 2, 1, 1, 1);
327  fwRecoGeometry.extraDet.Add(new TNamed("GE2", "GEM endcap station 2"));
328  } catch (std::runtime_error& e) {
329  std::cerr << e.what() << std::endl;
330  }
331 
332  } catch (cms::Exception& exception) {
333  edm::LogError("FWRecoGeometry") << " GEM geometry not found " << exception.what() << std::endl;
334  }
335 }

References beam_dqm_sourceclient-live_cfg::cerr, GEMGeometry::chambers(), MillePedeFileConverter_cfg::e, GEMGeometry::etaPartitions(), cppFunctionSkipper::exception, FWRecoGeometry::extraDet, fillShapeAndPlacement(), triggerObjects_cff::id, FWRecoGeometry::idToName, insert_id(), m_trackingGeom, DetId::Muon, StripTopology::nstrips(), StripTopology::pitch(), GlobalTrackingGeometry::slaveGeometry(), StripTopology::stripLength(), and GEMGeometry::superChambers().

Referenced by produce().

◆ addME0Geometry()

void FWRecoGeometryESProducer::addME0Geometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 337 of file FWRecoGeometryESProducer.cc.

337  {
338  //
339  // ME0 geometry
340  //
341 
342  DetId detId(DetId::Muon, 5);
343  try {
344  const ME0Geometry* me0Geom = static_cast<const ME0Geometry*>(m_trackingGeom->slaveGeometry(detId));
345  for (auto roll : me0Geom->etaPartitions()) {
346  if (roll) {
347  unsigned int rawid = roll->geographicalId().rawId();
348  unsigned int current = insert_id(rawid, fwRecoGeometry);
349  fillShapeAndPlacement(current, roll, fwRecoGeometry);
350 
351  const StripTopology& topo = roll->specificTopology();
352  fwRecoGeometry.idToName[current].topology[0] = topo.nstrips();
353  fwRecoGeometry.idToName[current].topology[1] = topo.stripLength();
354  fwRecoGeometry.idToName[current].topology[2] = topo.pitch();
355 
356  float height = topo.stripLength() / 2;
357  LocalPoint lTop(0., height, 0.);
358  LocalPoint lBottom(0., -height, 0.);
359  fwRecoGeometry.idToName[current].topology[3] = roll->localPitch(lTop);
360  fwRecoGeometry.idToName[current].topology[4] = roll->localPitch(lBottom);
361  fwRecoGeometry.idToName[current].topology[5] = roll->npads();
362  }
363  }
364  fwRecoGeometry.extraDet.Add(new TNamed("ME0", "ME0 muon detector"));
365  } catch (cms::Exception& exception) {
366  edm::LogError("FWRecoGeometry") << " ME0 geometry not found " << exception.what() << std::endl;
367  }
368 }

References ME0Geometry::etaPartitions(), cppFunctionSkipper::exception, FWRecoGeometry::extraDet, fillShapeAndPlacement(), FWRecoGeometry::idToName, insert_id(), m_trackingGeom, DetId::Muon, StripTopology::nstrips(), StripTopology::pitch(), GlobalTrackingGeometry::slaveGeometry(), and StripTopology::stripLength().

Referenced by produce().

◆ addPixelBarrelGeometry()

void FWRecoGeometryESProducer::addPixelBarrelGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 370 of file FWRecoGeometryESProducer.cc.

370  {
371  for (TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsPXB().begin(),
372  end = m_trackerGeom->detsPXB().end();
373  it != end;
374  ++it) {
375  const GeomDet* det = *it;
376 
377  if (det) {
378  DetId detid = det->geographicalId();
379  unsigned int rawid = detid.rawId();
380  unsigned int current = insert_id(rawid, fwRecoGeometry);
381  fillShapeAndPlacement(current, det, fwRecoGeometry);
382 
383  ADD_PIXEL_TOPOLOGY(current, m_trackerGeom->idToDetUnit(detid), fwRecoGeometry);
384  }
385  }
386 }

References ADD_PIXEL_TOPOLOGY(), TrackerGeometry::detsPXB(), end, fillShapeAndPlacement(), GeomDet::geographicalId(), TrackerGeometry::idToDetUnit(), insert_id(), m_trackerGeom, and DetId::rawId().

Referenced by produce().

◆ addPixelForwardGeometry()

void FWRecoGeometryESProducer::addPixelForwardGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 388 of file FWRecoGeometryESProducer.cc.

388  {
389  for (TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsPXF().begin(),
390  end = m_trackerGeom->detsPXF().end();
391  it != end;
392  ++it) {
393  const GeomDet* det = *it;
394 
395  if (det) {
396  DetId detid = det->geographicalId();
397  unsigned int rawid = detid.rawId();
398  unsigned int current = insert_id(rawid, fwRecoGeometry);
399  fillShapeAndPlacement(current, det, fwRecoGeometry);
400 
401  ADD_PIXEL_TOPOLOGY(current, m_trackerGeom->idToDetUnit(detid), fwRecoGeometry);
402  }
403  }
404 }

References ADD_PIXEL_TOPOLOGY(), TrackerGeometry::detsPXF(), end, fillShapeAndPlacement(), GeomDet::geographicalId(), TrackerGeometry::idToDetUnit(), insert_id(), m_trackerGeom, and DetId::rawId().

Referenced by produce().

◆ addRPCGeometry()

void FWRecoGeometryESProducer::addRPCGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 248 of file FWRecoGeometryESProducer.cc.

248  {
249  //
250  // RPC rolls geometry
251  //
252  DetId detId(DetId::Muon, 3);
253  const RPCGeometry* rpcGeom = static_cast<const RPCGeometry*>(m_trackingGeom->slaveGeometry(detId));
254  for (auto it = rpcGeom->rolls().begin(), end = rpcGeom->rolls().end(); it != end; ++it) {
255  const RPCRoll* roll = (*it);
256  if (roll) {
257  unsigned int rawid = roll->geographicalId().rawId();
258  unsigned int current = insert_id(rawid, fwRecoGeometry);
259  fillShapeAndPlacement(current, roll, fwRecoGeometry);
260 
261  const StripTopology& topo = roll->specificTopology();
262  fwRecoGeometry.idToName[current].topology[0] = topo.nstrips();
263  fwRecoGeometry.idToName[current].topology[1] = topo.stripLength();
264  fwRecoGeometry.idToName[current].topology[2] = topo.pitch();
265  }
266  }
267 
268  try {
269  RPCDetId id(1, 1, 4, 1, 1, 1, 1);
271  fwRecoGeometry.extraDet.Add(new TNamed("RE4", "RPC endcap station 4"));
272  } catch (std::runtime_error& e) {
273  std::cerr << e.what() << std::endl;
274  }
275 }

References beam_dqm_sourceclient-live_cfg::cerr, MillePedeFileConverter_cfg::e, end, FWRecoGeometry::extraDet, fillShapeAndPlacement(), GeomDet::geographicalId(), triggerObjects_cff::id, FWRecoGeometry::idToName, insert_id(), m_trackingGeom, DetId::Muon, StripTopology::nstrips(), StripTopology::pitch(), DetId::rawId(), RPCGeometry::rolls(), GlobalTrackingGeometry::slaveGeometry(), RPCRoll::specificTopology(), and StripTopology::stripLength().

Referenced by produce().

◆ addTECGeometry()

void FWRecoGeometryESProducer::addTECGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 460 of file FWRecoGeometryESProducer.cc.

460  {
461  for (TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTEC().begin(),
462  end = m_trackerGeom->detsTEC().end();
463  it != end;
464  ++it) {
465  const GeomDet* det = *it;
466 
467  if (det) {
468  DetId detid = det->geographicalId();
469  unsigned int rawid = detid.rawId();
470  unsigned int current = insert_id(rawid, fwRecoGeometry);
471  fillShapeAndPlacement(current, det, fwRecoGeometry);
472 
473  ADD_SISTRIP_TOPOLOGY(current, m_trackerGeom->idToDet(detid));
474  }
475  }
476 }

References ADD_SISTRIP_TOPOLOGY, TrackerGeometry::detsTEC(), end, fillShapeAndPlacement(), GeomDet::geographicalId(), TrackerGeometry::idToDet(), insert_id(), m_trackerGeom, and DetId::rawId().

Referenced by produce().

◆ addTIBGeometry()

void FWRecoGeometryESProducer::addTIBGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 406 of file FWRecoGeometryESProducer.cc.

406  {
407  for (TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTIB().begin(),
408  end = m_trackerGeom->detsTIB().end();
409  it != end;
410  ++it) {
411  const GeomDet* det = *it;
412 
413  if (det) {
414  DetId detid = det->geographicalId();
415  unsigned int rawid = detid.rawId();
416  unsigned int current = insert_id(rawid, fwRecoGeometry);
417  fillShapeAndPlacement(current, det, fwRecoGeometry);
418 
419  ADD_SISTRIP_TOPOLOGY(current, m_trackerGeom->idToDet(detid));
420  }
421  }
422 }

References ADD_SISTRIP_TOPOLOGY, TrackerGeometry::detsTIB(), end, fillShapeAndPlacement(), GeomDet::geographicalId(), TrackerGeometry::idToDet(), insert_id(), m_trackerGeom, and DetId::rawId().

Referenced by produce().

◆ addTIDGeometry()

void FWRecoGeometryESProducer::addTIDGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 442 of file FWRecoGeometryESProducer.cc.

442  {
443  for (TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTID().begin(),
444  end = m_trackerGeom->detsTID().end();
445  it != end;
446  ++it) {
447  const GeomDet* det = *it;
448 
449  if (det) {
450  DetId detid = det->geographicalId();
451  unsigned int rawid = detid.rawId();
452  unsigned int current = insert_id(rawid, fwRecoGeometry);
453  fillShapeAndPlacement(current, det, fwRecoGeometry);
454 
455  ADD_SISTRIP_TOPOLOGY(current, m_trackerGeom->idToDet(detid));
456  }
457  }
458 }

References ADD_SISTRIP_TOPOLOGY, TrackerGeometry::detsTID(), end, fillShapeAndPlacement(), GeomDet::geographicalId(), TrackerGeometry::idToDet(), insert_id(), m_trackerGeom, and DetId::rawId().

Referenced by produce().

◆ addTOBGeometry()

void FWRecoGeometryESProducer::addTOBGeometry ( FWRecoGeometry fwRecoGeometry)
private

Definition at line 424 of file FWRecoGeometryESProducer.cc.

424  {
425  for (TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTOB().begin(),
426  end = m_trackerGeom->detsTOB().end();
427  it != end;
428  ++it) {
429  const GeomDet* det = *it;
430 
431  if (det) {
432  DetId detid = det->geographicalId();
433  unsigned int rawid = detid.rawId();
434  unsigned int current = insert_id(rawid, fwRecoGeometry);
435  fillShapeAndPlacement(current, det, fwRecoGeometry);
436 
437  ADD_SISTRIP_TOPOLOGY(current, m_trackerGeom->idToDet(detid));
438  }
439  }
440 }

References ADD_SISTRIP_TOPOLOGY, TrackerGeometry::detsTOB(), end, fillShapeAndPlacement(), GeomDet::geographicalId(), TrackerGeometry::idToDet(), insert_id(), m_trackerGeom, and DetId::rawId().

Referenced by produce().

◆ fillPoints()

void FWRecoGeometryESProducer::fillPoints ( unsigned int  id,
std::vector< GlobalPoint >::const_iterator  begin,
std::vector< GlobalPoint >::const_iterator  end,
FWRecoGeometry fwRecoGeometry 
)
private

Definition at line 543 of file FWRecoGeometryESProducer.cc.

546  {
547  unsigned int index(0);
548  for (std::vector<GlobalPoint>::const_iterator i = begin; i != end; ++i) {
550  fwRecoGeometry.idToName[id].points[index] = i->x();
551  fwRecoGeometry.idToName[id].points[++index] = i->y();
552  fwRecoGeometry.idToName[id].points[++index] = i->z();
553  ++index;
554  }
555 }

References cms::cuda::assert(), begin, end, mps_fire::i, triggerObjects_cff::id, FWRecoGeometry::idToName, and FWTGeoRecoGeometry::maxPoints_.

Referenced by addCaloGeometry(), and addFTLGeometry().

◆ fillShapeAndPlacement()

void FWRecoGeometryESProducer::fillShapeAndPlacement ( unsigned int  id,
const GeomDet det,
FWRecoGeometry fwRecoGeometry 
)
private

Shape of GeomDet

Definition at line 558 of file FWRecoGeometryESProducer.cc.

560  {
561  // Trapezoidal
562  const Bounds* b = &((det->surface()).bounds());
563  if (const TrapezoidalPlaneBounds* b2 = dynamic_cast<const TrapezoidalPlaneBounds*>(b)) {
564  std::array<const float, 4> const& par = b2->parameters();
565 
566  // These parameters are half-lengths, as in CMSIM/GEANT3
567  fwRecoGeometry.idToName[id].shape[0] = 1;
568  fwRecoGeometry.idToName[id].shape[1] = par[0]; // hBottomEdge
569  fwRecoGeometry.idToName[id].shape[2] = par[1]; // hTopEdge
570  fwRecoGeometry.idToName[id].shape[3] = par[2]; // thickness
571  fwRecoGeometry.idToName[id].shape[4] = par[3]; // apothem
572  }
573  if (const RectangularPlaneBounds* b2 = dynamic_cast<const RectangularPlaneBounds*>(b)) {
574  // Rectangular
575  fwRecoGeometry.idToName[id].shape[0] = 2;
576  fwRecoGeometry.idToName[id].shape[1] = b2->width() * 0.5; // half width
577  fwRecoGeometry.idToName[id].shape[2] = b2->length() * 0.5; // half length
578  fwRecoGeometry.idToName[id].shape[3] = b2->thickness() * 0.5; // half thickness
579  }
580 
581  // Position of the DetUnit's center
582  GlobalPoint pos = det->surface().position();
583  fwRecoGeometry.idToName[id].translation[0] = pos.x();
584  fwRecoGeometry.idToName[id].translation[1] = pos.y();
585  fwRecoGeometry.idToName[id].translation[2] = pos.z();
586 
587  // Add the coeff of the rotation matrix
588  // with a projection on the basis vectors
589  TkRotation<float> detRot = det->surface().rotation();
590  fwRecoGeometry.idToName[id].matrix[0] = detRot.xx();
591  fwRecoGeometry.idToName[id].matrix[1] = detRot.yx();
592  fwRecoGeometry.idToName[id].matrix[2] = detRot.zx();
593  fwRecoGeometry.idToName[id].matrix[3] = detRot.xy();
594  fwRecoGeometry.idToName[id].matrix[4] = detRot.yy();
595  fwRecoGeometry.idToName[id].matrix[5] = detRot.zy();
596  fwRecoGeometry.idToName[id].matrix[6] = detRot.xz();
597  fwRecoGeometry.idToName[id].matrix[7] = detRot.yz();
598  fwRecoGeometry.idToName[id].matrix[8] = detRot.zz();
599 }

References b, b2, triggerObjects_cff::id, FWRecoGeometry::idToName, GloballyPositioned< T >::position(), GloballyPositioned< T >::rotation(), GeomDet::surface(), TkRotation< T >::xx(), TkRotation< T >::xy(), TkRotation< T >::xz(), TkRotation< T >::yx(), TkRotation< T >::yy(), TkRotation< T >::yz(), TkRotation< T >::zx(), TkRotation< T >::zy(), and TkRotation< T >::zz().

Referenced by addCSCGeometry(), addDTGeometry(), addGEMGeometry(), addME0Geometry(), addPixelBarrelGeometry(), addPixelForwardGeometry(), addRPCGeometry(), addTECGeometry(), addTIBGeometry(), addTIDGeometry(), and addTOBGeometry().

◆ insert_id()

unsigned int FWRecoGeometryESProducer::insert_id ( unsigned int  id,
FWRecoGeometry fwRecoGeometry 
)
private

◆ operator=()

const FWRecoGeometryESProducer& FWRecoGeometryESProducer::operator= ( const FWRecoGeometryESProducer )
privatedelete

◆ produce()

std::unique_ptr< FWRecoGeometry > FWRecoGeometryESProducer::produce ( const FWRecoGeometryRecord record)

Definition at line 119 of file FWRecoGeometryESProducer.cc.

119  {
120  using namespace edm;
121 
122  auto fwRecoGeometry = std::make_unique<FWRecoGeometry>();
123 
124  if (m_tracker || m_muon) {
126  DetId detId(DetId::Tracker, 0);
127  m_trackerGeom = static_cast<const TrackerGeometry*>(m_trackingGeom->slaveGeometry(detId));
128  }
129 
130  if (m_tracker) {
131  addPixelBarrelGeometry(*fwRecoGeometry);
132  addPixelForwardGeometry(*fwRecoGeometry);
133  addTIBGeometry(*fwRecoGeometry);
134  addTIDGeometry(*fwRecoGeometry);
135  addTOBGeometry(*fwRecoGeometry);
136  addTECGeometry(*fwRecoGeometry);
137  writeTrackerParametersXML(*fwRecoGeometry);
138  }
139  if (m_muon) {
140  addDTGeometry(*fwRecoGeometry);
141  addCSCGeometry(*fwRecoGeometry);
142  addRPCGeometry(*fwRecoGeometry);
143  addGEMGeometry(*fwRecoGeometry);
144  addME0Geometry(*fwRecoGeometry);
145  }
146  if (m_calo) {
148  addCaloGeometry(*fwRecoGeometry);
149  }
150 
151  if (m_timing) {
154  addFTLGeometry(*fwRecoGeometry);
155  }
156 
157  fwRecoGeometry->idToName.resize(m_current + 1);
158  std::vector<FWRecoGeom::Info>(fwRecoGeometry->idToName).swap(fwRecoGeometry->idToName);
159  std::sort(fwRecoGeometry->idToName.begin(), fwRecoGeometry->idToName.end());
160 
161  return fwRecoGeometry;
162 }

References addCaloGeometry(), addCSCGeometry(), addDTGeometry(), addFTLGeometry(), addGEMGeometry(), addME0Geometry(), addPixelBarrelGeometry(), addPixelForwardGeometry(), addRPCGeometry(), addTECGeometry(), addTIBGeometry(), addTIDGeometry(), addTOBGeometry(), get, m_calo, m_caloGeom, m_caloGeomToken, m_current, m_ftlBarrelGeom, m_ftlBarrelGeomToken, m_ftlEndcapGeom, m_ftlEndcapGeomToken, m_muon, m_timing, m_tracker, m_trackerGeom, m_trackingGeom, m_trackingGeomToken, GlobalPosition_Frontier_DevDB_cff::record, GlobalTrackingGeometry::slaveGeometry(), DetId::Tracker, and writeTrackerParametersXML().

◆ writeTrackerParametersXML()

void FWRecoGeometryESProducer::writeTrackerParametersXML ( FWRecoGeometry fwRecoGeometry)
private

Member Data Documentation

◆ m_calo

bool FWRecoGeometryESProducer::m_calo
private

Definition at line 74 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

◆ m_caloGeom

const CaloGeometry* FWRecoGeometryESProducer::m_caloGeom = nullptr
private

Definition at line 66 of file FWRecoGeometryESProducer.h.

Referenced by addCaloGeometry(), and produce().

◆ m_caloGeomToken

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> FWRecoGeometryESProducer::m_caloGeomToken
private

Definition at line 64 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

◆ m_current

unsigned int FWRecoGeometryESProducer::m_current
private

Definition at line 71 of file FWRecoGeometryESProducer.h.

Referenced by insert_id(), and produce().

◆ m_ftlBarrelGeom

const FastTimeGeometry* FWRecoGeometryESProducer::m_ftlBarrelGeom = nullptr
private

Definition at line 67 of file FWRecoGeometryESProducer.h.

Referenced by addFTLGeometry(), and produce().

◆ m_ftlBarrelGeomToken

edm::ESGetToken<FastTimeGeometry, IdealGeometryRecord> FWRecoGeometryESProducer::m_ftlBarrelGeomToken
private

Definition at line 62 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

◆ m_ftlEndcapGeom

const FastTimeGeometry* FWRecoGeometryESProducer::m_ftlEndcapGeom = nullptr
private

Definition at line 68 of file FWRecoGeometryESProducer.h.

Referenced by addFTLGeometry(), and produce().

◆ m_ftlEndcapGeomToken

edm::ESGetToken<FastTimeGeometry, IdealGeometryRecord> FWRecoGeometryESProducer::m_ftlEndcapGeomToken
private

Definition at line 63 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

◆ m_muon

bool FWRecoGeometryESProducer::m_muon
private

Definition at line 73 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

◆ m_timing

bool FWRecoGeometryESProducer::m_timing
private

Definition at line 75 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

◆ m_tracker

bool FWRecoGeometryESProducer::m_tracker
private

Definition at line 72 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

◆ m_trackerGeom

const TrackerGeometry* FWRecoGeometryESProducer::m_trackerGeom = nullptr
private

◆ m_trackingGeom

const GlobalTrackingGeometry* FWRecoGeometryESProducer::m_trackingGeom = nullptr
private

◆ m_trackingGeomToken

edm::ESGetToken<GlobalTrackingGeometry, GlobalTrackingGeometryRecord> FWRecoGeometryESProducer::m_trackingGeomToken
private

Definition at line 61 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
DTGeometry
Definition: DTGeometry.h:28
ME0Geometry::etaPartitions
const std::vector< ME0EtaPartition const * > & etaPartitions() const
Return a vector of all ME0 eta partitions.
Definition: ME0Geometry.cc:33
RPCRoll
Definition: RPCRoll.h:12
TkRotation< float >
FastTimeGeometry::getValidDetIds
const std::vector< DetId > & getValidDetIds(DetId::Detector det=DetId::Detector(0), int subdet=0) const override
Get a list of valid detector ids (for the given subdetector)
Definition: FastTimeGeometry.h:71
mps_fire.i
i
Definition: mps_fire.py:355
edm::ESInputTag
Definition: ESInputTag.h:87
TkRotation::zy
T zy() const
Definition: extTkRotation.h:258
FWRecoGeometryESProducer::addTOBGeometry
void addTOBGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:424
FWRecoGeometryESProducer::m_ftlEndcapGeomToken
edm::ESGetToken< FastTimeGeometry, IdealGeometryRecord > m_ftlEndcapGeomToken
Definition: FWRecoGeometryESProducer.h:63
GeomDet
Definition: GeomDet.h:27
FWRecoGeometryESProducer::m_caloGeomToken
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > m_caloGeomToken
Definition: FWRecoGeometryESProducer.h:64
FWRecoGeometryESProducer::m_timing
bool m_timing
Definition: FWRecoGeometryESProducer.h:75
CSCWireTopology::wireAngle
float wireAngle() const override
Definition: CSCWireTopology.h:70
ForwardEmpty
Definition: ForwardSubdetector.h:5
FWRecoGeometryESProducer::ADD_PIXEL_TOPOLOGY
void ADD_PIXEL_TOPOLOGY(unsigned int rawid, const GeomDet *detUnit, FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:40
vid
Definition: VIDCutFlowResult.h:25
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
FWRecoGeometry::idToName
FWRecoGeom::InfoMap idToName
Definition: FWRecoGeometry.h:14
FWRecoGeometryESProducer::m_current
unsigned int m_current
Definition: FWRecoGeometryESProducer.h:71
contentValuesFiles.fullPath
fullPath
Definition: contentValuesFiles.py:64
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
edm
HLT enums.
Definition: AlignableModifier.h:19
FWRecoGeometry::trackerTopologyXML
std::string trackerTopologyXML
Definition: FWRecoGeometry.h:16
FWRecoGeometryESProducer::m_trackerGeom
const TrackerGeometry * m_trackerGeom
Definition: FWRecoGeometryESProducer.h:69
ME0Geometry
Definition: ME0Geometry.h:12
RPCDetId
Definition: RPCDetId.h:16
pos
Definition: PixelAliasList.h:18
FWRecoGeometryESProducer::fillShapeAndPlacement
void fillShapeAndPlacement(unsigned int id, const GeomDet *det, FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:558
DTChamber
Definition: DTChamber.h:24
FWRecoGeometryESProducer::addFTLGeometry
void addFTLGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:520
FWRecoGeometryESProducer::m_caloGeom
const CaloGeometry * m_caloGeom
Definition: FWRecoGeometryESProducer.h:66
PixelTopology::pitch
virtual std::pair< float, float > pitch() const =0
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:138
CSCRadialStripTopology::angularWidth
float angularWidth() const override
Definition: CSCRadialStripTopology.h:159
GlobalPosition_Frontier_DevDB_cff.record
record
Definition: GlobalPosition_Frontier_DevDB_cff.py:10
CaloGeometry::getSubdetectorGeometry
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
Bounds
Definition: Bounds.h:18
cms::cuda::assert
assert(be >=bs)
GeomDetEnumerators::P2OTB
Definition: GeomDetEnumerators.h:23
DTTopology::channels
int channels() const
Returns the number of wires in the layer.
Definition: DTTopology.h:76
CSCLayer
Definition: CSCLayer.h:24
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
FWRecoGeom::Info
Definition: FWRecoGeom.h:12
EZArrayFL< GlobalPoint >
b2
static constexpr float b2
Definition: L1EGammaCrystalsEmulatorProducer.cc:82
parallelization.uint
uint
Definition: parallelization.py:124
DTTopology::cellWidth
float cellWidth() const
Returns the cell width.
Definition: DTTopology.h:69
EZArrayFL::end
const_iterator end() const
Definition: EZArrayFL.h:53
CSCRadialStripTopology::centreToIntersection
float centreToIntersection() const override
Definition: CSCRadialStripTopology.h:181
end
#define end
Definition: vmac.h:39
FWRecoGeometryESProducer::m_calo
bool m_calo
Definition: FWRecoGeometryESProducer.h:74
edmScanValgrind.buffer
buffer
Definition: edmScanValgrind.py:171
cc
CSCRadialStripTopology::yCentreOfStripPlane
float yCentreOfStripPlane() const override
Definition: CSCRadialStripTopology.h:223
TrackerGeometry::idToDetUnit
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: TrackerGeometry.cc:183
DTTopology
Definition: DTTopology.h:28
StripTopology::pitch
virtual float pitch() const =0
CSCGeometry
Definition: CSCGeometry.h:24
TrackerGeometry::detsPXB
const DetContainer & detsPXB() const
Definition: TrackerGeometry.cc:171
PixelTopology::isItBigPixelInX
virtual bool isItBigPixelInX(int ixbin) const =0
DetId
Definition: DetId.h:17
edm::FileInPath
Definition: FileInPath.h:64
FWRecoGeometryESProducer::m_trackingGeomToken
edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > m_trackingGeomToken
Definition: FWRecoGeometryESProducer.h:61
DetId::HGCalHSi
Definition: DetId.h:33
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
DetId::HGCalEE
Definition: DetId.h:32
FWRecoGeometryESProducer::m_tracker
bool m_tracker
Definition: FWRecoGeometryESProducer.h:72
TrackerGeometry::detsTOB
const DetContainer & detsTOB() const
Definition: TrackerGeometry.cc:179
FastTimeGeometry::getCorners
CornersVec getCorners(const DetId &id) const
Returns the corner points of this cell's volume.
Definition: FastTimeGeometry.cc:97
FWRecoGeometryESProducer::insert_id
unsigned int insert_id(unsigned int id, FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:535
FWRecoGeometryESProducer::addTIDGeometry
void addTIDGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:442
DTTopology::firstChannel
int firstChannel() const
Returns the wire number of the first wire.
Definition: DTTopology.h:79
GeomDetEnumerators::P1PXEC
Definition: GeomDetEnumerators.h:26
DTGeometry::layers
const std::vector< const DTLayer * > & layers() const
Return a vector of all SuperLayer.
Definition: DTGeometry.cc:88
TkRotation::xz
T xz() const
Definition: extTkRotation.h:253
DTGeometry::chambers
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
ADD_SISTRIP_TOPOLOGY
#define ADD_SISTRIP_TOPOLOGY(rawid, detUnit)
Definition: FWRecoGeometryESProducer.cc:62
CSCLayerGeometry::topology
const CSCStripTopology * topology() const
Definition: CSCLayerGeometry.h:272
FWRecoGeometryESProducer::addTIBGeometry
void addTIBGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:406
TrackerGeometry::detsPXF
const DetContainer & detsPXF() const
Definition: TrackerGeometry.cc:173
CSCChamber
Definition: CSCChamber.h:22
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
FWRecoGeometryESProducer::addRPCGeometry
void addRPCGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:248
CSCLayer::geometry
const CSCLayerGeometry * geometry() const
Definition: CSCLayer.h:44
GeomDetEnumerators::P2OTEC
Definition: GeomDetEnumerators.h:24
Point3DBase< float, LocalTag >
FWRecoGeometryESProducer::m_ftlBarrelGeomToken
edm::ESGetToken< FastTimeGeometry, IdealGeometryRecord > m_ftlBarrelGeomToken
Definition: FWRecoGeometryESProducer.h:62
OrderedSet.t
t
Definition: OrderedSet.py:90
HGCalGeometry
Definition: HGCalGeometry.h:30
PixelTopology
Definition: PixelTopology.h:10
b
double b
Definition: hdecay.h:118
TrackerGeometry::isThere
bool isThere(GeomDetEnumerators::SubDetector subdet) const
Definition: TrackerGeometry.cc:219
RPCRoll::specificTopology
const StripTopology & specificTopology() const
Definition: RPCRoll.cc:49
TrackerGeometry::detsTID
const DetContainer & detsTID() const
Definition: TrackerGeometry.cc:177
TkRotation::yx
T yx() const
Definition: extTkRotation.h:254
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DTTopology::cellLenght
float cellLenght() const
Definition: DTTopology.h:74
FWRecoGeometryESProducer::addME0Geometry
void addME0Geometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:337
FWRecoGeometryESProducer::addCSCGeometry
void addCSCGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:164
cppFunctionSkipper.exception
exception
Definition: cppFunctionSkipper.py:10
GeomDetEnumerators::P1PXB
Definition: GeomDetEnumerators.h:25
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
FWRecoGeometryESProducer::addGEMGeometry
void addGEMGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:277
StripTopology::stripLength
virtual float stripLength() const =0
GEMGeometry::chambers
const std::vector< const GEMChamber * > & chambers() const
Return a vector of all GEM chambers.
Definition: GEMGeometry.cc:38
edm::LogError
Definition: MessageLogger.h:183
DetId::Tracker
Definition: DetId.h:25
TkRotation::xx
T xx() const
Definition: extTkRotation.h:251
FWRecoGeometryESProducer::addPixelForwardGeometry
void addPixelForwardGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:388
CaloGeometry::getGeometry
std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id.
Definition: CaloGeometry.cc:60
beam_dqm_sourceclient-live_cfg.cerr
cerr
Definition: beam_dqm_sourceclient-live_cfg.py:17
PixelGeomDetUnit::specificTopology
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
Definition: PixelGeomDetUnit.cc:17
GEMDetId
Definition: GEMDetId.h:17
DTLayer::id
DTLayerId id() const
Return the DetId of this SL.
Definition: DTLayer.cc:39
EZArrayFL::begin
const_iterator begin() const
Definition: EZArrayFL.h:52
CSCRadialStripTopology::yAxisOrientation
float yAxisOrientation() const override
Definition: CSCRadialStripTopology.h:218
TkRotation::xy
T xy() const
Definition: extTkRotation.h:252
GlobalTrackingGeometry::slaveGeometry
const TrackingGeometry * slaveGeometry(DetId id) const
Return the pointer to the actual geometry for a given DetId.
Definition: GlobalTrackingGeometry.cc:54
TrackerGeometry::detsTIB
const DetContainer & detsTIB() const
Definition: TrackerGeometry.cc:175
DetId::Detector
Detector
Definition: DetId.h:24
TkRotation::zz
T zz() const
Definition: extTkRotation.h:259
TrapezoidalPlaneBounds
Definition: TrapezoidalPlaneBounds.h:15
get
#define get
DTLayer
Definition: DTLayer.h:25
StripTopology::nstrips
virtual int nstrips() const =0
DTTopology::lastChannel
int lastChannel() const
Returns the wire number of the last wire.
Definition: DTTopology.h:81
DTTopology::cellHeight
float cellHeight() const
Returns the cell height.
Definition: DTTopology.h:71
FWRecoGeometryESProducer::addDTGeometry
void addDTGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:204
TkRotation::yz
T yz() const
Definition: extTkRotation.h:256
CSCStripTopology
Definition: CSCStripTopology.h:28
GloballyPositioned::position
const PositionType & position() const
Definition: GloballyPositioned.h:36
OffsetRadialStripTopology::stripOffset
virtual float stripOffset(void) const
Definition: OffsetRadialStripTopology.h:35
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
RectangularPlaneBounds
Definition: RectangularPlaneBounds.h:12
CaloGeometry::getValidDetIds
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
Definition: CaloGeometry.cc:75
FWTGeoRecoGeometry::maxPoints_
static const int maxPoints_
Definition: FWTGeoRecoGeometry.h:19
CSCLayerGeometry::wireTopology
const CSCWireTopology * wireTopology() const
Definition: CSCLayerGeometry.h:282
FWRecoGeometryESProducer::addCaloGeometry
void addCaloGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:478
TrackerGeometry::detsTEC
const DetContainer & detsTEC() const
Definition: TrackerGeometry.cc:181
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
DetId::HGCalHSc
Definition: DetId.h:34
TkRotation::yy
T yy() const
Definition: extTkRotation.h:255
FWRecoGeometryESProducer::addTECGeometry
void addTECGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:460
FWRecoGeometryESProducer::writeTrackerParametersXML
void writeTrackerParametersXML(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:601
PixelTopology::localY
virtual float localY(float mpY) const =0
BoundPlane
FWRecoGeometryESProducer::m_trackingGeom
const GlobalTrackingGeometry * m_trackingGeom
Definition: FWRecoGeometryESProducer.h:65
CSCWireTopology
Definition: CSCWireTopology.h:18
FWRecoGeometryESProducer::addPixelBarrelGeometry
void addPixelBarrelGeometry(FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:370
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
FWRecoGeometryESProducer::m_ftlBarrelGeom
const FastTimeGeometry * m_ftlBarrelGeom
Definition: FWRecoGeometryESProducer.h:67
CSCRadialStripTopology::phiOfOneEdge
float phiOfOneEdge() const override
Definition: CSCRadialStripTopology.h:202
CSCGeometry::chambers
const ChamberContainer & chambers() const
Return a vector of all chambers.
Definition: CSCGeometry.cc:96
GEMGeometry::etaPartitions
const std::vector< const GEMEtaPartition * > & etaPartitions() const
Return a vector of all GEM eta partitions.
Definition: GEMGeometry.cc:40
FWRecoGeometry::extraDet
TObjArray extraDet
Definition: FWRecoGeometry.h:15
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
DTLayer::specificTopology
const DTTopology & specificTopology() const
Definition: DTLayer.cc:37
PixelTopology::localX
virtual float localX(float mpX) const =0
GEMGeometry
Definition: GEMGeometry.h:24
GeomDetEnumerators::P2PXB
Definition: GeomDetEnumerators.h:27
RPCGeometry
Definition: RPCGeometry.h:20
cms::Exception
Definition: Exception.h:70
DetId::Muon
Definition: DetId.h:26
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
RPCGeometry::rolls
const std::vector< const RPCRoll * > & rolls() const
Return a vector of all RPC rolls.
Definition: RPCGeometry.cc:44
FWRecoGeometryESProducer::fillPoints
void fillPoints(unsigned int id, std::vector< GlobalPoint >::const_iterator begin, std::vector< GlobalPoint >::const_iterator end, FWRecoGeometry &)
Definition: FWRecoGeometryESProducer.cc:543
GEMGeometry::superChambers
const std::vector< const GEMSuperChamber * > & superChambers() const
Return a vector of all GEM super chambers.
Definition: GEMGeometry.cc:36
GloballyPositioned::rotation
const RotationType & rotation() const
Definition: GloballyPositioned.h:38
FWRecoGeometryESProducer::m_ftlEndcapGeom
const FastTimeGeometry * m_ftlEndcapGeom
Definition: FWRecoGeometryESProducer.h:68
DetId::Forward
Definition: DetId.h:30
TkRotation::zx
T zx() const
Definition: extTkRotation.h:257
StripTopology
Definition: StripTopology.h:11
CSCWireTopology::wireSpacing
double wireSpacing() const
Definition: CSCWireTopology.h:59
begin
#define begin
Definition: vmac.h:32
FWRecoGeometryESProducer::m_muon
bool m_muon
Definition: FWRecoGeometryESProducer.h:73
edm::FileInPath::fullPath
std::string fullPath() const
Definition: FileInPath.cc:163
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
GeomDetEnumerators::P2PXEC
Definition: GeomDetEnumerators.h:28
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37