17 class BranchIDListHelper;
19 class LuminosityBlockPrincipal;
27 findFileForSpecifiedID_(nullptr),
28 fileIterBegin_(fileCatalogItems().begin()),
29 fileIterEnd_(fileCatalogItems().
end()),
30 fileIter_(fileIterEnd_),
31 fileIterLastOpened_(fileIterEnd_),
33 indexesIntoFiles_(fileCatalogItems().
size()) {}
41 return rootFile()->productRegistry();
46 return rootFile()->branchIDListHelper();
53 return rootFile()->readRunAuxiliary_();
58 return rootFile()->readLuminosityBlockAuxiliary_();
68 return rootFile()->fillProcessBlockHelper_();
73 return rootFile()->nextProcessBlock_(processBlockPrincipal);
78 rootFile()->readProcessBlock_(processBlockPrincipal);
83 rootFile()->readLuminosityBlock_(lumiPrincipal);
101 return rootFile()->readEvent(eventPrincipal);
115 size_t fileNameHash) {
123 std::make_unique<std::unordered_multimap<size_t, size_t>>();
124 auto hasher = std::hash<std::string>();
131 for (
auto iter =
range.first; iter !=
range.second; ++iter) {
178 std::vector<FileCatalogItem>::const_iterator currentIter =
fileIter_;
203 if (deleteIndexIntoFile) {
223 throw cms::Exception(
"LogicalFileNameNotFound",
"RootFileSequenceBase::initTheFile()\n")
224 <<
"Logical file name '" <<
logicalFileName() <<
"' was not found in the file catalog.\n"
225 <<
"If you wanted a local file, you forgot the 'file:' prefix\n"
226 <<
"before the file name in your configuration file.\n";
229 <<
" was not found in the catalog, and will be skipped.\n";
236 std::shared_ptr<InputFile> filePtr;
237 std::list<std::string> originalInfo;
239 std::vector<std::string>
const& fNames =
fileNames();
242 std::list<std::string> exInfo;
243 for (std::vector<std::string>::const_iterator it = fNames.begin(); it != fNames.end(); ++it) {
245 std::unique_ptr<InputSource::FileOpenSentry> sentry(
246 input ? std::make_unique<InputSource::FileOpenSentry>(*
input,
lfn_,
false) :
nullptr);
247 std::unique_ptr<char[]>
name(gSystem->ExpandPathName(it->c_str()));
248 filePtr = std::make_shared<InputFile>(
name.get(),
" Initiating request to open file ", inputType);
254 ex.
addContext(
"Calling RootInputFileSequence::initTheFile()");
255 std::ostringstream
out;
256 out <<
"Input file " << (*it) <<
" could not be opened.";
259 for (
auto const&
s : exInfo)
263 exInfo.push_back(
"Calling RootInputFileSequence::initTheFile(): fail to open the file with name " + (*it));
273 rootFile_->setSignals(&(
input->preEventReadFromSourceSignal_), &(
input->postEventReadFromSourceSignal_));
283 <<
" was not found or could not be opened.\n";
286 <<
"Input file: " <<
fName <<
" was not found or could not be opened, and will be skipped.\n";