@@ -619,6 +619,14 @@ struct OnTheFlyTracker {
619619 insertHist (histPath + " h2dSecondaryKaPtRes" , " h2dSecondaryKaPtRes;Gen p_{T};#Delta p_{T} / Reco p_{T}" , kTH2D , {{axes.axisMomentum , axes.axisPtRes }});
620620 insertHist (histPath + " h2dPrimaryPrPtRes" , " h2dPrimaryPrPtRes;Gen p_{T};#Delta p_{T} / Reco p_{T}" , kTH2D , {{axes.axisMomentum , axes.axisPtRes }});
621621 insertHist (histPath + " h2dSecondaryPrPtRes" , " h2dSecondaryPrPtRes;Gen p_{T};#Delta p_{T} / Reco p_{T}" , kTH2D , {{axes.axisMomentum , axes.axisPtRes }});
622+
623+ if (fastPrimaryTrackerSettings.fastTrackShortLivedParticles ) {
624+ insertHist (histPath + " h2dGenShortLivedParticleRadius" , " h2dGenShortLivedParticleRadius;Radius (cm);Momentum p_{T}" , kTH2D , {{axes.axisDecayRadius , axes.axisMomentum }});
625+ insertHist (histPath + " h2dRecShortLivedParticleRadius" , " h2dRecShortLivedParticleRadius;Radius (cm);Momentum p_{T}" , kTH2D , {{axes.axisDecayRadius , axes.axisMomentum }});
626+ insertHist (histPath + " h2dGenRadiusIniVsDecay" , " h2dGenRadiusIniVsDecay;Radius (cm);Radius (cm)" , kTH2D , {{axes.axisDecayRadius , axes.axisDecayRadius }});
627+ insertHist (histPath + " h2dRecRadiusIniVsDecay" , " h2dRecRadiusIniVsDecay;Radius (cm);Radius (cm)" , kTH2D , {{axes.axisDecayRadius , axes.axisDecayRadius }});
628+ insertHist (histPath + " h2dDecayRadiusVsNhits" , " h2dDecayRadiusVsNhits;Radius (cm);Nhits" , kTH2D , {{axes.axisDecayRadius , {20 , 0.5 , 20 }}});
629+ }
622630 }
623631
624632 } // end config loop
@@ -2151,11 +2159,17 @@ struct OnTheFlyTracker {
21512159 o2::upgrade::convertMCParticleToO2Track (mcParticle, perfectTrackParCov, pdgDB);
21522160 perfectTrackParCov.setPID (pdgCodeToPID (mcParticle.pdgCode ()));
21532161 computeBremsstrahlungLoss (icfg, mcParticle, perfectTrackParCov);
2154- nTrkHits = fastTracker[icfg]->FastTrack (perfectTrackParCov, trackParCov, dNdEta);
2162+ nTrkHits = fastTracker[icfg]->FastTrack (perfectTrackParCov, trackParCov, dNdEta, mcParticle.decayRadius ());
2163+ getHist<TH2 >(histPath + " h2dGenShortLivedParticleRadius" )->Fill (mcParticle.decayRadius (), perfectTrackParCov.getPt ());
2164+ getHist<TH2 >(histPath + " h2dGenRadiusIniVsDecay" )->Fill (std::hypot (perfectTrackParCov.getX (), perfectTrackParCov.getY ()), mcParticle.decayRadius ());
21552165 if (nTrkHits < fastPrimaryTrackerSettings.minSiliconHits ) {
21562166 reconstructed = false ;
21572167 } else {
21582168 reconstructed = true ;
2169+ getHist<TH2 >(histPath + " h2dRecShortLivedParticleRadius" )->Fill (mcParticle.decayRadius (), perfectTrackParCov.getPt ());
2170+ getHist<TH2 >(histPath + " h2dRecRadiusIniVsDecay" )->Fill (std::hypot (perfectTrackParCov.getX (), perfectTrackParCov.getY ()), mcParticle.decayRadius ());
2171+ getHist<TH2 >(histPath + " h2dDecayRadiusVsNhits" )->Fill (mcParticle.decayRadius (), nTrkHits);
2172+ LOG (info) << mcParticle.decayRadius ();
21592173 }
21602174 } else if (enableSecondarySmearing && isSecondary) {
21612175 o2::track::TrackParCov perfectTrackParCov;
@@ -2259,7 +2273,7 @@ struct OnTheFlyTracker {
22592273 fillTracksInfo (ghostTracksAlice3, primaryVertex, icfg);
22602274 }
22612275
2262- void processDecayer (aod::McCollision const & mcCollision, soa::Join<aod::McParticles, aod::OTFDecayerBits > const & mcParticles)
2276+ void processDecayer (aod::McCollision const & mcCollision, soa::Join<aod::McParticles, aod::OTFParticleExtras > const & mcParticles)
22632277 {
22642278 for (size_t icfg = 0 ; icfg < mSmearer .size (); ++icfg) {
22652279 processConfigurationDev (mcCollision, mcParticles, static_cast <int >(icfg));
0 commit comments