@@ -146,9 +146,9 @@ struct Chk892Flow {
146146
147147 // Configurables
148148 struct : ConfigurableGroup {
149- ConfigurableAxis cfgBinsPt{" cfgBinsPt" , {VARIABLE_WIDTH, 0.0 , 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1.0 , 1.1 , 1.2 , 1.3 , 1.4 , 1.5 , 1.6 , 1.7 , 1.8 , 1.9 , 2.0 , 2.1 , 2.2 , 2.3 , 2.4 , 2.5 , 2.6 , 2.7 , 2.8 , 2.9 , 3.0 , 3.1 , 3.2 , 3.3 , 3.4 , 3.5 , 3.6 , 3.7 , 3.8 , 3.9 , 4.0 , 4.1 , 4.2 , 4.3 , 4.4 , 4.5 , 4.6 , 4.7 , 4.8 , 4.9 , 5.0 , 5.1 , 5.2 , 5.3 , 5.4 , 5.5 , 5.6 , 5.7 , 5.8 , 5.9 , 6.0 , 6.1 , 6.2 , 6.3 , 6.4 , 6.5 , 6.6 , 6.7 , 6.8 , 6.9 , 7.0 , 7.1 , 7.2 , 7.3 , 7.4 , 7.5 , 7.6 , 7.7 , 7.8 , 7.9 , 8.0 , 8.1 , 8.2 , 8.3 , 8.4 , 8.5 , 8.6 , 8.7 , 8.8 , 8.9 , 9.0 , 9.1 , 9.2 , 9.3 , 9.4 , 9.5 , 9.6 , 9.7 , 9.8 , 9.9 , 10.0 , 10.1 , 10.2 , 10.3 , 10.4 , 10.5 , 10.6 , 10.7 , 10.8 , 10.9 , 11.0 , 11.1 , 11.2 , 11.3 , 11.4 , 11.5 , 11.6 , 11.7 , 11.8 , 11.9 , 12.0 , 12.1 , 12.2 , 12.3 , 12.4 , 12.5 , 12.6 , 12.7 , 12.8 , 12.9 , 13.0 , 13.1 , 13.2 , 13.3 , 13.4 , 13.5 , 13.6 , 13.7 , 13.8 , 13.9 , 14.0 , 14.1 , 14.2 , 14.3 , 14.4 , 14.5 , 14.6 , 14.7 , 14.8 , 14.9 , 15.0 }, " Binning of the pT axis" };
149+ ConfigurableAxis cfgBinsPt{" cfgBinsPt" , {VARIABLE_WIDTH, 0.0 , 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1.0 , 1.1 , 1.2 , 1.3 , 1.4 , 1.5 , 1.6 , 1.7 , 1.8 , 1.9 , 2.0 , 2.1 , 2.2 , 2.3 , 2.4 , 2.5 , 2.6 , 2.7 , 2.8 , 2.9 , 3.0 , 3.1 , 3.2 , 3.3 , 3.4 , 3.5 , 3.6 , 3.7 , 3.8 , 3.9 , 4.0 , 4.1 , 4.2 , 4.3 , 4.4 , 4.5 , 4.6 , 4.7 , 4.8 , 4.9 , 5.0 , 5.1 , 5.2 , 5.3 , 5.4 , 5.5 , 5.6 , 5.7 , 5.8 , 5.9 , 6.0 , 6.1 , 6.2 , 6.3 , 6.4 , 6.5 , 6.6 , 6.7 , 6.8 , 6.9 , 7.0 , 7.1 , 7.2 , 7.3 , 7.4 , 7.5 , 7.6 , 7.7 , 7.8 , 7.9 , 8.0 , 8.1 , 8.2 , 8.3 , 8.4 , 8.5 , 8.6 , 8.7 , 8.8 , 8.9 , 9.0 , 9.1 , 9.2 , 9.3 , 9.4 , 9.5 , 9.6 , 9.7 , 9.8 , 9.9 , 10.0 }, " Binning of the pT axis" };
150150 ConfigurableAxis cfgBinsPtQA{" cfgBinsPtQA" , {VARIABLE_WIDTH, 0.0 , 0.2 , 0.4 , 0.6 , 0.8 , 1.0 , 1.2 , 1.4 , 1.6 , 1.8 , 2.0 , 2.2 , 2.4 , 2.6 , 2.8 , 3.0 , 3.2 , 3.4 , 3.6 , 3.8 , 4.0 , 4.2 , 4.4 , 4.6 , 4.8 , 5.0 , 5.2 , 5.4 , 5.6 , 5.8 , 6.0 , 6.2 , 6.4 , 6.6 , 6.8 , 7.0 , 7.2 , 7.4 , 7.6 , 7.8 , 8.0 , 8.2 , 8.4 , 8.6 , 8.8 , 9.0 , 9.2 , 9.4 , 9.6 , 9.8 , 10.0 }, " Binning of the pT axis" };
151- ConfigurableAxis cfgBinsCent{" cfgBinsCent" , {VARIABLE_WIDTH, 0.0 , 1.0 , 5.0 , 10.0 , 20.0 , 30.0 , 40.0 , 50.0 , 60.0 , 70.0 , 80.0 , 90.0 , 100 .0 , 110.0 }, " Binning of the centrality axis" };
151+ ConfigurableAxis cfgBinsCent{" cfgBinsCent" , {VARIABLE_WIDTH, 0.0 , 10.0 , 20.0 , 30.0 , 40.0 , 50.0 , 60.0 , 70.0 , 80.0 , 110.0 }, " Binning of the centrality axis" };
152152 ConfigurableAxis cfgBinsVtxZ{" cfgBinsVtxZ" , {VARIABLE_WIDTH, -10.0 , -9.0 , -8.0 , -7.0 , -6.0 , -5.0 , -4.0 , -3.0 , -2.0 , -1.0 , 0.0 , 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 , 10.0 }, " Binning of the z-vertex axis" };
153153 ConfigurableAxis binsImpactPar{" binsImpactPar" , {VARIABLE_WIDTH, 0.0 , 3.00065 , 4.28798 , 6.14552 , 7.6196 , 8.90942 , 10.0897 , 11.2002 , 12.2709 , 13.3167 , 14.4173 , 23.2518 }, " Binning of the impact parameter axis" };
154154 ConfigurableAxis cfgBinsOccu{" cfgBinsOccu" , {VARIABLE_WIDTH, 0 , 500 , 1000 , 2500 , 10000 , 999999 }, " Binning of the occupancy axis" };
@@ -176,13 +176,13 @@ struct Chk892Flow {
176176 // Configurable<int> cfgEvtOccupancyInTimeRangeMax{"cfgEvtOccupancyInTimeRangeMax", -1, "Evt sel: maximum track occupancy"};
177177 // Configurable<int> cfgEvtOccupancyInTimeRangeMin{"cfgEvtOccupancyInTimeRangeMin", -1, "Evt sel: minimum track occupancy"};
178178 Configurable<bool > cfgEvtTriggerCheck{" cfgEvtTriggerCheck" , false , " Evt sel: check for trigger" };
179- Configurable<bool > cfgEvtOfflineCheck{" cfgEvtOfflineCheck" , true , " Evt sel: check for offline selection" };
180- Configurable<bool > cfgEvtTriggerTVXSel{" cfgEvtTriggerTVXSel" , false , " Evt sel: triggerTVX selection (MB)" };
181- Configurable<bool > cfgEvtTFBorderCut{" cfgEvtTFBorderCut" , false , " Evt sel: apply TF border cut" };
179+ Configurable<bool > cfgEvtOfflineCheck{" cfgEvtOfflineCheck" , false , " Evt sel: check for offline selection" };
180+ Configurable<bool > cfgEvtTriggerTVXSel{" cfgEvtTriggerTVXSel" , true , " Evt sel: triggerTVX selection (MB)" };
181+ Configurable<bool > cfgEvtTFBorderCut{" cfgEvtTFBorderCut" , true , " Evt sel: apply TF border cut" };
182182 Configurable<bool > cfgEvtUseITSTPCvertex{" cfgEvtUseITSTPCvertex" , false , " Evt sel: use at lease on ITS-TPC track for vertexing" };
183- Configurable<bool > cfgEvtZvertexTimedifference{" cfgEvtZvertexTimedifference" , true , " Evt sel: apply Z-vertex time difference" };
183+ Configurable<bool > cfgEvtZvertexTimedifference{" cfgEvtZvertexTimedifference" , false , " Evt sel: apply Z-vertex time difference" };
184184 Configurable<bool > cfgEvtPileupRejection{" cfgEvtPileupRejection" , true , " Evt sel: apply pileup rejection" };
185- Configurable<bool > cfgEvtNoITSROBorderCut{" cfgEvtNoITSROBorderCut" , false , " Evt sel: apply NoITSRO border cut" };
185+ Configurable<bool > cfgEvtNoITSROBorderCut{" cfgEvtNoITSROBorderCut" , true , " Evt sel: apply NoITSRO border cut" };
186186 Configurable<bool > cfgEvtCollInTimeRangeStandard{" cfgEvtCollInTimeRangeStandard" , true , " Evt sel: apply NoCollInTimeRangeStandard" };
187187 Configurable<float > cfgEventCentralityMin{" cfgEventCentralityMin" , 0 .0f , " Event sel: minimum centrality" };
188188 Configurable<float > cfgEventCentralityMax{" cfgEventCentralityMax" , 80 .0f , " Event sel: maximum centrality" };
@@ -196,8 +196,8 @@ struct Chk892Flow {
196196 // / PID Selections, pion
197197 struct : ConfigurableGroup {
198198 Configurable<bool > cfgTPConly{" cfgTPConly" , false , " Use only TPC for PID" }; // bool
199- Configurable<float > cfgMaxTPCnSigmaPion{" cfgMaxTPCnSigmaPion" , 3 .0 , " TPC nSigma cut for Pion" }; // TPC
200- Configurable<float > cfgMaxTOFnSigmaPion{" cfgMaxTOFnSigmaPion" , 3 .0 , " TOF nSigma cut for Pion" }; // TOF
199+ Configurable<float > cfgMaxTPCnSigmaPion{" cfgMaxTPCnSigmaPion" , 2 .0 , " TPC nSigma cut for Pion" }; // TPC
200+ Configurable<float > cfgMaxTOFnSigmaPion{" cfgMaxTOFnSigmaPion" , 2 .0 , " TOF nSigma cut for Pion" }; // TOF
201201 Configurable<float > cfgNsigmaCutCombinedPion{" cfgNsigmaCutCombinedPion" , -999 , " Combined nSigma cut for Pion" }; // Combined
202202 Configurable<bool > cfgTOFVeto{" cfgTOFVeto" , true , " TOF Veto, if false, TOF is nessessary for PID selection" }; // TOF Veto
203203 Configurable<float > cfgTOFMinPt{" cfgTOFMinPt" , 0.6 , " Minimum TOF pT cut for Pion" }; // TOF pT cut
@@ -211,7 +211,8 @@ struct Chk892Flow {
211211 Configurable<bool > cfgGlobalWoDCATrack{" cfgGlobalWoDCATrack" , true , " Global track selection without DCA" }; // kQualityTracks (kTrackType | kTPCNCls | kTPCCrossedRows | kTPCCrossedRowsOverNCls | kTPCChi2NDF | kTPCRefit | kITSNCls | kITSChi2NDF | kITSRefit | kITSHits) | kInAcceptanceTracks (kPtRange | kEtaRange)
212212 Configurable<bool > cfgGlobalTrack{" cfgGlobalTrack" , false , " Global track selection" }; // kGoldenChi2 | kDCAxy | kDCAz
213213 Configurable<bool > cfgPVContributor{" cfgPVContributor" , false , " PV contributor track selection" }; // PV Contriuibutor
214- Configurable<bool > cfgpTdepDCAxyCut{" cfgpTdepDCAxyCut" , false , " pT-dependent DCAxy cut" };
214+ Configurable<bool > cfgpTdepDCAxyCut{" cfgpTdepDCAxyCut" , true , " pT-dependent DCAxy cut" };
215+ Configurable<bool > cfgpTdepDCAzCut{" cfgpTdepDCAzCut" , true , " pT-dependent DCAz cut" };
215216 Configurable<int > cfgITScluster{" cfgITScluster" , 0 , " Number of ITS cluster" };
216217 Configurable<int > cfgTPCcluster{" cfgTPCcluster" , 0 , " Number of TPC cluster" };
217218 Configurable<float > cfgRatioTPCRowsOverFindableCls{" cfgRatioTPCRowsOverFindableCls" , 0 .0f , " TPC Crossed Rows to Findable Clusters" };
@@ -235,7 +236,7 @@ struct Chk892Flow {
235236 Configurable<bool > cfgSecondaryCrossMassHypothesisCut{" cfgSecondaryCrossMassHypothesisCut" , false , " Apply cut based on the lambda mass hypothesis" };
236237
237238 Configurable<bool > cfgByPassDauPIDSelection{" cfgByPassDauPIDSelection" , true , " Bypass Daughters PID selection" };
238- Configurable<bool > cfgByPassDauRapiditySelection{" cfgByPassDauRapiditySelection" , false , " Bypass Daughters Rapidity selection" };
239+ Configurable<bool > cfgByPassDauRapiditySelection{" cfgByPassDauRapiditySelection" , true , " Bypass Daughters Rapidity selection" };
239240 Configurable<float > cfgSecondaryDauDCAMax{" cfgSecondaryDauDCAMax" , 0.2 , " Maximum DCA Secondary daughters to PV" };
240241 Configurable<float > cfgSecondaryDauPosDCAtoPVMin{" cfgSecondaryDauPosDCAtoPVMin" , 0.1 , " Minimum DCA Secondary positive daughters to PV" };
241242 Configurable<float > cfgSecondaryDauNegDCAtoPVMin{" cfgSecondaryDauNegDCAtoPVMin" , 0.1 , " Minimum DCA Secondary negative daughters to PV" };
@@ -315,7 +316,7 @@ struct Chk892Flow {
315316 AxisSpec epAxis = {100 , -1.0 * constants::math::PI, constants::math::PI};
316317 AxisSpec ptAxis = {AxisConfig.cfgBinsPt , " #it{p}_{T} (GeV/#it{c})" };
317318 AxisSpec ptAxisQA = {AxisConfig.cfgBinsPtQA , " #it{p}_{T} (GeV/#it{c})" };
318- AxisSpec v2Axis = {AxisConfig.cfgAxisV2 , " #v_ {2}" };
319+ AxisSpec v2Axis = {AxisConfig.cfgAxisV2 , " #it{v}_ {2}" };
319320 AxisSpec phiAxis = {AxisConfig.cfgAxisPhi , " 2(#phi-#Psi_{2})" };
320321 AxisSpec occuAxis = {AxisConfig.cfgBinsOccu , " Occupancy" };
321322 AxisSpec radiusAxis = {50 , 0 , 5 , " Radius (cm)" };
@@ -411,13 +412,15 @@ struct Chk892Flow {
411412 histos.add (" QA/before/hCPASecondary" , " Cosine pointing angle distribution of secondary resonance" , HistType::kTH1D , {cpaAxis});
412413 histos.add (" QA/before/hDCAtoPVSecondary" , " DCA to PV distribution of secondary resonance" , HistType::kTH1D , {dcaAxis});
413414 histos.add (" QA/before/hPropTauSecondary" , " Proper Lifetime distribution of secondary resonance" , HistType::kTH1D , {tauAxis});
415+ histos.add (" QA/before/hArmSecondary" , " Armenteros distribution of secondary resonance" , HistType::kTH2D , {AxisSpec{100 , -1 , 1 , " alpha" }, {200 , 0 , 0.5 , " qtArm" }});
414416 histos.add (" QA/before/hInvmassSecondary" , " Invariant mass of unlike-sign secondary resonance" , HistType::kTH1D , {invMassAxisK0s});
415417
416418 histos.add (" QA/after/hDauDCASecondary" , " DCA of daughters of secondary resonance" , HistType::kTH1D , {dcaAxis});
417419 histos.add (" QA/after/hy_Secondary" , " Rapidity distribution of secondary resonance" , HistType::kTH1D , {yAxis});
418420 histos.add (" QA/after/hCPASecondary" , " Cosine pointing angle distribution of secondary resonance" , HistType::kTH1D , {cpaAxis});
419421 histos.add (" QA/after/hDCAtoPVSecondary" , " DCA to PV distribution of secondary resonance" , HistType::kTH1D , {dcaAxis});
420422 histos.add (" QA/after/hPropTauSecondary" , " Proper Lifetime distribution of secondary resonance" , HistType::kTH1D , {tauAxis});
423+ histos.add (" QA/after/hArmSecondary" , " Armenteros distribution of secondary resonance" , HistType::kTH2D , {AxisSpec{100 , -1 , 1 , " alpha" }, {200 , 0 , 0.5 , " qtArm" }});
421424 histos.add (" QA/after/hInvmassSecondary" , " Invariant mass of unlike-sign secondary resonance" , HistType::kTH1D , {invMassAxisK0s});
422425
423426 // Mass QA (quick check)
@@ -579,8 +582,14 @@ struct Chk892Flow {
579582 if (std::abs (track.dcaXY ()) > TrackCuts.cfgMaxbDCArToPVcut )
580583 return false ;
581584 }
582- if (std::abs (track.dcaZ ()) > TrackCuts.cfgMaxbDCAzToPVcut )
583- return false ;
585+ if (TrackCuts.cfgpTdepDCAzCut ) {
586+ // Tuned on the LHC22f anchored MC LHC23d1d on primary pions. 7 Sigmas of the resolution
587+ if (std::abs (track.dcaZ ()) > (0.004 + (0.013 / track.pt ())))
588+ return false ;
589+ } else {
590+ if (std::abs (track.dcaZ ()) > TrackCuts.cfgMaxbDCAzToPVcut )
591+ return false ;
592+ }
584593 return true ;
585594 }
586595
@@ -819,7 +828,7 @@ struct Chk892Flow {
819828 if (AnalysisConfig.cfgFillQAPlots ) {
820829 // Bachelor pion QA plots after applying cuts
821830 histos.fill (HIST (" QA/after/trkbpionTPCPID" ), trkbpt, trkbNSigmaPiTPC);
822- if (istrkbhasTOF) {
831+ if (istrkbhasTOF && trkbpt > PIDCuts. cfgTOFMinPt ) {
823832 histos.fill (HIST (" QA/after/trkbpionTOFPID" ), trkbpt, trkbNSigmaPiTOF);
824833 histos.fill (HIST (" QA/after/trkbpionTPCTOFPID" ), trkbNSigmaPiTPC, trkbNSigmaPiTOF);
825834 }
@@ -857,7 +866,7 @@ struct Chk892Flow {
857866 auto trkkPropTau = k0sCand.distovertotmom (collision.posX (), collision.posY (), collision.posZ ()) * MassK0Short;
858867 auto trkkMass = k0sCand.mK0Short ();
859868
860- lResoSecondary = LorentzVectorSetXYZM (k0sCand.px (), k0sCand.py (), k0sCand.pz (), trkkMass );
869+ lResoSecondary = LorentzVectorSetXYZM (k0sCand.px (), k0sCand.py (), k0sCand.pz (), MassK0Short );
861870 auto lPhiMinusPsiK0s = RecoDecay::constrainAngle (lResoSecondary.Phi () - lEPDet, 0.0 , 2 ); // constrain angle to range 0, Pi
862871 // auto v2K0s = std::cos(static_cast<float>(nmode) * lPhiMinusPsiK0s);
863872
@@ -890,9 +899,10 @@ struct Chk892Flow {
890899 histos.fill (HIST (" QA/before/hDCAtoPVSecondary" ), trkkDCAtoPV);
891900 histos.fill (HIST (" QA/before/hCPASecondary" ), trkkCPA);
892901 histos.fill (HIST (" QA/before/hPropTauSecondary" ), trkkPropTau);
902+ histos.fill (HIST (" QA/before/hArmSecondary" ), k0sCand.alpha (), k0sCand.qtarm ());
893903 histos.fill (HIST (" QA/before/hInvmassSecondary" ), trkkMass);
894904
895- histos.fill (HIST (" QA/before/k0sv2vsinvmass" ), lResoSecondary. M () , v2K0s);
905+ histos.fill (HIST (" QA/before/k0sv2vsinvmass" ), trkkMass , v2K0s);
896906 }
897907 }
898908
@@ -933,20 +943,21 @@ struct Chk892Flow {
933943 histos.fill (HIST (" QA/after/hDCAtoPVSecondary" ), trkkDCAtoPV);
934944 histos.fill (HIST (" QA/after/hCPASecondary" ), trkkCPA);
935945 histos.fill (HIST (" QA/after/hPropTauSecondary" ), trkkPropTau);
946+ histos.fill (HIST (" QA/after/hArmSecondary" ), k0sCand.alpha (), k0sCand.qtarm ());
936947 histos.fill (HIST (" QA/after/hInvmassSecondary" ), trkkMass);
937948
938- histos.fill (HIST (" QA/after/k0sv2vsinvmass" ), lResoSecondary. M () , v2K0s);
949+ histos.fill (HIST (" QA/after/k0sv2vsinvmass" ), trkkMass , v2K0s);
939950 if (AnalysisConfig.cfgFillAdditionalAxis ) {
940951 if (AnalysisConfig.cfgFillOccupancy ) {
941- histos.fill (HIST (" hInvmass_K0s" ), lCentrality, lResoSecondary.Pt (), lResoSecondary. M () , v2K0s, static_cast <float >(nmode) * lPhiMinusPsiK0s, collision.trackOccupancyInTimeRange ());
952+ histos.fill (HIST (" hInvmass_K0s" ), lCentrality, lResoSecondary.Pt (), trkkMass , v2K0s, static_cast <float >(nmode) * lPhiMinusPsiK0s, collision.trackOccupancyInTimeRange ());
942953 } else {
943- histos.fill (HIST (" hInvmass_K0s" ), lCentrality, lResoSecondary.Pt (), lResoSecondary. M () , v2K0s, static_cast <float >(nmode) * lPhiMinusPsiK0s);
954+ histos.fill (HIST (" hInvmass_K0s" ), lCentrality, lResoSecondary.Pt (), trkkMass , v2K0s, static_cast <float >(nmode) * lPhiMinusPsiK0s);
944955 }
945956 } else {
946957 if (AnalysisConfig.cfgFillOccupancy ) {
947- histos.fill (HIST (" hInvmass_K0s" ), lCentrality, lResoSecondary.Pt (), lResoSecondary. M () , v2K0s, collision.trackOccupancyInTimeRange ());
958+ histos.fill (HIST (" hInvmass_K0s" ), lCentrality, lResoSecondary.Pt (), trkkMass , v2K0s, collision.trackOccupancyInTimeRange ());
948959 } else {
949- histos.fill (HIST (" hInvmass_K0s" ), lCentrality, lResoSecondary.Pt (), lResoSecondary. M () , v2K0s);
960+ histos.fill (HIST (" hInvmass_K0s" ), lCentrality, lResoSecondary.Pt (), trkkMass , v2K0s);
950961 }
951962 }
952963 }
@@ -958,10 +969,9 @@ struct Chk892Flow {
958969 for (const auto & k0sIndex : k0sIndicies) {
959970 auto bTrack = dTracks1.rawIteratorAt (trackIndex);
960971 auto k0sCand = dTracks2.rawIteratorAt (k0sIndex);
961- auto trkkMass = k0sCand.mK0Short ();
962972
963973 lDecayDaughter_bach = LorentzVectorSetXYZM (bTrack.px (), bTrack.py (), bTrack.pz (), MassPionCharged);
964- lResoSecondary = LorentzVectorSetXYZM (k0sCand.px (), k0sCand.py (), k0sCand.pz (), trkkMass );
974+ lResoSecondary = LorentzVectorSetXYZM (k0sCand.px (), k0sCand.py (), k0sCand.pz (), MassK0Short );
965975 lResoKstar = lResoSecondary + lDecayDaughter_bach;
966976 auto resoPhi = lResoKstar.Phi ();
967977 // EP method
0 commit comments