13 firstRun_(pset.getUntrackedParameter<unsigned int>(
"firstRun", 1U)),
14 firstLumi_(pset.getUntrackedParameter<unsigned int>(
"firstLuminosityBlock", 0U)),
15 firstEvent_(pset.existsAs<unsigned int>(
"firstEvent",
false)
16 ? pset.getUntrackedParameter<unsigned int>(
"firstEvent")
17 : pset.getUntrackedParameter<unsigned long long>(
"firstEvent", 1U)),
24 whichEventsToProcess_(
26 skippingLumis_(!(whichLumisToSkip_.
empty() && whichLumisToProcess_.
empty() && firstLumi_ == 0)),
27 skippingEvents_(!(whichEventsToSkip_.
empty() && whichEventsToProcess_.
empty())),
28 somethingToSkip_(skippingLumis_ || skippingEvents_ ||
29 !(firstRun_ <= 1U && firstLumi_ <= 1U && firstEvent_ <= 1U)) {
39 auto evSkp = std::make_unique<EventSkipperByID>(
pset);
40 if (!evSkp->somethingToSkip()) {
117 desc.
addUntracked<
unsigned int>(
"firstRun", 1U)->setComment(
"Skip any run with run number < 'firstRun'.");
118 desc.
addUntracked<
unsigned int>(
"firstLuminosityBlock", 0U)
119 ->setComment(
"Skip any lumi in run 'firstRun' with lumi number < 'firstLuminosityBlock'.");
124 "'firstEvent' is an XOR group because it can have type uint32 or uint64, default:1\n"
125 "If 'firstLuminosityBlock' == 0, skip any event in run 'firstRun' with event number < 'firstEvent'.\n"
126 "If 'firstLuminosityBlock' != 0, skip any event in lumi 'firstRun:firstLuminosityBlock' with event number "
129 std::vector<LuminosityBlockRange> defaultLumis;
130 desc.
addUntracked<std::vector<LuminosityBlockRange> >(
"lumisToSkip", defaultLumis)
132 "Skip any lumi inside the specified run:lumi range. In python do 'help(cms.LuminosityBlockRange)' for "
134 desc.
addUntracked<std::vector<LuminosityBlockRange> >(
"lumisToProcess", defaultLumis)
136 "If not empty, skip any lumi outside the specified run:lumi range. In python do "
137 "'help(cms.LuminosityBlockRange)' for documentation.");
139 std::vector<EventRange> defaultEvents;
140 desc.
addUntracked<std::vector<EventRange> >(
"eventsToSkip", defaultEvents)
142 "Skip any event inside the specified run:event or run:lumi:event range. In python do "
143 "'help(cms.EventRange)' for documentation.");
144 desc.
addUntracked<std::vector<EventRange> >(
"eventsToProcess", defaultEvents)
146 "If not empty, skip any event outside the specified run:event or run:lumi:event range. In python do "
147 "'help(cms.EventRange)' for documentation.");
void setComment(std::string const &value)
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
bool skippingLumis() const
static std::unique_ptr< EventSkipperByID > create(ParameterSet const &pset)
unsigned long long EventNumber_t
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
bool skipIt(RunNumber_t run, LuminosityBlockNumber_t lumi, EventNumber_t event) const
LuminosityBlockNumber_t firstLumi_
unsigned int LuminosityBlockNumber_t
bool skippingEvents() const
std::vector< LuminosityBlockRange > whichLumisToSkip_
std::vector< EventRange > whichEventsToProcess_
bool lessThanSpecial(EventRange const &lh, EventRange const &rh)
std::vector< LuminosityBlockRange > whichLumisToProcess_
std::vector< EventRange > whichEventsToSkip_
EventNumber_t firstEvent_
static void fillDescription(ParameterSetDescription &desc)
< trclass="colgroup">< tdclass="colgroup"colspan=5 > DT local reconstruction</td ></tr >< tr >< td >< ahref="classDTRecHit1DPair.html"> DTRecHit1DPair</a ></td >< td >< ahref="DataFormats_DTRecHit.html"> edm::RangeMap & lt
std::vector< EventRange > & sortAndRemoveOverlaps(std::vector< EventRange > &eventRange)
bool binary_search_all(ForwardSequence const &s, Datum const &d)
wrappers for std::binary_search
bool lessThan(EventRange const &lh, EventRange const &rh)
EventSkipperByID(ParameterSet const &pset)