22 #include <boost/regex.hpp>
27 return &dummyHLTConfigData;
47 <<
"Called (R) with processName '" << processName <<
"' for " << iRun.
id() << endl;
74 if ((processPSet!=0) && (processPSet->
exists(
"hltTriggerSummaryAOD"))) {
80 <<
"Auto-discovered processName: '" <<
processName_ <<
"'" << endl;
84 <<
"Auto-discovery of processName failed!" << endl;
96 <<
" ProcessName '"<<
processName_ <<
" found " << n <<
" times in history!" << endl;
112 <<
"Falling back to ProcessName-only init using ProcessName '"<<
processName_<<
"' !";
132 edm::LogError(
"HLTConfigProvider") <<
"ProcessPSet found is empty!";
147 edm::LogError(
"HLTConfigProvider") <<
"ProcessPSet not found in regsistry!";
168 unsigned int nPSets(0);
173 if (
i->second.exists(
"@process_name")) {
174 const std::string pName(
i->second.getParameter<
string>(
"@process_name"));
176 if ( pName == processName ) {
182 if (
pset->exists(
"HLTConfigVersion")) {
184 if (HLTPSet.exists(
"tableName")) {
185 hNames += HLTPSet.
getParameter<
string>(
"tableName")+
" ";
194 <<
"Unordered list of all process names found: " << pNames <<
"." << endl;
197 <<
"HLT TableName of each selected process: " << hNames <<
"." << endl;
201 <<
" Process name '" << processName <<
"' not found in registry!" << endl;
207 <<
" Process name '" << processName <<
"' found but ParameterSetID invalid!" << endl;
213 <<
" Process name '" << processName <<
" found " << nPSets <<
" times in registry!" << endl;
239 std::vector<std::string>
matched;
241 const unsigned int n(inputs.size());
242 for (
unsigned int i=0;
i<
n; ++
i) {
244 if (boost::regex_match(input,regexp)) matched.push_back(input);
250 const boost::regex regexp(
"_v[0-9]+$");
251 return boost::regex_replace(trigger,regexp,
"");
255 return matched(inputs,trigger+
"_v[0-9]+$");
collection_type::const_iterator const_iterator
T getParameter(std::string const &) const
const_iterator begin() const
map_type::const_iterator const_iterator
static const std::vector< std::string > matched(const std::vector< std::string > &inputs, const std::string &pattern)
regexp processing
bool insertMapped(value_type const &v)
const_iterator end() const
static PFTauRenderPlugin instance
void getDataFrom(const edm::ParameterSetID &iID)
ParameterSetID id() const
std::string glob2reg(std::string const &pattern)
bool exists(std::string const ¶meterName) const
checks if a parameter exists
static const HLTConfigData * s_dummyHLTConfigData()
const std::string & tableName() const
HLT ConfDB table name.
std::string processName_
data members
static const std::string removeVersion(const std::string &trigger)
static std::string const input
static ThreadSafeRegistry * instance()
const HLTConfigData * hltConfigData_
bool getConfigurationForProcess(std::string const &name, ProcessConfiguration &config) const
const edm::ParameterSet & processPSet() const
ParameterSet of process.
bool getMapped(key_type const &k, value_type &result) const
const_iterator begin() const
ProcessHistory const & processHistory() const
bool getMapped(key_type const &k, value_type &result) const
Hash< ParameterSetType > ParameterSetID
HLTConfigProvider()
c'tor
const std::string & processName() const
process name
static const std::vector< std::string > restoreVersion(const std::vector< std::string > &inputs, const std::string &trigger)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
const_iterator end() const
volatile std::atomic< bool > shutdown_flag false
edm::ParameterSetID id() const
technical: id() function needed for use with ThreadSafeRegistry
static Registry * instance()