Skip to content

Commit 1167126

Browse files
Lolle2001Copilot
andcommitted
Added candidate momentum projection onto jet momentum to tables.
Co-authored-by: Copilot <copilot@github.com>
1 parent 9750d4d commit 1167126

1 file changed

Lines changed: 52 additions & 5 deletions

File tree

PWGJE/Tasks/jetD0AngSubstructure.cxx

Lines changed: 52 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,16 @@ namespace o2::aod
5858
/*
5959
// Jet-related quantities
6060
*/
61+
6162
DECLARE_SOA_COLUMN(ExpJetHfDist, expJetHfDist, float);
6263
DECLARE_SOA_COLUMN(ExpJetPt, expJetPt, float);
6364
DECLARE_SOA_COLUMN(ExpJetEta, expJetEta, float);
6465
DECLARE_SOA_COLUMN(ExpJetPhi, expJetPhi, float);
6566
DECLARE_SOA_COLUMN(ExpJetNConst, expJetNConst, int);
6667
DECLARE_SOA_COLUMN(ExpJetAng, expJetAng, float);
6768
// D0 candidate quantities
69+
DECLARE_SOA_COLUMN(ExpHfZParallel, expHfZParallel, float);
70+
6871
DECLARE_SOA_COLUMN(ExpHfPt, expHfPt, float);
6972
DECLARE_SOA_COLUMN(ExpHfEta, expHfEta, float);
7073
DECLARE_SOA_COLUMN(ExpHfPhi, expHfPhi, float);
@@ -86,6 +89,8 @@ DECLARE_SOA_COLUMN(McpJetPhi, mcpJetPhi, float);
8689
DECLARE_SOA_COLUMN(McpJetNConst, mcpJetNConst, float);
8790
DECLARE_SOA_COLUMN(McpJetAng, mcpJetAng, float);
8891
// D0 candidates (Heavy Flavour)
92+
DECLARE_SOA_COLUMN(McpHfZParallel, mcpHfZParallel, float);
93+
8994
DECLARE_SOA_COLUMN(McpHfPt, mcpHfPt, float);
9095
DECLARE_SOA_COLUMN(McpHfEta, mcpHfEta, float);
9196
DECLARE_SOA_COLUMN(McpHfPhi, mcpHfPhi, float);
@@ -105,6 +110,8 @@ DECLARE_SOA_COLUMN(McdJetPhi, mcdJetPhi, float);
105110
DECLARE_SOA_COLUMN(McdJetNConst, mcdJetNConst, float);
106111
DECLARE_SOA_COLUMN(McdJetAng, mcdJetAng, float);
107112
// D0 candidates (Heavy Flavour)
113+
DECLARE_SOA_COLUMN(McdHfZParallel, mcdHfZParallel, float);
114+
108115
DECLARE_SOA_COLUMN(McdHfPt, mcdHfPt, float);
109116
DECLARE_SOA_COLUMN(McdHfEta, mcdHfEta, float);
110117
DECLARE_SOA_COLUMN(McdHfPhi, mcdHfPhi, float);
@@ -130,6 +137,7 @@ DECLARE_SOA_TABLE(EXPJetObjTable, "AOD", "EXPJETOBJTABLE",
130137
ExpJetPhi,
131138
ExpJetNConst,
132139
ExpJetAng,
140+
ExpHfZParallel,
133141
ExpHfPt,
134142
ExpHfEta,
135143
ExpHfPhi,
@@ -145,6 +153,7 @@ DECLARE_SOA_TABLE(MCPJetObjTable, "AOD", "MCPJETOBJTABLE",
145153
McpJetPhi,
146154
McpJetNConst,
147155
McpJetAng,
156+
McpHfZParallel,
148157
McpHfPt,
149158
McpHfEta,
150159
McpHfPhi,
@@ -158,6 +167,7 @@ DECLARE_SOA_TABLE(MCDJetObjTable, "AOD", "MCDJETOBJTABLE",
158167
McdJetPhi,
159168
McdJetNConst,
160169
McdJetAng,
170+
McdHfZParallel,
161171
McdHfPt,
162172
McdHfEta,
163173
McdHfPhi,
@@ -177,6 +187,7 @@ DECLARE_SOA_TABLE(MatchJetDistanceTable, "AOD", "MATCHTABLE",
177187
McpJetPhi,
178188
McpJetNConst,
179189
McpJetAng,
190+
McpHfZParallel,
180191
McpHfPt,
181192
McpHfEta,
182193
McpHfPhi,
@@ -188,6 +199,7 @@ DECLARE_SOA_TABLE(MatchJetDistanceTable, "AOD", "MATCHTABLE",
188199
McdJetPhi,
189200
McdJetNConst,
190201
McdJetAng,
202+
McdHfZParallel,
191203
McdHfPt,
192204
McdHfEta,
193205
McdHfPhi,
@@ -500,11 +512,21 @@ struct JetD0AngSubstructure {
500512
registry.fill(HIST(histnames::ex_hfl_phi), d0Candidate.phi()); // add more axis
501513

502514
// filling table
503-
objJetTable(axisDistance, jet.pt(), jet.eta(), jet.phi(),
504-
jet.template tracks_as<aod::JetTracks>().size(), angularity,
505-
d0Candidate.pt(), d0Candidate.eta(), d0Candidate.phi(),
506-
d0Candidate.m(), d0Candidate.y(), d0Candidate.mlScores()[0],
507-
d0Candidate.mlScores()[1], d0Candidate.mlScores()[2]);
515+
objJetTable(axisDistance,
516+
jet.pt(),
517+
jet.eta(),
518+
jet.phi(),
519+
jet.template tracks_as<aod::JetTracks>().size(),
520+
angularity,
521+
zParallel,
522+
d0Candidate.pt(),
523+
d0Candidate.eta(),
524+
d0Candidate.phi(),
525+
d0Candidate.m(),
526+
d0Candidate.y(),
527+
d0Candidate.mlScores()[0],
528+
d0Candidate.mlScores()[1],
529+
d0Candidate.mlScores()[2]);
508530

509531
break; // get out of candidates' loop after first HF particle is found
510532
// in jet
@@ -585,6 +607,11 @@ struct JetD0AngSubstructure {
585607
selectedAs = -1;
586608
}
587609

610+
TVector3 mcdjetvector(mcdjet.px(), mcdjet.py(), mcdjet.pz());
611+
TVector3 mcdcandvector(mcdd0cand.px(), mcdd0cand.py(), mcdd0cand.pz());
612+
613+
float mcdzparallel = (mcdjetvector * mcdcandvector) / (mcdjetvector * mcdjetvector);
614+
588615
float angularity = jetCalculateAngularityMCD(mcdjet, tracks);
589616
registry.fill(HIST(histnames::mc_eff_det_jet_pt), mcdjet.pt());
590617
registry.fill(HIST(histnames::mc_eff_det_jet_eta), mcdjet.eta());
@@ -603,6 +630,7 @@ struct JetD0AngSubstructure {
603630
mcdjet.phi(),
604631
mcdjet.template tracks_as<aod::JetTracks>().size(), // detector level jet
605632
angularity,
633+
mcdzparallel,
606634
mcdd0cand.pt(),
607635
mcdd0cand.eta(), mcdd0cand.phi(),
608636
mcdd0cand.m(), mcdd0cand.y(),
@@ -630,6 +658,11 @@ struct JetD0AngSubstructure {
630658
if (mcpjet.has_matchedJetCand()) {
631659
registry.fill(HIST(histnames::mc_eff_jet), getValFromBin(BIN_MC_JETCNTR::ParticleLevelJetWithMatchedCandidate));
632660
}
661+
TVector3 mcpjetvector(mcpjet.px(), mcpjet.py(), mcpjet.pz());
662+
TVector3 mcpcandvector(mcpd0cand.px(), mcpd0cand.py(), mcpd0cand.pz());
663+
664+
float mcpzparallel = (mcpjetvector * mcpcandvector) / (mcpjetvector * mcpjetvector);
665+
633666
float angularity = jetCalculateAngularityMCP(mcpjet, particles);
634667

635668
registry.fill(HIST(histnames::mc_eff_par_jet_pt), mcpjet.pt());
@@ -649,6 +682,7 @@ struct JetD0AngSubstructure {
649682
mcpjet.phi(),
650683
mcpjet.template tracks_as<aod::JetParticles>().size(), // particle level jet
651684
angularity,
685+
mcpzparallel,
652686
mcpd0cand.pt(),
653687
mcpd0cand.eta(),
654688
mcpd0cand.phi(),
@@ -693,6 +727,10 @@ struct JetD0AngSubstructure {
693727
// obtain leading HF particle in jet
694728
auto mcpcand = mcpjet.template candidates_first_as<CandidatesMCP>();
695729

730+
TVector3 mcpjetvector(mcpjet.px(), mcpjet.py(), mcpjet.pz());
731+
TVector3 mcpcandvector(mcpcand.px(), mcpcand.py(), mcpcand.pz());
732+
float mcpzparallel = (mcpjetvector * mcpcandvector) / (mcpjetvector * mcpjetvector);
733+
696734
if (mcpjet.has_matchedJetCand()) {
697735
registry.fill(HIST(histnames::mc_jet), getValFromBin(BIN_MC_JETCNTR::ParticleLevelJetWithMatchedCandidate));
698736

@@ -736,6 +774,11 @@ struct JetD0AngSubstructure {
736774
selectedAs = -1;
737775
}
738776

777+
TVector3 mcdjetvector(mcdjet.px(), mcdjet.py(), mcdjet.pz());
778+
TVector3 mcdcandvector(mcdcand.px(), mcdcand.py(), mcdcand.pz());
779+
780+
float mcdzparallel = (mcdjetvector * mcdcandvector) / (mcdjetvector * mcdjetvector);
781+
739782
float mcpAngularity = jetCalculateAngularityMCP(mcpjet, jetparticles);
740783
float mcdAngularity = jetCalculateAngularityMCD(mcdjet, jettracks);
741784

@@ -769,6 +812,7 @@ struct JetD0AngSubstructure {
769812
mcpjet.phi(),
770813
mcpjet.template tracks_as<aod::JetParticles>().size(), // particle level jet
771814
mcpAngularity,
815+
mcpzparallel,
772816
mcpcand.pt(),
773817
mcpcand.eta(),
774818
mcpcand.phi(),
@@ -780,6 +824,7 @@ struct JetD0AngSubstructure {
780824
mcdjet.phi(),
781825
mcdjet.template tracks_as<aod::JetTracks>().size(), // detector level jet
782826
mcdAngularity,
827+
mcdzparallel,
783828
mcdcand.pt(),
784829
mcdcand.eta(),
785830
mcdcand.phi(),
@@ -803,6 +848,7 @@ struct JetD0AngSubstructure {
803848
mcpjet.phi(),
804849
mcpjet.template tracks_as<aod::JetParticles>().size(), // particle level jet
805850
mcpAngularity,
851+
mcpzparallel,
806852
mcpcand.pt(),
807853
mcpcand.eta(),
808854
mcpcand.phi(),
@@ -812,6 +858,7 @@ struct JetD0AngSubstructure {
812858
-2,
813859
-2,
814860
-2,
861+
-2,
815862
-2, // detector level jet
816863
-2,
817864
-2,

0 commit comments

Comments
 (0)