Skip to content

Conversation

@miranov25
Copy link
Contributor

Adding TOF information structure o2::track::TrackLTIntegral ltIntegral=tpctofmatch.getLTIntegralOut() into the

@github-actions
Copy link
Contributor

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-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0
async-2024-PbPb-apass1
async-2024-ppRef-apass1

@miranov25
Copy link
Contributor Author

Hello @noferini , @ercolessi @matthias-kleiner

As we agreed I am pushing the TOF information into the TPC time series & skimmed data.
The test looks fine, I will test few correlation and request cherry pick.

New time series:

 treeTimeSeries->Show(0)->
....
 sqrtChi2Match   = -1
 tpcYDeltaAtTOF  = -999
 tpcZDeltaAtTOF  = -999
 mDXatTOF        = -999
 mDZatTOF        = -999
 mTOFLength      = (o2::track::TrackLTIntegral*)0x53aff90
 mL              = 0.000000
 mX2X0           = 0.000000
 mXRho           = 0.000000
 mT[9]           = 0.000000 , 0.000000 , 0.000000 , 0.000000 , 0.000000 ,
                    0.000000 , 0.000000 , 0.000000 , 0.000000
 mTOFSignal      = 0
..

The content looks reasonable so far:

treeTimeSeries->Draw("mL:tgl:abs(qpt)","mL>0","colz")

image

@shahor02
Copy link
Collaborator

@miranov25 you have to apply clang-format. Note that this is adding ~10 non-empty floats per TOF track.

@miranov25
Copy link
Contributor Author

AddingTPC, Vertex, and TPC-TOF time

  • T0 time is for a moment missing .... needs too much coding
    @noferini, do we have preliminary T0 time available at all during tracking, or is it calculated only later on?
 mTOFLength      = (o2::track::TrackLTIntegral*)0x366e2f0
 mL              = 0.000000
 mX2X0           = 0.000000
 mXRho           = 0.000000
 mT[9]           = 0.000000 , 0.000000 , 0.000000 , 0.000000 , 0.000000 ,
                    0.000000 , 0.000000 , 0.000000 , 0.000000

 mTOFSignal      = 0
 mDeltaTTOFTPC   = 0
 vertexTime      = 0
 trackTime0      = 2541.89

@miranov25
Copy link
Contributor Author

@shahor02, @davidrohr, @wiechula

Could you please review the pull request? I would like to request a cherry-pick of the code. Local tests have been successful without any issues.

Best regards,
Marian

@miranov25
Copy link
Contributor Author

@miranov25 you have to apply clang-format. Note that this is adding ~10 non-empty floats per TOF track.

Somehow clang is stuck, for a moment. I will add it clang version soon.
For the size we can optimize that size using diff to pion, for a moment it creates 3 % increase in the data volume:

root [16] treeTimeSeries->GetBranch("mT[9]")->GetZipBytes()/float(treeTimeSeries->GetZipBytes())
(float) 0.0340168f

@noferini
Copy link
Collaborator

AddingTPC, Vertex, and TPC-TOF time

* T0 time is for a moment missing .... needs too much coding
  @noferini, do we have preliminary T0 time available at all during tracking, or is it calculated only later on?

Hi @miranov25 ,

  • FT0-T0 is not yes associated at this stage, in TOF QC we re-match it to TOF tracks by requiring the same BC
  • TOF-T0 from combinatorial algorithm is calculated later, at analysis level affter collision is defined. Again, in TOF QC we group tracks close in TOF-time to define collision and test TOF-T0.
    For time-series I would take care to port only FT0-T0 which is quite efficient and provided with a good resolution. I have to check in our code if we can match FT0 and TOF-tracks already in our matching algorithm (I think I do it already for TOF calibs) to simplify your life.

@miranov25
Copy link
Contributor Author

Hello @shahor02, @noferini, and @wiechula,

I ran clang-format, and everything looks fine—there is no difference before and after formatting:

[O2Physics/latest-master-o2] /scratch/alice/miranov/alicesw/O2/Detectors/TPC/workflow/src $> diff TPCTimeSeriesSpec.cxx TPCTimeSeriesSpec.cxx.clang  
[O2Physics/latest-master-o2] /scratch/alice/miranov/alicesw/O2/Detectors/TPC/workflow/src $>  

This suggests there might be a bug in the build system.

Could this be approved so I can request a cherry-pick for the apass1 production?

Data Volume for mT

Regarding the data volume for the mT, I will apply compression with an estimated factor of 4–8. It is straightforward since we only need to encode very small deltas relative to the expectation:

t = L / <β_ι>  
<β_ι> = β0_ι + (dβ_ι / dp) * Δp  

Here:

  • Δp is similar for all particle species.
  • The variation around the approximation is minimal, leading to very low entropy, effective residual coding

I will review how this is currently implemented in the AO2D, but it can be coded efficiently in a similar manner. I am prototyping the approach now.

Best regards,
Marian

@alibuild
Copy link
Collaborator

Error while checking build/O2/fullCI for 1bc9730 at 2024-12-17 09:05:

## 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/O2Physics-latest/log
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:
Error in cling::AutoLoadingVisitor::InsertIntoAutoLoadingState:


## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
++ GRERR=1
++ [[ 1 == 0 ]]
++ mkdir -p /sw/INSTALLROOT/2adc30def61b50088280974134526ccee6e64860/slc8_x86-64/o2checkcode/1.0-local11/etc/modulefiles
++ cat
--

Full log here.

Copy link
Collaborator

@shahor02 shahor02 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fullCI fails due to the failed git fetch of QC.

You have to assign labels.

@shahor02 shahor02 merged commit eae7e1d into AliceO2Group:dev Dec 17, 2024
10 of 13 checks passed
@miranov25
Copy link
Contributor Author

For the record - promising formulas for the TOF delta time, delta momentum correction

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

5 participants