-
Notifications
You must be signed in to change notification settings - Fork 41
WIP: New indexing #125
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
WIP: New indexing #125
Conversation
@galapaegos can I merge the latest changes in master in? |
@henryiii, Into this branch? That sounds good. I'm attempting to write up a HOWTO for creating PDFs with the new format. |
21db9ae
to
bd4928d
Compare
I've fixed a few things, and updated the style. So far, at least locally, I see the following issues:
|
Fixed a problem due wrong expected integral of exppdf in master (un-copied parameters). This is better, since it doesn't rely on the user to copy parameters. But still have several more failing tests in NormalizeTest; that was checked against numpy/scipy and the code for that is in the test. |
Codecov Report
@@ Coverage Diff @@
## master #125 +/- ##
=========================================
Coverage ? 77.24%
=========================================
Files ? 76
Lines ? 2505
Branches ? 0
=========================================
Hits ? 1935
Misses ? 570
Partials ? 0
Continue to review full report at Codecov.
|
Congratulations! I'll check it over and merge soon. |
@henryiii Thanks! I am working to fix DP4/SigGen/Tddp4 next. |
I've sped up and cleaned up Travis, now only builds on PRs instead of branch + PR. Let me know when you are ready to merge. I'll sync the current 2.1 branch to master, then we can backport any critical fixes to that branch if needed. (CCache should automatically activate for standard make builds if it is available, too) |
816ba49
to
b897209
Compare
Initial commit for indices. Data structure, applied to gauss/add/prod/polynomial. Fixed changes with normalisation 'off by 1' indexing issues. Fixed some issues with indexing. Rebase changes Rebase changes(2) Fixed changes with normalisation 'off by 1' indexing issues. Fixed some issues with indexing. Updates Variables from Minuit to internal structures correctly. Changed constants to fptype. Fixed indexing offsets and ordering constants now fptype. removed copyParams from getCompProbsAtDataPoints Corrected Indexing for events. Converted Exponential indexing. Fixed indexing for ProdPdf. GaussianPdf controls which evt to load by the number of events passed. Indexing fixes to support chisquare. Committing indexing changes for product example. Temp commit for rebase. Fixing added files in rebase. Finished merger from rebase master Merge branch 'indexing' of https://github.com/galapaegos/GooFit into indexing Conflicts: extern/MCBooster include/goofit/PDFs/AddPdf.h include/goofit/PDFs/GaussianPdf.h include/goofit/PDFs/GooPdf.h include/goofit/PDFs/PolynomialPdf.h include/goofit/PDFs/ProdPdf.h include/goofit/PdfBase.h src/PDFs/AddPdf.cu src/PDFs/GaussianPdf.cu src/PDFs/GooPdf.cu src/PDFs/MetricTaker.cu src/PDFs/PdfBase.cu src/PDFs/PolynomialPdf.cu src/PDFs/ProdPdf.cu src/goofit/Abort.cc src/goofit/FCN.cc src/goofit/PdfBase.cc Convolution example works. Observable index is fetched from first part of constant list. Fixed incrementing issue with Argus. Fixed Argus & Gaussian tests. Added changes for ExpGaussPdf with test. Removing mislocated files from merge. missing header file changes for ExpGausPdf. Fixed indexing with BifurGauss. Fixed return value from ExpGaussTest. Added tests to CMake. Fixed Binned by using functionIdx, no longer passing funcId as argument. Merge branch 'master' into indexing Fixed indexing for ScaledGaussianPdf, added test. adding scaledgausstest to cmake tests. Indexing changes for BinTransformPdf. Indexing changes for KinLimitBWPdf. Indexing changes for CrystalBallPdf. Indexing changes for CorrGaussianPdf. Indexing changes for JohnsonSUPdf.h Indexing fixes for VoigtianPdf. Adding more tests. Merge branch 'indexing' of https://github.com/galapaegos/GooFit into indexing ZachFit example is now functional. Moved shared memory to global memory, this was a performance bottleneck. Added indexing changes for DalitzPlot. Indexing for Timed DalitzPlot. Header modifications for Dalitz and Tddp Resonance indexing changes. Updating Tests for specific PDFs. Adding new PDF tests. Pushing currently tested PDF changes. Adding resolution timing changes. Adding TrigThresholdPdf. Added constants for masses and radius, added a copy constructor for ParameterContainer. Adding LandauTest. Adding changes to VoigtianPdf, and test. Bug with casting for memcpyToSymbol. Need for address to be taken for CPP/OMP, but not for GPU. Fix for performance issue, temporary memory used instead of shared memory. Added fixes for dalitz optimization to use constant memory for storing mother/daughter masses Corrected gtest to name CorrGaussianTest Added Resolution functions to have PdfBase. Swapped observable indexing within constant list. Missing change for TddpPdf. Adding index changes for SmoothHistogram, TrigThreshold. Fixed index increments and observable ID locations. Missing recursiveSetIndices function for EventWeightedAdd. Indexing changes for pipipi example Updated tests Adding composite test, uses two gauss pdfs Convolution test Added event weighted test Mapped test Polynomial test ProdPdf test TrigThreshold test SmoothHistogram test Adding CMakeLists to block uncompilable PDFs parameter fix Fix for handling mistag registering ar/ai for nonres makes them constant. Fix for nonres, unable to make uniform increment. observables now contains the observable ID, no longer packing the index in the constants list. Commented out Tddp4 example Fixed naming, also spin factors takes radius Removed non-working examples (DP4 related) Adding more PDF tests Adjust line shapes in SigGen example Updated indexing for InterHistPdf. Updated indexing for IncoherentSumPdf. Added dalitz index to calculators and integrators SpinFactors tracks associated mother radius Adding additional tests to CMake Using read only cache to read index values. Addition read only cache changes, and removed ROC from reading events. Using local memory and passing address to local memory for Fits. Updating Lineshapes, DP4 to support indexing. Updating CMake list with all PDFs. Clang-format style changes Modernize to facilitate merge Merge branch 'master' into indexing Working on compile errors Updated VariableBinTransform1D Updatign Params with changes from old FCN The useful changes during a Skype call yesterday with @galapaegos Converted Lineshapes to compile with index changes. Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Adding helper functions Changed from pointers to object access Merge branch 'newindexing' of github.com:GooFit/GooFit into newindexing Adding GOOFIT_DEPRECATED, some helpers Fix for missing include Tddp4Pdf compiles now Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing ResonancePdf compiles now. Added decayinfo changes for TddpPdf. implemented PdfBase::getData, moved implementation of getMetricPointer(EvalFunc) to source Updated tests to use new Observable/PDF inputs Storing data when setData is called Fixed Convolution Test crash due to normalisation returning < 0 Fixed CrystalBallTest to run Bug was adding real variable 2x Fixed indexing issues to for Incoherent Sum, now appropriately calls and skips functions with removal of initialize, test for fitControl and set to UnbinnedNllFit under setIndices Fixed accessor methods for tracing Fixed up tests, these should return true Removed 'pindices' structure and associated initialise code. Fixed macro for Trace/Debug Device functions using ParameterContainer accessors Removed pindices from CreateParameters function for resolutions Removed extra s on getNumParameters Fixed error with same variable being used multiple times in single PDF, created duplicates Adjusted variables to allow this test to run Merge branch 'master' into newindexing Fixing style Merge branch 'master' into newindexing Initial document for converting to v2.2 Updating document for converting to v2.2 Updated examples with new SpinFactor functions and duplicate Variables. Changed line shape functions, DP4 partially working datasize not set correctly, now fixed Merge branch 'master' into newindexing _mD0 is passed to SpinFactor Updated indexing for Tddp4 Added recursiveSetIndices to TruthResolution. Removed debugging code from DP4. Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Fixed issue, was not passing in the function pointer objects. Merge branch 'master' into newindexing Fixing style Using updated version of Eigen Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Merge branch 'master' into newindexing Merge branch 'master' into newindexing Updated fixes for python bindings to createParameters in MixingTimeResolution and SpinFactors. Merge branch 'master' into newindexing Style and Python fixes to get GooFit to compile (using LLVM) Pulling out the FitManager to helper file Cleanup, using {} for return values resolved merge conflicts Merge branch 'master' into newindexing Dropping block of Varaible copy; it's need to use vector.erase Fix missing check for nullptr Merge branch 'master' into newindexing Removing unused variables. Removing unroll Adding ProbFit and EvalFit for setting fitControl function Fixes for evaluateAtPoints, removing goofit_policy, and logging updates for variables. Fixes for evaluateAtPoints, getComp, getValue Fixing bad merge changes Moving setIndices from protected to public. Fixing registerParameter issue that was not properly adding Variables. Added constant event size, changed signature of metrics back to original. Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Calling setIndices after setting the metric Accidentally removed fmt library, added back in. Missing paramters for spin factors. Updated files with clang-format. Removing thrust override for now. Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing IncoherentSumTest failing, removing for now. Merge branch 'master' into newindexing Fix fmt's GitHub address sneaking in Blind wasn't being set for Minuit1. Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing SmoothHistogram index wasn't pointing to correct bin size. Added a push/pop scenario for changing metric type. Removing Mapped and TrigThresholdTest due to unknown failures. Updating code formatting. Initial documentation commits. Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Updated readme. Fixed issue with skipping to appropriate amplitude index. Updated SpinFactors for python examples Merge branch 'master' into newindexing Adding backwards compatible constructor with 1.5 default radius Merge branch 'master' into newindexing Merge branch 'master' into newindexing Fixes for CUDA build Moved ParameterContainer to separate files, updated all PDFs with new include Removing FF.BL2 from Lineshapes. Updated formatting style. Removing FF.BL2 from Lineshapes to test travis Changed mass_radius to mD0, and updated value Updated formatting Correcting stride Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Fixed formatting Printing python version Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Removing test print statements Changed name to res for resolution function Adding chisquare and simpleFit tests back in Fixed formatting Merge branch 'master' into newindexing Fixed naming for AmpCalcs Merge branch 'master' into newindexing Merge branch 'master' into newindexing Cleaning up a few changes Dropping constantZero/One duplication Fixes for DP4 and SigGen examples. Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Fixed formatting. Merge branch 'master' into newindexing Merge branch 'master' into newindexing Removed debugging print statements. Removing extra debug statements. Fixed formatting Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Fixed formatting. Merge branch 'master' into newindexing Fix for KMatrix Fix style Merge branch 'master' into newindexing Cleaned up indexing, uses LineShapes rather than component.size - 1 Fixed up indexing for TDDP4. Better amplitude tracking with coefficients for newindexing. Fix formatting. Fix for extern/fmt pointing to unfindable commit Fixed indexing for Tddp4. Removed debugging statements. Fixed formatting. Removed test code Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Moving to 4.x fmtlib Merge branch 'master' into newindexing Merge branch 'master' into newindexing The pow function creates a cyclic call to itself. Merge branch 'master' into newindexing Fixed generation for TDDP4. Reverted generation_no_norm to true Merge branch 'newindexing' of https://github.com/GooFit/GooFit into newindexing Fixed formatting Merge branch 'master' into newindexing Referring to GooFit::fptype for pow. Fix for duplicate symbols Merge branch 'master' into newindexing Merge branch 'master' into newindexing Conflicts: tests/CMakeLists.txt Moving tests to cpp Merge branch 'master' into newindexing Moving some tests out of ROOT Merge branch 'master' into newindexing Merge branch 'master' into newindexing Merge branch 'master' into newindexing Conflicts: python/examples/RunAll.sh Merge branch 'master' into newindexing Added script to run all tests. uncommented 2d_plot getToyData was not skipping comment, added skip_blank_lines Updated documentation to list python script requirements Removed extra function calls for getCompProbs Fix for GPU versions of tests not working. Added error checking for other macro'd routines. Fixed up #fname for functions that don't have it. Adding new ROOT for travis C++ should be a private option Merge branch 'master' into newindexing Style update
This is an initial merge of the indexing branch #91 . Many things are broken, especially in regards to variables in PDFs. The diff on GitHub should help guide the cleanup. Changes:
GetObservableIndex
->GetIndex
, since I think the regular index is not used. It might be removable fromVariable
s?