Data Acquisition and Online Analysis at the NSCL
Prev
Next
I. Tutorial and Presentation
Table of Contents
1.
Orientation
1.1.
Model for the NSCL system
1.2.
What the NSCL DAQ System Provides
1.2.1.
Programming frameworks
1.2.2.
Programming frameworks provided by nscldaq
1.2.3.
Prebuilt programs
1.3.
What must be done to create an experiment
1.4.
Resources
1.4.1.
Pre-built systems
1.4.2.
Other documentation
2.
Sources of data
2.1.
What is a data source
2.2.
The high performance production readout framework
2.2.1.
Getting started with the framework
2.2.2.
The process of building a data source from a skeleton
2.2.3.
Event segments
2.3.
A worked example
2.3.1.
The CAEN V775 TDC.
2.3.2.
Setting up the electronics.
2.3.3.
Writing the Event segment
2.3.4.
Building the code.
2.3.5.
Testing the readout
2.3.6.
Supressing zeroes from the V775 TDC
2.4.
Event packets and larger systems.
2.4.1.
What are packets
2.4.2.
Modifying the example to use packets.
2.4.3.
Effect on the data structure.
2.5.
Periodically read scalers
2.5.1.
Modifying the electronics to add a scaler module
2.5.2.
Modifying the event source to read the scaler module
2.5.3.
Testing the setup
2.6.
Other resources
3.
Viewing data online and offline
3.1.
Introduction to NSCLSpecTcl
3.1.1.
Events and Parameters
3.1.2.
Analysis Pipelines
3.1.3.
Spectra
3.1.4.
Gates and Gated Spectra
3.2.
An Event Processor for our packetized Readout
3.2.1.
Getting the Skeleton
3.2.2.
Writing the event processor
3.2.3.
Building the code
3.2.4.
Testing the code
3.3.
Running SpecTcl
3.3.1.
The SpecTcl windows
3.4.
Using Tree Parameter
3.4.1.
The classes of TreeParameter
3.4.2.
Modifying our event unpacker to use Tree Parameter
3.4.3.
Using tree variables to implement a weighted sum
3.5.
Other Resources
4.
DAQ system integration
4.1.
Introduction
4.2.
Writing Scripts
4.2.1.
The
PATH
environment variable
4.2.2.
Making script files directly executable
4.3.
Customization suggestions
4.3.1.
Parameterizing scripts
4.4.
Directory structures.
4.4.1.
Directories maintained by ReadoutGUI
4.4.2.
Associating data with event files
4.5.
The ReadoutGUI
4.5.1.
Starting the Readout GUI.
4.5.2.
An operational overview of Readout GUI
4.5.3.
Reliably starting and stopping the Readout GUI
4.6.
Integrating SpecTcl in your experiment
4.6.1.
SpecTcl's startup sequence
4.6.2.
Writing a SpecTcl Startup scripts
4.6.3.
Adding GUI elements to SpecTcl
4.7.
Desktops and quick launch shortcuts
4.8.
Other resources
5.
Best Practices for Building Software
5.1.
Introduction
5.2.
Goals and Basic Principles
5.3.
How to Isolate and Manage Change
5.3.1.
Managing change in shell scripts
5.3.2.
Managing change in Tcl scripts
5.3.3.
Managing change in C/C++ software
5.3.4.
Managing Configuration variables in a Unified Way
5.4.
Developing in a Maintainable and Sustainable Way
5.4.1.
Managing your source code
5.4.2.
Build structures for your software
5.4.3.
Release management
5.4.4.
Managing special requirements while keeping your source code sacred
5.5.
Deploying Software to an Experiment
5.6.
Writing to be a Cog in a Larger Machine
5.7.
Miscellaneous Topic, Tricks and Techniques
5.8.
Additional Resources
Prev
Home
Next
Preface and how to use this book
Orientation