CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions | Private Attributes
edm::RootInputFileSequence Class Referenceabstract

#include <RootInputFileSequence.h>

Inheritance diagram for edm::RootInputFileSequence:
edm::RootEmbeddedFileSequence edm::RootPrimaryFileSequence edm::RootSecondaryFileSequence

Public Member Functions

bool containedInCurrentFile (RunNumber_t run, LuminosityBlockNumber_t lumi, EventNumber_t event) const
 
std::shared_ptr< BranchIDListHelper const > fileBranchIDListHelper () const
 
std::shared_ptr< ProductRegistry const > fileProductRegistry () const
 
void fillProcessBlockHelper_ ()
 
bool nextProcessBlock_ (ProcessBlockPrincipal &)
 
RootInputFileSequenceoperator= (RootInputFileSequence const &)=delete
 
bool readEvent (EventPrincipal &cache)
 
void readLuminosityBlock_ (LuminosityBlockPrincipal &lumiPrincipal)
 
std::shared_ptr< LuminosityBlockAuxiliaryreadLuminosityBlockAuxiliary_ ()
 
void readProcessBlock_ (ProcessBlockPrincipal &)
 
void readRun_ (RunPrincipal &runPrincipal)
 
std::shared_ptr< RunAuxiliaryreadRunAuxiliary_ ()
 
 RootInputFileSequence (ParameterSet const &pset, InputFileCatalog const &catalog)
 
 RootInputFileSequence (RootInputFileSequence const &)=delete
 
bool skipToItem (RunNumber_t run, LuminosityBlockNumber_t lumi, EventNumber_t event, size_t fileNameHash=0U, bool currentFileFirst=true)
 
virtual ~RootInputFileSequence ()
 

Protected Types

typedef std::shared_ptr< RootFileRootFileSharedPtr
 

Protected Member Functions

bool atFirstFile () const
 
bool atLastFile () const
 
std::vector< FileCatalogItem > const & fileCatalogItems () const
 
std::vector< std::string > const & fileNames () const
 
std::vector< std::shared_ptr< IndexIntoFile > > const & indexesIntoFiles () const
 
void initFile (bool skipBadFiles)
 
void initTheFile (bool skipBadFiles, bool deleteIndexIntoFile, InputSource *input, char const *inputTypeName, InputType inputType)
 
std::string const & lfn () const
 
size_t lfnHash () const
 
std::string const & logicalFileName () const
 
bool noFiles () const
 
bool noMoreFiles () const
 
size_t numberOfFiles () const
 
std::shared_ptr< RootFile > & rootFile ()
 
std::shared_ptr< RootFile const > rootFile () const
 
size_t sequenceNumberOfFile () const
 
void setAtFileSequenceNumber (size_t offset)
 
void setAtFirstFile ()
 
void setAtNextFile ()
 
void setAtPreviousFile ()
 
void setIndexIntoFile (size_t index)
 
void setNoMoreFiles ()
 
bool skipToItemInNewFile (RunNumber_t run, LuminosityBlockNumber_t lumi, EventNumber_t event)
 
bool skipToItemInNewFile (RunNumber_t run, LuminosityBlockNumber_t lumi, EventNumber_t event, size_t fileNameHash)
 
bool usedFallback () const
 

Private Member Functions

virtual void closeFile_ ()=0
 
virtual void initFile_ (bool skipBadFiles)=0
 
virtual RootFileSharedPtr makeRootFile (std::shared_ptr< InputFile > filePtr)=0
 

Private Attributes

InputFileCatalog const & catalog_
 
std::vector< FileCatalogItem >::const_iterator fileIter_
 
const std::vector< FileCatalogItem >::const_iterator fileIterBegin_
 
const std::vector< FileCatalogItem >::const_iterator fileIterEnd_
 
std::vector< FileCatalogItem >::const_iterator fileIterLastOpened_
 
edm::propagate_const< std::unique_ptr< std::unordered_multimap< size_t, size_t > > > findFileForSpecifiedID_
 
std::vector< std::shared_ptr< IndexIntoFile > > indexesIntoFiles_
 
std::string lfn_
 
size_t lfnHash_
 
edm::propagate_const< RootFileSharedPtrrootFile_
 
bool usedFallback_
 

Detailed Description

Definition at line 32 of file RootInputFileSequence.h.

Member Typedef Documentation

◆ RootFileSharedPtr

typedef std::shared_ptr<RootFile> edm::RootInputFileSequence::RootFileSharedPtr
protected

Definition at line 58 of file RootInputFileSequence.h.

Constructor & Destructor Documentation

◆ RootInputFileSequence() [1/2]

edm::RootInputFileSequence::RootInputFileSequence ( ParameterSet const &  pset,
InputFileCatalog const &  catalog 
)
explicit

Definition at line 22 of file RootInputFileSequence.cc.

◆ ~RootInputFileSequence()

edm::RootInputFileSequence::~RootInputFileSequence ( )
virtual

Definition at line 49 of file RootInputFileSequence.cc.

49 {}

◆ RootInputFileSequence() [2/2]

edm::RootInputFileSequence::RootInputFileSequence ( RootInputFileSequence const &  )
delete

Member Function Documentation

◆ atFirstFile()

bool edm::RootInputFileSequence::atFirstFile ( ) const
inlineprotected

◆ atLastFile()

bool edm::RootInputFileSequence::atLastFile ( ) const
inlineprotected

◆ closeFile_()

virtual void edm::RootInputFileSequence::closeFile_ ( )
privatepure virtual

◆ containedInCurrentFile()

bool edm::RootInputFileSequence::containedInCurrentFile ( RunNumber_t  run,
LuminosityBlockNumber_t  lumi,
EventNumber_t  event 
) const

Definition at line 104 of file RootInputFileSequence.cc.

106  {
107  if (!rootFile())
108  return false;
109  return rootFile()->containsItem(run, lumi, event);
110  }

References rootFile(), and writedatasetfile::run.

◆ fileBranchIDListHelper()

std::shared_ptr< BranchIDListHelper const > edm::RootInputFileSequence::fileBranchIDListHelper ( ) const

Definition at line 44 of file RootInputFileSequence.cc.

44  {
45  assert(rootFile());
46  return rootFile()->branchIDListHelper();
47  }

References cms::cuda::assert(), and rootFile().

◆ fileCatalogItems()

std::vector< FileCatalogItem > const & edm::RootInputFileSequence::fileCatalogItems ( ) const
protected

Definition at line 35 of file RootInputFileSequence.cc.

35  {
36  return catalog_.fileCatalogItems();
37  }

References catalog_, and edm::InputFileCatalog::fileCatalogItems().

Referenced by edm::RootEmbeddedFileSequence::readOneRandom().

◆ fileNames()

std::vector<std::string> const& edm::RootInputFileSequence::fileNames ( ) const
inlineprotected

◆ fileProductRegistry()

std::shared_ptr< ProductRegistry const > edm::RootInputFileSequence::fileProductRegistry ( ) const

Definition at line 39 of file RootInputFileSequence.cc.

39  {
40  assert(rootFile());
41  return rootFile()->productRegistry();
42  }

References cms::cuda::assert(), and rootFile().

◆ fillProcessBlockHelper_()

void edm::RootInputFileSequence::fillProcessBlockHelper_ ( )

Definition at line 66 of file RootInputFileSequence.cc.

66  {
67  assert(rootFile());
68  return rootFile()->fillProcessBlockHelper_();
69  }

References cms::cuda::assert(), and rootFile().

◆ indexesIntoFiles()

std::vector<std::shared_ptr<IndexIntoFile> > const& edm::RootInputFileSequence::indexesIntoFiles ( ) const
inlineprotected

◆ initFile()

void edm::RootInputFileSequence::initFile ( bool  skipBadFiles)
inlineprotected

◆ initFile_()

virtual void edm::RootInputFileSequence::initFile_ ( bool  skipBadFiles)
privatepure virtual

◆ initTheFile()

void edm::RootInputFileSequence::initTheFile ( bool  skipBadFiles,
bool  deleteIndexIntoFile,
InputSource input,
char const *  inputTypeName,
InputType  inputType 
)
protected

Definition at line 197 of file RootInputFileSequence.cc.

198  {
199  // We are really going to close the open file.
200 
202  size_t currentIndexIntoFile = fileIterLastOpened_ - fileIterBegin_;
203  if (deleteIndexIntoFile) {
204  indexesIntoFiles_[currentIndexIntoFile].reset();
205  } else {
206  if (indexesIntoFiles_[currentIndexIntoFile])
207  indexesIntoFiles_[currentIndexIntoFile]->inputFileClosed();
208  }
210  }
211  closeFile_();
212 
213  if (noMoreFiles()) {
214  // No files specified
215  return;
216  }
217 
218  // Check if the logical file name was found.
219  if (fileNames()[0].empty()) {
220  // LFN not found in catalog.
222  if (!skipBadFiles) {
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";
227  }
228  LogWarning("") << "Input logical file: " << logicalFileName()
229  << " was not found in the catalog, and will be skipped.\n";
230  return;
231  }
232 
233  lfn_ = logicalFileName().empty() ? fileNames()[0] : logicalFileName();
234  lfnHash_ = std::hash<std::string>()(lfn_);
235 
236  std::shared_ptr<InputFile> filePtr;
237  std::list<std::string> originalInfo;
238 
239  std::vector<std::string> const& fNames = fileNames();
240 
241  //this tries to open the file using multiple PFNs corresponding to different data catalogs
242  std::list<std::string> exInfo;
243  for (std::vector<std::string>::const_iterator it = fNames.begin(); it != fNames.end(); ++it) {
244  try {
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);
249  break;
250  } catch (cms::Exception const& e) {
251  if (!skipBadFiles && std::next(it) == fNames.end()) {
254  ex.addContext("Calling RootInputFileSequence::initTheFile()");
255  std::ostringstream out;
256  out << "Input file " << (*it) << " could not be opened.";
257  ex.addAdditionalInfo(out.str());
258  //report previous exceptions when use other names to open file
259  for (auto const& s : exInfo)
260  ex.addAdditionalInfo(s);
261  throw ex;
262  } else {
263  exInfo.push_back("Calling RootInputFileSequence::initTheFile(): fail to open the file with name " + (*it));
264  }
265  }
266  }
267 
268  if (filePtr) {
269  size_t currentIndexIntoFile = fileIter_ - fileIterBegin_;
270  rootFile_ = makeRootFile(filePtr);
271  assert(rootFile_);
272  if (input) {
273  rootFile_->setSignals(&(input->preEventReadFromSourceSignal_), &(input->postEventReadFromSourceSignal_));
274  }
276  setIndexIntoFile(currentIndexIntoFile);
277  rootFile_->reportOpened(inputTypeName);
278  } else {
279  std::string fName = !fNames.empty() ? fNames[0] : "";
280  InputFile::reportSkippedFile(fName, logicalFileName()); //0 cause exception?
281  if (!skipBadFiles) {
282  throw Exception(errors::FileOpenError) << "RootFileSequenceBase::initTheFile(): Input file " << fName
283  << " was not found or could not be opened.\n";
284  }
285  LogWarning("RootInputFileSequence")
286  << "Input file: " << fName << " was not found or could not be opened, and will be skipped.\n";
287  }
288  }

References cms::Exception::addAdditionalInfo(), cms::Exception::addContext(), cms::cuda::assert(), closeFile_(), MillePedeFileConverter_cfg::e, relativeConstraints::empty, Exception, fileIter_, fileIterBegin_, fileIterEnd_, fileIterLastOpened_, fileNames(), edm::errors::FileOpenError, MainPageGenerator::fName, indexesIntoFiles_, input, lfn_, lfnHash_, logicalFileName(), makeRootFile(), Skims_PA_cff::name, GetRecoTauVFromDQM_MC_cff::next, noMoreFiles(), MillePedeFileConverter_cfg::out, edm::InputFile::reportSkippedFile(), rootFile_, alignCSCRings::s, setIndexIntoFile(), remoteMonitoring_LED_IterMethod_cfg::skipBadFiles, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by edm::RootSecondaryFileSequence::initFile_(), edm::RootPrimaryFileSequence::initFile_(), and edm::RootEmbeddedFileSequence::initFile_().

◆ lfn()

std::string const& edm::RootInputFileSequence::lfn ( ) const
inlineprotected

Definition at line 85 of file RootInputFileSequence.h.

85 { return lfn_; }

References lfn_.

Referenced by edm::RootPrimaryFileSequence::closeFile_().

◆ lfnHash()

size_t edm::RootInputFileSequence::lfnHash ( ) const
inlineprotected

◆ logicalFileName()

std::string const& edm::RootInputFileSequence::logicalFileName ( ) const
inlineprotected

◆ makeRootFile()

virtual RootFileSharedPtr edm::RootInputFileSequence::makeRootFile ( std::shared_ptr< InputFile filePtr)
privatepure virtual

◆ nextProcessBlock_()

bool edm::RootInputFileSequence::nextProcessBlock_ ( ProcessBlockPrincipal processBlockPrincipal)

Definition at line 71 of file RootInputFileSequence.cc.

71  {
72  assert(rootFile());
73  return rootFile()->nextProcessBlock_(processBlockPrincipal);
74  }

References cms::cuda::assert(), and rootFile().

◆ noFiles()

bool edm::RootInputFileSequence::noFiles ( ) const
inlineprotected

◆ noMoreFiles()

bool edm::RootInputFileSequence::noMoreFiles ( ) const
inlineprotected

◆ numberOfFiles()

size_t edm::RootInputFileSequence::numberOfFiles ( ) const
inlineprotected

◆ operator=()

RootInputFileSequence& edm::RootInputFileSequence::operator= ( RootInputFileSequence const &  )
delete

◆ readEvent()

bool edm::RootInputFileSequence::readEvent ( EventPrincipal cache)

Definition at line 99 of file RootInputFileSequence.cc.

99  {
100  assert(rootFile());
101  return rootFile()->readEvent(eventPrincipal);
102  }

References cms::cuda::assert(), and rootFile().

◆ readLuminosityBlock_()

void edm::RootInputFileSequence::readLuminosityBlock_ ( LuminosityBlockPrincipal lumiPrincipal)

Definition at line 81 of file RootInputFileSequence.cc.

81  {
82  assert(rootFile());
83  rootFile()->readLuminosityBlock_(lumiPrincipal);
84  }

References cms::cuda::assert(), and rootFile().

◆ readLuminosityBlockAuxiliary_()

std::shared_ptr< LuminosityBlockAuxiliary > edm::RootInputFileSequence::readLuminosityBlockAuxiliary_ ( )

Definition at line 56 of file RootInputFileSequence.cc.

56  {
57  assert(rootFile());
58  return rootFile()->readLuminosityBlockAuxiliary_();
59  }

References cms::cuda::assert(), and rootFile().

◆ readProcessBlock_()

void edm::RootInputFileSequence::readProcessBlock_ ( ProcessBlockPrincipal processBlockPrincipal)

Definition at line 76 of file RootInputFileSequence.cc.

76  {
77  assert(rootFile());
78  rootFile()->readProcessBlock_(processBlockPrincipal);
79  }

References cms::cuda::assert(), and rootFile().

◆ readRun_()

void edm::RootInputFileSequence::readRun_ ( RunPrincipal runPrincipal)

Definition at line 61 of file RootInputFileSequence.cc.

61  {
62  assert(rootFile());
63  rootFile()->readRun_(runPrincipal);
64  }

References cms::cuda::assert(), and rootFile().

◆ readRunAuxiliary_()

std::shared_ptr< RunAuxiliary > edm::RootInputFileSequence::readRunAuxiliary_ ( )

Definition at line 51 of file RootInputFileSequence.cc.

51  {
52  assert(rootFile());
53  return rootFile()->readRunAuxiliary_();
54  }

References cms::cuda::assert(), and rootFile().

◆ rootFile() [1/2]

std::shared_ptr<RootFile>& edm::RootInputFileSequence::rootFile ( )
inlineprotected

Definition at line 94 of file RootInputFileSequence.h.

94 { return get_underlying_safe(rootFile_); }

References edm::get_underlying_safe(), and rootFile_.

◆ rootFile() [2/2]

std::shared_ptr<RootFile const> edm::RootInputFileSequence::rootFile ( ) const
inlineprotected

Definition at line 93 of file RootInputFileSequence.h.

93 { return get_underlying_safe(rootFile_); }

References edm::get_underlying_safe(), and rootFile_.

Referenced by edm::RootSecondaryFileSequence::closeFile_(), edm::RootEmbeddedFileSequence::closeFile_(), edm::RootPrimaryFileSequence::closeFile_(), containedInCurrentFile(), fileBranchIDListHelper(), fileProductRegistry(), fillProcessBlockHelper_(), edm::RootPrimaryFileSequence::forwardState(), edm::RootPrimaryFileSequence::getNextItemType(), edm::RootPrimaryFileSequence::goToEvent(), edm::RootSecondaryFileSequence::initAssociationsFromSecondary(), edm::RootPrimaryFileSequence::nextFile(), nextProcessBlock_(), edm::RootPrimaryFileSequence::previousFile(), readEvent(), edm::RootPrimaryFileSequence::readFile_(), readLuminosityBlock_(), readLuminosityBlockAuxiliary_(), edm::RootEmbeddedFileSequence::readOneRandom(), edm::RootEmbeddedFileSequence::readOneRandomWithID(), edm::RootEmbeddedFileSequence::readOneSequential(), edm::RootEmbeddedFileSequence::readOneSequentialWithID(), edm::RootEmbeddedFileSequence::readOneSpecified(), readProcessBlock_(), readRun_(), readRunAuxiliary_(), edm::RootPrimaryFileSequence::reverseState(), edm::RootPrimaryFileSequence::rewind_(), edm::RootPrimaryFileSequence::rewindFile(), edm::RootEmbeddedFileSequence::RootEmbeddedFileSequence(), edm::RootPrimaryFileSequence::RootPrimaryFileSequence(), edm::RootSecondaryFileSequence::RootSecondaryFileSequence(), setIndexIntoFile(), edm::RootEmbeddedFileSequence::skipEntries(), edm::RootPrimaryFileSequence::skipEvents(), edm::RootPrimaryFileSequence::skipEventsAtBeginning(), skipToItem(), and skipToItemInNewFile().

◆ sequenceNumberOfFile()

size_t edm::RootInputFileSequence::sequenceNumberOfFile ( ) const
inlineprotected

◆ setAtFileSequenceNumber()

void edm::RootInputFileSequence::setAtFileSequenceNumber ( size_t  offset)
inlineprotected

◆ setAtFirstFile()

void edm::RootInputFileSequence::setAtFirstFile ( )
inlineprotected

◆ setAtNextFile()

void edm::RootInputFileSequence::setAtNextFile ( )
inlineprotected

◆ setAtPreviousFile()

void edm::RootInputFileSequence::setAtPreviousFile ( )
inlineprotected

Definition at line 80 of file RootInputFileSequence.h.

80 { --fileIter_; }

References fileIter_.

Referenced by edm::RootPrimaryFileSequence::previousFile().

◆ setIndexIntoFile()

void edm::RootInputFileSequence::setIndexIntoFile ( size_t  index)
protected

Definition at line 290 of file RootInputFileSequence.cc.

290  {
291  indexesIntoFiles_[index] = rootFile()->indexIntoFileSharedPtr();
292  }

References indexesIntoFiles_, and rootFile().

Referenced by initTheFile().

◆ setNoMoreFiles()

void edm::RootInputFileSequence::setNoMoreFiles ( )
inlineprotected

Definition at line 78 of file RootInputFileSequence.h.

References fileIter_, and fileIterEnd_.

◆ skipToItem()

bool edm::RootInputFileSequence::skipToItem ( RunNumber_t  run,
LuminosityBlockNumber_t  lumi,
EventNumber_t  event,
size_t  fileNameHash = 0U,
bool  currentFileFirst = true 
)

Definition at line 165 of file RootInputFileSequence.cc.

166  {
167  // Attempt to find item in currently open input file.
168  bool found = currentFileFirst && rootFile() && rootFile()->setEntryAtItem(run, lumi, event);
169  if (!found) {
170  // If only one input file, give up now, to save time.
171  if (currentFileFirst && rootFile() && indexesIntoFiles_.size() == 1) {
172  return false;
173  }
174  // Look for item (run/lumi/event) in files previously opened without reopening unnecessary files.
175  for (auto it = indexesIntoFiles_.begin(), itEnd = indexesIntoFiles_.end(); it != itEnd; ++it) {
176  if (*it && (*it)->containsItem(run, lumi, event)) {
177  // We found it. Close the currently open file, and open the correct one.
178  std::vector<FileCatalogItem>::const_iterator currentIter = fileIter_;
180  if (fileIter_ != currentIter) {
181  initFile(false);
182  }
183  // Now get the item from the correct file.
184  assert(rootFile());
185  found = rootFile()->setEntryAtItem(run, lumi, event);
186  assert(found);
187  return true;
188  }
189  }
190  return (fileNameHash != 0U && skipToItemInNewFile(run, lumi, event, fileNameHash)) ||
192  }
193  return true;
194  }

References cms::cuda::assert(), fileIter_, newFWLiteAna::found, indexesIntoFiles_, initFile(), rootFile(), writedatasetfile::run, setAtFileSequenceNumber(), skipToItemInNewFile(), and mitigatedMETSequence_cff::U.

Referenced by edm::RootEmbeddedFileSequence::readOneRandomWithID(), edm::RootEmbeddedFileSequence::readOneSequentialWithID(), and edm::RootEmbeddedFileSequence::readOneSpecified().

◆ skipToItemInNewFile() [1/2]

bool edm::RootInputFileSequence::skipToItemInNewFile ( RunNumber_t  run,
LuminosityBlockNumber_t  lumi,
EventNumber_t  event 
)
protected

Definition at line 147 of file RootInputFileSequence.cc.

147  {
148  // Look for item in files not yet opened. We do not have a valid hash of the logical file name.
149  for (auto it = indexesIntoFiles_.begin(), itEnd = indexesIntoFiles_.end(); it != itEnd; ++it) {
150  if (!*it) {
151  // File not yet opened.
153  initFile_(false);
154  assert(rootFile());
155  bool found = rootFile()->setEntryAtItem(run, lumi, event);
156  if (found) {
157  return true;
158  }
159  }
160  }
161  // Not found
162  return false;
163  }

References cms::cuda::assert(), newFWLiteAna::found, indexesIntoFiles_, initFile_(), rootFile(), writedatasetfile::run, and setAtFileSequenceNumber().

Referenced by edm::RootEmbeddedFileSequence::readOneSequentialWithID(), and skipToItem().

◆ skipToItemInNewFile() [2/2]

bool edm::RootInputFileSequence::skipToItemInNewFile ( RunNumber_t  run,
LuminosityBlockNumber_t  lumi,
EventNumber_t  event,
size_t  fileNameHash 
)
protected

Definition at line 112 of file RootInputFileSequence.cc.

115  {
116  // Look for item in files not yet opened. We have a hash of the logical file name
117  assert(fileNameHash != 0U);
118  // If the lookup table is not yet filled in, fill it.
120  // We use a multimap because there may be hash collisions (Two different LFNs could have the same hash).
121  // We map the hash of the LFN to the index into the list of files.
123  std::make_unique<std::unordered_multimap<size_t, size_t>>(); // propagate_const<T> has no reset() function
124  auto hasher = std::hash<std::string>();
125  for (auto fileIter = fileIterBegin_; fileIter != fileIterEnd_; ++fileIter) {
126  findFileForSpecifiedID_->insert(std::make_pair(hasher(fileIter->logicalFileName()), fileIter - fileIterBegin_));
127  }
128  }
129  // Look up the logical file name in the table
130  auto range = findFileForSpecifiedID_->equal_range(fileNameHash);
131  for (auto iter = range.first; iter != range.second; ++iter) {
132  // Don't look in files previously opened, because those have already been searched.
133  if (!indexesIntoFiles_[iter->second]) {
134  setAtFileSequenceNumber(iter->second);
135  initFile_(false);
136  assert(rootFile());
137  bool found = rootFile()->setEntryAtItem(run, lumi, event);
138  if (found) {
139  return true;
140  }
141  }
142  }
143  // Not found
144  return false;
145  }

References cms::cuda::assert(), fileIterBegin_, fileIterEnd_, findFileForSpecifiedID_, newFWLiteAna::found, visDQMUpload::hasher, indexesIntoFiles_, initFile_(), FastTimerService_cff::range, rootFile(), writedatasetfile::run, setAtFileSequenceNumber(), and mitigatedMETSequence_cff::U.

◆ usedFallback()

bool edm::RootInputFileSequence::usedFallback ( ) const
inlineprotected

Definition at line 91 of file RootInputFileSequence.h.

91 { return usedFallback_; }

References usedFallback_.

Referenced by edm::RootPrimaryFileSequence::closeFile_().

Member Data Documentation

◆ catalog_

InputFileCatalog const& edm::RootInputFileSequence::catalog_
private

Definition at line 97 of file RootInputFileSequence.h.

Referenced by fileCatalogItems().

◆ fileIter_

std::vector<FileCatalogItem>::const_iterator edm::RootInputFileSequence::fileIter_
private

◆ fileIterBegin_

const std::vector<FileCatalogItem>::const_iterator edm::RootInputFileSequence::fileIterBegin_
private

◆ fileIterEnd_

const std::vector<FileCatalogItem>::const_iterator edm::RootInputFileSequence::fileIterEnd_
private

◆ fileIterLastOpened_

std::vector<FileCatalogItem>::const_iterator edm::RootInputFileSequence::fileIterLastOpened_
private

Definition at line 105 of file RootInputFileSequence.h.

Referenced by initTheFile().

◆ findFileForSpecifiedID_

edm::propagate_const<std::unique_ptr<std::unordered_multimap<size_t, size_t> > > edm::RootInputFileSequence::findFileForSpecifiedID_
private

Definition at line 101 of file RootInputFileSequence.h.

Referenced by skipToItemInNewFile().

◆ indexesIntoFiles_

std::vector<std::shared_ptr<IndexIntoFile> > edm::RootInputFileSequence::indexesIntoFiles_
private

◆ lfn_

std::string edm::RootInputFileSequence::lfn_
private

Definition at line 98 of file RootInputFileSequence.h.

Referenced by initTheFile(), and lfn().

◆ lfnHash_

size_t edm::RootInputFileSequence::lfnHash_
private

Definition at line 99 of file RootInputFileSequence.h.

Referenced by initTheFile(), and lfnHash().

◆ rootFile_

edm::propagate_const<RootFileSharedPtr> edm::RootInputFileSequence::rootFile_
private

Definition at line 106 of file RootInputFileSequence.h.

Referenced by initTheFile(), and rootFile().

◆ usedFallback_

bool edm::RootInputFileSequence::usedFallback_
private

Definition at line 100 of file RootInputFileSequence.h.

Referenced by usedFallback().

edm::RootInputFileSequence::noMoreFiles
bool noMoreFiles() const
Definition: RootInputFileSequence.h:71
edm::RootInputFileSequence::findFileForSpecifiedID_
edm::propagate_const< std::unique_ptr< std::unordered_multimap< size_t, size_t > > > findFileForSpecifiedID_
Definition: RootInputFileSequence.h:101
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
input
static const std::string input
Definition: EdmProvDump.cc:48
edm::RootInputFileSequence::setAtFileSequenceNumber
void setAtFileSequenceNumber(size_t offset)
Definition: RootInputFileSequence.h:77
getEcalConditions_orcoffint2r_cff.catalog
catalog
Definition: getEcalConditions_orcoffint2r_cff.py:40
edm::RootInputFileSequence::closeFile_
virtual void closeFile_()=0
edm::RootInputFileSequence::lfnHash_
size_t lfnHash_
Definition: RootInputFileSequence.h:99
edm::RootInputFileSequence::makeRootFile
virtual RootFileSharedPtr makeRootFile(std::shared_ptr< InputFile > filePtr)=0
cms::cuda::assert
assert(be >=bs)
edm::get_underlying_safe
constexpr std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
Definition: get_underlying_safe.h:41
edm::RootInputFileSequence::indexesIntoFiles_
std::vector< std::shared_ptr< IndexIntoFile > > indexesIntoFiles_
Definition: RootInputFileSequence.h:107
remoteMonitoring_LED_IterMethod_cfg.skipBadFiles
skipBadFiles
Definition: remoteMonitoring_LED_IterMethod_cfg.py:24
edm::RootInputFileSequence::logicalFileName
std::string const & logicalFileName() const
Definition: RootInputFileSequence.h:84
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
edm::errors::FileOpenError
Definition: EDMException.h:49
MainPageGenerator.fName
fName
Definition: MainPageGenerator.py:301
edm::RootInputFileSequence::initFile
void initFile(bool skipBadFiles)
Definition: RootInputFileSequence.h:59
edm::RootInputFileSequence::setIndexIntoFile
void setIndexIntoFile(size_t index)
Definition: RootInputFileSequence.cc:290
edm::RootInputFileSequence::lfn_
std::string lfn_
Definition: RootInputFileSequence.h:98
alignCSCRings.s
s
Definition: alignCSCRings.py:92
edm::InputFile::reportSkippedFile
static void reportSkippedFile(std::string const &fileName, std::string const &logicalFileName)
Definition: InputFile.cc:75
edm::RootInputFileSequence::fileIterBegin_
const std::vector< FileCatalogItem >::const_iterator fileIterBegin_
Definition: RootInputFileSequence.h:102
mps_fire.end
end
Definition: mps_fire.py:242
edm::RootInputFileSequence::fileIter_
std::vector< FileCatalogItem >::const_iterator fileIter_
Definition: RootInputFileSequence.h:104
edm::RootInputFileSequence::usedFallback_
bool usedFallback_
Definition: RootInputFileSequence.h:100
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
edm::RootInputFileSequence::initFile_
virtual void initFile_(bool skipBadFiles)=0
edm::RootInputFileSequence::fileIterLastOpened_
std::vector< FileCatalogItem >::const_iterator fileIterLastOpened_
Definition: RootInputFileSequence.h:105
Exception
visDQMUpload.hasher
hasher
Definition: visDQMUpload.py:158
edm::RootInputFileSequence::skipToItemInNewFile
bool skipToItemInNewFile(RunNumber_t run, LuminosityBlockNumber_t lumi, EventNumber_t event)
Definition: RootInputFileSequence.cc:147
edm::RootInputFileSequence::rootFile
std::shared_ptr< RootFile const > rootFile() const
Definition: RootInputFileSequence.h:93
edm::RootInputFileSequence::rootFile_
edm::propagate_const< RootFileSharedPtr > rootFile_
Definition: RootInputFileSequence.h:106
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::RootInputFileSequence::catalog_
InputFileCatalog const & catalog_
Definition: RootInputFileSequence.h:97
writedatasetfile.run
run
Definition: writedatasetfile.py:27
edm::RootInputFileSequence::fileIterEnd_
const std::vector< FileCatalogItem >::const_iterator fileIterEnd_
Definition: RootInputFileSequence.h:103
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
Exception
Definition: hltDiff.cc:245
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
cms::Exception
Definition: Exception.h:70
event
Definition: event.py:1
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
lumi
Definition: LumiSectionData.h:20
edm::InputFileCatalog::fileCatalogItems
std::vector< FileCatalogItem > const & fileCatalogItems() const
Definition: InputFileCatalog.h:39
edm::RootInputFileSequence::fileNames
std::vector< std::string > const & fileNames() const
Definition: RootInputFileSequence.h:82
GetRecoTauVFromDQM_MC_cff.next
next
Definition: GetRecoTauVFromDQM_MC_cff.py:31
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
edm::RootInputFileSequence::fileCatalogItems
std::vector< FileCatalogItem > const & fileCatalogItems() const
Definition: RootInputFileSequence.cc:35