@@ -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" };
@@ -197,6 +199,32 @@ struct HfDerivedDataCreatorBplusToD0Pi {
197199 sigmas[HfProngSpecies::Kaon][HfProngSpecies::Kaon][1 ],
198200 sigmas[HfProngSpecies::Kaon][HfProngSpecies::Kaon][2 ]);
199201 }
202+ if (fillCandidateParD0E) {
203+ float invMassD0 = 0 .;
204+ if (candFlag == 0 ) {
205+ invMassD0 = HfHelper::invMassD0ToPiK (prongCharm);
206+ } else if (candFlag == 1 ) {
207+ invMassD0 = HfHelper::invMassD0barToKPi (prongCharm);
208+ }
209+ rowCandidateParD0E (
210+ prongCharm.chi2PCA (),
211+ prongCharm.nProngsContributorsPV (),
212+ invMassD0,
213+ prongCharm.maxNormalisedDeltaIP (),
214+ prongCharm.decayLengthXY (),
215+ prongCharm.decayLengthNormalised (),
216+ prongCharm.decayLengthXYNormalised (),
217+ prongCharm.impactParameterNormalised0 (),
218+ prongCharm.impactParameterNormalised1 (),
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+ }
200228 if (fillCandidateParE) {
201229 rowCandidateParE (
202230 candidate.xSecondaryVertex (),
@@ -209,6 +237,10 @@ struct HfDerivedDataCreatorBplusToD0Pi {
209237 candidate.pxProng1 (),
210238 candidate.pyProng1 (),
211239 candidate.pzProng1 (),
240+ RecoDecay::p (candidate.pxProng0 (), candidate.pyProng0 (), candidate.pzProng0 ()),
241+ candidate.pxProng0 (),
242+ candidate.pyProng0 (),
243+ candidate.pzProng0 (),
212244 candidate.errorImpactParameter1 (),
213245 HfHelper::cosThetaStarBplus (candidate),
214246 ct);
@@ -277,6 +309,7 @@ struct HfDerivedDataCreatorBplusToD0Pi {
277309 reserveTable (rowCandidatePar, fillCandidatePar, sizeTableCand);
278310 reserveTable (rowCandidateParD0, fillCandidateParD0, sizeTableCand);
279311 reserveTable (rowCandidateParE, fillCandidateParE, sizeTableCand);
312+ reserveTable (rowCandidateParD0E, fillCandidateParD0E, sizeTableCand);
280313 reserveTable (rowCandidateSel, fillCandidateSel, sizeTableCand);
281314 reserveTable (rowCandidateMl, fillCandidateMl, sizeTableCand);
282315 reserveTable (rowCandidateMlD0, fillCandidateMlD0, sizeTableCand);
0 commit comments