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
13
16
17namespace Trk
18{
19 // @author N. Giacinto Piacquadio (Albert-Ludwigs-Universitaet Freiburg - Germany)
20 //
21 // @ATLAS software
22 //
23 // This class implements a dummy seed finder
24 //
25 // -----------------------------------------
26 // Changes:
27 //
28 // David Shope <david.richard.shope@cern.ch> (2016-04-19)
29 //
30 // EDM Migration to xAOD - from Trk::VxCandidate to xAOD::Vertex,
31 // from Trk::RecVertex to xAOD::Vertex,
32 // from Trk::Vertex to Amg::Vector3D
33
34 class MCTrueSeedFinder final: public extends<AthAlgTool, IVertexSeedFinder>
35 {
36 public:
37 // Standard Gaudi constructor.
38 MCTrueSeedFinder (const std::string& t,
39 const std::string& n,
40 const IInterface* p);
41
42
44
45
46 virtual StatusCode initialize() override;
47
48
50
51
57 virtual Amg::Vector3D
58 findSeed (const std::vector<const Trk::Track*> & vectorTrk,
59 const xAOD::Vertex * constraint=0) const override final;
60
61
67 virtual Amg::Vector3D
68 findSeed (const std::vector<const Trk::TrackParameters*> & perigeeList,
69 const xAOD::Vertex * constraint=0) const override final;
70
71
77 virtual std::vector<Amg::Vector3D>
79 const xAOD::Vertex * constraint=0) const override final;
80
81
88 virtual std::vector<Amg::Vector3D>
90 const xAOD::Vertex * constraint=0) const override final;
91
92
93 private:
95 this,
96 "McTruthCollection",
97 "G4Truth",
98 "MC Event Collection Name"
99 };
100
101 //Implement directly pass methods from GenObjectsFilterTool until better sol'n is found
104
106 bool pass( const HepMC::GenEvent* evt,
107 const McEventCollection* coll = 0 ) const;
109 bool pass( const HepMC::ConstGenParticlePtr& part,
110 const McEventCollection* coll = 0 ) const;
111
112 StatusCode retrieveInteractionsInfo (std::vector<Amg::Vector3D>& interactions) const;
113 };
114}
115#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 ...
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
HepMC3::ConstGenParticlePtr ConstGenParticlePtr
Definition GenParticle.h:20
HepMC3::GenEvent GenEvent
Definition GenEvent.h:39
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
Definition testRead.cxx:27