8 #if !defined(__CINT__) && !defined(__MAKECINT__)
24 EventSelector(TString::Format(
"run%d_lumi%d_%d", run, firstLumi, lastLumi),
25 TString::Format(
"Run %d, Lumi range [%d, %d]", run, firstLumi, lastLumi))
26 {
add(run, firstLumi, lastLumi); }
32 void add(
int run,
int firstLumi=0,
int lastLumi = 9999999) {
43 if (
runs.empty())
return true;
44 for (
int i = 0,
n =
runs.size();
i <
n; ++
i) {
56 template<
typename Collection>
63 scanner(new helper::ScannerBase(helper::Parser::elementType(Reflex::
Type::ByTypeInfo(
HandleT::TempWrapT::typeInfo()))))
73 const Collection & vals = *
handle;
74 for (
size_t j = 0,
n = vals.size();
j <
n; ++
j) {
77 return (nfound >=
min_ && (
max_ == -1 || nfound <=
max_));
virtual ~RunLumiSelector()
RunLumiSelector(int run, int firstLumi=0, int lastLumi=9999999)
std::vector< int > firstLumis
ObjectCountSelector & operator=(const fwlite::ObjectCountSelector< Collection > &other)
void add(int run, int firstLumi=0, int lastLumi=9999999)
void setIgnoreExceptions(bool ignoreThem)
edm::LuminosityBlockNumber_t luminosityBlock() const
helper::ScannerBase * scanner
RunLumiSelector(const char *name="", const char *title="")
void setMax(int maxNumber)
void getByLabel(const P &iP, const char *iModuleLabel, const char *iProductInstanceLabel=0, const char *iProcessLabel=0)
bool accept(int run, int luminosityBlock) const
virtual bool accept(const fwlite::EventBase &ev) const
fwlite::Handle< Collection > HandleT
bool test(const void *obj, size_t icut=0) const
virtual bool accept(const fwlite::EventBase &ev) const =0
std::vector< int > lastLumis
void setIgnoreExceptions(bool ignoreThem=true)
bool setCut(const char *cut)
Set the default cut that is applied to the events.
void setMin(int minNumber)
virtual bool accept(const fwlite::EventBase &ev) const
void setCut(const char *cut)
EventSelector(const char *name="", const char *title="")
ObjectCountSelector(const char *label, const char *instance, const char *process, const char *cut, int minNumber=1, int maxNumber=-1)