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
 
void writeTrackerParametersXML ()
 

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 90 of file FWRecoGeometryESProducer.cc.

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

91  : m_current( -1 )
92 {
93  m_tracker = pset.getUntrackedParameter<bool>( "Tracker", true );
94  m_muon = pset.getUntrackedParameter<bool>( "Muon", true );
95  m_calo = pset.getUntrackedParameter<bool>( "Calo", true );
96  m_timing = pset.getUntrackedParameter<bool>( "Timing", false );
97  setWhatProduced( this );
98 }
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 100 of file FWRecoGeometryESProducer.cc.

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

Member Function Documentation

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

Definition at line 38 of file FWRecoGeometryESProducer.cc.

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

Referenced by addPixelBarrelGeometry(), and addPixelForwardGeometry().

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

535 {
536  std::vector<DetId> vid = m_caloGeom->getValidDetIds(); // Calo
537  for( std::vector<DetId>::const_iterator it = vid.begin(),
538  end = vid.end();
539  it != end; ++it ) {
540  unsigned int id = insert_id( it->rawId());
541  if( DetId::Forward != it->det() ) {
542  const CaloCellGeometry::CornersVec& cor = m_caloGeom->getGeometry( *it )->getCorners();
543  fillPoints( id, cor.begin(), cor.end());
544  } else {
545  const HGCalGeometry* geom = dynamic_cast<const HGCalGeometry*>(m_caloGeom->getSubdetectorGeometry( *it ) );
546  const auto& cor = geom->getCorners( *it );
547  fillPoints( id, cor.begin(), cor.end() );
548  }
549  }
550 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:49
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.
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:85
void FWRecoGeometryESProducer::addCSCGeometry ( void  )
private

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

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

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

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

Referenced by produce().

554 {
555  // do the barrel
556  std::vector<DetId> vid = std::move(m_ftlBarrelGeom->getValidDetIds());
557  for( std::vector<DetId>::const_iterator it = vid.begin(),
558  end = vid.end();
559  it != end; ++it ) {
560  unsigned int id = insert_id( it->rawId());
561  const auto& cor = m_ftlBarrelGeom->getCorners( *it );
562  fillPoints( id, cor.begin(), cor.end());
563  }
564  // do the endcap
566  for( std::vector<DetId>::const_iterator it = vid.begin(),
567  end = vid.end();
568  it != end; ++it ) {
569  unsigned int id = insert_id( it->rawId());
570  const auto& cor = m_ftlEndcapGeom->getCorners( *it );
571  fillPoints( id, cor.begin(), cor.end());
572  }
573 }
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 296 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().

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

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

409 {
410  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsPXB().begin(),
411  end = m_trackerGeom->detsPXB().end();
412  it != end; ++it)
413  {
414  const GeomDet *det = *it;
415 
416  if( det )
417  {
418  DetId detid = det->geographicalId();
419  unsigned int rawid = detid.rawId();
420  unsigned int current = insert_id( rawid );
421  fillShapeAndPlacement( current, det );
422 
423  ADD_PIXEL_TOPOLOGY( current, m_trackerGeom->idToDetUnit( detid ));
424  }
425  }
426 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:47
const TrackerGeometry * m_trackerGeom
void ADD_PIXEL_TOPOLOGY(unsigned int rawid, const GeomDet *detUnit)
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 429 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().

430 {
431  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsPXF().begin(),
432  end = m_trackerGeom->detsPXF().end();
433  it != end; ++it )
434  {
435  const GeomDet *det = *it;
436 
437  if( det )
438  {
439  DetId detid = det->geographicalId();
440  unsigned int rawid = detid.rawId();
441  unsigned int current = insert_id( rawid );
442  fillShapeAndPlacement( current, det );
443 
444  ADD_PIXEL_TOPOLOGY( current, m_trackerGeom->idToDetUnit( detid ));
445  }
446  }
447 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:47
const TrackerGeometry * m_trackerGeom
void ADD_PIXEL_TOPOLOGY(unsigned int rawid, const GeomDet *detUnit)
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 259 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().

260 {
261  //
262  // RPC rolls geometry
263  //
264  DetId detId( DetId::Muon, 3 );
265  const RPCGeometry* rpcGeom = (const RPCGeometry*) m_geomRecord->slaveGeometry( detId );
266  for( auto it = rpcGeom->rolls().begin(),
267  end = rpcGeom->rolls().end();
268  it != end; ++it )
269  {
270  const RPCRoll* roll = (*it);
271  if( roll )
272  {
273  unsigned int rawid = roll->geographicalId().rawId();
274  unsigned int current = insert_id( rawid );
275  fillShapeAndPlacement( current, roll );
276 
277  const StripTopology& topo = roll->specificTopology();
278  m_fwGeometry->idToName[current].topology[0] = topo.nstrips();
279  m_fwGeometry->idToName[current].topology[1] = topo.stripLength();
280  m_fwGeometry->idToName[current].topology[2] = topo.pitch();
281  }
282  }
283 
284 
285  try {
286  RPCDetId id(1, 1, 4, 1, 1, 1, 1 );
287  m_geomRecord->slaveGeometry( detId );
288  m_fwGeometry->extraDet.Add(new TNamed("RE4", "RPC endcap station 4"));
289  }
290  catch (std::runtime_error &e) {
291  std::cerr << e.what() << std::endl;
292  }
293 }
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
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:47
edm::ESHandle< GlobalTrackingGeometry > m_geomRecord
const StripTopology & specificTopology() const
Definition: RPCRoll.cc:107
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 513 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().

514 {
515  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTEC().begin(),
516  end = m_trackerGeom->detsTEC().end();
517  it != end; ++it )
518  {
519  const GeomDet *det = *it;
520 
521  if( det )
522  {
523  DetId detid = det->geographicalId();
524  unsigned int rawid = detid.rawId();
525  unsigned int current = insert_id( rawid );
526  fillShapeAndPlacement( current, det );
527 
528  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
529  }
530  }
531 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:47
const TrackerGeometry * m_trackerGeom
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 450 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().

451 {
452  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTIB().begin(),
453  end = m_trackerGeom->detsTIB().end();
454  it != end; ++it )
455  {
456  const GeomDet *det = *it;
457 
458  if( det )
459  {
460  DetId detid = det->geographicalId();
461  unsigned int rawid = detid.rawId();
462  unsigned int current = insert_id( rawid );
463  fillShapeAndPlacement( current, det );
464 
465  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
466  }
467  }
468 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:47
const TrackerGeometry * m_trackerGeom
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 492 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().

493 {
494  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTID().begin(),
495  end = m_trackerGeom->detsTID().end();
496  it != end; ++it)
497  {
498  const GeomDet *det = *it;
499 
500  if( det )
501  {
502  DetId detid = det->geographicalId();
503  unsigned int rawid = detid.rawId();
504  unsigned int current = insert_id( rawid );
505  fillShapeAndPlacement( current, det );
506 
507  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
508  }
509  }
510 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:47
const TrackerGeometry * m_trackerGeom
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 471 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().

472 {
473  for( TrackerGeometry::DetContainer::const_iterator it = m_trackerGeom->detsTOB().begin(),
474  end = m_trackerGeom->detsTOB().end();
475  it != end; ++it )
476  {
477  const GeomDet *det = *it;
478 
479  if( det )
480  {
481  DetId detid = det->geographicalId();
482  unsigned int rawid = detid.rawId();
483  unsigned int current = insert_id( rawid );
484  fillShapeAndPlacement( current, det );
485 
486  ADD_SISTRIP_TOPOLOGY( current, m_trackerGeom->idToDet( detid ));
487  }
488  }
489 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:47
const TrackerGeometry * m_trackerGeom
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 586 of file FWRecoGeometryESProducer.cc.

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

Referenced by addCaloGeometry(), and addFTLGeometry().

587 {
588  unsigned int index( 0 );
589  for( std::vector<GlobalPoint>::const_iterator i = begin; i != end; ++i )
590  {
591  assert( index < 23 );
592  m_fwGeometry->idToName[id].points[index] = i->x();
593  m_fwGeometry->idToName[id].points[++index] = i->y();
594  m_fwGeometry->idToName[id].points[++index] = i->z();
595  ++index;
596  }
597 }
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 602 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().

603 {
604  // Trapezoidal
605  const Bounds *b = &((det->surface ()).bounds ());
606  if( const TrapezoidalPlaneBounds *b2 = dynamic_cast<const TrapezoidalPlaneBounds *> (b))
607  {
608  std::array< const float, 4 > const & par = b2->parameters ();
609 
610  // These parameters are half-lengths, as in CMSIM/GEANT3
611  m_fwGeometry->idToName[id].shape[0] = 1;
612  m_fwGeometry->idToName[id].shape[1] = par [0]; // hBottomEdge
613  m_fwGeometry->idToName[id].shape[2] = par [1]; // hTopEdge
614  m_fwGeometry->idToName[id].shape[3] = par [2]; // thickness
615  m_fwGeometry->idToName[id].shape[4] = par [3]; // apothem
616  }
617  if( const RectangularPlaneBounds *b2 = dynamic_cast<const RectangularPlaneBounds *> (b))
618  {
619  // Rectangular
620  m_fwGeometry->idToName[id].shape[0] = 2;
621  m_fwGeometry->idToName[id].shape[1] = b2->width() * 0.5; // half width
622  m_fwGeometry->idToName[id].shape[2] = b2->length() * 0.5; // half length
623  m_fwGeometry->idToName[id].shape[3] = b2->thickness() * 0.5; // half thickness
624  }
625 
626  // Position of the DetUnit's center
627  GlobalPoint pos = det->surface().position();
628  m_fwGeometry->idToName[id].translation[0] = pos.x();
629  m_fwGeometry->idToName[id].translation[1] = pos.y();
630  m_fwGeometry->idToName[id].translation[2] = pos.z();
631 
632  // Add the coeff of the rotation matrix
633  // with a projection on the basis vectors
634  TkRotation<float> detRot = det->surface().rotation();
635  m_fwGeometry->idToName[id].matrix[0] = detRot.xx();
636  m_fwGeometry->idToName[id].matrix[1] = detRot.yx();
637  m_fwGeometry->idToName[id].matrix[2] = detRot.zx();
638  m_fwGeometry->idToName[id].matrix[3] = detRot.xy();
639  m_fwGeometry->idToName[id].matrix[4] = detRot.yy();
640  m_fwGeometry->idToName[id].matrix[5] = detRot.zy();
641  m_fwGeometry->idToName[id].matrix[6] = detRot.xz();
642  m_fwGeometry->idToName[id].matrix[7] = detRot.yz();
643  m_fwGeometry->idToName[id].matrix[8] = detRot.zz();
644 }
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 104 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(), DetId::Tracker, and writeTrackerParametersXML().

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

105 {
106  using namespace edm;
107 
108  m_fwGeometry = std::make_shared<FWRecoGeometry>();
109 
110  if( m_tracker || m_muon ) {
112  DetId detId( DetId::Tracker, 0 );
114  }
115 
116  if( m_tracker )
117  {
120  addTIBGeometry();
121  addTIDGeometry();
122  addTOBGeometry();
123  addTECGeometry();
125  return m_fwGeometry; //AMT
126  }
127  if( m_muon )
128  {
129  addDTGeometry();
130  addCSCGeometry();
131  addRPCGeometry();
132  addGEMGeometry();
133  addME0Geometry();
134  }
135  if( m_calo )
136  {
137  edm::ESHandle<CaloGeometry> caloGeomH;
138  record.getRecord<CaloGeometryRecord>().get(caloGeomH);
139  m_caloGeom = caloGeomH.product();
140  addCaloGeometry();
141  }
142 
143  if( m_timing ) {
144  record.getRecord<CaloGeometryRecord>().getRecord<IdealGeometryRecord>().get( "FastTimeBarrel", m_ftlBarrelGeom );
145  record.getRecord<CaloGeometryRecord>().getRecord<IdealGeometryRecord>().get( "SFBX", m_ftlEndcapGeom );
146  addFTLGeometry();
147  }
148 
149  m_fwGeometry->idToName.resize( m_current + 1 );
150  std::vector<FWRecoGeom::Info>( m_fwGeometry->idToName ).swap( m_fwGeometry->idToName );
151  std::sort( m_fwGeometry->idToName.begin(), m_fwGeometry->idToName.end());
152 
153  return m_fwGeometry;
154 }
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
void FWRecoGeometryESProducer::writeTrackerParametersXML ( )
private

Definition at line 646 of file FWRecoGeometryESProducer.cc.

References edmScanValgrind::buffer, edm::FileInPath::fullPath(), TrackerGeometry::isThere(), m_fwGeometry, m_trackerGeom, GeomDetEnumerators::P1PXB, GeomDetEnumerators::P1PXEC, GeomDetEnumerators::P2OTB, GeomDetEnumerators::P2OTEC, GeomDetEnumerators::P2PXB, GeomDetEnumerators::P2PXEC, callgraph::path, AlCaHLTBitMon_QueryRunRegistry::string, and lumiQTWidget::t.

Referenced by produce().

647 {
648  std::string path = "Geometry/TrackerCommonData/data/";
651  path += "PhaseI/";
656  path += "PhaseII/";
657  }
658  path += "trackerParameters.xml";
659  std::string fullPath = edm::FileInPath(path).fullPath();
660  std::ifstream t(fullPath);
661  std::stringstream buffer;
662  buffer << t.rdbuf();
663  m_fwGeometry->trackerTopologyXML = buffer.str();
664 }
std::shared_ptr< FWRecoGeometry > m_fwGeometry
const TrackerGeometry * m_trackerGeom
bool isThere(GeomDetEnumerators::SubDetector subdet) const
std::string fullPath() const
Definition: FileInPath.cc:197

Member Data Documentation

bool FWRecoGeometryESProducer::m_calo
private

Definition at line 71 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

const CaloGeometry* FWRecoGeometryESProducer::m_caloGeom
private

Definition at line 62 of file FWRecoGeometryESProducer.h.

Referenced by addCaloGeometry(), and produce().

unsigned int FWRecoGeometryESProducer::m_current
private

Definition at line 68 of file FWRecoGeometryESProducer.h.

Referenced by insert_id(), and produce().

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

Definition at line 63 of file FWRecoGeometryESProducer.h.

Referenced by addFTLGeometry(), and produce().

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

Definition at line 63 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 64 of file FWRecoGeometryESProducer.h.

bool FWRecoGeometryESProducer::m_muon
private

Definition at line 70 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

bool FWRecoGeometryESProducer::m_timing
private

Definition at line 72 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

bool FWRecoGeometryESProducer::m_tracker
private

Definition at line 69 of file FWRecoGeometryESProducer.h.

Referenced by FWRecoGeometryESProducer(), and produce().

const TrackerGeometry* FWRecoGeometryESProducer::m_trackerGeom
private