Skip to content

Commit 9450583

Browse files
authored
Enhance histogram registration for reconstructed particles
Updated the registration of reconstructed histograms to include additional parameters for K and K0s particles.
1 parent f2d8005 commit 9450583

File tree

1 file changed

+37
-5
lines changed

1 file changed

+37
-5
lines changed

PWGLF/Tasks/QC/systematicsMapping.cxx

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ struct SystematicsMapping {
9898
registry.add("K/GeneratedPositive", "", HistType::kTHnSparseF, {ptAxis, etaAxis, phiAxis});
9999
registry.add("K/GeneratedNegative", "", HistType::kTHnSparseF, {ptAxis, etaAxis, phiAxis});
100100
registry.add("K0s/Generated", "", HistType::kTHnSparseF, {ptAxis, etaAxis, phiAxis});
101-
registry.add("K/ReconstructedPositive", "", HistType::kTHnSparseF, {ptAxis, etaAxis, phiAxis});
102-
registry.add("K/ReconstructedNegative", "", HistType::kTHnSparseF, {ptAxis, etaAxis, phiAxis});
103-
registry.add("K0s/Reconstructed", "", HistType::kTHnSparseF, {ptAxis, etaAxis, phiAxis});
101+
registry.add("K/ReconstructedPositive", "", HistType::kTHnSparseF, {ptAxis, etaAxis, phiAxis, nsigmaAxisTPC, nsigmaAxisTOF, tpcCrossedRowsAxis, itsClustersAxis, dcaXYAxis, dcaZAxis, chi2TPCAxis, chi2ITSAxis});
102+
registry.add("K/ReconstructedNegative", "", HistType::kTHnSparseF, {ptAxis, etaAxis, phiAxis, nsigmaAxisTPC, nsigmaAxisTOF, tpcCrossedRowsAxis, itsClustersAxis, dcaXYAxis, dcaZAxis, chi2TPCAxis, chi2ITSAxis});
103+
registry.add("K0s/Reconstructed", "", HistType::kTHnSparseF, {ptAxis, etaAxis, phiAxis, invariantMassBins, nsigmaAxisTPC, nsigmaAxisTOF, tpcCrossedRowsAxis, itsClustersAxis, dcaXYAxis, dcaZAxis, chi2TPCAxis, chi2ITSAxis});
104104
}
105105
}
106106

@@ -165,6 +165,7 @@ struct SystematicsMapping {
165165

166166
void processMc(soa::Join<CollisionType, aod::McCollisionLabels> const& collisions,
167167
soa::Join<TrackType, aod::McTrackLabels> const& tracks,
168+
soa::Join<aod::V0Datas, aod::McV0Labels> const& v0s,
168169
aod::McParticles const& particles,
169170
aod::McCollisions const&)
170171
{
@@ -187,16 +188,47 @@ struct SystematicsMapping {
187188
continue;
188189
switch (mcParticle.pdgCode()) {
189190
case 321: // K+
190-
registry.fill(HIST("K/ReconstructedPositive"), track.pt(), track.eta(), track.phi());
191+
registry.fill(HIST("K/ReconstructedPositive"), track.pt(), track.eta(), track.phi(), track.tpcNSigmaKa(), track.tofNSigmaKa(), track.tpcNClsCrossedRows(), track.itsNCls(), track.dcaXY(), track.dcaZ(), track.tpcChi2NCl(), track.itsChi2NCl());
191192
break;
192193
case -321: // K-
193-
registry.fill(HIST("K/ReconstructedNegative"), track.pt(), track.eta(), track.phi());
194+
registry.fill(HIST("K/ReconstructedNegative"), track.pt(), track.eta(), track.phi(), track.tpcNSigmaKa(), track.tofNSigmaKa(), track.tpcNClsCrossedRows(), track.itsNCls(), track.dcaXY(), track.dcaZ(), track.tpcChi2NCl(), track.itsChi2NCl());
194195
break;
195196
default:
196197
break;
197198
}
198199
}
199200

201+
for (const auto& v0 : v0s) {
202+
if (v0.collisionId() != collision.globalIndex())
203+
continue;
204+
if (!v0.has_mcParticle())
205+
continue;
206+
const auto& mcParticle = v0.mcParticle();
207+
if (mcParticle.mcCollisionId() != mcCollision.globalIndex())
208+
continue;
209+
if (!mcParticle.isPhysicalPrimary())
210+
continue;
211+
if (std::abs(mcParticle.pdgCode()) != 310)
212+
continue;
213+
const auto& posTrack = v0.posTrack_as<TrackType>();
214+
const auto& negTrack = v0.negTrack_as<TrackType>();
215+
if (v0.v0radius() < v0radius ||
216+
v0.v0cosPA() < v0cospa ||
217+
std::abs(posTrack.eta()) > etadau ||
218+
std::abs(negTrack.eta()) > etadau)
219+
continue;
220+
221+
registry.fill(HIST("K0s/Reconstructed"), v0.pt(), v0.eta(), v0.phi(), v0.mK0Short() - constants::physics::MassK0Short,
222+
std::max(posTrack.tpcNSigmaPi(), negTrack.tpcNSigmaPi()),
223+
std::max(posTrack.tofNSigmaPi(), negTrack.tofNSigmaPi()),
224+
std::min(posTrack.tpcNClsCrossedRows(), negTrack.tpcNClsCrossedRows()),
225+
std::min(posTrack.itsNCls(), negTrack.itsNCls()),
226+
std::min(posTrack.dcaXY(), negTrack.dcaXY()),
227+
std::min(posTrack.dcaZ(), negTrack.dcaZ()),
228+
std::min(posTrack.tpcChi2NCl(), negTrack.tpcChi2NCl()),
229+
std::min(posTrack.itsChi2NCl(), negTrack.itsChi2NCl()));
230+
}
231+
200232
for (const auto& particle : particles) {
201233
if (particle.mcCollisionId() != mcCollision.globalIndex())
202234
continue;

0 commit comments

Comments
 (0)