@@ -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