Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-05-09 | Cast channel ID array to uint32, as that is technically what the C++ code is ↵ | Stan Seibert | |
expecting. | |||
2021-05-09 | Do not use the zmq.Context.instance() method to obtain a ZeroMQ context when ↵ | Stan Seibert | |
you will be forking processes at multiple locations. This killed one of the unit tests. | |||
2021-05-09 | Fix documentation bug regarding location of GEANT4 data | Stan Seibert | |
2021-05-09 | Cast numpy sum to Python int to make PyROOT happy. | Stan Seibert | |
2021-05-09 | I give up. We have to install pyublas by hand to be able to compile any ↵ | Stan Seibert | |
extensions using it in Chroma. | |||
2021-05-09 | Require nose and sphinx for testing and documentation | Stan Seibert | |
2021-05-09 | Replace all uses of numpy.count_nonzero() with chroma.tools.count_nonzero to ↵ | Stan Seibert | |
remove requirement to use numpy >= 1.6 | |||
2021-05-09 | Require pyublas at setup-time for compiling. Adjust numpy requirement for ↵ | Stan Seibert | |
count_nonzero(). | |||
2021-05-09 | More fixes to installation guide. | Stan Seibert | |
2021-05-09 | Update ROOT version number and make the numbers consistent. (Hat tip to ↵ | Stan Seibert | |
mastbaum for noticing the discrepancy.) | |||
2021-05-09 | Add a summing mode to the event view. | Stan Seibert | |
Press "s" and average time, charge and hit probability are computed for all of the events in the input file. Then you can cycle through the different values using the "." key, just as you can for single events. You can flip between sum and regular modes, and the sum calculation is only done the first time. | |||
2021-05-09 | Make chroma.io.root.RootReader follow the Python iterator protocol. | Stan Seibert | |
Now you can do: reader = RootReader('file.root') for ev in reader: # Do stuff | |||
2021-05-09 | Make the period key cycle between charge, time and hit/no-hit color display ↵ | Stan Seibert | |
in event viewer | |||
2021-05-09 | Fix silly bug in RootReader.jump_to() | Stan Seibert | |
2021-05-09 | Copy implementation of check_output into our setup.py so it runs on Python 2.6. | Stan Seibert | |
2021-05-09 | Add optional argument to pi0 gun to pick direction of one gamma in rest frame. | Stan Seibert | |
2021-05-09 | Allow chroma to be imported on systems without pygame. Good for clusters. | Stan Seibert | |
2021-05-09 | Major overhaul to the way that DAQ and PDF information is accumulated | Stan Seibert | |
to speed up likelihood evaluation. When generating a likelihood, the DAQ can be run many times in parallel by the GPU, creating a large block of channel hit information in memory. The PDF accumulator processes that entire block in two passes: * First update the channel hit count, and the count of channel hits falling into the bin around the channel hit time being evaluated. Add any channel hits that should also be included in the n-th nearest neighbor calculation to a channel-specific work queue. * Process all the work queues for each channel and update the list of nearest neighbors. This is hugely faster than what we were doing before. Kernel estimation (or some kind of orthogonal function expansion of the PDF) should be better ultimately, but for now the nearest neighbor approach to PDF estimation seems to be working the best. | |||
2021-05-09 | Add a select function to GPUPhotons to extract a reduced list of photons ↵ | Stan Seibert | |
that all have a particular interaction process code set. Handy for selection just the detected photons from a large list of photons. | |||
2021-05-09 | Use global per-thread ZeroMQ context rather than make a new one. | Stan Seibert | |
2021-05-09 | Minor fixes to doing time & charge PDFs via kernel estimation. Things | Stan Seibert | |
still look off, but this is an improvement. | |||
2021-05-09 | OK, we really do need to call the garbage collector this frequently. | Stan Seibert | |
2021-05-09 | Use constant particle gun in chroma-sim so it can generate pi0 events. | Stan Seibert | |
2021-05-09 | constant_particle_gun now can generate pi0 decays | Stan Seibert | |
2021-05-09 | Factor calculation of channel hit probabilities and PDF densities to ↵ | Stan Seibert | |
separate function for easier debugging of channel-level likelihood behavior. | |||
2021-05-09 | Reduce the bin count requirement from 200 to 50. | Stan Seibert | |
2021-05-09 | Clean up hit probability calculation and stop skipping the first entry. | Stan Seibert | |
2021-05-09 | Fix returning from PDF accumulator too soon. | Stan Seibert | |
2021-05-09 | Minor tweaks to install instructons | Stan Seibert | |
2021-05-09 | Add authors and Chroma PDF to index page | Stan Seibert | |
2021-05-09 | Period key in event viewer flips between charge and time display | Stan Seibert | |
2021-05-09 | Fix units when drawing photon vertices | Stan Seibert | |
2021-05-09 | Stop returning the PDF probabilities and put the hit/not hit back into the ↵ | Stan Seibert | |
likelihood | |||
2021-05-09 | Add a few more commonly used symbols to: from chroma import * | Stan Seibert | |
2021-05-09 | Update index page in documentation to also work as website. | Stan Seibert | |
2021-05-09 | Tell people to grab Chroma from the Bitbucket repository. | Stan Seibert | |
2021-05-09 | Update version number to 0.1, switch to sphinxdoc style (lighter shades!) ↵ | Stan Seibert | |
and stop the warning about _static | |||
2021-05-09 | Write t0 for primary vertex to ROOT file and fix unit test to catch this. | Stan Seibert | |
2021-05-09 | Mercurial subrepositories don't seem to work enough like SVN externals | Stan Seibert | |
to automatically pull in Tony's histogram classes when someone clones the repository. Now the histogram code has been copied and committed as part of chroma. Maybe someday we can drop this when histogram is an installable python package. | |||
2021-05-09 | Initial import of Chroma from private to public repository. | Stan Seibert | |
Apologies for the lack of history, but Chroma's prehistory included some very large files and possibly proprietary engineering data. Rather than clutter up the public repository (and panic people), we are starting fresh. All development happens here from now on. | |||
2011-10-11 | Stop returning the pdf probabilities and put the hit/not hit back into | Stan Seibert | |
the likelihood. | |||
2011-10-11 | Add a few more commonly used symbols to: from chroma import * | Stan Seibert | |
2011-10-10 | Now that solids and channels have separate numbering, we have to map ↵ | Stan Seibert | |
channels back to solid indices to set colors when displaying an event. | |||
2011-10-08 | Add a helper module to the chroma.models directory that takes | Stan Seibert | |
inventory of all the .stl/.stl.bz2 files present and creates building functions for each of them in the models module. This allows usage like the following: chroma-cam chroma.models.lionsolid chroma-cam chroma.models.tie_interceptor6 You don't need to worry about where the chroma package was actually installed. Loading from STL files listed on the command line still works, of course. | |||
2011-10-08 | Make Camera.build work with anything callable, not just functions. Also ↵ | Stan Seibert | |
make plain meshes more opaque because the high transparency is visually confusing. | |||
2011-10-08 | Photon history constants in Python. | Stan Seibert | |
2011-10-07 | Speed up remove_duplicate_vertices by a factor of 3. | Stan Seibert | |
Vectorizing a lambda function is really slow, and it turns out that advanced indexing already does what we want to remap the triangle vertices to their unique values. | |||
2011-10-07 | Rewrite mesh_grid to be less compact but 100x faster. | Stan Seibert | |
Most of the time required to build the LBNE geometry is spent on mesh_grid() for the highly segmented cylinder. (67 seconds!) The speed hit is caused by the use of zip to connect the vertices. The same task can be done in several lines with slice notation, and goes much faster. | |||
2011-10-07 | Speed up Geometry.build() by a large factor when loading from cache. | Stan Seibert | |
A bunch of small tricks have been applied to reduce the amount of time required to build an already cached geometry: * Replace uses of fromiter() on long sequences with code that operates on bigger arrays. * Use memoization on the Solids to more efficiently map materials to material codes when a solid is repeated (as is the case in all our detectors) * Use numpy.take() instead of fancy indexing on big arrays. I learned about this trick from: http://wesmckinney.com/blog/?p=215 Also, switched over to compressed npz files for storing cache information. They take the same size as the gzipped pickle files, but load 30% faster. | |||
2011-10-07 | Make main into a function so we can profile it | Stan Seibert | |