CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
< SetDescriptionEntry
SetDescriptionEntries
 

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::auto_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::auto_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::auto_ptr< ParameterDescriptionCases< T > > cases)
 
template<typename T >
ParameterDescriptionNodeifValueOptional (ParameterDescription< T > const &switchParameter, std::auto_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::auto_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::auto_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(), ConeIsolationAlgorithm::fillDescription(), GsfElectronBaseProducer::fillDescription(), GsfElectronCoreBaseProducer::fillDescription(), pat::helper::KinResolutionsLoader::fillDescription(), pat::PATUserDataHelper< ObjectType >::fillDescription(), pat::PATUserDataMerger< ObjectType, Operation >::fillDescription(), edm::fillDescriptionFromPSet(), HLTDynamicPrescaler::fillDescriptions(), GEDGsfElectronCoreProducer::fillDescriptions(), edm::Prescaler::fillDescriptions(), HLTDiMuonGlbTrkFilter::fillDescriptions(), HLTDisplacedmumuFilter::fillDescriptions(), HLTDisplacedmumumuFilter::fillDescriptions(), SeedGeneratorFromProtoTracksEDProducer::fillDescriptions(), HLTmumutkFilter::fillDescriptions(), edm::EventAuxiliaryHistoryProducer::fillDescriptions(), HLTEcalIsolationFilter::fillDescriptions(), HLTPixelActivityFilter::fillDescriptions(), HLTTrackSeedMultiplicityFilter::fillDescriptions(), HLTPixelClusterShapeFilter::fillDescriptions(), QGTagger::fillDescriptions(), GsfTrackProducer::fillDescriptions(), HLTMuonTrkFilter::fillDescriptions(), HLTmumutktkFilter::fillDescriptions(), BasicToPFJet::fillDescriptions(), HLTPixelIsolTrackFilter::fillDescriptions(), EgammaHLTTimeCleanedRechitProducer::fillDescriptions(), HLTMuonTrackMassFilter::fillDescriptions(), ESRawToDigi::fillDescriptions(), HLTEcalPixelIsolTrackFilter::fillDescriptions(), TrackerGeometricDetESModule::fillDescriptions(), HLTElectronMissingHitsFilter::fillDescriptions(), HLTCSCOverlapFilter::fillDescriptions(), HLTCSCRing2or3Filter::fillDescriptions(), HcalTrigTowerGeometryESProducer::fillDescriptions(), TrackerDigiGeometryESModule::fillDescriptions(), HLTHcalNoiseFilter::fillDescriptions(), FastTimerFilter::fillDescriptions(), HLTHemiDPhiFilter::fillDescriptions(), HLTElectronPixelMatchFilter::fillDescriptions(), HLTJetL1MatchProducer< T >::fillDescriptions(), EcalUncalibRecHitProducer::fillDescriptions(), HLTPhi2METFilter::fillDescriptions(), HLTRapGapFilter::fillDescriptions(), HLTNVFilter::fillDescriptions(), HLTMuonL1RegionalFilter::fillDescriptions(), HLTRPCFilter::fillDescriptions(), FTSLuminosityFromPileupSummaryInfo::fillDescriptions(), FTSLuminosityFromPixelClusters::fillDescriptions(), FTSLuminosityFromScalers::fillDescriptions(), HLTForwardBackwardJetsFilter< T >::fillDescriptions(), HLTJetCollectionsFilter< jetType >::fillDescriptions(), CSCDCCUnpacker::fillDescriptions(), evf::EvFFEDSelector::fillDescriptions(), HLTPFTauPairLeadTrackDzMatchFilter::fillDescriptions(), L2TauJetsMerger::fillDescriptions(), HLTJetPairDzMatchFilter< T >::fillDescriptions(), HLTHcalTowerFilter::fillDescriptions(), HLTEgammaAllCombMassFilter::fillDescriptions(), HLTEgammaDoubleLegCombFilter::fillDescriptions(), FTSLuminosityFromVertices::fillDescriptions(), HLT2jetGapFilter::fillDescriptions(), HLTHcalMETNoiseCleaner::fillDescriptions(), PFJetsMatchedToFilteredCaloJetsProducer::fillDescriptions(), HLTEgammaCombMassFilter::fillDescriptions(), HLTSingleVertexPixelTrackFilter::fillDescriptions(), AnyJetToCaloJetProducer::fillDescriptions(), JetTagProducer::fillDescriptions(), HLTHPDFilter::fillDescriptions(), EgammaHLTHybridClusterProducer::fillDescriptions(), L1HLTTauMatching::fillDescriptions(), HLTMuonDimuonL3Filter::fillDescriptions(), FTSLuminosityFromLumiSummary::fillDescriptions(), HLTDeDxFilter::fillDescriptions(), HLTHcalLaserFilter::fillDescriptions(), HLTJetEtaTopologyFilter< T >::fillDescriptions(), HLTJetVBFFilter< T >::fillDescriptions(), EgammaEcalPFClusterIsolationProducer< T1 >::fillDescriptions(), EgammaHcalPFClusterIsolationProducer< T1 >::fillDescriptions(), HLTMonoJetFilter< T >::fillDescriptions(), HLTMuonDimuonL2Filter::fillDescriptions(), HLTMuonL2PreFilter::fillDescriptions(), HLTMuonPFIsoFilter::fillDescriptions(), HLTMuonTrimuonL3Filter::fillDescriptions(), HLTDisplacedEgammaFilter::fillDescriptions(), HLTPhysicsDeclared::fillDescriptions(), HLTEgammaDoubleEtDeltaPhiFilter::fillDescriptions(), HLTEgammaEtFilter::fillDescriptions(), L1FastjetCorrectorImplMaker::fillDescriptions(), L1OffsetCorrectorImplMaker::fillDescriptions(), HLTEgammaEtFilterPairs::fillDescriptions(), HLTDiJetAveEtaFilter< T >::fillDescriptions(), HLTDiJetAveFilter< T >::fillDescriptions(), HLTDiJetEtaTopologyFilter< T >::fillDescriptions(), ConeIsolation::fillDescriptions(), HLTHcalMETNoiseFilter::fillDescriptions(), HLTElectronEtFilter::fillDescriptions(), HLTHcalTowerNoiseCleaner::fillDescriptions(), HLTElectronGenericFilter::fillDescriptions(), EgammaHLTIslandClusterProducer::fillDescriptions(), HLTJetCollectionsVBFFilter< T >::fillDescriptions(), HLTElectronOneOEMinusOneOPFilterRegional::fillDescriptions(), ESRecHitsMerger::fillDescriptions(), L3MuonSumCaloPFIsolationProducer::fillDescriptions(), HLTMuonIsoFilter::fillDescriptions(), DTUnpackingModule::fillDescriptions(), RPCUnpackingModule::fillDescriptions(), HLTEgammaGenericQuadraticEtaFilter::fillDescriptions(), HLTEgammaGenericQuadraticFilter::fillDescriptions(), HLTExclDiJetFilter< T >::fillDescriptions(), HLTFatJetMassFilter< jetType >::fillDescriptions(), HLTEgammaTriggerFilterObjectWrapper::fillDescriptions(), EcalRecHitsMerger::fillDescriptions(), EgammaHLTCaloTowerProducer::fillDescriptions(), HLTElectronEoverpFilterRegional::fillDescriptions(), HLTMhtFilter::fillDescriptions(), HLTMuonL1toL3TkPreFilter::fillDescriptions(), HLTMuonL3PreFilter::fillDescriptions(), TriggerSummaryAnalyzerAOD::fillDescriptions(), TriggerSummaryAnalyzerRAW::fillDescriptions(), L1JPTOffsetCorrectorImplMaker::fillDescriptions(), EgammaHLTMulti5x5ClusterProducer::fillDescriptions(), HLTPMDocaFilter::fillDescriptions(), HLTBool::fillDescriptions(), HLTSinglet< T >::fillDescriptions(), HLTAcoFilter::fillDescriptions(), EcalRecHitProducer::fillDescriptions(), HLTPFJetIDProducer::fillDescriptions(), TauJetSelectorForHLTTrackSeeding::fillDescriptions(), HLTEventAnalyzerAOD::fillDescriptions(), HLTEventAnalyzerRAW::fillDescriptions(), HLTGlobalSums< T >::fillDescriptions(), HLTEgammaDoubleEtFilter::fillDescriptions(), HLTEgammaDoubleEtPhiFilter::fillDescriptions(), HLTAlphaTFilter< T >::fillDescriptions(), HLTEgammaL1MatchFilterPairs::fillDescriptions(), HLTEgammaL1MatchFilterRegional::fillDescriptions(), sistrip::ExcludedFEDListProducer::fillDescriptions(), HLTMinDPhiMETFilter::fillDescriptions(), L3MuonCombinedRelativeIsolationProducer::fillDescriptions(), L2MuonIsolationProducer::fillDescriptions(), HLTRFilter::fillDescriptions(), HcalTopologyIdealEP::fillDescriptions(), L6SLBCorrectorImplMaker::fillDescriptions(), HLTHtMhtFilter::fillDescriptions(), TrackerTopologyEP::fillDescriptions(), HLTDisplacedmumumuVtxProducer::fillDescriptions(), edm::ThinningProducer< Collection, Selector >::fillDescriptions(), HLTMuonL1Filter::fillDescriptions(), L2TauPixelIsoTagProducer::fillDescriptions(), HLTDTROMonitorFilter::fillDescriptions(), HLTEcalTowerFilter::fillDescriptions(), HcalRawToDigi::fillDescriptions(), HLTEgammaCaloIsolFilterPairs::fillDescriptions(), HLTPixlMBFilt::fillDescriptions(), HLTPixlMBForAlignmentFilter::fillDescriptions(), EgammaHLTPixelMatchElectronProducers::fillDescriptions(), EgammaHLTRecoEcalCandidateProducers::fillDescriptions(), HLTGetRaw::fillDescriptions(), HLTRHemisphere::fillDescriptions(), HLTCaloTowerHtMhtProducer::fillDescriptions(), SiPixelRawToDigi::fillDescriptions(), EgammaHLTCombinedIsolationProducer::fillDescriptions(), HLTDisplacedmumuVtxProducer::fillDescriptions(), EgammaHLTClusterShapeProducer::fillDescriptions(), HLTJetTagWithMatching< T >::fillDescriptions(), HLTSmartSinglet< T >::fillDescriptions(), EgammaHLTPFChargedIsolationProducer::fillDescriptions(), EgammaHLTRemoveDuplicatedSC::fillDescriptions(), HLTJetTag< T >::fillDescriptions(), HLTCaloTowerFilter::fillDescriptions(), EcalDetIdToBeRecoveredProducer::fillDescriptions(), HLTLevel1Pattern::fillDescriptions(), HLTMhtProducer::fillDescriptions(), EgammaHLTPFNeutralIsolationProducer::fillDescriptions(), HLTPFEnergyFractionsFilter::fillDescriptions(), EgammaHLTPFPhotonIsolationProducer::fillDescriptions(), CaloTowerCreatorForTauHLT::fillDescriptions(), TriggerSummaryProducerRAW::fillDescriptions(), HLTMETCleanerUsingJetID::fillDescriptions(), HLTDoubletDZ< T1, T2 >::fillDescriptions(), HLTSummaryFilter::fillDescriptions(), EgammaHLTElectronCombinedIsolationProducer::fillDescriptions(), HLTHtMhtProducer::fillDescriptions(), HLTEcalPFClusterIsolationProducer< T1 >::fillDescriptions(), EgammaHLTEcalRecIsolationProducer::fillDescriptions(), LogErrorFilter::fillDescriptions(), HLTCountNumberOfObject< OColl >::fillDescriptions(), HLTTriggerTypeFilter::fillDescriptions(), SUSY_HLT_Razor::fillDescriptions(), EgammaHLTRegionalPixelSeedGeneratorProducers::fillDescriptions(), HLTHcalPFClusterIsolationProducer< T1 >::fillDescriptions(), HLTDoublet< T1, T2 >::fillDescriptions(), HLTCaloJetIDProducer::fillDescriptions(), CSCDigiToRawModule::fillDescriptions(), HLTmumutktkVtxProducer::fillDescriptions(), HLTFiltCand::fillDescriptions(), HLTElectronPFMTFilter< T >::fillDescriptions(), EcalListOfFEDSProducer::fillDescriptions(), HLTCollectionProducer< T >::fillDescriptions(), EgammaHLTHcalIsolationDoubleConeProducers::fillDescriptions(), HLTEventNumberFilter::fillDescriptions(), ESListOfFEDSProducer::fillDescriptions(), TriggerResultsFilterFromDB::fillDescriptions(), HLTVertexFilter::fillDescriptions(), EgammaHLTElectronTrackIsolationProducers::fillDescriptions(), HLTJetSortedVBFFilter< T >::fillDescriptions(), TriggerResultsFilter::fillDescriptions(), EgammaHLTR9IDProducer::fillDescriptions(), EgammaHLTElectronDetaDphiProducer::fillDescriptions(), HLTTrackWithHits::fillDescriptions(), HLTHcalPhiSymFilter::fillDescriptions(), HLTLevel1Activity::fillDescriptions(), HLTL1NumberFilter::fillDescriptions(), pat::PATJetUpdater::fillDescriptions(), HLTJetCollectionsForBoostedLeptonPlusJets< jetType >::fillDescriptions(), HLTrigReport::fillDescriptions(), HLTHighLevel::fillDescriptions(), EcalTrigPrimProducer::fillDescriptions(), HLTFEDSizeFilter::fillDescriptions(), HLTJetCollectionsForLeptonPlusJets< jetType >::fillDescriptions(), edm::service::PrescaleService::fillDescriptions(), EgammaHLTHcalIsolationProducersRegional::fillDescriptions(), EgammaHLTPhotonTrackIsolationProducersRegional::fillDescriptions(), HLTHcalNZSFilter::fillDescriptions(), HLTHcalSimpleRecHitFilter::fillDescriptions(), EgammaHLTR9Producer::fillDescriptions(), pat::PATMETProducer::fillDescriptions(), HLTElectronMuonInvMassFilter::fillDescriptions(), HLTRechitInRegionsProducer< T1 >::fillDescriptions(), HotlineDQM::fillDescriptions(), HLTJetCollForElePlusJets< T >::fillDescriptions(), EgammaHLTBcHcalIsolationProducersRegional::fillDescriptions(), PixelVertexCollectionTrimmer::fillDescriptions(), HLTGenericFilter< T1 >::fillDescriptions(), ScalersRawToDigi::fillDescriptions(), HLTMuonPointingFilter::fillDescriptions(), HLTmmkkFilter::fillDescriptions(), HLTJetCollectionsForElePlusJets< T >::fillDescriptions(), HLTmumutkVtxProducer::fillDescriptions(), HLTTrackMETProducer::fillDescriptions(), HLTRechitsToDigis::fillDescriptions(), HLTTrackerHaloFilter::fillDescriptions(), HLTmmkFilter::fillDescriptions(), HLTL1MuonSelector::fillDescriptions(), HLTHcalCalibTypeFilter::fillDescriptions(), HLTJetHbbFilter< T >::fillDescriptions(), HLTCSCActivityFilter::fillDescriptions(), EgammaHLTEcalIsolationProducersRegional::fillDescriptions(), DeDxEstimatorProducer::fillDescriptions(), PFECALSuperClusterProducer::fillDescriptions(), edm::EventSetupRecordDataGetter::fillDescriptions(), GctRawToDigi::fillDescriptions(), HLTPrescaleRecorder::fillDescriptions(), HLTBeamModeFilter::fillDescriptions(), pat::PATMuonProducer::fillDescriptions(), HLTPrescaler::fillDescriptions(), JetVertexChecker::fillDescriptions(), EcalRawToDigi::fillDescriptions(), HLTCSCAcceptBusyFilter::fillDescriptions(), ElectronSeedProducer::fillDescriptions(), EgammaHLTNxNClusterProducer::fillDescriptions(), VertexFromTrackProducer::fillDescriptions(), HLTHFAsymmetryFilter::fillDescriptions(), pat::PATTauProducer::fillDescriptions(), SoftLepton::fillDescriptions(), SiPixelClusterShapeCacheProducer::fillDescriptions(), pat::PATJetProducer::fillDescriptions(), HLTPixelAsymmetryFilter::fillDescriptions(), HLTCAWZTagFilter::fillDescriptions(), HLTDTActivityFilter::fillDescriptions(), HLTEcalPhiSymFilter::fillDescriptions(), HLTRPCTrigNoSyncFilter::fillDescriptions(), FastPrimaryVertexWithWeightsProducer::fillDescriptions(), SiStripFEDCheckPlugin::fillDescriptions(), PixelJetPuId::fillDescriptions(), L1GlobalTriggerRawToDigi::fillDescriptions(), HLTCATopTagFilter::fillDescriptions(), HLTPMMassFilter::fillDescriptions(), GenHFHadronMatcher::fillDescriptions(), pat::PATPhotonProducer::fillDescriptions(), pat::PATElectronProducer::fillDescriptions(), HLTLevel1GTSeed::fillDescriptions(), HLTHeavyIon::fillDescriptions(), HLTGetDigi::fillDescriptions(), ExternalLHEProducer::fillDescriptions(), EgammaHLTGsfTrackVarProducer::fillDescriptions(), CorrectedECALPFClusterProducer::fillDescriptions(), pat::JetCorrFactorsProducer::fillDescriptions(), HLTDummyCollections::fillDescriptions(), HLTRegionalEcalResonanceFilter::fillDescriptions(), HLTEcalResonanceFilter::fillDescriptions(), HLTJetsCleanedFromLeadingLeptons< JetType >::fillDescriptions(), HLTRecHitInAllL1RegionsProducer< RecHitType >::fillDescriptions(), SelectedElectronFEDListProducer< TEle, TCand >::fillDescriptions(), TriggerSummaryProducerAOD::fillDescriptions(), TriggerJSONMonitoring::fillDescriptions(), TemplatedSecondaryVertexProducer< IPTI, VTX >::fillDescriptions(), ChainedJetCorrectorProducer::fillDescriptions(), IPProducer< Container, Base, Helper >::fillDescriptions(), HLTFilter::makeHLTFilterDescription(), HLTStreamFilter::makeHLTFilterDescription(), edm::eventsetup::DataProxyProvider::prevalidate(), and counter.Counter::register().

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().

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(), and python.Node::node.

Referenced by counter.Counter::register().

419  {
420 
421  std::auto_ptr<ParameterDescriptionNode> node(new ParameterDescription<T>(iLabel, value, isTracked));
422  ParameterDescriptionNode* pnode = addNode(node, isOptional, writeToCfi);
423  return static_cast<ParameterDescriptionBase*>(pnode);
424  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
tuple node
Definition: Node.py:50
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(), and python.Node::node.

Referenced by counter.Counter::register().

428  {
429 
430  std::auto_ptr<ParameterDescriptionNode> node(new ParameterDescription<T>(iLabel, isTracked));
431  ParameterDescriptionNode* pnode = addNode(node, isOptional, writeToCfi);
432  return static_cast<ParameterDescriptionBase*>(pnode);
433  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
tuple node
Definition: Node.py:50
ParameterDescriptionNode * ParameterSetDescription::addNode ( ParameterDescriptionNode const &  node)
ParameterDescriptionNode * ParameterSetDescription::addNode ( std::auto_ptr< ParameterDescriptionNode node)

Definition at line 66 of file ParameterSetDescription.cc.

References addNode().

66  {
67  return addNode(node, false, true);
68  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
tuple node
Definition: Node.py:50
ParameterDescriptionNode * ParameterSetDescription::addNode ( std::auto_ptr< ParameterDescriptionNode node,
bool  optional,
bool  writeToCfi 
)
private

Definition at line 85 of file ParameterSetDescription.cc.

References edm::ParameterDescriptionNode::checkAndGetLabelsAndTypes(), entries_, 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(node);
101  }
void throwIfWildcardCollision(std::set< ParameterTypes > const &nodeParameterTypes, std::set< ParameterTypes > const &nodeWildcardTypes)
tuple node
Definition: Node.py:50
void throwIfLabelsAlreadyUsed(std::set< std::string > const &nodeLabels)
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 
)

Definition at line 72 of file ParameterSetDescription.cc.

References addNode(), and edm::ParameterDescriptionNode::clone().

Referenced by ecaldqm::binning::fillAxisDescriptions(), TemplatedSecondaryVertexProducer< IPTI, VTX >::fillDescriptions(), and EcalUncalibRecHitWorkerMultiFit::getAlgoDescription().

72  {
73  std::auto_ptr<ParameterDescriptionNode> clonedNode(node.clone());
74  return addNode(clonedNode, true, writeToCfi);
75  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
tuple node
Definition: Node.py:50
ParameterDescriptionNode * ParameterSetDescription::addOptionalNode ( std::auto_ptr< ParameterDescriptionNode node,
bool  writeToCfi 
)

Definition at line 79 of file ParameterSetDescription.cc.

References addNode().

79  {
80  return addNode(node, true, writeToCfi);
81  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
tuple node
Definition: Node.py:50
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 ecaldqm::binning::fillAxisDescriptions(), edm::StreamerOutputModuleBase::fillDescription(), edm::FromFiles::fillDescription(), edm::EventSkipperByID::fillDescription(), edm::StreamerFileWriter::fillDescription(), evf::RecoEventWriterForFU::fillDescription(), edm::EDInputSource::fillDescription(), edm::ProducerSourceBase::fillDescription(), edm::ProductSelectorRules::fillDescription(), edm::PoolOutputModule::fillDescription(), edm::DuplicateChecker::fillDescription(), edm::EventSelector::fillDescription(), edm::RootInputFileSequence::fillDescription(), dqmservices::DQMFileIterator::fillDescription(), edm::InputSource::fillDescription(), edm::fillDescriptionFromPSet(), EcalMEFormatter::fillDescriptions(), EcalPreshowerMonitorClient::fillDescriptions(), EcalDQMonitorClient::fillDescriptions(), dqmservices::JsonWritingTimeoutPoolOutputModule::fillDescriptions(), edm::service::InitRootHandlers::fillDescriptions(), ESRawToDigi::fillDescriptions(), dqmservices::DQMProtobufReader::fillDescriptions(), EcalDQMonitorTask::fillDescriptions(), HLTRPCFilter::fillDescriptions(), CSCDCCUnpacker::fillDescriptions(), edm::service::UnixSignalService::fillDescriptions(), ecaldqm::DQWorkerClient::fillDescriptions(), edm::service::CPU::fillDescriptions(), ecaldqm::EcalDQMonitor::fillDescriptions(), edm::AsciiOutputModule::fillDescriptions(), edm::StreamerFileReader::fillDescriptions(), HLTEgammaDoubleEtDeltaPhiFilter::fillDescriptions(), HLTEgammaEtFilter::fillDescriptions(), HLTEgammaEtFilterPairs::fillDescriptions(), DTUnpackingModule::fillDescriptions(), edm::service::Timing::fillDescriptions(), FastTimerServiceClient::fillDescriptions(), ThroughputServiceClient::fillDescriptions(), dqmservices::DQMStreamerReader::fillDescriptions(), edm::ZombieKillerService::fillDescriptions(), HLTEgammaDoubleEtFilter::fillDescriptions(), HcalTopologyIdealEP::fillDescriptions(), HcalRawToDigi::fillDescriptions(), edm::service::ResourceEnforcer::fillDescriptions(), SiPixelRawToDigi::fillDescriptions(), XrdAdaptor::XrdStatisticsService::fillDescriptions(), CaloTowerCreatorForTauHLT::fillDescriptions(), edm::service::LoadAllDictionaries::fillDescriptions(), EventIDChecker::fillDescriptions(), AbortOnEventIDAnalyzer::fillDescriptions(), ThroughputService::fillDescriptions(), HLTrigReport::fillDescriptions(), edm::PrintEventSetupDataRetrieval::fillDescriptions(), HLTElectronMuonInvMassFilter::fillDescriptions(), edm::PrintEventSetupContent::fillDescriptions(), HLTHcalCalibTypeFilter::fillDescriptions(), CaloTowerConstituentsMapBuilder::fillDescriptions(), Timer::fillDescriptions(), PFECALSuperClusterProducer::fillDescriptions(), edm::EventSetupRecordDataGetter::fillDescriptions(), GctRawToDigi::fillDescriptions(), edm::service::Tracer::fillDescriptions(), ecaldqm::DQWorker::fillDescriptions(), ElectronSeedProducer::fillDescriptions(), EcalRawToDigi::fillDescriptions(), VertexFromTrackProducer::fillDescriptions(), MulticoreRunLumiEventChecker::fillDescriptions(), SiStripFEDCheckPlugin::fillDescriptions(), L1GlobalTriggerRawToDigi::fillDescriptions(), HLTPMMassFilter::fillDescriptions(), edm::service::SimpleMemoryCheck::fillDescriptions(), TriggerRatesMonitor::fillDescriptions(), HLTGetDigi::fillDescriptions(), ExternalLHEProducer::fillDescriptions(), edm::service::RandomNumberGeneratorService::fillDescriptions(), TimerService::fillDescriptions(), FastTimerService::fillDescriptions(), edm::service::EnableFloatingPointExceptions::fillDescriptions(), DQMRootSource::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(), and python.Node::node.

440  {
441  std::auto_ptr<ParameterDescriptionNode> node(
442  new ParameterDescription<std::vector<ParameterSet> >(iLabel, validator, isTracked, defaults));
443  ParameterDescriptionNode* pnode = addNode(node, isOptional, writeToCfi);
444  return static_cast<ParameterDescriptionBase*>(pnode);
445  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
tuple node
Definition: Node.py:50
template<typename U >
ParameterDescriptionBase * ParameterSetDescription::addVPSet ( U const &  iLabel,
ParameterSetDescription const &  validator,
bool  isTracked,
bool  isOptional,
bool  writeToCfi 
)
private

Definition at line 449 of file ParameterSetDescription.h.

References addNode(), and python.Node::node.

451  {
452  std::auto_ptr<ParameterDescriptionNode> node(
453  new ParameterDescription<std::vector<ParameterSet> >(iLabel, validator, isTracked));
454  ParameterDescriptionNode* pnode = addNode(node, isOptional, writeToCfi);
455  return static_cast<ParameterDescriptionBase*>(pnode);
456  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
tuple node
Definition: Node.py:50
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 l1GtPatternGenerator_cfi::defaults.

159  {
160  return addVPSet<U>(iLabel, validator, defaults, true, true, true);
161  }
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 l1GtPatternGenerator_cfi::defaults.

166  {
167  return addVPSet<U>(iLabel, validator, defaults, false, true, true);
168  }
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 l1GtPatternGenerator_cfi::defaults.

152  {
153  return addVPSet<U>(iLabel, validator, defaults, false, false, true);
154  }
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.

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 460 of file ParameterSetDescription.h.

References addNode(), python.Node::node, and edm::RequireZeroOrMore.

460  {
461 
462  std::auto_ptr<ParameterDescriptionNode> node(new ParameterWildcard<T>(pattern, RequireZeroOrMore, isTracked));
463  ParameterDescriptionNode* pnode = addNode(node, true, false);
464  return static_cast<ParameterWildcardBase*>(pnode);
465  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
tuple node
Definition: Node.py:50
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

Definition at line 72 of file ParameterSetDescription.h.

References comment_.

Referenced by edm::ConfigurationDescriptions::printForLabel().

72 { return comment_; }
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().

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().

402  {
403  std::auto_ptr<ParameterDescriptionNode> pdIfExists(new IfExistsDescription(node1, node2));
404  return addNode(pdIfExists, optional, writeToCfi);
405  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
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::auto_ptr< ParameterDescriptionCases< T > >  cases 
)
inline
template<typename T >
ParameterDescriptionNode * ParameterSetDescription::ifValue ( ParameterDescription< T > const &  switchParameter,
std::auto_ptr< ParameterDescriptionCases< T > >  cases,
bool  optional,
bool  writeToCfi 
)
private

Definition at line 469 of file ParameterSetDescription.h.

References addNode().

471  {
472  std::auto_ptr<ParameterDescriptionNode> pdswitch(new ParameterSwitch<T>(switchParameter, cases));
473  return addNode(pdswitch, optional, writeToCfi);
474  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
template<typename T >
ParameterDescriptionNode* edm::ParameterSetDescription::ifValueOptional ( ParameterDescription< T > const &  switchParameter,
std::auto_ptr< ParameterDescriptionCases< T > >  cases,
bool  writeToCfi 
)
inline

Definition at line 226 of file ParameterSetDescription.h.

228  {
229  return ifValue<T>(switchParameter, cases, true, writeToCfi);
230  }
bool ParameterSetDescription::isLabelUnused ( std::string const &  label) const

Definition at line 233 of file ParameterSetDescription.cc.

References usedLabels_.

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

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.

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 478 of file ParameterSetDescription.h.

References addNode().

478  {
479  std::auto_ptr<ParameterDescriptionNode> pd(new AllowedLabelsDescription<T>(iLabel, isTracked));
480  return addNode(pd, optional, writeToCfi);
481  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
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 485 of file ParameterSetDescription.h.

References addNode().

485  {
486  std::auto_ptr<ParameterDescriptionNode> pd(new AllowedLabelsDescription<T>(iLabel, desc, isTracked));
487  return addNode(pd, optional, writeToCfi);
488  }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
template<typename T , typename U >
ParameterDescriptionNode* edm::ParameterSetDescription::labelsFromOptional ( U const &  iLabel,
bool  writeToCfi 
)
inline

Definition at line 261 of file ParameterSetDescription.h.

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.

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.

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.

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(), isUnknown(), printNode(), edm::DocFormatHelper::setCounter(), and edm::DocFormatHelper::setPass().

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

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(), and edm::ParameterSetDescription::SetDescriptionEntry::writeToCfi().

Referenced by print().

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

Definition at line 316 of file ParameterSetDescription.h.

References entries_.

Referenced by EcalRecHitProducer::fillDescriptions().

316  {
317  entries_.reserve(n);
318  }
void ParameterSetDescription::setAllowAnything ( )
void ParameterSetDescription::setComment ( std::string const &  value)
void ParameterSetDescription::setComment ( char const *  value)
void ParameterSetDescription::setUnknown ( )

Definition at line 52 of file ParameterSetDescription.cc.

References unknown_.

Referenced by ElectronSeedTrackRefFix::fillDescriptions(), PuppiProducer::fillDescriptions(), PFRecHitProducer::fillDescriptions(), edm::ModelFilter::fillDescriptions(), ElectronIDValueMapProducer::fillDescriptions(), edm::EDAnalyzer::fillDescriptions(), VertexMonitor::fillDescriptions(), dEdxHitAnalyzer::fillDescriptions(), dEdxAnalyzer::fillDescriptions(), VoronoiBackgroundProducer::fillDescriptions(), Mixing2DB::fillDescriptions(), PFCand_AssoMap::fillDescriptions(), CastorInvalidDataFilter::fillDescriptions(), AnaL1CaloCleaner::fillDescriptions(), DYGenFilter::fillDescriptions(), edm::EDProducer::fillDescriptions(), DJpsiFilter::fillDescriptions(), FourLepFilter::fillDescriptions(), L1TPhysicalEtAdder::fillDescriptions(), MuPFIsoEmbedder::fillDescriptions(), __class__< T >::fillDescriptions(), edm::EDFilter::fillDescriptions(), AlCaHBHEMuonFilter::fillDescriptions(), PF_PU_AssoMap::fillDescriptions(), HcalLaserEventFilter2012::fillDescriptions(), BeamProfile2DB::fillDescriptions(), PhotonIDValueMapProducer::fillDescriptions(), edm::stream::EDAnalyzerBase::fillDescriptions(), TrackAssociatorByPositionProducer::fillDescriptions(), l1t::L1TRawToDigi::fillDescriptions(), ExtraFromSeeds::fillDescriptions(), ValueMapTraslator::fillDescriptions(), LHE2HepMCConverter::fillDescriptions(), l1t::FakeInputProducer::fillDescriptions(), TrackAssociatorByChi2Producer::fillDescriptions(), QuickTrackAssociatorByHitsProducer::fillDescriptions(), l1t::L1TDigiToRaw::fillDescriptions(), ecaldqm::DQWorker::fillDescriptions(), PF_PU_FirstVertexTracks::fillDescriptions(), EGEnergyAnalyzer::fillDescriptions(), edm::stream::EDFilterBase::fillDescriptions(), edm::stream::EDProducerBase::fillDescriptions(), B2GHadronicHLTValidation::fillDescriptions(), B2GSingleLeptonHLTValidation::fillDescriptions(), TopSingleLeptonHLTValidation::fillDescriptions(), l1t::L1TCaloRCTToUpgradeConverter::fillDescriptions(), TestPythiaDecays::fillDescriptions(), PileupJetIdProducer::fillDescriptions(), HcalLaserEventFilter::fillDescriptions(), TrackAssociatorByHitsProducer::fillDescriptions(), AnaMuonCaloCleaner::fillDescriptions(), TestMuonCaloCleaner::fillDescriptions(), L1TStage2InputPatternWriter::fillDescriptions(), edm::global::EDAnalyzerBase::fillDescriptions(), HcalLaserHBHEFilter2012::fillDescriptions(), HcalLaserHBHEHFFilter2012::fillDescriptions(), TopDiLeptonHLTValidation::fillDescriptions(), HcalLaserHFFilter2012::fillDescriptions(), PFCand_NoPU_WithAM::fillDescriptions(), LogMessageMonitor::fillDescriptions(), edm::global::EDFilterBase::fillDescriptions(), SeedToTrackProducer::fillDescriptions(), L1TCaloUpgradeToGCTConverter::fillDescriptions(), L1TStage2Layer2Producer::fillDescriptions(), EGammaCutBasedEleIdAnalyzer::fillDescriptions(), edm::one::EDProducerBase::fillDescriptions(), edm::one::EDAnalyzerBase::fillDescriptions(), edm::one::EDFilterBase::fillDescriptions(), l1t::L1TStage2CaloAnalyzer::fillDescriptions(), APVShotsFilter::fillDescriptions(), edm::global::EDProducerBase::fillDescriptions(), l1t::MP7BufferDumpToRaw::fillDescriptions(), HcalForwardLibWriter::fillDescriptions(), l1t::GenToInputProducer::fillDescriptions(), FSQDiJetAve::fillDescriptions(), L1Validator::fillDescriptions(), l1t::BXVectorInputProducer::fillDescriptions(), AlCaIsoTracksFilter::fillDescriptions(), L1TStage2Layer1Producer::fillDescriptions(), HLTOfflineReproducibility::fillDescriptions(), HcalIsoTrkAnalyzer::fillDescriptions(), L1TStage1Layer2Producer::fillDescriptions(), IsoTrig::fillDescriptions(), IsoTrackCalib::fillDescriptions(), IsoTrackCalibration::fillDescriptions(), edm::OutputModule::fillDescriptions(), HadronAndPartonSelector::fillDescriptions(), edm::one::OutputModuleBase::fillDescriptions(), edm::InputSource::fillDescriptions(), HcalRaddamMuon::fillDescriptions(), HcalHBHEMuonAnalyzer::fillDescriptions(), JetFlavourClustering::fillDescriptions(), MuonToTrackingParticleAssociatorEDProducer::fillDescriptions(), DQMRootOutputModule::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 edm::hlt::Exception, getDQMSummary::iter, edm::errors::LogicError, contentValuesCheck::ss, and usedLabels_.

Referenced by addNode().

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 edm::hlt::Exception, getDQMSummary::iter, edm::errors::LogicError, edm::parameterTypeEnumToString(), contentValuesCheck::ss, typesUsedForParameters_, and typesUsedForWildcards_.

Referenced by addNode().

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, edm::hlt::Exception, getDQMSummary::iter, and contentValuesCheck::ss.

Referenced by 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 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(), and edm::ParameterSetDescription::SetDescriptionEntry::optional().

Referenced by validate().

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(), and writeNode().

Referenced by 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 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().