|
|
Go to the documentation of this file.
36 : fileNames_(), file_(),
event_(), eventIndex_(0), accumulatedSize_() {
37 Long64_t summedSize = 0;
41 for (
auto const&
fileName : iFileNames) {
42 TFile* tfilePtr = TFile::Open(
fileName.c_str());
43 if (
nullptr == tfilePtr) {
46 file_ = std::shared_ptr<TFile>(tfilePtr);
47 gROOT->GetListOfFiles()->Remove(tfilePtr);
49 if (
nullptr ==
tree) {
51 <<
"The file " <<
fileName <<
" has no 'Events' TTree and therefore is not an EDM ROOT file";
146 std::vector<std::string>::const_iterator filesBegin =
fileNames_.begin(), filesEnd =
fileNames_.end(),
150 if (
ifile - filesBegin != thisFile) {
182 TFile* tfilePtr = TFile::Open(
fileNames_[iIndex].c_str());
183 file_ = std::shared_ptr<TFile>(tfilePtr);
184 gROOT->GetListOfFiles()->Remove(tfilePtr);
193 char const* iInstance,
194 char const* iProcess)
const {
195 return event_->getBranchNameFor(iType, iModule, iInstance, iProcess);
199 return event_->getBranchDescriptions();
214 char const* iInstance,
215 char const* iProcess,
216 void* iValue)
const {
217 return event_->getByLabel(iType, iModule, iInstance, iProcess, iValue);
221 return event_->getByProductID(iID);
226 return event_->getThinnedProduct(pid,
key);
230 std::vector<edm::WrapperBase const*>& foundContainers,
231 std::vector<unsigned int>&
keys)
const {
232 event_->getThinnedProducts(pid, foundContainers,
keys);
260 return event_->parameterSet(psID);
274 char const* iInstance,
275 char const* iProcess) {
std::string const & eventTreeName()
edm::TriggerResultsByName triggerResultsByName(edm::TriggerResults const &triggerResults) const override
edm::EventAuxiliary const & eventAuxiliary() const override
edm::WrapperBase const * getByProductID(edm::ProductID const &) const override
Event const * event() const
void getThinnedProducts(edm::ProductID const &pid, std::vector< edm::WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys) const
bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *) const override
static const std::string triggerResults
constexpr element_type const * get() const
static void throwProductNotFoundException(std::type_info const &, char const *, char const *, char const *)
void switchToFile(Long64_t)
ChainEvent(std::vector< std::string > const &iFileNames)
unsigned int LuminosityBlockNumber_t
edm::propagate_const< std::shared_ptr< Event > > event_
std::vector< std::string > fileNames_
std::vector< Long64_t > accumulatedSize_
unsigned long long EventNumber_t
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
edm::ProcessHistory const & processHistory() const override
edm::propagate_const< std::shared_ptr< TFile > > file_
ChainEvent const & toBegin() override
std::vector< edm::BranchDescription > const & getBranchDescriptions() const
edm::LuminosityBlockNumber_t luminosityBlock() const
ChainEvent const & operator++() override
bool to(Long64_t iIndex)
Go to the event at index iIndex.
fwlite::Run const & getRun()
std::vector< std::string > const & getProcessHistory() const
std::variant< unsigned int, detail::GetThinnedKeyFromExceptionFactory, std::monostate > OptionalThinnedKey
const std::string getBranchNameFor(std::type_info const &, char const *, char const *, char const *) const override
std::optional< std::tuple< edm::WrapperBase const *, unsigned int > > getThinnedProduct(edm::ProductID const &pid, unsigned int key) const
edm::OptionalThinnedKey getThinnedKeyFrom(edm::ProductID const &parent, unsigned int key, edm::ProductID const &thinned) const
bool atEnd() const override
edm::ParameterSet const * parameterSet(edm::ParameterSetID const &psID) const override
void fillParameterSetRegistry() const
fwlite::LuminosityBlock const & getLuminosityBlock()
static void throwProductNotFoundException(std::type_info const &, char const *, char const *, char const *)