Skip to content

Commit 11f588a

Browse files
authored
[PWGCF] Add multTPC for density efficiency in flowGfwOmegaXi.cxx (#13798)
1 parent 14f1e4e commit 11f588a

File tree

1 file changed

+55
-19
lines changed

1 file changed

+55
-19
lines changed

PWGCF/Flow/Tasks/flowGfwOmegaXi.cxx

Lines changed: 55 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ struct FlowGfwOmegaXi {
212212

213213
using TracksPID = soa::Join<aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTOFPi, aod::pidTOFKa, aod::pidTOFPr>;
214214
using AodTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, o2::aod::TrackSelectionExtension, aod::TracksExtra, TracksPID, aod::TracksIU>>; // tracks filter
215-
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::Mults>>; // collisions filter
215+
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::MultsRun3>>; // collisions filter
216216
using DaughterTracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, TracksPID, aod::TrackSelection, o2::aod::TrackSelectionExtension>;
217217

218218
// Connect to ccdb
@@ -356,9 +356,12 @@ struct FlowGfwOmegaXi {
356356
registry.add("hEta", "", {HistType::kTH1D, {cfgaxisEta}});
357357
registry.add("hVtxZ", "", {HistType::kTH1D, {cfgaxisVertex}});
358358
registry.add("hMult", "", {HistType::kTH1D, {cfgaxisNch}});
359+
registry.add("hMultTPC", "", {HistType::kTH1D, {cfgaxisNch}});
359360
registry.add("hCent", "", {HistType::kTH1D, {{90, 0, 90}}});
360361
registry.add("hCentvsNch", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
361362
registry.add("MC/hCentvsNchMC", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
363+
registry.add("hCentvsMultTPC", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
364+
registry.add("MC/hCentvsMultTPCMC", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
362365
registry.add("hPt", "", {HistType::kTH1D, {cfgaxisPt}});
363366
registry.add("hEtaPhiVtxzREF", "", {HistType::kTH3D, {cfgaxisPhi, cfgaxisEta, {20, -10, 10}}});
364367
registry.add("hEtaPhiVtxzPOIXi", "", {HistType::kTH3D, {cfgaxisPhi, cfgaxisEta, {20, -10, 10}}});
@@ -531,15 +534,26 @@ struct FlowGfwOmegaXi {
531534
registry.add("InvMassLambda_all", "", {HistType::kTHnSparseF, {cfgaxisPtLambda, axisLambdaMass, cfgaxisEta, axisMultiplicity}});
532535
registry.add("InvMassK0s", "", {HistType::kTHnSparseF, {cfgaxisPtK0s, axisK0sMass, cfgaxisEta, axisMultiplicity}});
533536
registry.add("InvMassLambda", "", {HistType::kTHnSparseF, {cfgaxisPtLambda, axisLambdaMass, cfgaxisEta, axisMultiplicity}});
534-
// for local density correlation
535-
registry.add("MC/densityMCGenK0s", "", {HistType::kTH3D, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity}});
536-
registry.add("MC/densityMCGenLambda", "", {HistType::kTH3D, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity}});
537-
registry.add("MC/densityMCGenXi", "", {HistType::kTH3D, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity}});
538-
registry.add("MC/densityMCGenOmega", "", {HistType::kTH3D, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity}});
539-
registry.add("MC/densityMCRecK0s", "", {HistType::kTHnSparseF, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity, axisK0sMass}});
540-
registry.add("MC/densityMCRecLambda", "", {HistType::kTHnSparseF, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity, axisLambdaMass}});
541-
registry.add("MC/densityMCRecXi", "", {HistType::kTHnSparseF, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity, axisXiMass}});
542-
registry.add("MC/densityMCRecOmega", "", {HistType::kTHnSparseF, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity, axisOmegaMass}});
537+
// for local density correction
538+
if (cfgOutputLocDenWeights) {
539+
registry.add("MC/densityMCGenK0s", "", {HistType::kTH3D, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity}});
540+
registry.add("MC/densityMCGenLambda", "", {HistType::kTH3D, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity}});
541+
registry.add("MC/densityMCGenXi", "", {HistType::kTH3D, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity}});
542+
registry.add("MC/densityMCGenOmega", "", {HistType::kTH3D, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity}});
543+
registry.add("MC/densityMCRecK0s", "", {HistType::kTHnSparseF, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity, axisK0sMass}});
544+
registry.add("MC/densityMCRecLambda", "", {HistType::kTHnSparseF, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity, axisLambdaMass}});
545+
registry.add("MC/densityMCRecXi", "", {HistType::kTHnSparseF, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity, axisXiMass}});
546+
registry.add("MC/densityMCRecOmega", "", {HistType::kTHnSparseF, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity, axisOmegaMass}});
547+
548+
registry.add("MC/densityMCGenK0sMultTPC", "", {HistType::kTH3D, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity}});
549+
registry.add("MC/densityMCGenLambdaMultTPC", "", {HistType::kTH3D, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity}});
550+
registry.add("MC/densityMCGenXiMultTPC", "", {HistType::kTH3D, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity}});
551+
registry.add("MC/densityMCGenOmegaMultTPC", "", {HistType::kTH3D, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity}});
552+
registry.add("MC/densityMCRecK0sMultTPC", "", {HistType::kTHnSparseF, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity, axisK0sMass}});
553+
registry.add("MC/densityMCRecLambdaMultTPC", "", {HistType::kTHnSparseF, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity, axisLambdaMass}});
554+
registry.add("MC/densityMCRecXiMultTPC", "", {HistType::kTHnSparseF, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity, axisXiMass}});
555+
registry.add("MC/densityMCRecOmegaMultTPC", "", {HistType::kTHnSparseF, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity, axisOmegaMass}});
556+
}
543557

544558
// Data
545559
fGFW->AddRegion("reffull", -0.8, 0.8, 1, 1); // ("name", etamin, etamax, ptbinnum, bitmask)eta region -0.8 to 0.8
@@ -990,6 +1004,7 @@ struct FlowGfwOmegaXi {
9901004
{
9911005
o2::aod::ITSResponse itsResponse;
9921006
int nTot = tracks.size();
1007+
float nMultTPC = collision.multTPC();
9931008
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
9941009
int runNumber = bc.runNumber();
9951010
double interactionRate = rateFetcher.fetch(ccdb.service, bc.timestamp(), runNumber, "ZNC hadronic") * 1.e-3;
@@ -1009,6 +1024,7 @@ struct FlowGfwOmegaXi {
10091024
float vtxz = collision.posZ();
10101025
registry.fill(HIST("hVtxZ"), vtxz);
10111026
registry.fill(HIST("hMult"), nTot);
1027+
registry.fill(HIST("hMultTPC"), nMultTPC);
10121028
registry.fill(HIST("hCent"), cent);
10131029

10141030
float weff = 1;
@@ -1049,6 +1065,7 @@ struct FlowGfwOmegaXi {
10491065
}
10501066
if (cfgDoLocDenCorr) {
10511067
registry.fill(HIST("hCentvsNch"), cent, nch);
1068+
registry.fill(HIST("hCentvsMultTPC"), cent, nMultTPC);
10521069
}
10531070
// fill GFW of V0 flow
10541071
double lowpt = trkQualityOpts.cfgCutPtPIDDauMin.value;
@@ -1164,8 +1181,10 @@ struct FlowGfwOmegaXi {
11641181
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(v0.phi(), -constants::math::PI));
11651182
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
11661183
setCurrentLocalDensityWeights(wloc, v0, density, 1);
1167-
if (cfgOutputLocDenWeights)
1184+
if (cfgOutputLocDenWeights) {
11681185
registry.fill(HIST("MC/densityMCRecK0s"), v0.pt(), nch, density, v0.mK0Short());
1186+
registry.fill(HIST("MC/densityMCRecK0sMultTPC"), v0.pt(), nMultTPC, density, v0.mK0Short());
1187+
}
11691188
}
11701189
registry.fill(HIST("InvMassK0s"), v0.pt(), v0.mK0Short(), v0.eta(), cent);
11711190
registry.fill(HIST("hEtaPhiVtxzPOIK0s"), v0.phi(), v0.eta(), vtxz, wacc);
@@ -1188,8 +1207,10 @@ struct FlowGfwOmegaXi {
11881207
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(v0.phi(), -constants::math::PI));
11891208
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
11901209
setCurrentLocalDensityWeights(wloc, v0, density, 2);
1191-
if (cfgOutputLocDenWeights)
1210+
if (cfgOutputLocDenWeights) {
11921211
registry.fill(HIST("MC/densityMCRecLambda"), v0.pt(), nch, density, v0.mLambda());
1212+
registry.fill(HIST("MC/densityMCRecLambdaMultTPC"), v0.pt(), nMultTPC, density, v0.mLambda());
1213+
}
11931214
}
11941215
registry.fill(HIST("InvMassLambda"), v0.pt(), v0.mLambda(), v0.eta(), cent);
11951216
registry.fill(HIST("hEtaPhiVtxzPOILambda"), v0.phi(), v0.eta(), vtxz, wacc);
@@ -1361,8 +1382,10 @@ struct FlowGfwOmegaXi {
13611382
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(casc.phi(), -constants::math::PI));
13621383
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
13631384
setCurrentLocalDensityWeights(wloc, casc, density, 4);
1364-
if (cfgOutputLocDenWeights)
1385+
if (cfgOutputLocDenWeights) {
13651386
registry.fill(HIST("MC/densityMCRecOmega"), casc.pt(), nch, density, casc.mOmega());
1387+
registry.fill(HIST("MC/densityMCRecOmegaMultTPC"), casc.pt(), nMultTPC, density, casc.mOmega());
1388+
}
13661389
}
13671390
registry.fill(HIST("hEtaPhiVtxzPOIOmega"), casc.phi(), casc.eta(), vtxz, wacc);
13681391
registry.fill(HIST("hPhiOmega"), casc.phi());
@@ -1387,8 +1410,10 @@ struct FlowGfwOmegaXi {
13871410
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(casc.phi(), -constants::math::PI));
13881411
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
13891412
setCurrentLocalDensityWeights(wloc, casc, density, 3);
1390-
if (cfgOutputLocDenWeights)
1413+
if (cfgOutputLocDenWeights) {
13911414
registry.fill(HIST("MC/densityMCRecXi"), casc.pt(), nch, density, casc.mXi());
1415+
registry.fill(HIST("MC/densityMCRecXiMultTPC"), casc.pt(), nMultTPC, density, casc.mXi());
1416+
}
13921417
}
13931418
registry.fill(HIST("hEtaPhiVtxzPOIXi"), casc.phi(), casc.eta(), vtxz, wacc);
13941419
registry.fill(HIST("hPhiXi"), casc.phi());
@@ -1518,14 +1543,17 @@ struct FlowGfwOmegaXi {
15181543
{
15191544
fGFW->Clear();
15201545
int nch = 0;
1546+
float nMultTPC = 0;
15211547
double cent = -1;
15221548
TH1D* hLocalDensity = new TH1D("hphi", "hphi", 400, -constants::math::TwoPI, constants::math::TwoPI);
15231549
for (const auto& collision : collisionsRec) {
15241550
if (!collision.sel8())
15251551
return;
1526-
if (eventSelected(collision, cent))
1552+
if (!eventSelected(collision, cent))
15271553
return;
15281554
cent = collision.centFT0C();
1555+
nMultTPC = collision.multTPC();
1556+
registry.fill(HIST("MC/hCentvsMultTPCMC"), cent, nMultTPC);
15291557
}
15301558
if (cent < 0)
15311559
return;
@@ -1572,30 +1600,38 @@ struct FlowGfwOmegaXi {
15721600
if (pdgCode == PDG_t::kXiMinus) {
15731601
int phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(straGen.phi(), -constants::math::PI));
15741602
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
1575-
if (cfgOutputLocDenWeights)
1603+
if (cfgOutputLocDenWeights) {
15761604
registry.fill(HIST("MC/densityMCGenXi"), straGen.pt(), nch, density);
1605+
registry.fill(HIST("MC/densityMCGenXiMultTPC"), straGen.pt(), nMultTPC, density);
1606+
}
15771607
fGFW->Fill(straGen.eta(), fXiPtAxis->FindBin(straGen.pt()) - 1, straGen.phi(), 1, 128);
15781608
}
15791609
if (pdgCode == PDG_t::kOmegaMinus) {
15801610
int phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(straGen.phi(), -constants::math::PI));
15811611
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
1582-
if (cfgOutputLocDenWeights)
1612+
if (cfgOutputLocDenWeights) {
15831613
registry.fill(HIST("MC/densityMCGenOmega"), straGen.pt(), nch, density);
1614+
registry.fill(HIST("MC/densityMCGenOmegaMultTPC"), straGen.pt(), nMultTPC, density);
1615+
}
15841616
fGFW->Fill(straGen.eta(), fOmegaPtAxis->FindBin(straGen.pt()) - 1, straGen.phi(), 1, 256);
15851617
}
15861618

15871619
if (pdgCode == PDG_t::kK0Short) {
15881620
int phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(straGen.phi(), -constants::math::PI));
15891621
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
1590-
if (cfgOutputLocDenWeights)
1622+
if (cfgOutputLocDenWeights) {
15911623
registry.fill(HIST("MC/densityMCGenK0s"), straGen.pt(), nch, density);
1624+
registry.fill(HIST("MC/densityMCGenK0sMultTPC"), straGen.pt(), nMultTPC, density);
1625+
}
15921626
fGFW->Fill(straGen.eta(), fK0sPtAxis->FindBin(straGen.pt()) - 1, straGen.phi(), 1, 512);
15931627
}
15941628
if (pdgCode == PDG_t::kLambda0) {
15951629
int phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(straGen.phi(), -constants::math::PI));
15961630
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
1597-
if (cfgOutputLocDenWeights)
1631+
if (cfgOutputLocDenWeights) {
15981632
registry.fill(HIST("MC/densityMCGenLambda"), straGen.pt(), nch, density);
1633+
registry.fill(HIST("MC/densityMCGenLambdaMultTPC"), straGen.pt(), nMultTPC, density);
1634+
}
15991635
fGFW->Fill(straGen.eta(), fLambdaPtAxis->FindBin(straGen.pt()) - 1, straGen.phi(), 1, 1024);
16001636
}
16011637
}

0 commit comments

Comments
 (0)