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