Skip to content

Commit 864029e

Browse files
committed
[hadd] multiple Info() levels
1 parent cd734c2 commit 864029e

File tree

2 files changed

+27
-25
lines changed

2 files changed

+27
-25
lines changed

main/src/hadd.cxx

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@
7676
\param -v [LEVEL] Explicitly set the verbosity level:
7777
<= 0 = only output errors;
7878
1 = only output errors and warnings;
79-
2 = output minimal informative messages, errors and warnings;
80-
>= 3 = output all messages (default).
79+
2 = output minimal informative messages, errors and warnings (default);
80+
>= 3 = output all messages.
8181
\return hadd returns a status code: 0 if OK, 1 otherwise
8282
8383
For example assume 3 files f1, f2, f3 containing histograms hn and Trees Tn
@@ -168,13 +168,13 @@
168168

169169
////////////////////////////////////////////////////////////////////////////////
170170

171-
// NOTE: TFileMerger will use PrintLevel = gVerbosity - 1. If PrintLevel is < 1, it will print nothing, otherwise
171+
// NOTE: TFileMerger will use PrintLevel = gHaddVerbosity - 1. If PrintLevel is < 1, it will print nothing, otherwise
172172
// it will print everything. To give some granularity to hadd, we do the following:
173-
// gVerbosity = 0: only print hadd errors
174-
// gVerbosity = 1: only print hadd errors + warnings
175-
// gVerbosity = 2: print hadd errors + warnings and TFileMerger messages
176-
// gVerbosity > 2: print all hadd and TFileMerger messages.
177-
static int gVerbosity = 99;
173+
// gHaddVerbosity = 0: only print hadd errors
174+
// gHaddVerbosity = 1: only print hadd errors + warnings
175+
// gHaddVerbosity = 2: print hadd errors + warnings and TFileMerger messages
176+
// gHaddVerbosity > 2: print all hadd and TFileMerger messages.
177+
static int gHaddVerbosity = 2;
178178

179179
namespace {
180180

@@ -206,14 +206,14 @@ static inline std::ostream &Err()
206206

207207
static inline std::ostream &Warn()
208208
{
209-
std::ostream &s = gVerbosity < 1 ? GetNullStream() : std::cerr;
209+
std::ostream &s = gHaddVerbosity < 1 ? GetNullStream() : std::cerr;
210210
s << "Warning in <hadd>: ";
211211
return s;
212212
}
213213

214-
static inline std::ostream &Info()
214+
static inline std::ostream &Info(int minLevel)
215215
{
216-
std::ostream &s = gVerbosity < 3 ? GetNullStream() : std::cerr;
216+
std::ostream &s = gHaddVerbosity < minLevel ? GetNullStream() : std::cerr;
217217
s << "Info in <hadd>: ";
218218
return s;
219219
}
@@ -636,7 +636,7 @@ static Int_t ParseFilterFile(const std::optional<std::string> &filterFileName,
636636
}
637637

638638
if (nObjects) {
639-
Info() << "added " << nObjects << " object from filter file '" << *filterFileName << "'\n";
639+
Info(2) << "added " << nObjects << " object from filter file '" << *filterFileName << "'\n";
640640
fileMerger.AddObjectNames(filteredObjects);
641641
} else {
642642
Warn() << "no objects were added from filter file '" << *filterFileName << "'\n";
@@ -664,7 +664,7 @@ int main(int argc, char **argv)
664664

665665
ROOT::TIOFeatures features = args.fFeatures.value_or(ROOT::TIOFeatures{});
666666
Int_t maxopenedfiles = args.fMaxOpenedFiles.value_or(0);
667-
gVerbosity = args.fVerbosity.value_or(99);
667+
gHaddVerbosity = args.fVerbosity.value_or(99);
668668
Int_t newcomp = args.fCompressionSettings.value_or(-1);
669669
TString cacheSize = args.fCacheSize.value_or("");
670670

@@ -682,7 +682,7 @@ int main(int argc, char **argv)
682682
nProcesses = s.fCpus;
683683
}
684684
if (multiproc)
685-
Info() << "parallelizing with " << nProcesses << " processes.\n";
685+
Info(3) << "parallelizing with " << nProcesses << " processes.\n";
686686

687687
// If the user specified a workingDir, use that. Otherwise, default to the system temp dir.
688688
std::string workingDir;
@@ -712,18 +712,18 @@ int main(int argc, char **argv)
712712
}
713713
targetname = argv[args.fOutputArgIdx];
714714

715-
Info() << "target file: " << targetname << "\n";
715+
Info(2) << "target file: " << targetname << "\n";
716716

717717
if (args.fCacheSize)
718-
Info() << "Using " << cacheSize << "\n";
718+
Info(3) << "Using " << cacheSize << "\n";
719719

720720
////////////////////////////// end flags processing /////////////////////////////////
721721

722722
gSystem->Load("libTreePlayer");
723723

724724
TFileMerger fileMerger(kFALSE, kFALSE);
725725
fileMerger.SetMsgPrefix("hadd");
726-
fileMerger.SetPrintLevel(gVerbosity - 1);
726+
fileMerger.SetPrintLevel(gHaddVerbosity - 1);
727727
if (maxopenedfiles > 0) {
728728
fileMerger.SetMaxOpenedFiles(maxopenedfiles);
729729
}
@@ -796,9 +796,9 @@ int main(int argc, char **argv)
796796
}
797797
}
798798
if (args.fKeepCompressionAsIs && !args.fReoptimize)
799-
Info() << "compression setting for meta data: " << newcomp << '\n';
799+
Info(2) << "compression setting for meta data: " << newcomp << '\n';
800800
else
801-
Info() << "compression setting for all output: " << newcomp << '\n';
801+
Info(2) << "compression setting for all output: " << newcomp << '\n';
802802

803803
if (args.fAppend) {
804804
if (!fileMerger.OutputFile(targetname, "UPDATE", newcomp)) {
@@ -819,9 +819,9 @@ int main(int argc, char **argv)
819819
// At least 3 files per process
820820
step = 3;
821821
nProcesses = (allSubfiles.size() + step - 1) / step;
822-
Info() << "each process should handle at least 3 files for efficiency."
823-
" Setting the number of processes to: "
824-
<< nProcesses << std::endl;
822+
Info(2) << "each process should handle at least 3 files for efficiency."
823+
" Setting the number of processes to: "
824+
<< nProcesses << std::endl;
825825
}
826826
if (nProcesses == 1)
827827
multiproc = kFALSE;
@@ -888,7 +888,7 @@ int main(int argc, char **argv)
888888
auto parallelMerge = [&](int start) {
889889
TFileMerger mergerP(kFALSE, kFALSE);
890890
mergerP.SetMsgPrefix("hadd");
891-
mergerP.SetPrintLevel(gVerbosity - 1);
891+
mergerP.SetPrintLevel(gHaddVerbosity - 1);
892892
if (maxopenedfiles > 0) {
893893
mergerP.SetMaxOpenedFiles(maxopenedfiles / nProcesses);
894894
}
@@ -931,8 +931,8 @@ int main(int argc, char **argv)
931931
#endif
932932

933933
if (status) {
934-
Info() << "merged " << allSubfiles.size() << " (" << fileMerger.GetMergeList()->GetEntries()
935-
<< ") input (partial) files into " << targetname << "\n";
934+
Info(3) << "merged " << allSubfiles.size() << " (" << fileMerger.GetMergeList()->GetEntries()
935+
<< ") input (partial) files into " << targetname << "\n";
936936
return 0;
937937
} else {
938938
Err() << "failure during the merge of " << allSubfiles.size() << " (" << fileMerger.GetMergeList()->GetEntries()
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
Info in <hadd>: target file: hadd_args_quiet.root
2+
Info in <hadd>: compression setting for all output: 101
13
hadd Source file 1: hadd_args_in.root
24
hadd Target path: hadd_args_quiet.root:/

0 commit comments

Comments
 (0)