@@ -149,7 +149,8 @@ struct taggingHFE {
149149 Configurable<float > cfg_max_TPCNsigmaKa{" cfg_max_TPCNsigmaKa" , +2 , " max n sigma ka in TPC" };
150150 Configurable<float > cfg_min_TOFNsigmaKa{" cfg_min_TOFNsigmaKa" , -2 , " min n sigma ka in TOF" };
151151 Configurable<float > cfg_max_TOFNsigmaKa{" cfg_max_TOFNsigmaKa" , +2 , " max n sigma ka in TOF" };
152- Configurable<bool > requireTOF{" requireTOF" , false , " require TOF hit" };
152+ Configurable<bool > requireTOF{" requireTOF" , true , " require TOF hit" };
153+ Configurable<float > cfg_min_pin_TOFreq{" cfg_min_pin_TOFreq" , 0.4 , " min pin for TOFreq" };
153154 } kaonCut;
154155
155156 struct : ConfigurableGroup {
@@ -450,9 +451,15 @@ struct taggingHFE {
450451 bool is_ka_included_TPC = kaonCut.cfg_min_TPCNsigmaKa < track.tpcNSigmaKa () && track.tpcNSigmaKa () < kaonCut.cfg_max_TPCNsigmaKa ;
451452 bool is_ka_included_TOF = track.hasTOF () ? (kaonCut.cfg_min_TOFNsigmaKa < track.tofNSigmaKa () && track.tofNSigmaKa () < kaonCut.cfg_max_TOFNsigmaKa ) : true ;
452453 if (kaonCut.requireTOF ) {
453- is_ka_included_TOF = kaonCut.cfg_min_TOFNsigmaKa < track.tofNSigmaKa () && track.tofNSigmaKa () < kaonCut.cfg_max_TOFNsigmaKa ;
454+ if (track.tpcInnerParam () < kaonCut.cfg_min_pin_TOFreq ) {
455+ return is_ka_included_TPC;
456+ } else {
457+ is_ka_included_TOF = kaonCut.cfg_min_TOFNsigmaKa < track.tofNSigmaKa () && track.tofNSigmaKa () < kaonCut.cfg_max_TOFNsigmaKa ;
458+ return is_ka_included_TPC && is_ka_included_TOF;
459+ }
460+ } else {
461+ return is_ka_included_TPC && is_ka_included_TOF; // TOFif
454462 }
455- return is_ka_included_TPC && is_ka_included_TOF;
456463 }
457464
458465 template <typename TTrack>
0 commit comments