@@ -26,12 +26,14 @@ using namespace o2;
2626using namespace o2 ::framework;
2727using namespace o2 ::framework::expressions;
2828
29- struct JetMatchingHFQA {
29+ struct JetMatchingQA {
3030 using DetectorLevelJets = soa::Join<aod::D0ChargedMCDetectorLevelJets, aod::D0ChargedMCDetectorLevelJetConstituents, aod::D0ChargedMCDetectorLevelJetsMatchedToD0ChargedMCParticleLevelJets>;
3131 using ParticleLevelJets = soa::Join<aod::D0ChargedMCParticleLevelJets, aod::D0ChargedMCParticleLevelJetConstituents, aod::D0ChargedMCParticleLevelJetsMatchedToD0ChargedMCDetectorLevelJets>;
3232
3333 OutputObj<TH2F> hJetPt{" h_jet_pt" };
3434 OutputObj<TH2F> hJetDetaDphi{" h_jet_deta_dphi" };
35+ OutputObj<TH2F> hJetGeoPt{" h_jet_geo_pt" };
36+ OutputObj<TH2F> hJetGeoDetaDphi{" h_jet_geo_deta_dphi" };
3537 OutputObj<TH1F> hJetDetPt{" h_jet_det_pt" };
3638 OutputObj<TH1F> hJetGenPt{" h_jet_gen_pt" };
3739 OutputObj<TH1F> hJetDetPhi{" h_jet_det_phi" };
@@ -45,10 +47,14 @@ struct JetMatchingHFQA {
4547 {
4648 hJetPt.setObject (new TH2F (" h_jet_pt" , " HF-matched jets;jet p_{T}^{gen} (GeV/#it{c});jet p_{T}^{det} (GeV/#it{c})" ,
4749 100 , 0 ., 100 ., 100 , 0 ., 100 .));
48- hJetDetaDphi.setObject (new TH2F (" h_jet_deta_dphi" , " HF -matched jets;jet #Delta#phi;#Delta#eta" ,
50+ hJetDetaDphi.setObject (new TH2F (" h_jet_deta_dphi" , " HFg -matched jets;jet #Delta#phi;#Delta#eta" ,
4951 100 , -2 . * TMath::Pi (), 2 . * TMath::Pi (), 100 , -2 ., 2 .));
50- hJetDetPt.setObject (new TH1F (" h_jet_det_pt" , " HF-matched jets;jet p_{T}^{det} (GeV/#it{c})" , 100 , 0 ., 100 .));
51- hJetGenPt.setObject (new TH1F (" h_jet_gen_pt" , " HF-matched jets;jet p_{T}^{gen} (GeV/#it{c})" , 100 , 0 ., 100 .));
52+ hJetGeoPt.setObject (new TH2F (" h_jet_geo_pt" , " geo-matched jets;jet p_{T}^{gen} (GeV/#it{c});jet p_{T}^{det} (GeV/#it{c})" ,
53+ 100 , 0 ., 100 ., 100 , 0 ., 100 .));
54+ hJetGeoDetaDphi.setObject (new TH2F (" h_jet_geo_deta_dphi" , " geo-matched jets;jet #Delta#phi;#Delta#eta" ,
55+ 100 , -2 . * TMath::Pi (), 2 . * TMath::Pi (), 100 , -2 ., 2 .));
56+ hJetDetPt.setObject (new TH1F (" h_jet_det_pt" , " detector level jets;jet p_{T}^{det} (GeV/#it{c})" , 100 , 0 ., 100 .));
57+ hJetGenPt.setObject (new TH1F (" h_jet_gen_pt" , " particle level jets;jet p_{T}^{gen} (GeV/#it{c})" , 100 , 0 ., 100 .));
5258 hJetDetPhi.setObject (new TH1F (" h_jet_det_phi" , " jet #phi; #phi" , 140 , -7.0 , 7.0 ));
5359 hJetGenPhi.setObject (new TH1F (" h_jet_gen_phi" , " jet #phi; #phi" , 140 , -7.0 , 7.0 ));
5460 hJetDetEta.setObject (new TH1F (" h_jet_det_eta" , " jet #eta; #eta" , 30 , -1.5 , 1.5 ));
@@ -73,6 +79,14 @@ struct JetMatchingHFQA {
7379 const auto dphi = -TMath::Pi () + fmod (2 * TMath::Pi () + fmod (djet.phi () - pjet.phi () + TMath::Pi (), 2 * TMath::Pi ()), 2 * TMath::Pi ());
7480 hJetDetaDphi->Fill (dphi, djet.eta () - pjet.eta ());
7581 }
82+
83+ if (djet.has_matchedJetGeo ()) {
84+ const auto & pjet = djet.matchedJetGeo_as <ParticleLevelJets>();
85+ LOGF (info, " djet %d (pt of %g GeV/c) is geo-matched to %d (pt of %g GeV/c)" ,
86+ djet.globalIndex (), djet.pt (), djet.matchedJetGeoId (), pjet.pt ());
87+ const auto dphi = -TMath::Pi () + fmod (2 * TMath::Pi () + fmod (djet.phi () - pjet.phi () + TMath::Pi (), 2 * TMath::Pi ()), 2 * TMath::Pi ());
88+ hJetGeoDetaDphi->Fill (dphi, djet.eta () - pjet.eta ());
89+ }
7690 }
7791 }
7892
@@ -90,13 +104,19 @@ struct JetMatchingHFQA {
90104 hJetGenEta->Fill (pjet.eta ());
91105 hJetGenNTracks->Fill (pjet.tracksIds ().size () + 1 ); // adding HF candidate
92106 }
107+
108+ if (pjet.has_matchedJetGeo ()) {
109+ const auto & djet = pjet.matchedJetGeo_as <DetectorLevelJets>();
110+ LOGF (info, " pjet %d (pt of %g GeV/c) is geo-matched to %d (pt of %g GeV/c)" ,
111+ pjet.globalIndex (), pjet.pt (), pjet.matchedJetGeoId (), djet.pt ());
112+ }
93113 }
94114 }
95- PROCESS_SWITCH (JetMatchingHFQA , processMCP, " QA on generator-level jets" , true );
115+ PROCESS_SWITCH (JetMatchingQA , processMCP, " QA on generator-level jets" , true );
96116};
97117
98118WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
99119{
100120 return WorkflowSpec{
101- adaptAnalysisTask<JetMatchingHFQA >(cfgc, TaskName{" jet-matching-hf -qa" })};
121+ adaptAnalysisTask<JetMatchingQA >(cfgc, TaskName{" jet-matching-qa" })};
102122}
0 commit comments