CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
edm::ParameterSetDescription Class Reference

#include <ParameterSetDescription.h>

Classes

class  SetDescriptionEntry
 

Public Types

typedef SetDescriptionEntries::const_iterator const_iterator
 
typedef std::vector< SetDescriptionEntrySetDescriptionEntries
 

Public Member Functions

template<typename T , typename U >
ParameterDescriptionBaseadd (U const &iLabel, T const &value)
 
template<typename T , typename U >
ParameterDescriptionBaseadd (U const &iLabel)
 
ParameterDescriptionNodeaddNode (ParameterDescriptionNode const &node)
 
ParameterDescriptionNodeaddNode (std::unique_ptr< ParameterDescriptionNode > node)
 
template<typename T , typename U >
ParameterDescriptionBaseaddOptional (U const &iLabel, T const &value)
 
template<typename T , typename U >
ParameterDescriptionBaseaddOptional (U const &iLabel)
 
ParameterDescriptionNodeaddOptionalNode (ParameterDescriptionNode const &node, bool writeToCfi)
 
ParameterDescriptionNodeaddOptionalNode (std::unique_ptr< ParameterDescriptionNode > node, bool writeToCfi)
 
template<typename T , typename U >
ParameterDescriptionBaseaddOptionalUntracked (U const &iLabel, T const &value)
 
template<typename T , typename U >
ParameterDescriptionBaseaddOptionalUntracked (U const &iLabel)
 
template<typename T , typename U >
ParameterDescriptionBaseaddUntracked (U const &iLabel, T const &value)
 
template<typename T , typename U >
ParameterDescriptionBaseaddUntracked (U const &iLabel)
 
template<typename U >
ParameterDescriptionBaseaddVPSet (U const &iLabel, ParameterSetDescription const &validator, std::vector< ParameterSet > const &defaults)
 
template<typename U >
ParameterDescriptionBaseaddVPSet (U const &iLabel, ParameterSetDescription const &validator)
 
template<typename U >
ParameterDescriptionBaseaddVPSetOptional (U const &iLabel, ParameterSetDescription const &validator, std::vector< ParameterSet > const &defaults)
 
template<typename U >
ParameterDescriptionBaseaddVPSetOptional (U const &iLabel, ParameterSetDescription const &validator)
 
template<typename U >
ParameterDescriptionBaseaddVPSetOptionalUntracked (U const &iLabel, ParameterSetDescription const &validator, std::vector< ParameterSet > const &defaults)
 
template<typename U >
ParameterDescriptionBaseaddVPSetOptionalUntracked (U const &iLabel, ParameterSetDescription const &validator)
 
template<typename U >
ParameterDescriptionBaseaddVPSetUntracked (U const &iLabel, ParameterSetDescription const &validator, std::vector< ParameterSet > const &defaults)
 
template<typename U >
ParameterDescriptionBaseaddVPSetUntracked (U const &iLabel, ParameterSetDescription const &validator)
 
template<typename T , typename U >
ParameterWildcardBaseaddWildcard (U const &pattern)
 
template<typename T , typename U >
ParameterWildcardBaseaddWildcardUntracked (U const &pattern)
 
bool anythingAllowed () const
 
const_iterator begin () const
 
std::string const & comment () const
 
const_iterator end () const
 
ParameterDescriptionNodeifExists (ParameterDescriptionNode const &node1, ParameterDescriptionNode const &node2)
 
ParameterDescriptionNodeifExistsOptional (ParameterDescriptionNode const &node1, ParameterDescriptionNode const &node2, bool writeToCfi)
 
template<typename T >
ParameterDescriptionNodeifValue (ParameterDescription< T > const &switchParameter, std::unique_ptr< ParameterDescriptionCases< T > > cases)
 
template<typename T >
ParameterDescriptionNodeifValueOptional (ParameterDescription< T > const &switchParameter, std::unique_ptr< ParameterDescriptionCases< T > > cases, bool writeToCfi)
 
bool isLabelUnused (std::string const &label) const
 
bool isUnknown () const
 
template<typename T , typename U >
ParameterDescriptionNodelabelsFrom (U const &iLabel)
 
template<typename T , typename U , typename V >
ParameterDescriptionNodelabelsFrom (U const &iLabel, V const &desc)
 
template<typename T , typename U >
ParameterDescriptionNodelabelsFromOptional (U const &iLabel, bool writeToCfi)
 
template<typename T , typename U , typename V >
ParameterDescriptionNodelabelsFromOptional (U const &iLabel, bool writeToCfi, V const &desc)
 
template<typename T , typename U >
ParameterDescriptionNodelabelsFromOptionalUntracked (U const &iLabel, bool writeToCfi)
 
template<typename T , typename U , typename V >
ParameterDescriptionNodelabelsFromOptionalUntracked (U const &iLabel, bool writeToCfi, V const &desc)
 
template<typename T , typename U >
ParameterDescriptionNodelabelsFromUntracked (U const &iLabel)
 
template<typename T , typename U , typename V >
ParameterDescriptionNodelabelsFromUntracked (U const &iLabel, V const &desc)
 
 ParameterSetDescription ()
 
void print (std::ostream &os, DocFormatHelper &dfh) const
 
void reserve (SetDescriptionEntries::size_type n)
 
void setAllowAnything ()
 allow any parameter label/value pairs More...
 
void setComment (std::string const &value)
 
void setComment (char const *value)
 
void setUnknown ()
 
void validate (ParameterSet &pset) const
 
void writeCfi (std::ostream &os, bool startWithComma, int indentation) const
 
virtual ~ParameterSetDescription ()
 

Private Member Functions

template<typename T , typename U >
ParameterDescriptionBaseadd (U const &iLabel, T const &value, bool isTracked, bool isOptional, bool writeToCfi)
 
template<typename T , typename U >
ParameterDescriptionBaseadd (U const &iLabel, bool isTracked, bool isOptional, bool writeToCfi)
 
ParameterDescriptionNodeaddNode (std::unique_ptr< ParameterDescriptionNode > node, bool optional, bool writeToCfi)
 
template<typename U >
ParameterDescriptionBaseaddVPSet (U const &iLabel, ParameterSetDescription const &validator, std::vector< ParameterSet > const &defaults, bool isTracked, bool isOptional, bool writeToCfi)
 
template<typename U >
ParameterDescriptionBaseaddVPSet (U const &iLabel, ParameterSetDescription const &validator, bool isTracked, bool isOptional, bool writeToCfi)
 
template<typename T , typename U >
ParameterWildcardBaseaddWildcard (U const &pattern, bool isTracked)
 
ParameterDescriptionNodeifExists (ParameterDescriptionNode const &node1, ParameterDescriptionNode const &node2, bool optional, bool writeToCfi)
 
template<typename T >
ParameterDescriptionNodeifValue (ParameterDescription< T > const &switchParameter, std::unique_ptr< ParameterDescriptionCases< T > > cases, bool optional, bool writeToCfi)
 
template<typename T , typename U >
ParameterDescriptionNodelabelsFrom (U const &iLabel, bool isTracked, bool optional, bool writeToCfi)
 
template<typename T , typename U , typename V >
ParameterDescriptionNodelabelsFrom (U const &iLabel, bool isTracked, bool optional, bool writeToCfi, V const &desc)
 
void throwIfLabelsAlreadyUsed (std::set< std::string > const &nodeLabels)
 
void throwIfWildcardCollision (std::set< ParameterTypes > const &nodeParameterTypes, std::set< ParameterTypes > const &nodeWildcardTypes)
 

Static Private Member Functions

static void printNode (SetDescriptionEntry const &entry, std::ostream &os, DocFormatHelper &dfh)
 
static void throwIllegalParameters (std::vector< std::string > const &parameterNames, std::set< std::string > const &validatedNames)
 
static void validateNode (SetDescriptionEntry const &entry, ParameterSet &pset, std::set< std::string > &validatedNames)
 
static void writeNode (SetDescriptionEntry const &entry, std::ostream &os, bool &startWithComma, int indentation, bool &wroteSomething)
 

Private Attributes

bool anythingAllowed_
 
std::string comment_
 
SetDescriptionEntries entries_
 
std::set< ParameterTypestypesUsedForParameters_
 
std::set< ParameterTypestypesUsedForWildcards_
 
bool unknown_
 
std::set< std::string > usedLabels_
 

Detailed Description

Definition at line 50 of file ParameterSetDescription.h.

Member Typedef Documentation

typedef SetDescriptionEntries::const_iterator edm::ParameterSetDescription::const_iterator

Definition at line 67 of file ParameterSetDescription.h.

Definition at line 66 of file ParameterSetDescription.h.

Constructor & Destructor Documentation

ParameterSetDescription::ParameterSetDescription ( )

Definition at line 29 of file ParameterSetDescription.cc.

ParameterSetDescription::~ParameterSetDescription ( )
virtual

Definition at line 34 of file ParameterSetDescription.cc.

34  {
35  }

Member Function Documentation

template<typename T , typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::add ( U const &  iLabel,
T const &  value 
)
inline

Definition at line 89 of file ParameterSetDescription.h.

References relativeConstraints::value.

Referenced by JetCorrectorImplMakerBase::addToDescription(), TrackMVAClassifierBase::fill(), ConeIsolationAlgorithm::fillDescription(), GsfElectronBaseProducer::fillDescription(), GsfElectronCoreBaseProducer::fillDescription(), pat::helper::KinResolutionsLoader::fillDescription(), pat::PATUserDataHelper< ObjectType >::fillDescription(), l1t::L1TGlobalUtilHelper::fillDescription(), L1GtUtilsHelper::fillDescription(), pat::PATUserDataMerger< ObjectType, Operation >::fillDescription(), edm::fillDescriptionFromPSet(), GEDGsfElectronCoreProducer::fillDescriptions(), HLTDynamicPrescaler::fillDescriptions(), edm::ModuloStreamIDFilter::fillDescriptions(), edm::ModuloEventIDFilter::fillDescriptions(), PixelTrackCleanerBySharedHitsESProducer::fillDescriptions(), TrackAlgoPriorityOrderESProducer::fillDescriptions(), edm::Prescaler::fillDescriptions(), TrackCleanerESProducer::fillDescriptions(), CrossingFramePSimHitToPSimHitsConverter::fillDescriptions(), TrackingParticleConversionRefSelector::fillDescriptions(), HLTDiMuonGlbTrkFilter::fillDescriptions(), HLTPixelActivityFilter::fillDescriptions(), HLTPixelClusterShapeFilter::fillDescriptions(), edm::EventAuxiliaryHistoryProducer::fillDescriptions(), HLTTrackSeedMultiplicityFilter::fillDescriptions(), HLTDisplacedmumuFilter::fillDescriptions(), HLTDisplacedmumumuFilter::fillDescriptions(), HLTDisplacedtktkFilter::fillDescriptions(), HLTmumutkFilter::fillDescriptions(), SeedGeneratorFromProtoTracksEDProducer::fillDescriptions(), HLTEcalIsolationFilter::fillDescriptions(), HLTmumutktkFilter::fillDescriptions(), QGTagger::fillDescriptions(), PixelTrackProducer::fillDescriptions(), HLTMuonTrkL1TFilter::fillDescriptions(), GsfTrackProducer::fillDescriptions(), TrackingParticleNumberOfLayersProducer::fillDescriptions(), HLTMuonTrkFilter::fillDescriptions(), HLTPixelIsolTrackFilter::fillDescriptions(), BasicToPFJet::fillDescriptions(), PixelTrackFilterByKinematicsProducer::fillDescriptions(), HLTPixelIsolTrackL1TFilter::fillDescriptions(), HGCRecHitNavigator< D1, hgcee, D2, hgchef, D3, hgcheb >::fillDescriptions(), TrackingParticleBHadronRefSelector::fillDescriptions(), ESRawToDigi::fillDescriptions(), TrackerGeometricDetESModule::fillDescriptions(), EgammaHLTTimeCleanedRechitProducer::fillDescriptions(), ClusterShapeTrackFilterProducer::fillDescriptions(), HLTMuonTrackMassFilter::fillDescriptions(), VertexAssociatorByTracksProducer::fillDescriptions(), HLTEcalPixelIsolTrackFilter::fillDescriptions(), TrackerDigiGeometryESModule::fillDescriptions(), CandidateChargeBTagComputer::fillDescriptions(), L1TStage2uGMTMuon::fillDescriptions(), HIPixelTrackFilterProducer::fillDescriptions(), MultiHitFromChi2EDProducer::fillDescriptions(), HLTElectronMissingHitsFilter::fillDescriptions(), HLTCSCRing2or3Filter::fillDescriptions(), HLTCSCOverlapFilter::fillDescriptions(), HLTHcalNoiseFilter::fillDescriptions(), HLTHemiDPhiFilter::fillDescriptions(), PixelQuadrupletEDProducer::fillDescriptions(), L1TStage2MuonComp::fillDescriptions(), VertexAssociatorByPositionAndTracksProducer::fillDescriptions(), L1TStage2RegionalMuonCandComp::fillDescriptions(), HLTRPCFilter::fillDescriptions(), HLTElectronPixelMatchFilter::fillDescriptions(), HLTForwardBackwardJetsFilter< T >::fillDescriptions(), HLTNVFilter::fillDescriptions(), PUFilter::fillDescriptions(), CaloTowersReCreator::fillDescriptions(), EcalUncalibRecHitProducer::fillDescriptions(), HLTPhi2METFilter::fillDescriptions(), HLTRapGapFilter::fillDescriptions(), PFJetsMatchedToFilteredCaloJetsProducer::fillDescriptions(), HLTJetL1MatchProducer< T >::fillDescriptions(), HLTMuonL1RegionalFilter::fillDescriptions(), HLTMuonL1TFilter::fillDescriptions(), HLTHcalTowerFilter::fillDescriptions(), CSCDCCUnpacker::fillDescriptions(), HLTScoutingPrimaryVertexProducer::fillDescriptions(), HLT2jetGapFilter::fillDescriptions(), HLTJetPairDzMatchFilter< T >::fillDescriptions(), HLTHcalMETNoiseCleaner::fillDescriptions(), HLTJetCollectionsFilter< jetType >::fillDescriptions(), evf::EvFFEDSelector::fillDescriptions(), HLTJetL1TMatchProducer< T >::fillDescriptions(), HLTEgammaAllCombMassFilter::fillDescriptions(), HLTEgammaDoubleLegCombFilter::fillDescriptions(), HLTPFTauPairLeadTrackDzMatchFilter::fillDescriptions(), L2TauJetsMerger::fillDescriptions(), HitPairEDProducer::fillDescriptions(), L1TStage2uGMT::fillDescriptions(), HLTSingleVertexPixelTrackFilter::fillDescriptions(), StableParametersTrivialProducer::fillDescriptions(), PileUpFilter::fillDescriptions(), JetTagProducer::fillDescriptions(), AnyJetToCaloJetProducer::fillDescriptions(), HLTHPDFilter::fillDescriptions(), HBHEDarkeningEP::fillDescriptions(), HLTEgammaCombMassFilter::fillDescriptions(), PixelTrackReconstruction::fillDescriptions(), PixelQuadrupletMergerEDProducer::fillDescriptions(), L1THLTTauMatching::fillDescriptions(), HLTMuonL1TRegionalFilter::fillDescriptions(), SeedCreatorFromRegionHitsEDProducerT< T_SeedCreator >::fillDescriptions(), EgammaHLTHybridClusterProducer::fillDescriptions(), HLTHcalLaserFilter::fillDescriptions(), JetTracksAssociationToTrackRefs::fillDescriptions(), L1HLTTauMatching::fillDescriptions(), HLTDeDxFilter::fillDescriptions(), MultiHitGeneratorFromPairAndLayers::fillDescriptions(), HLTPhysicsDeclared::fillDescriptions(), L1OffsetCorrectorImplMaker::fillDescriptions(), L1FastjetCorrectorImplMaker::fillDescriptions(), L1GTPrescaler::fillDescriptions(), ConeIsolation::fillDescriptions(), HLTDiJetAveEtaFilter< T >::fillDescriptions(), HLTDiJetAveFilter< T >::fillDescriptions(), HLTDiJetEtaTopologyFilter< T >::fillDescriptions(), HLTHcalTowerNoiseCleaner::fillDescriptions(), HLTHcalMETNoiseFilter::fillDescriptions(), HLTHcalTowerNoiseCleanerWithrechit::fillDescriptions(), EgammaEcalPFClusterIsolationProducer< T1 >::fillDescriptions(), EgammaHcalPFClusterIsolationProducer< T1 >::fillDescriptions(), HLTDisplacedEgammaFilter::fillDescriptions(), MVAJetPuIdProducer::fillDescriptions(), HLTJetEtaTopologyFilter< T >::fillDescriptions(), HLTJetVBFFilter< T >::fillDescriptions(), HLTMonoJetFilter< T >::fillDescriptions(), BunchSpacingProducer::fillDescriptions(), HLTEgammaDoubleEtDeltaPhiFilter::fillDescriptions(), HLTEgammaEtFilter::fillDescriptions(), TrackFitterProducer::fillDescriptions(), KFBasedPixelFitterProducer::fillDescriptions(), HLTEgammaEtFilterPairs::fillDescriptions(), HLTMuonDimuonL2Filter::fillDescriptions(), HitTripletEDProducerT< T_HitTripletGenerator >::fillDescriptions(), HLTMuonDimuonL2FromL1TFilter::fillDescriptions(), HLTMuonDimuonL3Filter::fillDescriptions(), HitTripletGeneratorFromPairAndLayers::fillDescriptions(), L1TMP7ZeroSupp::fillDescriptions(), HLTElectronEtFilter::fillDescriptions(), HLTMuonL2PreFilter::fillDescriptions(), HLTMuonPFIsoFilter::fillDescriptions(), HLTMuonL2FromL1TPreFilter::fillDescriptions(), PixelTripletLargeTipGenerator::fillDescriptions(), photonIsolationHIProducer::fillDescriptions(), HLTEgammaTriggerFilterObjectWrapper::fillDescriptions(), EcalRecHitsMerger::fillDescriptions(), EgammaHLTCaloTowerProducer::fillDescriptions(), ClusterChecker::fillDescriptions(), HLTExclDiJetFilter< T >::fillDescriptions(), HLTFatJetMassFilter< jetType >::fillDescriptions(), EgammaHLTIslandClusterProducer::fillDescriptions(), ESRecHitsMerger::fillDescriptions(), DTUnpackingModule::fillDescriptions(), HLTJetCollectionsVBFFilter< T >::fillDescriptions(), L3MuonSumCaloPFIsolationProducer::fillDescriptions(), HLTElectronGenericFilter::fillDescriptions(), HLTEgammaGenericQuadraticEtaFilter::fillDescriptions(), HLTEgammaGenericQuadraticFilter::fillDescriptions(), HLTMuonIsoFilter::fillDescriptions(), RPCUnpackingModule::fillDescriptions(), HLTMuonTrimuonL3Filter::fillDescriptions(), HLTElectronOneOEMinusOneOPFilterRegional::fillDescriptions(), HLTElectronEoverpFilterRegional::fillDescriptions(), PixelQuadrupletGenerator::fillDescriptions(), TriggerSummaryAnalyzerAOD::fillDescriptions(), TriggerSummaryAnalyzerRAW::fillDescriptions(), HiFJGridEmptyAreaCalculator::fillDescriptions(), L1JPTOffsetCorrectorImplMaker::fillDescriptions(), HLTMuonL1toL3TkPreFilter::fillDescriptions(), HIProtoTrackFilterProducer::fillDescriptions(), CaloTowersCreator::fillDescriptions(), HLTMhtFilter::fillDescriptions(), PixelTripletHLTGenerator::fillDescriptions(), HLTMuonL3PreFilter::fillDescriptions(), GlobalTrackingRegionProducer::fillDescriptions(), RPCTwinMuxDigiToRaw::fillDescriptions(), CAHitNtupletEDProducerT< T_Generator >::fillDescriptions(), HLTBool::fillDescriptions(), HLTSinglet< T >::fillDescriptions(), HLTAcoFilter::fillDescriptions(), EgammaHLTMulti5x5ClusterProducer::fillDescriptions(), VertexCompositeCandidateCollectionSelector::fillDescriptions(), HiFJRhoProducer::fillDescriptions(), SiPixelClusterShapeCacheProducer::fillDescriptions(), HLTMuonL1TtoL3TkPreFilter::fillDescriptions(), HLTPMDocaFilter::fillDescriptions(), HLTEventAnalyzerRAW::fillDescriptions(), HLTEventAnalyzerAOD::fillDescriptions(), HLTGlobalSums< T >::fillDescriptions(), HLTAlphaTFilter< T >::fillDescriptions(), EcalRecHitProducer::fillDescriptions(), HLTPFJetIDProducer::fillDescriptions(), HLTEgammaDoubleEtFilter::fillDescriptions(), HLTEgammaDoubleEtPhiFilter::fillDescriptions(), HLTMuonL2SelectorForL3IO::fillDescriptions(), HLTEgammaL1MatchFilterRegional::fillDescriptions(), HLTEgammaL1MatchFilterPairs::fillDescriptions(), TauJetSelectorForHLTTrackSeeding::fillDescriptions(), L6SLBCorrectorImplMaker::fillDescriptions(), BPHHistoSpecificDecay::fillDescriptions(), HLTRFilter::fillDescriptions(), HLTHtMhtFilter::fillDescriptions(), L3MuonCombinedRelativeIsolationProducer::fillDescriptions(), HLTEgammaL1TMatchFilterRegional::fillDescriptions(), HLTMinDPhiMETFilter::fillDescriptions(), L2MuonIsolationProducer::fillDescriptions(), MillePedeFileConverter::fillDescriptions(), ChargedHadronPFTrackIsolationProducer::fillDescriptions(), sistrip::ExcludedFEDListProducer::fillDescriptions(), HLTPixelActivityHFSumEnergyFilter::fillDescriptions(), HLTPixlMBFilt::fillDescriptions(), HLTPixlMBForAlignmentFilter::fillDescriptions(), HLLHCEvtVtxGenerator::fillDescriptions(), L2TauPixelIsoTagProducer::fillDescriptions(), HLTDisplacedmumumuVtxProducer::fillDescriptions(), PSMonitorClient::fillDescriptions(), HcalRawToDigi::fillDescriptions(), HcalSimpleReconstructor::fillDescriptions(), HLTEgammaCaloIsolFilterPairs::fillDescriptions(), HLTMuonL1Filter::fillDescriptions(), SimHitsValidationHcal::fillDescriptions(), HLTDTROMonitorFilter::fillDescriptions(), HLTEcalTowerFilter::fillDescriptions(), HLTGetRaw::fillDescriptions(), SiPixelRawToDigi::fillDescriptions(), HLTRHemisphere::fillDescriptions(), HLTCaloTowerHtMhtProducer::fillDescriptions(), EgammaHLTCombinedIsolationProducer::fillDescriptions(), EgammaHLTPixelMatchElectronProducers::fillDescriptions(), EgammaHLTRecoEcalCandidateProducers::fillDescriptions(), DQMScaleToClient::fillDescriptions(), PFClusterTimeAssigner::fillDescriptions(), edm::ThinningProducer< Collection, Selector >::fillDescriptions(), MillePedeFileExtractor::fillDescriptions(), HLTSmartSinglet< T >::fillDescriptions(), PixelFitterByConformalMappingAndLineProducer::fillDescriptions(), EgammaHLTClusterShapeProducer::fillDescriptions(), HLTDisplacedmumuVtxProducer::fillDescriptions(), HLTJetTagWithMatching< T >::fillDescriptions(), HLTLevel1Pattern::fillDescriptions(), EgammaHLTPFChargedIsolationProducer::fillDescriptions(), HLTJetTag< T >::fillDescriptions(), EgammaHLTRemoveDuplicatedSC::fillDescriptions(), SeedFromConsecutiveHitsCreator::fillDescriptions(), EcalDetIdToBeRecoveredProducer::fillDescriptions(), TSGForOI::fillDescriptions(), CaloTowerFromL1TCreatorForTauHLT::fillDescriptions(), HLTCaloTowerFilter::fillDescriptions(), TriggerSummaryProducerRAW::fillDescriptions(), HLTDoubletDZ< T1, T2 >::fillDescriptions(), HLTPFEnergyFractionsFilter::fillDescriptions(), HLTSummaryFilter::fillDescriptions(), citk::PFIsolationSumProducerForPUPPI::fillDescriptions(), EgammaHLTElectronCombinedIsolationProducer::fillDescriptions(), EgammaHLTPFNeutralIsolationProducer::fillDescriptions(), MultiHitGeneratorFromChi2::fillDescriptions(), HLTMETCleanerUsingJetID::fillDescriptions(), HLTMhtProducer::fillDescriptions(), EgammaHLTPFPhotonIsolationProducer::fillDescriptions(), CSCRecHitDProducer::fillDescriptions(), GEMChamberMasker::fillDescriptions(), CaloTowerCreatorForTauHLT::fillDescriptions(), RemovePileUpDominatedEventsGen::fillDescriptions(), LogErrorFilter::fillDescriptions(), HLTTriggerTypeFilter::fillDescriptions(), FastTimerServiceClient::fillDescriptions(), L1TGlobalSummary::fillDescriptions(), HLTElectronPFMTFilter< T >::fillDescriptions(), EgammaHLTEcalRecIsolationProducer::fillDescriptions(), HLTDisplacedtktkVtxProducer::fillDescriptions(), HLTEcalPFClusterIsolationProducer< T1 >::fillDescriptions(), HLTHtMhtProducer::fillDescriptions(), HLTCountNumberOfObject< OColl >::fillDescriptions(), sistrip::DigiToRawModule::fillDescriptions(), RPCTwinMuxRawToDigi::fillDescriptions(), HLTDoublet< T1, T2 >::fillDescriptions(), ClusterTPAssociationProducer::fillDescriptions(), HLTCaloJetIDProducer::fillDescriptions(), HLTHcalPFClusterIsolationProducer< T1 >::fillDescriptions(), EgammaHLTRegionalPixelSeedGeneratorProducers::fillDescriptions(), GlobalTrackingRegionProducerFromBeamSpot::fillDescriptions(), HLTFiltCand::fillDescriptions(), BPHWriteSpecificDecay::fillDescriptions(), CSCDigiToRawModule::fillDescriptions(), HLTCollectionProducer< T >::fillDescriptions(), EcalListOfFEDSProducer::fillDescriptions(), HLTmumutktkVtxProducer::fillDescriptions(), ME0ChamberMasker::fillDescriptions(), HLTVertexFilter::fillDescriptions(), ESListOfFEDSProducer::fillDescriptions(), EgammaHLTElectronTrackIsolationProducers::fillDescriptions(), EgammaHLTHcalIsolationDoubleConeProducers::fillDescriptions(), HIMuonTrackingRegionProducer::fillDescriptions(), HLTJetSortedVBFFilter< T >::fillDescriptions(), GlobalTrackingRegionWithVerticesProducer::fillDescriptions(), HLTEventNumberFilter::fillDescriptions(), HLTrigReport::fillDescriptions(), HLTHcalPhiSymFilter::fillDescriptions(), HLTL1NumberFilter::fillDescriptions(), DQMCorrelationClient::fillDescriptions(), HLTTrackWithHits::fillDescriptions(), EgammaHLTElectronDetaDphiProducer::fillDescriptions(), HLTLevel1Activity::fillDescriptions(), TriggerResultsFilterFromDB::fillDescriptions(), pat::PATJetUpdater::fillDescriptions(), L3MuonProducer::fillDescriptions(), EgammaHLTR9IDProducer::fillDescriptions(), HLTL1TMuonSelector::fillDescriptions(), SUSY_HLT_Razor::fillDescriptions(), HLTHighLevel::fillDescriptions(), TriggerResultsFilter::fillDescriptions(), HLTScoutingCaloProducer::fillDescriptions(), EgammaHLTHcalIsolationProducersRegional::fillDescriptions(), HLTFEDSizeFilter::fillDescriptions(), JetConstituentSelector< T, C >::fillDescriptions(), HLTJetCollectionsForBoostedLeptonPlusJets< jetType >::fillDescriptions(), HLTJetCollectionsForLeptonPlusJets< jetType >::fillDescriptions(), citk::PFIsolationSumProducer::fillDescriptions(), EgammaHLTPhotonTrackIsolationProducersRegional::fillDescriptions(), HLTHcalNZSFilter::fillDescriptions(), HLTHcalSimpleRecHitFilter::fillDescriptions(), HLTMuonPointingFilter::fillDescriptions(), HLTElectronMuonInvMassFilter::fillDescriptions(), HLTTrackerHaloFilter::fillDescriptions(), L2MuonProducer::fillDescriptions(), HLTGenericFilter< T1 >::fillDescriptions(), HotlineDQM::fillDescriptions(), LumiMonitor::fillDescriptions(), CAHitTripletGenerator::fillDescriptions(), EgammaHLTBcHcalIsolationProducersRegional::fillDescriptions(), EgammaHLTR9Producer::fillDescriptions(), ScalersRawToDigi::fillDescriptions(), HLTJetCollForElePlusJets< T >::fillDescriptions(), PixelVertexCollectionTrimmer::fillDescriptions(), HLTmmkkFilter::fillDescriptions(), HLTRechitsToDigis::fillDescriptions(), HLTJetCollectionsForElePlusJets< T >::fillDescriptions(), HLTRechitInRegionsProducer< T1 >::fillDescriptions(), HLTmmkFilter::fillDescriptions(), HcalDigiToRawuHTR::fillDescriptions(), HLTmumutkVtxProducer::fillDescriptions(), CAHitQuadrupletGenerator::fillDescriptions(), HLTTrackMETProducer::fillDescriptions(), HLTL1MuonNoL2Selector::fillDescriptions(), HLTL1MuonSelector::fillDescriptions(), edm::service::PrescaleService::fillDescriptions(), CorrectedPFMETProducer::fillDescriptions(), HLTScoutingPFProducer::fillDescriptions(), HLTHcalCalibTypeFilter::fillDescriptions(), pat::PATMETProducer::fillDescriptions(), HBHEPlan1Combiner::fillDescriptions(), EcalTrigPrimProducer::fillDescriptions(), EcalSimpleUncalibRecHitFilter::fillDescriptions(), L1TGlobalProducer::fillDescriptions(), HLTJetHbbFilter< T >::fillDescriptions(), MuonGeometryDBConverter::fillDescriptions(), HGCalHitCalibration::fillDescriptions(), l1t::L1TRawToDigi::fillDescriptions(), HLTCSCActivityFilter::fillDescriptions(), PFClusterMatchedToPhotonsSelector::fillDescriptions(), pat::GenJetMatcher::fillDescriptions(), HcalHBHEMuonSimAnalyzer::fillDescriptions(), L3MuonTrajectoryBuilder::fillDescriptions(), PSMonitor::fillDescriptions(), EgammaHLTEcalIsolationProducersRegional::fillDescriptions(), HLTPrescaleRecorder::fillDescriptions(), HLTBeamModeFilter::fillDescriptions(), edm::EventSetupRecordDataGetter::fillDescriptions(), PFECALSuperClusterProducer::fillDescriptions(), ElectronNHitSeedProducer::fillDescriptions(), GctRawToDigi::fillDescriptions(), DeDxEstimatorProducer::fillDescriptions(), HLTScoutingEgammaProducer::fillDescriptions(), L1TExtCondProducer::fillDescriptions(), HLTScoutingMuonProducer::fillDescriptions(), JetVertexChecker::fillDescriptions(), l1t::L1TDigiToRaw::fillDescriptions(), pat::PATMuonProducer::fillDescriptions(), EcalRawToDigi::fillDescriptions(), HLTCSCAcceptBusyFilter::fillDescriptions(), HFPreReconstructor::fillDescriptions(), EgammaHLTNxNClusterProducer::fillDescriptions(), HcalHitReconstructor::fillDescriptions(), CaloRecHitsBeamHaloCleaned::fillDescriptions(), VertexFromTrackProducer::fillDescriptions(), L1TCaloUpgradeToGCTConverter::fillDescriptions(), HLTHFAsymmetryFilter::fillDescriptions(), pat::PATTauProducer::fillDescriptions(), ZMuMuMassConstraintParameterFinder::fillDescriptions(), ElectronHEEPIDValueMapProducer::fillDescriptions(), ElectronSeedProducer::fillDescriptions(), SoftLepton::fillDescriptions(), TcdsRawToDigi::fillDescriptions(), HLTPixelAsymmetryFilter::fillDescriptions(), HLTL1TSeed::fillDescriptions(), pat::PATJetProducer::fillDescriptions(), L2MuonSeedGeneratorFromL1T::fillDescriptions(), L1TExtCondLegacyToStage2::fillDescriptions(), HLTCAWZTagFilter::fillDescriptions(), HLTRPCTrigNoSyncFilter::fillDescriptions(), AlCaGammaJetSelector::fillDescriptions(), BPHMonitor::fillDescriptions(), HLTPrescaler::fillDescriptions(), HLTDTActivityFilter::fillDescriptions(), TrackingRegionsFromBeamSpotAndL2Tau::fillDescriptions(), HcalHardcodeCalibrations::fillDescriptions(), FastPrimaryVertexWithWeightsProducer::fillDescriptions(), SiStripFEDCheckPlugin::fillDescriptions(), HFPhase1Reconstructor::fillDescriptions(), HGCalTBAnalyzer::fillDescriptions(), HLTEcalPhiSymFilter::fillDescriptions(), HITrackingRegionForPrimaryVtxProducer::fillDescriptions(), HLTCATopTagFilter::fillDescriptions(), EcalMIPRecHitFilter::fillDescriptions(), RPCChamberMasker::fillDescriptions(), L1GlobalTriggerRawToDigi::fillDescriptions(), HLTPMMassFilter::fillDescriptions(), METMonitor::fillDescriptions(), PixelJetPuId::fillDescriptions(), CorrectedECALPFClusterProducer::fillDescriptions(), pat::PATPhotonProducer::fillDescriptions(), pat::PATElectronProducer::fillDescriptions(), HLTLevel1GTSeed::fillDescriptions(), GenHFHadronMatcher::fillDescriptions(), APVCyclePhaseDebuggerFromL1TS::fillDescriptions(), HLTGetDigi::fillDescriptions(), DTChamberMasker::fillDescriptions(), ExternalLHEProducer::fillDescriptions(), HLTriggerJSONMonitoring::fillDescriptions(), TauRegionalPixelSeedGenerator::fillDescriptions(), EgammaHLTGsfTrackVarProducer::fillDescriptions(), TrackMVAClassifier< MVA >::fillDescriptions(), HLTDummyCollections::fillDescriptions(), pat::JetCorrFactorsProducer::fillDescriptions(), CSCChamberMasker::fillDescriptions(), L1TriggerJSONMonitoring::fillDescriptions(), HLTEcalResonanceFilter::fillDescriptions(), MuonIdProducer::fillDescriptions(), HLTJetsCleanedFromLeadingLeptons< JetType >::fillDescriptions(), HLTRegionalEcalResonanceFilter::fillDescriptions(), SelectedElectronFEDListProducer< TEle, TCand >::fillDescriptions(), CorrectedMETProducerT< T >::fillDescriptions(), CosmicRateAnalyzer::fillDescriptions(), TriggerSummaryProducerAOD::fillDescriptions(), EgammaHLTFilteredSuperClusterProducer::fillDescriptions(), TrackingRegionsFromSuperClustersProducer::fillDescriptions(), HLTRecHitInAllL1RegionsProducer< RecHitType >::fillDescriptions(), TriggerJSONMonitoring::fillDescriptions(), CandidateSeededTrackingRegionsProducer::fillDescriptions(), EgammaHLTPixelMatchVarProducer::fillDescriptions(), TemplatedSecondaryVertexProducer< IPTI, VTX >::fillDescriptions(), JetCleanerForType1METT< T, Textractor >::fillDescriptions(), L1TGlobalPrescaler::fillDescriptions(), HLTCaloObjInRegionsProducer< CaloObjType, CaloObjCollType >::fillDescriptions(), ChainedJetCorrectorProducer::fillDescriptions(), PFJetMETcorrInputProducerT< T, Textractor >::fillDescriptions(), SmearedJetProducerT< T >::fillDescriptions(), HBHEPhase1Reconstructor::fillDescriptions(), IPProducer< Container, Base, Helper >::fillDescriptions(), MuonTrackingRegionBuilder::fillDescriptionsHLT(), MuonTrackingRegionBuilder::fillDescriptionsOffline(), LumiMonitor::fillHistoLSPSetDescription(), BPHMonitor::fillHistoLSPSetDescription(), METMonitor::fillHistoLSPSetDescription(), LumiMonitor::fillHistoPSetDescription(), PSMonitor::fillHistoPSetDescription(), BPHMonitor::fillHistoPSetDescription(), METMonitor::fillHistoPSetDescription(), FastTimerServiceClient::fillLumiMePSetDescription(), PSMonitorClient::fillMePSetDescription(), DQMScaleToClient::fillMePSetDescription(), DQMCorrelationClient::fillMePSetDescription(), DQMScaleToClient::fillOutputMePSetDescription(), DQMCorrelationClient::fillOutputMePSetDescription(), chi2MeasurementEstimatorParams::getFilledConfigurationDescription(), LostHitsFractionTrajectoryFilter::getFilledConfigurationDescription(), MinHitsTrajectoryFilter::getFilledConfigurationDescription(), LooperTrajectoryFilter::getFilledConfigurationDescription(), CkfBaseTrajectoryFilter::getFilledConfigurationDescription(), getFilledConfigurationDescription4CCC(), HLTFilter::makeHLTFilterDescription(), HLTStreamFilter::makeHLTFilterDescription(), TrajSeedMatcher::makePSetDescription(), edm::eventsetup::DataProxyProvider::prevalidate(), EleTkIsolFromCands::TrkCuts::pSetDescript(), EleTkIsolFromCands::pSetDescript(), counter.Counter::register(), SequenceTypes.Task::remove(), SequenceTypes.Task::replace(), and reserve().

89  {
90  return add<T, U>(iLabel, value, true, false, true);
91  }
template<typename T , typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::add ( U const &  iLabel)
inline

Definition at line 112 of file ParameterSetDescription.h.

Referenced by counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

112  {
113  return add<T, U>(iLabel, true, false, false);
114  }
template<typename T , typename U >
ParameterDescriptionBase * ParameterSetDescription::add ( U const &  iLabel,
T const &  value,
bool  isTracked,
bool  isOptional,
bool  writeToCfi 
)
private

Definition at line 419 of file ParameterSetDescription.h.

References addNode(), eostools::move(), edm::ParameterSetDescription::SetDescriptionEntry::node(), and relativeConstraints::value.

Referenced by counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

419  {
420 
421  std::unique_ptr<ParameterDescriptionNode> node = std::make_unique<ParameterDescription<T>>(iLabel, value, isTracked);
422  ParameterDescriptionNode* pnode = addNode(std::move(node), isOptional, writeToCfi);
423  return static_cast<ParameterDescriptionBase*>(pnode);
424  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
template<typename T , typename U >
ParameterDescriptionBase * ParameterSetDescription::add ( U const &  iLabel,
bool  isTracked,
bool  isOptional,
bool  writeToCfi 
)
private

Definition at line 428 of file ParameterSetDescription.h.

References addNode(), eostools::move(), and edm::ParameterSetDescription::SetDescriptionEntry::node().

Referenced by counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

428  {
429 
430  std::unique_ptr<ParameterDescriptionNode> node = std::make_unique<ParameterDescription<T>>(iLabel, isTracked);
431  ParameterDescriptionNode* pnode = addNode(std::move(node), isOptional, writeToCfi);
432  return static_cast<ParameterDescriptionBase*>(pnode);
433  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
ParameterDescriptionNode * ParameterSetDescription::addNode ( ParameterDescriptionNode const &  node)

Definition at line 59 of file ParameterSetDescription.cc.

References edm::ParameterDescriptionNode::clone(), and eostools::move().

Referenced by add(), addNode(), addOptionalNode(), addVPSet(), addWildcard(), addWildcardUntracked(), edm::EventSkipperByID::fillDescription(), edm::ProducerSourceBase::fillDescription(), edm::fillDescriptionFromPSet(), EcalDQMonitorClient::fillDescriptions(), EcalDQMonitorTask::fillDescriptions(), pat::PATMuonProducer::fillDescriptions(), pat::PATTauProducer::fillDescriptions(), pat::PATPhotonProducer::fillDescriptions(), pat::PATElectronProducer::fillDescriptions(), TauRegionalPixelSeedGenerator::fillDescriptions(), edm::service::RandomNumberGeneratorService::fillDescriptions(), L1TGlobalPrescaler::fillDescriptions(), SmearedJetProducerT< T >::fillDescriptions(), edm::service::EnableFloatingPointExceptions::fillDescriptions(), EcalUncalibRecHitWorkerFixedAlphaBetaFit::getAlgoDescription(), EcalUncalibRecHitWorkerRatio::getAlgoDescription(), EcalUncalibRecHitWorkerGlobal::getAlgoDescription(), EcalUncalibRecHitWorkerMultiFit::getAlgoDescription(), ifExists(), ifValue(), labelsFrom(), reserve(), and setUnknown().

59  {
60  std::unique_ptr<ParameterDescriptionNode> clonedNode(node.clone());
61  return addNode(std::move(clonedNode), false, true);
62  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
ParameterDescriptionNode * ParameterSetDescription::addNode ( std::unique_ptr< ParameterDescriptionNode node)

Definition at line 66 of file ParameterSetDescription.cc.

References addNode(), addOptionalNode(), and eostools::move().

66  {
67  return addNode(std::move(node), false, true);
68  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
ParameterDescriptionNode * ParameterSetDescription::addNode ( std::unique_ptr< ParameterDescriptionNode node,
bool  optional,
bool  writeToCfi 
)
private

Definition at line 85 of file ParameterSetDescription.cc.

References edm::ParameterDescriptionNode::checkAndGetLabelsAndTypes(), entries_, mps_splice::entry, eostools::move(), edm::ParameterSetDescription::SetDescriptionEntry::setOptional(), edm::ParameterSetDescription::SetDescriptionEntry::setWriteToCfi(), throwIfLabelsAlreadyUsed(), and throwIfWildcardCollision().

87  {
88 
89  std::set<std::string> nodeLabels;
90  std::set<ParameterTypes> nodeParameterTypes;
91  std::set<ParameterTypes> nodeWildcardTypes;
92  node->checkAndGetLabelsAndTypes(nodeLabels, nodeParameterTypes, nodeWildcardTypes);
93  throwIfLabelsAlreadyUsed(nodeLabels);
94  throwIfWildcardCollision(nodeParameterTypes, nodeWildcardTypes);
95 
96  SetDescriptionEntry entry;
97  entry.setOptional(optional);
98  entry.setWriteToCfi(writeToCfi);
99  entries_.push_back(entry);
100  return entries_.back().setNode(std::move(node));
101  }
void throwIfWildcardCollision(std::set< ParameterTypes > const &nodeParameterTypes, std::set< ParameterTypes > const &nodeWildcardTypes)
void throwIfLabelsAlreadyUsed(std::set< std::string > const &nodeLabels)
def move(src, dest)
Definition: eostools.py:510
template<typename T , typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addOptional ( U const &  iLabel,
T const &  value 
)
inline
template<typename T , typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addOptional ( U const &  iLabel)
inline

Definition at line 122 of file ParameterSetDescription.h.

122  {
123  return add<T, U>(iLabel, true, true, false);
124  }
ParameterDescriptionNode * ParameterSetDescription::addOptionalNode ( ParameterDescriptionNode const &  node,
bool  writeToCfi 
)
ParameterDescriptionNode * ParameterSetDescription::addOptionalNode ( std::unique_ptr< ParameterDescriptionNode node,
bool  writeToCfi 
)

Definition at line 79 of file ParameterSetDescription.cc.

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

79  {
80  return addNode(std::move(node), true, writeToCfi);
81  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
template<typename T , typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addOptionalUntracked ( U const &  iLabel,
T const &  value 
)
inline
template<typename T , typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addOptionalUntracked ( U const &  iLabel)
inline

Definition at line 127 of file ParameterSetDescription.h.

127  {
128  return add<T, U>(iLabel, false, true, false);
129  }
template<typename T , typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addUntracked ( U const &  iLabel,
T const &  value 
)
inline

Definition at line 94 of file ParameterSetDescription.h.

References relativeConstraints::value.

Referenced by TrackCollectionCloner::fill(), ecaldqm::binning::fillAxisDescriptions(), edm::StreamerOutputModuleBase::fillDescription(), edm::FromFiles::fillDescription(), edm::EventSkipperByID::fillDescription(), edm::StreamerFileWriter::fillDescription(), edm::ProducerSourceBase::fillDescription(), edm::ProductSelectorRules::fillDescription(), edm::RootPrimaryFileSequence::fillDescription(), edm::RootEmbeddedFileSequence::fillDescription(), edm::PoolOutputModule::fillDescription(), edm::DuplicateChecker::fillDescription(), edm::EventSelector::fillDescription(), dqm::DQMFileSaverBase::fillDescription(), dqmservices::DQMFileIterator::fillDescription(), edm::InputSource::fillDescription(), edm::fillDescriptionFromPSet(), EcalMEFormatter::fillDescriptions(), EcalPreshowerMonitorClient::fillDescriptions(), EcalDQMonitorClient::fillDescriptions(), ClusterCheckerEDProducer::fillDescriptions(), dqmservices::JsonWritingTimeoutPoolOutputModule::fillDescriptions(), edmtest::AlignPCLThresholdsReader::fillDescriptions(), dqmservices::DQMProtobufReader::fillDescriptions(), ESRawToDigi::fillDescriptions(), GeneratorSmearedProducer::fillDescriptions(), L1TStage2uGMTMuon::fillDescriptions(), L1TStage2RegionalMuonCandComp::fillDescriptions(), L1TStage2MuonComp::fillDescriptions(), EcalDQMonitorTask::fillDescriptions(), TriggerRatesMonitorClient::fillDescriptions(), HLTRPCFilter::fillDescriptions(), CSCDCCUnpacker::fillDescriptions(), L1TStage2uGMT::fillDescriptions(), ecaldqm::DQWorkerClient::fillDescriptions(), ecaldqm::EcalDQMonitor::fillDescriptions(), edm::AsciiOutputModule::fillDescriptions(), edm::service::UnixSignalService::fillDescriptions(), L1TMP7ZeroSupp::fillDescriptions(), DTUnpackingModule::fillDescriptions(), edm::StreamerFileReader::fillDescriptions(), VertexCompositeCandidateCollectionSelector::fillDescriptions(), dqmservices::DQMStreamerReader::fillDescriptions(), dqm::RamdiskMonitor::fillDescriptions(), ThroughputServiceClient::fillDescriptions(), edm::ZombieKillerService::fillDescriptions(), edm::service::ConcurrentModuleTimer::fillDescriptions(), HcalTopologyIdealEP::fillDescriptions(), edm::service::ResourceEnforcer::fillDescriptions(), PSMonitorClient::fillDescriptions(), HcalRawToDigi::fillDescriptions(), FilterOutLowPt::fillDescriptions(), SiPixelRawToDigi::fillDescriptions(), dqm::DQMFileSaverPB::fillDescriptions(), TSGForOI::fillDescriptions(), CaloTowerFromL1TCreatorForTauHLT::fillDescriptions(), CaloTowerCreatorForTauHLT::fillDescriptions(), CSCRecHitDProducer::fillDescriptions(), FastTimerServiceClient::fillDescriptions(), edm::service::Timing::fillDescriptions(), EventIDChecker::fillDescriptions(), edm::service::LoadAllDictionaries::fillDescriptions(), ThroughputService::fillDescriptions(), AbortOnEventIDAnalyzer::fillDescriptions(), XrdAdaptor::XrdStatisticsService::fillDescriptions(), HLTrigReport::fillDescriptions(), L3MuonProducer::fillDescriptions(), edm::service::CPU::fillDescriptions(), edm::PrintEventSetupDataRetrieval::fillDescriptions(), HLTElectronMuonInvMassFilter::fillDescriptions(), L2MuonProducer::fillDescriptions(), dqm::DQMFileSaverOnline::fillDescriptions(), HcalDigiToRawuHTR::fillDescriptions(), MagneticFieldFilter::fillDescriptions(), HLTHcalCalibTypeFilter::fillDescriptions(), EcalSimpleUncalibRecHitFilter::fillDescriptions(), edm::PrintEventSetupContent::fillDescriptions(), CaloTowerConstituentsMapBuilder::fillDescriptions(), l1t::L1TRawToDigi::fillDescriptions(), L1TGlobalProducer::fillDescriptions(), edm::PoolSource::fillDescriptions(), HcalHBHEMuonSimAnalyzer::fillDescriptions(), edm::EmbeddedRootSource::fillDescriptions(), Timer::fillDescriptions(), FedRawDataInputSource::fillDescriptions(), GctRawToDigi::fillDescriptions(), PFECALSuperClusterProducer::fillDescriptions(), edm::EventSetupRecordDataGetter::fillDescriptions(), ecaldqm::DQWorker::fillDescriptions(), l1t::L1TDigiToRaw::fillDescriptions(), EcalRawToDigi::fillDescriptions(), VertexFromTrackProducer::fillDescriptions(), ElectronSeedProducer::fillDescriptions(), MulticoreRunLumiEventChecker::fillDescriptions(), L2MuonSeedGeneratorFromL1T::fillDescriptions(), SiStripFEDCheckPlugin::fillDescriptions(), HGCalTBAnalyzer::fillDescriptions(), HcalHardcodeCalibrations::fillDescriptions(), DependencyGraph::fillDescriptions(), EcalMIPRecHitFilter::fillDescriptions(), L1GlobalTriggerRawToDigi::fillDescriptions(), TriggerBxMonitor::fillDescriptions(), HLTPMMassFilter::fillDescriptions(), APVModeFilter::fillDescriptions(), TriggerBxVsOrbitMonitor::fillDescriptions(), evf::EvFDaqDirector::fillDescriptions(), edm::service::Tracer::fillDescriptions(), TriggerRatesMonitor::fillDescriptions(), HLTGetDigi::fillDescriptions(), ExternalLHEProducer::fillDescriptions(), CreateIdealTkAlRecords::fillDescriptions(), edm::service::RandomNumberGeneratorService::fillDescriptions(), TimerService::fillDescriptions(), edm::service::SimpleMemoryCheck::fillDescriptions(), edm::service::InitRootHandlers::fillDescriptions(), evf::FastMonitoringService::fillDescriptions(), edm::service::StallMonitor::fillDescriptions(), SmearedJetProducerT< T >::fillDescriptions(), DQMRootOutputModule::fillDescriptions(), FastTimerService::fillDescriptions(), edm::service::EnableFloatingPointExceptions::fillDescriptions(), DQMRootSource::fillDescriptions(), TrackingNtuple::fillDescriptions(), PackedCandidateTrackValidator::fillDescriptions(), and ecaldqm::fillMESetDescriptions().

94  {
95  return add<T, U>(iLabel, value, false, false, true);
96  }
template<typename T , typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addUntracked ( U const &  iLabel)
inline

Definition at line 117 of file ParameterSetDescription.h.

117  {
118  return add<T, U>(iLabel, false, false, false);
119  }
template<typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addVPSet ( U const &  iLabel,
ParameterSetDescription const &  validator,
std::vector< ParameterSet > const &  defaults 
)
inline
template<typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addVPSet ( U const &  iLabel,
ParameterSetDescription const &  validator 
)
inline

Definition at line 171 of file ParameterSetDescription.h.

172  {
173  return addVPSet<U>(iLabel, validator, true, false, false);
174  }
template<typename U >
ParameterDescriptionBase * ParameterSetDescription::addVPSet ( U const &  iLabel,
ParameterSetDescription const &  validator,
std::vector< ParameterSet > const &  defaults,
bool  isTracked,
bool  isOptional,
bool  writeToCfi 
)
private

Definition at line 437 of file ParameterSetDescription.h.

References addNode(), makeLayoutFileForGui::defaults(), eostools::move(), and edm::ParameterSetDescription::SetDescriptionEntry::node().

440  {
441  std::unique_ptr<ParameterDescriptionNode> node = std::make_unique<ParameterDescription<std::vector<ParameterSet>>>(iLabel, validator, isTracked, defaults);
442  ParameterDescriptionNode* pnode = addNode(std::move(node), isOptional, writeToCfi);
443  return static_cast<ParameterDescriptionBase*>(pnode);
444  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def defaults(locpath, dataType, var)
def move(src, dest)
Definition: eostools.py:510
template<typename U >
ParameterDescriptionBase * ParameterSetDescription::addVPSet ( U const &  iLabel,
ParameterSetDescription const &  validator,
bool  isTracked,
bool  isOptional,
bool  writeToCfi 
)
private

Definition at line 448 of file ParameterSetDescription.h.

References addNode(), eostools::move(), and edm::ParameterSetDescription::SetDescriptionEntry::node().

450  {
451  std::unique_ptr<ParameterDescriptionNode> node = std::make_unique<ParameterDescription<std::vector<ParameterSet>>>(iLabel, validator, isTracked);
452  ParameterDescriptionNode* pnode = addNode(std::move(node), isOptional, writeToCfi);
453  return static_cast<ParameterDescriptionBase*>(pnode);
454  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
template<typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addVPSetOptional ( U const &  iLabel,
ParameterSetDescription const &  validator,
std::vector< ParameterSet > const &  defaults 
)
inline

Definition at line 157 of file ParameterSetDescription.h.

References makeLayoutFileForGui::defaults().

159  {
160  return addVPSet<U>(iLabel, validator, defaults, true, true, true);
161  }
def defaults(locpath, dataType, var)
template<typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addVPSetOptional ( U const &  iLabel,
ParameterSetDescription const &  validator 
)
inline

Definition at line 183 of file ParameterSetDescription.h.

184  {
185  return addVPSet<U>(iLabel, validator, true, true, false);
186  }
template<typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addVPSetOptionalUntracked ( U const &  iLabel,
ParameterSetDescription const &  validator,
std::vector< ParameterSet > const &  defaults 
)
inline

Definition at line 164 of file ParameterSetDescription.h.

References makeLayoutFileForGui::defaults().

166  {
167  return addVPSet<U>(iLabel, validator, defaults, false, true, true);
168  }
def defaults(locpath, dataType, var)
template<typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addVPSetOptionalUntracked ( U const &  iLabel,
ParameterSetDescription const &  validator 
)
inline

Definition at line 189 of file ParameterSetDescription.h.

190  {
191  return addVPSet<U>(iLabel, validator, false, true, false);
192  }
template<typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addVPSetUntracked ( U const &  iLabel,
ParameterSetDescription const &  validator,
std::vector< ParameterSet > const &  defaults 
)
inline

Definition at line 150 of file ParameterSetDescription.h.

References makeLayoutFileForGui::defaults().

Referenced by FastTimerService::fillDescriptions().

152  {
153  return addVPSet<U>(iLabel, validator, defaults, false, false, true);
154  }
def defaults(locpath, dataType, var)
template<typename U >
ParameterDescriptionBase* edm::ParameterSetDescription::addVPSetUntracked ( U const &  iLabel,
ParameterSetDescription const &  validator 
)
inline

Definition at line 177 of file ParameterSetDescription.h.

178  {
179  return addVPSet<U>(iLabel, validator, false, false, false);
180  }
template<typename T , typename U >
ParameterWildcardBase* edm::ParameterSetDescription::addWildcard ( U const &  pattern)
inline

Definition at line 197 of file ParameterSetDescription.h.

References listBenchmarks::pattern.

Referenced by reserve().

197  {
198  return addWildcard<T, U>(pattern, true);
199  }
template<typename T , typename U >
ParameterWildcardBase * ParameterSetDescription::addWildcard ( U const &  pattern,
bool  isTracked 
)
private

Definition at line 458 of file ParameterSetDescription.h.

References addNode(), eostools::move(), edm::ParameterSetDescription::SetDescriptionEntry::node(), listBenchmarks::pattern, and edm::RequireZeroOrMore.

458  {
459 
460  std::unique_ptr<ParameterDescriptionNode> node = std::make_unique<ParameterWildcard<T>>(pattern, RequireZeroOrMore, isTracked);
461  ParameterDescriptionNode* pnode = addNode(std::move(node), true, false);
462  return static_cast<ParameterWildcardBase*>(pnode);
463  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
template<typename T , typename U >
ParameterWildcardBase* edm::ParameterSetDescription::addWildcardUntracked ( U const &  pattern)
inline
bool edm::ParameterSetDescription::anythingAllowed ( ) const
inline

Definition at line 303 of file ParameterSetDescription.h.

References anythingAllowed_.

Referenced by print(), and validate().

const_iterator edm::ParameterSetDescription::begin ( void  ) const
inline

Definition at line 306 of file ParameterSetDescription.h.

References entries_.

306  {
307  return entries_.begin();
308  }
std::string const& edm::ParameterSetDescription::comment ( ) const
inline
const_iterator edm::ParameterSetDescription::end ( void  ) const
inline

Definition at line 310 of file ParameterSetDescription.h.

References entries_.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

310  {
311  return entries_.end();
312  }
ParameterDescriptionNode* edm::ParameterSetDescription::ifExists ( ParameterDescriptionNode const &  node1,
ParameterDescriptionNode const &  node2 
)
inline

Definition at line 234 of file ParameterSetDescription.h.

Referenced by ifExistsOptional(), reserve(), and throwIfWildcardCollision().

235  {
236  return ifExists(node1, node2, false, true);
237  }
ParameterDescriptionNode * ifExists(ParameterDescriptionNode const &node1, ParameterDescriptionNode const &node2)
ParameterDescriptionNode * ParameterSetDescription::ifExists ( ParameterDescriptionNode const &  node1,
ParameterDescriptionNode const &  node2,
bool  optional,
bool  writeToCfi 
)
private

Definition at line 400 of file ParameterSetDescription.cc.

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

402  {
403  std::unique_ptr<ParameterDescriptionNode> pdIfExists = std::make_unique<IfExistsDescription>(node1, node2);
404  return addNode(std::move(pdIfExists), optional, writeToCfi);
405  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
ParameterDescriptionNode* edm::ParameterSetDescription::ifExistsOptional ( ParameterDescriptionNode const &  node1,
ParameterDescriptionNode const &  node2,
bool  writeToCfi 
)
inline

Definition at line 240 of file ParameterSetDescription.h.

References ifExists().

242  {
243  return ifExists(node1, node2, true, writeToCfi);
244  }
ParameterDescriptionNode * ifExists(ParameterDescriptionNode const &node1, ParameterDescriptionNode const &node2)
template<typename T >
ParameterDescriptionNode* edm::ParameterSetDescription::ifValue ( ParameterDescription< T > const &  switchParameter,
std::unique_ptr< ParameterDescriptionCases< T > >  cases 
)
inline
template<typename T >
ParameterDescriptionNode * ParameterSetDescription::ifValue ( ParameterDescription< T > const &  switchParameter,
std::unique_ptr< ParameterDescriptionCases< T > >  cases,
bool  optional,
bool  writeToCfi 
)
private

Definition at line 467 of file ParameterSetDescription.h.

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

469  {
470  std::unique_ptr<ParameterDescriptionNode> pdswitch = std::make_unique<ParameterSwitch<T>>(switchParameter, std::move(cases));
471  return addNode(std::move(pdswitch), optional, writeToCfi);
472  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
template<typename T >
ParameterDescriptionNode* edm::ParameterSetDescription::ifValueOptional ( ParameterDescription< T > const &  switchParameter,
std::unique_ptr< ParameterDescriptionCases< T > >  cases,
bool  writeToCfi 
)
inline

Definition at line 226 of file ParameterSetDescription.h.

References eostools::move(), and edm::ParameterSetDescription::SetDescriptionEntry::writeToCfi().

228  {
229  return ifValue<T>(switchParameter, std::move(cases), true, writeToCfi);
230  }
def move(src, dest)
Definition: eostools.py:510
bool ParameterSetDescription::isLabelUnused ( std::string const &  label) const

Definition at line 233 of file ParameterSetDescription.cc.

References usedLabels_.

Referenced by edm::edmodule_mightGet_config(), edm::eventsetup::DataProxyProvider::prevalidate(), print(), and reserve().

233  {
234  return usedLabels_.find(label) == usedLabels_.end();
235  }
std::set< std::string > usedLabels_
bool edm::ParameterSetDescription::isUnknown ( ) const
inline

Definition at line 304 of file ParameterSetDescription.h.

References unknown_.

Referenced by edm::ConfigurationDescriptions::print(), and print().

template<typename T , typename U >
ParameterDescriptionNode* edm::ParameterSetDescription::labelsFrom ( U const &  iLabel)
inline

Definition at line 249 of file ParameterSetDescription.h.

Referenced by reserve().

249  {
250  return labelsFrom<T,U>(iLabel, true, false, true);
251  }
template<typename T , typename U , typename V >
ParameterDescriptionNode* edm::ParameterSetDescription::labelsFrom ( U const &  iLabel,
V const &  desc 
)
inline

Definition at line 281 of file ParameterSetDescription.h.

281  {
282  return labelsFrom<T,U,V>(iLabel, true, false, true, desc);
283  }
template<typename T , typename U >
ParameterDescriptionNode * ParameterSetDescription::labelsFrom ( U const &  iLabel,
bool  isTracked,
bool  optional,
bool  writeToCfi 
)
private

Definition at line 476 of file ParameterSetDescription.h.

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

476  {
477  std::unique_ptr<ParameterDescriptionNode> pd = std::make_unique<AllowedLabelsDescription<T>>(iLabel, isTracked);
478  return addNode(std::move(pd), optional, writeToCfi);
479  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
template<typename T , typename U , typename V >
ParameterDescriptionNode * ParameterSetDescription::labelsFrom ( U const &  iLabel,
bool  isTracked,
bool  optional,
bool  writeToCfi,
V const &  desc 
)
private

Definition at line 483 of file ParameterSetDescription.h.

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

483  {
484  std::unique_ptr<ParameterDescriptionNode> pd = std::make_unique<AllowedLabelsDescription<T>>(iLabel, desc, isTracked);
485  return addNode(std::move(pd), optional, writeToCfi);
486  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
def move(src, dest)
Definition: eostools.py:510
template<typename T , typename U >
ParameterDescriptionNode* edm::ParameterSetDescription::labelsFromOptional ( U const &  iLabel,
bool  writeToCfi 
)
inline

Definition at line 261 of file ParameterSetDescription.h.

References edm::ParameterSetDescription::SetDescriptionEntry::writeToCfi().

261  {
262  return labelsFrom<T,U>(iLabel, true, true, writeToCfi);
263  }
template<typename T , typename U , typename V >
ParameterDescriptionNode* edm::ParameterSetDescription::labelsFromOptional ( U const &  iLabel,
bool  writeToCfi,
V const &  desc 
)
inline

Definition at line 293 of file ParameterSetDescription.h.

References edm::ParameterSetDescription::SetDescriptionEntry::writeToCfi().

293  {
294  return labelsFrom<T,U,V>(iLabel, true, true, writeToCfi, desc);
295  }
template<typename T , typename U >
ParameterDescriptionNode* edm::ParameterSetDescription::labelsFromOptionalUntracked ( U const &  iLabel,
bool  writeToCfi 
)
inline

Definition at line 267 of file ParameterSetDescription.h.

References edm::ParameterSetDescription::SetDescriptionEntry::writeToCfi().

267  {
268  return labelsFrom<T,U>(iLabel, false, true, writeToCfi);
269  }
template<typename T , typename U , typename V >
ParameterDescriptionNode* edm::ParameterSetDescription::labelsFromOptionalUntracked ( U const &  iLabel,
bool  writeToCfi,
V const &  desc 
)
inline

Definition at line 299 of file ParameterSetDescription.h.

References edm::ParameterSetDescription::SetDescriptionEntry::writeToCfi().

299  {
300  return labelsFrom<T,U,V>(iLabel, false, true, writeToCfi, desc);
301  }
template<typename T , typename U >
ParameterDescriptionNode* edm::ParameterSetDescription::labelsFromUntracked ( U const &  iLabel)
inline

Definition at line 255 of file ParameterSetDescription.h.

255  {
256  return labelsFrom<T,U>(iLabel, false, false, true);
257  }
template<typename T , typename U , typename V >
ParameterDescriptionNode* edm::ParameterSetDescription::labelsFromUntracked ( U const &  iLabel,
V const &  desc 
)
inline

Definition at line 287 of file ParameterSetDescription.h.

287  {
288  return labelsFrom<T,U,V>(iLabel, false, false, true, desc);
289  }
void ParameterSetDescription::print ( std::ostream &  os,
DocFormatHelper dfh 
) const

Definition at line 179 of file ParameterSetDescription.cc.

References anythingAllowed(), edm::DocFormatHelper::brief(), entries_, edm::for_all(), edm::DocFormatHelper::indent(), isLabelUnused(), isUnknown(), printNode(), edm::DocFormatHelper::setCounter(), and edm::DocFormatHelper::setPass().

Referenced by edm::ConfigurationDescriptions::printForLabel(), edm::ParameterDescription< std::vector< ParameterSet > >::printNestedContent_(), reserve(), and validateNode().

179  {
180 
181  using std::placeholders::_1;
182  if (isUnknown()) {
183  dfh.indent(os);
184  os << "Description is unknown. The configured PSet will not be validated\n";
185  dfh.indent(os);
186  os << "because the plugin has not defined this parameter set description.\n";
187  if (!dfh.brief()) os << "\n";
188  }
189 
190  if (anythingAllowed()) {
191  dfh.indent(os);
192  os << "Description allows anything. If the configured PSet contains illegal parameters,\n";
193  dfh.indent(os);
194  os << "then validation will ignore them instead of throwing an exception.\n";
195  if (!dfh.brief()) os << "\n";
196  }
197 
198  if (entries_.empty()) {
199  dfh.indent(os);
200  os << "Description is empty\n";
201  if (!dfh.brief()) os << "\n";
202  return;
203  }
204 
205  // Zeroth pass is only to calculate column widths in advance of any printing
206  dfh.setPass(0);
207  dfh.setCounter(0);
209  _1,
210  std::ref(os),
211  std::ref(dfh)));
212 
213  // First pass prints top level parameters and references to structure
214  dfh.setPass(1);
215  dfh.setCounter(0);
217  _1,
218  std::ref(os),
219  std::ref(dfh)));
220 
221  // Second pass prints substructure that goes into different sections of the
222  // output document
223  dfh.setPass(2);
224  dfh.setCounter(0);
226  _1,
227  std::ref(os),
228  std::ref(dfh)));
229  }
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
static void printNode(SetDescriptionEntry const &entry, std::ostream &os, DocFormatHelper &dfh)
void ParameterSetDescription::printNode ( SetDescriptionEntry const &  entry,
std::ostream &  os,
DocFormatHelper dfh 
)
staticprivate

Definition at line 286 of file ParameterSetDescription.cc.

References edm::ParameterSetDescription::SetDescriptionEntry::node(), edm::ParameterSetDescription::SetDescriptionEntry::optional(), edm::DocFormatHelper::pass(), throwIfLabelsAlreadyUsed(), and edm::ParameterSetDescription::SetDescriptionEntry::writeToCfi().

Referenced by print(), and reserve().

288  {
289  if (dfh.pass() < 2) {
290  entry.node()->print(os, entry.optional(), entry.writeToCfi(), dfh);
291  }
292  else {
293  entry.node()->printNestedContent(os, entry.optional(), dfh);
294  }
295  }
void edm::ParameterSetDescription::reserve ( SetDescriptionEntries::size_type  n)
inline
void ParameterSetDescription::setAllowAnything ( )
void ParameterSetDescription::setComment ( std::string const &  value)

Definition at line 38 of file ParameterSetDescription.cc.

References comment_, and relativeConstraints::value.

Referenced by comment(), edm::StreamerFileWriter::fillDescription(), edm::PoolOutputModule::fillDescription(), edm::EmptySource::fillDescriptions(), dqmservices::JsonWritingTimeoutPoolOutputModule::fillDescriptions(), edmtest::AlignPCLThresholdsReader::fillDescriptions(), dqmservices::DQMProtobufReader::fillDescriptions(), edm::AsciiOutputModule::fillDescriptions(), edm::StreamerFileReader::fillDescriptions(), dqmservices::DQMStreamerReader::fillDescriptions(), dqm::RamdiskMonitor::fillDescriptions(), edm::ThinningProducer< Collection, Selector >::fillDescriptions(), FilterOutLowPt::fillDescriptions(), dqm::DQMFileSaverPB::fillDescriptions(), citk::PFIsolationSumProducerForPUPPI::fillDescriptions(), XrdAdaptor::XrdStatisticsService::fillDescriptions(), pat::PATJetUpdater::fillDescriptions(), edm::service::JobReportService::fillDescriptions(), citk::PFIsolationSumProducer::fillDescriptions(), edm::service::CondorStatusService::fillDescriptions(), dqm::DQMFileSaverOnline::fillDescriptions(), MagneticFieldFilter::fillDescriptions(), pat::PATMETProducer::fillDescriptions(), MuonGeometryDBConverter::fillDescriptions(), edm::PoolSource::fillDescriptions(), edm::EmbeddedRootSource::fillDescriptions(), edm::service::SiteLocalConfigService::fillDescriptions(), FedRawDataInputSource::fillDescriptions(), pat::PATMuonProducer::fillDescriptions(), ZMuMuMassConstraintParameterFinder::fillDescriptions(), pat::PATTauProducer::fillDescriptions(), pat::PATJetProducer::fillDescriptions(), APVModeFilter::fillDescriptions(), pat::PATPhotonProducer::fillDescriptions(), evf::EvFDaqDirector::fillDescriptions(), pat::PATElectronProducer::fillDescriptions(), ExternalLHEProducer::fillDescriptions(), CreateIdealTkAlRecords::fillDescriptions(), CosmicRateAnalyzer::fillDescriptions(), edm::service::InitRootHandlers::fillDescriptions(), evf::FastMonitoringService::fillDescriptions(), and edm::service::EnableFloatingPointExceptions::fillDescriptions().

void ParameterSetDescription::setComment ( char const *  value)
void ParameterSetDescription::setUnknown ( )

Definition at line 52 of file ParameterSetDescription.cc.

References addNode(), and unknown_.

Referenced by comment(), __class__< T >::endStream(), EmptySimHits::fillDescriptions(), DYToMuMuGenFilter::fillDescriptions(), ElectronSeedTrackRefFix::fillDescriptions(), PuppiPhoton::fillDescriptions(), PUFilter::fillDescriptions(), PuppiProducer::fillDescriptions(), PFRecHitProducer::fillDescriptions(), L1TBasicDemo::fillDescriptions(), L1TSummary::fillDescriptions(), edm::ModelFilter::fillDescriptions(), ElectronIDValueMapProducer::fillDescriptions(), FastTrackerRecHitCombiner::fillDescriptions(), l1t::L1TCaloStage1LutWriter::fillDescriptions(), l1t::L1TStage2CaloAnalyzer::fillDescriptions(), CTPPSDiamondLocalTrackFitter::fillDescriptions(), ECALpedestalPCLHarvester::fillDescriptions(), MVAValueMapProducer< ParticleType >::fillDescriptions(), FastTrackerRecHitMatcher::fillDescriptions(), edm::EDAnalyzer::fillDescriptions(), VertexMonitor::fillDescriptions(), ECALpedestalPCLworker::fillDescriptions(), L1TMuonQualityAdjuster::fillDescriptions(), CTPPSDiamondRecHitProducer::fillDescriptions(), dEdxAnalyzer::fillDescriptions(), dEdxHitAnalyzer::fillDescriptions(), Mixing2DB::fillDescriptions(), PFCand_AssoMap::fillDescriptions(), L1TUtmTriggerMenuDumper::fillDescriptions(), VoronoiBackgroundProducer::fillDescriptions(), L1TPhysicalEtAdder::fillDescriptions(), CastorInvalidDataFilter::fillDescriptions(), DJpsiFilter::fillDescriptions(), FourLepFilter::fillDescriptions(), edm::EDProducer::fillDescriptions(), MuMuForEmbeddingSelector::fillDescriptions(), TestBXVectorRefProducer::fillDescriptions(), MuPFIsoEmbedder::fillDescriptions(), HGCalTBCheckGunPostion::fillDescriptions(), PF_PU_AssoMap::fillDescriptions(), HcalLaserEventFilter2012::fillDescriptions(), BeamProfile2DB::fillDescriptions(), TrackAssociatorByPositionProducer::fillDescriptions(), HGCGeometryValidation::fillDescriptions(), edm::EDFilter::fillDescriptions(), edm::stream::EDAnalyzerBase::fillDescriptions(), PhotonIDValueMapProducer::fillDescriptions(), QuickTrackAssociatorByHitsProducer::fillDescriptions(), JetHTJetPlusHOFilter::fillDescriptions(), SiStripGainsPCLHarvester::fillDescriptions(), LHE2HepMCConverter::fillDescriptions(), ValueMapTraslator::fillDescriptions(), AlCaIsolatedBunchFilter::fillDescriptions(), L1TBMTFConverter::fillDescriptions(), AlCaIsolatedBunchSelector::fillDescriptions(), ExtraFromSeeds::fillDescriptions(), TrackAssociatorByChi2Producer::fillDescriptions(), AlCaIsoTracksProducerFilter::fillDescriptions(), l1t::FakeInputProducer::fillDescriptions(), ttHFGenFilter::fillDescriptions(), l1t::L1TCaloRCTToUpgradeConverter::fillDescriptions(), L1TCaloLayer1Validator::fillDescriptions(), PF_PU_FirstVertexTracks::fillDescriptions(), L1TStage2InputPatternWriter::fillDescriptions(), L1TMicroGMTInputProducer::fillDescriptions(), __class__< T >::fillDescriptions(), ecaldqm::DQWorker::fillDescriptions(), B2GDoubleLeptonHLTValidation::fillDescriptions(), B2GHadronicHLTValidation::fillDescriptions(), B2GSingleLeptonHLTValidation::fillDescriptions(), TopSingleLeptonHLTValidation::fillDescriptions(), AlignPCLThresholdsWriter::fillDescriptions(), TestPythiaDecays::fillDescriptions(), BeamSpotRcdReader::fillDescriptions(), L1TMuonCaloSumProducer::fillDescriptions(), edm::stream::EDProducerBase::fillDescriptions(), EGEnergyAnalyzer::fillDescriptions(), edm::stream::EDFilterBase::fillDescriptions(), TrackFromSeedProducer::fillDescriptions(), TrackAssociatorByHitsProducer::fillDescriptions(), PileupJetIdProducer::fillDescriptions(), PixelLumiDQM::fillDescriptions(), HcalLaserEventFilter::fillDescriptions(), HcalLaserHBHEFilter2012::fillDescriptions(), TopDiLeptonHLTValidation::fillDescriptions(), HcalLaserHBHEHFFilter2012::fillDescriptions(), l1t::AMC13DumpToRaw::fillDescriptions(), l1t::AMCDumpToRaw::fillDescriptions(), L1TMicroGMTInputProducerFromGen::fillDescriptions(), TemplatedDeepNNTagInfoProducer< IPTag, SVTag >::fillDescriptions(), HcalLaserHFFilter2012::fillDescriptions(), PFCand_NoPU_WithAM::fillDescriptions(), edm::global::EDAnalyzerBase::fillDescriptions(), HGCalDigiValidation::fillDescriptions(), LogMessageMonitor::fillDescriptions(), SinglePhotonJetPlusHOFilter::fillDescriptions(), HGCalTBAnalyzer::fillDescriptions(), EGammaCutBasedEleIdAnalyzer::fillDescriptions(), edm::global::EDFilterBase::fillDescriptions(), l1t::L1TGlobalAnalyzer::fillDescriptions(), edm::one::EDAnalyzerBase::fillDescriptions(), edm::one::EDProducerBase::fillDescriptions(), edm::one::EDFilterBase::fillDescriptions(), L1TStage2Layer2Producer::fillDescriptions(), APVShotsFilter::fillDescriptions(), HcalRaddamMuon::fillDescriptions(), AlCaHBHEMuonFilter::fillDescriptions(), DeepFlavourJetTagsProducer::fillDescriptions(), l1t::MP7BufferDumpToRaw::fillDescriptions(), edm::global::EDProducerBase::fillDescriptions(), L1TMuonProducer::fillDescriptions(), L1TCaloLayer1::fillDescriptions(), FSQDiJetAve::fillDescriptions(), l1t::GenToInputProducer::fillDescriptions(), EmbeddingVertexCorrector::fillDescriptions(), HGCalRecHitValidation::fillDescriptions(), l1t::BXVectorInputProducer::fillDescriptions(), DeepCMVATagInfoProducer::fillDescriptions(), L1TComparison::fillDescriptions(), BoostedDoubleSVProducer::fillDescriptions(), PhotonRegressionValueMapProducer::fillDescriptions(), HcalHBHEMuonAnalyzer::fillDescriptions(), HGCalHitValidation::fillDescriptions(), L1TStage2Layer1Producer::fillDescriptions(), ElectronRegressionValueMapProducer::fillDescriptions(), StudyHLT::fillDescriptions(), IsoTrig::fillDescriptions(), L1Validator::fillDescriptions(), L1TCaloLayer1RawToDigi::fillDescriptions(), L1TStage1Layer2Producer::fillDescriptions(), HGCalSimHitValidation::fillDescriptions(), EmbeddingLHEProducer::fillDescriptions(), IsoTrackCalibration::fillDescriptions(), SiStripGainsPCLWorker::fillDescriptions(), AlCaIsoTracksFilter::fillDescriptions(), GenTtbarCategorizer::fillDescriptions(), edm::OutputModule::fillDescriptions(), HadronAndPartonSelector::fillDescriptions(), IsoTrackCalib::fillDescriptions(), edm::global::OutputModuleBase::fillDescriptions(), edm::one::OutputModuleBase::fillDescriptions(), edm::InputSource::fillDescriptions(), JetFlavourClustering::fillDescriptions(), L1TConfigDumper::fillDescriptions(), MuonToTrackingParticleAssociatorEDProducer::fillDescriptions(), and edm::fillDetails::DoFillAsUnknown< T >::operator()().

53  {
54  unknown_ = true;
55  }
void ParameterSetDescription::throwIfLabelsAlreadyUsed ( std::set< std::string > const &  nodeLabels)
private

Definition at line 299 of file ParameterSetDescription.cc.

References Exception, edm::errors::LogicError, throwIfWildcardCollision(), and usedLabels_.

Referenced by addNode(), printNode(), and reserve().

299  {
300 
301  std::set<std::string> duplicateLabels;
302  std::insert_iterator<std::set<std::string> > insertIter(duplicateLabels, duplicateLabels.begin());
303  std::set_intersection(nodeLabels.begin(), nodeLabels.end(),
304  usedLabels_.begin(), usedLabels_.end(),
305  insertIter);
306  if (duplicateLabels.empty()) {
307  usedLabels_.insert(nodeLabels.begin(), nodeLabels.end());
308  }
309  else {
310 
311  std::stringstream ss;
312  for (std::set<std::string>::const_iterator iter = duplicateLabels.begin(),
313  iEnd = duplicateLabels.end();
314  iter != iEnd;
315  ++iter) {
316  ss << " \"" << *iter << "\"\n";
317  }
319  << "Labels used in different nodes of a ParameterSetDescription\n"
320  << "must be unique. The following duplicate labels were detected:\n"
321  << ss.str()
322  << "\n";
323  }
324  }
std::set< std::string > usedLabels_
void ParameterSetDescription::throwIfWildcardCollision ( std::set< ParameterTypes > const &  nodeParameterTypes,
std::set< ParameterTypes > const &  nodeWildcardTypes 
)
private

Definition at line 328 of file ParameterSetDescription.cc.

References Exception, ifExists(), edm::errors::LogicError, edm::parameterTypeEnumToString(), typesUsedForParameters_, and typesUsedForWildcards_.

Referenced by addNode(), reserve(), and throwIfLabelsAlreadyUsed().

329  {
330 
331  // 1. Check that the new wildcard types do not collide with the existing
332  // parameter types.
333  // 2. Check that the new parameter types do not collide with the existing
334  // wildcard types.
335  // 3. Then insert them.
336  // The order of those steps is important because a wildcard with a default
337  // value could insert a type in both sets and this is OK.
338 
339  // We assume the node already checked for collisions between the new parameter
340  // types and the new wildcard types before passing the sets to this function.
341 
342  if (!nodeWildcardTypes.empty()) {
343 
344  std::set<ParameterTypes> duplicateTypes1;
345  std::insert_iterator<std::set<ParameterTypes> > insertIter1(duplicateTypes1, duplicateTypes1.begin());
346  std::set_intersection(typesUsedForParameters_.begin(), typesUsedForParameters_.end(),
347  nodeWildcardTypes.begin(), nodeWildcardTypes.end(),
348  insertIter1);
349 
350  if (!duplicateTypes1.empty()) {
351 
352  std::stringstream ss;
353  for (std::set<ParameterTypes>::const_iterator iter = duplicateTypes1.begin(),
354  iEnd = duplicateTypes1.end();
355  iter != iEnd;
356  ++iter) {
357  ss << " \"" << parameterTypeEnumToString(*iter) << "\"\n";
358  }
360  << "Within a ParameterSetDescription, the type used for a wildcard must\n"
361  << "not be the same as the type used for other parameters. This rule\n"
362  << "is violated for the following types:\n"
363  << ss.str()
364  << "\n";
365  }
366  }
367 
368  if (!typesUsedForWildcards_.empty()) {
369 
370  std::set<ParameterTypes> duplicateTypes2;
371  std::insert_iterator<std::set<ParameterTypes> > insertIter2(duplicateTypes2, duplicateTypes2.begin());
372  std::set_intersection(typesUsedForWildcards_.begin(), typesUsedForWildcards_.end(),
373  nodeParameterTypes.begin(), nodeParameterTypes.end(),
374  insertIter2);
375 
376  if (!duplicateTypes2.empty()) {
377 
378  std::stringstream ss;
379  for (std::set<ParameterTypes>::const_iterator iter = duplicateTypes2.begin(),
380  iEnd = duplicateTypes2.end();
381  iter != iEnd;
382  ++iter) {
383  ss << " \"" << parameterTypeEnumToString(*iter) << "\"\n";
384  }
386  << "Within a ParameterSetDescription, the type used for a wildcard must\n"
387  << "not be the same as the type used for other parameters. This rule is\n"
388  << "violated for the following types :\n"
389  << ss.str()
390  << "\n";
391  }
392  }
393 
394  typesUsedForParameters_.insert(nodeParameterTypes.begin(), nodeParameterTypes.end());
395  typesUsedForWildcards_.insert(nodeWildcardTypes.begin(), nodeWildcardTypes.end());
396  }
std::string parameterTypeEnumToString(ParameterTypes iType)
std::set< ParameterTypes > typesUsedForParameters_
std::set< ParameterTypes > typesUsedForWildcards_
void ParameterSetDescription::throwIllegalParameters ( std::vector< std::string > const &  parameterNames,
std::set< std::string > const &  validatedNames 
)
staticprivate

Definition at line 238 of file ParameterSetDescription.cc.

References edm::errors::Configuration, Exception, and mitigatedMETSequence_cff::U.

Referenced by reserve(), and validate().

240  {
241 
242  std::set<std::string> parNames(parameterNames.begin(), parameterNames.end());
243 
244 
245  std::set<std::string> diffNames;
246  std::insert_iterator<std::set<std::string> > insertIter(diffNames, diffNames.begin());
247  std::set_difference(parNames.begin(), parNames.end(),
248  validatedLabels.begin(), validatedLabels.end(),
249  insertIter);
250 
251  std::stringstream ss;
252  for (std::set<std::string>::const_iterator iter = diffNames.begin(),
253  iEnd = diffNames.end();
254  iter != iEnd;
255  ++iter) {
256  ss << " '" << *iter << "'\n";
257  }
258  if (diffNames.size() == 1U) {
260  << "Illegal parameter found in configuration. The parameter is named:\n"
261  << ss.str()
262  << "You could be trying to use a parameter name that is not\n"
263  << "allowed for this plugin or it could be misspelled.\n";
264  }
265  else {
267  << "Illegal parameters found in configuration. The parameters are named:\n"
268  << ss.str()
269  << "You could be trying to use parameter names that are not\n"
270  << "allowed for this plugin or they could be misspelled.\n";
271  }
272  }
void ParameterSetDescription::validate ( ParameterSet pset) const

Definition at line 104 of file ParameterSetDescription.cc.

References anythingAllowed(), entries_, edm::ParameterSet::exists(), edm::for_all(), edm::ParameterSet::getParameterNames(), AlCaHLTBitMon_QueryRunRegistry::string, edm::IllegalParameters::throwAnException(), throwIllegalParameters(), unknown_, and validateNode().

Referenced by reserve(), and edm::ConfigurationDescriptions::validate().

105  {
106  using std::placeholders::_1;
107  if (unknown_) return;
108 
109  std::set<std::string> validatedLabels;
111  std::bind(&ParameterSetDescription::validateNode, _1, std::ref(pset), std::ref(validatedLabels)));
112 
113  std::vector<std::string> parameterNames = pset.getParameterNames();
114  if (validatedLabels.size() != parameterNames.size()) {
115 
116  // Three labels will be magically inserted into the top level
117  // of a module ParameterSet even though they are not in the
118  // python configuration files. If these are present, then
119  // assume they are OK and count them as validated.
120 
121  std::string module_label("@module_label");
122  if (pset.exists(module_label)) {
123  validatedLabels.insert(module_label);
124  }
125 
126  std::string module_type("@module_type");
127  if (pset.exists(module_type)) {
128  validatedLabels.insert(module_type);
129  }
130 
131  std::string module_edm_type("@module_edm_type");
132  if (pset.exists(module_edm_type)) {
133  validatedLabels.insert(module_edm_type);
134  }
135 
136  std::string service_type("@service_type");
137  if (pset.exists(service_type)) {
138  validatedLabels.insert(service_type);
139  }
140 
141  // Try again
142  if (validatedLabels.size() != parameterNames.size()) {
143 
145  throwIllegalParameters(parameterNames, validatedLabels);
146  }
147  }
148  }
149  }
static void throwIllegalParameters(std::vector< std::string > const &parameterNames, std::set< std::string > const &validatedNames)
static bool throwAnException()
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
static void validateNode(SetDescriptionEntry const &entry, ParameterSet &pset, std::set< std::string > &validatedNames)
void ParameterSetDescription::validateNode ( SetDescriptionEntry const &  entry,
ParameterSet pset,
std::set< std::string > &  validatedNames 
)
staticprivate

Definition at line 172 of file ParameterSetDescription.cc.

References edm::ParameterSetDescription::SetDescriptionEntry::node(), edm::ParameterSetDescription::SetDescriptionEntry::optional(), and print().

Referenced by reserve(), validate(), and writeCfi().

174  {
175  entry.node()->validate(pset, validatedLabels, entry.optional());
176  }
void ParameterSetDescription::writeCfi ( std::ostream &  os,
bool  startWithComma,
int  indentation 
) const

Definition at line 152 of file ParameterSetDescription.cc.

References entries_, edm::for_all(), validateNode(), and writeNode().

Referenced by reserve(), and edm::ParameterDescription< std::vector< ParameterSet > >::writeOneElementToCfi().

154  {
155  using std::placeholders::_1;
156  bool wroteSomething = false;
157 
159  _1,
160  std::ref(os),
161  std::ref(startWithComma),
162  indentation,
163  std::ref(wroteSomething)));
164 
165  if (wroteSomething) {
166  char oldFill = os.fill();
167  os << "\n" << std::setfill(' ') << std::setw(indentation - 2) << "" << std::setfill(oldFill);
168  }
169  }
static void writeNode(SetDescriptionEntry const &entry, std::ostream &os, bool &startWithComma, int indentation, bool &wroteSomething)
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
Definition: Algorithms.h:16
void ParameterSetDescription::writeNode ( SetDescriptionEntry const &  entry,
std::ostream &  os,
bool &  startWithComma,
int  indentation,
bool &  wroteSomething 
)
staticprivate

Definition at line 275 of file ParameterSetDescription.cc.

References edm::ParameterSetDescription::SetDescriptionEntry::node(), and edm::ParameterSetDescription::SetDescriptionEntry::writeToCfi().

Referenced by reserve(), and writeCfi().

279  {
280  if (entry.writeToCfi()) {
281  entry.node()->writeCfi(os, startWithComma, indentation, wroteSomething);
282  }
283  }

Member Data Documentation

bool edm::ParameterSetDescription::anythingAllowed_
private

Definition at line 399 of file ParameterSetDescription.h.

Referenced by anythingAllowed(), and setAllowAnything().

std::string edm::ParameterSetDescription::comment_
private

Definition at line 407 of file ParameterSetDescription.h.

Referenced by comment(), and setComment().

SetDescriptionEntries edm::ParameterSetDescription::entries_
private

Definition at line 401 of file ParameterSetDescription.h.

Referenced by addNode(), begin(), end(), print(), reserve(), validate(), and writeCfi().

std::set<ParameterTypes> edm::ParameterSetDescription::typesUsedForParameters_
private

Definition at line 404 of file ParameterSetDescription.h.

Referenced by throwIfWildcardCollision().

std::set<ParameterTypes> edm::ParameterSetDescription::typesUsedForWildcards_
private

Definition at line 405 of file ParameterSetDescription.h.

Referenced by throwIfWildcardCollision().

bool edm::ParameterSetDescription::unknown_
private

Definition at line 400 of file ParameterSetDescription.h.

Referenced by isUnknown(), setUnknown(), and validate().

std::set<std::string> edm::ParameterSetDescription::usedLabels_
private

Definition at line 403 of file ParameterSetDescription.h.

Referenced by isLabelUnused(), and throwIfLabelsAlreadyUsed().