@@ -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