-
Notifications
You must be signed in to change notification settings - Fork 615
[PWGJE] Add missing event selection to processReco in jetShape task #14280
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
O2 linter results: ❌ 0 errors, |
PWGJE/Tasks/jetShape.cxx
Outdated
|
|
||
| float centrality = collision.centFT0M(); | ||
| float rho = collision.rho(); | ||
| // float rho = collision.rho(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is rho subtraction removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the comment. This quantity is obtained for the detector efficiency correction. I had removed it once, assuming it was not necessary, but after reviewing it again, I realized that it is indeed needed, so I restored it. Thank you for pointing this out.
PWGJE/Tasks/jetShape.cxx
Outdated
| void processInclusiveProductionRatio(soa::Filtered<soa::Join<aod::Collisions, aod::CentFT0Ms>>::iterator const& collision, soa::Join<aod::Tracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta, aod::pidTOFmass> const& tracks) | ||
| void processInclusiveProductionRatio(soa::Filtered<soa::Join<aod::Collisions, aod::CentFT0Ms, aod::EvSels>>::iterator const& collision, soa::Join<aod::Tracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta, aod::pidTOFmass, o2::aod::TrackSelection> const& tracks) | ||
| { | ||
| if (!collision.sel8()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is sel8 hardcoded? I assume this should also use ?
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits))There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the aod::Collisions table that was being used, it was not possible to implement this in the same way as in the other processes, which is why it was written in that manner.
In the latest commit, I changed the table to aod::JetCollisions and switched to the approach using jetderiveddatautilities~.
PWGJE/Tasks/jetShape.cxx
Outdated
| registry.fill(HIST("trackEta"), track.eta()); | ||
| registry.fill(HIST("trackPhi"), track.phi()); | ||
|
|
||
| if (!track.isGlobalTrack()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this hardcoded rather than using je track selection like for the other process functions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the aod::track table that was being used, it was not possible to implement this in the same way as in the other processes, which is why it was written in that manner.
In the latest commit, I changed the table to aod::JetTrack and updated the implementation to follow the same approach.
(The same applies to the next comment as well.)
PWGJE/Tasks/jetShape.cxx
Outdated
|
|
||
| for (const auto& track : tracks) { | ||
|
|
||
| if (!track.isGlobalTrack()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should probably not be hard coded
| for (const auto& jet : jets) { | ||
| registry.fill(HIST("jetPt"), jet.pt()); | ||
|
|
||
| float mcdPtCorr = jet.pt() - rho * jet.area(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same comment as above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Related to the first comment, I have restored this.
|
@nzardosh |
| "production ratio around jets", false); | ||
|
|
||
| void processInclusiveProductionRatio(soa::Filtered<soa::Join<aod::Collisions, aod::CentFT0Ms>>::iterator const& collision, soa::Join<aod::Tracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta, aod::pidTOFmass> const& tracks) | ||
| void processInclusiveProductionRatio(soa::Filtered<aod::JetCollisions>::iterator const& collision, soa::Join<aod::JetTracks, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta, aod::pidTOFmass, o2::aod::TrackSelection> const& tracks) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Yuto. It is not clear why all these table subscriptions are needed? For example why do you need TracksExtra, tracksDCA and TrackSelection?
Also please seperate JetTracks and the pidTables into seperate calls and get the pid from track.tracks_as<>(). For this you will need to join JTrackPIs to JetTracks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dear Nima,
Thank you for the feedback.
The trackExtra and trackDCA are necessary to access track.dcaXY and track.tpcSignal for applying additional track cuts and QA.
As for the trackSelection table, keeping it was an oversight in the previous change.
I will proceed with separating the jetTracks and pid tables.
| PROCESS_SWITCH(JetShapeTask, processReco, "process reconstructed simulation information", true); | ||
|
|
||
| void processSim(soa::Join<aod::McCollisions, aod::McCentFT0Ms>::iterator const& mcCollision, aod::ChargedMCParticleLevelJets const& mcpjets, aod::McParticles const& mcParticles) | ||
| void processSim(soa::Join<aod::McCollisions, aod::McCentFT0Ms>::iterator const& mcCollision, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why are these not using the JE framework?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This appears as a change due to a line break, but I am simply using mcpjet here.
Added missing event and track selections to the recently introduced process.