ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_StandaloneTrackFinder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5/**********************************************************************************
6 Header file for class TRT_StandaloneTrackFinder
7 (c) ATLAS Detector software
8 Algorithm for Trk::Track production in TRT only
9 Version 1.0: 09/28/2007
10 Authors : Thomas Koffas, Markus Elsing
11 email : Thomas.Koffas@cern.ch
12**********************************************************************************/
13
14#ifndef TRT_StandaloneTrackFinder_H
15#define TRT_StandaloneTrackFinder_H
16
17#include <array>
18#include <string>
19#include <mutex>
20
22#include "GaudiKernel/ToolHandle.h"
23
28
33
34#include "GaudiKernel/SystemOfUnits.h"
35
36namespace InDet {
37
45
47
49 {
50
52 // Public methods:
54
55 public:
56
58
60
61 TRT_StandaloneTrackFinder(const std::string &name, ISvcLocator *pSvcLocator);
63 StatusCode initialize();
64 StatusCode execute(const EventContext& ctx) const;
65 StatusCode finalize();
66
68
70
71 MsgStream& dump(MsgStream& out) const;
72
73 private:
74
76 /* Private data */
78
79
80 IntegerProperty m_minNumDriftCircles
81 {this, "MinNumDriftCircles", 15,
82 "Minimum number of drift circles for TRT segment tracks"};
83 DoubleProperty m_minPt
84 {this, "MinPt", 1.0 * Gaudi::Units::GeV,
85 "Minimum pt cut for TRT only (used in preselection * 0.9)"};
86 BooleanProperty m_oldLogic
87 {this, "OldTransitionLogic", true,
88 "use old transition region hit logic "};
89
90 ToolHandle< ITRT_SegmentToTrackTool > m_segToTrackTool
91 {this,"TRT_SegToTrackTool","InDet::TRT_SegmentToTrackTool"};
92
94 {this , "InputSegmentsLocation","TRTSegments"};
97
101 {this,"OutputTracksLocation","TRTStandaloneTracks"};
102
104
114
115 typedef std::array<int,kNCounter> Counter_t;
116
117 mutable std::mutex m_statMutex ATLAS_THREAD_SAFE;
118 mutable Counter_t m_total ATLAS_THREAD_SAFE {};
119 MsgStream& dumpContainerNames(MsgStream& out) const;
120 static MsgStream& dumpevent(MsgStream&, const InDet::TRT_StandaloneTrackFinder::Counter_t&);
121 friend MsgStream& operator<< (MsgStream&, const InDet::TRT_StandaloneTrackFinder::Counter_t&);
122 };
123
125
126}
127
128
129MsgStream& operator<< (MsgStream&, const InDet::TRT_StandaloneTrackFinder&);
130
131#endif // TRT_StandaloneTrackFinder_H
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.
MsgStream & operator<<(MsgStream &, const InDet::TRT_StandaloneTrackFinder &)
An algorithm that can be simultaneously executed in multiple threads.
InDet::TRT_StandaloneTrackFinde is an algorithm which produces tracks from stand-alone TRT segments w...
static MsgStream & dumpevent(MsgStream &, const InDet::TRT_StandaloneTrackFinder::Counter_t &)
StatusCode execute(const EventContext &ctx) const
SG::ReadHandleKey< Trk::SegmentCollection > m_Segments
TRT segments to use.
MsgStream & dumpContainerNames(MsgStream &out) const
ECounter
Global Counters for final algorithm statistics.
@ kNUsedSeg
Number of TRT segments excluded at input (by BackTracking tracks)
@ kNSegFailed
Number of segments failing to translate to a track (inclusing refit)
@ kNTrtSeg
Number of input TRT segments to be investigated per event.
@ kNTRTTrkTotal
Number of TRT-only tracks on output.
@ kNRejectedSeg
Number of segments rejected in selection at input.
@ kNTrkSegUsedTotal
Number of excluded segments by other TRT segments.
@ kNTrkScoreZeroTotal
Number of tracks rejected by score zero.
@ kNTrtSegGood
Number of input TRT segments after cuts per event.
SG::WriteHandleKey< TrackCollection > m_finalTracks
Tracks that will be passed out of AmbiProcessor.
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
map between PRDs and tracks to identify shared hits.
ToolHandle< ITRT_SegmentToTrackTool > m_segToTrackTool
Segment to track tool.
TRT_StandaloneTrackFinder(const std::string &name, ISvcLocator *pSvcLocator)
Standard Algotithm methods.
friend MsgStream & operator<<(MsgStream &, const InDet::TRT_StandaloneTrackFinder::Counter_t &)
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.
Primary Vertex Finder.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
-event-from-file