21 processName_(ps.getParameter<std::string>(
"processName")),
22 triggerName_(ps.getParameter<std::string>(
"triggerName")),
23 triggerResultsTag_(ps.getParameter<edm::InputTag>(
"triggerResults")),
24 triggerEventTag_(ps.getParameter<edm::InputTag>(
"triggerEvent"))
29 cout <<
"HLTEventAnalyzerAOD configuration: " << endl
57 if (triggerIndex>=
n) {
58 cout <<
"HLTEventAnalyzerAOD::analyze:"
60 <<
" not available in (new) config!" << endl;
61 cout <<
"Available TriggerNames are: " << endl;
74 cout <<
"HLTEventAnalyzerAOD::analyze:"
75 <<
" config extraction failure with process name "
92 cout <<
"HLTEventAnalyzerAOD::analyze: Error in getting TriggerResults product from Event!" << endl;
97 cout <<
"HLTEventAnalyzerAOD::analyze: Error in getting TriggerEvent product from Event!" << endl;
106 for (
unsigned int i=0;
i!=
n; ++
i) {
121 using namespace reco;
122 using namespace trigger;
131 if (triggerIndex>=
n) {
132 cout <<
"HLTEventAnalyzerAOD::analyzeTrigger: path "
133 << triggerName <<
" - not found!" << endl;
138 cout <<
"HLTEventAnalyzerAOD::analyzeTrigger: path "
139 << triggerName <<
" [" << triggerIndex <<
"] "
148 cout <<
" Trigger path status:"
154 cout <<
" Last active module - label/type: "
156 <<
" [" << moduleIndex <<
" out of 0-" << (
m-1) <<
" on this path]"
158 assert (moduleIndex<
m);
162 for (
unsigned int j=0;
j<=moduleIndex; ++
j) {
163 const string& moduleLabel(moduleLabels[
j]);
167 if (filterIndex<triggerEventHandle_->sizeFilters()) {
168 cout <<
" 'L3' filter in slot " << j <<
" - label/type " << moduleLabel <<
"/" << moduleType << endl;
175 cout <<
" " << n <<
" accepted 'L3' objects found: " << endl;
179 cout <<
" " << i <<
" " << VIDS[
i] <<
"/" << KEYS[
i] <<
": "
180 << TO.
id() <<
" " << TO.
pt() <<
" " << TO.
eta() <<
" " << TO.
phi() <<
" " << TO.
mass()
unsigned int size() const
number of trigger paths in trigger table
void dump(const std::string &what) const
Dumping config info to cout.
virtual void analyzeTrigger(const edm::Event &, const edm::EventSetup &, const std::string &triggerName)
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
const std::string moduleType(const std::string &module) const
C++ class name of module.
const std::string & triggerName(unsigned int triggerIndex) const
virtual void beginRun(edm::Run const &, edm::EventSetup const &)
edm::InputTag triggerEventTag_
edm::Handle< trigger::TriggerEvent > triggerEventHandle_
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
Single trigger physics object (e.g., an isolated muon)
unsigned int triggerIndex(std::string const &name) const
const T & max(const T &a, const T &b)
std::string processName_
module config parameters
edm::InputTag triggerResultsTag_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
edm::Handle< edm::TriggerResults > triggerResultsHandle_
additional class data memebers
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
std::vector< size_type > Keys
HLTEventAnalyzerAOD(const edm::ParameterSet &)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
std::pair< int, int > prescaleValues(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger) const
Combined L1T (pair.first) and HLT (pair.second) prescales per HLT path.
HLTConfigProvider hltConfig_
virtual void analyze(const edm::Event &, const edm::EventSetup &)