|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #include "hltinterface/IInfoRegister.h"
13 #include "hltinterface/ContainerFactory.h"
15 #include <boost/property_tree/ptree.hpp>
20 ISvcLocator* pSvcLocator ) :
21 AthReentrantAlgorithm(
name, pSvcLocator ), m_IsObject(nullptr), m_timeTagPosToClear(240), m_publishTime(180), m_name_of_is(
"LArISInfo_NoiseBurstAlg"), m_timeTagPosRec(0) {
47 auto cfact = hltinterface::ContainerFactory::getInstance();
50 ATH_MSG_DEBUG (
"Got the factory for TDAQ interface, will try to register vectors" );
52 m_evntPos = cfact->addIntVector(
m_IsObject,
"Flag",hltinterface::GenericHLTContainer::LASTVALUE);
60 ATH_MSG_WARNING (
"Cannot use ISInfo publication. got exception " << ex.what() );
66 ATH_MSG_INFO(
"TrigLArNoiseBurstRecoAlg initialization completed successfully.");
67 return StatusCode::SUCCESS;
77 std::string bitWise_flags(
"bitWise_flags");
79 const EventIDBase& EIHandle = context.eventID();
80 long int thisTimeStamp = (EIHandle).time_stamp();
81 long int thisTimeStampns = (EIHandle).time_stamp_ns_offset();
82 uint32_t thisLB = (EIHandle).lumi_block();
83 unsigned long long thisEv = (EIHandle).event_number();
84 ATH_MSG_DEBUG (
name() <<
" processing EN : " << thisEv <<
" in LB : " << thisLB <<
" TS : " << thisTimeStamp <<
" TSNS : " << thisTimeStampns );
92 std::set<unsigned int> bf;
93 std::vector<HWIdentifier> MNBfeb;
98 bf.insert(badchan.first);
106 MNBfeb.push_back(HWIdentifier(badchan.first));
112 if ( !(cellsHandle.
cptr()) )
return StatusCode::FAILURE;
113 unsigned int flag = 0;
116 std::unique_ptr<LArNoisyROSummary> noisyRO =
m_noisyROTool->process(cellsHandle.
cptr(), &bf, &MNBfeb);
188 event_tree.put(
"eventNumber",thisEv);
189 event_tree.put(
"LBNumber",thisLB);
200 for(
unsigned int dd=0;
dd<
tt.size();
dd++){
202 toBeCleared = (
int)
dd-1;
207 if ( toBeCleared > 0 ) {
208 ee.erase(ee.begin(),ee.begin()+(toBeCleared) );
209 tt.erase(
tt.begin(),
tt.begin()+(toBeCleared) );
210 ttn.erase(ttn.begin(),ttn.begin()+(toBeCleared) );
212 m_timeTagPosRec = thisTimeStamp ;
220 ATH_MSG_INFO(
"Caught exception while calling hltinterface::IInfoRegister::instance()->endEvent for event " << thisEv
221 <<
" at LB " << thisLB
222 <<
". Exception was "<<ex.what());
226 auto output = std::make_unique<bool>(pass);
229 return StatusCode::SUCCESS;
Gaudi::Property< bool > m_badFEBFlaggedPartitions
Group
Properties of a chain group.
uint8_t MNBTight_PsVetoFlaggedPartitions() const
const_pointer_type cptr()
Dereference the pointer.
virtual StatusCode execute(const EventContext &context) const override
SG::WriteHandleKey< bool > m_noiseBurstDetected
long int m_timeTagPosToClear
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
uint8_t SatTightFlaggedPartitions() const
SG::ReadCondHandleKey< LArBadFebCont > m_knownBadFEBsVecKey
def timer(name, disabled=False)
An algorithm that can be simultaneously executed in multiple threads.
ToolHandle< ILArNoisyROTool > m_noisyROTool
uint8_t MNBTightFlaggedPartitions() const
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode initialize() override
uint8_t MNBLooseFlaggedPartitions() const
#define CHECK(...)
Evaluate an expression and check for errors.
std::pair< ChanId_t, LArBC_t > BadChanEntry
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Header file to be included by clients of the Monitored infrastructure.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
void fill(H5::Group &out_file, size_t iterations)
boost::property_tree::ptree ptree
Gaudi::Property< bool > m_mNBTight_PsVetoFlaggedPartitions
Gaudi::Property< bool > m_mNBTightFlaggedPartitions
ToolHandle< GenericMonitoringTool > m_monTool
Gaudi::Property< bool > m_mNBLooseFlaggedPartitions
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
Gaudi::Property< bool > m_satTightFlaggedPartitions
TrigLArNoiseBurstRecoAlg(const std::string &name, ISvcLocator *pSvcLocator)
#define ATH_MSG_WARNING(x)
uint8_t BadFEB_WFlaggedPartitions() const
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Declare a monitored scalar variable.
size_type size() const noexcept
Returns the number of elements in the collection.
uint8_t BadFEBFlaggedPartitions() const
std::shared_ptr< hltinterface::GenericHLTContainer > m_IsObject
SG::ReadCondHandleKey< LArBadFebCont > m_knownMNBFEBsVecKey