@@ -75,6 +75,7 @@ struct JetHadronRecoil {
7575
7676 Filter jetCuts = aod::jet::r == nround(jetR.node() * 100 .0f );
7777 Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta > trackEtaMin && aod::jtrack::eta < trackEtaMax);
78+ Filter particleCuts = (aod::jmcparticle::pt >= trackPtMin && aod::jmcparticle::pt < trackPtMax && aod::jmcparticle::eta > trackEtaMin && aod::jmcparticle::eta < trackEtaMax);
7879 Filter eventCuts = (nabs(aod::jcollision::posZ) < vertexZCut && aod::jcollision::centrality >= centralityMin && aod::jcollision::centrality < centralityMax);
7980
8081 std::vector<double > ptBinningPart = {0.0 , 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 , 10.0 ,
@@ -86,13 +87,24 @@ struct JetHadronRecoil {
8687 15.0 , 20.0 , 25.0 , 30.0 , 35.0 , 40.0 , 45.0 , 50.0 , 55.0 , 60.0 ,
8788 65.0 , 70.0 , 75.0 , 80.0 , 90.0 , 100.0 , 110.0 , 120.0 , 130.0 ,
8889 140.0 , 150.0 , 160.0 , 180.0 , 200.0 };
90+ std::vector<double > dRBinning = {0.0 , 1.0e-9 , 0.003 , 0.006 , 0.009 , 0.012 , 0.015 , 0.018 , 0.021 , 0.024 ,
91+ 0.027 , 0.03 , 0.033 , 0.036 , 0.039 , 0.042 , 0.045 , 0.048 , 0.051 , 0.054 ,
92+ 0.057 , 0.06 , 0.063 , 0.066 , 0.069 , 0.072 , 0.075 , 0.078 , 0.081 , 0.084 ,
93+ 0.087 , 0.09 , 0.093 , 0.096 , 0.099 , 0.102 , 0.105 , 0.108 , 0.111 , 0.114 ,
94+ 0.117 , 0.12 , 0.123 , 0.126 , 0.129 , 0.132 , 0.135 , 0.138 , 0.141 , 0.144 ,
95+ 0.147 , 0.15 , 0.153 , 0.156 , 0.159 , 0.162 , 0.165 , 0.168 , 0.171 , 0.174 ,
96+ 0.177 , 0.18 , 0.183 , 0.186 , 0.189 , 0.192 , 0.195 , 0.198 , 0.201 , 0.204 ,
97+ 0.207 , 0.21 , 0.213 , 0.216 , 0.219 , 0.222 , 0.225 , 0.228 , 0.231 , 0.234 ,
98+ 0.237 , 0.24 };
99+
100+ AxisSpec dRAxis = {dRBinning, " #Delta R" };
89101
90102 AxisSpec ptAxisDet = {ptBinningDet, " #it{p}_{T,det} (GeV/c)" };
91103 AxisSpec ptAxisPart = {ptBinningPart, " #it{p}_{T,part} (GeV/c)" };
92104 AxisSpec phiAxisDet = {100 , 0.0 , o2::constants::math::TwoPI, " #phi_{det}" };
93105 AxisSpec phiAxisPart = {100 , 0.0 , o2::constants::math::TwoPI, " #phi_{part}" };
94- AxisSpec dRAxisDet = {80 , 0.0 , 0.24 , " #Delta R_{det}" };
95- AxisSpec dRAxisPart = {80 , 0.0 , 0.24 , " #Delta R_{part}" };
106+ AxisSpec dRAxisDet = {dRBinning , " #Delta R_{det}" };
107+ AxisSpec dRAxisPart = {dRBinning , " #Delta R_{part}" };
96108
97109 HistogramRegistry registry{" registry" ,
98110 {{" hNtrig" , " number of triggers;trigger type;entries" , {HistType::kTH1F , {{2 , 0 , 2 }}}},
@@ -114,29 +126,29 @@ struct JetHadronRecoil {
114126 {" hPtPart" , " Particle p_{T};p_{T};entries" , {HistType::kTH1F , {{200 , 0 , 200 }}}},
115127 {" hEtaPart" , " Particle #eta;#eta;entries" , {HistType::kTH1F , {{100 , -1.0 , 1.0 }}}},
116128 {" hPhiPart" , " Particle #phi;#phi;entries" , {HistType::kTH1F , {{100 , 0.0 , o2::constants::math::TwoPI}}}},
117- {" hDeltaR" , " #DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {{ 80 , 0.0 , 0.24 } }}},
118- {" hDeltaRPart" , " Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {{ 80 , 0.0 , 0.24 } }}},
119- {" hDeltaRpT" , " jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{300 , -100 , 200 }, { 80 , 0.0 , 0.24 } }}},
120- {" hDeltaRpTPart" , " Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{200 , 0 , 200 }, { 80 , 0.0 , 0.24 } }}},
129+ {" hDeltaR" , " #DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {dRAxis }}},
130+ {" hDeltaRPart" , " Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {dRAxis }}},
131+ {" hDeltaRpT" , " jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{300 , -100 , 200 }, dRAxis }}},
132+ {" hDeltaRpTPart" , " Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{200 , 0 , 200 }, dRAxis }}},
121133 {" hRhoSignal" , " Signal Rho bkg;#rho;entries" , {HistType::kTH1F , {{220 , 0 , 220 }}}},
122134 {" hRhoReference" , " Reference Rho bkg;#rho;entries" , {HistType::kTH1F , {{220 , 0 , 220 }}}},
123- {" hDeltaRSignal" , " #DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {{ 80 , 0.0 , 0.24 } }}},
124- {" hDeltaRSignalPart" , " Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {{ 80 , 0.0 , 0.24 } }}},
125- {" hDeltaRpTSignal" , " jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{300 , -100 , 200 }, { 80 , 0.0 , 0.24 } }}},
126- {" hDeltaRpTSignalPart" , " Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{200 , 0 , 200 }, { 80 , 0.0 , 0.24 } }}},
127- {" hDeltaRpTDPhiSignal" , " jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR" , {HistType::kTH3F , {{300 , -100 , 200 }, {100 , 0 , o2::constants::math::TwoPI}, { 80 , 0.0 , 0.24 } }}},
128- {" hDeltaRpTDPhiSignalPart" , " Particle jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR" , {HistType::kTH3F , {{200 , 0 , 200 }, {100 , 0 , o2::constants::math::TwoPI}, { 80 , 0.0 , 0.24 } }}},
129- {" hDeltaRReference" , " #DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {{ 80 , 0.0 , 0.24 } }}},
130- {" hDeltaRPartReference" , " Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {{ 80 , 0.0 , 0.24 } }}},
131- {" hDeltaRpTReference" , " jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{300 , -100 , 200 }, { 80 , 0.0 , 0.24 } }}},
132- {" hDeltaRpTPartReference" , " Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{200 , 0 , 200 }, { 80 , 0.0 , 0.24 } }}},
133- {" hDeltaRpTDPhiReference" , " jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR" , {HistType::kTH3F , {{300 , -100 , 200 }, {100 , 0 , o2::constants::math::TwoPI}, { 80 , 0.0 , 0.24 } }}},
134- {" hDeltaRpTDPhiReferencePart" , " jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR" , {HistType::kTH3F , {{200 , 0 , 200 }, {100 , 0 , o2::constants::math::TwoPI}, { 80 , 0.0 , 0.24 } }}},
135+ {" hDeltaRSignal" , " #DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {dRAxis }}},
136+ {" hDeltaRSignalPart" , " Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {dRAxis }}},
137+ {" hDeltaRpTSignal" , " jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{300 , -100 , 200 }, dRAxis }}},
138+ {" hDeltaRpTSignalPart" , " Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{200 , 0 , 200 }, dRAxis }}},
139+ {" hDeltaRpTDPhiSignal" , " jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR" , {HistType::kTH3F , {{300 , -100 , 200 }, {100 , 0 , o2::constants::math::TwoPI}, dRAxis }}},
140+ {" hDeltaRpTDPhiSignalPart" , " Particle jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR" , {HistType::kTH3F , {{200 , 0 , 200 }, {100 , 0 , o2::constants::math::TwoPI}, dRAxis }}},
141+ {" hDeltaRReference" , " #DeltaR;#DeltaR;#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {dRAxis }}},
142+ {" hDeltaRPartReference" , " Particle #DeltaR;#DeltaR;#frac{1}{N_{jets}}#frac{dN_{jets}}{d#DeltaR}" , {HistType::kTH1F , {dRAxis }}},
143+ {" hDeltaRpTReference" , " jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{300 , -100 , 200 }, dRAxis }}},
144+ {" hDeltaRpTPartReference" , " Particle jet p_{T} vs #DeltaR;p_{T,jet};#DeltaR" , {HistType::kTH2F , {{200 , 0 , 200 }, dRAxis }}},
145+ {" hDeltaRpTDPhiReference" , " jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR" , {HistType::kTH3F , {{300 , -100 , 200 }, {100 , 0 , o2::constants::math::TwoPI}, dRAxis }}},
146+ {" hDeltaRpTDPhiReferencePart" , " jet p_{T} vs #DeltaR vs #Delta#phi;p_{T,jet};#Delta#phi;#DeltaR" , {HistType::kTH3F , {{200 , 0 , 200 }, {100 , 0 , o2::constants::math::TwoPI}, dRAxis }}},
135147 {" hPtMatched" , " p_{T} matching;p_{T,det};p_{T,part}" , {HistType::kTH2F , {{300 , -100 , 200 }, {200 , 0 , 200 }}}},
136148 {" hPhiMatched" , " #phi matching;#phi_{det};#phi_{part}" , {HistType::kTH2F , {{100 , 0.0 , o2::constants::math::TwoPI}, {100 , 0.0 , o2::constants::math::TwoPI}}}},
137- {" hDeltaRMatched" , " #DeltaR matching;#DeltaR_{det};#DeltaR_{part}" , {HistType::kTH2F , {{ 80 , 0.0 , 0.24 }, { 80 , 0.0 , 0.24 } }}},
149+ {" hDeltaRMatched" , " #DeltaR matching;#DeltaR_{det};#DeltaR_{part}" , {HistType::kTH2F , {dRAxisDet, dRAxisPart }}},
138150 {" hPtMatched1d" , " p_{T} matching 1d;p_{T,part}" , {HistType::kTH1F , {{200 , 0 , 200 }}}},
139- {" hDeltaRMatched1d" , " #DeltaR matching 1d;#DeltaR_{part}" , {HistType::kTH1F , {{ 80 , 0.0 , 0.24 } }}},
151+ {" hDeltaRMatched1d" , " #DeltaR matching 1d;#DeltaR_{part}" , {HistType::kTH1F , {dRAxisPart }}},
140152 {" hPtResolution" , " p_{T} resolution;p_{T,part};Relative Resolution" , {HistType::kTH2F , {{200 , 0 , 200 }, {1000 , -5.0 , 5.0 }}}},
141153 {" hPhiResolution" , " #phi resolution;#p{T,part};Resolution" , {HistType::kTH2F , {{200 , 0 , 200 }, {1000 , -7.0 , 7.0 }}}},
142154 {" hDeltaRResolution" , " #DeltaR Resolution;p_{T,part};Resolution" , {HistType::kTH2F , {{200 , 0 , 200 }, {1000 , -0.15 , 0.15 }}}},
@@ -156,6 +168,7 @@ struct JetHadronRecoil {
156168
157169 Filter jetCuts = aod::jet::r == nround (jetR.node () * 100 .0f );
158170 Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta > trackEtaMin && aod::jtrack::eta < trackEtaMax);
171+ Filter particleCuts = (aod::jmcparticle::pt >= trackPtMin && aod::jmcparticle::pt < trackPtMax && aod::jmcparticle::eta > trackEtaMin && aod::jmcparticle::eta < trackEtaMax);
159172 Filter eventTrackLevelCuts = nabs (aod::jcollision::posZ) < vertexZCut;
160173 }
161174
@@ -211,9 +224,6 @@ struct JetHadronRecoil {
211224 }
212225
213226 for (const auto & jet : jets) {
214- if (jet.tracksIds ().size () == 1 ) {
215- continue ;
216- }
217227 if (jet.pt () > pTHatMaxMCD * pTHat) {
218228 continue ;
219229 }
@@ -224,9 +234,6 @@ struct JetHadronRecoil {
224234 double deltaPhi = RecoDecay::constrainAngle (jetWTA.phi () - jet.phi (), -o2::constants::math::PI);
225235 double deltaEta = jetWTA.eta () - jet.eta ();
226236 double dR = RecoDecay::sqrtSumOfSquares (deltaPhi, deltaEta);
227- if (dR == 0 ) {
228- return ;
229- }
230237 registry.fill (HIST (" hDeltaR" ), dR, weight);
231238 registry.fill (HIST (" hDeltaRpT" ), jet.pt () - (rho * jet.area ()), dR, weight);
232239 }
@@ -319,9 +326,6 @@ struct JetHadronRecoil {
319326 }
320327
321328 for (const auto & jet : jets) {
322- if (jet.tracksIds ().size () == 1 ) {
323- continue ;
324- }
325329 if (jet.pt () > pTHatMaxMCP * pTHat) {
326330 continue ;
327331 }
@@ -332,9 +336,6 @@ struct JetHadronRecoil {
332336 double deltaPhi = RecoDecay::constrainAngle (jetWTA.phi () - jet.phi (), -o2::constants::math::PI);
333337 double deltaEta = jetWTA.eta () - jet.eta ();
334338 double dR = RecoDecay::sqrtSumOfSquares (deltaPhi, deltaEta);
335- if (dR == 0 ) {
336- return ;
337- }
338339 registry.fill (HIST (" hDeltaRPart" ), dR, weight);
339340 registry.fill (HIST (" hDeltaRpTPart" ), jet.pt (), dR, weight);
340341 }
@@ -383,18 +384,12 @@ struct JetHadronRecoil {
383384 double dRp = 0 ;
384385
385386 float pTHat = 10 . / (std::pow (weight, 1.0 / pTHatExponent));
386- if (jetBase.tracksIds ().size () == 1 ) {
387- return ;
388- }
389387 if (jetBase.pt () > pTHatMaxMCD * pTHat) {
390388 return ;
391389 }
392390
393391 for (const auto & mcdjetWTA : mcdjetsWTA) {
394392 double djet = RecoDecay::sqrtSumOfSquares (RecoDecay::constrainAngle (jetBase.phi () - mcdjetWTA.phi (), -o2::constants::math::PI), jetBase.eta () - mcdjetWTA.eta ());
395- if (mcdjetWTA.tracksIds ().size () == 1 ) {
396- continue ;
397- }
398393 if (mcdjetWTA.pt () > pTHatMaxMCD * pTHat) {
399394 continue ;
400395 }
@@ -406,17 +401,11 @@ struct JetHadronRecoil {
406401
407402 if (jetBase.has_matchedJetGeo ()) {
408403 for (const auto & jetTag : jetBase.template matchedJetGeo_as <std::decay_t <U>>()) {
409- if (jetTag.tracksIds ().size () == 1 ) {
410- continue ;
411- }
412404 if (jetTag.pt () > pTHatMaxMCP * pTHat) {
413405 continue ;
414406 }
415407 for (const auto & mcpjetWTA : mcpjetsWTA) {
416408 double djetp = RecoDecay::sqrtSumOfSquares (RecoDecay::constrainAngle (jetTag.phi () - mcpjetWTA.phi (), -o2::constants::math::PI), jetTag.eta () - mcpjetWTA.eta ());
417- if (mcpjetWTA.tracksIds ().size () == 1 ) {
418- continue ;
419- }
420409 if (mcpjetWTA.pt () > pTHatMaxMCP * pTHat) {
421410 continue ;
422411 }
@@ -425,9 +414,6 @@ struct JetHadronRecoil {
425414 break ;
426415 }
427416 }
428- if (dR == 0 || dRp == 0 ) {
429- return ;
430- }
431417 registry.fill (HIST (" hPtMatched" ), jetBase.pt () - (rho * jetBase.area ()), jetTag.pt (), weight);
432418 registry.fill (HIST (" hPhiMatched" ), jetBase.phi (), jetTag.phi (), weight);
433419 registry.fill (HIST (" hPtResolution" ), jetTag.pt (), (jetTag.pt () - (jetBase.pt () - (rho * jetBase.area ()))) / jetTag.pt (), weight);
@@ -554,7 +540,7 @@ struct JetHadronRecoil {
554540 void processMCP (aod::JetMcCollision const & collision,
555541 soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToCharged1MCParticleLevelJets>> const & jets,
556542 soa::Filtered<soa::Join<aod::Charged1MCParticleLevelJets, aod::Charged1MCParticleLevelJetConstituents, aod::Charged1MCParticleLevelJetsMatchedToChargedMCParticleLevelJets>> const & jetsWTA,
557- aod::JetParticles const & particles)
543+ soa::Filtered< aod::JetParticles> const & particles)
558544 {
559545 if (std::abs (collision.posZ ()) > vertexZCut) {
560546 return ;
@@ -570,7 +556,7 @@ struct JetHadronRecoil {
570556 void processMCPWeighted (aod::JetMcCollision const & collision,
571557 soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToCharged1MCParticleLevelJets>> const & jets,
572558 soa::Filtered<soa::Join<aod::Charged1MCParticleLevelJets, aod::Charged1MCParticleLevelJetConstituents, aod::Charged1MCParticleLevelJetsMatchedToChargedMCParticleLevelJets>> const & jetsWTA,
573- aod::JetParticles const & particles)
559+ soa::Filtered< aod::JetParticles> const & particles)
574560 {
575561 if (std::abs (collision.posZ ()) > vertexZCut) {
576562 return ;
@@ -679,8 +665,8 @@ struct JetHadronRecoil {
679665 soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>> const & mcdjets,
680666 soa::Filtered<soa::Join<aod::Charged1MCDetectorLevelJets, aod::Charged1MCDetectorLevelJetConstituents>> const & mcdjetsWTA,
681667 soa::Filtered<soa::Join<aod::Charged1MCParticleLevelJets, aod::Charged1MCParticleLevelJetConstituents>> const & mcpjetsWTA,
682- aod::JetTracks const & tracks,
683- aod::JetParticles const &,
668+ soa::Filtered< aod::JetTracks> const & tracks,
669+ soa::Filtered< aod::JetParticles> const &,
684670 aod::JetMcCollisions const &,
685671 soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>> const & mcpjets)
686672 {
@@ -711,8 +697,8 @@ struct JetHadronRecoil {
711697 soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets, aod::ChargedMCDetectorLevelJetEventWeights>> const & mcdjets,
712698 soa::Filtered<soa::Join<aod::Charged1MCDetectorLevelJets, aod::Charged1MCDetectorLevelJetConstituents>> const & mcdjetsWTA,
713699 soa::Filtered<soa::Join<aod::Charged1MCParticleLevelJets, aod::Charged1MCParticleLevelJetConstituents>> const & mcpjetsWTA,
714- aod::JetTracks const & tracks,
715- aod::JetParticles const &,
700+ soa::Filtered< aod::JetTracks> const & tracks,
701+ soa::Filtered< aod::JetParticles> const &,
716702 aod::JetMcCollisions const &,
717703 soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets, aod::ChargedMCParticleLevelJetEventWeights>> const & mcpjets)
718704 {
0 commit comments