ATLAS Offline Software
Loading...
Searching...
No Matches
NewVrtSecInclusiveAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// NewVrtSecInclusiveAlg.h, (c) ATLAS Detector software
7// author: Vadim Kostyukhin (vadim.kostyukhin@cern.ch)
9
13
14#ifndef VKalVrt_NewVrtSecInclusiveAlg_H
15#define VKalVrt_NewVrtSecInclusiveAlg_H
16
17#include <string>
18#include <vector>
19
21#include "GaudiKernel/ToolHandle.h"
30
31
32namespace Rec {
33
35 public:
36
37 NewVrtSecInclusiveAlg( const std::string& name, ISvcLocator* pSvcLocator );
38
39 StatusCode initialize() override;
40 StatusCode execute(const EventContext &ctx) const override;
41 StatusCode finalize() override;
42
43 private:
44
45 SG::ReadHandleKey<xAOD::TrackParticleContainer> m_tpContainerKey{this,"TrackParticleContainer","InDetTrackParticles","Read TrackParticle container"};
46 SG::ReadHandleKey<xAOD::TrackParticleContainer> m_gsfContainerKey{this,"GSFTrackParticleContainer","GSFTrackParticles","Read GSFTrackParticle container"};
47 SG::ReadHandleKey<xAOD::MuonContainer> m_muonContainerKey{this,"MuonContainer","Muons","Read muon container"};
48 SG::ReadHandleKey<xAOD::ElectronContainer> m_electronContainerKey{this,"ElectronContainer","Electrons","Read electron container"};
49 SG::ReadHandleKey<xAOD::VertexContainer> m_pvContainerKey{this,"PrimaryVertexContainer","PrimaryVertices","Read PrimaryVertices container"};
50 SG::ReadHandleKey<xAOD::JetContainer> m_jetContainerKey{this,"JetContainer","AntiKt4EMPFlowJets","Read Jets container"};
51 SG::ReadHandleKey<xAOD::VertexContainer> m_btsvContainerKey{this,"BTagSVContainer","BTagging_AntiKt4EMPFlowSecVtx","Read BTagiingSV container"};
52
53 SG::WriteHandleKey<xAOD::VertexContainer> m_foundVerticesKey{this,"BVertexContainerName","AllBVertices","Found vertices container"};
54 ToolHandle < Rec::IVrtInclusive > m_bvertextool{this, "BVertexTool", "Rec::NewVrtSecInclusiveTool/SVTool"};
55
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"};
61
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;
66 bool vertexHasNoLep(const EventContext &, const xAOD::Vertex*) const;
67 };
68}
69
70#endif
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
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
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.
Gaudi Tools.
Vertex_v1 Vertex
Define the latest version of the vertex class.