CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
edm::ESProducer Class Reference

#include <ESProducer.h>

Inheritance diagram for edm::ESProducer:
edm::ESProductResolverFactoryProducer edm::eventsetup::ESProductResolverProvider ALPAKA_ACCELERATOR_NAMESPACE::EcalElectronicsMappingHostESProducer ALPAKA_ACCELERATOR_NAMESPACE::EcalMultifitConditionsHostESProducer ALPAKA_ACCELERATOR_NAMESPACE::EcalMultifitParametersHostESProducer ALPAKA_ACCELERATOR_NAMESPACE::ESProducer ALPAKA_ACCELERATOR_NAMESPACE::PFClusterParamsESProducer ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitECALParamsESProducer ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitHCALParamsESProducer ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitTopologyESProducer< CAL > ALPAKA_ACCELERATOR_NAMESPACE::PixelCPEFastParamsESProducerAlpaka< TrackerTraits > ALPAKA_ACCELERATOR_NAMESPACE::SiPixelCablingSoAESProducer ALPAKA_ACCELERATOR_NAMESPACE::SiPixelGainCalibrationForHLTSoAESProducer ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerA ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerB ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerC ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerD ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerE ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerNull AnalyticalPropagatorESProducer BeamHaloPropagatorESProducer BeamSpotFakeConditions BtagPerformanceESProducer BufferedBoostIOESProducer< DataType, MyRecord > CaloGeometryBuilder CaloGeometryDBEP< T, U > CaloGeometryEP< T, D > CaloMiscalibTools CaloMiscalibToolsMC CaloSimParametersESModule CaloSimulationConstantsESModule CaloTopologyBuilder CaloTowerConstituentsMapBuilder CaloTowerHardcodeGeometryEP CaloTowerTopologyEP CaloTPGTranscoderULUTs CastorDbProducer CastorHardcodeCalibrations CastorHardcodeGeometryEP CastorTextCalibrations Chi2ChargeMeasurementEstimatorESProducer CloseComponentsMergerESProducer< N > ClusterShapeHitFilterESProducer cms::alpakatest::TestESProducerT< TProduct, TRecord > ConvertingESProducerT< Record, Target, Source > ConvertingESProducerWithDependenciesT< CombinedRecord< DepsRecords... >, Target, Dependencies... > CSCBadChambersConditions CSCBadStripsConditions CSCBadWiresConditions CSCChamberIndexValues CSCChamberMapValues CSCChamberTimeCorrectionsValues CSCChannelMapperESProducer CSCChipSpeedCorrectionDBConditions CSCCrateMapValues CSCCrosstalkConditions CSCCrosstalkDBConditions CSCDBL1TPParametersConditions CSCDDUMapValues CSCFakeCrosstalkConditions CSCFakeDBCrosstalk CSCFakeDBGains CSCFakeDBNoiseMatrix CSCFakeDBPedestals CSCFakeGainsConditions CSCFakeNoiseMatrixConditions CSCFakePedestalsConditions CSCGainsConditions CSCGainsDBConditions CSCGasGainCorrectionDBConditions CSCGeometryESModule CSCIndexerESProducer CSCL1TPLookupTableEP CSCL1TPParametersConditions CSCNoiseMatrixConditions CSCNoiseMatrixDBConditions CSCObjectMapESProducer CSCPedestalsDBConditions CSCTFConfigProducer CTPPSBeamParametersESSource CTPPSBeamParametersFromLHCInfoESSource CTPPSCompositeESSource CTPPSGeometryESModule CTPPSInterpolatedOpticalFunctionsESSource CTPPSLHCInfoESSource CTPPSLHCInfoRandomXangleESSource CTPPSModifiedOpticalFunctionsESSource CTPPSOpticalFunctionsESSource CTPPSPixelDAQMappingESSourceXML CTPPSRPAlignmentCorrectionsDataESSourceXML DDCompactViewESProducer DDCompactViewMFESProducer DDDetectorESProducer DDSpecParRegistryESProducer DDVectorRegistryESProducer DetIdAssociatorESProducer DetLayerGeometryESProducer DIPLumiProducer DistanceBetweenComponentsESProducer< N > DTConfigDBProducer DTConfigTrivialProducer DTFakeT0ESProducer DTGeometryESModule DTGeometryESProducer DTObjectMapESProducer DTTrackFinderConfig EcalBasicClusterLocalContCorrectionsESProducer EcalCATIAGainRatiosESProducer EcalEBTrigPrimPhase2ESProducer EcalElectronicsMappingBuilder EcalGlobalShowerContainmentCorrectionsVsEtaESProducer EcalLaserCorrectionService EcalLaserCorrectionServiceMC EcalLiteDTUPedestalsESProducer EcalMultifitParametersGPUESProducer EcalMustacheSCParametersESProducer EcalNextToDeadChannelESProducer EcalRecHitParametersGPUESProducer EcalRegionCablingESProducer EcalSCDynamicDPhiParametersESProducer EcalSeverityLevelESProducer EcalShowerContainmentCorrectionsESProducer EcalSimParametersESModule EcalTBGeometryBuilder EcalTBHodoscopeGeometryEP EcalTrigPrimESProducer EcalTrigPrimSpikeESProducer EcalTrigTowerConstituentsMapBuilder EcalTrivialConditionRetriever edm::ESProducerExternalWork edm::ESProducerLooper edm::test::cpu::ESTestProducerA edm::test::other::ESTestProducerA edmtest::ConcurrentIOVESProducer edmtest::ConcurrentIOVESSource edmtest::DoodadESProducer edmtest::DoodadESSource edmtest::ESTestProducerA edmtest::ESTestProducerAZ edmtest::ESTestProducerB edmtest::ESTestProducerBUsingHost edmtest::ESTestProducerC edmtest::ESTestProducerD edmtest::ESTestProducerE edmtest::ESTestProducerF edmtest::ESTestProducerG edmtest::ESTestProducerH edmtest::ESTestProducerI edmtest::ESTestProducerJ edmtest::ESTestProducerK edmtest::RunLumiESSource edmtest::WhatsItESProducer ES_TTClusterAlgorithm_neighbor< T > ES_TTClusterAlgorithm_official< T > ES_TTStubAlgorithm_cbc3< T > ES_TTStubAlgorithm_official< T > ESTrivialConditionRetriever FakeAlignmentProducer FakeAlignmentSource FakeCaloAlignmentEP FFTJetCorrectionESProducer< CT > FFTJetLookupTableESProducer< CT > FWRecoGeometryESProducer FWTGeoRecoGeometryESProducer GeantPropagatorESProducer GEMGeometryESModule GlobalDetLayerGeometryESProducer GlobalTrackingGeometryESProducer GsfMaterialEffectsESProducer GsfTrajectoryFitterESProducer GsfTrajectorySmootherESProducer HBHEDarkeningEP HcalAlignmentEP HcalChannelPropertiesEP HcalDbProducer HcalDDDGeometryEP HcalDDDRecConstantsESModule HcalDDDSimConstantsESModule HcalHardcodeCalibrations HcalHardcodeGeometryEP HcalMahiPulseOffsetsGPUESProducer HcalParametersESModule HcalRecAlgoESProducer HcalSimParametersESModule HcalSimulationConstantsESModule HcalTB02ParametersESModule HcalTB06ParametersESModule HcalTextCalibrations HcalTimeSlewEP HcalTopologyIdealEP HcalTPGCoderULUT HcalTrigTowerGeometryESProducer HepPDTESSource HeterogeneousHGCalHEFCellPositionsFiller HGCalGeometryESProducer HGCalNumberingInitialization HGCalParametersESModule HGCalTBGeometryESProducer HGCalTBNumberingInitialization HGCalTBParametersESModule HGCalTBTopologyBuilder HGCalTopologyBuilder HGCalTriggerGeometryESProducer HiTrivialConditionRetriever hph::ProducerHPH jet_tag_computer_esproducer_impl::JetTagComputerESProducer< ConcreteJetTagComputer, bool > jet_tag_computer_esproducer_impl::JetTagComputerESProducer< ConcreteJetTagComputer, true > JetResolutionESProducer JetResolutionScaleFactorESProducer KFSwitching1DUpdatorESProducer KFUpdatorESProducer L1CaloGeometryProd L1CaloInputScalesProducer L1ConfigOnlineProdBase< TRcd, TData > L1ConfigOnlineProdBase< L1CaloEcalScaleRcd, L1CaloEcalScale > L1ConfigOnlineProdBase< L1CaloHcalScaleRcd, L1CaloHcalScale > L1ConfigOnlineProdBase< L1EmEtScaleRcd, L1CaloEtScale > L1ConfigOnlineProdBase< L1GctChannelMaskRcd, L1GctChannelMask > L1ConfigOnlineProdBase< L1GctJetFinderParamsRcd, L1GctJetFinderParams > L1ConfigOnlineProdBase< L1GtParametersRcd, L1GtParameters > L1ConfigOnlineProdBase< L1GtPrescaleFactorsAlgoTrigRcd, L1GtPrescaleFactors > L1ConfigOnlineProdBase< L1GtPrescaleFactorsTechTrigRcd, L1GtPrescaleFactors > L1ConfigOnlineProdBase< L1GtPsbSetupRcd, L1GtPsbSetup > L1ConfigOnlineProdBase< L1GtTriggerMaskAlgoTrigRcd, L1GtTriggerMask > L1ConfigOnlineProdBase< L1GtTriggerMaskTechTrigRcd, L1GtTriggerMask > L1ConfigOnlineProdBase< L1GtTriggerMaskVetoTechTrigRcd, L1GtTriggerMask > L1ConfigOnlineProdBase< L1GtTriggerMenuRcd, L1GtTriggerMenu > L1ConfigOnlineProdBase< L1HfRingEtScaleRcd, L1CaloEtScale > L1ConfigOnlineProdBase< L1HtMissScaleRcd, L1CaloEtScale > L1ConfigOnlineProdBase< L1JetEtScaleRcd, L1CaloEtScale > L1ConfigOnlineProdBase< L1MuCSCPtLutRcd, L1MuCSCPtLut > L1ConfigOnlineProdBase< L1MuCSCTFAlignmentRcd, L1MuCSCTFAlignment > L1ConfigOnlineProdBase< L1MuCSCTFConfigurationRcd, L1MuCSCTFConfiguration > L1ConfigOnlineProdBase< L1MuDTEtaPatternLutRcd, L1MuDTEtaPatternLut > L1ConfigOnlineProdBase< L1MuDTExtLutRcd, L1MuDTExtLut > L1ConfigOnlineProdBase< L1MuDTPhiLutRcd, L1MuDTPhiLut > L1ConfigOnlineProdBase< L1MuDTPtaLutRcd, L1MuDTPtaLut > L1ConfigOnlineProdBase< L1MuDTQualPatternLutRcd, L1MuDTQualPatternLut > L1ConfigOnlineProdBase< L1MuDTTFMasksRcd, L1MuDTTFMasks > L1ConfigOnlineProdBase< L1MuDTTFParametersRcd, L1MuDTTFParameters > L1ConfigOnlineProdBase< L1MuGMTChannelMaskRcd, L1MuGMTChannelMask > L1ConfigOnlineProdBase< L1MuGMTParametersRcd, L1MuGMTParameters > L1ConfigOnlineProdBase< L1MuTriggerPtScaleRcd, L1MuTriggerPtScale > L1ConfigOnlineProdBase< L1MuTriggerScalesRcd, L1MuTriggerScales > L1ConfigOnlineProdBase< L1RCTChannelMaskRcd, L1RCTChannelMask > L1ConfigOnlineProdBase< L1RCTParametersRcd, L1RCTParameters > L1ConfigOnlineProdBase< L1RPCBxOrConfigRcd, L1RPCBxOrConfig > L1ConfigOnlineProdBase< L1RPCConeDefinitionRcd, L1RPCConeDefinition > L1ConfigOnlineProdBase< L1RPCConfigRcd, L1RPCConfig > L1ConfigOnlineProdBase< L1RPCHsbConfigRcd, L1RPCHsbConfig > L1ConfigOnlineProdBaseExt< TRcd, TData > L1ConfigOnlineProdBaseExt< L1TCaloParamsO2ORcd, l1t::CaloParams > L1ConfigOnlineProdBaseExt< L1TGlobalPrescalesVetosFractO2ORcd, L1TGlobalPrescalesVetosFract > L1ConfigOnlineProdBaseExt< L1TMuonBarrelParamsO2ORcd, L1TMuonBarrelParams > L1ConfigOnlineProdBaseExt< L1TMuonEndCapForestO2ORcd, L1TMuonEndCapForest > L1ConfigOnlineProdBaseExt< L1TMuonEndCapParamsO2ORcd, L1TMuonEndCapParams > L1ConfigOnlineProdBaseExt< L1TMuonGlobalParamsO2ORcd, L1TMuonGlobalParams > L1ConfigOnlineProdBaseExt< L1TMuonOverlapFwVersionO2ORcd, L1TMuonOverlapFwVersion > L1ConfigOnlineProdBaseExt< L1TMuonOverlapParamsO2ORcd, L1TMuonOverlapParams > L1ConfigOnlineProdBaseExt< L1TUtmTriggerMenuO2ORcd, L1TUtmTriggerMenu > L1CSCTriggerPrimitivesConfigProducer L1GctConfigProducers L1GtBoardMapsTrivialProducer L1GtParametersTrivialProducer L1GtPrescaleFactorsAlgoTrigTrivialProducer L1GtPrescaleFactorsTechTrigTrivialProducer L1GtPsbSetupTrivialProducer L1GtStableParametersTrivialProducer L1GtTriggerMaskAlgoTrigTrivialProducer L1GtTriggerMaskTechTrigTrivialProducer L1GtTriggerMaskVetoAlgoTrigTrivialProducer L1GtTriggerMaskVetoTechTrigTrivialProducer L1GtTriggerMenuXmlProducer L1MuGMTParametersProducer L1MuGMTScalesProducer L1MuTriggerPtScaleProducer L1MuTriggerScalesProducer L1ObjectKeysOnlineProdBase L1ObjectKeysOnlineProdBaseExt L1RCTOmdsFedVectorProducer L1RPCConeDefinitionProducer L1ScalesTrivialProducer L1SubsystemKeysOnlineProd L1SubsystemKeysOnlineProdExt L1TCaloConfigESProducer L1TCaloParamsESProducer L1TCaloStage2ParamsESProducer L1TGlobalPrescalesVetosESProducer L1TGlobalPrescalesVetosFractESProducer L1TMuonBarrelKalmanParamsESProducer L1TMuonBarrelParamsESProducer L1TMuonEndCapForestESProducer L1TMuonEndCapForestOnlineProxy L1TMuonEndCapParamsESProducer L1TMuonGlobalParamsESProducer L1TMuonOverlapFwVersionESProducer L1TMuonOverlapParamsESProducer L1TMuonOverlapParamsOnlineProxy L1TMuonOverlapPhase1ParamsESProducer L1TriggerKeyDummyProd L1TriggerKeyDummyProdExt L1TriggerKeyListDummyProd L1TriggerKeyListDummyProdExt L1TriggerKeyOnlineProd L1TriggerKeyOnlineProdExt L1TTwinMuxParamsESProducer L1TUtmTriggerMenuESProducer LumiCorrectionSource LwtnnESProducer magneticfield::AutoParametrizedMagneticFieldProducer magneticfield::DD4hep_VolumeBasedMagneticFieldESProducer magneticfield::DD4hep_VolumeBasedMagneticFieldESProducerFromDB magneticfield::ParametrizedMagneticFieldProducer magneticfield::UniformMagneticFieldESProducer magneticfield::VolumeBasedMagneticFieldESProducer magneticfield::VolumeBasedMagneticFieldESProducerFromDB MagneticFieldMapESProducer ME0GeometryESModule MeasurementTrackerESProducer MisalignedTrackerESProducer MkFitGeometryESProducer MkFitIterationConfigESProducer MTDCPEESProducer MTDDetLayerGeometryESProducer MTDDigiGeometryESModule MTDGeometricTimingDetESModule MTDParametersESModule MTDTimeCalibESProducer MTDTopologyEP MTDTransientTrackingRecHitBuilderESProducer MultipleScatteringParametrisationMakerESProducer MultiRecHitCollectorESProducer MuonDetLayerGeometryESProducer MuonGeometryConstantsESModule MuonNumberingESProducer MuonNumberingInitialization MuonOffsetESProducer MuonTransientTrackingRecHitBuilderESProducer NavigationSchoolESProducer OfflineToTransientBeamSpotESProducer OnlineBeamSpotESProducer Phase2StripCPEESProducer Phase2TrackerCablingESProducer PhysicsTools::MVAComputerESSourceBase PixelCPEClusterRepairESProducer PixelCPEFastESProducerT< TrackerTraits > PixelCPEGenericESProducer PixelCPETemplateRecoESProducer PixelFEDChannelCollectionProducer PixelToFEDAssociateFromAsciiESProducer PixelToLNKAssociateFromAsciiESProducer PixelTrackCleanerBySharedHitsESProducer PPSAlignmentConfigurationESSource PPSAssociationCutsESSource PPSPixelTopologyESSource PPSTimingCalibrationESSource PPSTimingCalibrationLUTESSource PropagatorWithMaterialESProducer QGLikelihoodESProducer QGLikelihoodSystematicsESProducer RCTConfigProducers RPCConeBuilder RPCGeometryESModule RPCInverseCPPFLinkMapESProducer RPCInverseLBLinkMapESProducer RPCInverseOMTFLinkMapESProducer RPCInverseTwinMuxLinkMapESProducer RPCPerformanceESSource RPCTriggerBxOrConfig RPCTriggerConfig RPCTriggerHsbConfig RPCTriggerHwConfig RunInfoTestESProducer SiPhase2BadStripConfigurableFakeESSource SiPhase2OuterTrackerFakeLorentzAngleESSource SiPhase2RecHitMatcherESProducer SiPixel2DTemplateDBObjectESProducer SiPixelFakeGainESSource SiPixelFakeGainForHLTESSource SiPixelFakeGainOfflineESSource SiPixelFakeGenErrorDBObjectESSource SiPixelFakeLorentzAngleESSource SiPixelFakeQualityESSource SiPixelFakeTemplateDBObjectESSource SiPixelGainCalibrationForHLTGPUESProducer SiPixelGenErrorDBObjectESProducer SiPixelQualityESProducer SiPixelROCsStatusAndMappingWrapperESProducer SiPixelTemplateDBObjectESProducer SiPixelTemplateStoreESProducer sistrip::MeasureLA SiStripApvGainFakeESSource SiStripApvSimulationParametersESSource SiStripBackPlaneCorrectionDepESProducer SiStripBackPlaneCorrectionFakeESSource SiStripBadModuleConfigurableFakeESSource SiStripBaseDelayFakeESSource SiStripClusterizerConditionsESProducer SiStripClusterizerConditionsGPUESProducer SiStripConfObjectFakeESSource SiStripConnectivity SiStripDelayESProducer SiStripFedCablingESProducer SiStripGainESProducer SiStripGainESSource SiStripGainSimESProducer SiStripHashedDetIdESModule SiStripHashedDetIdFakeESSource SiStripLatencyFakeESSource SiStripLorentzAngleDepESProducer SiStripLorentzAngleFakeESSource SiStripNoiseESSource SiStripNoisesFakeESSource SiStripPedestalsESSource SiStripPedestalsFakeESSource SiStripQualityESProducer SiStripQualityFakeESSource SiStripRecHitMatcherESProducer SiStripRegionConnectivity SiStripTemplateEmptyFakeESSource< TObject, TRecord > SiStripThresholdFakeESSource SiTrackerMultiRecHitUpdatorESProducer SkippingLayerCosmicNavigationSchoolESProducer SmartPropagatorESProducer StableParametersTrivialProducer SteppingHelixPropagatorESProducer StraightLinePropagatorESProducer StringResolutionProviderESProducer StripCPEESProducer TestCaloAlignmentEP TfGraphDefProducer TGeoMgrFromDdd TkDetMapESProducer TkMSParameterizationBuilder TkTransientTrackingRecHitBuilderESProducer TotemDAQMappingESSourceXML TotemGeometryESModule TrackAlgoPriorityOrderESProducer TrackCleanerESProducer TrackerDigiGeometryESModule trackerDTC::ProducerLayerEncoding TrackerGeometricDetESModule TrackerInteractionGeometryESProducer TrackerMTDRecoGeometryESProducer TrackerParametersESModule TrackerRecoGeometryESProducer trackerTFP::ProducerDemonstrator trackerTFP::ProducerES trackerTFP::ProducerFormatsKF trackerTFP::ProducerLayerEncoding TrackerTopologyEP TrackingRecHitPropagatorESProducer TrajectoryCleanerESProducer TransientTrackBuilderESProducer trklet::ProducerChannelAssignment TSCBLBuilderNoMaterialESProducer TSCBLBuilderWithPropagatorESProducer tt::ProducerSetup XMLIdealGeometryESProducer XMLIdealGeometryESSource XMLIdealMagneticFieldGeometryESProducer ZdcHardcodeGeometryEP

Public Member Functions

 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
 ESProducer (ESProducer &&)=delete
 
ESResolverIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProduceroperator= (const ESProducer &)=delete
 
ESProduceroperator= (ESProducer &&)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESResolverIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProductResolverFactoryProducer
 ESProductResolverFactoryProducer ()
 
 ESProductResolverFactoryProducer (const ESProductResolverFactoryProducer &)=delete
 
const ESProductResolverFactoryProduceroperator= (const ESProductResolverFactoryProducer &)=delete
 
 ~ESProductResolverFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
void createKeyedResolvers (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
const ComponentDescriptiondescription () const
 
 ESProductResolverProvider ()
 
 ESProductResolverProvider (const ESProductResolverProvider &)=delete
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedResolverskeyedResolvers (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const ESProductResolverProvideroperator= (const ESProductResolverProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~ESProductResolverProvider () noexcept(false)
 

Protected Member Functions

ESConsumesInfoconsumesInfoPushBackNew ()
 
unsigned int consumesInfoSize () const
 
template<typename CallbackT , typename TList , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
 
template<typename CallbackT , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>, const eventsetup::produce::Null *, const TRecord *, const es::Label &)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *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 TDecorator >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename TFunc >
auto setWhatProduced (TFunc &&func, const es::Label &iLabel={})
 
template<typename TReturn , typename TRecord , typename TFunc , typename TDecorator >
ESConsumesCollectorT< TRecord > setWhatProduced (TFunc &&func, TDecorator &&iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProductResolverFactoryProducer
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::ESProductResolverFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedResolversVector registerResolvers (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::ESProductResolverProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 

Private Member Functions

template<typename CallbackT , typename TProduct , typename TRecord >
void registerProduct (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TProduct *, const TRecord *, const es::Label &iLabel)
 
template<typename CallbackT , typename TProduct , typename TRecord , int IIndex>
void registerProduct (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const es::L< TProduct, IIndex > *, const TRecord *, const es::Label &iLabel)
 

Private Attributes

SharedResourcesAcquirer acquirer_
 
std::vector< std::unique_ptr< ESConsumesInfo > > consumesInfos_
 
bool hasMayConsumes_ = false
 
std::vector< std::vector< ESResolverIndex > > itemsToGetFromRecords_
 
std::vector< std::vector< ESRecordIndex > > recordsUsedDuringGet_
 
std::unique_ptr< std::vector< std::string > > sharedResourceNames_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProductResolverFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::ESProductResolverProvider
using KeyedResolversVector = std::vector< std::pair< DataKey, std::shared_ptr< ESProductResolver > >>
 

Detailed Description

Description: An EventSetup algorithmic Provider that encapsulates the algorithm as a member method

Usage: Inheriting from this class is the simplest way to create an algorithm which gets called when a new data item is needed for the EventSetup. This class is designed to call a member method of inheriting classes each time the algorithm needs to be run. (A more flexible system in which the algorithms can be set at run-time instead of compile time can be obtained by inheriting from ESProductResolverFactoryProducer instead.)

If only one algorithm is being encapsulated then the user needs to 1) add a method name 'produce' to the class. The 'produce' takes as its argument a const reference to the record that is to hold the data item being produced. If only one data item is being produced, the 'produce' method must return either an 'std::unique_ptr' or 'std::shared_ptr' to the object being produced. (The choice depends on if the EventSetup or the ESProducer is managing the lifetime of the object). If multiple items are being Produced they the 'produce' method must return an ESProducts<> object which holds all of the items. 2) add 'setWhatProduced(this);' to their classes constructor

Example: one algorithm creating only one object

class FooProd : public edm::ESProducer {
std::unique_ptr<Foo> produce(const FooRecord&);
...
};
FooProd::FooProd(const edm::ParameterSet&) {
...
}

Example: one algorithm creating two objects

class FoosProd : public edm::ESProducer {
edm::ESProducts<std::unique_ptr<Foo1>, std::unique_ptr<Foo2>> produce(const FooRecord&);
...
};

If multiple algorithms are being encapsulated then 1) like 1 above except the methods can have any names you want 2) add 'setWhatProduced(this, &<class name>::<method name>);' for each method in the class' constructor NOTE: the algorithms can put data into the same record or into different records

Example: two algorithms each creating only one objects

class FooBarProd : public edm::eventsetup::ESProducer {
std::unique_ptr<Foo> produceFoo(const FooRecord&);
std::unique_ptr<Bar> produceBar(const BarRecord&);
...
};
FooBarProd::FooBarProd(const edm::ParameterSet&) {
setWhatProduced(this,&FooBarProd::produceFoo);
setWhatProduced(this,&FooBarProd::produceBar);
...
}

Description: Module to produce EventSetup data asynchronously in a manner similar to the ExternalWork feature of EDProducers.

Usage: Same as ESProducer interface except there is the option to define a second "acquire" function if you use the setWhatAcquiredProduced function.

Definition at line 104 of file ESProducer.h.

Constructor & Destructor Documentation

◆ ESProducer() [1/3]

edm::ESProducer::ESProducer ( )

Definition at line 19 of file ESProducer.cc.

19 : consumesInfos_{}, acquirer_{{{std::make_shared<SerialTaskQueue>()}}} {}
std::vector< std::unique_ptr< ESConsumesInfo > > consumesInfos_
Definition: ESProducer.h:297
SharedResourcesAcquirer acquirer_
Definition: ESProducer.h:303

◆ ~ESProducer()

edm::ESProducer::~ESProducer ( )
overridenoexcept

Definition at line 21 of file ESProducer.cc.

21 {}

◆ ESProducer() [2/3]

edm::ESProducer::ESProducer ( const ESProducer )
delete

◆ ESProducer() [3/3]

edm::ESProducer::ESProducer ( ESProducer &&  )
delete

Member Function Documentation

◆ consumesInfoPushBackNew()

ESConsumesInfo* edm::ESProducer::consumesInfoPushBackNew ( )
inlineprotected

Definition at line 248 of file ESProducer.h.

References consumesInfos_.

248  {
249  consumesInfos_.push_back(std::make_unique<ESConsumesInfo>());
250  return consumesInfos_.back().get();
251  }
std::vector< std::unique_ptr< ESConsumesInfo > > consumesInfos_
Definition: ESProducer.h:297

◆ consumesInfoSize()

unsigned int edm::ESProducer::consumesInfoSize ( ) const
inlineprotected

Definition at line 246 of file ESProducer.h.

References consumesInfos_.

246 { return consumesInfos_.size(); }
std::vector< std::unique_ptr< ESConsumesInfo > > consumesInfos_
Definition: ESProducer.h:297

◆ getTokenIndices()

ESResolverIndex const* edm::ESProducer::getTokenIndices ( unsigned int  iIndex) const
inline

Definition at line 114 of file ESProducer.h.

References relativeConstraints::empty, and itemsToGetFromRecords_.

114  {
115  if (itemsToGetFromRecords_.empty()) {
116  return nullptr;
117  }
118  return (itemsToGetFromRecords_[iIndex].empty()) ? static_cast<ESResolverIndex const*>(nullptr)
119  : &(itemsToGetFromRecords_[iIndex].front());
120  }
std::vector< std::vector< ESResolverIndex > > itemsToGetFromRecords_
Definition: ESProducer.h:298

◆ getTokenRecordIndices()

ESRecordIndex const* edm::ESProducer::getTokenRecordIndices ( unsigned int  iIndex) const
inline

Definition at line 121 of file ESProducer.h.

References relativeConstraints::empty, and recordsUsedDuringGet_.

121  {
122  if (recordsUsedDuringGet_.empty()) {
123  return nullptr;
124  }
125  return (recordsUsedDuringGet_[iIndex].empty()) ? static_cast<ESRecordIndex const*>(nullptr)
126  : &(recordsUsedDuringGet_[iIndex].front());
127  }
std::vector< std::vector< ESRecordIndex > > recordsUsedDuringGet_
Definition: ESProducer.h:301

◆ hasMayConsumes()

bool edm::ESProducer::hasMayConsumes ( ) const
inlinenoexcept

Definition at line 135 of file ESProducer.h.

References hasMayConsumes_.

Referenced by updateFromMayConsumes().

135 { return hasMayConsumes_; }
bool hasMayConsumes_
Definition: ESProducer.h:305

◆ numberOfTokenIndices()

size_t edm::ESProducer::numberOfTokenIndices ( unsigned int  iIndex) const
inline

Definition at line 128 of file ESProducer.h.

References itemsToGetFromRecords_.

128  {
129  if (itemsToGetFromRecords_.empty()) {
130  return 0;
131  }
132  return itemsToGetFromRecords_[iIndex].size();
133  }
std::vector< std::vector< ESResolverIndex > > itemsToGetFromRecords_
Definition: ESProducer.h:298

◆ operator=() [1/2]

ESProducer& edm::ESProducer::operator= ( const ESProducer )
delete

◆ operator=() [2/2]

ESProducer& edm::ESProducer::operator= ( ESProducer &&  )
delete

◆ queue()

SerialTaskQueueChain& edm::ESProducer::queue ( )
inline

Definition at line 155 of file ESProducer.h.

References acquirer_, and edm::SharedResourcesAcquirer::serialQueueChain().

155 { return acquirer_.serialQueueChain(); }
SerialTaskQueueChain & serialQueueChain() const
SharedResourcesAcquirer acquirer_
Definition: ESProducer.h:303

◆ registerProduct() [1/2]

template<typename CallbackT , typename TProduct , typename TRecord >
void edm::ESProducer::registerProduct ( std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>  iCallback,
const TProduct *  ,
const TRecord *  ,
const es::Label iLabel 
)
inlineprivate

Definition at line 272 of file ESProducer.h.

References edm::es::Label::default_, eostools::move(), and edm::ESProductResolverFactoryProducer::registerFactory().

Referenced by registerProducts().

275  {
276  using ResolverType = eventsetup::CallbackProductResolver<CallbackT, TRecord, TProduct>;
277  using FactoryType = eventsetup::ESProductResolverArgumentFactoryTemplate<ResolverType, CallbackT>;
278  registerFactory(std::make_unique<FactoryType>(std::move(iCallback)), iLabel.default_);
279  }
void registerFactory(std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
def move(src, dest)
Definition: eostools.py:511

◆ registerProduct() [2/2]

template<typename CallbackT , typename TProduct , typename TRecord , int IIndex>
void edm::ESProducer::registerProduct ( std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>  iCallback,
const es::L< TProduct, IIndex > *  ,
const TRecord *  ,
const es::Label iLabel 
)
inlineprivate

Definition at line 282 of file ESProducer.h.

References edm::errors::Configuration, edm::es::Label::def(), edm::es::Label::labels_, eostools::move(), edm::ESProductResolverFactoryProducer::registerFactory(), and edm::Exception::throwThis().

285  {
286  if (iLabel.labels_.size() <= IIndex || iLabel.labels_[IIndex] == es::Label::def()) {
288  "Unnamed Label\nthe index ",
289  IIndex,
290  " was never assigned a name in the 'setWhatProduced' method");
291  }
292  using ResolverType = eventsetup::CallbackProductResolver<CallbackT, TRecord, es::L<TProduct, IIndex>>;
293  using FactoryType = eventsetup::ESProductResolverArgumentFactoryTemplate<ResolverType, CallbackT>;
294  registerFactory(std::make_unique<FactoryType>(std::move(iCallback)), iLabel.labels_[IIndex]);
295  }
static const std::string & def()
Definition: es_Label.h:84
void registerFactory(std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
Definition: EDMException.cc:86
def move(src, dest)
Definition: eostools.py:511

◆ registerProducts() [1/2]

template<typename CallbackT , typename TList , typename TRecord >
void edm::ESProducer::registerProducts ( std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>  iCallback,
const TList *  ,
const TRecord *  iRecord,
const es::Label iLabel 
)
inlineprotected

Definition at line 254 of file ESProducer.h.

References eostools::move(), and registerProduct().

257  {
258  registerProduct(iCallback, static_cast<const typename TList::tail_type*>(nullptr), iRecord, iLabel);
259  registerProducts(std::move(iCallback), static_cast<const typename TList::head_type*>(nullptr), iRecord, iLabel);
260  }
void registerProduct(std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TProduct *, const TRecord *, const es::Label &iLabel)
Definition: ESProducer.h:272
void registerProducts(std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
Definition: ESProducer.h:254
def move(src, dest)
Definition: eostools.py:511

◆ registerProducts() [2/2]

template<typename CallbackT , typename TRecord >
void edm::ESProducer::registerProducts ( std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>  ,
const eventsetup::produce::Null ,
const TRecord *  ,
const es::Label  
)
inlineprotected

Definition at line 263 of file ESProducer.h.

266  {
267  //do nothing
268  }

◆ setWhatProduced() [1/8]

template<typename T >
auto edm::ESProducer::setWhatProduced ( T iThis,
const es::Label iLabel = {} 
)
inlineprotected
Parameters
iThisthe 'this' pointer to an inheriting class instance The method determines the Record argument and return value of the 'produce' method in order to do the registration with the EventSetup

Definition at line 166 of file ESProducer.h.

Referenced by edmtest::AcquireIntESProducer::AcquireIntESProducer(), AnalyticalPropagatorESProducer::AnalyticalPropagatorESProducer(), BeamSpotFakeConditions::BeamSpotFakeConditions(), CaloGeometryBuilder::CaloGeometryBuilder(), CaloGeometryDBEP< T, U >::CaloGeometryDBEP(), CaloGeometryEP< T, D >::CaloGeometryEP(), CaloMiscalibTools::CaloMiscalibTools(), CaloMiscalibToolsMC::CaloMiscalibToolsMC(), CaloSimParametersESModule::CaloSimParametersESModule(), CaloSimulationConstantsESModule::CaloSimulationConstantsESModule(), CaloTopologyBuilder::CaloTopologyBuilder(), CaloTowerConstituentsMapBuilder::CaloTowerConstituentsMapBuilder(), CaloTowerHardcodeGeometryEP::CaloTowerHardcodeGeometryEP(), CaloTowerTopologyEP::CaloTowerTopologyEP(), CaloTPGTranscoderULUTs::CaloTPGTranscoderULUTs(), CastorDbProducer::CastorDbProducer(), CastorHardcodeGeometryEP::CastorHardcodeGeometryEP(), ClusterShapeHitFilterESProducer::ClusterShapeHitFilterESProducer(), edmtest::ConcurrentIOVESProducer::ConcurrentIOVESProducer(), edmtest::ConcurrentIOVESSource::ConcurrentIOVESSource(), ConvertingESProducerT< Record, Target, Source >::ConvertingESProducerT(), CSCBadChambersConditions::CSCBadChambersConditions(), CSCBadStripsConditions::CSCBadStripsConditions(), CSCBadWiresConditions::CSCBadWiresConditions(), CSCChamberIndexValues::CSCChamberIndexValues(), CSCChamberMapValues::CSCChamberMapValues(), CSCChamberTimeCorrectionsValues::CSCChamberTimeCorrectionsValues(), CSCChannelMapperESProducer::CSCChannelMapperESProducer(), CSCChipSpeedCorrectionDBConditions::CSCChipSpeedCorrectionDBConditions(), CSCCrateMapValues::CSCCrateMapValues(), CSCCrosstalkConditions::CSCCrosstalkConditions(), CSCCrosstalkDBConditions::CSCCrosstalkDBConditions(), CSCDDUMapValues::CSCDDUMapValues(), CSCFakeCrosstalkConditions::CSCFakeCrosstalkConditions(), CSCFakeDBCrosstalk::CSCFakeDBCrosstalk(), CSCFakeDBGains::CSCFakeDBGains(), CSCFakeDBNoiseMatrix::CSCFakeDBNoiseMatrix(), CSCFakeDBPedestals::CSCFakeDBPedestals(), CSCFakeGainsConditions::CSCFakeGainsConditions(), CSCFakeNoiseMatrixConditions::CSCFakeNoiseMatrixConditions(), CSCFakePedestalsConditions::CSCFakePedestalsConditions(), CSCGainsConditions::CSCGainsConditions(), CSCGainsDBConditions::CSCGainsDBConditions(), CSCGasGainCorrectionDBConditions::CSCGasGainCorrectionDBConditions(), CSCGeometryESModule::CSCGeometryESModule(), CSCIndexerESProducer::CSCIndexerESProducer(), CSCL1TPLookupTableEP::CSCL1TPLookupTableEP(), CSCL1TPParametersConditions::CSCL1TPParametersConditions(), CSCNoiseMatrixConditions::CSCNoiseMatrixConditions(), CSCNoiseMatrixDBConditions::CSCNoiseMatrixDBConditions(), CSCPedestalsDBConditions::CSCPedestalsDBConditions(), CSCTFConfigProducer::CSCTFConfigProducer(), CTPPSBeamParametersESSource::CTPPSBeamParametersESSource(), CTPPSBeamParametersFromLHCInfoESSource::CTPPSBeamParametersFromLHCInfoESSource(), CTPPSCompositeESSource::CTPPSCompositeESSource(), CTPPSGeometryESModule::CTPPSGeometryESModule(), CTPPSInterpolatedOpticalFunctionsESSource::CTPPSInterpolatedOpticalFunctionsESSource(), CTPPSLHCInfoESSource::CTPPSLHCInfoESSource(), CTPPSLHCInfoRandomXangleESSource::CTPPSLHCInfoRandomXangleESSource(), CTPPSOpticalFunctionsESSource::CTPPSOpticalFunctionsESSource(), CTPPSPixelDAQMappingESSourceXML::CTPPSPixelDAQMappingESSourceXML(), magneticfield::DD4hep_VolumeBasedMagneticFieldESProducerFromDB::DD4hep_VolumeBasedMagneticFieldESProducerFromDB(), DDDetectorESProducer::DDDetectorESProducer(), DIPLumiProducer::DIPLumiProducer(), DistanceBetweenComponentsESProducer< N >::DistanceBetweenComponentsESProducer(), edmtest::DoodadESProducer::DoodadESProducer(), edmtest::DoodadESSource::DoodadESSource(), DTConfigDBProducer::DTConfigDBProducer(), DTConfigTrivialProducer::DTConfigTrivialProducer(), DTGeometryESModule::DTGeometryESModule(), DTGeometryESProducer::DTGeometryESProducer(), EcalBasicClusterLocalContCorrectionsESProducer::EcalBasicClusterLocalContCorrectionsESProducer(), EcalEBTrigPrimPhase2ESProducer::EcalEBTrigPrimPhase2ESProducer(), EcalElectronicsMappingBuilder::EcalElectronicsMappingBuilder(), ALPAKA_ACCELERATOR_NAMESPACE::EcalElectronicsMappingHostESProducer::EcalElectronicsMappingHostESProducer(), EcalGlobalShowerContainmentCorrectionsVsEtaESProducer::EcalGlobalShowerContainmentCorrectionsVsEtaESProducer(), EcalLaserCorrectionService::EcalLaserCorrectionService(), EcalLaserCorrectionServiceMC::EcalLaserCorrectionServiceMC(), ALPAKA_ACCELERATOR_NAMESPACE::EcalMultifitConditionsHostESProducer::EcalMultifitConditionsHostESProducer(), ALPAKA_ACCELERATOR_NAMESPACE::EcalMultifitParametersHostESProducer::EcalMultifitParametersHostESProducer(), EcalMustacheSCParametersESProducer::EcalMustacheSCParametersESProducer(), EcalRegionCablingESProducer::EcalRegionCablingESProducer(), EcalSCDynamicDPhiParametersESProducer::EcalSCDynamicDPhiParametersESProducer(), EcalShowerContainmentCorrectionsESProducer::EcalShowerContainmentCorrectionsESProducer(), EcalSimParametersESModule::EcalSimParametersESModule(), EcalTBGeometryBuilder::EcalTBGeometryBuilder(), EcalTBHodoscopeGeometryEP::EcalTBHodoscopeGeometryEP(), EcalTrigPrimESProducer::EcalTrigPrimESProducer(), EcalTrigPrimSpikeESProducer::EcalTrigPrimSpikeESProducer(), EcalTrigTowerConstituentsMapBuilder::EcalTrigTowerConstituentsMapBuilder(), ES_TTClusterAlgorithm_neighbor< T >::ES_TTClusterAlgorithm_neighbor(), ES_TTClusterAlgorithm_official< T >::ES_TTClusterAlgorithm_official(), ES_TTStubAlgorithm_cbc3< T >::ES_TTStubAlgorithm_cbc3(), ES_TTStubAlgorithm_official< T >::ES_TTStubAlgorithm_official(), edmtest::ESTestProducerA::ESTestProducerA(), edm::test::other::ESTestProducerA::ESTestProducerA(), edm::test::cpu::ESTestProducerA::ESTestProducerA(), edmtest::ESTestProducerAZ::ESTestProducerAZ(), edmtest::ESTestProducerB::ESTestProducerB(), edmtest::ESTestProducerBUsingHost::ESTestProducerBUsingHost(), edmtest::ESTestProducerC::ESTestProducerC(), edmtest::ESTestProducerD::ESTestProducerD(), edmtest::ESTestProducerE::ESTestProducerE(), edmtest::ESTestProducerF::ESTestProducerF(), edmtest::ESTestProducerG::ESTestProducerG(), edmtest::ESTestProducerH::ESTestProducerH(), edmtest::ESTestProducerI::ESTestProducerI(), edmtest::ESTestProducerJ::ESTestProducerJ(), edmtest::ESTestProducerK::ESTestProducerK(), FakeAlignmentProducer::FakeAlignmentProducer(), FakeAlignmentSource::FakeAlignmentSource(), FakeCaloAlignmentEP::FakeCaloAlignmentEP(), FFTJetCorrectionESProducer< CT >::FFTJetCorrectionESProducer(), FFTJetLookupTableESProducer< CT >::FFTJetLookupTableESProducer(), FWRecoGeometryESProducer::FWRecoGeometryESProducer(), FWTGeoRecoGeometryESProducer::FWTGeoRecoGeometryESProducer(), GsfMaterialEffectsESProducer::GsfMaterialEffectsESProducer(), GsfTrajectoryFitterESProducer::GsfTrajectoryFitterESProducer(), GsfTrajectorySmootherESProducer::GsfTrajectorySmootherESProducer(), HBHEDarkeningEP::HBHEDarkeningEP(), HcalAlignmentEP::HcalAlignmentEP(), HcalChannelPropertiesEP::HcalChannelPropertiesEP(), HcalDbProducer::HcalDbProducer(), HcalDDDGeometryEP::HcalDDDGeometryEP(), HcalDDDRecConstantsESModule::HcalDDDRecConstantsESModule(), HcalDDDSimConstantsESModule::HcalDDDSimConstantsESModule(), HcalHardcodeCalibrations::HcalHardcodeCalibrations(), HcalHardcodeGeometryEP::HcalHardcodeGeometryEP(), HcalMahiPulseOffsetsGPUESProducer::HcalMahiPulseOffsetsGPUESProducer(), HcalParametersESModule::HcalParametersESModule(), HcalRecAlgoESProducer::HcalRecAlgoESProducer(), HcalSimParametersESModule::HcalSimParametersESModule(), HcalSimulationConstantsESModule::HcalSimulationConstantsESModule(), HcalTB02ParametersESModule::HcalTB02ParametersESModule(), HcalTB06ParametersESModule::HcalTB06ParametersESModule(), HcalTimeSlewEP::HcalTimeSlewEP(), HcalTopologyIdealEP::HcalTopologyIdealEP(), HcalTPGCoderULUT::HcalTPGCoderULUT(), HcalTrigTowerGeometryESProducer::HcalTrigTowerGeometryESProducer(), HepPDTESSource::HepPDTESSource(), HeterogeneousHGCalHEFCellPositionsFiller::HeterogeneousHGCalHEFCellPositionsFiller(), HGCalGeometryESProducer::HGCalGeometryESProducer(), HGCalNumberingInitialization::HGCalNumberingInitialization(), HGCalParametersESModule::HGCalParametersESModule(), HGCalTBGeometryESProducer::HGCalTBGeometryESProducer(), HGCalTBNumberingInitialization::HGCalTBNumberingInitialization(), HGCalTBParametersESModule::HGCalTBParametersESModule(), HGCalTBTopologyBuilder::HGCalTBTopologyBuilder(), HGCalTopologyBuilder::HGCalTopologyBuilder(), HGCalTriggerGeometryESProducer::HGCalTriggerGeometryESProducer(), JetResolutionESProducer::JetResolutionESProducer(), JetResolutionScaleFactorESProducer::JetResolutionScaleFactorESProducer(), jet_tag_computer_esproducer_impl::JetTagComputerESProducer< ConcreteJetTagComputer, true >::JetTagComputerESProducer(), KFSwitching1DUpdatorESProducer::KFSwitching1DUpdatorESProducer(), L1CaloGeometryProd::L1CaloGeometryProd(), L1CaloInputScalesProducer::L1CaloInputScalesProducer(), L1ConfigOnlineProdBase< L1HtMissScaleRcd, L1CaloEtScale >::L1ConfigOnlineProdBase(), L1CSCTriggerPrimitivesConfigProducer::L1CSCTriggerPrimitivesConfigProducer(), L1GctConfigProducers::L1GctConfigProducers(), L1GtBoardMapsTrivialProducer::L1GtBoardMapsTrivialProducer(), L1GtParametersTrivialProducer::L1GtParametersTrivialProducer(), L1GtPrescaleFactorsAlgoTrigTrivialProducer::L1GtPrescaleFactorsAlgoTrigTrivialProducer(), L1GtPrescaleFactorsTechTrigTrivialProducer::L1GtPrescaleFactorsTechTrigTrivialProducer(), L1GtPsbSetupTrivialProducer::L1GtPsbSetupTrivialProducer(), L1GtStableParametersTrivialProducer::L1GtStableParametersTrivialProducer(), L1GtTriggerMaskAlgoTrigTrivialProducer::L1GtTriggerMaskAlgoTrigTrivialProducer(), L1GtTriggerMaskTechTrigTrivialProducer::L1GtTriggerMaskTechTrigTrivialProducer(), L1GtTriggerMaskVetoAlgoTrigTrivialProducer::L1GtTriggerMaskVetoAlgoTrigTrivialProducer(), L1GtTriggerMaskVetoTechTrigTrivialProducer::L1GtTriggerMaskVetoTechTrigTrivialProducer(), L1GtTriggerMenuXmlProducer::L1GtTriggerMenuXmlProducer(), L1MuGMTParametersProducer::L1MuGMTParametersProducer(), L1MuGMTScalesProducer::L1MuGMTScalesProducer(), L1MuTriggerPtScaleProducer::L1MuTriggerPtScaleProducer(), L1MuTriggerScalesProducer::L1MuTriggerScalesProducer(), L1ObjectKeysOnlineProdBase::L1ObjectKeysOnlineProdBase(), L1RCTOmdsFedVectorProducer::L1RCTOmdsFedVectorProducer(), L1RPCConeDefinitionProducer::L1RPCConeDefinitionProducer(), L1ScalesTrivialProducer::L1ScalesTrivialProducer(), L1SubsystemKeysOnlineProd::L1SubsystemKeysOnlineProd(), L1SubsystemKeysOnlineProdExt::L1SubsystemKeysOnlineProdExt(), L1TGlobalPrescalesVetosESProducer::L1TGlobalPrescalesVetosESProducer(), L1TGlobalPrescalesVetosFractESProducer::L1TGlobalPrescalesVetosFractESProducer(), L1TMuonBarrelKalmanParamsESProducer::L1TMuonBarrelKalmanParamsESProducer(), L1TMuonBarrelParamsESProducer::L1TMuonBarrelParamsESProducer(), L1TMuonEndCapParamsESProducer::L1TMuonEndCapParamsESProducer(), L1TMuonGlobalParamsESProducer::L1TMuonGlobalParamsESProducer(), L1TMuonOverlapFwVersionESProducer::L1TMuonOverlapFwVersionESProducer(), L1TMuonOverlapParamsESProducer::L1TMuonOverlapParamsESProducer(), L1TMuonOverlapPhase1ParamsESProducer::L1TMuonOverlapPhase1ParamsESProducer(), L1TriggerKeyDummyProd::L1TriggerKeyDummyProd(), L1TriggerKeyDummyProdExt::L1TriggerKeyDummyProdExt(), L1TriggerKeyListDummyProd::L1TriggerKeyListDummyProd(), L1TriggerKeyListDummyProdExt::L1TriggerKeyListDummyProdExt(), L1TriggerKeyOnlineProd::L1TriggerKeyOnlineProd(), L1TriggerKeyOnlineProdExt::L1TriggerKeyOnlineProdExt(), L1TTwinMuxParamsESProducer::L1TTwinMuxParamsESProducer(), LumiCorrectionSource::LumiCorrectionSource(), LwtnnESProducer::LwtnnESProducer(), MagneticFieldMapESProducer::MagneticFieldMapESProducer(), ME0GeometryESModule::ME0GeometryESModule(), sistrip::MeasureLA::MeasureLA(), MisalignedTrackerESProducer::MisalignedTrackerESProducer(), MkFitGeometryESProducer::MkFitGeometryESProducer(), MkFitIterationConfigESProducer::MkFitIterationConfigESProducer(), MTDDigiGeometryESModule::MTDDigiGeometryESModule(), MTDGeometricTimingDetESModule::MTDGeometricTimingDetESModule(), MTDParametersESModule::MTDParametersESModule(), MTDTopologyEP::MTDTopologyEP(), MultipleScatteringParametrisationMakerESProducer::MultipleScatteringParametrisationMakerESProducer(), MultiRecHitCollectorESProducer::MultiRecHitCollectorESProducer(), MuonGeometryConstantsESModule::MuonGeometryConstantsESModule(), MuonNumberingInitialization::MuonNumberingInitialization(), MuonOffsetESProducer::MuonOffsetESProducer(), PhysicsTools::MVAComputerESSourceImpl< RecordType >::MVAComputerESSourceImpl(), NavigationSchoolESProducer::NavigationSchoolESProducer(), OnlineBeamSpotESProducer::OnlineBeamSpotESProducer(), magneticfield::ParametrizedMagneticFieldProducer::ParametrizedMagneticFieldProducer(), ALPAKA_ACCELERATOR_NAMESPACE::PFClusterParamsESProducer::PFClusterParamsESProducer(), Phase2StripCPEESProducer::Phase2StripCPEESProducer(), Phase2TrackerCablingESProducer::Phase2TrackerCablingESProducer(), PixelCPEFastESProducerT< TrackerTraits >::PixelCPEFastESProducerT(), ALPAKA_ACCELERATOR_NAMESPACE::PixelCPEFastParamsESProducerAlpaka< TrackerTraits >::PixelCPEFastParamsESProducerAlpaka(), PixelToFEDAssociateFromAsciiESProducer::PixelToFEDAssociateFromAsciiESProducer(), PixelToLNKAssociateFromAsciiESProducer::PixelToLNKAssociateFromAsciiESProducer(), PixelTrackCleanerBySharedHitsESProducer::PixelTrackCleanerBySharedHitsESProducer(), PPSAlignmentConfigurationESSource::PPSAlignmentConfigurationESSource(), PPSPixelTopologyESSource::PPSPixelTopologyESSource(), PPSTimingCalibrationESSource::PPSTimingCalibrationESSource(), PPSTimingCalibrationLUTESSource::PPSTimingCalibrationLUTESSource(), trklet::ProducerChannelAssignment::ProducerChannelAssignment(), trackerTFP::ProducerDemonstrator::ProducerDemonstrator(), trackerTFP::ProducerES::ProducerES(), trackerTFP::ProducerFormatsKF::ProducerFormatsKF(), hph::ProducerHPH::ProducerHPH(), trackerTFP::ProducerLayerEncoding::ProducerLayerEncoding(), trackerDTC::ProducerLayerEncoding::ProducerLayerEncoding(), tt::ProducerSetup::ProducerSetup(), RCTConfigProducers::RCTConfigProducers(), RPCConeBuilder::RPCConeBuilder(), RPCInverseCPPFLinkMapESProducer::RPCInverseCPPFLinkMapESProducer(), RPCInverseLBLinkMapESProducer::RPCInverseLBLinkMapESProducer(), RPCInverseOMTFLinkMapESProducer::RPCInverseOMTFLinkMapESProducer(), RPCInverseTwinMuxLinkMapESProducer::RPCInverseTwinMuxLinkMapESProducer(), RPCTriggerBxOrConfig::RPCTriggerBxOrConfig(), RPCTriggerConfig::RPCTriggerConfig(), RPCTriggerHsbConfig::RPCTriggerHsbConfig(), RPCTriggerHwConfig::RPCTriggerHwConfig(), RunInfoTestESProducer::RunInfoTestESProducer(), edmtest::RunLumiESSource::RunLumiESSource(), HcalDbProducer::setupProduce(), setWhatProduced(), ALPAKA_ACCELERATOR_NAMESPACE::ESProducer::setWhatProducedDevice(), SiPhase2BadStripConfigurableFakeESSource::SiPhase2BadStripConfigurableFakeESSource(), SiPhase2OuterTrackerFakeLorentzAngleESSource::SiPhase2OuterTrackerFakeLorentzAngleESSource(), SiPhase2RecHitMatcherESProducer::SiPhase2RecHitMatcherESProducer(), SiPixelFakeGainESSource::SiPixelFakeGainESSource(), SiPixelFakeGainForHLTESSource::SiPixelFakeGainForHLTESSource(), SiPixelFakeGainOfflineESSource::SiPixelFakeGainOfflineESSource(), SiPixelFakeGenErrorDBObjectESSource::SiPixelFakeGenErrorDBObjectESSource(), SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource(), SiPixelFakeQualityESSource::SiPixelFakeQualityESSource(), SiPixelFakeTemplateDBObjectESSource::SiPixelFakeTemplateDBObjectESSource(), SiPixelGainCalibrationForHLTGPUESProducer::SiPixelGainCalibrationForHLTGPUESProducer(), ALPAKA_ACCELERATOR_NAMESPACE::SiPixelGainCalibrationForHLTSoAESProducer::SiPixelGainCalibrationForHLTSoAESProducer(), SiPixelQualityESProducer::SiPixelQualityESProducer(), SiPixelROCsStatusAndMappingWrapperESProducer::SiPixelROCsStatusAndMappingWrapperESProducer(), SiPixelTemplateStoreESProducer::SiPixelTemplateStoreESProducer(), SiStripApvGainFakeESSource::SiStripApvGainFakeESSource(), SiStripApvSimulationParametersESSource::SiStripApvSimulationParametersESSource(), SiStripBackPlaneCorrectionDepESProducer::SiStripBackPlaneCorrectionDepESProducer(), SiStripBackPlaneCorrectionFakeESSource::SiStripBackPlaneCorrectionFakeESSource(), SiStripBaseDelayFakeESSource::SiStripBaseDelayFakeESSource(), SiStripClusterizerConditionsESProducer::SiStripClusterizerConditionsESProducer(), SiStripConfObjectFakeESSource::SiStripConfObjectFakeESSource(), SiStripDelayESProducer::SiStripDelayESProducer(), SiStripLatencyFakeESSource::SiStripLatencyFakeESSource(), SiStripLorentzAngleDepESProducer::SiStripLorentzAngleDepESProducer(), SiStripLorentzAngleFakeESSource::SiStripLorentzAngleFakeESSource(), SiStripPedestalsFakeESSource::SiStripPedestalsFakeESSource(), SiStripQualityFakeESSource::SiStripQualityFakeESSource(), SiStripRecHitMatcherESProducer::SiStripRecHitMatcherESProducer(), SiStripRegionConnectivity::SiStripRegionConnectivity(), SiStripThresholdFakeESSource::SiStripThresholdFakeESSource(), SiTrackerMultiRecHitUpdatorESProducer::SiTrackerMultiRecHitUpdatorESProducer(), StableParametersTrivialProducer::StableParametersTrivialProducer(), StringResolutionProviderESProducer::StringResolutionProviderESProducer(), StripCPEESProducer::StripCPEESProducer(), ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerA::TestAlpakaESProducerA(), ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerB::TestAlpakaESProducerB(), ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerC::TestAlpakaESProducerC(), ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerD::TestAlpakaESProducerD(), ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerE::TestAlpakaESProducerE(), ALPAKA_ACCELERATOR_NAMESPACE::TestAlpakaESProducerNull::TestAlpakaESProducerNull(), TestCaloAlignmentEP::TestCaloAlignmentEP(), cms::alpakatest::TestESProducerT< TProduct, TRecord >::TestESProducerT(), TfGraphDefProducer::TfGraphDefProducer(), TkDetMapESProducer::TkDetMapESProducer(), TkMSParameterizationBuilder::TkMSParameterizationBuilder(), TkTransientTrackingRecHitBuilderESProducer::TkTransientTrackingRecHitBuilderESProducer(), TotemDAQMappingESSourceXML::TotemDAQMappingESSourceXML(), TotemGeometryESModule::TotemGeometryESModule(), TrackAlgoPriorityOrderESProducer::TrackAlgoPriorityOrderESProducer(), TrackerDigiGeometryESModule::TrackerDigiGeometryESModule(), TrackerGeometricDetESModule::TrackerGeometricDetESModule(), TrackerInteractionGeometryESProducer::TrackerInteractionGeometryESProducer(), TrackerMTDRecoGeometryESProducer::TrackerMTDRecoGeometryESProducer(), TrackerParametersESModule::TrackerParametersESModule(), TrackerRecoGeometryESProducer::TrackerRecoGeometryESProducer(), TrajectoryCleanerESProducer::TrajectoryCleanerESProducer(), TSCBLBuilderNoMaterialESProducer::TSCBLBuilderNoMaterialESProducer(), TSCBLBuilderWithPropagatorESProducer::TSCBLBuilderWithPropagatorESProducer(), magneticfield::UniformMagneticFieldESProducer::UniformMagneticFieldESProducer(), magneticfield::VolumeBasedMagneticFieldESProducerFromDB::VolumeBasedMagneticFieldESProducerFromDB(), edmtest::WhatsItESProducer::WhatsItESProducer(), XMLIdealGeometryESSource::XMLIdealGeometryESSource(), XMLIdealMagneticFieldGeometryESProducer::XMLIdealMagneticFieldGeometryESProducer(), ZdcHardcodeGeometryEP::ZdcHardcodeGeometryEP(), and ZeeCalibration::ZeeCalibration().

166  {}) {
167  return setWhatProduced(iThis, &T::produce, iLabel);
168  }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166

◆ setWhatProduced() [2/8]

template<typename T >
auto edm::ESProducer::setWhatProduced ( T iThis,
const char *  iLabel 
)
inlineprotected

Definition at line 171 of file ESProducer.h.

References setWhatProduced().

171  {
172  return setWhatProduced(iThis, es::Label(iLabel));
173  }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166

◆ setWhatProduced() [3/8]

template<typename T >
auto edm::ESProducer::setWhatProduced ( T iThis,
const std::string &  iLabel 
)
inlineprotected

Definition at line 176 of file ESProducer.h.

References setWhatProduced().

176  {
177  return setWhatProduced(iThis, es::Label(iLabel));
178  }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166

◆ setWhatProduced() [4/8]

template<typename T , typename TDecorator >
auto edm::ESProducer::setWhatProduced ( T iThis,
const TDecorator &  iDec,
const es::Label iLabel = {} 
)
inlineprotected

Definition at line 181 of file ESProducer.h.

181  {}) {
182  return setWhatProduced(iThis, &T::produce, iDec, iLabel);
183  }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166

◆ setWhatProduced() [5/8]

template<typename T , typename TReturn , typename TRecord >
auto edm::ESProducer::setWhatProduced ( T iThis,
TReturn(T::*)(const TRecord &)  iMethod,
const es::Label iLabel = {} 
)
inlineprotected
Parameters
iThisthe 'this' pointer to an inheriting class instance
iMethoda member method of the inheriting class The TRecord and TReturn template parameters can be deduced from iMethod in order to do the registration with the EventSetup

Definition at line 190 of file ESProducer.h.

190  {}) {
191  return setWhatProduced(iThis, iMethod, eventsetup::CallbackSimpleDecorator<TRecord>(), iLabel);
192  }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166

◆ setWhatProduced() [6/8]

template<typename T , typename TReturn , typename TRecord , typename TDecorator >
auto edm::ESProducer::setWhatProduced ( T iThis,
TReturn(T ::*)(const TRecord &)  iMethod,
const TDecorator &  iDec,
const es::Label iLabel = {} 
)
inlineprotected
Parameters
iDecoratora class with 'pre'&'post' methods which are placed around the method call This function has the same template parameters and arguments as the previous function except for the addition of the decorator.

Definition at line 198 of file ESProducer.h.

201  {}) {
202  return setWhatProduced<TReturn, TRecord>(
203  [iThis, iMethod](TRecord const& iRecord) { return (iThis->*iMethod)(iRecord); },
204  createDecoratorFrom(iThis, static_cast<const TRecord*>(nullptr), iDec),
205  iLabel);
206  }
const TDecorator & createDecoratorFrom(T *, const TRecord *, const TDecorator &iDec)
Definition: ESProducer.h:99

◆ setWhatProduced() [7/8]

template<typename TFunc >
auto edm::ESProducer::setWhatProduced ( TFunc &&  func,
const es::Label iLabel = {} 
)
inlineprotected

This overload allows lambdas (functors) to be used as the production function. As of now it is not intended for wide use (we are thinking for a better API for users)

The main use case of the decorator functionality was dependsOn(), but in practice that became unused with concurrent IOVs, so it is not clear if the decorator functionality is still needed.

Definition at line 219 of file ESProducer.h.

219  {}) {
220  using Types = eventsetup::impl::ReturnArgumentTypes<TFunc>;
221  using TReturn = typename Types::return_type;
222  using TRecord = typename Types::argument_type;
223  using DecoratorType = eventsetup::CallbackSimpleDecorator<TRecord>;
224  return setWhatProduced<TReturn, TRecord>(std::forward<TFunc>(func), DecoratorType(), iLabel);
225  }
Definition: Types.py:1

◆ setWhatProduced() [8/8]

template<typename TReturn , typename TRecord , typename TFunc , typename TDecorator >
ESConsumesCollectorT<TRecord> edm::ESProducer::setWhatProduced ( TFunc &&  func,
TDecorator &&  iDec,
const es::Label iLabel = {} 
)
inlineprotected

Definition at line 228 of file ESProducer.h.

228  {}) {
229  const auto id = consumesInfoSize();
230  using DecoratorType = std::decay_t<TDecorator>;
231  using CallbackType = eventsetup::Callback<ESProducer, TFunc, TReturn, TRecord, DecoratorType>;
232  unsigned int iovIndex = 0; // Start with 0, but later will cycle through all of them
233  auto temp = std::make_shared<CallbackType>(this, std::forward<TFunc>(func), id, std::forward<TDecorator>(iDec));
234  auto callback =
235  std::make_shared<std::pair<unsigned int, std::shared_ptr<CallbackType>>>(iovIndex, std::move(temp));
237  static_cast<const typename eventsetup::produce::product_traits<TReturn>::type*>(nullptr),
238  static_cast<const TRecord*>(nullptr),
239  iLabel);
240  return ESConsumesCollectorT<TRecord>(consumesInfoPushBackNew(), id);
241  }
ESConsumesInfo * consumesInfoPushBackNew()
Definition: ESProducer.h:248
void registerProducts(std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
Definition: ESProducer.h:254
unsigned int consumesInfoSize() const
Definition: ESProducer.h:246
def move(src, dest)
Definition: eostools.py:511

◆ updateFromMayConsumes()

template<typename Record >
std::optional<std::vector<ESResolverIndex> > edm::ESProducer::updateFromMayConsumes ( unsigned int  iIndex,
const Record iRecord 
) const
inline

Definition at line 138 of file ESProducer.h.

References consumesInfos_, hasMayConsumes(), mps_fire::i, info(), itemsToGetFromRecords_, and runTheMatrix::ret.

139  {
140  if (not hasMayConsumes()) {
141  return {};
142  }
143  std::vector<ESResolverIndex> ret = itemsToGetFromRecords_[iIndex];
144  auto const info = consumesInfos_[iIndex].get();
145  for (size_t i = 0; i < info->size(); ++i) {
146  auto chooserBase = (*info)[i].chooser_.get();
147  if (chooserBase) {
148  auto chooser = static_cast<eventsetup::impl::MayConsumeChooserBase<Record>*>(chooserBase);
149  ret[i] = chooser->makeChoice(iRecord);
150  }
151  }
152  return ret;
153  }
static const TGPicture * info(bool iBackgroundIsBlack)
ret
prodAgent to be discontinued
std::vector< std::unique_ptr< ESConsumesInfo > > consumesInfos_
Definition: ESProducer.h:297
bool hasMayConsumes() const noexcept
Definition: ESProducer.h:135
std::vector< std::vector< ESResolverIndex > > itemsToGetFromRecords_
Definition: ESProducer.h:298

◆ updateLookup()

void edm::ESProducer::updateLookup ( eventsetup::ESRecordsToProductResolverIndices const &  iResolverToIndices)
finalvirtual

Reimplemented from edm::eventsetup::ESProductResolverProvider.

Definition at line 23 of file ESProducer.cc.

References acquirer_, cms::cuda::assert(), edm::eventsetup::ESRecordsToProductResolverIndices::component(), consumesInfos_, hasMayConsumes_, edm::eventsetup::ESRecordsToProductResolverIndices::indexInRecord(), info(), edm::SharedResourcesRegistry::instance(), instance, mps_monitormerge::items, itemsToGetFromRecords_, edm::eventsetup::ESRecordsToProductResolverIndices::makeTagGetter(), edm::eventsetup::ESRecordsToProductResolverIndices::missingRecordIndex(), edm::eventsetup::ESRecordsToProductResolverIndices::missingResolverIndex(), eostools::move(), edm::eventsetup::ESRecordsToProductResolverIndices::recordIndexFor(), recordsUsedDuringGet_, and sharedResourceNames_.

23  {
26  acquirer_ = instance->createAcquirer(*sharedResourceNames_);
27  sharedResourceNames_.reset();
28  }
29 
30  itemsToGetFromRecords_.reserve(consumesInfos_.size());
31  recordsUsedDuringGet_.reserve(consumesInfos_.size());
32 
33  if (itemsToGetFromRecords_.size() == consumesInfos_.size()) {
34  return;
35  }
36 
37  for (auto& info : consumesInfos_) {
38  auto& items = itemsToGetFromRecords_.emplace_back();
39  items.reserve(info->size());
40  auto& records = recordsUsedDuringGet_.emplace_back();
41  records.reserve(info->size());
42  for (auto& resolverInfo : *info) {
43  //check for mayConsumes
44  if (auto chooser = resolverInfo.chooser_.get()) {
45  hasMayConsumes_ = true;
46  auto tagGetter = iResolverToIndices.makeTagGetter(chooser->recordKey(), chooser->productType());
47  if (not tagGetter.hasNothingToGet()) {
48  records.push_back(iResolverToIndices.recordIndexFor(chooser->recordKey()));
49  } else {
50  //The record is not actually missing but the resolver is
52  }
53  chooser->setTagGetter(std::move(tagGetter));
55  } else {
56  auto index = iResolverToIndices.indexInRecord(resolverInfo.recordKey_, resolverInfo.productKey_);
58  if (not resolverInfo.moduleLabel_.empty()) {
59  auto component = iResolverToIndices.component(resolverInfo.recordKey_, resolverInfo.productKey_);
60  if (nullptr == component) {
62  } else {
63  if (component->label_.empty()) {
64  if (component->type_ != resolverInfo.moduleLabel_) {
66  }
67  } else if (component->label_ != resolverInfo.moduleLabel_) {
69  }
70  }
71  }
72  }
73  items.push_back(index);
75  records.push_back(iResolverToIndices.recordIndexFor(resolverInfo.recordKey_));
76  } else {
77  //The record is not actually missing but the resolver is
79  }
80  assert(items.size() == records.size());
81  }
82  }
83  }
84  }
static const TGPicture * info(bool iBackgroundIsBlack)
std::vector< std::vector< ESRecordIndex > > recordsUsedDuringGet_
Definition: ESProducer.h:301
static PFTauRenderPlugin instance
std::vector< std::unique_ptr< ESConsumesInfo > > consumesInfos_
Definition: ESProducer.h:297
static constexpr ESResolverIndex missingResolverIndex() noexcept
assert(be >=bs)
static SharedResourcesRegistry * instance()
std::unique_ptr< std::vector< std::string > > sharedResourceNames_
Definition: ESProducer.h:304
bool hasMayConsumes_
Definition: ESProducer.h:305
static constexpr ESRecordIndex missingRecordIndex() noexcept
SharedResourcesAcquirer acquirer_
Definition: ESProducer.h:303
std::vector< std::vector< ESResolverIndex > > itemsToGetFromRecords_
Definition: ESProducer.h:298
def move(src, dest)
Definition: eostools.py:511

◆ usesResources()

void edm::ESProducer::usesResources ( std::vector< std::string > const &  iResourceNames)
protected

Specify the names of the shared resources used by this ESProducer

Definition at line 86 of file ESProducer.cc.

References edm::SharedResourcesRegistry::instance(), instance, and sharedResourceNames_.

Referenced by magneticfield::DD4hep_VolumeBasedMagneticFieldESProducerFromDB::DD4hep_VolumeBasedMagneticFieldESProducerFromDB(), DDDetectorESProducer::DDDetectorESProducer(), magneticfield::VolumeBasedMagneticFieldESProducerFromDB::VolumeBasedMagneticFieldESProducerFromDB(), XMLIdealGeometryESProducer::XMLIdealGeometryESProducer(), XMLIdealGeometryESSource::XMLIdealGeometryESSource(), and XMLIdealMagneticFieldGeometryESProducer::XMLIdealMagneticFieldGeometryESProducer().

86  {
88  if (not sharedResourceNames_ and !iResourceNames.empty()) {
89  sharedResourceNames_ = std::make_unique<std::vector<std::string>>(iResourceNames);
90  }
91 
92  for (auto const& r : iResourceNames) {
93  instance->registerSharedResource(r);
94  }
95  //Must defer setting acquirer_ until all resources have been registered
96  // by all modules in the job
97  }
static PFTauRenderPlugin instance
static SharedResourcesRegistry * instance()
std::unique_ptr< std::vector< std::string > > sharedResourceNames_
Definition: ESProducer.h:304

Member Data Documentation

◆ acquirer_

SharedResourcesAcquirer edm::ESProducer::acquirer_
private

Definition at line 303 of file ESProducer.h.

Referenced by queue(), and updateLookup().

◆ consumesInfos_

std::vector<std::unique_ptr<ESConsumesInfo> > edm::ESProducer::consumesInfos_
private

◆ hasMayConsumes_

bool edm::ESProducer::hasMayConsumes_ = false
private

Definition at line 305 of file ESProducer.h.

Referenced by hasMayConsumes(), and updateLookup().

◆ itemsToGetFromRecords_

std::vector<std::vector<ESResolverIndex> > edm::ESProducer::itemsToGetFromRecords_
private

◆ recordsUsedDuringGet_

std::vector<std::vector<ESRecordIndex> > edm::ESProducer::recordsUsedDuringGet_
private

Definition at line 301 of file ESProducer.h.

Referenced by getTokenRecordIndices(), and updateLookup().

◆ sharedResourceNames_

std::unique_ptr<std::vector<std::string> > edm::ESProducer::sharedResourceNames_
private

Definition at line 304 of file ESProducer.h.

Referenced by updateLookup(), and usesResources().