Git Product home page Git Product logo

oxsx's People

Contributors

arushanova avatar billyliggins avatar estherturner avatar jackdunger avatar terezakroupa avatar

Watchers

 avatar  avatar  avatar

oxsx's Issues

Conditional Parameter PDF

Maybe a bit of overkill but I just want to put things in one place.

The plan is to write a VaryingParameterPDF (VpPDF) class that allows a convolution's underlying function to depend on the parameters it convolving about.

The idea is that you should make the VpPDF, set a kernel and then tell the VpPDF how each parameter varies given the bin centres of those bins:
VpPDF smear;
smear.SetKernal(&gaus);
smear.Depend("parameterName", function);

Inheritance:
CDF->VpPdf

Contains :
integral(x_l,x_h,x_c);
std::mapstd::string,Function* dict;<- This is a dictionary of parameterNames to parameter functions (sigma= a sqrt(E) + b)
ParameterDict parameters;
CDF* pdf;

Allow for correlated Gaussians

Currently, an ND Gaussian assumes that its arguments are uncorrelated so that the probability is equal to the product of the individual Gaussians. This should be extended to the correlated case:

  • The Gaussian can be initialized using the correlation matrix, from which it could infer the dimensionality
  • The exponent should then be calculated using matrix multiplication

Cleaning the include folder in full

While adapting to the new naming conventions, i spent some time finding an error that was ultimately caused by old files from a previous build being in the include folder.

When running "scon -c" only target files are removed. Looking at the documentation there exist ways of deleting files not in the target list :
http://scons.org/doc/production/HTML/scons-user.html#idm139837640441408

However its not immediately obvious, to me anyway, where this "Clean" function should go.

Add a licence

This should be open source, with no licence others currently cannot use this software

Output Handles for MCMC

Currently the MetropolisHastings method keeps track of the samples using histograms/vectors. What you want here really depends on the use case, and the number of samples. This should be separeed

There should be an output data handle interface and then various implementations that the user can choose from: e.g. simple csv, root tree, one big histogram, histograms keeping track of the projections etc.

It might be best to also have a factory class that works behind the scenes so that the user interface can be just choosing a string.

Link to external optimisation libraries

Rather than only relying on people adding optimisation algorithms, we should interface to other numerical libraries for optimisation along with compile options

Make ROOT optional

Looking ahead to easy running on batch systems, code depending on ROOT should be controlled with a compile flag that can be on or off by default.

DataSetGenerator document

DSGen should produce an accompanying document with the truth content of each data set which can be saved in a single line.

Better: option to add the origin of each event to the data set itself

Add compatibility for `TTree`

Already supports TNtuple but uses no features that can't be used for TTree or TChain.
This would allow reading the production data directly - though you'd probably want to prune it anyway

Add a namespace

Names like PDF, Cut etc. need protection to avoid clashes with other libraries. We should put all the classes inside a library wide namespace

Simplify Linking

Rather than an auto generated compile script, users should be able to install a config script that provides the appropriate headers, libraries etc. for easy inclusion in makefiles or in the command line a la root-config

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.