Short description of picoCosmo
This software is tailored to identify short pulses from muon detectors, e. g. the scintillator panels of the CosMO-experiment by "Netzwerk Teilchenwelt", http://www.teilchenwelt.de, or the Kamiokanne-Experiment (a water cherenkov detector with photomultiplier readout).
Data is read from the PicoScope device via a Buffer Manager, which collects recorded waveforms and distributes them to consumer processes. The consumers either provide real-time displays of a sub-set of the data or perform data analysis.
The analysis proceeds in three steps. First, the trigger is validated by cross-correlation with a signal template located around the trigger time. Next, coincidences near a validated triggering pulse are searched for in all connected channels. The optional third step performs a search for additional pulses after the triggering event, indicating the decay of a stopped muon in or near the detector.
The software provides real-time displays of waveforms, detector signals and rates. Optionally, parameters of identified pulses or of double-pulses are written to files in CSV format. In addition, raw waveforms or pictures in .png format of identified double pulses can optionally be stored for off-line analysis or for an instructive analysis "by hand" based on the waveform pictures. From this information, the mean muon lifetime in the muon rest frame (2.2 µs) can be derived.
Configuration and program execution
Data Acquisition and Analysis is started using the graphical interface by typing ./CosmoGui.py xxx.daq, or optionally, by directly starting the pyhton script for run execution with the command ./runCosmo xxxx.daq.
The configuration for runCosmo.py is defined in several '.yaml' files contained in sub-directory config/. The configuration files applicable to a specific experimental set-up are listed in files of type .daq, e.g. Kanne.daq for Kamiokanne and Cosmo.daq for a run with the CosMo panels.
The .yaml files specify configurations for the oscilloscope, the BufferManager and the Pulse Filter. Here is the example to run with Kamiokanne:
# file Kanne.daq --------------------
# configuration files for Kamiokanne
DeviceFile: config/PMpulse.yaml # Oscilloscope configuration
BMfile: config/BMconfig.yaml # Buffer Manager configuration
PFfile: config/PFKanne.yaml # Pulse Filter Configuration
These configuration files are loaded into the Configuration tab at program start.
The graphical interface allows to inspect and modify the configuration and to start a data acquitistion run by starting the script runComso.py as a subprocess. Configuration and output files are stored in a newly created directory <Run Tag>_<date>/, where a specific <Run Tag> can be specified by the user.
After run start, control is performed via the main window of the Buffer Manager, which contains the options Pause, Resume, Stop and EndRun. In stopped state, all windows remain open, so that graphs may be saved and log output inspected. In End-state, all processes are stopped, and consequently all windows disappear. Resume running from Stop-state is presently not foreseen.