ATLAS Offline Software
OfflineTrackQualitySelectionTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
7 namespace IDTPM {
8 
10  : asg::AsgTool( name ) {}
11 
14  ATH_CHECK( m_offlineTool.retrieve() );
15  return StatusCode::SUCCESS;
16 }
17 
19  TrackAnalysisCollections& trkAnaColls) {
20 
21  std::vector< const xAOD::TrackParticle* > selected;
22  for ( auto trkPtr: trkAnaColls.offlTrackVec(TrackAnalysisCollections::FS)) {
23  if ( m_offlineTool->accept(trkPtr)) // TODO vertex needs to be provided here
24  selected.push_back(trkPtr);
25  }
26  ATH_MSG_DEBUG("Out of " << trkAnaColls.offlTrackVec(TrackAnalysisCollections::FS).size() << " tracks, selected " << selected.size() );
28  return StatusCode::SUCCESS;
29 }
30 
32  TrackAnalysisCollections& /*trkAnaColls*/,
33  const ElementLink<TrigRoiDescriptorCollection>& /*roiLink*/) {
34  ATH_MSG_FATAL( "using selectTracksInRoI implementation for this tool is an invalid use case" );
35  return StatusCode::FAILURE;
36 }
37 
38 } // namespace IDTPM
IDTPM::OfflineTrackQualitySelectionTool::m_offlineTool
ToolHandle< InDet::IInDetTrackSelectionTool > m_offlineTool
Definition: OfflineTrackQualitySelectionTool.h:39
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
IDTPM::TrackAnalysisCollections
Definition: TrackAnalysisCollections.h:41
asg
Definition: DataHandleTestTool.h:28
TrackAnalysisCollections.h
Class to hold for each event collections needed in the TrkAnalsis.
IDTPM::OfflineTrackQualitySelectionTool::selectTracks
virtual StatusCode selectTracks(TrackAnalysisCollections &trkAnaColls) override
Definition: OfflineTrackQualitySelectionTool.cxx:18
IDTPM::TrackAnalysisCollections::fillOfflTrackVec
StatusCode fillOfflTrackVec(const std::vector< const xAOD::TrackParticle * > &vec, Stage stage=FULL)
Offline tracks.
Definition: TrackAnalysisCollections.cxx:256
IDTPM::OfflineTrackQualitySelectionTool::OfflineTrackQualitySelectionTool
OfflineTrackQualitySelectionTool(const std::string &name)
Definition: OfflineTrackQualitySelectionTool.cxx:9
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
IDTPM::TrackAnalysisCollections::FS
@ FS
Definition: TrackAnalysisCollections.h:49
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
IDTPM::TrackAnalysisCollections::offlTrackVec
const std::vector< const xAOD::TrackParticle * > & offlTrackVec(Stage stage=FULL)
Definition: TrackAnalysisCollections.h:152
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
OfflineTrackQualitySelectionTool.h
IDTPM::OfflineTrackQualitySelectionTool::selectTracksInRoI
virtual StatusCode selectTracksInRoI(TrackAnalysisCollections &trkAnaColls, const ElementLink< TrigRoiDescriptorCollection > &roiLink) override
Definition: OfflineTrackQualitySelectionTool.cxx:31
IDTPM
Athena include(s).
Definition: IPlotsDefinitionSvc.h:25
IDTPM::OfflineTrackQualitySelectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: OfflineTrackQualitySelectionTool.cxx:12
asg::AsgTool::initialize
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: AsgTool.h:133