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::shared_ptr< FWRecoGeometryproduce (const FWRecoGeometryRecord &)
 
 ~FWRecoGeometryESProducer (void) override
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ~ESProducer ()(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval) override
 overrides DataProxyProvider method More...
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
 DataProxyProvider ()
 
const ComponentDescriptiondescription () const
 
bool isUsingRecord (const EventSetupRecordKey &) const
 
const KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey) const
 
void resetProxies (const EventSetupRecordKey &iRecordType)
 
void resetProxiesIfTransient (const EventSetupRecordKey &iRecordType)
 
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)
 
void addCaloGeometry (void)
 
void addCSCGeometry (void)
 
void addDTGeometry (void)
 
void addFTLGeometry (void)
 
void addGEMGeometry (void)
 
void addME0Geometry (void)
 
void addPixelBarrelGeometry (void)
 
void addPixelForwardGeometry (void)
 
void addRPCGeometry (void)
 
void addTECGeometry (void)
 
void addTIBGeometry (void)
 
void addTIDGeometry (void)
 
void addTOBGeometry (void)
 
void fillPoints (unsigned int id, std::vector< GlobalPoint >::const_iterator begin, std::vector< GlobalPoint >::const_iterator end)
 
void fillShapeAndPlacement (unsigned int id, const GeomDet *det)
 
 FWRecoGeometryESProducer (const FWRecoGeometryESProducer &)=delete
 
unsigned int insert_id (unsigned int id)
 
const FWRecoGeometryESProduceroperator= (const FWRecoGeometryESProducer &)=delete
 

Private Attributes

bool m_calo
 
const CaloGeometrym_caloGeom
 
unsigned int m_current
 
edm::ESHandle< FastTimeGeometrym_ftlBarrelGeom
 
edm::ESHandle< FastTimeGeometrym_ftlEndcapGeom
 
std::shared_ptr< FWRecoGeometrym_fwGeometry
 
edm::ESHandle< GlobalTrackingGeometrym_geomRecord
 
std::vector< edm::ESHandle< HGCalGeometry > > m_hgcalGeoms
 
bool m_muon
 
bool m_timing
 
bool m_tracker
 
const TrackerGeometrym_trackerGeom
 

Additional Inherited Members

- Public Types inherited from edm::eventsetup::DataProxyProvider
typedef std::vector< std::pair< DataKey, edm::propagate_const< std::shared_ptr< DataProxy > > > > KeyedProxies
 
typedef std::vector< EventSetupRecordKeyKeys
 
typedef std::map< EventSetupRecordKey, KeyedProxiesRecordProxies
 
- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
void setWhatProduced (T *iThis, const es::Label &iLabel=es::Label())
 
template<typename T >
void setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
void setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
void setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel=es::Label())
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
void setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel=es::Label())
 
- 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 eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
void registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList) override
 override DataProxyProvider method More...
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
void eraseAll (const EventSetupRecordKey &iRecordKey)
 deletes all the Proxies in aStream More...
 
void invalidateProxies (const EventSetupRecordKey &iRecordKey)
 
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &)
 

Detailed Description

Definition at line 24 of file FWRecoGeometryESProducer.h.

Constructor & Destructor Documentation

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

Definition at line 86 of file FWRecoGeometryESProducer.cc.

References funct::false, edm::ParameterSet::getUntrackedParameter(), m_calo, m_muon, m_timing, m_tracker, edm::ESProducer::setWhatProduced(), and funct::true.

87  : m_current( -1 )
88 {
89  m_tracker = pset.getUntrackedParameter<bool>( "Tracker", true );
90  m_muon = pset.getUntrackedParameter<bool>( "Muon", true );
91  m_calo = pset.getUntrackedParameter<bool>( "Calo", true );
92  m_timing = pset.getUntrackedParameter<bool>( "Timing", false );
93  setWhatProduced( this );
94 }
T getUntrackedParameter(std::string const &, T const &) const
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition: ESProducer.h:115
FWRecoGeometryESProducer::~FWRecoGeometryESProducer ( void  )
override

Definition at line 96 of file FWRecoGeometryESProducer.cc.

97 {}
FWRecoGeometryESProducer::FWRecoGeometryESProducer ( const FWRecoGeometryESProducer )
privatedelete

Member Function Documentation

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

Definition at line 34 of file FWRecoGeometryESProducer.cc.

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

Referenced by addPixelBarrelGeometry(), and addPixelForwardGeometry().

34  {
35  const PixelGeomDetUnit* det = dynamic_cast<const PixelGeomDetUnit*>( detUnit );
36  if( det )
37  {
38  const PixelTopology* topo = &det->specificTopology();
39 
40  std::pair<float,float> pitch = topo->pitch();
41  m_fwGeometry->idToName[rawid].topology[0] = pitch.first;
42  m_fwGeometry->idToName[rawid].topology[1] = pitch.second;
43 
44  m_fwGeometry->idToName[rawid].topology[2] = topo->localX(0.f); // offsetX
45  m_fwGeometry->idToName[rawid].topology[3] = topo->localY(0.f); // offsetY
46 
47  // big pixels layout
48  m_fwGeometry->idToName[rawid].topology[4] = topo->isItBigPixelInX(80) ? 0 : 1;
49  }
50 }
std::shared_ptr< FWRecoGeometry > m_fwGeometry
virtual std::pair< float, float > pitch() const =0
virtual bool isItBigPixelInX(int ixbin) const =0
virtual float localX(float mpX) const =0
double f[11][100]
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
virtual float localY(float mpY) const =0
void FWRecoGeometryESProducer::addCaloGeometry ( void  )
private

Definition at line 528 of file FWRecoGeometryESProducer.cc.

References EZArrayFL< T >::begin(), end, EZArrayFL< T >::end(), fillPoints(), DetId::Forward, relativeConstraints::geom, HGCalGeometry::getCorners(), CaloGeometry::getGeometry(), CaloGeometry::getSubdetectorGeometry(), CaloGeometry::getValidDetIds(), insert_id(), and m_caloGeom.

Referenced by produce().

529 {
530  std::vector<DetId> vid = m_caloGeom->getValidDetIds(); // Calo
531  for( std::vector<DetId>::const_iterator it = vid.begin(),
532  end = vid.end();
533  it != end; ++it ) {
534  unsigned int id = insert_id( it->rawId());
535  if( DetId::Forward != it->det() ) {
536  const CaloCellGeometry::CornersVec& cor = m_caloGeom->getGeometry( *it )->getCorners();
537  fillPoints( id, cor.begin(), cor.end());
538  } else {
539  const HGCalGeometry* geom = dynamic_cast<const HGCalGeometry*>(m_caloGeom->getSubdetectorGeometry( *it ) );
540  const auto& cor = geom->getCorners( *it );
541  fillPoints( id, cor.begin(), cor.end() );
542  }
543  }
544 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:44
const_iterator begin() const
Definition: EZArrayFL.h:63
CornersVec getCorners(const DetId &id) const
Returns the corner points of this cell&#39;s volume.
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
void fillPoints(unsigned int id, std::vector< GlobalPoint >::const_iterator begin, std::vector< GlobalPoint >::const_iterator end)
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
Definition: CaloGeometry.cc:97
const_iterator end() const
Definition: EZArrayFL.h:64
std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id.
Definition: CaloGeometry.cc:80
void FWRecoGeometryESProducer::addCSCGeometry ( void  )
private

Definition at line 151 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

152 {
153  DetId detId( DetId::Muon, 2 );
154  const CSCGeometry* cscGeometry = (const CSCGeometry*) m_geomRecord->slaveGeometry( detId );
155  for( auto it = cscGeometry->chambers().begin(),
156  end = cscGeometry->chambers().end();
157  it != end; ++it )
158  {
159  const CSCChamber *chamber = *it;
160 
161  if( chamber )
162  {
163  unsigned int rawid = chamber->geographicalId();
164  unsigned int current = insert_id( rawid );
165  fillShapeAndPlacement( current, chamber );
166  //
167  // CSC layers geometry
168  //
169  for( std::vector< const CSCLayer* >::const_iterator lit = chamber->layers().begin(),
170  lend = chamber->layers().end();
171  lit != lend; ++lit )
172  {
173  const CSCLayer* layer = *lit;
174 
175  if( layer )
176  {
177  unsigned int rawid = layer->geographicalId();
178  unsigned int current = insert_id( rawid );
179  fillShapeAndPlacement( current, layer );
180 
181  const CSCStripTopology* stripTopology = layer->geometry()->topology();
182  m_fwGeometry->idToName[current].topology[0] = stripTopology->yAxisOrientation();
183  m_fwGeometry->idToName[current].topology[1] = stripTopology->centreToIntersection();
184  m_fwGeometry->idToName[current].topology[2] = stripTopology->yCentreOfStripPlane();
185  m_fwGeometry->idToName[current].topology[3] = stripTopology->phiOfOneEdge();
186  m_fwGeometry->idToName[current].topology[4] = stripTopology->stripOffset();
187  m_fwGeometry->idToName[current].topology[5] = stripTopology->angularWidth();
188 
189  const CSCWireTopology* wireTopology = layer->geometry()->wireTopology();
190  m_fwGeometry->idToName[current].topology[6] = wireTopology->wireSpacing();
191  m_fwGeometry->idToName[current].topology[7] = wireTopology->wireAngle();
192  }
193  }
194  }
195  }
196 }
const std::vector< const CSCLayer * > & layers() const
Return all layers.
Definition: CSCChamber.h:57
const CSCWireTopology * wireTopology() const
std::shared_ptr< FWRecoGeometry > m_fwGeometry
float centreToIntersection() const override
edm::ESHandle< GlobalTrackingGeometry > m_geomRecord
const ChamberContainer & chambers() const
Return a vector of all chambers.
Definition: CSCGeometry.cc:106
double wireSpacing() const
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
float yCentreOfStripPlane() const override
const TrackingGeometry * slaveGeometry(DetId id) const
Return the pointer to the actual geometry for a given DetId.
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
float phiOfOneEdge() const override
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
const CSCStripTopology * topology() const
virtual float stripOffset(void) const
float yAxisOrientation() const override
float angularWidth() const override
float wireAngle() const override
const CSCLayerGeometry * geometry() const
Definition: CSCLayer.h:47
void FWRecoGeometryESProducer::addDTGeometry ( void  )
private

Definition at line 199 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

200 {
201  DetId detId( DetId::Muon, 1 );
202  const DTGeometry* dtGeometry = (const DTGeometry*) m_geomRecord->slaveGeometry( detId );
203 
204  //
205  // DT chambers geometry
206  //
207  for( auto it = dtGeometry->chambers().begin(),
208  end = dtGeometry->chambers().end();
209  it != end; ++it )
210  {
211  const DTChamber *chamber = *it;
212 
213  if( chamber )
214  {
215  unsigned int rawid = chamber->geographicalId().rawId();
216  unsigned int current = insert_id( rawid );
217  fillShapeAndPlacement( current, chamber );
218  }
219  }
220 
221  // Fill in DT layer parameters
222  for( auto it = dtGeometry->layers().begin(),
223  end = dtGeometry->layers().end();
224  it != end; ++it )
225  {
226  const DTLayer* layer = *it;
227 
228  if( layer )
229  {
230  unsigned int rawid = layer->id().rawId();
231  unsigned int current = insert_id( rawid );
232  fillShapeAndPlacement( current, layer );
233 
234  const DTTopology& topo = layer->specificTopology();
235  const BoundPlane& surf = layer->surface();
236  // Topology W/H/L:
237  m_fwGeometry->idToName[current].topology[0] = topo.cellWidth();
238  m_fwGeometry->idToName[current].topology[1] = topo.cellHeight();
239  m_fwGeometry->idToName[current].topology[2] = topo.cellLenght();
240  m_fwGeometry->idToName[current].topology[3] = topo.firstChannel();
241  m_fwGeometry->idToName[current].topology[4] = topo.lastChannel();
242  m_fwGeometry->idToName[current].topology[5] = topo.channels();
243 
244  // Bounds W/H/L:
245  m_fwGeometry->idToName[current].topology[6] = surf.bounds().width();
246  m_fwGeometry->idToName[current].topology[7] = surf.bounds().thickness();
247  m_fwGeometry->idToName[current].topology[8] = surf.bounds().length();
248  }
249  }
250 }
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
std::shared_ptr< FWRecoGeometry > m_fwGeometry
DTLayerId id() const
Return the DetId of this SL.
Definition: DTLayer.cc:46
float cellWidth() const
Returns the cell width.
Definition: DTTopology.h:68
edm::ESHandle< GlobalTrackingGeometry > m_geomRecord
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
int firstChannel() const
Returns the wire number of the first wire.
Definition: DTTopology.h:78
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
int lastChannel() const
Returns the wire number of the last wire.
Definition: DTTopology.h:80
const DTTopology & specificTopology() const
Definition: DTLayer.cc:42
const TrackingGeometry * slaveGeometry(DetId id) const
Return the pointer to the actual geometry for a given DetId.
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
#define end
Definition: vmac.h:39
float cellHeight() const
Returns the cell height.
Definition: DTTopology.h:70
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
int channels() const
Returns the number of wires in the layer.
Definition: DTTopology.h:75
const std::vector< const DTLayer * > & layers() const
Return a vector of all SuperLayer.
Definition: DTGeometry.cc:94
float cellLenght() const
Definition: DTTopology.h:73
void FWRecoGeometryESProducer::addFTLGeometry ( void  )
private

Definition at line 547 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

548 {
549  // do the barrel
550  std::vector<DetId> vid = std::move(m_ftlBarrelGeom->getValidDetIds());
551  for( std::vector<DetId>::const_iterator it = vid.begin(),
552  end = vid.end();
553  it != end; ++it ) {
554  unsigned int id = insert_id( it->rawId());
555  const auto& cor = m_ftlBarrelGeom->getCorners( *it );
556  fillPoints( id, cor.begin(), cor.end());
557  }
558  // do the endcap
560  for( std::vector<DetId>::const_iterator it = vid.begin(),
561  end = vid.end();
562  it != end; ++it ) {
563  unsigned int id = insert_id( it->rawId());
564  const auto& cor = m_ftlEndcapGeom->getCorners( *it );
565  fillPoints( id, cor.begin(), cor.end());
566  }
567 }
edm::ESHandle< FastTimeGeometry > m_ftlBarrelGeom
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)
edm::ESHandle< FastTimeGeometry > m_ftlEndcapGeom
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
void fillPoints(unsigned int id, std::vector< GlobalPoint >::const_iterator begin, std::vector< GlobalPoint >::const_iterator end)
def move(src, dest)
Definition: eostools.py:510
CornersVec getCorners(const DetId &id) const
Returns the corner points of this cell&#39;s volume.
void FWRecoGeometryESProducer::addGEMGeometry ( void  )
private

Definition at line 290 of file FWRecoGeometryESProducer.cc.

References MessageLogger_cfi::cerr, GEMGeometry::chambers(), MillePedeFileConverter_cfg::e, GEMGeometry::etaPartitions(), cppFunctionSkipper::exception, fillShapeAndPlacement(), triggerObjects_cff::id, insert_id(), m_fwGeometry, m_geomRecord, DetId::Muon, StripTopology::nstrips(), StripTopology::pitch(), SimDataFormats::CaloAnalysis::sc, GlobalTrackingGeometry::slaveGeometry(), StripTopology::stripLength(), GEMGeometry::superChambers(), and cms::Exception::what().

Referenced by produce().

291 {
292  //
293  // GEM geometry
294  //
295  DetId detId( DetId::Muon, 4 );
296 
297  try
298  {
299  const GEMGeometry* gemGeom = (const GEMGeometry*) m_geomRecord->slaveGeometry( detId );
300 
301  // add in superChambers - gem Segments are based on superChambers
302  for(auto sc : gemGeom->superChambers())
303  {
304  if( sc )
305  {
306  unsigned int rawid = sc->geographicalId().rawId();
307  unsigned int current = insert_id( rawid );
308  fillShapeAndPlacement( current, sc );
309  }
310  }
311  // add in chambers
312  for(auto ch : gemGeom->chambers())
313  {
314  if( ch )
315  {
316  unsigned int rawid = ch->geographicalId().rawId();
317  unsigned int current = insert_id( rawid );
318  fillShapeAndPlacement( current, ch );
319  }
320  }
321  // add in etaPartitions - gem rechits are based on etaPartitions
322  for(auto roll : gemGeom->etaPartitions())
323  {
324  if( roll )
325  {
326  unsigned int rawid = roll->geographicalId().rawId();
327  unsigned int current = insert_id( rawid );
328  fillShapeAndPlacement( current, roll );
329 
330  const StripTopology& topo = roll->specificTopology();
331  m_fwGeometry->idToName[current].topology[0] = topo.nstrips();
332  m_fwGeometry->idToName[current].topology[1] = topo.stripLength();
333  m_fwGeometry->idToName[current].topology[2] = topo.pitch();
334 
335  float height = topo.stripLength()/2;
336  LocalPoint lTop( 0., height, 0.);
337  LocalPoint lBottom( 0., -height, 0.);
338  m_fwGeometry->idToName[current].topology[3] = roll->localPitch(lTop);
339  m_fwGeometry->idToName[current].topology[4] = roll->localPitch(lBottom);
340  m_fwGeometry->idToName[current].topology[5] = roll->npads();
341  }
342  }
343 
344  m_fwGeometry->extraDet.Add(new TNamed("GEM", "GEM muon detector"));
345  try {
346  GEMDetId id(1, 1, 2, 1, 1, 1 );
347  m_geomRecord->slaveGeometry( detId );
348  m_fwGeometry->extraDet.Add(new TNamed("GE2", "GEM endcap station 2"));
349  }
350  catch (std::runtime_error &e) {
351  std::cerr << e.what() << std::endl;
352  }
353 
354  }
355  catch( cms::Exception &exception )
356  {
357  edm::LogError("FWRecoGeometry") << " GEM geometry not found " << exception.what() << std::endl;
358  }
359 }
virtual float stripLength() const =0
std::shared_ptr< FWRecoGeometry > m_fwGeometry
edm::ESHandle< GlobalTrackingGeometry > m_geomRecord
char const * what() const override
Definition: Exception.cc:141
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
const std::vector< const GEMEtaPartition * > & etaPartitions() const
Return a vector of all GEM eta partitions.
Definition: GEMGeometry.cc:63
const TrackingGeometry * slaveGeometry(DetId id) const
Return the pointer to the actual geometry for a given DetId.
unsigned int insert_id(unsigned int id)
const std::vector< const GEMSuperChamber * > & superChambers() const
Return a vector of all GEM super chambers.
Definition: GEMGeometry.cc:55
Definition: DetId.h:18
virtual int nstrips() const =0
const std::vector< const GEMChamber * > & chambers() const
Return a vector of all GEM chambers.
Definition: GEMGeometry.cc:59
virtual float pitch() const =0
void FWRecoGeometryESProducer::addME0Geometry ( void  )
private

Definition at line 362 of file FWRecoGeometryESProducer.cc.

References ME0Geometry::etaPartitions(), cppFunctionSkipper::exception, fillShapeAndPlacement(), insert_id(), m_fwGeometry, m_geomRecord, DetId::Muon, StripTopology::nstrips(), StripTopology::pitch(), GlobalTrackingGeometry::slaveGeometry(), StripTopology::stripLength(), and cms::Exception::what().

Referenced by produce().

363 {
364  //
365  // ME0 geometry
366  //
367 
368  DetId detId( DetId::Muon, 5 );
369  try
370  {
371  const ME0Geometry* me0Geom = (const ME0Geometry*) m_geomRecord->slaveGeometry( detId );
372  for(auto roll : me0Geom->etaPartitions())
373  {
374  if( roll )
375  {
376  unsigned int rawid = roll->geographicalId().rawId();
377  unsigned int current = insert_id( rawid );
378  fillShapeAndPlacement( current, roll );
379 
380  const StripTopology& topo = roll->specificTopology();
381  m_fwGeometry->idToName[current].topology[0] = topo.nstrips();
382  m_fwGeometry->idToName[current].topology[1] = topo.stripLength();
383  m_fwGeometry->idToName[current].topology[2] = topo.pitch();
384 
385  float height = topo.stripLength()/2;
386  LocalPoint lTop( 0., height, 0.);
387  LocalPoint lBottom( 0., -height, 0.);
388  m_fwGeometry->idToName[current].topology[3] = roll->localPitch(lTop);
389  m_fwGeometry->idToName[current].topology[4] = roll->localPitch(lBottom);
390  m_fwGeometry->idToName[current].topology[5] = roll->npads();
391  }
392  }
393  m_fwGeometry->extraDet.Add(new TNamed("ME0", "ME0 muon detector"));
394  }
395  catch( cms::Exception &exception )
396  {
397  edm::LogError("FWRecoGeometry") << " ME0 geometry not found " << exception.what() << std::endl;
398  }
399 }
virtual float stripLength() const =0
std::shared_ptr< FWRecoGeometry > m_fwGeometry
edm::ESHandle< GlobalTrackingGeometry > m_geomRecord
char const * what() const override
Definition: Exception.cc:141
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
const TrackingGeometry * slaveGeometry(DetId id) const
Return the pointer to the actual geometry for a given DetId.
unsigned int insert_id(unsigned int id)
const std::vector< ME0EtaPartition const * > & etaPartitions() const
Return a vector of all ME0 eta partitions.
Definition: ME0Geometry.cc:59
Definition: DetId.h:18
virtual int nstrips() const =0
virtual float pitch() const =0
void FWRecoGeometryESProducer::addPixelBarrelGeometry ( void  )
private

Definition at line 402 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

403 {
404  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsPXB().begin(),
405  end = m_trackerGeom->detsPXB().end();
406  it != end; ++it)
407  {
408  const GeomDet *det = *it;
409 
410  if( det )
411  {
412  DetId detid = det->geographicalId();
413  unsigned int rawid = detid.rawId();
414  unsigned int current = insert_id( rawid );
415  fillShapeAndPlacement( current, det );
416 
417  ADD_PIXEL_TOPOLOGY( current, m_trackerGeom->idToDetUnit( detid ));
418  }
419  }
420 }
const TrackerGeometry * m_trackerGeom
void ADD_PIXEL_TOPOLOGY(unsigned int rawid, const GeomDet *detUnit)
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
const DetContainer & detsPXB() const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
void FWRecoGeometryESProducer::addPixelForwardGeometry ( void  )
private

Definition at line 423 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

424 {
425  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsPXF().begin(),
426  end = m_trackerGeom->detsPXF().end();
427  it != end; ++it )
428  {
429  const GeomDet *det = *it;
430 
431  if( det )
432  {
433  DetId detid = det->geographicalId();
434  unsigned int rawid = detid.rawId();
435  unsigned int current = insert_id( rawid );
436  fillShapeAndPlacement( current, det );
437 
438  ADD_PIXEL_TOPOLOGY( current, m_trackerGeom->idToDetUnit( detid ));
439  }
440  }
441 }
const TrackerGeometry * m_trackerGeom
void ADD_PIXEL_TOPOLOGY(unsigned int rawid, const GeomDet *detUnit)
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
const DetContainer & detsPXF() const
void FWRecoGeometryESProducer::addRPCGeometry ( void  )
private

Definition at line 253 of file FWRecoGeometryESProducer.cc.

References MessageLogger_cfi::cerr, MillePedeFileConverter_cfg::e, end, fillShapeAndPlacement(), GeomDet::geographicalId(), triggerObjects_cff::id, insert_id(), m_fwGeometry, m_geomRecord, DetId::Muon, StripTopology::nstrips(), StripTopology::pitch(), DetId::rawId(), RPCGeometry::rolls(), GlobalTrackingGeometry::slaveGeometry(), RPCRoll::specificTopology(), and StripTopology::stripLength().

Referenced by produce().

254 {
255  //
256  // RPC rolls geometry
257  //
258  DetId detId( DetId::Muon, 3 );
259  const RPCGeometry* rpcGeom = (const RPCGeometry*) m_geomRecord->slaveGeometry( detId );
260  for( auto it = rpcGeom->rolls().begin(),
261  end = rpcGeom->rolls().end();
262  it != end; ++it )
263  {
264  const RPCRoll* roll = (*it);
265  if( roll )
266  {
267  unsigned int rawid = roll->geographicalId().rawId();
268  unsigned int current = insert_id( rawid );
269  fillShapeAndPlacement( current, roll );
270 
271  const StripTopology& topo = roll->specificTopology();
272  m_fwGeometry->idToName[current].topology[0] = topo.nstrips();
273  m_fwGeometry->idToName[current].topology[1] = topo.stripLength();
274  m_fwGeometry->idToName[current].topology[2] = topo.pitch();
275  }
276  }
277 
278 
279  try {
280  RPCDetId id(1, 1, 4, 1, 1, 1, 1 );
281  m_geomRecord->slaveGeometry( detId );
282  m_fwGeometry->extraDet.Add(new TNamed("RE4", "RPC endcap station 4"));
283  }
284  catch (std::runtime_error &e) {
285  std::cerr << e.what() << std::endl;
286  }
287 }
virtual float stripLength() const =0
std::shared_ptr< FWRecoGeometry > m_fwGeometry
const std::vector< const RPCRoll * > & rolls() const
Return a vector of all RPC rolls.
Definition: RPCGeometry.cc:67
edm::ESHandle< GlobalTrackingGeometry > m_geomRecord
const StripTopology & specificTopology() const
Definition: RPCRoll.cc:107
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
const TrackingGeometry * slaveGeometry(DetId id) const
Return the pointer to the actual geometry for a given DetId.
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
virtual int nstrips() const =0
virtual float pitch() const =0
void FWRecoGeometryESProducer::addTECGeometry ( void  )
private

Definition at line 507 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

508 {
509  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTEC().begin(),
510  end = m_trackerGeom->detsTEC().end();
511  it != end; ++it )
512  {
513  const GeomDet *det = *it;
514 
515  if( det )
516  {
517  DetId detid = det->geographicalId();
518  unsigned int rawid = detid.rawId();
519  unsigned int current = insert_id( rawid );
520  fillShapeAndPlacement( current, det );
521 
522  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
523  }
524  }
525 }
const TrackerGeometry * m_trackerGeom
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
const DetContainer & detsTEC() const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
#define ADD_SISTRIP_TOPOLOGY(rawid, detUnit)
const TrackerGeomDet * idToDet(DetId) const override
void FWRecoGeometryESProducer::addTIBGeometry ( void  )
private

Definition at line 444 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

445 {
446  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTIB().begin(),
447  end = m_trackerGeom->detsTIB().end();
448  it != end; ++it )
449  {
450  const GeomDet *det = *it;
451 
452  if( det )
453  {
454  DetId detid = det->geographicalId();
455  unsigned int rawid = detid.rawId();
456  unsigned int current = insert_id( rawid );
457  fillShapeAndPlacement( current, det );
458 
459  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
460  }
461  }
462 }
const TrackerGeometry * m_trackerGeom
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
const DetContainer & detsTIB() const
Definition: DetId.h:18
#define ADD_SISTRIP_TOPOLOGY(rawid, detUnit)
const TrackerGeomDet * idToDet(DetId) const override
void FWRecoGeometryESProducer::addTIDGeometry ( void  )
private

Definition at line 486 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

487 {
488  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTID().begin(),
489  end = m_trackerGeom->detsTID().end();
490  it != end; ++it)
491  {
492  const GeomDet *det = *it;
493 
494  if( det )
495  {
496  DetId detid = det->geographicalId();
497  unsigned int rawid = detid.rawId();
498  unsigned int current = insert_id( rawid );
499  fillShapeAndPlacement( current, det );
500 
501  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
502  }
503  }
504 }
const TrackerGeometry * m_trackerGeom
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
#define ADD_SISTRIP_TOPOLOGY(rawid, detUnit)
const TrackerGeomDet * idToDet(DetId) const override
const DetContainer & detsTID() const
void FWRecoGeometryESProducer::addTOBGeometry ( void  )
private

Definition at line 465 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

466 {
467  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTOB().begin(),
468  end = m_trackerGeom->detsTOB().end();
469  it != end; ++it )
470  {
471  const GeomDet *det = *it;
472 
473  if( det )
474  {
475  DetId detid = det->geographicalId();
476  unsigned int rawid = detid.rawId();
477  unsigned int current = insert_id( rawid );
478  fillShapeAndPlacement( current, det );
479 
480  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
481  }
482  }
483 }
const TrackerGeometry * m_trackerGeom
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
void fillShapeAndPlacement(unsigned int id, const GeomDet *det)
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
#define end
Definition: vmac.h:39
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
#define ADD_SISTRIP_TOPOLOGY(rawid, detUnit)
const TrackerGeomDet * idToDet(DetId) const override
const DetContainer & detsTOB() const
void FWRecoGeometryESProducer::fillPoints ( unsigned int  id,
std::vector< GlobalPoint >::const_iterator  begin,
std::vector< GlobalPoint >::const_iterator  end 
)
private

Definition at line 580 of file FWRecoGeometryESProducer.cc.

References end, mps_fire::i, triggerObjects_cff::id, diffTreeTool::index, and m_fwGeometry.

Referenced by addCaloGeometry(), and addFTLGeometry().

581 {
582  unsigned int index( 0 );
583  for( std::vector<GlobalPoint>::const_iterator i = begin; i != end; ++i )
584  {
585  assert( index < 23 );
586  m_fwGeometry->idToName[id].points[index] = i->x();
587  m_fwGeometry->idToName[id].points[++index] = i->y();
588  m_fwGeometry->idToName[id].points[++index] = i->z();
589  ++index;
590  }
591 }
std::shared_ptr< FWRecoGeometry > m_fwGeometry
#define end
Definition: vmac.h:39
#define begin
Definition: vmac.h:32
void FWRecoGeometryESProducer::fillShapeAndPlacement ( unsigned int  id,
const GeomDet det 
)
private

Shape of GeomDet

Definition at line 596 of file FWRecoGeometryESProducer.cc.

References b, triggerObjects_cff::id, m_fwGeometry, GloballyPositioned< T >::position(), GloballyPositioned< T >::rotation(), GeomDet::surface(), PV3DBase< T, PVType, FrameType >::x(), TkRotation< T >::xx(), TkRotation< T >::xy(), TkRotation< T >::xz(), PV3DBase< T, PVType, FrameType >::y(), TkRotation< T >::yx(), TkRotation< T >::yy(), TkRotation< T >::yz(), PV3DBase< T, PVType, FrameType >::z(), TkRotation< T >::zx(), TkRotation< T >::zy(), and TkRotation< T >::zz().

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

597 {
598  // Trapezoidal
599  const Bounds *b = &((det->surface ()).bounds ());
600  if( const TrapezoidalPlaneBounds *b2 = dynamic_cast<const TrapezoidalPlaneBounds *> (b))
601  {
602  std::array< const float, 4 > const & par = b2->parameters ();
603 
604  // These parameters are half-lengths, as in CMSIM/GEANT3
605  m_fwGeometry->idToName[id].shape[0] = 1;
606  m_fwGeometry->idToName[id].shape[1] = par [0]; // hBottomEdge
607  m_fwGeometry->idToName[id].shape[2] = par [1]; // hTopEdge
608  m_fwGeometry->idToName[id].shape[3] = par [2]; // thickness
609  m_fwGeometry->idToName[id].shape[4] = par [3]; // apothem
610  }
611  if( const RectangularPlaneBounds *b2 = dynamic_cast<const RectangularPlaneBounds *> (b))
612  {
613  // Rectangular
614  m_fwGeometry->idToName[id].shape[0] = 2;
615  m_fwGeometry->idToName[id].shape[1] = b2->width() * 0.5; // half width
616  m_fwGeometry->idToName[id].shape[2] = b2->length() * 0.5; // half length
617  m_fwGeometry->idToName[id].shape[3] = b2->thickness() * 0.5; // half thickness
618  }
619 
620  // Position of the DetUnit's center
621  GlobalPoint pos = det->surface().position();
622  m_fwGeometry->idToName[id].translation[0] = pos.x();
623  m_fwGeometry->idToName[id].translation[1] = pos.y();
624  m_fwGeometry->idToName[id].translation[2] = pos.z();
625 
626  // Add the coeff of the rotation matrix
627  // with a projection on the basis vectors
628  TkRotation<float> detRot = det->surface().rotation();
629  m_fwGeometry->idToName[id].matrix[0] = detRot.xx();
630  m_fwGeometry->idToName[id].matrix[1] = detRot.yx();
631  m_fwGeometry->idToName[id].matrix[2] = detRot.zx();
632  m_fwGeometry->idToName[id].matrix[3] = detRot.xy();
633  m_fwGeometry->idToName[id].matrix[4] = detRot.yy();
634  m_fwGeometry->idToName[id].matrix[5] = detRot.zy();
635  m_fwGeometry->idToName[id].matrix[6] = detRot.xz();
636  m_fwGeometry->idToName[id].matrix[7] = detRot.yz();
637  m_fwGeometry->idToName[id].matrix[8] = detRot.zz();
638 }
T xx() const
std::shared_ptr< FWRecoGeometry > m_fwGeometry
T y() const
Definition: PV3DBase.h:63
T yx() const
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
T zx() const
T xy() const
T zz() const
T z() const
Definition: PV3DBase.h:64
T zy() const
T yy() const
double b
Definition: hdecay.h:120
T xz() const
const RotationType & rotation() const
Definition: Bounds.h:22
T x() const
Definition: PV3DBase.h:62
const PositionType & position() const
T yz() const
unsigned int FWRecoGeometryESProducer::insert_id ( unsigned int  id)
private
const FWRecoGeometryESProducer& FWRecoGeometryESProducer::operator= ( const FWRecoGeometryESProducer )
privatedelete
std::shared_ptr< FWRecoGeometry > FWRecoGeometryESProducer::produce ( const FWRecoGeometryRecord record)

Definition at line 100 of file FWRecoGeometryESProducer.cc.

References addCaloGeometry(), addCSCGeometry(), addDTGeometry(), addFTLGeometry(), addGEMGeometry(), addME0Geometry(), addPixelBarrelGeometry(), addPixelForwardGeometry(), addRPCGeometry(), addTECGeometry(), addTIBGeometry(), addTIDGeometry(), addTOBGeometry(), edm::eventsetup::EventSetupRecord::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), m_calo, m_caloGeom, m_current, m_ftlBarrelGeom, m_ftlEndcapGeom, m_fwGeometry, m_geomRecord, m_muon, m_timing, m_tracker, m_trackerGeom, edm::ESHandle< T >::product(), GlobalTrackingGeometry::slaveGeometry(), edm::swap(), and DetId::Tracker.

Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().

101 {
102  using namespace edm;
103 
104  m_fwGeometry = std::make_shared<FWRecoGeometry>();
105 
106  if( m_tracker || m_muon ) {
108  DetId detId( DetId::Tracker, 0 );
110  }
111 
112  if( m_tracker )
113  {
116  addTIBGeometry();
117  addTIDGeometry();
118  addTOBGeometry();
119  addTECGeometry();
120  }
121  if( m_muon )
122  {
123  addDTGeometry();
124  addCSCGeometry();
125  addRPCGeometry();
126  addGEMGeometry();
127  addME0Geometry();
128  }
129  if( m_calo )
130  {
131  edm::ESHandle<CaloGeometry> caloGeomH;
132  record.getRecord<CaloGeometryRecord>().get(caloGeomH);
133  m_caloGeom = caloGeomH.product();
134  addCaloGeometry();
135  }
136 
137  if( m_timing ) {
138  record.getRecord<CaloGeometryRecord>().getRecord<IdealGeometryRecord>().get( "FastTimeBarrel", m_ftlBarrelGeom );
139  record.getRecord<CaloGeometryRecord>().getRecord<IdealGeometryRecord>().get( "SFBX", m_ftlEndcapGeom );
140  addFTLGeometry();
141  }
142 
143  m_fwGeometry->idToName.resize( m_current + 1 );
144  std::vector<FWRecoGeom::Info>( m_fwGeometry->idToName ).swap( m_fwGeometry->idToName );
145  std::sort( m_fwGeometry->idToName.begin(), m_fwGeometry->idToName.end());
146 
147  return m_fwGeometry;
148 }
edm::ESHandle< FastTimeGeometry > m_ftlBarrelGeom
std::shared_ptr< FWRecoGeometry > m_fwGeometry
edm::ESHandle< GlobalTrackingGeometry > m_geomRecord
const TrackerGeometry * m_trackerGeom
void swap(Association< C > &lhs, Association< C > &rhs)
Definition: Association.h:116
edm::ESHandle< FastTimeGeometry > m_ftlEndcapGeom
void get(HolderT &iHolder) const
const TrackingGeometry * slaveGeometry(DetId id) const
Return the pointer to the actual geometry for a given DetId.
Definition: DetId.h:18
HLT enums.
T const * product() const
Definition: ESHandle.h:86

Member Data Documentation

bool FWRecoGeometryESProducer::m_calo
private

Definition at line 70 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

const CaloGeometry* FWRecoGeometryESProducer::m_caloGeom
private

Definition at line 61 of file FWRecoGeometryESProducer.h.

Referenced by addCaloGeometry(), and produce().

unsigned int FWRecoGeometryESProducer::m_current
private

Definition at line 67 of file FWRecoGeometryESProducer.h.

Referenced by insert_id(), and produce().

edm::ESHandle<FastTimeGeometry> FWRecoGeometryESProducer::m_ftlBarrelGeom
private

Definition at line 62 of file FWRecoGeometryESProducer.h.

Referenced by addFTLGeometry(), and produce().

edm::ESHandle<FastTimeGeometry> FWRecoGeometryESProducer::m_ftlEndcapGeom
private

Definition at line 62 of file FWRecoGeometryESProducer.h.

Referenced by addFTLGeometry(), and produce().

std::shared_ptr<FWRecoGeometry> FWRecoGeometryESProducer::m_fwGeometry
private
edm::ESHandle<GlobalTrackingGeometry> FWRecoGeometryESProducer::m_geomRecord
private
std::vector<edm::ESHandle<HGCalGeometry> > FWRecoGeometryESProducer::m_hgcalGeoms
private

Definition at line 63 of file FWRecoGeometryESProducer.h.

bool FWRecoGeometryESProducer::m_muon
private

Definition at line 69 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

bool FWRecoGeometryESProducer::m_timing
private

Definition at line 71 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

bool FWRecoGeometryESProducer::m_tracker
private

Definition at line 68 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

const TrackerGeometry* FWRecoGeometryESProducer::m_trackerGeom
private