CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/HLTrigger/special/src/HLTEventNumberFilter.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    HLTEventNumberFilter
00004 // Class:      HLTEventNumberFilter
00005 // 
00013 //
00014 // Original Author:  Martin Grunewald
00015 //         Created:  Tue Jan 22 13:55:00 CET 2008
00016 // $Id: HLTEventNumberFilter.cc,v 1.2 2009/06/24 14:49:57 gruen Exp $
00017 //
00018 //
00019 
00020 
00021 // system include files
00022 #include <string>
00023 #include <iostream>
00024 #include <memory>
00025 
00026 // user include files
00027 #include "HLTrigger/special/interface/HLTEventNumberFilter.h"
00028 
00029 //
00030 // constructors and destructor
00031 //
00032 HLTEventNumberFilter::HLTEventNumberFilter(const edm::ParameterSet& iConfig)
00033 {
00034   //now do what ever initialization is needed
00035 
00036   period_ = iConfig.getParameter<unsigned int>("period") ;
00037   invert_ = iConfig.getParameter<bool>("invert") ;
00038 }
00039 
00040 
00041 HLTEventNumberFilter::~HLTEventNumberFilter()
00042 {
00043  
00044   // do anything here that needs to be done at desctruction time
00045   // (e.g. close files, deallocate resources etc.)
00046 
00047 }
00048 
00049 
00050 //
00051 // member functions
00052 //
00053 
00054 // ------------ method called on each new Event  ------------
00055 bool
00056 HLTEventNumberFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup)
00057 {
00058   using namespace edm;
00059 
00060   if (iEvent.isRealData()) {
00061     bool accept(false);
00062     if (period_!=0) accept = ( ( (iEvent.id().event())%period_ ) == 0 );
00063     if (invert_) accept = !accept;
00064     return accept;
00065   } else {
00066     return true;
00067   }
00068 
00069 }