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 { ...@@ -250,7 +250,7 @@ namespace TSBaseActions {
TH1* lowHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoLow",""))); TH1* lowHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoLow","")));
TH1* highHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoHigh",""))); TH1* highHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoHigh","")));
if(!TQHistogramUtils::checkConsistency(nomHist,lowHist) || !TQHistogramUtils::checkConsistency(nomHist,highHist)){ 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; delete copy;
continue; continue;
} }
...@@ -342,10 +342,10 @@ namespace TSBaseActions { ...@@ -342,10 +342,10 @@ namespace TSBaseActions {
TString nameHigh = TString::Format("%s_%s_HistoHigh",region->GetName(),sample->GetName()); TString nameHigh = TString::Format("%s_%s_HistoHigh",region->GetName(),sample->GetName());
TH1* TargetnomHist = dynamic_cast<TH1*>(histograms->getObject(sample->getTagStringDefault("Histo",""))); TH1* TargetnomHist = dynamic_cast<TH1*>(histograms->getObject(sample->getTagStringDefault("Histo","")));
TH1* nomHist = dynamic_cast<TH1*>(histograms->getObject(source->getTagStringDefault("Histo",""))); TH1* nomHist = dynamic_cast<TH1*>(histograms->getObject(source->getTagStringDefault("Histo","")));
TH1* lowHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoLow",""))->Clone(nameLow)); const TH1* lowHistOrig = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoLow","")));
TH1* highHist = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoHigh",""))->Clone(nameHigh)); const TH1* highHistOrig = dynamic_cast<TH1*>(histograms->getObject(systematic->getTagStringDefault("HistoHigh","")));
if(!TQHistogramUtils::checkConsistency(nomHist,lowHist) || !TQHistogramUtils::checkConsistency(nomHist,highHist)){ if(!TQHistogramUtils::checkConsistency(nomHist,lowHistOrig) || !TQHistogramUtils::checkConsistency(nomHist,highHistOrig)){
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(lowHistOrig).Data(),TQStringUtils::getDetails(highHistOrig).Data()));
delete copy; delete copy;
continue; continue;
} }
...@@ -353,24 +353,30 @@ namespace TSBaseActions { ...@@ -353,24 +353,30 @@ namespace TSBaseActions {
manager->error(TString::Format("cowardly refusing to transfer histogram with inconsistent production tags!")); manager->error(TString::Format("cowardly refusing to transfer histogram with inconsistent production tags!"));
continue; continue;
} }
TQHistogramUtils::normalize(lowHist,nomHist); if(lowHistOrig){
lowHist->Divide(nomHist); TH1* lowHist = TQHistogramUtils::copyHistogram(lowHistOrig);
lowHist->Multiply(TargetnomHist); TQHistogramUtils::normalize(lowHist,nomHist);
TQHistogramUtils::normalize(lowHist,TargetnomHist); lowHist->Divide(nomHist);
TQHistogramUtils::normalize(highHist,nomHist); lowHist->Multiply(TargetnomHist);
highHist->Divide(nomHist); TQHistogramUtils::normalize(lowHist,TargetnomHist);
highHist->Multiply(TargetnomHist); TString histoPathLow=systematic->getTagStringDefault("HistoLow","");
TQHistogramUtils::normalize(highHist,TargetnomHist); TQFolder::getPathTail(histoPathLow);
TString histoPathLow=systematic->getTagStringDefault("HistoLow",""); TQStringUtils::ensureTrailingText(histoPathLow,"/");
TString histoPathHigh=systematic->getTagStringDefault("HistoHigh",""); histograms->addObject(lowHist,histoPathLow.Data());
TQFolder::getPathTail(histoPathLow); copy->setTagString("HistoLow",TQFolder::concatPaths(histoPathLow.Data(),lowHist->GetName()));
TQFolder::getPathTail(histoPathHigh); }
TQStringUtils::ensureTrailingText(histoPathLow,"/"); if(highHistOrig){
TQStringUtils::ensureTrailingText(histoPathHigh,"/"); TH1* highHist = TQHistogramUtils::copyHistogram(highHistOrig);
histograms->addObject(lowHist,histoPathLow.Data()); TQHistogramUtils::normalize(highHist,nomHist);
histograms->addObject(highHist,histoPathHigh.Data()); highHist->Divide(nomHist);
copy->setTagString("HistoLow",TQFolder::concatPaths(histoPathLow.Data(),lowHist->GetName())); highHist->Multiply(TargetnomHist);
copy->setTagString("HistoHigh",TQFolder::concatPaths(histoPathHigh.Data(),highHist->GetName())); 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){ if(copy){
++j; ++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