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);
81 bool getByLabel(std::type_info
const&,
char const*,
char const*,
char const*,
void*)
const override;
85 operator bool()
const;
86 bool atEnd()
const override;
88 Long64_t
size()
const;
125 unsigned int key)
const;
128 std::vector<edm::WrapperBase const*>& foundContainers,
129 std::vector<unsigned int>&
keys)
const;
141 bool toSec(Long64_t iIndex);
152 std::shared_ptr<internal::MultiProductGetter const>
getter_;
TFile * getTFileSec() const
const MultiChainEvent & toBegin() override
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
std::vector< edm::BranchDescription > const & getBranchDescriptions() const
Long64_t eventIndexSec() const
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
edm::ParameterSet const * parameterSet(edm::ParameterSetID const &psID) const override
edm::OptionalThinnedKey getThinnedKeyFrom(edm::ProductID const &parent, unsigned int key, edm::ProductID const &thinned) const
ChainEvent const * secondary() const
unsigned long long EventNumber_t
Long64_t secondaryFileIndex() const override
~MultiChainEvent() override
fwlite::Run const & getRun()
ChainEvent const * primary() const
virtual bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *) const =0
unsigned int LuminosityBlockNumber_t
std::optional< std::tuple< edm::WrapperBase const *, unsigned int > > getThinnedProduct(edm::ProductID const &pid, unsigned int key) const
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.
bool atEnd() const override
bool useSecFileMapSorted_
std::map< edm::EventID, Long64_t > sec_file_index_map
std::vector< std::string > const & getProcessHistory() const
Long64_t fileIndex() const override
tuple key
prepare the HTCondor submission files and eventually submit them
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_
edm::ProcessHistory const & processHistory() const override
edm::EventAuxiliary const & eventAuxiliary() const override
void getThinnedProducts(edm::ProductID const &pid, std::vector< edm::WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys) const
edm::WrapperBase const * getByProductID(edm::ProductID const &) const override
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
const MultiChainEvent & operator=(Event const &)
std::shared_ptr< ChainEvent > event2_
const MultiChainEvent & operator++() override
Long64_t eventIndex() const
fwlite::LuminosityBlock const & getLuminosityBlock()
std::shared_ptr< ChainEvent > event1_