![]() |
![]() |
#include <GenFilterEfficiencyProducer.h>
Public Member Functions | |
GenFilterEfficiencyProducer (const edm::ParameterSet &) | |
~GenFilterEfficiencyProducer () | |
Private Member Functions | |
virtual void | beginLuminosityBlock (edm::LuminosityBlock &, const edm::EventSetup &) |
virtual void | endLuminosityBlock (edm::LuminosityBlock &, const edm::EventSetup &) |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
Private Attributes | |
std::string | filterPath |
int | numEventsPassed |
int | numEventsTotal |
unsigned int | pathIndex |
std::string | thisProcess |
edm::service::TriggerNamesService * | tns_ |
Definition at line 35 of file GenFilterEfficiencyProducer.h.
GenFilterEfficiencyProducer::GenFilterEfficiencyProducer | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 5 of file GenFilterEfficiencyProducer.cc.
References filterPath, edm::service::TriggerNamesService::getProcessName(), edm::service::TriggerNamesService::getTrigPaths(), i, cmsCodeRules::cppFunctionSkipper::operator, pathIndex, thisProcess, and tns_.
: filterPath(iConfig.getParameter<std::string>("filterPath")), tns_(), thisProcess(),pathIndex(100000), numEventsTotal(0),numEventsPassed(0) { //now do what ever initialization is needed if (edm::Service<edm::service::TriggerNamesService>().isAvailable()) { // get tns pointer tns_ = edm::Service<edm::service::TriggerNamesService>().operator->(); if (tns_!=0) { thisProcess = tns_->getProcessName(); std::vector<std::string> theNames = tns_->getTrigPaths(); for ( unsigned int i = 0; i < theNames.size(); i++ ) { if ( theNames[i] == filterPath ) { pathIndex = i; continue; } } } else edm::LogError("ServiceNotAvailable") << "TriggerNamesServive not available, no filter information stored"; } produces<GenFilterInfo, edm::InLumi>(); }
GenFilterEfficiencyProducer::~GenFilterEfficiencyProducer | ( | ) |
Definition at line 31 of file GenFilterEfficiencyProducer.cc.
{ }
void GenFilterEfficiencyProducer::beginLuminosityBlock | ( | edm::LuminosityBlock & | iLumi, |
const edm::EventSetup & | |||
) | [private, virtual] |
Reimplemented from edm::EDProducer.
Definition at line 62 of file GenFilterEfficiencyProducer.cc.
References numEventsPassed, and numEventsTotal.
{ numEventsTotal = 0; numEventsPassed = 0; }
void GenFilterEfficiencyProducer::endLuminosityBlock | ( | edm::LuminosityBlock & | iLumi, |
const edm::EventSetup & | |||
) | [private, virtual] |
Reimplemented from edm::EDProducer.
Definition at line 70 of file GenFilterEfficiencyProducer.cc.
References numEventsPassed, numEventsTotal, and edm::LuminosityBlock::put().
{ std::auto_ptr<GenFilterInfo> thisProduct(new GenFilterInfo(numEventsTotal,numEventsPassed)); iLumi.put(thisProduct); }
void GenFilterEfficiencyProducer::produce | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Implements edm::EDProducer.
Definition at line 43 of file GenFilterEfficiencyProducer.cc.
References edm::Event::getByLabel(), numEventsPassed, numEventsTotal, pathIndex, and thisProcess.
{ edm::InputTag theTrig("TriggerResults","",thisProcess); edm::Handle<edm::TriggerResults> trigR; iEvent.getByLabel(theTrig,trigR); unsigned int nSize = (*trigR).size(); // std::cout << "Number of paths in TriggerResults = " << nSize << std::endl; if ( nSize >= pathIndex ) { if ( trigR->wasrun(pathIndex) ) { numEventsTotal++; } if ( trigR->accept(pathIndex) ) { numEventsPassed++; } // std::cout << "Total events = " << numEventsTotal << " passed = " << numEventsPassed << std::endl; } }
std::string GenFilterEfficiencyProducer::filterPath [private] |
Definition at line 49 of file GenFilterEfficiencyProducer.h.
Referenced by GenFilterEfficiencyProducer().
int GenFilterEfficiencyProducer::numEventsPassed [private] |
Definition at line 57 of file GenFilterEfficiencyProducer.h.
Referenced by beginLuminosityBlock(), endLuminosityBlock(), and produce().
int GenFilterEfficiencyProducer::numEventsTotal [private] |
Definition at line 56 of file GenFilterEfficiencyProducer.h.
Referenced by beginLuminosityBlock(), endLuminosityBlock(), and produce().
unsigned int GenFilterEfficiencyProducer::pathIndex [private] |
Definition at line 54 of file GenFilterEfficiencyProducer.h.
Referenced by GenFilterEfficiencyProducer(), and produce().
std::string GenFilterEfficiencyProducer::thisProcess [private] |
Definition at line 53 of file GenFilterEfficiencyProducer.h.
Referenced by GenFilterEfficiencyProducer(), and produce().
Definition at line 51 of file GenFilterEfficiencyProducer.h.
Referenced by GenFilterEfficiencyProducer().