10 startEventID_(0U, 0U,
EventID::maxEventNumber()),
11 endEventID_(0U, 0U,
EventID::maxEventNumber()) {
17 startEventID_(startRun, startLumi, startEvent != 0 ? startEvent :
EventID::maxEventNumber()),
18 endEventID_(endRun, endLumi, endEvent != 0 ? endEvent :
EventID::maxEventNumber()) {
19 assert((startLumi == 0) == (endLumi == 0));
78 bool mergeSpecial(EventRange&
lh, EventRange& rh) {
80 if ((lh.startLumi() == 0) != (rh.startLumi() == 0)) {
84 EventID
begin =
min(lh.startEventID(), rh.startEventID());
85 EventID
end =
max(lh.endEventID(), rh.endEventID());
86 rh = lh = EventRange(begin, end);
92 bool sortByStartEventIDSpecial(EventRange
const& lh, EventRange
const& rh) {
94 if ((lh.startLumi() == 0) != (rh.startLumi() == 0)) {
95 return lh.startLumi() == 0;
97 return lh.startEventID() < rh.startEventID();
101 std::vector<EventRange>&
103 if (eventRange.size() <= 1U)
return eventRange;
104 sort_all(eventRange, sortByStartEventIDSpecial);
105 for (std::vector<EventRange>::iterator
i = eventRange.begin() + 1,
e = eventRange.end();
107 std::vector<EventRange>::iterator iprev =
i - 1;
108 if (mergeSpecial(*iprev, *
i)) {
109 i = eventRange.erase(iprev);
110 e = eventRange.end();
EventNumber_t event() const
LumiNumber_t startLumi() const
bool contains(EventRange const &lh, EventID const &rh)
unsigned int EventNumber_t
RunNumber_t startRun() const
bool distinct(EventRange const &lh, EventRange const &rh)
RunNumber_t endRun() const
EventID startEventID() const
bool lessThanSpecial(EventRange const &lh, EventRange const &rh)
EventNumber_t endEvent() const
EventID endEventID() const
EventID const & min(EventID const &lh, EventID const &rh)
LumiNumber_t endLumi() const
void sort_all(RandomAccessSequence &s)
wrappers for std::sort
bool contains_(EventRange const &lh, EventID const &rh)
EventNumber_t startEvent() const
bool overlaps(EventRange const &lh, EventRange const &rh)
std::vector< EventRange > & sortAndRemoveOverlaps(std::vector< EventRange > &eventRange)
bool lessThan(EventRange const &lh, EventRange const &rh)
unsigned int LumiNumber_t
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
EventID const & max(EventID const &lh, EventID const &rh)