14#ifndef VKalVrt_NewVrtSecInclusiveAlg_H
15#define VKalVrt_NewVrtSecInclusiveAlg_H
21#include "GaudiKernel/ToolHandle.h"
40 StatusCode
execute(
const EventContext &ctx)
const override;
54 ToolHandle < Rec::IVrtInclusive >
m_bvertextool{
this,
"BVertexTool",
"Rec::NewVrtSecInclusiveTool/SVTool"};
56 Gaudi::Property<bool>
m_addIDTracks{
this,
"AddIDTracks",
true,
"Set to true if you want to add ID tracks to the pool"};
57 Gaudi::Property<bool>
m_addGSFTracks{
this,
"AddGSFTracks",
false,
"Set to true if you want to add GSF tracks to the pool"};
58 Gaudi::Property<bool>
m_addMuonTracks{
this,
"AddMuonTracks",
false,
"Set to true if you want to add ID tracks from muons to the pool"};
59 Gaudi::Property<bool>
m_addElectronTracks{
this,
"AddElectronTracks",
false,
"Set to true if you want to add GSF tracks from electrons to the pool"};
60 Gaudi::Property<bool>
m_removeNonLepVerts{
this,
"RemoveNonLepVertices",
false,
"Set to true if you want to remove vertices with no associated lepton tracks"};
62 void addInDetTracks(
const EventContext &, std::unordered_set<const xAOD::TrackParticle*>&)
const;
63 void addGSFTracks(
const EventContext &, std::unordered_set<const xAOD::TrackParticle*>&)
const;
64 void addMuonTracks(
const EventContext &, std::unordered_set<const xAOD::TrackParticle*>&)
const;
65 void addElectronTracks(
const EventContext &, std::unordered_set<const xAOD::TrackParticle*>&)
const;
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< bool > m_addElectronTracks
Gaudi::Property< bool > m_addGSFTracks
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_tpContainerKey
ToolHandle< Rec::IVrtInclusive > m_bvertextool
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronContainerKey
bool vertexHasNoLep(const EventContext &, const xAOD::Vertex *) const
StatusCode initialize() override
SG::ReadHandleKey< xAOD::JetContainer > m_jetContainerKey
void addGSFTracks(const EventContext &, std::unordered_set< const xAOD::TrackParticle * > &) const
Gaudi::Property< bool > m_removeNonLepVerts
Gaudi::Property< bool > m_addIDTracks
NewVrtSecInclusiveAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_gsfContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_pvContainerKey
void addElectronTracks(const EventContext &, std::unordered_set< const xAOD::TrackParticle * > &) const
void addMuonTracks(const EventContext &, std::unordered_set< const xAOD::TrackParticle * > &) const
void addInDetTracks(const EventContext &, std::unordered_set< const xAOD::TrackParticle * > &) const
SG::WriteHandleKey< xAOD::VertexContainer > m_foundVerticesKey
StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< bool > m_addMuonTracks
StatusCode finalize() override
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_btsvContainerKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Vertex_v1 Vertex
Define the latest version of the vertex class.