13 #include "GaudiKernel/ThreadLocalContext.h"
20 const IInterface*
p ) :
22 m_selectionString(
""),
37 if (m_selectionString.empty()) {
39 return StatusCode::FAILURE;
40 }
else {
ATH_MSG_INFO(
"Selection string: " << m_selectionString);}
43 if (!m_selectionString.empty()) {
44 ATH_CHECK(initializeParser( m_selectionString) );
48 ATH_CHECK( m_SGKey.initialize (m_streamName) );
49 ATH_MSG_INFO(
"Using " << m_SGKey <<
"as the source collection");
51 return StatusCode::SUCCESS;
57 ATH_MSG_INFO(
"Processed "<< m_ntot <<
" objects, "<< m_npass<<
" were retained ");
59 return StatusCode::SUCCESS;
65 const EventContext& ctx = Gaudi::Hive::currentContext();
71 unsigned int nObjects =
particles->size();
72 if (nObjects==0)
return StatusCode::SUCCESS;
75 std::vector<bool>
mask;
76 mask.assign(nObjects,
false);
81 std::vector<int>
entries = m_parser->evaluateAsVector();
85 ATH_MSG_ERROR(
"Sizes incompatible! Are you sure your selection string used the same collection as the input collection??");
86 return StatusCode::FAILURE;
98 return StatusCode::SUCCESS;