Skip to content

Commit de2f0af

Browse files
authored
[PWGJE] Adding potential fixes to track and jet level cuts (#10289)
1 parent 6505f38 commit de2f0af

File tree

1 file changed

+39
-53
lines changed

1 file changed

+39
-53
lines changed

PWGJE/Tasks/jetHadronRecoil.cxx

Lines changed: 39 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ struct JetHadronRecoil {
7575

7676
Filter jetCuts = aod::jet::r == nround(jetR.node() * 100.0f);
7777
Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta > trackEtaMin && aod::jtrack::eta < trackEtaMax);
78+
Filter particleCuts = (aod::jmcparticle::pt >= trackPtMin && aod::jmcparticle::pt < trackPtMax && aod::jmcparticle::eta > trackEtaMin && aod::jmcparticle::eta < trackEtaMax);
7879
Filter eventCuts = (nabs(aod::jcollision::posZ) < vertexZCut && aod::jcollision::centrality >= centralityMin && aod::jcollision::centrality < centralityMax);
7980

8081
std::vector<double> ptBinningPart = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0,
@@ -86,13 +87,24 @@ struct JetHadronRecoil {
8687
15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0,
8788
65.0, 70.0, 75.0, 80.0, 90.0, 100.0, 110.0, 120.0, 130.0,
8889
140.0, 150.0, 160.0, 180.0, 200.0};
90+
std::vector<double> dRBinning = {0.0, 1.0e-9, 0.003, 0.006, 0.009, 0.012, 0.015, 0.018, 0.021, 0.024,
91+
0.027, 0.03, 0.033, 0.036, 0.039, 0.042, 0.045, 0.048, 0.051, 0.054,
92+
0.057, 0.06, 0.063, 0.066, 0.069, 0.072, 0.075, 0.078, 0.081, 0.084,
93+
0.087, 0.09, 0.093, 0.096, 0.099, 0.102, 0.105, 0.108, 0.111, 0.114,
94+
0.117, 0.12, 0.123, 0.126, 0.129, 0.132, 0.135, 0.138, 0.141, 0.144,
95+
0.147, 0.15, 0.153, 0.156, 0.159, 0.162, 0.165, 0.168, 0.171, 0.174,
96+
0.177, 0.18, 0.183, 0.186, 0.189, 0.192, 0.195, 0.198, 0.201, 0.204,
97+
0.207, 0.21, 0.213, 0.216, 0.219, 0.222, 0.225, 0.228, 0.231, 0.234,
98+
0.237, 0.24};
99+
100+
AxisSpec dRAxis = {dRBinning, "#Delta R"};
89101

90102
AxisSpec ptAxisDet = {ptBinningDet, "#it{p}_{T,det} (GeV/c)"};
91103
AxisSpec ptAxisPart = {ptBinningPart, "#it{p}_{T,part} (GeV/c)"};
92104
AxisSpec phiAxisDet = {100, 0.0, o2::constants::math::TwoPI, "#phi_{det}"};
93105
AxisSpec phiAxisPart = {100, 0.0, o2::constants::math::TwoPI, "#phi_{part}"};
94-
AxisSpec dRAxisDet = {80, 0.0, 0.24, "#Delta R_{det}"};
95-
AxisSpec dRAxisPart = {80, 0.0, 0.24, "#Delta R_{part}"};
106+
AxisSpec dRAxisDet = {dRBinning, "#Delta R_{det}"};
107+
AxisSpec dRAxisPart = {dRBinning, "#Delta R_{part}"};
96108

97109
HistogramRegistry registry{"registry",
98110
{{"hNtrig", "number of triggers;trigger type;entries", {HistType::kTH1F, {{2, 0, 2}}}},
@@ -114,29 +126,29 @@ struct JetHadronRecoil {
114126
{"hPtPart", "Particle p_{T};p_{T};entries", {HistType::kTH1F, {{200, 0, 200}}}},
115127
{"hEtaPart", "Particle #eta;#eta;entries", {HistType::kTH1F, {{100, -1.0, 1.0}}}},
116128
{"hPhiPart", "Particle #phi;#phi;entries", {HistType::kTH1F, {{100, 0.0, o2::constants::math::TwoPI}}}},
117-
{"hDeltaR", "#DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {{80, 0.0, 0.24}}}},
118-
{"hDeltaRPart", "Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {{80, 0.0, 0.24}}}},
119-
{"hDeltaRpT", "jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{300, -100, 200}, {80, 0.0, 0.24}}}},
120-
{"hDeltaRpTPart", "Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{200, 0, 200}, {80, 0.0, 0.24}}}},
129+
{"hDeltaR", "#DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {dRAxis}}},
130+
{"hDeltaRPart", "Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {dRAxis}}},
131+
{"hDeltaRpT", "jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{300, -100, 200}, dRAxis}}},
132+
{"hDeltaRpTPart", "Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{200, 0, 200}, dRAxis}}},
121133
{"hRhoSignal", "Signal Rho bkg;#rho;entries", {HistType::kTH1F, {{220, 0, 220}}}},
122134
{"hRhoReference", "Reference Rho bkg;#rho;entries", {HistType::kTH1F, {{220, 0, 220}}}},
123-
{"hDeltaRSignal", "#DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {{80, 0.0, 0.24}}}},
124-
{"hDeltaRSignalPart", "Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {{80, 0.0, 0.24}}}},
125-
{"hDeltaRpTSignal", "jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{300, -100, 200}, {80, 0.0, 0.24}}}},
126-
{"hDeltaRpTSignalPart", "Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{200, 0, 200}, {80, 0.0, 0.24}}}},
127-
{"hDeltaRpTDPhiSignal", "jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR", {HistType::kTH3F, {{300, -100, 200}, {100, 0, o2::constants::math::TwoPI}, {80, 0.0, 0.24}}}},
128-
{"hDeltaRpTDPhiSignalPart", "Particle jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR", {HistType::kTH3F, {{200, 0, 200}, {100, 0, o2::constants::math::TwoPI}, {80, 0.0, 0.24}}}},
129-
{"hDeltaRReference", "#DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {{80, 0.0, 0.24}}}},
130-
{"hDeltaRPartReference", "Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {{80, 0.0, 0.24}}}},
131-
{"hDeltaRpTReference", "jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{300, -100, 200}, {80, 0.0, 0.24}}}},
132-
{"hDeltaRpTPartReference", "Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{200, 0, 200}, {80, 0.0, 0.24}}}},
133-
{"hDeltaRpTDPhiReference", "jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR", {HistType::kTH3F, {{300, -100, 200}, {100, 0, o2::constants::math::TwoPI}, {80, 0.0, 0.24}}}},
134-
{"hDeltaRpTDPhiReferencePart", "jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR", {HistType::kTH3F, {{200, 0, 200}, {100, 0, o2::constants::math::TwoPI}, {80, 0.0, 0.24}}}},
135+
{"hDeltaRSignal", "#DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {dRAxis}}},
136+
{"hDeltaRSignalPart", "Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {dRAxis}}},
137+
{"hDeltaRpTSignal", "jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{300, -100, 200}, dRAxis}}},
138+
{"hDeltaRpTSignalPart", "Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{200, 0, 200}, dRAxis}}},
139+
{"hDeltaRpTDPhiSignal", "jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR", {HistType::kTH3F, {{300, -100, 200}, {100, 0, o2::constants::math::TwoPI}, dRAxis}}},
140+
{"hDeltaRpTDPhiSignalPart", "Particle jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR", {HistType::kTH3F, {{200, 0, 200}, {100, 0, o2::constants::math::TwoPI}, dRAxis}}},
141+
{"hDeltaRReference", "#DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {dRAxis}}},
142+
{"hDeltaRPartReference", "Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}", {HistType::kTH1F, {dRAxis}}},
143+
{"hDeltaRpTReference", "jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{300, -100, 200}, dRAxis}}},
144+
{"hDeltaRpTPartReference", "Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR", {HistType::kTH2F, {{200, 0, 200}, dRAxis}}},
145+
{"hDeltaRpTDPhiReference", "jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR", {HistType::kTH3F, {{300, -100, 200}, {100, 0, o2::constants::math::TwoPI}, dRAxis}}},
146+
{"hDeltaRpTDPhiReferencePart", "jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR", {HistType::kTH3F, {{200, 0, 200}, {100, 0, o2::constants::math::TwoPI}, dRAxis}}},
135147
{"hPtMatched", "p_{T} matching;p_{T,det};p_{T,part}", {HistType::kTH2F, {{300, -100, 200}, {200, 0, 200}}}},
136148
{"hPhiMatched", "#phi matching;#phi_{det};#phi_{part}", {HistType::kTH2F, {{100, 0.0, o2::constants::math::TwoPI}, {100, 0.0, o2::constants::math::TwoPI}}}},
137-
{"hDeltaRMatched", "#DeltaR matching;#DeltaR_{det};#DeltaR_{part}", {HistType::kTH2F, {{80, 0.0, 0.24}, {80, 0.0, 0.24}}}},
149+
{"hDeltaRMatched", "#DeltaR matching;#DeltaR_{det};#DeltaR_{part}", {HistType::kTH2F, {dRAxisDet, dRAxisPart}}},
138150
{"hPtMatched1d", "p_{T} matching 1d;p_{T,part}", {HistType::kTH1F, {{200, 0, 200}}}},
139-
{"hDeltaRMatched1d", "#DeltaR matching 1d;#DeltaR_{part}", {HistType::kTH1F, {{80, 0.0, 0.24}}}},
151+
{"hDeltaRMatched1d", "#DeltaR matching 1d;#DeltaR_{part}", {HistType::kTH1F, {dRAxisPart}}},
140152
{"hPtResolution", "p_{T} resolution;p_{T,part};Relative Resolution", {HistType::kTH2F, {{200, 0, 200}, {1000, -5.0, 5.0}}}},
141153
{"hPhiResolution", "#phi resolution;#p{T,part};Resolution", {HistType::kTH2F, {{200, 0, 200}, {1000, -7.0, 7.0}}}},
142154
{"hDeltaRResolution", "#DeltaR Resolution;p_{T,part};Resolution", {HistType::kTH2F, {{200, 0, 200}, {1000, -0.15, 0.15}}}},
@@ -156,6 +168,7 @@ struct JetHadronRecoil {
156168

157169
Filter jetCuts = aod::jet::r == nround(jetR.node() * 100.0f);
158170
Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta > trackEtaMin && aod::jtrack::eta < trackEtaMax);
171+
Filter particleCuts = (aod::jmcparticle::pt >= trackPtMin && aod::jmcparticle::pt < trackPtMax && aod::jmcparticle::eta > trackEtaMin && aod::jmcparticle::eta < trackEtaMax);
159172
Filter eventTrackLevelCuts = nabs(aod::jcollision::posZ) < vertexZCut;
160173
}
161174

@@ -211,9 +224,6 @@ struct JetHadronRecoil {
211224
}
212225

213226
for (const auto& jet : jets) {
214-
if (jet.tracksIds().size() == 1) {
215-
continue;
216-
}
217227
if (jet.pt() > pTHatMaxMCD * pTHat) {
218228
continue;
219229
}
@@ -224,9 +234,6 @@ struct JetHadronRecoil {
224234
double deltaPhi = RecoDecay::constrainAngle(jetWTA.phi() - jet.phi(), -o2::constants::math::PI);
225235
double deltaEta = jetWTA.eta() - jet.eta();
226236
double dR = RecoDecay::sqrtSumOfSquares(deltaPhi, deltaEta);
227-
if (dR == 0) {
228-
return;
229-
}
230237
registry.fill(HIST("hDeltaR"), dR, weight);
231238
registry.fill(HIST("hDeltaRpT"), jet.pt() - (rho * jet.area()), dR, weight);
232239
}
@@ -319,9 +326,6 @@ struct JetHadronRecoil {
319326
}
320327

321328
for (const auto& jet : jets) {
322-
if (jet.tracksIds().size() == 1) {
323-
continue;
324-
}
325329
if (jet.pt() > pTHatMaxMCP * pTHat) {
326330
continue;
327331
}
@@ -332,9 +336,6 @@ struct JetHadronRecoil {
332336
double deltaPhi = RecoDecay::constrainAngle(jetWTA.phi() - jet.phi(), -o2::constants::math::PI);
333337
double deltaEta = jetWTA.eta() - jet.eta();
334338
double dR = RecoDecay::sqrtSumOfSquares(deltaPhi, deltaEta);
335-
if (dR == 0) {
336-
return;
337-
}
338339
registry.fill(HIST("hDeltaRPart"), dR, weight);
339340
registry.fill(HIST("hDeltaRpTPart"), jet.pt(), dR, weight);
340341
}
@@ -383,18 +384,12 @@ struct JetHadronRecoil {
383384
double dRp = 0;
384385

385386
float pTHat = 10. / (std::pow(weight, 1.0 / pTHatExponent));
386-
if (jetBase.tracksIds().size() == 1) {
387-
return;
388-
}
389387
if (jetBase.pt() > pTHatMaxMCD * pTHat) {
390388
return;
391389
}
392390

393391
for (const auto& mcdjetWTA : mcdjetsWTA) {
394392
double djet = RecoDecay::sqrtSumOfSquares(RecoDecay::constrainAngle(jetBase.phi() - mcdjetWTA.phi(), -o2::constants::math::PI), jetBase.eta() - mcdjetWTA.eta());
395-
if (mcdjetWTA.tracksIds().size() == 1) {
396-
continue;
397-
}
398393
if (mcdjetWTA.pt() > pTHatMaxMCD * pTHat) {
399394
continue;
400395
}
@@ -406,17 +401,11 @@ struct JetHadronRecoil {
406401

407402
if (jetBase.has_matchedJetGeo()) {
408403
for (const auto& jetTag : jetBase.template matchedJetGeo_as<std::decay_t<U>>()) {
409-
if (jetTag.tracksIds().size() == 1) {
410-
continue;
411-
}
412404
if (jetTag.pt() > pTHatMaxMCP * pTHat) {
413405
continue;
414406
}
415407
for (const auto& mcpjetWTA : mcpjetsWTA) {
416408
double djetp = RecoDecay::sqrtSumOfSquares(RecoDecay::constrainAngle(jetTag.phi() - mcpjetWTA.phi(), -o2::constants::math::PI), jetTag.eta() - mcpjetWTA.eta());
417-
if (mcpjetWTA.tracksIds().size() == 1) {
418-
continue;
419-
}
420409
if (mcpjetWTA.pt() > pTHatMaxMCP * pTHat) {
421410
continue;
422411
}
@@ -425,9 +414,6 @@ struct JetHadronRecoil {
425414
break;
426415
}
427416
}
428-
if (dR == 0 || dRp == 0) {
429-
return;
430-
}
431417
registry.fill(HIST("hPtMatched"), jetBase.pt() - (rho * jetBase.area()), jetTag.pt(), weight);
432418
registry.fill(HIST("hPhiMatched"), jetBase.phi(), jetTag.phi(), weight);
433419
registry.fill(HIST("hPtResolution"), jetTag.pt(), (jetTag.pt() - (jetBase.pt() - (rho * jetBase.area()))) / jetTag.pt(), weight);
@@ -554,7 +540,7 @@ struct JetHadronRecoil {
554540
void processMCP(aod::JetMcCollision const& collision,
555541
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToCharged1MCParticleLevelJets>> const& jets,
556542
soa::Filtered<soa::Join<aod::Charged1MCParticleLevelJets, aod::Charged1MCParticleLevelJetConstituents, aod::Charged1MCParticleLevelJetsMatchedToChargedMCParticleLevelJets>> const& jetsWTA,
557-
aod::JetParticles const& particles)
543+
soa::Filtered<aod::JetParticles> const& particles)
558544
{
559545
if (std::abs(collision.posZ()) > vertexZCut) {
560546
return;
@@ -570,7 +556,7 @@ struct JetHadronRecoil {
570556
void processMCPWeighted(aod::JetMcCollision const& collision,
571557
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToCharged1MCParticleLevelJets>> const& jets,
572558
soa::Filtered<soa::Join<aod::Charged1MCParticleLevelJets, aod::Charged1MCParticleLevelJetConstituents, aod::Charged1MCParticleLevelJetsMatchedToChargedMCParticleLevelJets>> const& jetsWTA,
573-
aod::JetParticles const& particles)
559+
soa::Filtered<aod::JetParticles> const& particles)
574560
{
575561
if (std::abs(collision.posZ()) > vertexZCut) {
576562
return;
@@ -679,8 +665,8 @@ struct JetHadronRecoil {
679665
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const& mcdjets,
680666
soa::Filtered<soa::Join<aod::Charged1MCDetectorLevelJets, aod::Charged1MCDetectorLevelJetConstituents>> const& mcdjetsWTA,
681667
soa::Filtered<soa::Join<aod::Charged1MCParticleLevelJets, aod::Charged1MCParticleLevelJetConstituents>> const& mcpjetsWTA,
682-
aod::JetTracks const& tracks,
683-
aod::JetParticles const&,
668+
soa::Filtered<aod::JetTracks> const& tracks,
669+
soa::Filtered<aod::JetParticles> const&,
684670
aod::JetMcCollisions const&,
685671
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>> const& mcpjets)
686672
{
@@ -711,8 +697,8 @@ struct JetHadronRecoil {
711697
soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets, aod::ChargedMCDetectorLevelJetEventWeights>> const& mcdjets,
712698
soa::Filtered<soa::Join<aod::Charged1MCDetectorLevelJets, aod::Charged1MCDetectorLevelJetConstituents>> const& mcdjetsWTA,
713699
soa::Filtered<soa::Join<aod::Charged1MCParticleLevelJets, aod::Charged1MCParticleLevelJetConstituents>> const& mcpjetsWTA,
714-
aod::JetTracks const& tracks,
715-
aod::JetParticles const&,
700+
soa::Filtered<aod::JetTracks> const& tracks,
701+
soa::Filtered<aod::JetParticles> const&,
716702
aod::JetMcCollisions const&,
717703
soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets, aod::ChargedMCParticleLevelJetEventWeights>> const& mcpjets)
718704
{

0 commit comments

Comments
 (0)