Skip to content

Commit 6da687b

Browse files
authored
[PWGDQ] Change some code in the dqEnergyCorrelator_direct.cxx for the energy correlator study (#15454)
1 parent 286a11d commit 6da687b

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

PWGDQ/Core/VarManager.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,7 +1364,7 @@ class VarManager : public TObject
13641364
template <typename T1, typename T2, typename T3>
13651365
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);
13661366
template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
1367-
static void FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 const& lepton2, T3 const& hadron, T4 const& track, T5 const& t1, float* values = nullptr);
1367+
static void FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 const& lepton2, T3 const& hadron, T4 const& track, T5 const& t1, float* values = nullptr, bool applyFitMass = false);
13681368
template <typename T1, typename T2>
13691369
static void FillDileptonPhoton(T1 const& dilepton, T2 const& photon, float* values = nullptr);
13701370
template <typename T>
@@ -5858,7 +5858,7 @@ void VarManager::FillEnergyCorrelatorTriple(T1 const& lepton1, T2 const& lepton2
58585858
}
58595859

58605860
template <int pairType, typename T1, typename T2, typename T3, typename T4, typename T5>
5861-
void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 const& lepton2, T3 const& hadron, T4 const& track, T5 const& t1, float* values)
5861+
void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 const& lepton2, T3 const& hadron, T4 const& track, T5 const& t1, float* values, bool applyFitMass)
58625862
{
58635863
if (fgUsedVars[kMCCosChi_gen] || fgUsedVars[kMCWeight_gen] || fgUsedVars[kMCdeltaeta_gen] || fgUsedVars[kMCCosChi_rec] || fgUsedVars[kMCWeight_rec] || fgUsedVars[kMCdeltaeta_rec]) {
58645864
// energy correlators
@@ -5870,6 +5870,11 @@ void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 cons
58705870
ROOT::Math::PtEtaPhiMVector v_lepton2(lepton2.pt(), lepton2.eta(), lepton2.phi(), m2);
58715871
ROOT::Math::PtEtaPhiMVector dilepton = v_lepton1 + v_lepton2;
58725872

5873+
float dileptonmass = o2::constants::physics::MassJPsi;
5874+
if (applyFitMass) {
5875+
dileptonmass = dilepton.mass();
5876+
}
5877+
58735878
float MassHadron;
58745879
if constexpr (pairType == kJpsiHadronMass) {
58755880
MassHadron = TMath::Sqrt(t1.e() * t1.e() - t1.p() * t1.p());
@@ -5885,7 +5890,7 @@ void VarManager::FillEnergyCorrelatorsUnfoldingTriple(T1 const& lepton1, T2 cons
58855890
values[kMCWeight_gen] = E_boost_gen / o2::constants::physics::MassJPsi;
58865891
values[kMCdeltaeta_gen] = track.eta() - t1.eta();
58875892

5888-
ROOT::Math::PtEtaPhiMVector v1_rec(dilepton.pt(), dilepton.eta(), dilepton.phi(), dilepton.mass());
5893+
ROOT::Math::PtEtaPhiMVector v1_rec(dilepton.pt(), dilepton.eta(), dilepton.phi(), dileptonmass);
58895894
ROOT::Math::PtEtaPhiMVector v2_rec(hadron.pt(), hadron.eta(), hadron.phi(), o2::constants::physics::MassPionCharged);
58905895
values[kMCCosChi_rec] = LorentzTransformJpsihadroncosChi("coschi", v1_rec, v2_rec);
58915896
float E_boost_rec = LorentzTransformJpsihadroncosChi("weight_boost", v1_rec, v2_rec);

PWGDQ/Tasks/dqEnergyCorrelator_direct.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ struct AnalysisEnergyCorrelator {
223223
for (auto& t : addTrackCuts) {
224224
fTrackCuts.push_back(reinterpret_cast<AnalysisCompositeCut*>(t));
225225
fTrackCutNames.push_back(t->GetName());
226+
trackCutStr += Form(",%s", t->GetName());
226227
}
227228
}
228229

@@ -797,13 +798,13 @@ struct AnalysisEnergyCorrelator {
797798
groupedMCTracks1.bindInternalIndicesTo(&mcTracks);
798799
groupedMCTracks2.bindInternalIndicesTo(&mcTracks);
799800
for (auto& t1 : groupedMCTracks1) {
800-
auto t1_raw = groupedMCTracks1.rawIteratorAt(t1.globalIndex());
801+
auto t1_raw = mcTracks.rawIteratorAt(t1.globalIndex());
801802
for (auto& sig : fGenMCSignals) {
802803
if (sig->CheckSignal(true, t1_raw)) {
803804
if (t1.mcCollisionId() != event1.mcCollisionId()) { // check that the mc track belongs to the same mc collision as the reconstructed event
804805
continue;
805806
}
806-
VarManager::FillTrackMC(groupedMCTracks1, t1_raw);
807+
VarManager::FillTrackMC(mcTracks, t1_raw);
807808
if (!MixedEvent && !PionMass) {
808809
fHistMan->FillHistClass(Form("MCTruthGenSel_%s", sig->GetName()), VarManager::fgValues);
809810
}

0 commit comments

Comments
 (0)