![]() |
![]() |
#include <MyFilter/StatisticsFilter/src/StatisticsFilter.cc>
Public Member Functions | |
StatisticsFilter (const edm::ParameterSet &) | |
~StatisticsFilter () | |
Private Member Functions | |
virtual void | beginJob () |
virtual void | endJob () |
virtual bool | filter (edm::Event &, const edm::EventSetup &) |
Private Attributes | |
std::string | dirpath |
DQMStore * | dqmStore_ |
std::string | filename |
int | MinNumberOfEvents |
int | TotNumberOfEvents |
Description: [one line class summary]
Implementation: [Notes on implementation]
Definition at line 42 of file StatisticsFilter.cc.
StatisticsFilter::StatisticsFilter | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 73 of file StatisticsFilter.cc.
References dqmStore_, filename, DQMStore::open(), and cmsCodeRules::cppFunctionSkipper::operator.
: filename(iConfig.getUntrackedParameter<std::string>("rootFilename","")), dirpath(iConfig.getUntrackedParameter<std::string>("histoDirPath","")), MinNumberOfEvents(iConfig.getUntrackedParameter<int>("minNumberOfEvents")) { //now do what ever initialization is needed dqmStore_ = edm::Service<DQMStore>().operator->(); dqmStore_->open(filename.c_str(), false); }
StatisticsFilter::~StatisticsFilter | ( | ) |
Definition at line 84 of file StatisticsFilter.cc.
{ // do anything here that needs to be done at desctruction time // (e.g. close files, deallocate resources etc.) }
void StatisticsFilter::beginJob | ( | void | ) | [private, virtual] |
void StatisticsFilter::endJob | ( | void | ) | [private, virtual] |
bool StatisticsFilter::filter | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Implements edm::EDFilter.
Definition at line 99 of file StatisticsFilter.cc.
References dirpath, dqmStore_, DQMStore::getAllContents(), MinNumberOfEvents, NULL, and TotNumberOfEvents.
{ TotNumberOfEvents = 0; std::vector<MonitorElement*> MEs = dqmStore_->getAllContents(dirpath); std::vector<MonitorElement*>::const_iterator iter=MEs.begin(); std::vector<MonitorElement*>::const_iterator iterEnd=MEs.end(); for (; iter!=iterEnd;++iter) { std::string me_name = (*iter)->getName(); if ( strstr(me_name.c_str(),"TotalNumberOfCluster__T")!=NULL && strstr(me_name.c_str(),"Profile")==NULL ) { TotNumberOfEvents = ((TH1F*)(*iter)->getTH1F())->GetEntries(); break; } } if ( TotNumberOfEvents<MinNumberOfEvents ) { edm::LogInfo("StatisticsFilter") << "Only " << TotNumberOfEvents << " events in the run. Run will not be analyzed!"; return false; } return true; }
std::string StatisticsFilter::dirpath [private] |
Definition at line 56 of file StatisticsFilter.cc.
Referenced by filter().
DQMStore* StatisticsFilter::dqmStore_ [private] |
Definition at line 54 of file StatisticsFilter.cc.
Referenced by filter(), and StatisticsFilter().
std::string StatisticsFilter::filename [private] |
Definition at line 56 of file StatisticsFilter.cc.
Referenced by StatisticsFilter().
int StatisticsFilter::MinNumberOfEvents [private] |
Definition at line 58 of file StatisticsFilter.cc.
Referenced by filter().
int StatisticsFilter::TotNumberOfEvents [private] |
Definition at line 57 of file StatisticsFilter.cc.
Referenced by filter().