ATLAS Offline Software
Loading...
Searching...
No Matches
EventInfoClearAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARCELLREC_EVENTINFOCELARALG_H
6#define LARCELLREC_EVENTINFOCELARALG_H
7
12#include <atomic>
15
16//Ad-hoc xAODFix algorithm, intended to cear the EventInfo::ErrorState for run 456721, LB 731 - End of run
17//One Front End boad failed, producing data-corruption errors. One failing FEB is considered a tolerable defect
18//Now, this one FEB is properly marked as "deadReadout" but the veto-periods have not been cleared from
19//the EventVeto DB folder. Therefore the Event-Info ERROR-bit is (incorrectly) set
20//This algo is not thread-safe, it relies on const_cast to modify the xAOD::EventInfo object
21//Therefore, it needs to be scheduled in the AthBeginSeq
22
23
25
27 public:
28 //Delegate constructor:
30
31 virtual StatusCode initialize() override;
32 virtual StatusCode execute (const EventContext& ctx) override;
33 virtual StatusCode finalize() override;
34
35 private:
36 mutable std::atomic<unsigned> m_nevt{0};
37 mutable std::atomic<unsigned> m_nevtCleard{0};
38
39 SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EventInfoKey","EventInfo"};
40
41 EventInfoLockHelper::unlockFunc_t m_runIf=[](uint32_t runNbr, uint32_t lbNbr,uint64_t)->bool {return (runNbr==456729 && lbNbr>=732);};
42};
43#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
virtual StatusCode execute(const EventContext &ctx)=0
Execute method.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
An AttributeList represents a logical row of attributes in a metadata table.
virtual StatusCode finalize() override
std::atomic< unsigned > m_nevtCleard
EventInfoLockHelper::unlockFunc_t m_runIf
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
std::atomic< unsigned > m_nevt
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
std::function< bool(uint32_t, uint32_t, uint64_t)> unlockFunc_t
Property holding a SG store/key/clid from which a ReadHandle is made.
void initialize()