640 {
641
642 static std::string savedir = "";
643
645
647
650
652
654
655 std::string newspacer = space;
656
659 return;
660 }
661
662
663
665
666 std::string output_name =
find(
n.name());
667
669 if ( path==
"" )
path += output_name;
670 else path +=
"/" + output_name;
671 if ( rawpath==
"" ) rawpath +=
n.name();
672 else rawpath +=
"/" +
n.name();
673 }
674
676
677 if (
print ) (*outp) << space <<
"dir " <<
n.name() <<
" {" <<
"\n";
678
679 bool first_hists = true;
680
681 for (
unsigned i=0 ;
i<
n.size() ;
i++ ) {
685 if ( first_hists ) {
686 (*outp) << space << "\t" << "hist .* {\n";
687 (*outp) << space << "\t\t" << "regex \t= 1\n";
688 (*outp) << space <<
"\t\t" <<
"algorithm \t= " <<
algorithm <<
"\n";
689 (*outp) << space <<
"\t\t" <<
"description \t= " <<
description <<
"\n";
690 (*outp) << space <<
"\t\t" <<
"output \t= " <<
path <<
"\n";
691 (*outp) << space << "\t\t" << "display \t= StatBox\n";
693 for (
unsigned it=0 ;
it<
tags.size() ;
it++ ) (*
outp) << space <<
"\t\t" <<
replace(
tags[it],
"=",
"\t=") <<
"\n";
694 (*outp) << space << "\t" << "}\n";
695 }
696 first_hists = false;
697 }
698 else {
699 (*outp) << space <<
"\t" <<
"hist " <<
n[
i]->name() <<
" {\n";
700 (*outp) << space <<
"\t\t" <<
"algorithm \t= " <<
algorithm <<
"\n";
701 (*outp) << space <<
"\t\t" <<
"description \t= " <<
description <<
"\n";
702 (*outp) << space <<
"\t\t" <<
"output \t= " <<
path <<
"\n";
703 (*outp) << space << "\t\t" << "display \t= StatBox\n";
705 for (
unsigned it=0 ;
it<
tags.size() ;
it++ ) (*
outp) << space <<
"\t\t" <<
replace(
tags[it],
"=",
"\t=") <<
"\n";
706 (*outp) << space << "\t" << "}\n";
707
708
709
710
711
712 }
713 }
714 }
715
716 if (
print ) (*outp) << space <<
"}\n";
717 }
718
719 }
void print(char *figname, TCanvas *c1)
bool matchdir(const std::string &s)
see whether this directory matches any of the directories we are explicitly being asked to match
std::string description
glabal timer - how long have I taken so far?
std::vector< std::string > tags
std::string replace(std::string s, const std::string &s2, const std::string &s3)
std::ostream * outp
send output to here ...
std::string find(const std::string &s)
return a remapped string
std::set< std::string > exclude
list of directories to be excluded
std::map< std::string, int > dirs
list of directories to be explicitly included, together with corresponding depths of subdirectories
path
python interpreter configuration --------------------------------------—