42 Long64_t summedSize=0;
46 for (
auto const&
fileName : iFileNames) {
47 TFile *tfilePtr = TFile::Open(
fileName.c_str());
48 file_ = std::shared_ptr<TFile>(tfilePtr);
49 gROOT->GetListOfFiles()->Remove(tfilePtr);
51 if (
nullptr == tree) {
52 throw cms::Exception(
"NotEdmFile")<<
"The file "<<
fileName<<
" has no 'Events' TTree and therefore is not an EDM ROOT file";
54 Long64_t
nEvents = tree->GetEntries();
156 if (
event_->to(run, lumi, event))
166 std::vector<std::string>::const_iterator filesBegin =
fileNames_.begin(),
171 if (
ifile - filesBegin != thisFile)
176 if (
event_->to(run, lumi, event))
192 return to(run, 0U, event);
200 if (!
size())
return *
this;
213 TFile *tfilePtr = TFile::Open(
fileNames_[iIndex].c_str());
214 file_ = std::shared_ptr<TFile>(tfilePtr);
215 gROOT->GetListOfFiles()->Remove(tfilePtr);
225 char const* iInstance,
226 char const* iProcess)
const
228 return event_->getBranchNameFor(iType,iModule,iInstance,iProcess);
231 std::vector<edm::BranchDescription>
const&
234 return event_->getBranchDescriptions();
237 std::vector<std::string>
const&
240 return event_->getProcessHistory();
246 return event_->processHistory();
252 return event_->eventAuxiliary();
257 return event_->getLuminosityBlock();
268 char const* iInstance,
269 char const* iProcess,
272 return event_->getByLabel(iType, iModule, iInstance, iProcess, iValue);
277 return event_->getByProductID(iID);
281 return event_->getThinnedProduct(pid, key);
285 std::vector<edm::WrapperBase const*>& foundContainers,
286 std::vector<unsigned int>&
keys)
const {
287 event_->getThinnedProducts(pid, foundContainers, keys);
303 if (!
size())
return true;
319 return event_->triggerNames(triggerResults);
325 event_->fillParameterSetRegistry();
330 return event_->triggerResultsByName(process);
339 char const* iInstance,
340 char const* iProcess) {
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
edm::propagate_const< std::shared_ptr< Event > > event_
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
string key
FastSim: produces sample of signal events, overlayed with premixed minbias events.
bool to(Long64_t iIndex)
Go to the event at index iIndex.
element_type const * get() const
virtual bool atEnd() const
std::vector< Long64_t > accumulatedSize_
std::vector< edm::BranchDescription > const & getBranchDescriptions() const
edm::propagate_const< std::shared_ptr< TFile > > file_
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)