@@ -182,6 +182,12 @@ struct TreeCreatorElectronMLDDA {
182182 Configurable<float > cfg_max_mass_k0s{" cfg_max_mass_k0s" , 0.505 , " max mass for K0S" };
183183 Configurable<float > cfg_min_mass_lambda{" cfg_min_mass_lambda" , 1.113 , " min mass for Lambda" };
184184 Configurable<float > cfg_max_mass_lambda{" cfg_max_mass_lambda" , 1.118 , " max mass for Lambda" };
185+
186+ Configurable<float > cfg_min_mass_k0s_veto{" cfg_min_mass_k0s_veto" , 0.47 , " min mass for K0S veto" };
187+ Configurable<float > cfg_max_mass_k0s_veto{" cfg_max_mass_k0s_veto" , 0.52 , " max mass for K0S veto" };
188+ Configurable<float > cfg_min_mass_lambda_veto{" cfg_min_mass_lambda_veto" , 1.105 , " min mass for Lambda veto" };
189+ Configurable<float > cfg_max_mass_lambda_veto{" cfg_max_mass_lambda_veto" , 1.125 , " max mass for Lambda veto" };
190+
185191 Configurable<float > cfg_min_cospa{" cfg_min_cospa" , 0.9998 , " min cospa for v0" };
186192 Configurable<float > cfg_max_dcadau{" cfg_max_dcadau" , 0.2 , " max distance between 2 legs for v0" };
187193 Configurable<float > cfg_min_cr2findable_ratio_tpc{" cfg_min_cr2findable_ratio_tpc" , 0.8 , " min. TPC Ncr/Nf ratio" };
@@ -573,7 +579,7 @@ struct TreeCreatorElectronMLDDA {
573579 }
574580
575581 template <typename TCollision, typename TTrack>
576- void fillTrackTable (TCollision const & collision, TTrack const & track, const uint8_t pidlabel, const bool isForValidation )
582+ void fillTrackTable (TCollision const & collision, TTrack const & track, const uint8_t pidlabel)
577583 {
578584 if (store_ele_band_only && !isElectron (track)) {
579585 return ;
@@ -613,7 +619,7 @@ struct TreeCreatorElectronMLDDA {
613619 track.tpcChi2NCl (), track.tpcInnerParam (),
614620 track.tpcSignal (), track.tpcNSigmaEl (), /* track.tpcNSigmaMu(),*/ track.tpcNSigmaPi (), track.tpcNSigmaKa (), track.tpcNSigmaPr (),
615621 track.beta (), track.tofNSigmaEl (), /* track.tofNSigmaMu(),*/ track.tofNSigmaPi (), track.tofNSigmaKa (), track.tofNSigmaPr (),
616- track.itsClusterSizes (), track.itsChi2NCl (), track.tofChi2 (), track.detectorMap (), pidlabel, isForValidation );
622+ track.itsClusterSizes (), track.itsChi2NCl (), track.tofChi2 (), track.detectorMap (), pidlabel);
617623 stored_trackIds.emplace_back (track.globalIndex ());
618624 }
619625 }
@@ -763,37 +769,41 @@ struct TreeCreatorElectronMLDDA {
763769 registry.fill (HIST (" V0/hCosPA" ), v0.v0cosPA ());
764770 registry.fill (HIST (" V0/hAP" ), v0.alpha (), v0.qtarm ());
765771
766- if (isPionTight (pos) && isPion (neg)) {
767- registry.fill (HIST (" V0/hMassK0Short" ), v0.mK0Short ());
768- if (v0cuts.cfg_min_mass_k0s < v0.mK0Short () && v0.mK0Short () < v0cuts.cfg_max_mass_k0s ) {
769- registry.fill (HIST (" V0/hTPCdEdx_P_Pi" ), neg.tpcInnerParam (), neg.tpcSignal ());
770- registry.fill (HIST (" V0/hTOFbeta_P_Pi" ), neg.tpcInnerParam (), neg.beta ());
771- fillTrackTable (collision, neg, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kPion ), false );
772- }
773- if (isPion (pos) && isPionTight (neg)) {
772+ if (!(v0cuts.cfg_min_mass_lambda_veto < v0.mLambda () && v0.mLambda () < v0cuts.cfg_max_mass_lambda_veto ) && !(v0cuts.cfg_min_mass_lambda_veto < v0.mAntiLambda () && v0.mAntiLambda () < v0cuts.cfg_max_mass_lambda_veto )) {
773+ if (isPionTight (pos) && isPion (neg)) {
774774 registry.fill (HIST (" V0/hMassK0Short" ), v0.mK0Short ());
775775 if (v0cuts.cfg_min_mass_k0s < v0.mK0Short () && v0.mK0Short () < v0cuts.cfg_max_mass_k0s ) {
776- registry.fill (HIST (" V0/hTPCdEdx_P_Pi" ), pos.tpcInnerParam (), pos.tpcSignal ());
777- registry.fill (HIST (" V0/hTOFbeta_P_Pi" ), pos.tpcInnerParam (), pos.beta ());
778- fillTrackTable (collision, pos, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kPion ), false );
776+ registry.fill (HIST (" V0/hTPCdEdx_P_Pi" ), neg.tpcInnerParam (), neg.tpcSignal ());
777+ registry.fill (HIST (" V0/hTOFbeta_P_Pi" ), neg.tpcInnerParam (), neg.beta ());
778+ fillTrackTable (collision, neg, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kPion ));
779+ }
780+ if (isPion (pos) && isPionTight (neg)) {
781+ registry.fill (HIST (" V0/hMassK0Short" ), v0.mK0Short ());
782+ if (v0cuts.cfg_min_mass_k0s < v0.mK0Short () && v0.mK0Short () < v0cuts.cfg_max_mass_k0s ) {
783+ registry.fill (HIST (" V0/hTPCdEdx_P_Pi" ), pos.tpcInnerParam (), pos.tpcSignal ());
784+ registry.fill (HIST (" V0/hTOFbeta_P_Pi" ), pos.tpcInnerParam (), pos.beta ());
785+ fillTrackTable (collision, pos, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kPion ));
786+ }
779787 }
780788 }
781789 }
782790
783- if (isProton (pos) && isPionTight (neg)) {
784- registry.fill (HIST (" V0/hMassLambda" ), v0.mLambda ());
785- if (v0cuts.cfg_min_mass_lambda < v0.mLambda () && v0.mLambda () < v0cuts.cfg_max_mass_lambda ) {
786- fillTrackTable (collision, pos, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kProton ), false );
787- registry.fill (HIST (" V0/hTPCdEdx_P_Pr" ), pos.tpcInnerParam (), pos.tpcSignal ());
788- registry.fill (HIST (" V0/hTOFbeta_P_Pr" ), pos.tpcInnerParam (), pos.beta ());
791+ if (!(v0cuts.cfg_min_mass_k0s_veto < v0.mK0Short () && v0.mK0Short () < v0cuts.cfg_max_mass_k0s_veto )) {
792+ if (isProton (pos) && isPionTight (neg)) {
793+ registry.fill (HIST (" V0/hMassLambda" ), v0.mLambda ());
794+ if (v0cuts.cfg_min_mass_lambda < v0.mLambda () && v0.mLambda () < v0cuts.cfg_max_mass_lambda ) {
795+ fillTrackTable (collision, pos, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kProton ));
796+ registry.fill (HIST (" V0/hTPCdEdx_P_Pr" ), pos.tpcInnerParam (), pos.tpcSignal ());
797+ registry.fill (HIST (" V0/hTOFbeta_P_Pr" ), pos.tpcInnerParam (), pos.beta ());
798+ }
789799 }
790- }
791- if ( isPionTight (pos) && isProton (neg)) {
792- registry. fill ( HIST ( " V0/hMassAntiLambda " ), v0.mAntiLambda ());
793- if (v0cuts. cfg_min_mass_lambda < v0. mAntiLambda () && v0. mAntiLambda () < v0cuts. cfg_max_mass_lambda ) {
794- fillTrackTable (collision , neg, static_cast < uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label:: kProton ), false );
795- registry.fill (HIST (" V0/hTPCdEdx_P_Pr " ), neg.tpcInnerParam (), neg.tpcSignal ());
796- registry. fill ( HIST ( " V0/hTOFbeta_P_Pr " ), neg. tpcInnerParam (), neg. beta ());
800+ if ( isPionTight (pos) && isProton (neg)) {
801+ registry. fill ( HIST ( " V0/hMassAntiLambda " ), v0. mAntiLambda ());
802+ if (v0cuts. cfg_min_mass_lambda < v0. mAntiLambda () && v0.mAntiLambda () < v0cuts. cfg_max_mass_lambda ) {
803+ fillTrackTable (collision, neg, static_cast < uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label:: kProton ));
804+ registry. fill ( HIST ( " V0/hTPCdEdx_P_Pr " ) , neg. tpcInnerParam ( ), neg. tpcSignal () );
805+ registry.fill (HIST (" V0/hTOFbeta_P_Pr " ), neg.tpcInnerParam (), neg.beta ());
806+ }
797807 }
798808 }
799809
@@ -802,7 +812,7 @@ struct TreeCreatorElectronMLDDA {
802812 registry.fill (HIST (" V0/hMassGamma_Rxy" ), v0.v0radius (), v0.mGamma ());
803813 if (v0cuts.cfg_min_mass_photon < v0.mGamma () && v0.mGamma () < v0cuts.cfg_max_mass_photon ) {
804814 registry.fill (HIST (" V0/hXY_Gamma" ), v0.x (), v0.y ());
805- fillTrackTable (collision, neg, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kElectron ), false );
815+ fillTrackTable (collision, neg, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kElectron ));
806816 registry.fill (HIST (" V0/hTPCdEdx_P_El" ), neg.tpcInnerParam (), neg.tpcSignal ());
807817 registry.fill (HIST (" V0/hTOFbeta_P_El" ), neg.tpcInnerParam (), neg.beta ());
808818 }
@@ -813,7 +823,7 @@ struct TreeCreatorElectronMLDDA {
813823 registry.fill (HIST (" V0/hMassGamma_Rxy" ), v0.v0radius (), v0.mGamma ());
814824 if (v0cuts.cfg_min_mass_photon < v0.mGamma () && v0.mGamma () < v0cuts.cfg_max_mass_photon ) {
815825 registry.fill (HIST (" V0/hXY_Gamma" ), v0.x (), v0.y ());
816- fillTrackTable (collision, pos, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kElectron ), false );
826+ fillTrackTable (collision, pos, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kElectron ));
817827 registry.fill (HIST (" V0/hTPCdEdx_P_El" ), pos.tpcInnerParam (), pos.tpcSignal ());
818828 registry.fill (HIST (" V0/hTOFbeta_P_El" ), pos.tpcInnerParam (), pos.beta ());
819829 }
@@ -899,7 +909,7 @@ struct TreeCreatorElectronMLDDA {
899909 if (cascadecuts.cfg_min_mass_Omega < cascade.mOmega () && cascade.mOmega () < cascadecuts.cfg_max_mass_Omega ) { // select Omega candidates
900910 registry.fill (HIST (" V0/hTPCdEdx_P_Ka" ), bachelor.tpcInnerParam (), bachelor.tpcSignal ());
901911 registry.fill (HIST (" V0/hTOFbeta_P_Ka" ), bachelor.tpcInnerParam (), bachelor.beta ());
902- fillTrackTable (collision, bachelor, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kKaon ), false );
912+ fillTrackTable (collision, bachelor, static_cast <uint8_t >(o2::aod::pwgem::dilepton::ml::PID_Label::kKaon ));
903913 }
904914 }
905915 } // end of cascade loop
0 commit comments