ATLAS Offline Software
LArCellMaskingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARCELLREC_LARCELLMASKINGTOOL_H
6 #define LARCELLREC_LARCELLMASKINGTOOL_H
7 
8 
17 #include <bitset>
18 #include <mutex>
19 
20 
22  : public extends<AthAlgTool, ICaloCellMakerTool >
23 {
24 
25 public:
26 
27  LArCellMaskingTool(const std::string& type,
28  const std::string& name,
29  const IInterface* parent) ;
30 
31 
32  virtual StatusCode initialize() override;
33 
34  // update theCellContainer
35  virtual StatusCode process (CaloCellContainer* theCellContainer,
36  const EventContext& ctx) const override;
37 
38  virtual StatusCode finalize() override;
39 
40  private:
44  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
45 
46 
47  std::vector<std::string> m_rejLArChannels;
48  mutable std::bitset<200000> m_includedCellsMap ATLAS_THREAD_SAFE; //Slightly too big but who cares....
49 
50  mutable std::atomic<bool> m_mapInitialized;
54 };
55 
56 #endif
57 
LArCellMaskingTool::initialize
virtual StatusCode initialize() override
Definition: LArCellMaskingTool.cxx:44
LArCellMaskingTool::m_mutex
std::mutex m_mutex
Definition: LArCellMaskingTool.h:53
LArCellMaskingTool::m_offlinehashMax
IdentifierHash m_offlinehashMax
Definition: LArCellMaskingTool.h:51
LArCellMaskingTool::m_onlinehashMax
IdentifierHash m_onlinehashMax
Definition: LArCellMaskingTool.h:52
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
CaloCell_ID.h
LArCellMaskingTool::finalize
virtual StatusCode finalize() override
Definition: LArCellMaskingTool.cxx:183
LArOnOffIdMapping.h
LArCellMaskingTool::LArCellMaskingTool
LArCellMaskingTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: LArCellMaskingTool.cxx:20
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArCellMaskingTool::fillIncludedCellsMap
StatusCode fillIncludedCellsMap(const LArOnOffIdMapping *cabling) const
Definition: LArCellMaskingTool.cxx:67
AthAlgTool.h
LArCellMaskingTool::ATLAS_THREAD_SAFE
std::bitset< 200000 > m_includedCellsMap ATLAS_THREAD_SAFE
Definition: LArCellMaskingTool.h:48
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IdentifierHash.h
LArOnlineID
Definition: LArOnlineID.h:20
LArCellMaskingTool::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArCellMaskingTool.h:44
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
ICaloCellMakerTool.h
SG::ReadCondHandleKey< LArOnOffIdMapping >
LArCellMaskingTool
Definition: LArCellMaskingTool.h:23
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LArCellMaskingTool::m_rejLArChannels
std::vector< std::string > m_rejLArChannels
Definition: LArCellMaskingTool.h:47
LArCellMaskingTool::process
virtual StatusCode process(CaloCellContainer *theCellContainer, const EventContext &ctx) const override
Definition: LArCellMaskingTool.cxx:150
LArCellMaskingTool::m_offlineID
const CaloCell_ID * m_offlineID
Definition: LArCellMaskingTool.h:43
IdentifierHash
Definition: IdentifierHash.h:38
checker_macros.h
Define macros for attributes used to control the static checker.
LArCellMaskingTool::m_mapInitialized
std::atomic< bool > m_mapInitialized
Definition: LArCellMaskingTool.h:50
LArCellMaskingTool::m_onlineID
const LArOnlineID * m_onlineID
Definition: LArCellMaskingTool.h:42
LArOnlineID.h
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20