CMS 3D CMS Logo

PoolSource.cc
Go to the documentation of this file.
1 /*----------------------------------------------------------------------
2 ----------------------------------------------------------------------*/
3 #include "PoolSource.h"
4 #include "InputFile.h"
7 #include "RunHelper.h"
26 
27 #include <set>
28 
29 namespace edm {
30 
31  class BranchID;
32  class LuminosityBlockID;
33  class EventID;
34  class ThinnedAssociationsHelper;
35 
36  namespace {
37  void checkHistoryConsistency(Principal const& primary, Principal const& secondary) {
38  ProcessHistory const& ph1 = primary.processHistory();
39  ProcessHistory const& ph2 = secondary.processHistory();
40  if (ph1 != ph2 && !isAncestor(ph2, ph1)) {
41  throw Exception(errors::MismatchedInputFiles, "PoolSource::checkConsistency")
42  << "The secondary file is not an ancestor of the primary file\n";
43  }
44  }
45  void checkConsistency(EventPrincipal const& primary, EventPrincipal const& secondary) {
46  if (!isSameEvent(primary, secondary)) {
47  throw Exception(errors::MismatchedInputFiles, "PoolSource::checkConsistency")
48  << primary.id() << " has inconsistent EventAuxiliary data in the primary and secondary file\n";
49  }
50  }
51  void checkConsistency(LuminosityBlockAuxiliary const& primary, LuminosityBlockAuxiliary const& secondary) {
52  if (primary.id() != secondary.id()) {
53  throw Exception(errors::MismatchedInputFiles, "PoolSource::checkConsistency")
54  << primary.id() << " has inconsistent LuminosityBlockAuxiliary data in the primary and secondary file\n";
55  }
56  }
57  void checkConsistency(RunAuxiliary const& primary, RunAuxiliary const& secondary) {
58  if (primary.id() != secondary.id()) {
59  throw Exception(errors::MismatchedInputFiles, "PoolSource::checkConsistency")
60  << primary.id() << " has inconsistent RunAuxiliary data in the primary and secondary file\n";
61  }
62  }
63  } // namespace
64 
66  : InputSource(pset, desc),
67  rootServiceChecker_(),
68  catalog_(pset.getUntrackedParameter<std::vector<std::string> >("fileNames"),
69  pset.getUntrackedParameter<std::string>("overrideCatalog", std::string())),
70  secondaryCatalog_(
71  pset.getUntrackedParameter<std::vector<std::string> >("secondaryFileNames", std::vector<std::string>()),
72  pset.getUntrackedParameter<std::string>("overrideCatalog", std::string())),
73  secondaryRunPrincipal_(),
74  secondaryLumiPrincipal_(),
75  secondaryEventPrincipals_(),
76  branchIDsToReplace_(),
77  nStreams_(desc.allocations_->numberOfStreams()),
78  skipBadFiles_(pset.getUntrackedParameter<bool>("skipBadFiles")),
79  bypassVersionCheck_(pset.getUntrackedParameter<bool>("bypassVersionCheck")),
80  treeMaxVirtualSize_(pset.getUntrackedParameter<int>("treeMaxVirtualSize")),
81  productSelectorRules_(pset, "inputCommands", "InputSource"),
82  dropDescendants_(pset.getUntrackedParameter<bool>("dropDescendantsOfDroppedBranches")),
83  labelRawDataLikeMC_(pset.getUntrackedParameter<bool>("labelRawDataLikeMC")),
84  delayReadingEventProducts_(pset.getUntrackedParameter<bool>("delayReadingEventProducts")),
85  runHelper_(makeRunHelper(pset)),
86  resourceSharedWithDelayedReaderPtr_(),
87  // Note: primaryFileSequence_ and secondaryFileSequence_ need to be initialized last, because they use data members
88  // initialized previously in their own initialization.
89  primaryFileSequence_(new RootPrimaryFileSequence(pset, *this, catalog_)),
90  secondaryFileSequence_(
91  secondaryCatalog_.empty() ? nullptr : new RootSecondaryFileSequence(pset, *this, secondaryCatalog_)) {
93  resourceSharedWithDelayedReaderPtr_ = std::make_unique<SharedResourcesAcquirer>(std::move(resources.first));
95 
96  if (secondaryCatalog_.empty() && pset.getUntrackedParameter<bool>("needSecondaryFileNames", false)) {
97  throw Exception(errors::Configuration, "PoolSource") << "'secondaryFileNames' must be specified\n";
98  }
101  for (unsigned int index = 0; index < nStreams_; ++index) {
102  secondaryEventPrincipals_.emplace_back(new EventPrincipal(secondaryFileSequence_->fileProductRegistry(),
103  secondaryFileSequence_->fileBranchIDListHelper(),
104  std::make_shared<ThinnedAssociationsHelper const>(),
106  nullptr,
107  index));
108  }
109  std::array<std::set<BranchID>, NumBranchTypes> idsToReplace;
110  ProductRegistry::ProductList const& secondary = secondaryFileSequence_->fileProductRegistry()->productList();
111  ProductRegistry::ProductList const& primary = primaryFileSequence_->fileProductRegistry()->productList();
112  std::set<BranchID> associationsFromSecondary;
113  //this is the registry used by the 'outside' world and only has the primary file information in it at present
115  for (auto const& item : secondary) {
116  if (item.second.present()) {
117  idsToReplace[item.second.branchType()].insert(item.second.branchID());
118  if (item.second.branchType() == InEvent && item.second.unwrappedType() == typeid(ThinnedAssociation)) {
119  associationsFromSecondary.insert(item.second.branchID());
120  }
121  //now make sure this is marked as not dropped else the product will not be 'get'table from the Event
122  auto itFound = fullList.find(item.first);
123  if (itFound != fullList.end()) {
124  itFound->second.setDropped(false);
125  }
126  }
127  }
128  for (auto const& item : primary) {
129  if (item.second.present()) {
130  idsToReplace[item.second.branchType()].erase(item.second.branchID());
131  associationsFromSecondary.erase(item.second.branchID());
132  }
133  }
134  if (idsToReplace[InEvent].empty() && idsToReplace[InLumi].empty() && idsToReplace[InRun].empty()) {
135  secondaryFileSequence_ = nullptr; // propagate_const<T> has no reset() function
136  } else {
137  for (int i = InEvent; i < NumBranchTypes; ++i) {
138  branchIDsToReplace_[i].reserve(idsToReplace[i].size());
139  for (auto const& id : idsToReplace[i]) {
140  branchIDsToReplace_[i].push_back(id);
141  }
142  }
143  secondaryFileSequence_->initAssociationsFromSecondary(associationsFromSecondary);
144  }
145  }
146  }
147 
149 
152  secondaryFileSequence_->endJob();
153  primaryFileSequence_->endJob();
155  }
156 
157  std::shared_ptr<FileBlock> PoolSource::readFile_() {
158  std::shared_ptr<FileBlock> fb = primaryFileSequence_->readFile_();
160  fb->setNotFastClonable(FileBlock::HasSecondaryFileSequence);
161  }
162  return fb;
163  }
164 
166 
167  std::shared_ptr<RunAuxiliary> PoolSource::readRunAuxiliary_() { return primaryFileSequence_->readRunAuxiliary_(); }
168 
169  std::shared_ptr<LuminosityBlockAuxiliary> PoolSource::readLuminosityBlockAuxiliary_() {
170  return primaryFileSequence_->readLuminosityBlockAuxiliary_();
171  }
172 
173  void PoolSource::fillProcessBlockHelper_() { primaryFileSequence_->fillProcessBlockHelper_(); }
174 
176  return primaryFileSequence_->nextProcessBlock_(processBlockPrincipal);
177  }
178 
180  primaryFileSequence_->readProcessBlock_(processBlockPrincipal);
181  }
182 
183  void PoolSource::readRun_(RunPrincipal& runPrincipal) {
184  primaryFileSequence_->readRun_(runPrincipal);
186  bool found = secondaryFileSequence_->skipToItem(runPrincipal.run(), 0U, 0U);
187  if (found) {
188  std::shared_ptr<RunAuxiliary> secondaryAuxiliary = secondaryFileSequence_->readRunAuxiliary_();
189  checkConsistency(runPrincipal.aux(), *secondaryAuxiliary);
190  secondaryRunPrincipal_ = std::make_shared<RunPrincipal>(secondaryAuxiliary,
191  secondaryFileSequence_->fileProductRegistry(),
193  nullptr,
194  runPrincipal.index());
196  checkHistoryConsistency(runPrincipal, *secondaryRunPrincipal_);
198  } else {
199  throw Exception(errors::MismatchedInputFiles, "PoolSource::readRun_")
200  << " Run " << runPrincipal.run() << " is not found in the secondary input files\n";
201  }
202  }
203  }
204 
206  primaryFileSequence_->readLuminosityBlock_(lumiPrincipal);
208  bool found = secondaryFileSequence_->skipToItem(lumiPrincipal.run(), lumiPrincipal.luminosityBlock(), 0U);
209  if (found) {
210  std::shared_ptr<LuminosityBlockAuxiliary> secondaryAuxiliary =
211  secondaryFileSequence_->readLuminosityBlockAuxiliary_();
212  checkConsistency(lumiPrincipal.aux(), *secondaryAuxiliary);
213  secondaryLumiPrincipal_ = std::make_shared<LuminosityBlockPrincipal>(
214  secondaryFileSequence_->fileProductRegistry(), processConfiguration(), nullptr, lumiPrincipal.index());
215  secondaryLumiPrincipal_->setAux(*secondaryAuxiliary);
216  secondaryFileSequence_->readLuminosityBlock_(*secondaryLumiPrincipal_);
217  checkHistoryConsistency(lumiPrincipal, *secondaryLumiPrincipal_);
219  } else {
220  throw Exception(errors::MismatchedInputFiles, "PoolSource::readLuminosityBlock_")
221  << " Run " << lumiPrincipal.run() << " LuminosityBlock " << lumiPrincipal.luminosityBlock()
222  << " is not found in the secondary input files\n";
223  }
224  }
225  }
226 
227  void PoolSource::readEvent_(EventPrincipal& eventPrincipal) {
228  bool readEventSucceeded = primaryFileSequence_->readEvent(eventPrincipal);
229  assert(readEventSucceeded);
231  bool found = secondaryFileSequence_->skipToItem(
232  eventPrincipal.run(), eventPrincipal.luminosityBlock(), eventPrincipal.id().event());
233  if (found) {
234  EventPrincipal& secondaryEventPrincipal = *secondaryEventPrincipals_[eventPrincipal.streamID().value()];
235  bool readEventSucceeded = secondaryFileSequence_->readEvent(secondaryEventPrincipal);
236  checkConsistency(eventPrincipal, secondaryEventPrincipal);
237  checkHistoryConsistency(eventPrincipal, secondaryEventPrincipal);
238  assert(readEventSucceeded);
239  eventPrincipal.recombine(secondaryEventPrincipal, branchIDsToReplace_[InEvent]);
240  eventPrincipal.mergeProvenanceRetrievers(secondaryEventPrincipal);
241  secondaryEventPrincipal.clearPrincipal();
242  } else {
243  throw Exception(errors::MismatchedInputFiles, "PoolSource::readEvent_")
244  << eventPrincipal.id() << " is not found in the secondary input files\n";
245  }
246  }
247  if (not delayReadingEventProducts_) {
248  eventPrincipal.readAllFromSourceAndMergeImmediately();
249  }
250  }
251 
252  bool PoolSource::readIt(EventID const& id, EventPrincipal& eventPrincipal, StreamContext& streamContext) {
253  bool found = primaryFileSequence_->skipToItem(id.run(), id.luminosityBlock(), id.event());
254  if (!found)
255  return false;
256  EventSourceSentry sentry(*this, streamContext);
257  readEvent_(eventPrincipal);
258  return true;
259  }
260 
265  InputSource::ItemType itemType = primaryFileSequence_->getNextItemType(run, lumi, event);
267  if (itemType == IsRun || itemType == IsLumi || itemType == IsEvent) {
268  if (!secondaryFileSequence_->containedInCurrentFile(run, lumi, event)) {
269  return IsSynchronize;
270  }
271  }
272  }
273  return runHelper_->nextItemType(state(), itemType, run, lumi, event);
274  }
275 
276  std::pair<SharedResourcesAcquirer*, std::recursive_mutex*> PoolSource::resourceSharedWithDelayedReader_() {
277  return std::make_pair(resourceSharedWithDelayedReaderPtr_.get(), mutexSharedWithDelayedReader_.get());
278  }
279 
280  // Rewind to before the first event that was read.
282 
283  // Advance "offset" events. Offset can be positive or negative (or zero).
285 
286  bool PoolSource::goToEvent_(EventID const& eventID) { return primaryFileSequence_->goToEvent(eventID); }
287 
290 
291  std::vector<std::string> defaultStrings;
292  desc.setComment("Reads EDM/Root files.");
293  desc.addUntracked<std::vector<std::string> >("fileNames")->setComment("Names of files to be processed.");
294  desc.addUntracked<std::vector<std::string> >("secondaryFileNames", defaultStrings)
295  ->setComment("Names of secondary files to be processed.");
296  desc.addUntracked<bool>("needSecondaryFileNames", false)
297  ->setComment("If True, 'secondaryFileNames' must be specified and be non-empty.");
298  desc.addUntracked<std::string>("overrideCatalog", std::string());
299  desc.addUntracked<bool>("skipBadFiles", false)
300  ->setComment(
301  "True: Ignore any missing or unopenable input file.\n"
302  "False: Throw exception if missing or unopenable input file.");
303  desc.addUntracked<bool>("bypassVersionCheck", false)
304  ->setComment(
305  "True: Bypass release version check.\n"
306  "False: Throw exception if reading file in a release prior to the release in which the file was written.");
307  desc.addUntracked<int>("treeMaxVirtualSize", -1)
308  ->setComment("Size of ROOT TTree TBasket cache. Affects performance.");
309  desc.addUntracked<bool>("dropDescendantsOfDroppedBranches", true)
310  ->setComment("If True, also drop on input any descendent of any branch dropped on input.");
311  desc.addUntracked<bool>("labelRawDataLikeMC", true)
312  ->setComment("If True: replace module label for raw data to match MC. Also use 'LHC' as process.");
313  desc.addUntracked<bool>("delayReadingEventProducts", true)
314  ->setComment(
315  "If True: do not read a data product from the file until it is requested. If False: all event data "
316  "products are read upfront.");
321 
322  descriptions.add("source", desc);
323  }
324 
325  bool PoolSource::randomAccess_() const { return true; }
326 
328 
330 } // namespace edm
ConfigurationDescriptions.h
edm::PoolSource::primaryFileSequence_
edm::propagate_const< std::unique_ptr< RootPrimaryFileSequence > > primaryFileSequence_
Definition: PoolSource.h:97
ThinnedAssociationsHelper.h
edm::RunNumber_t
unsigned int RunNumber_t
Definition: RunLumiEventNumber.h:14
edm::PoolSource::readFile_
std::shared_ptr< FileBlock > readFile_() override
Definition: PoolSource.cc:157
edm::PoolSource::secondaryRunPrincipal_
edm::propagate_const< std::shared_ptr< RunPrincipal > > secondaryRunPrincipal_
Definition: PoolSource.h:79
edm::errors::MismatchedInputFiles
Definition: EDMException.h:52
RunHelper.h
electrons_cff.bool
bool
Definition: electrons_cff.py:366
mps_fire.i
i
Definition: mps_fire.py:428
edm::PoolSource::nextProcessBlock_
bool nextProcessBlock_(ProcessBlockPrincipal &) override
Definition: PoolSource.cc:175
edm::PoolSource::fillProcessBlockHelper_
void fillProcessBlockHelper_() override
Definition: PoolSource.cc:173
ProducerES_cfi.ProcessHistory
ProcessHistory
Definition: ProducerES_cfi.py:14
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::Principal::readAllFromSourceAndMergeImmediately
void readAllFromSourceAndMergeImmediately(MergeableRunProductMetadata const *mergeableRunProductMetadata=nullptr)
Definition: Principal.cc:968
edm::EventPrincipal::mergeProvenanceRetrievers
void mergeProvenanceRetrievers(EventPrincipal &other)
Definition: EventPrincipal.h:153
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
edm::ThinnedAssociation
Definition: ThinnedAssociation.h:15
edm::PoolSource::readLuminosityBlock_
void readLuminosityBlock_(LuminosityBlockPrincipal &lumiPrincipal) override
Definition: PoolSource.cc:205
edm::InputSourceDescription
Definition: InputSourceDescription.h:21
cms::cuda::assert
assert(be >=bs)
edm::PoolSource::runHelper_
edm::propagate_const< std::unique_ptr< RunHelperBase > > runHelper_
Definition: PoolSource.h:93
IndexIntoFile.h
edm::SharedResourcesRegistry::createAcquirerForSourceDelayedReader
std::pair< SharedResourcesAcquirer, std::shared_ptr< std::recursive_mutex > > createAcquirerForSourceDelayedReader()
Definition: SharedResourcesRegistry.cc:64
edm::PoolSource::resourceSharedWithDelayedReaderPtr_
std::unique_ptr< SharedResourcesAcquirer > resourceSharedWithDelayedReaderPtr_
Definition: PoolSource.h:95
edm::StreamID::value
unsigned int value() const
Definition: StreamID.h:43
PreallocationConfiguration.h
ProductRegistry.h
edm::LuminosityBlockPrincipal::run
RunNumber_t run() const
Definition: LuminosityBlockPrincipal.h:66
edm::PoolSource::secondaryEventPrincipals_
std::vector< edm::propagate_const< std::unique_ptr< EventPrincipal > > > secondaryEventPrincipals_
Definition: PoolSource.h:81
edm::InputFileCatalog::empty
bool empty() const
Definition: InputFileCatalog.h:42
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
edm::LuminosityBlockNumber_t
unsigned int LuminosityBlockNumber_t
Definition: RunLumiEventNumber.h:13
edm::RunPrincipal::aux
RunAuxiliary const & aux() const
Definition: RunPrincipal.h:59
edm::EventPrincipal::id
EventID const & id() const
Definition: EventPrincipal.h:96
edm::Principal::recombine
void recombine(Principal &other, std::vector< BranchID > const &bids)
Definition: Principal.cc:890
edm::InRun
Definition: BranchType.h:11
edm::ProcessBlockPrincipal
Definition: ProcessBlockPrincipal.h:22
edm::PoolSource::readProcessBlock_
void readProcessBlock_(ProcessBlockPrincipal &) override
Definition: PoolSource.cc:179
edm::InputSource::state
ItemType state() const
Definition: InputSource.h:332
edm::PoolSource::~PoolSource
~PoolSource() override
Definition: PoolSource.cc:148
edm::NumBranchTypes
Definition: BranchType.h:11
edm::RunHelperBase::fillDescription
static void fillDescription(ParameterSetDescription &desc)
Definition: RunHelper.cc:240
PoolSource.h
edm::InputSource::IsRun
Definition: InputSource.h:54
RootPrimaryFileSequence.h
edm::LuminosityBlockPrincipal::aux
LuminosityBlockAuxiliary const & aux() const
Definition: LuminosityBlockPrincipal.h:64
EDMException.h
SharedResourcesAcquirer.h
edm::ProcessingController::ForwardState
ForwardState
Definition: ProcessingController.h:31
edm::InputFile::reportReadBranches
static void reportReadBranches()
Definition: InputFile.cc:106
edm::InputSource::fillDescription
static void fillDescription(ParameterSetDescription &desc)
Definition: InputSource.cc:117
edm::EventPrincipal
Definition: EventPrincipal.h:48
edm::isAncestor
bool isAncestor(ProcessHistory const &a, ProcessHistory const &b)
Definition: ProcessHistory.cc:53
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
edm::StreamContext
Definition: StreamContext.h:31
edm::ProductRegistry::productListUpdator
ProductList & productListUpdator()
Definition: ProductRegistry.h:81
EventPrincipal.h
edm::makeRunHelper
std::unique_ptr< RunHelperBase > makeRunHelper(ParameterSet const &pset)
Definition: RunHelper.cc:12
edm::InputSource::IsSynchronize
Definition: InputSource.h:54
edm::PoolSource::delayReadingEventProducts_
bool delayReadingEventProducts_
Definition: PoolSource.h:91
edm::PoolSource::readRun_
void readRun_(RunPrincipal &runPrincipal) override
Definition: PoolSource.cc:183
edm::EventNumber_t
unsigned long long EventNumber_t
Definition: RunLumiEventNumber.h:12
edm::InEvent
Definition: BranchType.h:11
edm::PoolSource::nStreams_
unsigned int nStreams_
Definition: PoolSource.h:84
ParameterSetDescription.h
edm::PoolSource::readRunAuxiliary_
std::shared_ptr< RunAuxiliary > readRunAuxiliary_() override
Definition: PoolSource.cc:167
edm::IndexIntoFile::invalidLumi
static constexpr LuminosityBlockNumber_t invalidLumi
Definition: IndexIntoFile.h:234
edm::PoolSource::readLuminosityBlockAuxiliary_
std::shared_ptr< LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary_() override
Definition: PoolSource.cc:169
InputSourceDescription.h
edm::PoolSource::secondaryCatalog_
InputFileCatalog secondaryCatalog_
Definition: PoolSource.h:78
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
InputType.h
edm::SharedResourcesRegistry::instance
static SharedResourcesRegistry * instance()
Definition: SharedResourcesRegistry.cc:25
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::RunPrincipal::index
RunIndex index() const
Definition: RunPrincipal.h:57
edm::PoolSource::resourceSharedWithDelayedReader_
std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > resourceSharedWithDelayedReader_() override
Definition: PoolSource.cc:276
edm::PoolSource::randomAccess_
bool randomAccess_() const override
Definition: PoolSource.cc:325
edm::PoolSource::reverseState_
ProcessingController::ReverseState reverseState_() const override
Definition: PoolSource.cc:329
edm::ProductRegistry::ProductList
std::map< BranchKey, BranchDescription > ProductList
Definition: ProductRegistry.h:39
BranchDescription.h
edm::IndexIntoFile::invalidEvent
static constexpr EventNumber_t invalidEvent
Definition: IndexIntoFile.h:235
edm::PoolSource::forwardState_
ProcessingController::ForwardState forwardState_() const override
Definition: PoolSource.cc:327
edm::ParameterSet
Definition: ParameterSet.h:47
edm::EventPrincipal::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: EventPrincipal.h:112
edm::InputSource::productRegistryUpdate
ProductRegistry & productRegistryUpdate()
Definition: InputSource.h:330
edm::InputSource::EventSourceSentry
Definition: InputSource.h:239
edm::InLumi
Definition: BranchType.h:11
edm::ProductSelectorRules::fillDescription
static void fillDescription(ParameterSetDescription &desc, char const *parameterName, std::vector< std::string > const &defaultStrings=defaultSelectionStrings())
Definition: ProductSelectorRules.cc:202
edm::PoolSource::readIt
bool readIt(EventID const &id, EventPrincipal &eventPrincipal, StreamContext &streamContext) override
Definition: PoolSource.cc:252
edm::InputSource::IsLumi
Definition: InputSource.h:54
edm::PoolSource::readEvent_
void readEvent_(EventPrincipal &eventPrincipal) override
Definition: PoolSource.cc:227
RunPrincipal.h
edmPickEvents.event
event
Definition: edmPickEvents.py:273
edm::FileBlock::HasSecondaryFileSequence
Definition: FileBlock.h:32
edm::RunPrincipal::run
RunNumber_t run() const
Definition: RunPrincipal.h:61
edm::EventID::event
EventNumber_t event() const
Definition: EventID.h:40
createfilelist.int
int
Definition: createfilelist.py:10
edm::PoolSource::fillDescriptions
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: PoolSource.cc:288
edm::InputSource::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Accessor for current luminosity block number.
Definition: InputSource.cc:462
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
B2GTnPMonitor_cfi.item
item
Definition: B2GTnPMonitor_cfi.py:147
edm::EventPrincipal::streamID
StreamID streamID() const
Definition: EventPrincipal.h:110
InputFile.h
RootSecondaryFileSequence.h
edm::Principal::clearPrincipal
void clearPrincipal()
Definition: Principal.cc:382
edm::PoolSource::mutexSharedWithDelayedReader_
std::shared_ptr< std::recursive_mutex > mutexSharedWithDelayedReader_
Definition: PoolSource.h:96
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
LuminosityBlockPrincipal.h
FileBlock.h
edm::LuminosityBlockPrincipal::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockPrincipal.h:61
edm::InputSource::ItemType
ItemType
Definition: InputSource.h:54
edm::PoolSource::getNextItemType
ItemType getNextItemType() override
Definition: PoolSource.cc:261
edm::PoolSource::skip
void skip(int offset) override
Definition: PoolSource.cc:284
edm::InputSource::processConfiguration
ProcessConfiguration const & processConfiguration() const
Accessor for Process Configuration.
Definition: InputSource.h:192
edm::EventPrincipal::run
RunNumber_t run() const
Definition: EventPrincipal.h:114
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
SharedResourcesRegistry.h
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
Exception
Definition: hltDiff.cc:245
edm::isSameEvent
bool isSameEvent(EventAuxiliary const &a, EventAuxiliary const &b)
Definition: EventAuxiliary.cc:15
mps_fire.resources
resources
Definition: mps_fire.py:263
edm::PoolSource::endJob
void endJob() override
Definition: PoolSource.cc:150
ThinnedAssociation.h
edm::PoolSource::rewind_
void rewind_() override
Definition: PoolSource.cc:281
Exception.h
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
edm::RootPrimaryFileSequence::fillDescription
static void fillDescription(ParameterSetDescription &desc)
Definition: RootPrimaryFileSequence.cc:403
visualization-live-secondInstance_cfg.numberOfStreams
numberOfStreams
Definition: visualization-live-secondInstance_cfg.py:96
edm::PoolSource::PoolSource
PoolSource(ParameterSet const &pset, InputSourceDescription const &desc)
Definition: PoolSource.cc:65
edm::PoolSource::branchIDsToReplace_
std::array< std::vector< BranchID >, NumBranchTypes > branchIDsToReplace_
Definition: PoolSource.h:82
edm::InputSource::IsEvent
Definition: InputSource.h:54
edm::InputSource
Definition: InputSource.h:52
edm::LuminosityBlockPrincipal::index
LuminosityBlockIndex index() const
Definition: LuminosityBlockPrincipal.h:51
edm::RunPrincipal
Definition: RunPrincipal.h:34
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::RootSecondaryFileSequence
Definition: RootSecondaryFileSequence.h:28
lumi
Definition: LumiSectionData.h:20
edm::PoolSource::closeFile_
void closeFile_() override
Definition: PoolSource.cc:165
edm::errors::Configuration
Definition: EDMException.h:36
edm::RootPrimaryFileSequence
Definition: RootPrimaryFileSequence.h:34
edm::PoolSource::secondaryLumiPrincipal_
edm::propagate_const< std::shared_ptr< LuminosityBlockPrincipal > > secondaryLumiPrincipal_
Definition: PoolSource.h:80
edm::PoolSource::secondaryFileSequence_
edm::propagate_const< std::unique_ptr< RootSecondaryFileSequence > > secondaryFileSequence_
Definition: PoolSource.h:98
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
edm::IndexIntoFile::invalidRun
static constexpr RunNumber_t invalidRun
Definition: IndexIntoFile.h:233
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
edm::InputSource::run
RunNumber_t run() const
Accessor for current run number.
Definition: InputSource.cc:457
edm::PoolSource::goToEvent_
bool goToEvent_(EventID const &eventID) override
Definition: PoolSource.cc:286