Skip to content

Add missing include of RooFitResult

Marco Clemencic requested to merge fix-header-build into master

With ROOT 6.30 we need an extra include to be able to compile TVerticalAlignment/Structs.h by itself, otherwise we get the error:

In file included from /cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-2435c/x86_64-el9/include/c++/12.1.0/memory:76,
                 from /cvmfs/lhcb.cern.ch/lib/lcg/releases/ROOT/6.30.02-fb5be/x86_64-el9-gcc12-dbg/include/ROOT/TypeTraits.hxx:15,
                 from /cvmfs/lhcb.cern.ch/lib/lcg/releases/ROOT/6.30.02-fb5be/x86_64-el9-gcc12-dbg/include/TString.h:30,
                 from /cvmfs/lhcb.cern.ch/lib/lcg/releases/ROOT/6.30.02-fb5be/x86_64-el9-gcc12-dbg/include/TNamed.h:26,
                 from /cvmfs/lhcb.cern.ch/lib/lcg/releases/ROOT/6.30.02-fb5be/x86_64-el9-gcc12-dbg/include/TDirectory.h:24,
                 from /cvmfs/lhcb.cern.ch/lib/lcg/releases/ROOT/6.30.02-fb5be/x86_64-el9-gcc12-dbg/include/TROOT.h:28,
                 from ../Alignment/TVerticalAlignment/include/TVerticalAlignment/Structs.h:13,
                 from Alignment/TVerticalAlignment/headers_build_test/TVerticalAlignment/Structs.h.cpp:1:
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-2435c/x86_64-el9/include/c++/12.1.0/bits/unique_ptr.h: In instantiation of 'void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = RooFitResult]':
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-2435c/x86_64-el9/include/c++/12.1.0/bits/unique_ptr.h:396:17:   required from 'std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = RooFitResult; _Dp = std::default_delete<RooFitResult>]'
/cvmfs/lhcb.cern.ch/lib/lcg/releases/ROOT/6.30.02-fb5be/x86_64-el9-gcc12-dbg/include/RooAbsPdf.h:158:47:   required from 'RooFitResult* RooAbsPdf::fitTo(RooAbsData&, const CmdArgs_t& ...) [with CmdArgs_t = {RooCmdArg, RooCmdArg, RooCmdArg}; RooFit::OwningPtr<RooFitResult> = RooFitResult*]'
../Alignment/TVerticalAlignment/include/TVerticalAlignment/Structs.h:90:15:   required from here
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/12.1.0-2435c/x86_64-el9/include/c++/12.1.0/bits/unique_ptr.h:93:23: error: invalid application of 'sizeof' to incomplete type 'RooFitResult'
   93 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~

Merge request reports