14 #include "dqm_core/LibraryManager.h"
15 #include "dqm_core/InputRootFile.h"
44 void RecursivelyDeleteCollection(TCollection*
seq) {
46 while (TObject*
obj =
it()) {
47 TCollection* coll =
dynamic_cast<TCollection*
>(
obj);
49 RecursivelyDeleteCollection(coll);
72 HanApp(
const std::string& configName,
const std::string& inputName,
const std::string&
outputName,
const std::string&
path )
86 Analyze(
const std::string& configName_,
const std::string& inputName_,
const std::string& outputName_,
const std::string& path_ )
91 runtimeConfig.setPath( path_ );
94 TSeqCollection *outputList =
new TList();
102 output.setInput(
const_cast<TDirectory*
>(
input.getBasedir()));
108 std::cout <<
"Reading configuration and input histograms...\n" <<
std::flush;
110 std::cout <<
"Preparing output...\n" <<
std::flush;
111 config.BuildConfigOutput( configName_,
input.file(), path_, outputMap, outputList );
113 std::cout <<
"Analyzing histograms...\n" <<
std::flush;
116 output.publishMissingDQPars();
118 std::cout <<
"Writing output file...\n" <<
std::flush;
121 std::cout <<
"Deleting objects from memory.\n" <<
std::flush;
122 RecursivelyDeleteCollection(outputList);