|
24 | 24 | #include "PWGEM/PhotonMeson/Utils/EventHistograms.h" |
25 | 25 | #include "PWGEM/PhotonMeson/Utils/MCUtilities.h" |
26 | 26 |
|
| 27 | +#include "Common/Core/RecoDecay.h" |
| 28 | + |
27 | 29 | #include <CCDB/BasicCCDBManager.h> |
28 | 30 | #include <CommonConstants/MathConstants.h> |
29 | 31 | #include <DataFormatsParameters/GRPMagField.h> |
@@ -315,12 +317,30 @@ struct PhotonResoTask { |
315 | 317 | const AxisSpec thnAxisCent{thnConfigAxisCent, "Centrality (%)"}; |
316 | 318 | const AxisSpec thnAxisInvMass{thnConfigAxisInvMass, "#it{M}_{#gamma#gamma} (GeV/#it{c}^{2})"}; |
317 | 319 |
|
| 320 | + const AxisSpec thnAxisEtaGen{280, -0.7, 0.7, "#it{#eta}_{Gen}"}; |
| 321 | + const AxisSpec thnAxisEtaRec{280, -0.7, 0.7, "#it{#eta}_{Rec}"}; |
| 322 | + |
| 323 | + const AxisSpec thnAxisPhiGen{360, 0., o2::constants::math::TwoPI, "#it{#varphi}_{Gen} (rad)"}; |
| 324 | + const AxisSpec thnAxisPhiRec{360, 0., o2::constants::math::TwoPI, "#it{#varphi}_{Rec} (rad)"}; |
| 325 | + |
318 | 326 | registry.add("EMCal/hPhotonReso", "EMCal photon rec pT vs true pT vs cent", HistType::kTH3D, {thnAxisPtRec, thnAxisPtGen, thnAxisCent}); |
319 | 327 | registry.add("EMCal/hConvPhotonReso", "EMCal conversion photon rec pT vs true pT vs cent ", HistType::kTH3D, {thnAxisPtRec, thnAxisPtGen, thnAxisCent}); |
320 | 328 |
|
321 | 329 | registry.add("EMCal/hPi0Reso", "EMCal pi0 rec pT vs true pT vs min vs cent ", HistType::kTHnSparseF, {thnAxisPtRec, thnAxisPtGen, thnConfigAxisInvMass, thnAxisCent}); |
322 | 330 | registry.add("EMCal/hEtaReso", "EMCal eta rec pT vs true pT vs min vs cent ", HistType::kTHnSparseF, {thnAxisPtRec, thnAxisPtGen, thnConfigAxisInvMass, thnAxisCent}); |
323 | 331 |
|
| 332 | + registry.add("EMCal/hPhotonResoEta", "EMCal photon rec eta vs true eta vs cent", HistType::kTH3D, {thnAxisEtaRec, thnAxisEtaGen, thnAxisCent}); |
| 333 | + registry.add("EMCal/hConvPhotonResoEta", "EMCal conversion photon rec eta vs true eta vs cent ", HistType::kTH3D, {thnAxisEtaRec, thnAxisEtaGen, thnAxisCent}); |
| 334 | + |
| 335 | + registry.add("EMCal/hPi0ResoEta", "EMCal pi0 rec eta vs true eta vs min vs cent ", HistType::kTHnSparseF, {thnAxisEtaRec, thnAxisEtaGen, thnConfigAxisInvMass, thnAxisCent}); |
| 336 | + registry.add("EMCal/hEtaResoEta", "EMCal eta rec eta vs true eta vs min vs cent ", HistType::kTHnSparseF, {thnAxisEtaRec, thnAxisEtaGen, thnConfigAxisInvMass, thnAxisCent}); |
| 337 | + |
| 338 | + registry.add("EMCal/hPhotonResoPhi", "EMCal photon rec phi vs true phi vs cent", HistType::kTH3D, {thnAxisPhiRec, thnAxisPhiGen, thnAxisCent}); |
| 339 | + registry.add("EMCal/hConvPhotonResoPhi", "EMCal conversion photon rec phi vs true phi vs cent ", HistType::kTH3D, {thnAxisPhiRec, thnAxisPhiGen, thnAxisCent}); |
| 340 | + |
| 341 | + registry.add("EMCal/hPi0ResoPhi", "EMCal pi0 rec phi vs true phi vs min vs cent ", HistType::kTHnSparseF, {thnAxisPhiRec, thnAxisPhiGen, thnConfigAxisInvMass, thnAxisCent}); |
| 342 | + registry.add("EMCal/hEtaResoPhi", "EMCal eta rec phi vs true phi vs min vs cent ", HistType::kTHnSparseF, {thnAxisPhiRec, thnAxisPhiGen, thnConfigAxisInvMass, thnAxisCent}); |
| 343 | + |
324 | 344 | registry.add("PCM/hPhotonReso", "PCM photon rec pT vs true pT vs ", HistType::kTH3D, {thnAxisPtRec, thnAxisPtGen, thnAxisCent}); |
325 | 345 |
|
326 | 346 | auto hMesonCuts = registry.add<TH1>("hMesonCuts", "hMesonCuts;;Counts", kTH1D, {{6, 0.5, 6.5}}, false); |
@@ -471,11 +491,15 @@ struct PhotonResoTask { |
471 | 491 |
|
472 | 492 | if (std::abs(mcPhoton1.pdgCode()) == PDG_t::kGamma) { |
473 | 493 | registry.fill(HIST("EMCal/hPhotonReso"), photonEMC.pt(), mcPhoton1.pt(), cent); |
| 494 | + registry.fill(HIST("EMCal/hPhotonResoEta"), photonEMC.eta(), mcPhoton1.eta(), cent); |
| 495 | + registry.fill(HIST("EMCal/hPhotonResoPhi"), photonEMC.phi(), mcPhoton1.phi(), cent); |
474 | 496 | } else if (std::abs(mcPhoton1.pdgCode()) == PDG_t::kElectron) { |
475 | 497 | if (!o2::aod::pwgem::photonmeson::utils::mcutil::isMotherPDG(mcPhoton1, PDG_t::kGamma)) { |
476 | 498 | continue; |
477 | 499 | } |
478 | 500 | registry.fill(HIST("EMCal/hConvPhotonReso"), photonEMC.pt(), mcPhoton1.pt(), cent); |
| 501 | + registry.fill(HIST("EMCal/hConvPhotonResoEta"), photonEMC.eta(), mcPhoton1.eta(), cent); |
| 502 | + registry.fill(HIST("EMCal/hConvPhotonResoPhi"), photonEMC.phi(), mcPhoton1.phi(), cent); |
479 | 503 | } |
480 | 504 | } |
481 | 505 |
|
@@ -567,10 +591,14 @@ struct PhotonResoTask { |
567 | 591 | if (pi0id >= 0) { |
568 | 592 | const auto pi0mc = mcParticles.iteratorAt(pi0id); |
569 | 593 | registry.fill(HIST("EMCal/hPi0Reso"), vMeson.Pt(), pi0mc.pt(), vMeson.M(), cent); |
| 594 | + registry.fill(HIST("EMCal/hPi0ResoEta"), vMeson.Eta(), pi0mc.eta(), vMeson.M(), cent); |
| 595 | + registry.fill(HIST("EMCal/hPi0ResoPhi"), RecoDecay::constrainAngle(vMeson.Phi()), pi0mc.phi(), vMeson.M(), cent); |
570 | 596 | } |
571 | 597 | if (etaid >= 0) { |
572 | 598 | const auto etamc = mcParticles.iteratorAt(etaid); |
573 | 599 | registry.fill(HIST("EMCal/hEtaReso"), vMeson.Pt(), etamc.pt(), vMeson.M(), cent); |
| 600 | + registry.fill(HIST("EMCal/hEtaResoEta"), vMeson.Eta(), etamc.eta(), vMeson.M(), cent); |
| 601 | + registry.fill(HIST("EMCal/hEtaResoPhi"), RecoDecay::constrainAngle(vMeson.Phi()), etamc.phi(), vMeson.M(), cent); |
574 | 602 | } |
575 | 603 | } |
576 | 604 | } |
|
0 commit comments