42 Long64_t summedSize=0;
46 for (std::vector<std::string>::const_iterator it= iFileNames.begin(), itEnd = iFileNames.end();
49 TFile *tfilePtr = TFile::Open(it->c_str());
50 file_ = std::shared_ptr<TFile>(tfilePtr);
51 gROOT->GetListOfFiles()->Remove(tfilePtr);
54 throw cms::Exception(
"NotEdmFile")<<
"The file "<<*it<<
" has no 'Events' TTree and therefore is not an EDM ROOT file";
56 Long64_t
nEvents = tree->GetEntries();
158 if (
event_->to(run, lumi, event))
168 std::vector<std::string>::const_iterator filesBegin =
fileNames_.begin(),
173 if (
ifile - filesBegin != thisFile)
178 if (
event_->to(run, lumi, event))
194 return to(run, 0U, event);
202 if (!
size())
return *
this;
215 TFile *tfilePtr = TFile::Open(
fileNames_[iIndex].c_str());
216 file_ = std::shared_ptr<TFile>(tfilePtr);
217 gROOT->GetListOfFiles()->Remove(tfilePtr);
227 char const* iInstance,
228 char const* iProcess)
const
230 return event_->getBranchNameFor(iType,iModule,iInstance,iProcess);
233 std::vector<edm::BranchDescription>
const&
236 return event_->getBranchDescriptions();
239 std::vector<std::string>
const&
242 return event_->getProcessHistory();
248 return event_->processHistory();
254 return event_->eventAuxiliary();
259 return event_->getLuminosityBlock();
270 char const* iInstance,
271 char const* iProcess,
274 return event_->getByLabel(iType, iModule, iInstance, iProcess, iValue);
279 return event_->getByProductID(iID);
283 return event_->getThinnedProduct(pid, key);
287 std::vector<edm::WrapperBase const*>& foundContainers,
288 std::vector<unsigned int>&
keys)
const {
289 event_->getThinnedProducts(pid, foundContainers, keys);
305 if (!
size())
return true;
321 return event_->triggerNames(triggerResults);
327 event_->fillParameterSetRegistry();
332 return event_->triggerResultsByName(process);
341 char const* iInstance,
342 char const* iProcess) {
std::shared_ptr< TFile > file_
edm::WrapperBase const * getThinnedProduct(edm::ProductID const &pid, unsigned int &key) const
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
virtual edm::TriggerResultsByName triggerResultsByName(std::string const &process) const
void getThinnedProducts(edm::ProductID const &pid, std::vector< edm::WrapperBase const * > &foundContainers, std::vector< unsigned int > &keys) const
virtual edm::EventAuxiliary const & eventAuxiliary() const
void switchToFile(Long64_t)
virtual bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *) const
unsigned long long EventNumber_t
edm::LuminosityBlockNumber_t luminosityBlock() const
unsigned int LuminosityBlockNumber_t
static void throwProductNotFoundException(std::type_info const &, char const *, char const *, char const *)
virtual std::string const getBranchNameFor(std::type_info const &, char const *, char const *, char const *) const
virtual edm::WrapperBase const * getByProductID(edm::ProductID const &) const
fwlite::LuminosityBlock const & getLuminosityBlock()
void fillParameterSetRegistry() const
std::vector< std::string > const & getProcessHistory() const
static std::string const triggerResults
fwlite::Run const & getRun()
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
bool to(Long64_t iIndex)
Go to the event at index iIndex.
virtual bool atEnd() const
std::vector< Long64_t > accumulatedSize_
std::shared_ptr< Event > event_
std::vector< edm::BranchDescription > const & getBranchDescriptions() const
ChainEvent const & toBegin()
ChainEvent const & operator++()
static void throwProductNotFoundException(std::type_info const &, char const *, char const *, char const *)
std::string const & eventTreeName()
virtual edm::ProcessHistory const & processHistory() const
Event const * event() const
std::vector< std::string > fileNames_
ChainEvent(std::vector< std::string > const &iFileNames)