49 << file->GetName() <<
"' contains no processing history"
50 " and therefore should have no accessible data.\n";
52 std::copy(history.rbegin(),history.rend(),
55 static const std::string s_blank;
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;
72 std::string classType;
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) {
107 if (infos[ii].purpose() !=
"TracksFF")
108 purposes.insert(infos[ii].purpose());
111 if (purposes.empty())
112 purposes.insert(
"Table");
114 for (Purposes::const_iterator itPurpose = purposes.begin(),
115 itEnd = purposes.end();
123 TClass* theClass = TClass::GetClass(desc.
fullClassName().c_str());
128 if (!theClass->GetTypeInfo())
131 const static bool debug =
false;
137 <<
" will not be displayed in table." << std::endl;
static bool classAccessedAsCollection(const TClass *)
std::string & branchName() const
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