Skip to content

Conversation

@cburgard
Copy link
Contributor

This Pull request:

With the (very useful) introduction of the RooBinWidthFunction, the bin width correction moved from the "coefficient" branch of the RooRealSumPdf to the "function" branch of the RooRealSumPdf in HistFactory.
This can cause some distress for users who meddle with histfactory models by hand, because bin correction can now appear at places that are different from what they were originally.

This PR adds a flag to globally disable all bin width corrections of RooBinWidthFunction, allowing the user to switch an entire model from density-mode to eventcount-mode.

Changes or fixes:

Added flag to globally enable or disable all bin width functions.

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

This PR fixes #

@phsft-bot
Copy link

Can one of the admins verify this patch?

@guitargeek
Copy link
Contributor

@phsft-bot build

@phsft-bot
Copy link

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

Copy link
Contributor

@guitargeek guitargeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @cburgard! Sorry for the delay, yes this can be merged almost as is, I just have small requests about the names and doxygen.

@guitargeek
Copy link
Contributor

@phsft-bot build

@phsft-bot
Copy link

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link

Build failed on ROOT-ubuntu16/nortcxxmod.
Running on sft-ubuntu-1604-4.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-03-29T09:30:35.467Z] FAILED: cd /mnt/build/workspace/root-pullrequests-build/build/roofit/roofitcore && /usr/local/bin/cmake -E env LD_LIBRARY_PATH=/mnt/build/workspace/root-pullrequests-build/build/lib: ROOTIGNOREPREFIX=1 /mnt/build/workspace/root-pullrequests-build/build/bin/rootcling -rootbuild -v2 -f G__RooFitCore.cxx -s /mnt/build/workspace/root-pullrequests-build/build/lib/libRooFitCore.so -m libCore_rdict.pcm -m libHist_rdict.pcm -m libGraf_rdict.pcm -m libMatrix_rdict.pcm -m libTree_rdict.pcm -m libMinuit_rdict.pcm -m libMinuit2_rdict.pcm -m libRIO_rdict.pcm -m libMathCore_rdict.pcm -m libFoam_rdict.pcm -m libSmatrix_rdict.pcm -excludePath /mnt/build/workspace/root-pullrequests-build/root -excludePath /mnt/build/workspace/root-pullrequests-build/build/ginclude -excludePath /mnt/build/workspace/root-pullrequests-build/build/externals -excludePath /mnt/build/workspace/root-pullrequests-build/build/builtins -rml libRooFitCore.so -rmf /mnt/build/workspace/root-pullrequests-build/build/lib/libRooFitCore.rootmap -writeEmptyRootPCM -DVECCORE_ENABLE_VC -DZMQ_BUILD_DRAFT_API -DZMQ_NO_EXPORT -DZMQ_BUILD_DRAFT_API -DZMQ_NO_EXPORT -compilerI/usr/include/c++/5 -compilerI/usr/include/x86_64-linux-gnu/c++/5 -compilerI/usr/include/c++/5/backward -compilerI/usr/lib/gcc/x86_64-linux-gnu/5/include -compilerI/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed -compilerI/usr/include/x86_64-linux-gnu -compilerI/usr/include -compilerI/usr/lib/gcc/x86_64-linux-gnu/5/include -compilerI/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed -compilerI/usr/include/x86_64-linux-gnu -compilerI/usr/include -I/mnt/build/workspace/root-pullrequests-build/build/include -I/usr/include/freetype2 -I/usr/include/x86_64-linux-gnu/freetype2 -I/mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/inc -I/mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/res -I/mnt/build/workspace/root-pullrequests-build/root/core/unix/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/foundation/v7/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/base/v7/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/clingutils/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/textinput/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/thread/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/zip/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/rint/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/clib/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/meta/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/gui/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/cont/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/foundation/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/base/inc -I/mnt/build/workspace/root-pullrequests-build/build/ginclude -I/mnt/build/workspace/root-pullrequests-build/root/hist/hist/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/mathcore/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/mathcore/v7/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/imt/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/multiproc/inc -I/mnt/build/workspace/root-pullrequests-build/build/externals//mnt/build/workspace/root-pullrequests-build/install/include -I/mnt/build/workspace/root-pullrequests-build/root/math/matrix/inc -I/mnt/build/workspace/root-pullrequests-build/root/graf2d/graf/inc -I/mnt/build/workspace/root-pullrequests-build/root/io/io/inc -I/mnt/build/workspace/root-pullrequests-build/root/core/clib/res -I/mnt/build/workspace/root-pullrequests-build/root/builtins -I/usr/include/freetype2 -I/usr/include/x86_64-linux-gnu/freetype2 -I/mnt/build/workspace/root-pullrequests-build/root/tree/tree/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/minuit/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/minuit2/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/foam/inc -I/mnt/build/workspace/root-pullrequests-build/root/math/smatrix/inc -I/mnt/build/workspace/root-pullrequests-build/root/roofit/batchcompute/inc -I/mnt/build/workspace/root-pullrequests-build/root/roofit/batchcompute/res -I/mnt/build/workspace/root-pullrequests-build/root/roofit/common/res -I/mnt/build/workspace/root-pullrequests-build/root/net/net/inc -I/mnt/build/workspace/root-pullrequests-build/root/roofit/multiprocess/inc -I/mnt/build/workspace/root-pullrequests-build/root/roofit/multiprocess/res -I/mnt/build/workspace/root-pullrequests-build/root/roofit/roofitZMQ/res -I/mnt/build/workspace/root-pullrequests-build/build/builtins/zeromq/libzmq/BUILTIN_ZeroMQ-prefix/include -I/mnt/build/workspace/root-pullrequests-build/build/builtins/zeromq/cppzmq/BUILTIN_cppzmq-prefix/src/BUILTIN_cppzmq RooFit/Floats.h Roo1DTable.h RooAbsAnaConvPdf.h RooAbsArg.h RooAbsBinning.h RooAbsCachedPdf.h RooAbsCachedReal.h RooAbsCacheElement.h RooAbsCache.h RooAbsCategory.h RooAbsCategoryLValue.h RooAbsCollection.h RooAbsData.h RooAbsDataStore.h RooAbsFunc.h RooAbsGenContext.h RooAbsHiddenReal.h RooAbsIntegrator.h RooAbsLValue.h RooAbsMCStudyModule.h RooAbsMinimizerFcn.h RooAbsMoment.h RooAbsNumGenerator.h RooAbsOptTestStatistic.h RooAbsPdf.h RooAbsProxy.h RooAbsReal.h RooAbsRealLValue.h RooAbsRootFinder.h RooAbsSelfCachedPdf.h RooAbsSelfCachedReal.h RooAbsString.h RooAbsStudy.h RooAbsTestStatistic.h RooAcceptReject.h RooAdaptiveIntegratorND.h RooAddGenContext.h RooAddition.h RooAddModel.h RooAddPdf.h RooAICRegistry.h RooArgList.h RooArgProxy.h RooArgSet.h RooBinIntegrator.h RooBinnedGenContext.h RooBinningCategory.h RooBinning.h RooBrentRootFinder.h RooCachedPdf.h RooCachedReal.h RooCacheManager.h RooCategory.h RooCategoryProxy.h RooChangeTracker.h RooChi2Var.h RooClassFactory.h RooCmdArg.h RooCmdConfig.h RooCollectionProxy.h RooCompositeDataStore.h RooConstraintSum.h RooConstVar.h RooConvCoefVar.h RooConvGenContext.h RooConvIntegrandBinding.h RooCurve.h RooCustomizer.h RooDataHist.h RooDataHistSliceIter.h RooDataProjBinding.h RooDataSet.h RooDataWeightedAverage.h RooDerivative.h RooDirItem.h RooDLLSignificanceMCSModule.h RooDouble.h RooEffGenContext.h RooEfficiency.h RooEffProd.h RooEllipse.h RooErrorHandler.h RooErrorVar.h RooExpensiveObjectCache.h RooExtendedBinding.h RooExtendedTerm.h RooExtendPdf.h RooFactoryWSTool.h RooFFTConvPdf.h RooFirstMoment.h RooFit.h RooFitResult.h RooFoamGenerator.h RooFormula.h RooFormulaVar.h RooFracRemainder.h RooFunctor.h RooGenContext.h RooGenericPdf.h RooGenFitStudy.h RooGenFunction.h RooGenProdProj.h RooGlobalFunc.h RooGrid.h RooHistError.h RooHistFunc.h RooHist.h RooHistPdf.h RooImproperIntegrator1D.h RooIntegrator1D.h RooIntegrator2D.h RooIntegratorBinding.h RooInt.h RooInvTransform.h RooLinearCombination.h RooLinearVar.h RooLinkedListElem.h RooLinkedList.h RooLinkedListIter.h RooLinTransBinning.h RooListProxy.h RooMappedCategory.h RooMCIntegrator.h RooMCStudy.h RooMinimizerFcn.h RooMinimizer.h RooMoment.h RooMPSentinel.h RooMsgService.h RooMultiCategory.h RooMultiGenFunction.h RooMultiVarGaussian.h RooNameReg.h RooNLLVar.h RooNormSetCache.h RooNumber.h RooNumCdf.h RooNumConvolution.h RooNumConvPdf.h RooNumGenConfig.h RooNumGenFactory.h RooNumIntConfig.h RooNumIntFactory.h RooNumRunningInt.h RooObjCacheManager.h RooParamBinning.h RooPlotable.h RooPlot.h RooPolyFunc.h RooPolyVar.h RooPrintable.h RooProdGenContext.h RooProdPdf.h RooProduct.h RooProfileLL.h RooProjectedPdf.h RooProofDriverSelector.h RooPullVar.h RooQuasiRandomGenerator.h RooRatio.h RooRandom.h RooRandomizeParamMCSModule.h RooRangeBinning.h RooRangeBoolean.h RooRealAnalytic.h RooRealBinding.h RooRealConstant.h RooRealIntegral.h RooRealMPFE.h RooTemplateProxy.h RooRealProxy.h RooRealSumFunc.h RooRealSumPdf.h RooRealVar.h RooRealVarSharedProperties.h RooRecursiveFraction.h RooRefCountList.h RooSTLRefCountList.h RooResolutionModel.h RooScaledFunc.h RooSecondMoment.h RooSegmentedIntegrator1D.h RooSegmentedIntegrator2D.h RooSentinel.h RooSetProxy.h RooSharedProperties.h RooSimGenContext.h RooSimPdfBuilder.h RooSimSplitGenContext.h RooSimultaneous.h RooSimWSTool.h RooStreamParser.h RooStringVar.h RooStringView.h RooStudyManager.h RooStudyPackage.h RooSuperCategory.h RooTable.h RooTFoamBinding.h RooThresholdCategory.h RooTObjWrap.h RooTrace.h RooTreeDataStore.h RooTruthModel.h RooUniformBinning.h RooUnitTest.h RooVectorDataStore.h RooWorkspace.h RooWorkspaceHandle.h RooXYChi2Var.h RooHelpers.h RooWrapperPdf.h RooNaNPacker.h RooBinSamplingPdf.h RooBinWidthFunction.h RooFitLegacy/RooCatTypeLegacy.h RooFitLegacy/RooCategorySharedProperties.h RooFitLegacy/RooMinuit.h RooFitLegacy/RooTreeData.h RooFit/TestStatistics/LikelihoodGradientWrapper.h RooFit/TestStatistics/LikelihoodWrapper.h RooFit/TestStatistics/RooAbsL.h RooFit/TestStatistics/RooBinnedL.h RooFit/TestStatistics/RooSubsidiaryL.h RooFit/TestStatistics/RooSumL.h RooFit/TestStatistics/RooRealL.h RooFit/TestStatistics/RooUnbinnedL.h RooFit/TestStatistics/optional_parameter_types.h RooFit/TestStatistics/buildLikelihood.h /mnt/build/workspace/root-pullrequests-build/root/roofit/roofitcore/inc/LinkDef.h
  • [2022-03-29T09:30:35.467Z] /mnt/build/workspace/root-pullrequests-build/build/include/RooBinWidthFunction.h:32:29: error: expected ';' at end of declaration list

@guitargeek guitargeek changed the title [RF] RooBinWidthFunction [RF] Add flag to globally enable or disable all RooBinWidthFunctions Mar 29, 2022
@phsft-bot
Copy link

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-03-29T09:52:46.726Z] /home/sftnight/build/workspace/root-pullrequests-build/build/include/RooBinWidthFunction.h:32:29: error: expected ';' at end of declaration list

@guitargeek guitargeek force-pushed the roobinwidthfunction-flag branch from ed0eb65 to d989462 Compare March 29, 2022 09:54
@guitargeek
Copy link
Contributor

@phsft-bot build

@phsft-bot
Copy link

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link

Build failed on ROOT-ubuntu16/nortcxxmod.
Running on sft-ubuntu-1604-2.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link

Build failed on ROOT-ubuntu2004/soversion.
Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot
Copy link

Build failed on mac11/cxx17.
Running on macphsft23.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Failing tests:

Copy link
Contributor

@guitargeek guitargeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the improvements! I'll merge now, the unit test failures are unrelated to this PR.

@guitargeek guitargeek merged commit 523c258 into root-project:master Mar 30, 2022
@guitargeek guitargeek deleted the roobinwidthfunction-flag branch March 30, 2022 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants