ATLAS Offline Software
Loading...
Searching...
No Matches
ThinTrkTrackAlg.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef THINNINGUTILS_ThinTrkTrackAlg_H
8#define THINNINGUTILS_ThinTrkTrackAlg_H
12// STL includes
13#include <string>
14
15// FrameWork includes
17#include "GaudiKernel/ServiceHandle.h"
18#include "GaudiKernel/ToolHandle.h"
19
28
30{
31public:
32 using AthReentrantAlgorithm::AthReentrantAlgorithm;
34 virtual StatusCode initialize() override final;
35
37 virtual StatusCode execute(const EventContext& ctx) const override final;
38
39private:
41 StatusCode doEGamma(const EventContext& ctx) const;
42 StatusCode doMuons(const EventContext& ctx) const;
43
44 StringProperty m_streamName{ this,
45 "StreamName",
46 "",
47 "Name of the stream being thinned" };
48
52 this,
53 "MuonsKey",
54 "Muons",
55 "StoreGate key for muons container"
56 };
57
59 this,
60 "ElectronsKey",
61 "Electrons",
62 "StoreGate key for electrons container"
63 };
64
66 this,
67 "PhotonsKey",
68 "Photons",
69 "StoreGate key for photon container"
70 };
71
74 this,
75 "CombinedMuonsTrackKey",
76 "CombinedMuonTracks",
77 "StoreGate key for combined muons Trk::Track container"
78 };
79
81 this,
82 "GSFTrackKey",
83 "GSFTracks",
84 "StoreGate key for GSF Trk::Track container"
85 };
86
87 Gaudi::Property<bool> m_doElectrons{ this, "doElectrons", true };
88 Gaudi::Property<bool> m_doPhotons{ this, "doPhotons", true };
89 Gaudi::Property<bool> m_doMuons{ this, "doMuons", true };
90 Gaudi::Property<bool> m_bestonlyElectrons{ this, "OnlyBestElectrons", true };
91 Gaudi::Property<bool> m_bestonlyPhotons{ this, "OnlyBestPhotons", true };
92 Gaudi::Property<double> m_minptElectrons{ this, "minptElectrons", 4000. };
93 Gaudi::Property<double> m_minptPhotons{ this, "minptPhotons", 4000. };
94 Gaudi::Property<double> m_minptMuons{ this, "minptMuons", 4000. };
95};
96
97#endif
HandleKey object for adding thinning to an object.
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
HandleKey object for adding thinning to an object.
Gaudi::Property< bool > m_doMuons
SG::ReadHandleKey< xAOD::PhotonContainer > m_photonsKey
Gaudi::Property< double > m_minptMuons
Gaudi::Property< bool > m_bestonlyPhotons
SG::ThinningHandleKey< TrackCollection > m_GSFTracksKey
StatusCode doEGamma(const EventContext &ctx) const
Inline method.
Gaudi::Property< bool > m_bestonlyElectrons
virtual StatusCode initialize() override final
Athena algorithm's initalize hook.
StringProperty m_streamName
StatusCode doMuons(const EventContext &ctx) const
Gaudi::Property< double > m_minptPhotons
SG::ReadHandleKey< xAOD::MuonContainer > m_muonsKey
Should the thinning run?
virtual StatusCode execute(const EventContext &ctx) const override final
Athena algorithm's execute hook.
Gaudi::Property< double > m_minptElectrons
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronsKey
Gaudi::Property< bool > m_doElectrons
Gaudi::Property< bool > m_doPhotons
SG::ThinningHandleKey< TrackCollection > m_CombinedMuonsTracksKey
Containers to thin.