1 #include "histodivider.hh"
7 const char*
filename=
"Geant4/RadMap_Out.root";
10 TFile*
file =
new TFile(filename);
18 TFile* ofile =
new TFile(
"figures.root",
"RECREATE");
214 std::vector<TObjArray*> vto = ReadNames(
"names.dat");
215 std::cout <<
"in the file names.dat there eare " << vto.size() <<
" valid entries\n";
216 std::cout << vto.at(0)->GetSize() << std::endl;
220 TIter
next(file->GetListOfKeys());
222 std::vector<TDirectory*> Dirs;
224 while ((key = (TKey*)
next())) {
225 TClass *cl = gROOT->GetClass(key->GetClassName());
227 if (cl->InheritsFrom(
"TDirectory")){
228 Dirs.push_back((TDirectory*)key->ReadObj());
231 std::cout <<
"There are " << Dirs.size() <<
" directories in the file\n";
237 printf(
"%i file are created\n", norm);
241 for(
unsigned int di = 0; di < Dirs.size(); di++){
242 TDirectory* dir = Dirs.at(di);
244 unsigned int si = 9999;
245 for(
unsigned int ii = 0; ii < vto.size(); ii++){
246 if(vto.at(ii)->At(0)){
251 if(TS == (dynamic_cast<TObjString*>(vto.at(ii)->At(0)))->String()) si = ii;
254 std::cout << TS.Data() <<
' ' << si << endl;
256 TObjArray* TOA = TS.Tokenize(
"_");
257 TString Sbegin = (
dynamic_cast<TObjString*
>(TOA->At(0)))->String();
258 TString Send = (
dynamic_cast<TObjString*
>(TOA->At(1)))->String();
260 Send += (
dynamic_cast<TObjString*
>(TOA->At(2)))->String();
262 TString HName = Sbegin +
"_Histo_" + Send;
263 TString SHName = Sbegin +
"_StatHisto_" + Send;
266 signal = (TH2D*)dir->Get(HName.Data());
267 normal = (TH2D*)dir->Get(SHName.Data());
270 if(signal && normal){
277 TH2D*
h2 = plot(signal ,normal ,
c1 , 0,
278 atof((dynamic_cast<TObjString*>(vto.at(si)->At(4)))->String())/norm,
279 (dynamic_cast<TObjString*>(vto.at(si)->At(2)))->String(),
280 (
dynamic_cast<TObjString*
>(vto.at(si)->At(3)))->String(),
281 (
dynamic_cast<TObjString*
>(vto.at(si)->At(1)))->String(),
int main(int argc, char **argv)
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)