|
|
Go to the documentation of this file.
23 : processName_(ps.getParameter<
std::
string>(
"processName")),
24 triggerName_(ps.getParameter<
std::
string>(
"triggerName")),
25 triggerResultsTag_(ps.getParameter<
edm::
InputTag>(
"triggerResults")),
27 triggerEventTag_(ps.getParameter<
edm::
InputTag>(
"triggerEvent")),
29 hltPrescaleProvider_(ps, consumesCollector(), *this) {
33 LogVerbatim(
"HLTEventAnalyzerAOD") <<
"HLTEventAnalyzerAOD configuration: " << endl
51 desc.add<
unsigned int>(
"stageL1Trigger", 1);
52 descriptions.
add(
"hltEventAnalyzerAODDefault",
desc);
70 if (triggerIndex >=
n) {
72 <<
"HLTEventAnalyzerAOD::analyze:"
73 <<
" TriggerName " <<
triggerName_ <<
" not available in (new) config!" << endl;
74 LogVerbatim(
"HLTEventAnalyzerAOD") <<
"Available TriggerNames are: " << endl;
87 LogVerbatim(
"HLTEventAnalyzerAOD") <<
"HLTEventAnalyzerAOD::analyze:"
88 <<
" config extraction failure with process name " <<
processName_ << endl;
103 <<
"HLTEventAnalyzerAOD::analyze: Error in getting TriggerResults product from Event!" << endl;
109 <<
"HLTEventAnalyzerAOD::analyze: Error in getting TriggerEvent product from Event!" << endl;
121 for (
unsigned int i = 0;
i !=
n; ++
i) {
136 using namespace reco;
148 if (triggerIndex >=
n) {
149 LogVerbatim(
"HLTEventAnalyzerAOD") <<
"HLTEventAnalyzerAOD::analyzeTrigger: path " <<
triggerName <<
" - not found!"
156 << triggerIndex <<
"] "
158 const std::pair<std::vector<std::pair<std::string, int> >,
int> prescalesInDetail(
160 std::ostringstream message;
161 for (
unsigned int i = 0;
i < prescalesInDetail.first.size(); ++
i) {
162 message <<
" " <<
i <<
":" << prescalesInDetail.first[
i].first <<
"/" << prescalesInDetail.first[
i].second;
165 << triggerIndex <<
"] " << endl
166 <<
"prescales L1T: " << prescalesInDetail.first.size() << message.str() << endl
167 <<
" prescale HLT: " << prescalesInDetail.second << endl;
170 const unsigned int m(
hltConfig.size(triggerIndex));
171 const vector<string>& moduleLabels(
hltConfig.moduleLabels(triggerIndex));
174 LogVerbatim(
"HLTEventAnalyzerAOD") <<
" Trigger path status:"
179 LogVerbatim(
"HLTEventAnalyzerAOD") <<
" Last active module - label/type: " << moduleLabels[moduleIndex] <<
"/"
180 <<
hltConfig.moduleType(moduleLabels[moduleIndex]) <<
" [" << moduleIndex
181 <<
" out of 0-" << (
m - 1) <<
" on this path]" << endl;
186 for (
unsigned int j = 0;
j <= moduleIndex; ++
j) {
191 if (filterIndex < triggerEventHandle_->sizeFilters()) {
193 << moduleType << endl;
200 LogVerbatim(
"HLTEventAnalyzerAOD") <<
" " <<
n <<
" accepted 'L3' objects found: " << endl;
204 LogVerbatim(
"HLTEventAnalyzerAOD") <<
" " <<
i <<
" " << VIDS[
i] <<
"/" << KEYS[
i] <<
": " << TO.
id() <<
" "
205 << TO.
pt() <<
" " << TO.
eta() <<
" " << TO.
phi() <<
" " << TO.
mass() << endl;
HLTEventAnalyzerAOD(const edm::ParameterSet &)
const Keys & filterKeys(trigger::size_type index) const
const std::string triggerName_
const edm::InputTag triggerEventTag_
HLTConfigProvider const & hltConfigProvider() const
~HLTEventAnalyzerAOD() override
std::pair< TL1, THLT > prescaleValues(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger)
Combined L1T (pair.first) and HLT (pair.second) prescales per HLT path.
bool wasrun() const
Was at least one path run?
bool error() const
Has any path encountered an error (exception)
const edm::EDGetTokenT< trigger::TriggerEvent > triggerEventToken_
unsigned int index(const unsigned int i) const
Get index (slot position) of module giving the decision of the ith path.
void endRun(edm::Run const &, edm::EventSetup const &) override
void add(std::string const &label, ParameterSetDescription const &psetDescription)
unsigned int size() const
Get number of paths stored.
void analyze(const edm::Event &, const edm::EventSetup &) override
HLTPrescaleProvider hltPrescaleProvider_
std::pair< std::vector< std::pair< std::string, TL1 > >, THLT > prescaleValuesInDetail(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger)
virtual void analyzeTrigger(const edm::Event &, const edm::EventSetup &, const std::string &triggerName)
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
void beginRun(edm::Run const &, edm::EventSetup const &) override
std::vector< size_type > Keys
const edm::InputTag triggerResultsTag_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const TriggerObjectCollection & getObjects() const
const edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
const Vids & filterIds(trigger::size_type index) const
edm::Handle< trigger::TriggerEvent > triggerEventHandle_
const std::string processName_
module config parameters
Log< level::Info, true > LogVerbatim
bool accept() const
Has at least one path accepted the event?
edm::Handle< edm::TriggerResults > triggerResultsHandle_
additional class data memebers