Qualification of the CMS Barrel Pixel Detector Modules
Transcription
Qualification of the CMS Barrel Pixel Detector Modules
Preprint typeset in JINST style - HYPER VERSION Qualification of the CMS Barrel Pixel Detector Modules Sarah Dambach1,2 , Christina Eggel1,2 , Urs Langenegger1, Andrey Starodumov2 and Peter Trüb1,2 1 Institute for Particle Physics, ETH Zurich, 8093 Zurich, Switzerland Paul Scherrer Institute, 5232 Villigen PSI, Switzerland E-mail: [email protected], [email protected], [email protected], [email protected], [email protected] 2 A BSTRACT: To be written. K EYWORDS : Particle tracking detectors, Detector alignment and calibration methods. Contents 1. Introduction 1.1 Barrel Detector Modules 1.2 Controls of the Readout Chip and the Token Bit Manager 1.3 Optimization Criteria 1.4 Test Setup 1 2 3 6 9 2. Startup Tests and Threshold Measurements 2.1 Startup Tests 2.2 Threshold Measurements 10 10 11 3. DAC Optimization, Tests, and Calibration 3.1 DAC Optimization 3.2 Functionality Tests 3.3 Performance Tests 3.4 Calibration Algorithms 12 12 16 18 21 4. Production Results 4.1 Production 4.2 Verification of DAC Setting 27 27 27 5. Test procedure 5.1 Test suite I (after assembly) 5.2 Test suite II (before mounting) 31 31 33 6. Module grading 6.1 Pixel defects 6.2 Chip performance 6.3 Module sensor quality 6.4 Module production quality 6.5 Overall production quality 6.6 Summary of mounted modules 34 34 36 36 37 38 38 1. Introduction The CMS experiment [1] is a general-purpose detector for the Large Hadron Collider at CERN. The CMS tracking system consists of two subdetectors: the silicon pixel detector at the center of the experiment and the silicon strip detector. The pixel detector comprises three barrel layers at radial –1– distances of 4.4 cm, 7.3 cm, and 10.2 cm from the beampipe and two forward disks at ±34.5 cm and ±46.5 cm longitudinal distance from the interaction point. The barrel part consists of 672 modules and 96 half-modules, the forward part of 672 plaquettes. The tracking system of the CMS experiment is designed to provide precise and efficient measurements of charged particle trajctories and the reconstruction of decay vertices of long-lived particles. At the design luminosity of 1034 cm−2 s−1 on average about 1000 charged particles will emerge from the interaction region every 25 ns. This environment requires a radiation-hard tracking detector with high granularity and fast response. The readout chips of the CMS tracking detectors are fabricated in standard 0.25 µ m CMOS technology, which is inherently radiation hard due to thin gate oxide and special design rules. XXX Also sensor radiation damage? XXX To keep the occupancy at the innermost layers below 1%, a pixelated detector is required. With a pixel size of 100 µ m × 150 µ m in the rφ × z directions the expected occupancy is at 10−4 in the innermost layer. This low occupancy allows fast track finding at the high-level trigger. In the barrel pixel detector, the drift of the electrons to the collecting pixel implant is perpendicular to the 3.8-T magnetic field. This results in a Lorentz drift spreading the charge over several pixels. Charge interpolation of the analog readout signal provides a substantially improved hit resolution compared to the single-pixel resolution. This paper is organized as follows. First a short description of the pixel barrel detector modules is provided, focusing on the aspects relevant for testing. In section 1.4 the test setup used for module qualification is discussed. Section 3 provides the implementation details of the individual tests performed in the course of module qualification, section 4 shows the results. The full test suite performed for module qualification is described in section 5. The scheme for grading the tested modules and the overall results for all barrel detector modules are given in section 6. 1.1 Barrel Detector Modules The pixel barrel detector is built in a modular way and comprises 672 modules and 96 half-modules with a total of 48× 106 pixels. A standard module has a size of 66.6 mm × 26 mm, and weighs 3.5 g, and comprises 16 readout chips (ROC). Half-modules, necessary to combine the two detector half shells without gap, contain 8 ROC. The barrel modules are built out of the following components (see Fig. 1). The silicon sensor with a thickness of 285 µ m is micro-bumpbonded to the ROC by means of indium bumps with a diameter of about 20 µ m [2], connecting each sensor pixel with a pixel unit cell (PUC) on the ROC. The sensor is covered by a High Density Interconnect (HDI), distributing signals and voltages to the ROC, and serving as an interface to the front end electronics. The connection is established over two cables: (i) a power cable for supply and bias voltages and (ii) a Kapton multi-channel signal cable for the control signals and the analog readout. The Token Bit Manager (TBM) chip on the HDI organises the readout of all ROC. The base strips beneath the ROC provide the necessary mechanical rigidity and are used to mount the module onto the support structure. On the detector up to 12 modules will form a Control Network. The purpose of the ROC [13] is to measure the charge produced in the sensor, amplify it, compare it to an adjustable threshold, store it during the latency of the L1 trigger, and finally to send its amplitude in zero-suppressed mode over an optical readout chain to the off-detector analog-digital –2– a) b) Figure 1. (a) Exploded view of a pixel barrel module. The components, from top to bottom, are: signal cable, power cable, HDI, silicon sensor, 16 ROC and base strips. (b) Photograph of a pixel barrel module. converters. Its amplitude will be referred to as ‘pulse height’ (PH). The ROC consists of three main building blocks: 4160 pixel unit cells, 26 double column peripheries, and one control and interface block. The 4160 pixels are arranged in 52 columns and 80 rows in z and rφ , respectively. The readout is organized using the column drain mechanism [?], one token arranges the readout of two neighboring columns (called double column). 1.2 Controls of the Readout Chip and the Token Bit Manager A schematic view of the readout chain in the ROC is shown in Fig. 2. The module characteristics and performance are controlled by 26 digital-analog converters (DAC) and 3 registers on the ROC and three DAC on the TBM. The DAC on a ROC can be separated into two main categories: (i) DAC set to the same value on all ROC. While some of them are not used, the majority has been set to optimal values that do not differ from ROC to ROC. (ii) DAC adjusted for every single ROC. Both types of DAC are now introduced in their order along the readout chain. The detailed discussion of DAC optimization will follow in section 3. The DAC Vleak_comp is used to compensate for a possible leakage current in the sensor. At the startup of the experiment the leakage current is expected to be small, and this DAC is set to 0. A ROC-internal charge injection signal can be used to simulate deposited charge in the sensor. Its amplitude is controlled through Vcal, an 8-bit DAC with a high and low range setting. In the former one unit of Vcal corresponds to ≈ 65 electrons, in the latter to about ≈ 455 electrons (see section 3.4 for the calibration of these values). If not mentioned otherwise, Vcal will be given in high range DAC units. The DAC CalDel delays the charge injection with respect to the ROC clock, one unit in CalDel corresponds to XXX ns. The two 4-bit DAC VrgPr and VrgSh and the two 8-bit DAC VwllPr and VwllSh control the preamplifier and shaper system; they are intended to be set to identical values, respectively. Figure 3a) shows the timewalk as a function of these four DAC. Here timewalk refers to the time difference of signals of different amplitude crossing the threshold. XXX Determination of timewalk XXX Figure 3b) shows the PH as a function of VhldDel for different values of VwllSh = VwllPr. Small DAC settings correspond to small timewalk, but also to small signal amplitudes. The 8-bit DAC VhldDel controls the sampling point of the signal amplitude. The 8-bit DAC Vhld- –3– Figure 2. Schematic view of the readout chain inside the readout chip. Del should be set so that the signal is sampled at its maximum value independent of its size, i.e., the timewalk should be minimal. Since the timewalk should be minimized and the PH maximized, an optimum was determined as VrgPr=VrgSh=0 and VwllPr=VwllSh=35. Figure 3c) shows the PH as a function of VhldDel for different low-range Vcal settings. The amplitude decrease for high Vcal settings is due to saturation in the readout chain XXX. A value VhldDel=160 is consistent with the –4– requirements above. a) b) c) Figure 3. (a) Timewalk as a function of the preamplifier and shaper DAC. For each measurement, VrgPr=VrgSh and VwllPr=VwllSh. (b) Pulse height (PH) as a function of VhldDel and VwllSh = VwllPr. (c) PH as a function of VhldDel for different Vcal values. The threshold is set for the entire ROC with the DAC (VthrComp). Four trim bits allow a threshold modification per pixel (scaled with Vtrim). These DAC depend on the desired threshold and have to determined for each ROC and pixel. After the PUC the signal is sent to the double column periphery where an offset can be added with VoffsetOp and the 4-bit DAC Vbias_sf. The two DAC have overlapping functionalities, and since VoffsetOp is optimized (see section 3.1), Vbias_sf =10 is fixed. XXX In a final step the signal level can be shifted (VIbiasOp, controlled by VIon and VOffsetRO, controlled by VIbiasOp) and—in the control and interface block—scaled (VIbias_PH). XXX There is an almost binary influence of the 8-bit DAC VIbiasOp on the PH: below VIbiasOp ≈ 20 no signal is seen independent of the amount of injected charge, while above this value the PH shape does not change. Therefore the setting can be done more or less arbitrarily, VIbiasOp = 50 was chosen. The 8-bit DAC VIon has a stretching influence on the PH. Since the pulse height range will be adjusted by VIbias_PH, it is set in the intermediate region: VIon = 130. The readout of all pixels is organized in two sequences: (i) a fast step (the signal passing through the comparator) to store the time of a hit and (2) a slow step (the signal passing through the sample and hold mechanism) to read the signal amplitude and the pixel address (column and row). For the first path every pixel on a double column sends a current to the periphery, its intensity –5– is adjustable by VIColOr. If more than one pixel was hit in a double column at the same time the currents are added. In the periphery a timestamp is created and stored in a time-stamp buffer. The second step is to read out the addresses and the signals stored in the sample and hold capacitances and to assign them to the corresponding time stamp. The 8-bit DAC VIColOr adjusts the amount of current which will be sent to the periphery. If the ROC is operated in the self triggering mode, a threshold on the number of hit pixels per double double column can be set. It is therefore important to know how large the current per pixel is. Since the self-triggering mode will not be used, the only concern is to have a current large enough that a hit pixel will be recognized, which is fulfilled for settings of VIColOr > 20; the default setting is at VIColOr = 99. The pixel address is sent from the PUC to the periphery as digital current levels and converted there into digital voltage levels. The threshold of this conversion is adjusted by the 8-bit DAC VIbias_bus, set to VIbias_bus=30. In the control and interface block the address levels can be shifted (Ibias_DAC) before they are prepended to the analog signal. Together they can be scaled (VIbias_roc) and will be sent out from the control and interface block. The 8-bit DAC VIbias_roc stretches the address levels and, likeVIbias_PH, the PH. Since VIbias_PH is optimized, VIbias_roc is set close to its maximum to keep maximal flexibility in adjustments. Different voltages have to be distributed over the ROC. Vdig and Vana determine the digital and analog voltages used in various ROC locations, VComp regulates the supply voltage of the comparator, and Vsf of the sample and hold circuit. Vdig is a 4-bit DAC and is used to regulate the digital voltage on the ROC. Since it does not affect the PH its only constraint is its influence on the address levels. It is set to 6, a value where the amplifier shows a linear behavior and the ROC-voltage is below the external voltage (2.5 V). The 4-bit DAC VComp regulates the comparator supply voltage. In the intermediate region of its possible range the comparator already works very reliably. Therefore it is set to 10. Irradiation may require that it has to be adjusted. VNpix and VSumCol are designed for adjusting the minimum number of hit pixels in a double column and the minimum number of double columns in the self-triggering mode of the pixel detector. Since this possibility will not be used, both of these 8-bit DACs are set to 0. The TBM [4] is controlled via three DAC. Dacgain stretches the digital TBM levels, Inputbias and Outputbias stretch both, the signals of the ROCs and and the TBM. Due to the high track density in the two inner layers of the barrel the TBM consists of of two parts with identical functionality. Normally only one half is used for controlling a module (single mode). In the two inner layers of the barrel detector the TBM is operated in the dual mode, each half controlling 8 ROC. Both Inputbias and Outputbias are 8-bit TBM DACs which have no influence on the PH if they are above a certain threshold (around 110). Both are set above this threshold to 128. All DACs are listed and sorted by category in Table 1. 1.3 Optimization Criteria Before describing the algorithms developed to optimize the performance of the ROC the possible optimization criteria and figures of merit are discussed. On the one hand, a reliable operation with minimal power consumption, yet maximum signal amplitude and minimal time walk, are criteria –6– Table 1. DAC and registers of the pixel modules. PUC refers to the pixel unit cell, CIB is the control and interface block, and the TBM is the token bit manager. DAC names in italic font indicate 4-bit DAC, DAC names in roman font indicate 8-bit DAC. Voltage regulators PUC: Analog Trigger Calibrate Periphery CIB Registers TBM Vana, Vdig, Vcomp, Vsf Vleak_comp, VwllPr, VrgPr, VwllSh, VrgSh, Vtrim, VthrComp, VhldDel VIColOr, Vnpix, VSumCol VCal, CalDel VIbias_bus, Vbias_sf, VoffsetOp, VIbiasOp, VOffsetRO, VIon Ibias_DAC, VIbias_PH, VIbias_roc CtrlReg, WBC, RangeTemp Inputbias, Outputbias, Dacgain quantifiable in the laboratory. On the other hand, parameters influencing the position resolution (determined from an ensemble of tracks) need to be validated through a detailed simulation and can be optimized only indirectly. The module readout is zero-supressed, i.e., only the PH and address of hit pixels are sent in analog form to the front end electronics. An illustrative example of a readout is shown in Fig. 4. The first eight clock cycles form the TBM header, followed by the readout of all ROC and terminated by the TBM trailer. The TBM header starts with three Ultra Black (UB) levels. An UB is a low level marking the lower bound of the analog signal range. The three UB are followed by a black (B) level defining the zero level of the differential analog signal. The four remaining clock cycles encode an 8-bit event number. The minimal readout of each ROC starts with an UB, a B, and a level called “last DAC”. This level displays the value to which the last addressed DAC was set, or the value of the temperature sensor. Each hit adds a block of six clock cycles to the analog readout, encoding the double-column (2 cycles) and row (3 cycles) of the hit pixel, and the pulse height (1 cycle). The addresses are encoded as digital signals on six levels. The readout is terminated by the TBM trailer, containing two UB, two B, and four clock cycles with the TBM status information. The analog readout is digitized in 12-bit ADC off the detector. To exploit maximally the available ADC range, the PH range should cover the same maximal range as the address levels. As the B level is the zero line, the range should be symmetric with respect to the B level. As the position resolution is mostly affected by the linearity of the PH in the low range, we dicuss now the quantification of the signal linearity. Figure 4b) illustrates a typical PH as a function of Vcal. For Vcal between 0 and 10 the signal is below the threshold of the comparator and no signal is visible. For 10 < Vcal < 50 the PH is very non-linear. This implies that the conversion of a specific PH (here around -700) to deposited charge is no possible (see section ?? for a discussion of the influence on the position resolution). For 50 < Vcal < 125 the pulse height behaves linearly, above 125 it starts to saturate. This saturation does not pose a problem for position resolution since this corresponds to more than twice the minimum ionization charge. To quantify the amount of non-linearity in the lower Vcal range a hyperbolic tangent function is fitted to the PH: PH = p3 + p2 tanh(p0Vcal − p1 ) (1.1) –7– a) b) Figure 4. a) Output of a module with one pixel activated on ROC 0. The initial eight cycles encode the TBM header, the following 6 show a single pixel hit on ROC 0, followed by 15 ROC without hit, and terminated by 8 cycles of the TB< trailer. b) Analog pulse height (PH) vs. Vcal The relevant parameter of this fit is p1 , which shifts the curve in the Vcal direction and can be used as a quantification of the non-linearity of the PH curve in the lower range. The smaller p1 is, the more linear the PH curve is in the low range. a) b) c) Figure 5. Illustrations of aspects of signal linearity. Low-range linearity quantified with a tanh fit and pixel response considered a) linear and b) non-linear. c) Linearity in the full range. Figure 5 illustrates that values of p1 ≈ 1 imply a PH curve with a very linear behavior down to low Vcal values, while p1 ≈ 2.5 means saturation in the low Vcal range. From visual inspection a value of p1 ≤ 1.4 was chosen as target for the linearity, optimized through the DAC Vsf and balanced against the digital power consumption, as described in more detail in section 3. In addition to the linear behavior in the lower Vcal range, the linearity over a large part of the Vcal range and the full use of the entire available ADC range is important. To quantify this aspect, a polynom of 5th degree is fitted to the PH curve and the tangent through the inflection point in the main region is determined. Starting from the inflection point in both directions, the PH-difference between the tangent and the fit is calculated. By definition, the linear range is determined as the region where this difference is smaller than 10% of the total pulse height range. The figure of merit is defined by a quadratic addition of the linear part in Vcal direction and the linear part in PH direction as shown in Figure 5c: linear range = q (∆Vcal )2 + (∆PH)2 . –8– (1.2) 1.4 Test Setup The testing of all barrel pixel detector modules was performed at Paul Scherrer-Institute (PSI) with the testing hardware setup described in this section. A desktop PC with a Scientific Linux 4 (SLC4) installation is the central control unit of the test setup. It is connected through USB cables to four electronics test-boards, specifically designed at PSI for testing the barrel pixel modules. Each test-board provides the necessary supply voltages and electrical signals (clock, trigger, readout, . . . ) for one module. To analyse the readout of the module, each test-board includes two 12-bit ADC sampling the analog signal in the interval [-2048, +2047], with 1 ADC unit corresponding to 0.128 mV. The central control unit of the test-board is formed by a field-programmable gate array (FPGA) with an embedded processor. XXX Each module is connected through a module adapter board to its test-board. A Keithley high-voltage supply XXX provides the bias voltage (nominally 150 V, but ranging up to 600 V for leakage current tests) for the test-boards; one single output is fanned out to all four test-boards. The four modules are housed in a custom-built temperature-controlled box (TCB). The TCB allows a rapid temperature cycling at a well-defined humidity. All code and testing algorithms are implemented in a standalone C++ software package running under SLC4. For data storage and analysis the ROOT framework [5] is used. Fig. 6 shows an unified markup language diagram of the most important classes. The attributes and operations shown are only typical examples of the complete lists of variables and methods. Likewise the two test classes “Trim” and “IVCurve” serve as examples for the large number of implemented test classes. Furthermore, classes like those for the graphical user interface, the command line, the logging functionality, etc. are omitted for clarity. The core of the test classes consists of the six classes ControlNetwork, Module, ROC, TBM, DoubleColumn, and Pixel, representing the corresponding hardware entities. They reproduce their functionality like setting a DAC or enabling a pixel. These commands are sent to the test-board represented by the class TBInterface. The DoubleColumn and Pixel classes do not directly communicate with the test-board. All their commands require the specification of the ROC-ID, therefore they are processed via the ROC class. The TBInterface class itself makes use of the class USBInterface to send its commands to the (physical) test-board (at an earlier stage another interface was used for the communication between PC and test-board). The Test class provides common code to the derived test classes like Trim or IVCurve. An example for this common code is the function ModuleAction which loops over all ROC on a module and executes the test algorithm for this ROC. If this behaviour is not suitable for a derived class, as for instance in IVCurve, the derived class replaces it with its own code. The IVCurve uses the class Keithley to communicate with the high-voltage supply. The presence of the FPGA processor allows the execution of parts of the test algorithms directly on the testboard. This speeds up the tests by reducing the data transfer between PC and test-board. Especially interactive algorithms, where the test flow depends on the results of previous measurements, as is the case for threshold measurements benefit substantially. Table 2 shows a comparison of the duration of some test algorithms with and without running parts of the code directly in the FPGA. Without the FPGA processor the full test time would be longer by a factor of about three. –9– ControlNetwork modules GetModule 1 Module hubID DigitalCurrent 1 Test testParameters ModuleAction 16 TBM tbmParameters SetRegister ROC dacParameters rocID SetDAC TBInterface tbParameters SendCal DoubleColumn doubleColumn EnableDoubleColumn Trim vcal AdjustVtrim IVCurve voltageStep ModuleAction 26 Keithley port SetVoltage 160 USBInterface buffer Write Read Pixel trimbit EnablePixel Figure 6. UML diagram of the most important classes of the C++ testing software. Table 2. Test duration of different algorithms with and without running parts of the code directly in the FPGA. Remove this table XXX? Test duration per ROC [s] Trim Bits Test Bump Bonding Test Noise Measurements Trimming Pulse Height Calibration PC based code 145 80 210 450 245 FPGA based code 26 20 89 156 20 2. Startup Tests and Threshold Measurements This section discusses the low-level tests needed to ensure the basic functionality of the ROC and TBM. The threshold measurements are ingredients in most of the tests described in section 3. 2.1 Startup Tests The current test Provided by CE (?) xxx – 10 – The data trigger level (DTL) test determines the threshold below which an UB level is measured on the test-board. If the test-board detects three signal below this level, they will be interpreted as the UB levels of the TBM header and the ADC starts the sampling of the analog readout. It stops after detecting two signals below the DTL. The DTL is adjusted in the following way: First the DTL starting at zero is decreased until a valid analog readout is measured. Once this is achieved, the UB level is determined and the final DTL is set 100 ADC units above this value. The DAC-programming test is a simple check that all DAC of each ROC can be programmed: For each ROC the Vcal DAC is set to its extreme values 0 and 255 and the change of the “last DAC” is determined. If it lies below 20 ADC values, the ROC is considered to be defective. The TBM test checks the basic functionalities of both TBM channels. For both the communication is probed by reading out the event number. A second test concerns the readout mode of the TBM. The TBM can be read out in a single mode, in which the readout of all ROCs is sent to one analog channel. This is the default test mode and will be used for the modules in the third layer of the detector. In the dual mode, one half of the ROC is read out via the first analog channel, the other half via the second channel. This will be the readout mode of the modules in the first two barrel layers. The TBM test ensures that the module can be successfully operated in both modes by checking the length (i.e. the number of ROCs) of an empty readout. Before starting the other tests, the sampling point of the analog signal is optimized by adding a delay to the module clock with respect to the ADC clock. The sampling point is set to the center of the range, in which the pulse height is not more than 20 ADC units apart from the maximal value. The Pixel Readout To generate and read out a hit in a pixel, the following sequence of actions has to be taken: (1) Enable the double column of the corresponding pixel; (2) Enable the calibrate injection to the pixel; (3) Enable the readout of the pixel; (4) Send a calibrate signal to the module; (5) Send a trigger signal to the module. In the following the term “to read out a pixel” always refers to this procedure. 2.2 Threshold Measurements The threshold of a pixel can be measured in different ways. One possibility is to keep the threshold defined by the VthrComp DAC fixed and to find the Vcal value, at which a pixels start to respond. This kind of threshold will be called “Vcal-threshold”. The second possibility is to inject a signal with a fixed amplitude defined by the Vcal DAC and to find the VhtrComp value, at which this signal is above threshold. This threshold is referred to as “VthrComp-threshold”. Usually this measurement is done by reading out the hits in a fixed bunch crossing. This type of threshold is called ‘in-time’ threshold. If a pixel has e.g. an in-time Vcal threshold of 60, this does not necessarily mean, that the pixel does not respond for Vcal values lower than 60. It only means that in the given bunch crossing no hits with lower Vcal values are registered. It is well possible, that by reading out the previous bunch crossing, signals with lower amplitudes can be observed. If a timing-independent threshold is required, the thresholds in different bunch crossings have to be measured. The minimum of all these thresholds is called the ‘absolute’ threshold. If not mentioned otherwise, a threshold determination usually refers to an in-time Vcal-threshold. – 11 – The concrete measurement of a threshold proceeds in the following way. In a first step the considered DAC is varied in steps of 4 DAC units starting from one end of the DAC range. For each value the pixel is read out once. As soon as the response of the pixel changes, the scan stops and the current DAC value is returned. In a second step the threshold curve starting from this rough estimate of the threshold is measured with several readouts per pixels in steps of 1 DAC unit. If the readout efficiency reaches 50% the corresponding DAC value is returned. Due to the step size of 1 DAC value and the limited number of readouts, the precision of this measurement is 1.3 DAC values for 5 readouts per point. Since this threshold measurement has to be executed almost one million times per module during all tests, a more precise measurement by fitting the threshold curve is only done for the noise measurement (see below). 3. DAC Optimization, Tests, and Calibration 3.1 DAC Optimization Several DACs on the ROC have a big influence on its behavior, for example on the functionality or on the pulse height linearity. Their best setting varies quite much from ROC to ROC. Therefor they are dynamically adjusted for every single ROC. Dacgain The TBM 8-bit DAC Dacgain only has an influence on the analog levels of the TBM. Therefore it is the ideal candidate to set the ultrablack level of the TBM to a user-defined value, −1000 here. It is adjusted in such a way that the ultrablacks of both channels of the TBM differ least from the goal value, but lie below it. Since the position of the different levels is summetric around the black level and can not be shifted but only be stretched, this also fixes the position of all other levels, in particular the one of the highest TBM level to +1000 in this case. Ibias_DAC Ibias_DAC is an 8-bit DAC and has similar to Dacgain almost only an influence on the ROC levels. The little shifting influence on the pulse height can be ignored since this will be adjusted anyway in a later step. It is used to set the ultrablack of all ROCs to the same value as the TBM ultrablack. In the same way as for the TBM this also fixes the position of the ROC address levels. Ibias_DAC can be set upto a precision of 0.73 DAC units. Vana The 8-bit DAC Vana is set in such a way that the analog current drawn per ROC is 24 mA. The dependency of the analog current on Vana is shown in Figure 7. It can be set upto a precision of 0.55 DAC units. VthrComp versus CalDel All ROCs only work in a specific region of the VthrComp - CalDel range. To measure this region Vcal is set to 200 in low range DAC units (was found to be a good setting for many tests in [7]), five calibrate signals are sent for each pair of VthrComp and CalDel, and the number of readouts – 12 – Figure 7. Dependency of the analog current on Vana is counted. Since the working range does not change very strongly from pixel to pixel on the same ROC, this procedure is only done for one single pixel. A typical shape of the valid readout area is shown in Figure 8. Figure 8. Procedure of finding a stable working point in the VthrComp - CalDel space The used pair of the two DACs should lie as far away as possible from the the edges of the readout area. To find such a point in a first step the minimal value of VthrComp where a signal appears (horizontal line in Figure 8) is searched. From this point one goes up 50 VthrComp units and searches for the CalDel value in the middle of the readout range. This pair of the two DACs is defined as working point for calibration purpose. For the trimming of a ROC, VthrComp will be set in a different way. CalDel can be set upto a precision of 0.53 DAC units. VIbias_PH An important criterion of the DAC optimization is that the pulse heights and digital levels of all ROCs lay inside the same ADC range. In case of the levels this goal is already reached by setting the TBM and ROC ultrablack levels to a specific value. The only adjustment remaining is the one of the pulse heights, which should fill the goal ADC range. The general idea behind this procedure – 13 – is first to stretch or squeeze the pulse height range with one DAC and shift it afterwards to the desired region. As shown in Figure 9 with the 8-bit DAC VIbias_PH the complete pulse height curve can be stretched. Since this DAC has no influence on any address levels at all it is the optimal candidate to stretch or squeeze the size of the pulse height range to the favored one, 2000 (from −1000 to +1000) in this case. VIbias_PH can be set upto a precision of 2.62 DAC units. Figure 9. Influence of VIbias_PH on the pulse height curve Two DACs which only shift the pulse height curve and also have no influence on any address levels at all are VoffsetOp and VOffsetR0. Since they are correlated, they first will be discussed before coming back to the adjustment of the pulse height range. VoffsetOp versus VOffsetR0 VoffsetOp and VOffsetR0 are both 8-bit DACs which shift the pulse height curve and therefore have an influence on the linear range. The correlation between them is shown in Figure 10. It can be seen that for VOffsetR0 > 100 any linear range can be achieved by setting VoffsetOp correctly. Because of temperature and pixel to pixel variations of this behavior VOffsetR0 is set to 120 and VoffsetOp is adjusted afterwards. It can be set upto a precision of 0.41 DAC units. While the absolute value of the pulse height range is already adjusted with VIbias_PH, VoffsetOp can now be used to shift the pulse height curve in the goal ADC range. Since the variation of VoffsetOp also influences the pulse height range a little bit and VIbias_PH has a small influence on the position inside the ADC range, the procedure of adjusting those DACs needs to be repeated on average three times. Vsf The 8-bit DAC Vsf is the crucial DAC to get a linear behavior of the pulse height in the low Vcal range. The higher it is the more linear the pulse height curve gets, what is shown in Figure 11. The only problem is that the digital current of the ROC rises with increasing Vsf. Its absolute value depends on the difference between Vana and Vsf, whereas the former is already adjusted and will not be changed at this point anymore. The total digital current of a module as a function of Vsf of one ROC is shown in Figure 12. – 14 – Figure 10. High range linearity in dependency of VoffsetOp and VOffsetR0 Figure 11. Influence of Vsf on the linearity of a pixel Figure 12. Influence of Vsf on the digital current of a module, Vana fixed The value of Vsf where the current starts to rise significantly is very chip dependent because Vana also varies from ROC to ROC. Beside the dependency on Vsf the linearity of the pulse height curve strongly depends on the temperature. As shown in Section ?? the (non-) linearity of a pixel can be quantified by fitting its pulse height curve with a hyperbolic tangent function. The parameter p1 of this fit is an indication for the linearity. To adjust Vsf it is increased in steps of five until this parameter is smaller than 1.4; if the increase of the digital current between Vsf = 0 and the recent setting is below 5 µ A this setting will be used, otherwise Vsf will be lowered until the current increase is smaller. This optimization is done for an average pixel in terms of linearity. Vsf can be set upto a precision of 0.9 DAC units, while for time comsuming reasons it is set in steps of. VthrComp versus Vtrim The optimization of the 8-bit DACs Vtrim and VthrComp is part of the trimming which is described in Section 3.4 – 15 – 3.2 Functionality Tests Pixel Readout Test In the first part of this test, the functionality of the mask bit is checked. By enabling the mask bit of a pixel, the comparator in the PUC is disabled (cf. Fig. 2), therebye suppressing all hits in this pixel. This functionality is very important, since a noisy pixel can prevent a whole double-column from working properly by filling up the buffers in the double-column periphery. The mask mechanism is checked by enabling the mask bit and trying to read out the pixel. If a pixel hit is generated, the mask bit is defective. In the second part of the test, it is verified that sending a calibrate pulse to the enabled pixel, results in the corresponding hit information in the analog signal. For this, the pixel is read out 10 times with Vcal set to a value of 200 in the low range. If the hit does not show up in the analog signal all ten times, the pixel is called “dead”. Before this test the VthrComp and CalDel DACs have to properly adjust as described in 3.1. Trim Bits Test # Pixels To individually adjust the thresholds of the pixels, each PUC stores four trim bits. By setting them appropriately the pixel threshold is lowered by an amount depending on the Vtrim DAC value. In the default untrimmed state, all trim bits are enabled, the corresponding trim value is 15. Disabling single trim bits will lower the pixel threshold. To test whether all four bits work as expected, the threshold is first measured in the untrimmed state. Afterwards all trim bits are enabled one after another and each time it is checked, that the threshold has decreases with respect to the untrimmed threshold. If the threshold difference is less than 2 DAC values, the trim bit is considered as defective. Figure 13 shows the threshold difference distributions for a ROC with no defects. For all pixels the threshold decreased by more than 10 DAC units. The Vtrim values used for the different trim bits are listed in Table 3. Trim value 14 3 Trim value 13 10 Trim value 11 Trim value 7 102 10 1 0 10 20 30 40 50 60 ∆ Threshold Figure 13. Distributions of the threshold difference between untrimmed and trimmed pixels. For each of the curve one trim bit was disabled. – 16 – Table 3. Vtrim values used in the trim bit test. Trim value 15 14 13 11 7 Vtrim DAC 0 250 200 150 100 Address Decoding # Pixels An individual pixel address consists of five clock cycles in the analog signal: two cycles encode the column index and three the row index [6]. Each clock cycle can take six different levels (c.f. Fig 4). To correctly decode the pixel address, these levels have to be well separated. To check this, the levels of all pixels in a ROC are measured and overlaid in a histogram as shown in Fig. 14. In this histogram, a simple algorithm searches for separated peaks. If exactly six of them have been found, the decoding limits are placed in the centres between two neighbouring peaks. These limits are used in the second part of the test, which records the analog readout of each pixel and checks whether the pixel generates the address which corresponds to its physical position on the ROC. 3 10 102 10 1 -400 -200 0 200 400 600 800 1000 1200 Analogue output level [ADC] Figure 14. Address-levels of all pixels in a ROC. The dashed lines are the separation limits used for the decoding of the pixel addresses. Bump Bonding Test An indium bump bond process for silicon pixel detectors has been developed at PSI [2]. To test the bump bonding quality, a fast algorithm using the possibility to send a calibrate signal through the sensor was devised [7]. The calibrate signal can either be injected directly to the preamplifier (using switch 1 in Fig. 15) or to a pad on the ROC surface (using switch 2 in Fig. 15). Choosing the – 17 – second option, the calibrate signal induces a charge in the sensor, which mimics a hit in the sensor pixel. Ideally, this hit is detected if the bump bond is present and not if the bump bond is missing. This ideal situation is deteriorated in two ways. Occasionally the bump bond is not completely missing but only has a poor connection to the sensor or the ROC. Even worse, for large enough amplitudes a hit is triggered although the bump is missing. These hits are supposed to originate from x-talk via a parasitic coupling between the calibration voltage line and the preamplifier. Based on this experience, the following algorithm was developed, to check the bump bonding quality. First the Vcal-threshold for the signal injection through the sensor is determined. Second the threshold for the parasitic x-talk is measured (i.e. with both switches open). The difference of the two thresholds (both measured in the high Vcal range) allows for a good discrimination between bonded and unbonded pixels. If the bump bond is missing, both thresholds are more or less equal, otherwise the difference amounts to −10 to −20 DAC units. It is found that the discrimination between good and bad bump bonds is better the higher the threshold (i.e. the lower the VthrComp value). This is made use of by setting the VthrComp DAC to a value, which is as low as possible, but still large enough in order to detect the pixel response due to the x-talk. The procedure has been validated by applying it to several specially prepared ROCs with sensors, from which a few bumps were removed manually before bump bonding. Fig. 16 shows the distribution of the threshold difference from which all missing bump bonds can be successfully identified. From the experience of many module tests, a bump bond was defined to be bad, if the threshold difference is larger than −5 DAC units. Figure 15. Sketch of the PUC components relevant for the bump bonding test. 3.3 Performance Tests Noise Measurements To identify noisy pixels, which potentially have to be masked, the noise of each single pixel is measured. The noise is determined by measuring the so called S-curve, which is the response – 18 – 0 70 -5 60 50 -10 40 30 ∆Threshold [DAC units] row 80 -15 20 10 -20 0 0 10 20 30 40 50 column # Pixels (a) 3 10 good bumps bad bumps 102 10 1 -25 -20 -15 -10 -5 0 5 ∆ Threshold [DAC units] (b) Figure 16. Result of the bump bonding test for a ROC with known bump bonding defects. Figure (a) shows a map of the threshold difference to check the correct identification of the bad bump bonds. Figure (b) shows the threshold difference distribution, pixels with defective bump bonds are shown in red, good bump bonds are plotted in green. All pixels with missing bumps could be identified. efficiency of the pixel as a function of the amplitude of the calibrate signal. For an ideal pixel without any noise, this would be a simple step-function: zero efficiency below the signal threshold and full efficiency above. The effect of the noise is to smear out this step function. If the noise is assumed to be Gaussian, the S-curve has the shape of an error function, with a width proportional to the noise. A fast threshold scan provides a rough value for the threshold. In a window around this value the S-curve is measured with high precision, i.e. 50 readouts per point. The measurement is complicated by the fact, that the voltage of the calibration signal is not a monotonous function of Vcal. There are a few cases, where a higher Vcal DAC value corresponds to a lower voltage. The calibration voltage was measured as a function of Vcal for one ROC. This measurement is used to plot the efficiency directly as a function of the calibration voltage. These data points are then fit with an error function and the width and the position of the 50% point are extracted, see Fig. 17. The width is first converted to Vcal DAC units (1 Vcal DAC = 1.20 mV) and afterwards to electrons (1 Vcal DAC = 65 e− ). With this procedure, the noise of a pixel can be – 19 – Efficiency determined with a precision of 13 e− . 1 0.8 0.6 0.4 0.2 0 0.095 0.1 0.105 0.11 0.115 0.12 0.125 0.13 0.135 Calibration voltage [V] Figure 17. S-curve fit with an error function to determin the noise of a pixel. Alternatively the noise can be determined from the pulse height measurement. For a fixed signal amplitude, the pulse height is measured 1000 times and the RMS of the resulting distribution is computed. Since other sources like the ADC, also contribute to the width of the distribution, the RMS of the black level distribution is measured and quadratically subtracted from the pulse height RMS. To compare the resulting number with the result from the S-curve method, it has to be converted into a charge. This is done with the help of the pulse height gain. Up to a mean offset of 20 e− a good agreement between the two methods is found, therebye confirming that the S-curve width originates from the noise. Fig. 18 shows the result of both measurements for the same ROC. The edge pixel have a higher noise level due to their bigger size. Sensor IV-curve Defects in the silicon sensor are most easily found by measuring its leaking current as a function of the applied bias voltage. Problems with scratches or spikes would show up as breakdown at voltages below 100 V [8]. Since the sensor will be operated at voltages up to 600 V, the highvoltage is varied from 0 V to 600 V in steps of 5 V. The measurement of the leakage current is performed 5 s after the voltage has been set. The error on the current measurement estimated from repeated measurements of the same module is 2.1 · 10−3 µ A. The algorithm stops, if the voltage is either at 600 V or the leakage current exceeds 100 µ A. The latter happens for many modules, but this is not considered as a problem if the breakdown voltage is above 200 V, since the behaviour of the sensor is expected to improve with irradiation. A typical sensor IV-curve of a good module is shown in Fig. 19. – 20 – 80 200 190 70 180 180 60 60 170 50 170 50 160 40 150 160 40 140 30 150 140 30 130 130 20 20 120 10 0 0 NoisePH 190 Row 200 70 NoiseSC Row 80 120 10 110 10 20 30 40 50 Column 100 110 0 0 10 # Pixels (a) S-curve noise 20 30 40 50 Column 100 (b) Pulse height noise Entries Mean RMS 140 120 4160 23.55 13.88 100 80 60 40 20 0 -40 -20 0 20 40 60 80 100 NoisePH - NoiseSC (c) Noise difference Leakage current [A] Figure 18. Pixel noise measured with two different methods: From the width of the S-curve (a), from the pulse height scattering (b), and the difference of the two methods (c). -5 10 -6 10 10-7 -8 10 0 100 200 300 400 500 Voltage [V] Figure 19. Sensor IV-curve of a typical module at -10◦C. 3.4 Calibration Algorithms Trimming Due to variations in the electronic components, each pixel has a slightly different threshold. To – 21 – 220 250 200 180 200 160 140 150 120 100 100 80 Vcal threshold [DAC units] Vtrim [DAC units] achieve a uniform threshold for all pixels, the trim bits of each pixel have to be programmed to a suitable value. To do this, the trimming algorithm described below was developed. The only input parameter to the trim algorithm is the threshold (in Vcal units) to which the response of all pixels should be unified to. The three degrees of freedom which have to be properly adjusted are the VthrComp DAC, the Vtrim DAC , and the trim bit value of each pixel.VthrComp sets the global threshold for the ROC and Vtrim determines, how much the trim bits lower this threshold. The influence of VthrComp and Vtrim on the threshold can be inferred from Fig. 20. 60 50 40 20 0 0 20 40 60 80 100 120 VthrComp [DAC units] 0 Figure 20. Vcal threshold of a pixel with all trim bits disabled as a function of VthrComp and Vtrim. Within the white area no threshold could be determined. The first step is to find the value of the VthrComp DAC which corresponds to the chosen threshold in Vcal units. This is done by measuring for each pixel its VthrComp-threshold. As for all other threshold measurements of the trim algorithm, the timing independent absolute threshold is measured. Since the thresholds can only be lowered afterwards, the minimum value of this distribution determines the global VthrComp value (a low VthrComp value corresponds to a high threshold). This value is used during the rest of the algorithm. As can be seen from Fig. 20 there is a maximal VthrComp value above which the ROC is not functional any longer. It turns out, that this limit has almost the same value for all pixels. In order to operate not too close to this limit, it is ensured, that the chosen VthrComp value is at least 10 DAC values apart from this upper limit. The second step of the trim algorithm is to determine an appropriate Vtrim value. To find this, the Vcal thresholds of all pixels are measured. The pixel which has the highest threshold is used to determine the necessary Vtrim value. For this pixel the trim value is set to zero and Vtrim is increased, until the threshold of the pixel is at the same level as the target threshold. The third step of the trim algorithm consists in setting the trim bits for all pixels. This is done by a binary search for the trim value, which gives a threshold as close as possible to the target threshold. The search starts with a trim value of 7 and comprises four iterations. At the end, all thresholds are measured once again to validate the procedure. For a not too low target threshold, the trim values fill the whole range from 0 (maximally – 22 – # Pixels trimmed) up to 15 (not trimmed). The presence of the upper VthrComp limit poses a problem, when trimming for very low threshold is aimed for. In this case, the VthrComp DAC can not be set as high as desired in step one. This is compensated by a higher Vtrim value in step two, but at the price of a trim value distribution, which does not make use of the full available range. The trim value distributions after the trimming to thresholds equal to Vcal 20 and 60 are shown in Fig. 21. For the former threshold the trim values fill only the range from 0 to 12, therebye rendering the threshold distribution more coarse. 3 Vcal 20 10 Vcall 60 102 10 1 0 2 4 6 8 10 12 14 16 Trim value Figure 21. Trim value distribution after trimming to thresholds corresponding to Vcal 20 and 60. In the former case the trim values do not cover the full range, due to the upper VthrComp limit. With the final system it is not be possible to run highly interactive algorithms as the trim algorithms described above, because the detector control and readout systems (the FEC and FED) are separated. A solution to this problem is to use the trim parameters measured during the module qualification in the laboratory. During this procedure each ROC is trimmed to a threshold corresponding to 60 Vcal DAC units. It turns out that it is possible to extrapolate these trim parameters to any other threshold by parametrising them as a function of the threshold [10]. To obtain these parametrizations the trim algorithm was run for different thresholds. It is found, that VthrComp and Vtrim depend linearly on the threshold. The trim bits do not change significantly with the threshold. From the average of 16 ROCs the following parametrization was deduced: VthrComp(thr) = VthrComp(60) − 0.65 · (thr − 60) Vtrim(thr) = Vtrim(60) − 0.45 · (thr − 60) trimbits(thr) = trimbits(60) To validate the procedure, this parametrization was applied to a ROC and the resulting thresholds were measured, see Fig. 22. The measured thresholds deviate only little from the target thresholds. The widths of the threshold distributions are only slightly larger than those obtained by the full trim algorithm. – 23 – Measured Threshold [Vcal] 65 60 55 50 45 40 35 30 25 30 35 40 45 50 55 60 Target Threshold [Vcal] Figure 22. Validation of the parametrized trimming. The trim settings were extrapolated from the results of the trim algorithm for a threshold corresponding to a Vcal value equal to 60. The plot shows the measured threshold versus the target threshold using the parametrization described in the text. Pulse Height Calibration For the pulse height calibration on pixel after abother in read out. The Vcal DAC values for which the pulse heights are measured are the following: 50, 100, 150, 200, 250 in the low Vcal range and 30, 50, 70, 90, 200 in the high Vcal range. In order to measure the pulse height for the low Vcal values, the threshold and the timing of the injected signal have to adjusted as described in 3.1. To increase the accuracy, each pulse height measurement is an average over 10 readouts. In the offline part of the algorithm the points are fit with two different functions. First the central points (the 10 points without the highest and the lowest points) are fit with a straight line. The slope of this curve determines the gain and the Vcal value corresponding to zero pulse height the pedestal. These values are measured with an accuracy of 1.5 · 10−2 ADC/DAC for the gain and 2.7 · 102 e− for the pedestal. Second the whole curve is fit with a hyperbolic tangent function to quantify the nonlinearity for very low pulses. The ROC has a built-in temperature sensor [6]. The temperature is measured by comparing a temperature dependent voltage to a temperature independent reference voltage. The amplified voltage difference is sent to the “last DAC ” signal of the analog output. To extract the voltage difference from the measured ADC value of the “last DAC ”, the output signal has to be calibrated. This can be done by using the ROC ability to send a known voltage difference to the “last DAC ”. Having measured the voltage difference at two different temperatures and assuming a linear dependency, an absolute temperature measurement is possible. The sensor is designed to measure temperatures in the range from −30◦ C to +70◦ C. To get a better accuracy of the measurement, the reference voltage (to which the temperature dependent voltage is compared to) can be programmed to be one of eight predefined voltages in the range 399.5 mV to 564 mV. The voltage difference used for the “last DAC ” calibration can also be chosen among eight different values from −94 mV to +70.5 mV. For simplicity the calibration algorithm – 24 – measures in total all 16 numbers, whereof at the end only 2 are actually used for the calibration. The temperature sensor voltage is measured with an accuracy of 0.56 mV. Vcal Calibration - Most probable ionisation charge [e ] In 2005 the first barrel modules underwent a test-beam at PSI (Villigen) with a 300 MeV pion beam [11]. The results indicated, that the same Vcal value might correspond to different injected ionization charges for different ROCs. If the beam hits the module e.g. at a right angle, the particles traverse 285 µ m of silicon and the ionization charge distribution is well described by a Landau distribution with a most probable value of 21680 e− [9]. It was observed, that the position of this Landau peak in terms of Vcal DAC units varied between ROCs. From runs at different angles, the ionization charge can be extracted as a function of the Vcal DAC. Fig. 23 shows that the ionization charge shows a linear dependency on the Vcal DAC. Astonishingly Vcal equal to 0 does not correspond to zero charge. The mean slope of the 13 ROCs shown in Fig. 23 is 61.1 e− /Vcal with a RMS of 5.5. 30000 25000 20000 15000 10000 5000 0 0 50 100 150 200 250 300 350 400 Vcal [DAC units] Figure 23. Ionization charge as a function of the Vcal DAC for 13 ROCs. The points have been extracted from the position of the Landau peak in the test-beam 2005 data. The Vcal calibration was repeated in the laboratory with the help of a variable energy X-ray source. The test setup is shown in Fig. 24. The hit rate is highest for the central ROCs (zone 2) and lowest for the ROCs on both ends of the module (zone 0). The used source consists of a primary Americium-241 source, which excites characteristic X-rays from one of six possible targets (Cu, Rb, Mo, Ag, Ba, Tb). The targets used for the calibration are barium, silver and molybdenum, which produce between five and nine thousand electron-hole pairs in silicon (see Tab. 4). The Vcal value, to which these charges correspond to, is determined in the following way. First, for each ROC the threshold curve is measured by varying VthrComp. For each value, the fully enabled module is randomly read out several thousand times and the number of hits in each ROC is determined. To increase the probability to find a hit, the corresponding bunch crossing is artificially stretched by stopping the clock sent to the module. The resulting threshold curve is – 25 – fit with an error function and the 50% point gives the VthrComp value of the corresponding line. The VthrComp DAC is set to this value, and for each pixel its Vcal threshold is measured. The mean of the resulting distribution gives the sought-after Vcal value. This procedure is repeated for the different targets and the resulting points in the ionization charge vs. Vcal plane are fit with a straight line. Figure 24. Setup of the X-ray test. Table 4. Targets used to produce secondary X-rays of specific energy. Listed are the X-ray energy, the number of produced electron-hole pairs in silicon as well as the photon yield. Target Mo Ag Ba Energy [keV] 17.44 22.10 32.06 Ion. charge in Si [e− ] 4844 6139 8906 Photon yield [s−1 sr−1 ] 2.43 · 104 3.85 · 104 4.65 · 104 For most of the modules the calibration was done with only two lines (silver and molybdenum) due to the limited testing time available. A more precise calibration with three lines was performed for a small subset of all modules. Table 5 shows a comparison of the different parameters of the two test procedures. Table 5. Comparison of the two-line and the three-line measurements. Measured lines Tested modules Test duration Triggers per VthrComp step Bunch crossing length – 26 – 2 lines Mo, Ag 806 15 min 30000 25 µ s 3 lines Mo, Ag, Ba 69 1h 5000 1.6 ms The uncertainty of the measurements was estimated by repeated tests of one module. The precision of the measurements strongly depends on the ROC position on the module. Table 6 shows the precision with which the slope of the calibration curve can be determined. Table 6. Uncertainty of the slope determination for the measurement with 2 and 3 lines. Zone 0 Zone 1 Zone 2 2 lines 15.6 7.6 5.8 3 lines 1.2 1.1 0.6 4. Production Results 4.1 Production 4.2 Verification of DAC Setting For checking that all the optimizations are really successful one can investigate various criteria. On the one hand on different ROC specific parameters but on the other hand also on reconstruction specific parameters, especially position resolutions. The latter ones are taken from a CMSSW simulation. P1 Distributions Figure 25 shows the distribution of p1 before and after the optimization of Vsf. Almost all nonlinear pixels are removed, the pixels are no longer more linear than needed, and the distribution is much more uniform. The influence of the optimization on the digital current is shown in Figure 26. The total digital current is only increased by 40 mA or 9%. 3 # modules # ROCs ×10 8000 Entries 53338140 Mean 1.28 Entries 44528846 Mean 1.17 7000 6000 180 140 120 5000 100 4000 80 3000 60 2000 40 1000 20 0 -1 Entries 347 Mean 0.44 Entries 620 Mean 0.48 160 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 p1 Figure 25. Distribution of p1 before and after its optimization 0 0.3 0.35 0.4 0.45 0.5 0.55 Figure 26. Distribution of the digital currents per module before and after the optimization of p1 – 27 – 0.6 Digital Current [V] ADC Range Utilization To verify that the complete output of a ROC lies within the goal ADC range from −1000 to +1000 Figure 27 shows the output of a single ROC where one pixel is activated. Sequentially the ultrablack, the black, the last DAC, and the five address levels are shown. The last bin contains the minimal and maximal value the pulse height can reach. It can be seen that both, the address levels and the pulse height fill the complete goal ADC range. 1 1500 0.9 ADC value 2000 0.8 1000 0.7 500 0.6 0 0.5 -500 0.4 0.3 -1000 0.2 -1500 -20000 0.1 1 2 3 4 5 6 7 8 9 0 clock cycle Figure 27. Output of a single ROC, including the minimal and maximal pulse height Position Resolutions To investigate the influence of the non-linearity a simulation using CMSSW_1_2_0 is done. 10000 muons with a transverse momentum of pt = 10 GeV are generated in two ranges of pseudorapidity, 0.1 <η <0.1 (central barrel region) and 1.8 <η <2.0 (forward barrel region). For both ranges the same pixel response is applied to all pixels, once a linear response and once a non-linear response. Both the linear and the non-linear response are reconstructed with a linear and an area tangent hyperbolic function. Afterwards a comparison between different combinations of responses and calibrations in rϕ - and z-direction of layer one is done. Also the central and the forward barrel region are compared. Influence of the Responses and Calibrations To compare the resolutions for different responses and calibrations one has to look separately on different η -ranges since the cluster shapes depend on the pseudorapidity. In the central barrel region (-0.1 <η <0.1) the tracks pass the detector layers almost perpendicularly while in the forward barrel region (1.8 <η <2.0) only under a few degrees. 1. Central Barrel Region (a) Rϕ -direction: The resolutions of the four combinations of linear and non-linear responses and calibrations and the corresponding deteriorations are shown in Figure 28. It clearly can be seen that for a linear pixel one only gains 1.2 µ m in the resolution using an area tangent – 28 – hyperbolic calibration with four parameters instead of a linear one with only two parameters. If one instead uses a non-linear pixel the resolution becomes more than 50 % worse for both calibration functions. Therefore it is very important to have all pixels as linear as possible, independent on the used calibration function. Figure 28. Position resolution in rϕ -direction in the central region of the pixel barrel detector # pixels (b) Z-direction: In z-direction the resolution does neither depend on the response nor on the calibration. The distribution in Figure 29 shows a non-gaussian shape because only a single was hit and there is no Lorentz drift in z-direction. 400 350 300 250 200 150 100 50 0 -500 -400 -300 -200 -100 0 100 200 300 400 500 position resolution [µm] Figure 29. Position resolution in z-direction in the central region of the pixel barrel detector 2. Forward Barrel Region In the forward barrel region the resolution is around 7 µ m in rϕ - and around 23 µ in zdirection. It does neither depend on the response nor on the calibration but is a bit better than in the central barrel region. – 29 – Table 7. Cluster sizes in the central and forward barrel regions with the RMS of their distributions -0.1 < η < 0.1 1.8 < η < 2.0 2.0 ± 0.7 1.2 ± 0.6 2.1 ± 2.2 2.3 ± 1.0 6.0 ± 1.9 7.1 ± 2.8 rϕ z total Influence of the Pseudorapidity Range To investigate the differences between the resolutions in the central and the forward barrel region one simulates a binary pixel response. The resolution in rϕ -direction is 21 µ m in the central and 7 µ m in the forward barrel region. The value in the central barrel region is roughly as big as expected, the one in the forward direction is much better then expected and comparable to the one with a linear response and area tangent hyperbolic reconstruction. This shows - together with the fact that resolution in the central and the forward barrel region differ so much - that the resolution in forward direction is dominated by the shape of the hit clusters, which are longish there. It is influenced by the length of the cluster and by the ratio between the number of hit pixels in two rows. To certify this conclusion Table 7 shows the cluster size in the two considered pseudorapidity ranges. position resolution [µ m] Influence of the Trimming The influence of the trimming quality on the position resolution is also investigated. Therefore the threshold in the CMSSW simulation is set to the nominal value of 2500 electrons and smeared by a gaussian distribution centered at 0 and characterized by the width σ ; the noise is switched off in the simulation. Figure 30 shows the position resolutions in the forward barrel region in rϕ - and z-direction as a function of threshold uncertainty σ . For realistic values of the order of a few hundred electrons no influence on the position resolution can be seen. This is also true for the central barrel region. A little influence is only seen in the forward barrel region and z-direction for the completely unrealistic threshold uncertainty of 2500 electrons. 40 35 30 25 20 z-resolution 15 rϕ-resolution 10 5 0 0 500 1000 1500 2000 2500 threshold uncertainty [electrons] Figure 30. Influence of the threshold uncertainty on the position resolution in the forward barrel region Influence of the Uniformity of the Calibration In the last step of investigating various influences on the position resolution different responses of all the pixels are applied. To use realistic – 30 – Table 8. Position resolution for ideally uniform and for realisticly distributed pixel responses Central Barrel Region uniform realistic degradation rϕ z 9.76 µ m 15.94 µ m 6.18 µ m 63% 36.53 µ m 36.31 µ m -0.22 µ m -1% Forward Barrel Region uniform realistic degradation rϕ z 7.13 µ m 22.41 µ m 9.43 µ m 33.85 µ m 2.30 µ m 11.44 µ 32% 51% results, measurements from the module testing [7] are used. The pulse height curves of about 25 million pixels are fitted with Equation (1.1) and the average values and deviations of all four fit parameters are extracted. In the simulation of the pixels a response according to those values is used, while in the calibration the average value is used in the area tangent hyperbolic function. The results are shown in Table 8. It can be seen that a per ROC instead of a per pixel calibration causes - except for the zdirection in the central barrel region - a big degradation of the resolution. 5. Test procedure In this section, the full test suite for the modules of the BPIX will be described. The grading criteria will be explained in section 6 and the module production quality will be summarized in section 6.4. From module assembly to final mounting each module was thoroughly tested and calibrated. In a first extensive test suite all modules were tested and graded. Before mounting the qualified modules onto the detector half-shells, their functionality was rechecked and an x-ray test was performed. 5.1 Test suite I (after assembly) In the standard test set-up, four modules were tested simultaneously in the cooling box of the test station. At the beginning of the test suite, a data trigger level scan was performed. Modules with less than four consecutive read-outs of length 64 were disabled. The test suite consisted of three testing parts and one thermal cycling part, executed in the following order: • standard test at −10◦C • thermal cycling • standard test at −10◦C, I-V curve measurement • standard test at +17◦C, I-V curve measurement – 31 – The standard test comprises all functionality and performance tests, as well as calibration and characterization of the module. It was performed in parallel for all four modules and is described in section 5.1. The thermal cycling process lasted about one hour, during which the modules were cycled ten times from −10◦C to 17◦C. The I-V curve was measured consecutively for each module at two different temperatures, as described in section 5.1. To avoid running into the compliance of the power supply, the leakage current of each module was checked after changing to a new temperature first. Modules with a leakage current above 25 µ A at the operating voltage of 150 V were disabled. Figure 31 shows the temperature profile and testing steps during a complete test suite. As shown in figure 32 a) the initial test duration of about 10 was reduced to about 6 hours, after optimising the thermal cycling and the time consuming I-V curve measurements. Figure 31. Temperature profile of a full test suite Standard test The standard test can be divided into four main steps: • Pretest to set ROCs into operating regime (analog current, ultra-black levels and threshold/timing settings) • Functionality test of pixel readout circuits and electrical connections to sensor pixels (pixel response, bump bonding quality, trim bit test and address decoding) • Performance (noise) and calibration (pulse height calibration, trimming) of the ROCs – 32 – Figure 32. Test duration of a) standard test, b) reduced test (withtout x-ray calibration) FIXME: description of FullTest I-V curve The measurement of the sensor leakage current versus reverse depletion voltage (I-V curve) was performed twice after thermal cycling, once at −10◦C and once at 17◦C. The leakage current was measured starting from 0 V up to 600 V in steps of 5 V. The measurement was stopped when the leakage current exceeded 100 µ A. 5.2 Test suite II (before mounting) Before mounting the modules onto the detector half-shells, their functionality and performance was rechecked and an x-ray calibration test was performed. Figure 32 shows the test duration without the x-ray calibration. Altogether this second test suite lasted about three hours and consisted of the following steps: • reduced test at −10◦C • reduced test at 17◦C • x-ray calibration Reduced test In the reduced test, some basic functionality tests were performed again and in addition it featured the DAC optimisation for the pulse height calibration. It can be divided into the following steps: • Pretest to set ROCs into operating regime • Functionality test of pixel readout circuits • Pulse height calibration including DAC optimisation – linear range (Vsf, VhldDel ?) – 33 – – readout range (VOffsetOP, VOffsetRO ?) – time walk (Vana) - removed! FIXME: description of ShortTest X-ray calibration In order to describe the correlation of the Vcal DAC and the ionisation charge, the modules were irradiated at a test station using a Molybdenum and a Barium x-ray source. 6. Module grading The grading system for modules comprises the three categories A, B and C. Modules with grade A have no or only minor defects. They can be mounted without hesitation. Modules with grade B are of lesser quality than modules with grade A, but are still working acceptably well. Preferably these modules ought to be put on one of the outer layers. Modules with grade C are seriously flawed or not working at all. If all attempts to recuperate such a module failed, the final grade was left at C and the module was considered to be waste. The qualification criteria can be divided into three sections: pixel defects, chip performance and the sensor leakage current of the module. The details of each are explained in the following sections. 6.1 Pixel defects Functionality As part of the standard test, the readout circuits and the electrical connection to the sensor pixel are tested for each pixel during Test Suite I. A pixel is counted as defective, if one or several of the following tests failed: • Pixel test (including test for mask defects) • Bump-bonding test • Trim bit test • Address decoding test In the pixel test, one checks that the pixel responds to a sequence of internal calibration signals. The first calibration signal is sent while the pixel is disabled (masked). If a masked pixel responds nevertheless, this is called a mask defect. Performance Based on the data collected during module testing, further pixel defects with respect to the performance of the pixels were introduced. In addition to the pixel defects listed in section 6.1, a pixel will be counted as defective if – 34 – • the pixel is noisy (above 400 e) or shows a strange noise behaviour (below 50 e) • the pixel could not be trimmed to a threshold of Vcal 60, i.e. a pixel with threshold below 50 DAC or above 70 DAC • if the linear fit of the pulse height curve failed, i.e. the gain is below 1.0 ADC/DAC • if the pixel saturated in the low Vcal range, i.e. parameter p1 of the hyperbolic tangent fit to the pulse height curve is above 1.5 These criteria are based on Fig. 33 and 34. As shown in Fig. 34 b), a criteria to identify misbehaving pixels based on the pedestal, cannot be defined. Figure 33. Distribution of a) noise and b) trimmed threshold of pixels (all tested modules). Figure 34. Distribution of a) gains and b) pedestals of pixels (all tested modules). Grading scheme The sum of all defective pixels on a ROC was added up and the module was graded according to table 9. A mask defect however, is considered to be a serious defect: Being able to mask a noisy pixel is crucial, as such a pixel may flood the readout system. Thus a module with as much as one mask defect was already graded as C. – 35 – Table 9. Grading based on pixel defects Grade Defects / chip Mask defects A ≤ 1% - B ≤ 4% - C > 4% ≥1 6.2 Chip performance As described in [?] missing charge has an impact on the hit resolution. The charge information depends on the pixel threshold and on the pulse height calibration. In case of a calibration based on the average per double column or even per chip, the variation of gains and pedestals on a chip should be limited. To ensure a uniform response of all pixels on a chip, restrictions were also applied to the average noise and the width of the trimmed threshold. The initial choice of performance based grading criteria was mainly determined from [?], and is shown in table 10. These criteria were validated later on with the results from module testing. Noise The limit for the mean noise on a ROC was set to be 5 σ off the threshold. The threshold will be set to 2000 - 2500 electrons for non-irradiated modules. Therefore the mean noise level should not exceed 400 - 500 electrons. Trimming In order to unify the physical thresholds of all pixels on a readout chip, the global chip threshold can be fine-tuned for each pixel by the use of four trim bits. After trimming, the RMS of the pixel threshold distribution should not exceed 200 electons. Pulse height calibration The correlation of the pulse height and the amplitude of an injected calibration signal can be described by a linear function over a large range. The slope of this function is called the gain, and the offset is called the pedestal. The relative gain width is calculated by dividing the RMS of the gain distribution by the mean. The pedestal spread was converted into electrons by using the calibration from the test-beam σPed [e] = σPed [V cal DAC] ∗ 65 e [V cal DAC] The spread in both parameters is acceptable if the mis-calibration contribution to the track and vertex recontruction is less than the effects of multiple scattering. The tolerable variation of the gains is about 20 % - 40 % and the pedestal spread can be as large as 1000 - 2000 electrons. 6.3 Module sensor quality I-V curve To detect eventual sensor damage during assembly, the limits were defined as shown in table 11. The leakage current at the initial operational voltage of 150 V should not exceed 150 µ A. With – 36 – Table 10. Grading based on chip performance Grading scheme Grade e− Noise in Relative Gain Width Pedestal Spread’ in e− Vcal Thr. Width in e− A B C < 500 < 10 % < 2500 < 200 < 1000 < 20 % < 5000 < 400 > 1000 > 20 % > 5000 > 400 increasing radiation damage the modules will be operated at increasing depletion voltage VOP . In order to ensure reasonable behaviour at higher operating voltages a limit was set on the slope of the I-V curve I(VOP )/I(VOP − 50 V) ≤ 2. Leakage current conversion The grading criteria for the sensor leakage current was defined at room temperature. Therefore the leakage current measured at −10◦C had to be recalculated to the corresponding leakage current at room temperature, using −∆E I ∝ T e 2kT As shown in Fig. 35 the mean of the ratio of recalculated and measured current at room temperature is around 1.5. Consequently the limit for the current measured at −10◦C was 1.5 times higher than for the current measure at 17◦C. Grading scheme Table 11. Grading based on module leakage current Grade meas (150V ) I+17 o recalc (150V ) I−10 o A < 2 µA < 3 µA B < 10 µ A < 15 µ A C > 10 µ A > 15 µ A 6.4 Module production quality The module production progress is shown in Fig. 36. The production was officially completed in March 2008. – 37 – Figure 35. Ratio of measured current at T = 17◦C and recalculated current measured at T = −10◦C Figure 36. Ratio of measured current at T = 17◦C and recalculated current measured at T = −10◦C 6.5 Overall production quality 6.6 Summary of mounted modules Acknowledgments We like to thank ... References [1] CMS JINST paper, 2007. [2] C. Broennimann et al., Nucl. Instrum. Meth. A 565, 303 (2006) [arXiv:physics/0510021]. [3] Y. Allkofer et al., Nucl. Instrum. Meth. A 584, 25 (2008) [arXiv:physics/0702092]. [4] E. Bartz, Prepared for 11th Workshop on Electronics for LHC and Future Experiments (LECC 2005), Heidelberg, Germany, 12-16 September 2005 [5] ROOT: an Object Oriented Data Analysis Framework, http://root.cern.ch/. [6] Gabathuler, K., PSI46 Pixel Chip - External Specification, Internal document of the CMS Barrel Pixel collaboration (2004) – 38 – [7] A. Starodumov et al., Nucl. Instrum. Meth. A 565, 67 (2006) [arXiv:physics/0510165]. [8] L. Rossi, P. Fischer, T. Rohe and N. Wermes, Berlin, Germany: Springer (2006) 304 p [9] H. Bichsel, Rev. Mod. Phys. 60, 663 (1988). [10] Waser, M., Trimming of the CMS Pixel Detector Modules, term paper (2007) [11] W. Erdmann et al., Nucl. Instrum. Meth. A 572 (2007) 57. [12] L. Rossi, P. Fischer, T. Rohe and N. Wermes, “Pixel detectors: From fundamentals to applications,” Berlin, Germany: Springer (2006) 304 p [13] K. Gabathuler, “PSI46 Pixel Chip - External Specification,” Villigen, Switzerland (2005) – 39 –