ATLAS Offline Software
muonTrkTrackThinTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONTRKTRACKTHINTOOL_H
5 #define MUONTRKTRACKTHINTOOL_H
6 
7 // STL includes
8 #include <string>
9 #include <vector>
10 
11 // FrameWork includes
12 #include "GaudiKernel/ServiceHandle.h"
14 #include "GaudiKernel/ToolHandle.h"
18 #include "xAODMuon/MuonContainer.h"
19 
20 
22 
23  public:
25  muonTrkTrackThinTool( const std::string& name, ISvcLocator* pSvcLocator );
26 
28  virtual ~muonTrkTrackThinTool()=default;
29 
30  // Athena algorithm's Hooks
31  virtual StatusCode initialize() override;
32  virtual StatusCode execute(const EventContext& ctx) const override;
33  virtual StatusCode finalize() override;
34 
35 private:
36  mutable std::atomic<int> m_All{0};
37  mutable std::atomic<int> m_pass{0};
38  mutable std::atomic<int> m_trackAll{0};
39  mutable std::atomic<int> m_trackpass{0};
40 
41  StringProperty m_streamName
42  { this, "StreamName", "", "Name of the stream being thinned" };
44  { this, "TrackCollectionKey", "MuonSpectrometerTracks", "" };
45 
47  {this, "MuonReadKey", "Muons", "Key to retrieve the xAOD::MuonContainer"};
48 };
49 
50 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
muonTrkTrackThinTool
Definition: muonTrkTrackThinTool.h:21
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
muonTrkTrackThinTool::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: muonTrkTrackThinTool.cxx:54
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
muonTrkTrackThinTool::m_pass
std::atomic< int > m_pass
Definition: muonTrkTrackThinTool.h:37
muonTrkTrackThinTool::m_All
std::atomic< int > m_All
Definition: muonTrkTrackThinTool.h:36
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrackCollection.h
muonTrkTrackThinTool::initialize
virtual StatusCode initialize() override
Definition: muonTrkTrackThinTool.cxx:37
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
muonTrkTrackThinTool::m_trackCollKey
SG::ThinningHandleKey< TrackCollection > m_trackCollKey
Definition: muonTrkTrackThinTool.h:44
muonTrkTrackThinTool::m_trackAll
std::atomic< int > m_trackAll
Definition: muonTrkTrackThinTool.h:38
MuonContainer.h
muonTrkTrackThinTool::m_trackpass
std::atomic< int > m_trackpass
Definition: muonTrkTrackThinTool.h:39
muonTrkTrackThinTool::muonTrkTrackThinTool
muonTrkTrackThinTool(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters.
Definition: muonTrkTrackThinTool.cxx:33
muonTrkTrackThinTool::finalize
virtual StatusCode finalize() override
Definition: muonTrkTrackThinTool.cxx:45
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
muonTrkTrackThinTool::m_streamName
StringProperty m_streamName
Definition: muonTrkTrackThinTool.h:42
muonTrkTrackThinTool::m_muonReadKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonReadKey
Definition: muonTrkTrackThinTool.h:47
muonTrkTrackThinTool::~muonTrkTrackThinTool
virtual ~muonTrkTrackThinTool()=default
Destructor.