1 #ifndef DataFormats_FWLite_MultiChainEvent_h 2 #define DataFormats_FWLite_MultiChainEvent_h 34 class ProductRegistry;
36 class BranchDescription;
47 class MultiProductGetter;
57 std::vector<std::string>
const& iFileNames2,
58 bool useSecFileMapSorted =
false);
64 bool to(Long64_t iIndex);
89 bool getByLabel(std::type_info
const&,
char const*,
char const*,
char const*,
void*)
const override;
93 operator bool()
const;
94 bool atEnd()
const override;
96 Long64_t
size()
const;
133 unsigned int key)
const;
136 std::vector<edm::WrapperBase const*>& foundContainers,
137 std::vector<unsigned int>&
keys)
const;
151 bool toSec(Long64_t iIndex);
162 std::shared_ptr<internal::MultiProductGetter const>
getter_;
std::optional< std::tuple< edm::WrapperBase const *, unsigned int > > getThinnedProduct(edm::ProductID const &pid, unsigned int key) const
const MultiChainEvent & toBegin() override
ChainEvent const * secondary() const
edm::ParameterSet const * parameterSet(edm::ParameterSetID const &psID) const override
std::string const getBranchNameFor(std::type_info const &, char const *, char const *, char const *) const override
std::variant< unsigned int, detail::GetThinnedKeyFromExceptionFactory, std::monostate > OptionalThinnedKey
bool getByTokenImp(edm::EDGetToken, edm::WrapperBase const *&) const override
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
edm::EDGetTokenT< T > consumes(edm::InputTag const &iTag) const
unsigned long long EventNumber_t
Long64_t secondaryFileIndex() const override
edm::EventAuxiliary const & eventAuxiliary() const override
~MultiChainEvent() override
edm::ProcessHistory const & processHistory() const override
fwlite::Run const & getRun()
virtual bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *) const =0
unsigned int LuminosityBlockNumber_t
bool to(Long64_t iIndex)
Go to the event at index iIndex.
bool toSec(Long64_t iIndex)
Go to the event from secondary files at index iIndex.
edm::WrapperBase const * getByProductID(edm::ProductID const &) const override
edm::OptionalThinnedKey getThinnedKeyFrom(edm::ProductID const &parent, unsigned int key, edm::ProductID const &thinned) const
bool atEnd() const override
bool useSecFileMapSorted_
std::map< edm::EventID, Long64_t > sec_file_index_map
Long64_t fileIndex() const override
std::vector< edm::BranchDescription > const & getBranchDescriptions() const
void getThinnedProducts(edm::ProductID const &pid, std::vector< edm::WrapperBase const *> &foundContainers, std::vector< unsigned int > &keys) const
static void throwProductNotFoundException(std::type_info const &, char const *, char const *, char const *)
static std::string const triggerResults
edm::TriggerResultsByName triggerResultsByName(edm::TriggerResults const &triggerResults) const override
std::map< event_id_range, Long64_t > sec_file_range_index_map
sec_file_range_index_map secFileMapSorted_
ChainEvent const * primary() const
std::shared_ptr< internal::MultiProductGetter const > getter_
bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *) const override
MultiChainEvent(std::vector< std::string > const &iFileNames1, std::vector< std::string > const &iFileNames2, bool useSecFileMapSorted=false)
std::pair< edm::EventID, edm::EventID > event_id_range
std::vector< std::string > const & getProcessHistory() const
const MultiChainEvent & operator=(Event const &)
Long64_t eventIndexSec() const
std::shared_ptr< ChainEvent > event2_
const MultiChainEvent & operator++() override
Long64_t eventIndex() const
fwlite::LuminosityBlock const & getLuminosityBlock()
TFile * getTFileSec() const
std::shared_ptr< ChainEvent > event1_