Skip to content

Commit 78ce5dd

Browse files
authored
[PWGCF]: Add multTPC for density efficiency in flowGfwOmegaXi.cxx
1 parent cde8c99 commit 78ce5dd

File tree

1 file changed

+55
-20
lines changed

1 file changed

+55
-20
lines changed

PWGCF/Flow/Tasks/flowGfwOmegaXi.cxx

Lines changed: 55 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@
3030
#include "Common/DataModel/Centrality.h"
3131
#include "Common/DataModel/EventSelection.h"
3232
#include "Common/DataModel/Multiplicity.h"
33+
#include "Common/DataModel/PIDResponse.h"
3334
#include "Common/DataModel/PIDResponseITS.h"
34-
#include "Common/DataModel/PIDResponseTOF.h"
35-
#include "Common/DataModel/PIDResponseTPC.h"
3635
#include "Common/DataModel/Qvectors.h"
3736
#include "Common/DataModel/TrackSelectionTables.h"
3837

@@ -212,7 +211,7 @@ struct FlowGfwOmegaXi {
212211

213212
using TracksPID = soa::Join<aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr, aod::pidTOFPi, aod::pidTOFKa, aod::pidTOFPr>;
214213
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
214+
using AodCollisions = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, aod::MultsRun3>>; // collisions filter
216215
using DaughterTracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, TracksPID, aod::TrackSelection, o2::aod::TrackSelectionExtension>;
217216

218217
// Connect to ccdb
@@ -356,9 +355,12 @@ struct FlowGfwOmegaXi {
356355
registry.add("hEta", "", {HistType::kTH1D, {cfgaxisEta}});
357356
registry.add("hVtxZ", "", {HistType::kTH1D, {cfgaxisVertex}});
358357
registry.add("hMult", "", {HistType::kTH1D, {cfgaxisNch}});
358+
registry.add("hMultTPC", "", {HistType::kTH1D, {cfgaxisNch}});
359359
registry.add("hCent", "", {HistType::kTH1D, {{90, 0, 90}}});
360360
registry.add("hCentvsNch", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
361361
registry.add("MC/hCentvsNchMC", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
362+
registry.add("hCentvsMultTPC", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
363+
registry.add("MC/hCentvsMultTPCMC", "", {HistType::kTH2D, {{18, 0, 90}, cfgaxisNch}});
362364
registry.add("hPt", "", {HistType::kTH1D, {cfgaxisPt}});
363365
registry.add("hEtaPhiVtxzREF", "", {HistType::kTH3D, {cfgaxisPhi, cfgaxisEta, {20, -10, 10}}});
364366
registry.add("hEtaPhiVtxzPOIXi", "", {HistType::kTH3D, {cfgaxisPhi, cfgaxisEta, {20, -10, 10}}});
@@ -532,14 +534,25 @@ struct FlowGfwOmegaXi {
532534
registry.add("InvMassK0s", "", {HistType::kTHnSparseF, {cfgaxisPtK0s, axisK0sMass, cfgaxisEta, axisMultiplicity}});
533535
registry.add("InvMassLambda", "", {HistType::kTHnSparseF, {cfgaxisPtLambda, axisLambdaMass, cfgaxisEta, axisMultiplicity}});
534536
// 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+
if (cfgOutputLocDenWeights) {
538+
registry.add("MC/densityMCGenK0s", "", {HistType::kTH3D, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity}});
539+
registry.add("MC/densityMCGenLambda", "", {HistType::kTH3D, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity}});
540+
registry.add("MC/densityMCGenXi", "", {HistType::kTH3D, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity}});
541+
registry.add("MC/densityMCGenOmega", "", {HistType::kTH3D, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity}});
542+
registry.add("MC/densityMCRecK0s", "", {HistType::kTHnSparseF, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity, axisK0sMass}});
543+
registry.add("MC/densityMCRecLambda", "", {HistType::kTHnSparseF, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity, axisLambdaMass}});
544+
registry.add("MC/densityMCRecXi", "", {HistType::kTHnSparseF, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity, axisXiMass}});
545+
registry.add("MC/densityMCRecOmega", "", {HistType::kTHnSparseF, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity, axisOmegaMass}});
546+
547+
registry.add("MC/densityMCGenK0sMultTPC", "", {HistType::kTH3D, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity}});
548+
registry.add("MC/densityMCGenLambdaMultTPC", "", {HistType::kTH3D, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity}});
549+
registry.add("MC/densityMCGenXiMultTPC", "", {HistType::kTH3D, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity}});
550+
registry.add("MC/densityMCGenOmegaMultTPC", "", {HistType::kTH3D, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity}});
551+
registry.add("MC/densityMCRecK0sMultTPC", "", {HistType::kTHnSparseF, {cfgaxisPtK0s, cfgaxisNch, cfgaxisLocalDensity, axisK0sMass}});
552+
registry.add("MC/densityMCRecLambdaMultTPC", "", {HistType::kTHnSparseF, {cfgaxisPtLambda, cfgaxisNch, cfgaxisLocalDensity, axisLambdaMass}});
553+
registry.add("MC/densityMCRecXiMultTPC", "", {HistType::kTHnSparseF, {cfgaxisPtXi, cfgaxisNch, cfgaxisLocalDensity, axisXiMass}});
554+
registry.add("MC/densityMCRecOmegaMultTPC", "", {HistType::kTHnSparseF, {cfgaxisPtOmega, cfgaxisNch, cfgaxisLocalDensity, axisOmegaMass}});
555+
}
543556

544557
// Data
545558
fGFW->AddRegion("reffull", -0.8, 0.8, 1, 1); // ("name", etamin, etamax, ptbinnum, bitmask)eta region -0.8 to 0.8
@@ -990,6 +1003,7 @@ struct FlowGfwOmegaXi {
9901003
{
9911004
o2::aod::ITSResponse itsResponse;
9921005
int nTot = tracks.size();
1006+
float nMultTPC = collision.multTPC();
9931007
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
9941008
int runNumber = bc.runNumber();
9951009
double interactionRate = rateFetcher.fetch(ccdb.service, bc.timestamp(), runNumber, "ZNC hadronic") * 1.e-3;
@@ -1009,6 +1023,7 @@ struct FlowGfwOmegaXi {
10091023
float vtxz = collision.posZ();
10101024
registry.fill(HIST("hVtxZ"), vtxz);
10111025
registry.fill(HIST("hMult"), nTot);
1026+
registry.fill(HIST("hMultTPC"), nMultTPC);
10121027
registry.fill(HIST("hCent"), cent);
10131028

10141029
float weff = 1;
@@ -1049,6 +1064,7 @@ struct FlowGfwOmegaXi {
10491064
}
10501065
if (cfgDoLocDenCorr) {
10511066
registry.fill(HIST("hCentvsNch"), cent, nch);
1067+
registry.fill(HIST("hCentvsMultTPC"), cent, nMultTPC);
10521068
}
10531069
// fill GFW of V0 flow
10541070
double lowpt = trkQualityOpts.cfgCutPtPIDDauMin.value;
@@ -1164,8 +1180,10 @@ struct FlowGfwOmegaXi {
11641180
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(v0.phi(), -constants::math::PI));
11651181
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
11661182
setCurrentLocalDensityWeights(wloc, v0, density, 1);
1167-
if (cfgOutputLocDenWeights)
1183+
if (cfgOutputLocDenWeights) {
11681184
registry.fill(HIST("MC/densityMCRecK0s"), v0.pt(), nch, density, v0.mK0Short());
1185+
registry.fill(HIST("MC/densityMCRecK0sMultTPC"), v0.pt(), nMultTPC, density, v0.mK0Short());
1186+
}
11691187
}
11701188
registry.fill(HIST("InvMassK0s"), v0.pt(), v0.mK0Short(), v0.eta(), cent);
11711189
registry.fill(HIST("hEtaPhiVtxzPOIK0s"), v0.phi(), v0.eta(), vtxz, wacc);
@@ -1188,8 +1206,10 @@ struct FlowGfwOmegaXi {
11881206
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(v0.phi(), -constants::math::PI));
11891207
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
11901208
setCurrentLocalDensityWeights(wloc, v0, density, 2);
1191-
if (cfgOutputLocDenWeights)
1209+
if (cfgOutputLocDenWeights) {
11921210
registry.fill(HIST("MC/densityMCRecLambda"), v0.pt(), nch, density, v0.mLambda());
1211+
registry.fill(HIST("MC/densityMCRecLambdaMultTPC"), v0.pt(), nMultTPC, density, v0.mLambda());
1212+
}
11931213
}
11941214
registry.fill(HIST("InvMassLambda"), v0.pt(), v0.mLambda(), v0.eta(), cent);
11951215
registry.fill(HIST("hEtaPhiVtxzPOILambda"), v0.phi(), v0.eta(), vtxz, wacc);
@@ -1361,8 +1381,10 @@ struct FlowGfwOmegaXi {
13611381
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(casc.phi(), -constants::math::PI));
13621382
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
13631383
setCurrentLocalDensityWeights(wloc, casc, density, 4);
1364-
if (cfgOutputLocDenWeights)
1384+
if (cfgOutputLocDenWeights) {
13651385
registry.fill(HIST("MC/densityMCRecOmega"), casc.pt(), nch, density, casc.mOmega());
1386+
registry.fill(HIST("MC/densityMCRecOmegaMultTPC"), casc.pt(), nMultTPC, density, casc.mOmega());
1387+
}
13661388
}
13671389
registry.fill(HIST("hEtaPhiVtxzPOIOmega"), casc.phi(), casc.eta(), vtxz, wacc);
13681390
registry.fill(HIST("hPhiOmega"), casc.phi());
@@ -1387,8 +1409,10 @@ struct FlowGfwOmegaXi {
13871409
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(casc.phi(), -constants::math::PI));
13881410
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
13891411
setCurrentLocalDensityWeights(wloc, casc, density, 3);
1390-
if (cfgOutputLocDenWeights)
1412+
if (cfgOutputLocDenWeights) {
13911413
registry.fill(HIST("MC/densityMCRecXi"), casc.pt(), nch, density, casc.mXi());
1414+
registry.fill(HIST("MC/densityMCRecXiMultTPC"), casc.pt(), nMultTPC, density, casc.mXi());
1415+
}
13921416
}
13931417
registry.fill(HIST("hEtaPhiVtxzPOIXi"), casc.phi(), casc.eta(), vtxz, wacc);
13941418
registry.fill(HIST("hPhiXi"), casc.phi());
@@ -1518,14 +1542,17 @@ struct FlowGfwOmegaXi {
15181542
{
15191543
fGFW->Clear();
15201544
int nch = 0;
1545+
float nMultTPC = 0;
15211546
double cent = -1;
15221547
TH1D* hLocalDensity = new TH1D("hphi", "hphi", 400, -constants::math::TwoPI, constants::math::TwoPI);
15231548
for (const auto& collision : collisionsRec) {
15241549
if (!collision.sel8())
15251550
return;
1526-
if (eventSelected(collision, cent))
1551+
if (!eventSelected(collision, cent))
15271552
return;
15281553
cent = collision.centFT0C();
1554+
nMultTPC = collision.multTPC();
1555+
registry.fill(HIST("MC/hCentvsMultTPCMC"), cent, nMultTPC);
15291556
}
15301557
if (cent < 0)
15311558
return;
@@ -1572,30 +1599,38 @@ struct FlowGfwOmegaXi {
15721599
if (pdgCode == PDG_t::kXiMinus) {
15731600
int phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(straGen.phi(), -constants::math::PI));
15741601
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
1575-
if (cfgOutputLocDenWeights)
1602+
if (cfgOutputLocDenWeights) {
15761603
registry.fill(HIST("MC/densityMCGenXi"), straGen.pt(), nch, density);
1604+
registry.fill(HIST("MC/densityMCGenXiMultTPC"), straGen.pt(), nMultTPC, density);
1605+
}
15771606
fGFW->Fill(straGen.eta(), fXiPtAxis->FindBin(straGen.pt()) - 1, straGen.phi(), 1, 128);
15781607
}
15791608
if (pdgCode == PDG_t::kOmegaMinus) {
15801609
int phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(straGen.phi(), -constants::math::PI));
15811610
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
1582-
if (cfgOutputLocDenWeights)
1611+
if (cfgOutputLocDenWeights) {
15831612
registry.fill(HIST("MC/densityMCGenOmega"), straGen.pt(), nch, density);
1613+
registry.fill(HIST("MC/densityMCGenOmegaMultTPC"), straGen.pt(), nMultTPC, density);
1614+
}
15841615
fGFW->Fill(straGen.eta(), fOmegaPtAxis->FindBin(straGen.pt()) - 1, straGen.phi(), 1, 256);
15851616
}
15861617

15871618
if (pdgCode == PDG_t::kK0Short) {
15881619
int phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(straGen.phi(), -constants::math::PI));
15891620
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
1590-
if (cfgOutputLocDenWeights)
1621+
if (cfgOutputLocDenWeights) {
15911622
registry.fill(HIST("MC/densityMCGenK0s"), straGen.pt(), nch, density);
1623+
registry.fill(HIST("MC/densityMCGenK0sMultTPC"), straGen.pt(), nMultTPC, density);
1624+
}
15921625
fGFW->Fill(straGen.eta(), fK0sPtAxis->FindBin(straGen.pt()) - 1, straGen.phi(), 1, 512);
15931626
}
15941627
if (pdgCode == PDG_t::kLambda0) {
15951628
int phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(straGen.phi(), -constants::math::PI));
15961629
double density = hLocalDensity->Integral(phibin - cfgDeltaPhiLocDen, phibin + cfgDeltaPhiLocDen);
1597-
if (cfgOutputLocDenWeights)
1630+
if (cfgOutputLocDenWeights) {
15981631
registry.fill(HIST("MC/densityMCGenLambda"), straGen.pt(), nch, density);
1632+
registry.fill(HIST("MC/densityMCGenLambdaMultTPC"), straGen.pt(), nMultTPC, density);
1633+
}
15991634
fGFW->Fill(straGen.eta(), fLambdaPtAxis->FindBin(straGen.pt()) - 1, straGen.phi(), 1, 1024);
16001635
}
16011636
}

0 commit comments

Comments
 (0)