37 return StatusCode::SUCCESS;
61 msg(MSG::FATAL)<<
"Input track collection \'"<<
m_inputCol<<
"\' not found in first "
63 msg(MSG::FATAL)<<
"Maximum allowed number of events without the track collection "
64 <<
"can be changed using the \'MaxRetrievalErrors\' option (-1 for infinite)."
66 return StatusCode::FAILURE;
69 return StatusCode::SUCCESS;
77 if(originalTracks->
empty())
78 return StatusCode::SUCCESS;
85 std::vector<TrackCollection *> alignTracks;
95 for ( ;it != it_end ; ++it, ++itrk) {
102 msg(MSG::FATAL)<<
"Track is not an AlignTrack. The code only works with TrackCollection"
103 <<
" filled with AlignTracks."<<
endmsg;
104 return StatusCode::FAILURE;
116 alignTracks[colIndex]->push_back(
new AlignTrack(*alignTrack));
126 if(!alignTracks[icol]->
empty()) {
129 delete alignTracks[icol];
135 delete alignTracks[icol];
140 return StatusCode::SUCCESS;
149 ATH_MSG_INFO(
"Track collections recorded in StoreGate:");
150 ATH_MSG_INFO(
"----------------------------------------------");
153 ATH_MSG_INFO(
"----------------------------------------------");
155 return StatusCode::SUCCESS;
162 return StatusCode::SUCCESS;
size_t size() const
Number of registered mappings.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
static const Attributes_t empty
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
ServiceHandle< StoreGateSvc > & evtStore()
DataModel_detail::const_iterator< DataVector > const_iterator
Standard const_iterator.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.
IntegerProperty m_maxRetrievalErrors
int m_ntracks
number of processed tracks
virtual StatusCode execute(const EventContext &ctx)
loops over tracks in event, and accumulates information necessary for alignmnet
StringProperty m_outColPrefix
virtual StatusCode stop()
stop method
virtual ~AlignTrackCollSplitter()
destructor
std::vector< int > m_trackTypeCounter
counter for different types of tracks
int m_nRetrievalErrors
number of retrieval errors at the beginning of the job
virtual StatusCode finalize()
finalize method
virtual StatusCode initialize()
initialize method
AlignTrackCollSplitter(const std::string &name, ISvcLocator *pSvcLocator)
constructor
std::vector< std::string > m_outColNames
Names of output track collections.
StringProperty m_inputCol
int m_nevents
number of processed events
@ NTrackTypes
total number of track types
AlignTrackType type() const
get and set the refit type
bool contains(const std::string &s, const std::string ®x)
does a string contain the substring
Ensure that the ATLAS eigen extensions are properly loaded.
std::string dumpAlignTrackType(const AlignTrack::AlignTrackType type)