@@ -92,6 +92,8 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
9292 Configurable<bool > confIsCPRkT{" confIsCPRkT" , true , " kT dependent deltaEta-deltaPhi cut for Close Pair Rejection" };
9393 Configurable<float > confCPRChosenRadii{" confCPRChosenRadii" , 0.80 , " Delta Eta cut for Close Pair Rejection" };
9494 Configurable<bool > confUseCCImCut{" confUseCCImCut" , false , " Fill SH within specific quadrants of qout-qside" };
95+ Configurable<bool > confUseMinqTcut{" confUseMinqTcut" , false , " Fill SH with min. qT cut" };
96+ Configurable<float > confMinqTcut{" confMinqTcut" , 0.005 , " Min. qT cut on filling SH" };
9597 Configurable<bool > confUse1stand3rd{" confUse1stand3rd" , false , " Use first and third quadrants of qout-qside" };
9698 Configurable<bool > confUse2ndand4th{" confUse2ndand4th" , false , " Use second and fourth quadrants of qout-qside" };
9799 } twotracksconfigs;
@@ -600,13 +602,20 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
600602 std::vector<double > f3d;
601603 double kv;
602604 float outsideref = 0.0 ;
603-
605+ float qTmin = 0.0 ;
604606 switch (ContType) {
605607 case 2 : {
606608 if (rand > 0.5 ) {
607609 f3d = FemtoUniverseMath::newpairfunc (p1, mass1, p2, mass2, confIsIden);
610+ qTmin = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ]);
608611 if (!twotracksconfigs.confUseCCImCut ) {
609- sameEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
612+ if (!twotracksconfigs.confUseMinqTcut ) {
613+ sameEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
614+ } else {
615+ if (qTmin > twotracksconfigs.confMinqTcut ) {
616+ sameEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
617+ }
618+ }
610619 } else {
611620 if (twotracksconfigs.confUse1stand3rd ) {
612621 if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
@@ -624,8 +633,15 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
624633 }
625634 } else if (rand <= 0.5 ) {
626635 f3d = FemtoUniverseMath::newpairfunc (p2, mass2, p1, mass1, confIsIden);
636+ qTmin = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ]);
627637 if (!twotracksconfigs.confUseCCImCut ) {
628- sameEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
638+ if (!twotracksconfigs.confUseMinqTcut ) {
639+ sameEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
640+ } else {
641+ if (qTmin > twotracksconfigs.confMinqTcut ) {
642+ sameEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
643+ }
644+ }
629645 } else {
630646 if (twotracksconfigs.confUse1stand3rd ) {
631647 if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
@@ -652,8 +668,15 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
652668 case 3 : {
653669 if (rand > 0.5 ) {
654670 f3d = FemtoUniverseMath::newpairfunc (p1, mass1, p2, mass2, confIsIden);
671+ qTmin = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ]);
655672 if (!twotracksconfigs.confUseCCImCut ) {
656- sameEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
673+ if (!twotracksconfigs.confUseMinqTcut ) {
674+ sameEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
675+ } else {
676+ if (qTmin > twotracksconfigs.confMinqTcut ) {
677+ sameEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
678+ }
679+ }
657680 } else {
658681 if (twotracksconfigs.confUse1stand3rd ) {
659682 if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
@@ -671,8 +694,15 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
671694 }
672695 } else if (rand <= 0.5 ) {
673696 f3d = FemtoUniverseMath::newpairfunc (p2, mass2, p1, mass1, confIsIden);
697+ qTmin = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ]);
674698 if (!twotracksconfigs.confUseCCImCut ) {
675- sameEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
699+ if (!twotracksconfigs.confUseMinqTcut ) {
700+ sameEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
701+ } else {
702+ if (qTmin > twotracksconfigs.confMinqTcut ) {
703+ sameEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , confIsIden);
704+ }
705+ }
676706 } else {
677707 if (twotracksconfigs.confUse1stand3rd ) {
678708 if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
@@ -977,6 +1007,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
9771007 std::vector<double > f3d;
9781008 double kv;
9791009 float outsideref = 0.0 ;
1010+ float qTmin = 0.0 ;
9801011
9811012 switch (ContType) {
9821013 case 1 : {
@@ -991,8 +1022,15 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
9911022 case 2 : {
9921023 if (rand > 0.5 ) {
9931024 f3d = FemtoUniverseMath::newpairfunc (p1, mass1, p2, mass2, confIsIden);
1025+ qTmin = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ]);
9941026 if (!twotracksconfigs.confUseCCImCut ) {
995- mixedEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1027+ if (!twotracksconfigs.confUseMinqTcut ) {
1028+ mixedEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1029+ } else {
1030+ if (qTmin > twotracksconfigs.confMinqTcut ) {
1031+ mixedEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1032+ }
1033+ }
9961034 } else {
9971035 if (twotracksconfigs.confUse1stand3rd ) {
9981036 if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
@@ -1006,8 +1044,15 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
10061044 }
10071045 } else {
10081046 f3d = FemtoUniverseMath::newpairfunc (p2, mass2, p1, mass1, confIsIden);
1047+ qTmin = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ]);
10091048 if (!twotracksconfigs.confUseCCImCut ) {
1010- mixedEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1049+ if (!twotracksconfigs.confUseMinqTcut ) {
1050+ mixedEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1051+ } else {
1052+ if (qTmin > twotracksconfigs.confMinqTcut ) {
1053+ mixedEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1054+ }
1055+ }
10111056 } else {
10121057 if (twotracksconfigs.confUse1stand3rd ) {
10131058 if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
@@ -1030,8 +1075,15 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
10301075 case 3 : {
10311076 if (rand > 0.5 ) {
10321077 f3d = FemtoUniverseMath::newpairfunc (p1, mass1, p2, mass2, confIsIden);
1078+ qTmin = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ]);
10331079 if (!twotracksconfigs.confUseCCImCut ) {
1034- mixedEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1080+ if (!twotracksconfigs.confUseMinqTcut ) {
1081+ mixedEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1082+ } else {
1083+ if (qTmin > twotracksconfigs.confMinqTcut ) {
1084+ mixedEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1085+ }
1086+ }
10351087 } else {
10361088 if (twotracksconfigs.confUse1stand3rd ) {
10371089 if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
@@ -1045,8 +1097,15 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
10451097 }
10461098 } else {
10471099 f3d = FemtoUniverseMath::newpairfunc (p2, mass2, p1, mass1, confIsIden);
1100+ qTmin = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ]);
10481101 if (!twotracksconfigs.confUseCCImCut ) {
1049- mixedEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1102+ if (!twotracksconfigs.confUseMinqTcut ) {
1103+ mixedEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1104+ } else {
1105+ if (qTmin > twotracksconfigs.confMinqTcut ) {
1106+ mixedEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , confIsIden);
1107+ }
1108+ }
10501109 } else {
10511110 if (twotracksconfigs.confUse1stand3rd ) {
10521111 if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
0 commit comments