CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
HGCalTriggerGeometryESProducer Class Reference
Inheritance diagram for HGCalTriggerGeometryESProducer:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Types

typedef std::unique_ptr< HGCalTriggerGeometryBaseReturnType
 

Public Member Functions

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

Private Attributes

edm::ESGetToken< CaloGeometry, CaloGeometryRecordcalo_geometry_token_
 
edm::ESGetToken< HGCalGeometry, IdealGeometryRecordee_geometry_token_
 
edm::ParameterSet geometry_config_
 
std::string geometry_name_
 
edm::ESGetToken< HGCalGeometry, IdealGeometryRecordhsc_geometry_token_
 
edm::ESGetToken< HGCalGeometry, IdealGeometryRecordhsi_geometry_token_
 
bool isV9Geometry_
 
edm::ESGetToken< HGCalGeometry, IdealGeometryRecordnose_geometry_token_
 

Additional Inherited Members

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

Detailed Description

Definition at line 12 of file HGCalTriggerGeometryESProducer.cc.

Member Typedef Documentation

◆ ReturnType

Definition at line 17 of file HGCalTriggerGeometryESProducer.cc.

Constructor & Destructor Documentation

◆ HGCalTriggerGeometryESProducer()

HGCalTriggerGeometryESProducer::HGCalTriggerGeometryESProducer ( const edm::ParameterSet iConfig)

Definition at line 32 of file HGCalTriggerGeometryESProducer.cc.

33  : geometry_config_(iConfig.getParameterSet("TriggerGeometry")),
35  isV9Geometry_(iConfig.getParameter<bool>("isV9Geometry")) {
36  auto cc = setWhatProduced(this);
37  if (isV9Geometry_) {
38  cc.setConsumes(ee_geometry_token_, edm::ESInputTag{"", "HGCalEESensitive"})
39  .setConsumes(hsi_geometry_token_, edm::ESInputTag{"", "HGCalHESiliconSensitive"})
40  .setConsumes(hsc_geometry_token_, edm::ESInputTag{"", "HGCalHEScintillatorSensitive"})
41  .setConsumes(nose_geometry_token_, edm::ESInputTag{"", "HGCalHFNoseSensitive"});
42  } else {
43  cc.setConsumes(calo_geometry_token_);
44  }
45 }

References calo_geometry_token_, ee_geometry_token_, hsc_geometry_token_, hsi_geometry_token_, isV9Geometry_, nose_geometry_token_, and edm::ESProducer::setWhatProduced().

◆ ~HGCalTriggerGeometryESProducer()

HGCalTriggerGeometryESProducer::~HGCalTriggerGeometryESProducer ( )
override

Definition at line 47 of file HGCalTriggerGeometryESProducer.cc.

47  {
48  // do anything here that needs to be done at desctruction time
49  // (e.g. close files, deallocate resources etc.)
50 }

Member Function Documentation

◆ produce()

HGCalTriggerGeometryESProducer::ReturnType HGCalTriggerGeometryESProducer::produce ( const CaloGeometryRecord iRecord)

Definition at line 52 of file HGCalTriggerGeometryESProducer.cc.

52  {
53  // using namespace edm::es;
55  if (isV9Geometry_) {
56  // Initialize trigger geometry for V9 HGCAL geometry
57 
58  if (iRecord.getHandle(nose_geometry_token_)) {
59  geometry->setWithNoseGeometry(true);
60  geometry->initialize(&iRecord.get(ee_geometry_token_),
61  &iRecord.get(hsi_geometry_token_),
62  &iRecord.get(hsc_geometry_token_),
63  &iRecord.get(nose_geometry_token_));
64  } else {
65  geometry->initialize(
66  &iRecord.get(ee_geometry_token_), &iRecord.get(hsi_geometry_token_), &iRecord.get(hsc_geometry_token_));
67  }
68 
69  } else {
70  // Initialize trigger geometry for V7/V8 HGCAL geometry
71  const auto& calo_geometry = iRecord.get(calo_geometry_token_);
72  if (not(calo_geometry.getSubdetectorGeometry(DetId::Forward, HGCEE) &&
73  calo_geometry.getSubdetectorGeometry(DetId::Forward, HGCHEF) &&
74  calo_geometry.getSubdetectorGeometry(DetId::Hcal, HcalEndcap))) {
75  throw cms::Exception("LogicError")
76  << "Configuration asked for non-V9 geometry, but the CaloGeometry does not look like one";
77  }
78  geometry->initialize(&calo_geometry);
79  }
80  return geometry;
81 }

References calo_geometry_token_, beamerCreator::create(), ee_geometry_token_, Exception, DetId::Forward, geometry, geometry_config_, geometry_name_, edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), get, edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getHandle(), DetId::Hcal, HcalEndcap, HGCEE, HGCHEF, hsc_geometry_token_, hsi_geometry_token_, isV9Geometry_, and nose_geometry_token_.

Member Data Documentation

◆ calo_geometry_token_

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> HGCalTriggerGeometryESProducer::calo_geometry_token_
private

Definition at line 24 of file HGCalTriggerGeometryESProducer.cc.

Referenced by HGCalTriggerGeometryESProducer(), and produce().

◆ ee_geometry_token_

edm::ESGetToken<HGCalGeometry, IdealGeometryRecord> HGCalTriggerGeometryESProducer::ee_geometry_token_
private

Definition at line 25 of file HGCalTriggerGeometryESProducer.cc.

Referenced by HGCalTriggerGeometryESProducer(), and produce().

◆ geometry_config_

edm::ParameterSet HGCalTriggerGeometryESProducer::geometry_config_
private

Definition at line 22 of file HGCalTriggerGeometryESProducer.cc.

Referenced by produce().

◆ geometry_name_

std::string HGCalTriggerGeometryESProducer::geometry_name_
private

Definition at line 23 of file HGCalTriggerGeometryESProducer.cc.

Referenced by produce().

◆ hsc_geometry_token_

edm::ESGetToken<HGCalGeometry, IdealGeometryRecord> HGCalTriggerGeometryESProducer::hsc_geometry_token_
private

Definition at line 27 of file HGCalTriggerGeometryESProducer.cc.

Referenced by HGCalTriggerGeometryESProducer(), and produce().

◆ hsi_geometry_token_

edm::ESGetToken<HGCalGeometry, IdealGeometryRecord> HGCalTriggerGeometryESProducer::hsi_geometry_token_
private

Definition at line 26 of file HGCalTriggerGeometryESProducer.cc.

Referenced by HGCalTriggerGeometryESProducer(), and produce().

◆ isV9Geometry_

bool HGCalTriggerGeometryESProducer::isV9Geometry_
private

Definition at line 29 of file HGCalTriggerGeometryESProducer.cc.

Referenced by HGCalTriggerGeometryESProducer(), and produce().

◆ nose_geometry_token_

edm::ESGetToken<HGCalGeometry, IdealGeometryRecord> HGCalTriggerGeometryESProducer::nose_geometry_token_
private

Definition at line 28 of file HGCalTriggerGeometryESProducer.cc.

Referenced by HGCalTriggerGeometryESProducer(), and produce().

geometry
ESHandle< TrackerGeometry > geometry
Definition: TkLasBeamFitter.cc:200
edm::ESInputTag
Definition: ESInputTag.h:87
edm::eventsetup::DependentRecordImplementation::getHandle
ESHandle< ProductT > getHandle(ESGetToken< ProductT, DepRecordT > const &iToken) const
Definition: DependentRecordImplementation.h:86
geometry
Definition: geometry.py:1
DetId::Hcal
Definition: DetId.h:28
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:138
HGCalTriggerGeometryESProducer::calo_geometry_token_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > calo_geometry_token_
Definition: HGCalTriggerGeometryESProducer.cc:24
beamerCreator.create
def create(alignables, pedeDump, additionalData, outputFile, config)
Definition: beamerCreator.py:44
HGCalTriggerGeometryESProducer::geometry_config_
edm::ParameterSet geometry_config_
Definition: HGCalTriggerGeometryESProducer.cc:22
HGCalTriggerGeometryESProducer::hsc_geometry_token_
edm::ESGetToken< HGCalGeometry, IdealGeometryRecord > hsc_geometry_token_
Definition: HGCalTriggerGeometryESProducer.cc:27
edm::eventsetup::DependentRecordImplementation::get
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
Definition: DependentRecordImplementation.h:112
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HGCalTriggerGeometryESProducer::ReturnType
std::unique_ptr< HGCalTriggerGeometryBase > ReturnType
Definition: HGCalTriggerGeometryESProducer.cc:17
HGCEE
Definition: ForwardSubdetector.h:8
get
#define get
cc
HGCalTriggerGeometryESProducer::ee_geometry_token_
edm::ESGetToken< HGCalGeometry, IdealGeometryRecord > ee_geometry_token_
Definition: HGCalTriggerGeometryESProducer.cc:25
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
HGCalTriggerGeometryESProducer::hsi_geometry_token_
edm::ESGetToken< HGCalGeometry, IdealGeometryRecord > hsi_geometry_token_
Definition: HGCalTriggerGeometryESProducer.cc:26
HGCalTriggerGeometryESProducer::isV9Geometry_
bool isV9Geometry_
Definition: HGCalTriggerGeometryESProducer.cc:29
HcalEndcap
Definition: HcalAssistant.h:34
Exception
Definition: hltDiff.cc:246
HGCalTriggerGeometryESProducer::geometry_name_
std::string geometry_name_
Definition: HGCalTriggerGeometryESProducer.cc:23
HGCalTriggerGeometryESProducer::nose_geometry_token_
edm::ESGetToken< HGCalGeometry, IdealGeometryRecord > nose_geometry_token_
Definition: HGCalTriggerGeometryESProducer.cc:28
HGCHEF
Definition: ForwardSubdetector.h:9
DetId::Forward
Definition: DetId.h:30
edm::ParameterSet::getParameterSet
ParameterSet const & getParameterSet(std::string const &) const
Definition: ParameterSet.cc:2121