diff --git a/PWGLF/Tasks/GlobalEventProperties/flattenictyPikp.cxx b/PWGLF/Tasks/GlobalEventProperties/flattenictyPikp.cxx index d5bec464235..971a95c8714 100644 --- a/PWGLF/Tasks/GlobalEventProperties/flattenictyPikp.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/flattenictyPikp.cxx @@ -229,12 +229,18 @@ struct FlattenictyPikp { Configurable cfgFillV0Hist{"cfgFillV0Hist", false, "fill V0 histograms"}; Configurable cfgFillChrgType{"cfgFillChrgType", false, "fill histograms per charge types"}; Configurable cfgFillChrgTypeV0s{"cfgFillChrgTypeV0s", false, "fill V0s histograms per charge types"}; - Configurable> paramsFuncMIPpos{"paramsFuncMIPpos", std::vector{-1.f}, "parameters of pol2"}; - Configurable> paramsFuncMIPneg{"paramsFuncMIPneg", std::vector{-1.f}, "parameters of pol2"}; - Configurable> paramsFuncMIPall{"paramsFuncMIPall", std::vector{-1.f}, "parameters of pol2"}; - Configurable> paramsFuncPlateaUpos{"paramsFuncPlateaUpos", std::vector{-1.f}, "parameters of pol2"}; - Configurable> paramsFuncPlateaUneg{"paramsFuncPlateaUneg", std::vector{-1.f}, "parameters of pol2"}; - Configurable> paramsFuncPlateaUall{"paramsFuncPlateaUall", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncMIPposEtaP{"paramsFuncMIPposEtaP", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncMIPnegEtaP{"paramsFuncMIPnegEtaP", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncMIPallEtaP{"paramsFuncMIPallEtaP", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncMIPposEtaN{"paramsFuncMIPposEtaN", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncMIPnegEtaN{"paramsFuncMIPnegEtaN", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncMIPallEtaN{"paramsFuncMIPallEtaN", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncPlateaUposEtaP{"paramsFuncPlateaUposEtaP", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncPlateaUnegEtaP{"paramsFuncPlateaUnegEtaP", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncPlateaUallEtaP{"paramsFuncPlateaUallEtaP", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncPlateaUposEtaN{"paramsFuncPlateaUposEtaN", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncPlateaUnegEtaN{"paramsFuncPlateaUnegEtaN", std::vector{-1.f}, "parameters of pol2"}; + Configurable> paramsFuncPlateaUallEtaN{"paramsFuncPlateaUallEtaN", std::vector{-1.f}, "parameters of pol2"}; Configurable cfgGainEqCcdbPath{"cfgGainEqCcdbPath", "Users/g/gbencedi/flattenicity/GainEq", "CCDB path for gain equalization constants"}; Configurable cfgVtxEqCcdbPath{"cfgVtxEqCcdbPath", "Users/g/gbencedi/flattenicity/ZvtxEq", "CCDB path for z-vertex equalization constants"}; Configurable cfgDeDxCalibCcdbPath{"cfgDeDxCalibCcdbPath", "Users/g/gbencedi/flattenicity/dEdxCalib", "CCDB path for dEdx calibration"}; @@ -403,25 +409,38 @@ struct FlattenictyPikp { void init(InitContext&) { - auto vecParamsMIPpos = (std::vector)paramsFuncMIPpos; - auto vecParamsMIPneg = (std::vector)paramsFuncMIPneg; - auto vecParamsMIPall = (std::vector)paramsFuncMIPall; - auto vecParamsPLApos = (std::vector)paramsFuncPlateaUpos; - auto vecParamsPLAneg = (std::vector)paramsFuncPlateaUneg; - auto vecParamsPLAall = (std::vector)paramsFuncPlateaUall; + auto vecParamsMIPposEtaP = (std::vector)paramsFuncMIPposEtaP; + auto vecParamsMIPposEtaN = (std::vector)paramsFuncMIPposEtaN; + auto vecParamsMIPnegEtaP = (std::vector)paramsFuncMIPnegEtaP; + auto vecParamsMIPnegEtaN = (std::vector)paramsFuncMIPnegEtaN; + auto vecParamsMIPallEtaP = (std::vector)paramsFuncMIPallEtaP; + auto vecParamsMIPallEtaN = (std::vector)paramsFuncMIPallEtaN; + + auto vecParamsPLAposEtaP = (std::vector)paramsFuncPlateaUposEtaP; + auto vecParamsPLAposEtaN = (std::vector)paramsFuncPlateaUposEtaN; + auto vecParamsPLAnegEtaP = (std::vector)paramsFuncPlateaUnegEtaP; + auto vecParamsPLAnegEtaN = (std::vector)paramsFuncPlateaUnegEtaN; + auto vecParamsPLAallEtaP = (std::vector)paramsFuncPlateaUallEtaP; + auto vecParamsPLAallEtaN = (std::vector)paramsFuncPlateaUallEtaN; auto addVec = [&](std::vector>& targetVec, const std::string& name, bool isMIP) { if (isMIP) { - targetVec.emplace_back(vecParamsMIPpos); - targetVec.emplace_back(vecParamsMIPneg); - targetVec.emplace_back(vecParamsMIPall); + targetVec.emplace_back(vecParamsMIPposEtaP); + targetVec.emplace_back(vecParamsMIPnegEtaP); + targetVec.emplace_back(vecParamsMIPallEtaP); + targetVec.emplace_back(vecParamsMIPposEtaN); + targetVec.emplace_back(vecParamsMIPnegEtaN); + targetVec.emplace_back(vecParamsMIPallEtaN); if (!vecParamsMIP.size()) { LOG(info) << "size of " << name << "is zero."; } } else { - targetVec.emplace_back(vecParamsPLApos); - targetVec.emplace_back(vecParamsPLAneg); - targetVec.emplace_back(vecParamsPLAall); + targetVec.emplace_back(vecParamsPLAposEtaP); + targetVec.emplace_back(vecParamsPLAnegEtaP); + targetVec.emplace_back(vecParamsPLAallEtaP); + targetVec.emplace_back(vecParamsPLAposEtaN); + targetVec.emplace_back(vecParamsPLAnegEtaN); + targetVec.emplace_back(vecParamsPLAallEtaN); if (!vecParamsPLA.size()) { LOG(info) << "size of " << name << "is zero."; } @@ -1144,12 +1163,24 @@ struct FlattenictyPikp { float valCalib = -1.; if constexpr (isChrg) { if (track.sign() * track.tpcInnerParam() > Cnull) { - valCalib = fCalib.at(0)->Eval(track.eta()); + if (track.eta() >= 0) { + valCalib = fCalib.at(0)->Eval(track.eta()); + } else { + valCalib = fCalib.at(3)->Eval(track.eta()); + } } else { - valCalib = fCalib.at(1)->Eval(track.eta()); + if (track.eta() >= 0) { + valCalib = fCalib.at(1)->Eval(track.eta()); + } else { + valCalib = fCalib.at(4)->Eval(track.eta()); + } } } else { - valCalib = fCalib.at(2)->Eval(track.eta()); + if (track.eta() >= 0) { + valCalib = fCalib.at(2)->Eval(track.eta()); + } else { + valCalib = fCalib.at(5)->Eval(track.eta()); + } } return valCalib; } @@ -2233,7 +2264,6 @@ struct FlattenictyPikp { // using Particles = soa::Filtered; // expressions::Filter primaries = (aod::mcparticle::flags & (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary) == (uint8_t)o2::aod::mcparticle::enums::PhysicalPrimary; - void processMCclosure(Colls::iterator const& collision, MyPIDTracks const& tracks, MyLabeledTracks const& mcTrackLabels,