CMS 3D CMS Logo

RootPrimaryFileSequence.cc
Go to the documentation of this file.
1 /*----------------------------------------------------------------------
2 ----------------------------------------------------------------------*/
3 #include "DuplicateChecker.h"
4 #include "InputFile.h"
5 #include "PoolSource.h"
6 #include "RootFile.h"
8 #include "RootTree.h"
9 
20 
21 namespace edm {
26  input_(input),
27  firstFile_(true),
28  branchesMustMatch_(BranchDescription::Permissive),
29  orderedProcessHistoryIDs_(),
30  eventSkipperByID_(EventSkipperByID::create(pset).release()),
31  initialNumberOfEventsToSkip_(pset.getUntrackedParameter<unsigned int>("skipEvents")),
32  noEventSort_(pset.getUntrackedParameter<bool>("noEventSort")),
33  treeCacheSize_(noEventSort_ ? pset.getUntrackedParameter<unsigned int>("cacheSize") : 0U),
34  duplicateChecker_(new DuplicateChecker(pset)),
35  usingGoToEvent_(false),
36  enablePrefetching_(false),
37  enforceGUIDInFileName_(pset.getUntrackedParameter<bool>("enforceGUIDInFileName")) {
38  // The SiteLocalConfig controls the TTreeCache size and the prefetching settings.
40  if (pSLC.isAvailable()) {
41  if (treeCacheSize_ != 0U && pSLC->sourceTTreeCacheSize()) {
42  treeCacheSize_ = *(pSLC->sourceTTreeCacheSize());
43  }
44  enablePrefetching_ = pSLC->enablePrefetching();
45  }
46 
47  std::string branchesMustMatch =
48  pset.getUntrackedParameter<std::string>("branchesMustMatch", std::string("permissive"));
49  if (branchesMustMatch == std::string("strict"))
51 
52  // Prestage the files
55  }
56  // Open the first file.
59  if (rootFile())
60  break;
61  }
62  if (rootFile()) {
63  input_.productRegistryUpdate().updateFromInput(rootFile()->productRegistry()->productList());
66  }
67  }
68  }
69 
71 
73 
74  std::unique_ptr<FileBlock> RootPrimaryFileSequence::readFile_() {
75  if (firstFile_) {
76  // The first input file has already been opened.
77  firstFile_ = false;
78  if (!rootFile()) {
80  }
81  } else {
82  if (!nextFile()) {
83  assert(0);
84  }
85  }
86  if (!rootFile()) {
87  return std::make_unique<FileBlock>();
88  }
89  return rootFile()->createFileBlock();
90  }
91 
93  // close the currently open file, if any, and delete the RootFile object.
94  if (rootFile()) {
95  auto sentry = std::make_unique<InputSource::FileCloseSentry>(input_, lfn(), usedFallback());
96  rootFile()->close();
98  duplicateChecker_->inputFileClosed();
99  rootFile().reset();
100  }
101  }
102 
104  // If we are not duplicate checking across files and we are not using random access to find events,
105  // then we can delete the IndexIntoFile for the file we are closing.
106  // If we can't delete all of it, then we can delete the parts we do not need.
107  bool deleteIndexIntoFile = !usingGoToEvent_ && !(duplicateChecker_ && duplicateChecker_->checkingAllFiles() &&
108  !duplicateChecker_->checkDisabled());
109  initTheFile(skipBadFiles, deleteIndexIntoFile, &input_, "primaryFiles", InputType::Primary);
110  }
111 
113  size_t currentIndexIntoFile = sequenceNumberOfFile();
114  return std::make_shared<RootFile>(fileNames()[0],
116  logicalFileName(),
117  filePtr,
120  remainingEvents(),
122  input_.nStreams(),
126  input_.runHelper(),
127  noEventSort_,
132  nullptr, // associationsFromSecondary
137  currentIndexIntoFile,
144  }
145 
147  if (!noMoreFiles())
148  setAtNextFile();
149  if (noMoreFiles()) {
150  return false;
151  }
152 
154 
155  if (not rootFile()) {
156  return false;
157  }
158 
159  // make sure the new product registry is compatible with the main one
160  std::string mergeInfo =
161  input_.productRegistryUpdate().merge(*rootFile()->productRegistry(), fileNames()[0], branchesMustMatch_);
162  if (!mergeInfo.empty()) {
163  throw Exception(errors::MismatchedInputFiles, "RootPrimaryFileSequence::nextFile()") << mergeInfo;
164  }
165  return true;
166  }
167 
169  if (atFirstFile()) {
170  return false;
171  }
173 
174  initFile(false);
175 
176  if (rootFile()) {
177  // make sure the new product registry is compatible to the main one
178  std::string mergeInfo =
179  input_.productRegistryUpdate().merge(*rootFile()->productRegistry(), fileNames()[0], branchesMustMatch_);
180  if (!mergeInfo.empty()) {
181  throw Exception(errors::MismatchedInputFiles, "RootPrimaryFileSequence::previousEvent()") << mergeInfo;
182  }
183  }
184  if (rootFile())
185  rootFile()->setToLastEntry();
186  return true;
187  }
188 
191  EventNumber_t& event) {
192  if (noMoreFiles()) {
193  return InputSource::IsStop;
194  }
195  if (firstFile_) {
196  return InputSource::IsFile;
197  }
198  if (rootFile()) {
199  IndexIntoFile::EntryType entryType = rootFile()->getNextItemType(run, lumi, event);
200  if (entryType == IndexIntoFile::kEvent) {
201  return InputSource::IsEvent;
202  } else if (entryType == IndexIntoFile::kLumi) {
203  return InputSource::IsLumi;
204  } else if (entryType == IndexIntoFile::kRun) {
205  return InputSource::IsRun;
206  }
207  assert(entryType == IndexIntoFile::kEnd);
208  }
209  if (atLastFile()) {
210  return InputSource::IsStop;
211  }
212  return InputSource::IsFile;
213  }
214 
215  // Rewind to before the first event that was read.
217  if (!atFirstFile()) {
218  closeFile_();
219  setAtFirstFile();
220  }
221  if (!rootFile()) {
222  initFile(false);
223  }
224  rewindFile();
225  firstFile_ = true;
226  if (rootFile()) {
227  if (initialNumberOfEventsToSkip_ != 0) {
229  }
230  }
231  }
232 
233  // Rewind to the beginning of the current file
235  if (rootFile())
236  rootFile()->rewind();
237  }
238 
239  // Advance "offset" events. Offset can be positive or negative (or zero).
241  assert(rootFile());
242  while (offset != 0) {
243  bool atEnd = rootFile()->skipEvents(offset);
244  if ((offset > 0 || atEnd) && !nextFile()) {
245  return false;
246  }
247  if (offset < 0 && !previousFile()) {
248  setNoMoreFiles();
249  return false;
250  }
251  }
252  return true;
253  }
254 
256  usingGoToEvent_ = true;
257  if (rootFile()) {
258  if (rootFile()->goToEvent(eventID)) {
259  return true;
260  }
261  // If only one input file, give up now, to save time.
262  if (rootFile() && indexesIntoFiles().size() == 1) {
263  return false;
264  }
265  // Save the current file and position so that we can restore them
266  // if we fail to restore the desired event
267  bool closedOriginalFile = false;
268  size_t const originalFileSequenceNumber = sequenceNumberOfFile();
269  IndexIntoFile::IndexIntoFileItr originalPosition = rootFile()->indexIntoFileIter();
270 
271  // Look for item (run/lumi/event) in files previously opened without reopening unnecessary files.
272  for (auto it = indexesIntoFiles().begin(), itEnd = indexesIntoFiles().end(); it != itEnd; ++it) {
273  if (*it && (*it)->containsItem(eventID.run(), eventID.luminosityBlock(), eventID.event())) {
274  // We found it. Close the currently open file, and open the correct one.
276  initFile(false);
277  // Now get the item from the correct file.
278  assert(rootFile());
279  bool found = rootFile()->goToEvent(eventID);
280  assert(found);
281  return true;
282  }
283  }
284  // Look for item in files not yet opened.
285  for (auto it = indexesIntoFiles().begin(), itEnd = indexesIntoFiles().end(); it != itEnd; ++it) {
286  if (!*it) {
288  initFile(false);
289  closedOriginalFile = true;
290  if ((*it)->containsItem(eventID.run(), eventID.luminosityBlock(), eventID.event())) {
291  assert(rootFile());
292  if (rootFile()->goToEvent(eventID)) {
293  return true;
294  }
295  }
296  }
297  }
298  if (closedOriginalFile) {
299  setAtFileSequenceNumber(originalFileSequenceNumber);
300  initFile(false);
301  assert(rootFile());
302  rootFile()->setPosition(originalPosition);
303  }
304  }
305  return false;
306  }
307 
309 
311 
313  desc.addUntracked<unsigned int>("skipEvents", 0U)
314  ->setComment("Skip the first 'skipEvents' events that otherwise would have been processed.");
315  desc.addUntracked<bool>("noEventSort", true)
316  ->setComment(
317  "True: Process runs, lumis and events in the order they appear in the file (but see notes 1 and 2).\n"
318  "False: Process runs, lumis and events in each file in numerical order (run#, lumi#, event#) (but see note "
319  "3).\n"
320  "Note 1: Events within the same lumi will always be processed contiguously.\n"
321  "Note 2: Lumis within the same run will always be processed contiguously.\n"
322  "Note 3: Any sorting occurs independently in each input file (no sorting across input files).");
323  desc.addUntracked<unsigned int>("cacheSize", roottree::defaultCacheSize)
324  ->setComment("Size of ROOT TTree prefetch cache. Affects performance.");
325  std::string defaultString("permissive");
326  desc.addUntracked<std::string>("branchesMustMatch", defaultString)
327  ->setComment(
328  "'strict': Branches in each input file must match those in the first file.\n"
329  "'permissive': Branches in each input file may be any subset of those in the first file.");
330  desc.addUntracked<bool>("enforceGUIDInFileName", false)
331  ->setComment(
332  "True: file name part is required to be equal to the GUID of the file\n"
333  "False: file name can be anything");
334 
337  }
338 
340  if (rootFile()) {
341  if (!rootFile()->wasLastEventJustRead()) {
343  }
344  if (noMoreFiles() || atLastFile()) {
346  } else {
348  }
349  }
351  }
352 
354  if (rootFile()) {
355  if (!rootFile()->wasFirstEventJustRead()) {
357  }
358  if (!atFirstFile()) {
360  }
362  }
364  }
365 
366 } // namespace edm
edm::RootPrimaryFileSequence::initFile_
void initFile_(bool skipBadFiles) override
Definition: RootPrimaryFileSequence.cc:103
edm::RootInputFileSequence::noMoreFiles
bool noMoreFiles() const
Definition: RootInputFileSequence.h:65
edm::RootPrimaryFileSequence::firstFile_
bool firstFile_
Definition: RootPrimaryFileSequence.h:64
edm::RunNumber_t
unsigned int RunNumber_t
Definition: RunLumiEventNumber.h:14
edm::IndexIntoFile::kLumi
Definition: IndexIntoFile.h:238
edm::errors::MismatchedInputFiles
Definition: EDMException.h:52
electrons_cff.bool
bool
Definition: electrons_cff.py:393
edm::ProcessingController::kAtLastEvent
Definition: ProcessingController.h:34
edm::RootPrimaryFileSequence::previousFile
bool previousFile()
Definition: RootPrimaryFileSequence.cc:168
edm::PoolSource
Definition: PoolSource.h:32
DuplicateChecker.h
input
static const std::string input
Definition: EdmProvDump.cc:48
edm::RootInputFileSequence::setAtFirstFile
void setAtFirstFile()
Definition: RootInputFileSequence.h:70
MessageLogger.h
funct::false
false
Definition: Factorize.h:29
edm::PoolSource::labelRawDataLikeMC
bool labelRawDataLikeMC() const
Definition: PoolSource.h:43
edm::RootPrimaryFileSequence::nextFile
bool nextFile()
Definition: RootPrimaryFileSequence.cc:146
edm::RootInputFileSequence::setAtFileSequenceNumber
void setAtFileSequenceNumber(size_t offset)
Definition: RootInputFileSequence.h:71
edm::ProcessingController::kUnknownReverse
Definition: ProcessingController.h:42
edm::PoolSource::productRegistryUpdate
ProductRegistry & productRegistryUpdate()
Definition: InputSource.h:329
getEcalConditions_orcoffint2r_cff.catalog
catalog
Definition: getEcalConditions_orcoffint2r_cff.py:40
edm::InputSource::thinnedAssociationsHelper
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper() const
Accessors for thinnedAssociationsHelper.
Definition: InputSource.h:168
edm::IndexIntoFile::kEvent
Definition: IndexIntoFile.h:238
edm::RootPrimaryFileSequence::input_
PoolSource & input_
Definition: RootPrimaryFileSequence.h:63
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::RootInputFileSequence::atFirstFile
bool atFirstFile() const
Definition: RootInputFileSequence.h:63
BranchID.h
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::DuplicateChecker::fillDescription
static void fillDescription(ParameterSetDescription &desc)
Definition: DuplicateChecker.cc:109
edm::ProductRegistry::updateFromInput
void updateFromInput(ProductList const &other)
Definition: ProductRegistry.cc:209
RootTree.h
cms::cuda::assert
assert(be >=bs)
edm::RootPrimaryFileSequence::duplicateChecker
std::shared_ptr< DuplicateChecker const > duplicateChecker() const
Definition: RootPrimaryFileSequence.h:70
edm::InputFileCatalog
Definition: InputFileCatalog.h:32
ProductRegistry.h
InputFileCatalog.h
beamerCreator.create
def create(alignables, pedeDump, additionalData, outputFile, config)
Definition: beamerCreator.py:44
edm::PoolSource::nStreams
unsigned int nStreams() const
Definition: PoolSource.h:44
edm::BranchDescription::Strict
Definition: BranchDescription.h:36
remoteMonitoring_LED_IterMethod_cfg.skipBadFiles
skipBadFiles
Definition: remoteMonitoring_LED_IterMethod_cfg.py:24
edm::RootInputFileSequence::logicalFileName
std::string const & logicalFileName() const
Definition: RootInputFileSequence.h:78
edm::RootPrimaryFileSequence::usingGoToEvent_
bool usingGoToEvent_
Definition: RootPrimaryFileSequence.h:78
edm::EventID::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: EventID.h:39
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
edm::LuminosityBlockNumber_t
unsigned int LuminosityBlockNumber_t
Definition: RunLumiEventNumber.h:13
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
edm::PoolSource::skipBadFiles
bool skipBadFiles() const
Definition: PoolSource.h:40
edm::RootPrimaryFileSequence::endJob
void endJob()
Definition: RootPrimaryFileSequence.cc:72
PoolSource.h
edm::RootPrimaryFileSequence::remainingEvents
int remainingEvents() const
Definition: RootPrimaryFileSequence.cc:308
edm::InputSource::IsRun
Definition: InputSource.h:78
edm::InputSource::remainingLuminosityBlocks
int remainingLuminosityBlocks() const
Definition: InputSource.h:198
RootPrimaryFileSequence.h
edm::RootPrimaryFileSequence::remainingLuminosityBlocks
int remainingLuminosityBlocks() const
Definition: RootPrimaryFileSequence.cc:310
edm::RootInputFileSequence::initFile
void initFile(bool skipBadFiles)
Definition: RootInputFileSequence.h:53
edm::RootPrimaryFileSequence::skipEvents
bool skipEvents(int offset)
Definition: RootPrimaryFileSequence.cc:240
edm::RootPrimaryFileSequence::duplicateChecker_
edm::propagate_const< std::shared_ptr< DuplicateChecker > > duplicateChecker_
Definition: RootPrimaryFileSequence.h:77
edm::RootInputFileSequence::RootFileSharedPtr
std::shared_ptr< RootFile > RootFileSharedPtr
Definition: RootInputFileSequence.h:52
edm::ProcessingController::ForwardState
ForwardState
Definition: ProcessingController.h:31
edm::PoolSource::processHistoryRegistryForUpdate
ProcessHistoryRegistry & processHistoryRegistryForUpdate()
Definition: InputSource.h:330
edm::RootPrimaryFileSequence::rewindFile
void rewindFile()
Definition: RootPrimaryFileSequence.cc:234
edm::RootPrimaryFileSequence::readFile_
std::unique_ptr< FileBlock > readFile_()
Definition: RootPrimaryFileSequence.cc:74
edm::IndexIntoFile::kRun
Definition: IndexIntoFile.h:238
edm::ProcessingController::kNextFileExists
Definition: ProcessingController.h:33
Service.h
edm::PoolSource::runHelper
RunHelperBase * runHelper()
Definition: PoolSource.h:47
StorageFactory::get
static const StorageFactory * get(void)
Definition: StorageFactory.cc:28
edm::RootPrimaryFileSequence::eventSkipperByID
std::shared_ptr< EventSkipperByID const > eventSkipperByID() const
Definition: RootPrimaryFileSequence.h:68
mps_fire.end
end
Definition: mps_fire.py:242
edm::RootInputFileSequence::setAtNextFile
void setAtNextFile()
Definition: RootInputFileSequence.h:73
edm::ProcessingController::kAtFirstEvent
Definition: ProcessingController.h:41
StorageFactory::stagein
void stagein(const std::string &url) const
Definition: StorageFactory.cc:159
edm::RootPrimaryFileSequence::~RootPrimaryFileSequence
~RootPrimaryFileSequence() override
Definition: RootPrimaryFileSequence.cc:70
edm::EventNumber_t
unsigned long long EventNumber_t
Definition: RunLumiEventNumber.h:12
edm::RootInputFileSequence::atLastFile
bool atLastFile() const
Definition: RootInputFileSequence.h:64
edm::EventSkipperByID
Definition: EventSkipperByID.h:17
edm::roottree::defaultCacheSize
unsigned const int defaultCacheSize
Definition: RootTree.h:47
ParameterSetDescription.h
edm::EventID::run
RunNumber_t run() const
Definition: EventID.h:38
edm::RootPrimaryFileSequence::noEventSort_
bool noEventSort_
Definition: RootPrimaryFileSequence.h:75
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
edm::ProcessingController::kEventsAheadInFile
Definition: ProcessingController.h:32
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::InputSource::processingMode
ProcessingMode processingMode() const
RunsLumisAndEvents (default), RunsAndLumis, or Runs.
Definition: InputSource.h:236
edm::InputSource::IsFile
Definition: InputSource.h:78
funct::true
true
Definition: Factorize.h:173
edm::RootInputFileSequence
Definition: RootInputFileSequence.h:29
edm::RootPrimaryFileSequence::enablePrefetching_
bool enablePrefetching_
Definition: RootPrimaryFileSequence.h:79
edm::ParameterSet
Definition: ParameterSet.h:47
edm::RootPrimaryFileSequence::treeCacheSize_
unsigned int treeCacheSize_
Definition: RootPrimaryFileSequence.h:76
fetchall_from_DQM_v2.release
release
Definition: fetchall_from_DQM_v2.py:92
edm::PoolSource::treeMaxVirtualSize
int treeMaxVirtualSize() const
Definition: PoolSource.h:45
edm::IndexIntoFile::IndexIntoFileItr
Definition: IndexIntoFile.h:681
edm::InputSource::IsLumi
Definition: InputSource.h:78
edm::RootPrimaryFileSequence::forwardState
ProcessingController::ForwardState forwardState() const
Definition: RootPrimaryFileSequence.cc:339
edm::RootPrimaryFileSequence::RootPrimaryFileSequence
RootPrimaryFileSequence(ParameterSet const &pset, PoolSource &input, InputFileCatalog const &catalog)
Definition: RootPrimaryFileSequence.cc:22
edm::RootPrimaryFileSequence::getNextItemType
InputSource::ItemType getNextItemType(RunNumber_t &run, LuminosityBlockNumber_t &lumi, EventNumber_t &event)
Definition: RootPrimaryFileSequence.cc:189
edm::EventID::event
EventNumber_t event() const
Definition: EventID.h:40
edm::RootInputFileSequence::rootFile
std::shared_ptr< RootFile const > rootFile() const
Definition: RootInputFileSequence.h:87
StorageFactory.h
edm::Service
Definition: Service.h:30
createfilelist.int
int
Definition: createfilelist.py:10
edm::RootPrimaryFileSequence::closeFile_
void closeFile_() override
Definition: RootPrimaryFileSequence.cc:92
edm::InputSource::IsStop
Definition: InputSource.h:78
RootFile.h
InputFile.h
FileBlock.h
edm::RootInputFileSequence::lfn
std::string const & lfn() const
Definition: RootInputFileSequence.h:79
edm::RootPrimaryFileSequence::rewind_
void rewind_()
Definition: RootPrimaryFileSequence.cc:216
edm::InputSource::ItemType
ItemType
Definition: InputSource.h:78
edm::DuplicateChecker
Definition: DuplicateChecker.h:30
edm::InputSource::branchIDListHelper
std::shared_ptr< BranchIDListHelper const > branchIDListHelper() const
Accessors for branchIDListHelper.
Definition: InputSource.h:162
edm::ProcessingController::kEventsBackwardsInFile
Definition: ProcessingController.h:39
edm::InputSource::processConfiguration
ProcessConfiguration const & processConfiguration() const
Accessor for Process Configuration.
Definition: InputSource.h:204
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
writedatasetfile.run
run
Definition: writedatasetfile.py:27
edm::InputType::Primary
edm::RootPrimaryFileSequence::initialNumberOfEventsToSkip_
int initialNumberOfEventsToSkip_
Definition: RootPrimaryFileSequence.h:74
edm::PoolSource::dropDescendants
bool dropDescendants() const
Definition: PoolSource.h:41
Exception
Definition: hltDiff.cc:246
edm::InputSource::remainingEvents
int remainingEvents() const
Definition: InputSource.h:190
edm::ProcessingController::kUnknownForward
Definition: ProcessingController.h:35
edm::EventSkipperByID::fillDescription
static void fillDescription(ParameterSetDescription &desc)
Definition: EventSkipperByID.cc:116
edm::RootPrimaryFileSequence::branchesMustMatch_
BranchDescription::MatchMode branchesMustMatch_
Definition: RootPrimaryFileSequence.h:65
edm::ProcessingController::kPreviousFileExists
Definition: ProcessingController.h:40
edm::RootInputFileSequence::setNoMoreFiles
void setNoMoreFiles()
Definition: RootInputFileSequence.h:72
edm::RootPrimaryFileSequence::fillDescription
static void fillDescription(ParameterSetDescription &desc)
Definition: RootPrimaryFileSequence.cc:312
edm::RootInputFileSequence::initTheFile
void initTheFile(bool skipBadFiles, bool deleteIndexIntoFile, InputSource *input, char const *inputTypeName, InputType inputType)
Definition: RootInputFileSequence.cc:182
edm::RootInputFileSequence::usedFallback
bool usedFallback() const
Definition: RootInputFileSequence.h:85
edm::RootInputFileSequence::setAtPreviousFile
void setAtPreviousFile()
Definition: RootInputFileSequence.h:74
edm::RootPrimaryFileSequence::enforceGUIDInFileName_
bool enforceGUIDInFileName_
Definition: RootPrimaryFileSequence.h:80
edm::BranchDescription
Definition: BranchDescription.h:32
edm::RootInputFileSequence::indexesIntoFiles
std::vector< std::shared_ptr< IndexIntoFile > > const & indexesIntoFiles() const
Definition: RootInputFileSequence.h:82
edm::IndexIntoFile::kEnd
Definition: IndexIntoFile.h:238
edm::ProductRegistry::merge
std::string merge(ProductRegistry const &other, std::string const &fileName, BranchDescription::MatchMode branchesMustMatch=BranchDescription::Permissive)
Definition: ProductRegistry.cc:250
edm::InputSource::IsEvent
Definition: InputSource.h:78
ParameterSet.h
edm::PoolSource::productSelectorRules
ProductSelectorRules const & productSelectorRules() const
Definition: PoolSource.h:46
event
Definition: event.py:1
edm::EventID
Definition: EventID.h:31
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
edm::ProcessingController::ReverseState
ReverseState
Definition: ProcessingController.h:38
edm::PoolSource::bypassVersionCheck
bool bypassVersionCheck() const
Definition: PoolSource.h:42
lumi
Definition: LumiSectionData.h:20
edm::RootPrimaryFileSequence::orderedProcessHistoryIDs_
std::vector< ProcessHistoryID > orderedProcessHistoryIDs_
Definition: RootPrimaryFileSequence.h:66
edm::RootInputFileSequence::sequenceNumberOfFile
size_t sequenceNumberOfFile() const
Definition: RootInputFileSequence.h:67
edm::RootPrimaryFileSequence::goToEvent
bool goToEvent(EventID const &eventID)
Definition: RootPrimaryFileSequence.cc:255
edm::RootInputFileSequence::fileNames
std::vector< std::string > const & fileNames() const
Definition: RootInputFileSequence.h:76
edm::RootPrimaryFileSequence::makeRootFile
RootFileSharedPtr makeRootFile(std::shared_ptr< InputFile > filePtr) override
Definition: RootPrimaryFileSequence.cc:112
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
SiteLocalConfig.h
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
edm::IndexIntoFile::EntryType
EntryType
Definition: IndexIntoFile.h:238
edm::RootPrimaryFileSequence::reverseState
ProcessingController::ReverseState reverseState() const
Definition: RootPrimaryFileSequence.cc:353