24 for(std::vector<edm::EventAuxiliary>::const_reverse_iterator eaux=veaux.rbegin();eaux!=veaux.rend();eaux++) {
25 if(eaux!=veaux.rbegin()) {
32 const long long orbitoffset,
const int bxoffset):
36 std::map<int,TinyEvent> tmpmap;
38 for(L1AcceptBunchCrossingCollection::const_iterator l1abc=l1abcc.begin();l1abc!=l1abcc.end();++l1abc) {
41 if(orbitoffset < (
long long)l1abc->orbitNumber()) {
42 unsigned int neworbit = l1abc->orbitNumber() - orbitoffset;
43 int newbx = l1abc->bunchCrossing() - bxoffset;
58 if(l1abc->eventType()!=0) {
60 tmpmap[l1abc->l1AcceptOffset()]=tmpse;
63 edm::LogWarning(
"L1AcceptBunchCrossingNoType") <<
"L1AcceptBunchCrossing with no type found: ";
64 for(L1AcceptBunchCrossingCollection::const_iterator debu=l1abcc.begin();debu!=l1abcc.end();++debu) {
70 edm::LogError(
"L1AcceptBunchCrossingOffsetTooLarge") <<
" Too large orbit offset " 72 << l1abc->orbitNumber();
76 edm::LogInfo(
"L1AcceptBunchCrossingNegativeEvent") <<
"L1AcceptBunchCrossing with negative event: ";
77 for(L1AcceptBunchCrossingCollection::const_iterator debu=l1abcc.begin();debu!=l1abcc.end();++debu) {
83 if(tmpmap.find(0)!=tmpmap.end()) {
91 while(tmpmap.find(counter)!=tmpmap.end()) {
93 if(tmpmap[counter+1].
deltaBX(tmpmap[counter]) > 0) {
94 _prevse.push_back(tmpmap[counter]);
98 edm::LogWarning(
"L1AcceptBunchCrossingNotInOrder") <<
"L1AcceptBunchCrossing not in order: orbit " 99 <<
event.orbitNumber() <<
" BX " <<
event.bunchCrossing()
100 <<
" orbit offset " << orbitoffset <<
" bx offset " << bxoffset <<
" :";
101 for(L1AcceptBunchCrossingCollection::const_iterator debu=l1abcc.begin();debu!=l1abcc.end();++debu) {
110 edm::LogWarning(
"L1AcceptBunchCrossingNoCollection") <<
" L1AcceptBunchCrossing with offset=0 not found " 111 <<
" likely L1ABCCollection is empty ";
150 for(std::vector<TinyEvent>::const_iterator
ev=he._prevse.begin();
ev!=he._prevse.end();
ev++) {
151 if(!
add(*
ev,idepth))
return 0;
158 bool isfuture = (idepth <0);
159 const unsigned int adepth =
abs(idepth);
165 if(adepth==0)
return 0;
166 if(
_prevse.size()>= adepth)
return 0;
195 if(ev==0)
return this;
211 if(ev2==ev1)
return 0;
213 if(ev2<ev1 && ev1<=
_prevse.size()) {
263 if(ev2==ev1 && ev1<=
_prevse.size()) {
268 if(ev2<ev1 && ev1<=
_prevse.size()) {
unsigned int depth() const
long long absoluteBXinCycle(const int bx0) const
EventNumber_t event() const
long long deltaBX() const
const unsigned int orbit() const
const TinyEvent * get(const unsigned int ev) const
unsigned long long EventNumber_t
long long absoluteBXinCycle(const unsigned int ev1, const int bx0) const
bool equal(const T &first, const T &second)
std::vector< TinyEvent > _prevse
Abs< T >::type abs(const T &t)
std::vector< L1AcceptBunchCrossing > L1AcceptBunchCrossingCollection
int add(const EventWithHistory &he, const int idepth)
TinyEvent & operator=(const TinyEvent &se)
long long absoluteBX() const
long long deltaBX(const TinyEvent &se) const
const edm::EventNumber_t event() const
int isNextOf(const TinyEvent &se) const
long long deltaBXinCycle(const unsigned int ev2, const unsigned int ev1, const int bx0) const
bool isFutureHistory() const
long long absoluteBX() const
static std::atomic< unsigned int > counter
edm::EventNumber_t _event
EventWithHistory & operator=(const EventWithHistory &he)
int operator==(const TinyEvent &other) const
int operator==(const EventWithHistory &other) const
long long deltaBXinCycle(const TinyEvent &se, const int bx0) const