99// granted to it by virtue of its status as an Intergovernmental Organization
1010// or submit itself to any jurisdiction.
1111
12- // / \file candidateSelectorOmegaKa0Xic0ToOmegaKa .cxx
13- // / \brief OmegaKa0 Xic0 → Omega Ka selection task
12+ // / \file candidateSelectorOmegac0Xic0ToOmegaKa .cxx
13+ // / \brief Omegac0 Xic0 → Omega Ka selection task
1414// / \author Federica Zanone <federica.zanone@cern.ch>, Heidelberg University
1515// / \author Ruiqi Yin <ruiqi.yin@cern.ch>, Fudan University
1616
@@ -57,15 +57,15 @@ enum PidInfoStored {
5757};
5858
5959// / Struct for applying OmegaKa -> Omega Ka selection cuts
60- struct HfCandidateSelectorToOmegaKa {
60+ struct HfCandidateSelectorOmegac0Xic0ToOmegaKa {
6161 Produces<aod::HfSelToOmegaKaKf> hfSelToOmegaKaKf;
6262 // Produces<aod::HfMlSelOmegaKaToOmegaKa> hfMlSelToOmegaKa;
6363
6464 // LF analysis selections
65- Configurable<double > radiusCascMin{" radiusCascMin" , 0.5 , " Min cascade radius" };
65+ Configurable<double > radiusCascMin{" radiusCascMin" , 0.1 , " Min cascade radius" };
6666 Configurable<double > radiusV0Min{" radiusV0Min" , 1.1 , " Min V0 radius" };
67- Configurable<double > cosPAV0Min{" cosPAV0Min" , 0.97 , " Min valueCosPA V0" };
68- Configurable<double > cosPACascMin{" cosPACascMin" , 0.97 , " Min value CosPA cascade" };
67+ Configurable<double > cosPAV0Min{" cosPAV0Min" , 0.95 , " Min valueCosPA V0" };
68+ Configurable<double > cosPACascMin{" cosPACascMin" , 0.95 , " Min value CosPA cascade" };
6969 Configurable<double > dcaCascDauMax{" dcaCascDauMax" , 1.0 , " Max DCA cascade daughters" };
7070 Configurable<double > dcaV0DauMax{" dcaV0DauMax" , 1.0 , " Max DCA V0 daughters" };
7171 Configurable<float > dcaBachToPvMin{" dcaBachToPvMin" , 0.04 , " DCA Bach To PV" };
@@ -92,8 +92,8 @@ struct HfCandidateSelectorToOmegaKa {
9292 Configurable<double > impactParameterXYCascMin{" impactParameterXYCascMin" , 0 ., " Min dcaxy cascade track to PV" };
9393 Configurable<double > impactParameterXYCascMax{" impactParameterXYCascMax" , 10 ., " Max dcaxy cascade track to PV" };
9494
95- Configurable<double > ptCandMin{" ptCandMin" , 0 ., " Lower bound of candidate pT" };
96- Configurable<double > ptCandMax{" ptCandMax" , 50 ., " Upper bound of candidate pT" };
95+ Configurable<double > ptCandMin{" ptCandMin" , 1 ., " Lower bound of candidate pT" };
96+ Configurable<double > ptCandMax{" ptCandMax" , 12 ., " Upper bound of candidate pT" };
9797
9898 Configurable<double > dcaCharmBaryonDauMax{" dcaCharmBaryonDauMax" , 2.0 , " Max DCA charm baryon daughters" };
9999
@@ -142,11 +142,6 @@ struct HfCandidateSelectorToOmegaKa {
142142 Configurable<int > nClustersItsInnBarrMin{" nClustersItsInnBarrMin" , 1 , " Minimum number of ITS clusters in inner barrel requirement for pi <- charm baryon" };
143143 Configurable<float > itsChi2PerClusterMax{" itsChi2PerClusterMax" , 36 , " Maximum value of chi2 fit over ITS clusters for pi <- charm baryon" };
144144
145- ConfigurableAxis thnConfigAxisMass{" thnConfigAxisMass" , {120 , 2.4 , 3.1 }, " Cand. inv-mass bins" };
146- ConfigurableAxis thnConfigAxisPt{" thnConfigAxisPt" , {100 , 0 , 20 }, " Cand. pT bins" };
147- ConfigurableAxis thnConfigAxisCent{" thnConfigAxisCent" , {100 , 0 , 100 }, " Centrality bins" };
148- ConfigurableAxis thnConfigAxisPtKaon{" thnConfigAxisPtKaon" , {100 , 0 , 10 }, " PtPion from Omegac0 bins" };
149-
150145 struct : ConfigurableGroup {
151146 // // KF selection
152147 std::string prefix = " kfSel" ;
@@ -180,6 +175,11 @@ struct HfCandidateSelectorToOmegaKa {
180175 using TracksSel = soa::Join<aod::TracksWDcaExtra, aod::TracksPidPi, aod::TracksPidPr, aod::TracksPidKa>;
181176 using TracksSelLf = soa::Join<aod::TracksIU, aod::TracksExtra, aod::TracksPidPi, aod::TracksPidPr, aod::TracksPidKa>;
182177
178+ ConfigurableAxis thnConfigAxisMass{" thnConfigAxisMass" , {120 , 2.4 , 3.1 }, " Cand. inv-mass bins" };
179+ ConfigurableAxis thnConfigAxisPt{" thnConfigAxisPt" , {100 , 0 , 20 }, " Cand. pT bins" };
180+ ConfigurableAxis thnConfigAxisCent{" thnConfigAxisCent" , {100 , 0 , 100 }, " Centrality bins" };
181+ ConfigurableAxis thnConfigAxisPtKaon{" thnConfigAxisPtKaon" , {100 , 0 , 10 }, " PtPion from Omegac0 bins" };
182+
183183 HistogramRegistry registry{" registry" }; // for QA of selections
184184
185185 OutputObj<TH1D> hInvMassCharmBaryon{TH1D (" hInvMassCharmBaryon" , " Charm baryon invariant mass;inv mass;entries" , 500 , 2.0 , 3.1 )};
@@ -248,7 +248,6 @@ struct HfCandidateSelectorToOmegaKa {
248248 registry.add (" hSelMassCasc" , " hSelMassCasc;status;entries" , {HistType::kTH1D , {axisSel}});
249249 registry.add (" hSelMassCharmBaryon" , " hSelMassCharmBaryon;status;entries" , {HistType::kTH1D , {axisSel}});
250250 registry.add (" hSelDcaXYToPvKaFromCasc" , " hSelDcaXYToPvKaFromCasc;status;entries" , {HistType::kTH1D , {axisSel}});
251- registry.add (" hSelPtOmegaKa" , " hSelPtOmegaKa;status;entries" , {HistType::kTH1D , {axisSel}});
252251 registry.add (" hSelCompetingCasc" , " hSelCompetingCasc;status;entries" , {HistType::kTH1D , {axisSel}});
253252 registry.add (" hSelV0_Casc_OmegaKaldl" , " hSelV0_Casc_OmegaKaldl;status;entries" , {HistType::kTH1D , {axisSel}});
254253 registry.add (" hSelctauOmegaKa" , " hSelctauOmegaKa;status;entries" , {HistType::kTH1D , {axisSel}});
@@ -265,21 +264,18 @@ struct HfCandidateSelectorToOmegaKa {
265264 bool selectionTopol (const T1& hfCandOmegaKa)
266265 {
267266 auto candpT = hfCandOmegaKa.kfPtOmegaKa ();
267+ // check that the candidate pT is within the analysis range
268+ if (candpT < ptCandMin || candpT > ptCandMax) {
269+ return false ;
270+ }
268271 auto kaPtFromOmegaKa = hfCandOmegaKa.kfPtKaFromOmegaKa ();
269272 int const pTBin = findBin (binsPt, candpT);
270273 if (pTBin == -1 ) {
271274 return false ;
272275 }
273276
274277 // check that the candidate pT is within the analysis range
275- if (candpT <= ptCandMin || candpT >= ptCandMax) {
276- registry.fill (HIST (" hSelPtOmegaKa" ), 0 );
277- return false ;
278- }
279- registry.fill (HIST (" hSelPtOmegaKa" ), 1 );
280-
281- // check that the candidate pT is within the analysis range
282- if (kaPtFromOmegaKa < cuts->get (pTBin, " pT ka from OmegaKa" )) {
278+ if (kaPtFromOmegaKa < cuts->get (pTBin, " pT Ka from Omegac" )) {
283279 registry.fill (HIST (" hSelPtKaFromCharm" ), 0 );
284280 return false ;
285281 }
@@ -329,10 +325,13 @@ struct HfCandidateSelectorToOmegaKa {
329325 } else if (signDecay < 0 ) {
330326 registry.fill (HIST (" hSelSignDec" ), 0 ); // particle decay
331327 }
332-
333328 // pt-dependent selection
334329 if (!selectionTopol (candidate)) {
335330 resultSelections = false ;
331+ hfSelToOmegaKaKf (statusPidLambda, statusPidCascade, statusPidCharmBaryon, statusInvMassLambda, statusInvMassCascade, statusInvMassCharmBaryon, resultSelections, infoTpcStored, infoTofStored,
332+ trackKaFromCharm.tpcNSigmaKa (), trackKaFromCasc.tpcNSigmaKa (), trackPiFromLam.tpcNSigmaPi (), trackPrFromLam.tpcNSigmaPr (),
333+ trackKaFromCharm.tofNSigmaKa (), trackKaFromCasc.tofNSigmaKa (), trackPiFromLam.tofNSigmaPi (), trackPrFromLam.tofNSigmaPr ());
334+ continue ;
336335 }
337336
338337 // eta selection
@@ -714,5 +713,5 @@ struct HfCandidateSelectorToOmegaKa {
714713WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
715714{
716715 return WorkflowSpec{
717- adaptAnalysisTask<HfCandidateSelectorToOmegaKa >(cfgc)};
716+ adaptAnalysisTask<HfCandidateSelectorOmegac0Xic0ToOmegaKa >(cfgc)};
718717}
0 commit comments