Skip to content

Commit db431c4

Browse files
committed
select on mult in mcharm for different lut conf
1 parent a91af19 commit db431c4

File tree

2 files changed

+23
-28
lines changed

2 files changed

+23
-28
lines changed

ALICE3/TableProducer/alice3-multicharmTable.cxx

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ struct alice3multicharmTable {
113113

114114
Configurable<float> minPiCPt{"minPiCPt", 0.15, "Minimum pT for XiC pions"};
115115
Configurable<float> minPiCCPt{"minPiCCPt", 0.3, "Minimum pT for XiCC pions"};
116-
Configurable<float> minNTracks{"minNTracks", -1, "Minimum number of tracks"};
116+
Configurable<std::vector<float>> minNTracks{"minNTracks", {-1}, "Minimum number of tracks"};
117117

118118
Configurable<float> minXiRadius{"minXiRadius", 0.5, "Minimum R2D for XiC decay (cm)"};
119119
Configurable<float> minXiCRadius{"minXiCRadius", 0.001, "Minimum R2D for XiC decay (cm)"};
@@ -527,44 +527,41 @@ struct alice3multicharmTable {
527527
//*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*
528528
void processFindXiCC(aod::Collision const& collision, alice3tracks const& tracks, aod::McParticles const&, aod::UpgradeCascades const& cascades)
529529
{
530-
// histos.fill(HIST("hNCollisions"), 1);
531-
// histos.fill(HIST("hNTracks"), tracks.size());
532-
533-
// if (tracks.size() < minNTracks)
534-
// return;
535-
536-
// histos.fill(HIST("hNCollisions"), 2);
537-
538530
// group with this collision
539531
// n.b. cascades do not need to be grouped, being used directly in iterator-grouping
540532
auto tracksPiFromXiCgrouped = tracksPiFromXiC->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache);
541533
auto tracksPiFromXiCCgrouped = tracksPiFromXiCC->sliceByCached(aod::track::collisionId, collision.globalIndex(), cache);
542534

543-
if (doDCAplots) {
544-
for (auto const& cascade : cascades) {
545-
if (cascade.has_cascadeTrack()) {
546-
auto track = cascade.cascadeTrack_as<alice3tracks>(); // de-reference cascade track
547-
histos.fill(HIST("h2dDCAxyVsPtXiFromXiC"), track.pt(), track.dcaXY() * 1e+4);
548-
} else {
549-
LOGF(info, "Damn, something is wrong");
550-
}
551-
}
535+
static constexpr int kMaxLUTConfigs = 20;
536+
std::vector<int> nTracks(kMaxLUTConfigs);
537+
for (auto const& track : tracks) {
538+
int lutConfigId = track.lutConfigId();
539+
nTracks[lutConfigId]++;
552540

553-
for (auto const& track : tracks) {
554-
if (bitcheck(track.decayMap(), kTruePiFromXiC))
555-
histos.fill(HIST("h2dDCAxyVsPtPiFromXiC"), track.pt(), track.dcaXY() * 1e+4);
556-
if (bitcheck(track.decayMap(), kTruePiFromXiCC))
557-
histos.fill(HIST("h2dDCAxyVsPtPiFromXiCC"), track.pt(), track.dcaXY() * 1e+4);
558-
}
541+
if (bitcheck(track.decayMap(), kTruePiFromXiC))
542+
histos.fill(HIST("h2dDCAxyVsPtPiFromXiC"), track.pt(), track.dcaXY() * 1e+4);
543+
if (bitcheck(track.decayMap(), kTruePiFromXiCC))
544+
histos.fill(HIST("h2dDCAxyVsPtPiFromXiCC"), track.pt(), track.dcaXY() * 1e+4);
559545
}
560-
546+
561547
for (auto const& xiCand : cascades) {
562548
auto xi = xiCand.cascadeTrack_as<alice3tracks>(); // de-reference cascade track
563549
int lutConfigId = xi.lutConfigId();
564-
std::string histPath = "Configuration_" + std::to_string(lutConfigId) + "/";
565550
initConf(lutConfigId);
551+
if (minNTracks.value.size() < static_cast<size_t>(lutConfigId)) {
552+
if (nTracks[lutConfigId] < minNTracks.value.front()) {
553+
continue; // fallback to first
554+
}
555+
} else {
556+
if (nTracks[lutConfigId] < minNTracks.value[lutConfigId]) {
557+
continue;
558+
}
559+
}
560+
566561

562+
std::string histPath = "Configuration_" + std::to_string(lutConfigId) + "/";
567563
histos.fill(HIST("hMassXi"), xiCand.mXi());
564+
histos.fill(HIST("h2dDCAxyVsPtXiFromXiC"), xi.pt(), xi.dcaXY() * 1e+4);
568565
if (std::fabs(xiCand.mXi() - o2::constants::physics::MassXiMinus) > massWindowXi)
569566
continue; // out of mass region
570567

ALICE3/Tasks/alice3-multicharm.cxx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -510,8 +510,6 @@ struct alice3multicharm {
510510
getHist(TH1, histPath + "hXiccMass")->Fill(xiccCand.xiccMass());
511511
getHist(TH3, histPath + "h3dXicc")->Fill(xiccCand.xiccPt(), xiccCand.xiccEta(), xiccCand.xiccMass());
512512

513-
514-
515513
histos.fill(HIST("SelectionQA/hDCAXicDaughters"), xiccCand.xicDauDCA() * 1e+4);
516514
histos.fill(HIST("SelectionQA/hDCAXiccDaughters"), xiccCand.xiccDauDCA() * 1e+4);
517515
histos.fill(HIST("SelectionQA/hDCAxyXi"), std::fabs(xiccCand.xiDCAxy() * 1e+4));

0 commit comments

Comments
 (0)