-
Notifications
You must be signed in to change notification settings - Fork 1
feat: introduce plotting of particle-level kinematic parameters and make plotting with KinemDistribution configurable #137
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
Conversation
…cle-level-kinpars
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 is your first PR, thank you for contributing to MaCh3!
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.
Several minor comments but overall looking good
…cle-level-kinpars
…and clear the vector of plotting structs before fitting
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.
Thanks
Pull request description:
Tutorial now supports plotting histograms of particle-level kinematic parameters, and KinemDistribution plots are configurable
Changes or fixes:
Particle-level parameters can be plotted with Get1DVarHist and Get2DVarHist on the similarly named branch of MaCh3 core. These functions check if the plotting variable is from the map "KinematicParameters" (ie. an event-level variable) or from "KinematicVectors" (ie. a subevent-level variable) and then either fill for every event or every particle accordingly. For such plots, one can also introduce kinematic cuts on particle-level variables. This is now implemented in Tutorial in KinemDistribution. Use the yaml file to define which plots to make and which cuts.
Examples:
Some plots made in MaCh3Tutorial are shown below (note that the tutorial samples have no particle-level info so I have generated fake values for particle-level parameters in each event.
Original plots are unaffected:
1D hist, event level parameter:
1D hist, subevent-level parameter with subevent-level cut (particle pdg):
1D hist, subevent-level parameter with both subevent and event level cuts (particle pdg and true enu):
2D hist, subevent vs subevent level parameter:
2D hist, subevent vs event level parameter with both subevent and event level cuts (particle pdg and true enu):