Welcome to the AERAROOTIO library readme. Modified 2014/10/03 ========================= ReadMe contents ========================= 1) Installation 1.1) Ape 1.2) Manual installation 2) Usage 2.1) AERAConverter 2.1.1.) Update the installation 2.2) Offline 2.3) CDAS 3) Troubleshooting ========================= 1) Installation ========================= ===== 1.1) Ape - The AERAROOTIO library is distributed via Ape. The package "distfiles/AERARootIo_vXXrYY.tar.bz2" is automatically installed in the "ape/External" folder included in the radioexternals with the command run in the ape directory: ./ape --rc=config/ape.rc install radioexternals - After the installation, source the environments via eval `./ape --rc=config/ape.rc sh radioexternals` - To check, if the installation was successful, type echo $AERAROOTIO and the "ape/External/aerarootio/vXXrYY" directory should be printed - If you would like to enable the doxygen documentation, you can a) navigate into the build folder in ape [...]build/aerarootio/AERARootIo_vXXrYY and use cmake ./ -DDOCUMENTATION_ENABLED=on make install after an already finished installation of the library b) modify the aerarootio.rc in the ape config folder and replace configureArgs = . -Dprefix=%(prefix)s with configureArgs = . -Dprefix=%(prefix)s -DDOCUMENTATION_ENABLED=on before installing the AERAROOTIOlib with Ape ===== 1.2) Manual installation - If the library should be installed manually, you need to source the ROOT environments first, e.g.: source ape/External/root/5.34.18/bin/thisroot.sh and check with echo $ROOTSYS - Create a directory for the library and a trunk, build and install folder inside this directory. Get the latest version of the repository and put the "CMakeModules", "doc", "src", "test" folder and the CMakeLists.txt into the trunk. Set the install directory as a prefix for cmake inside the build folder. See e.g. in the "home" directory: 1. mkdir ${HOME}/aerarootio 2. cd ${HOME}/aerarootio 3. mkdir trunk build install 4. mv "LibraryContent" trunk 5. cd build 6. cmake ../trunk/ -Dprefix=${HOME}/aerarootio/install/ 7. make install - If you would like to enable/disable the doxygen documentation, use the additional flag -DDOCUMENTATION_ENABLED=on or off or set the corresponding DOCUMENTATION_ENABLED flag in ccmake. - To test the installation, navigate into the ${HOME}/aerarootio/install/test directory and type ./AERAConverter sd200272.f0001 ./ --s The output should be: Nr. of files: 1 File 1 of 1 Open binary file... Converting event number 1 on: Sat Mar 3 05:28:29 2012 Converting event number 2 on: Sun Mar 4 15:47:18 2012 Converting event number 3 on: Tue Mar 6 05:54:28 2012 Converting event number 4 on: Wed Mar 7 07:44:42 2012 - Add the environments via: export AERAROOTIO=${HOME}/aerarootio/install export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${AERAROOTIO}/lib ========================= 2) Usage ========================= ===== 2.1) AERAConverter - The converter can be started with the following structure: ./AERAConverter InputData Outputdirectory Parameter - In the conversion mode, the InputData can either be a binary file or an ASCII file with all the binary files listed which should be converted. Every file has to be in its own line, and the line end has to be the file ending .root. E.g. Filelist.txt: ad012345.f6789 ad012345.f7000 - There are the following different parameter and conversion modes available: --s - activates the single conversion mode. This is a one by one conversion of the binary file to a ROOT file. The old file name is just added with a .root --h - activates the hourly based conversion mode. All events, which have been triggered in the same hour, are put into the same file with the structure YYYYMMDD_HH.root --d - activates the daily based conversion mode. All events, which have been triggered between 12:00 p.m. of the previous day and 11:59 of the following day, are put into the same file with the structure YYYYMMDD.root --debug - activates the ASCII dump mode. All binary values are written out in a human readable format into an ASCII file. The input file has to be an already converted ROOT file or an ASCII file with converted ROOT files listed. --noADC - if this flag is activated, no ADC values are dumped into the ASCII-file during debug mode, which reduces the size of the output file by more than a factor of ten, if just event or station parameter are of interest --streams - if this flag is activated all output streams will be generated Individually selectable output streams are: --SELF : just self triggered events are written out in a file with ending _Self.root --SCINTILLATOR : local scintillator triggered events - (_Scintillator.root) --CALIBRATION : calibration triggered events - (_Calibration.root) --GUI : DAQ GUI triggered events - (_GUI.root) --HEAT : events triggered by HEAT - (_HEAT.root) --PERIODIC : 10s triggered events (since July 2014: events, which are triggered regularly every 100s) - (_Periodic.root) --FD : events triggered by FD - (_FD.root) --AERALET : events triggered by AERALET stations - (_AERAlet.root) --AIRPLANE : events triggerd by Airplanes - (_Airplane.root) --SD : events triggered externally by SD stations - (_SD.root) --PASSTHROUGH : T3 random triggered events. Those are events, which are passed randomly without filters, e.g. cone algo - (_PassThrough.root) --AEVB : events, where the event type is set to empty EventBuilder events - (_Aevb.root) --physics - this flag combines self, scintillator, SD, FD, HEAT and AERALET triggered events into one file - (_Physics.root) --monitoring - for monitoring purposes, this flag puts all periodic, calibration and passthrough triggered events into one file - (_Monitoring.root) --logfile YYYYMMDD_HH - produce a logfile which stores the event number per trigger source, the mean number of stations and the station variance for each trigger source on a 10 minutes base in the hourly conversion mode for a specific hour --binarylistsdaily - this option enables the production of sorted binary file input lists based on the event time stamp. All binary files which are given as the InputData argument and which contain events on a specific day starting from 12:00 p.m. until the next day are written in a sorted order into BinaryFileYYYY-MM-DD.txt. The content of the binary file input list is checked for duplicate entries --binarylistshourly - see binarylistsdaily. Produces binary file input lists on an hourly base into BinaryFileYYYY-MM-DD_HH.txt --convertday YYYYMMDD - if this flag is activated, just events with a time stamp on the given day are converted. No ROOT-file is created for other than the exact time period to avoid creating half-filled files at the border of each day at noon. Especially important for multi-process conversion to avoid writing into the same file from different jobs --converthour YYYYMMDD_HH - see convertday. Just convert events for the given hour --converttimeinterval ti - activates selectable time interval functionality for conversion, with the parameter ti as the time in seconds between two events. This mode is useful for e.g. the periodic trigger to thin out the data sample. E.g. use '... --PERIODIC --converttimeinterval 100' for the old 10s periodic trigger to just get a data sample which consists of periodic events with a time distance of 100s and which is equal to the new 100s trigger condition. - E.g.: 1. To convert the binary file ad012345.f6789 in daily mode but just write out the physics stream, use: ./AERAConverter ad012345.f6789 ./ --d --physics 2. To convert the binary file list Filelist.txt in hourly mode but just write out self triggered events, use: ./AERAConverter Filelist.txt ./ --h --SELF 3. To write out the values of the converted file ad012345.f6789.root which is in the next higher directory in debug mode into the subdirectory "logs", use: ./AERAConverter ../ad012345.f6789.root ./logs --debug ===== 2.2.1) Update the installation - If you want to update/change an already installed version of the IOLib, just edit the files in the trunk folder and subfolders, navigate into the build folder and type make install It is important to be logged into the same machine from which the first installation has been done. - If the library has been installed with ape, the files in the ape/build/aerarootio/AERARootIo_vXXrYY folder and subfolders have to be modified. Then navigate into ape/build/aerarootio/AERARootIo_vXXrYY and do make install Or create a new tar-ball, e.g. AERARootIo_vXXrYY_mod.tar.bz2 which has to be put into the distfiles folder in ape. The AERARootIo folder inside the tar-ball needs to have the name as the tar-ball without ending .tar.bz2. Then modify the aerarootio.rc in the ape config folder and replace version = vXXrYY with e.g. version = vXXrYY_mod and install the radioexternals. ===== 2.2) Offline - If you want to use radio and the AERAROOTIO library in Offline, source the environments of the AERAROOTIO library and set before a usual Offline installation -DAUGER_RADIO_ENABLED=on as an input flag in cmake or set in ccmake AUGER_RADIO_ENABLED ON - If converted binary to ROOT files should be used in Offline, use RadioAERAroot as InputFileType in the EventFileReader and EventFileExporter. Merged xrad radio files in CDAS have the InputFileType IoAuger. ===== 2.3) CDAS - If you want to use radio and the AERAROOTIO library in CDAS, source the AERAROOTIO environments and set before a usual CDAS installation -DIORD=ON as an input flag in cmake or set in ccmake IORD ON - To use radio files for SD-FD-MD-RD merging in the BuildXRAugerFile application, radio files converted in daily mode and the flag --externalall are necessary. In addition, the rd input file needs to have the file name structure rd_YY_MM_DD_12h00.root. ========================= 3) Troubleshooting ========================= - Check if a new terminal is used, where no old environments have been sourced. - If the library is not installed properly in Ape, please remove the "ape/build/aerarootio/AERARootIo_vXXrYY" and "ape/External/aerarootio/vXXrYY" folder and retry the installation. - If files are not converted properly, check if the input binary file is not corrupt. - If files are not read in correctly in Offline, check if the correct InputFileType is set.