@@ -111,6 +111,8 @@ struct femtoUniversePairTaskTrackD0 {
111111 Configurable<int > ConfPIDTrack{" ConfPIDTrack" , 2 , " Particle 2 - Read from cutCulator" }; // we also need the possibility to specify whether the bit is true/false ->std>>vector<std::pair<int, int>>
112112 Configurable<int > ConfTrackSign{" ConfTrackSign" , 1 , " Track sign" };
113113 Configurable<bool > ConfIsTrackIdentified{" ConfIsTrackIdentified" , true , " Enable PID for the track" };
114+ Configurable<float > ConfTrackLowPtCut{" ConfTrackLowPtCut" , 0.5 , " Low pT cut of the track" };
115+ Configurable<float > ConfTrackHighPtCut{" ConfTrackHighPtCut" , 2.5 , " High pT cut of the track" };
114116 } ConfTrack;
115117
116118 // / Particle 2 --- D0/D0bar meson
@@ -133,23 +135,22 @@ struct femtoUniversePairTaskTrackD0 {
133135 } ConfD0D0barSideBand;
134136
135137 Configurable<std::vector<double >> binsPt{" binsPt" , std::vector<double >{hf_cuts_d0_to_pi_k::vecBinsPt}, " pT bin limits" };
136- Configurable<uint> ConfChooseD0trackCorr{" ConfChooseD0trackCorr" , 3 , " If 0 - only D0s, 1 - only D0bars, 2 - D0/D0bar (one mass hypo.), 3 - all D0/D0bar cand." };
137- Configurable<bool > ConfUsePtCutForD0D0bar{" ConfUsePtCutForD0D0bar" , false , " Include pT cut for D0/D0bar in same and mixed processes." };
138+ Configurable<uint8_t > ConfChooseD0trackCorr{" ConfChooseD0trackCorr" , 3 , " If 0 - only D0s, 1 - only D0bars, 2 - D0/D0bar (one mass hypo.), 3 - all D0/D0bar cand." };
138139 Configurable<bool > ConfUseMassCutForD0D0bar{" ConfUseMassCutForD0D0bar" , false , " Switch to save D0/D0bar within declared inv. mass range" };
139140
140141 // / Partitions for particle 1
141- Partition<FemtoFullParticles> partsTrack = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack )) && (aod::femtouniverseparticle::sign == int8_t (ConfTrack.ConfTrackSign));
142+ Partition<FemtoFullParticles> partsTrack = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack )) && (aod::femtouniverseparticle::sign == int8_t (ConfTrack.ConfTrackSign)) && (aod::femtouniverseparticle::pt > ConfTrack.ConfTrackLowPtCut) && (aod::femtouniverseparticle::pt < ConfTrack.ConfTrackHighPtCut) ;
142143 Partition<soa::Join<aod::FDParticles, aod::FDMCLabels>> partsTrackMC = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kTrack ));
143144
144145 // / Partitions for particle 2
145- // / Partition with all D0/D0bar mesons (which pass double and one mass hypothesis)
146- Partition<FemtoFullParticles> partsAllDmesons = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kD0 ));
146+ // / Partition with all D0/D0bar mesons (which pass double mass hypothesis)
147+ Partition<FemtoFullParticles> partsAllDmesons = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kD0 )) && (aod::femtouniverseparticle:: mLambda > 0 . 0f ) && (aod::femtouniverseparticle:: mAntiLambda > 0 . 0f ) ;
147148 // / Partition with D0/D0bar candidates, which pass only one mass hypothesis
148149 Partition<FemtoFullParticles> partsOnlyD0D0bar = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kD0 )) && (aod::femtouniverseparticle::mLambda < 0 .0f || aod::femtouniverseparticle::mAntiLambda < 0 .0f );
149150 // / Partition with D0 mesons only (one mass hypothesis)
150- Partition<FemtoFullParticles> partsD0s = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kD0 )) && (aod::femtouniverseparticle::mLambda > 0 .0f ) && (aod::femtouniverseparticle::mAntiLambda < 0 .0f );
151+ Partition<FemtoFullParticles> partsD0s = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kD0 )) && (aod::femtouniverseparticle::mLambda > 0 .0f ) && (aod::femtouniverseparticle::mAntiLambda < 0 .0f ) && (aod::femtouniverseparticle::pt > ConfDmesons.ConfMinPtD0D0bar) && (aod::femtouniverseparticle::pt < ConfDmesons.ConfMaxPtD0D0bar) ;
151152 // / Partition with D0bar mesons only (one mass hypothesis)
152- Partition<FemtoFullParticles> partsD0bars = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kD0 )) && (aod::femtouniverseparticle::mLambda < 0 .0f ) && (aod::femtouniverseparticle::mAntiLambda > 0 .0f );
153+ Partition<FemtoFullParticles> partsD0bars = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kD0 )) && (aod::femtouniverseparticle::mLambda < 0 .0f ) && (aod::femtouniverseparticle::mAntiLambda > 0 .0f ) && (aod::femtouniverseparticle::pt > ConfDmesons.ConfMinPtD0D0bar) && (aod::femtouniverseparticle::pt < ConfDmesons.ConfMaxPtD0D0bar) ;
153154 // / Partition for D0/D0bar mesons from MC
154155 Partition<soa::Join<aod::FDParticles, aod::FDMCLabels>> partsD0D0barMC = (aod::femtouniverseparticle::partType == uint8_t (aod::femtouniverseparticle::ParticleType::kD0 ));
155156
@@ -403,9 +404,8 @@ struct femtoUniversePairTaskTrackD0 {
403404
404405 // D0/D0bar histograms
405406 auto vbins = (std::vector<double >)binsPt;
406- registry.add (" hMassVsPt" , " 2-prong candidates;inv. mass (#pi K) (GeV/#it{c}^{2});entries" , {HistType::kTH2F , {ConfInvMassBins, {vbins, " #it{p}_{T} (GeV/#it{c})" }}});
407- registry.add (" hMassVsPtFinerBinning" , " 2-prong candidates;inv. mass (#pi K) (GeV/#it{c}^{2});entries" , {HistType::kTH2F , {ConfInvMassFinerBins, {vbins, " #it{p}_{T} (GeV/#it{c})" }}});
408- registry.add (" hInvMassVsPtOnlyD0D0bar" , " 2-prong candidates;inv. mass (#pi K) (GeV/#it{c}^{2});entries" , {HistType::kTH2F , {ConfInvMassBins, {vbins, " #it{p}_{T} (GeV/#it{c})" }}});
407+ registry.add (" D0D0bar_oneMassHypo/hMassVsPt" , " 2-prong candidates;inv. mass (#pi K) (GeV/#it{c}^{2});entries" , {HistType::kTH2F , {ConfInvMassBins, {vbins, " #it{p}_{T} (GeV/#it{c})" }}});
408+ registry.add (" D0D0bar_oneMassHypo/hMassVsPtFinerBinning" , " 2-prong candidates;inv. mass (#pi K) (GeV/#it{c}^{2});entries" , {HistType::kTH2F , {ConfInvMassFinerBins, {vbins, " #it{p}_{T} (GeV/#it{c})" }}});
409409 registry.add (" hDeltaPhiSigSig" , " SxS correlation;#Delta#varphi (rad);counts" , {HistType::kTH1F , {{10 , 0.0 , o2::constants::math::PI}}});
410410 registry.add (" hDeltaPhiD0BgD0barSig" , " B(D0)x S(D0bar) correlation;#Delta#varphi (rad);counts" , {HistType::kTH1F , {{10 , 0.0 , o2::constants::math::PI}}});
411411 registry.add (" hDeltaPhiD0SigD0barBg" , " S(D0)x B(D0bar) correlation;#Delta#varphi (rad);counts" , {HistType::kTH1F , {{10 , 0.0 , o2::constants::math::PI}}});
@@ -430,16 +430,6 @@ struct femtoUniversePairTaskTrackD0 {
430430 // loop over all D mesons
431431 for (auto const & dmeson : groupPartsAllDmesons) {
432432
433- if (dmeson.mLambda () > 0 .0f ) {
434- registry.fill (HIST (" hMassVsPt" ), dmeson.mLambda (), dmeson.pt ());
435- registry.fill (HIST (" hMassVsPtFinerBinning" ), dmeson.mLambda (), dmeson.pt ());
436- }
437-
438- if (dmeson.mAntiLambda () > 0 .0f ) {
439- registry.fill (HIST (" hMassVsPt" ), dmeson.mAntiLambda (), dmeson.pt ());
440- registry.fill (HIST (" hMassVsPtFinerBinning" ), dmeson.mAntiLambda (), dmeson.pt ());
441- }
442-
443433 registry.fill (HIST (" hPtDmesonCand" ), dmeson.pt ());
444434 registry.fill (HIST (" hPhiDmesonCand" ), dmeson.phi ());
445435 registry.fill (HIST (" hEtaDmesonCand" ), dmeson.eta ());
@@ -451,7 +441,7 @@ struct femtoUniversePairTaskTrackD0 {
451441 registry.fill (HIST (" hPtD0D0bar" ), d0d0bar.pt ());
452442
453443 if (d0d0bar.mLambda () > 0 .0f && d0d0bar.mAntiLambda () < 0 .0f ) {
454- registry.fill (HIST (" hInvMassVsPtOnlyD0D0bar " ), d0d0bar.mLambda (), d0d0bar.pt ());
444+ registry.fill (HIST (" D0D0bar_oneMassHypo/hMassVsPt " ), d0d0bar.mLambda (), d0d0bar.pt ());
455445 if (d0d0bar.mLambda () > ConfDmesons.ConfMinInvMassD0D0bar && d0d0bar.mLambda () < ConfDmesons.ConfMaxInvMassD0D0bar ) {
456446 registry.fill (HIST (" hInvMassD0" ), d0d0bar.mLambda ());
457447 }
@@ -460,7 +450,7 @@ struct femtoUniversePairTaskTrackD0 {
460450 registry.fill (HIST (" hEtaD0" ), d0d0bar.eta ());
461451 }
462452 if (d0d0bar.mLambda () < 0 .0f && d0d0bar.mAntiLambda () > 0 .0f ) {
463- registry.fill (HIST (" hInvMassVsPtOnlyD0D0bar " ), d0d0bar.mAntiLambda (), d0d0bar.pt ());
453+ registry.fill (HIST (" D0D0bar_oneMassHypo/hMassVsPt " ), d0d0bar.mAntiLambda (), d0d0bar.pt ());
464454 if (d0d0bar.mAntiLambda () > ConfDmesons.ConfMinInvMassD0D0bar && d0d0bar.mAntiLambda () < ConfDmesons.ConfMaxInvMassD0D0bar ) {
465455 registry.fill (HIST (" hInvMassD0bar" ), d0d0bar.mAntiLambda ());
466456 }
@@ -611,15 +601,9 @@ struct femtoUniversePairTaskTrackD0 {
611601 continue ;
612602 }
613603 }
614- // // Set pT cut for D0/D0bar candidates
615- if (ConfUsePtCutForD0D0bar) {
616- if (d0candidate.pt () < ConfDmesons.ConfMinPtD0D0bar && d0candidate.pt () > ConfDmesons.ConfMaxPtD0D0bar ) {
617- continue ;
618- }
619- }
620604 // // Set inv. mass cut for D0/D0bar candidates
621605 if (ConfUseMassCutForD0D0bar) {
622- if ((d0candidate.mLambda () < ConfD0D0barSideBand.ConfSignalRegionMin && d0candidate.mLambda () > ConfD0D0barSideBand.ConfSignalRegionMax ) || (d0candidate.mAntiLambda () < ConfD0D0barSideBand.ConfSignalRegionMin && d0candidate.mAntiLambda () > ConfD0D0barSideBand.ConfSignalRegionMax )) {
606+ if ((d0candidate.mLambda () < ConfD0D0barSideBand.ConfSignalRegionMin || d0candidate.mLambda () > ConfD0D0barSideBand.ConfSignalRegionMax ) || (d0candidate.mAntiLambda () < ConfD0D0barSideBand.ConfSignalRegionMin || d0candidate.mAntiLambda () > ConfD0D0barSideBand.ConfSignalRegionMax )) {
623607 continue ;
624608 }
625609 }
@@ -708,15 +692,9 @@ struct femtoUniversePairTaskTrackD0 {
708692 continue ;
709693 }
710694 }
711- // // Set pT cut for D0/D0bar candidates
712- if (ConfUsePtCutForD0D0bar) {
713- if (d0candidate.pt () < ConfDmesons.ConfMinPtD0D0bar && d0candidate.pt () > ConfDmesons.ConfMaxPtD0D0bar ) {
714- continue ;
715- }
716- }
717695 // // Set inv. mass cut for D0/D0bar candidates
718696 if (ConfUseMassCutForD0D0bar) {
719- if ((d0candidate.mLambda () < ConfD0D0barSideBand.ConfSignalRegionMin && d0candidate.mLambda () > ConfD0D0barSideBand.ConfSignalRegionMax ) || (d0candidate.mAntiLambda () < ConfD0D0barSideBand.ConfSignalRegionMin && d0candidate.mAntiLambda () > ConfD0D0barSideBand.ConfSignalRegionMax )) {
697+ if ((d0candidate.mLambda () < ConfD0D0barSideBand.ConfSignalRegionMin || d0candidate.mLambda () > ConfD0D0barSideBand.ConfSignalRegionMax ) || (d0candidate.mAntiLambda () < ConfD0D0barSideBand.ConfSignalRegionMin || d0candidate.mAntiLambda () > ConfD0D0barSideBand.ConfSignalRegionMax )) {
720698 continue ;
721699 }
722700 }
0 commit comments