From 363ab4eedc514a723d650926fd05a545d7105ae4 Mon Sep 17 00:00:00 2001 From: Sasha Bylinkin <37345380+abylinkin@users.noreply.github.com> Date: Sun, 21 Apr 2024 13:48:09 +0200 Subject: [PATCH] Add files via upload --- PWGUD/Tasks/SG_FourPi_Analyzer.cxx | 137 +++++++++++++++-------------- 1 file changed, 73 insertions(+), 64 deletions(-) diff --git a/PWGUD/Tasks/SG_FourPi_Analyzer.cxx b/PWGUD/Tasks/SG_FourPi_Analyzer.cxx index 2c521d2f502..4242421b542 100644 --- a/PWGUD/Tasks/SG_FourPi_Analyzer.cxx +++ b/PWGUD/Tasks/SG_FourPi_Analyzer.cxx @@ -13,6 +13,7 @@ // \author Sasha Bylinkin, alexander.bylinkin@gmail.com // \since April 2023 +#include "Framework/AnalysisDataModel.h" #include "Framework/runDataProcessing.h" #include "Framework/AnalysisTask.h" #include "Framework/AnalysisDataModel.h" @@ -21,11 +22,17 @@ #include "PWGUD/Core/SGSelector.h" #include "PWGUD/Tasks/SGTrackSelector.h" #include "Common/DataModel/PIDResponse.h" +#include "Framework/ASoA.h" +#include "Framework/DataTypes.h" +#include "MathUtils/Utils.h" +#include "Common/DataModel/TrackSelectionTables.h" + #include #include "TLorentzVector.h" using namespace std; using namespace o2; using namespace o2::aod; +//using namespace o2::aod::track::v001; using namespace o2::framework; using namespace o2::framework::expressions; #define mpion 0.1396 @@ -33,8 +40,8 @@ using namespace o2::framework::expressions; #define mproton 0.9383 struct SG_FourPi_Analyzer { SGSelector sgSelector; - Configurable FV0_cut{"FV0", 100., "FV0A threshold"}; - Configurable FT0A_cut{"FT0A", 100., "FT0A threshold"}; + Configurable FV0_cut{"FV0", 50., "FV0A threshold"}; + Configurable FT0A_cut{"FT0A", 150., "FT0A threshold"}; Configurable FT0C_cut{"FT0C", 50., "FT0C threshold"}; Configurable FDDA_cut{"FDDA", 10000., "FDDA threshold"}; Configurable FDDC_cut{"FDDC", 10000., "FDDC threshold"}; @@ -45,6 +52,7 @@ struct SG_FourPi_Analyzer { {"GapSide", "Gap Side; Entries", {HistType::kTH1F, {{4, -1.5, 2.5}}}}, {"TrueGapSide", "Gap Side; Entries", {HistType::kTH1F, {{4, -1.5, 2.5}}}}, + {"ITSNCls", "ITS Clusters", {HistType::kTH1F, {{10, -.5, 9.5}}}}, {"os_4Pi_pT", "#K#Pi pT (GeV/c); Entries", {HistType::kTH1F, {{1000, 0, 10}}}}, {"os_4Pi_eTa", "#K#Pi eTa (GeV/c); Entries", {HistType::kTH1F, {{100, -2., 2.}}}}, {"os_4Pi_invm", "#K#Pi Mass (GeV/c^2); Entries", {HistType::kTH1F, {{1000, 0, 10}}}}, @@ -84,9 +92,9 @@ struct SG_FourPi_Analyzer { // Single gap either side TLorentzVector v01; // int truegapSide = sgSelector.trueGap(collision); - // int truegapSide = sgSelector.trueGap(collision, FV0_cut, ZDC_cut); - float FIT_cut[5] = {FV0_cut, FT0A_cut, FT0C_cut, FDDA_cut, FDDC_cut}; - // int truegapSide = sgSelector.trueGap(collision, *FIT_cut, ZDC_cut); + //int truegapSide = sgSelector.trueGap(collision, FV0_cut, ZDC_cut); + float FIT_cut[5]={FV0_cut, FT0A_cut, FT0C_cut, FDDA_cut, FDDC_cut}; + //int truegapSide = sgSelector.trueGap(collision, *FIT_cut, ZDC_cut); int truegapSide = sgSelector.trueGap(collision, FIT_cut[0], FIT_cut[1], FIT_cut[3], ZDC_cut); registry.fill(HIST("GapSide"), gapSide); registry.fill(HIST("TrueGapSide"), truegapSide); @@ -95,69 +103,70 @@ struct SG_FourPi_Analyzer { // Look for D0 and D0bar float sign = 0; for (auto t : tracks) { - TLorentzVector a; - a.SetXYZM(t.px(), t.py(), t.pz(), mpion); - if (trackselector(t)) { - sign += t.sign(); - goodTracks.push_back(a); - } + //int itsNCls = t.itsNCls(); + int itsNCls = t.uditsNCls(); +// int itsNCls = o2::aod::track::v001::ITSNCls; +// if (t.itsNCls()) {std::cout << t.itsClusterSizes()<