49 << file->GetName() <<
"' contains no processing history"
50 " and therefore should have no accessible data.\n";
52 std::copy(history.rbegin(),history.rend(),
56 const std::vector<edm::BranchDescription>& descriptions =
62 TTree* eventsTree =
dynamic_cast<TTree*
>(
const_cast<TFile*
>(
file)->Get(
"Events"));
65 std::set<std::string> branchNamesInFile;
66 TIter nextBranch(eventsTree->GetListOfBranches());
67 while(TBranch* branch = static_cast<TBranch*>(nextBranch()))
68 branchNamesInFile.insert(branch->GetName());
70 typedef std::set<std::string> Purposes;
74 for(
size_t bi = 0, be = descriptions.size(); bi != be; ++bi)
79 || branchNamesInFile.end() == branchNamesInFile.find(desc.
branchName()))
82 const std::vector<FWRepresentationInfo>&
infos
101 for (
size_t ii = 0, ei = infos.size();
ii != ei; ++
ii) {
105 if (infos[
ii].requiresFF() ==
false) {
106 purposes.insert(infos[
ii].purpose());
110 if (purposes.empty())
111 purposes.insert(
"Table");
113 for (Purposes::const_iterator itPurpose = purposes.begin(),
114 itEnd = purposes.end();
122 TClass* theClass = TClass::GetClass(desc.
fullClassName().c_str());
127 if (!theClass->GetTypeInfo())
130 const static bool debug =
false;
136 <<
" 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