Skip to content

Conversation

@shahor02
Copy link
Collaborator

@shahor02 shahor02 commented Apr 3, 2025

This is an alternative to #14140

It stores in the AO2D directly

const float dEdxNorm = (dEdxInfoAlt.dEdxTotTPC > 0) ? 100. / dEdxInfoAlt.dEdxTotTPC : 0;
trackQAHolder.tpcdEdxNorm = dEdxNorm;   // when writing, truncated as truncateFloatFraction(trackQAInfoHolder.tpcdEdxNorm, mTrackSignal)

Also, the TPCSignal in the extraInfo tree is not overridden to dEdxInfoAlt.dEdxTotTPC if dEdxInfo.dEdxTotTPC==0

…skAlt opt.

The old TrackTPC::getdEdx() is unchanged, the new info can be accessed
as TrackTPC::getdEdxAlt()
@shahor02 shahor02 requested review from a team, davidrohr and wiechula as code owners April 3, 2025 23:59
@github-actions
Copy link
Contributor

github-actions bot commented Apr 3, 2025

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
async-2024-PbPb-apass2
async-2023-PbPb-apass5

@miranov25
Copy link
Contributor

Hello @shahor02,

I’ve replied in the other pull request regarding clipping:
🔗 #14140 (comment)

To clarify the normalization logic — which is still unclear to me — I suggest we have a quick Zoom meeting.

Ideally, we should add a decode function (relative to the track table signal) to the streamer. That way, I can be 100% sure the normalization is applied consistently, and we avoid any risk of mixing tracks from two incompatible categories.

Best regards,
Marian

…rmalization

When filling AOD extra track info, the TPCSignal and the number of clusters used for PID
are overridden to those coming from the TrackTPC::dEdxAlt if the nominal dEdx.dEdxTotTPC==0.
This is flagged by extraInfo.flags |= o2::aod::track::TPCdEdxAlt

The ratio is stored with the same precision as the nominal dEdxAlt.dEdxTPCTot in the extraInfo.TPCSignal.
+Extra fixes like clamping to uint8_t instead of casting float to it.
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.

2 participants