Project

General

Profile

Swizzle » History » Version 9

Eric Church, 11/11/2014 12:04 PM

1 1 Eric Church
 h1. Instructions for setting up to swizzle.
2 1 Eric Church
3 1 Eric Church
When you swizzle -- that is, convert from the DAQ binary to ART ROOT data format -- you want to read the binary data with the guaranteed-same code with which you wrote it. That is the reason for the existence in the first place of uboonedaq_datatypes. It's its own ups package against which we set up and build for both the DAQ running and the swizzling. 
4 1 Eric Church
5 1 Eric Church
6 3 Eric Church
If all you want is to run with a LArSoft -- particularly, the uboonecode build -- that was built against this version of uboonedaq_datatypes. We have installed this version for v5_00_01. So, set up on @ubdaq-prod-xyz.fnal.gov@ as follows. Do not set up as if you were going to do DAQ readout or run control or develop uboonedaq_datatypes.
7 1 Eric Church
 
8 1 Eric Church
@source /uboone/larsoft/setups
9 1 Eric Church
export PRODUCTS=$PRODUCTS:/uboone
10 8 Eric Church
setup uboonedaq_datatypes v5_00_01 -qe6:prof       # or debug
11 8 Eric Church
setup uboonecode v03_04_00 -qe6:prof                    # correspondingly, or debug
12 1 Eric Church
setup mrb; setup git; setup gitflow
13 1 Eric Church
export MRB_PROJECT=larsoft@
14 9 Eric Church
Go run your @lar -c job.fcl@ script. 
15 1 Eric Church
16 3 Eric Church
You may stop here if you care nothing about maintaining/installing or how the sausage is made. 
17 1 Eric Church
18 2 Eric Church
h1. There is one important technical issue here for running LArSoft on the DAQ.
19 1 Eric Church
20 6 Eric Church
That is, LArSoft runs gcc4.9.1 and boost 1.59, and the DAQ uses gcc4.7, boost1.55. We begin by making a vx_yy_zz version of uboonedaq_datatypes with these new qualifiers. Go to the quickstart page for uboonedaq_datatypes at the top of the DAQ wiki and jump to the bottom of those instructionns to see how we do that, if interested.
21 1 Eric Church
22 2 Eric Church
h1. Next, we need LArSoft installed on the LArTF cluster.
23 2 Eric Church
24 6 Eric Church
The DAQ does not want to move up versions of LArSoft -- maybe ever -- but certainly not often. ups makes this doable, however, if it does become necessary. ubdaq-prod-evb:/uboone/larsoft currently holds v03_04_00 and a few older versions of installed LArSoft. e.g., LArSoft v02_05_01 is there -- the version that MicroBooNE's MCC5 used.
25 1 Eric Church
26 6 Eric Church
Installing LArSoft is conveniently handled by going to the FNAL scisoft server and downloading the pullProducts*.txt file to some local area on your machine at LArTF. Then, as root, run the script to install the binaries to /uboone/larsoft. (No need to build from source, since we're on SLF6.) pullProducts will know to update to a new vx_yy_zz directory, if indeed you're keen to do this. @chmod -R products.products /uboone/larsoft.@
27 1 Eric Church
28 1 Eric Church
29 2 Eric Church
h1. Developing in LArSoft with the DAQ installation.
30 2 Eric Church
31 5 Eric Church
The issue now is getting the uboonecode repository's @uboonecode/uboone/RawData/utils/LArRawInput*@ files to compile/link against our uboonedaq_datatypes and not the data structures that are hand-copied there. That unsavory manner is how uboonecode's develop branch works currently.
32 5 Eric Church
33 5 Eric Church
If we want to develop LArSoft, we must, in the usual way, form a release area on ubdaq-prod-evb at /home/user/larsoft and do a @mrb newDev vxx_yy_zz -T prof.slf6.vxx_yy_zz@, as usual. In srcs pull the code and importantly, switch to the branch that knows how to build against uboonedaq_datatypes. @mrb g uboonecode; git checkout feature/ubdaq@. At some point we will merge this branch into uboonecode's develop. However, doing that commits us to having uboonedaq_datatypes installed for all of LArSoft. It requires a push to /grid/fermiapp/products and a push to cvmfs, and as yet, we aren't ready to commit to that. Also, it can be argued swizzling and thus the dependence on uboonedaq_datatypes should be confined to the ubdaq-prod machines. For now, we work in feature/ubdaq. 
34 5 Eric Church
35 7 Eric Church
(The above setup @uboonecode v03_04_00 -qe6:prof@ gets you the installed build that originates from feature/ubdaq, as described here.)