CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

StatisticsFilter Class Reference

#include <MyFilter/StatisticsFilter/src/StatisticsFilter.cc>

Inheritance diagram for StatisticsFilter:
edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

List of all members.

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
DQMStoredqmStore_
std::string filename
int MinNumberOfEvents
int TotNumberOfEvents

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 42 of file StatisticsFilter.cc.


Constructor & Destructor Documentation

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.)

}

Member Function Documentation

void StatisticsFilter::beginJob ( void  ) [private, virtual]

Reimplemented from edm::EDFilter.

Definition at line 132 of file StatisticsFilter.cc.

{
}
void StatisticsFilter::endJob ( void  ) [private, virtual]

Reimplemented from edm::EDFilter.

Definition at line 138 of file StatisticsFilter.cc.

                         {
}
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;
}

Member Data Documentation

std::string StatisticsFilter::dirpath [private]

Definition at line 56 of file StatisticsFilter.cc.

Referenced by filter().

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().

Definition at line 58 of file StatisticsFilter.cc.

Referenced by filter().

Definition at line 57 of file StatisticsFilter.cc.

Referenced by filter().