ATLAS Offline Software
Loading...
Searching...
No Matches
TruthTrackBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TruthTrackBuilder.h, (c) ATLAS Detector software
8
9#ifndef TRK_TRUTHTRACKTOOLS_TRUTHTRACKBUILDER_H
10#define TRK_TRUTHTRACKTOOLS_TRUTHTRACKBUILDER_H 1
11
12// Gaudi
14#include "GaudiKernel/ToolHandle.h"
15// Trk includes
21
22class AtlasDetectorID;
23
24
25namespace Trk {
26
27 class Track;
28
36
37 class TruthTrackBuilder : public AthAlgTool, virtual public ITruthTrackBuilder {
38
39 public:
40 //** Constructor with parameters */
41 TruthTrackBuilder( const std::string& t, const std::string& n, const IInterface* p );
42
43 // Athena algtool's Hooks
44 StatusCode initialize();
45 StatusCode finalize();
46
48 Track* createTrack(const PRD_TruthTrajectory& prdTraj, SegmentCollection* segs = 0 ) const;
49
50 private:
51 ToolHandle<ITrackFitter> m_trackFitter{this, "TrackFitter", ""};
52 ToolHandle<IExtrapolator> m_extrapolator{this, "ExtrapolationTool", ""};
53 ToolHandle< IRIO_OnTrackCreator > m_rotcreator{this, "RotCreatorTool", ""};
54 ToolHandle< IRIO_OnTrackCreator > m_rotcreatorbroad{this, "BroadRotCreatorTool", ""};
55
57
58 Gaudi::Property<size_t> m_minNdof{this, "MinDegreesOfFreedom", 6};
59 Gaudi::Property<bool> m_onlyPrimaries{this, "OnlyPrimaries", false};
60 Gaudi::Property<unsigned int> m_minSiHits{this, "MinSiHits", 7};
61 Gaudi::Property<unsigned int> m_minSiHitsForward{this, "MinSiHitsForward", 7};
62 Gaudi::Property<float> m_forwardBoundary{this, "ForwardBoundary", 2.5};
63
64 Gaudi::Property<int> m_matEffects {this, "MatEffects", 3,
65 "Type of material interaction in extrapolation (Default Pion)"};
66 };
67
68} // end of namespace
69
70#endif // TRK_TRUTHTRACKTOOLS_TRUTHTRACKBUILDER_H
71
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
The interface for the truth track finder.
ToolHandle< IRIO_OnTrackCreator > m_rotcreator
Gaudi::Property< unsigned int > m_minSiHits
min number of Si hits for refit
Gaudi::Property< float > m_forwardBoundary
Boundary eta value defining the forward region.
Gaudi::Property< unsigned int > m_minSiHitsForward
min number of Si hits for refit in forward region (ITk specific)
const AtlasDetectorID * m_DetID
TruthTrackBuilder(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
Track * createTrack(const PRD_TruthTrajectory &prdTraj, SegmentCollection *segs=0) const
return a map of GenParticles to PRDs for further processing
Gaudi::Property< size_t > m_minNdof
checks min degrees of freedom if bigger -1
Gaudi::Property< bool > m_onlyPrimaries
restrict track creation to primaries
ToolHandle< ITrackFitter > m_trackFitter
fits the PRDs
Gaudi::Property< int > m_matEffects
ToolHandle< IRIO_OnTrackCreator > m_rotcreatorbroad
ToolHandle< IExtrapolator > m_extrapolator
extrapolator
Ensure that the ATLAS eigen extensions are properly loaded.
DataVector< Trk::Segment > SegmentCollection
simple definitiion of a PRD_TruhtTrajectory