Skip to content
Snippets Groups Projects
Commit efdc7dc7 authored by Carsten Burgard's avatar Carsten Burgard :speech_balloon:
Browse files

improved error messages

parent 9647f665
No related branches found
No related tags found
1 merge request!701ActionRemoveNormalizationUncertainty
......@@ -250,7 +250,7 @@ namespace TSBaseActions {
TH1* lowHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoLow","")));
TH1* highHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoHigh","")));
if(!TQHistogramUtils::checkConsistency(nomHist,lowHist) || !TQHistogramUtils::checkConsistency(nomHist,highHist)){
manager->error(TString::Format("transferred histograms are inconsistent, skipping!\n\tnom\t%s\n\tlow\t%s\n\thigh\t%s",TQStringUtils::getDetails(nomHist).Data(),TQStringUtils::getDetails(lowHist).Data(),TQStringUtils::getDetails(highHist).Data()));
manager->error(TString::Format("transferred histograms for systematic '%s' in sample '%s' in region '%s' are inconsistent, skipping!\n\tnom\t%s\n\tlow\t%s\n\thigh\t%s",systematic->GetName(),sample->GetName(),region->GetName(),TQStringUtils::getDetails(nomHist).Data(),TQStringUtils::getDetails(lowHist).Data(),TQStringUtils::getDetails(highHist).Data()));
delete copy;
continue;
}
......@@ -342,10 +342,10 @@ namespace TSBaseActions {
TString nameHigh = TString::Format("%s_%s_HistoHigh",region->GetName(),sample->GetName());
TH1* TargetnomHist = dynamic_cast<TH1*>(histograms->getObject(sample->getTagStringDefault("Histo","")));
TH1* nomHist = dynamic_cast<TH1*>(histograms->getObject(source->getTagStringDefault("Histo","")));
TH1* lowHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoLow",""))->Clone(nameLow));
TH1* highHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoHigh",""))->Clone(nameHigh));
if(!TQHistogramUtils::checkConsistency(nomHist,lowHist) || !TQHistogramUtils::checkConsistency(nomHist,highHist)){
manager->error(TString::Format("transferred histograms are inconsistent, skipping!\n\tnom\t%s\n\tlow\t%s\n\thigh\t%s",TQStringUtils::getDetails(nomHist).Data(),TQStringUtils::getDetails(lowHist).Data(),TQStringUtils::getDetails(highHist).Data()));
const TH1* lowHistOrig = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoLow","")));
const TH1* highHistOrig = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoHigh","")));
if(!TQHistogramUtils::checkConsistency(nomHist,lowHistOrig) || !TQHistogramUtils::checkConsistency(nomHist,highHistOrig)){
manager->error(TString::Format("transferred histograms for systematic '%s' in sample '%s' in region '%s' are inconsistent, skipping!\n\tnom\t%s\n\tlow\t%s\n\thigh\t%s",systematic->GetName(),sample->GetName(),region->GetName(),TQStringUtils::getDetails(nomHist).Data(),TQStringUtils::getDetails(lowHistOrig).Data(),TQStringUtils::getDetails(highHistOrig).Data()));
delete copy;
continue;
}
......@@ -353,24 +353,30 @@ namespace TSBaseActions {
manager->error(TString::Format("cowardly refusing to transfer histogram with inconsistent production tags!"));
continue;
}
TQHistogramUtils::normalize(lowHist,nomHist);
lowHist->Divide(nomHist);
lowHist->Multiply(TargetnomHist);
TQHistogramUtils::normalize(lowHist,TargetnomHist);
TQHistogramUtils::normalize(highHist,nomHist);
highHist->Divide(nomHist);
highHist->Multiply(TargetnomHist);
TQHistogramUtils::normalize(highHist,TargetnomHist);
TString histoPathLow=systematic->getTagStringDefault("HistoLow","");
TString histoPathHigh=systematic->getTagStringDefault("HistoHigh","");
TQFolder::getPathTail(histoPathLow);
TQFolder::getPathTail(histoPathHigh);
TQStringUtils::ensureTrailingText(histoPathLow,"/");
TQStringUtils::ensureTrailingText(histoPathHigh,"/");
histograms->addObject(lowHist,histoPathLow.Data());
histograms->addObject(highHist,histoPathHigh.Data());
copy->setTagString("HistoLow",TQFolder::concatPaths(histoPathLow.Data(),lowHist->GetName()));
copy->setTagString("HistoHigh",TQFolder::concatPaths(histoPathHigh.Data(),highHist->GetName()));
if(lowHistOrig){
TH1* lowHist = TQHistogramUtils::copyHistogram(lowHistOrig);
TQHistogramUtils::normalize(lowHist,nomHist);
lowHist->Divide(nomHist);
lowHist->Multiply(TargetnomHist);
TQHistogramUtils::normalize(lowHist,TargetnomHist);
TString histoPathLow=systematic->getTagStringDefault("HistoLow","");
TQFolder::getPathTail(histoPathLow);
TQStringUtils::ensureTrailingText(histoPathLow,"/");
histograms->addObject(lowHist,histoPathLow.Data());
copy->setTagString("HistoLow",TQFolder::concatPaths(histoPathLow.Data(),lowHist->GetName()));
}
if(highHistOrig){
TH1* highHist = TQHistogramUtils::copyHistogram(highHistOrig);
TQHistogramUtils::normalize(highHist,nomHist);
highHist->Divide(nomHist);
highHist->Multiply(TargetnomHist);
TQHistogramUtils::normalize(highHist,TargetnomHist);
TString histoPathHigh=systematic->getTagStringDefault("HistoHigh","");
TQFolder::getPathTail(histoPathHigh);
TQStringUtils::ensureTrailingText(histoPathHigh,"/");
histograms->addObject(highHist,histoPathHigh.Data());
copy->setTagString("HistoHigh",TQFolder::concatPaths(histoPathHigh.Data(),highHist->GetName()));
}
}
if(copy){
++j;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment