AliceO2
AliceO2 copied to clipboard
AOD: Add TPC time0 option B
As proposed today in https://indico.cern.ch/event/1416151/ this would implement option b (e.g. the inclusion of the time0 for tpc-only track with encoding of the deltaFwd/Bwd).
@miranov25 If you could please have a look in to the proposal and code to solve also your request for inclusion of t0, this would be much appreciated?
REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-
+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 async-2023-pp-apass4 async-2023-pp-apass4-accepted async-2024-pp-apass1 async-2024-pp-apass1-accepted async-2022-pp-apass7 async-2022-pp-apass7-accepted async-2024-pp-cpass0 async-2024-pp-cpass0-accepted
Subject: Compatibility Concerns with Track t0 Storage Requirements
Hi @f3sch,
I reviewed your presentation on the agenda, and I have some questions regarding compatibility with the t0 storage requirements for tracks (similar to my previous trackQA implementation).
Based on my review, it seems there might be some discrepancies between the proposed solution and the following requirements:
t0 Storage Requirements:
- Data: We require storage for the t0 time for all tracks. This time, when combined with another reference time source, provides the absolute time for each track.
- Compression: To minimize storage overhead, we aim to compress the t0 data to a level where the additional storage volume is negligible.
-
Precision: The required time precision for t0 is approximately 0.25 ns (nanoseconds). This value reflects the intrinsic resolution of TPC tracks at the TPC entrance, translating to:
- 0.025 cm spatial resolution
- 2.5 cm/μs (microseconds) detector drift velocity
- ~0.01 μs (microseconds) time resolution
Would you be available to discuss these requirements in more detail and explore potential compatibility issues with your proposed solution?
Marian
Building on My Previous Comment: t0 Storage for All Tracks This comment expands on my earlier point regarding t0 storage requirements. In the specific scenario where we consider t0 for all tracks (rather than just TPC tracks), I plan to utilize delta time for machine learning tasks, particularly for rejecting fake matched tracks and improving track properties.
Availability of Delta Time: Currently, I'm unsure if we can obtain this information through alternative methods. My current understanding suggests it might not be readily available.
Further Discussion: To ensure optimal functionality, it would be beneficial to discuss the feasibility of acquiring delta time information for all tracks. Are there alternative approaches or existing data sources that could potentially provide us with this data?
@miranov25 This implementation is for a different use case. The question to you is: does it work also for you? Therefore, could you be more specific with regards to the actual proposal? In particular the way the time is stored can be found here: https://github.com/AliceO2Group/AliceO2/pull/13131/files#diff-6dc278732c5ed5f43d5567ad2c469ac11acf0e85339ae708bdf977ddd8fba392R2459
Error while checking build/O2/fullCI for 847bb099a6960434f32d9b3eaa8d25d2bd883831 at 2024-05-16 06: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/13131-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, 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/13131-slc8_x86-64/0/Framework/Core/include/Framework/ASoA.h:3115:29: note: in instantiation of function template specialization 'o2::soa::Filtered<o2::soa::Join<o2::aod::MFTTracks_001Extension, o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::fwdtrack::CollisionId, o2::aod::fwdtrack::X, o2::aod::fwdtrack::Y, o2::aod::fwdtrack::Z, o2::aod::fwdtrack::Phi, o2::aod::fwdtrack::Tgl, o2::aod::fwdtrack::Signed1Pt, o2::aod::fwdtrack::v001::NClusters<o2::aod::fwdtrack::MFTClusterSizesAndTrackFlags>, o2::aod::fwdtrack::MFTClusterSizesAndTrackFlags, o2::aod::fwdtrack::IsCA<o2::aod::fwdtrack::MFTClusterSizesAndTrackFlags>, o2::aod::fwdtrack::Px<o2::aod::fwdtrack::Pt, o2::aod::fwdtrack::Phi>, o2::aod::fwdtrack::Py<o2::aod::fwdtrack::Pt, o2::aod::fwdtrack::Phi>, o2::aod::fwdtrack::Pz<o2::aod::fwdtrack::Pt, o2::aod::fwdtrack::Tgl>, o2::aod::fwdtrack::Sign<o2::aod::fwdtrack::Signed1Pt>, o2::aod::fwdtrack::Chi2, o2::aod::fwdtrack::TrackTime, o2::aod::fwdtrack::TrackTimeRes>>>::(anonymous class)::operator()<o2::aod::MFTTracks_001Extension, o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::fwdtrack::CollisionId, o2::aod::fwdtrack::X, o2::aod::fwdtrack::Y, o2::aod::fwdtrack::Z, o2::aod::fwdtrack::Phi, o2::aod::fwdtrack::Tgl, o2::aod::fwdtrack::Signed1Pt, o2::aod::fwdtrack::v001::NClusters<o2::aod::fwdtrack::MFTClusterSizesAndTrackFlags>, o2::aod::fwdtrack::MFTClusterSizesAndTrackFlags, o2::aod::fwdtrack::IsCA<o2::aod::fwdtrack::MFTClusterSizesAndTrackFlags>, o2::aod::fwdtrack::Px<o2::aod::fwdtrack::Pt, o2::aod::fwdtrack::Phi>, o2::aod::fwdtrack::Py<o2::aod::fwdtrack::Pt, o2::aod::fwdtrack::Phi>, o2::aod::fwdtrack::Pz<o2::aod::fwdtrack::Pt, o2::aod::fwdtrack::Tgl>, o2::aod::fwdtrack::Sign<o2::aod::fwdtrack::Signed1Pt>, o2::aod::fwdtrack::Chi2, o2::aod::fwdtrack::TrackTime, o2::aod::fwdtrack::TrackTimeRes>>' requested here
++ [[ 0 == 0 ]]
++ exit 1
--
Full log here.
Hi @jgrosseo, @pzhristov, and @f3sch,
To address the challenges posed by the high-occupancy environment, I propose storing the complete TrackQA table (including track Time0) in the non-sampled regime. This dataset will be essential for post-correction processes designed to rectify induced imperfections. As discussed with Felix, this approach will simultaneously accommodate his requirements as well.
To advance this request, I am currently engaging with relevant stakeholders and compiling supporting documentation for approval. I introduced a preliminary version of this proposal at yesterday’s TPC meeting. I plan to further elaborate on these plans at today’s AOT meeting and have requested a time slot with Peter on Monday for a more detailed discussion.
- as a motivation see my Run2 dEdx spectra with outlier filtering as published in the PDG
Best regards,
Marian
- https://pdg.lbl.gov/2019/reviews/rpp2019-rev-particle-detectors-accel.pdf