AliceO2 icon indicating copy to clipboard operation
AliceO2 copied to clipboard

IT3: Full simulation + Glo-tracking

Open f3sch opened this issue 10 months ago • 34 comments

This PR aims to incorporate IT3 into the global-reconstruction chain + make simulation a bit easier:

  • Finds IT3-TPC(-TRD,-TOF) matches, the relevant workflows have now a 'GlobalParams.withITS3' option
  • Reflects the necessary changes in IT3 code

The flags and functionality is hidden behind the compile flag 'ENABLE_UPGRADES' + the default is off. I tested the full simulation chain for ENABLE_UPGRADES=On/Off + w. & w/o. IT3.

I can also make different PRs (however reviewers want :)). A brief overview:

  • TRD: 4 Files (since the matching uses ITS clusters, need to optionally load different topology dictionary)
  • ITS: 3 Files (change calculation for normal of IT3 + change printf to LOGF when printing the RecoGeomHelper)
  • ITS-TPC: 7 Files, getting matching to work
  • Rest is IT3 only changes

f3sch avatar Apr 24 '24 09:04 f3sch

REQUEST FOR PRODUCTION RELEASES: To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available async-2023-pbpb-apass3 async-2023-pbpb-apass4 async-2022-pp-apass6-2023-PbPb-apass2 async-2022-pp-apass4 async-2022-pp-apass4-accepted async-2022-pp-apass6-2023-PbPb-apass2-accepted async-2023-pbpb-apass3-accepted async-2023-pbpb-apass4-accepted

github-actions[bot] avatar Apr 24 '24 09:04 github-actions[bot]

Hi @f3sch, From the ITS perspective, there are little to no changes, so to me, it is okay.

I have a couple of more general comments/questions:

  1. The "IT3" is a nickname to cope with FairRoot's inability to message something with more than three characters in the source ID. In the case of sensitive detectors in simulations, it is the DetID. I don't know all the details, but this is why we have this arguably ugly IT3 name. One could also consider exposing the extended ITS3 name to the user (e.g., in flags, branch names, etc.). I don't mind the naming, but we should ensure this is generally okay since it will quickly crystallize in scripts/automation, etc. I think this is not doable in the simulation command, as the detector names are then parsed as DetID stringified names somewhere.

  2. Are you sure you don't want to make "ITS3 -> ITS spoofing" optional for readers and writers? Maybe even with inverse logic, with spoofing being the default and the possibility of producing something that is ITS3-explicit? This is more of a curiosity. I know this PR is targeting global reco, which requires this trick.

  3. I do personally like the PUBLIC_UPGRADE_LINK_LIBRARIES extension (should not PUBLIC_LINK_LIBRARIES_UPGRADE sound better?). Now, if this is ok to have (pinging @davidrohr and @ktf for more authoritative comments), I think this should be extended to all of the CMake code that could link against libraries for upgrades, including dictionary creation and executables that now are living with explicit checks (e.g. here) and the rest should be changed accordingly, so to make the feature globally available and uniformly used. A dedicated PR could work for this.

mconcas avatar Apr 24 '24 12:04 mconcas

Hi @mconcas,

Thanks for the feedback!

  1. The "IT3" is a nickname to cope with FairRoot's inability to message something with more than three characters in the source ID. In the case of sensitive detectors in simulations, it is the DetID. I don't know all the details, but this is why we have this arguably ugly IT3 name.

Agreed.

One could also consider exposing the extended ITS3 name to the user (e.g., in flags, branch names, etc.). I don't mind the naming, but we should ensure this is generally okay since it will quickly crystallize in scripts/automation, etc. I think this is not doable in the simulation command, as the detector names are then parsed as DetID stringified names somewhere.

One example for this would be in the digit branch names where the detID is stringified. Also, I have no preference on how the flags for the workflows are named, so I will change them.

  1. Are you sure you don't want to make "ITS3 -> ITS spoofing" optional for readers and writers? Maybe even with inverse logic, with spoofing being the default and the possibility of producing something that is ITS3-explicit? This is more of a curiosity. I know this PR is targeting global reco, which requires this trick.

I do not mind implementing this switch but what would be the use-case of having it, since ITS and ITS3 are mutually exclusive so there will not be any overlap in the first place?

  1. I do personally like the PUBLIC_UPGRADE_LINK_LIBRARIES extension (should not PUBLIC_LINK_LIBRARIES_UPGRADE sound better?). Now, if this is ok to have (pinging @davidrohr and @ktf for more authoritative comments), I think this should be extended to all of the CMake code that could link against libraries for upgrades, including dictionary creation and executables that now are living with explicit checks (e.g. here) and the rest should be changed accordingly, so to make the feature globally available and uniformly used. A dedicated PR could work for this.

Naming things is hard.... and yes, your suggestions makes more sense, will change.

f3sch avatar Apr 25 '24 07:04 f3sch

Error while checking build/O2/fullCI for 8f55fbc0e5e5d0e0dc83026846df6e3bdf8f5c97 at 2024-05-08 18:32:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'


## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
/sw/SOURCES/O2/13069-slc8_x86-64/0/Framework/Core/include/Framework/ASoA.h:3115:81: error: invalid use of incomplete type 'typename table_t::RowViewFiltered<Filtered<Join<aod::Tracks, aod::TracksCov, aod::TracksExtra>>, TracksExtension, Table<Index<0, -1>, CollisionId, TrackType, X, Alpha, Y, Z, Snp, Tgl, Signed1Pt, IsWithinBeamPipe<X>, Px<Signed1Pt, Snp, Alpha>, Py<Signed1Pt, Snp, Alpha>, Pz<Signed1Pt, Tgl>, PVector<Signed1Pt, Snp, Alpha, Tgl>, Energy<Signed1Pt, Tgl>, Rapidity<Signed1Pt, Tgl>, Sign<Signed1Pt>, Marker<1>>, TracksCovExtension, Table<SigmaY, SigmaZ, SigmaSnp, SigmaTgl, Sigma1Pt, RhoZY, RhoSnpY, RhoSnpZ, RhoTglY, RhoTglZ, RhoTglSnp, Rho1PtY, Rho1PtZ, Rho1PtSnp, Rho1PtTgl, Marker<1>>, TracksExtra_001Extension, Table<TPCInnerParam, Flags, ITSClusterSizes, TPCNClsFindable, TPCNClsFindableMinusFound, TPCNClsFindableMinusCrossedRows, TPCNClsShared, TRDPattern, ITSChi2NCl, TPCChi2NCl, TRDChi2, TOFChi2, TPCSignal, TRDSignal, Length, TOFExpMom, PIDForTracking<Flags>, IsPVContributor<Flags>, HasITS<DetectorMap>, HasTPC<DetectorMap>, HasTRD<DetectorMap>, HasTOF<DetectorMap>, TPCNClsFound<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCNClsCrossedRows<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, ITSClusterMap<ITSClusterSizes>, ITSNCls<ITSClusterSizes>, ITSNClsInnerBarrel<ITSClusterSizes>, ITSClsSizeInLayer<ITSClusterSizes>, TPCCrossedRowsOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, TPCFoundOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCFractionSharedCls<TPCNClsShared, TPCNClsFindable, TPCNClsFindableMinusFound>, TrackEtaEMCAL, TrackPhiEMCAL, TrackTime, TrackTimeRes>>' (aka 'RowViewBase<o2::soa::FilteredIndexPolicy, o2::soa::Filtered<o2::soa::Join<aod::Tracks, aod::TracksCov, aod::TracksExtra>>, o2::aod::TracksExtension, o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::track::CollisionId, o2::aod::track::TrackType, o2::aod::track::X, o2::aod::track::Alpha, o2::aod::track::Y, o2::aod::track::Z, o2::aod::track::Snp, o2::aod::track::Tgl, o2::aod::track::Signed1Pt, o2::aod::track::IsWithinBeamPipe<o2::aod::track::X>, o2::aod::track::Px<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Py<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Pz<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::PVector<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha, o2::aod::track::Tgl>, o2::aod::track::Energy<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Rapidity<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Sign<o2::aod::track::Signed1Pt>, o2::soa::Marker<1>>, o2::aod::TracksCovExtension, o2::soa::Table<o2::aod::track::SigmaY, o2::aod::track::SigmaZ, o2::aod::track::SigmaSnp, o2::aod::track::SigmaTgl, o2::aod::track::Sigma1Pt, o2::aod::track::RhoZY, o2::aod::track::RhoSnpY, o2::aod::track::RhoSnpZ, o2::aod::track::RhoTglY, o2::aod::track::RhoTglZ, o2::aod::track::RhoTglSnp, o2::aod::track::Rho1PtY, o2::aod::track::Rho1PtZ, o2::aod::track::Rho1PtSnp, o2::aod::track::Rho1PtTgl, o2::soa::Marker<1>>, o2::aod::TracksExtra_001Extension, o2::soa::Table<o2::aod::track::TPCInnerParam, o2::aod::track::Flags, o2::aod::track::ITSClusterSizes, o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound, o2::aod::track::TPCNClsFindableMinusCrossedRows, o2::aod::track::TPCNClsShared, o2::aod::track::TRDPattern, o2::aod::track::ITSChi2NCl, o2::aod::track::TPCChi2NCl, o2::aod::track::TRDChi2, o2::aod::track::TOFChi2, o2::aod::track::TPCSignal, o2::aod::track::TRDSignal, o2::aod::track::Length, o2::aod::track::TOFExpMom, o2::aod::track::PIDForTracking<o2::aod::track::Flags>, o2::aod::track::IsPVContributor<o2::aod::track::Flags>, o2::aod::track::HasITS<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTPC<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTRD<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTOF<o2::aod::track::v001::DetectorMap>, o2::aod::track::TPCNClsFound<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMi/sw/SOURCES/O2/13069-slc8_x86-64/0/Framework/Core/include/Framework/ASoA.h:1401:114: note: in instantiation of template class 'o2::soa::Filtered<o2::soa::Join<o2::aod::TracksExtension, o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::track::CollisionId, o2::aod::track::TrackType, o2::aod::track::X, o2::aod::track::Alpha, o2::aod::track::Y, o2::aod::track::Z, o2::aod::track::Snp, o2::aod::track::Tgl, o2::aod::track::Signed1Pt, o2::aod::track::IsWithinBeamPipe<o2::aod::track::X>, o2::aod::track::Px<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Py<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Pz<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::PVector<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha, o2::aod::track::Tgl>, o2::aod::track::Energy<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Rapidity<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Sign<o2::aod::track::Signed1Pt>, o2::soa::Marker<1>>>>' requested here
/sw/SOURCES/O2/13069-slc8_x86-64/0/Framework/Core/include/Framework/ASoA.h:3115:81: error: invalid use of incomplete type 'typename table_t::RowViewFiltered<Filtered<Join<aod::Tracks, aod::TracksExtra>>, TracksExtension, Table<Index<0, -1>, CollisionId, TrackType, X, Alpha, Y, Z, Snp, Tgl, Signed1Pt, IsWithinBeamPipe<X>, Px<Signed1Pt, Snp, Alpha>, Py<Signed1Pt, Snp, Alpha>, Pz<Signed1Pt, Tgl>, PVector<Signed1Pt, Snp, Alpha, Tgl>, Energy<Signed1Pt, Tgl>, Rapidity<Signed1Pt, Tgl>, Sign<Signed1Pt>, Marker<1>>, TracksExtra_001Extension, Table<TPCInnerParam, Flags, ITSClusterSizes, TPCNClsFindable, TPCNClsFindableMinusFound, TPCNClsFindableMinusCrossedRows, TPCNClsShared, TRDPattern, ITSChi2NCl, TPCChi2NCl, TRDChi2, TOFChi2, TPCSignal, TRDSignal, Length, TOFExpMom, PIDForTracking<Flags>, IsPVContributor<Flags>, HasITS<DetectorMap>, HasTPC<DetectorMap>, HasTRD<DetectorMap>, HasTOF<DetectorMap>, TPCNClsFound<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCNClsCrossedRows<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, ITSClusterMap<ITSClusterSizes>, ITSNCls<ITSClusterSizes>, ITSNClsInnerBarrel<ITSClusterSizes>, ITSClsSizeInLayer<ITSClusterSizes>, TPCCrossedRowsOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, TPCFoundOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCFractionSharedCls<TPCNClsShared, TPCNClsFindable, TPCNClsFindableMinusFound>, TrackEtaEMCAL, TrackPhiEMCAL, TrackTime, TrackTimeRes>>' (aka 'RowViewBase<o2::soa::FilteredIndexPolicy, o2::soa::Filtered<o2::soa::Join<aod::Tracks, aod::TracksExtra>>, o2::aod::TracksExtension, o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::track::CollisionId, o2::aod::track::TrackType, o2::aod::track::X, o2::aod::track::Alpha, o2::aod::track::Y, o2::aod::track::Z, o2::aod::track::Snp, o2::aod::track::Tgl, o2::aod::track::Signed1Pt, o2::aod::track::IsWithinBeamPipe<o2::aod::track::X>, o2::aod::track::Px<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Py<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Pz<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::PVector<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha, o2::aod::track::Tgl>, o2::aod::track::Energy<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Rapidity<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Sign<o2::aod::track::Signed1Pt>, o2::soa::Marker<1>>, o2::aod::TracksExtra_001Extension, o2::soa::Table<o2::aod::track::TPCInnerParam, o2::aod::track::Flags, o2::aod::track::ITSClusterSizes, o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound, o2::aod::track::TPCNClsFindableMinusCrossedRows, o2::aod::track::TPCNClsShared, o2::aod::track::TRDPattern, o2::aod::track::ITSChi2NCl, o2::aod::track::TPCChi2NCl, o2::aod::track::TRDChi2, o2::aod::track::TOFChi2, o2::aod::track::TPCSignal, o2::aod::track::TRDSignal, o2::aod::track::Length, o2::aod::track::TOFExpMom, o2::aod::track::PIDForTracking<o2::aod::track::Flags>, o2::aod::track::IsPVContributor<o2::aod::track::Flags>, o2::aod::track::HasITS<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTPC<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTRD<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTOF<o2::aod::track::v001::DetectorMap>, o2::aod::track::TPCNClsFound<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound>, o2::aod::track::TPCNClsCrossedRows<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusCrossedRows>, o2::aod::track::v001::ITSClusterMap<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSNCls<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSNClsInnerBarrel<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSClsSizeInLayer<o2::aod::track::ITSClusterSizes>, o2::aod::track::TPCCrossedRowsOverFindableCls<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusCrossedRows>, o2::aod::track::TPCFoundOverFindableCls<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound/sw/SOURCES/O2/13069-slc8_x86-64/0/Framework/Core/include/Framework/ASoA.h:2732:38: note: in instantiation of function template specialization 'o2::soa::Join<o2::aod::TracksExtra_001Extension, o2::soa::Table<o2::aod::track::TPCInnerParam, o2::aod::track::Flags, o2::aod::track::ITSClusterSizes, o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound, o2::aod::track::TPCNClsFindableMinusCrossedRows, o2::aod::track::TPCNClsShared, o2::aod::track::TRDPattern, o2::aod::track::ITSChi2NCl, o2::aod::track::TPCChi2NCl, o2::aod::track::TRDChi2, o2::aod::track::TOFChi2, o2::aod::track::TPCSignal, o2::aod::track::TRDSignal, o2::aod::track::Length, o2::aod::track::TOFExpMom, o2::aod::track::PIDForTracking<o2::aod::track::Flags>, o2::aod::track::IsPVContributor<o2::aod::track::Flags>, o2::aod::track::HasITS<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTPC<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTRD<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTOF<o2::aod::track::v001::DetectorMap>, o2::aod::track::TPCNClsFound<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound>, o2::aod::track::TPCNClsCrossedRows<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusCrossedRows>, o2::aod::track::v001::ITSClusterMap<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSNCls<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSNClsInnerBarrel<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSClsSizeInLayer<o2::aod::track::ITSClusterSizes>, o2::aod::track::TPCCrossedRowsOverFindableCls<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusCrossedRows>, o2::aod::track::TPCFoundOverFindableCls<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound>, o2::aod::track::TPCFractionSharedCls<o2::aod::track::TPCNClsShared, o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound>, o2::aod::track::TrackEtaEMCAL, o2::aod::track::TrackPhiEMCAL, o2::aod::track::TrackTime, o2::aod::track::TrackTimeRes>>::(anonymous class)::operator()<o2::aod::TracksExtra_001Extension, o2::soa::Table<o2::aod::track::TPCInnerParam, o2::aod::track::Flags, o2::aod::track::ITSClusterSizes, o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound, o2::aod::track::TPCNClsFindableMinusCrossedRows, o2::aod::track::TPCNClsShared, o2::aod::track::TRDPattern, o2::aod::track::ITSChi2NCl, o2::aod::track::TPCChi2NCl, o2::aod::track::TRDChi2, o2::aod::track::TOFChi2, o2::aod::track::TPCSignal, o2::aod::track::TRDSignal, o2::aod::track::Length, o2::aod::track::TOFExpMom, o2::aod::track::PIDForTracking<o2::aod::track::Flags>, o2::aod::track::IsPVContributor<o2::aod::track::Flags>, o2::aod::track::HasITS<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTPC<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTRD<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTOF<o2::aod::track::v001::DetectorMap>, o2::aod::track::TPCNClsFound<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound>, o2::aod::track::TPCNClsCrossedRows<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusCrossedRows>, o2::aod::track::v001::ITSClusterMap<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSNCls<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSNClsInnerBarrel<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSClsSizeInLayer<o2::aod::track::ITSClusterSizes>, o2::aod::track::TPCCrossedRowsOverFindableCls<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusCrossedRows>, o2::aod::track::TPCFoundOverFindableCls<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound>, o2::aod::track::TPCFractionSharedCls<o2::aod::track::TPCNClsShared, o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound>, o2::aod::track::TrackEtaEMCAL, o2::aod::track::TrackPhiEMCAL, o2::aod::track::TrackTime, o2::aod::track::TrackTimeRes>>' requested here
++ [[ 0 == 0 ]]
++ exit 1
--

Full log here.

alibuild avatar May 02 '24 01:05 alibuild

Failures seem unrelated.

@sawenzel When you have time, could you please take a look at the proposed changes for o2-sim part?

f3sch avatar May 14 '24 15:05 f3sch

@ktf When you have time, would you please take a look at the proposed CMake changes? Thanks.

f3sch avatar May 16 '24 07:05 f3sch

Why don't you use an expression for the upgrade libraries? I do not like the idea of embedding too much extensions to o2_add_library. In general that's a recipe for disasters.

ktf avatar May 16 '24 07:05 ktf

I.e. $<$<BOOL:${ENABLE_UPGRADE}>:optional_library>

ktf avatar May 16 '24 07:05 ktf

@f3sch @mconcas . In general nice developments and big progress! But I have a few comments to this PR.

(a) just f.y.i; as far as I remember the limit of 3 letters for DetID strings does not come from FairRoot! I believe this is more part of the DPL (header) protocol.

(b) I am not a big fan of adding new specific options to o2-sim just to modify a detector list in the sense of o2-sim --withITS3 (because it doesn't scale when more detector have wishes like this). Here are my thoughts:

  • First of all, it is probably not urgently needed since you had a solution by manually giving the complete list
  • Secondly, I already discussed with @mconcas an alternative path using ConfigurableParams. One could for instance already now use something like o2-sim --configKeyValues "ITS.DetectorVersion=3" ... and then just construct the ITS3 geometry instead of ITS2 in the build_geometry.C setup, depending on this parameter (understanding that -m ITS would stand as proxy for either versions).
  • Overall, I agree that we need better flexibility in constructing detector lists for o2-sim. This is a already a longer term planned development. But I would like to make it more general by doing something like o2-sim --detector-version [ALICE2 | ALICE2.1 | ALICE3 | CUSTOM] and then potentially define the list of detectors for these names in some json or other file.

(c) Along the same line, is it really necessary to modify multiple function signatures with new arguments bool withIT3. Again an alternative might be just using configKeyParams... but since this concerns more the reco part maybe @shahor02 has different preferences/opinions.

sawenzel avatar May 16 '24 09:05 sawenzel

Thanks @ktf, dropped the cmake changes and replaced them by expressions.

f3sch avatar May 22 '24 15:05 f3sch

@sawenzel thanks for the comments, dropped the sim changes in favour of the other PR and indeed using the configKeyValues is better.

f3sch avatar May 22 '24 15:05 f3sch

Hi @wille10, the changes for TRD should be minimal. I added a configKeyValue as for TRD there wasn't one before, for now this only holds a single value but maybe in the future can be extended. Do the changes seem fine to you?

f3sch avatar May 22 '24 15:05 f3sch

Hi @wille10, the changes for TRD should be minimal. I added a configKeyValue as for TRD there wasn't one before, for now this only holds a single value but maybe in the future can be extended. Do the changes seem fine to you?

For the TRD reconstruction the parameters are stored in GPU/GPUTracking/Definitions/GPUSettingsList.h. Why is a new parameter class needed? Can it not be a wf option?

martenole avatar May 22 '24 16:05 martenole

For the TRD reconstruction the parameters are stored in GPU/GPUTracking/Definitions/GPUSettingsList.h. Why is a new parameter class needed? Can it not be a wf option?

@martenole sorry I pinged the wrong person. I would prefer to have the settings consistent across the workflows, e.g., using parameters and not wf options. Correct me if I am wrong, the GPUSettings seem to be loaded after the request for the ITS clusters has been made, for ITS3 we need to conditionally load a different topology dictionary hence I need it to the input spec.

f3sch avatar May 23 '24 13:05 f3sch

For the TRD reconstruction the parameters are stored in GPU/GPUTracking/Definitions/GPUSettingsList.h. Why is a new parameter class needed? Can it not be a wf option?

@martenole sorry I pinged the wrong person. I would prefer to have the settings consistent across the workflows, e.g., using parameters and not wf options. Correct me if I am wrong, the GPUSettings seem to be loaded after the request for the ITS clusters has been made, for ITS3 we need to conditionally load a different topology dictionary hence I need it to the input spec.

Hm, ok. The GPU settings are indeed not the place for that setting. And the configurable parameter classes that we have (for calibration and simulation) should not be abused for this. Then I think it is OK to add the reconstruction class. And no worries, @wille10 is the correct person to tag for TRD now, but I also saw it so thought I can as well reply :)

martenole avatar May 23 '24 17:05 martenole

@f3sch sorry if I missed something, but why not defining a single key withITS3 rather than doing this in different params? You can even add it as a member of the NameConf (in the same lib. as ConfigurableParam) if some paths should be generated accounting for the ITS3. BTW, the only thing which prevents initializing configurableParam from the workflow (instead of the device spec builder) is that currently the global (workflow) and local (device) options cannot be the same, so we cannot put --configKeyValues on both levels. But this, I guess, is fixable. Obviously, in this case the configurable cannot be initialized from the ccdb before the 1st TF.

shahor02 avatar May 23 '24 18:05 shahor02

Hm, ok. The GPU settings are indeed not the place for that setting. And the configurable parameter classes that we have (for calibration and simulation) should not be abused for this. Then I think it is OK to add the reconstruction class. And no worries, @wille10 is the correct person to tag for TRD now, but I also saw it so thought I can as well reply :)

Thanks for taking the time :)

f3sch avatar May 24 '24 07:05 f3sch

@f3sch sorry if I missed something, but why not defining a single key withITS3 rather than doing this in different params? You can even add it as a member of the NameConf (in the same lib. as ConfigurableParam) if some paths should be generated accounting for the ITS3. BTW, the only thing which prevents initializing configurableParam from the workflow (instead of the device spec builder) is that currently the global (workflow) and local (device) options cannot be the same, so we cannot put --configKeyValues on both levels. But this, I guess, is fixable. Obviously, in this case the configurable cannot be initialized from the ccdb before the 1st TF.

Hi @shahor02, indeed it might be nicer to have it more as a global option instead of scattering this about in different files. I took a look but only found KeyVal.cxx which seems like one, but this file, AFAICT, defines the input, output dirs for the configparams so it might not be appropriate. Do you have another one mind? For the NameConf, I don't think we need to generate different paths right now.

f3sch avatar May 24 '24 07:05 f3sch

@f3sch then you can add a new ConfigurableParam, e.g. GlobalParams in the Detectors/Base, could be useful also for the future additions.

shahor02 avatar May 24 '24 08:05 shahor02

@shahor02 thanks, removed all other additions to configparams in favour of newly added GlobalParms.

f3sch avatar May 24 '24 12:05 f3sch

Error while checking build/O2/fullCI for 4a5843254a54b78bac2b0997cfe546ccb92a7190 at 2024-05-24 17:11:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'


## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
/sw/SOURCES/O2/13069-slc8_x86-64/0/Framework/Core/include/Framework/ASoA.h:3115:81: error: invalid use of incomplete type 'typename table_t::RowViewFiltered<Filtered<Join<TracksExtra_001Extension, Table<TPCInnerParam, Flags, ITSClusterSizes, TPCNClsFindable, TPCNClsFindableMinusFound, TPCNClsFindableMinusCrossedRows, TPCNClsShared, TPCDeltaTFwd<TrackTimeRes, Flags>, TPCDeltaTBwd<TrackTimeRes, Flags>, TRDPattern, ITSChi2NCl, TPCChi2NCl, TRDChi2, TOFChi2, TPCSignal, TRDSignal, Length, TOFExpMom, PIDForTracking<Flags>, IsPVContributor<Flags>, HasITS<DetectorMap>, HasTPC<DetectorMap>, HasTRD<DetectorMap>, HasTOF<DetectorMap>, TPCNClsFound<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCNClsCrossedRows<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, ITSClusterMap<ITSClusterSizes>, ITSNCls<ITSClusterSizes>, ITSNClsInnerBarrel<ITSClusterSizes>, ITSClsSizeInLayer<ITSClusterSizes>, TPCCrossedRowsOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, TPCFoundOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCFractionSharedCls<TPCNClsShared, TPCNClsFindable, TPCNClsFindableMinusFound>, TrackEtaEMCAL, TrackPhiEMCAL, TrackTime, TrackTimeRes>>>, TracksExtra_001Extension, Table<TPCInnerParam, Flags, ITSClusterSizes, TPCNClsFindable, TPCNClsFindableMinusFound, TPCNClsFindableMinusCrossedRows, TPCNClsShared, TPCDeltaTFwd<TrackTimeRes, Flags>, TPCDeltaTBwd<TrackTimeRes, Flags>, TRDPattern, ITSChi2NCl, TPCChi2NCl, TRDChi2, TOFChi2, TPCSignal, TRDSignal, Length, TOFExpMom, PIDForTracking<Flags>, IsPVContributor<Flags>, HasITS<DetectorMap>, HasTPC<DetectorMap>, HasTRD<DetectorMap>, HasTOF<DetectorMap>, TPCNClsFound<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCNClsCrossedRows<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, ITSClusterMap<ITSClusterSizes>, ITSNCls<ITSClusterSizes>, ITSNClsInnerBarrel<ITSClusterSizes>, ITSClsSizeInLayer<ITSClusterSizes>, TPCCrossedRowsOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, TPCFoundOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCFractionSharedCls<TPCNClsShared, TPCNClsFindable, TPCNClsFindableMinusFound>, TrackEtaEMCAL, TrackPhiEMCAL, TrackTime, TrackTimeRes>>' (aka 'RowViewBase<o2::soa::FilteredIndexPolicy, o2::soa::Filtered<o2::soa::Join<o2::aod::TracksExtra_001Extension, o2::soa::Table<o2::aod::track::TPCInnerParam, o2::aod::track::Flags, o2::aod::track::ITSClusterSizes, o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound, o2::aod::track::TPCNClsFindableMinusCrossedRows, o2::aod::track::TPCNClsShared, o2::aod::track::v001::extensions::TPCDeltaTFwd<o2::aod::track::TrackTimeRes, o2::aod::track::Flags>, o2::aod::track::v001::extensions::TPCDeltaTBwd<o2::aod::track::TrackTimeRes, o2::aod::track::Flags>, o2::aod::track::TRDPattern, o2::aod::track::ITSChi2NCl, o2::aod::track::TPCChi2NCl, o2::aod::track::TRDChi2, o2::aod::track::TOFChi2, o2::aod::track::TPCSignal, o2::aod::track::TRDSignal, o2::aod::track::Length, o2::aod::track::TOFExpMom, o2::aod::track::PIDForTracking<o2::aod::track::Flags>, o2::aod::track::IsPVContributor<o2::aod::track::Flags>, o2::aod::track::HasITS<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTPC<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTRD<o2::aod::track::v001::DetectorMap>, o2::aod::track::HasTOF<o2::aod::track::v001::DetectorMap>, o2::aod::track::TPCNClsFound<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound>, o2::aod::track::TPCNClsCrossedRows<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusCrossedRows>, o2::aod::track::v001::ITSClusterMap<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSNCls<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSNClsInnerBarrel<o2::aod::track::ITSClusterSizes>, o2::aod::track::v001::ITSClsSizeInLayer<o2::aod::track::ITSClusterSizes>, o2::aod::track::TPCCrossedRowsOverFindableCls<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusCrossedRows>, o2::aod::track::TPCFoundOverFindableCls<o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound>/sw/SOURCES/O2/13069-slc8_x86-64/0/Framework/Core/include/Framework/ASoA.h:1401:114: note: in instantiation of template class 'o2::soa::Filtered<o2::soa::Join<o2::aod::TracksCovIUExtension, o2::soa::Table<o2::aod::track::SigmaY, o2::aod::track::SigmaZ, o2::aod::track::SigmaSnp, o2::aod::track::SigmaTgl, o2::aod::track::Sigma1Pt, o2::aod::track::RhoZY, o2::aod::track::RhoSnpY, o2::aod::track::RhoSnpZ, o2::aod::track::RhoTglY, o2::aod::track::RhoTglZ, o2::aod::track::RhoTglSnp, o2::aod::track::Rho1PtY, o2::aod::track::Rho1PtZ, o2::aod::track::Rho1PtSnp, o2::aod::track::Rho1PtTgl, o2::soa::Marker<2>>>>' requested here
++ [[ 0 == 0 ]]
++ exit 1
--

Full log here.

alibuild avatar May 24 '24 15:05 alibuild

Error while checking build/O2/fullCI for b2f8b88d5554d3f4aca0c6763822bdbddc0d035c at 2024-05-31 04:48:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'


## sw/BUILD/O2-sim-challenge-test-latest/log
./tofMatchTracks.log[ERROR] Workflow crashed - PID 25907 (tof-matcher) did not exit correctly however it's not clear why. Exit code forced to 128.
./tofMatchTracks.log[ERROR]  - Device tof-matcher: pid 25907 (exit 128)
./tofMatchTracks.log[ERROR] SEVERE: Device tof-matcher (25907) returned with 128
./mchreco.log[17846:mch-error-writer]: [02:45:26][ERROR] Some Lifetime::Timeframe data got dropped starting at 1
./mchreco.log[17847:mch-track-writer]: [02:45:26][ERROR] Some Lifetime::Timeframe data got dropped starting at 1
./sim-challenge.log[ERROR] Workflow crashed - PID 25907 (tof-matcher) did not exit correctly however it's not clear why. Exit code forced to 128.
./sim-challenge.log[ERROR]  - Device tof-matcher: pid 25907 (exit 128)
./sim-challenge.log[ERROR] SEVERE: Device tof-matcher (25907) returned with 128
./midreco.log[19835:MIDRecoWriter]: [02:45:56][ERROR] Some Lifetime::Timeframe data got dropped starting at 1
./mchmidMatch.log[20689:muon-track-writer]: [02:46:04][ERROR] Some Lifetime::Timeframe data got dropped starting at 1
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[11025:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[11035:SimReader]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[11046:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[11046:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[11046:internal-dpl-ccdb-backend]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
[0 more errors; see full log]

Full log here.

alibuild avatar May 27 '24 21:05 alibuild

Error while checking build/O2/fullCI for eb60a03507b0eebf67908c4e4160d30a22d4c5e0 at 2024-06-07 10:49:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'


## sw/BUILD/O2-sim-challenge-test-latest/log
./tofMatchTracks.log[ERROR] Workflow crashed - PID 23679 (tof-matcher) did not exit correctly however it's not clear why. Exit code forced to 128.
./tofMatchTracks.log[ERROR]  - Device tof-matcher: pid 23679 (exit 128)
./tofMatchTracks.log[ERROR] SEVERE: Device tof-matcher (23679) returned with 128
./mchreco.log[15312:mch-error-writer]: [08:47:13][ERROR] Some Lifetime::Timeframe data got dropped starting at 1
./mchreco.log[15313:mch-track-writer]: [08:47:13][ERROR] Some Lifetime::Timeframe data got dropped starting at 1
./sim-challenge.log[ERROR] Workflow crashed - PID 23679 (tof-matcher) did not exit correctly however it's not clear why. Exit code forced to 128.
./sim-challenge.log[ERROR]  - Device tof-matcher: pid 23679 (exit 128)
./sim-challenge.log[ERROR] SEVERE: Device tof-matcher (23679) returned with 128
./midreco.log[17345:MIDRecoWriter]: [08:47:45][ERROR] Some Lifetime::Timeframe data got dropped starting at 1
./mchmidMatch.log[18197:muon-track-writer]: [08:47:53][ERROR] Some Lifetime::Timeframe data got dropped starting at 1
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[8038:internal-dpl-clock]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/42}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/43}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/45}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/46}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/47}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/48}
./digi.log[8059:TPCDigitizer_14]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/49}
./digi.log[8077:TPCDigitizer_8]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/37}
./digi.log[8077:TPCDigitizer_8]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/38}
./digi.log[8077:TPCDigitizer_8]: [ERROR] Found duplicate input binding with different spec.:collisioncontext {SIM/COLLISIONCONTEXT/40}
[0 more errors; see full log]

Full log here.

alibuild avatar Jun 02 '24 14:06 alibuild

Error while checking build/O2/fullCI for 60c2f933fabed20d93bd69622ec362726eda1199 at 2024-06-07 14:22:

No log files found

Full log here.

alibuild avatar Jun 07 '24 12:06 alibuild

Error while checking build/O2/fullCI for bfa5ca3f83aee4a27f5ca1e72439a141e2885119 at 2024-06-08 09:45:

No log files found

Full log here.

alibuild avatar Jun 08 '24 07:06 alibuild

Error while checking build/O2/fullCI for e8fa25c111fbdf49261b1d50194b1b1c645ab7ea at 2024-06-13 07:51:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'

Full log here.

alibuild avatar Jun 13 '24 05:06 alibuild

Error while checking build/O2/fullCI for 3dc6d585b25b4ea7c4afe8813edcf5664041c7d4 at 2024-06-21 13:59:

++ rsync -a '--exclude=**/.git' --delete --delete-excluded /sw/SOURCES/O2DPG/13069-slc8_x86-64/0/ /sw/slc8_x86-64/O2DPG/13069-slc8_x86-64-local2/
++ mkdir -p etc/modulefiles
++ alibuild-generate-module --bin
BUILD_REQUIRES=alibuild-recipe-tools defaults-release
FULL_BUILD_REQUIRES=defaults-release alibuild-recipe-tools
DEFAULTS_RELEASE is a build_requires. Skipping loading the associated module.
++ cat
++ mkdir -p /sw/slc8_x86-64/O2DPG/13069-slc8_x86-64-local2/etc/modulefiles
++ rsync -a --delete etc/modulefiles/ /sw/slc8_x86-64/O2DPG/13069-slc8_x86-64-local2/etc/modulefiles

Full log here.

alibuild avatar Jun 13 '24 06:06 alibuild

Hi @shahor02, when you have time could you please take a look if you're fine with the proposed changes for the matching?

f3sch avatar Jun 13 '24 07:06 f3sch

Error while checking build/O2/fullCI for 3e98abf5c16049d1e1c7781b783e0e1d7534d1ab at 2024-06-29 11:09:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'


## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
/sw/SOURCES/O2/13069-slc8_x86-64/0/Framework/Core/include/Framework/ASoA.h:3111:81: error: invalid use of incomplete type 'typename table_t::RowViewFiltered<Filtered<Join<aod::Tracks, aod::TracksCov, aod::TracksExtra>>, TracksExtension, Table<Index<0, -1>, CollisionId, TrackType, X, Alpha, Y, Z, Snp, Tgl, Signed1Pt, IsWithinBeamPipe<X>, Px<Signed1Pt, Snp, Alpha>, Py<Signed1Pt, Snp, Alpha>, Pz<Signed1Pt, Tgl>, PVector<Signed1Pt, Snp, Alpha, Tgl>, Energy<Signed1Pt, Tgl>, Rapidity<Signed1Pt, Tgl>, Sign<Signed1Pt>, Marker<1>>, TracksCovExtension, Table<SigmaY, SigmaZ, SigmaSnp, SigmaTgl, Sigma1Pt, RhoZY, RhoSnpY, RhoSnpZ, RhoTglY, RhoTglZ, RhoTglSnp, Rho1PtY, Rho1PtZ, Rho1PtSnp, Rho1PtTgl, Marker<1>>, TracksExtra_001Extension, Table<TPCInnerParam, Flags, ITSClusterSizes, TPCNClsFindable, TPCNClsFindableMinusFound, TPCNClsFindableMinusCrossedRows, TPCNClsShared, TPCDeltaTFwd<TrackTimeRes, Flags>, TPCDeltaTBwd<TrackTimeRes, Flags>, TRDPattern, ITSChi2NCl, TPCChi2NCl, TRDChi2, TOFChi2, TPCSignal, TRDSignal, Length, TOFExpMom, PIDForTracking<Flags>, IsPVContributor<Flags>, HasITS<DetectorMap>, HasTPC<DetectorMap>, HasTRD<DetectorMap>, HasTOF<DetectorMap>, TPCNClsFound<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCNClsCrossedRows<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, ITSClusterMap<ITSClusterSizes>, ITSNCls<ITSClusterSizes>, ITSNClsInnerBarrel<ITSClusterSizes>, ITSClsSizeInLayer<ITSClusterSizes>, TPCCrossedRowsOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusCrossedRows>, TPCFoundOverFindableCls<TPCNClsFindable, TPCNClsFindableMinusFound>, TPCFractionSharedCls<TPCNClsShared, TPCNClsFindable, TPCNClsFindableMinusFound>, TrackEtaEMCAL, TrackPhiEMCAL, TrackTime, TrackTimeRes>>' (aka 'RowViewBase<o2::soa::FilteredIndexPolicy, o2::soa::Filtered<o2::soa::Join<aod::Tracks, aod::TracksCov, aod::TracksExtra>>, o2::aod::TracksExtension, o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::track::CollisionId, o2::aod::track::TrackType, o2::aod::track::X, o2::aod::track::Alpha, o2::aod::track::Y, o2::aod::track::Z, o2::aod::track::Snp, o2::aod::track::Tgl, o2::aod::track::Signed1Pt, o2::aod::track::IsWithinBeamPipe<o2::aod::track::X>, o2::aod::track::Px<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Py<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Pz<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::PVector<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha, o2::aod::track::Tgl>, o2::aod::track::Energy<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Rapidity<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Sign<o2::aod::track::Signed1Pt>, o2::soa::Marker<1>>, o2::aod::TracksCovExtension, o2::soa::Table<o2::aod::track::SigmaY, o2::aod::track::SigmaZ, o2::aod::track::SigmaSnp, o2::aod::track::SigmaTgl, o2::aod::track::Sigma1Pt, o2::aod::track::RhoZY, o2::aod::track::RhoSnpY, o2::aod::track::RhoSnpZ, o2::aod::track::RhoTglY, o2::aod::track::RhoTglZ, o2::aod::track::RhoTglSnp, o2::aod::track::Rho1PtY, o2::aod::track::Rho1PtZ, o2::aod::track::Rho1PtSnp, o2::aod::track::Rho1PtTgl, o2::soa::Marker<1>>, o2::aod::TracksExtra_001Extension, o2::soa::Table<o2::aod::track::TPCInnerParam, o2::aod::track::Flags, o2::aod::track::ITSClusterSizes, o2::aod::track::TPCNClsFindable, o2::aod::track::TPCNClsFindableMinusFound, o2::aod::track::TPCNClsFindableMinusCrossedRows, o2::aod::track::TPCNClsShared, o2::aod::track::v001::extensions::TPCDeltaTFwd<o2::aod::track::TrackTimeRes, o2::aod::track::Flags>, o2::aod::track::v001::extensions::TPCDeltaTBwd<o2::aod::track::TrackTimeRes, o2::aod::track::Flags>, o2::aod::track::TRDPattern, o2::aod::track::ITSChi2NCl, o2::aod::track::TPCChi2NCl, o2::aod::track::TRDChi2, o2::aod::track::TOFChi2, o2::aod::track::TPCSignal, o2::aod::track::TRDSignal, o2::aod::track::Length, o2::aod::track::TOFExpMom, o2::aod::track::PIDForTracking<o2::aod::track::Flags>, o2::aod::track::IsPVContributor<o2::aod::track::Flags>, o2::aod::track::HasITS<o2::aod::track::v001::DetectorMap>, /sw/SOURCES/O2/13069-slc8_x86-64/0/Framework/Core/include/Framework/ASoA.h:1397:114: note: in instantiation of template class 'o2::soa::Filtered<o2::soa::Join<o2::aod::TracksExtension, o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::track::CollisionId, o2::aod::track::TrackType, o2::aod::track::X, o2::aod::track::Alpha, o2::aod::track::Y, o2::aod::track::Z, o2::aod::track::Snp, o2::aod::track::Tgl, o2::aod::track::Signed1Pt, o2::aod::track::IsWithinBeamPipe<o2::aod::track::X>, o2::aod::track::Px<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Py<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha>, o2::aod::track::Pz<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::PVector<o2::aod::track::Signed1Pt, o2::aod::track::Snp, o2::aod::track::Alpha, o2::aod::track::Tgl>, o2::aod::track::Energy<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Rapidity<o2::aod::track::Signed1Pt, o2::aod::track::Tgl>, o2::aod::track::Sign<o2::aod::track::Signed1Pt>, o2::soa::Marker<1>>>>' requested here
++ [[ 0 == 0 ]]
++ exit 1
--

Full log here.

alibuild avatar Jun 21 '24 13:06 alibuild

@f3sch could you rebase it to dev? I see that many modifications are already in the dev.

shahor02 avatar Jul 02 '24 20:07 shahor02