53 std::cout <<
"WARNING: the file '" << file->GetName()
54 <<
"' contains no processing history" 55 " and therefore should have no accessible data.\n";
65 TTree* eventsTree =
dynamic_cast<TTree*
>(
const_cast<TFile*
>(
file)->Get(
"Events"));
68 std::set<std::string> branchNamesInFile;
69 TIter nextBranch(eventsTree->GetListOfBranches());
70 while (TBranch*
branch = static_cast<TBranch*>(nextBranch()))
71 branchNamesInFile.insert(
branch->GetName());
73 typedef std::set<std::string> Purposes;
77 for (
size_t bi = 0, be = descriptions.size(); bi != be; ++bi) {
80 if (!desc.
present() || branchNamesInFile.end() == branchNamesInFile.find(desc.
branchName()))
101 for (
size_t ii = 0,
ei = infos.size();
ii !=
ei; ++
ii) {
105 if (infos[
ii].requiresFF() ==
false) {
110 if (purposes.empty())
111 purposes.insert(
"Table");
113 for (Purposes::const_iterator itPurpose = purposes.begin(), itEnd = purposes.end(); itPurpose != itEnd;
119 TClass* theClass = TClass::GetClass(desc.
fullClassName().c_str());
124 if (!theClass->GetTypeInfo())
127 const static bool debug =
false;
131 fwLog(
fwlog::kDebug) << theClass->GetName() <<
" will not be displayed in table." << std::endl;
std::string const & branchName() const
static bool classAccessedAsCollection(const TClass *)
const std::vector< FWRepresentationInfo > & representationsForType(const std::string &iTypeName) const
std::string const & processName() const
std::string const & moduleLabel() const
std::string const & productInstanceName() const
std::vector< edm::BranchDescription > const & getBranchDescriptions() const
std::vector< std::string > const & getProcessHistory() const
std::string const & fullClassName() const