1 #ifndef FWCore_Framework_GetterOfProducts_h 2 #define FWCore_Framework_GetterOfProducts_h 113 #include <functional> 120 template <
typename T>
125 template <
typename U,
typename M>
132 if (branchDescription.
dropped())
136 auto const& token =
matcher_(branchDescription);
137 if (not token.isUninitialized()) {
146 handles.reserve(
tokens_->size());
148 for (
auto const& token : *
tokens_) {
149 if (
auto handle = event.
getHandle(token)) {
150 handles.push_back(handle);
159 handles.reserve(
tokens_->size());
160 for (
auto const& token : *
tokens_) {
162 handles.push_back(
handle);
171 handles.reserve(
tokens_->size());
172 for (
auto const& token : *
tokens_) {
174 handles.push_back(
handle);
187 std::shared_ptr<std::vector<edm::EDGetTokenT<T>>>
tokens_;
std::vector< edm::EDGetTokenT< T > > const & tokens() const
void fillHandles(edm::LuminosityBlock const &lumi, std::vector< edm::Handle< T >> &handles) const
BranchType const & branchType() const
void fillHandles(edm::Event const &event, std::vector< edm::Handle< T >> &handles) const
std::shared_ptr< std::vector< edm::EDGetTokenT< T > > > tokens_
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
edm::BranchType branchType_
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
TypeID unwrappedTypeID() const
GetterOfProducts(U const &match, M *module, edm::BranchType branchType=edm::InEvent)
std::function< EDGetTokenT< T >BranchDescription const &)> matcher_
edm::BranchType branchType() const
void operator()(edm::BranchDescription const &branchDescription)
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
void fillHandles(edm::Run const &run, std::vector< edm::Handle< T >> &handles) const
std::string match(BranchDescription const &a, BranchDescription const &b, std::string const &fileName)