|
|
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 &)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const Keys & filterKeys(trigger::size_type index) const
const std::string triggerName_
const edm::InputTag triggerEventTag_
HLTConfigProvider const & hltConfigProvider() const
~HLTEventAnalyzerAOD() override
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_
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)
std::pair< std::vector< std::pair< std::string, int > >, int > prescaleValuesInDetail(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger)
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
bool accept() const
Has at least one path accepted the event?
std::pair< int, int > 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.
edm::Handle< edm::TriggerResults > triggerResultsHandle_
additional class data memebers