87{
89
91 runtimeConfig.setPath( path_ );
92
94 TSeqCollection *outputList = new TList();
95
97
98
99 HanInputRootFile
input( inputName_, path_ );
100
101 HanOutput
output( outputName_, outputMap, outputList );
102 output.setInput(
const_cast<TDirectory*
>(
input.getBasedir()));
103
104 dqm_core::LibraryManager::instance().loadLibrary( "libdqm_algorithms.so" );
105 dqm_core::LibraryManager::instance().loadLibrary( "libdqm_summaries.so" );
106
108 std::cout << "Reading configuration and input histograms...\n" << std::flush;
109 config.BuildMonitors( configName_, input, output );
110 std::cout << "Preparing output...\n" << std::flush;
111 config.BuildConfigOutput( configName_,
input.file(), path_, outputMap, outputList );
112
113 std::cout << "Analyzing histograms...\n" << std::flush;
116 output.publishMissingDQPars();
117
118 std::cout << "Writing output file...\n" << std::flush;
120
121 std::cout << "Deleting objects from memory.\n" << std::flush;
122 RecursivelyDeleteCollection(outputList);
123 delete outputList;
124 delete outputMap;
125 return 0;
126}
std::map< std::string, TSeqCollection * > DQOutputMap_t
static HanRuntimeConfigSingleton & getInstance()