@@ -355,7 +355,7 @@ struct JetCorrelationD0 {
355355
356356 int matchedFrom = 0 ;
357357 int selectedAs = 0 ;
358- int category; // 0 signal, 1 reflection, 2-5 correlated backgrounds
358+ int category = - 1 ; // -1 undefined, 0 signal, 1 reflection, 2-5 correlated backgrounds
359359 constexpr int kD0ToKPi = 1 ;
360360 constexpr int kD0ToKPiPi = 2 ;
361361 constexpr int kD0ToPiPi = 3 ;
@@ -372,23 +372,23 @@ struct JetCorrelationD0 {
372372 } else if (d0Candidate.candidateSelFlag () & BIT (1 )) { // CandidateSelFlag == BIT(1) -> selected as D0bar
373373 selectedAs = -1 ;
374374 }
375- if ((d0DecayChannel == kD0ToKPi ) && (selectedAs == matchedFrom)) {
376- category = 0 ; // signal -> D0 or D0bar, π+ K− π+
375+ if ((std::abs ( d0DecayChannel) == kD0ToKPi ) && (matchedFrom != 0 ) && (selectedAs == matchedFrom)) {
376+ category = 0 ; // signal -> D0 or D0bar, π+ K−
377377 }
378- if ((d0DecayChannel == kD0ToKPi ) && (selectedAs == -1 *matchedFrom)) {
378+ else if ((d0DecayChannel == kD0ToKPi ) && (selectedAs == -1 *matchedFrom)) {
379379 category = 1 ; // reflection
380380 }
381- if (d0DecayChannel == kD0ToKPiPi ) {
381+ else if (d0DecayChannel == kD0ToKPiPi ) {
382382 category = 2 ; // corr bkg: π+ K− π0
383383 }
384384
385- if (d0DecayChannel == kD0ToPiPi ) {
385+ else if (d0DecayChannel == kD0ToPiPi ) {
386386 category = 3 ; // corr bkg: π+ π−
387387 }
388- if (d0DecayChannel == kD0ToPiPiPi ) {
388+ else if (d0DecayChannel == kD0ToPiPiPi ) {
389389 category = 4 ; // corr bkg: π+ π− π0
390390 }
391- if (d0DecayChannel == kD0ToKK ) {
391+ else if (d0DecayChannel == kD0ToKK ) {
392392 category = 5 ; // corr bkg: K+ K−
393393 }
394394
0 commit comments