Setup MIDAS experiment at TRIUMF

From MidasWiki
Jump to navigation Jump to search

Prepare the user account

  • Setup the user account for running this instance of midas. For machines part of the LADD cluster, follow these <a href="">instructions</a>
  • check that the account is using the /bin/tcsh shell
  • make $HOME/.cshrc look like this:
#!/bin/echo You must source

setenv LANG C
setenv SVN_EDITOR "emacs -nw"
setenv CVS_RSH ssh
setenv MIDASSYS $HOME/packages/midas
setenv ROOTSYS  $HOME/packages/root
setenv MIDAS_EXPTAB $HOME/online/exptab

# setup the MIDAS mserver

switch (`hostname`)
case ladd05*:
    unsetenv MIDAS_SERVER_HOST

# select 64-bit or 32-bit MIDAS and ROOT

switch (`uname -i`)
case i386:
    #export ROOTSYS=/triumfcs/trshare/olchansk/root/root_v5.20.00_SL45_32
    setenv ROOTSYS /triumfcs/trshare/olchansk/root/root_v5.28.00_SL55_32
    setenv PATH .:$MIDASSYS/linux-m32/bin:$PATH
    #export ROOTSYS=/triumfcs/trshare/olchansk/root/root_v5.26.00b_SL54_64
    #setenv ROOTSYS /triumfcs/trshare/olchansk/root/root_v5.28.00_SL55_64
    setenv ROOTSYS $HOME/packages/root
    setenv PATH .:$MIDASSYS/linux/bin:$PATH

setenv PATH .:$HOME/online/bin:$HOME/packages/roody/bin:$ROOTSYS/bin:$PATH

  • mkdir $HOME/packages
  • Logout and login again, for .cshrc changes to take effect

Install ROOT

  • Identify the Linux version: RH9 (Red Hat Linux 9), FC3 (Fedora Core 3), RHEL4/SL4 (Red Hat Enterprise LInux 4/Scientific Linux 4), SL5, SL6: more /etc/redhat-release
  • Decide to use 32-bit or 64-bit ROOT
  • cd $HOME/packages
  • ls -l /triumfcs/trshare/olchansk/root/ ### to see all available ROOT packages
  • ln -s /triumfcs/trshare/olchansk/root/root_vNNN_VVV_BB root, where NNN is the latest available version of ROOT ("ls -l /triumfcs/trshare/olchansk/root"), VVV is the Linux version code (RH9, FC3, SL4, etc) and BB is "_32" or "_64" for 32-bit or 64-bit ROOT. For example: /triumfcs/trshare/olchansk/root/root_v5.10.00_SL40
  • Check that ROOT works: "echo $ROOTSYS", "$ROOTSYS/bin/root"

Install MIDAS


Install ROODY

Prepare VME hardware

Hardware check list:

Setup the experiment environement

  • decide which computer will host MIDAS (where MIDAS shared memory buffers will reside). This computer will run the mserver, mlogger and mhttpd.
  • in .cshrc put the name of this computer into the section for setting MIDAS_SERVER_HOST. Note that multiple experiments can run on the same computer by using different mserver ports (7071, mhttpd ports (8081) and roody ports (9091)
  • mkdir $HOME/online
  • cd $HOME/online
  • mkdir bin src elog history
  • mkdir -p /ladd/data1/t2kvme5/data; ln -s /ladd/data1/t2kvme5/data $HOME/online
  • create the exptab file "$HOME/online/exptab" following the example below. The first entry (exptname) is the name if the DAQ system (MIDAS experiment name), the second entry (/home/USER/online) is the location of MIDAS shared memory buffers (by convention, $HOME/online), the third entry (kopio03) is your username.
exptname /home/kopio03/online kopio03
  • create $HOME/online/bin/, replacing XXX with the hostname of the machine running the experiment (and changing the mserver and mhttpd ports, as needed)

cd $HOME/online

case `hostname` in
    echo "Good, we are on XXX!"
    echo "The start_daq script should be executed on XXX"
    exit 1

odbedit -c clean

mhttpd  -p 8081 -D
mserver -p 7071 -D
mlogger -D

#end file
  • run $HOME/online/bin/
  • open the midas status page at http://localhost:8081 (you will see most stuff "red" as nothing is running yet)
  • cd $HOME/online/src, copy Makefile, fevme.cxx
  • make (creates fevme.exe executable)
  • run ./fevme.exe (on the computer with the VME interface, could be different from computer hosting the experiment)
  • odbedit, run these commands: (replace user names and directory names)
    set "/Logger/Message file" "/home/kopio03/online/midas.log"
    set "/Logger/Data Dir"     "/home/kopio03/online/data"
    create STRING "/Logger/History dir"
    set "/Logger/History dir"  "/home/kopio03/online/history"
    create STRING "/Logger/Elog dir"
    set "/Logger/Elog dir"     "/home/kopio03/online/elog"
  • run $HOME/online/bin/
  • odbedit, run these commands: (replace user names and directory names)
    set "/Logger/ODB dump file" "/home/kopio03/online/history/run%05d.xml"
    set "/Logger/ODB dump" "y"
    set "/Logger/Channels/0/Settings/Filename" "run%05d.mid.gz"
    set "/Logger/Channels/0/Settings/Compression"   1
    set "/Logger/Channels/0/Settings/ODB Dump" "y"
  • open web browser firefox http://localhost:8081
  • save the url bookmark to the "personal toolbar"
  • start run, end run
  • ...
  • go back to the midas web page, everything should be green
  • start a run
  • send signals to the ADC gate
  • you should be getting events
  • to look at data, proceed with setting up the <a href="../../../SR/rootana">ROOT analyzer</a>
  • Install VMIC VME driver (universe-II pci/vme bridge)

    • login as root (ssh root@localhost)
    • get latest version of vmic driver from ladd00: scp username@ladd00:/home/olchansk/daq/vmisft-7433-NNN-KOMMM.tar.gz .
    • tar xzvf vmisft-7433-3.5-KO2.tar.gz
    • chown -R root.root vmisft-7433-3.5-KO2
    • cd vmisft-7433-3.5-KO2
    • cd vme_universe
    • make
    • make install
    • cd ..
    • make
    • edit /etc/rc.local, add these lines:
      modprobe vme_universe
      mkdir -p /dev/bus/vme
      mknod /dev/bus/vme/ctl c 221 8
      chmod a+wr /dev/bus/vme/ctl
    • run "modprobe vme_universe", run "lsmod" to check that the vme_universe module was loaded
    • run "ls -l /dev/bus/vme/ctl" to check that the VME device file exists, it should be "crw-rw-rw- 1 root root 221, 8 Feb 17 15:47 /dev/bus/vme/ctl"


    Install GEF VME driver (tsi148 pci/vme bridge)

    • login as root (ssh root@localhost)
    • yum install kernel-devel
    • get latest version of the driver from ladd00: scp username@ladd00:/home/olchansk/daq/v7865/v7865-sdk-linux-R01.00-KONNN.tar.gz
    • tar xzvf v7865-sdk-linux-R01.00-KO6.tar.gz
    • chown -R root.root v7865-sdk-linux-R01.00-KO6
    • cd v7865-sdk-linux-R01.00-KO6/gefvme/module
    • make
    • make install
    • cd $HOME
    • edit /etc/rc.local, verify that it has these 2 lines:
      modprobe gefvme
      sh /root/gefvme-makedevs
    • run "modprobe gefvme", run "lsmod" to check that the gefvme module was loaded
    • run "/home/olchansk/daq/vme/vmescan_gef.exe" to check that vme access works.