From 8c165e4d3b2c90caf2c9406e823898926cdf0296 Mon Sep 17 00:00:00 2001 From: Prottay Das Date: Fri, 26 Jun 2026 16:24:21 +0200 Subject: [PATCH] updated code with fine time rec --- PWGLF/TableProducer/Common/spvector.cxx | 46 ++++++++++++++++++------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/PWGLF/TableProducer/Common/spvector.cxx b/PWGLF/TableProducer/Common/spvector.cxx index be27699fc8f..b4504f74f7d 100644 --- a/PWGLF/TableProducer/Common/spvector.cxx +++ b/PWGLF/TableProducer/Common/spvector.cxx @@ -127,10 +127,13 @@ struct spvector { Configurable useCallibvertex{"useCallibvertex", false, "use calibration for vxy"}; Configurable coarse1{"coarse1", false, "RE1"}; Configurable fine1{"fine1", false, "REfine1"}; + Configurable finetime1{"finetime1", false, "REfinetime1"}; Configurable coarse2{"coarse2", false, "RE2"}; Configurable fine2{"fine2", false, "REfine2"}; + Configurable finetime2{"finetime2", false, "REfinetime2"}; Configurable coarse3{"coarse3", false, "RE3"}; Configurable fine3{"fine3", false, "REfine3"}; + Configurable finetime3{"finetime3", false, "REfinetime3"}; Configurable coarse4{"coarse4", false, "RE4"}; Configurable fine4{"fine4", false, "REfine4"}; Configurable coarse5{"coarse5", false, "RE5"}; @@ -139,6 +142,7 @@ struct spvector { Configurable fine6{"fine6", false, "REfine6"}; Configurable useRecentereSp{"useRecentereSp", false, "use Recentering with Sparse or THn"}; Configurable useRecenterefineSp{"useRecenterefineSp", false, "use fine Recentering with THn"}; + Configurable useTimeRecentering{"useTimeRecentering", false, "Use residual time recentering"}; Configurable ConfGainPath{"ConfGainPath", "Users/p/prottay/My/Object/NewPbPbpass4_10092024/gaincallib", "Path to gain calibration"}; Configurable ConfGainPathvxy{"ConfGainPathvxy", "Users/p/prottay/My/Object/swapcoords/PbPbpass4_20112024/recentervert", "Path to gain calibration for vxy"}; Configurable ConfRecentereSp{"ConfRecentereSp", "Users/p/prottay/My/Object/Testingwithsparse/NewPbPbpass4_17092024/recenter", "Sparse or THn Path for recentere"}; @@ -173,8 +177,9 @@ struct spvector { Configurable ConfRecenterevzSp6{"ConfRecenterevzSp6", "Users/p/prottay/My/Object/Testingwithsparse/NewPbPbpass4_17092024/recenter", "Sparse or THn Path for vz recentere6"}; Configurable ConfShiftC{"ConfShiftC", "Users/p/prottay/My/Object/Testinglocaltree/shiftcallib2", "Path to shift C"}; Configurable ConfShiftA{"ConfShiftA", "Users/p/prottay/My/Object/Testinglocaltree/shiftcallib2", "Path to shift A"}; - Configurable useTimeRecentering{"useTimeRecentering", false, "Use residual time recentering"}; - Configurable confRecentereTimeSp{"confRecentereTimeSp", "Users/p/prottay/My/Object/GCwithoutcfactorgoodVztimedep/From676541/TestDDlocal/2024PbPbpass3_23062026/recenterlast2", "Path to time recentering map"}; + Configurable confRecentereTimeSp1{"confRecentereTimeSp1", "Users/p/prottay/My/Object/GCwithoutcfactorgoodVztimedep/From676541/TestDDlocal/2024PbPbpass3_23062026/recenterlast2", "Path to time recentering map 1"}; + Configurable confRecentereTimeSp2{"confRecentereTimeSp2", "Users/p/prottay/My/Object/GCwithoutcfactorgoodVztimedep/From676541/TestDDlocal/2024PbPbpass3_23062026/recenterlast2", "Path to time recentering map 2"}; + Configurable confRecentereTimeSp3{"confRecentereTimeSp3", "Users/p/prottay/My/Object/GCwithoutcfactorgoodVztimedep/From676541/TestDDlocal/2024PbPbpass3_23062026/recenterlast3", "Path to time recentering map 3"}; // Event selection cuts - Alex /* @@ -314,7 +319,9 @@ struct spvector { std::array hrecenterevzSpA; // Array of 5 histograms TProfile3D* shiftprofileA; TProfile3D* shiftprofileC; - TH2F* hrecentereTimeSp = nullptr; + TH2F* hrecentereTimeSp1 = nullptr; + TH2F* hrecentereTimeSp2 = nullptr; + TH2F* hrecentereTimeSp3 = nullptr; Bool_t Correctcoarse(const THnF* hrecentereSp, auto centrality, auto vx, auto vy, auto vz, auto& qxZDCA, auto& qyZDCA, auto& qxZDCC, auto& qyZDCC) { @@ -652,6 +659,14 @@ struct spvector { resfine = Correctfine(hrecenterecentSpA[0], hrecenterevxSpA[0], hrecenterevySpA[0], hrecenterevzSpA[0], centrality, vx, vy, vz, qxZDCA, qyZDCA, qxZDCC, qyZDCC); } + if (finetime1 && (currentRunNumber != lastRunNumber)) { + hrecentereTimeSp1 = ccdb->getForTimeStamp(confRecentereTimeSp1.value, bc.timestamp()); + } + bool restime = false; + if (useTimeRecentering) { + restime = Correcttime(hrecentereTimeSp1, timeMin, qxZDCA, qyZDCA, qxZDCC, qyZDCC); + } + if (coarse2) { if (useRecentereSp && (currentRunNumber != lastRunNumber)) { hrecentereSpA[1] = ccdb->getForTimeStamp(ConfRecentereSp2.value, bc.timestamp()); @@ -669,6 +684,13 @@ struct spvector { resfine = Correctfine(hrecenterecentSpA[1], hrecenterevxSpA[1], hrecenterevySpA[1], hrecenterevzSpA[1], centrality, vx, vy, vz, qxZDCA, qyZDCA, qxZDCC, qyZDCC); } + if (finetime2 && (currentRunNumber != lastRunNumber)) { + hrecentereTimeSp2 = ccdb->getForTimeStamp(confRecentereTimeSp2.value, bc.timestamp()); + } + if (useTimeRecentering) { + restime = Correcttime(hrecentereTimeSp2, timeMin, qxZDCA, qyZDCA, qxZDCC, qyZDCC); + } + if (coarse3) { if (useRecentereSp && (currentRunNumber != lastRunNumber)) { hrecentereSpA[2] = ccdb->getForTimeStamp(ConfRecentereSp3.value, bc.timestamp()); @@ -686,6 +708,13 @@ struct spvector { resfine = Correctfine(hrecenterecentSpA[2], hrecenterevxSpA[2], hrecenterevySpA[2], hrecenterevzSpA[2], centrality, vx, vy, vz, qxZDCA, qyZDCA, qxZDCC, qyZDCC); } + if (finetime3 && (currentRunNumber != lastRunNumber)) { + hrecentereTimeSp3 = ccdb->getForTimeStamp(confRecentereTimeSp3.value, bc.timestamp()); + } + if (useTimeRecentering) { + restime = Correcttime(hrecentereTimeSp3, timeMin, qxZDCA, qyZDCA, qxZDCC, qyZDCC); + } + if (coarse4) { if (useRecentereSp && (currentRunNumber != lastRunNumber)) { hrecentereSpA[3] = ccdb->getForTimeStamp(ConfRecentereSp4.value, bc.timestamp()); @@ -741,16 +770,7 @@ struct spvector { LOG(info) << "Histograms are null"; } - if (useTimeRecentering && (currentRunNumber != lastRunNumber)) { - hrecentereTimeSp = ccdb->getForTimeStamp(confRecentereTimeSp.value, bc.timestamp()); - } - - bool restime = false; - if (useTimeRecentering) { - restime = Correcttime(hrecentereTimeSp, timeMin, qxZDCA, qyZDCA, qxZDCC, qyZDCC); - } - - if (restime == 0) { + if (useTimeRecentering && restime == 0 && check == 0) { LOG(info) << "Histograms are null"; }