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  // handle case with last file bad and
84  // skipBadFiles true
85  return std::unique_ptr<FileBlock>();
86  }
87  }
88  if (!rootFile()) {
89  return std::make_unique<FileBlock>();
90  }
91  return rootFile()->createFileBlock();
92  }
93 
95  // close the currently open file, if any, and delete the RootFile object.
96  if (rootFile()) {
97  auto sentry = std::make_unique<InputSource::FileCloseSentry>(input_, lfn(), usedFallback());
98  rootFile()->close();
100  duplicateChecker_->inputFileClosed();
101  rootFile().reset();
102  }
103  }
104 
106  // If we are not duplicate checking across files and we are not using random access to find events,
107  // then we can delete the IndexIntoFile for the file we are closing.
108  // If we can't delete all of it, then we can delete the parts we do not need.
109  bool deleteIndexIntoFile = !usingGoToEvent_ && !(duplicateChecker_ && duplicateChecker_->checkingAllFiles() &&
110  !duplicateChecker_->checkDisabled());
111  initTheFile(skipBadFiles, deleteIndexIntoFile, &input_, "primaryFiles", InputType::Primary);
112  }
113 
115  size_t currentIndexIntoFile = sequenceNumberOfFile();
116  return std::make_shared<RootFile>(fileNames()[0],
118  logicalFileName(),
119  filePtr,
122  remainingEvents(),
124  input_.nStreams(),
128  input_.runHelper(),
129  noEventSort_,
134  nullptr, // associationsFromSecondary
139  currentIndexIntoFile,
146  }
147 
149  do {
150  if (!noMoreFiles())
151  setAtNextFile();
152  if (noMoreFiles()) {
153  return false;
154  }
155 
157  if (rootFile()) {
158  break;
159  }
160  // If we are not skipping bad files and the file
161  // open failed, then initFile should have thrown
163  } while (true);
164 
165  if (not rootFile()) {
166  return false;
167  }
168 
169  // make sure the new product registry is compatible with the main one
170  std::string mergeInfo =
171  input_.productRegistryUpdate().merge(*rootFile()->productRegistry(), fileNames()[0], branchesMustMatch_);
172  if (!mergeInfo.empty()) {
173  throw Exception(errors::MismatchedInputFiles, "RootPrimaryFileSequence::nextFile()") << mergeInfo;
174  }
175  return true;
176  }
177 
179  if (atFirstFile()) {
180  return false;
181  }
183 
184  initFile(false);
185 
186  if (rootFile()) {
187  // make sure the new product registry is compatible to the main one
188  std::string mergeInfo =
189  input_.productRegistryUpdate().merge(*rootFile()->productRegistry(), fileNames()[0], branchesMustMatch_);
190  if (!mergeInfo.empty()) {
191  throw Exception(errors::MismatchedInputFiles, "RootPrimaryFileSequence::previousEvent()") << mergeInfo;
192  }
193  }
194  if (rootFile())
195  rootFile()->setToLastEntry();
196  return true;
197  }
198 
201  EventNumber_t& event) {
202  if (noMoreFiles()) {
203  return InputSource::IsStop;
204  }
205  if (firstFile_) {
206  return InputSource::IsFile;
207  }
208  if (rootFile()) {
209  IndexIntoFile::EntryType entryType = rootFile()->getNextItemType(run, lumi, event);
210  if (entryType == IndexIntoFile::kEvent) {
211  return InputSource::IsEvent;
212  } else if (entryType == IndexIntoFile::kLumi) {
213  return InputSource::IsLumi;
214  } else if (entryType == IndexIntoFile::kRun) {
215  return InputSource::IsRun;
216  }
217  assert(entryType == IndexIntoFile::kEnd);
218  }
219  if (atLastFile()) {
220  return InputSource::IsStop;
221  }
222  return InputSource::IsFile;
223  }
224 
225  // Rewind to before the first event that was read.
227  if (!atFirstFile()) {
228  closeFile_();
229  setAtFirstFile();
230  }
231  if (!rootFile()) {
232  initFile(false);
233  }
234  rewindFile();
235  firstFile_ = true;
236  if (rootFile()) {
237  if (initialNumberOfEventsToSkip_ != 0) {
239  }
240  }
241  }
242 
243  // Rewind to the beginning of the current file
245  if (rootFile())
246  rootFile()->rewind();
247  }
248 
249  // Advance "offset" events. Offset can be positive or negative (or zero).
251  assert(rootFile());
252  while (offset != 0) {
253  bool atEnd = rootFile()->skipEvents(offset);
254  if ((offset > 0 || atEnd) && !nextFile()) {
255  return false;
256  }
257  if (offset < 0 && !previousFile()) {
258  setNoMoreFiles();
259  return false;
260  }
261  }
262  return true;
263  }
264 
266  usingGoToEvent_ = true;
267  if (rootFile()) {
268  if (rootFile()->goToEvent(eventID)) {
269  return true;
270  }
271  // If only one input file, give up now, to save time.
272  if (rootFile() && indexesIntoFiles().size() == 1) {
273  return false;
274  }
275  // Save the current file and position so that we can restore them
276  // if we fail to restore the desired event
277  bool closedOriginalFile = false;
278  size_t const originalFileSequenceNumber = sequenceNumberOfFile();
279  IndexIntoFile::IndexIntoFileItr originalPosition = rootFile()->indexIntoFileIter();
280 
281  // Look for item (run/lumi/event) in files previously opened without reopening unnecessary files.
282  for (auto it = indexesIntoFiles().begin(), itEnd = indexesIntoFiles().end(); it != itEnd; ++it) {
283  if (*it && (*it)->containsItem(eventID.run(), eventID.luminosityBlock(), eventID.event())) {
284  // We found it. Close the currently open file, and open the correct one.
286  initFile(false);
287  // Now get the item from the correct file.
288  assert(rootFile());
289  bool found = rootFile()->goToEvent(eventID);
290  assert(found);
291  return true;
292  }
293  }
294  // Look for item in files not yet opened.
295  for (auto it = indexesIntoFiles().begin(), itEnd = indexesIntoFiles().end(); it != itEnd; ++it) {
296  if (!*it) {
298  initFile(false);
299  closedOriginalFile = true;
300  if ((*it)->containsItem(eventID.run(), eventID.luminosityBlock(), eventID.event())) {
301  assert(rootFile());
302  if (rootFile()->goToEvent(eventID)) {
303  return true;
304  }
305  }
306  }
307  }
308  if (closedOriginalFile) {
309  setAtFileSequenceNumber(originalFileSequenceNumber);
310  initFile(false);
311  assert(rootFile());
312  rootFile()->setPosition(originalPosition);
313  }
314  }
315  return false;
316  }
317 
319 
321 
323  desc.addUntracked<unsigned int>("skipEvents", 0U)
324  ->setComment("Skip the first 'skipEvents' events that otherwise would have been processed.");
325  desc.addUntracked<bool>("noEventSort", true)
326  ->setComment(
327  "True: Process runs, lumis and events in the order they appear in the file (but see notes 1 and 2).\n"
328  "False: Process runs, lumis and events in each file in numerical order (run#, lumi#, event#) (but see note "
329  "3).\n"
330  "Note 1: Events within the same lumi will always be processed contiguously.\n"
331  "Note 2: Lumis within the same run will always be processed contiguously.\n"
332  "Note 3: Any sorting occurs independently in each input file (no sorting across input files).");
333  desc.addUntracked<unsigned int>("cacheSize", roottree::defaultCacheSize)
334  ->setComment("Size of ROOT TTree prefetch cache. Affects performance.");
335  std::string defaultString("permissive");
336  desc.addUntracked<std::string>("branchesMustMatch", defaultString)
337  ->setComment(
338  "'strict': Branches in each input file must match those in the first file.\n"
339  "'permissive': Branches in each input file may be any subset of those in the first file.");
340  desc.addUntracked<bool>("enforceGUIDInFileName", false)
341  ->setComment(
342  "True: file name part is required to be equal to the GUID of the file\n"
343  "False: file name can be anything");
344 
347  }
348 
350  if (rootFile()) {
351  if (!rootFile()->wasLastEventJustRead()) {
353  }
354  if (noMoreFiles() || atLastFile()) {
356  } else {
358  }
359  }
361  }
362 
364  if (rootFile()) {
365  if (!rootFile()->wasFirstEventJustRead()) {
367  }
368  if (!atFirstFile()) {
370  }
372  }
374  }
375 
376 } // namespace edm
edm::RootPrimaryFileSequence::initFile_
void initFile_(bool skipBadFiles) override
Definition: RootPrimaryFileSequence.cc:105
edm::RootInputFileSequence::noMoreFiles
bool noMoreFiles() const
Definition: RootInputFileSequence.h:68
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:366
edm::ProcessingController::kAtLastEvent
Definition: ProcessingController.h:34
edm::RootPrimaryFileSequence::previousFile
bool previousFile()
Definition: RootPrimaryFileSequence.cc:178
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:73
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:148
edm::RootInputFileSequence::setAtFileSequenceNumber
void setAtFileSequenceNumber(size_t offset)
Definition: RootInputFileSequence.h:74
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:66
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:81
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:318
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:320
edm::RootInputFileSequence::initFile
void initFile(bool skipBadFiles)
Definition: RootInputFileSequence.h:56
edm::RootPrimaryFileSequence::skipEvents
bool skipEvents(int offset)
Definition: RootPrimaryFileSequence.cc:250
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:55
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:244
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:76
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:67
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:32
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:349
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:199
edm::EventID::event
EventNumber_t event() const
Definition: EventID.h:40
edm::RootInputFileSequence::rootFile
std::shared_ptr< RootFile const > rootFile() const
Definition: RootInputFileSequence.h:90
StorageFactory.h
edm::Service
Definition: Service.h:30
createfilelist.int
int
Definition: createfilelist.py:10
edm::RootPrimaryFileSequence::closeFile_
void closeFile_() override
Definition: RootPrimaryFileSequence.cc:94
edm::InputSource::IsStop
Definition: InputSource.h:78
RootFile.h
InputFile.h
FileBlock.h
edm::RootInputFileSequence::lfn
std::string const & lfn() const
Definition: RootInputFileSequence.h:82
edm::RootPrimaryFileSequence::rewind_
void rewind_()
Definition: RootPrimaryFileSequence.cc:226
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:245
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:75
edm::RootPrimaryFileSequence::fillDescription
static void fillDescription(ParameterSetDescription &desc)
Definition: RootPrimaryFileSequence.cc:322
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:88
edm::RootInputFileSequence::setAtPreviousFile
void setAtPreviousFile()
Definition: RootInputFileSequence.h:77
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:85
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:70
edm::RootPrimaryFileSequence::goToEvent
bool goToEvent(EventID const &eventID)
Definition: RootPrimaryFileSequence.cc:265
edm::RootInputFileSequence::fileNames
std::vector< std::string > const & fileNames() const
Definition: RootInputFileSequence.h:79
edm::RootPrimaryFileSequence::makeRootFile
RootFileSharedPtr makeRootFile(std::shared_ptr< InputFile > filePtr) override
Definition: RootPrimaryFileSequence.cc:114
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:363