1 #ifndef DataFormats_FWLite_MultiChainEvent_h 2 #define DataFormats_FWLite_MultiChainEvent_h 34 class ProductRegistry;
36 class BranchDescription;
47 class MultiProductGetter;
60 std::vector<std::string>
const& iFileNames2,
61 bool useSecFileMapSorted =
false);
67 bool to(Long64_t iIndex);
79 std::string const getBranchNameFor(std::type_info
const&,
82 char const*)
const override;
87 bool getByLabel(std::type_info
const&,
char const*,
char const*,
char const*,
void*)
const override;
91 operator bool()
const;
92 bool atEnd()
const override;
94 Long64_t
size()
const;
98 std::vector<edm::BranchDescription>
const& getBranchDescriptions()
const;
99 std::vector<std::string>
const& getProcessHistory()
const;
102 return event1_->getTFile();
105 return event2_->getTFile();
108 Long64_t
eventIndex()
const {
return event1_->eventIndex(); }
112 return event1_->getLuminosityBlock();
116 return event1_->getRun();
121 {
return event1_->eventIndex(); }
123 {
return event2_->eventIndex(); }
144 std::vector<edm::WrapperBase const*>& foundContainers,
145 std::vector<unsigned int>&
keys)
const;
154 bool toSec(Long64_t iIndex);
166 std::shared_ptr<internal::MultiProductGetter const>
getter_;
TFile * getTFileSec() const
Long64_t eventIndexSec() const
ChainEvent const * secondary() const
unsigned long long EventNumber_t
Long64_t secondaryFileIndex() const override
fwlite::Run const & getRun()
ChainEvent const * primary() const
unsigned int LuminosityBlockNumber_t
virtual bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *) const =0
T const * getThinnedProduct(RefCore const &ref, unsigned int &thinnedKey, EDProductGetter const *prodGetter)
bool useSecFileMapSorted_
std::map< edm::EventID, Long64_t > sec_file_index_map
Long64_t fileIndex() const override
std::map< event_id_range, Long64_t > sec_file_range_index_map
sec_file_range_index_map secFileMapSorted_
static std::string const triggerResults("TriggerResults")
std::shared_ptr< internal::MultiProductGetter const > getter_
std::pair< edm::EventID, edm::EventID > event_id_range
std::shared_ptr< ChainEvent > event2_
static void throwProductNotFoundException(char const *where, errors::ErrorCodes error, BranchID const &bid)
Long64_t eventIndex() const
fwlite::LuminosityBlock const & getLuminosityBlock()
ParameterSet const & parameterSet(Provenance const &provenance)
std::shared_ptr< ChainEvent > event1_