21 const std::string& name,
22 const IInterface* parent):
23 base_class(
type, name, parent) { }
33 for (
const std::string& key :
m_keys) {
43 return StatusCode::SUCCESS;
52 auto format = std::make_unique< xAOD::EventFormat >();
56 return StatusCode::SUCCESS;
64 return StatusCode::SUCCESS;
70 std::vector< std::string > keys =
m_keys;
77 keys.begin(), keys.end(),
78 [
this](std::string& key) {
79 return !m_inputMetaStore->contains<xAOD::EventFormat>(key);
86 if (keys.empty())
return StatusCode::SUCCESS;
89 for (
const std::string& key : keys) {
90 std::list<SG::ObjectWithVersion<xAOD::EventFormat> > allVersions;
94 << key <<
"\" from InputMetaDataStore");
101 auto ef = std::make_unique<xAOD::EventFormat>();
105 << key <<
"\" in MetaDataSvc");
111 for (
auto& version : allVersions) {
112 const auto* input = version.dataObject.cptr();
114 for (
const auto&
pair : *input) {
115 if (!output->exists(
pair.second.hash())) {
116 output->add(
pair.second);
123 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
Helpers for checking error return status codes and reporting errors.
DataModel_detail::iterator< DVL > remove_if(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end, Predicate pred)
Specialization of remove_if for DataVector/List.
EventFormat_v1 EventFormat
Definition of the current event format version.