CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DQM/SiStripMonitorCluster/src/SiStripMonitorFilter.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    SiStripMonitorCluster
00004 // Class:      SiStripMonitorFilter
00005 // 
00006 //class SiStripMonitorFilter SiStripMonitorFilter.cc DQM/SiStripMonitorCluster/src/SiStripMonitorFilter.cc
00007 #include <vector>
00008 
00009 #include <numeric>
00010 #include <iostream>
00011 
00012 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00013 #include "FWCore/ServiceRegistry/interface/Service.h"
00014 
00015 #include "DQM/SiStripMonitorCluster/interface/SiStripMonitorFilter.h"
00016 #include "DQMServices/Core/interface/DQMStore.h"
00017 
00018 
00019 SiStripMonitorFilter::SiStripMonitorFilter(const edm::ParameterSet& iConfig)
00020 {
00021   FilterDirectory="FilterResults";
00022   dqmStore_  = edm::Service<DQMStore>().operator->();
00023   conf_ = iConfig;
00024 }
00025 
00026 void SiStripMonitorFilter::beginJob(){
00027   dqmStore_->setCurrentFolder(FilterDirectory);
00028   std::string FilterProducer = conf_.getParameter<std::string>("FilterProducer");
00029   FilterDecision = dqmStore_->book1D(FilterProducer+"_Decision", FilterProducer+"Decision", 2, -0.5, 1.5);
00030 }
00031 
00032 void SiStripMonitorFilter::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup)
00033 {
00034   // get from event
00035   std::string FilterProducer = conf_.getParameter<std::string>("FilterProducer");
00036   edm::Handle<int> filter_decision; iEvent.getByLabel(FilterProducer, "", filter_decision); // filter decision
00037   // trigger decision
00038   FilterDecision->Fill(*filter_decision);
00039 }
00040 
00041 void SiStripMonitorFilter::endJob(void){
00042   double events_accepted = FilterDecision->getBinContent(1);
00043   double events_rejected = FilterDecision->getBinContent(2);
00044   double events_total    = events_accepted + events_rejected;
00045   edm::LogInfo("DQM|SiStripMonitorFilter")<<"Total nr. of events "<<events_total;
00046   edm::LogInfo("DQM|SiStripMonitorFilter")<<"Events rejected/accepted "<<events_accepted<<"/"<<events_rejected;
00047   edm::LogInfo("DQM|SiStripMonitorFilter")<<"rejected/total  :  accepted/total "<<events_rejected/events_total<<"  :  "<<events_accepted/events_total;
00048   bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
00049   std::string outputFileName = conf_.getParameter<std::string>("OutputFileName");
00050   if(outputMEsInRootFile){
00051     dqmStore_->save(outputFileName);
00052   }
00053 }
00054