@@ -106,12 +106,12 @@ struct RecoilJets {
106106 Configurable<std::vector<float >> phiRestrTTSelection{" phiRestrTTSelection" , {0 ., 6.3 }, " Restriction on phi angle (min, max) to search for TT" };
107107
108108 // Leading track and associated track
109- Configurable<std::vector<float >> pTLeadTrack{" pTLeadTrack" , {1 ., 3 .}, " Transverse momenturm range (min, max) for leading tracks" };
110- Configurable<std::vector< float >> pTAssociatTrack{ " pTAssociatTrack " , { 1 ., 3 .}, " Transverse momenturm range (min, max) for associated tracks" };
109+ Configurable<std::vector<float >> pTLeadTrack{" pTLeadTrack" , {4 ., 6 .}, " Transverse momenturm range (min, max) for leading tracks" };
110+ Configurable<float > pTAssociatTrackMin{ " pTAssociatTrackMin " , 2 ., " Min transverse momenturm for associated tracks" };
111111
112112 // List of configurable parameters for histograms
113113 Configurable<uint16_t > histJetPt{" histJetPt" , 100 , " Maximum value of jet pT stored in histograms" };
114- Configurable<uint16_t > histMultBins{" histMultBins" , 1000 , " Number of bins for scaled FT0M multiplicity" };
114+ Configurable<uint16_t > histMultBins{" histMultBins" , 600 , " Number of bins for scaled FT0M multiplicity" };
115115 Configurable<uint16_t > histZDCTimeBins{" histZDCTimeBins" , 240 , " Number of bins for ZDC timing histograms" };
116116
117117 // Axes specification
@@ -502,8 +502,12 @@ struct RecoilJets {
502502 }
503503
504504 if (doprocessLeadingAndAssociatedTracksTask) {
505- spectra.add (" hScaledFT0C_Correlation_LeadTrack_AssociatTracks" , Form (" Leading track #it{p}_{T} #in (%.2f, %.2f); Associated track #it{p}_{T} #in (%.2f, %.2f)" , pTLeadTrack->at (0 ), pTLeadTrack->at (1 ), pTAssociatTrack->at (0 ), pTAssociatTrack->at (1 )), kTH2F , {{multFT0CThresh, nameFT0Caxis}, {120 , -1.28 , 5.0 , " #it{#varphi} (rad)" }});
506- spectra.add (" hScaledFT0M_Correlation_LeadTrack_AssociatTracks" , Form (" Leading track #it{p}_{T} #in (%.2f, %.2f); Associated track #it{p}_{T} #in (%.2f, %.2f)" , pTLeadTrack->at (0 ), pTLeadTrack->at (1 ), pTAssociatTrack->at (0 ), pTAssociatTrack->at (1 )), kTH2F , {{multFT0MThresh, nameFT0Maxis}, {120 , -1.28 , 5.0 , " #it{#varphi} (rad)" }});
505+
506+ spectra.add (" hScaledFT0C_NleadTracks" , " Total number of selected leading tracks vs scaled FT0C" , kTH2F , {{scaledFT0C}, {1 , 0.0 , 1 .}});
507+ spectra.add (" hScaledFT0M_NleadTracks" , " Total number of selected leading tracks vs scaled FT0M" , kTH2F , {{scaledFT0M}, {1 , 0.0 , 1 .}});
508+
509+ spectra.add (" hScaledFT0C_Correlation_LeadTrack_AssociatTracks" , Form (" Leading track #it{p}_{T} #in (%.2f, %.2f); Associated track #it{p}_{T} #in (%.2f, #it{p}_{T, lead. trk})" , pTLeadTrack->at (0 ), pTLeadTrack->at (1 ), pTAssociatTrackMin.value ), kTH2F , {{scaledFT0C}, {160 , -1.28 , 5.0 , " #it{#varphi} (rad)" }});
510+ spectra.add (" hScaledFT0M_Correlation_LeadTrack_AssociatTracks" , Form (" Leading track #it{p}_{T} #in (%.2f, %.2f); Associated track #it{p}_{T} #in (%.2f, #it{p}_{T, lead. trk})" , pTLeadTrack->at (0 ), pTLeadTrack->at (1 ), pTAssociatTrackMin.value ), kTH2F , {{scaledFT0M}, {160 , -1.28 , 5.0 , " #it{#varphi} (rad)" }});
507511 }
508512 }
509513
@@ -1001,38 +1005,49 @@ struct RecoilJets {
10011005 void fillLeadingAndAssociatedTracksTask (JCollision const & collision, JTracks const & tracks, float weight = 1 .)
10021006 {
10031007 std::vector<double > vPhiOfLeadingTracks;
1008+ std::vector<double > vPtOfLeadingTracks;
10041009 std::vector<double > vPhiOfAssociatedTracks;
10051010
10061011 float scaledFT0C = getScaledFT0 (collision.multFT0C (), meanFT0C);
10071012 float scaledFT0M = getScaledFT0M (getScaledFT0 (collision.multFT0A (), meanFT0A), scaledFT0C);
10081013
1014+ // Search for leading tracks
10091015 for (const auto & track : tracks) {
10101016 if (skipTrack (track))
10111017 continue ;
10121018
10131019 float trackPt = track.pt ();
1014- float trackPhi = track.phi ();
10151020
1016- // Search for leading tracks
10171021 if (trackPt > pTLeadTrack->at (0 ) && trackPt < pTLeadTrack->at (1 )) {
1018- vPhiOfLeadingTracks.push_back (trackPhi);
1019- }
1020-
1021- // Search for associated tracks
1022- if (trackPt > pTAssociatTrack->at (0 ) && trackPt < pTAssociatTrack->at (1 )) {
1023- vPhiOfAssociatedTracks.push_back (trackPhi);
1022+ vPhiOfLeadingTracks.push_back (track.phi ());
1023+ vPtOfLeadingTracks.push_back (trackPt);
10241024 }
10251025 }
10261026
10271027 int nLeadingTracks = vPhiOfLeadingTracks.size ();
10281028
10291029 if (nLeadingTracks > 0 ) {
1030- double phiLeadingTrack = getPhiTT (vPhiOfLeadingTracks );
1030+ auto indexLeadTrack = rand-> Integer (nLeadingTracks );
10311031
1032- for (const auto & phiAssociatTrack : vPhiOfAssociatedTracks) {
1033- double dphi = RecoDecay::constrainAngle (phiLeadingTrack - phiAssociatTrack, -1.3 );
1034- spectra.fill (HIST (" hScaledFT0C_Correlation_LeadTrack_AssociatTracks" ), scaledFT0C, dphi, weight);
1035- spectra.fill (HIST (" hScaledFT0M_Correlation_LeadTrack_AssociatTracks" ), scaledFT0M, dphi, weight);
1032+ double phiLeadingTrack = vPhiOfLeadingTracks[indexLeadTrack];
1033+ double pTLeadingTrack = vPtOfLeadingTracks[indexLeadTrack];
1034+
1035+ spectra.fill (HIST (" hScaledFT0C_NleadTracks" ), scaledFT0C, 0.5 , weight);
1036+ spectra.fill (HIST (" hScaledFT0M_NleadTracks" ), scaledFT0M, 0.5 , weight);
1037+
1038+ for (const auto & track : tracks) {
1039+ if (skipTrack (track))
1040+ continue ;
1041+
1042+ float trackPt = track.pt ();
1043+ float trackPhi = track.phi ();
1044+
1045+ // Search for associated tracks
1046+ if (trackPt > pTAssociatTrackMin && trackPt < pTLeadingTrack) {
1047+ double dphi = RecoDecay::constrainAngle (phiLeadingTrack - trackPhi, -1.3 );
1048+ spectra.fill (HIST (" hScaledFT0C_Correlation_LeadTrack_AssociatTracks" ), scaledFT0C, dphi, weight);
1049+ spectra.fill (HIST (" hScaledFT0M_Correlation_LeadTrack_AssociatTracks" ), scaledFT0M, dphi, weight);
1050+ }
10361051 }
10371052 }
10381053 }
0 commit comments