[PWGHF] treeCreatorDstarSpinAlignMixing: Adding new task for local mix candidate analysis in Dstar spin alignment measurement.#16721
Conversation
|
O2 linter results: ❌ 0 errors, |
Please consider the following formatting changes to AliceO2Group#16721
fgrosa
left a comment
There was a problem hiding this comment.
Hi @Mingze129 thanks a lot! The implementation looks good to me, I just have a few minor comments (see below)
|
@Mingze129 can you please clarify what this workflow is supposed to produce? From the name and path, it is not clear whether it's a task, a candidate creator, or a tree creator. |
@vkucera Thank you for you comments on this draft. I need this task to produce derived data for local mixed-event analysis. I marked it as Draft mainly for two reasons. First, I would like to develop it together with Fabrizio. Second, I am not yet sure how this script should be named, where it should be placed in the repository, or whether we will eventually want to add a complete online mixed-event analysis workflow in the future. My original plan was to discuss these details with Fabrizio after the script was completed and had passed the tests, and then change the status to Ready. Since you have raised the question now, I look forward to hearing your suggestions and would greatly appreciate any guidance you can offer. |
Hi @Mingze129, I think you can rename it |
Thanks @Mingze129 @fgrosa . That sounds reasonable. |
| massDStar = candidate.invMassAntiDstar(); | ||
| } | ||
| etaSoftPi = RecoDecay::eta(std::array{candidate.pxSoftPi(), candidate.pySoftPi(), candidate.pzSoftPi()}); | ||
| phiSoftPi = RecoDecay::phi(std::array{candidate.pxSoftPi(), candidate.pySoftPi(), candidate.pzSoftPi()}); |
There was a problem hiding this comment.
You only need the px and py to get phi.
vkucera
left a comment
There was a problem hiding this comment.
Please don't ignore the warning.
| auto trackProng0 = candidate.template prong0_as<Trk>(); | ||
| auto trackProng1 = candidate.template prong1_as<Trk>(); | ||
| auto trackProng2 = candidate.template prongPi_as<Trk>(); |
There was a problem hiding this comment.
| auto trackProng0 = candidate.template prong0_as<Trk>(); | |
| auto trackProng1 = candidate.template prong1_as<Trk>(); | |
| auto trackProng2 = candidate.template prongPi_as<Trk>(); | |
| auto const& trackProng0 = candidate.template prong0_as<Trk>(); | |
| auto const& trackProng1 = candidate.template prong1_as<Trk>(); | |
| auto const& trackProng2 = candidate.template prongPi_as<Trk>(); |
| auto trackProng1 = candidate.template prong1_as<Trk>(); | ||
| auto trackProng2 = candidate.template prongPi_as<Trk>(); | ||
| getTrackingInfos(std::vector{trackProng0, trackProng1, trackProng2}, absEtaTrackMin, numItsClsMin, numTpcClsMin); | ||
| std::array<float, 3> const Qvector = getQvec(collision, qVecDetector.value); |
There was a problem hiding this comment.
Don't force the assigned type.
| std::array<float, 3> const Qvector = getQvec(collision, qVecDetector.value); | |
| auto const Qvector = getQvec(collision, qVecDetector.value); |
| void init(InitContext const&) | ||
| { | ||
| } |
| /// prongTracks is the vector of daughter tracks | ||
| /// etaMin is the minimum eta | ||
| /// nItsClsMin is the minumum number of clusters in ITS | ||
| /// nTpcClsMin is the minumum number of clusters in TPC |
There was a problem hiding this comment.
You don't mention what it does.
| } | ||
| } | ||
|
|
||
| template <typename CollType, typename T, typename Trk, typename BcType> |
There was a problem hiding this comment.
Use meaningful type names.
Add a new task to obtain the candidates information required for local mixed-event analysis.