ATLAS Offline Software
CollisionFilterAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef PrimaryDPDMaker_CollisionFilterAlg_H
6 #define PrimaryDPDMaker_CollisionFilterAlg_H
7 
8 
11 
12 
15 #include "GaudiKernel/ToolHandle.h"
16 
18 
19 
21 {
22  public:
23  CollisionFilterAlg( const std::string& name, ISvcLocator* pSvcLocator );
24  virtual ~CollisionFilterAlg()=default;
25 
26  virtual StatusCode initialize() override ;
27  virtual StatusCode execute(const EventContext& ctx) const override;
28  virtual StatusCode finalize() override;
29 
30  private:
31 
32  ToolHandle<ICaloTimeFilterTool> m_calofilter;
33  ToolHandle<IMBTSTimeFilterTool> m_mbtsfilter;
34 
35  SG::ReadHandleKey<TileCellContainer> m_MBTS_key{this, "MBTSContainerKey", "MBTSContainer", ""};
36  SG::ReadHandleKey<LArCollisionTime> m_LArTimeKey{this, "LARCollisionTimeKey","LArCollisionTime" , "" };
37 
38 
39  Gaudi::Property<unsigned int> m_prescale{this, "CounterPrescale", 1000};
40  Gaudi::Property<bool> m_doCaloTimeFilter{this, "DoCaloTimeFilter" , true};
41  Gaudi::Property<bool> m_doMBTSTimeFilter{this, "DoMBTSTimeFilter" , true};
42 
43 
44  mutable std::atomic<unsigned int> m_counter{0};
45 
46  mutable std::atomic<unsigned int> m_caloaccept{0};
47  mutable std::atomic<unsigned int> m_mbtsaccept{0};
48  mutable std::atomic<unsigned int> m_overlap{0};
49 
50 };
51 
52 #endif // PrimaryDPDMaker_CollisionFilterAlg_H
53 
CollisionFilterAlg::m_calofilter
ToolHandle< ICaloTimeFilterTool > m_calofilter
Definition: CollisionFilterAlg.h:32
CollisionFilterAlg
Definition: CollisionFilterAlg.h:21
CollisionFilterAlg::m_mbtsfilter
ToolHandle< IMBTSTimeFilterTool > m_mbtsfilter
Definition: CollisionFilterAlg.h:33
CollisionFilterAlg::m_prescale
Gaudi::Property< unsigned int > m_prescale
Definition: CollisionFilterAlg.h:39
CollisionFilterAlg::CollisionFilterAlg
CollisionFilterAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: CollisionFilterAlg.cxx:11
CollisionFilterAlg::m_doMBTSTimeFilter
Gaudi::Property< bool > m_doMBTSTimeFilter
Definition: CollisionFilterAlg.h:41
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
CollisionFilterAlg::m_caloaccept
std::atomic< unsigned int > m_caloaccept
Definition: CollisionFilterAlg.h:46
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
IMBTSTimeFilterTool.h
CollisionFilterAlg::m_MBTS_key
SG::ReadHandleKey< TileCellContainer > m_MBTS_key
Definition: CollisionFilterAlg.h:35
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CollisionFilterAlg::finalize
virtual StatusCode finalize() override
Definition: CollisionFilterAlg.cxx:109
CollisionFilterAlg::~CollisionFilterAlg
virtual ~CollisionFilterAlg()=default
CollisionFilterAlg::m_overlap
std::atomic< unsigned int > m_overlap
Definition: CollisionFilterAlg.h:48
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CollisionFilterAlg::m_counter
std::atomic< unsigned int > m_counter
Definition: CollisionFilterAlg.h:44
CollisionFilterAlg::m_LArTimeKey
SG::ReadHandleKey< LArCollisionTime > m_LArTimeKey
Definition: CollisionFilterAlg.h:36
CollisionFilterAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: CollisionFilterAlg.cxx:42
CollisionFilterAlg::m_doCaloTimeFilter
Gaudi::Property< bool > m_doCaloTimeFilter
Definition: CollisionFilterAlg.h:40
CollisionFilterAlg::initialize
virtual StatusCode initialize() override
Definition: CollisionFilterAlg.cxx:19
ICaloTimeFilterTool.h
AthFilterAlgorithm.h
CollisionFilterAlg::m_mbtsaccept
std::atomic< unsigned int > m_mbtsaccept
Definition: CollisionFilterAlg.h:47