Skip to content

Commit 286e1c9

Browse files
authored
[PWGDQ] Adding the code for the energy correlators analysis (#13572)
1 parent 2fde7fb commit 286e1c9

File tree

5 files changed

+539
-20
lines changed

5 files changed

+539
-20
lines changed

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -969,6 +969,50 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
969969
hm->AddHistogram(histClass, "MCImpPar_CentFT0CMC", "MC impact param vs MC Cent. FT0C", false, 20, 0.0, 20.0, VarManager::kMCEventImpParam, 100, 0.0, 100.0, VarManager::kMCEventCentrFT0C);
970970
}
971971

972+
if (!groupStr.CompareTo("energy-correlator-gen")) {
973+
hm->AddHistogram(histClass, "MCCostheta", "Cos#theta", false, 40, -1.0, 1.0, VarManager::kMCCosTheta, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_before);
974+
hm->AddHistogram(histClass, "MCHadronPdgCode", "MCHadronPdgCode", false, 6000, -3000, 3000, VarManager::kMCHadronPdgCode);
975+
hm->AddHistogram(histClass, "MCMotherPdgCode", "MCMotherPdgCode", false, 6000, -3000, 3000, VarManager::kMCMotherPdgCode);
976+
hm->AddHistogram(histClass, "MCPdgCode", "MCPdgCode", false, 1000, -1000, 1000, VarManager::kMCPdgCode);
977+
hm->AddHistogram(histClass, "Coschi", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight);
978+
hm->AddHistogram(histClass, "Pt_Hadron", "", false, 120, 0.0, 30.0, VarManager::kMCHadronPt);
979+
hm->AddHistogram(histClass, "Eta_Hadron", "", false, 120, -2.0, 2.0, VarManager::kMCHadronEta);
980+
hm->AddHistogram(histClass, "DeltaEta", "", false, 20, -2.0, 2.0, VarManager::kMCdeltaeta);
981+
hm->AddHistogram(histClass, "DeltaPhi", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi);
982+
hm->AddHistogram(histClass, "DeltaEta_DeltaPhi", "", false, 20, -2.0, 2.0, VarManager::kMCdeltaeta, 50, -8.0, 8.0, VarManager::kMCdeltaphi);
983+
hm->AddHistogram(histClass, "Coschi_hadron_kMCWeight_hadron_DeltaEta", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi, 50, -8.0, 8.0, VarManager::kMCdeltaeta, 120, 0.0, 50, VarManager::kMCWeight);
984+
hm->AddHistogram(histClass, "Costheta_hadron_kMCWeight_before_DeltaEta", "", false, 40, -1.0, 1.0, VarManager::kMCCosTheta, 50, -8.0, 8.0, VarManager::kMCdeltaeta, 120, 0.0, 50, VarManager::kMCWeight_before);
985+
// for bkg
986+
hm->AddHistogram(histClass, "DeltaPhi_minus", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_minus);
987+
hm->AddHistogram(histClass, "DeltaPhi_toward_minus", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_toward_minus);
988+
hm->AddHistogram(histClass, "DeltaPhi_away_minus", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_away_minus);
989+
hm->AddHistogram(histClass, "DeltaPhi_trans_minus", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_trans_minus);
990+
991+
hm->AddHistogram(histClass, "Coschi_minus", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_minus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_minus);
992+
hm->AddHistogram(histClass, "Coschi_toward_minus", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_toward_minus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_toward_minus);
993+
hm->AddHistogram(histClass, "Coschi_away_minus", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_away_minus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_away_minus);
994+
hm->AddHistogram(histClass, "Coschi_trans_minus", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_trans_minus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_trans_minus);
995+
996+
hm->AddHistogram(histClass, "Costheta_minus", "", false, 40, -1.0, 1.0, VarManager::kMCCosTheta_minus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_before);
997+
hm->AddHistogram(histClass, "Costheta_toward_minus", "", false, 40, -1.0, 1.0, VarManager::kMCCosTheta_toward_minus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_before);
998+
hm->AddHistogram(histClass, "Costheta_away_minus", "", false, 40, -1.0, 1.0, VarManager::kMCCosTheta_away_minus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_before);
999+
hm->AddHistogram(histClass, "Costheta_trans_minus", "", false, 40, -1.0, 1.0, VarManager::kMCCosTheta_trans_minus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_before);
1000+
1001+
hm->AddHistogram(histClass, "DeltaPhi_plus", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_plus);
1002+
hm->AddHistogram(histClass, "DeltaPhi_toward_plus", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_toward_plus);
1003+
hm->AddHistogram(histClass, "DeltaPhi_away_plus", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_away_plus);
1004+
hm->AddHistogram(histClass, "DeltaPhi_trans_plus", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_trans_plus);
1005+
1006+
hm->AddHistogram(histClass, "Coschi_plus", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_plus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_plus);
1007+
hm->AddHistogram(histClass, "Coschi_toward_plus", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_toward_plus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_toward_plus);
1008+
hm->AddHistogram(histClass, "Coschi_away_plus", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_away_plus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_away_plus);
1009+
hm->AddHistogram(histClass, "Coschi_trans_plus", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_trans_plus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_trans_plus);
1010+
1011+
hm->AddHistogram(histClass, "Costheta_plus", "", false, 40, -1.0, 1.0, VarManager::kMCCosTheta_plus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_before);
1012+
hm->AddHistogram(histClass, "Costheta_toward_plus", "", false, 40, -1.0, 1.0, VarManager::kMCCosTheta_toward_plus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_before);
1013+
hm->AddHistogram(histClass, "Costheta_away_plus", "", false, 40, -1.0, 1.0, VarManager::kMCCosTheta_away_plus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_before);
1014+
hm->AddHistogram(histClass, "Costheta_trans_plus", "", false, 40, -1.0, 1.0, VarManager::kMCCosTheta_trans_plus, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_before);
1015+
}
9721016
if (!groupStr.CompareTo("pair")) {
9731017
if (subGroupStr.Contains("cepf")) {
9741018
hm->AddHistogram(histClass, "Mass", "", false, 300, 0.0, 12.0, VarManager::kMass);
@@ -1008,6 +1052,10 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
10081052
hm->AddHistogram(histClass, "Eta_Pt", "", false, 40, -2.0, 2.0, VarManager::kEta, 40, 0.0, 20.0, VarManager::kPt);
10091053
hm->AddHistogram(histClass, "Y_Pt", "", false, 40, -2.0, 2.0, VarManager::kRap, 40, 0.0, 20.0, VarManager::kPt);
10101054
hm->AddHistogram(histClass, "Mass_VtxZ", "", true, 30, -15.0, 15.0, VarManager::kVtxZ, 500, 0.0, 5.0, VarManager::kMass);
1055+
if (subGroupStr.Contains("energy-correlator")) {
1056+
hm->AddHistogram(histClass, "Mass_Y_Pt", "", false, 125, 0.0, 5.0, VarManager::kMass, 40, -2.0, 2.0, VarManager::kRap, 40, 0.0, 20.0, VarManager::kPt);
1057+
hm->AddHistogram(histClass, "Y", ";y", false, 40, -2.0, 2.0, VarManager::kRap);
1058+
}
10111059
if (subGroupStr.Contains("pbpb")) {
10121060
hm->AddHistogram(histClass, "Mass_CentFT0C", "", false, 125, 0.0, 5.0, VarManager::kMass, 20, 0.0, 100.0, VarManager::kCentFT0C);
10131061
hm->AddHistogram(histClass, "Pt_CentFT0C", "", false, 100, 0.0, 10.0, VarManager::kPt, 20, 0.0, 100.0, VarManager::kCentFT0C);
@@ -1897,6 +1945,18 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
18971945
if (subGroupStr.Contains("opencharm")) {
18981946
hm->AddHistogram(histClass, "Delta_Mass_DstarD0region", "", false, 50, 0.14, 0.16, VarManager::kDeltaMass);
18991947
}
1948+
if (subGroupStr.Contains("energy-correlator")) {
1949+
hm->AddHistogram(histClass, "Coschi", "", false, 40, -1.0, 1.0, VarManager::kCosChi, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kECWeight);
1950+
hm->AddHistogram(histClass, "CosTheta", "", false, 40, -1.0, 1.0, VarManager::kCosTheta, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kEWeight_before);
1951+
hm->AddHistogram(histClass, "Pt_Hadron", ";P_{T}", false, 120, 0.0, 30.0, VarManager::kPtDau);
1952+
hm->AddHistogram(histClass, "Eta_Hadron", ";#eta", false, 120, -2.0, 2.0, VarManager::kEtaDau);
1953+
hm->AddHistogram(histClass, "Phi_Hadron", ";#phi", false, 120, -8, 8, VarManager::kPhiDau);
1954+
hm->AddHistogram(histClass, "DeltaEta_DeltaPhi", "", false, 20, -2.0, 2.0, VarManager::kDeltaEta, 50, -8.0, 8.0, VarManager::kDeltaPhi);
1955+
hm->AddHistogram(histClass, "DeltaEta", "", false, 20, -2.0, 2.0, VarManager::kDeltaEta);
1956+
hm->AddHistogram(histClass, "DeltaPhi", "", false, 50, -8.0, 8.0, VarManager::kDeltaPhi);
1957+
hm->AddHistogram(histClass, "Coschi_hadron_kMCWeight_hadron_DeltaEta", "", false, 40, -1.0, 1.0, VarManager::kCosChi, 50, -8.0, 8.0, VarManager::kDeltaEta, 120, 0.0, 50, VarManager::kECWeight);
1958+
hm->AddHistogram(histClass, "Costheta_hadron_kMCWeight_before_DeltaEta", "", false, 40, -1.0, 1.0, VarManager::kCosTheta, 50, -8.0, 8.0, VarManager::kDeltaEta, 120, 0.0, 50, VarManager::kEWeight_before);
1959+
}
19001960
}
19011961

19021962
if (!groupStr.CompareTo("dilepton-charmhadron")) {

PWGDQ/Core/MCSignalLibrary.cxx

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1909,6 +1909,33 @@ MCSignal* o2::aod::dqmcsignals::GetMCSignal(const char* name)
19091909
signal = new MCSignal(name, "Electron pair and pion pair from Psi2S", {pronge, pronge, prongPi, prongPi}, {2, 2, 1, 1});
19101910
return signal;
19111911
}
1912+
1913+
if (!nameStr.compare("eeFromPromptJpsiAnyPrimary")) {
1914+
MCProng pronge(2, {11, 443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false}, false, {503}, {true});
1915+
pronge.SetSourceBit(0, MCProng::kPhysicalPrimary);
1916+
MCProng prongPrimary(1);
1917+
prongPrimary.SetSourceBit(0, MCProng::kPhysicalPrimary);
1918+
signal = new MCSignal(name, "anyprimary and electron pair from prompt jpsi", {pronge, pronge, prongPrimary}, {1, 1, -1});
1919+
return signal;
1920+
}
1921+
1922+
if (!nameStr.compare("eeFromJpsiAnyPrimary")) {
1923+
MCProng pronge(2, {11, 443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
1924+
pronge.SetSourceBit(0, MCProng::kPhysicalPrimary);
1925+
MCProng prongPrimary(1);
1926+
prongPrimary.SetSourceBit(0, MCProng::kPhysicalPrimary);
1927+
signal = new MCSignal(name, "anyprimary and electron pair from prompt jpsi", {pronge, pronge, prongPrimary}, {1, 1, -1});
1928+
return signal;
1929+
}
1930+
1931+
if (!nameStr.compare("eeFromNonPromptJpsiAnyPrimary")) {
1932+
MCProng pronge(3, {11, 443, 503}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
1933+
pronge.SetSourceBit(0, MCProng::kPhysicalPrimary);
1934+
MCProng prongPrimary(1);
1935+
prongPrimary.SetSourceBit(0, MCProng::kPhysicalPrimary);
1936+
signal = new MCSignal(name, "anyprimary and electron pair from non-prompt jpsi", {pronge, pronge, prongPrimary}, {1, 1, -1});
1937+
return signal;
1938+
}
19121939
return nullptr;
19131940
}
19141941

PWGDQ/Core/VarManager.cxx

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@
88
// In applying this license CERN does not waive the privileges and immunities
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
11+
#include "PWGDQ/Core/VarManager.h"
12+
13+
#include "Tools/KFparticle/KFUtilities.h"
14+
1115
#include <cmath>
1216
#include <iostream>
13-
#include <vector>
1417
#include <map>
15-
#include "PWGDQ/Core/VarManager.h"
16-
#include "Tools/KFparticle/KFUtilities.h"
18+
#include <vector>
1719

1820
using std::cout;
1921
using std::endl;
@@ -29,7 +31,7 @@ bool VarManager::fgUsedKF = false;
2931
float VarManager::fgMagField = 0.5;
3032
float VarManager::fgzMatching = -77.5;
3133
float VarManager::fgValues[VarManager::kNVars] = {0.0f};
32-
float VarManager::fgTPCInterSectorBoundary = 1.0; // cm
34+
float VarManager::fgTPCInterSectorBoundary = 1.0; // cm
3335
int VarManager::fgITSROFbias = 0;
3436
int VarManager::fgITSROFlength = 100;
3537
int VarManager::fgITSROFBorderMarginLow = 0;
@@ -734,6 +736,24 @@ void VarManager::SetDefaultVarNames()
734736
fgVariableUnits[kMuonTimeRes] = "ns";
735737
fgVariableNames[kMCPdgCode] = "MC PDG code";
736738
fgVariableUnits[kMCPdgCode] = "";
739+
fgVariableNames[kMCCosTheta] = "Cos#theta";
740+
fgVariableUnits[kMCCosTheta] = "";
741+
fgVariableNames[kMCHadronPdgCode] = "HadronPdgCode";
742+
fgVariableUnits[kMCHadronPdgCode] = "";
743+
fgVariableNames[kMCCosChi] = "Cos#chi";
744+
fgVariableUnits[kMCCosChi] = "";
745+
fgVariableNames[kMCJpsiPt] = "Jpsi p_{T}";
746+
fgVariableUnits[kMCJpsiPt] = "GeV/c";
747+
fgVariableNames[kMCHadronPt] = "Hadron p_{T}";
748+
fgVariableUnits[kMCHadronPt] = "GeV/c";
749+
fgVariableNames[kMCHadronEta] = "Hadron #eta";
750+
fgVariableUnits[kMCHadronEta] = "";
751+
fgVariableNames[kMCdeltaphi] = "#Delta#phi";
752+
fgVariableUnits[kMCdeltaphi] = "";
753+
fgVariableNames[kMCdeltaeta] = "#Delta#eta";
754+
fgVariableUnits[kMCdeltaeta] = "";
755+
fgVariableNames[kNhadron] = "N_{hadron}";
756+
fgVariableUnits[kNhadron] = "";
737757
fgVariableNames[kMCParticleWeight] = "MC particle weight";
738758
fgVariableUnits[kMCParticleWeight] = "";
739759
fgVariableNames[kMCPx] = "MC px";
@@ -1162,6 +1182,16 @@ void VarManager::SetDefaultVarNames()
11621182
fgVariableUnits[kDeltaPhi] = "rad.";
11631183
fgVariableNames[kDeltaPhiSym] = "#Delta#phi";
11641184
fgVariableUnits[kDeltaPhiSym] = "rad.";
1185+
fgVariableNames[kCosChi] = "Cos#chi";
1186+
fgVariableUnits[kCosChi] = "";
1187+
fgVariableNames[kCosTheta] = "Cos#theta";
1188+
fgVariableUnits[kCosTheta] = "";
1189+
fgVariableNames[kPtDau] = "hadron P_{T}";
1190+
fgVariableUnits[kPtDau] = "GeV/c";
1191+
fgVariableNames[kEtaDau] = "hadron #eta";
1192+
fgVariableUnits[kEtaDau] = "";
1193+
fgVariableNames[kPhiDau] = "hadron #phi";
1194+
fgVariableUnits[kPhiDau] = "";
11651195
fgVariableNames[kCosThetaHE] = "cos#it{#theta}";
11661196
fgVariableUnits[kCosThetaHE] = "";
11671197
fgVariableNames[kPhiHE] = "#varphi_{HE}";
@@ -1691,6 +1721,12 @@ void VarManager::SetDefaultVarNames()
16911721
fgVarNamesMap["kMuonNAssocsOutOfBunch"] = kMuonNAssocsOutOfBunch;
16921722
fgVarNamesMap["kNMuonTrackVariables"] = kNMuonTrackVariables;
16931723
fgVarNamesMap["kMCPdgCode"] = kMCPdgCode;
1724+
fgVarNamesMap["kMCCosTheta"] = kMCCosTheta;
1725+
fgVarNamesMap["kMCHadronPdgCode"] = kMCHadronPdgCode;
1726+
fgVarNamesMap["kMCCosChi"] = kMCCosChi;
1727+
fgVarNamesMap["kMCHadronPt"] = kMCHadronPt;
1728+
fgVarNamesMap["kMCCosChi_minus"] = kMCCosChi_minus;
1729+
fgVarNamesMap["kMCWeight_before"] = kMCWeight_before;
16941730
fgVarNamesMap["kMCParticleWeight"] = kMCParticleWeight;
16951731
fgVarNamesMap["kMCPx"] = kMCPx;
16961732
fgVarNamesMap["kMCPy"] = kMCPy;
@@ -1896,6 +1932,13 @@ void VarManager::SetDefaultVarNames()
18961932
fgVarNamesMap["kDeltaEta"] = kDeltaEta;
18971933
fgVarNamesMap["kDeltaPhi"] = kDeltaPhi;
18981934
fgVarNamesMap["kDeltaPhiSym"] = kDeltaPhiSym;
1935+
fgVarNamesMap["kCosTheta"] = kCosTheta;
1936+
fgVarNamesMap["kCosChi"] = kCosChi;
1937+
fgVarNamesMap["kECWeight"] = kECWeight;
1938+
fgVarNamesMap["kEWeight_before"] = kEWeight_before;
1939+
fgVarNamesMap["kPtDau"] = kPtDau;
1940+
fgVarNamesMap["kEtaDau"] = kEtaDau;
1941+
fgVarNamesMap["kPhiDau"] = kPhiDau;
18991942
fgVarNamesMap["kNCorrelationVariables"] = kNCorrelationVariables;
19001943
fgVarNamesMap["kQuadMass"] = kQuadMass;
19011944
fgVarNamesMap["kQuadDefaultDileptonMass"] = kQuadDefaultDileptonMass;

0 commit comments

Comments
 (0)