@@ -481,10 +481,12 @@ struct CascadeBuilderProducts : o2::framework::ProducesGroup {
481481 o2::framework::Produces<o2::aod::FLiteXis> producedLiteXis;
482482 o2::framework::Produces<o2::aod::FXiMasks> producedXiMasks;
483483 o2::framework::Produces<o2::aod::FXiExtras> producedXiExtras;
484+ o2::framework::Produces<o2::aod::FXiFrac> producedXiFrac;
484485 o2::framework::Produces<o2::aod::FOmegas> producedOmegas;
485486 o2::framework::Produces<o2::aod::FLiteOmegas> producedLiteOmegas;
486487 o2::framework::Produces<o2::aod::FOmegaMasks> producedOmegaMasks;
487488 o2::framework::Produces<o2::aod::FOmegaExtras> producedOmegaExtras;
489+ o2::framework::Produces<o2::aod::FOmegaFrac> producedOmegaFrac;
488490};
489491
490492struct ConfCascadeTables : o2::framework::ConfigurableGroup {
@@ -493,10 +495,12 @@ struct ConfCascadeTables : o2::framework::ConfigurableGroup {
493495 o2::framework::Configurable<int > produceLiteXis{" produceLiteXis" , -1 , " Produce LiteXis (-1: auto; 0 off; 1 on)" };
494496 o2::framework::Configurable<int > produceXiMasks{" produceXiMasks" , -1 , " Produce XiMasks (-1: auto; 0 off; 1 on)" };
495497 o2::framework::Configurable<int > produceXiExtras{" produceXiExtras" , -1 , " Produce XiExtras (-1: auto; 0 off; 1 on)" };
498+ o2::framework::Configurable<int > produceXiFrac{" produceXiFrac" , -1 , " Produce XiFrac (cpa for fraction extraction) (-1: auto; 0 off; 1 on)" };
496499 o2::framework::Configurable<int > produceOmegas{" produceOmegas" , -1 , " Produce Omegas (-1: auto; 0 off; 1 on)" };
497500 o2::framework::Configurable<int > produceLiteOmegas{" produceLiteOmegas" , -1 , " Produce LiteOmegas (-1: auto; 0 off; 1 on)" };
498501 o2::framework::Configurable<int > produceOmegaMasks{" produceOmegaMasks" , -1 , " Produce OmegaMasks (-1: auto; 0 off; 1 on)" };
499502 o2::framework::Configurable<int > produceOmegaExtras{" produceOmegaExtras" , -1 , " Produce OmegaExtras (-1: auto; 0 off; 1 on)" };
503+ o2::framework::Configurable<int > produceOmegaFrac{" produceOmegaFrac" , -1 , " Produce OmegaFrac (cpa for fraction extraction) (-1: auto; 0 off; 1 on)" };
500504};
501505
502506template <modes::Cascade cascadeType, auto & SelectionHistName, auto & FilterHistName>
@@ -515,6 +519,7 @@ class CascadeBuilder
515519 mProduceXis = utils::enableTable (" FXis_001" , table.produceXis .value , initContext);
516520 mProduceXiMasks = utils::enableTable (" FXiMasks_002" , table.produceXiMasks .value , initContext);
517521 mProduceXiExtras = utils::enableTable (" FXiExtras_001" , table.produceXiExtras .value , initContext);
522+ mProduceXiFrac = utils::enableTable (" FXiFrac_001" , table.produceXiFrac .value , initContext);
518523
519524 if (mProduceXis && mProduceLiteXis ) {
520525 LOG (fatal) << " FXis and FLiteXis are mutually exclusive -- enable only one. "
@@ -538,6 +543,7 @@ class CascadeBuilder
538543 mProduceLiteOmegas = utils::enableTable (" FLiteOmegas_001" , table.produceLiteOmegas .value , initContext);
539544 mProduceOmegaMasks = utils::enableTable (" FOmegaMasks_002" , table.produceOmegaMasks .value , initContext);
540545 mProduceOmegaExtras = utils::enableTable (" FOmegaExtras_001" , table.produceOmegaExtras .value , initContext);
546+ mProduceOmegaFrac = utils::enableTable (" FOmegaFrac_001" , table.produceOmegaFrac .value , initContext);
541547
542548 if (mProduceOmegas && mProduceLiteOmegas ) {
543549 LOG (fatal) << " FOmegas and FLiteOmegas are mutually exclusive -- enable only one. "
@@ -556,8 +562,8 @@ class CascadeBuilder
556562 }
557563 }
558564
559- if (mProduceXis || mProduceLiteXis || mProduceXiExtras || mProduceXiMasks ||
560- mProduceOmegas || mProduceLiteOmegas || mProduceOmegaMasks || mProduceOmegaExtras ) {
565+ if (mProduceXis || mProduceLiteXis || mProduceXiExtras || mProduceXiFrac || mProduceXiMasks ||
566+ mProduceOmegas || mProduceLiteOmegas || mProduceOmegaMasks || mProduceOmegaExtras || mProduceOmegaFrac ) {
561567 mFillAnyTable = true ;
562568 } else {
563569 LOG (info) << " No tables configured, Selection object will not be configured..." ;
@@ -701,6 +707,9 @@ class CascadeBuilder
701707 strangeTofPosDau,
702708 strangeTofNegDau);
703709 }
710+ if (mProduceXiFrac ) {
711+ cascadeProducts.producedXiFrac (cascade.casccosPA (col.posX (), col.posY (), col.posZ ()));
712+ }
704713 }
705714 if constexpr (modes::isEqual (cascadeType, modes::Cascade::kOmega )) {
706715 if (mProduceOmegas ) {
@@ -741,6 +750,9 @@ class CascadeBuilder
741750 strangeTofPosDau,
742751 strangeTofNegDau);
743752 }
753+ if (mProduceOmegaFrac ) {
754+ cascadeProducts.producedOmegaFrac (cascade.casccosPA (col.posX (), col.posY (), col.posZ ()));
755+ }
744756 }
745757 }
746758
@@ -754,10 +766,12 @@ class CascadeBuilder
754766 bool mProduceLiteXis = false ;
755767 bool mProduceXiMasks = false ;
756768 bool mProduceXiExtras = false ;
769+ bool mProduceXiFrac = false ;
757770 bool mProduceOmegas = false ;
758771 bool mProduceLiteOmegas = false ;
759772 bool mProduceOmegaMasks = false ;
760773 bool mProduceOmegaExtras = false ;
774+ bool mProduceOmegaFrac = false ;
761775};
762776
763777struct ConfCascadeTablesDerivedToDerived : o2::framework::ConfigurableGroup {
0 commit comments