Boole issueshttps://gitlab.cern.ch/lhcb/Boole/-/issues2021-08-06T12:28:14+02:00https://gitlab.cern.ch/lhcb/Boole/-/issues/3UTEffChecker fails with floating point exception in x86_64_v3 builds2021-08-06T12:28:14+02:00Rosen MatevUTEffChecker fails with floating point exception in x86_64_v3 buildsAfter the switch to the new platforms and x86_64_v3 in particular, Boole tests are failing (see [here](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-master/1412/Boole/x86_64_v3-centos7-gcc10-opt/tests)). Most were not supposed to be ru...After the switch to the new platforms and x86_64_v3 in particular, Boole tests are failing (see [here](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-master/1412/Boole/x86_64_v3-centos7-gcc10-opt/tests)). Most were not supposed to be run for that platform (they were disabled for avx) and this should be fixed. However, the UT test should run and pass, but it currently fails:
```
*** Break *** floating point exception
...
#5 <signal handler called>
#6 0x00007f0b63b5194b in virtual thunk to MCParticleSelector::accept(LHCb::MCParticle const*) const () from /workspace/build/LHCb/InstallArea/x86_64_v3-centos7-gcc10-opt/lib/libSimComponents.so
#7 0x00007f0b612cef40 in UTEffChecker::execute() () from /workspace/build/Lbcom/InstallArea/x86_64_v3-centos7-gcc10-opt/lib/libUTCheckers.so
#8 0x00007f0b854fa080 in Gaudi::Algorithm::sysExecute(EventContext const&) () from /workspace/build/Gaudi/InstallArea/x86_64_v3-centos7-gcc10-opt/lib/libGaudiKernel.so
#9 0x00007f0b64e2aa90 in GaudiAlgorithm::sysExecute(EventContext const&) () from /workspace/build/Gaudi/InstallArea/x86_64_v3-centos7-gcc10-opt/lib/libGaudiAlgLib.so
```
/cc @clemenci @cattanemRosen MatevRosen Matevhttps://gitlab.cern.ch/lhcb/Boole/-/issues/19Failing tests with GCC 12 due to stderr from cppyy2023-07-05T16:58:43+02:00Rosen MatevFailing tests with GCC 12 due to stderr from cppyyhttps://gitlab.cern.ch/lhcb/Boole/-/blob/41c82a7fa034f9efd3aa1cb85c196c2ec169069a/Digi/Boole/python/Boole/Configuration.py#L64-68
```python
cppyy.include("Detector/Calo/DeCalorimeter.h")
return cppyy.gbl.LHCb.Det...https://gitlab.cern.ch/lhcb/Boole/-/blob/41c82a7fa034f9efd3aa1cb85c196c2ec169069a/Digi/Boole/python/Boole/Configuration.py#L64-68
```python
cppyy.include("Detector/Calo/DeCalorimeter.h")
return cppyy.gbl.LHCb.Detector.Calo.DeCalorimeterLocation
else:
cppyy.include("CaloDet/DeCalorimeter.h")
return cppyy.gbl.DeCalorimeterLocation
```
causes
```
In file included from input_line_21:1:
In file included from /home/rmatev/stack/Detector/InstallArea/x86_64_v2-centos7-gcc12-opt/include/Detector/Calo/DeCalorimeter.h:14:
In file included from /home/rmatev/stack/Detector/InstallArea/x86_64_v2-centos7-gcc12-opt/include/Core/DeIOV.h:14:
In file included from /home/rmatev/stack/Detector/InstallArea/x86_64_v2-centos7-gcc12-opt/include/Core/Utils.h:15:
In file included from /cvmfs/lhcb.cern.ch/lib/lcg/releases/yamlcpp/0.6.3-d05b2/x86_64-centos7-gcc12-opt/include/yaml-cpp/yaml.h:17:
In file included from /cvmfs/lhcb.cern.ch/lib/lcg/releases/yamlcpp/0.6.3-d05b2/x86_64-centos7-gcc12-opt/include/yaml-cpp/node/impl.h:12:
In file included from /cvmfs/lhcb.cern.ch/lib/lcg/releases/yamlcpp/0.6.3-d05b2/x86_64-centos7-gcc12-opt/include/yaml-cpp/node/detail/node.h:12:
In file included from /cvmfs/lhcb.cern.ch/lib/lcg/releases/yamlcpp/0.6.3-d05b2/x86_64-centos7-gcc12-opt/include/yaml-cpp/node/detail/node_ref.h:13:
In file included from /cvmfs/lhcb.cern.ch/lib/lcg/releases/yamlcpp/0.6.3-d05b2/x86_64-centos7-gcc12-opt/include/yaml-cpp/node/detail/node_data.h:17:
/cvmfs/lhcb.cern.ch/lib/lcg/releases/yamlcpp/0.6.3-d05b2/x86_64-centos7-gcc12-opt/include/yaml-cpp/node/detail/node_iterator.h:56:19: warning: 'iterator<std::forward_iterator_tag, YAML::deta
il::node_iterator_value<YAML::detail::node>, long, YAML::detail::node_iterator_value<YAML::detail::node> *, YAML::detail::node_iterator_value<YAML::detail::node> >' is deprecated [-Wdeprecat
ed-declarations]
: public std::iterator<std::forward_iterator_tag, node_iterator_value<V>,
^
/cvmfs/lhcb.cern.ch/lib/lcg/releases/yamlcpp/0.6.3-d05b2/x86_64-centos7-gcc12-opt/include/yaml-cpp/node/detail/iterator.h:90:13: note: in instantiation of template class 'YAML::detail::node_
iterator_base<YAML::detail::node>' requested here
base_type m_iterator;
^
/cvmfs/sft.cern.ch/lcg/releases/gcc/12.1.0-57c96/x86_64-centos7/include/c++/12.1.0/bits/stl_iterator_base_types.h:127:12: note: 'iterator<std::forward_iterator_tag, YAML::detail::node_iterat
or_value<YAML::detail::node>, long, YAML::detail::node_iterator_value<YAML::detail::node> *, YAML::detail::node_iterator_value<YAML::detail::node> >' has been explicitly marked deprecated he
re
struct _GLIBCXX17_DEPRECATED iterator
^
/cvmfs/sft.cern.ch/lcg/releases/gcc/12.1.0-57c96/x86_64-centos7/include/c++/12.1.0/x86_64-pc-linux-gnu/bits/c++config.h:119:34: note: expanded from macro '_GLIBCXX17_DEPRECATED'
# define _GLIBCXX17_DEPRECATED [[__deprecated__]]
^
```Marco Clemencicmarco.clemencic@cern.chMarco Clemencicmarco.clemencic@cern.chhttps://gitlab.cern.ch/lhcb/Boole/-/issues/14Fixing the boole-FT test in DD4HEP2023-09-03T11:27:20+02:00Louis Henrylouis.henry@cern.chFixing the boole-FT test in DD4HEPWhen fixing the boole-FT test, I have encountered quite a few issues pertaining to DD4HEP.
- entry() point is slightly different when dealing with the same MChits (~1mm difference);
- mat.toLocal() of a vector seems to be treated like a...When fixing the boole-FT test, I have encountered quite a few issues pertaining to DD4HEP.
- entry() point is slightly different when dealing with the same MChits (~1mm difference);
- mat.toLocal() of a vector seems to be treated like a point, which leads to massive inconsistencies. Changing the logic from:
```
const Gaudi::XYZPoint localEntry = mat.toLocal( mchit->entry() );
const Gaudi::XYZVector localDispl = mat.toLocal( mchit->displacement() );
const Gaudi::XYZPoint localExit = localEntry + localDispl;
const Gaudi::XYZPoint localMid = localEntry + 0.5 * localDispl;
```
to
```
const Gaudi::XYZPoint globalExit = mchit->entry() + mchit->displacement();
const Gaudi::XYZPoint globalMid = mchit->entry() + 0.5*mchit->displacement();
const Gaudi::XYZPoint localEntry = mat.toLocal( mchit->entry() );
const Gaudi::XYZVector localDispl = mat.toLocal( mchit->displacement() );
const Gaudi::XYZPoint localExit = mat.toLocal(globalExit) ;//localEntry + localDispl;
const Gaudi::XYZPoint localMid = mat.toLocal(globalMid) ;//localEntry + 0.5 * localDispl;
```
helps recovering a better behaviour, but still not perfect (and does not take probably local geometry into account).
Implementing those hot fixes allow to recover similar (but not exactly the same) amounts of deposits, digits and clusters:
```
DD4HEP
LoH: Deposits: 52852
LoH: nDigits= 8257
LoH: Cluster candidates: 3775
LoH: ClusterCont 3066
```
vs
```
DetDesc
LoH: Deposits: 52932
LoH: nDigits= 8339
LoH: Cluster candidates: 3885
LoH: ClusterCont 3072
```
Then, due to some condition database issues, we cannot compare 1-to-1 the two outputs, but at least we got
```
DD4HEP
FTLiteClusterMo... INFO --------FT Lite clusters------------
FTLiteClusterMo... INFO Cluster efficiency = ( 95.1 +/- 0.0 )%
FTLiteClusterMo... INFO Cluster efficiency p>5GeV = ( 96.6 +/- 0.0 )%
FTLiteClusterMo... INFO -------------------------------
```
vs
```
DetDesc
FTLiteClusterMo... INFO --------FT Lite clusters------------
FTLiteClusterMo... INFO Cluster efficiency = ( 95.5 +/- 0.0 )%
FTLiteClusterMo... INFO Cluster efficiency p>5GeV = ( 95.6 +/- 0.0 )%
FTLiteClusterMo... INFO -------------------------------
```Louis Henrylouis.henry@cern.chZehua XuLouis Henrylouis.henry@cern.ch