Skip to content
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

Bin lookup in the JetCorrectorParameters class #17812

Merged
merged 15 commits into from Mar 22, 2017

Commits on Feb 15, 2017

  1. The function in JetCorrectorParameters used to find the bin in mRecor…

    …ds which holds the correct parameters was using a linear search through all of the possible bins. Not only that, but inside of that loop was an additional loop through all of the binned variables. This is a O(N^2) process. For one binned dimension this is fine and maybe even acceptable for two dimensions, but the slowdown was huge for three dimensions of binned variables. There is now a new way of searching for the right mRecords bin when there are three binned dimensions. This is a O(ln(n_d1)+ln(n_d2)+ln(n_d3)+2) process where n_di is the number of bins in each dimension. Dimensions d<3 must have overlapping bin boundaries (although they don't need the same exact number of bins). The last dimension (3) can have bin boundaries which aren't sharred among the (d1,d2) bins. In addition to this change there was a bug fix to how the code reads the upper and lower bounds of the binned dimensions.
    Alexx Perloff committed Feb 15, 2017
    Configuration menu
    Copy the full SHA
    e9bbc1a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ef64cb1 View commit details
    Browse the repository at this point in the history
  3. Move the hashing functions to the Utilities file. Clean up the code a…

    …nd remove extraneous comments.
    Alexx Perloff committed Feb 15, 2017
    Configuration menu
    Copy the full SHA
    db531d0 View commit details
    Browse the repository at this point in the history
  4. Working copy with N=1-3 fast lookup algorithms.

    Alexx Perloff committed Feb 15, 2017
    Configuration menu
    Copy the full SHA
    c13ff52 View commit details
    Browse the repository at this point in the history
  5. Combine all of the binIndex functions into a single binIndexN member …

    …function. Create a new helper class called JetCorrectorParametersHelper and put most of the new code in there. This version of the code will not compile due to a serialization error.
    Alexx Perloff committed Feb 15, 2017
    Configuration menu
    Copy the full SHA
    db9017c View commit details
    Browse the repository at this point in the history
  6. no need to serialize helper class

    kpedro88 authored and Alexx Perloff committed Feb 15, 2017
    Configuration menu
    Copy the full SHA
    cc49001 View commit details
    Browse the repository at this point in the history
  7. fix UnboundLocalError

    kpedro88 authored and Alexx Perloff committed Feb 15, 2017
    Configuration menu
    Copy the full SHA
    2fa44ef View commit details
    Browse the repository at this point in the history
  8. add more kinds to skip in serialization

    kpedro88 authored and Alexx Perloff committed Feb 15, 2017
    Configuration menu
    Copy the full SHA
    920d17d View commit details
    Browse the repository at this point in the history
  9. Remove explicit transient marker from JetCorrectorParametersHelper an…

    …d remove an extraneous std::endl.
    Alexx Perloff committed Feb 15, 2017
    Configuration menu
    Copy the full SHA
    1b29764 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b0ff683 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2017

  1. Move the JetCorrectorParametersHelper class out from inside the JetCo…

    …rrectorParameters class. Also untemplate the JetCorrectorParametersHelper class and set a maximum number of binned variables to 3.
    Alexx Perloff committed Feb 23, 2017
    Configuration menu
    Copy the full SHA
    5457951 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2017

  1. Configuration menu
    Copy the full SHA
    c7427a4 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2017

  1. Minor update to protect against an edge case.

    Alexx Perloff committed Mar 8, 2017
    Configuration menu
    Copy the full SHA
    233d5ea View commit details
    Browse the repository at this point in the history
  2. Since the ioread statements are no longer used for conditions objects…

    … we added a REGISTER_PLUGIN_INIT command and the associated functions.
    Alexx Perloff committed Mar 8, 2017
    Configuration menu
    Copy the full SHA
    3802708 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2017

  1. There is a problem if the JetCorrectorParameters::Records stored in t…

    …he database are unsorted, or sorted incorrectly, and the new algorithm is used. If the JetCorrectorParameters are taken from the database the constructor is not called and this was the only place that sorted the Records. A new sort line was added to the init function in this case to make the class backwards compatible. In the worst case scenario a second sort is called on an already sorted collection, but this is a small overhead. We think that the old algorithm was robust to this improper sorting which was fixed early on in this update, but we aren't sure. Thus we left the sort in the constructor as well because the init function is not called when using the old algorithm.
    Alexx Perloff committed Mar 9, 2017
    Configuration menu
    Copy the full SHA
    2fa7b08 View commit details
    Browse the repository at this point in the history