Skip to content

Commit

Permalink
Merge pull request #14262 from wddgit/consumesTriggerResultsByName
Browse files Browse the repository at this point in the history
Consumes migration for triggerResultsByName
  • Loading branch information
davidlange6 committed Apr 27, 2016
2 parents 483bf4f + 140e01a commit e2edf29
Show file tree
Hide file tree
Showing 20 changed files with 1,003 additions and 971 deletions.
2 changes: 1 addition & 1 deletion DataFormats/FWLite/interface/ChainEvent.h
Expand Up @@ -109,7 +109,7 @@ namespace fwlite {

virtual edm::TriggerNames const& triggerNames(edm::TriggerResults const& triggerResults) const;
void fillParameterSetRegistry() const;
virtual edm::TriggerResultsByName triggerResultsByName(std::string const& process) const;
virtual edm::TriggerResultsByName triggerResultsByName(edm::TriggerResults const& triggerResults) const;

// ---------- static member functions --------------------
static void throwProductNotFoundException(std::type_info const&, char const*, char const*, char const*);
Expand Down
2 changes: 1 addition & 1 deletion DataFormats/FWLite/interface/Event.h
Expand Up @@ -150,7 +150,7 @@ namespace fwlite {

virtual edm::TriggerNames const& triggerNames(edm::TriggerResults const& triggerResults) const;

virtual edm::TriggerResultsByName triggerResultsByName(std::string const& process) const;
virtual edm::TriggerResultsByName triggerResultsByName(edm::TriggerResults const& triggerResults) const;

virtual edm::ProcessHistory const& processHistory() const {return history();}

Expand Down
2 changes: 1 addition & 1 deletion DataFormats/FWLite/interface/MultiChainEvent.h
Expand Up @@ -123,7 +123,7 @@ class MultiChainEvent: public EventBase
{ return event2_->eventIndex(); }

virtual edm::TriggerNames const& triggerNames(edm::TriggerResults const& triggerResults) const;
virtual edm::TriggerResultsByName triggerResultsByName(std::string const& process) const;
virtual edm::TriggerResultsByName triggerResultsByName(edm::TriggerResults const& triggerResults) const;

// ---------- static member functions --------------------
static void throwProductNotFoundException(std::type_info const&, char const*, char const*, char const*);
Expand Down
4 changes: 2 additions & 2 deletions DataFormats/FWLite/src/ChainEvent.cc
Expand Up @@ -326,8 +326,8 @@ ChainEvent::fillParameterSetRegistry() const
}

edm::TriggerResultsByName
ChainEvent::triggerResultsByName(std::string const& process) const {
return event_->triggerResultsByName(process);
ChainEvent::triggerResultsByName(edm::TriggerResults const& triggerResults) const {
return event_->triggerResultsByName(triggerResults);
}

//
Expand Down
14 changes: 4 additions & 10 deletions DataFormats/FWLite/src/Event.cc
Expand Up @@ -493,20 +493,14 @@ Event::fillParameterSetRegistry() const {
}

edm::TriggerResultsByName
Event::triggerResultsByName(std::string const& process) const {
Event::triggerResultsByName(edm::TriggerResults const& triggerResults) const {

fwlite::Handle<edm::TriggerResults> hTriggerResults;
hTriggerResults.getByLabel(*this, "TriggerResults", "", process.c_str());
if (!hTriggerResults.isValid()) {
return edm::TriggerResultsByName(0,0);
}

edm::TriggerNames const* names = triggerNames_(*hTriggerResults);
edm::TriggerNames const* names = triggerNames_(triggerResults);
if (names == nullptr && !parameterSetRegistryFilled_) {
fillParameterSetRegistry();
names = triggerNames_(*hTriggerResults);
names = triggerNames_(triggerResults);
}
return edm::TriggerResultsByName(hTriggerResults.product(), names);
return edm::TriggerResultsByName(&triggerResults, names);
}

//
Expand Down
16 changes: 5 additions & 11 deletions DataFormats/FWLite/src/MultiChainEvent.cc
Expand Up @@ -459,28 +459,22 @@ MultiChainEvent::triggerNames(edm::TriggerResults const& triggerResults) const
}

edm::TriggerResultsByName
MultiChainEvent::triggerResultsByName(std::string const& process) const {
MultiChainEvent::triggerResultsByName(edm::TriggerResults const& triggerResults) const {

fwlite::Handle<edm::TriggerResults> hTriggerResults;
hTriggerResults.getByLabel(*this,"TriggerResults","",process.c_str());
if (!hTriggerResults.isValid()) {
return edm::TriggerResultsByName(0,0);
}

edm::TriggerNames const* names = triggerNames_(*hTriggerResults);
edm::TriggerNames const* names = triggerNames_(triggerResults);

if (names == nullptr) {
event1_->fillParameterSetRegistry();
names = triggerNames_(*hTriggerResults);
names = triggerNames_(triggerResults);
}

if (names == nullptr) {
event2_->to(event1_->id());
event2_->fillParameterSetRegistry();
names = triggerNames_(*hTriggerResults);
names = triggerNames_(triggerResults);
}

return edm::TriggerResultsByName(hTriggerResults.product(), names);
return edm::TriggerResultsByName(&triggerResults, names);
}

//
Expand Down
18 changes: 8 additions & 10 deletions DataFormats/FWLite/test/triggerResultsByName_cint.C
Expand Up @@ -30,24 +30,22 @@ void triggerResultsByName_cint()
for (ev.toBegin(); ! ev.atEnd(); ++ev) {

bool accept = false;
edm::TriggerResultsByName resultsByName = ev.triggerResultsByName("TEST");
if (resultsByName.isValid()) {

hTriggerResults.getByLabel(ev, "TriggerResults", "", "TEST");

if (hTriggerResults.isValid()) {
edm::TriggerResultsByName resultsByName = ev.triggerResultsByName(*hTriggerResults);
std::cout << "From TriggerResultsByName, accept = "
<< resultsByName.accept("p") << "\n";
accept = resultsByName.accept("p");
} else {
std::cerr << "triggerResultsByName_cint.C, invalid TriggerResults handle" << std::endl;
abort();
}
if (iEvent < 4 && expectedValue[iEvent] != accept) {
std::cerr << "triggerResultsByName_cint.C, trigger results do not match expected values" << std::endl;
abort();
}

// Try again, but this time test what happens when the process does not
// exist, the object should not be valid
resultsByName = ev.triggerResultsByName("DOESNOTEXIST");
if (resultsByName.isValid()) {
std::cout << "From TriggerResultsByName, accept = "
<< resultsByName.accept("p") << "\n";
}
++iEvent;
}
}
19 changes: 9 additions & 10 deletions DataFormats/FWLite/test/triggerResultsByName_multi_cint.C
Expand Up @@ -32,24 +32,23 @@ void triggerResultsByName_multi_cint()
int iEvent = 0;
for (ev.toBegin(); ! ev.atEnd(); ++ev) {
bool accept = false;
edm::TriggerResultsByName resultsByName = ev.triggerResultsByName("TEST");
if (resultsByName.isValid()) {

hTriggerResults.getByLabel(ev, "TriggerResults", "", "TEST");

if (hTriggerResults.isValid()) {

edm::TriggerResultsByName resultsByName = ev.triggerResultsByName(*hTriggerResults);
std::cout << "From TriggerResultsByName, accept = "
<< resultsByName.accept("p") << "\n";
accept = resultsByName.accept("p");
} else {
std::cerr << "triggerResultsByName_multi_cint.C, invalid TriggerResults handle" << std::endl;
abort();
}
if (iEvent < 4 && expectedValue[iEvent] != accept) {
std::cerr << "triggerResultsByName_cint.C, trigger results do not match expected values" << std::endl;
abort();
}

// Try again, but this time test what happens when the process does not
// exist, the object should not be valid
resultsByName = ev.triggerResultsByName("DOESNOTEXIST");
if (resultsByName.isValid()) {
std::cout << "From TriggerResultsByName, accept = "
<< resultsByName.accept("p") << "\n";
}
++iEvent;
}
}
3 changes: 1 addition & 2 deletions FWCore/Common/interface/EventBase.h
Expand Up @@ -32,7 +32,6 @@
#include "FWCore/Utilities/interface/InputTag.h"

// system include files
#include <string>
#include <typeinfo>

namespace edm {
Expand Down Expand Up @@ -67,7 +66,7 @@ namespace edm {
virtual edm::EventAuxiliary const& eventAuxiliary() const = 0;

virtual TriggerNames const& triggerNames(edm::TriggerResults const& triggerResults) const = 0;
virtual TriggerResultsByName triggerResultsByName(std::string const& process) const = 0;
virtual TriggerResultsByName triggerResultsByName(edm::TriggerResults const& triggerResults) const = 0;
virtual ProcessHistory const& processHistory() const = 0;

protected:
Expand Down
2 changes: 1 addition & 1 deletion FWCore/Framework/interface/Event.h
Expand Up @@ -227,7 +227,7 @@ namespace edm {
size_t size() const;

virtual edm::TriggerNames const& triggerNames(edm::TriggerResults const& triggerResults) const;
virtual TriggerResultsByName triggerResultsByName(std::string const& process) const;
virtual TriggerResultsByName triggerResultsByName(edm::TriggerResults const& triggerResults) const;

ModuleCallingContext const* moduleCallingContext() const { return moduleCallingContext_; }

Expand Down
15 changes: 3 additions & 12 deletions FWCore/Framework/src/Event.cc
Expand Up @@ -228,18 +228,9 @@ namespace edm {
}

TriggerResultsByName
Event::triggerResultsByName(std::string const& process) const {
Event::triggerResultsByName(edm::TriggerResults const& triggerResults) const {

Handle<TriggerResults> hTriggerResults;
InputTag tag(std::string("TriggerResults"),
std::string(""),
process);

getByLabel(tag, hTriggerResults);
if(!hTriggerResults.isValid()) {
return TriggerResultsByName(0, 0);
}
edm::TriggerNames const* names = triggerNames_(*hTriggerResults);
return TriggerResultsByName(hTriggerResults.product(), names);
edm::TriggerNames const* names = triggerNames_(triggerResults);
return TriggerResultsByName(&triggerResults, names);
}
}
41 changes: 27 additions & 14 deletions FWCore/Framework/test/stubs/TestTriggerNames.cc
Expand Up @@ -224,12 +224,13 @@ namespace edmtest {
}
}

edm::TriggerResultsByName resultsByNameHLT = e.triggerResultsByName("HLT");
if(resultsByNameHLT.isValid() && expectedTriggerResultsHLT_.size() > 0) {
edm::InputTag tag("TriggerResults", "", "HLT");
edm::Handle<edm::TriggerResults> hTriggerResults;
e.getByLabel(tag, hTriggerResults);

edm::InputTag tag("TriggerResults", "", "HLT");
edm::Handle<edm::TriggerResults> hTriggerResults;
e.getByLabel(tag, hTriggerResults);
if(hTriggerResults.isValid() && expectedTriggerResultsHLT_.size() > 0) {

edm::TriggerResultsByName resultsByNameHLT = e.triggerResultsByName(*hTriggerResults);

if(hTriggerResults->parameterSetID() != resultsByNameHLT.parameterSetID() ||
hTriggerResults->wasrun() != resultsByNameHLT.wasrun() ||
Expand Down Expand Up @@ -269,7 +270,15 @@ namespace edmtest {
}

if(expectedTriggerResultsHLT_.size() > iEvent_) {
edm::TriggerResultsByName resultsByNameHLT = e.triggerResultsByName("HLT");

if(!hTriggerResults.isValid()) {
std::cerr << "TestTriggerNames: While testing TriggerResultsByName class\n"
<< "Invalid TriggerResults Handle for HLT" << std::endl;
abort();
}

edm::TriggerResultsByName resultsByNameHLT = e.triggerResultsByName(*hTriggerResults);

if(!resultsByNameHLT.isValid()) {
std::cerr << "TestTriggerNames: While testing TriggerResultsByName class\n"
<< "Invalid object for HLT" << std::endl;
Expand All @@ -284,8 +293,19 @@ namespace edmtest {
<< std::endl;
}

edm::InputTag tagPROD("TriggerResults", "", "PROD");
edm::Handle<edm::TriggerResults> hTriggerResultsPROD;
e.getByLabel(tagPROD, hTriggerResultsPROD);

if(expectedTriggerResultsPROD_.size() > iEvent_) {
edm::TriggerResultsByName resultsByNamePROD = e.triggerResultsByName("PROD");

if(!hTriggerResultsPROD.isValid()) {
std::cerr << "TestTriggerNames: While testing TriggerResultsByName class\n"
<< "Invalid TriggerResults Handle for PROD" << std::endl;
abort();
}

edm::TriggerResultsByName resultsByNamePROD = e.triggerResultsByName(*hTriggerResultsPROD);
if(!resultsByNamePROD.isValid()) {
std::cerr << "TestTriggerNames: While testing TriggerResultsByName class\n"
<< "Invalid object for PROD" << std::endl;
Expand All @@ -298,13 +318,6 @@ namespace edmtest {
}
std::cout << "Event " << iEvent_ << " " << resultsByNamePROD.accept("p1") << std::endl;
}

edm::TriggerResultsByName resultsByNameNONE = e.triggerResultsByName("NONE");
if(resultsByNameNONE.isValid()) {
std::cerr << "TestTriggerNames: While testing TriggerResultsByName class\n"
<< "Object is valid with nonexistent process name" << std::endl;
abort();
}
++iEvent_;
}

Expand Down
4 changes: 2 additions & 2 deletions PhysicsTools/FWLite/interface/EventContainer.h
Expand Up @@ -100,8 +100,8 @@ namespace fwlite
edm::TriggerNames const& triggerNames(edm::TriggerResults const& triggerResults) const
{ return m_eventBasePtr->triggerNames(triggerResults); }

edm::TriggerResultsByName triggerResultsByName(std::string const& process) const
{ return m_eventBasePtr->triggerResultsByName(process); }
edm::TriggerResultsByName triggerResultsByName(edm::TriggerResults const& triggerResults) const
{ return m_eventBasePtr->triggerResultsByName(triggerResults); }

Long64_t fileIndex() const
{ return m_eventBasePtr->fileIndex(); }
Expand Down
11 changes: 10 additions & 1 deletion SUSYBSMAnalysis/HSCP/plugins/HSCPHLTFilter.cc
Expand Up @@ -35,6 +35,7 @@ class HSCPHLTFilter : public edm::EDFilter {
bool IncreasedTreshold(const trigger::TriggerEvent& trEv, const edm::InputTag& InputPath, double NewThreshold, double etaCut, int NObjectAboveThreshold, bool averageThreshold);

std::string TriggerProcess;
edm::EDGetTokenT<edm::TriggerResults> triggerResultsToken_;
edm::EDGetTokenT< trigger::TriggerEvent > trEvToken;
std::map<std::string, bool > DuplicateMap;

Expand All @@ -55,6 +56,8 @@ HSCPHLTFilter::HSCPHLTFilter(const edm::ParameterSet& iConfig)
RemoveDuplicates = iConfig.getParameter<bool> ("RemoveDuplicates");

TriggerProcess = iConfig.getParameter<std::string> ("TriggerProcess");
triggerResultsToken_ = consumes<edm::TriggerResults>(edm::InputTag("TriggerResults", "", TriggerProcess));

trEvToken = consumes< trigger::TriggerEvent >( edm::InputTag( "hltTriggerSummaryAOD" ) );
MuonTrigger1Mask = iConfig.getParameter<int> ("MuonTrigger1Mask");
PFMetTriggerMask = iConfig.getParameter<int> ("PFMetTriggerMask");
Expand Down Expand Up @@ -91,7 +94,13 @@ bool HSCPHLTFilter::isDuplicate(unsigned int Run, unsigned int Event){
/////////////////////////////////////////////////////////////////////////////////////
bool HSCPHLTFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup)
{
edm::TriggerResultsByName tr = iEvent.triggerResultsByName(TriggerProcess);
edm::Handle<edm::TriggerResults> triggerResults;
iEvent.getByToken(triggerResultsToken_, triggerResults);

edm::TriggerResultsByName tr(nullptr, nullptr);
if (triggerResults.isValid()) {
tr = iEvent.triggerResultsByName(*triggerResults);
}
if(!tr.isValid()){ printf("NoValidTrigger\n"); }


Expand Down

0 comments on commit e2edf29

Please sign in to comment.