Skip to content

Commit a9455e7

Browse files
committed
Merge remote-tracking branch 'origin/master' into ch_jet_qa_task
2 parents df0c860 + 7648638 commit a9455e7

54 files changed

Lines changed: 2591 additions & 709 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ struct OnTheFlyTracker {
560560
float dNdEta = 0.f; // Charged particle multiplicity to use in the efficiency evaluation
561561
void process(aod::McCollision const& mcCollision, aod::McParticles const& mcParticles)
562562
{
563-
int lastTrackIndex = tracksParCov.lastIndex(); // bookkeep the last added track
563+
int lastTrackIndex = tracksParCov.lastIndex() + 1; // bookkeep the last added track
564564

565565
tracksAlice3.clear();
566566
ghostTracksAlice3.clear();

ALICE3/TableProducer/alice3-multicharm.cxx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,14 +353,22 @@ struct alice3multicharm {
353353
histos.fill(HIST("hMassXi"), xiCand.mXi());
354354
auto xi = xiCand.cascadeTrack_as<alice3tracks>(); // de-reference cascade track
355355
uint32_t nCombinationsC = 0;
356+
357+
// first pion from XiC decay for starts here
356358
for (auto const& pi1c : tracksPiFromXiCgrouped) {
357359
if (mcSameMotherCheck && !checkSameMother(xi, pi1c))
358360
continue;
361+
if (xiCand.posTrackId() == pi1c.globalIndex() || xiCand.negTrackId() == pi1c.globalIndex() || xiCand.bachTrackId() == pi1c.globalIndex())
362+
continue; // avoid using any track that was already used
363+
364+
// second pion from XiC decay for starts here
359365
for (auto const& pi2c : tracksPiFromXiCgrouped) {
360366
if (mcSameMotherCheck && !checkSameMother(xi, pi2c))
361367
continue; // keep only if same mother
362368
if (pi1c.globalIndex() >= pi2c.globalIndex())
363369
continue; // avoid same-mother, avoid double-counting
370+
if (xiCand.posTrackId() == pi2c.globalIndex() || xiCand.negTrackId() == pi2c.globalIndex() || xiCand.bachTrackId() == pi2c.globalIndex())
371+
continue; // avoid using any track that was already used
364372

365373
// if I am here, it means this is a triplet to be considered for XiC vertexing.
366374
// will now attempt to build a three-body decay candidate with these three track rows.
@@ -381,6 +389,9 @@ struct alice3multicharm {
381389
// attempt XiCC finding
382390
uint32_t nCombinationsCC = 0;
383391
for (auto const& picc : tracksPiFromXiCCgrouped) {
392+
if (xiCand.posTrackId() == picc.globalIndex() || xiCand.negTrackId() == picc.globalIndex() || xiCand.bachTrackId() == picc.globalIndex())
393+
continue; // avoid using any track that was already used
394+
384395
// to-do: check same mother here
385396

386397
nCombinationsCC++;

PWGDQ/TableProducer/tableMaker_withAssoc.cxx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ using MyBarrelTracksWithCov = soa::Join<aod::Tracks, aod::TracksExtra, aod::Trac
7373
aod::pidTPCFullEl, aod::pidTPCFullMu, aod::pidTPCFullPi,
7474
aod::pidTPCFullKa, aod::pidTPCFullPr,
7575
aod::pidTOFFullEl, aod::pidTOFFullMu, aod::pidTOFFullPi,
76-
aod::pidTOFFullKa, aod::pidTOFFullPr, aod::pidTOFbeta, aod::V0Bits>;
76+
aod::pidTOFFullKa, aod::pidTOFFullPr, aod::pidTOFbeta>;
7777
using MyBarrelTracksWithV0Bits = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCov, aod::TracksDCA,
7878
aod::pidTPCFullEl, aod::pidTPCFullMu, aod::pidTPCFullPi,
7979
aod::pidTPCFullKa, aod::pidTPCFullPr,
@@ -118,8 +118,8 @@ constexpr static uint32_t gkEventFillMapWithMultsEventFilterZdc = VarManager::Ob
118118
constexpr static uint32_t gkEventFillMapWithCentAndMults = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionCent | VarManager::CollisionMult | VarManager::ObjTypes::CollisionMultExtra;
119119
// constexpr static uint32_t gkEventFillMapWithCentRun2 = VarManager::ObjTypes::BC | VarManager::ObjTypes::Collision | VarManager::ObjTypes::CollisionCentRun2; // Unused variable
120120
// constexpr static uint32_t gkTrackFillMap = VarManager::ObjTypes::Track | VarManager::ObjTypes::TrackExtra | VarManager::ObjTypes::TrackDCA | VarManager::ObjTypes::TrackPID | VarManager::ObjTypes::TrackPIDExtra;
121-
constexpr static uint32_t gkTrackFillMapWithCov = VarManager::ObjTypes::Track | VarManager::ObjTypes::TrackExtra | VarManager::ObjTypes::TrackDCA | VarManager::ObjTypes::TrackCov | VarManager::ObjTypes::TrackPID | VarManager::ObjTypes::TrackPIDExtra | VarManager::ObjTypes::TrackV0Bits;
122-
// constexpr static uint32_t gkTrackFillMapWithV0Bits = gkTrackFillMapWithCov | VarManager::ObjTypes::TrackV0Bits;
121+
constexpr static uint32_t gkTrackFillMapWithCov = VarManager::ObjTypes::Track | VarManager::ObjTypes::TrackExtra | VarManager::ObjTypes::TrackDCA | VarManager::ObjTypes::TrackCov | VarManager::ObjTypes::TrackPID | VarManager::ObjTypes::TrackPIDExtra;
122+
constexpr static uint32_t gkTrackFillMapWithV0Bits = gkTrackFillMapWithCov | VarManager::ObjTypes::TrackV0Bits;
123123
// constexpr static uint32_t gkTrackFillMapWithV0BitsForMaps = VarManager::ObjTypes::Track | VarManager::ObjTypes::TrackExtra | VarManager::ObjTypes::TrackDCA | VarManager::ObjTypes::TrackV0Bits | VarManager::ObjTypes::TrackTPCPID;
124124
// constexpr static uint32_t gkTrackFillMapWithDalitzBits = gkTrackFillMap | VarManager::ObjTypes::DalitzBits;
125125
// constexpr static uint32_t gkMuonFillMap = VarManager::ObjTypes::Muon;
@@ -1003,6 +1003,14 @@ struct TableMaker {
10031003
fullSkimming<gkEventFillMapWithCentAndMults, gkTrackFillMapWithCov, 0u, 0u>(collisions, bcs, nullptr, tracksBarrel, nullptr, nullptr, trackAssocs, nullptr, nullptr);
10041004
}
10051005

1006+
// produce the barrel only DQ skimmed data model typically for Pb-Pb (with centrality), no subscribtion to the DQ event filter
1007+
void processPbPbBarrelOnlyWithV0Bits(MyEventsWithCentAndMults const& collisions, BCsWithTimestamps const& bcs,
1008+
MyBarrelTracksWithV0Bits const& tracksBarrel,
1009+
TrackAssoc const& trackAssocs)
1010+
{
1011+
fullSkimming<gkEventFillMapWithCentAndMults, gkTrackFillMapWithV0Bits, 0u, 0u>(collisions, bcs, nullptr, tracksBarrel, nullptr, nullptr, trackAssocs, nullptr, nullptr);
1012+
}
1013+
10061014
// produce the muon only DQ skimmed data model typically for Pb-Pb (with centrality), no subscribtion to the DQ event filter
10071015
void processPbPbMuonOnly(MyEventsWithCentAndMults const& collisions, BCsWithTimestamps const& bcs,
10081016
MyMuonsWithCov const& muons, FwdTrackAssoc const& fwdTrackAssocs)
@@ -1035,6 +1043,7 @@ struct TableMaker {
10351043
PROCESS_SWITCH(TableMaker, processPPWithFilterMuonMFT, "Build muon + mft DQ skimmed data model typically for pp/p-Pb and UPC Pb-Pb, w/ event filtering", false);
10361044
PROCESS_SWITCH(TableMaker, processPbPb, "Build full DQ skimmed data model typically for Pb-Pb, w/o event filtering", false);
10371045
PROCESS_SWITCH(TableMaker, processPbPbBarrelOnly, "Build barrel only DQ skimmed data model typically for Pb-Pb, w/o event filtering", false);
1046+
PROCESS_SWITCH(TableMaker, processPbPbBarrelOnlyWithV0Bits, "Build barrel only DQ skimmed data model typically for Pb-Pb, w/ V0 bits, w/o event filtering", false);
10381047
PROCESS_SWITCH(TableMaker, processPbPbMuonOnly, "Build muon only DQ skimmed data model typically for Pb-Pb, w/o event filtering", false);
10391048
PROCESS_SWITCH(TableMaker, processPbPbMuonMFT, "Build muon + mft DQ skimmed data model typically for Pb-Pb, w/o event filtering", false);
10401049
PROCESS_SWITCH(TableMaker, processOnlyBCs, "Analyze the BCs to store sampled lumi", false);

PWGDQ/Tasks/taskJpsiHf.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ struct taskJPsiHf {
9999

100100
for (auto& dilepton : dileptons) {
101101
ptDilepton = RecoDecay::pt(dilepton.px(), dilepton.py());
102-
rapDilepton = RecoDecay::y(std::array{dilepton.px(), dilepton.py(), dilepton.pz()}, dilepton.mass());
102+
rapDilepton = RecoDecay::y(std::array{dilepton.px(), dilepton.py(), dilepton.pz()}, constants::physics::MassJPsi);
103103
phiDilepton = RecoDecay::phi(dilepton.px(), dilepton.py());
104104

105105
for (auto& dmeson : dmesons) {
@@ -113,7 +113,7 @@ struct taskJPsiHf {
113113
}
114114

115115
if (dmeson.massD0() > 0) {
116-
rapDmeson = RecoDecay::y(std::array{dmeson.px(), dmeson.py(), dmeson.pz()}, dmeson.massD0());
116+
rapDmeson = RecoDecay::y(std::array{dmeson.px(), dmeson.py(), dmeson.pz()}, constants::physics::MassD0);
117117
deltaRap = rapDilepton - rapDmeson;
118118
auto bdtBkg = dmeson.bdtBkgMassHypo0();
119119
auto bdtPrompt = dmeson.bdtPromptMassHypo0();
@@ -123,12 +123,12 @@ struct taskJPsiHf {
123123
}
124124
}
125125
if (dmeson.massD0bar() > 0) {
126-
rapDmeson = RecoDecay::y(std::array{dmeson.px(), dmeson.py(), dmeson.pz()}, dmeson.massD0bar());
126+
rapDmeson = RecoDecay::y(std::array{dmeson.px(), dmeson.py(), dmeson.pz()}, constants::physics::MassD0);
127127
deltaRap = rapDilepton - rapDmeson;
128128
auto bdtBkg = dmeson.bdtBkgMassHypo1();
129129
auto bdtPrompt = dmeson.bdtPromptMassHypo1();
130130
auto bdtNonPrompt = dmeson.bdtNonpromptMassHypo1();
131-
if ((dilepton.mass() > massDileptonCandMin && dilepton.mass() < massDileptonCandMax) && (dmeson.massD0() > massHfCandMin && dmeson.massD0() < massHfCandMax && bdtBkg < cutsDmesBdt->get(ptBinDmesForBdt, "BDT background") && bdtPrompt > cutsDmesBdt->get(ptBinDmesForBdt, "BDT prompt") && bdtNonPrompt > cutsDmesBdt->get(ptBinDmesForBdt, "BDT nonprompt"))) {
131+
if ((dilepton.mass() > massDileptonCandMin && dilepton.mass() < massDileptonCandMax) && (dmeson.massD0bar() > massHfCandMin && dmeson.massD0bar() < massHfCandMax && bdtBkg < cutsDmesBdt->get(ptBinDmesForBdt, "BDT background") && bdtPrompt > cutsDmesBdt->get(ptBinDmesForBdt, "BDT prompt") && bdtNonPrompt > cutsDmesBdt->get(ptBinDmesForBdt, "BDT nonprompt"))) {
132132
redDileptDimesAll(dilepton.mass(), dmeson.massD0bar(), ptDilepton, ptDmeson, rapDilepton, rapDmeson, phiDilepton, phiDmeson, deltaRap, deltaPhi, bdtBkg, bdtPrompt, bdtNonPrompt);
133133
}
134134
}

0 commit comments

Comments
 (0)