85 const std::string& fname = pAddr->
par()[0];
92 TIter nextkey( gDirectory->GetListOfKeys() );
93 while ( TKey* key = (TKey*)nextkey() ) {
95 TObject* obj = key->ReadObj();
96 std::string title = obj->GetTitle();
97 std::string sid = obj->GetName();
98 std::string f2 = full +
"/" + sid;
99 int idh = maybe_stol( sid ).value_or( 0 );
101 std::string clname = key->GetClassName();
102 std::string clnm = clname.substr( 0, 3 );
103 TClass* isa = obj->IsA();
104 if ( isa->InheritsFrom(
"TTree" ) ) {
105 createAddress( full, CLID_ColumnWiseTuple, idh, obj, pA ).ignore();
106 TTree* tree =
dynamic_cast<TTree*
>( obj );
108 log <<
MSG::DEBUG <<
"Reg CWNT \"" << obj->GetTitle() <<
"\" as " << f2 <<
endmsg;
110 }
else if ( isa->InheritsFrom(
"TDirectory" ) ) {
111 createAddress( full, CLID_NTupleDirectory, title, obj, pA ).ignore();
112 }
else if ( isa == TProfile::Class() ) {
115 }
else if ( isa == TProfile2D::Class() ) {
116 createAddress( full, CLID_ProfileH2, idh, obj, pA ).ignore();
118 }
else if ( isa == TH1C::Class() ) {
121 }
else if ( isa == TH1S::Class() ) {
124 }
else if ( isa == TH1I::Class() ) {
127 }
else if ( isa == TH1F::Class() ) {
130 }
else if ( isa == TH1D::Class() ) {
133 }
else if ( isa == TH2C::Class() ) {
136 }
else if ( isa == TH2S::Class() ) {
139 }
else if ( isa == TH2I::Class() ) {
142 }
else if ( isa == TH2F::Class() ) {
145 }
else if ( isa == TH2D::Class() ) {
148 }
else if ( isa == TH3C::Class() ) {
151 }
else if ( isa == TH3S::Class() ) {
154 }
else if ( isa == TH3I::Class() ) {
157 }
else if ( isa == TH3F::Class() ) {
160 }
else if ( isa == TH3D::Class() ) {
164 log <<
MSG::ERROR <<
"Encountered an unknown object with key: " << obj->GetName() <<
" in ROOT file " << fname
174 log <<
MSG::VERBOSE <<
"Created address for " << clnm <<
"'" << title <<
"' in " << full <<
endmsg;