4.2 KiB
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
- CAENComm 1.4+
- CAENVMELib 2.5+
- CAENDigitizer 2.12+
- CAEN A3818 Driver 1.61+ (for optical link)
- CERN ROOT 6
- libcurl4-nss-dev (for the libcurl, used in InfluxDB class)
- 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
-
ClassData.h
-
RegisterAddress.h
-
ClassDigitizer.h/cpp
-
Acquisition.cpp
-
EventBuilder.cpp EventBuilder_raw.cpp
-
Plotting.cpp
-
The Acquisition.cpp is the main code for online acquisition. It controls, readouts digitizers and stores the data in Run/ folder.
-
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.
-
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.