14 unsigned minReplacements,
15 unsigned maxReplacements,
18 unsigned numReplacements = 0;
19 while (modSrc.find(keyword) != std::string::npos) {
20 modSrc.replace(modSrc.find(keyword), keyword.length(),
parameter);
23 if ((numReplacements < minReplacements) || (numReplacements > maxReplacements)) {
25 <<
" numReplacements = " << numReplacements <<
" (min = " << minReplacements
26 <<
", max = " << maxReplacements <<
") !!";
37 std::ostringstream os;
42 for (
unsigned iEntry = 0; iEntry <
numEntries; ++iEntry) {
84 histogram->SetName(histogram->GetName());
85 if (TH1F*
h = dynamic_cast<TH1F*>(histogram)) {
88 }
else if (TH1S*
h = dynamic_cast<TH1S*>(histogram)) {
91 }
else if (TH2F*
h = dynamic_cast<TH2F*>(histogram)) {
94 }
else if (TH2S*
h = dynamic_cast<TH2S*>(histogram)) {
97 }
else if (TH3F*
h = dynamic_cast<TH3F*>(histogram)) {
100 }
else if (TProfile*
h = dynamic_cast<TProfile*>(histogram)) {
103 }
else if (TProfile2D*
h = dynamic_cast<TProfile2D*>(histogram)) {
114 bool rmInputDirectory) {
121 dqmStore.setCurrentFolder(inputDirectory);
122 std::vector<std::string> meNames =
dqmStore.getMEs();
123 for (std::vector<std::string>::const_iterator meName = meNames.begin(); meName != meNames.end(); ++meName) {
127 dqmStore.setCurrentFolder(inputDirectory);
131 edm::LogError(
"copyRecursively") <<
" Failed to access meName = " << (*meName) <<
" in DQMStore"
132 <<
" --> skipping !!";
136 TH1* histogram = meInput->
getTH1();
139 edm::LogError(
"copyRecursively") <<
" Failed to access histogram associated to meName = " << (*meName)
141 <<
" --> skipping !!";
145 std::unique_ptr<TH1>
clone(dynamic_cast<TH1*>(histogram->Clone()));
148 dqmStore.setCurrentFolder(outputDirectory);
156 <<
" meName = " << (*meName) <<
" already exists in outputDirectory = " << outputDirectory
157 <<
" --> skipping !!";
171 dqmStore.setCurrentFolder(inputDirectory);
172 std::vector<std::string> dirNames =
dqmStore.getSubdirs();
173 for (std::vector<std::string>::const_iterator
dirName = dirNames.begin();
dirName != dirNames.end(); ++
dirName) {
200 if (dqmRootDirectoryPos != std::string::npos) {
212 }
while (nextPos != std::string::npos);
215 directoryName = (lastPos != std::string::npos) ?
std::string(tempName, 0, lastPos) :
"";