THE EFFECTS OF THE ANALOG SETTINGS ON THE ALPIDE

 

PHYS291 project by Silje Vik, June 2020

 

Institute of Physics and Technology, University of Bergen

 

Contents

Introduction. 1

Background. 1

Particle detectors. 1

Monolithic Active Pixel Sensors. 1

ALPIDE. 1

DESY. 1

Set-up of experiment. 1

Data. 1

Method. 1

read_tree.c. 1

hits_counter.c. 1

default_vs_optimized.c. 1

layerhits_plotter_6energies.c and layerhits_plotter_5energies.c. 1

Results. 1

Discussion and Conclusion. 1

Acknowledgements. 1

Refrences. 1

 


 

Introduction

 

In this project the mTower data was analyzed to see how the analog settings of the ALPIDE-chips affected the data. The data were collected at DESY with different test-beam energies, with both default and optimized analog settings. The mTower is the stack of the ALPIDE chips that were tested; a total of 48 chips, 24 layers with 2 chips each.

 

The data files are .root files, so the first step will be to read the .root files. The main macro will later take the .root files as an argument to perform the analysis. The analysis will investigate the effects of the analog settings of the ALPIDE-chips, by looking at number of hits versus different settings controlling the threshold. Here the settings of VCASN and ITHR are central for the threshold in the analog part of the ALPIDE.

 

 

 

Background

 

Particle detectors

We can never “see” a particle directly, so we need a particle detector to detect where the particle has travelled and its properties, such as signature tracks, and the effect is having on the detector.[1] In order for a particle detector to detect a particle, is has to interact with it, and deposit energy, so the signals obtained are from these interactions with charged particles.[2]

 

 

Monolithic Active Pixel Sensors

Semiconductor detectors are sensitive to ionizing radiation, such as charged particles (in this experiment, beams of electrons were used). The main advantages of the Sensor and readout electronics of these are the optimization of sensor and readout electronics, large signal and that it is usable in high voltage applications. But it is very complex, non-standard technology, it has increased multiple scattering and has a large power consumption. So, the basic idea of the Monolithic Active Pixel sensor is that the readout circuit and sensor are on the same substrate, it is standard for CMOS and ASIC (Application-specific integrated circuit), and the sensors are very thin (~ 50 µm). [3]

 

CMOS, complementary metal-oxide-semiconductor, is a type of MOSFET (transistor) using symmetrical and complementary pairs of p-type and n-type MOSFETs for logic functions and to implement logic gates and other digital circuits. [4]

 

Et bilde som inneholder klokke

Automatisk generert beskrivelse

Figur 1 Electronics outside charge collection diode. [3]

The standard MAPS used in the ALICE experiment at CERN, has the electronics outside the charge collection diode, and the charge collection happens by diffusion (drift near the electrode). [3]

 

 

ALPIDE

Based on Monolithic Active Pixels and implemented in a 180 nm CMOS technology for Imaging Sensors, the ALPIDE chip is a particle detector. It measures 15x30 mm (X x Y), and consistins of a matrix of 512x1024 (X x Y) sensitive pixels, each containing a sensing diode, a front-end amplifying and shaping stage, a discriminator and a digital section, shown in figure 2. [5]

 

Et bilde som inneholder tekst, kart

Automatisk generert beskrivelse

Figur 2 Block diagram of the ALPIDE pixel cell. [5]

All of the pixels has a common threshold level. Global STROBE signals controls the latching of the discriminated hits in the storage registers. An external command (TRIGGER) triggers the generation of internal STROBE signals. The Priority Encoders, driven by state machines in the Region Readout Units has two major readout modes supported; one external triggering of the the strobing and readout, and one which continuously read out and integrates frames with programmable duration of the strobe assertion intervals. [5]

 

DACMONV and DACMONI are analog monitoring pads that are available to monitor the outputs of the internal DACs. A set of  on-chip 8 bit DACs generates all the analog signals required by the front-ends. To override any of the voltage DACs, the DACMONV pad can be used. To override any of the current DACs or to override the internal reference current used by the currend DACs, the DACMONI can be used. [5]

 

DESY

The data used for this project was obtained in an experiment at the Deutsches Elektronen-Synchrotron (DESY), which is a research center in Germany which researches photon science, particle accelerations, and particle and high energy physics. The fundamental research here specializes in development, construction and operation of particle accelerators, exploring the fundamental characteristics of matter and forces. [6]

 

 

Set-up of experiment

The set-up of the experiment was 24 layers (numbered 0 to 23), with 2 lanes each, that is, each layer contained 2 ALPIDE chips. As shown in Table 1, the numbering system of the lanes and chips are somewhat random, so for each layer, the lane number had to be typed in manually for each layer when counting the hits in the codes.

 

Table 1: The set-up of experiment, mTower [7]

Et bilde som inneholder tastatur

Automatisk generert beskrivelse

 

In Table 1 we can see that the beam goes into the mTower at layer 0 and goes to the right all the way trough layer 23 at the end.

 

VCASN (voltage) and ITHR (current threshold) determine the threshold height, and these parameters can be manipulated to determine the wanted threshold. The ITHR control the pulse shape (i.e. relative height and width) and baseline voltage of the analog front-end OUT_A node defined by VCASN. With increasing ITHR, pulse height and width reduce, whereas when VCASN increases, baseline voltage also increases and comes closer to the critical voltage for driving the output node. Consequently, rising ITHR increases the charge threshold whereas charge threshold is reduced by rising VCASN. [8]

 

There was used two settings:

-       Default: Same settings of all ALPIDES; VCASN = 50, ITHR = 51

-       Optimized settings: Same as default, but different for certain chips, see Table 2:

Table 2: Optimized analog settings.

Chip ID

VCASN

ITHR

14

52

44

13

52

44

17

52

44

19

48

50

20

48

50

23

48

50

8

46

50

9

46

50

11

52

50

 

 

Data

To obtain the histograms, data sets from the experiment were provided. First, the excel document (download here) was analyzed and sorted, to look at the good run qualities for electron beams only. The data sets of the runs were chosen for each possible energy in both default and optimized settings, and having about the average value of:

-       Time

-       Beam rate

-       Lead collimator

-       Internal collimator

-       Triggers per cycle

-       Mismatch lane

-       Mismatch board

-       ALPIDE voltage

-       CHIP 27

-       Number of triggers

The data, or run numbers, used for this project is listed in Table 2.

 

Table 2: The data used for this project.

Energy

Run with default setting

Run with optimized setting

1 GeV

conv_Run_1224.root

conv_Run_1359.root

2 GeV

conv_Run_1229.root

conv_Run_1260.root

3 GeV

conv_Run_1400.root

conv_Run_1335.root

4 GeV

conv_Run_1231.root

conv_Run_1338.root

5 GeV

conv_Run_1398.root

conv_Run_1308.root

5.8 GeV

None

conv_Run_1310.root

 

In Table 3 the number of triggers is calculated for each run number, by multiplying triggers per cycle with number of cycles. All entries except # of triggers were obtained from the excel document. The table notes which energy and if the run is optimized of default.

 

Table 3: Calculation of number of triggers for each run number used in this project

Energy

Run #

Trigger per cycle

# of cycles

# of triggers

Optimized or Default

1 GeV

1359

3000

273

819 000

Optimized

2 GeV

1260

1500

348

522 000

Optimized

3 GeV

1335

1500

198

297 000

Optimized

4 GeV

1338

1500

198

297 000

Optimized

5 GeV

1308

1500

198

297 000

Optimized

5.8 GeV

1310

1500

198

297 000

Optimized

1 GeV

1224

1000

398

398 000

Default

2 GeV

1229

1000

205

205 000

Default

3 GeV

1400

1500

198

297 000

Default

4 GeV

1231

1000

397

397 000

Default

5 GeV

1398

1500

198

297 000

Default

The number of trigger is used to normalized the plot by looking at average hits per trigger, then per layer, in the codes described below.

 

 

Method

 

read_tree.c

The read_tree.c program takes a .root file as an input and creates dynamic arrays to hold the values in it. It opens the file and reads it and adds numbers to the end of each array. Here it was chosen to return “laneNum”, since we want to count all the hits in each lane number.

Click here to see the code: read_tree.c

 

 

hits_counter.c

hits_counter.c will look count each entry for the given layer, consisting of TB1 and TB2, and add/count each entry as a hit. It then returns the total number of hits for that layer.

Click here to see the code: hits_counter.c

 

default_vs_optimized.c

Includes read_tree.c and hits_counter.c. It first defines vectors from the read_tree.c, then it reads the .root files of the data sets with default and optimized setting, along with the calculated number of triggers. Then it defines numeric variables holding numbers with decimal points, and then uses hits_counter to count hits for each layer. After this is completed, default_vs_optimized.c creates a canvas and defines the graph for the plotting, then two histograms, one for default, and one for optimized settings. Then it creates dots for each histogram and normalizes them by dividing by number of triggers. At the end, it draws the histogram, by defining style and color first, then merging the two histograms into the same plot/canvas, labeling both axes, and some bins on the x-axis. It also adds an information box, so we can see which is which of the histograms.

Click here to see the code: default_vs_optimized.c

 

layerhits_plotter_6energies.c and layerhits_plotter_5energies.c

These two files does exactly the same as default_vs_optmized.c, but instead of creating two histograms for default and optimized settings, they create 5 and 6 histograms for default and optimized settings, respectively.

Click here to see the codes: layerhits_plotter_6energies.c and layerhits_plotter_5energies.c

 

 

 

Results

 

Default vs Optimized settings for 1 GeV (obtained from default_vs_optimized.c):

 

Et bilde som inneholder kart, tekst

Automatisk generert beskrivelse

 

Default vs Optimized settings for 2 GeV (obtained from default_vs_optimized.c):

 

Et bilde som inneholder kart, tekst

Automatisk generert beskrivelse

 

Default vs Optimized settings for 3 GeV (obtained from default_vs_optimized.c):

 

Et bilde som inneholder kart, tekst

Automatisk generert beskrivelse

 

Default vs Optimized settings for 4 GeV (obtained from default_vs_optimized.c):

 

Et bilde som inneholder kart, tekst

Automatisk generert beskrivelse

 

Default vs Optimized settings for 5 GeV (obtained from default_vs_optimized.c):

 

Et bilde som inneholder kart, tekst

Automatisk generert beskrivelse

Default settings for 5 different energies (obtained from layerhits_plotter_5energies.c):

 

Et bilde som inneholder kart, tekst

Automatisk generert beskrivelse

Optimized settings for 6 different energies (obtained from layerhits_plotter_6energies.c):

 

Et bilde som inneholder kart, tekst

Automatisk generert beskrivelse

 

 

Discussion and Conclusion

Over all one can see that there are a greater number of hits per layer when using the optimized analog settings. This holds true for all the energies, even though the hit-distributions have slightly different shapes for the different energies.

 

 

In the plots where all the energies are compared for default and optimized settings, one can see that the hit-distribution is quite similar for different energies when using the same settings. The distribution for default settings has, on the other hand, a different shape than for the optimized settings.

 

Acknowledgements

I would like to thank Viljar Nilsen Eikeland and Emilie Haugland Solheim for their help in understanding the data sets and code better. Viljar also provided me with the idea of the project, a template for the read_tree.c code and the access to the data sets, along with the information about them. Emilie has been patient with me and providing me with a better understanding of the experiment and data sets, as well as helping me out ideas for my codes. She also ran the code for me when my harddrive crashed, since I then was not able to install root again (luckily, I had backup of most of the code).

 

The end of the semester has been challenging due to the COVID-19 situation, so I would like to thank Dieter Röhrich, Boris Wagner and Ladislav Kocbach for being patient, helpful and available when I needed their help in the PHYS291 course. And also for enabling me to do a project I’m very excited to learn more about.

 

 

 

Refrences

 

[1]  https://stfc.ukri.org/public-engagement/activities-for-schools/particle-physics-for-you/what-is-particle-physics/what-is-a-particle-detector/

[2]  https://www.desy.de/~garutti/LECTURES/ParticleDetectorSS12/L1_Introduction_HEPdetectors.pdf

[3]  https://www.physi.uni-heidelberg.de/~schoning/Vorlesungen/MVSEM_Tracking_WS17/Sauer_Christof.pdf

[4]  https://en.wikipedia.org/wiki/CMOS

[5]  ALPIDE Operations Manual V0.3 (2016, DRAFT) - Internal Communication, pdf here.

 

[6]  https://en.wikipedia.org/wiki/DESY

[7]  Table made by Emilie Haugland Solheim, UiB,2020.

[8]  http://bora.uib.no/bitstream/handle/1956/18057/Masters-Thesis_Dept-of-Physics_Susmita-Afroz_June-2018.pdf?sequence=1&isAllowed=y