Skip to content

Commit 86eb295

Browse files
YazhenLinCape
andauthored
[PWGDQ] change some code for the energy correlator study (#15778)
Co-authored-by: Cape <cape@lindeMacBook-Pro.local>
1 parent 3893a89 commit 86eb295

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

PWGDQ/Core/VarManager.cxx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2273,6 +2273,10 @@ void VarManager::SetDefaultVarNames()
22732273
fgVarNamesMap["kMCCosChi_rec"] = kMCCosChi_rec;
22742274
fgVarNamesMap["kMCWeight_rec"] = kMCWeight_rec;
22752275
fgVarNamesMap["kMCdeltaeta_rec"] = kMCdeltaeta_rec;
2276+
fgVarNamesMap["kMCCosChi_randomPhi_trans_rec"] = kMCCosChi_randomPhi_trans_rec;
2277+
fgVarNamesMap["kMCWeight_randomPhi_trans_rec"] = kMCWeight_randomPhi_trans_rec;
2278+
fgVarNamesMap["kMCCosChi_randomPhi_trans_gen"] = kMCCosChi_randomPhi_trans_gen;
2279+
fgVarNamesMap["kMCWeight_randomPhi_trans_gen"] = kMCWeight_randomPhi_trans_gen;
22762280
fgVarNamesMap["kMCParticleWeight"] = kMCParticleWeight;
22772281
fgVarNamesMap["kMCCosTheta"] = kMCCosTheta;
22782282
fgVarNamesMap["kMCdeltaphi"] = kMCdeltaphi;

PWGDQ/Core/VarManager.h

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,10 @@ class VarManager : public TObject
699699
kMCCosChi_rec,
700700
kMCWeight_rec,
701701
kMCdeltaeta_rec,
702+
kMCCosChi_randomPhi_trans_rec,
703+
kMCWeight_randomPhi_trans_rec,
704+
kMCCosChi_randomPhi_trans_gen,
705+
kMCWeight_randomPhi_trans_gen,
702706

703707
// MC mother particle variables
704708
kMCMotherPdgCode,
@@ -1380,7 +1384,7 @@ class VarManager : public TObject
13801384
template <typename T1, typename T2, typename T3>
13811385
static void FillEnergyCorrelatorTriple(T1 const& lepton1, T2 const& lepton2, T3 const& hadron, float* values = nullptr, float Translow = 1. / 3, float Transhigh = 2. / 3, bool applyFitMass = false, float sidebandMass = 0.0f, float weight = 1.0f);
13821386
template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
1383-
static void FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 const& lepton2, T3 const& hadron, T4 const& track, T5 const& t1, float* values = nullptr, bool applyFitMass = false, float Effweight_rec = 1.f, float Accweight_gen = 1.f);
1387+
static void FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 const& lepton2, T3 const& hadron, T4 const& track, T5 const& t1, float* values = nullptr, bool applyFitMass = false, float Effweight_rec = 1.f, float Accweight_gen = 1.f, float Translow = 1. / 3, float Transhigh = 2. / 3);
13841388
template <typename T1, typename T2>
13851389
static void FillDileptonPhoton(T1 const& dilepton, T2 const& photon, float* values = nullptr);
13861390
template <typename T>
@@ -3373,7 +3377,7 @@ void VarManager::FillEnergyCorrelatorsMC(T const& track, T1 const& t1, float* va
33733377
values[kMCHadronEta] = t1.eta();
33743378
values[kMCHadronPhi] = RecoDecay::constrainAngle(t1.phi(), -o2::constants::math::PIHalf);
33753379
values[kMCHadronPdgCode] = t1.pdgCode();
3376-
values[kMCWeight] = E_boost / o2::constants::physics::MassJPsi;
3380+
values[kMCWeight] = E_boost / o2::constants::physics::MassJPsi * Accweight;
33773381

33783382
values[kMCCosChi_randomPhi_trans] = -999.9f;
33793383
values[kMCCosChi_randomPhi_toward] = -999.9f;
@@ -5917,7 +5921,7 @@ void VarManager::FillEnergyCorrelatorTriple(T1 const& lepton1, T2 const& lepton2
59175921
}
59185922

59195923
template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
5920-
void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 const& lepton2, T3 const& hadron, T4 const& track, T5 const& t1, float* values, bool applyFitMass, float Effweight_rec, float Accweight_gen)
5924+
void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 const& lepton2, T3 const& hadron, T4 const& track, T5 const& t1, float* values, bool applyFitMass, float Effweight_rec, float Accweight_gen, float Translow, float Transhigh)
59215925
{
59225926
if (fgUsedVars[kMCCosChi_gen] || fgUsedVars[kMCWeight_gen] || fgUsedVars[kMCdeltaeta_gen] || fgUsedVars[kMCCosChi_rec] || fgUsedVars[kMCWeight_rec] || fgUsedVars[kMCdeltaeta_rec]) {
59235927
// energy correlators
@@ -5955,6 +5959,21 @@ void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 cons
59555959
float E_boost_rec = LorentzTransformJpsihadroncosChi("weight_boost", v1_rec, v2_rec);
59565960
values[kMCWeight_rec] = E_boost_rec / v1_rec.M() * Effweight_rec;
59575961
values[kMCdeltaeta_rec] = dilepton.eta() - hadron.eta();
5962+
5963+
values[kMCCosChi_randomPhi_trans_rec] = -999.9f;
5964+
values[kMCCosChi_randomPhi_trans_gen] = -999.9f;
5965+
float deltaphi_rec = RecoDecay::constrainAngle(dilepton.phi() - hadron.phi(), -o2::constants::math::PIHalf);
5966+
5967+
if ((deltaphi_rec > -Transhigh * TMath::Pi() && deltaphi_rec < -Translow * TMath::Pi()) || (deltaphi_rec > Translow * TMath::Pi() && deltaphi_rec < Transhigh * TMath::Pi())) {
5968+
float randomPhi_trans_rec = gRandom->Uniform(-o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf);
5969+
ROOT::Math::PtEtaPhiMVector v2_randomPhi_trans_rec(v2_rec.pt(), v2_rec.eta(), randomPhi_trans_rec, o2::constants::physics::MassPionCharged);
5970+
values[kMCCosChi_randomPhi_trans_rec] = LorentzTransformJpsihadroncosChi("coschi", v1_rec, v2_randomPhi_trans_rec);
5971+
values[kMCWeight_randomPhi_trans_rec] = LorentzTransformJpsihadroncosChi("weight_boost", v1_rec, v2_randomPhi_trans_rec) / v1_rec.M() * Effweight_rec;
5972+
float randomPhi_trans_gen = gRandom->Uniform(-o2::constants::math::PIHalf, 3. * o2::constants::math::PIHalf);
5973+
ROOT::Math::PtEtaPhiMVector v2_randomPhi_trans_gen(v2_gen.pt(), v2_gen.eta(), randomPhi_trans_gen, MassHadron);
5974+
values[kMCCosChi_randomPhi_trans_gen] = LorentzTransformJpsihadroncosChi("coschi", v1_gen, v2_randomPhi_trans_gen);
5975+
values[kMCWeight_randomPhi_trans_gen] = LorentzTransformJpsihadroncosChi("weight_boost", v1_gen, v2_randomPhi_trans_gen) / v1_gen.M() * Accweight_gen;
5976+
}
59585977
}
59595978
}
59605979

PWGDQ/Tasks/dqEnergyCorrelator_direct.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,9 +503,9 @@ struct AnalysisEnergyCorrelator {
503503
std::vector<float> fTransRange = fConfigDileptonHadronOptions.fConfigTransRange;
504504
VarManager::FillEnergyCorrelatorTriple(track1, track2, hadron, VarManager::fgValues, fTransRange[0], fTransRange[1], fConfigDileptonHadronOptions.fConfigApplyMassEC.value, -1, 1. / Effweight_rec);
505505
if (fConfigDileptonHadronOptions.fConfigUsePionMass.value) {
506-
VarManager::FillEnergyCorrelatorsUnfoldingTriple<VarManager::kJpsiPionMass>(track1, track2, hadron, motherParticle, hadronMC, VarManager::fgValues, fConfigDileptonHadronOptions.fConfigApplyMassEC.value, 1. / Effweight_rec, 1. / Accweight_gen);
506+
VarManager::FillEnergyCorrelatorsUnfoldingTriple<VarManager::kJpsiPionMass>(track1, track2, hadron, motherParticle, hadronMC, VarManager::fgValues, fConfigDileptonHadronOptions.fConfigApplyMassEC.value, 1. / Effweight_rec, 1. / Accweight_gen, fTransRange[0], fTransRange[1]);
507507
} else {
508-
VarManager::FillEnergyCorrelatorsUnfoldingTriple<VarManager::kJpsiHadronMass>(track1, track2, hadron, motherParticle, hadronMC, VarManager::fgValues, fConfigDileptonHadronOptions.fConfigApplyMassEC.value, 1. / Effweight_rec, 1. / Accweight_gen);
508+
VarManager::FillEnergyCorrelatorsUnfoldingTriple<VarManager::kJpsiHadronMass>(track1, track2, hadron, motherParticle, hadronMC, VarManager::fgValues, fConfigDileptonHadronOptions.fConfigApplyMassEC.value, 1. / Effweight_rec, 1. / Accweight_gen, fTransRange[0], fTransRange[1]);
509509
}
510510

511511
int iHadronCut = 0;

0 commit comments

Comments
 (0)