This procedure describes how to perform the uniformity test for the verification of the TELL1 readout boards. The idea is to check that the response of each TELL1 board in a crate is similar by taking data with the same dummy module and the same set of readout cables. Large deviations might indicate problems with the ARX cards or the TELL1 itself. The procedure assumes that you are logged on to a windows machine in the online network. Logins to Linux machines proceed via Exceed and Putty.





  1. Login to the Linux machine vedaqa02 or vedaqc02 (depending to which half the TELL1 under test belongs) and change the directory to /group/velo/ccpc/scripts. Start the data acquisition on the TELL1 by using the script startTell1DaqUniformityTest with the following syntax: ./startTell1DaqUniformityTest Tell1IpAlias
  2. Start a console on the TELL1 by using the script startTell1ConsoleUniformityTest in the same directory with the following syntax: ./startTell1ConsoleUniformityTest Tell1IpAlias.


  1. Connect to the TFC PVSS project by clicking on the link "TFC_UI_DEN" in the directory G:\online\ecs\Shortcuts\TFC
  2. Select the tab "FSM" in the "Device Editor and Navigator"
  3. To see all the Odin Partitions click on "+" left of "TFC" and then on "+" next to "lock TFC".
  4. To open the PVSS control panel select the Odin Partition "TFC_PART03", right click and select "View".
  5. Click "Select recipe"--> "Cache"-->*ODIN3_slicetestOdinControl --> Set Recipe.
  6. Click "Configure" on the State button of TFC_PART03. If succesful, the button should turn blue with the word "READY" in it.

Control Board and Hybrid

  1. Login to the Control PC vedaqa01 (Linux) and start the Console of PVSS by executing the command "startConsole".
  2. Select the project "VEDAQACB" if this is not already done.
  3. Start the project by pressing on the green traffic light.
  4. Select the FSM tab in the Device Editor & Navigator window --> Right click "VELOA_DAQ_M09"-->View.
  5. Click "Configure" on the State button of VELOA_DAQ_M09. You can check if the Beetles are powered and properly configured by double clicking "VELOA_DAQ_M09_HYB5". All the Beetles should have a OK next to them. If you want to turn on/off test pulses click "Read" in the Delay25 chip field. Then check/uncheck the Test Pulse button. For the uniformity test we don't use test pulses. NB! Never configure the Beetles while sending triggers from the TFC system! It won't work.


  1. Login to the filter farm node hlte0603 (Linux) and change the directory to /group/velo/sw/scripts.
  2. Setup the environment for the eventbuilder by executing the command "source". You should end up in the directory /group/velo/sw/cmtuser/Online_v3r2/Online/OnlineTasks/v1r4/job
  3. Setup the environment for the eventbuilder by executing the command "source setpaths".
  4. Open a shell on any machine in the online network. Change to the directory group/velo/sw/scripts. Adjust the configuration files of the eventbuilder to the TELL1 under test by making use of the PERL script configureEventbuilderUniformityTest with the following syntax: ./configureEventbuilderUniformityTest Tell1IpAlias

Steps 1-3 have only to be executed when the test is started from scratch.

Data Taking

  1. Send 200 triggers from the TFC system by ...
  2. Check that meaningful data arrive on the TELL1 by pressing "d" followed by enter, then "m" followed by enter and browsing through the raw data values of the different PP FPGAs. You should see the Beetle headers and all other links should have values close to the pedestal.
  3. If everything looks good on the console, send 10.000 triggers from the TFC system.

Data Analysis


  1. Log on to a filter farm PC (hlte0604 or hlte0603) on the online network.
  2. Set up Vetra by executing "setenvVetra v5r0" (or whatever version of Vetra we are using at the moment).
  3. Run the setup script in to our Vetra installation group directory: "source $User_release_area/Vetra_v5r0/Velo/Vetra/v5r0/cmt/"
  4. Go to the Vetra job directory: "cd $VETRAROOT/job". In here you will find a symbolic link "uniformitytest" to the directory with our data files on the file server.
  5. To analyse the file uniformitytest_tell1_249_ntp_071114_1121.dat which holds data for TELL1 249 execute:
    "../scripts/ uniformitytest/uniformitytest_tell1_249_ntp_071114_1121.dat 249" <--- i.e. run a script that takes the datafile and TELL1 number as arguments.
  6. Vetra will now run, and when it's finished the output can be found in /group/velo/uniformitytest/root/uniformitytest_tell1_249_ntp_071114_1121.root.


  1. Go to the directory with the root files: "cd /group/velo/uniformitytest/root"
  2. To run the macro that presents the output of the uniformity test, open root and load the macro:
    ".L ../macros/CompareToReference.C"
  3. The macro takes at between 1 and 4 arguments depending on the usage.
    "CompareToReference("filename.root","outputformats",rack name, exit-flag)"
    • The allowed output formats are root,ps,eps,png,pdf,jpg. To get a ps file, a root file and a png file, simpy use "psrootpng" as 2nd argument. Default is "", i.e. no saving. The saved files will get the filename filename + "_residual".format
    • As rack name, enter (without quotation marks!!!) D3E04U for example.
    • The exit flag should be set to 0 in interactive mode, and 1 if you are executing the macro from an external script. If its value is 1, the macro will quit root after finishing. Default is 0.

So, we want to analyse the file uniformitytest_tell1_249_ntp_071114_1121.root with data for TELL1 249, which is located in rack D3E03L, and output the results to a ps and root file. We type:
"CompareToReference("uniformitytest_tell1_249_ntp_071114_1121.root ","psroot",D3E03L)"

  1. The macro will use the filename to extract the the TELL1 number, and the rack name to select an appropriate reference file. Then, noise after pedestal subtraction of the TELL1 under test will be compared to the reference TELL1. If everything looks good, you should get a canvas like the one below.
  2. This is a well behaving TELL1, since the "difference" plot is close to 0 in the entire channel range and the residual plot is centered around 0 with no outliers.


One step further, executing the macro from a script.

In the same directory as the macro there is a also a bash script for mass production, CompareToReference If you've read the rest the Vetra part of this tutorial and know a few things about shell scripts it should be easy to understand! Good luck!

At the End of the Day

  1. Stop the PVSS project for the Control Board and Hybrid by clicking on the red traffic light in the corresponding PVSS console.

-- ArasPapadelis - 13 Nov 2007 -- OlafBehrendt - 16 Nov 2007

Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg putty_x11config.JPG r1 manage 34.0 K 2007-11-16 - 12:09 ArasPapadelis Putty X11
JPEGjpg putty_x11config.jpg r1 manage 34.0 K 2007-11-16 - 12:10 ArasPapadelis Putty X11
PNGpng uniformitytest_tell1_208_ntp_071114_1136_residual.png r1 manage 27.2 K 2007-11-16 - 11:19 ArasPapadelis Example plot
PNGpng uniformitytest_tell1_249_ntp_071114_1121_residual.png r1 manage 27.7 K 2007-11-16 - 11:23 ArasPapadelis Example plot
Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2007-11-29 - OlafBehrendt
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback