|
61 | 61 | break; \ |
62 | 62 | } |
63 | 63 |
|
| 64 | +// Very specific case of CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(OBJECT, FEATURE, GETTER) |
| 65 | +// Use for push back different value for D*+ or D*- candidate getting the correct feature from two different objects (tracks) |
| 66 | +#define CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(OBJECTPOS, OBJECTNEG, FEATURENAME, GETTER) \ |
| 67 | + case static_cast<uint8_t>(InputFeaturesDstarToD0Pi::FEATURENAME): { \ |
| 68 | + if (candidate.signSoftPi() > 0) { \ |
| 69 | + inputFeatures.emplace_back(OBJECTPOS.GETTER()); \ |
| 70 | + } else { \ |
| 71 | + inputFeatures.emplace_back(OBJECTNEG.GETTER()); \ |
| 72 | + } \ |
| 73 | + break; \ |
| 74 | + } |
| 75 | + |
64 | 76 | // Very specific case of CHECK_AND_FILL_VEC_DSTAR_FULL(OBJECT, FEATURE, GETTER) |
65 | 77 | // Use for push back deltaMassD0 for D*+ or D*- candidate |
66 | 78 | #define CHECK_AND_FILL_VEC_DSTAR_DELTA_MASS_D0(FEATURENAME) \ |
@@ -156,36 +168,36 @@ class HfMlResponseDstarToD0Pi : public HfMlResponse<TypeOutputScore> |
156 | 168 | CHECK_AND_FILL_VEC_DSTAR(cpaXYD0); |
157 | 169 | CHECK_AND_FILL_VEC_DSTAR(deltaIPNormalisedMaxD0); |
158 | 170 | CHECK_AND_FILL_VEC_DSTAR(impactParameterProductD0); |
159 | | - CHECK_AND_FILL_VEC_DSTAR(ptProng0); |
160 | | - CHECK_AND_FILL_VEC_DSTAR(ptProng1); |
| 171 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(ptProng0, ptProng1, ptProng0); |
| 172 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(ptProng1, ptProng0, ptProng1); |
161 | 173 | CHECK_AND_FILL_VEC_DSTAR(ptSoftPi); |
162 | | - CHECK_AND_FILL_VEC_DSTAR(impactParameter0); |
163 | | - CHECK_AND_FILL_VEC_DSTAR(impactParameter1); |
164 | | - CHECK_AND_FILL_VEC_DSTAR(impactParameterZ0); |
165 | | - CHECK_AND_FILL_VEC_DSTAR(impactParameterZ1); |
| 174 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(impactParameter0, impactParameter1, impactParameter0); |
| 175 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(impactParameter1, impactParameter0, impactParameter1); |
| 176 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(impactParameterZ0, impactParameterZ1, impactParameterZ0); |
| 177 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(impactParameterZ1, impactParameterZ0, impactParameterZ1); |
166 | 178 | CHECK_AND_FILL_VEC_DSTAR(impParamSoftPi); |
167 | 179 | CHECK_AND_FILL_VEC_DSTAR(impParamZSoftPi); |
168 | | - CHECK_AND_FILL_VEC_DSTAR(impactParameterNormalised0); |
169 | | - CHECK_AND_FILL_VEC_DSTAR(impactParameterNormalised1); |
170 | | - CHECK_AND_FILL_VEC_DSTAR(impactParameterZNormalised0); |
171 | | - CHECK_AND_FILL_VEC_DSTAR(impactParameterZNormalised1); |
| 180 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(impactParameterNormalised0, impactParameterNormalised1, impactParameterNormalised0); |
| 181 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(impactParameterNormalised1, impactParameterNormalised0, impactParameterNormalised1); |
| 182 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(impactParameterZNormalised0, impactParameterZNormalised1, impactParameterZNormalised0); |
| 183 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(impactParameterZNormalised1, impactParameterZNormalised0, impactParameterZNormalised1); |
172 | 184 | CHECK_AND_FILL_VEC_DSTAR(normalisedImpParamSoftPi); |
173 | 185 | CHECK_AND_FILL_VEC_DSTAR(normalisedImpParamZSoftPi); |
174 | 186 | CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(cosThetaStarD0, cosThetaStarD0Bar, cosThetaStarD0); |
175 | 187 | CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE(invMassD0, invMassD0Bar, massD0); |
176 | 188 | CHECK_AND_FILL_VEC_DSTAR_DELTA_MASS_D0(deltaMassD0); |
177 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong0, nSigmaTPCPiPr0, tpcNSigmaPi); |
178 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong0, nSigmaTPCKaPr0, tpcNSigmaKa); |
179 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong0, nSigmaTOFPiPr0, tofNSigmaPi); |
180 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong0, nSigmaTOFKaPr0, tofNSigmaKa); |
181 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong0, nSigmaTPCTOFPiPr0, tpcTofNSigmaPi); |
182 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong0, nSigmaTPCTOFKaPr0, tpcTofNSigmaKa); |
183 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong1, nSigmaTPCPiPr1, tpcNSigmaPi); |
184 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong1, nSigmaTPCKaPr1, tpcNSigmaKa); |
185 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong1, nSigmaTOFPiPr1, tofNSigmaPi); |
186 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong1, nSigmaTOFKaPr1, tofNSigmaKa); |
187 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong1, nSigmaTPCTOFPiPr1, tpcTofNSigmaPi); |
188 | | - CHECK_AND_FILL_VEC_DSTAR_FULL(prong1, nSigmaTPCTOFKaPr1, tpcTofNSigmaKa); |
| 189 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong0, prong1, nSigmaTPCPiPr0, tpcNSigmaPi); |
| 190 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong0, prong1, nSigmaTPCKaPr0, tpcNSigmaKa); |
| 191 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong0, prong1, nSigmaTOFPiPr0, tofNSigmaPi); |
| 192 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong0, prong1, nSigmaTOFKaPr0, tofNSigmaKa); |
| 193 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong0, prong1, nSigmaTPCTOFPiPr0, tpcTofNSigmaPi); |
| 194 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong0, prong1, nSigmaTPCTOFKaPr0, tpcTofNSigmaKa); |
| 195 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong1, prong0, nSigmaTPCPiPr1, tpcNSigmaPi); |
| 196 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong1, prong0, nSigmaTPCKaPr1, tpcNSigmaKa); |
| 197 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong1, prong0, nSigmaTOFPiPr1, tofNSigmaPi); |
| 198 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong1, prong0, nSigmaTOFKaPr1, tofNSigmaKa); |
| 199 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong1, prong0, nSigmaTPCTOFPiPr1, tpcTofNSigmaPi); |
| 200 | + CHECK_AND_FILL_VEC_DSTAR_CHARGEBASE_FROMOBJECT(prong1, prong0, nSigmaTPCTOFKaPr1, tpcTofNSigmaKa); |
189 | 201 | CHECK_AND_FILL_VEC_DSTAR_FULL(prongSoftPi, nSigmaTPCPiPrSoftPi, tpcNSigmaPi); |
190 | 202 | CHECK_AND_FILL_VEC_DSTAR_FULL(prongSoftPi, nSigmaTPCKaPrSoftPi, tpcNSigmaKa); |
191 | 203 | CHECK_AND_FILL_VEC_DSTAR_FULL(prongSoftPi, nSigmaTOFPiPrSoftPi, tofNSigmaPi); |
|
0 commit comments