11#include "GaudiKernel/ISvcLocator.h"
12#include "GaudiKernel/Service.h"
27 const std::string& name ) :
44 return StatusCode::SUCCESS;
54 const std::string& chain,
56 const std::string& roiStr )
const
60 if( not wh.key().ends_with(
m_anaTag.value() ) ) {
61 ATH_MSG_ERROR(
"Invalid TrkAnaInfo container name: " << wh.key() );
62 return StatusCode::FAILURE;
76 wh->push_back( std::make_unique< SG::AuxElement >() );
80 chainAcc( *(wh->back()) ) = chain;
81 roiIdxAcc( *(wh->back()) ) = roiIdx;
82 roiStrAcc( *(wh->back()) ) = roiStr;
96 testTracksAcc( *(wh->back()) ) = std::get<0>( matchInfo );
97 refTruthsAcc( *(wh->back()) ) = std::get<1>( matchInfo );
98 matchDistsAcc( *(wh->back()) ) = std::get<2>( matchInfo );
110 testTruthsAcc( *(wh->back()) ) = std::get<0>( matchInfo );
111 refTracksAcc( *(wh->back()) ) = std::get<1>( matchInfo );
112 matchDistsAcc( *(wh->back()) ) = std::get<2>( matchInfo );
124 testTracksAcc( *(wh->back()) ) = std::get<0>( matchInfo );
125 refTracksAcc( *(wh->back()) ) = std::get<1>( matchInfo );
126 matchDistsAcc( *(wh->back()) ) = std::get<2>( matchInfo );
129 return StatusCode::SUCCESS;
139 if( not wh.isValid() ) {
153 std::stringstream
ss;
157 for(
size_t icr=0; icr<wh->size(); icr++ ) {
158 std::string chain = chainCAcc.
isAvailable( *(wh->at(icr)) ) ?
159 chainCAcc( *(wh->at(icr)) ) :
"Offline";
160 std::string roiIdx = roiIdxCAcc.
isAvailable( *(wh->at(icr)) ) ?
161 std::to_string( roiIdxCAcc( *(wh->at(icr)) ) ) :
"N/A";
162 std::string roiStr = roiStrCAcc.
isAvailable( *(wh->at(icr)) ) ?
163 roiStrCAcc( *(wh->at(icr)) ) :
"N/A";
165 ss <<
"\t\tChain : " << chain <<
"\n";
166 ss <<
"\t\tRoI ( " << roiIdx <<
" ) : " << roiStr <<
"\n";
167 ss <<
"\t\tMatch Info (pT) : " <<
"\n";
172 testTracksCAcc( *(wh->at(icr)) ),
173 refTruthsCAcc( *(wh->at(icr)) ),
174 matchDistsCAcc( *(wh->at(icr)) ) );
179 testTruthsCAcc( *(wh->at(icr)) ),
180 refTracksCAcc( *(wh->at(icr)) ),
181 matchDistsCAcc( *(wh->at(icr)) ) );
186 testTracksCAcc( *(wh->at(icr)) ),
187 refTracksCAcc( *(wh->at(icr)) ),
188 matchDistsCAcc( *(wh->at(icr)) ) );
#define ATH_CHECK
Evaluate an expression and check for errors.
Class to hold for each event collections needed in the TrkAnalsis.
Look-up table (templated) class to store (internally to IDTPM) all the matches between test and refer...
const std::vector< const xAOD::TruthParticle * > & testTruthVec(Stage stage=FULL)
get TEST track vectors
const xAOD::TrackParticleContainer * refTrackContainer()
REFERENCE = Track.
const xAOD::TruthParticleContainer * testTruthContainer()
get full TEST track containers
ITrackMatchingLookup & matches()
get track matching information
const xAOD::TruthParticleContainer * refTruthContainer()
get full REFERENCE track containers
const xAOD::TrackParticleContainer * testTrackContainer()
TEST = Track.
const std::vector< const xAOD::TrackParticle * > & testTrackVec(Stage stage=FULL)
TEST = Track.
const std::vector< const xAOD::TruthParticle * > & refTruthVec(Stage stage=FULL)
get REFERENCE track vectors
const std::vector< const xAOD::TrackParticle * > & refTrackVec(Stage stage=FULL)
TEST = Track.
Helper class to provide type-safe access to aux data.
Helper class to provide constant type-safe access to aux data.
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
std::tuple< VecEL_t< Tcoll_t >, VecEL_t< Rcoll_t >, VecF_t > MatchInfo_t