100 std::vector<std::vector<std::string> > egammaPaths =
findEgammaPaths();
107 std::vector<std::string> filterModules;
109 for (
unsigned int j=0;
j < egammaPaths.size() ;
j++) {
111 for (
unsigned int i=0;
i < egammaPaths.at(
j).size() ;
i++) {
113 const std::string
pathName = egammaPaths.at(
j).at(
i);
137 edm::LogWarning(
"EmDQMFeeder") <<
"Pathname: '" << pathName <<
"': Unable to determine a minimum Et. Will not include this path in the validation.";
145 if (ptMax < (1.2*genEtMin)) {
203 std::vector<edm::ParameterSet> filterVPSet;
205 std::string moduleLabel;
208 for (std::vector<std::string>::iterator
filter = filterModules.begin();
filter != filterModules.end(); ++
filter) {
213 if (moduleType ==
"Pythia6GeneratorFilter" ||
214 moduleType ==
"HLTTriggerTypeFilter" ||
215 moduleType ==
"HLTLevel1Activity" ||
216 moduleType ==
"HLTPrescaler" ||
217 moduleType ==
"HLTBool")
221 if (moduleType ==
"HLTLevel1GTSeed") {
224 else if (moduleType ==
"HLTEgammaL1MatchFilterRegional") {
227 else if (moduleType ==
"HLTEgammaEtFilter") {
230 else if (moduleType ==
"HLTElectronOneOEMinusOneOPFilterRegional") {
233 else if (moduleType ==
"HLTElectronPixelMatchFilter") {
236 else if (moduleType ==
"HLTEgammaGenericFilter") {
239 else if (moduleType ==
"HLTEgammaGenericQuadraticFilter") {
242 else if (moduleType ==
"HLTElectronGenericFilter") {
245 else if (moduleType ==
"HLTEgammaDoubleEtDeltaPhiFilter") {
248 else if (moduleType ==
"HLTGlobalSumsMET"
249 || moduleType ==
"HLTMhtHtFilter"
250 || moduleType ==
"HLTJetTag"
251 || moduleType ==
"HLT1CaloJet"
252 || moduleType ==
"HLT1CaloBJet"
253 || moduleType ==
"HLT1Tau"
254 || moduleType ==
"PFTauSelector"
255 || moduleType ==
"EtMinCaloJetSelector"
256 || moduleType ==
"LargestEtCaloJetSelector"
257 || moduleType ==
"HLTEgammaTriggerFilterObjectWrapper"
258 || moduleType ==
"HLTEgammaDoubleLegCombFilter"
260 || moduleType ==
"HLTPMMassFilter"
261 || moduleType ==
"HLTHcalTowerFilter"
267 edm::LogWarning(
"EmDQMFeeder") <<
"No parameter set for filter '" << moduleLabel <<
"' with filter type '" << moduleType <<
"' added. Module will not be analyzed.";
272 if (!filterPSet.
empty()) {
288 filterVPSet.push_back(filterPSet);
296 if (!filterPSet.
empty()) {
305 paramSet.
addParameter<std::vector<edm::ParameterSet> >(
"filters", filterVPSet);
309 edm::LogPrint(
"EmDQMFeeder") <<
"Will not include this path in the validation due to errors while generating the parameter set.";
375 std::vector<std::vector<std::string> >
378 std::vector<std::vector<std::string> > Paths(5);
385 if (
int(path.find(
"HLT_")) == 0) {
386 if (path.find(
"HLT_Ele") != std::string::npos && path.rfind(
"Ele") == 4 && path.find(
"SC") == std::string::npos) {
390 if (path.find(
"HLT_Ele") != std::string::npos && path.find(
"EleId") != std::string::npos && path.rfind(
"Ele") == path.find(
"EleId")) {
394 else if (path.find(
"HLT_Ele") != std::string::npos && path.rfind(
"Ele") > 4) {
398 else if (path.find(
"HLT_DoubleEle") != std::string::npos && path.find(
"Ele") == path.rfind(
"Ele")) {
402 else if (path.find(
"HLT_Ele") != std::string::npos && path.find(
"SC") != std::string::npos) {
406 else if (path.find(
"HLT_DoubleEle") != std::string::npos && path.find(
"Ele") != path.rfind(
"Ele")) {
410 else if (path.find(
"HLT_TripleEle") != std::string::npos && path.find(
"Ele") == path.rfind(
"Ele")) {
414 else if (path.find(
"HLT_Photon") != std::string::npos && path.find(
"Ele") != std::string::npos) {
418 else if (path.find(
"HLT_Photon") != std::string::npos && path.rfind(
"Photon") == 4) {
422 else if (path.find(
"HLT_Photon") != std::string::npos && path.rfind(
"Photon") > 4) {
426 else if (path.find(
"HLT_DoublePhoton") != std::string::npos) {
438 std::vector<std::string>
441 std::vector<std::string>
filters;
453 if (moduleEDMType ==
"EDFilter" || moduleType.find(
"Filter") != std::string::npos) {
454 filters.push_back(module);
468 boost::regex reg(
"^HLT_.*?([[:digit:]]+).*");
471 if (boost::regex_match(path, what, reg, boost::match_extra))
473 minEt = boost::lexical_cast<
double>(what[1]);
490 retPSet.
addParameter<std::vector<double> >(
"PlotBounds", std::vector<double>(2, 0.0));
493 retPSet.
addParameter<std::vector<edm::InputTag> >(
"IsoCollections", std::vector<edm::InputTag>(1, std::string(
"none")));
497 if (moduleName.find(
"Single") != std::string::npos)
499 else if (moduleName.find(
"Double") != std::string::npos)
501 else if (moduleName.find(
"Triple") != std::string::npos)
521 retPSet.
addParameter<std::vector<double> >(
"PlotBounds", std::vector<double>(2, 0.0));
524 retPSet.
addParameter<std::vector<edm::InputTag> >(
"IsoCollections", std::vector<edm::InputTag>(1, std::string(
"none")));
538 retPSet.
addParameter<std::vector<double> >(
"PlotBounds", std::vector<double>(2, 0.0));
541 retPSet.
addParameter<std::vector<edm::InputTag> >(
"IsoCollections", std::vector<edm::InputTag>(1, std::string(
"none")));
555 retPSet.
addParameter<std::vector<double> >(
"PlotBounds", std::vector<double>(2, 0.0));
558 retPSet.
addParameter<std::vector<edm::InputTag> >(
"IsoCollections", std::vector<edm::InputTag>(1, std::string(
"none")));
572 retPSet.
addParameter<std::vector<double> >(
"PlotBounds", std::vector<double>(2, 0.0));
575 retPSet.
addParameter<std::vector<edm::InputTag> >(
"IsoCollections", std::vector<edm::InputTag>(1, std::string(
"none")));
589 retPSet.
addParameter<std::vector<double> >(
"PlotBounds", std::vector<double>(2, 0.0));
592 retPSet.
addParameter<std::vector<edm::InputTag> >(
"IsoCollections", std::vector<edm::InputTag>(1, std::string(
"none")));
643 std::vector<edm::InputTag> isoCollections;
644 isoCollections.push_back(isoTag);
645 if (!nonIsoTag.label().empty())
646 isoCollections.push_back(nonIsoTag);
652 if (inputType ==
"EgammaHLTR9Producer" ||
653 inputType ==
"EgammaHLTR9IDProducer" ||
654 inputType ==
"EgammaHLTClusterShapeProducer" ||
655 inputType ==
"EgammaHLTEcalRecIsolationProducer" ||
656 inputType ==
"EgammaHLTHcalIsolationProducersRegional" ||
657 inputType ==
"EgammaHLTGsfTrackVarProducer"
659 retPSet.
addParameter<std::vector<double> >(
"PlotBounds", std::vector<double>(2, 0.0));
662 retPSet.
addParameter<std::vector<edm::InputTag> >(
"IsoCollections", isoCollections);
669 edm::LogError(
"EmDQMFeeder") <<
"Can't determine what the HLTEgammaGenericFilter '" << moduleName <<
"' should do: uses a collection produced by a module of C++ type '" << inputType <<
"'.";
717 std::vector<edm::InputTag> isoCollections;
718 isoCollections.push_back(isoTag);
719 if (!nonIsoTag.label().empty())
720 isoCollections.push_back(nonIsoTag);
726 if (inputType ==
"EgammaHLTR9Producer" ||
727 inputType ==
"EgammaHLTR9IDProducer" ||
728 inputType ==
"EgammaHLTClusterShapeProducer" ||
729 inputType ==
"EgammaHLTEcalRecIsolationProducer" ||
730 inputType ==
"EgammaHLTHcalIsolationProducersRegional" ||
731 inputType ==
"EgammaHLTPhotonTrackIsolationProducersRegional"
733 retPSet.
addParameter<std::vector<double> >(
"PlotBounds", std::vector<double>(2, 0.0));
736 retPSet.
addParameter<std::vector<edm::InputTag> >(
"IsoCollections", isoCollections);
743 edm::LogError(
"EmDQMFeeder") <<
"Can't determine what the HLTEgammaGenericQuadraticFilter '" << moduleName <<
"' should do: uses a collection produced by a module of C++ type '" << inputType <<
"'.";
787 std::vector<edm::InputTag> isoCollections;
788 isoCollections.push_back(isoTag);
789 if (!nonIsoTag.label().empty())
790 isoCollections.push_back(nonIsoTag);
798 if (inputType ==
"EgammaHLTElectronDetaDphiProducer" ||
799 inputType ==
"EgammaHLTElectronTrackIsolationProducers"
801 retPSet.
addParameter<std::vector<double> >(
"PlotBounds", std::vector<double>(2, 0.0));
804 retPSet.
addParameter<std::vector<edm::InputTag> >(
"IsoCollections", isoCollections);
811 edm::LogError(
"EmDQMFeeder") <<
"Can't determine what the HLTElectronGenericFilter '" << moduleName <<
"' should do: uses a collection produced by a module of C++ type '" << inputType <<
"'.";
unsigned int size() const
number of trigger paths in trigger table
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
virtual void endRun(edm::Run const &, edm::EventSetup const &)
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
const std::string moduleType(const std::string &module) const
C++ class name of module.
edm::ParameterSet makePSetForPixelMatchFilter(const std::string &)
std::vector< EmDQM * > emDQMmodules
const std::string & triggerName(unsigned int triggerIndex) const
const edm::ParameterSet & iConfig
#define DEFINE_FWK_MODULE(type)
bool exists(std::string const ¶meterName) const
checks if a parameter exists
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
const std::string & tableName() const
HLT ConfDB table name.
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
virtual void beginRun(edm::Run const &, edm::EventSetup const &)
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
static const unsigned OUTPUT_ERRORS
std::vector< TPRegexp > filters
bool changed() const
changed?
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
static const unsigned TYPE_DOUBLE_PHOTON
const std::string & moduleLabel(unsigned int trigger, unsigned int module) const
static const std::string removeVersion(const std::string &trigger)
static const unsigned TYPE_SINGLE_ELE
bool inited() const
Accessors (const methods)
edm::ParameterSet makePSetForEgammaGenericFilter(const std::string &)
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
EmDQMFeeder(const edm::ParameterSet &)
double getPrimaryEtCut(const std::string &)
void addDefault(ParameterSetDescription const &psetDescription)
edm::ParameterSet makePSetForL1SeedToSuperClusterMatchFilter(const std::string &)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::vector< std::vector< std::string > > findEgammaPaths()
edm::ParameterSet makePSetForL1SeedFilter(const std::string &)
void addParameter(std::string const &name, T const &value)
static const unsigned TYPE_DOUBLE_ELE
static const unsigned TYPE_SINGLE_PHOTON
edm::ParameterSet makePSetForOneOEMinusOneOPFilter(const std::string &)
static const unsigned OUTPUT_ALL
const std::string & processName() const
process name
HLTConfigProvider hltConfig_
The instance of the HLTConfigProvider as a data member.
edm::ParameterSet makePSetForEtFilter(const std::string &)
static const unsigned OUTPUT_WARNINGS
void addUntrackedParameter(std::string const &name, T const &value)
edm::InputTag triggerObject_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
edm::ParameterSet makePSetForElectronGenericFilter(const std::string &)
edm::ParameterSet makePSetForEgammaDoubleEtDeltaPhiFilter(const std::string &)
std::vector< std::string > getFilterModules(const std::string &)
static const unsigned TYPE_TRIPLE_ELE
edm::ParameterSet makePSetForEgammaGenericQuadraticFilter(const std::string &)