Skip to content

Commit 24f715a

Browse files
[PWGHF] Add downsample for real data in Lc derived-data creator (#11914)
Co-authored-by: Vít Kučera <vit.kucera@cern.ch>
1 parent caa1c23 commit 24f715a

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

PWGHF/TableProducer/derivedDataCreatorLcToPKPi.cxx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ struct HfDerivedDataCreatorLcToPKPi {
8787

8888
HfHelper hfHelper;
8989
SliceCache cache;
90-
static constexpr double mass{o2::constants::physics::MassLambdaCPlus};
90+
static constexpr double Mass{o2::constants::physics::MassLambdaCPlus};
9191

9292
using CollisionsWCentMult = soa::Join<aod::Collisions, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
9393
using CollisionsWMcCentMult = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::CentFV0As, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::PVMultZeqs>;
@@ -280,6 +280,13 @@ struct HfDerivedDataCreatorLcToPKPi {
280280
continue;
281281
}
282282
}
283+
} else {
284+
if (downSampleBkgFactor < 1.) {
285+
float pseudoRndm = candidate.ptProng0() * 1000. - static_cast<int64_t>(candidate.ptProng0() * 1000);
286+
if (candidate.pt() < ptMaxForDownSample && pseudoRndm >= downSampleBkgFactor) {
287+
continue;
288+
}
289+
}
283290
}
284291
double ct = hfHelper.ctLc(candidate);
285292
double y = hfHelper.yLc(candidate);
@@ -318,7 +325,7 @@ struct HfDerivedDataCreatorLcToPKPi {
318325
{
319326
rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles);
320327
processCandidates<false, true, false, true>(collisions, candidatesMcSig, tracks, bcs);
321-
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, mass);
328+
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass);
322329
}
323330
PROCESS_SWITCH(HfDerivedDataCreatorLcToPKPi, processMcSig, "Process MC only for signals", false);
324331

@@ -331,7 +338,7 @@ struct HfDerivedDataCreatorLcToPKPi {
331338
{
332339
rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles);
333340
processCandidates<false, true, true, false>(collisions, candidatesMcBkg, tracks, bcs);
334-
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, mass);
341+
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass);
335342
}
336343
PROCESS_SWITCH(HfDerivedDataCreatorLcToPKPi, processMcBkg, "Process MC only for background", false);
337344

@@ -344,7 +351,7 @@ struct HfDerivedDataCreatorLcToPKPi {
344351
{
345352
rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles);
346353
processCandidates<false, true, false, false>(collisions, candidatesMcAll, tracks, bcs);
347-
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, mass);
354+
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass);
348355
}
349356
PROCESS_SWITCH(HfDerivedDataCreatorLcToPKPi, processMcAll, "Process MC", false);
350357

@@ -368,7 +375,7 @@ struct HfDerivedDataCreatorLcToPKPi {
368375
{
369376
rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles);
370377
processCandidates<true, true, false, true>(collisions, candidatesMcMlSig, tracks, bcs);
371-
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, mass);
378+
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass);
372379
}
373380
PROCESS_SWITCH(HfDerivedDataCreatorLcToPKPi, processMcMlSig, "Process MC with ML only for signals", false);
374381

@@ -381,7 +388,7 @@ struct HfDerivedDataCreatorLcToPKPi {
381388
{
382389
rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles);
383390
processCandidates<true, true, true, false>(collisions, candidatesMcMlBkg, tracks, bcs);
384-
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, mass);
391+
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass);
385392
}
386393
PROCESS_SWITCH(HfDerivedDataCreatorLcToPKPi, processMcMlBkg, "Process MC with ML only for background", false);
387394

@@ -394,14 +401,14 @@ struct HfDerivedDataCreatorLcToPKPi {
394401
{
395402
rowsCommon.preProcessMcCollisions(mcCollisions, mcParticlesPerMcCollision, mcParticles);
396403
processCandidates<true, true, false, false>(collisions, candidatesMcMlAll, tracks, bcs);
397-
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, mass);
404+
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass);
398405
}
399406
PROCESS_SWITCH(HfDerivedDataCreatorLcToPKPi, processMcMlAll, "Process MC with ML", false);
400407

401408
void processMcGenOnly(TypeMcCollisions const& mcCollisions,
402409
MatchedGenCandidatesMc const& mcParticles)
403410
{
404-
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, mass);
411+
rowsCommon.processMcParticles(mcCollisions, mcParticlesPerMcCollision, mcParticles, Mass);
405412
}
406413
PROCESS_SWITCH(HfDerivedDataCreatorLcToPKPi, processMcGenOnly, "Process MC gen. only", false);
407414
};

0 commit comments

Comments
 (0)