50 dataHelper_(branchMap_->getLuminosityBlockTree(),
55 throw cms::Exception(
"NoFile")<<
"The TFile pointer passed to the constructor was null";
66 TTree* luminosityBlockTree =
branchMap_->getLuminosityBlockTree();
72 <<
" does not contain a branch named 'LuminosityBlockAuxiliary'";
76 throw cms::Exception(
"OldFileVersion")<<
"The FWLite Luminosity Block code des not support old file versions";
92 branchMap_(branchMap),
96 dataHelper_(branchMap_->getLuminosityBlockTree(),
99 runFactory_(runFactory)
109 TTree* luminosityBlockTree =
branchMap_->getLuminosityBlockTree();
115 <<
" does not contain a branch named 'LuminosityBlockAuxiliary'";
119 throw cms::Exception(
"OldFileVersion")<<
"The FWLite Luminosity Block code des not support old file versions";
139 for(std::vector<char const*>::iterator it =
labels_.begin(), itEnd=
labels_.end();
154 Long_t luminosityBlockIndex =
branchMap_->getLuminosityBlockEntry();
155 if(luminosityBlockIndex <
size())
157 branchMap_->updateLuminosityBlock(++luminosityBlockIndex);
171 return branchMap_->updateLuminosityBlock(entry);
187 return branchMap_->getLuminosityBlockTree()->GetEntries();
193 Long_t luminosityBlockIndex =
branchMap_->getLuminosityBlockEntry();
194 return luminosityBlockIndex!=-1 and luminosityBlockIndex <
size();
206 Long_t luminosityBlockIndex =
branchMap_->getLuminosityBlockEntry();
207 return luminosityBlockIndex==-1
or luminosityBlockIndex ==
size();
213 char const* iModuleLabel,
214 char const* iProductInstanceLabel,
215 char const* iProcessLabel)
const
223 std::type_info
const& iInfo,
224 char const* iModuleLabel,
225 char const* iProductInstanceLabel,
226 char const* iProcessLabel,
229 throw cms::Exception(
"OffEnd")<<
"You have requested data past the last lumi";
231 Long_t lumiIndex =
branchMap_->getLuminosityBlockEntry();
232 return dataHelper_.
getByLabel(iInfo, iModuleLabel, iProductInstanceLabel, iProcessLabel, oData, lumiIndex);
238 Long_t luminosityBlockIndex =
branchMap_->getLuminosityBlockEntry();
246 if(
auxBranch_->GetEntryNumber() != luminosityBlockIndex) {
261 bool newFormat =
false;
263 Long_t lumiIndex =
branchMap_->getLuminosityBlockEntry();
273 throw cms::Exception(
"NoMetaTree")<<
"The TFile does not appear to contain a TTree named "
280 b->SetAddress(&pPhm);
286 b->SetAddress(&pPhv);
288 for (
auto&
history : historyVector) {
321 Long_t luminosityBlockIndex =
branchMap_->getLuminosityBlockEntry();
334 <<
"'\n productInstance='"<<((0!=iProduct)?iProduct:
"")<<
"'\n process='"<<((0!=iProcess)?iProcess:
"")<<
"'\n"
335 "but no data is available for this LuminosityBlock";
341 void operator()(
void*){}
std::vector< ProcessHistory > ProcessHistoryVector
std::string const & BranchTypeToAuxiliaryBranchName(BranchType const &branchType)
DataGetterHelper dataHelper_
static void throwProductNotFoundException(std::type_info const &, char const *, char const *, char const *)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
bool to(edm::RunNumber_t run, edm::LuminosityBlockNumber_t lumi)
Go to event by Run & LuminosityBlock number.
edm::LuminosityBlockAuxiliary aux_
ProcessHistoryID const & processHistoryID() const
virtual std::string const getBranchNameFor(std::type_info const &, char const *, char const *, char const *) const
edm::WrapperBase const * getByProductID(edm::ProductID const &) const
LuminosityBlock(TFile *iFile)
ProcessHistoryID setProcessHistoryID()
std::string const & luminosityBlockTreeName()
edm::LuminosityBlockAux * pOldAux_
unsigned int LuminosityBlockNumber_t
std::vector< char const * > labels_
virtual bool atEnd() const
std::string const & processHistoryMapBranchName()
edm::WrapperBase const * getByProductID(edm::ProductID const &pid, Long_t eventEntry) const
edm::IndexIntoFile::EntryNumber_t EntryNumber_t
virtual std::string const getBranchNameFor(std::type_info const &, char const *, char const *, char const *) const
fwlite::Run const & getRun() const
std::shared_ptr< fwlite::Run > run_
edm::LuminosityBlockAuxiliary * pAux_
std::vector< std::string > procHistoryNames_
void fillIndex(BranchMapReader const &branchMap)
std::string const & metaDataTreeName()
const edm::ProcessHistory & history() const
const LuminosityBlock & operator++()
static EntryNumber_t const invalidEntry
std::string const & processHistoryBranchName()
void updateAux(Long_t lumiIndex) const
void conversion(EventAux const &from, EventAuxiliary &to)
virtual bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *) const
edm::ProcessHistoryMap historyMap_
const LuminosityBlock & toBegin()
virtual bool getByLabel(std::type_info const &, char const *, char const *, char const *, void *, Long_t) const
std::string const & className() const
std::shared_ptr< BranchMapReader > branchMap_
virtual edm::LuminosityBlockAuxiliary const & luminosityBlockAuxiliary() const
std::shared_ptr< RunFactory > runFactory_
virtual ~LuminosityBlock()
std::map< ProcessHistoryID, ProcessHistory > ProcessHistoryMap
EntryNumber_t findLumi(edm::RunNumber_t const &run, edm::LuminosityBlockNumber_t const &lumi) const