-
Notifications
You must be signed in to change notification settings - Fork 8
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
Introduce general statistics and plotting classes + Addressing comments on the u/v seeding #43
Conversation
b6e4b72
to
2500e07
Compare
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 for all the work you put into this! Besides my one question in cluster.py
, this should all be fine for me. Would you also mind putting an example of how we can use the new plotting class in the PR? I.e., a command to run and its output, for example.
@isehle See |
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 really looks great! I did fetch your branch to clarify some critical points - especially in the validation - by running the code in local.
The display code in written using bokeh
seems at least to me much more convoluted that the same code in other libraries. Anyway I tested and it works.
@mchiusi I am not enforcing any library, you can use the one you prefer. I would just like that all the code right before plotting is the same for all of us. We can easily add some bokeh/plotly choice later on, as we are already doing in the geometry output. |
I am keeping the three commits for clarity, since they are completely independent. |
This PR addresses all comments made to my first presentation on the new seeding on (U,V) coordinates, namely:
Additionally, the PR includes a new
Collector
andChainPlotter
classes which will hopefully represent the first step towards unifying the efficiency/resolution statistics collection and plots which are common to all our efforts. If possible, I would very much like most plotting being done through these classes, which would slowly evolve depending on the need of everybody. For instance, I would be happy to add other libraries (besidesbokeh
). The rationale is to avoid duplicating code when we all do similar plots, such as efficiencies, binned distributions, ...A new "meta" chain script was added to run individual chains and plots results of multiple chains together, for instance:
Finally, I've added the number of events as an additional command line argument; this ensures all intermediate files stored are different for different number of input events, which is both convenient and safe (no confusion can arise in case one decides to run only part of the chain for a specific study).
As an example, the meta chain can be run as follows:
Many flags are there for fine-grained running. As an example, to do the data collection and plotting steps a second time without reprocessing the same data: