1919#include " GFWPowerArray.h"
2020#include " GFWWeights.h"
2121
22+ #include " PWGLF/DataModel/LFStrangenessPIDTables.h"
2223#include " PWGLF/DataModel/LFStrangenessTables.h"
2324#include " PWGMM/Mult/DataModel/Index.h"
2425
@@ -143,8 +144,8 @@ struct FlowGfwOmegaXi {
143144 O2_DEFINE_CONFIGURABLE (cfgCutPtOmegaMax, float , 10 .0f , " Maximal pT for Omega" )
144145 O2_DEFINE_CONFIGURABLE (cfgCutPtPIDDauMin, float , 0 .15f , " Minimal pT for daughter PID" )
145146 O2_DEFINE_CONFIGURABLE (cfgCutPtPIDbachMin, float , 0 .15f , " Minimal pT for daughter PID" )
146- O2_DEFINE_CONFIGURABLE (cfgCutPtPIDposdauMin , float , 0 .15f , " Minimal pT for daughter PID" )
147- O2_DEFINE_CONFIGURABLE (cfgCutPtPIDnegdauMin , float , 0 .15f , " Minimal pT for daughter PID" )
147+ O2_DEFINE_CONFIGURABLE (cfgCutPtPIDdauLaPrMin , float , 0 .15f , " Minimal pT for daughter PID" )
148+ O2_DEFINE_CONFIGURABLE (cfgCutPtPIDdauLaPiMin , float , 0 .15f , " Minimal pT for daughter PID" )
148149 // track quality selections for daughter track
149150 O2_DEFINE_CONFIGURABLE (cfgCheckITSNCls, bool , false , " check minimum number of ITS clusters" )
150151 O2_DEFINE_CONFIGURABLE (cfgCheckITSHits, bool , false , " check minimum number of ITS hits" )
@@ -438,8 +439,8 @@ struct FlowGfwOmegaXi {
438439 registry.add (" QAhisto/Xi/hqadcaCascV0daubefore" , " " , {HistType::kTH1D , {{100 , 0 , 1 }}});
439440 registry.add (" QAhisto/Xi/hqadcaCascV0dauafter" , " " , {HistType::kTH1D , {{100 , 0 , 1 }}});
440441
441- registry.add (" QAhisto/Xi /hqaCascRadiusbefore" , " " , {HistType::kTH1D , {{200 , -10 , 10 }}});
442- registry.add (" QAhisto/Xi /hqaCascRadiusafter" , " " , {HistType::kTH1D , {{200 , -10 , 10 }}});
442+ registry.add (" QAhisto/Omega /hqaCascRadiusbefore" , " " , {HistType::kTH1D , {{200 , -10 , 10 }}});
443+ registry.add (" QAhisto/Omega /hqaCascRadiusafter" , " " , {HistType::kTH1D , {{200 , -10 , 10 }}});
443444 registry.add (" QAhisto/Omega/hqaCasccosPAbefore" , " " , {HistType::kTH1D , {{1000 , 0.95 , 1 }}});
444445 registry.add (" QAhisto/Omega/hqaCasccosPAafter" , " " , {HistType::kTH1D , {{1000 , 0.95 , 1 }}});
445446 registry.add (" QAhisto/Omega/hqaCascV0cosPAbefore" , " " , {HistType::kTH1D , {{1000 , 0.95 , 1 }}});
@@ -984,7 +985,7 @@ struct FlowGfwOmegaXi {
984985 return true ;
985986 }
986987
987- void processData (AodCollisions::iterator const & collision, aod::BCsWithTimestamps const &, AodTracks const & tracks, aod::CascDataExt const & Cascades, aod::V0Datas const & V0s, DaughterTracks const &)
988+ void processData (AodCollisions::iterator const & collision, aod::BCsWithTimestamps const &, AodTracks const & tracks, soa::Join< aod::CascDataExt, aod::CascTOFNSigmas> const & Cascades, aod::V0Datas const & V0s, DaughterTracks const &)
988989 {
989990 o2::aod::ITSResponse itsResponse;
990991 int nTot = tracks.size ();
@@ -1051,8 +1052,8 @@ struct FlowGfwOmegaXi {
10511052 // fill GFW of V0 flow
10521053 double lowpt = trkQualityOpts.cfgCutPtPIDDauMin .value ;
10531054 double bachPtcut = trkQualityOpts.cfgCutPtPIDbachMin .value ;
1054- double posdauPtcut = trkQualityOpts.cfgCutPtPIDposdauMin .value ;
1055- double negdauPtcut = trkQualityOpts.cfgCutPtPIDnegdauMin .value ;
1055+ double dauLaPrPtcut = trkQualityOpts.cfgCutPtPIDdauLaPrMin .value ;
1056+ double dauLaPiPtcut = trkQualityOpts.cfgCutPtPIDdauLaPiMin .value ;
10561057
10571058 if (cfgOutputV0) {
10581059 for (const auto & v0 : V0s) {
@@ -1061,7 +1062,6 @@ struct FlowGfwOmegaXi {
10611062 // check tpc
10621063 bool isK0s = false ;
10631064 bool isLambda = false ;
1064-
10651065 if (v0posdau.pt () < trkQualityOpts.cfgCutPtDauMin .value || v0posdau.pt () > trkQualityOpts.cfgCutPtDauMax .value )
10661066 continue ;
10671067 if (v0negdau.pt () < trkQualityOpts.cfgCutPtDauMin .value || v0negdau.pt () > trkQualityOpts.cfgCutPtDauMax .value )
@@ -1227,14 +1227,14 @@ struct FlowGfwOmegaXi {
12271227 if (casc.pt () > trkQualityOpts.cfgCutPtOmegaMin .value && casc.pt () < trkQualityOpts.cfgCutPtOmegaMax .value ) {
12281228 if (casc.sign () < 0 && std::fabs (casc.yOmega ()) < cfgCasc_rapidity &&
12291229 (std::fabs (bachelor.tpcNSigmaKa ()) < cfgNSigma[2 ] && std::fabs (posdau.tpcNSigmaPr ()) < cfgNSigma[1 ] && std::fabs (negdau.tpcNSigmaPi ()) < cfgNSigma[0 ]) &&
1230- ((std::fabs (bachelor. tofNSigmaKa ()) < cfgNSigma[5 ] || bachelor.pt () < bachPtcut) && (std::fabs (posdau. tofNSigmaPr ()) < cfgNSigma[4 ] || posdau.pt () < posdauPtcut ) && (std::fabs (negdau. tofNSigmaPi ()) < cfgNSigma[3 ] || negdau.pt () < negdauPtcut )) &&
1231- ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Kaon>(bachelor)) < cfgNSigma[8 ]) || bachelor.pt () < bachPtcut) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Proton>(posdau)) < cfgNSigma[7 ]) || posdau.pt () < posdauPtcut ) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(negdau)) < cfgNSigma[6 ]) || negdau.pt () < negdauPtcut )) {
1230+ ((std::fabs (casc. tofNSigmaOmKa ()) < cfgNSigma[5 ] || bachelor.pt () < bachPtcut) && (std::fabs (casc. tofNSigmaOmLaPr ()) < cfgNSigma[4 ] || posdau.pt () < dauLaPrPtcut ) && (std::fabs (casc. tofNSigmaOmLaPi ()) < cfgNSigma[3 ] || negdau.pt () < dauLaPiPtcut )) &&
1231+ ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Kaon>(bachelor)) < cfgNSigma[8 ]) || bachelor.pt () < bachPtcut) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Proton>(posdau)) < cfgNSigma[7 ]) || posdau.pt () < dauLaPrPtcut ) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(negdau)) < cfgNSigma[6 ]) || negdau.pt () < dauLaPiPtcut )) {
12321232 registry.fill (HIST (" InvMassOmega_all" ), casc.pt (), casc.mOmega (), casc.eta (), cent);
12331233 isOmega = true ;
12341234 } else if (casc.sign () > 0 && std::fabs (casc.yOmega ()) < cfgCasc_rapidity &&
12351235 (std::fabs (bachelor.tpcNSigmaKa ()) < cfgNSigma[2 ] && std::fabs (negdau.tpcNSigmaPr ()) < cfgNSigma[1 ] && std::fabs (posdau.tpcNSigmaPi ()) < cfgNSigma[0 ]) &&
1236- ((std::fabs (bachelor. tofNSigmaKa ()) < cfgNSigma[5 ] || bachelor.pt () < bachPtcut) && (std::fabs (negdau. tofNSigmaPr ()) < cfgNSigma[4 ] || negdau.pt () < negdauPtcut ) && (std::fabs (posdau. tofNSigmaPi ()) < cfgNSigma[3 ] || posdau.pt () < posdauPtcut )) &&
1237- ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Kaon>(bachelor)) < cfgNSigma[8 ]) || bachelor.pt () < bachPtcut) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Proton>(posdau )) < cfgNSigma[7 ]) || posdau .pt () < posdauPtcut ) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(negdau )) < cfgNSigma[6 ]) || negdau .pt () < negdauPtcut )) {
1236+ ((std::fabs (casc. tofNSigmaOmKa ()) < cfgNSigma[5 ] || bachelor.pt () < bachPtcut) && (std::fabs (casc. tofNSigmaOmLaPr ()) < cfgNSigma[4 ] || negdau.pt () < dauLaPrPtcut ) && (std::fabs (casc. tofNSigmaOmLaPi ()) < cfgNSigma[3 ] || posdau.pt () < dauLaPiPtcut )) &&
1237+ ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Kaon>(bachelor)) < cfgNSigma[8 ]) || bachelor.pt () < bachPtcut) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Proton>(negdau )) < cfgNSigma[7 ]) || negdau .pt () < dauLaPrPtcut ) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(posdau )) < cfgNSigma[6 ]) || posdau .pt () < dauLaPiPtcut )) {
12381238 registry.fill (HIST (" InvMassOmega_all" ), casc.pt (), casc.mOmega (), casc.eta (), cent);
12391239 isOmega = true ;
12401240 }
@@ -1243,14 +1243,14 @@ struct FlowGfwOmegaXi {
12431243 if (casc.pt () > trkQualityOpts.cfgCutPtXiMin .value && casc.pt () < trkQualityOpts.cfgCutPtXiMax .value ) {
12441244 if (casc.sign () < 0 && std::fabs (casc.yXi ()) < cfgCasc_rapidity &&
12451245 (std::fabs (bachelor.tpcNSigmaPi ()) < cfgNSigma[0 ] && std::fabs (posdau.tpcNSigmaPr ()) < cfgNSigma[1 ] && std::fabs (negdau.tpcNSigmaPi ()) < cfgNSigma[0 ]) &&
1246- ((std::fabs (bachelor. tofNSigmaPi ()) < cfgNSigma[3 ] || bachelor.pt () < bachPtcut) && (std::fabs (posdau. tofNSigmaPr ()) < cfgNSigma[4 ] || posdau.pt () < posdauPtcut ) && (std::fabs (negdau. tofNSigmaPi ()) < cfgNSigma[3 ] || negdau.pt () < negdauPtcut )) &&
1247- ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(bachelor)) < cfgNSigma[6 ]) || bachelor.pt () < bachPtcut) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Proton>(posdau)) < cfgNSigma[7 ]) || posdau.pt () < posdauPtcut ) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(negdau)) < cfgNSigma[6 ]) || negdau.pt () < negdauPtcut )) {
1246+ ((std::fabs (casc. tofNSigmaXiPi ()) < cfgNSigma[3 ] || bachelor.pt () < bachPtcut) && (std::fabs (casc. tofNSigmaXiLaPr ()) < cfgNSigma[4 ] || posdau.pt () < dauLaPrPtcut ) && (std::fabs (casc. tofNSigmaXiLaPi ()) < cfgNSigma[3 ] || negdau.pt () < dauLaPiPtcut )) &&
1247+ ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(bachelor)) < cfgNSigma[6 ]) || bachelor.pt () < bachPtcut) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Proton>(posdau)) < cfgNSigma[7 ]) || posdau.pt () < dauLaPrPtcut ) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(negdau)) < cfgNSigma[6 ]) || negdau.pt () < dauLaPiPtcut )) {
12481248 registry.fill (HIST (" InvMassXi_all" ), casc.pt (), casc.mXi (), casc.eta (), cent);
12491249 isXi = true ;
12501250 } else if (casc.sign () > 0 && std::fabs (casc.yXi ()) < cfgCasc_rapidity &&
12511251 (std::fabs (bachelor.tpcNSigmaPi ()) < cfgNSigma[0 ] && std::fabs (negdau.tpcNSigmaPr ()) < cfgNSigma[1 ] && std::fabs (posdau.tpcNSigmaPi ()) < cfgNSigma[0 ]) &&
1252- ((std::fabs (bachelor. tofNSigmaPi ()) < cfgNSigma[3 ] || bachelor.pt () < bachPtcut) && (std::fabs (negdau. tofNSigmaPr ()) < cfgNSigma[4 ] || negdau.pt () < negdauPtcut ) && (std::fabs (posdau. tofNSigmaPi ()) < cfgNSigma[3 ] || posdau.pt () < posdauPtcut )) &&
1253- ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(bachelor)) < cfgNSigma[6 ]) || bachelor.pt () < bachPtcut) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Proton>(posdau )) < cfgNSigma[7 ]) || posdau .pt () < posdauPtcut ) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(negdau )) < cfgNSigma[6 ]) || negdau .pt () < negdauPtcut )) {
1252+ ((std::fabs (casc. tofNSigmaXiPi ()) < cfgNSigma[3 ] || bachelor.pt () < bachPtcut) && (std::fabs (casc. tofNSigmaXiLaPr ()) < cfgNSigma[4 ] || negdau.pt () < dauLaPrPtcut ) && (std::fabs (casc. tofNSigmaXiLaPi ()) < cfgNSigma[3 ] || posdau.pt () < dauLaPiPtcut )) &&
1253+ ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(bachelor)) < cfgNSigma[6 ]) || bachelor.pt () < bachPtcut) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Proton>(negdau )) < cfgNSigma[7 ]) || negdau .pt () < dauLaPrPtcut ) && ((std::fabs (itsResponse.nSigmaITS <o2::track::PID::Pion>(posdau )) < cfgNSigma[6 ]) || posdau .pt () < dauLaPiPtcut )) {
12541254 registry.fill (HIST (" InvMassXi_all" ), casc.pt (), casc.mXi (), casc.eta (), cent);
12551255 isXi = true ;
12561256 }
0 commit comments