14 #include "TDirectory.h"
19 #include "TProfile2D.h"
60 if ( createDirectory(loc).isSuccess() ) {
74 const std::string& fname = pAddr->
par()[0];
77 findTFile(full,tf).ignore();
81 TIter nextkey(gDirectory->GetListOfKeys());
82 while (TKey *key = (TKey*)nextkey()) {
84 TObject *obj = key->ReadObj();
85 std::string title = obj->GetTitle();
86 std::string sid = obj->GetName();
87 std::string f2 = full +
"/" + sid;
88 int idh = ::strtol(sid.c_str(),NULL,10);
90 std::string clname = key->GetClassName();
91 std::string clnm = clname.substr(0,3);
92 TClass* isa = obj->IsA();
93 if (isa->InheritsFrom(
"TTree")) {
95 TTree* tree = (TTree*) obj;
97 log <<
MSG::DEBUG <<
"Reg CWNT \"" << obj->GetTitle()
98 <<
"\" as " << f2 <<
endmsg;
100 }
else if (isa->InheritsFrom(
"TDirectory")) {
102 }
else if ( isa == TProfile::Class() ) {
105 }
else if ( isa == TProfile2D::Class() ) {
108 }
else if ( isa == TH1C::Class() ) {
109 createAddress(full,
CLID_H1D,idh,obj,pA).ignore();
111 }
else if ( isa == TH1S::Class() ) {
112 createAddress(full,
CLID_H1D,idh,obj,pA).ignore();
114 }
else if ( isa == TH1I::Class() ) {
115 createAddress(full,
CLID_H1D,idh,obj,pA).ignore();
117 }
else if ( isa == TH1F::Class() ) {
118 createAddress(full,
CLID_H1D,idh,obj,pA).ignore();
120 }
else if ( isa == TH1D::Class() ) {
121 createAddress(full,
CLID_H1D,idh,obj,pA).ignore();
123 }
else if ( isa == TH2C::Class() ) {
124 createAddress(full,
CLID_H2D,idh,obj,pA).ignore();
126 }
else if ( isa == TH2S::Class() ) {
127 createAddress(full,
CLID_H2D,idh,obj,pA).ignore();
129 }
else if ( isa == TH2I::Class() ) {
130 createAddress(full,
CLID_H2D,idh,obj,pA).ignore();
132 }
else if ( isa == TH2F::Class() ) {
133 createAddress(full,
CLID_H2D,idh,obj,pA).ignore();
135 }
else if ( isa == TH2D::Class() ) {
136 createAddress(full,
CLID_H2D,idh,obj,pA).ignore();
138 }
else if ( isa == TH3C::Class() ) {
139 createAddress(full,
CLID_H3D,idh,obj,pA).ignore();
141 }
else if ( isa == TH3S::Class() ) {
142 createAddress(full,
CLID_H3D,idh,obj,pA).ignore();
144 }
else if ( isa == TH3I::Class() ) {
145 createAddress(full,
CLID_H3D,idh,obj,pA).ignore();
147 }
else if ( isa == TH3F::Class() ) {
148 createAddress(full,
CLID_H3D,idh,obj,pA).ignore();
150 }
else if ( isa == TH3D::Class() ) {
151 createAddress(full,
CLID_H3D,idh,obj,pA).ignore();
154 log <<
MSG::ERROR <<
"Encountered an unknown object with key: "
155 << obj->GetName() <<
" in ROOT file " << fname <<
endmsg;
159 StatusCode sc = dataManager()->registerAddress(pReg, title, pA);
165 <<
"'" << title <<
"' in " << full <<
endmsg;