-
Notifications
You must be signed in to change notification settings - Fork 486
Add extra info with charge and timing to unbinned residuals #14969
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
|
REQUEST FOR PRODUCTION RELEASES: This will add The following labels are available |
|
@miranov25 , this adds to the unbinned residuals tree a branch with 4-bytes struct https://github.com/shahor02/AliceO2/blob/6c23010c8442f96250eb35358bd3c73ca04a9723/Detectors/TPC/calibration/SpacePoints/include/SpacePoints/TrackInterpolation.h#L104-L145 encoding the TPC dedx, TRD q's and slope (truncated to +-3.5 range), TOF cluster time wrt track ITS-TPC time and the same for the PV (i.e. one should use the relevant getter depending on the row value). |
|
Hello @shahor02 Thank you. If my understanding is correct, then it will work. In meantime I will check your file |
|
@miranov25 yes, detInfo elements are in sync with res, for ITS 0's are filled. |
|
Hello @shahor02
That can work. Another options time_80 = time_event. + drift80= time_event. + 100*(1-80*|tgl|/250.) 2.) For occupancy bins per track defined in similar way: I will write formula soon |
|
@miranov25 shall I merge this part as is or wait for your formula? |
|
Hello @shahor02 We need to use a variable with "semi" relative precision. We can use a simple logarithmic function or the asinh function, which is nearly linear for small x (below the scale value) and logarithmic for larger values. If the occupancy is given as the number of clusters, we can use the scale as in my TF1 without normalisation. I have to check again the scale. Can you access our occupancy estimator from reconstructions? TF1 f1("ncl","asinh(x*0.05)/0.05",0,10000000)
|
|
The residuals extraction has access to David's vector of occupancies per 16 TBs. But I don't understand which value you want to put in your TF1 |
|
I want to calculate the mean occupancy per track segment as discussed above. #14969 (comment) Occupancy in radial segments IROC, OROC0, 1, 2, using our vectors of occupancies. |
|
If you want to provide a code snippet, go on, I'll not work on this before tomorrow afternoon. |
|
I do not know what we have available at the moment when we produce the clusters. This will automatically take into account only rows with clusters. |
|
Hello @noferini, During the TPC meeting, we discussed the stored times in the "unbinned residuals" used for TPC calibration. Thank you! |
|
Hi @miranov25 , |
| if (!gidTable[GTrackID::ITSTPC].isIndexSet()) { | ||
| LOGP(fatal, "ITS-TPC seed index is not set for TOF track"); | ||
| } | ||
| float tdif = static_cast<float>(clTOF.getTime() - mRecoCont->getTPCITSTrack(gidTable[GTrackID::ITSTPC]).getTimeMUS().getTimeStamp() * 1e6); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @miranov25 ,
if I understood correctly this is the line you want to adjust.
I see that this is a delta time wrt ITS-TPC track time inside the TF.
What is the precision you need?
At this stage clTOF.getTime() is not a raw time but an already calibrated time.
It is true that the t0 is affected of a "large" smearing (~200 ps) and we can improve by using FT0 reducing the effective resolution on t.o.f. at the level < 80 ps but do you really gain anything here?
One additional comment. If you want to achieve such a precision, I guess you should also refer the time to the Primary Vertex otherwise you would have shifts at the level of 10-20 ns (time travel from PV to TOF).
Actually, what do you need?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @noferini
If the TOF contributes to the global track, then its cluster time - estimated time-of-flight-from-Lintegral is assigned to a track with 10ns error.
For the global tracks w/o TOF but with the TRD, the time assignment is done with 5ns error (unless the pile-up was detected from FT0, in this case the distance from the pile-up time to TRD trigger BC time is assigned as an error, but in PbPb it is very rare).
Then these times are used to fit the PV timestamp, so it is a weighted average between the timestamps from TRD(and noTOF) fixed to BC center and TOF-defined timestamps. If precision of this vertex time is fine, then I can use it as a time for TOF. Otherwhise, I would need the time which you are using for the TOF PID

No description provided.