Skip to content

Commit 14b28ea

Browse files
authored
Add files via upload
1 parent a4f714e commit 14b28ea

File tree

3 files changed

+85
-46
lines changed

3 files changed

+85
-46
lines changed

PWGDQ/Core/HistogramsLibrary.cxx

Lines changed: 18 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -980,36 +980,25 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
980980
}
981981

982982
if (!groupStr.CompareTo("energy-correlator-gen")) {
983-
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);
984-
hm->AddHistogram(histClass, "MCHadronPdgCode", "MCHadronPdgCode", false, 6000, -3000, 3000, VarManager::kMCHadronPdgCode);
985-
hm->AddHistogram(histClass, "MCMotherPdgCode", "MCMotherPdgCode", false, 6000, -3000, 3000, VarManager::kMCMotherPdgCode);
986-
hm->AddHistogram(histClass, "MCPdgCode", "MCPdgCode", false, 1000, -1000, 1000, VarManager::kMCPdgCode);
987-
hm->AddHistogram(histClass, "Coschi", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight);
988-
hm->AddHistogram(histClass, "Pt_Hadron", "", false, 120, 0.0, 30.0, VarManager::kMCHadronPt);
989-
hm->AddHistogram(histClass, "Eta_Hadron", "", false, 120, -2.0, 2.0, VarManager::kMCHadronEta);
990-
hm->AddHistogram(histClass, "Phi_Hadron", "", false, 120, -2.0, 2.0, VarManager::kMCHadronPhi);
991-
hm->AddHistogram(histClass, "DeltaEta", "", false, 20, -2.0, 2.0, VarManager::kMCdeltaeta);
992-
hm->AddHistogram(histClass, "DeltaPhi", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi);
993-
hm->AddHistogram(histClass, "DeltaEta_DeltaPhi", "", false, 20, -2.0, 2.0, VarManager::kMCdeltaeta, 50, -8.0, 8.0, VarManager::kMCdeltaphi);
994-
// for bkg
995-
hm->AddHistogram(histClass, "DeltaPhi_randomPhi_trans", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_randomPhi_trans);
996-
hm->AddHistogram(histClass, "DeltaPhi_randomPhi_toward", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_randomPhi_toward);
997-
hm->AddHistogram(histClass, "DeltaPhi_randomPhi_away", "", false, 50, -8.0, 8.0, VarManager::kMCdeltaphi_randomPhi_away);
983+
double coschiBins[26];
984+
for (int i = 0; i < 26; i++) {
985+
coschiBins[i] = -1.0 + 2.0 * TMath::Power(0.04 * i, 2.0);
986+
}
998987

999-
hm->AddHistogram(histClass, "Coschi_randomPhi_trans", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_randomPhi_trans, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_randomPhi_trans);
1000-
hm->AddHistogram(histClass, "Coschi_randomPhi_toward", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_randomPhi_toward, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_randomPhi_toward);
1001-
hm->AddHistogram(histClass, "Coschi_randomPhi_away", "", false, 40, -1.0, 1.0, VarManager::kMCCosChi_randomPhi_away, 0, 0, 0, -1, 0, 0, 0, -1, "", "", "", -1, VarManager::kMCWeight_randomPhi_away);
988+
hm->AddHistogram(histClass, "Coschi", "", false, 25, coschiBins, VarManager::kMCCosChi, 0, nullptr, -1, 0, nullptr, -1, "", "", "", -1, VarManager::kMCWeight);
989+
990+
// for bkg
991+
hm->AddHistogram(histClass, "Coschi_randomPhi_trans", "", false, 25, coschiBins, VarManager::kMCCosChi_randomPhi_trans, 0, nullptr, -1, 0, nullptr, -1, "", "", "", -1, VarManager::kMCWeight_randomPhi_trans);
992+
hm->AddHistogram(histClass, "Coschi_randomPhi_toward", "", false, 25, coschiBins, VarManager::kMCCosChi_randomPhi_toward, 0, nullptr, -1, 0, nullptr, -1, "", "", "", -1, VarManager::kMCWeight_randomPhi_toward);
993+
hm->AddHistogram(histClass, "Coschi_randomPhi_away", "", false, 25, coschiBins, VarManager::kMCCosChi_randomPhi_away, 0, nullptr, -1, 0, nullptr, -1, "", "", "", -1, VarManager::kMCWeight_randomPhi_away);
1002994
}
1003-
if (!groupStr.CompareTo("polarization-pseudoproper-gen")) {
1004-
int varspTHE[3] = {VarManager::kMCPt, VarManager::kMCCosThetaHE, VarManager::kMCVertexingTauxyProjected};
1005-
int varspTCS[3] = {VarManager::kMCPt, VarManager::kMCCosThetaCS, VarManager::kMCVertexingTauxyProjected};
1006-
int varspTRM[3] = {VarManager::kMCPt, VarManager::kMCCosThetaRM, VarManager::kMCVertexingTauxyProjected};
1007-
int bins[3] = {20, 20, 1000};
1008-
double xmin[3] = {0., -1., -0.5};
1009-
double xmax[3] = {20., 1., 0.5};
1010-
hm->AddHistogram(histClass, "Pt_cosThetaHE_Tauxy", "", 3, varspTHE, bins, xmin, xmax, 0, -1, kFALSE);
1011-
hm->AddHistogram(histClass, "Pt_cosThetaCS_Tauxy", "", 3, varspTCS, bins, xmin, xmax, 0, -1, kFALSE);
1012-
hm->AddHistogram(histClass, "Pt_cosThetaRM_Tauxy", "", 3, varspTRM, bins, xmin, xmax, 0, -1, kFALSE);
995+
996+
if (!groupStr.CompareTo("energy-correlator-unfolding")) {
997+
double coschiBins[26];
998+
for (int i = 0; i < 26; i++) {
999+
coschiBins[i] = -1.0 + 0.08 * i;
1000+
}
1001+
hm->AddHistogram(histClass, "Coschi_unfolding", "", false, 25, coschiBins, VarManager::kMCCosChi_rec, 25, coschiBins, VarManager::kMCCosChi_gen);
10131002
}
10141003
if (!groupStr.CompareTo("pair")) {
10151004
if (subGroupStr.Contains("cepf")) {
@@ -1952,25 +1941,8 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
19521941
for (int i = 0; i < 21; i++) {
19531942
deltaetaBins[i] = -2.0 + 0.2 * i;
19541943
}
1955-
1956-
hm->AddHistogram(histClass, "dileptonmass", "", false, 125, 2.5, 3.5, VarManager::kdileptonmass);
19571944
hm->AddHistogram(histClass, "Coschi", "", false, 25, coschiBins, VarManager::kCosChi, 0, nullptr, -1, 0, nullptr, -1, "", "", "", -1, VarManager::kECWeight);
1958-
hm->AddHistogram(histClass, "Pt_Hadron", ";P_{T}", false, 120, 0.0, 30.0, VarManager::kPtDau);
1959-
hm->AddHistogram(histClass, "Coschi_wo", "", false, 25, coschiBins, VarManager::kCosChi);
1960-
hm->AddHistogram(histClass, "Eta_Hadron", ";#eta", false, 120, -2.0, 2.0, VarManager::kEtaDau);
1961-
hm->AddHistogram(histClass, "Phi_Hadron", ";#phi", false, 120, -8, 8, VarManager::kPhiDau);
1962-
hm->AddHistogram(histClass, "DeltaEta_DeltaPhi_weight", "", false, 20, -2.0, 2.0, VarManager::kDeltaEta, 50, -2.0, 6.0, VarManager::kDeltaPhi, 0, 0, 0, -1, "", "", "", -1, VarManager::kEWeight_before);
1963-
hm->AddHistogram(histClass, "DeltaEta_DeltaPhi", "", false, 20, -2.0, 2.0, VarManager::kDeltaEta, 50, -2.0, 6.0, VarManager::kDeltaPhi);
1964-
hm->AddHistogram(histClass, "Coschi_DeltaEta", "", false, 25, coschiBins, VarManager::kCosChi, 20, deltaetaBins, VarManager::kDeltaEta, 0, nullptr, -1, "", "", "", -1, VarManager::kECWeight);
1965-
hm->AddHistogram(histClass, "Coschi_wo_DeltaEta", "", false, 25, coschiBins, VarManager::kCosChi, 20, deltaetaBins, VarManager::kDeltaEta);
1966-
// for bkg
1967-
hm->AddHistogram(histClass, "Coschi_randomPhi_trans", "", false, 25, coschiBins, VarManager::kCosChi_randomPhi_trans, 0, nullptr, -1, 0, nullptr, -1, "", "", "", -1, VarManager::kWeight_randomPhi_trans);
1968-
hm->AddHistogram(histClass, "Coschi_randomPhi_toward", "", false, 25, coschiBins, VarManager::kCosChi_randomPhi_toward, 0, nullptr, -1, 0, nullptr, -1, "", "", "", -1, VarManager::kWeight_randomPhi_toward);
1969-
hm->AddHistogram(histClass, "Coschi_randomPhi_away", "", false, 25, coschiBins, VarManager::kCosChi_randomPhi_away, 0, nullptr, -1, 0, nullptr, -1, "", "", "", -1, VarManager::kWeight_randomPhi_away);
1970-
1971-
hm->AddHistogram(histClass, "Coschi_wo_randomPhi_trans", "", false, 25, coschiBins, VarManager::kCosChi_randomPhi_trans);
1972-
hm->AddHistogram(histClass, "Coschi_wo_randomPhi_toward", "", false, 25, coschiBins, VarManager::kCosChi_randomPhi_toward);
1973-
hm->AddHistogram(histClass, "Coschi_wo_randomPhi_away", "", false, 25, coschiBins, VarManager::kCosChi_randomPhi_away);
1945+
hm->AddHistogram(histClass, "DeltaEta_DeltaPhi_weight", "", false, 20, -2.0, 2.0, VarManager::kDeltaEta, 50, -2.0, 6.0, VarManager::kDeltaPhi, 0, 0, 0, -1, "", "", "", -1, VarManager::kPtDau);
19741946
}
19751947
}
19761948

PWGDQ/Core/VarManager.cxx

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1824,7 +1824,29 @@ void VarManager::SetDefaultVarNames()
18241824
fgVarNamesMap["kMCCosChi"] = kMCCosChi;
18251825
fgVarNamesMap["kMCHadronPt"] = kMCHadronPt;
18261826
fgVarNamesMap["kMCWeight_before"] = kMCWeight_before;
1827+
fgVarNamesMap["kMCdeltaeta"] = kMCdeltaeta;
1828+
fgVarNamesMap["kMCHadronPt"] = kMCHadronPt;
1829+
fgVarNamesMap["kMCHadronEta"] = kMCHadronEta;
1830+
fgVarNamesMap["kMCHadronPhi"] = kMCHadronPhi;
1831+
fgVarNamesMap["kMCWeight"] = kMCWeight;
1832+
fgVarNamesMap["kMCCosChi_randomPhi_toward"] = kMCCosChi_randomPhi_toward;
1833+
fgVarNamesMap["kMCWeight_randomPhi_toward"] = kMCWeight_randomPhi_toward;
1834+
fgVarNamesMap["kMCCosChi_randomPhi_away"] = kMCCosChi_randomPhi_away;
1835+
fgVarNamesMap["kMCWeight_randomPhi_away"] = kMCWeight_randomPhi_away;
1836+
fgVarNamesMap["kMCCosChi_randomPhi_trans"] = kMCCosChi_randomPhi_trans;
1837+
fgVarNamesMap["kMCWeight_randomPhi_trans"] = kMCWeight_randomPhi_trans;
1838+
fgVarNamesMap["kMCdeltaphi_randomPhi_toward"] = kMCdeltaphi_randomPhi_toward;
1839+
fgVarNamesMap["kMCdeltaphi_randomPhi_away"] = kMCdeltaphi_randomPhi_away;
1840+
fgVarNamesMap["kMCdeltaphi_randomPhi_trans"] = kMCdeltaphi_randomPhi_trans;
1841+
fgVarNamesMap["kMCCosChi_gen"] = kMCCosChi_gen;
1842+
fgVarNamesMap["kMCWeight_gen"] = kMCWeight_gen;
1843+
fgVarNamesMap["kMCdeltaeta_gen"] = kMCdeltaeta_gen;
1844+
fgVarNamesMap["kMCCosChi_rec"] = kMCCosChi_rec;
1845+
fgVarNamesMap["kMCWeight_rec"] = kMCWeight_rec;
1846+
fgVarNamesMap["kMCdeltaeta_rec"] = kMCdeltaeta_rec;
18271847
fgVarNamesMap["kMCParticleWeight"] = kMCParticleWeight;
1848+
fgVarNamesMap["kMCCosTheta"] = kMCCosTheta;
1849+
fgVarNamesMap["kMCJpsiPt"] = kMCJpsiPt;
18281850
fgVarNamesMap["kMCPx"] = kMCPx;
18291851
fgVarNamesMap["kMCPy"] = kMCPy;
18301852
fgVarNamesMap["kMCPz"] = kMCPz;
@@ -2045,6 +2067,16 @@ void VarManager::SetDefaultVarNames()
20452067
fgVarNamesMap["kPtDau"] = kPtDau;
20462068
fgVarNamesMap["kEtaDau"] = kEtaDau;
20472069
fgVarNamesMap["kPhiDau"] = kPhiDau;
2070+
fgVarNamesMap["kCosChi_randomPhi_trans"] = kCosChi_randomPhi_trans;
2071+
fgVarNamesMap["kCosChi_randomPhi_toward"] = kCosChi_randomPhi_toward;
2072+
fgVarNamesMap["kCosChi_randomPhi_away"] = kCosChi_randomPhi_away;
2073+
fgVarNamesMap["kWeight_randomPhi_trans"] = kWeight_randomPhi_trans;
2074+
fgVarNamesMap["kWeight_randomPhi_toward"] = kWeight_randomPhi_toward;
2075+
fgVarNamesMap["kWeight_randomPhi_away"] = kWeight_randomPhi_away;
2076+
fgVarNamesMap["kdeltaphi_randomPhi_trans"] = kdeltaphi_randomPhi_trans;
2077+
fgVarNamesMap["kdeltaphi_randomPhi_toward"] = kdeltaphi_randomPhi_toward;
2078+
fgVarNamesMap["kdeltaphi_randomPhi_away"] = kdeltaphi_randomPhi_away;
2079+
fgVarNamesMap["kdileptonmass"] = kdileptonmass;
20482080
fgVarNamesMap["kNCorrelationVariables"] = kNCorrelationVariables;
20492081
fgVarNamesMap["kQuadMass"] = kQuadMass;
20502082
fgVarNamesMap["kQuadDefaultDileptonMass"] = kQuadDefaultDileptonMass;

PWGDQ/Core/VarManager.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,12 @@ class VarManager : public TObject
655655
kMCdeltaphi_randomPhi_away,
656656
kMCdeltaphi_randomPhi_trans,
657657
kMCWeight_before,
658+
kMCCosChi_gen,
659+
kMCWeight_gen,
660+
kMCdeltaeta_gen,
661+
kMCCosChi_rec,
662+
kMCWeight_rec,
663+
kMCdeltaeta_rec,
658664

659665
// MC mother particle variables
660666
kMCMotherPdgCode,
@@ -1208,6 +1214,8 @@ class VarManager : public TObject
12081214
static void FillTrackMC(const U& mcStack, T const& track, float* values = nullptr);
12091215
template <int pairType, typename T, typename T1>
12101216
static void FillEnergyCorrelatorsMC(T const& track, T1 const& t1, float* values = nullptr);
1217+
template <int pairType, typename T1, typename T2, typename T, typename T3>
1218+
static void FillEnergyCorrelatorsMCUnfolding(T1 const& dilepton, T2 const& hadron, T const& track, T3 const& t1, float* values = nullptr);
12111219
template <uint32_t fillMap, typename T1, typename T2, typename C>
12121220
static void FillPairPropagateMuon(T1 const& muon1, T2 const& muon2, const C& collision, float* values = nullptr);
12131221
template <uint32_t fillMap, typename T1, typename T2, typename C>
@@ -3004,6 +3012,33 @@ void VarManager::FillEnergyCorrelatorsMC(T const& track, T1 const& t1, float* va
30043012
}
30053013
}
30063014

3015+
template <int pairType, typename T1, typename T2, typename T, typename T3>
3016+
void VarManager::FillEnergyCorrelatorsMCUnfolding(T1 const& dilepton, T2 const& hadron, T const& track, T3 const& t1, float* values)
3017+
{
3018+
// energy correlators
3019+
float MassHadron;
3020+
if constexpr (pairType == kJpsiHadronMass) {
3021+
MassHadron = TMath::Sqrt(t1.e() * t1.e() - t1.p() * t1.p());
3022+
}
3023+
if constexpr (pairType == kJpsiPionMass) {
3024+
MassHadron = o2::constants::physics::MassPionCharged;
3025+
}
3026+
ROOT::Math::PtEtaPhiMVector v1_gen(track.pt(), track.eta(), track.phi(), o2::constants::physics::MassJPsi);
3027+
ROOT::Math::PtEtaPhiMVector v2_gen(t1.pt(), t1.eta(), t1.phi(), MassHadron);
3028+
float E_boost_gen = LorentzTransformJpsihadroncosChi("weight_boost", v1_gen, v2_gen);
3029+
float CosChi_gen = LorentzTransformJpsihadroncosChi("coschi", v1_gen, v2_gen);
3030+
values[kMCCosChi_gen] = CosChi_gen;
3031+
values[kMCWeight_gen] = E_boost_gen / o2::constants::physics::MassJPsi;
3032+
values[kMCdeltaeta_gen] = track.eta() - t1.eta();
3033+
3034+
ROOT::Math::PtEtaPhiMVector v1_rec(dilepton.pt(), dilepton.eta(), dilepton.phi(), dilepton.mass());
3035+
ROOT::Math::PtEtaPhiMVector v2_rec(hadron.pt(), hadron.eta(), hadron.phi(), o2::constants::physics::MassPionCharged);
3036+
values[kMCCosChi_rec] = LorentzTransformJpsihadroncosChi("coschi", v1_rec, v2_rec);
3037+
float E_boost_rec = LorentzTransformJpsihadroncosChi("weight_boost", v1_rec, v2_rec);
3038+
values[kMCWeight_rec] = E_boost_rec / v1_rec.M();
3039+
values[kMCdeltaeta_rec] = dilepton.eta() - hadron.eta();
3040+
}
3041+
30073042
template <uint32_t fillMap, typename T1, typename T2, typename C>
30083043
void VarManager::FillPairPropagateMuon(T1 const& muon1, T2 const& muon2, const C& collision, float* values)
30093044
{

0 commit comments

Comments
 (0)