113 lines
4.2 KiB
Markdown
113 lines
4.2 KiB
Markdown
## Introduction (First Version)
|
|
|
|
The FSUDAQ_MUSIC is an ONGOING online and offline aquisition for CAEN x725 digitizers with DPP-PHA firmware for MUSIC set-up at ATLAS/Argonne National Laboratory.
|
|
It is based on CERN_ROOT/C++. The x730 digitizer and the DPP-PSD firmware are also possible.
|
|
|
|
Additional inforamtion in https://fsunuc.physics.fsu.edu/wiki/index.php/CAEN_digitizer#FSU_DAQ
|
|
|
|
## Required Library
|
|
1. CAENComm 1.4+
|
|
2. CAENVMELib 2.5+
|
|
3. CAENDigitizer 2.12+
|
|
4. CAEN A3818 Driver 1.61+ (for optical link)
|
|
5. CERN ROOT 6
|
|
6. libcurl4-nss-dev (for the libcurl, used in InfluxDB class)
|
|
7. InfluxDB 1.8 (recommanded for trigger rate, optional for database)
|
|
|
|
## Folder Structure
|
|
FSUDAQ_MUSIC \
|
|
├── Analysis \
|
|
├── Conversion \
|
|
| └── Raw \
|
|
├── DAQ \
|
|
├── MUSIC_Topology\
|
|
├── README \
|
|
└── Run \
|
|
|
|
The parent folder FSUDAQ_MUSIC should be placed on the Home directory.
|
|
Information available in README/ folder.
|
|
|
|
All source codes are in DAQ/ folder.
|
|
The key codes are
|
|
1. ClassData.h
|
|
2. RegisterAddress.h
|
|
3. ClassDigitizer.h/cpp
|
|
4. Acquisition.cpp
|
|
5. EventBuilder.cpp EventBuilder_raw.cpp
|
|
6. Plotting.cpp
|
|
|
|
4. The Acquisition.cpp is the main code for online acquisition. It controls, readouts digitizers and stores the data in Run/ folder.
|
|
|
|
5. The EventBuilder_raw.cpp and EventBuilder.cpp are the codes for online /offline event building with the raw DAQ topology and the MUSIC setup toplogy, respectively.
|
|
Saved raw run .fsu files (in Run/) are converted in TTree .root run files in Conversion/Raw/ and Conversion/ for EventBuilder_raw.cpp and EventBuilder.cpp, respectively.
|
|
Compiled scripts are stored in Analysis/ folder.
|
|
|
|
6. The Plotting.cpp is a code for online or offline data visualization from the converted .root run files in Conversion/, requiring the MUSIC setup toplogy.
|
|
|
|
|
|
The MUSIC setup toplogy is defined in MUSIC_Topology/.
|
|
--> see description in README/Topology_MUSIC_read_me.md
|
|
|
|
|
|
## To Compile (--> according to DAQ/Makefile)
|
|
> cd DAQ/; make ../Acquisition;cd ../;
|
|
> cd DAQ/; make ../Analysis/EventBuilder_raw;cd ../;
|
|
> cd DAQ/; make ../Analysis/EventBuilder;cd ../;
|
|
> cd DAQ/; make ../Plotting;cd ../;
|
|
|
|
Executables produced for each code.
|
|
|
|
|
|
|
|
########
|
|
# Usages
|
|
########
|
|
|
|
|
|
## Acquisition
|
|
--> Input = [Run Time in second, 0 for infinite one] [Run number]
|
|
|
|
Number of available digitizers defined at start
|
|
--> nDig
|
|
Data taking done in parallel with the function:
|
|
--> func(Digitizer * dig, double RunTime, int Rid, int Bid)
|
|
All digitizers start at close time (~dT tens of microseconds)
|
|
|
|
Assignement of registers value done through 2 functions
|
|
--> boardSetParameters //Parameters usually tuned at the start of a MUSIC experiment with the help of CoMPASS software
|
|
--> boardCommonParameters //Standard parameters for MUSIC setup
|
|
Details on how to assign the registers values are given in
|
|
--> README/Register_inputs_readme.md
|
|
|
|
Raw data are stored in Run/, with the path defined at start
|
|
--> path_to_run
|
|
A file per board and files size limit is 1 GB (defined with MaxSaveFileSize in DAQ/macro.h )
|
|
--> Run_00#_B#_###.fsu
|
|
|
|
|
|
## EventBuilder_raw and EventBuilder
|
|
--> Input = [Time window in microsecond] [Trace ==0, off] [verbose 0/1] [list of raw run .fsu filenames ...]
|
|
|
|
Building of events in readable format, i.e. oot TTree 'tree' (see defined tree structures).
|
|
|
|
Raw conversion stores within the time window the lists of energy/time/board/channel. The number of DAQ channel hits corresponds to
|
|
-->multi_evt
|
|
|
|
Final conversion stores within the time window the physical events with MUSIC inputs (energies of left/right segments, grid, cathode, strip0, strip17,..., and times, pulsers...).
|
|
The number of events within the time window is
|
|
-->multi_evt
|
|
The number of MUSIC signals hits for each event (e.g. std value is 16+4(+4puls)) is
|
|
-->multi_hit
|
|
|
|
MUSIC setup toplogy path is defined at start
|
|
--> path_to_top
|
|
Converted root files are stored in Conversion/, with the path defined at start
|
|
--> path_to_con
|
|
|
|
|
|
## Plotting
|
|
--> Input = [Run number] [number of run_subfiles]
|
|
|
|
Standard MUSIC histograms for PID, beam trajectory and segment maps (2x16), event built multiplicities and time structure (if pulser input per board).
|
|
Additional (like Silicon PID..) histograms to be defined at the start of the script.
|