38 typedef std::vector<edm::ParameterSet> VPSet;
39 typedef std::vector<std::string>
vstring;
40 typedef boost::escaped_list_separator<char> elsc;
42 elsc commonEscapes(
"\\",
" \t",
"\'");
46 for ( vstring::const_iterator normCmd = normCmds.begin();
47 normCmd != normCmds.end(); ++normCmd )
49 if ( normCmd->empty() )
continue;
50 boost::tokenizer<elsc> tokens(*normCmd, commonEscapes);
53 for(boost::tokenizer<elsc>::const_iterator iToken = tokens.begin();
54 iToken != tokens.end(); ++iToken) {
55 if ( iToken->empty() )
continue;
56 args.push_back(*iToken);
59 if ( args.empty()
or args.size() > 2 ) {
60 LogInfo(
"DQMRivetClient") <<
"Wrong input to normCmds\n";
72 for ( VPSet::const_iterator normSet = normSets.begin();
73 normSet != normSets.end(); ++normSet )
76 opt.
name = normSet->getUntrackedParameter<
string>(
"name");
77 opt.
normHistName = normSet->getUntrackedParameter<
string>(
"normalizedTo", opt.
name);
84 for ( vstring::const_iterator lumiCmd = lumiCmds.begin();
85 lumiCmd != lumiCmds.end(); ++lumiCmd )
87 if ( lumiCmd->empty() )
continue;
88 boost::tokenizer<elsc> tokens(*lumiCmd, commonEscapes);
91 for(boost::tokenizer<elsc>::const_iterator iToken = tokens.begin();
92 iToken != tokens.end(); ++iToken) {
93 if ( iToken->empty() )
continue;
94 args.push_back(*iToken);
97 if ( args.size() != 2 ) {
98 LogInfo(
"DQMRivetClient") <<
"Wrong input to lumiCmds\n";
114 for ( vstring::const_iterator scaleCmd = scaleCmds.begin();
115 scaleCmd != scaleCmds.end(); ++scaleCmd )
117 if ( scaleCmd->empty() )
continue;
118 boost::tokenizer<elsc> tokens(*scaleCmd, commonEscapes);
121 for(boost::tokenizer<elsc>::const_iterator iToken = tokens.begin();
122 iToken != tokens.end(); ++iToken) {
123 if ( iToken->empty() )
continue;
124 args.push_back(*iToken);
127 if ( args.empty()
or args.size() > 2 ) {
128 LogInfo(
"DQMRivetClient") <<
"Wrong input to normCmds\n";
132 ScaleFactorOption opt;
134 opt.scale = atof(args[1].c_str());
std::vector< ScaleFactorOption > scaleOptions_
T getUntrackedParameter(std::string const &, T const &) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
std::vector< DQMGenericClient::NormOption > normOptions_
std::string outputFileName_
std::vector< LumiOption > lumiOptions_
std::vector< std::string > subDirs_