Skip to content

Commit 2271413

Browse files
committed
Added tracktype axis for MC reco in pp and PbPb
1 parent 0e05a82 commit 2271413

1 file changed

Lines changed: 43 additions & 29 deletions

File tree

PWGLF/Tasks/GlobalEventProperties/ptmultCorr.cxx

Lines changed: 43 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,32 @@
1515
/// \author Abhi Modak (abhi.modak@cern.ch)
1616
/// \since October 01, 2025
1717

18+
#include "PWGLF/DataModel/LFStrangenessTables.h"
19+
#include "PWGMM/Mult/DataModel/Index.h"
20+
#include "PWGMM/Mult/DataModel/bestCollisionTable.h"
21+
1822
#include "Common/CCDB/EventSelectionParams.h"
23+
#include "Common/Core/TrackSelection.h"
24+
#include "Common/Core/trackUtilities.h"
1925
#include "Common/DataModel/Centrality.h"
2026
#include "Common/DataModel/EventSelection.h"
21-
#include "Common/DataModel/McCollisionExtra.h"
2227
#include "Common/DataModel/Multiplicity.h"
2328
#include "Common/DataModel/TrackSelectionTables.h"
2429

25-
#include <CommonConstants/MathConstants.h>
26-
#include <Framework/AnalysisDataModel.h>
27-
#include <Framework/AnalysisHelpers.h>
28-
#include <Framework/AnalysisTask.h>
29-
#include <Framework/Configurable.h>
30-
#include <Framework/DataTypes.h>
31-
#include <Framework/HistogramRegistry.h>
32-
#include <Framework/HistogramSpec.h>
33-
#include <Framework/InitContext.h>
34-
#include <Framework/O2DatabasePDGPlugin.h>
35-
#include <Framework/OutputObjHeader.h>
36-
#include <Framework/runDataProcessing.h>
37-
38-
#include <TH1.h>
30+
#include "CCDB/BasicCCDBManager.h"
31+
#include "CommonConstants/MathConstants.h"
32+
#include "Framework/ASoAHelpers.h"
33+
#include "Framework/AnalysisDataModel.h"
34+
#include "Framework/AnalysisTask.h"
35+
#include "Framework/Configurable.h"
36+
#include "Framework/O2DatabasePDGPlugin.h"
37+
#include "Framework/runDataProcessing.h"
38+
#include "ReconstructionDataFormats/GlobalTrackID.h"
39+
#include "ReconstructionDataFormats/Track.h"
40+
3941
#include <TPDGCode.h>
4042

41-
#include <algorithm>
4243
#include <cmath>
43-
#include <cstdint>
4444
#include <cstdlib>
4545
#include <vector>
4646

@@ -190,7 +190,7 @@ struct PtmultCorr {
190190
histos.add("hPbPbRecMCvtxz", "hPbPbRecMCvtxz", kTH1D, {axisVtxZ}, false);
191191
histos.add("hPbPbRecMCvtxzcent", "hPbPbRecMCvtxzcent", kTH2D, {axisVtxZ, centAxis}, false);
192192
histos.add("hPbPbRecMCcent", "hPbPbRecMCcent", kTH1D, {axisCent}, false);
193-
histos.add("hPbPbRecMCdndpt", "hPbPbRecMCdndpt", kTHnSparseD, {axisVtxZ, centAxis, axisPt, axisPhi, axisRecTrkType}, false);
193+
histos.add("hPbPbRecMCdndpt", "hPbPbRecMCdndpt", kTHnSparseD, {axisVtxZ, centAxis, axisPt, axisPhi, axisRecTrkType, axisTrackType}, false);
194194
histos.add("hPbPbEtaReso", "hPbPbEtaReso", kTH2D, {axisPt, axisDeltaPt});
195195
}
196196

@@ -201,7 +201,7 @@ struct PtmultCorr {
201201
histos.add("hppGenMCAssoRecdndpt", "hppGenMCAssoRecdndpt", kTHnSparseD, {axisVtxZ, axisPt, axisPhi, axisGenTrkType, axisGenPtVary}, false);
202202

203203
histos.add("hppRecMCvtxz", "hppRecMCvtxz", kTH1D, {axisVtxZ}, false);
204-
histos.add("hppRecMCdndpt", "hppRecMCdndpt", kTHnSparseD, {axisVtxZ, axisPt, axisPhi, axisRecTrkType}, false);
204+
histos.add("hppRecMCdndpt", "hppRecMCdndpt", kTHnSparseD, {axisVtxZ, axisPt, axisPhi, axisRecTrkType, axisTrackType}, false);
205205
histos.add("hppEtaReso", "hppEtaReso", kTH2D, {axisPt, axisDeltaPt});
206206
}
207207

@@ -445,14 +445,20 @@ struct PtmultCorr {
445445
if (!isTrackSelected(Rectrack)) {
446446
continue;
447447
}
448-
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoAll));
448+
auto trkType = Rectrack.hasTPC() ? kGlobalonly : kITSonly;
449+
450+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoAll),kGlobalplusITS);
451+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoAll),trkType);
452+
449453
if (Rectrack.has_mcParticle()) {
450454
int pid = 0;
451455
auto mcpart = Rectrack.mcParticle();
452456
histos.fill(HIST("hPbPbEtaReso"), Rectrack.pt(), Rectrack.pt() - mcpart.pt());
453-
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoHasmc));
457+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoHasmc),kGlobalplusITS);
458+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoHasmc),trkType);
454459
if (mcpart.isPhysicalPrimary()) {
455-
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoPrimary));
460+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoPrimary),kGlobalplusITS);
461+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoPrimary),trkType);
456462
switch (std::abs(mcpart.pdgCode())) {
457463
case PDG_t::kPiPlus:
458464
pid = kRecoPion;
@@ -480,9 +486,11 @@ struct PtmultCorr {
480486
pid = kRecoFake;
481487
}
482488
mclabels.push_back(Rectrack.mcParticleId());
483-
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), mcpart.pt(), mcpart.phi(), static_cast<double>(pid));
489+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), mcpart.pt(), mcpart.phi(), static_cast<double>(pid),kGlobalplusITS);
490+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), mcpart.pt(), mcpart.phi(), static_cast<double>(pid),trkType);
484491
} else {
485-
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoBkg));
492+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoBkg),kGlobalplusITS);
493+
histos.fill(HIST("hPbPbRecMCdndpt"), RecCol.posZ(), RecCol.centFT0C(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoBkg),trkType);
486494
}
487495
} // track (mcrec) loop
488496
} // collision loop
@@ -551,14 +559,18 @@ struct PtmultCorr {
551559
if (!isTrackSelected(Rectrack)) {
552560
continue;
553561
}
554-
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoAll));
562+
auto trkType = Rectrack.hasTPC() ? kGlobalonly : kITSonly;
563+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoAll),kGlobalplusITS);
564+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoAll),trkType);
555565
if (Rectrack.has_mcParticle()) {
556566
int pid = 0;
557567
auto mcpart = Rectrack.mcParticle();
558568
histos.fill(HIST("hppEtaReso"), Rectrack.pt(), Rectrack.pt() - mcpart.pt());
559-
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoHasmc));
569+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoHasmc),kGlobalplusITS);
570+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoHasmc),trkType);
560571
if (mcpart.isPhysicalPrimary()) {
561-
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoPrimary));
572+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoPrimary),kGlobalplusITS);
573+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), mcpart.pt(), mcpart.phi(), static_cast<double>(kRecoPrimary),trkType);
562574
switch (std::abs(mcpart.pdgCode())) {
563575
case PDG_t::kPiPlus:
564576
pid = kRecoPion;
@@ -586,9 +598,11 @@ struct PtmultCorr {
586598
pid = kRecoFake;
587599
}
588600
mclabels.push_back(Rectrack.mcParticleId());
589-
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), mcpart.pt(), mcpart.phi(), static_cast<double>(pid));
601+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), mcpart.pt(), mcpart.phi(), static_cast<double>(pid),kGlobalplusITS);
602+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), mcpart.pt(), mcpart.phi(), static_cast<double>(pid),trkType);
590603
} else {
591-
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoBkg));
604+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoBkg),kGlobalplusITS);
605+
histos.fill(HIST("hppRecMCdndpt"), RecCol.posZ(), Rectrack.pt(), Rectrack.phi(), static_cast<double>(kRecoBkg),trkType);
592606
}
593607
} // track (mcrec) loop
594608
} // collision loop

0 commit comments

Comments
 (0)