Skip to content

Commit 5f39d59

Browse files
authored
[PWGJE] Addition of deltaEta and deltaPhi columns to the EmcalMatchedTracks tables in the JE framework + fixed some bugs in the full-jet-spectra task (#12942)
1 parent b65a004 commit 5f39d59

File tree

5 files changed

+18
-13
lines changed

5 files changed

+18
-13
lines changed

PWGJE/DataModel/JetReducedData.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,12 +315,16 @@ namespace jemctrack
315315
DECLARE_SOA_INDEX_COLUMN(JTrack, track);
316316
DECLARE_SOA_COLUMN(EtaEMCAL, etaEmcal, float);
317317
DECLARE_SOA_COLUMN(PhiEMCAL, phiEmcal, float);
318+
DECLARE_SOA_COLUMN(EtaDiff, etaDiff, float);
319+
DECLARE_SOA_COLUMN(PhiDiff, phiDiff, float);
318320
} // namespace jemctrack
319321

320322
DECLARE_SOA_TABLE_STAGED(JEMCTracks, "JEMCTrack",
321323
jemctrack::JTrackId,
322324
jemctrack::EtaEMCAL,
323-
jemctrack::PhiEMCAL);
325+
jemctrack::PhiEMCAL,
326+
jemctrack::EtaDiff,
327+
jemctrack::PhiDiff);
324328

325329
namespace jmcparticle
326330
{

PWGJE/TableProducer/derivedDataProducer.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ struct JetDerivedDataProducerTask {
469469
auto JClusterID = trackCollisionMapping.find({clusterTrack.trackId(), cluster.collisionId()}); // does EMCal use its own associator?
470470
clusterTrackIDs.push_back(JClusterID->second);
471471
auto emcTrack = clusterTrack.track_as<soa::Join<aod::Tracks, aod::TracksExtra>>();
472-
products.jTracksEMCalTable(JClusterID->second, emcTrack.trackEtaEmcal(), emcTrack.trackPhiEmcal());
472+
products.jTracksEMCalTable(JClusterID->second, emcTrack.trackEtaEmcal(), emcTrack.trackPhiEmcal(), clusterTrack.deltaEta(), clusterTrack.deltaPhi());
473473
}
474474
products.jClustersMatchedTracksTable(clusterTrackIDs);
475475
}

PWGJE/TableProducer/derivedDataWriter.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ struct JetDerivedDataWriter {
512512
clusterStoredJTrackIDs.push_back(trackMapping[clusterTrack.globalIndex()]);
513513
auto emcTracksPerTrack = emcTracks.sliceBy(preslices.EMCTrackPerTrack, clusterTrack.globalIndex());
514514
auto emcTrackPerTrack = emcTracksPerTrack.iteratorAt(0);
515-
products.storedJTracksEMCalTable(trackMapping[clusterTrack.globalIndex()], emcTrackPerTrack.etaEmcal(), emcTrackPerTrack.phiEmcal());
515+
products.storedJTracksEMCalTable(trackMapping[clusterTrack.globalIndex()], emcTrackPerTrack.etaEmcal(), emcTrackPerTrack.phiEmcal(), emcTrackPerTrack.etaDiff(), emcTrackPerTrack.phiDiff());
516516
}
517517
products.storedJClustersMatchedTracksTable(clusterStoredJTrackIDs);
518518
}

PWGJE/TableProducer/emcalClusterHadronicCorrectionTask.cxx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -161,11 +161,12 @@ struct EmcalClusterHadronicCorrectionTask {
161161
if (matchedTrack.pt() < minTrackPt) {
162162
continue;
163163
}
164-
double mom = abs(matchedTrack.p());
164+
double mom = std::abs(matchedTrack.p());
165165
registry.fill(HIST("h_matchedtracks"), 1);
166166

167167
// CASE 1: skip tracks with a very low pT
168-
if (mom < 1e-6) {
168+
constexpr double kMinMom = 1e-6;
169+
if (mom < kMinMom) {
169170
continue;
170171
} // end CASE 1
171172

@@ -176,8 +177,8 @@ struct EmcalClusterHadronicCorrectionTask {
176177

177178
// Perform dEta/dPhi matching
178179
auto emcTrack = (emcTracks.sliceBy(perTrackMatchedTrack, matchedTrack.globalIndex())).iteratorAt(0);
179-
double dEta = emcTrack.etaEmcal() - cluster.eta();
180-
double dPhi = TVector2::Phi_mpi_pi(emcTrack.phiEmcal() - cluster.phi());
180+
double dEta = emcTrack.etaDiff();
181+
double dPhi = emcTrack.phiDiff();
181182

182183
// Apply the eta and phi matching thresholds
183184
// dEta and dPhi cut : ensures that the matched track is within the desired eta/phi window
@@ -188,7 +189,7 @@ struct EmcalClusterHadronicCorrectionTask {
188189
auto trackPhiHigh = +funcPtDepPhi.Eval(mom);
189190
auto trackPhiLow = -funcPtDepPhi.Eval(mom);
190191

191-
if ((dPhi < trackPhiHigh && dPhi > trackPhiLow) && fabs(dEta) < trackEtaMax) {
192+
if ((dPhi < trackPhiHigh && dPhi > trackPhiLow) && std::fabs(dEta) < trackEtaMax) {
192193
if (nMatches == 0) {
193194
closestTrkP = mom;
194195
}
@@ -197,7 +198,7 @@ struct EmcalClusterHadronicCorrectionTask {
197198
}
198199
} else {
199200
// Do fixed dEta/dPhi matching (non-pT dependent)
200-
if (fabs(dEta) >= minDEta || fabs(dPhi) >= minDPhi) {
201+
if (std::fabs(dEta) >= minDEta || std::fabs(dPhi) >= minDPhi) {
201202
continue; // Skip this track if outside the fixed cut region
202203
}
203204

PWGJE/Tasks/fullJetSpectra.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ struct FullJetSpectra {
135135
// Instantiate the Zorro processor for skimmed data and define an output object
136136
Zorro zorro;
137137
OutputObj<ZorroSummary> zorroSummary{"zorroSummary"};
138-
const bool doSumw2 = doMBGapTrigger;
138+
bool doSumw2 = false;
139139

140140
// Multiplicity Utilities
141141
// struct CentClass {
@@ -334,7 +334,7 @@ struct FullJetSpectra {
334334
triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits(triggerMasks);
335335
particleSelection = static_cast<std::string>(particleSelections);
336336
jetRadiiValues = (std::vector<double>)jetRadii;
337-
337+
doSumw2 = doMBGapTrigger;
338338
/* if (doMcClosure) {
339339
// randGen.SetSeed(mcSplitSeed);
340340
// randGen.SetSeed(static_cast<UInt_t>(std::time(nullptr)));
@@ -508,7 +508,7 @@ struct FullJetSpectra {
508508
registry.add("h2_full_jet_energyscaleChargedVsFullPart", "Jet Energy Scale (charged part, vs. full jet pt); p_{T,part} (GeV/c); (p_{T,det} - p_{T,part})/p_{T,part}", {HistType::kTH2F, {{400, 0., 400.}, {200, -1., 1.}}}, doSumw2);
509509
registry.add("h2_full_jet_energyscaleNeutralVsFullPart", "Jet Energy Scale (neutral part, vs. full jet pt); p_{T,part} (GeV/c); (p_{T,det} - p_{T,part})/p_{T,part}", {HistType::kTH2F, {{400, 0., 400.}, {200, -1., 1.}}}, doSumw2);
510510
registry.add("h2_full_fakemcdjets", "Fake MCD Jets; p_{T,det} (GeV/c); NCounts", {HistType::kTH2F, {{350, 0., 350.}, {100, 0., 100.}}}, doSumw2);
511-
registry.add("h2FullfakeMcpJets", "Fake MCP Jets; p_{T,part} (GeV/c); NCounts", {HistType::kTH2F, {{350, 0., 350.}, {100, 0., 100.}}}, doSumw2);
511+
registry.add("h2_full_fakemcpjets", "Fake MCP Jets; p_{T,part} (GeV/c); NCounts", {HistType::kTH2F, {{350, 0., 350.}, {100, 0., 100.}}}, doSumw2);
512512
registry.add("h2_full_matchedmcpjet_pt", "Matched MCP jet in EMC Fiducial Acceptance #it{p}_{T,part};#it{p}_{T,part} (GeV/c); Ncounts", {HistType::kTH2F, {{350, 0., 350.}, {10000, 0., 10000.}}}, doSumw2);
513513

514514
// Response Matrix
@@ -1740,7 +1740,7 @@ struct FullJetSpectra {
17401740
// apply emcal fiducial cuts to the matched particle level jets - if the matched mcp jet lies outside of the EMCAL fiducial, flag it as a fake jet
17411741
if (mcpjet.eta() > jetEtaMax || mcpjet.eta() < jetEtaMin || mcpjet.phi() > jetPhiMax || mcpjet.phi() < jetPhiMin) {
17421742
fakeMcpJet++;
1743-
registry.fill(HIST("h2FullfakeMcpJets"), mcpjet.pt(), fakeMcpJet, eventWeight);
1743+
registry.fill(HIST("h2_full_fakemcpjets"), mcpjet.pt(), fakeMcpJet, eventWeight);
17441744
continue;
17451745
} else {
17461746
NPartJetFid++;

0 commit comments

Comments
 (0)