6161#include " Common/DataModel/Multiplicity.h"
6262#include " Common/DataModel/PIDResponseTPC.h"
6363#include " Common/DataModel/TrackSelectionTables.h"
64-
6564#include " Tools/ML/MlResponse.h"
6665
6766#include < CCDB/BasicCCDBManager.h>
@@ -126,7 +125,7 @@ DECLARE_SOA_COLUMN(ScorePionDzero, scorePionDzero, float); //! ML score, pion-fr
126125DECLARE_SOA_COLUMN (ScoreKaonDzero, scoreKaonDzero, float ); // ! ML score, kaon-from-D0 class
127126DECLARE_SOA_COLUMN (IsSelPionDzero, isSelPionDzero, bool ); // ! passes the D0 pion-score threshold
128127DECLARE_SOA_COLUMN (IsSelKaonDzero, isSelKaonDzero, bool ); // ! passes the D0 kaon-score threshold
129- // D+ -> K pi pi model
128+ // D+ -> K pi pi model
130129DECLARE_SOA_COLUMN (ScoreBkgDplus, scoreBkgDplus, float ); // ! ML score, background class
131130DECLARE_SOA_COLUMN (ScorePionDplus, scorePionDplus, float ); // ! ML score, pion-from-D+ class
132131DECLARE_SOA_COLUMN (ScoreKaonDplus, scoreKaonDplus, float ); // ! ML score, kaon-from-D+ class
@@ -145,8 +144,8 @@ DECLARE_SOA_COLUMN(ScoreKaonDstar, scoreKaonDstar, float); //! ML score, kaon-fr
145144DECLARE_SOA_COLUMN (IsSelPionDstar, isSelPionDstar, bool ); // ! passes the D* pion-score threshold
146145DECLARE_SOA_COLUMN (IsSelKaonDstar, isSelKaonDstar, bool ); // ! passes the D* kaon-score threshold
147146// common
148- DECLARE_SOA_COLUMN (IsPositive, isPositive, bool ); // ! charge sign of the track
149- DECLARE_SOA_COLUMN (IsSelAny, isSelAny, bool ); // ! passes at least one of the four selections
147+ DECLARE_SOA_COLUMN (IsPositive, isPositive, bool ); // ! charge sign of the track
148+ DECLARE_SOA_COLUMN (IsSelAny, isSelAny, bool ); // ! passes at least one of the four selections
150149} // namespace hf_skim_track_sel
151150
152151DECLARE_SOA_TABLE (HfSkimTrackSels, " AOD" , " HFSKIMTRKSEL" , // ! Track-level ML selection, aligned with aod::TrackAssoc
@@ -176,15 +175,15 @@ DECLARE_SOA_TABLE(HfSkimTrackSels, "AOD", "HFSKIMTRKSEL", //! Track-level ML sel
176175namespace hf_skim_track_sel_mask
177176{
178177DECLARE_SOA_COLUMN (CollIdx, collIdx, int ); // ! global index of the collision the association refers to
179- DECLARE_SOA_COLUMN (SelMask, selMask, uint16_t ); // ! bit0 -> pi(D0)
180- // ! bit1 -> K(D0)
181- // ! bit2 -> pi(D+)
182- // ! bit3 -> K(D+)
183- // ! bit4 -> pi(Ds)
184- // ! bit5 -> K(Ds)
185- // ! bit6 -> pi(D*)
186- // ! bit7 -> K(D*)
187- // ! bit8 -> positive charge
178+ DECLARE_SOA_COLUMN (SelMask, selMask, uint16_t ); // ! bit0 -> pi(D0)
179+ // ! bit1 -> K(D0)
180+ // ! bit2 -> pi(D+)
181+ // ! bit3 -> K(D+)
182+ // ! bit4 -> pi(Ds)
183+ // ! bit5 -> K(Ds)
184+ // ! bit6 -> pi(D*)
185+ // ! bit7 -> K(D*)
186+ // ! bit8 -> positive charge
188187} // namespace hf_skim_track_sel_mask
189188
190189// / One row per *selected* (track, collision) association. This is the smallest object from which
@@ -198,32 +197,32 @@ DECLARE_SOA_TABLE(HfSkimTrackMasks, "AOD", "HFSKIMTRKMASK", //! Compact dump of
198197namespace hf_skim_track_train
199198{
200199// features
201- DECLARE_SOA_COLUMN (Pt, pt, float ); // !
202- DECLARE_SOA_COLUMN (Eta, eta, float ); // !
203- DECLARE_SOA_COLUMN (DcaXY, dcaXY, float ); // !
204- DECLARE_SOA_COLUMN (DcaZ, dcaZ, float ); // !
205- DECLARE_SOA_COLUMN (SigmaDcaXY, sigmaDcaXY, float ); // !
206- DECLARE_SOA_COLUMN (SigmaDcaZ, sigmaDcaZ, float ); // !
207- DECLARE_SOA_COLUMN (NormDcaXY, normDcaXY, float ); // !
208- DECLARE_SOA_COLUMN (NormDcaZ, normDcaZ, float ); // !
209- DECLARE_SOA_COLUMN (Signed1Pt, signed1Pt, float ); // !
210- DECLARE_SOA_COLUMN (Tgl, tgl, float ); // !
211- DECLARE_SOA_COLUMN (Sign, sign, float ); // !
212- DECLARE_SOA_COLUMN (IsPvContributor, isPvContributor, float ); // !
213- DECLARE_SOA_COLUMN (ItsNCls, itsNCls, float ); // !
214- DECLARE_SOA_COLUMN (ItsNClsInnerBarrel, itsNClsInnerBarrel, float ); // !
215- DECLARE_SOA_COLUMN (ItsChi2NCl, itsChi2NCl, float ); // !
216- DECLARE_SOA_COLUMN (TpcNClsFound, tpcNClsFound, float ); // !
217- DECLARE_SOA_COLUMN (TpcNClsCrossedRows, tpcNClsCrossedRows, float ); // !
200+ DECLARE_SOA_COLUMN (Pt, pt, float ); // !
201+ DECLARE_SOA_COLUMN (Eta, eta, float ); // !
202+ DECLARE_SOA_COLUMN (DcaXY, dcaXY, float ); // !
203+ DECLARE_SOA_COLUMN (DcaZ, dcaZ, float ); // !
204+ DECLARE_SOA_COLUMN (SigmaDcaXY, sigmaDcaXY, float ); // !
205+ DECLARE_SOA_COLUMN (SigmaDcaZ, sigmaDcaZ, float ); // !
206+ DECLARE_SOA_COLUMN (NormDcaXY, normDcaXY, float ); // !
207+ DECLARE_SOA_COLUMN (NormDcaZ, normDcaZ, float ); // !
208+ DECLARE_SOA_COLUMN (Signed1Pt, signed1Pt, float ); // !
209+ DECLARE_SOA_COLUMN (Tgl, tgl, float ); // !
210+ DECLARE_SOA_COLUMN (Sign, sign, float ); // !
211+ DECLARE_SOA_COLUMN (IsPvContributor, isPvContributor, float ); // !
212+ DECLARE_SOA_COLUMN (ItsNCls, itsNCls, float ); // !
213+ DECLARE_SOA_COLUMN (ItsNClsInnerBarrel, itsNClsInnerBarrel, float ); // !
214+ DECLARE_SOA_COLUMN (ItsChi2NCl, itsChi2NCl, float ); // !
215+ DECLARE_SOA_COLUMN (TpcNClsFound, tpcNClsFound, float ); // !
216+ DECLARE_SOA_COLUMN (TpcNClsCrossedRows, tpcNClsCrossedRows, float ); // !
218217DECLARE_SOA_COLUMN (TpcCrossedRowsOverFindableCls, tpcCrossedRowsOverFindableCls, float ); // !
219- DECLARE_SOA_COLUMN (TpcChi2NCl, tpcChi2NCl, float ); // !
220- DECLARE_SOA_COLUMN (TpcFractionSharedCls, tpcFractionSharedCls, float ); // !
221- DECLARE_SOA_COLUMN (TpcNSigmaPi, tpcNSigmaPi, float ); // !
222- DECLARE_SOA_COLUMN (TpcNSigmaKa, tpcNSigmaKa, float ); // !
223- DECLARE_SOA_COLUMN (Centrality, centrality, float ); // !
218+ DECLARE_SOA_COLUMN (TpcChi2NCl, tpcChi2NCl, float ); // !
219+ DECLARE_SOA_COLUMN (TpcFractionSharedCls, tpcFractionSharedCls, float ); // !
220+ DECLARE_SOA_COLUMN (TpcNSigmaPi, tpcNSigmaPi, float ); // !
221+ DECLARE_SOA_COLUMN (TpcNSigmaKa, tpcNSigmaKa, float ); // !
222+ DECLARE_SOA_COLUMN (Centrality, centrality, float ); // !
224223// labels and auxiliary information, not meant to be used as features
225- DECLARE_SOA_COLUMN (TrackIndex, trackIndex, int64_t ); // ! global index of the track: the same track can be associated to several collisions, and therefore appear more than once, so the train/test split has to group by it
226- DECLARE_SOA_COLUMN (McMask, mcMask, uint16_t ); // ! MC label quality mask (bit 15 = fake track)
224+ DECLARE_SOA_COLUMN (TrackIndex, trackIndex, int64_t ); // ! global index of the track: the same track can be associated to several collisions, and therefore appear more than once, so the train/test split has to group by it
225+ DECLARE_SOA_COLUMN (McMask, mcMask, uint16_t ); // ! MC label quality mask (bit 15 = fake track)
227226DECLARE_SOA_COLUMN (HasCharmBeautyAncestor, hasCharmBeautyAncestor, bool ); // ! any charm/beauty hadron in the ancestry
228227// Selection outcomes
229228DECLARE_SOA_COLUMN (Label, label, int8_t ); // ! D+ model: -1 = not usable, 0 = bkg, 1 = pion from D+, 2 = kaon from D+
@@ -291,7 +290,7 @@ constexpr int NPionsDstarToD0Pi = 1;
291290// / Resonant sub-channels recorded next to the training label, so that the signal definition can be
292291// / narrowed offline without re-running the workflow.
293292enum Channels : int {
294- kNone = -1 , // /< no mother found, or mother not in the list of interest
293+ kNone = -1 , // /< no mother found, or mother not in the list of interest
295294 kDzeroDirect ,
296295 kDplusDirect ,
297296 kDplusKstar ,
@@ -408,11 +407,11 @@ enum HfAncestryWalkOutcome : int {
408407// / Counter bins of hf-dplus-combinatorics.
409408enum CounterCombinatorics : int {
410409 CountCollisions = 0 ,
411- CountTriplets, // /< triplets whose hypothesis mask is non-empty, i.e. reaching the preselection
412- CountTripletsPresel,// /< triplets passing the mass/pT preselection, i.e. reaching the 3-prong fitter
410+ CountTriplets, // /< triplets whose hypothesis mask is non-empty, i.e. reaching the preselection
411+ CountTripletsPresel, // /< triplets passing the mass/pT preselection, i.e. reaching the 3-prong fitter
413412 CountFit2Prong,
414413 CountFit3Prong,
415- CountRows, // /< rows written to aod::Hf3Prongs
414+ CountRows, // /< rows written to aod::Hf3Prongs
416415 CountRowsDplus,
417416 CountRowsDs,
418417 CountRowsBoth,
@@ -1505,8 +1504,8 @@ struct HfDplusTrackSelMl {
15051504 int pdgMother{-1 };
15061505 int8_t isPrompt{-1 }, channel{Channels::kNone };
15071506 const int8_t label = getTrainingLabel (
1508- track, mcParticles, pdgMother, keepIfBackground,
1509- pt, isPrompt, channel);
1507+ track, mcParticles, pdgMother, keepIfBackground,
1508+ pt, isPrompt, channel);
15101509
15111510 if (label < 0 ) { // usable for neither model
15121511 continue ;
0 commit comments