diff --git a/PWGLF/Tasks/Strangeness/lambdapolarization.cxx b/PWGLF/Tasks/Strangeness/lambdapolarization.cxx index 489b70cc9b7..a22630d3b1c 100644 --- a/PWGLF/Tasks/Strangeness/lambdapolarization.cxx +++ b/PWGLF/Tasks/Strangeness/lambdapolarization.cxx @@ -125,6 +125,7 @@ struct lambdapolarization { Configurable cfgQvecRefBName{"cfgQvecRefBName", "TPCneg", "The name of detector for reference B"}; Configurable cfgPhiDepStudy{"cfgPhiDepStudy", false, "cfg for phi dependent study"}; + Configurable cfgUSESP{"cfgUSESP", false, "cfg for sp"}; Configurable cfgPhiDepSig{"cfgPhiDepSig", 0.2, "cfg for significance on phi dependent study"}; Configurable cfgShiftCorr{"cfgShiftCorr", false, "additional shift correction"}; @@ -134,6 +135,9 @@ struct lambdapolarization { Configurable cfgEffCor{"cfgEffCor", false, "flag to apply efficiency correction"}; Configurable cfgEffCorPath{"cfgEffCorPath", "", "path for pseudo efficiency correction"}; + Configurable cfgAccCor{"cfgAccCor", false, "flag to apply acceptance correction"}; + Configurable cfgAccCorPath{"cfgAccCorPath", "", "path for pseudo acceptance correction"}; + Configurable cfgCalcCum{"cfgCalcCum", false, "flag to calculate cumulants"}; Configurable cfgRapidityDep{"cfgRapidityDep", false, "flag for rapidity dependent study"}; @@ -167,6 +171,7 @@ struct lambdapolarization { int lastRunNumber = -999; std::vector shiftprofile{}; TProfile2D* EffMap = nullptr; + TProfile2D* AccMap = nullptr; std::string fullCCDBShiftCorrPath; @@ -697,9 +702,13 @@ struct lambdapolarization { 1.0 / EffMap->GetBinContent(EffMap->GetXaxis()->FindBin(v0.pt()), EffMap->GetYaxis()->FindBin(centrality))); } } + double weight = 1.0; + weight *= cfgEffCor ? 1.0 / EffMap->GetBinContent(EffMap->GetXaxis()->FindBin(v0.pt()), EffMap->GetYaxis()->FindBin(centrality)) : 1.; + weight *= cfgAccCor ? 1.0 / AccMap->GetBinContent(AccMap->GetXaxis()->FindBin(v0.pt()), AccMap->GetYaxis()->FindBin(v0.yLambda())) : 1.; - double weight = cfgEffCor ? 1.0 / EffMap->GetBinContent(EffMap->GetXaxis()->FindBin(v0.pt()), EffMap->GetYaxis()->FindBin(centrality)) : 1.; - double qvecMag = TMath::Sqrt(TMath::Power(collision.qvecIm()[3 + (nmode - 2) * 28], 2) + TMath::Power(collision.qvecRe()[3 + (nmode - 2) * 28], 2)); + double qvecMag = 1.0; + if (cfgUSESP) + qvecMag *= TMath::Sqrt(TMath::Power(collision.qvecIm()[3 + (nmode - 2) * 28], 2) + TMath::Power(collision.qvecRe()[3 + (nmode - 2) * 28], 2)); if (nmode == 2) { //////////// if (LambdaTag) { @@ -864,10 +873,13 @@ struct lambdapolarization { lastRunNumber = currentRunNumber; } } + auto bc = collision.bc_as(); if (cfgEffCor) { - auto bc = collision.bc_as(); EffMap = ccdb->getForTimeStamp(cfgEffCorPath.value, bc.timestamp()); } + if (cfgAccCor) { + AccMap = ccdb->getForTimeStamp(cfgAccCorPath.value, bc.timestamp()); + } for (int i = 2; i < cfgnMods + 2; i++) { if (cfgShiftCorrDef) { FillShiftCorrection(collision, i);