102 SubDirectories& currentSetOfSubDirectories = currentDirectory.subDir;
105 SubDirectory* subDirectoryToUse =
nullptr;
106 SubDirectories::iterator subDirectoryFindIterator = currentSetOfSubDirectories.find(
subDir);
109 if (subDirectoryFindIterator == currentSetOfSubDirectories.end()) {
111 SubDirectory& insertedDir = currentSetOfSubDirectories[
subDir];
112 subDirectoryToUse = &insertedDir;
113 if (!insertedDir.dir) {
115 insertedDir.dirName =
subDir;
119 DirectoryHistos::iterator masterHistogramIterator =
master_.begin();
120 DirectoryHistos::iterator masterHistogramIterator_end =
master_.end();
121 for (; masterHistogramIterator != masterHistogramIterator_end; ++masterHistogramIterator) {
123 insertedDir.histos[masterHistogramIterator->first] = masterHistogramIterator->second->clone();
127 DirectoryHistos::iterator clonedHistogramIterator = insertedDir.histos.begin();
128 DirectoryHistos::iterator clonedHistogramIterator_end = insertedDir.histos.end();
129 for (; clonedHistogramIterator != clonedHistogramIterator_end; ++clonedHistogramIterator) {
130 clonedHistogramIterator->second->book(insertedDir.dir);
133 subDirectoryToUse = &subDirectoryFindIterator->second;
137 DirectoryHistos::iterator histogramIterator = subDirectoryToUse->histos.begin();
138 DirectoryHistos::iterator histogramIterator_end = subDirectoryToUse->histos.end();
139 for (; histogramIterator != histogramIterator_end; ++histogramIterator) {
140 histogramIterator->second->fill(iEvent);
std::map< std::string, SubDirectory > SubDirectories