6161
6262// Very specific case of CHECK_AND_FILL_VEC_DSTAR_FULL(OBJECT, FEATURE, GETTER)
6363// Use for push back different value for D*+ or D*- candidate
64- #define CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (POSGETTER, NEGGETTER, FEATURENAME ) \
65- case static_cast <uint8_t >(InputFeaturesDstarToD0Pi::FEATURENAME): { \
66- if (candidate.signSoftPi () > 0 ) { \
67- inputFeatures.emplace_back (candidate.POSGETTER ()); \
68- } else { \
69- inputFeatures.emplace_back (candidate.NEGGETTER ()); \
70- } \
71- break ; \
64+ #define CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (POSGETTER, NEGGETTER, FEATURENAME, SWAP ) \
65+ case static_cast <uint8_t >(InputFeaturesDstarToD0Pi::FEATURENAME): { \
66+ if (candidate.signSoftPi () > 0 || !SWAP) { \
67+ inputFeatures.emplace_back (candidate.POSGETTER ()); \
68+ } else { \
69+ inputFeatures.emplace_back (candidate.NEGGETTER ()); \
70+ } \
71+ break ; \
7272 }
7373
7474// Very specific case of CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(OBJECT, FEATURE, GETTER)
7575// Use for push back different value for D*+ or D*- candidate getting the correct feature from two different objects (tracks)
76- #define CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT (OBJECTPOS, OBJECTNEG, FEATURENAME, GETTER ) \
77- case static_cast <uint8_t >(InputFeaturesDstarToD0Pi::FEATURENAME): { \
78- if (candidate.signSoftPi () > 0 ) { \
79- inputFeatures.emplace_back (OBJECTPOS.GETTER ()); \
80- } else { \
81- inputFeatures.emplace_back (OBJECTNEG.GETTER ()); \
82- } \
83- break ; \
76+ #define CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT (OBJECTPOS, OBJECTNEG, FEATURENAME, GETTER, SWAP ) \
77+ case static_cast <uint8_t >(InputFeaturesDstarToD0Pi::FEATURENAME): { \
78+ if (candidate.signSoftPi () > 0 || !SWAP) { \
79+ inputFeatures.emplace_back (OBJECTPOS.GETTER ()); \
80+ } else { \
81+ inputFeatures.emplace_back (OBJECTNEG.GETTER ()); \
82+ } \
83+ break ; \
8484 }
8585
8686// Very specific case of CHECK_AND_FILL_VEC_DSTAR_FULL(OBJECT, FEATURE, GETTER)
@@ -164,7 +164,7 @@ class HfMlResponseDstarToD0Pi : public HfMlResponse<TypeOutputScore>
164164 // / \param prongSoftPi is the candidate's prongSoftPi
165165 // / \return inputFeatures vector
166166 template <typename T1>
167- std::vector<float > getInputFeatures (T1 const & candidate)
167+ std::vector<float > getInputFeatures (T1 const & candidate, bool swapDzeroDaus= true )
168168 {
169169 std::vector<float > inputFeatures;
170170
@@ -179,36 +179,36 @@ class HfMlResponseDstarToD0Pi : public HfMlResponse<TypeOutputScore>
179179 CHECK_AND_FILL_VEC_DSTAR (cpaXYD0);
180180 CHECK_AND_FILL_VEC_DSTAR (deltaIPNormalisedMaxD0);
181181 CHECK_AND_FILL_VEC_DSTAR (impactParameterProductD0);
182- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (ptProng0, ptProng1, ptProng0);
183- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (ptProng1, ptProng0, ptProng1);
182+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (ptProng0, ptProng1, ptProng0, swapDzeroDaus );
183+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (ptProng1, ptProng0, ptProng1, swapDzeroDaus );
184184 CHECK_AND_FILL_VEC_DSTAR (ptSoftPi);
185- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameter0, impactParameter1, impactParameter0);
186- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameter1, impactParameter0, impactParameter1);
187- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterZ0, impactParameterZ1, impactParameterZ0);
188- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterZ1, impactParameterZ0, impactParameterZ1);
185+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameter0, impactParameter1, impactParameter0, swapDzeroDaus );
186+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameter1, impactParameter0, impactParameter1, swapDzeroDaus );
187+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterZ0, impactParameterZ1, impactParameterZ0, swapDzeroDaus );
188+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterZ1, impactParameterZ0, impactParameterZ1, swapDzeroDaus );
189189 CHECK_AND_FILL_VEC_DSTAR (impParamSoftPi);
190190 CHECK_AND_FILL_VEC_DSTAR (impParamZSoftPi);
191- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterNormalised0, impactParameterNormalised1, impactParameterNormalised0);
192- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterNormalised1, impactParameterNormalised0, impactParameterNormalised1);
193- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterZNormalised0, impactParameterZNormalised1, impactParameterZNormalised0);
194- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterZNormalised1, impactParameterZNormalised0, impactParameterZNormalised1);
191+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterNormalised0, impactParameterNormalised1, impactParameterNormalised0, swapDzeroDaus );
192+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterNormalised1, impactParameterNormalised0, impactParameterNormalised1, swapDzeroDaus );
193+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterZNormalised0, impactParameterZNormalised1, impactParameterZNormalised0, swapDzeroDaus );
194+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (impactParameterZNormalised1, impactParameterZNormalised0, impactParameterZNormalised1, swapDzeroDaus );
195195 CHECK_AND_FILL_VEC_DSTAR (normalisedImpParamSoftPi);
196196 CHECK_AND_FILL_VEC_DSTAR (normalisedImpParamZSoftPi);
197- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (cosThetaStarD0, cosThetaStarD0Bar, cosThetaStarD0);
198- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (invMassD0, invMassD0Bar, massD0);
197+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (cosThetaStarD0, cosThetaStarD0Bar, cosThetaStarD0, true );
198+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (invMassD0, invMassD0Bar, massD0, true );
199199 CHECK_AND_FILL_VEC_DSTAR_DELTA_MASS_D0 (deltaMassD0);
200- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTpcPi0, nSigTpcPi1, nSigmaTPCPiPr0);
201- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTpcKa0, nSigTpcKa1, nSigmaTPCKaPr0);
202- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTofPi0, nSigTofPi1, nSigmaTOFPiPr0);
203- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTofKa0, nSigTofKa1, nSigmaTOFKaPr0);
204- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (tpcTofNSigmaPi0, tpcTofNSigmaPi1, nSigmaTPCTOFPiPr0);
205- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (tpcTofNSigmaKa0, tpcTofNSigmaKa1, nSigmaTPCTOFKaPr0);
206- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTpcPi1, nSigTpcPi0, nSigmaTPCPiPr1);
207- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTpcKa1, nSigTpcKa0, nSigmaTPCKaPr1);
208- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTofPi1, nSigTofPi0, nSigmaTOFPiPr1);
209- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTofKa1, nSigTofKa0, nSigmaTOFKaPr1);
210- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (tpcTofNSigmaPi1, tpcTofNSigmaPi0, nSigmaTPCTOFPiPr1);
211- CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (tpcTofNSigmaKa1, tpcTofNSigmaKa0, nSigmaTPCTOFKaPr1);
200+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTpcPi0, nSigTpcPi1, nSigmaTPCPiPr0, swapDzeroDaus );
201+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTpcKa0, nSigTpcKa1, nSigmaTPCKaPr0, swapDzeroDaus );
202+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTofPi0, nSigTofPi1, nSigmaTOFPiPr0, swapDzeroDaus );
203+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTofKa0, nSigTofKa1, nSigmaTOFKaPr0, swapDzeroDaus );
204+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (tpcTofNSigmaPi0, tpcTofNSigmaPi1, nSigmaTPCTOFPiPr0, swapDzeroDaus );
205+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (tpcTofNSigmaKa0, tpcTofNSigmaKa1, nSigmaTPCTOFKaPr0, swapDzeroDaus );
206+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTpcPi1, nSigTpcPi0, nSigmaTPCPiPr1, swapDzeroDaus );
207+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTpcKa1, nSigTpcKa0, nSigmaTPCKaPr1, swapDzeroDaus );
208+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTofPi1, nSigTofPi0, nSigmaTOFPiPr1, swapDzeroDaus );
209+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (nSigTofKa1, nSigTofKa0, nSigmaTOFKaPr1, swapDzeroDaus );
210+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (tpcTofNSigmaPi1, tpcTofNSigmaPi0, nSigmaTPCTOFPiPr1, swapDzeroDaus );
211+ CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE (tpcTofNSigmaKa1, tpcTofNSigmaKa0, nSigmaTPCTOFKaPr1, swapDzeroDaus );
212212 CHECK_AND_FILL_VEC_DSTAR_GETTER (nSigmaTPCPiPrSoftPi, nSigTpcPi2);
213213 CHECK_AND_FILL_VEC_DSTAR_GETTER (nSigmaTPCKaPrSoftPi, nSigTpcKa2);
214214 CHECK_AND_FILL_VEC_DSTAR_GETTER (nSigmaTOFPiPrSoftPi, nSigTofPi2);
0 commit comments