@@ -86,6 +86,8 @@ struct Phianalysisrun3pbpb {
8686 Configurable<bool > additionalEvSel4{" additionalEvSel4" , true , " Additional evsel4" };
8787 Configurable<bool > additionalEvSel5{" additionalEvSel5" , true , " Additional evsel5" };
8888 Configurable<bool > additionalEvSel6{" additionalEvSel6" , true , " Additional evsel6" };
89+ Configurable<bool > selHasBC{" selHasBC" , true , " Has BC?" };
90+ Configurable<bool > selHasFT0{" selHasFT0" , true , " Has FT0?" };
8991 Configurable<bool > cutvz{" cutvz" , true , " Vz cut" };
9092 Configurable<bool > cutvzgen{" cutvzgen" , true , " Vz cut" };
9193 Configurable<bool > isINELgt0{" isINELgt0" , true , " INEL>0 selection" };
@@ -375,6 +377,12 @@ struct Phianalysisrun3pbpb {
375377 if (!collision.sel8 ())
376378 return false ;
377379
380+ if (selectionConfig.selHasBC && !collision.has_foundBC ())
381+ return false ;
382+
383+ if (selectionConfig.selHasFT0 && !collision.has_foundFT0 ())
384+ return false ;
385+
378386 if (selectionConfig.additionalEvSel1 && !collision.selection_bit (aod::evsel::kNoTimeFrameBorder ))
379387 return false ;
380388
@@ -519,6 +527,12 @@ struct Phianalysisrun3pbpb {
519527 if (cfgDoSel8 && !collision.sel8 ()) {
520528 return ;
521529 }
530+ if (selectionConfig.selHasBC && !collision.has_foundBC ()) {
531+ return ;
532+ }
533+ if (selectionConfig.selHasFT0 && !collision.has_foundFT0 ()) {
534+ return ;
535+ }
522536 histos.fill (HIST (" hEvtSelInfo" ), 2.5 );
523537 if (selectionConfig.additionalEvSel1 && !collision.selection_bit (aod::evsel::kNoTimeFrameBorder )) {
524538 return ;
@@ -685,6 +699,12 @@ struct Phianalysisrun3pbpb {
685699 if (!c2.sel8 ()) {
686700 continue ;
687701 }
702+ if (selectionConfig.selHasBC && (!c1.has_foundBC () || !c2.has_foundBC ())) {
703+ continue ;
704+ }
705+ if (selectionConfig.selHasFT0 && (!c1.has_foundFT0 () || !c2.has_foundFT0 ())) {
706+ continue ;
707+ }
688708 if (selectionConfig.additionalEvSel1 && (!c1.selection_bit (aod::evsel::kNoTimeFrameBorder ) || !c2.selection_bit (aod::evsel::kNoTimeFrameBorder ))) {
689709 continue ;
690710 }
@@ -761,6 +781,12 @@ struct Phianalysisrun3pbpb {
761781 if (!c2.sel8 ()) {
762782 continue ;
763783 }
784+ if (selectionConfig.selHasBC && (!c1.has_foundBC () || !c2.has_foundBC ())) {
785+ continue ;
786+ }
787+ if (selectionConfig.selHasFT0 && (!c1.has_foundFT0 () || !c2.has_foundFT0 ())) {
788+ continue ;
789+ }
764790 if (selectionConfig.additionalEvSel1 && (!c1.selection_bit (aod::evsel::kNoTimeFrameBorder ) || !c2.selection_bit (aod::evsel::kNoTimeFrameBorder ))) {
765791 continue ;
766792 }
@@ -838,6 +864,12 @@ struct Phianalysisrun3pbpb {
838864 if (!c2.sel8 ()) {
839865 continue ;
840866 }
867+ if (selectionConfig.selHasBC && (!c1.has_foundBC () || !c2.has_foundBC ())) {
868+ continue ;
869+ }
870+ if (selectionConfig.selHasFT0 && (!c1.has_foundFT0 () || !c2.has_foundFT0 ())) {
871+ continue ;
872+ }
841873 if (selectionConfig.additionalEvSel1 && (!c1.selection_bit (aod::evsel::kNoTimeFrameBorder ) || !c2.selection_bit (aod::evsel::kNoTimeFrameBorder ))) {
842874 continue ;
843875 }
@@ -915,6 +947,12 @@ struct Phianalysisrun3pbpb {
915947 if (!c2.sel8 ()) {
916948 continue ;
917949 }
950+ if (selectionConfig.selHasBC && (!c1.has_foundBC () || !c2.has_foundBC ())) {
951+ continue ;
952+ }
953+ if (selectionConfig.selHasFT0 && (!c1.has_foundFT0 () || !c2.has_foundFT0 ())) {
954+ continue ;
955+ }
918956 if (selectionConfig.additionalEvSel1 && (!c1.selection_bit (aod::evsel::kNoTimeFrameBorder ) || !c2.selection_bit (aod::evsel::kNoTimeFrameBorder ))) {
919957 continue ;
920958 }
@@ -978,6 +1016,12 @@ struct Phianalysisrun3pbpb {
9781016 if (!collision.sel8 ()) {
9791017 return ;
9801018 }
1019+ if (selectionConfig.selHasBC && !collision.has_foundBC ()) {
1020+ return ;
1021+ }
1022+ if (selectionConfig.selHasFT0 && !collision.has_foundFT0 ()) {
1023+ return ;
1024+ }
9811025 if (selectionConfig.additionalEvSel2 && (!collision.selection_bit (aod::evsel::kNoSameBunchPileup ) || !collision.selection_bit (aod::evsel::kIsGoodZvtxFT0vsPV ))) {
9821026 return ;
9831027 }
@@ -1075,6 +1119,12 @@ struct Phianalysisrun3pbpb {
10751119 if (cfgDoSel8 && !RecCollision.sel8 ()) {
10761120 continue ;
10771121 }
1122+ if (selectionConfig.selHasBC && !RecCollision.has_foundBC ()) {
1123+ continue ;
1124+ }
1125+ if (selectionConfig.selHasFT0 && !RecCollision.has_foundFT0 ()) {
1126+ continue ;
1127+ }
10781128 if (std::abs (RecCollision.posZ ()) > selectionConfig.cfgCutVertex ) {
10791129 continue ;
10801130 }
@@ -1288,6 +1338,12 @@ struct Phianalysisrun3pbpb {
12881338 if (cfgDoSel8 && !collision.sel8 ()) {
12891339 continue ;
12901340 }
1341+ if (selectionConfig.selHasBC && !collision.has_foundBC ()) {
1342+ continue ;
1343+ }
1344+ if (selectionConfig.selHasFT0 && !collision.has_foundFT0 ()) {
1345+ continue ;
1346+ }
12911347 if (std::abs (collision.mcCollision ().posZ ()) > selectionConfig.cfgCutVertex ) {
12921348 continue ;
12931349 }
@@ -1368,6 +1424,12 @@ struct Phianalysisrun3pbpb {
13681424 if (cfgDoSel8 && !collision.sel8 ()) {
13691425 return ;
13701426 }
1427+ if (selectionConfig.selHasBC && !collision.has_foundBC ()) {
1428+ return ;
1429+ }
1430+ if (selectionConfig.selHasFT0 && !collision.has_foundFT0 ()) {
1431+ return ;
1432+ }
13711433 if (std::abs (collision.mcCollision ().posZ ()) > selectionConfig.cfgCutVertex ) {
13721434 return ;
13731435 }
@@ -1494,6 +1556,12 @@ struct Phianalysisrun3pbpb {
14941556 if (!collision.sel8 ()) {
14951557 return ;
14961558 }
1559+ if (selectionConfig.selHasBC && !collision.has_foundBC ()) {
1560+ return ;
1561+ }
1562+ if (selectionConfig.selHasFT0 && !collision.has_foundFT0 ()) {
1563+ return ;
1564+ }
14971565 if (selectionConfig.additionalEvSel1 && !collision.selection_bit (aod::evsel::kNoTimeFrameBorder )) {
14981566 return ;
14991567 }
@@ -1615,6 +1683,12 @@ struct Phianalysisrun3pbpb {
16151683 if (!c2.sel8 ()) {
16161684 continue ;
16171685 }
1686+ if (selectionConfig.selHasBC && (!c1.has_foundBC () || !c2.has_foundBC ())) {
1687+ continue ;
1688+ }
1689+ if (selectionConfig.selHasFT0 && (!c1.has_foundFT0 () || !c2.has_foundFT0 ())) {
1690+ continue ;
1691+ }
16181692 if (selectionConfig.additionalEvSel1 && (!c1.selection_bit (aod::evsel::kNoTimeFrameBorder ) || !c2.selection_bit (aod::evsel::kNoTimeFrameBorder ))) {
16191693 continue ;
16201694 }
@@ -1717,6 +1791,12 @@ struct Phianalysisrun3pbpb {
17171791 if (cfgDoSel8 && !collision.sel8 ()) {
17181792 continue ;
17191793 }
1794+ if (selectionConfig.selHasBC && !collision.has_foundBC ()) {
1795+ continue ;
1796+ }
1797+ if (selectionConfig.selHasFT0 && !collision.has_foundFT0 ()) {
1798+ continue ;
1799+ }
17201800 histos.fill (HIST (" hMC1" ), 5.5 );
17211801 if (selectionConfig.cutvz &&
17221802 std::abs (collision.posZ ()) > selectionConfig.cfgCutVertex ) {
@@ -1825,6 +1905,12 @@ struct Phianalysisrun3pbpb {
18251905 if (cfgDoSel8 && !collision.sel8 ()) {
18261906 return ;
18271907 }
1908+ if (selectionConfig.selHasBC && !collision.has_foundBC ()) {
1909+ return ;
1910+ }
1911+ if (selectionConfig.selHasFT0 && !collision.has_foundFT0 ()) {
1912+ return ;
1913+ }
18281914 if (selectionConfig.cutvz &&
18291915 std::abs (collision.posZ ()) > selectionConfig.cfgCutVertex ) {
18301916 return ;
0 commit comments