@@ -72,6 +72,7 @@ struct HfDerivedDataCreatorBplusToD0Pi {
7272 // Candidates
7373 Produces<o2::aod::HfBplusPars> rowCandidatePar;
7474 Produces<o2::aod::HfBplusParD0s> rowCandidateParD0;
75+ Produces<o2::aod::HfBplusParD0Es> rowCandidateParD0E;
7576 Produces<o2::aod::HfBplusParEs> rowCandidateParE;
7677 Produces<o2::aod::HfBplusSels> rowCandidateSel;
7778 Produces<o2::aod::HfBplusMls> rowCandidateMl;
@@ -83,6 +84,7 @@ struct HfDerivedDataCreatorBplusToD0Pi {
8384 HfConfigurableDerivedData confDerData;
8485 Configurable<bool > fillCandidatePar{" fillCandidatePar" , true , " Fill candidate parameters" };
8586 Configurable<bool > fillCandidateParD0{" fillCandidateParD0" , true , " Fill D0 candidate parameters" };
87+ Configurable<bool > fillCandidateParD0E{" fillCandidateParD0E" , true , " Fill additional D0 candidate parameters" };
8688 Configurable<bool > fillCandidateParE{" fillCandidateParE" , true , " Fill candidate extended parameters" };
8789 Configurable<bool > fillCandidateSel{" fillCandidateSel" , true , " Fill candidate selection flags" };
8890 Configurable<bool > fillCandidateMl{" fillCandidateMl" , true , " Fill candidate selection ML scores" };
@@ -181,8 +183,13 @@ struct HfDerivedDataCreatorBplusToD0Pi {
181183 rowCandidateParD0 (
182184 prongCharm.cpa (),
183185 prongCharm.decayLength (),
186+ prongCharm.decayLengthXY (),
187+ prongCharm.decayLengthNormalised (),
188+ prongCharm.decayLengthXYNormalised (),
184189 prongCharm.impactParameter0 (),
185190 prongCharm.impactParameter1 (),
191+ prongCharm.impactParameterNormalised0 (),
192+ prongCharm.impactParameterNormalised1 (),
186193 prongCharm.impactParameterProduct (),
187194 sigmas[HfProngSpecies::Pion][HfProngSpecies::Pion][0 ],
188195 sigmas[HfProngSpecies::Pion][HfProngSpecies::Pion][1 ],
@@ -197,6 +204,28 @@ struct HfDerivedDataCreatorBplusToD0Pi {
197204 sigmas[HfProngSpecies::Kaon][HfProngSpecies::Kaon][1 ],
198205 sigmas[HfProngSpecies::Kaon][HfProngSpecies::Kaon][2 ]);
199206 }
207+ if (fillCandidateParD0E) {
208+ float invMassD0;
209+ if (candFlag == 0 ) {
210+ invMassD0 = HfHelper::invMassD0ToPiK (prongCharm);
211+ } else if (candFlag == 1 ) {
212+ invMassD0 = HfHelper::invMassD0barToKPi (prongCharm);
213+ }
214+ rowCandidateParD0E (
215+ prongCharm.chi2PCA (),
216+ prongCharm.nProngsContributorsPV (),
217+ invMassD0,
218+ prongCharm.maxNormalisedDeltaIP (),
219+ prongCharm.pxProng0 (),
220+ prongCharm.pyProng0 (),
221+ prongCharm.pzProng0 (),
222+ prongCharm.pxProng1 (),
223+ prongCharm.pyProng1 (),
224+ prongCharm.pzProng1 (),
225+ prongCharm.ptProng0 (),
226+ prongCharm.ptProng1 ()
227+ );
228+ }
200229 if (fillCandidateParE) {
201230 rowCandidateParE (
202231 candidate.xSecondaryVertex (),
@@ -209,6 +238,10 @@ struct HfDerivedDataCreatorBplusToD0Pi {
209238 candidate.pxProng1 (),
210239 candidate.pyProng1 (),
211240 candidate.pzProng1 (),
241+ RecoDecay::p (candidate.pxProng0 (), candidate.pyProng0 (), candidate.pzProng0 ()),
242+ candidate.pxProng0 (),
243+ candidate.pyProng0 (),
244+ candidate.pzProng0 (),
212245 candidate.errorImpactParameter1 (),
213246 HfHelper::cosThetaStarBplus (candidate),
214247 ct);
@@ -277,6 +310,7 @@ struct HfDerivedDataCreatorBplusToD0Pi {
277310 reserveTable (rowCandidatePar, fillCandidatePar, sizeTableCand);
278311 reserveTable (rowCandidateParD0, fillCandidateParD0, sizeTableCand);
279312 reserveTable (rowCandidateParE, fillCandidateParE, sizeTableCand);
313+ reserveTable (rowCandidateParD0E, fillCandidateParD0E, sizeTableCand);
280314 reserveTable (rowCandidateSel, fillCandidateSel, sizeTableCand);
281315 reserveTable (rowCandidateMl, fillCandidateMl, sizeTableCand);
282316 reserveTable (rowCandidateMlD0, fillCandidateMlD0, sizeTableCand);
0 commit comments