@@ -43,9 +43,9 @@ using namespace o2::framework::expressions;
4343
4444struct JetShapeTask {
4545
46- Configurable<int > nBinsNSigma{" nBinsNSigma" , 101 , " Number of nsigma bins" };
47- Configurable<float > nSigmaMin{" nSigmaMin" , -10 .1f , " Min value of nsigma" };
48- Configurable<float > nSigmaMax{" nSigmaMax" , 10 .1f , " Max value of nsigma" };
46+ Configurable<int > nBinsNSigma{" nBinsNSigma" , 100 , " Number of nsigma bins" };
47+ Configurable<float > nSigmaMin{" nSigmaMin" , -10 .0f , " Min value of nsigma" };
48+ Configurable<float > nSigmaMax{" nSigmaMax" , 10 .0f , " Max value of nsigma" };
4949 Configurable<int > nBinsPForDedx{" nBinsPForDedx" , 700 , " Number of p bins" };
5050 Configurable<int > nBinsPForBeta{" nBinsPForBeta" , 500 , " Number of pT bins" };
5151 Configurable<int > nBinsTpcDedx{" nBinsTpcDedx" , 500 , " Number of DEdx bins" };
@@ -62,7 +62,7 @@ struct JetShapeTask {
6262 Configurable<int > nBinsPt{" nBinsPt" , 60 , " Number of pT bins" };
6363 Configurable<int > nBinsJetPt{" nBinsJetPt" , 10 , " Number of jet pT bins" };
6464 Configurable<int > nBinsPForCut{" nBinsPForCut" , 30 , " Number of p track bins" };
65- Configurable<int > nBinsCentrality{" nBinsCentrality" , 20 , " Number of centrality bins" };
65+ Configurable<int > nBinsCentrality{" nBinsCentrality" , 10 , " Number of centrality bins" };
6666 Configurable<int > nBinsDistance{" nBinsDistance" , 7 , " Number of distance bins" };
6767 Configurable<float > distanceMax{" distanceMax" , 0 .7f , " Max value of distance" };
6868 Configurable<float > nSigmaTofCut{" nSigmaTofCut" , 2 .0f , " Number of sigma cut for TOF PID" };
@@ -83,7 +83,6 @@ struct JetShapeTask {
8383 {" tofBeta" , " tofBeta" , {HistType::kTHnSparseD , {{nBinsPForBeta, 0 , pMax}, {nBinsTofBeta, 0.4 , 1.1 }, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
8484 {" pVsPtForPr" , " pVsPtForPr" , {HistType::kTHnSparseD , {{nBinsP, 0 , pMax}, {nBinsPt, 0 , ptMax}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
8585 {" pVsPtForPi" , " pVsPtPi" , {HistType::kTHnSparseD , {{nBinsP, 0 , pMax}, {nBinsPt, 0 , ptMax}, {nBinsCentrality, centralityMinForCut, centralityMaxForCut}}}},
86- {" tofMass" , " tofMass" , {HistType::kTH1F , {{90 , 0 , 3 }}}},
8786 {" trackPhi" , " trackPhi" , {HistType::kTH1F , {{80 , -1 , 7 }}}},
8887 {" trackEta" , " trackEta" , {HistType::kTH1F , {{100 , -1 , 1 }}}},
8988 {" trackTpcNClsCrossedRows" , " trackTpcNClsCrossedRows" , {HistType::kTH1F , {{50 , 0 , 200 }}}},
@@ -160,7 +159,7 @@ struct JetShapeTask {
160159 Configurable<float > nclcrossTpcMin{" nclcrossTpcMin" , 70 .0f , " tpc # of crossedRows cut" };
161160 Configurable<float > mcRapidityMax{" mcRapidityMax" , 0 .5f , " maximum mctrack y" };
162161 Configurable<double > epsilon{" epsilon" , 1e-6 , " standard for aboid division of zero" };
163- Configurable<float > maxDeltaEtaSafe{" maxDeltaEtaSafe" , 2 . 0f , " maximum track eta for cut" };
162+ Configurable<float > maxDeltaEtaSafe{" maxDeltaEtaSafe" , 0 . 9f , " maximum track eta for cut" };
164163
165164 Configurable<std::string> triggerMasks{" triggerMasks" , " " , " possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL" };
166165
@@ -226,6 +225,8 @@ struct JetShapeTask {
226225 Filter collisionFilter = nabs(aod::collision::posZ) < vertexZCut;
227226 Filter mcCollisionFilter = nabs(aod::jmccollision::posZ) < vertexZCut;
228227
228+ using FullTrackInfo = soa::Join<aod::Tracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta>;
229+
229230 void processJetShape (soa::Filtered<soa::Join<aod::JetCollisions, aod::BkgChargedRhos>>::iterator const & collision, aod::JetTracks const & tracks, soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const & jets)
230231 {
231232 if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits)) {
@@ -372,7 +373,7 @@ struct JetShapeTask {
372373
373374 PROCESS_SWITCH (JetShapeTask, processJetShape, " JetShape" , false );
374375
375- void processJetProductionRatio (soa::Filtered<soa::Join<aod::JetCollisions, aod::BkgChargedRhos>>::iterator const & collision, soa::Join<aod::JetTracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta> const & tracks , soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const & jets)
376+ void processJetProductionRatio (soa::Filtered<soa::Join<aod::JetCollisions, aod::BkgChargedRhos>>::iterator const & collision, soa::Join<aod::JetTracks, aod::JTrackPIs> const & tracks, FullTrackInfo const &, soa::Join<aod::ChargedJets, aod::ChargedJetConstituents> const & jets)
376377 {
377378 if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits)) {
378379 return ;
@@ -407,10 +408,13 @@ struct JetShapeTask {
407408 {jet.pt (), jet.eta (), jet.phi (), ptCorr, phiBg1, phiBg2});
408409 }
409410
410- for (const auto & track : tracks) {
411- if (!jetderiveddatautilities::selectTrack (track , trackSelection)) {
411+ for (const auto & jetTrack : tracks) {
412+ if (!jetderiveddatautilities::selectTrack (jetTrack , trackSelection)) {
412413 continue ;
413414 }
415+
416+ auto track = jetTrack.track_as <FullTrackInfo>();
417+
414418 if (std::abs (track.eta ()) > etaTrUp)
415419 continue ;
416420 if (track.tpcNClsCrossedRows () < nclcrossTpcMin)
@@ -465,7 +469,7 @@ struct JetShapeTask {
465469 float distBg2 = std::sqrt (dEta * dEta + deltaPhiBg2 * deltaPhiBg2);
466470
467471 // --- Background Fill ---
468- if (distBg1 < jetR || distBg2 < jetR ) {
472+ if (distBg1 < distanceMax || distBg2 < distanceMax ) {
469473 registry.fill (HIST (" tpcDedxOutOfJet" ), trkP, tpcSig);
470474
471475 if (hasTofPi) {
@@ -503,17 +507,23 @@ struct JetShapeTask {
503507 }
504508 }
505509 }
506- PROCESS_SWITCH (JetShapeTask, processJetProductionRatio,
507- " production ratio around jets" , false );
510+ PROCESS_SWITCH (JetShapeTask, processJetProductionRatio, " production ratio around jets" , false );
508511
509- void processInclusiveProductionRatio (soa::Filtered<aod::JetCollisions>::iterator const & collision, soa::Join<aod::JetTracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta, aod::pidTOFmass, o2::aod::TrackSelection> const & tracks )
512+ void processInclusiveProductionRatio (soa::Filtered<aod::JetCollisions>::iterator const & collision, soa::Join<aod::JetTracks, aod::JTrackPIs> const & tracks, FullTrackInfo const &)
510513 {
511514 if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits)) {
512515 return ;
513516 }
514517
515518 // tracks conditions
516- for (const auto & track : tracks) {
519+ for (const auto & jetTrack : tracks) {
520+
521+ if (!jetderiveddatautilities::selectTrack (jetTrack, trackSelection)) {
522+ continue ;
523+ }
524+
525+ auto track = jetTrack.track_as <FullTrackInfo>();
526+
517527 registry.fill (HIST (" trackTpcNClsCrossedRows" ), track.tpcNClsCrossedRows ());
518528 registry.fill (HIST (" trackDcaXY" ), track.dcaXY ());
519529 registry.fill (HIST (" trackItsChi2NCl" ), track.itsChi2NCl ());
@@ -523,10 +533,6 @@ struct JetShapeTask {
523533 registry.fill (HIST (" trackEta" ), track.eta ());
524534 registry.fill (HIST (" trackPhi" ), track.phi ());
525535
526- if (!jetderiveddatautilities::selectTrack (track, trackSelection)) {
527- continue ;
528- }
529-
530536 if (std::abs (track.eta ()) > etaTrUp)
531537 continue ;
532538 if (track.tpcNClsCrossedRows () < nclcrossTpcMin)
@@ -543,7 +549,6 @@ struct JetShapeTask {
543549 continue ;
544550
545551 // PID check
546- registry.fill (HIST (" tofMass" ), track.mass ());
547552 registry.fill (HIST (" tpcPi" ), track.p (), track.tpcNSigmaPi ());
548553 registry.fill (HIST (" tofPi" ), track.pt (), track.tofNSigmaPi ());
549554 registry.fill (HIST (" tpcPr" ), track.p (), track.tpcNSigmaPr ());
@@ -567,12 +572,9 @@ struct JetShapeTask {
567572 }
568573 }
569574 }
570- PROCESS_SWITCH (JetShapeTask, processInclusiveProductionRatio,
571- " inclusive Production ratio" , false );
575+ PROCESS_SWITCH (JetShapeTask, processInclusiveProductionRatio, " inclusive Production ratio" , false );
572576
573- void processReco (
574- soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::BkgChargedRhos>>::iterator const & collision,
575- soa::Join<aod::JetTracks, aod::TracksExtra, aod::TracksDCA, aod::McTrackLabels> const & tracks, aod::ChargedMCDetectorLevelJets const & jets, aod::McParticles const & mcParticles)
577+ void processReco (soa::Filtered<soa::Join<aod::JetCollisionsMCD, aod::BkgChargedRhos>>::iterator const & collision, soa::Join<aod::JetTracks, aod::TracksExtra, aod::TracksDCA, aod::McTrackLabels> const & tracks, aod::ChargedMCDetectorLevelJets const & jets, aod::McParticles const & mcParticles)
576578 {
577579 if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits)) {
578580 return ;
@@ -683,13 +685,12 @@ struct JetShapeTask {
683685 }
684686 PROCESS_SWITCH (JetShapeTask, processReco, " process reconstructed simulation information" , true );
685687
686- void processSim (soa::Join<aod::McCollisions, aod::McCentFT0Ms>::iterator const & mcCollision,
687- aod::ChargedMCParticleLevelJets const & mcpjets,
688- aod::McParticles const & mcParticles)
688+ void processSim (aod::JetMcCollisions::iterator const & mcCollision, aod::ChargedMCParticleLevelJets const & mcpjets, aod::JetParticles const & mcParticles)
689689 {
690690 if (std::abs (mcCollision.posZ ()) > vertexZCut) {
691691 return ;
692692 }
693+
693694 // --- centrality ---
694695 float centrality = mcCollision.centFT0M ();
695696 registry.fill (HIST (" mcCentralitySim" ), centrality);
@@ -747,7 +748,7 @@ struct JetShapeTask {
747748 registry.fill (HIST (" ptGeneratedPion" ), partPt, jetPt, centrality);
748749 } else if (absPdg == PDG_t::kKPlus ) {
749750 registry.fill (HIST (" ptGeneratedKaon" ), partPt, jetPt, centrality);
750- } else {
751+ } else if (absPdg == PDG_t:: kProton ) {
751752 registry.fill (HIST (" ptGeneratedProton" ), partPt, jetPt, centrality);
752753 }
753754 }
0 commit comments