AliceO2 icon indicating copy to clipboard operation
AliceO2 copied to clipboard

AOD: Add TPC time0 option B

Open f3sch opened this issue 9 months ago • 5 comments

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?

f3sch avatar May 13 '24 11:05 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 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

github-actions[bot] avatar May 13 '24 11:05 github-actions[bot]

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

miranov25 avatar May 14 '24 07:05 miranov25

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 avatar May 14 '24 07:05 miranov25

@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

jgrosseo avatar May 14 '24 11:05 jgrosseo

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.

alibuild avatar May 15 '24 00:05 alibuild

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
image

miranov25 avatar May 16 '24 07:05 miranov25