57 std::map<edm::EventNumber_t, long long>
_offsets;
76 _forceNoOffset(iConfig.getUntrackedParameter<bool>(
"forceNoOffset",
false)),
77 _offsets(), _curroffset(0), _curroffevent(0)
82 produces<EventWithHistory>();
108 if(iEvent.
run() < 110878 ) {
121 long long orbitoffset = 0;
124 for(L1AcceptBunchCrossingCollection::const_iterator l1abc=pIn->begin();l1abc!=pIn->end();++l1abc) {
125 if(l1abc->l1AcceptOffset()==0) {
126 orbitoffset = (
long long)l1abc->orbitNumber() - (
long long)iEvent.
orbitNumber();
133 std::auto_ptr<EventWithHistory> pOut(
new EventWithHistory(iEvent,*pIn,orbitoffset,bxoffset));
138 long long absbxoffset = orbitoffset*3564 + bxoffset;
149 edm::LogInfo(
"AbsoluteBXOffsetChanged") <<
"Absolute BX offset changed from "
151 << absbxoffset <<
" at orbit "
154 for(L1AcceptBunchCrossingCollection::const_iterator l1abc=pIn->begin();l1abc!=pIn->end();++l1abc) {
173 edm::LogInfo(
"AbsoluteBXOffsetReset") <<
"Absolute BX offset map reset";
182 edm::LogInfo(
"AbsoluteBXOffsetSummary") <<
"Absolute BX offset summary:";
~EventWithHistoryProducerFromL1ABC()
EventNumber_t event() const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
int bunchCrossing() const
unsigned long long EventNumber_t
edm::EventNumber_t _curroffevent
const bool _forceNoOffset
EventWithHistoryProducerFromL1ABC(const edm::ParameterSet &)
std::map< edm::EventNumber_t, long long > _offsets
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual void endRun(const edm::Run &, const edm::EventSetup &) override
virtual void beginRun(const edm::Run &, const edm::EventSetup &) override
std::vector< L1AcceptBunchCrossing > L1AcceptBunchCrossingCollection
virtual void produce(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< L1AcceptBunchCrossingCollection > _l1abccollectionToken
volatile std::atomic< bool > shutdown_flag false