ATLAS Offline Software
Loading...
Searching...
No Matches
MCTrueSeedFinder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKVERTEXSEEDFINDERTOOLS_MCTRUESEEDFINDER_H
6#define TRKVERTEXSEEDFINDERTOOLS_MCTRUESEEDFINDER_H
7
12
13class IPartPropSvc;
14
17
18namespace Trk
19{
20 // @author N. Giacinto Piacquadio (Albert-Ludwigs-Universitaet Freiburg - Germany)
21 //
22 // @ATLAS software
23 //
24 // This class implements a dummy seed finder
25 //
26 // -----------------------------------------
27 // Changes:
28 //
29 // David Shope <david.richard.shope@cern.ch> (2016-04-19)
30 //
31 // EDM Migration to xAOD - from Trk::VxCandidate to xAOD::Vertex,
32 // from Trk::RecVertex to xAOD::Vertex,
33 // from Trk::Vertex to Amg::Vector3D
34
35 class MCTrueSeedFinder final: public extends<AthAlgTool, IVertexSeedFinder>
36 {
37 public:
38 // Standard Gaudi constructor.
39 MCTrueSeedFinder (const std::string& t,
40 const std::string& n,
41 const IInterface* p);
42
43
45
46
47 virtual StatusCode initialize() override;
48
49
51
52
58 virtual Amg::Vector3D
59 findSeed (const std::vector<const Trk::Track*> & vectorTrk,
60 const xAOD::Vertex * constraint=0) const override final;
61
62
68 virtual Amg::Vector3D
69 findSeed (const std::vector<const Trk::TrackParameters*> & perigeeList,
70 const xAOD::Vertex * constraint=0) const override final;
71
72
78 virtual std::vector<Amg::Vector3D>
80 const xAOD::Vertex * constraint=0) const override final;
81
82
89 virtual std::vector<Amg::Vector3D>
91 const xAOD::Vertex * constraint=0) const override final;
92
93
94 private:
96 this,
97 "McTruthCollection",
98 "G4Truth",
99 "MC Event Collection Name"
100 };
101
104
105 //Implement directly pass methods from GenObjectsFilterTool until better sol'n is found
108
110 bool pass( const HepMC::GenEvent* evt,
111 const McEventCollection* coll = 0 ) const;
113 bool pass( const HepMC::ConstGenParticlePtr& part,
114 const McEventCollection* coll = 0 ) const;
115
116 StatusCode retrieveInteractionsInfo (std::vector<Amg::Vector3D>& interactions) const;
117 };
118}
119#endif
Eigen::Matrix< double, 3, 1 > Vector3D
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
virtual Amg::Vector3D findSeed(const std::vector< const Trk::Track * > &vectorTrk, const xAOD::Vertex *constraint=0) const =0
Finds a linearization point out of a vector of tracks and returns it as an Amg::Vector3D object.
bool m_removeHardScattering
Flag to consider hard-scattering interaction.
MCTrueSeedFinder(const std::string &t, const std::string &n, const IInterface *p)
StatusCode retrieveInteractionsInfo(std::vector< Amg::Vector3D > &interactions) const
bool pass(const HepMC::GenEvent *evt, const McEventCollection *coll=0) const
Function selecting GenEvent objects.
virtual ~MCTrueSeedFinder()
virtual std::vector< Amg::Vector3D > findMultiSeeds(const std::vector< const Trk::Track * > &vectorTrk, const xAOD::Vertex *constraint=0) const override final
Finds full vector of linearization points from a vector of tracks and returns it as an Amg::Vector3D ...
ServiceHandle< IPartPropSvc > m_partPropSvc
Get particle properties.
bool m_removeInTimePileUp
Flag to consider in-time pile-up interactions.
SG::ReadHandleKey< McEventCollection > m_mcEventCollectionKey
virtual StatusCode initialize() override
virtual Amg::Vector3D findSeed(const std::vector< const Trk::Track * > &vectorTrk, const xAOD::Vertex *constraint=0) const override final
Finds a linearization point out of a vector of tracks and returns it as an Amg::Vector3D object.
This class is a simplest representation of a vertex candidate.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 3, 1 > Vector3D
const GenParticle * ConstGenParticlePtr
Definition GenParticle.h:38
Forward declaration.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Vertex_v1 Vertex
Define the latest version of the vertex class.
#define private