Cait (Cryogenic Artificial Intelligence Tools) is a Python 3 software package for raw data analysis of cryogenic solid-state detectors. It is tailored to the needs of the CRESST, COSINUS and NUCLEUS experiment, but applicable to all analyses whose raw data consists of pulses.
Documentation: https://cait.readthedocs.io/
Source Code: https://github.com/fewagner/cait
Bug Report: https://github.com/fewagner/cait/issues
Installation
Cait is hosted on the Python package index.
$ pip install cait
Have a look at the Installation page for more installation options/tips. You can now import the library in Python:
import cait as ai
Citations
If you use Cait in your research work, please reference the package accordingly.
Cait uses a number of Python packages. If you use methods that are based on those packages, please consider referencing them: h5py, numpy, matplotlib, scipy, numba, sklearn, uproot, torch, pytorch-lightning, plotly.
cait implements methods that were used in prior research work. Please consider
referencing them:
2020, F. Wagner, Machine Learning Methods for the Raw Data Analysis of cryogenic Dark Matter Experiments”, https://doi.org/10.34726/hss.2020.77322 (accessed on the 9.7.2021)
2019, D. Schmiedmayer, Calculation of dark-matter exclusions-limits using a maximum Likelihood approach, https://repositum.tuwien.at/handle/20.500.12708/5351 (accessed on the 9.7.2021)
2019, CRESST Collaboration et. al., First results from the CRESST-III low-mass dark matter program, doi 10.1103/PhysRevD.100.102002
2020, M. Stahlberg, Probing low-mass dark matter with CRESST-III : data analysis and first results, available via https://doi.org/10.34726/hss.2021.45935 (accessed on the 9.7.2021)
2019, M. Mancuso et. al., A method to define the energy threshold depending on noise level for rare event searches” (arXiv:1711.11459)
2018, N. Ferreiro Iachellini, Increasing the sensitivity to low mass dark matter in cresst-iii witha new daq and signal processing, doi 10.5282/edoc.23762
2016, F. Reindl, Exploring Light Dark Matter With CRESST-II Low-Threshold Detectors”, available via http://mediatum.ub.tum.de/?id=1294132 (accessed on the 9.7.2021)
1995, F. Pröbst et. al., Model for cryogenic particle detectors with superconducting phase transition thermometers, doi 10.1007/BF00753837
We want you …
… to contribute! We are always happy about any contributions to our software. To coordinate efforts, please get in touch with felix.wagner(at)oeaw.ac.at such that we can include your features in the upcoming release. If you have any troubles with the current release, please open an issue in the Bug Report.
Home
Tutorials
- About the Tutorials
- Triggering stream data
- Interacting with HDF5 files
- Creating SEV, NPS, OF
- Reconstructing the pulse amplitude
- Energy Calibration
- Efficiency Simulation
- Processing many files using SLURM jobs
- Event View- and Label-Interface
- Machine Learning-based Event Selection
- Neural Networks for Event Classification
- VizTool
- Cryogenic Detector Data Augmentation
Templates
Documentation
- About the Documentation
- The DataHandler Class
- Core Modules
- cait.calibration
- cait.cuts
- cait.data
- cait.datasets
- cait.evaluation
- cait.features
- cait.filter
- cait.fit
array_fit()baseline_template_cubic()baseline_template_quad()doshift()fit_pulse_shape()fit_quadratic_baseline()fit_trigger_efficiency()fitfunc()generate_standard_event()get_noise_parameters_binned()get_noise_parameters_unbinned()logistic_curve()lstsqsol()noise_trigger_template()pulse_template()sev_fit_templatethreshold_model()
- cait.limit
- cait.models
- cait.readers
- cait.serialize
- cait.simulate
- cait.styles
- cait.trigger
MovingAverageTriggeradd_to_moments()bin()exclude_testpulses()find_nearest()find_peaks()get_offset()get_record_window()get_record_window_vdaq()get_starttime()get_triggers()plot_csmpl()read_header()readcs()sample_to_time()sub_from_moments()time_to_sample()trigger_bin()trigger_csmpl()
- cait.versatile - the flexible cait
- cait.EventInterface
EventInterfaceEventInterface.create_labels_csv()EventInterface.export_labels()EventInterface.export_predictions()EventInterface.load_arr_par()EventInterface.load_h5()EventInterface.load_labels_csv()EventInterface.load_of()EventInterface.load_predictions_csv()EventInterface.load_saturation_par()EventInterface.load_sev_par()EventInterface.set_threshold()EventInterface.show()EventInterface.start()
- cait.EvaluationTools
EvaluationToolsEvaluationTools.add_events_from_file()EvaluationTools.add_prediction()EvaluationTools.confusion_matrix_pred()EvaluationTools.convert_to_colors()EvaluationTools.convert_to_labels()EvaluationTools.convert_to_labels_colors()EvaluationTools.correctly_labeled_events_per_pulse_height()EvaluationTools.correctly_labeled_per_v()EvaluationTools.events_saturated_histogram()EvaluationTools.gen_features()EvaluationTools.get_data()EvaluationTools.get_event_nbrs()EvaluationTools.get_events()EvaluationTools.get_features()EvaluationTools.get_file_nbrs()EvaluationTools.get_filepaths()EvaluationTools.get_label_nbrs()EvaluationTools.get_labels_in_color()EvaluationTools.get_mainpar()EvaluationTools.get_pred()EvaluationTools.get_pred_in_color()EvaluationTools.get_pred_true_labels()EvaluationTools.get_test()EvaluationTools.get_train()EvaluationTools.plot_event()EvaluationTools.plot_labels_distribution()EvaluationTools.plt_pred_with_pca()EvaluationTools.plt_pred_with_pca_plotly()EvaluationTools.plt_pred_with_tsne()EvaluationTools.plt_pred_with_tsne_plotly()EvaluationTools.pulse_height_histogram()EvaluationTools.save_prediction()EvaluationTools.set_data()EvaluationTools.set_features()EvaluationTools.set_scaler()EvaluationTools.split_test_train()
- cait.VizTool