28(
const std::string& name, ISvcLocator* pSvcLocator)
49 return StatusCode::SUCCESS;
67 return StatusCode::FAILURE;
74 if(!prd_to_track_map.
isValid()){
76 return StatusCode::FAILURE;
78 prd_to_track_map_cptr = prd_to_track_map.
cptr();
82 counter[
kNTrtSeg] = int(segments->size());
84 ATH_MSG_DEBUG (
"Begin looping over all TRT segments in the event");
101 if ( std::abs(sin(p(3))/p(4)) <
m_minPt*0.9 ) {
104 ATH_MSG_DEBUG (
"Segment pt = " << std::abs(sin(p(3))/p(4)) <<
" , fails pre-cut, drop it !");
120 bool is_toLower =
false;
135 ATH_MSG_DEBUG (
"Segment fails number of DC requirements, reject it");
140 ATH_MSG_DEBUG (
"Segment considered for further processing, enter into list");
147 ATH_MSG_DEBUG (
"Failed to make a track out of the TRT segment!");
153 if((
int)ttsos->
size()<10) {
169 std::unique_ptr<TrackCollection> final_tracks(
m_segToTrackTool->resolveTracks(prd_to_track_map.
cptr(),event_data));
171 ATH_MSG_WARNING (
"Could not save the reconstructed TRT seeded Si tracks!");
172 return StatusCode::FAILURE;
180 std::lock_guard<std::mutex> lock(m_statMutex);
182 m_total[idx]+=counter[idx];
189 return StatusCode::SUCCESS;
199 return StatusCode::SUCCESS;
215 out<<
"| counters |" << counter << std::endl;
227 const std::string::size_type max_width =65;
230 <<
"|----------------------------------------------------------------------"
231 <<
"-------------------|"<<std::endl;
232 out<<
"| Location of input tracks | "<<
m_Segments.key() << std::setw( max_width-
m_Segments.key().size())<<
" " <<
"|" <<std::endl;
233 out<<
"| Location of output tracks | "<<
m_finalTracks.key() << std::setw( max_width-
m_finalTracks.key().size()) <<
" " <<
"|" <<std::endl;
234 out<<
"|----------------------------------------------------------------------"
235 <<
"-------------------|";
246 <<
"|-------------------------------------------------------------------|" <<std::endl;
247 out<<
"| Investigated |" <<std::endl;
251 out<<
"|-------------------------------------------------------------------|" <<std::endl;
257 out<<
"|-------------------------------------------------------------------|";
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
An algorithm that can be simultaneously executed in multiple threads.
size_type size() const noexcept
Returns the number of elements in the collection.
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 &)
std::array< int, kNCounter > Counter_t
StatusCode execute(const EventContext &ctx) const
virtual ~TRT_StandaloneTrackFinder()
SG::ReadHandleKey< Trk::SegmentCollection > m_Segments
TRT segments to use.
MsgStream & dumpContainerNames(MsgStream &out) const
IntegerProperty m_minNumDriftCircles
@ 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.
MsgStream & dump(MsgStream &out) const
Print internal tool parameters and status.
BooleanProperty m_oldLogic
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.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const_pointer_type cptr()
Dereference the pointer.
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Base class for all TrackSegment implementations, extends the common MeasurementBase.
unsigned int numberOfMeasurementBases() const
Return the number of contained Trk::MeasurementBase (s)
Class for a generic track segment that holdes polymorphic Trk::MeasurementBase objects,...
const DataVector< const MeasurementBase > * measurementsOnTrack() const
return a pointer to a vector of MeasurementBase (NOT including any that come from outliers).
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)