Skip to content

[PWGJE] Add new D0 substructure task#15311

Open
pdhankhe wants to merge 6 commits intoAliceO2Group:masterfrom
pdhankhe:master
Open

[PWGJE] Add new D0 substructure task#15311
pdhankhe wants to merge 6 commits intoAliceO2Group:masterfrom
pdhankhe:master

Conversation

@pdhankhe
Copy link

@pdhankhe pdhankhe commented Mar 9, 2026

Adding a new D0 substructure task.

@github-actions github-actions bot added the pwgje label Mar 9, 2026
@github-actions github-actions bot changed the title Add new D0 substructure task [PWGJE] Add new D0 substructure task Mar 9, 2026
Please consider the following formatting changes to AliceO2Group#15311
angularity /= (jet.pt() * (jet.r() / 100.f));
}
// Collision-level and for Tracks QA
void processCollisions(aod::JetCollision const& collision, aod::JetTracks const& tracks)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do you do these in a seperate process function?

Copy link
Author

@pdhankhe pdhankhe Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had some QA functions but now I have removed them.

SOURCES jetDsSpectrumAndSubstructure.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::PWGJECore O2Physics::AnalysisCore
COMPONENT_NAME Analysis)
o2physics_add_dpl_workflow(jet-d0-substructure
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the name is quite similair to the other D0 substructure task so please consider something different

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have now renamed to avoid any confusions.

}
angularity += std::pow(constituent.pt(), kappa) * std::pow(jetutilities::deltaR(jet, constituent), alpha);
}
angularity /= (jet.pt() * (jet.r() / 100.f));
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you havent included kappa and alpha in the denominator

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching this. I was only running with k = 1 and B = 1, so it didn’t matter in that case. I’ve now fixed it so that the other angularities are computed correctly.

}
PROCESS_SWITCH(JetD0Substructure, processDataCharged, "charged jets in data", false);

void processDataChargedSubstructure(aod::JetCollision const& collision,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you not here also want to apply the JetFilter and EventFilter like you do for processDataCharged with soa::Filtered?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed other functions and currently I will prefer to use the version I have in processDataChargedSubstructure.

jet.pt(), jet.eta(), jet.phi(), jet.tracks_as<aod::JetTracks>().size(), angularity,
d0Candidate.pt(), d0Candidate.eta(), d0Candidate.phi(), d0Candidate.m(), d0Candidate.y(), d0Candidate.mlScores()[0], d0Candidate.mlScores()[1], d0Candidate.mlScores()[2]);

break; // get out of candidates' loop after first HF particle is found in jet
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not an HF-jet expert, but is it desired that one breaks after the first candidate that one finds as part of the jet? Are the d0Candidates somehow or is the order random?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there should ever only be one in the current code anyways

{"h_d0_jet_eta", ";#eta_{T,D^{0} jet};dN/d#eta_{D^{0} jet}", {HistType::kTH1F, {{250, -5., 5.}}}},
{"h_d0_jet_phi", ";#phi_{T,D^{0} jet};dN/d#phi_{D^{0} jet}", {HistType::kTH1F, {{250, -10., 10.}}}},
{"h_d0_mass", ";m_{D^{0}} (GeV/c^{2});dN/dm_{D^{0}}", {HistType::kTH1F, {{1000, 0., 10.}}}},
{"h_d0_eta", ";#eta_{D^{0}} (GeV/c^{2});dN/d#eta_{D_{}}", {HistType::kTH1F, {{250, -5., 5.}}}},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eta is not unit GeV/c^2

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

{"h_d0_jet_phi", ";#phi_{T,D^{0} jet};dN/d#phi_{D^{0} jet}", {HistType::kTH1F, {{250, -10., 10.}}}},
{"h_d0_mass", ";m_{D^{0}} (GeV/c^{2});dN/dm_{D^{0}}", {HistType::kTH1F, {{1000, 0., 10.}}}},
{"h_d0_eta", ";#eta_{D^{0}} (GeV/c^{2});dN/d#eta_{D_{}}", {HistType::kTH1F, {{250, -5., 5.}}}},
{"h_d0_phi", ";#phi_{D^{0}} (GeV/c^{2});dN/d#phi_{D^{0}}", {HistType::kTH1F, {{250, -10., 10.}}}},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same comment as above

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Produces<aod::JetObjTable> ObjJetTable;

float angularity;
float leadingConstituentPt;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused variable (calculated but never used)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m using angularity and ObjJetTable in the processDataChargedSubstructure function, but I removed leadingConstituentPt which wasn’t used.

@nzardosh nzardosh marked this pull request as draft March 10, 2026 12:53
Please consider the following formatting changes to AliceO2Group#15311
@pdhankhe pdhankhe marked this pull request as ready for review March 10, 2026 15:59
@pdhankhe pdhankhe marked this pull request as draft March 10, 2026 16:03
@pdhankhe pdhankhe marked this pull request as ready for review March 10, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

4 participants