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
 
edm::ESHandle< 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 526 of file FWRecoGeometryESProducer.cc.

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

Referenced by produce().

527 {
528  std::vector<DetId> vid = std::move(m_caloGeom->getValidDetIds()); // Calo
529  for( std::vector<DetId>::const_iterator it = vid.begin(),
530  end = vid.end();
531  it != end; ++it ) {
532  unsigned int id = insert_id( it->rawId());
533  if( DetId::Forward != it->det() ) {
535  fillPoints( id, cor.begin(), cor.end());
536  } else {
537  const HGCalGeometry* geom = static_cast<const HGCalGeometry*>( m_caloGeom->getSubdetectorGeometry( *it ) );
538  const auto& cor = geom->getCorners( *it );
539  fillPoints( id, cor.begin(), cor.end() );
540  }
541  }
542 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:45
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:37
unsigned int insert_id(unsigned int id)
void fillPoints(unsigned int id, std::vector< GlobalPoint >::const_iterator begin, std::vector< GlobalPoint >::const_iterator end)
CornersVec const & getCorners() const
Returns the corner points of this cell&#39;s volume.
edm::ESHandle< CaloGeometry > m_caloGeom
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
Definition: CaloGeometry.cc:92
const CaloCellGeometry * getGeometry(const DetId &id) const
Get the cell geometry of a given detector id.
Definition: CaloGeometry.cc:78
const_iterator end() const
Definition: EZArrayFL.h:64
def move(src, dest)
Definition: eostools.py:510
void FWRecoGeometryESProducer::addCSCGeometry ( void  )
private

Definition at line 149 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().

150 {
151  DetId detId( DetId::Muon, 2 );
152  const CSCGeometry* cscGeometry = (const CSCGeometry*) m_geomRecord->slaveGeometry( detId );
153  for( auto it = cscGeometry->chambers().begin(),
154  end = cscGeometry->chambers().end();
155  it != end; ++it )
156  {
157  const CSCChamber *chamber = *it;
158 
159  if( chamber )
160  {
161  unsigned int rawid = chamber->geographicalId();
162  unsigned int current = insert_id( rawid );
163  fillShapeAndPlacement( current, chamber );
164  //
165  // CSC layers geometry
166  //
167  for( std::vector< const CSCLayer* >::const_iterator lit = chamber->layers().begin(),
168  lend = chamber->layers().end();
169  lit != lend; ++lit )
170  {
171  const CSCLayer* layer = *lit;
172 
173  if( layer )
174  {
175  unsigned int rawid = layer->geographicalId();
176  unsigned int current = insert_id( rawid );
177  fillShapeAndPlacement( current, layer );
178 
179  const CSCStripTopology* stripTopology = layer->geometry()->topology();
180  m_fwGeometry->idToName[current].topology[0] = stripTopology->yAxisOrientation();
181  m_fwGeometry->idToName[current].topology[1] = stripTopology->centreToIntersection();
182  m_fwGeometry->idToName[current].topology[2] = stripTopology->yCentreOfStripPlane();
183  m_fwGeometry->idToName[current].topology[3] = stripTopology->phiOfOneEdge();
184  m_fwGeometry->idToName[current].topology[4] = stripTopology->stripOffset();
185  m_fwGeometry->idToName[current].topology[5] = stripTopology->angularWidth();
186 
187  const CSCWireTopology* wireTopology = layer->geometry()->wireTopology();
188  m_fwGeometry->idToName[current].topology[6] = wireTopology->wireSpacing();
189  m_fwGeometry->idToName[current].topology[7] = wireTopology->wireAngle();
190  }
191  }
192  }
193  }
194 }
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:37
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 197 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().

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

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

Referenced by produce().

546 {
547  // do the barrel
548  std::vector<DetId> vid = std::move(m_ftlBarrelGeom->getValidDetIds());
549  for( std::vector<DetId>::const_iterator it = vid.begin(),
550  end = vid.end();
551  it != end; ++it ) {
552  unsigned int id = insert_id( it->rawId());
553  const auto& cor = m_ftlBarrelGeom->getCorners( *it );
554  fillPoints( id, cor.begin(), cor.end());
555  }
556  // do the endcap
558  for( std::vector<DetId>::const_iterator it = vid.begin(),
559  end = vid.end();
560  it != end; ++it ) {
561  unsigned int id = insert_id( it->rawId());
562  const auto& cor = m_ftlEndcapGeom->getCorners( *it );
563  fillPoints( id, cor.begin(), cor.end());
564  }
565 }
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:37
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 288 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().

289 {
290  //
291  // GEM geometry
292  //
293  DetId detId( DetId::Muon, 4 );
294 
295  try
296  {
297  const GEMGeometry* gemGeom = (const GEMGeometry*) m_geomRecord->slaveGeometry( detId );
298 
299  // add in superChambers - gem Segments are based on superChambers
300  for(auto sc : gemGeom->superChambers())
301  {
302  if( sc )
303  {
304  unsigned int rawid = sc->geographicalId().rawId();
305  unsigned int current = insert_id( rawid );
306  fillShapeAndPlacement( current, sc );
307  }
308  }
309  // add in chambers
310  for(auto ch : gemGeom->chambers())
311  {
312  if( ch )
313  {
314  unsigned int rawid = ch->geographicalId().rawId();
315  unsigned int current = insert_id( rawid );
316  fillShapeAndPlacement( current, ch );
317  }
318  }
319  // add in etaPartitions - gem rechits are based on etaPartitions
320  for(auto roll : gemGeom->etaPartitions())
321  {
322  if( roll )
323  {
324  unsigned int rawid = roll->geographicalId().rawId();
325  unsigned int current = insert_id( rawid );
326  fillShapeAndPlacement( current, roll );
327 
328  const StripTopology& topo = roll->specificTopology();
329  m_fwGeometry->idToName[current].topology[0] = topo.nstrips();
330  m_fwGeometry->idToName[current].topology[1] = topo.stripLength();
331  m_fwGeometry->idToName[current].topology[2] = topo.pitch();
332 
333  float height = topo.stripLength()/2;
334  LocalPoint lTop( 0., height, 0.);
335  LocalPoint lBottom( 0., -height, 0.);
336  m_fwGeometry->idToName[current].topology[3] = roll->localPitch(lTop);
337  m_fwGeometry->idToName[current].topology[4] = roll->localPitch(lBottom);
338  m_fwGeometry->idToName[current].topology[5] = roll->npads();
339  }
340  }
341 
342  m_fwGeometry->extraDet.Add(new TNamed("GEM", "GEM muon detector"));
343  try {
344  GEMDetId id(1, 1, 2, 1, 1, 1 );
345  m_geomRecord->slaveGeometry( detId );
346  m_fwGeometry->extraDet.Add(new TNamed("GE2", "GEM endcap station 2"));
347  }
348  catch (std::runtime_error &e) {
349  std::cerr << e.what() << std::endl;
350  }
351 
352  }
353  catch( cms::Exception &exception )
354  {
355  edm::LogError("FWRecoGeometry") << " GEM geometry not found " << exception.what() << std::endl;
356  }
357 }
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 360 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().

361 {
362  //
363  // ME0 geometry
364  //
365 
366  DetId detId( DetId::Muon, 5 );
367  try
368  {
369  const ME0Geometry* me0Geom = (const ME0Geometry*) m_geomRecord->slaveGeometry( detId );
370  for(auto roll : me0Geom->etaPartitions())
371  {
372  if( roll )
373  {
374  unsigned int rawid = roll->geographicalId().rawId();
375  unsigned int current = insert_id( rawid );
376  fillShapeAndPlacement( current, roll );
377 
378  const StripTopology& topo = roll->specificTopology();
379  m_fwGeometry->idToName[current].topology[0] = topo.nstrips();
380  m_fwGeometry->idToName[current].topology[1] = topo.stripLength();
381  m_fwGeometry->idToName[current].topology[2] = topo.pitch();
382 
383  float height = topo.stripLength()/2;
384  LocalPoint lTop( 0., height, 0.);
385  LocalPoint lBottom( 0., -height, 0.);
386  m_fwGeometry->idToName[current].topology[3] = roll->localPitch(lTop);
387  m_fwGeometry->idToName[current].topology[4] = roll->localPitch(lBottom);
388  m_fwGeometry->idToName[current].topology[5] = roll->npads();
389  }
390  }
391  m_fwGeometry->extraDet.Add(new TNamed("ME0", "ME0 muon detector"));
392  }
393  catch( cms::Exception &exception )
394  {
395  edm::LogError("FWRecoGeometry") << " ME0 geometry not found " << exception.what() << std::endl;
396  }
397 }
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 400 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().

401 {
402  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsPXB().begin(),
403  end = m_trackerGeom->detsPXB().end();
404  it != end; ++it)
405  {
406  const GeomDet *det = *it;
407 
408  if( det )
409  {
410  DetId detid = det->geographicalId();
411  unsigned int rawid = detid.rawId();
412  unsigned int current = insert_id( rawid );
413  fillShapeAndPlacement( current, det );
414 
415  ADD_PIXEL_TOPOLOGY( current, m_trackerGeom->idToDetUnit( detid ));
416  }
417  }
418 }
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:37
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
void FWRecoGeometryESProducer::addPixelForwardGeometry ( void  )
private

Definition at line 421 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().

422 {
423  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsPXF().begin(),
424  end = m_trackerGeom->detsPXF().end();
425  it != end; ++it )
426  {
427  const GeomDet *det = *it;
428 
429  if( det )
430  {
431  DetId detid = det->geographicalId();
432  unsigned int rawid = detid.rawId();
433  unsigned int current = insert_id( rawid );
434  fillShapeAndPlacement( current, det );
435 
436  ADD_PIXEL_TOPOLOGY( current, m_trackerGeom->idToDetUnit( detid ));
437  }
438  }
439 }
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:37
unsigned int insert_id(unsigned int id)
Definition: DetId.h:18
const DetContainer & detsPXF() const
void FWRecoGeometryESProducer::addRPCGeometry ( void  )
private

Definition at line 251 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().

252 {
253  //
254  // RPC rolls geometry
255  //
256  DetId detId( DetId::Muon, 3 );
257  const RPCGeometry* rpcGeom = (const RPCGeometry*) m_geomRecord->slaveGeometry( detId );
258  for( auto it = rpcGeom->rolls().begin(),
259  end = rpcGeom->rolls().end();
260  it != end; ++it )
261  {
262  const RPCRoll* roll = (*it);
263  if( roll )
264  {
265  unsigned int rawid = roll->geographicalId().rawId();
266  unsigned int current = insert_id( rawid );
267  fillShapeAndPlacement( current, roll );
268 
269  const StripTopology& topo = roll->specificTopology();
270  m_fwGeometry->idToName[current].topology[0] = topo.nstrips();
271  m_fwGeometry->idToName[current].topology[1] = topo.stripLength();
272  m_fwGeometry->idToName[current].topology[2] = topo.pitch();
273  }
274  }
275 
276 
277  try {
278  RPCDetId id(1, 1, 4, 1, 1, 1, 1 );
279  m_geomRecord->slaveGeometry( detId );
280  m_fwGeometry->extraDet.Add(new TNamed("RE4", "RPC endcap station 4"));
281  }
282  catch (std::runtime_error &e) {
283  std::cerr << e.what() << std::endl;
284  }
285 }
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:37
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 505 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().

506 {
507  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTEC().begin(),
508  end = m_trackerGeom->detsTEC().end();
509  it != end; ++it )
510  {
511  const GeomDet *det = *it;
512 
513  if( det )
514  {
515  DetId detid = det->geographicalId();
516  unsigned int rawid = detid.rawId();
517  unsigned int current = insert_id( rawid );
518  fillShapeAndPlacement( current, det );
519 
520  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
521  }
522  }
523 }
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:37
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 442 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().

443 {
444  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTIB().begin(),
445  end = m_trackerGeom->detsTIB().end();
446  it != end; ++it )
447  {
448  const GeomDet *det = *it;
449 
450  if( det )
451  {
452  DetId detid = det->geographicalId();
453  unsigned int rawid = detid.rawId();
454  unsigned int current = insert_id( rawid );
455  fillShapeAndPlacement( current, det );
456 
457  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
458  }
459  }
460 }
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:37
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 484 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().

485 {
486  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTID().begin(),
487  end = m_trackerGeom->detsTID().end();
488  it != end; ++it)
489  {
490  const GeomDet *det = *it;
491 
492  if( det )
493  {
494  DetId detid = det->geographicalId();
495  unsigned int rawid = detid.rawId();
496  unsigned int current = insert_id( rawid );
497  fillShapeAndPlacement( current, det );
498 
499  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
500  }
501  }
502 }
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:37
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 463 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().

464 {
465  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTOB().begin(),
466  end = m_trackerGeom->detsTOB().end();
467  it != end; ++it )
468  {
469  const GeomDet *det = *it;
470 
471  if( det )
472  {
473  DetId detid = det->geographicalId();
474  unsigned int rawid = detid.rawId();
475  unsigned int current = insert_id( rawid );
476  fillShapeAndPlacement( current, det );
477 
478  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
479  }
480  }
481 }
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:37
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 578 of file FWRecoGeometryESProducer.cc.

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

Referenced by addCaloGeometry(), and addFTLGeometry().

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

Shape of GeomDet

Definition at line 594 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().

595 {
596  // Trapezoidal
597  const Bounds *b = &((det->surface ()).bounds ());
598  if( const TrapezoidalPlaneBounds *b2 = dynamic_cast<const TrapezoidalPlaneBounds *> (b))
599  {
600  std::array< const float, 4 > const & par = b2->parameters ();
601 
602  // These parameters are half-lengths, as in CMSIM/GEANT3
603  m_fwGeometry->idToName[id].shape[0] = 1;
604  m_fwGeometry->idToName[id].shape[1] = par [0]; // hBottomEdge
605  m_fwGeometry->idToName[id].shape[2] = par [1]; // hTopEdge
606  m_fwGeometry->idToName[id].shape[3] = par [2]; // thickness
607  m_fwGeometry->idToName[id].shape[4] = par [3]; // apothem
608  }
609  if( const RectangularPlaneBounds *b2 = dynamic_cast<const RectangularPlaneBounds *> (b))
610  {
611  // Rectangular
612  m_fwGeometry->idToName[id].shape[0] = 2;
613  m_fwGeometry->idToName[id].shape[1] = b2->width() * 0.5; // half width
614  m_fwGeometry->idToName[id].shape[2] = b2->length() * 0.5; // half length
615  m_fwGeometry->idToName[id].shape[3] = b2->thickness() * 0.5; // half thickness
616  }
617 
618  // Position of the DetUnit's center
619  GlobalPoint pos = det->surface().position();
620  m_fwGeometry->idToName[id].translation[0] = pos.x();
621  m_fwGeometry->idToName[id].translation[1] = pos.y();
622  m_fwGeometry->idToName[id].translation[2] = pos.z();
623 
624  // Add the coeff of the rotation matrix
625  // with a projection on the basis vectors
626  TkRotation<float> detRot = det->surface().rotation();
627  m_fwGeometry->idToName[id].matrix[0] = detRot.xx();
628  m_fwGeometry->idToName[id].matrix[1] = detRot.yx();
629  m_fwGeometry->idToName[id].matrix[2] = detRot.zx();
630  m_fwGeometry->idToName[id].matrix[3] = detRot.xy();
631  m_fwGeometry->idToName[id].matrix[4] = detRot.yy();
632  m_fwGeometry->idToName[id].matrix[5] = detRot.zy();
633  m_fwGeometry->idToName[id].matrix[6] = detRot.xz();
634  m_fwGeometry->idToName[id].matrix[7] = detRot.yz();
635  m_fwGeometry->idToName[id].matrix[8] = detRot.zz();
636 }
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, 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  record.getRecord<CaloGeometryRecord>().get( m_caloGeom );
132  addCaloGeometry();
133  }
134 
135  if( m_timing ) {
136  record.getRecord<CaloGeometryRecord>().getRecord<IdealGeometryRecord>().get( "FastTimeBarrel", m_ftlBarrelGeom );
137  record.getRecord<CaloGeometryRecord>().getRecord<IdealGeometryRecord>().get( "SFBX", m_ftlEndcapGeom );
138  addFTLGeometry();
139  }
140 
141  m_fwGeometry->idToName.resize( m_current + 1 );
142  std::vector<FWRecoGeom::Info>( m_fwGeometry->idToName ).swap( m_fwGeometry->idToName );
143  std::sort( m_fwGeometry->idToName.begin(), m_fwGeometry->idToName.end());
144 
145  return m_fwGeometry;
146 }
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
edm::ESHandle< CaloGeometry > m_caloGeom
HLT enums.

Member Data Documentation

bool FWRecoGeometryESProducer::m_calo
private

Definition at line 70 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

edm::ESHandle<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