ATLAS Offline Software
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 #include "GaudiKernel/IPartPropSvc.h"
16 // Trk includes
22 
23 class AtlasDetectorID;
24 
25 namespace HepPDT{
26  class ParticleDataTable;
27 }
28 
29 namespace Trk {
30 
31  class Track;
32 
41  class TruthTrackBuilder : public AthAlgTool, virtual public ITruthTrackBuilder {
42 
43  public:
44  //** Constructor with parameters */
45  TruthTrackBuilder( const std::string& t, const std::string& n, const IInterface* p );
46 
47  // Athena algtool's Hooks
50 
52  Track* createTrack(const PRD_TruthTrajectory& prdTraj, SegmentCollection* segs = 0 ) const;
53 
54  private:
55  ToolHandle<ITrackFitter> m_trackFitter{this, "TrackFitter", ""};
56  ToolHandle<IExtrapolator> m_extrapolator{this, "ExtrapolationTool", ""};
57  ToolHandle< IRIO_OnTrackCreator > m_rotcreator{this, "RotCreatorTool", ""};
58  ToolHandle< IRIO_OnTrackCreator > m_rotcreatorbroad{this, "BroadRotCreatorTool", ""};
59 
62  const HepPDT::ParticleDataTable* m_particleDataTable;
63 
64  Gaudi::Property<size_t> m_minNdof{this, "MinDegreesOfFreedom", 6};
65  Gaudi::Property<bool> m_onlyPrimaries{this, "OnlyPrimaries", false};
66  Gaudi::Property<unsigned int> m_minSiHits{this, "MinSiHits", 7};
67  Gaudi::Property<unsigned int> m_minSiHitsForward{this, "MinSiHitsForward", 7};
68  Gaudi::Property<float> m_forwardBoundary{this, "ForwardBoundary", 2.5};
69 
70  Gaudi::Property<int> m_matEffects {this, "MatEffects", 3,
71  "Type of material interaction in extrapolation (Default Pion)"};
72  };
73 
74 } // end of namespace
75 
76 #endif // TRK_TRUTHTRACKTOOLS_TRUTHTRACKBUILDER_H
77 
Trk::TruthTrackBuilder::m_minSiHits
Gaudi::Property< unsigned int > m_minSiHits
min number of Si hits for refit
Definition: TruthTrackBuilder.h:66
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
ITruthTrackBuilder.h
Trk::TruthTrackBuilder::m_forwardBoundary
Gaudi::Property< float > m_forwardBoundary
Boundary eta value defining the forward region.
Definition: TruthTrackBuilder.h:68
IRIO_OnTrackCreator.h
Trk::TruthTrackBuilder::finalize
StatusCode finalize()
Definition: TruthTrackBuilder.cxx:89
IExtrapolator.h
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Trk::TruthTrackBuilder::m_onlyPrimaries
Gaudi::Property< bool > m_onlyPrimaries
restrict track creation to primaries
Definition: TruthTrackBuilder.h:65
Trk::TruthTrackBuilder::createTrack
Track * createTrack(const PRD_TruthTrajectory &prdTraj, SegmentCollection *segs=0) const
return a map of GenParticles to PRDs for further processing
Definition: TruthTrackBuilder.cxx:96
Trk::TruthTrackBuilder::m_extrapolator
ToolHandle< IExtrapolator > m_extrapolator
extrapolator
Definition: TruthTrackBuilder.h:56
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
Trk::TruthTrackBuilder::m_particlePropSvc
ServiceHandle< IPartPropSvc > m_particlePropSvc
Pointer to the particle properties svc *‍/
Definition: TruthTrackBuilder.h:61
Trk::TruthTrackBuilder::m_minSiHitsForward
Gaudi::Property< unsigned int > m_minSiHitsForward
min number of Si hits for refit in forward region (ITk specific)
Definition: TruthTrackBuilder.h:67
HepPDT
Definition: BeamHaloGenerator.h:13
DataVector< Trk::Segment >
ParticleHypothesis.h
Trk::PRD_TruthTrajectory
Definition: PRD_TruthTrajectory.h:27
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TruthTrackBuilder::m_minNdof
Gaudi::Property< size_t > m_minNdof
checks min degrees of freedom if bigger -1
Definition: TruthTrackBuilder.h:64
Trk::TruthTrackBuilder::m_particleDataTable
const HepPDT::ParticleDataTable * m_particleDataTable
ParticleDataTable needed to get connection pdg_code <-> charge *‍/.
Definition: TruthTrackBuilder.h:62
Trk::TruthTrackBuilder
Definition: TruthTrackBuilder.h:41
Trk::TruthTrackBuilder::TruthTrackBuilder
TruthTrackBuilder(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
Definition: TruthTrackBuilder.cxx:29
Trk::TruthTrackBuilder::m_DetID
const AtlasDetectorID * m_DetID
Definition: TruthTrackBuilder.h:60
Trk::TruthTrackBuilder::m_rotcreator
ToolHandle< IRIO_OnTrackCreator > m_rotcreator
Definition: TruthTrackBuilder.h:57
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::ITruthTrackBuilder
The interface for the truth track finder.
Definition: ITruthTrackBuilder.h:32
AthAlgTool
Definition: AthAlgTool.h:26
Trk::TruthTrackBuilder::m_trackFitter
ToolHandle< ITrackFitter > m_trackFitter
fits the PRDs
Definition: TruthTrackBuilder.h:55
Trk::TruthTrackBuilder::m_matEffects
Gaudi::Property< int > m_matEffects
Definition: TruthTrackBuilder.h:70
ITrackFitter.h
Trk::TruthTrackBuilder::initialize
StatusCode initialize()
Definition: TruthTrackBuilder.cxx:40
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
Trk::TruthTrackBuilder::m_rotcreatorbroad
ToolHandle< IRIO_OnTrackCreator > m_rotcreatorbroad
Definition: TruthTrackBuilder.h:58
ServiceHandle< IPartPropSvc >