@@ -88,6 +88,9 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
8888 Configurable<float > ConfCPRdeltaEtaCutMax{" ConfCPRdeltaEtaCutMax" , 0.0 , " Delta Eta max cut for Close Pair Rejection" };
8989 Configurable<float > ConfCPRdeltaEtaCutMin{" ConfCPRdeltaEtaCutMin" , 0.0 , " Delta Eta min cut for Close Pair Rejection" };
9090 Configurable<float > ConfCPRChosenRadii{" ConfCPRChosenRadii" , 0.80 , " Delta Eta cut for Close Pair Rejection" };
91+ Configurable<bool > confUseCCImCut{" confUseCCImCut" , false , " Fill SH within specific quadrants of qout-qside" };
92+ Configurable<bool > confUse1stand3rd{" confUse1stand3rd" , false , " Use first and third quadrants of qout-qside" };
93+ Configurable<bool > confUse2ndand4th{" confUse2ndand4th" , false , " Use second and fourth quadrants of qout-qside" };
9194 } twotracksconfigs;
9295
9396 using FemtoFullParticles = soa::Join<aod::FDParticles, aod::FDExtParticles>;
@@ -569,19 +572,44 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
569572
570573 std::vector<double > f3d;
571574 double kv;
575+ float outsideref = 0.0 ;
572576
573577 switch (ContType) {
574578 case 2 : {
575579 if (rand > 0.5 ) {
576- sameEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
577580 f3d = FemtoUniverseMath::newpairfunc (p1, mass1, p2, mass2, ConfIsIden);
581+ if (!twotracksconfigs.confUseCCImCut ) {
582+ sameEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
583+ } else {
584+ if (twotracksconfigs.confUse1stand3rd ) {
585+ if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
586+ sameEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
587+ }
588+ } else if (twotracksconfigs.confUse2ndand4th ) {
589+ if ((f3d[1 ] < outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] >= outsideref && f3d[2 ] < outsideref)) {
590+ sameEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
591+ }
592+ }
593+ }
578594 if (twotracksconfigs.ConfIsMC ) {
579595 float weight = 1 .0f ;
580596 sameEventCont1D.setPair <isMC>(p1, p2, multCol, twotracksconfigs.ConfUse3D , weight, ConfIsIden);
581597 }
582598 } else if (rand <= 0.5 ) {
583- sameEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
584599 f3d = FemtoUniverseMath::newpairfunc (p2, mass2, p1, mass1, ConfIsIden);
600+ if (!twotracksconfigs.confUseCCImCut ) {
601+ sameEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
602+ } else {
603+ if (twotracksconfigs.confUse1stand3rd ) {
604+ if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
605+ sameEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
606+ }
607+ } else if (twotracksconfigs.confUse2ndand4th ) {
608+ if ((f3d[1 ] < outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] >= outsideref && f3d[2 ] < outsideref)) {
609+ sameEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
610+ }
611+ }
612+ }
585613 if (twotracksconfigs.ConfIsMC ) {
586614 float weight = 1 .0f ;
587615 sameEventCont1D.setPair <isMC>(p2, p1, multCol, twotracksconfigs.ConfUse3D , weight, ConfIsIden);
@@ -596,15 +624,39 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
596624
597625 case 3 : {
598626 if (rand > 0.5 ) {
599- sameEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
600627 f3d = FemtoUniverseMath::newpairfunc (p1, mass1, p2, mass2, ConfIsIden);
628+ if (!twotracksconfigs.confUseCCImCut ) {
629+ sameEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
630+ } else {
631+ if (twotracksconfigs.confUse1stand3rd ) {
632+ if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
633+ sameEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
634+ }
635+ } else if (twotracksconfigs.confUse2ndand4th ) {
636+ if ((f3d[1 ] < outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] >= outsideref && f3d[2 ] < outsideref)) {
637+ sameEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
638+ }
639+ }
640+ }
601641 if (twotracksconfigs.ConfIsMC ) {
602642 float weight = 1 .0f ;
603643 sameEventCont1D.setPair <isMC>(p1, p2, multCol, twotracksconfigs.ConfUse3D , weight, ConfIsIden);
604644 }
605645 } else if (rand <= 0.5 ) {
606- sameEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
607646 f3d = FemtoUniverseMath::newpairfunc (p2, mass2, p1, mass1, ConfIsIden);
647+ if (!twotracksconfigs.confUseCCImCut ) {
648+ sameEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
649+ } else {
650+ if (twotracksconfigs.confUse1stand3rd ) {
651+ if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
652+ sameEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
653+ }
654+ } else if (twotracksconfigs.confUse2ndand4th ) {
655+ if ((f3d[1 ] < outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] >= outsideref && f3d[2 ] < outsideref)) {
656+ sameEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::same, 2 , multCol, kT , ConfIsIden);
657+ }
658+ }
659+ }
608660 if (twotracksconfigs.ConfIsMC ) {
609661 float weight = 1 .0f ;
610662 sameEventCont1D.setPair <isMC>(p2, p1, multCol, twotracksconfigs.ConfUse3D , weight, ConfIsIden);
@@ -885,6 +937,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
885937
886938 std::vector<double > f3d;
887939 double kv;
940+ float outsideref = 0.0 ;
888941
889942 switch (ContType) {
890943 case 1 : {
@@ -898,11 +951,35 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
898951
899952 case 2 : {
900953 if (rand > 0.5 ) {
901- mixedEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
902954 f3d = FemtoUniverseMath::newpairfunc (p1, mass1, p2, mass2, ConfIsIden);
955+ if (!twotracksconfigs.confUseCCImCut ) {
956+ mixedEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
957+ } else {
958+ if (twotracksconfigs.confUse1stand3rd ) {
959+ if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
960+ mixedEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
961+ }
962+ } else if (twotracksconfigs.confUse2ndand4th ) {
963+ if ((f3d[1 ] < outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] >= outsideref && f3d[2 ] < outsideref)) {
964+ mixedEventMultContPP.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
965+ }
966+ }
967+ }
903968 } else {
904- mixedEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
905969 f3d = FemtoUniverseMath::newpairfunc (p2, mass2, p1, mass1, ConfIsIden);
970+ if (!twotracksconfigs.confUseCCImCut ) {
971+ mixedEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
972+ } else {
973+ if (twotracksconfigs.confUse1stand3rd ) {
974+ if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
975+ mixedEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
976+ }
977+ } else if (twotracksconfigs.confUse2ndand4th ) {
978+ if ((f3d[1 ] < outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] >= outsideref && f3d[2 ] < outsideref)) {
979+ mixedEventMultContPP.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
980+ }
981+ }
982+ }
906983 }
907984 if (ConfIsFillAngqLCMS) {
908985 kv = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ] + f3d[3 ] * f3d[3 ]);
@@ -913,11 +990,35 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
913990
914991 case 3 : {
915992 if (rand > 0.5 ) {
916- mixedEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
917993 f3d = FemtoUniverseMath::newpairfunc (p1, mass1, p2, mass2, ConfIsIden);
994+ if (!twotracksconfigs.confUseCCImCut ) {
995+ mixedEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
996+ } else {
997+ if (twotracksconfigs.confUse1stand3rd ) {
998+ if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
999+ mixedEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
1000+ }
1001+ } else if (twotracksconfigs.confUse2ndand4th ) {
1002+ if ((f3d[1 ] < outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] >= outsideref && f3d[2 ] < outsideref)) {
1003+ mixedEventMultContMM.fillMultNumDen (p1, p2, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
1004+ }
1005+ }
1006+ }
9181007 } else {
919- mixedEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
9201008 f3d = FemtoUniverseMath::newpairfunc (p2, mass2, p1, mass1, ConfIsIden);
1009+ if (!twotracksconfigs.confUseCCImCut ) {
1010+ mixedEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
1011+ } else {
1012+ if (twotracksconfigs.confUse1stand3rd ) {
1013+ if ((f3d[1 ] >= outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] < outsideref && f3d[2 ] < outsideref)) {
1014+ mixedEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
1015+ }
1016+ } else if (twotracksconfigs.confUse2ndand4th ) {
1017+ if ((f3d[1 ] < outsideref && f3d[2 ] >= outsideref) || (f3d[1 ] >= outsideref && f3d[2 ] < outsideref)) {
1018+ mixedEventMultContMM.fillMultNumDen (p2, p1, femto_universe_sh_container::EventType::mixed, 2 , multCol, kT , ConfIsIden);
1019+ }
1020+ }
1021+ }
9211022 }
9221023 if (ConfIsFillAngqLCMS) {
9231024 kv = std::sqrt (f3d[1 ] * f3d[1 ] + f3d[2 ] * f3d[2 ] + f3d[3 ] * f3d[3 ]);
0 commit comments