ATLAS Offline Software
TrigLArNoiseBurstRecoAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGCALOHYPO_TRIGLARNOISEBURSTHYPOALG
5 #define TRIGCALOHYPO_TRIGLARNOISEBURSTHYPOALG
6 
7 #include <string>
8 #include <mutex>
9 
10 #include "GaudiKernel/ToolHandle.h"
19 
20 namespace hltinterface{
21  class GenericHLTContainer;
22 }
23 
24 
30  public:
31 
32  TrigLArNoiseBurstRecoAlg( const std::string& name, ISvcLocator* pSvcLocator );
33 
34  virtual StatusCode initialize() override;
35  virtual StatusCode execute( const EventContext& context ) const override;
36 
37  private:
38  SG::ReadHandleKey<CaloCellContainer > m_cellContainerKey { this, "CellContainerKey", "CellsClusters","SG Key of cells"};
39  SG::ReadCondHandleKey<LArBadFebCont> m_knownBadFEBsVecKey {this, "BadFEBsKey", "LArKnownBadFEBs", "key to read the known Bad FEBs"};
40  SG::ReadCondHandleKey<LArBadFebCont> m_knownMNBFEBsVecKey {this, "MNBFEBsKey", "LArKnownMNBFEBs", "key to read the known MNB FEBs"};
41  SG::WriteHandleKey<bool> m_noiseBurstDetected{this, "NoiseBurstKey", "HLT_NoiseBurst", "Flag which records if a noise burst was detected in the event"};
42 
43  ToolHandle<ILArNoisyROTool> m_noisyROTool {this, "Tool", "LArNoisyROTool", "Noise Burst Calculation Tool"};
44 
45  Gaudi::Property< bool > m_badFEBFlaggedPartitions { this, "BadFEBFlaggedPartitions" , true, "flag to be used for NB detection" };
46  Gaudi::Property< bool > m_satTightFlaggedPartitions { this, "SatTightFlaggedPartitions", true, "flag to be used for NB detection" };
47  Gaudi::Property< bool > m_mNBLooseFlaggedPartitions { this, "MNBLooseFlaggedPartitions", true, "flag to be used for NB detection" };
48  Gaudi::Property< bool > m_mNBTightFlaggedPartitions { this, "MNBTightFlaggedPartitions", true, "flag to be used for NB detection" };
49  Gaudi::Property< bool > m_mNBTight_PsVetoFlaggedPartitions{ this, "MNBTight_PsVetoFlaggedPartitions", true, "flag to be used for NB detection" };
50 
51  ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
52  unsigned int m_mask{0};
53 
54  // lock for IS publishing
56  std::shared_ptr<hltinterface::GenericHLTContainer> m_IsObject;
57 
58  long int m_timeTagPosToClear{};
59  long int m_publishTime{};
60  std::string m_name_of_is;
61  size_t m_evntPos{};
62  size_t m_timeTagPos{};
63  size_t m_timeTagPosns{};
64  mutable long int m_timeTagPosRec ATLAS_THREAD_SAFE{};
65 };
66 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TrigLArNoiseBurstRecoAlg::m_badFEBFlaggedPartitions
Gaudi::Property< bool > m_badFEBFlaggedPartitions
Definition: TrigLArNoiseBurstRecoAlg.h:45
hltinterface
Definition: TrigExISPublishing.h:10
TrigLArNoiseBurstRecoAlg::m_timeTagPosns
size_t m_timeTagPosns
Definition: TrigLArNoiseBurstRecoAlg.h:63
TrigLArNoiseBurstRecoAlg::ATLAS_THREAD_SAFE
long int m_timeTagPosRec ATLAS_THREAD_SAFE
Definition: TrigLArNoiseBurstRecoAlg.h:64
ILArNoisyROTool.h
TrigLArNoiseBurstRecoAlg::execute
virtual StatusCode execute(const EventContext &context) const override
Definition: TrigLArNoiseBurstRecoAlg.cxx:70
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
TrigLArNoiseBurstRecoAlg::m_noiseBurstDetected
SG::WriteHandleKey< bool > m_noiseBurstDetected
Definition: TrigLArNoiseBurstRecoAlg.h:41
TrigLArNoiseBurstRecoAlg::m_timeTagPosToClear
long int m_timeTagPosToClear
Definition: TrigLArNoiseBurstRecoAlg.h:58
SG::ReadHandleKey< CaloCellContainer >
TrigLArNoiseBurstRecoAlg::m_knownBadFEBsVecKey
SG::ReadCondHandleKey< LArBadFebCont > m_knownBadFEBsVecKey
Definition: TrigLArNoiseBurstRecoAlg.h:39
TrigLArNoiseBurstRecoAlg::m_evntPos
size_t m_evntPos
Definition: TrigLArNoiseBurstRecoAlg.h:61
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
TrigLArNoiseBurstRecoAlg::m_noisyROTool
ToolHandle< ILArNoisyROTool > m_noisyROTool
Definition: TrigLArNoiseBurstRecoAlg.h:43
TrigLArNoiseBurstRecoAlg::m_timeTagPos
size_t m_timeTagPos
Definition: TrigLArNoiseBurstRecoAlg.h:62
LArBadChannelCont.h
GenericMonitoringTool.h
SG::WriteHandleKey< bool >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigLArNoiseBurstRecoAlg::initialize
virtual StatusCode initialize() override
Definition: TrigLArNoiseBurstRecoAlg.cxx:25
TrigLArNoiseBurstRecoAlg
Implements LArNoiseBurst detection for the new HLT framework.
Definition: TrigLArNoiseBurstRecoAlg.h:29
TrigLArNoiseBurstRecoAlg::m_publishTime
long int m_publishTime
Definition: TrigLArNoiseBurstRecoAlg.h:59
ReadCondHandleKey.h
TrigLArNoiseBurstRecoAlg::m_name_of_is
std::string m_name_of_is
Definition: TrigLArNoiseBurstRecoAlg.h:60
TrigLArNoiseBurstRecoAlg::m_pubIS_mtx
std::mutex m_pubIS_mtx
Definition: TrigLArNoiseBurstRecoAlg.h:55
AthReentrantAlgorithm.h
TrigLArNoiseBurstRecoAlg::m_mNBTight_PsVetoFlaggedPartitions
Gaudi::Property< bool > m_mNBTight_PsVetoFlaggedPartitions
Definition: TrigLArNoiseBurstRecoAlg.h:49
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrigLArNoiseBurstRecoAlg::m_mNBTightFlaggedPartitions
Gaudi::Property< bool > m_mNBTightFlaggedPartitions
Definition: TrigLArNoiseBurstRecoAlg.h:48
TrigLArNoiseBurstRecoAlg::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigLArNoiseBurstRecoAlg.h:51
TrigLArNoiseBurstRecoAlg::m_mNBLooseFlaggedPartitions
Gaudi::Property< bool > m_mNBLooseFlaggedPartitions
Definition: TrigLArNoiseBurstRecoAlg.h:47
CaloCellContainer.h
SG::ReadCondHandleKey
Definition: ReadCondHandleKey.h:20
TrigLArNoiseBurstRecoAlg::m_mask
unsigned int m_mask
Definition: TrigLArNoiseBurstRecoAlg.h:52
TrigLArNoiseBurstRecoAlg::m_satTightFlaggedPartitions
Gaudi::Property< bool > m_satTightFlaggedPartitions
Definition: TrigLArNoiseBurstRecoAlg.h:46
TrigLArNoiseBurstRecoAlg::TrigLArNoiseBurstRecoAlg
TrigLArNoiseBurstRecoAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigLArNoiseBurstRecoAlg.cxx:19
TrigLArNoiseBurstRecoAlg::m_cellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Definition: TrigLArNoiseBurstRecoAlg.h:38
SlotSpecificObj.h
Maintain a set of objects, one per slot.
TrigLArNoiseBurstRecoAlg::m_IsObject
std::shared_ptr< hltinterface::GenericHLTContainer > m_IsObject
Definition: TrigLArNoiseBurstRecoAlg.h:56
TrigLArNoiseBurstRecoAlg::m_knownMNBFEBsVecKey
SG::ReadCondHandleKey< LArBadFebCont > m_knownMNBFEBsVecKey
Definition: TrigLArNoiseBurstRecoAlg.h:40