Test Beam Facility For hIgh Rate STudies (TB.First) @IPHC

This page contains instructions and illustrations on how to run the test beam facility at Strasbourg. The page is under construction and for the moment contain only relevant information for the test of a tracker phase 2 2S mini module (2CBC3). FIXME add documentation about CBC2/3 calibration


A quick set of useful contacts in the table below:

Jeremy Andrea +41 75 411 1805 jandrea@cernNOSPAMPLEASE.ch
Caroline Collard caroline.collard@cernNOSPAMPLEASE.ch
Clément Grimault clement.grimault@iphcNOSPAMPLEASE.cnrs.fr
Ulrich Goerlach ulrich.goerlach@iphcNOSPAMPLEASE.cnrs.fr
CYRCé local phone (fix) +33 388106566  

FIXME add more contacts from CYRCé

Description of the current setup, installation

ping // ping FC7 ping // ping GLib

Installation of the DUT (pT mini module)

Grounding of the mini module

Here is a picture of the grounding of the mini-module. The ground is connected to the ground of the LV power supply. It is also attached to the DAQ crate.


Cabling and setting of the LV (UIB)

The UIB needs to be powered by multiple low voltage values. The various voltages can be seen on the following pictures :


The voltages to used are mention directly on the PS. It might have to be slightly increased, so to have the correct voltages at the entrance of the UIB. This has to be verified and adjusted with a voltmeter. There is a colour code for the cables. The colour of cables seen on the PS connectors matches the colour of cables on the UIB, as can be seen in the following picture :



  • there is a black strips on one of the green cable. The position of the cable in the UIB can be seen on the pictures above. It should corresponds to the left green cable on the PS (to be verified)
  • a USB cables has to a POWERED USB port !!. If the s-curves look strange, the USB port might not be powered properly. The easiest is to connect the USB cable directly on the port located on the LV power supply.
  • not to damage the UIB, the LV should be powered simultaneously.

Cabling and setting of the HV

WARNING : the bias voltage should be negative , make sure the led blue led on the right side are on (not the red one). To change the polarity (in principle you don't have to do it, it should be well define by default) .


For changing the High Voltage value : add pictures

  • make sure the HV channels are OFF. WARNING, the 2 HV channels of the 2S minimodule should be off/on at the same time. We should avoid as much as possible differences of potential between the 2 channels.
  • with the central button, highlight the channel you want to change. Click on the select button.


  • click on the voltage button


  • click on the edit button to set the new voltage. Use the central big button (turning it) to set the voltage. Use the digit button to change digit




  • click on the apply button and go back to the main page. To start ramping the voltage, push the channel button.

Preparing the CRATE :

Fixme add picture, with a description of all the element in the crate, how the FC7 connect to the UIB, etc... Describe powering up, cheks and these sort of stuffs.

Trigger system with scintillators

  • 2 beam scintillators for coincidence, each 2mm thick, size of pixel module (≈ 40x67mm2)
  • Hamamatsu small PMTs H10721 with low voltage control
  • Very fast signals
  • In special housing to allow mounting without heavy scotch tape in beam but testing in lab
  • Flexibility of changing scintillator

Very fast signals

Trigger supervisor on GLib

Trigger logic


Synchronisation with the beam

Installation of the DAQ software (Ph2_ACF)

The DAQ PC is sbgat231, login xtaldaq, password xtaldaq.

The description and instalation of the DAQ soft is shown in the gitlab https://gitlab.cern.ch/cms_tk_ph2/Ph2_ACF

Here is some description of the framework https://indico.cern.ch/event/842824/contributions/3538260/attachments/1921782/3179353/DAQWorkshop_HandsOn.pdf from the tracker phase 2 DAQ workshop https://indico.cern.ch/event/842824/timetable/?view=standard

for setting up the FC7 : https://indico.cern.ch/event/842824/attachments/1920624/3177632/PreparingFC7.pdf

and for installing soft


on CC7

 sudo yum install boost
sudo yum install boost-devel

create a file (touch) sudo nedit sudo /etc/yum.repos.d/ipbus-sw.repo &

and add the following lines in that file

name=IPbus software repository

name=IPbus software repository updates

sudo yum clean all
sudo yum groupinstall uhal
sudo yum install root
sudo yum install root-net-http root-graf3d-gl root-physics root-montecarlo-eg root-graf3d-eve root-geom libusb-devel xorg-x11-xauth.x86_64
 sudo yum install cmake
git clone https://:@gitlab.cern.ch:8443/fravera/Ph2_ACF.git
mkdir Ph2_ACF/build 
cd Ph2_ACF/build 
sudo yum install pugixml
sudo yum install pugixml-devel
cmake ..
source setup.sh

the list of available firmware :

./bin/fpgaconfig -c settings/D19CDescription.xml -l

To load another firmware :

./bin/fpgaconfig -c settings/D19CDescription.xml -f d19c_8cbc3-1_8cbc3-2.bin -i d19c_8CBC3_workshop.bin

to determine the firmware version to use :

./bin/fpgaconfig -c settings/D19CDescription.xml -i d19c_8CBC3_workshop.bin

Instructions for calibrating the system (CBC3 mini module for the moment)

  • start by verifying that the box of the mini-telescope is close and light tight. Deplete to -10 V and verify the current on the HV power supply. It should remain well below the microA. Once verified, you can set the HV to 400V, the full depletion being around 300V. After stabilizing, the current consumption of current at 400V should be (KIT double mini module) : 0.1377 microA, 0.4368 microA. This is tested within the casemate. Could be different in the lab.

The following calibration (offset and noise) can be done with external clock (if available)

 <Register name="ext_clk_en"> 1 </Register>   <!-- the external clock should be at 42.5 MHz (85/2) -->  

But the internal trigger should be used

 <Register name="trigger_source"> 3 </Register> <!-- default value is 3 --> 

to do : add pictures illustrating the results of the calbiration

bin/calibrate -f settings/IphcDescription.xml    

The clibration files are produced in the Results folder In IphcDescription.xml, change the path of in IphcDescription.xml the new ones obtained by the calibration

 bin/calibrate -f settings/IphcDescription.xml -n 

at full depletion, noise should be at 5-6 Vcth. Question : out of the scan, how to determine the Vcth value ? From the value of noise from the plots, one needs to calculat the threshold, as 5 sigma above the noise, so it is

threshod = 590 (the pedestal value, not to change) - noise*5(sigma).

Example, for a noise of 9, threshold = 590-9*5 = 545. this value has to be reported to

*Enable testpulses and put them on e.g 180.Testpulses can be enabled and put to a certain height (Low: 250 , high: 0, because of electron mode) with

  <TestPulse enable="1" polarity="0" amplitude="180" channelgroup="0" delay="0" groundothers="1"/>

  • set Vcth Threshold at 550 Vcth (Pedestals defaults value is 590, thus 40 Vcth*180 e-/Vcth ~7200e- threshold

  • disable external clock

   <Register name="ext_clk_en"> 0 </Register> 

  • set trigger value at 6

  <Register name="trigger_source"> 6 </Register> <!-- default value is 3 -->

  • enable handshake mode (see comments about handshake below)

  <Register name="data_handshake_enable"> 1 </Register>

  • run :
    bin/commission -f settings/IphcDescription.xml -m 0 -r 400 --notdc -l

  • disable testpulses

<TestPulse enable="0" polarity="0" amplitude="230" channelgroup="0" delay="0" groundothers="0"/>

  • set Vcth Threshold at 550 Vcth (Pedestals defaults value is 590, thus 40 Vcth*180 e-/Vcth ~7200e- threshold

    • Enable external clock

<Register name="ext_clk_en"> 1 </Register>

    • Enable external trigger

<Register name="trigger_source"> 5 </Register> <!-- default value is 3 --> 

    • run :
       bin/commission -f settings/IphcDescription.xml -m 0 -r 400 --notdc -l

the latency found (max of the distribution) has to be propagated to the xml file :

 <Settings threshold="420" latency="68"/> 

The same procedure as the one described in the section "Latency scan with signal particles" has to be followed, except that the call of the function should be :

 bin/commission -f settings/IphcDescription.xml -m 0 -r 400 --notdc -l

  <Register name="common_stubdata_delay"> 194 </Register>  

Data taking program and analyses

Trigger tests

Tests to be done in the lab

  • Test scintillators with source. Charaterise their response and verify they behave similarly. Same trigger rate for the same amplification,

  • Verify carefully the NIM cards, crate and cables. Make sure every component is behaving as it should (no false contact)

  • Rebuilt NIM logic carefully, with the controlled material, and test with a source

Tests to be done in the beam

  • test individually the scintillators in the beam, charaterise their response and verify they behave similarly. Changer également leurs positions pour voir si la réponse est la même

  • install the two scintillators and verify that the rates are the same. If the are not, invert in the telescope in two scintillators, to see if this is related to the position of the scintillator (to see if it is a acceptance/multiple scattering issue).

  • add a third Scintillator behind for reference, to be used as an extra reference,

Special request to the DAQ team : Can we have a multi hit TDC with DAQ ? Can we have bit pattern unit with DAQ?

Link to the googlesheet with measurement points link

Bias scan and re-calibration

The idea of the scan is to determine a voltage point for which the amount of charge collected is relatively close to MIP kind of beam. The idea behind is to run under-depleted and to increase the thresholds so to deal with the extra noise, while keeping high efficiency. The procedure is the following :

  • use a low intensity beam. 10 fA seems to be ok,

  • measure the "efficiency" at 400 Volts (by looking at the number of events without any hits).

  • decrease the bias voltage to 25 Volts by steps of 25 volts, and for each point :

    • re-perform a s-curve scan for the various points, calculate the corresponding Vcth threshold, WARNING : that has to be done without beam

bin/calibrate -f settings/IphcDescription.xml -n

WARNING : intern trigger should be used

<Register name="trigger_source"> 3 </Register> <!-- default value is 3 -->

    • put back the beam, and take data (miniDAQ) for each voltage point. The threshold has to be update for each point, according to the previous scurve scan

./bin/miniDAQ --dqm -f settings/IphcDescription.xml -e 500000 --daq output.dat

WARNING : external trigger should be used

<Register name="trigger_source"> 5 </Register> <!-- default value is 3 -->

    • for each point, check how evolve the number of strip

Rate scan

this idea of this scan is to increase the rate of particles, and see at which point the module starts to show inefficiencies. On take then data with the command

./bin/miniDAQ --dqm -f settings/IphcDescription.xml -e 500000 --daq output.dat

And the compare the number of cluster for a given amount of trigger, with the low rate case.

WARNING : for low rate values, it is difficult to know the exact rate from the monitoring of the Cyclo. The rate has to be determined from the scintillators themselves. This can be done from the trigger counter positioned on the NIM rack. It is counting the number of triggers for 10 seconds => division by 10 should give the trigger rate. Some caveat however :

  • for this to work, the clock of the trigger and of the cyclo should be in perfect synch (for adjustments, see with Ulrich),
  • there is a factor of 2 difference between the trigger rate and the real particle rate (1 bunch over two is ignored), there is a veto there (if I (Jeremy) understood properly). But we need to ask Ulrich for the details.

Link to the googlesheet with measurement points link

-- JeremyAndrea - 2019-07-17

Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg 20190716_102740.jpg r1 manage 2301.4 K 2019-07-22 - 09:58 JeremyAndrea  
JPEGjpg 20190716_104728.jpg r1 manage 2628.8 K 2019-07-22 - 09:58 JeremyAndrea  
JPEGjpg 20190716_105246.jpg r1 manage 2564.3 K 2019-07-22 - 09:49 JeremyAndrea  
JPEGjpg 20190717_090509.jpg r1 manage 2192.4 K 2019-07-17 - 09:42 JeremyAndrea  
JPEGjpg 20190717_090517.jpg r1 manage 2127.1 K 2019-07-17 - 09:42 JeremyAndrea  
JPEGjpg 20190717_090525.jpg r1 manage 2106.2 K 2019-07-17 - 09:42 JeremyAndrea  
JPEGjpg 20190717_090532.jpg r1 manage 2081.3 K 2019-07-17 - 09:42 JeremyAndrea  
Edit | Attach | Watch | Print version | History: r18 < r17 < r16 < r15 < r14 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r18 - 2019-10-15 - JeremyAndrea
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

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