From bf4e7aa08b72c234770265aa5ae8d8aa004d420d Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Wed, 20 Mar 2024 15:39:36 +0000 Subject: [PATCH] Please consider the following formatting changes --- PWGUD/Core/SGSelector.h | 288 ++++++------ PWGUD/Tasks/SGSpectraAnalyzer.cxx | 701 ++++++++++++++--------------- PWGUD/Tasks/SG_D0_Analyzer.cxx | 155 ++++--- PWGUD/Tasks/SG_FIT_Analyzer.cxx | 706 ++++++++++++++++-------------- 4 files changed, 960 insertions(+), 890 deletions(-) diff --git a/PWGUD/Core/SGSelector.h b/PWGUD/Core/SGSelector.h index 31eeaa006ed..71f3b3c6037 100644 --- a/PWGUD/Core/SGSelector.h +++ b/PWGUD/Core/SGSelector.h @@ -20,153 +20,169 @@ #include "PWGUD/Core/UDHelpers.h" #include "PWGUD/Core/SGCutParHolder.h" -template +template struct SelectionResult { int value; // The original integer return value - BC* bc; // Pointer to the BC object + BC* bc; // Pointer to the BC object }; -class SGSelector { -public: - SGSelector() : fPDG(TDatabasePDG::Instance()) {} +class SGSelector +{ + public: + SGSelector() : fPDG(TDatabasePDG::Instance()) {} - template - int Print(SGCutParHolder diffCuts, CC& collision, BCs& bcRange, TCs& tracks, FWs& fwdtracks) { - LOGF(info, "Size of array %i", collision.size()); - return 1; - } + template + int Print(SGCutParHolder diffCuts, CC& collision, BCs& bcRange, TCs& tracks, FWs& fwdtracks) + { + LOGF(info, "Size of array %i", collision.size()); + return 1; + } - template - SelectionResult IsSelected(SGCutParHolder diffCuts, CC& collision, BCs& bcRange, BC& oldbc) { -// LOGF(info, "Collision %f", collision.collisionTime()); -// LOGF(info, "Number of close BCs: %i", bcRange.size()); - SelectionResult result; - result.bc = &oldbc; - if (collision.numContrib() < diffCuts.minNTracks() || collision.numContrib() > diffCuts.maxNTracks()) { - result.value= 4; - return result; + template + SelectionResult IsSelected(SGCutParHolder diffCuts, CC& collision, BCs& bcRange, BC& oldbc) + { + // LOGF(info, "Collision %f", collision.collisionTime()); + // LOGF(info, "Number of close BCs: %i", bcRange.size()); + SelectionResult result; + result.bc = &oldbc; + if (collision.numContrib() < diffCuts.minNTracks() || collision.numContrib() > diffCuts.maxNTracks()) { + result.value = 4; + return result; + } + auto newbc = oldbc; + auto newznabc = oldbc; + auto newzncbc = oldbc; + bool gA = true, gC = true; + bool gzA = true, gzC = true; + for (auto const& bc : bcRange) { + if (!udhelpers::cleanFITA(bc, diffCuts.maxFITtime(), diffCuts.FITAmpLimits())) { + if (gA) + newbc = bc; + if (!gA && std::abs(static_cast(bc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newbc.globalBC() - oldbc.globalBC()))) + newbc = bc; + gA = false; + } + if (!udhelpers::cleanFITC(bc, diffCuts.maxFITtime(), diffCuts.FITAmpLimits())) { + if (gC) + newbc = bc; + if (!gC && std::abs(static_cast(bc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newbc.globalBC() - oldbc.globalBC()))) + newbc = bc; + gC = false; + } + } + if (!gA && !gC) { + result.value = 3; + return result; + } + for (auto const& bc : bcRange) { + if (bc.has_zdc()) { + auto zdc = bc.zdc(); + if (std::abs(static_cast(zdc.timeZNA())) < 2 && zdc.energyCommonZNA() > 0) { + if (gzA) { + newznabc = bc; + } + if (!gzA && std::abs(static_cast(bc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newznabc.globalBC() - oldbc.globalBC()))) { + newznabc = bc; + } + gzA = false; + } + if (std::abs(static_cast(zdc.timeZNC())) < 2 && zdc.energyCommonZNC() > 0) { + if (gzC) { + newzncbc = bc; + } + if (!gzC && std::abs(static_cast(bc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newzncbc.globalBC() - oldbc.globalBC()))) { + newzncbc = bc; + } + gzC = false; + } + } + } + if (gA && gC) { + if (!gzA && !gzC) { + if (std::abs(static_cast(newznabc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newzncbc.globalBC() - oldbc.globalBC()))) { + newzncbc = newznabc; + newbc = newznabc; + } else { + newznabc = newzncbc; + newbc = newzncbc; + } + } else if (!gzA) { + newzncbc = newznabc; + newbc = newznabc; + } else if (!gzC) { + newznabc = newzncbc; + newbc = newzncbc; + } + } else if (!gA) { + if (!gzA) { + if (newbc.globalBC() == newznabc.globalBC()) { + newzncbc = newznabc; + } else if (std::abs(static_cast(newznabc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newbc.globalBC() - oldbc.globalBC()))) { + newzncbc = newznabc; + newbc = newznabc; + } else { + newzncbc = newbc; + newznabc = newbc; + } + } else { + newzncbc = newbc; + newznabc = newbc; + } + } else if (!gC) { + if (!gzC) { + if (newbc.globalBC() == newzncbc.globalBC()) { + newznabc = newzncbc; + } else if (std::abs(static_cast(newzncbc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newbc.globalBC() - oldbc.globalBC()))) { + newznabc = newzncbc; + newbc = newzncbc; + } else { + newzncbc = newbc; + newznabc = newbc; } - auto newbc = oldbc; - auto newznabc = oldbc; - auto newzncbc = oldbc; - bool gA = true, gC = true; - bool gzA = true, gzC = true; - for (auto const& bc : bcRange) { - if (!udhelpers::cleanFITA(bc, diffCuts.maxFITtime(), diffCuts.FITAmpLimits())) { - if (gA) newbc = bc; - if (!gA && std::abs(static_cast(bc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newbc.globalBC()-oldbc.globalBC()))) newbc = bc; - gA = false; - } - if (!udhelpers::cleanFITC(bc, diffCuts.maxFITtime(), diffCuts.FITAmpLimits())) { - if (gC) newbc = bc; - if (!gC && std::abs(static_cast(bc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newbc.globalBC()-oldbc.globalBC()))) newbc = bc; - gC = false; - } - } - if (!gA && !gC){ - result.value = 3; - return result; - } - for (auto const& bc : bcRange) { - if (bc.has_zdc()) { - auto zdc = bc.zdc(); - if (std::abs(static_cast(zdc.timeZNA())) < 2 && zdc.energyCommonZNA() > 0){ - if (gzA) { - newznabc = bc; - } - if (!gzA && std::abs(static_cast(bc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newznabc.globalBC()-oldbc.globalBC()))){ - newznabc = bc; - } - gzA = false; - } - if (std::abs(static_cast(zdc.timeZNC())) < 2 && zdc.energyCommonZNC() > 0){ - if (gzC){ - newzncbc = bc; - } - if (!gzC && std::abs(static_cast(bc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newzncbc.globalBC()-oldbc.globalBC()))){ - newzncbc = bc; - } - gzC = false; - } - } - } - if (gA && gC){ - if (!gzA && !gzC){ - if (std::abs(static_cast(newznabc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newzncbc.globalBC()-oldbc.globalBC()))){ - newzncbc = newznabc; - newbc = newznabc; - } else { - newznabc = newzncbc; - newbc = newzncbc; - } - } else if (!gzA){ - newzncbc = newznabc; - newbc = newznabc; - } else if (!gzC){ - newznabc = newzncbc; - newbc = newzncbc; - } - } else if (!gA){ - if (!gzA){ - if (newbc.globalBC() == newznabc.globalBC()) { - newzncbc = newznabc; - } else if (std::abs(static_cast(newznabc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newbc.globalBC()-oldbc.globalBC()))){ - newzncbc = newznabc; - newbc = newznabc; - } else { - newzncbc = newbc; - newznabc = newbc; - } - } else { - newzncbc = newbc; - newznabc = newbc; - } - } else if (!gC){ - if (!gzC){ - if(newbc.globalBC() == newzncbc.globalBC()){ - newznabc = newzncbc; - } else if (std::abs(static_cast(newzncbc.globalBC() - oldbc.globalBC())) < std::abs(static_cast(newbc.globalBC()-oldbc.globalBC()))){ - newznabc = newzncbc; - newbc = newzncbc; - } else { - newzncbc = newbc; - newznabc = newbc; - } - } else { - newzncbc = newbc; - newznabc = newbc; - } - } - result.bc = &newbc; - //LOGF(info, "Old BC: %i, New BC: %i",oldbc.globalBC(), newbc.globalBC()); - result.value = gA && gC ? 2 : (gA ? 0 : 1); - return result; -} + } else { + newzncbc = newbc; + newznabc = newbc; + } + } + result.bc = &newbc; + // LOGF(info, "Old BC: %i, New BC: %i",oldbc.globalBC(), newbc.globalBC()); + result.value = gA && gC ? 2 : (gA ? 0 : 1); + return result; + } template - int FwdTrkSelector(TFwdTrack const& fwdtrack) { - if (fwdtrack.trackType() == 0 || fwdtrack.trackType() == 3) return 1; - else return 0; + int FwdTrkSelector(TFwdTrack const& fwdtrack) + { + if (fwdtrack.trackType() == 0 || fwdtrack.trackType() == 3) + return 1; + else + return 0; + } + + template + int trueGap(CC& collision, float fv0_cut, float zdc_cut) + { + int gap = collision.gapSide(); + int true_gap = gap; + if (gap == 0) { + if (collision.totalFV0AmplitudeA() > fv0_cut || collision.energyCommonZNA() > zdc_cut) + true_gap = -1; + } else if (gap == 1) { + if (collision.energyCommonZNC() > zdc_cut) + true_gap = -1; + } else if (gap == 2) { + if ((collision.totalFV0AmplitudeA() > fv0_cut || collision.energyCommonZNA() > zdc_cut) && (collision.energyCommonZNC() > zdc_cut)) + true_gap = -1; + else if (collision.totalFV0AmplitudeA() > fv0_cut || collision.energyCommonZNA() > zdc_cut) + true_gap = 1; + else if (collision.energyCommonZNC() > zdc_cut) + true_gap = 0; } + return true_gap; + } - template -int trueGap(CC& collision, float fv0_cut, float zdc_cut){ - int gap = collision.gapSide(); - int true_gap = gap; - if (gap == 0){ - if (collision.totalFV0AmplitudeA() > fv0_cut || collision.energyCommonZNA() > zdc_cut) true_gap = -1; - } else if (gap == 1){ - if (collision.energyCommonZNC() > zdc_cut) true_gap = -1; - } else if (gap == 2){ - if ((collision.totalFV0AmplitudeA() > fv0_cut || collision.energyCommonZNA() > zdc_cut) && (collision.energyCommonZNC() > zdc_cut)) true_gap = -1; - else if (collision.totalFV0AmplitudeA() > fv0_cut || collision.energyCommonZNA() > zdc_cut) true_gap = 1; - else if (collision.energyCommonZNC() > zdc_cut) true_gap = 0; - } - return true_gap; -} -private: - TDatabasePDG* fPDG; + private: + TDatabasePDG* fPDG; }; #endif // PWGUD_CORE_SGSELECTOR_H_ - diff --git a/PWGUD/Tasks/SGSpectraAnalyzer.cxx b/PWGUD/Tasks/SGSpectraAnalyzer.cxx index ae7ec198777..bb2fac43882 100644 --- a/PWGUD/Tasks/SGSpectraAnalyzer.cxx +++ b/PWGUD/Tasks/SGSpectraAnalyzer.cxx @@ -28,10 +28,10 @@ using namespace o2; using namespace o2::aod; using namespace o2::framework; using namespace o2::framework::expressions; -#define mpion 0.1396 +#define mpion 0.1396 #define mkaon 0.4937 #define mproton 0.9383 -struct SGSpectraAnalyzer{ +struct SGSpectraAnalyzer { SGSelector sgSelector; Configurable FV0_cut{"FV0", 100., "FV0A threshold"}; Configurable ZDC_cut{"ZDC", 10., "ZDC threshold"}; @@ -39,371 +39,386 @@ struct SGSpectraAnalyzer{ Configurable use_tof{"Use_TOF", true, "TOF PID"}; HistogramRegistry registry{ "registry", - { - // Pion histograms for each eta bin and gapSide - {"ITS_Cluster_nonPV", "ITS Cluster Size", {HistType::kTH1F, {{140, -.5, 139.5}}}}, - {"ITS_Cluster_PV", "ITS Cluster Size", {HistType::kTH1F, {{140, -.5, 139.5}}}}, - {"ITS_Chi2_PV", "ITS Chi2", {HistType::kTH1F, {{10000, -999.5, 999.5}}}}, - {"ITS_Chi2_nonPV", "ITS Chi2", {HistType::kTH1F, {{10000, -999.5, 999.5}}}}, - {"TPC_Chi2_PV", "TPC Chi2", {HistType::kTH1F, {{10000, -999.5, 999.5}}}}, - {"TPC_Chi2_nonPV", "TPC Chi2", {HistType::kTH1F, {{10000, -999.5, 999.5}}}}, - {"Length_nonPV", "Length", {HistType::kTH1F, {{10000, -1199.5, 999.5}}}}, - {"Length_PV", "Length", {HistType::kTH1F, {{10000, -1199.5, 999.5}}}}, - {"DcaZ_PV", "Dca Z", {HistType::kTH1F, {{10000, -19.5, 19.5}}}}, - {"DcaXY_PV", "Dca Z", {HistType::kTH1F, {{10000, -9.5, 9.5}}}}, - {"DcaZ_nonPV", "Dca Z", {HistType::kTH1F, {{10000, -19.5, 19.5}}}}, - {"DcaXY_nonPV", "Dca Z", {HistType::kTH1F, {{10000, -9.5, 9.5}}}}, - {"TPC_Cluster_PV", "TPC Cluster Size", {HistType::kTH1F, {{240, -.5, 239.5}}}}, - {"TPC_Cluster_nonPV", "TPC Cluster Size", {HistType::kTH1F, {{240, -.5, 239.5}}}}, - {"TPC_ClusterS_PV", "TPC Cluster Shared", {HistType::kTH1F, {{240, -.5, 239.5}}}}, - {"TPC_ClusterS_nonPV", "TPC Cluster Shared", {HistType::kTH1F, {{240, -.5, 239.5}}}}, - {"TPC_ClustermF_PV", "TPC Cluster Size minus Found", {HistType::kTH1F, {{240, -.5, 239.5}}}}, - {"TPC_ClustermF_nonPV", "TPC Cluster Size minus Found", {HistType::kTH1F, {{240, -.5, 239.5}}}}, - {"TPC_ClustermCR_PV", "TPC Cluster Size minus Crossed Rows", {HistType::kTH1F, {{240, -60.5, 179.5}}}}, - {"TPC_ClustermCR_nonPV", "TPC Cluster Size minus Crossed Rows", {HistType::kTH1F, {{240, -60.5, 179.5}}}}, - {"TPC_IP_PV", "TPC Inner Param", {HistType::kTH1F, {{200, -.5, 4999.5}}}}, - {"TPC_IP_nonPV", "TPC Inner Param", {HistType::kTH1F, {{200, -.5, 4999.5}}}}, - {"hPtPion_gap0", "Pion pT in eta [-1, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_gap1", "Pion pT in eta [-1, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_gap2", "Pion pT in eta [-1, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hEtaPion_gap0", "Pion eta Gap 0; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, - {"hEtaPion_gap1", "Pion eta Gap 1; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, - {"hEtaPion_gap2", "Pion eta Gap 2; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, - {"hPtPion_etaBin1_gap0", "Pion pT in eta [-1, -0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin2_gap0", "Pion pT in eta [-0.5, 0] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin3_gap0", "Pion pT in eta [0, 0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin4_gap0", "Pion pT in eta [0.5, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin1_gap1", "Pion pT in eta [-1, -0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin2_gap1", "Pion pT in eta [-0.5, 0] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin3_gap1", "Pion pT in eta [0, 0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin4_gap1", "Pion pT in eta [0.5, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin1_gap2", "Pion pT in eta [-1, -0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin2_gap2", "Pion pT in eta [-0.5, 0] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin3_gap2", "Pion pT in eta [0, 0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtPion_etaBin4_gap2", "Pion pT in eta [0.5, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {// Pion histograms for each eta bin and gapSide + {"ITS_Cluster_nonPV", "ITS Cluster Size", {HistType::kTH1F, {{140, -.5, 139.5}}}}, + {"ITS_Cluster_PV", "ITS Cluster Size", {HistType::kTH1F, {{140, -.5, 139.5}}}}, + {"ITS_Chi2_PV", "ITS Chi2", {HistType::kTH1F, {{10000, -999.5, 999.5}}}}, + {"ITS_Chi2_nonPV", "ITS Chi2", {HistType::kTH1F, {{10000, -999.5, 999.5}}}}, + {"TPC_Chi2_PV", "TPC Chi2", {HistType::kTH1F, {{10000, -999.5, 999.5}}}}, + {"TPC_Chi2_nonPV", "TPC Chi2", {HistType::kTH1F, {{10000, -999.5, 999.5}}}}, + {"Length_nonPV", "Length", {HistType::kTH1F, {{10000, -1199.5, 999.5}}}}, + {"Length_PV", "Length", {HistType::kTH1F, {{10000, -1199.5, 999.5}}}}, + {"DcaZ_PV", "Dca Z", {HistType::kTH1F, {{10000, -19.5, 19.5}}}}, + {"DcaXY_PV", "Dca Z", {HistType::kTH1F, {{10000, -9.5, 9.5}}}}, + {"DcaZ_nonPV", "Dca Z", {HistType::kTH1F, {{10000, -19.5, 19.5}}}}, + {"DcaXY_nonPV", "Dca Z", {HistType::kTH1F, {{10000, -9.5, 9.5}}}}, + {"TPC_Cluster_PV", "TPC Cluster Size", {HistType::kTH1F, {{240, -.5, 239.5}}}}, + {"TPC_Cluster_nonPV", "TPC Cluster Size", {HistType::kTH1F, {{240, -.5, 239.5}}}}, + {"TPC_ClusterS_PV", "TPC Cluster Shared", {HistType::kTH1F, {{240, -.5, 239.5}}}}, + {"TPC_ClusterS_nonPV", "TPC Cluster Shared", {HistType::kTH1F, {{240, -.5, 239.5}}}}, + {"TPC_ClustermF_PV", "TPC Cluster Size minus Found", {HistType::kTH1F, {{240, -.5, 239.5}}}}, + {"TPC_ClustermF_nonPV", "TPC Cluster Size minus Found", {HistType::kTH1F, {{240, -.5, 239.5}}}}, + {"TPC_ClustermCR_PV", "TPC Cluster Size minus Crossed Rows", {HistType::kTH1F, {{240, -60.5, 179.5}}}}, + {"TPC_ClustermCR_nonPV", "TPC Cluster Size minus Crossed Rows", {HistType::kTH1F, {{240, -60.5, 179.5}}}}, + {"TPC_IP_PV", "TPC Inner Param", {HistType::kTH1F, {{200, -.5, 4999.5}}}}, + {"TPC_IP_nonPV", "TPC Inner Param", {HistType::kTH1F, {{200, -.5, 4999.5}}}}, + {"hPtPion_gap0", "Pion pT in eta [-1, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_gap1", "Pion pT in eta [-1, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_gap2", "Pion pT in eta [-1, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hEtaPion_gap0", "Pion eta Gap 0; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, + {"hEtaPion_gap1", "Pion eta Gap 1; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, + {"hEtaPion_gap2", "Pion eta Gap 2; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, + {"hPtPion_etaBin1_gap0", "Pion pT in eta [-1, -0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin2_gap0", "Pion pT in eta [-0.5, 0] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin3_gap0", "Pion pT in eta [0, 0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin4_gap0", "Pion pT in eta [0.5, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin1_gap1", "Pion pT in eta [-1, -0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin2_gap1", "Pion pT in eta [-0.5, 0] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin3_gap1", "Pion pT in eta [0, 0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin4_gap1", "Pion pT in eta [0.5, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin1_gap2", "Pion pT in eta [-1, -0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin2_gap2", "Pion pT in eta [-0.5, 0] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin3_gap2", "Pion pT in eta [0, 0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtPion_etaBin4_gap2", "Pion pT in eta [0.5, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - // Kaon histograms for each eta bin and gapSide - {"hPtKaon_gap0", "Kaon pT in eta [-1, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_gap1", "Kaon pT in eta [-1, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_gap2", "Kaon pT in eta [-1, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hEtaKaon_gap0", "Kaon eta Gap 0; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, - {"hEtaKaon_gap1", "Kaon eta Gap 1; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, - {"hEtaKaon_gap2", "Kaon eta Gap 2; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, - {"hPtKaon_etaBin1_gap0", "Kaon pT in eta [-1, -0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin2_gap0", "Kaon pT in eta [-0.5, 0] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin3_gap0", "Kaon pT in eta [0, 0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin4_gap0", "Kaon pT in eta [0.5, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin1_gap1", "Kaon pT in eta [-1, -0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin2_gap1", "Kaon pT in eta [-0.5, 0] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin3_gap1", "Kaon pT in eta [0, 0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin4_gap1", "Kaon pT in eta [0.5, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin1_gap2", "Kaon pT in eta [-1, -0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin2_gap2", "Kaon pT in eta [-0.5, 0] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin3_gap2", "Kaon pT in eta [0, 0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtKaon_etaBin4_gap2", "Kaon pT in eta [0.5, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + // Kaon histograms for each eta bin and gapSide + {"hPtKaon_gap0", "Kaon pT in eta [-1, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_gap1", "Kaon pT in eta [-1, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_gap2", "Kaon pT in eta [-1, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hEtaKaon_gap0", "Kaon eta Gap 0; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, + {"hEtaKaon_gap1", "Kaon eta Gap 1; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, + {"hEtaKaon_gap2", "Kaon eta Gap 2; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, + {"hPtKaon_etaBin1_gap0", "Kaon pT in eta [-1, -0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin2_gap0", "Kaon pT in eta [-0.5, 0] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin3_gap0", "Kaon pT in eta [0, 0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin4_gap0", "Kaon pT in eta [0.5, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin1_gap1", "Kaon pT in eta [-1, -0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin2_gap1", "Kaon pT in eta [-0.5, 0] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin3_gap1", "Kaon pT in eta [0, 0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin4_gap1", "Kaon pT in eta [0.5, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin1_gap2", "Kaon pT in eta [-1, -0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin2_gap2", "Kaon pT in eta [-0.5, 0] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin3_gap2", "Kaon pT in eta [0, 0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtKaon_etaBin4_gap2", "Kaon pT in eta [0.5, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - // Proton histograms for each eta bin and gapSide - {"hPtProton_gap0", "Proton pT in eta [-1, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_gap1", "Proton pT in eta [-1, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_gap2", "Proton pT in eta [-1, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hEtaProton_gap0", "Proton eta Gap 0; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, - {"hEtaProton_gap1", "Proton eta Gap 1; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, - {"hEtaProton_gap2", "Proton eta Gap 2; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, - {"hPtProton_etaBin1_gap0", "Proton pT in eta [-1, -0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin2_gap0", "Proton pT in eta [-0.5, 0] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin3_gap0", "Proton pT in eta [0, 0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin4_gap0", "Proton pT in eta [0.5, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin1_gap1", "Proton pT in eta [-1, -0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin2_gap1", "Proton pT in eta [-0.5, 0] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin3_gap1", "Proton pT in eta [0, 0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin4_gap1", "Proton pT in eta [0.5, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin1_gap2", "Proton pT in eta [-1, -0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin2_gap2", "Proton pT in eta [-0.5, 0] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin3_gap2", "Proton pT in eta [0, 0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, - {"hPtProton_etaBin4_gap2", "Proton pT in eta [0.5, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}} - } - }; -using udtracks = soa::Join; -//using udtracks = soa::Join; -using udtracksfull = soa::Join; -//using UDCollisionsFull = soa::Join; -using UDCollisionsFull = soa::Join; // -//using UDCollisionsFull = soa::Join; -using UDCollisionFull = UDCollisionsFull::iterator; + // Proton histograms for each eta bin and gapSide + {"hPtProton_gap0", "Proton pT in eta [-1, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_gap1", "Proton pT in eta [-1, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_gap2", "Proton pT in eta [-1, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hEtaProton_gap0", "Proton eta Gap 0; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, + {"hEtaProton_gap1", "Proton eta Gap 1; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, + {"hEtaProton_gap2", "Proton eta Gap 2; eta; Entries", {HistType::kTH1F, {{100, -1, 1}}}}, + {"hPtProton_etaBin1_gap0", "Proton pT in eta [-1, -0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin2_gap0", "Proton pT in eta [-0.5, 0] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin3_gap0", "Proton pT in eta [0, 0.5] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin4_gap0", "Proton pT in eta [0.5, 1] Gap 0; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin1_gap1", "Proton pT in eta [-1, -0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin2_gap1", "Proton pT in eta [-0.5, 0] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin3_gap1", "Proton pT in eta [0, 0.5] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin4_gap1", "Proton pT in eta [0.5, 1] Gap 1; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin1_gap2", "Proton pT in eta [-1, -0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin2_gap2", "Proton pT in eta [-0.5, 0] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin3_gap2", "Proton pT in eta [0, 0.5] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}, + {"hPtProton_etaBin4_gap2", "Proton pT in eta [0.5, 1] Gap 2; pT (GeV/c); Entries", {HistType::kTH1F, {{100, 0, 10}}}}}}; + using udtracks = soa::Join; + // using udtracks = soa::Join; + using udtracksfull = soa::Join; + // using UDCollisionsFull = soa::Join; + using UDCollisionsFull = soa::Join; // + // using UDCollisionsFull = soa::Join; + using UDCollisionFull = UDCollisionsFull::iterator; -template -int trackselector(const T& track, bool use_tof){ - TLorentzVector a; - a.SetXYZM(track.px(), track.py(), track.pz(),mpion); - if (std::abs(track.dcaZ())>2.) return 0; - if (std::abs(track.dcaXY())>.0105 + .035/ pow(a.Pt(), 1.1)) return 0; - if (track.tpcChi2NCl() > 4) return 0; - if (track.tpcNClsFindable() < 70) return 0; - if (track.itsChi2NCl() > 36) return 0; - return 1; -} -template -int trackpid(const T& track, bool use_tof){ - int pid = 0; - float pi, ka, pr; - float tpi, tka, tpr; - pi = std::abs(track.tpcNSigmaPi()); - ka = std::abs(track.tpcNSigmaKa()); - pr = std::abs(track.tpcNSigmaPr()); - if (pi < 1. && pi < ka && pi < pr) pid = 1; - else if (ka < 1. && ka < pi && ka < pr) pid = 2; - else if (pr < 1. && pr < pi && pr < ka) pid = 3; - if (use_tof && track.tofChi2()>-1){ - tpi = std::abs(track.tofNSigmaPi()); - tka = std::abs(track.tofNSigmaKa()); - tpr = std::abs(track.tofNSigmaPr()); - if (std::sqrt(pi*pi + tpi*tpi) < 2 && std::sqrt(pi*pi + tpi*tpi) < std::sqrt(ka*ka + tka*tka) && std::sqrt(pi*pi + tpi*tpi) < std::sqrt(pr*pr + tpr*tpr)) pid = 1; - else if (std::sqrt(ka*ka + tka*tka) < 2 && std::sqrt(pi*pi + tpi*tpi) > std::sqrt(ka*ka + tka*tka) && std::sqrt(ka*ka + tka*tka) < std::sqrt(pr*pr + tpr*tpr)) pid = 2; - else if (std::sqrt(pr*pr + tpr*tpr) < 2 && std::sqrt(pr*pr + tpr*tpr) < std::sqrt(ka*ka + tka*tka) && std::sqrt(pi*pi + tpi*tpi) > std::sqrt(pr*pr + tpr*tpr)) pid = 3; - } - return pid; -} -/* -template -bool ispion(const T& track, bool use_tof){ - int pid = 0; - if (std::abs(track.tpcNSigmaPi() < 3)){ - if (use_tof && track.tofChi2()>-1){ - if (std::abs(track.tofNSigmaPi() < 3)) pid = 1; - else pid = 0; - } else pid = 1; - } - if (pid ==1) return true; - else return false; -} -template -bool iskaon(const T& track, bool use_tof){ - int pid = 0; - if (std::abs(track.tpcNSigmaKa() < 3)){ - if (use_tof && track.tofChi2()>-1){ - if (std::abs(track.tofNSigmaKa() < 3)) pid = 2; - else pid = 0; - } else pid = 2; - } - if (pid ==2) return true; - else return false; -} -template -bool isproton(const T& track, bool use_tof){ - int pid = 0; - if (std::abs(track.tpcNSigmaPr() < 3)){ - if (use_tof && track.tofChi2()>-1){ - if (std::abs(track.tofNSigmaPr() < 3)) pid = 3; - else pid = 0; - } else pid = 3; - } - if (pid ==3) return true; - else return false; -} -*/ -void process(UDCollisionFull const& collision, udtracksfull const& tracks){ + template + int trackselector(const T& track, bool use_tof) + { + TLorentzVector a; + a.SetXYZM(track.px(), track.py(), track.pz(), mpion); + if (std::abs(track.dcaZ()) > 2.) + return 0; + if (std::abs(track.dcaXY()) > .0105 + .035 / pow(a.Pt(), 1.1)) + return 0; + if (track.tpcChi2NCl() > 4) + return 0; + if (track.tpcNClsFindable() < 70) + return 0; + if (track.itsChi2NCl() > 36) + return 0; + return 1; + } + template + int trackpid(const T& track, bool use_tof) + { + int pid = 0; + float pi, ka, pr; + float tpi, tka, tpr; + pi = std::abs(track.tpcNSigmaPi()); + ka = std::abs(track.tpcNSigmaKa()); + pr = std::abs(track.tpcNSigmaPr()); + if (pi < 1. && pi < ka && pi < pr) + pid = 1; + else if (ka < 1. && ka < pi && ka < pr) + pid = 2; + else if (pr < 1. && pr < pi && pr < ka) + pid = 3; + if (use_tof && track.tofChi2() > -1) { + tpi = std::abs(track.tofNSigmaPi()); + tka = std::abs(track.tofNSigmaKa()); + tpr = std::abs(track.tofNSigmaPr()); + if (std::sqrt(pi * pi + tpi * tpi) < 2 && std::sqrt(pi * pi + tpi * tpi) < std::sqrt(ka * ka + tka * tka) && std::sqrt(pi * pi + tpi * tpi) < std::sqrt(pr * pr + tpr * tpr)) + pid = 1; + else if (std::sqrt(ka * ka + tka * tka) < 2 && std::sqrt(pi * pi + tpi * tpi) > std::sqrt(ka * ka + tka * tka) && std::sqrt(ka * ka + tka * tka) < std::sqrt(pr * pr + tpr * tpr)) + pid = 2; + else if (std::sqrt(pr * pr + tpr * tpr) < 2 && std::sqrt(pr * pr + tpr * tpr) < std::sqrt(ka * ka + tka * tka) && std::sqrt(pi * pi + tpi * tpi) > std::sqrt(pr * pr + tpr * tpr)) + pid = 3; + } + return pid; + } + /* + template + bool ispion(const T& track, bool use_tof){ + int pid = 0; + if (std::abs(track.tpcNSigmaPi() < 3)){ + if (use_tof && track.tofChi2()>-1){ + if (std::abs(track.tofNSigmaPi() < 3)) pid = 1; + else pid = 0; + } else pid = 1; + } + if (pid ==1) return true; + else return false; + } + template + bool iskaon(const T& track, bool use_tof){ + int pid = 0; + if (std::abs(track.tpcNSigmaKa() < 3)){ + if (use_tof && track.tofChi2()>-1){ + if (std::abs(track.tofNSigmaKa() < 3)) pid = 2; + else pid = 0; + } else pid = 2; + } + if (pid ==2) return true; + else return false; + } + template + bool isproton(const T& track, bool use_tof){ + int pid = 0; + if (std::abs(track.tpcNSigmaPr() < 3)){ + if (use_tof && track.tofChi2()>-1){ + if (std::abs(track.tofNSigmaPr() < 3)) pid = 3; + else pid = 0; + } else pid = 3; + } + if (pid ==3) return true; + else return false; + } + */ + void process(UDCollisionFull const& collision, udtracksfull const& tracks) + { TLorentzVector a; int gapSide = collision.gapSide(); int truegapSide = sgSelector.trueGap(collision, FV0_cut, ZDC_cut); gapSide = truegapSide; - if(gapSide < 0 || gapSide > 2) return; + if (gapSide < 0 || gapSide > 2) + return; for (auto& track : tracks) { - if(!track.isPVContributor()){ -// if (!track.itsClusterSizes())break; - // if (track.dcaZ()>900 || track.dcaXY()>900)break; - registry.get(HIST("ITS_Cluster_nonPV"))->Fill(track.itsClusterSizes()); - registry.get(HIST("ITS_Chi2_nonPV"))->Fill(track.itsChi2NCl()); - registry.get(HIST("TPC_Chi2_nonPV"))->Fill(track.tpcChi2NCl()); - registry.get(HIST("Length_nonPV"))->Fill(track.length()); - registry.get(HIST("TPC_Cluster_nonPV"))->Fill(track.tpcNClsFindable()); - registry.get(HIST("TPC_ClusterS_nonPV"))->Fill(track.tpcNClsShared()); - registry.get(HIST("TPC_ClustermF_nonPV"))->Fill(track.tpcNClsFindableMinusFound()); - registry.get(HIST("TPC_ClustermCR_nonPV"))->Fill(track.tpcNClsFindableMinusCrossedRows()); - registry.get(HIST("TPC_IP_nonPV"))->Fill(track.tpcInnerParam()); - registry.get(HIST("DcaZ_nonPV"))->Fill(track.dcaZ()); - registry.get(HIST("DcaXY_nonPV"))->Fill(track.dcaXY()); -// break; - } - else{ - registry.get(HIST("ITS_Cluster_PV"))->Fill(track.itsClusterSizes()); - registry.get(HIST("ITS_Chi2_PV"))->Fill(track.itsChi2NCl()); - registry.get(HIST("TPC_Chi2_PV"))->Fill(track.tpcChi2NCl()); - registry.get(HIST("Length_PV"))->Fill(track.length()); - registry.get(HIST("TPC_Cluster_PV"))->Fill(track.tpcNClsFindable()); - registry.get(HIST("TPC_ClusterS_PV"))->Fill(track.tpcNClsShared()); - registry.get(HIST("TPC_ClustermF_PV"))->Fill(track.tpcNClsFindableMinusFound()); - registry.get(HIST("TPC_ClustermCR_PV"))->Fill(track.tpcNClsFindableMinusCrossedRows()); - registry.get(HIST("TPC_IP_PV"))->Fill(track.tpcInnerParam()); - registry.get(HIST("DcaZ_PV"))->Fill(track.dcaZ()); - registry.get(HIST("DcaXY_PV"))->Fill(track.dcaXY()); - if (trackselector(track, use_tof)){ - //if (ispion(track, use_tof)) { - if (trackpid(track, use_tof) == 1) { - a.SetXYZM(track.px(), track.py(), track.pz(),mpion); - if (std::abs(a.Eta())900 || track.dcaXY()>900)break; + registry.get(HIST("ITS_Cluster_nonPV"))->Fill(track.itsClusterSizes()); + registry.get(HIST("ITS_Chi2_nonPV"))->Fill(track.itsChi2NCl()); + registry.get(HIST("TPC_Chi2_nonPV"))->Fill(track.tpcChi2NCl()); + registry.get(HIST("Length_nonPV"))->Fill(track.length()); + registry.get(HIST("TPC_Cluster_nonPV"))->Fill(track.tpcNClsFindable()); + registry.get(HIST("TPC_ClusterS_nonPV"))->Fill(track.tpcNClsShared()); + registry.get(HIST("TPC_ClustermF_nonPV"))->Fill(track.tpcNClsFindableMinusFound()); + registry.get(HIST("TPC_ClustermCR_nonPV"))->Fill(track.tpcNClsFindableMinusCrossedRows()); + registry.get(HIST("TPC_IP_nonPV"))->Fill(track.tpcInnerParam()); + registry.get(HIST("DcaZ_nonPV"))->Fill(track.dcaZ()); + registry.get(HIST("DcaXY_nonPV"))->Fill(track.dcaXY()); + // break; + } else { + registry.get(HIST("ITS_Cluster_PV"))->Fill(track.itsClusterSizes()); + registry.get(HIST("ITS_Chi2_PV"))->Fill(track.itsChi2NCl()); + registry.get(HIST("TPC_Chi2_PV"))->Fill(track.tpcChi2NCl()); + registry.get(HIST("Length_PV"))->Fill(track.length()); + registry.get(HIST("TPC_Cluster_PV"))->Fill(track.tpcNClsFindable()); + registry.get(HIST("TPC_ClusterS_PV"))->Fill(track.tpcNClsShared()); + registry.get(HIST("TPC_ClustermF_PV"))->Fill(track.tpcNClsFindableMinusFound()); + registry.get(HIST("TPC_ClustermCR_PV"))->Fill(track.tpcNClsFindableMinusCrossedRows()); + registry.get(HIST("TPC_IP_PV"))->Fill(track.tpcInnerParam()); + registry.get(HIST("DcaZ_PV"))->Fill(track.dcaZ()); + registry.get(HIST("DcaXY_PV"))->Fill(track.dcaXY()); + if (trackselector(track, use_tof)) { + // if (ispion(track, use_tof)) { + if (trackpid(track, use_tof) == 1) { + a.SetXYZM(track.px(), track.py(), track.pz(), mpion); + if (std::abs(a.Eta()) < eta_cut) + fillHistograms("Pion", a.Pt(), a.Eta(), gapSide); + } + // if (iskaon(track, use_tof)) { + if (trackpid(track, use_tof) == 2) { + a.SetXYZM(track.px(), track.py(), track.pz(), mkaon); + if (std::abs(a.Eta()) < eta_cut) + fillHistograms("Kaon", a.Pt(), a.Eta(), gapSide); + } + // if (isproton(track, use_tof)) { + if (trackpid(track, use_tof) == 3) { + a.SetXYZM(track.px(), track.py(), track.pz(), mproton); + if (std::abs(a.Eta()) < eta_cut) + fillHistograms("Proton", a.Pt(), a.Eta(), gapSide); + } + } } } - } } - void fillHistograms(const std::string& particleType, float pt, float eta, int gapSide) { + void fillHistograms(const std::string& particleType, float pt, float eta, int gapSide) + { if (particleType == "Pion") { - if (gapSide == 0) { - registry.get(HIST("hPtPion_gap0"))->Fill(pt); - registry.get(HIST("hEtaPion_gap0"))->Fill(eta); - } else if (gapSide == 1) { - registry.get(HIST("hPtPion_gap1"))->Fill(pt); - registry.get(HIST("hEtaPion_gap1"))->Fill(eta); - } else if (gapSide == 2) { - registry.get(HIST("hPtPion_gap2"))->Fill(pt); - registry.get(HIST("hEtaPion_gap2"))->Fill(eta); - } + if (gapSide == 0) { + registry.get(HIST("hPtPion_gap0"))->Fill(pt); + registry.get(HIST("hEtaPion_gap0"))->Fill(eta); + } else if (gapSide == 1) { + registry.get(HIST("hPtPion_gap1"))->Fill(pt); + registry.get(HIST("hEtaPion_gap1"))->Fill(eta); + } else if (gapSide == 2) { + registry.get(HIST("hPtPion_gap2"))->Fill(pt); + registry.get(HIST("hEtaPion_gap2"))->Fill(eta); + } } else if (particleType == "Kaon") { - if (gapSide == 0) { - registry.get(HIST("hPtKaon_gap0"))->Fill(pt); - registry.get(HIST("hEtaKaon_gap0"))->Fill(eta); - } else if (gapSide == 1) { - registry.get(HIST("hPtKaon_gap1"))->Fill(pt); - registry.get(HIST("hEtaKaon_gap1"))->Fill(eta); - } else if (gapSide == 2) { - registry.get(HIST("hPtKaon_gap2"))->Fill(pt); - registry.get(HIST("hEtaKaon_gap2"))->Fill(eta); - } + if (gapSide == 0) { + registry.get(HIST("hPtKaon_gap0"))->Fill(pt); + registry.get(HIST("hEtaKaon_gap0"))->Fill(eta); + } else if (gapSide == 1) { + registry.get(HIST("hPtKaon_gap1"))->Fill(pt); + registry.get(HIST("hEtaKaon_gap1"))->Fill(eta); + } else if (gapSide == 2) { + registry.get(HIST("hPtKaon_gap2"))->Fill(pt); + registry.get(HIST("hEtaKaon_gap2"))->Fill(eta); + } } else if (particleType == "Proton") { - if (gapSide == 0) { - registry.get(HIST("hPtProton_gap0"))->Fill(pt); - registry.get(HIST("hEtaProton_gap0"))->Fill(eta); - } else if (gapSide == 1) { - registry.get(HIST("hPtProton_gap1"))->Fill(pt); - registry.get(HIST("hEtaProton_gap1"))->Fill(eta); - } else if (gapSide == 2) { - registry.get(HIST("hPtProton_gap2"))->Fill(pt); - registry.get(HIST("hEtaProton_gap2"))->Fill(eta); - } + if (gapSide == 0) { + registry.get(HIST("hPtProton_gap0"))->Fill(pt); + registry.get(HIST("hEtaProton_gap0"))->Fill(eta); + } else if (gapSide == 1) { + registry.get(HIST("hPtProton_gap1"))->Fill(pt); + registry.get(HIST("hEtaProton_gap1"))->Fill(eta); + } else if (gapSide == 2) { + registry.get(HIST("hPtProton_gap2"))->Fill(pt); + registry.get(HIST("hEtaProton_gap2"))->Fill(eta); + } } std::vector> etaBins = {{-1, -0.5}, {-0.5, 0}, {0, 0.5}, {0.5, 1}}; for (int i = 0; i < 4; ++i) { if (eta > etaBins[i].first && eta <= etaBins[i].second) { - if (i==0){ - if (particleType == "Pion") { - if (gapSide == 0) { - registry.get(HIST("hPtPion_etaBin1_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtPion_etaBin1_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtPion_etaBin1_gap2"))->Fill(pt); - } - } else if (particleType == "Kaon") { - if (gapSide == 0) { - registry.get(HIST("hPtKaon_etaBin1_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtKaon_etaBin1_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtKaon_etaBin1_gap2"))->Fill(pt); - } - } else if (particleType == "Proton") { - if (gapSide == 0) { - registry.get(HIST("hPtProton_etaBin1_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtProton_etaBin1_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtProton_etaBin1_gap2"))->Fill(pt); - } - } - } - if (i==1){ - if (particleType == "Pion") { - if (gapSide == 0) { - registry.get(HIST("hPtPion_etaBin2_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtPion_etaBin2_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtPion_etaBin2_gap2"))->Fill(pt); - } - } else if (particleType == "Kaon") { - if (gapSide == 0) { - registry.get(HIST("hPtKaon_etaBin2_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtKaon_etaBin2_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtKaon_etaBin2_gap2"))->Fill(pt); - } - } else if (particleType == "Proton") { - if (gapSide == 0) { - registry.get(HIST("hPtProton_etaBin2_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtProton_etaBin2_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtProton_etaBin2_gap2"))->Fill(pt); - } - } - } - if (i==2){ - if (particleType == "Pion") { - if (gapSide == 0) { - registry.get(HIST("hPtPion_etaBin3_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtPion_etaBin3_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtPion_etaBin3_gap2"))->Fill(pt); + if (i == 0) { + if (particleType == "Pion") { + if (gapSide == 0) { + registry.get(HIST("hPtPion_etaBin1_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtPion_etaBin1_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtPion_etaBin1_gap2"))->Fill(pt); + } + } else if (particleType == "Kaon") { + if (gapSide == 0) { + registry.get(HIST("hPtKaon_etaBin1_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtKaon_etaBin1_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtKaon_etaBin1_gap2"))->Fill(pt); + } + } else if (particleType == "Proton") { + if (gapSide == 0) { + registry.get(HIST("hPtProton_etaBin1_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtProton_etaBin1_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtProton_etaBin1_gap2"))->Fill(pt); + } + } } - } else if (particleType == "Kaon") { - if (gapSide == 0) { - registry.get(HIST("hPtKaon_etaBin3_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtKaon_etaBin3_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtKaon_etaBin3_gap2"))->Fill(pt); + if (i == 1) { + if (particleType == "Pion") { + if (gapSide == 0) { + registry.get(HIST("hPtPion_etaBin2_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtPion_etaBin2_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtPion_etaBin2_gap2"))->Fill(pt); + } + } else if (particleType == "Kaon") { + if (gapSide == 0) { + registry.get(HIST("hPtKaon_etaBin2_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtKaon_etaBin2_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtKaon_etaBin2_gap2"))->Fill(pt); + } + } else if (particleType == "Proton") { + if (gapSide == 0) { + registry.get(HIST("hPtProton_etaBin2_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtProton_etaBin2_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtProton_etaBin2_gap2"))->Fill(pt); + } + } } - } else if (particleType == "Proton") { - if (gapSide == 0) { - registry.get(HIST("hPtProton_etaBin3_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtProton_etaBin3_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtProton_etaBin3_gap2"))->Fill(pt); + if (i == 2) { + if (particleType == "Pion") { + if (gapSide == 0) { + registry.get(HIST("hPtPion_etaBin3_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtPion_etaBin3_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtPion_etaBin3_gap2"))->Fill(pt); + } + } else if (particleType == "Kaon") { + if (gapSide == 0) { + registry.get(HIST("hPtKaon_etaBin3_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtKaon_etaBin3_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtKaon_etaBin3_gap2"))->Fill(pt); + } + } else if (particleType == "Proton") { + if (gapSide == 0) { + registry.get(HIST("hPtProton_etaBin3_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtProton_etaBin3_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtProton_etaBin3_gap2"))->Fill(pt); + } + } } - } - } - if (i==3){ - if (particleType == "Pion") { - if (gapSide == 0) { - registry.get(HIST("hPtPion_etaBin4_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtPion_etaBin4_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtPion_etaBin4_gap2"))->Fill(pt); + if (i == 3) { + if (particleType == "Pion") { + if (gapSide == 0) { + registry.get(HIST("hPtPion_etaBin4_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtPion_etaBin4_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtPion_etaBin4_gap2"))->Fill(pt); + } + } else if (particleType == "Kaon") { + if (gapSide == 0) { + registry.get(HIST("hPtKaon_etaBin4_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtKaon_etaBin4_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtKaon_etaBin4_gap2"))->Fill(pt); + } + } else if (particleType == "Proton") { + if (gapSide == 0) { + registry.get(HIST("hPtProton_etaBin4_gap0"))->Fill(pt); + } else if (gapSide == 1) { + registry.get(HIST("hPtProton_etaBin4_gap1"))->Fill(pt); + } else if (gapSide == 2) { + registry.get(HIST("hPtProton_etaBin4_gap2"))->Fill(pt); + } + } } - } else if (particleType == "Kaon") { - if (gapSide == 0) { - registry.get(HIST("hPtKaon_etaBin4_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtKaon_etaBin4_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtKaon_etaBin4_gap2"))->Fill(pt); - } - } else if (particleType == "Proton") { - if (gapSide == 0) { - registry.get(HIST("hPtProton_etaBin4_gap0"))->Fill(pt); - } else if (gapSide == 1) { - registry.get(HIST("hPtProton_etaBin4_gap1"))->Fill(pt); - } else if (gapSide == 2) { - registry.get(HIST("hPtProton_etaBin4_gap2"))->Fill(pt); - } - } - } } } } diff --git a/PWGUD/Tasks/SG_D0_Analyzer.cxx b/PWGUD/Tasks/SG_D0_Analyzer.cxx index 59a46525495..3d4ac9b95df 100644 --- a/PWGUD/Tasks/SG_D0_Analyzer.cxx +++ b/PWGUD/Tasks/SG_D0_Analyzer.cxx @@ -27,10 +27,10 @@ using namespace o2; using namespace o2::aod; using namespace o2::framework; using namespace o2::framework::expressions; -#define mpion 0.1396 +#define mpion 0.1396 #define mkaon 0.4937 #define mproton 0.9383 -struct SG_D0_Analyzer{ +struct SG_D0_Analyzer { SGSelector sgSelector; Configurable FV0_cut{"FV0", 100., "FV0A threshold"}; Configurable ZDC_cut{"ZDC", 10., "ZDC threshold"}; @@ -64,130 +64,129 @@ struct SG_D0_Analyzer{ {"ss_KPi_pT_2", "#K#Pi pT (GeV/c); Entries", {HistType::kTH1F, {{5000, 0, 10}}}}, {"ss_KPi_eTa_2", "#K#Pi eTa (GeV/c); Entries", {HistType::kTH1F, {{100, -1., 1.}}}}, {"ss_KPi_invm_2", "#K#Pi Mass (GeV/c^2); Entries", {HistType::kTH1F, {{5000, 0, 10}}}}, - } - }; -using udtracks = soa::Join; -using udtracksfull = soa::Join; -using UDCollisionsFull = soa::Join; // -using UDCollisionFull = UDCollisionsFull::iterator; + }}; + using udtracks = soa::Join; + using udtracksfull = soa::Join; + using UDCollisionsFull = soa::Join; // + using UDCollisionFull = UDCollisionsFull::iterator; -void process(UDCollisionFull const& collision, udtracksfull const& tracks){ + void process(UDCollisionFull const& collision, udtracksfull const& tracks) + { TLorentzVector a; int gapSide = collision.gapSide(); - if(gapSide < 0 || gapSide > 2) return; - // Single gap either side - TLorentzVector v0; - TLorentzVector v1; - TLorentzVector v01; + if (gapSide < 0 || gapSide > 2) + return; + // Single gap either side + TLorentzVector v0; + TLorentzVector v1; + TLorentzVector v01; // int truegapSide = sgSelector.trueGap(collision); int truegapSide = sgSelector.trueGap(collision, FV0_cut, ZDC_cut); - registry.fill(HIST("GapSide"), gapSide); - registry.fill(HIST("TrueGapSide"), truegapSide); - gapSide=truegapSide; - // Look for D0 and D0bar - for (auto& [t0, t1] : combinations(tracks, tracks)) { - // PID cut - t0=K, t1=pi - if (std::abs(t0.tpcNSigmaKa()) < 3 && std::abs(t1.tpcNSigmaPi()) < 3 - && std::abs(t0.tofNSigmaKa()) < 3 && std::abs(t1.tofNSigmaPi()) < 3) { - // Apply pion hypothesis and create pairs - v0.SetXYZM(t0.px(), t0.py(), t0.pz(), o2::constants::physics::MassKaonCharged); - v1.SetXYZM(t1.px(), t1.py(), t1.pz(), o2::constants::physics::MassPionCharged); - v01 = v0 + v1; - // Opposite sign pairs - if (t0.sign() != t1.sign()) { - registry.fill(HIST("os_KPi_pT"), v01.Pt()); - registry.fill(HIST("os_KPi_eTa"), v01.Eta()); - registry.fill(HIST("os_KPi_invm"), v01.M()); - if (gapSide==0){ + registry.fill(HIST("GapSide"), gapSide); + registry.fill(HIST("TrueGapSide"), truegapSide); + gapSide = truegapSide; + // Look for D0 and D0bar + for (auto& [t0, t1] : combinations(tracks, tracks)) { + // PID cut - t0=K, t1=pi + if (std::abs(t0.tpcNSigmaKa()) < 3 && std::abs(t1.tpcNSigmaPi()) < 3 && std::abs(t0.tofNSigmaKa()) < 3 && std::abs(t1.tofNSigmaPi()) < 3) { + // Apply pion hypothesis and create pairs + v0.SetXYZM(t0.px(), t0.py(), t0.pz(), o2::constants::physics::MassKaonCharged); + v1.SetXYZM(t1.px(), t1.py(), t1.pz(), o2::constants::physics::MassPionCharged); + v01 = v0 + v1; + // Opposite sign pairs + if (t0.sign() != t1.sign()) { + registry.fill(HIST("os_KPi_pT"), v01.Pt()); + registry.fill(HIST("os_KPi_eTa"), v01.Eta()); + registry.fill(HIST("os_KPi_invm"), v01.M()); + if (gapSide == 0) { registry.fill(HIST("os_KPi_pT_0"), v01.Pt()); registry.fill(HIST("os_KPi_eTa_0"), v01.Eta()); registry.fill(HIST("os_KPi_invm_0"), v01.M()); - } - if (gapSide==1){ + } + if (gapSide == 1) { registry.fill(HIST("os_KPi_pT_1"), v01.Pt()); registry.fill(HIST("os_KPi_eTa_1"), v01.Eta()); registry.fill(HIST("os_KPi_invm_1"), v01.M()); - } - if (gapSide==2){ + } + if (gapSide == 2) { registry.fill(HIST("os_KPi_pT_2"), v01.Pt()); registry.fill(HIST("os_KPi_eTa_2"), v01.Eta()); registry.fill(HIST("os_KPi_invm_2"), v01.M()); - } } - // Same sign pairs - else if (t0.sign() == t1.sign()) { - registry.fill(HIST("ss_KPi_pT"), v01.Pt()); - registry.fill(HIST("ss_KPi_eTa"), v01.Eta()); - registry.fill(HIST("ss_KPi_invm"), v01.M()); - if (gapSide==0){ + } + // Same sign pairs + else if (t0.sign() == t1.sign()) { + registry.fill(HIST("ss_KPi_pT"), v01.Pt()); + registry.fill(HIST("ss_KPi_eTa"), v01.Eta()); + registry.fill(HIST("ss_KPi_invm"), v01.M()); + if (gapSide == 0) { registry.fill(HIST("ss_KPi_pT_0"), v01.Pt()); registry.fill(HIST("ss_KPi_eTa_0"), v01.Eta()); registry.fill(HIST("ss_KPi_invm_0"), v01.M()); - } - if (gapSide==1){ + } + if (gapSide == 1) { registry.fill(HIST("ss_KPi_pT_1"), v01.Pt()); registry.fill(HIST("ss_KPi_eTa_1"), v01.Eta()); registry.fill(HIST("ss_KPi_invm_1"), v01.M()); - } - if (gapSide==2){ + } + if (gapSide == 2) { registry.fill(HIST("ss_KPi_pT_2"), v01.Pt()); registry.fill(HIST("ss_KPi_eTa_2"), v01.Eta()); registry.fill(HIST("ss_KPi_invm_2"), v01.M()); - } } } - // PID cut - t0=pi, t1=K - else if (std::abs(t1.tpcNSigmaKa()) < 3 && std::abs(t0.tpcNSigmaPi()) < 3 - && std::abs(t1.tofNSigmaKa()) < 3 && std::abs(t0.tofNSigmaPi()) < 3) { - // Apply pion hypothesis and create pairs - v0.SetXYZM(t0.px(), t0.py(), t0.pz(), o2::constants::physics::MassPionCharged); - v1.SetXYZM(t1.px(), t1.py(), t1.pz(), o2::constants::physics::MassKaonCharged); - v01 = v0 + v1; - // Opposite sign pairs - if (t0.sign() != t1.sign()) { - registry.fill(HIST("os_KPi_pT"), v01.Pt()); - registry.fill(HIST("os_KPi_eTa"), v01.Eta()); - registry.fill(HIST("os_KPi_invm"), v01.M()); - if (gapSide==0){ + } + // PID cut - t0=pi, t1=K + else if (std::abs(t1.tpcNSigmaKa()) < 3 && std::abs(t0.tpcNSigmaPi()) < 3 && std::abs(t1.tofNSigmaKa()) < 3 && std::abs(t0.tofNSigmaPi()) < 3) { + // Apply pion hypothesis and create pairs + v0.SetXYZM(t0.px(), t0.py(), t0.pz(), o2::constants::physics::MassPionCharged); + v1.SetXYZM(t1.px(), t1.py(), t1.pz(), o2::constants::physics::MassKaonCharged); + v01 = v0 + v1; + // Opposite sign pairs + if (t0.sign() != t1.sign()) { + registry.fill(HIST("os_KPi_pT"), v01.Pt()); + registry.fill(HIST("os_KPi_eTa"), v01.Eta()); + registry.fill(HIST("os_KPi_invm"), v01.M()); + if (gapSide == 0) { registry.fill(HIST("os_KPi_pT_0"), v01.Pt()); registry.fill(HIST("os_KPi_eTa_0"), v01.Eta()); registry.fill(HIST("os_KPi_invm_0"), v01.M()); - } - if (gapSide==1){ + } + if (gapSide == 1) { registry.fill(HIST("os_KPi_pT_1"), v01.Pt()); registry.fill(HIST("os_KPi_eTa_1"), v01.Eta()); registry.fill(HIST("os_KPi_invm_1"), v01.M()); - } - if (gapSide==2){ + } + if (gapSide == 2) { registry.fill(HIST("os_KPi_pT_2"), v01.Pt()); registry.fill(HIST("os_KPi_eTa_2"), v01.Eta()); registry.fill(HIST("os_KPi_invm_2"), v01.M()); - } } - // Same sign pairs - else if (t0.sign() == t1.sign()) { - registry.fill(HIST("ss_KPi_pT"), v01.Pt()); - registry.fill(HIST("ss_KPi_eTa"), v01.Eta()); - registry.fill(HIST("ss_KPi_invm"), v01.M()); - if (gapSide==0){ + } + // Same sign pairs + else if (t0.sign() == t1.sign()) { + registry.fill(HIST("ss_KPi_pT"), v01.Pt()); + registry.fill(HIST("ss_KPi_eTa"), v01.Eta()); + registry.fill(HIST("ss_KPi_invm"), v01.M()); + if (gapSide == 0) { registry.fill(HIST("ss_KPi_pT_0"), v01.Pt()); registry.fill(HIST("ss_KPi_eTa_0"), v01.Eta()); registry.fill(HIST("ss_KPi_invm_0"), v01.M()); - } - if (gapSide==1){ + } + if (gapSide == 1) { registry.fill(HIST("ss_KPi_pT_1"), v01.Pt()); registry.fill(HIST("ss_KPi_eTa_1"), v01.Eta()); registry.fill(HIST("ss_KPi_invm_1"), v01.M()); - } - if (gapSide==2){ + } + if (gapSide == 2) { registry.fill(HIST("ss_KPi_pT_2"), v01.Pt()); registry.fill(HIST("ss_KPi_eTa_2"), v01.Eta()); registry.fill(HIST("ss_KPi_invm_2"), v01.M()); - } } } } - } + } + } }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) diff --git a/PWGUD/Tasks/SG_FIT_Analyzer.cxx b/PWGUD/Tasks/SG_FIT_Analyzer.cxx index 149db8b7286..d78c0c13a1e 100644 --- a/PWGUD/Tasks/SG_FIT_Analyzer.cxx +++ b/PWGUD/Tasks/SG_FIT_Analyzer.cxx @@ -35,7 +35,7 @@ struct SG_FIT_Analyzer { // UDTutorial01 ConfigurableAxis etaAxis{"etaAxis", {300, -1.5, 1.5}, ""}; ConfigurableAxis sigTPCAxis{"sigTPCAxis", {100, -100.0, 100.0}, ""}; ConfigurableAxis sigTOFAxis{"sigTOFAxis", {100, -100.0, 100.0}, ""}; - ConfigurableAxis multAxis{"multAxis", {51,-.5,50.5}, ""}; + ConfigurableAxis multAxis{"multAxis", {51, -.5, 50.5}, ""}; ConfigurableAxis FitAxis{"FitAxis", {2000, -0.5, 3999.5}, ""}; ConfigurableAxis ZDCAxis{"ZDCAxis", {1000, -2.5, 199.5}, ""}; Configurable FV0_cut{"FV0", 100., "FV0A threshold"}; @@ -186,89 +186,89 @@ struct SG_FIT_Analyzer { // UDTutorial01 registry.add("FIT/TFT0C", "Time FT0C", {HistType::kTH1F, {{100, -49.5, 50.5}}}); registry.add("FIT/TFDDA", "Time FDDA", {HistType::kTH1F, {{100, -49.5, 50.5}}}); registry.add("FIT/TFDDC", "Time FDDC", {HistType::kTH1F, {{100, -49.5, 50.5}}}); - registry.add("ZDC/AZNAC", "ZNA vs ZNC, A Gap", {HistType::kTH2F, {{axiszdc},{axiszdc}}}); - registry.add("ZDC/CZNAC", "ZNA vs ZNC, C Gap", {HistType::kTH2F, {{axiszdc},{axiszdc}}}); - registry.add("ZDC/ACZNAC", "ZNA vs ZNC, AC Gap", {HistType::kTH2F, {{axiszdc},{axiszdc}}}); - registry.add("ZDC/AZNAFT0A", "ZNA vs FT0A, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/AZNAFV0A", "ZNA vs FV0A, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/AZNCFV0A", "ZNC vs FV0A, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNAFT0A", "ZNA vs FT0A, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNAFV0A", "ZNA vs FV0A, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNCFV0A", "ZNC vs FV0A, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNAFT0A", "ZNA vs FT0A, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNAFV0A", "ZNA vs FV0A, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNCFV0A", "ZNC vs FV0A, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/AZNAFT0C", "ZNA vs FT0C, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNAFT0C", "ZNA vs FT0C, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNAFT0C", "ZNA vs FT0C, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/AZNCFT0A", "ZNC vs FT0A, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNCFT0A", "ZNC vs FT0A, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNCFT0A", "ZNC vs FT0A, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/AZNCFT0C", "ZNC vs FT0C, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNCFT0C", "ZNC vs FT0C, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNCFT0C", "ZNC vs FT0C, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/AZNAFDDA", "ZNA vs FDDA, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNAFDDA", "ZNA vs FDDA, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNAFDDA", "ZNA vs FDDA, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/AZNAFDDC", "ZNA vs FDDC, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNAFDDC", "ZNA vs FDDC, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNAFDDC", "ZNA vs FDDC, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/AZNCFDDA", "ZNC vs FDDA, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNCFDDA", "ZNC vs FDDA, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNCFDDA", "ZNC vs FDDA, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/AZNCFDDC", "ZNC vs FDDC, A Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/CZNCFDDC", "ZNC vs FDDC, C Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("ZDC/ACZNCFDDC", "ZNC vs FDDC, AC Gap", {HistType::kTH2F, {{axiszdc},{axisfit}}}); - registry.add("FIT/TAFV0A", "Time vs Amp FV0A", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/TAFT0A", "Time vs Amp FT0A", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/TTFT0", "Time FT0A vs Time FT0C", {HistType::kTH2F, {{40, -5.5, 34.5},{40,-5.5,34.5}}}); - registry.add("FIT/TTFT01", "Time FT0A vs Time FT0C", {HistType::kTH2F, {{40, -5.5, 34.5},{40,-5.5,34.5}}}); - registry.add("FIT/TTFT02", "Time FT0A vs Time FT0C", {HistType::kTH2F, {{40, -5.5, 34.5},{40,-5.5,34.5}}}); - registry.add("FIT/ACFT0", "Amp FITA vs Amp FITC", {HistType::kTH2F, {{100, -.5, 99.5},{100,-.5,99.5}}}); - registry.add("FIT/AFT0", "Amp FITA vs Amp FITC", {HistType::kTH2F, {{100, -.5, 99.5},{100,-.5,99.5}}}); - registry.add("FIT/CFT0", "Amp FITA vs Amp FITC", {HistType::kTH2F, {{100, -.5, 99.5},{100,-.5,99.5}}}); - registry.add("FIT/AFT0AC", "Amp FT0A vs Amp FT0C, A Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/CFT0AC", "Amp FT0A vs Amp FT0C, C Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/ACFT0AC", "Amp FT0A vs Amp FT0C, AC Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/AFTV0A", "Amp FT0A vs Amp FV0A, A Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/CFTV0A", "Amp FT0A vs Amp FV0A, C Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/ACFTV0A", "Amp FT0A vs Amp FV0A, AC Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/AFTV0C", "Amp FV0A vs Amp FT0C, A Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/CFTV0C", "Amp FV0A vs Amp FT0C, C Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/ACFTV0C", "Amp FV0A vs Amp FT0C, AC Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/AFDV0A", "Amp FDDA vs Amp FV0A, A Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/CFDV0A", "Amp FDDA vs Amp FV0A, C Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/ACFDV0A", "Amp FDDA vs Amp FV0A, AC Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/AFDT0A", "Amp FDDA vs Amp FT0A, A Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/CFDT0A", "Amp FDDA vs Amp FT0A, C Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/ACFDT0A", "Amp FDDA vs Amp FT0A, AC Gap", {HistType::kTH2F, {{axisfit},{axisfit}}}); - registry.add("FIT/TAFT0C", "Time vs Amp FT0C", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/TAFDDA", "Time vs Amp FDDA", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/TAFDDC", "Time vs Amp FDDA", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/TCFV0A", "Time vs Amp FV0A", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/TCFT0A", "Time vs Amp FT0A", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/TCFT0C", "Time vs Amp FT0C", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/TCFDDA", "Time vs Amp FDDA", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/TCFDDC", "Time vs Amp FDDC", {HistType::kTH2F, {{40, -5.5, 34.5},{axisfit}}}); - registry.add("FIT/MFV0A", "Track number vs Amp FV0A", {HistType::kTH2F, {{axismult},{axisfit}}}); - registry.add("FIT/MFT0A", "Track number vs Amp FT0A", {HistType::kTH2F, {{axismult},{axisfit}}}); - registry.add("FIT/MFT0C", "Track number vs Amp FT0C", {HistType::kTH2F, {{axismult},{axisfit}}}); - registry.add("FIT/MFDDA", "Track number vs Amp FDDA", {HistType::kTH2F, {{axismult},{axisfit}}}); - registry.add("FIT/MFDDC", "Track number vs Amp FDDC", {HistType::kTH2F, {{axismult},{axisfit}}}); - registry.add("ZDC/MAZNA", "Track number vs Amp FV0A", {HistType::kTH2F, {{axismult},{axiszdc}}}); - registry.add("ZDC/MAZNC", "Track number vs Amp FT0A", {HistType::kTH2F, {{axismult},{axiszdc}}}); - registry.add("ZDC/MCZNC", "Track number vs Amp FT0C", {HistType::kTH2F, {{axismult},{axiszdc}}}); - registry.add("ZDC/MCZNA", "Track number vs Amp FDDA", {HistType::kTH2F, {{axismult},{axiszdc}}}); - registry.add("ZDC/MACZNA", "Track number vs Amp FDDC", {HistType::kTH2F, {{axismult},{axiszdc}}}); - registry.add("ZDC/MACZNC", "Track number vs Amp FDDC", {HistType::kTH2F, {{axismult},{axiszdc}}}); + registry.add("ZDC/AZNAC", "ZNA vs ZNC, A Gap", {HistType::kTH2F, {{axiszdc}, {axiszdc}}}); + registry.add("ZDC/CZNAC", "ZNA vs ZNC, C Gap", {HistType::kTH2F, {{axiszdc}, {axiszdc}}}); + registry.add("ZDC/ACZNAC", "ZNA vs ZNC, AC Gap", {HistType::kTH2F, {{axiszdc}, {axiszdc}}}); + registry.add("ZDC/AZNAFT0A", "ZNA vs FT0A, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/AZNAFV0A", "ZNA vs FV0A, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/AZNCFV0A", "ZNC vs FV0A, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNAFT0A", "ZNA vs FT0A, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNAFV0A", "ZNA vs FV0A, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNCFV0A", "ZNC vs FV0A, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNAFT0A", "ZNA vs FT0A, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNAFV0A", "ZNA vs FV0A, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNCFV0A", "ZNC vs FV0A, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/AZNAFT0C", "ZNA vs FT0C, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNAFT0C", "ZNA vs FT0C, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNAFT0C", "ZNA vs FT0C, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/AZNCFT0A", "ZNC vs FT0A, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNCFT0A", "ZNC vs FT0A, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNCFT0A", "ZNC vs FT0A, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/AZNCFT0C", "ZNC vs FT0C, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNCFT0C", "ZNC vs FT0C, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNCFT0C", "ZNC vs FT0C, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/AZNAFDDA", "ZNA vs FDDA, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNAFDDA", "ZNA vs FDDA, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNAFDDA", "ZNA vs FDDA, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/AZNAFDDC", "ZNA vs FDDC, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNAFDDC", "ZNA vs FDDC, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNAFDDC", "ZNA vs FDDC, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/AZNCFDDA", "ZNC vs FDDA, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNCFDDA", "ZNC vs FDDA, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNCFDDA", "ZNC vs FDDA, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/AZNCFDDC", "ZNC vs FDDC, A Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/CZNCFDDC", "ZNC vs FDDC, C Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("ZDC/ACZNCFDDC", "ZNC vs FDDC, AC Gap", {HistType::kTH2F, {{axiszdc}, {axisfit}}}); + registry.add("FIT/TAFV0A", "Time vs Amp FV0A", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/TAFT0A", "Time vs Amp FT0A", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/TTFT0", "Time FT0A vs Time FT0C", {HistType::kTH2F, {{40, -5.5, 34.5}, {40, -5.5, 34.5}}}); + registry.add("FIT/TTFT01", "Time FT0A vs Time FT0C", {HistType::kTH2F, {{40, -5.5, 34.5}, {40, -5.5, 34.5}}}); + registry.add("FIT/TTFT02", "Time FT0A vs Time FT0C", {HistType::kTH2F, {{40, -5.5, 34.5}, {40, -5.5, 34.5}}}); + registry.add("FIT/ACFT0", "Amp FITA vs Amp FITC", {HistType::kTH2F, {{100, -.5, 99.5}, {100, -.5, 99.5}}}); + registry.add("FIT/AFT0", "Amp FITA vs Amp FITC", {HistType::kTH2F, {{100, -.5, 99.5}, {100, -.5, 99.5}}}); + registry.add("FIT/CFT0", "Amp FITA vs Amp FITC", {HistType::kTH2F, {{100, -.5, 99.5}, {100, -.5, 99.5}}}); + registry.add("FIT/AFT0AC", "Amp FT0A vs Amp FT0C, A Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/CFT0AC", "Amp FT0A vs Amp FT0C, C Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/ACFT0AC", "Amp FT0A vs Amp FT0C, AC Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/AFTV0A", "Amp FT0A vs Amp FV0A, A Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/CFTV0A", "Amp FT0A vs Amp FV0A, C Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/ACFTV0A", "Amp FT0A vs Amp FV0A, AC Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/AFTV0C", "Amp FV0A vs Amp FT0C, A Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/CFTV0C", "Amp FV0A vs Amp FT0C, C Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/ACFTV0C", "Amp FV0A vs Amp FT0C, AC Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/AFDV0A", "Amp FDDA vs Amp FV0A, A Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/CFDV0A", "Amp FDDA vs Amp FV0A, C Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/ACFDV0A", "Amp FDDA vs Amp FV0A, AC Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/AFDT0A", "Amp FDDA vs Amp FT0A, A Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/CFDT0A", "Amp FDDA vs Amp FT0A, C Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/ACFDT0A", "Amp FDDA vs Amp FT0A, AC Gap", {HistType::kTH2F, {{axisfit}, {axisfit}}}); + registry.add("FIT/TAFT0C", "Time vs Amp FT0C", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/TAFDDA", "Time vs Amp FDDA", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/TAFDDC", "Time vs Amp FDDA", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/TCFV0A", "Time vs Amp FV0A", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/TCFT0A", "Time vs Amp FT0A", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/TCFT0C", "Time vs Amp FT0C", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/TCFDDA", "Time vs Amp FDDA", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/TCFDDC", "Time vs Amp FDDC", {HistType::kTH2F, {{40, -5.5, 34.5}, {axisfit}}}); + registry.add("FIT/MFV0A", "Track number vs Amp FV0A", {HistType::kTH2F, {{axismult}, {axisfit}}}); + registry.add("FIT/MFT0A", "Track number vs Amp FT0A", {HistType::kTH2F, {{axismult}, {axisfit}}}); + registry.add("FIT/MFT0C", "Track number vs Amp FT0C", {HistType::kTH2F, {{axismult}, {axisfit}}}); + registry.add("FIT/MFDDA", "Track number vs Amp FDDA", {HistType::kTH2F, {{axismult}, {axisfit}}}); + registry.add("FIT/MFDDC", "Track number vs Amp FDDC", {HistType::kTH2F, {{axismult}, {axisfit}}}); + registry.add("ZDC/MAZNA", "Track number vs Amp FV0A", {HistType::kTH2F, {{axismult}, {axiszdc}}}); + registry.add("ZDC/MAZNC", "Track number vs Amp FT0A", {HistType::kTH2F, {{axismult}, {axiszdc}}}); + registry.add("ZDC/MCZNC", "Track number vs Amp FT0C", {HistType::kTH2F, {{axismult}, {axiszdc}}}); + registry.add("ZDC/MCZNA", "Track number vs Amp FDDA", {HistType::kTH2F, {{axismult}, {axiszdc}}}); + registry.add("ZDC/MACZNA", "Track number vs Amp FDDC", {HistType::kTH2F, {{axismult}, {axiszdc}}}); + registry.add("ZDC/MACZNC", "Track number vs Amp FDDC", {HistType::kTH2F, {{axismult}, {axiszdc}}}); } // define data types using UDCollisionsFull = soa::Join; // UDCollisions - //using UDCollisionsFull = soa::Join; // UDCollisions + // using UDCollisionsFull = soa::Join; // UDCollisions using UDCollisionFull = UDCollisionsFull::iterator; using UDTracksFull = soa::Join; -// using UDTracksFull = soa::Join; + // using UDTracksFull = soa::Join; void process(UDCollisionFull const& dgcand, UDTracksFull const& dgtracks) { @@ -283,9 +283,10 @@ struct SG_FIT_Analyzer { // UDTutorial01 // select PV contributors Partition PVContributors = aod::udtrack::isPVContributor == true; PVContributors.bindTable(dgtracks); - if(PVContributors.size() > 50)return; + if (PVContributors.size() > 50) + return; registry.get(HIST("collisions/multiplicityPVC"))->Fill(PVContributors.size(), 1.); - bool tof = false; + bool tof = false; // relative BC number auto bcnum = dgcand.globalBC() % o2::constants::lhc::LHCMaxBunches; registry.get(HIST("collisions/BC"))->Fill(bcnum, 1.); @@ -304,227 +305,236 @@ struct SG_FIT_Analyzer { // UDTutorial01 int z1pva = 0; int z1pvc = 0; int z1pvac = 0; - registry.get(HIST("FIT/TFT0A"))->Fill(dgcand.timeFT0A(), 1.); - registry.get(HIST("FIT/TFT0C"))->Fill(dgcand.timeFT0C(), 1.); - registry.get(HIST("FIT/TFV0A"))->Fill(dgcand.timeFV0A(), 1.); - registry.get(HIST("FIT/TFDDA"))->Fill(dgcand.timeFDDA(), 1.); - registry.get(HIST("FIT/TFDDC"))->Fill(dgcand.timeFDDC(), 1.); -// if (truegapSide == 0) { - registry.get(HIST("FIT/TAFT0A"))->Fill(dgcand.timeFT0A(), dgcand.totalFT0AmplitudeA()); - if (truegapSide == 0) registry.get(HIST("FIT/TTFT0"))->Fill(dgcand.timeFT0A(), dgcand.timeFT0C()); - if (truegapSide == 1) registry.get(HIST("FIT/TTFT01"))->Fill(dgcand.timeFT0A(), dgcand.timeFT0C()); - if (truegapSide == 2) registry.get(HIST("FIT/TTFT02"))->Fill(dgcand.timeFT0A(), dgcand.timeFT0C()); - if (truegapSide == 0) - registry.get(HIST("FIT/AFT0AC"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFT0AmplitudeC()); - if (truegapSide == 1) - registry.get(HIST("FIT/CFT0AC"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFT0AmplitudeC()); - if (truegapSide == 2) - registry.get(HIST("FIT/ACFT0AC"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFT0AmplitudeC()); - if (truegapSide == 0) - registry.get(HIST("FIT/AFTV0A"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFV0AmplitudeA()); - if (truegapSide == 1) - registry.get(HIST("FIT/CFTV0A"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFV0AmplitudeA()); - if (truegapSide == 2) - registry.get(HIST("FIT/ACFTV0A"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFV0AmplitudeA()); - if (truegapSide == 0) - registry.get(HIST("FIT/AFTV0C"))->Fill(dgcand.totalFV0AmplitudeA(), dgcand.totalFT0AmplitudeC()); - if (truegapSide == 1) - registry.get(HIST("FIT/CFTV0C"))->Fill(dgcand.totalFV0AmplitudeA(), dgcand.totalFT0AmplitudeC()); - if (truegapSide == 2) - registry.get(HIST("FIT/ACFTV0C"))->Fill(dgcand.totalFV0AmplitudeA(), dgcand.totalFT0AmplitudeC()); - if (truegapSide == 0) - registry.get(HIST("FIT/AFDV0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFV0AmplitudeA()); - if (truegapSide == 1) - registry.get(HIST("FIT/CFDV0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFV0AmplitudeA()); - if (truegapSide == 2) - registry.get(HIST("FIT/ACFDV0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFV0AmplitudeA()); - if (truegapSide == 0) - registry.get(HIST("FIT/AFDT0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFT0AmplitudeA()); - if (truegapSide == 1) - registry.get(HIST("FIT/CFDT0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFT0AmplitudeA()); - if (truegapSide == 2) - registry.get(HIST("FIT/ACFDT0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFT0AmplitudeA()); + registry.get(HIST("FIT/TFT0A"))->Fill(dgcand.timeFT0A(), 1.); + registry.get(HIST("FIT/TFT0C"))->Fill(dgcand.timeFT0C(), 1.); + registry.get(HIST("FIT/TFV0A"))->Fill(dgcand.timeFV0A(), 1.); + registry.get(HIST("FIT/TFDDA"))->Fill(dgcand.timeFDDA(), 1.); + registry.get(HIST("FIT/TFDDC"))->Fill(dgcand.timeFDDC(), 1.); + // if (truegapSide == 0) { + registry.get(HIST("FIT/TAFT0A"))->Fill(dgcand.timeFT0A(), dgcand.totalFT0AmplitudeA()); + if (truegapSide == 0) + registry.get(HIST("FIT/TTFT0"))->Fill(dgcand.timeFT0A(), dgcand.timeFT0C()); + if (truegapSide == 1) + registry.get(HIST("FIT/TTFT01"))->Fill(dgcand.timeFT0A(), dgcand.timeFT0C()); + if (truegapSide == 2) + registry.get(HIST("FIT/TTFT02"))->Fill(dgcand.timeFT0A(), dgcand.timeFT0C()); + if (truegapSide == 0) + registry.get(HIST("FIT/AFT0AC"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFT0AmplitudeC()); + if (truegapSide == 1) + registry.get(HIST("FIT/CFT0AC"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFT0AmplitudeC()); + if (truegapSide == 2) + registry.get(HIST("FIT/ACFT0AC"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFT0AmplitudeC()); + if (truegapSide == 0) + registry.get(HIST("FIT/AFTV0A"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFV0AmplitudeA()); + if (truegapSide == 1) + registry.get(HIST("FIT/CFTV0A"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFV0AmplitudeA()); + if (truegapSide == 2) + registry.get(HIST("FIT/ACFTV0A"))->Fill(dgcand.totalFT0AmplitudeA(), dgcand.totalFV0AmplitudeA()); + if (truegapSide == 0) + registry.get(HIST("FIT/AFTV0C"))->Fill(dgcand.totalFV0AmplitudeA(), dgcand.totalFT0AmplitudeC()); + if (truegapSide == 1) + registry.get(HIST("FIT/CFTV0C"))->Fill(dgcand.totalFV0AmplitudeA(), dgcand.totalFT0AmplitudeC()); + if (truegapSide == 2) + registry.get(HIST("FIT/ACFTV0C"))->Fill(dgcand.totalFV0AmplitudeA(), dgcand.totalFT0AmplitudeC()); + if (truegapSide == 0) + registry.get(HIST("FIT/AFDV0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFV0AmplitudeA()); + if (truegapSide == 1) + registry.get(HIST("FIT/CFDV0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFV0AmplitudeA()); + if (truegapSide == 2) + registry.get(HIST("FIT/ACFDV0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFV0AmplitudeA()); + if (truegapSide == 0) + registry.get(HIST("FIT/AFDT0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFT0AmplitudeA()); + if (truegapSide == 1) + registry.get(HIST("FIT/CFDT0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFT0AmplitudeA()); + if (truegapSide == 2) + registry.get(HIST("FIT/ACFDT0A"))->Fill(dgcand.totalFDDAmplitudeA(), dgcand.totalFT0AmplitudeA()); float totalA = dgcand.totalFDDAmplitudeA() + dgcand.totalFT0AmplitudeA() + dgcand.totalFV0AmplitudeA(); float totalC = dgcand.totalFDDAmplitudeC() + dgcand.totalFT0AmplitudeC(); - float zna = -1; - float znc = -1; - int an = 0; - int cn = 0; - if( dgcand.energyCommonZNC() > 0) znc = dgcand.energyCommonZNC() ; - if( dgcand.energyCommonZNA() > 0) zna = dgcand.energyCommonZNA() ; - if (zna > 0 && zna < 4) an = 1; - else if (zna > 4 && zna < 10) an = 2; - else if (zna > 10 && zna < 30) an = 3; - else if (zna > 30) an = 4; - if (znc > 0 && znc < 4) cn = 1; - else if (znc > 4 && znc < 10) cn = 2; - else if (znc > 10 && znc < 30) cn = 3; - else if (znc > 30) cn = 4; -//if (zna >0 && znc> 0) LOGF(info, "ZNA %f, ZNC %f", zna, znc); - registry.get(HIST("FIT/TAFT0C"))->Fill(dgcand.timeFT0C(), dgcand.totalFT0AmplitudeC()); - registry.get(HIST("FIT/TAFV0A"))->Fill(dgcand.timeFV0A(), dgcand.totalFV0AmplitudeA()); - registry.get(HIST("FIT/TAFDDA"))->Fill(dgcand.timeFDDA(), dgcand.totalFDDAmplitudeA()); - registry.get(HIST("FIT/TAFDDC"))->Fill(dgcand.timeFDDC(), dgcand.totalFDDAmplitudeC()); -// } + float zna = -1; + float znc = -1; + int an = 0; + int cn = 0; + if (dgcand.energyCommonZNC() > 0) + znc = dgcand.energyCommonZNC(); + if (dgcand.energyCommonZNA() > 0) + zna = dgcand.energyCommonZNA(); + if (zna > 0 && zna < 4) + an = 1; + else if (zna > 4 && zna < 10) + an = 2; + else if (zna > 10 && zna < 30) + an = 3; + else if (zna > 30) + an = 4; + if (znc > 0 && znc < 4) + cn = 1; + else if (znc > 4 && znc < 10) + cn = 2; + else if (znc > 10 && znc < 30) + cn = 3; + else if (znc > 30) + cn = 4; + // if (zna >0 && znc> 0) LOGF(info, "ZNA %f, ZNC %f", zna, znc); + registry.get(HIST("FIT/TAFT0C"))->Fill(dgcand.timeFT0C(), dgcand.totalFT0AmplitudeC()); + registry.get(HIST("FIT/TAFV0A"))->Fill(dgcand.timeFV0A(), dgcand.totalFV0AmplitudeA()); + registry.get(HIST("FIT/TAFDDA"))->Fill(dgcand.timeFDDA(), dgcand.totalFDDAmplitudeA()); + registry.get(HIST("FIT/TAFDDC"))->Fill(dgcand.timeFDDC(), dgcand.totalFDDAmplitudeC()); + // } if (truegapSide == 1) { - registry.get(HIST("FIT/TCFT0A"))->Fill(dgcand.timeFT0A(), dgcand.totalFT0AmplitudeA()); - registry.get(HIST("FIT/TCFT0C"))->Fill(dgcand.timeFT0C(), dgcand.totalFT0AmplitudeC()); - registry.get(HIST("FIT/TCFV0A"))->Fill(dgcand.timeFV0A(), dgcand.totalFV0AmplitudeA()); - registry.get(HIST("FIT/TCFDDA"))->Fill(dgcand.timeFDDA(), dgcand.totalFDDAmplitudeA()); - registry.get(HIST("FIT/TCFDDC"))->Fill(dgcand.timeFDDC(), dgcand.totalFDDAmplitudeC()); - registry.get(HIST("ZDC/tCZNA"))->Fill(dgcand.timeZNA(), 1.); - registry.get(HIST("ZDC/tCZNC"))->Fill(dgcand.timeZNC(), 1.); + registry.get(HIST("FIT/TCFT0A"))->Fill(dgcand.timeFT0A(), dgcand.totalFT0AmplitudeA()); + registry.get(HIST("FIT/TCFT0C"))->Fill(dgcand.timeFT0C(), dgcand.totalFT0AmplitudeC()); + registry.get(HIST("FIT/TCFV0A"))->Fill(dgcand.timeFV0A(), dgcand.totalFV0AmplitudeA()); + registry.get(HIST("FIT/TCFDDA"))->Fill(dgcand.timeFDDA(), dgcand.totalFDDAmplitudeA()); + registry.get(HIST("FIT/TCFDDC"))->Fill(dgcand.timeFDDC(), dgcand.totalFDDAmplitudeC()); + registry.get(HIST("ZDC/tCZNA"))->Fill(dgcand.timeZNA(), 1.); + registry.get(HIST("ZDC/tCZNC"))->Fill(dgcand.timeZNC(), 1.); } if (truegapSide == 0) { - registry.get(HIST("ZDC/tAZNA"))->Fill(dgcand.timeZNA(), 1.); - registry.get(HIST("ZDC/tAZNC"))->Fill(dgcand.timeZNC(), 1.); - registry.get(HIST("ZDC/AZNA"))->Fill(zna, 1.); - registry.get(HIST("ZDC/AZNC"))->Fill(znc, 1.); - registry.get(HIST("ZDC/AZNAC"))->Fill(zna, znc); - registry.get(HIST("ZDC/AZNAFT0A"))->Fill(zna, dgcand.totalFT0AmplitudeA()); - registry.get(HIST("ZDC/AZNAFT0C"))->Fill(zna, dgcand.totalFT0AmplitudeC()); - registry.get(HIST("ZDC/AZNCFT0A"))->Fill(znc, dgcand.totalFT0AmplitudeA()); - registry.get(HIST("ZDC/AZNCFT0C"))->Fill(znc, dgcand.totalFT0AmplitudeC()); - registry.get(HIST("ZDC/AZNAFDDA"))->Fill(zna, dgcand.totalFDDAmplitudeA()); - registry.get(HIST("ZDC/AZNAFDDC"))->Fill(zna, dgcand.totalFDDAmplitudeC()); - registry.get(HIST("ZDC/AZNCFDDA"))->Fill(znc, dgcand.totalFDDAmplitudeA()); - registry.get(HIST("ZDC/AZNCFDDC"))->Fill(znc, dgcand.totalFDDAmplitudeC()); - registry.get(HIST("ZDC/AZNAFV0A"))->Fill(zna, dgcand.totalFV0AmplitudeA()); - registry.get(HIST("ZDC/AZNCFV0A"))->Fill(znc, dgcand.totalFV0AmplitudeA()); - registry.get(HIST("FIT/AFT0"))->Fill(totalA, totalC); - registry.get(HIST("FIT/AFITA"))->Fill(totalA, 1.); - registry.get(HIST("FIT/AFITC"))->Fill(totalC, 1.); - registry.get(HIST("FIT/AFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - if (an&&cn)registry.get(HIST("FIT/zAFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - if (cn==0){ - registry.get(HIST("FIT/AFT0A0"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFV0A0"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFT0C0"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - if (an==0)registry.get(HIST("FIT/AFT0C00"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - registry.get(HIST("FIT/AFDDC0"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); - } - else if (cn==1){ - registry.get(HIST("FIT/AFT0A1"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFV0A1"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFT0C1"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - registry.get(HIST("FIT/AFDDC1"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); - } - else if (cn==2){ - registry.get(HIST("FIT/AFT0A2"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFV0A2"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFT0C2"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - registry.get(HIST("FIT/AFDDC2"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); - } - else if (cn==3){ - registry.get(HIST("FIT/AFT0A3"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFV0A3"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFT0C3"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - registry.get(HIST("FIT/AFDDC3"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); - } - else if (cn==4){ - registry.get(HIST("FIT/AFT0A4"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFV0A4"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFT0C4"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - registry.get(HIST("FIT/AFDDC4"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); - } - if (an&&cn)registry.get(HIST("FIT/zAFDDC"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); + registry.get(HIST("ZDC/tAZNA"))->Fill(dgcand.timeZNA(), 1.); + registry.get(HIST("ZDC/tAZNC"))->Fill(dgcand.timeZNC(), 1.); + registry.get(HIST("ZDC/AZNA"))->Fill(zna, 1.); + registry.get(HIST("ZDC/AZNC"))->Fill(znc, 1.); + registry.get(HIST("ZDC/AZNAC"))->Fill(zna, znc); + registry.get(HIST("ZDC/AZNAFT0A"))->Fill(zna, dgcand.totalFT0AmplitudeA()); + registry.get(HIST("ZDC/AZNAFT0C"))->Fill(zna, dgcand.totalFT0AmplitudeC()); + registry.get(HIST("ZDC/AZNCFT0A"))->Fill(znc, dgcand.totalFT0AmplitudeA()); + registry.get(HIST("ZDC/AZNCFT0C"))->Fill(znc, dgcand.totalFT0AmplitudeC()); + registry.get(HIST("ZDC/AZNAFDDA"))->Fill(zna, dgcand.totalFDDAmplitudeA()); + registry.get(HIST("ZDC/AZNAFDDC"))->Fill(zna, dgcand.totalFDDAmplitudeC()); + registry.get(HIST("ZDC/AZNCFDDA"))->Fill(znc, dgcand.totalFDDAmplitudeA()); + registry.get(HIST("ZDC/AZNCFDDC"))->Fill(znc, dgcand.totalFDDAmplitudeC()); + registry.get(HIST("ZDC/AZNAFV0A"))->Fill(zna, dgcand.totalFV0AmplitudeA()); + registry.get(HIST("ZDC/AZNCFV0A"))->Fill(znc, dgcand.totalFV0AmplitudeA()); + registry.get(HIST("FIT/AFT0"))->Fill(totalA, totalC); + registry.get(HIST("FIT/AFITA"))->Fill(totalA, 1.); + registry.get(HIST("FIT/AFITC"))->Fill(totalC, 1.); + registry.get(HIST("FIT/AFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + if (an && cn) + registry.get(HIST("FIT/zAFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + if (cn == 0) { + registry.get(HIST("FIT/AFT0A0"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFV0A0"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFT0C0"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + if (an == 0) + registry.get(HIST("FIT/AFT0C00"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + registry.get(HIST("FIT/AFDDC0"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); + } else if (cn == 1) { + registry.get(HIST("FIT/AFT0A1"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFV0A1"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFT0C1"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + registry.get(HIST("FIT/AFDDC1"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); + } else if (cn == 2) { + registry.get(HIST("FIT/AFT0A2"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFV0A2"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFT0C2"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + registry.get(HIST("FIT/AFDDC2"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); + } else if (cn == 3) { + registry.get(HIST("FIT/AFT0A3"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFV0A3"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFT0C3"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + registry.get(HIST("FIT/AFDDC3"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); + } else if (cn == 4) { + registry.get(HIST("FIT/AFT0A4"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFV0A4"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFT0C4"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + registry.get(HIST("FIT/AFDDC4"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); + } + if (an && cn) + registry.get(HIST("FIT/zAFDDC"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); - registry.get(HIST("FIT/AFV0A"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/AFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); - registry.get(HIST("FIT/AFDDC"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); - registry.get(HIST("FIT/MFT0C"))->Fill(PVContributors.size(), dgcand.totalFT0AmplitudeC()); - registry.get(HIST("FIT/MFDDC"))->Fill(PVContributors.size(), dgcand.totalFDDAmplitudeC()); - registry.get(HIST("ZDC/MAZNA"))->Fill(PVContributors.size(), zna); - registry.get(HIST("ZDC/MAZNC"))->Fill(PVContributors.size(), znc); + registry.get(HIST("FIT/AFV0A"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/AFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + registry.get(HIST("FIT/AFDDC"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); + registry.get(HIST("FIT/MFT0C"))->Fill(PVContributors.size(), dgcand.totalFT0AmplitudeC()); + registry.get(HIST("FIT/MFDDC"))->Fill(PVContributors.size(), dgcand.totalFDDAmplitudeC()); + registry.get(HIST("ZDC/MAZNA"))->Fill(PVContributors.size(), zna); + registry.get(HIST("ZDC/MAZNC"))->Fill(PVContributors.size(), znc); } if (truegapSide == 1) { - registry.get(HIST("ZDC/CZNA"))->Fill(zna, 1.); - registry.get(HIST("ZDC/CZNC"))->Fill(znc, 1.); - registry.get(HIST("ZDC/CZNAC"))->Fill(zna, znc); - registry.get(HIST("ZDC/CZNAFT0A"))->Fill(zna, dgcand.totalFT0AmplitudeA()); - registry.get(HIST("ZDC/CZNAFT0C"))->Fill(zna, dgcand.totalFT0AmplitudeC()); - registry.get(HIST("ZDC/CZNCFT0A"))->Fill(znc, dgcand.totalFT0AmplitudeA()); - registry.get(HIST("ZDC/CZNCFT0C"))->Fill(znc, dgcand.totalFT0AmplitudeC()); - registry.get(HIST("ZDC/CZNAFDDA"))->Fill(zna, dgcand.totalFDDAmplitudeA()); - registry.get(HIST("ZDC/CZNAFDDC"))->Fill(zna, dgcand.totalFDDAmplitudeC()); - registry.get(HIST("ZDC/CZNCFDDA"))->Fill(znc, dgcand.totalFDDAmplitudeA()); - registry.get(HIST("ZDC/CZNCFDDC"))->Fill(znc, dgcand.totalFDDAmplitudeC()); - registry.get(HIST("ZDC/CZNAFV0A"))->Fill(zna, dgcand.totalFV0AmplitudeA()); - registry.get(HIST("ZDC/CZNCFV0A"))->Fill(znc, dgcand.totalFV0AmplitudeA()); - registry.get(HIST("FIT/CFT0"))->Fill(totalA, totalC); - registry.get(HIST("FIT/CFITA"))->Fill(totalA, 1.); - registry.get(HIST("FIT/CFITC"))->Fill(totalC, 1.); - registry.get(HIST("FIT/MFT0A"))->Fill(PVContributors.size(), dgcand.totalFT0AmplitudeA()); - registry.get(HIST("FIT/MFV0A"))->Fill(PVContributors.size(), dgcand.totalFV0AmplitudeA()); - registry.get(HIST("FIT/MFDDA"))->Fill(PVContributors.size(), dgcand.totalFDDAmplitudeA()); - registry.get(HIST("ZDC/MCZNA"))->Fill(PVContributors.size(), zna); - registry.get(HIST("ZDC/MCZNC"))->Fill(PVContributors.size(), znc); - registry.get(HIST("FIT/CFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - registry.get(HIST("FIT/CFV0A"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); -if(an&&cn){ - registry.get(HIST("FIT/zCFV0A"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/zCFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/zCFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); -} - if (an==0){ - registry.get(HIST("FIT/CFT0A0"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - if (cn==0)registry.get(HIST("FIT/CFT0A00"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFV0A0"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFDDA0"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); - } - else if (an==1){ - registry.get(HIST("FIT/CFT0A1"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFV0A1"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFDDA1"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); - } - else if (an==2){ - registry.get(HIST("FIT/CFT0A2"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFV0A2"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFDDA2"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); - } - else if (an==3){ - registry.get(HIST("FIT/CFT0A3"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFV0A3"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFDDA3"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); - } - else if (an==4){ - registry.get(HIST("FIT/CFT0A4"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFV0A4"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/CFDDA4"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); - } + registry.get(HIST("ZDC/CZNA"))->Fill(zna, 1.); + registry.get(HIST("ZDC/CZNC"))->Fill(znc, 1.); + registry.get(HIST("ZDC/CZNAC"))->Fill(zna, znc); + registry.get(HIST("ZDC/CZNAFT0A"))->Fill(zna, dgcand.totalFT0AmplitudeA()); + registry.get(HIST("ZDC/CZNAFT0C"))->Fill(zna, dgcand.totalFT0AmplitudeC()); + registry.get(HIST("ZDC/CZNCFT0A"))->Fill(znc, dgcand.totalFT0AmplitudeA()); + registry.get(HIST("ZDC/CZNCFT0C"))->Fill(znc, dgcand.totalFT0AmplitudeC()); + registry.get(HIST("ZDC/CZNAFDDA"))->Fill(zna, dgcand.totalFDDAmplitudeA()); + registry.get(HIST("ZDC/CZNAFDDC"))->Fill(zna, dgcand.totalFDDAmplitudeC()); + registry.get(HIST("ZDC/CZNCFDDA"))->Fill(znc, dgcand.totalFDDAmplitudeA()); + registry.get(HIST("ZDC/CZNCFDDC"))->Fill(znc, dgcand.totalFDDAmplitudeC()); + registry.get(HIST("ZDC/CZNAFV0A"))->Fill(zna, dgcand.totalFV0AmplitudeA()); + registry.get(HIST("ZDC/CZNCFV0A"))->Fill(znc, dgcand.totalFV0AmplitudeA()); + registry.get(HIST("FIT/CFT0"))->Fill(totalA, totalC); + registry.get(HIST("FIT/CFITA"))->Fill(totalA, 1.); + registry.get(HIST("FIT/CFITC"))->Fill(totalC, 1.); + registry.get(HIST("FIT/MFT0A"))->Fill(PVContributors.size(), dgcand.totalFT0AmplitudeA()); + registry.get(HIST("FIT/MFV0A"))->Fill(PVContributors.size(), dgcand.totalFV0AmplitudeA()); + registry.get(HIST("FIT/MFDDA"))->Fill(PVContributors.size(), dgcand.totalFDDAmplitudeA()); + registry.get(HIST("ZDC/MCZNA"))->Fill(PVContributors.size(), zna); + registry.get(HIST("ZDC/MCZNC"))->Fill(PVContributors.size(), znc); + registry.get(HIST("FIT/CFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + registry.get(HIST("FIT/CFV0A"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + if (an && cn) { + registry.get(HIST("FIT/zCFV0A"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/zCFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/zCFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + } + if (an == 0) { + registry.get(HIST("FIT/CFT0A0"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + if (cn == 0) + registry.get(HIST("FIT/CFT0A00"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFV0A0"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFDDA0"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + } else if (an == 1) { + registry.get(HIST("FIT/CFT0A1"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFV0A1"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFDDA1"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + } else if (an == 2) { + registry.get(HIST("FIT/CFT0A2"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFV0A2"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFDDA2"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + } else if (an == 3) { + registry.get(HIST("FIT/CFT0A3"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFV0A3"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFDDA3"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + } else if (an == 4) { + registry.get(HIST("FIT/CFT0A4"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFV0A4"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/CFDDA4"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + } - registry.get(HIST("FIT/CFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); - registry.get(HIST("FIT/CFDDC"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); + registry.get(HIST("FIT/CFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + registry.get(HIST("FIT/CFDDC"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); } if (truegapSide == 2) { - registry.get(HIST("ZDC/tACZNA"))->Fill(dgcand.timeZNA(), 1.); - registry.get(HIST("ZDC/tACZNC"))->Fill(dgcand.timeZNC(), 1.); - registry.get(HIST("ZDC/ACZNA"))->Fill(zna, 1.); - registry.get(HIST("ZDC/ACZNC"))->Fill(znc, 1.); - registry.get(HIST("ZDC/ACZNAC"))->Fill(zna, znc); - registry.get(HIST("ZDC/ACZNAFT0A"))->Fill(zna, dgcand.totalFT0AmplitudeA()); - registry.get(HIST("ZDC/ACZNAFT0C"))->Fill(zna, dgcand.totalFT0AmplitudeC()); - registry.get(HIST("ZDC/ACZNCFT0A"))->Fill(znc, dgcand.totalFT0AmplitudeA()); - registry.get(HIST("ZDC/ACZNCFT0C"))->Fill(znc, dgcand.totalFT0AmplitudeC()); - registry.get(HIST("ZDC/ACZNAFDDA"))->Fill(zna, dgcand.totalFDDAmplitudeA()); - registry.get(HIST("ZDC/ACZNAFDDC"))->Fill(zna, dgcand.totalFDDAmplitudeC()); - registry.get(HIST("ZDC/ACZNCFDDA"))->Fill(znc, dgcand.totalFDDAmplitudeA()); - registry.get(HIST("ZDC/ACZNCFDDC"))->Fill(znc, dgcand.totalFDDAmplitudeC()); - registry.get(HIST("ZDC/ACZNAFV0A"))->Fill(zna, dgcand.totalFV0AmplitudeA()); - registry.get(HIST("ZDC/ACZNCFV0A"))->Fill(znc, dgcand.totalFV0AmplitudeA()); - registry.get(HIST("FIT/ACFT0"))->Fill(totalA, totalC); - registry.get(HIST("FIT/ACFITA"))->Fill(totalA, 1.); - registry.get(HIST("FIT/ACFITC"))->Fill(totalC, 1.); - registry.get(HIST("FIT/ACFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("FIT/ACFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - registry.get(HIST("FIT/ACFV0A"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); - registry.get(HIST("FIT/ACFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); - registry.get(HIST("FIT/ACFDDC"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); - registry.get(HIST("ZDC/MACZNA"))->Fill(PVContributors.size(), zna); - registry.get(HIST("ZDC/MACZNC"))->Fill(PVContributors.size(), znc); + registry.get(HIST("ZDC/tACZNA"))->Fill(dgcand.timeZNA(), 1.); + registry.get(HIST("ZDC/tACZNC"))->Fill(dgcand.timeZNC(), 1.); + registry.get(HIST("ZDC/ACZNA"))->Fill(zna, 1.); + registry.get(HIST("ZDC/ACZNC"))->Fill(znc, 1.); + registry.get(HIST("ZDC/ACZNAC"))->Fill(zna, znc); + registry.get(HIST("ZDC/ACZNAFT0A"))->Fill(zna, dgcand.totalFT0AmplitudeA()); + registry.get(HIST("ZDC/ACZNAFT0C"))->Fill(zna, dgcand.totalFT0AmplitudeC()); + registry.get(HIST("ZDC/ACZNCFT0A"))->Fill(znc, dgcand.totalFT0AmplitudeA()); + registry.get(HIST("ZDC/ACZNCFT0C"))->Fill(znc, dgcand.totalFT0AmplitudeC()); + registry.get(HIST("ZDC/ACZNAFDDA"))->Fill(zna, dgcand.totalFDDAmplitudeA()); + registry.get(HIST("ZDC/ACZNAFDDC"))->Fill(zna, dgcand.totalFDDAmplitudeC()); + registry.get(HIST("ZDC/ACZNCFDDA"))->Fill(znc, dgcand.totalFDDAmplitudeA()); + registry.get(HIST("ZDC/ACZNCFDDC"))->Fill(znc, dgcand.totalFDDAmplitudeC()); + registry.get(HIST("ZDC/ACZNAFV0A"))->Fill(zna, dgcand.totalFV0AmplitudeA()); + registry.get(HIST("ZDC/ACZNCFV0A"))->Fill(znc, dgcand.totalFV0AmplitudeA()); + registry.get(HIST("FIT/ACFT0"))->Fill(totalA, totalC); + registry.get(HIST("FIT/ACFITA"))->Fill(totalA, 1.); + registry.get(HIST("FIT/ACFITC"))->Fill(totalC, 1.); + registry.get(HIST("FIT/ACFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("FIT/ACFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + registry.get(HIST("FIT/ACFV0A"))->Fill(dgcand.totalFV0AmplitudeA(), 1.); + registry.get(HIST("FIT/ACFDDA"))->Fill(dgcand.totalFDDAmplitudeA(), 1.); + registry.get(HIST("FIT/ACFDDC"))->Fill(dgcand.totalFDDAmplitudeC(), 1.); + registry.get(HIST("ZDC/MACZNA"))->Fill(PVContributors.size(), zna); + registry.get(HIST("ZDC/MACZNC"))->Fill(PVContributors.size(), znc); } for (auto track : dgtracks) { @@ -533,70 +543,100 @@ if(an&&cn){ registry.get(HIST("tracks/QCAll"))->Fill(2., track.hasTPC() * 1.); registry.get(HIST("tracks/QCAll"))->Fill(3., track.hasTRD() * 1.); registry.get(HIST("tracks/QCAll"))->Fill(4., track.hasTOF() * 1.); - if (track.tofChi2() > -10) tof = true; + if (track.tofChi2() > -10) + tof = true; auto vtrk = TVector3(track.px(), track.py(), track.pz()); registry.get(HIST("tracks/ptAll"))->Fill(track.pt(), 1.); - if (truegapSide == 0 ) registry.get(HIST("tracks/etaA"))->Fill(vtrk.Eta(), 1.); - if (truegapSide == 1 ) registry.get(HIST("tracks/etaC"))->Fill(vtrk.Eta(), 1.); - if (truegapSide == 2 ) registry.get(HIST("tracks/etaAC"))->Fill(vtrk.Eta(), 1.); + if (truegapSide == 0) + registry.get(HIST("tracks/etaA"))->Fill(vtrk.Eta(), 1.); + if (truegapSide == 1) + registry.get(HIST("tracks/etaC"))->Fill(vtrk.Eta(), 1.); + if (truegapSide == 2) + registry.get(HIST("tracks/etaAC"))->Fill(vtrk.Eta(), 1.); auto signalTPC = track.tpcSignal() * track.sign(); registry.get(HIST("tracks/TPCSignalvspAll"))->Fill(vtrk.Mag(), signalTPC, 1.); auto signalTOF = track.tofSignal() * track.sign() / 1.E3; registry.get(HIST("tracks/TOFSignalvspAll"))->Fill(vtrk.Mag(), signalTOF, 1.); if (track.isPVContributor()) { - if (truegapSide == 0) registry.get(HIST("tracks/etavsptA"))->Fill(vtrk.Eta(), track.pt(), 1.); - if (truegapSide == 1) registry.get(HIST("tracks/etavsptC"))->Fill(vtrk.Eta(), track.pt(), 1.); - if (truegapSide == 2) registry.get(HIST("tracks/etavsptAC"))->Fill(vtrk.Eta(), track.pt(), 1.); + if (truegapSide == 0) + registry.get(HIST("tracks/etavsptA"))->Fill(vtrk.Eta(), track.pt(), 1.); + if (truegapSide == 1) + registry.get(HIST("tracks/etavsptC"))->Fill(vtrk.Eta(), track.pt(), 1.); + if (truegapSide == 2) + registry.get(HIST("tracks/etavsptAC"))->Fill(vtrk.Eta(), track.pt(), 1.); registry.get(HIST("tracks/QCPVC"))->Fill(0., 1.); registry.get(HIST("tracks/QCPVC"))->Fill(1., track.hasITS() * 1.); registry.get(HIST("tracks/QCPVC"))->Fill(2., track.hasTPC() * 1.); registry.get(HIST("tracks/QCPVC"))->Fill(3., track.hasTRD() * 1.); registry.get(HIST("tracks/QCPVC"))->Fill(4., track.hasTOF() * 1.); registry.get(HIST("tracks/ptPVC"))->Fill(track.pt(), 1.); -// registry.get(HIST("tracks/etavsptPVC"))->Fill(vtrk.Eta(), track.pt(), 1.); + // registry.get(HIST("tracks/etavsptPVC"))->Fill(vtrk.Eta(), track.pt(), 1.); if (truegapSide == 0) { - registry.get(HIST("tracks/etaApv"))->Fill(vtrk.Eta(), 1.); - if (!an) registry.get(HIST("tracks/eta2Apv"))->Fill(vtrk.Eta(), 1.); - if (!an) z0pva++; - else if (an==4) z1pva++; - pva++; - } + registry.get(HIST("tracks/etaApv"))->Fill(vtrk.Eta(), 1.); + if (!an) + registry.get(HIST("tracks/eta2Apv"))->Fill(vtrk.Eta(), 1.); + if (!an) + z0pva++; + else if (an == 4) + z1pva++; + pva++; + } if (truegapSide == 1) { - registry.get(HIST("tracks/etaCpv"))->Fill(vtrk.Eta(), 1.); - if (!cn) registry.get(HIST("tracks/eta2Cpv"))->Fill(vtrk.Eta(), 1.); - if (!cn) z0pvc++; - else if (cn==4) z1pvc++; - pvc++; - } + registry.get(HIST("tracks/etaCpv"))->Fill(vtrk.Eta(), 1.); + if (!cn) + registry.get(HIST("tracks/eta2Cpv"))->Fill(vtrk.Eta(), 1.); + if (!cn) + z0pvc++; + else if (cn == 4) + z1pvc++; + pvc++; + } if (truegapSide == 2) { - registry.get(HIST("tracks/etaACpv"))->Fill(vtrk.Eta(), 1.); - if (!an&&!cn) registry.get(HIST("tracks/eta2ACpv"))->Fill(vtrk.Eta(), 1.); - if (!an&&!cn) z0pvac++; - else if (an>=3 && cn>=3) z1pvac++; - pvac++; - } + registry.get(HIST("tracks/etaACpv"))->Fill(vtrk.Eta(), 1.); + if (!an && !cn) + registry.get(HIST("tracks/eta2ACpv"))->Fill(vtrk.Eta(), 1.); + if (!an && !cn) + z0pvac++; + else if (an >= 3 && cn >= 3) + z1pvac++; + pvac++; + } registry.get(HIST("tracks/TPCSignalvspPVC"))->Fill(vtrk.Mag(), signalTPC, 1.); registry.get(HIST("tracks/TOFSignalvspPVC"))->Fill(vtrk.Mag(), signalTOF, 1.); } } - if (pva) registry.get(HIST("collisions/multiplicityPVCA"))->Fill(pva, 1.); - if (pvc) registry.get(HIST("collisions/multiplicityPVCC"))->Fill(pvc, 1.); - if (pvac) registry.get(HIST("collisions/multiplicityPVCAC"))->Fill(pvac, 1.); - if (pva) registry.get(HIST("collisions/multiplicityZ0PVCA"))->Fill(z0pva, 1.); - if (pvc) registry.get(HIST("collisions/multiplicityZ0PVCC"))->Fill(z0pvc, 1.); - if (pvac) registry.get(HIST("collisions/multiplicityZ0PVCAC"))->Fill(z0pvac, 1.); - if (pva) registry.get(HIST("collisions/multiplicityZ1PVCA"))->Fill(z1pva, 1.); - if (pvc) registry.get(HIST("collisions/multiplicityZ1PVCC"))->Fill(z1pvc, 1.); - if (pvac) registry.get(HIST("collisions/multiplicityZ1PVCAC"))->Fill(z1pvac, 1.); -if (tof){ - if (truegapSide == 0) registry.get(HIST("FIT/tAFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); - if (truegapSide == 1) registry.get(HIST("FIT/tCFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); - registry.get(HIST("collisions/multiplicityTPVC"))->Fill(PVContributors.size(), 1.); - if (pva) registry.get(HIST("collisions/multiplicityTPVCA"))->Fill(pva, 1.); - if (pvc) registry.get(HIST("collisions/multiplicityTPVCC"))->Fill(pvc, 1.); - if (pvac) registry.get(HIST("collisions/multiplicityTPVCAC"))->Fill(pvac, 1.); -} + if (pva) + registry.get(HIST("collisions/multiplicityPVCA"))->Fill(pva, 1.); + if (pvc) + registry.get(HIST("collisions/multiplicityPVCC"))->Fill(pvc, 1.); + if (pvac) + registry.get(HIST("collisions/multiplicityPVCAC"))->Fill(pvac, 1.); + if (pva) + registry.get(HIST("collisions/multiplicityZ0PVCA"))->Fill(z0pva, 1.); + if (pvc) + registry.get(HIST("collisions/multiplicityZ0PVCC"))->Fill(z0pvc, 1.); + if (pvac) + registry.get(HIST("collisions/multiplicityZ0PVCAC"))->Fill(z0pvac, 1.); + if (pva) + registry.get(HIST("collisions/multiplicityZ1PVCA"))->Fill(z1pva, 1.); + if (pvc) + registry.get(HIST("collisions/multiplicityZ1PVCC"))->Fill(z1pvc, 1.); + if (pvac) + registry.get(HIST("collisions/multiplicityZ1PVCAC"))->Fill(z1pvac, 1.); + if (tof) { + if (truegapSide == 0) + registry.get(HIST("FIT/tAFT0C"))->Fill(dgcand.totalFT0AmplitudeC(), 1.); + if (truegapSide == 1) + registry.get(HIST("FIT/tCFT0A"))->Fill(dgcand.totalFT0AmplitudeA(), 1.); + registry.get(HIST("collisions/multiplicityTPVC"))->Fill(PVContributors.size(), 1.); + if (pva) + registry.get(HIST("collisions/multiplicityTPVCA"))->Fill(pva, 1.); + if (pvc) + registry.get(HIST("collisions/multiplicityTPVCC"))->Fill(pvc, 1.); + if (pvac) + registry.get(HIST("collisions/multiplicityTPVCAC"))->Fill(pvac, 1.); + } // fill FIT histograms for (auto bit = 0; bit < 33; bit++) { registry.get(HIST("FIT/BBFV0A"))->Fill(bit - 16, TESTBIT(dgcand.bbFV0Apf(), bit));