Skip to content

Commit

Permalink
PWGHF + PWGJE : Changing the PID variable storage in D0 derived data … (
Browse files Browse the repository at this point in the history
AliceO2Group#7364)

* PWGHF + PWGJE : Changing the PID variable storage in D0 derived data and its application in ML models

* moving some statements into fillCandidatePar

* rearranging PID variables
  • Loading branch information
nzardosh authored and fchinu committed Sep 18, 2024
1 parent 06882ac commit be6028c
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 48 deletions.
32 changes: 32 additions & 0 deletions PWGHF/Core/HfMlResponseD0ToKPi.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,19 @@
break; \
}

// Variation of CHECK_AND_FILL_VEC_D0_HFHELPER(OBJECT, FEATURE, GETTER)
// where GETTER1 and GETTER2 are methods of hfHelper, and the variable
// is filled depending on whether it is a D0 or a D0bar
#define CHECK_AND_FILL_VEC_D0_OBJECT_HFHELPER_SIGNED(OBJECT1, OBJECT2, FEATURE, GETTER) \
case static_cast<uint8_t>(InputFeaturesD0ToKPi::FEATURE): { \
if (pdgCode == o2::constants::physics::kD0) { \
inputFeatures.emplace_back(OBJECT1.GETTER()); \
} else { \
inputFeatures.emplace_back(OBJECT2.GETTER()); \
} \
break; \
}

namespace o2::analysis
{
enum class InputFeaturesD0ToKPi : uint8_t {
Expand Down Expand Up @@ -100,6 +113,12 @@ enum class InputFeaturesD0ToKPi : uint8_t {
nSigTofKa1,
nSigTpcTofPi1,
nSigTpcTofKa1,
nSigTpcPi,
nSigTpcKa,
nSigTofPi,
nSigTofKa,
nSigTpcTofPi,
nSigTpcTofKa,
maxNormalisedDeltaIP,
impactParameterProduct,
cosThetaStar,
Expand Down Expand Up @@ -148,16 +167,22 @@ class HfMlResponseD0ToKPi : public HfMlResponse<TypeOutputScore>
CHECK_AND_FILL_VEC_D0_FULL(prong0, nSigTpcKa0, tpcNSigmaKa);
CHECK_AND_FILL_VEC_D0_FULL(prong1, nSigTpcPi1, tpcNSigmaPi);
CHECK_AND_FILL_VEC_D0_FULL(prong1, nSigTpcKa1, tpcNSigmaKa);
CHECK_AND_FILL_VEC_D0_OBJECT_HFHELPER_SIGNED(prong0, prong1, nSigTpcPi, tpcNSigmaPi);
CHECK_AND_FILL_VEC_D0_OBJECT_HFHELPER_SIGNED(prong1, prong0, nSigTpcKa, tpcNSigmaKa);
// TOF PID variables
CHECK_AND_FILL_VEC_D0_FULL(prong0, nSigTofPi0, tofNSigmaPi);
CHECK_AND_FILL_VEC_D0_FULL(prong0, nSigTofKa0, tofNSigmaKa);
CHECK_AND_FILL_VEC_D0_FULL(prong1, nSigTofPi1, tofNSigmaPi);
CHECK_AND_FILL_VEC_D0_FULL(prong1, nSigTofKa1, tofNSigmaKa);
CHECK_AND_FILL_VEC_D0_OBJECT_HFHELPER_SIGNED(prong0, prong1, nSigTofPi, tofNSigmaPi);
CHECK_AND_FILL_VEC_D0_OBJECT_HFHELPER_SIGNED(prong1, prong0, nSigTofKa, tofNSigmaKa);
// Combined PID variables
CHECK_AND_FILL_VEC_D0_FULL(prong0, nSigTpcTofPi0, tpcTofNSigmaPi);
CHECK_AND_FILL_VEC_D0_FULL(prong0, nSigTpcTofKa0, tpcTofNSigmaKa);
CHECK_AND_FILL_VEC_D0_FULL(prong1, nSigTpcTofPi1, tpcTofNSigmaPi);
CHECK_AND_FILL_VEC_D0_FULL(prong1, nSigTpcTofKa1, tpcTofNSigmaKa);
CHECK_AND_FILL_VEC_D0_OBJECT_HFHELPER_SIGNED(prong0, prong1, nSigTpcTofPi, tpcTofNSigmaPi);
CHECK_AND_FILL_VEC_D0_OBJECT_HFHELPER_SIGNED(prong1, prong0, nSigTpcTofKa, tpcTofNSigmaKa);

CHECK_AND_FILL_VEC_D0(maxNormalisedDeltaIP);
CHECK_AND_FILL_VEC_D0_FULL(candidate, impactParameterProduct, impactParameterProduct);
Expand Down Expand Up @@ -192,16 +217,22 @@ class HfMlResponseD0ToKPi : public HfMlResponse<TypeOutputScore>
FILL_MAP_D0(nSigTpcKa0),
FILL_MAP_D0(nSigTpcPi1),
FILL_MAP_D0(nSigTpcKa1),
FILL_MAP_D0(nSigTpcPi),
FILL_MAP_D0(nSigTpcKa),
// TOF PID variables
FILL_MAP_D0(nSigTofPi0),
FILL_MAP_D0(nSigTofKa0),
FILL_MAP_D0(nSigTofPi1),
FILL_MAP_D0(nSigTofKa1),
FILL_MAP_D0(nSigTofPi),
FILL_MAP_D0(nSigTofKa),
// Combined PID variables
FILL_MAP_D0(nSigTpcTofPi0),
FILL_MAP_D0(nSigTpcTofKa0),
FILL_MAP_D0(nSigTpcTofPi1),
FILL_MAP_D0(nSigTpcTofKa1),
FILL_MAP_D0(nSigTpcTofPi),
FILL_MAP_D0(nSigTpcTofKa),

FILL_MAP_D0(maxNormalisedDeltaIP),
FILL_MAP_D0(impactParameterProduct),
Expand All @@ -219,5 +250,6 @@ class HfMlResponseD0ToKPi : public HfMlResponse<TypeOutputScore>
#undef CHECK_AND_FILL_VEC_D0
#undef CHECK_AND_FILL_VEC_D0_HFHELPER
#undef CHECK_AND_FILL_VEC_D0_HFHELPER_SIGNED
#undef CHECK_AND_FILL_VEC_D0_OBJECT_HFHELPER_SIGNED

#endif // PWGHF_CORE_HFMLRESPONSED0TOKPI_H_
24 changes: 12 additions & 12 deletions PWGHF/DataModel/DerivedTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,29 +206,35 @@ DECLARE_SOA_COLUMN(RSecondaryVertex, rSecondaryVertex, float);
DECLARE_SOA_COLUMN(NSigTofKa0, nSigTofKa0, float);
DECLARE_SOA_COLUMN(NSigTofKa1, nSigTofKa1, float);
DECLARE_SOA_COLUMN(NSigTofKa2, nSigTofKa2, float);
DECLARE_SOA_COLUMN(NSigTofKa, nSigTofKa, float);
DECLARE_SOA_COLUMN(NSigTofPi0, nSigTofPi0, float);
DECLARE_SOA_COLUMN(NSigTofPi1, nSigTofPi1, float);
DECLARE_SOA_COLUMN(NSigTofPi2, nSigTofPi2, float);
DECLARE_SOA_COLUMN(NSigTofPi, nSigTofPi, float);
DECLARE_SOA_COLUMN(NSigTofPr0, nSigTofPr0, float);
DECLARE_SOA_COLUMN(NSigTofPr1, nSigTofPr1, float);
DECLARE_SOA_COLUMN(NSigTofPr2, nSigTofPr2, float);
// TPC
DECLARE_SOA_COLUMN(NSigTpcKa0, nSigTpcKa0, float);
DECLARE_SOA_COLUMN(NSigTpcKa1, nSigTpcKa1, float);
DECLARE_SOA_COLUMN(NSigTpcKa2, nSigTpcKa2, float);
DECLARE_SOA_COLUMN(NSigTpcKa, nSigTpcKa, float);
DECLARE_SOA_COLUMN(NSigTpcPi0, nSigTpcPi0, float);
DECLARE_SOA_COLUMN(NSigTpcPi1, nSigTpcPi1, float);
DECLARE_SOA_COLUMN(NSigTpcPi2, nSigTpcPi2, float);
DECLARE_SOA_COLUMN(NSigTpcPi, nSigTpcPi, float);
DECLARE_SOA_COLUMN(NSigTpcPr0, nSigTpcPr0, float);
DECLARE_SOA_COLUMN(NSigTpcPr1, nSigTpcPr1, float);
DECLARE_SOA_COLUMN(NSigTpcPr2, nSigTpcPr2, float);
// TPC+TOF
DECLARE_SOA_COLUMN(NSigTpcTofKa0, nSigTpcTofKa0, float);
DECLARE_SOA_COLUMN(NSigTpcTofKa1, nSigTpcTofKa1, float);
DECLARE_SOA_COLUMN(NSigTpcTofKa2, nSigTpcTofKa2, float);
DECLARE_SOA_COLUMN(NSigTpcTofKa, nSigTpcTofKa, float);
DECLARE_SOA_COLUMN(NSigTpcTofPi0, nSigTpcTofPi0, float);
DECLARE_SOA_COLUMN(NSigTpcTofPi1, nSigTpcTofPi1, float);
DECLARE_SOA_COLUMN(NSigTpcTofPi2, nSigTpcTofPi2, float);
DECLARE_SOA_COLUMN(NSigTpcTofPi, nSigTpcTofPi, float);
DECLARE_SOA_COLUMN(NSigTpcTofPr0, nSigTpcTofPr0, float);
DECLARE_SOA_COLUMN(NSigTpcTofPr1, nSigTpcTofPr1, float);
DECLARE_SOA_COLUMN(NSigTpcTofPr2, nSigTpcTofPr2, float);
Expand Down Expand Up @@ -287,18 +293,12 @@ DECLARE_SOA_TABLE(HfD0Pars, "AOD", "HFD0PAR", //! Table with candidate propertie
hf_cand::ImpactParameter1,
hf_cand_par::ImpactParameterNormalised0,
hf_cand_par::ImpactParameterNormalised1,
hf_cand_par::NSigTpcPi0,
hf_cand_par::NSigTpcKa0,
hf_cand_par::NSigTofPi0,
hf_cand_par::NSigTofKa0,
hf_cand_par::NSigTpcTofPi0,
hf_cand_par::NSigTpcTofKa0,
hf_cand_par::NSigTpcPi1,
hf_cand_par::NSigTpcKa1,
hf_cand_par::NSigTofPi1,
hf_cand_par::NSigTofKa1,
hf_cand_par::NSigTpcTofPi1,
hf_cand_par::NSigTpcTofKa1,
hf_cand_par::NSigTpcPi,
hf_cand_par::NSigTofPi,
hf_cand_par::NSigTpcTofPi,
hf_cand_par::NSigTpcKa,
hf_cand_par::NSigTofKa,
hf_cand_par::NSigTpcTofKa,
hf_cand_par::MaxNormalisedDeltaIP,
hf_cand_par::ImpactParameterProduct,
soa::Marker<MarkerD0>);
Expand Down
18 changes: 6 additions & 12 deletions PWGHF/DataModel/DerivedTablesStored.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,18 +161,12 @@ DECLARE_SOA_TABLE(StoredHfD0Pars, "AOD1", "HFD0PAR", //! Table with candidate pr
hf_cand::ImpactParameter1,
hf_cand_par::ImpactParameterNormalised0,
hf_cand_par::ImpactParameterNormalised1,
hf_cand_par::NSigTpcPi0,
hf_cand_par::NSigTpcKa0,
hf_cand_par::NSigTofPi0,
hf_cand_par::NSigTofKa0,
hf_cand_par::NSigTpcTofPi0,
hf_cand_par::NSigTpcTofKa0,
hf_cand_par::NSigTpcPi1,
hf_cand_par::NSigTpcKa1,
hf_cand_par::NSigTofPi1,
hf_cand_par::NSigTofKa1,
hf_cand_par::NSigTpcTofPi1,
hf_cand_par::NSigTpcTofKa1,
hf_cand_par::NSigTpcPi,
hf_cand_par::NSigTofPi,
hf_cand_par::NSigTpcTofPi,
hf_cand_par::NSigTpcKa,
hf_cand_par::NSigTofKa,
hf_cand_par::NSigTpcTofKa,
hf_cand_par::MaxNormalisedDeltaIP,
hf_cand_par::ImpactParameterProduct,
soa::Marker<MarkerD0Stored>);
Expand Down
33 changes: 21 additions & 12 deletions PWGHF/TableProducer/derivedDataCreatorD0ToKPi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,22 @@ struct HfDerivedDataCreatorD0ToKPi {
invMass,
y);
}

if (fillCandidatePar) {
float tpcNSigmaPi = prong0.tpcNSigmaPi();
float tofNSigmaPi = prong0.tofNSigmaPi();
float tpcTofNSigmaPi = prong0.tpcTofNSigmaPi();
float tofNSigmaKa = prong1.tofNSigmaKa();
float tpcNSigmaKa = prong1.tpcNSigmaKa();
float tpcTofNSigmaKa = prong1.tpcTofNSigmaKa();
if (candFlag == 1) {
tpcNSigmaPi = prong1.tpcNSigmaPi();
tofNSigmaPi = prong1.tofNSigmaPi();
tpcTofNSigmaPi = prong1.tpcTofNSigmaPi();
tpcNSigmaKa = prong0.tpcNSigmaKa();
tofNSigmaKa = prong0.tofNSigmaKa();
tpcTofNSigmaKa = prong0.tpcTofNSigmaKa();
}
rowCandidatePar(
candidate.chi2PCA(),
candidate.cpa(),
Expand All @@ -219,18 +234,12 @@ struct HfDerivedDataCreatorD0ToKPi {
candidate.impactParameter1(),
candidate.impactParameterNormalised0(),
candidate.impactParameterNormalised1(),
prong0.tpcNSigmaPi(),
prong0.tpcNSigmaKa(),
prong0.tofNSigmaPi(),
prong0.tofNSigmaKa(),
prong0.tpcTofNSigmaPi(),
prong0.tpcTofNSigmaKa(),
prong1.tpcNSigmaPi(),
prong1.tpcNSigmaKa(),
prong1.tofNSigmaPi(),
prong1.tofNSigmaKa(),
prong1.tpcTofNSigmaPi(),
prong1.tpcTofNSigmaKa(),
tpcNSigmaPi,
tofNSigmaPi,
tpcTofNSigmaPi,
tpcNSigmaKa,
tofNSigmaKa,
tpcTofNSigmaKa,
candidate.maxNormalisedDeltaIP(),
candidate.impactParameterProduct());
}
Expand Down
18 changes: 6 additions & 12 deletions PWGJE/Core/JetHFUtilities.h
Original file line number Diff line number Diff line change
Expand Up @@ -584,18 +584,12 @@ void fillD0CandidateTable(T const& candidate, int32_t collisionIndex, U& D0BaseT
candidate.impactParameter1(),
candidate.impactParameterNormalised0(),
candidate.impactParameterNormalised1(),
candidate.nSigTpcPi0(),
candidate.nSigTpcKa0(),
candidate.nSigTofPi0(),
candidate.nSigTofKa0(),
candidate.nSigTpcTofPi0(),
candidate.nSigTpcTofKa0(),
candidate.nSigTpcPi1(),
candidate.nSigTpcKa1(),
candidate.nSigTofPi1(),
candidate.nSigTofKa1(),
candidate.nSigTpcTofPi1(),
candidate.nSigTpcTofKa1(),
candidate.nSigTpcPi(),
candidate.nSigTofPi(),
candidate.nSigTpcTofPi(),
candidate.nSigTpcKa(),
candidate.nSigTofKa(),
candidate.nSigTpcTofKa(),
candidate.maxNormalisedDeltaIP(),
candidate.impactParameterProduct());

Expand Down

0 comments on commit be6028c

Please sign in to comment.