1 |
sguazz |
1.1 |
\section{Integration Tests}
|
2 |
|
|
\label{sec:Tests}
|
3 |
|
|
|
4 |
|
|
The CMS tracker has been designed to survive at ten years of LHC operation, with little or no chance
|
5 |
|
|
for maintenance. Its various components have been tested during the production
|
6 |
|
|
to meet stringent quality requirements. Few important problems have been spotted and
|
7 |
|
|
solved.\\
|
8 |
sguazz |
1.2 |
During the TIB/TID integration all the operations have been monitored step by step by a chain of tests
|
9 |
carlo |
1.4 |
aimed at a final control of the components just after the installation described here.
|
10 |
|
|
A verification of the
|
11 |
|
|
shell overall quality and functionality in conditions similar to the final ones
|
12 |
|
|
has been later performed during the so-called burn-in tests~\cite{ref:burnin}.
|
13 |
|
|
The step by step tests are of particular importance
|
14 |
sguazz |
1.1 |
because in most cases it is very difficult and in some cases even dangerous
|
15 |
|
|
to replace a single faulty component when it is embedded in a fully equipped shell.
|
16 |
|
|
|
17 |
|
|
\subsection{Test Setup}
|
18 |
|
|
\label{sec:TestSetup}
|
19 |
sguazz |
1.2 |
The integration started well before the tracker
|
20 |
sguazz |
1.1 |
final data acquisition hardware and software
|
21 |
sguazz |
1.2 |
were available to the Collaboration. Integration tests thus had to
|
22 |
|
|
rely on prototype DAQ hardware and peripherals and software versions
|
23 |
|
|
that has been frozen to ensure consistent conditions during the
|
24 |
|
|
integration activities time-span, except few minor upgrades and bug
|
25 |
|
|
fixes.
|
26 |
sguazz |
1.1 |
|
27 |
|
|
\subsubsection{Hardware}
|
28 |
|
|
Here a brief account of the hardware used in DAQ for the integration
|
29 |
|
|
is given (see Fig.~\ref{fig:integration daq}).
|
30 |
|
|
\begin{figure}
|
31 |
|
|
\centering
|
32 |
|
|
\includegraphics[width=\textwidth]{Figs/integrationDAQ.pdf}
|
33 |
|
|
\caption{Hardware used for the integration DAQ.
|
34 |
|
|
\textbf{On the left:}
|
35 |
|
|
\textbf{1:} The analog opto-electrical converter.
|
36 |
|
|
\textbf{2:} Optical lines from the AOHs inside the (yellow) ribbon.
|
37 |
|
|
\textbf{3:} The signal is converted to electric.
|
38 |
|
|
\textbf{On the right:}
|
39 |
|
|
\textbf{1:} The signal converted to electric goes to FEDs through 2-poles LEMOs.
|
40 |
|
|
\textbf{2:} TSC provides trigger and clock to FEC through an (orange) optical fibre and
|
41 |
|
|
\textbf{3:} to FEDs though 4-poles LEMOs.
|
42 |
|
|
\textbf{4:} FEC also implements the 2-way communication towards CCUs and modules through a
|
43 |
|
|
(yellow) fibre ribbon.}
|
44 |
|
|
\label{fig:integration daq}
|
45 |
|
|
\end{figure}
|
46 |
|
|
|
47 |
sguazz |
1.2 |
\begin{description}
|
48 |
carlo |
1.4 |
\item[TSC] The Trigger Sequencer Card or TSC~\cite{ref:tsc} generate the
|
49 |
sguazz |
1.2 |
40~MHz clock for the entire system and triggers as well, either
|
50 |
|
|
internally via software or by accepting external inputs. It has up to four
|
51 |
carlo |
1.3 |
electrical clock/trigger outputs, enough to drive the FEDs used during the
|
52 |
|
|
integration, and an optical clock/trigger output for the FEC.
|
53 |
|
|
The TSC may also generate the reset and calibration signal that are
|
54 |
sguazz |
1.2 |
also encoded on the clock/trigger line.\\
|
55 |
carlo |
1.4 |
\item[FED] The analog-to-digital conversion is done by special PCI FEDs,
|
56 |
|
|
%~\cite{bib:fedpci},
|
57 |
sguazz |
1.1 |
with electrical differential analog input, mounted on
|
58 |
|
|
PCI carrier boards and installed in an industrial PC.
|
59 |
carlo |
1.3 |
The opto-electrical conversion of the analog signals coming from the module under test
|
60 |
|
|
is done externally by a 24-channel unit.
|
61 |
sguazz |
1.1 |
A setup containing 3 FEDs, with the electro-opical converter, is able
|
62 |
carlo |
1.4 |
to readout 48 APV25; this is equivalent to 12 single sided modules
|
63 |
sguazz |
1.2 |
%(four complete strings)
|
64 |
|
|
or four double sided modules assemblies.
|
65 |
|
|
%(one string plus one module).
|
66 |
|
|
These figures are
|
67 |
|
|
pefectly suited for the tests during the integration.\\
|
68 |
carlo |
1.4 |
Since the readout of the data from the APV25s is not
|
69 |
carlo |
1.3 |
synchronous with the L1 trigger, a crucial capability of the FED is the
|
70 |
sguazz |
1.2 |
\textit{header finding}, i.e. the automatical tagging of the
|
71 |
carlo |
1.4 |
analog data stream from APV25 pairs with respect to the idle
|
72 |
|
|
signals at its inputs. This is possible since the APV25s embeds the
|
73 |
sguazz |
1.2 |
analogue data stream within a {\em digital frame} made up of a leading
|
74 |
carlo |
1.3 |
digital header and a trailing tick-mark.
|
75 |
|
|
%The peculiarity of the PCI FED
|
76 |
|
|
%with respect to the VME FED that will be used in the experiment, other than having electrical inputs
|
77 |
|
|
%instead of optical ones, is the timing system: the VME FED is able to
|
78 |
|
|
%perform the header finding on each input channel independently; the PCI FED has
|
79 |
|
|
%this capability only on the first channel of the eight available
|
80 |
|
|
%and assumes that the all input signals are synchronised.
|
81 |
|
|
%This makes the PLL-based time alignment procedure of crucial
|
82 |
|
|
%importance in a setup with PCI FEDs. Furthermore, PCI FEDs are not
|
83 |
|
|
%able to insert a programmable delay on their inputs and thus
|
84 |
|
|
%it is important that the clock/trigger connections from the TSC to
|
85 |
|
|
%FEDs have all the same delay. Last, PCI FEDs cannot perform an online
|
86 |
|
|
%pedestal subtraction and zero suppression (they cannot run in
|
87 |
|
|
%Processed Raw data nor in Zero Suppression mode).
|
88 |
sguazz |
1.2 |
\item[FEC] The special FEC used during the integration is the {\em FEC
|
89 |
|
|
mezzanine} also installed into a PC on a PCI carrier. It supports
|
90 |
|
|
the optical trigger/clock provided by the TSC and features an
|
91 |
|
|
optical output directly connected to DOHs on the DOHM.
|
92 |
|
|
\end{description}
|
93 |
|
|
|
94 |
sguazz |
1.1 |
|
95 |
|
|
\subsubsection{Software}
|
96 |
carlo |
1.3 |
The software used to carry out integration tests is
|
97 |
|
|
based on the CMS general data acquisition framework
|
98 |
|
|
%{\em TrackerOnline}, the CMS
|
99 |
|
|
%tracker implementation of a more general software,
|
100 |
|
|
named xDAQ~\cite{ref:xdaq}.
|
101 |
|
|
% which is the official CMS DAQ framework.
|
102 |
sguazz |
1.2 |
In place of a database as in the
|
103 |
|
|
experiment version, the integration version of TrackerOnline uses a set of
|
104 |
carlo |
1.3 |
xml files for all the configurations needed to perform a test run.
|
105 |
|
|
A description of the xml configuration files follows.
|
106 |
sguazz |
1.2 |
%, i.e. all the parameters needed by the devices and the
|
107 |
|
|
%software involved in the test run,
|
108 |
|
|
%\begin{figure}[bth!]
|
109 |
|
|
%\centering
|
110 |
|
|
%\includegraphics[width=\textwidth]{Figs/fecmodulexml_2.pdf}
|
111 |
|
|
%\caption{An example of data contained in fec.xml and module.xml files for one module.
|
112 |
|
|
%Part of the data is not shown for simplicity.}
|
113 |
|
|
%\label{fig:fecmodulexml}
|
114 |
|
|
%\end{figure}
|
115 |
carlo |
1.3 |
The hardware and software configuration of the DAQ is written into the file
|
116 |
|
|
named daq.xml. It reflects the setup used for the test and has to be rarely changed
|
117 |
|
|
during the integration procedures. The system settings uploaded, and
|
118 |
|
|
read back for verification, by the FEC are contained into fec.xml.
|
119 |
carlo |
1.4 |
The data decoding map (i.e., information needed to map each FED input to an
|
120 |
|
|
APV25 pair of a specific module) is written into module.xml.
|
121 |
carlo |
1.3 |
|
122 |
|
|
%\begin{description}
|
123 |
|
|
%\item[Configuration of the DAQ hardware and software, daq.xml] The hardware
|
124 |
|
|
% and software configuration of the DAQ is written in a single xml file, which
|
125 |
|
|
% reflect the setup used for the test and has to be rarely changed
|
126 |
|
|
% during the integration procedures.
|
127 |
|
|
%\item[Configuration of the control system, fec.xml] The most important
|
128 |
|
|
% part of this configuration section is the settings the FEC must
|
129 |
|
|
% upload to the modules and AOHs and in general any configurable
|
130 |
|
|
% $I^2C$ device, before starting the data
|
131 |
|
|
%taking. Altough these settings are not specifically
|
132 |
|
|
% related to the control system, it is duty of the control system to
|
133 |
|
|
% write them to the devices' $I^2C$ registers and read them back for verification.
|
134 |
|
|
%\item[Configuration of the readout, module.xml] All other information needed by the DAQ to
|
135 |
|
|
%rearrange data coming from the FEDs is in module.xml that allows each
|
136 |
|
|
%FEDs input channel to be mapped to an APV pair of a specific module as
|
137 |
|
|
%identified by ring, CCU and $I^2C$ addresses (i.e. the correspondance
|
138 |
|
|
%between readout coordinates and Control System coordinates);
|
139 |
sguazz |
1.2 |
%Each row corresponds to an APV
|
140 |
|
|
%pair, an AOH laser, an optical fibre and a FED input.\\
|
141 |
|
|
%The second table of module.xml reassembles the information on a module basis.
|
142 |
|
|
%Here all the active modules are listed, with a row for every module.
|
143 |
|
|
%The Control System coordinates are repeated both in module.xml and fec.xml,
|
144 |
|
|
%so that they can be used as a pivot between the 3 tables.\\
|
145 |
carlo |
1.3 |
%\end{description}
|
146 |
sguazz |
1.2 |
|
147 |
|
|
The tasks performed by the integration software are the following:
|
148 |
|
|
execution of the commissioning runs needed to optimal adjust of the
|
149 |
|
|
module parameters (preparation of fec.xml and module.xml); execution
|
150 |
|
|
of the test runs with complete and automated logging; fast analysis
|
151 |
|
|
for immediate feedback; archival of xml configuration files to log the
|
152 |
|
|
test conditions; archival of the raw data.
|
153 |
|
|
%\begin{figure}
|
154 |
|
|
%\centering
|
155 |
|
|
%\includegraphics[width=.9\textwidth]{Figs/integration_package.pdf}
|
156 |
|
|
%\caption{Scheme of the integration software.
|
157 |
|
|
%\textit{Arrows}: a relation.
|
158 |
|
|
%\textit{Gears}: an application.
|
159 |
|
|
%\textit{Mouse:} an interactive application.
|
160 |
|
|
%\textit{Sheet}: a file.}
|
161 |
|
|
%\label{fig:integration_package}
|
162 |
|
|
%\end{figure}
|
163 |
|
|
%Figure~\ref{fig:integration_package} shows a scheme of the relations between all the software
|
164 |
|
|
%components that will be described, the local files and the remote database.
|
165 |
carlo |
1.3 |
This is achieved by using a specific set of components of integration
|
166 |
|
|
data acquisition software as summarized in the following.
|
167 |
sguazz |
1.2 |
\begin{description}
|
168 |
|
|
\item[FecTool.]
|
169 |
|
|
FecTool is GUI based front-end to two standalone
|
170 |
carlo |
1.3 |
applications: FecProfiler
|
171 |
sguazz |
1.2 |
and ProgramTest, aimed to ease the creation of the device
|
172 |
|
|
description.
|
173 |
|
|
FecProfiler is able to detect
|
174 |
|
|
the devices connected to the CCUs and builds the fec.xml file needed by
|
175 |
|
|
TrackerOnline. FecTool takes care of checking that thedetected devices
|
176 |
carlo |
1.4 |
corresponds to expected ones, i.e., per module, 4 or 6 APV25s, one
|
177 |
sguazz |
1.2 |
PLL, one AOH, and so on. ProgramTest allows the ring functionalities,
|
178 |
|
|
i.e. the redundancy, to be deeply tested.
|
179 |
|
|
|
180 |
|
|
The geographical identity of the strings under test must be
|
181 |
|
|
entered to allows for verification from FecTool of the matching
|
182 |
|
|
between the DCU Hardware Id read from each
|
183 |
|
|
module and the one declared in the module database. This
|
184 |
|
|
consistency check is crucial to spot possible errors in recording the
|
185 |
|
|
location where a module is mounted during the assembly. If the check
|
186 |
|
|
is passed, the fec.xml description file needed to go forth with
|
187 |
|
|
integration tests can be created.
|
188 |
|
|
%Hence tests proceed with the data
|
189 |
|
|
%readout from modules, which rely on .
|
190 |
|
|
\item[The Integration Package.]
|
191 |
carlo |
1.3 |
%TrackerOnline as any xDAQ implementation requires an expert user as
|
192 |
|
|
%many run-specific parameters must be set and there is no input
|
193 |
|
|
%validation.
|
194 |
sguazz |
1.2 |
%\begin{figure}
|
195 |
|
|
%\centering
|
196 |
|
|
%\includegraphics[width=0.35\textwidth]{Figs/FedGuiMain.png}
|
197 |
|
|
%\caption{Main GUI window.}
|
198 |
|
|
%\label{fig:fedgui}
|
199 |
|
|
%\end{figure}
|
200 |
carlo |
1.3 |
The integration setup is made more user-friendly by a special {\em
|
201 |
sguazz |
1.2 |
Integration Package}, a GUI based front end that interacts with
|
202 |
carlo |
1.3 |
the data aquisition program to automatically set all relevant parameters
|
203 |
|
|
and to harvest all data at the end
|
204 |
sguazz |
1.2 |
of a run. The package is organized as a finite state machine by which
|
205 |
|
|
the user can cycle between the various states, i.e. the following integration test steps:
|
206 |
sguazz |
1.1 |
\begin{enumerate}
|
207 |
carlo |
1.3 |
\item Daq initialisation (only once);
|
208 |
sguazz |
1.2 |
\item choice of the the desired run;
|
209 |
carlo |
1.3 |
\item execution of the run via Daq program;
|
210 |
sguazz |
1.2 |
\item on run completion (i.e. after a given number of events), stop
|
211 |
|
|
data taking and execution of the fast data analysis;
|
212 |
|
|
\item presentation of the run outcome on summary GUIs;
|
213 |
|
|
\item on positive validation from the user, data are stored together
|
214 |
|
|
with run logs and data quality flags;
|
215 |
|
|
\item in case of commissioning runs, on positive validation from the
|
216 |
|
|
user, fec.xml and module.xml are updated accordingly to be used from
|
217 |
|
|
now on.
|
218 |
sguazz |
1.1 |
\end{enumerate}
|
219 |
|
|
|
220 |
sguazz |
1.2 |
%For every required run, the integration package shows the TrackerOnline output
|
221 |
|
|
%through some GUIs, so that the user can acknowledge the outcome of the run and give the approval
|
222 |
|
|
%for archiving the data or, in case of a commissioning run, for updating the parameter set.\\
|
223 |
|
|
%The TrackerOnline software computes the new parameter set for each commissioning run
|
224 |
|
|
%(except for the ``find connection'' run, as we'll see below) and writes
|
225 |
|
|
%it locally as a fec.xml file, which is retrieved by the integration package at need.\\
|
226 |
|
|
A main integration database has been setup for centralized archiving purposes,
|
227 |
|
|
was also installed. For later reference, if needed, the data analysis
|
228 |
|
|
can also be run on the archived files with validation outputs made
|
229 |
|
|
available through a web interface.
|
230 |
|
|
\end{description}
|
231 |
sguazz |
1.1 |
|
232 |
|
|
\subsection{Test Description}
|
233 |
|
|
\label{ref:test-description}
|
234 |
|
|
|
235 |
sguazz |
1.2 |
Each run type that can be choosen by the user corresponds to a
|
236 |
|
|
commissioning run or to a test run, as described below.
|
237 |
sguazz |
1.1 |
|
238 |
sguazz |
1.2 |
\begin{description}
|
239 |
|
|
\item[Find connections.] This commissioning run is used associate each
|
240 |
|
|
FED input channel to a module. The procedure, repeated in sequence
|
241 |
|
|
for all AOHs laser drivers, consists of switching on only a given
|
242 |
carlo |
1.3 |
AOH laser driver at a time while checking the signal on all the FED inputs. If
|
243 |
sguazz |
1.2 |
the difference of the signal seen on a FED channel is above
|
244 |
|
|
a given threshold, the connection between that laser and input channel is tagged and stored
|
245 |
|
|
in module.xml.
|
246 |
|
|
\item[Time alignment.]
|
247 |
|
|
This commissioning run measures the appropriate delays to be later set
|
248 |
|
|
in the PLLs delay registers.
|
249 |
|
|
Doing so the different delays in the control and
|
250 |
|
|
readout chain are compensated, the clock arrives to the modules
|
251 |
carlo |
1.4 |
synchronously, with a skew of the order of a few ns, and the APV25s
|
252 |
sguazz |
1.2 |
signal are properly sampled by the FEDs. This requires also the clock
|
253 |
|
|
to all the FEDs to be synchronous, but this is guaranteed
|
254 |
|
|
by using cables equal in length between the TSC and the FEDs.\\
|
255 |
carlo |
1.3 |
The time alignment run uses the periodic tick mark signal issued by
|
256 |
carlo |
1.4 |
the idle APV25s every 70 clock cycles. The APV25 signals are sampled by FEDs in
|
257 |
sguazz |
1.2 |
scope mode, i.e. without waiting for an header but continously,
|
258 |
carlo |
1.3 |
sampling the inputs at the full clock frequency as with a 40~MSample/s
|
259 |
sguazz |
1.2 |
scope. The measurement is repeated after all the PLL delays are
|
260 |
carlo |
1.3 |
increased by the minimum delay step, 25/24~ns. After 24 such cycles the
|
261 |
carlo |
1.4 |
idle APV25 output and thus the tick mark signal also are measured with
|
262 |
carlo |
1.3 |
an effective 960~MSample/s scope.
|
263 |
sguazz |
1.1 |
\begin{figure}
|
264 |
|
|
\centering
|
265 |
|
|
\includegraphics[width=.6\textwidth]{Figs/tickmark.pdf}
|
266 |
|
|
\caption{A tick mark sampled during a time alignment. The raising edge and the sampling point
|
267 |
|
|
are marked. In the picture are reported only those samplings around the tick mark, while
|
268 |
|
|
during the time alignment an interval of $1\,\mu\mathrm{s}$ is scanned.}
|
269 |
|
|
\label{fig:tick}
|
270 |
|
|
\end{figure}
|
271 |
carlo |
1.4 |
The time differences between the variuos APV25 tick marks are a
|
272 |
sguazz |
1.2 |
measurement of the relative delays introduced by the connections and
|
273 |
|
|
can be used to compute the optimal delay to be set on each PLL for compensation.
|
274 |
sguazz |
1.1 |
The tick mark raising edge $t_R$ time is measured by taking the time corresponding to the highest
|
275 |
|
|
signal derivative (see Fig.~\ref{fig:tick}).
|
276 |
|
|
The best sampling point is considered $t_R+15\,\mathrm{ns}$, to avoid
|
277 |
sguazz |
1.2 |
the possible overshoot.
|
278 |
|
|
%[???This is important also later, when measuring the analogue data frame, as
|
279 |
|
|
%it allows measuring the signal coming from each strip after transient effects due to the signal
|
280 |
|
|
%switching between strips are over.???]\\
|
281 |
|
|
At the end of the procedure, all proposed adjustments to PLL delay
|
282 |
|
|
values are proposed to the user. If accepted the delays are written in
|
283 |
|
|
fec.xml. If the setup is correctly aligned in time, a further time
|
284 |
|
|
alignment procedure should not propose delay corrections greater than
|
285 |
|
|
$\sim 2$ns.
|
286 |
carlo |
1.3 |
%It is worth noticing that by the time alignment procedure all APVs are
|
287 |
|
|
%made sampling synchronously, since in the integration setup AOH fibres
|
288 |
|
|
%and ribbons are all equal in length. This is not important during
|
289 |
|
|
%integration quality checks, as no external signal is ever measured,
|
290 |
|
|
%but it would be so in trying to detect ionising particles.
|
291 |
sguazz |
1.2 |
\item[Laser Scan.] By this commissioning run a scan of any bias and
|
292 |
|
|
gain value pair is done to determine the optimal working point for
|
293 |
|
|
each AOH.
|
294 |
|
|
The procedure requires a sucessfull time alignment since again tick marks are
|
295 |
|
|
sampled but in this case changing gain and bias values.
|
296 |
|
|
%
|
297 |
sguazz |
1.1 |
\begin{figure}[t!]
|
298 |
|
|
\begin{center}
|
299 |
|
|
\subfigure[The sampled tick mark top and baseline as a function of the laser driver's bias.]
|
300 |
|
|
{
|
301 |
|
|
\label{fig:gainscan_basetop}
|
302 |
|
|
\includegraphics[width=.45\textwidth]{Figs/gainscan_basetop.pdf}
|
303 |
|
|
}
|
304 |
|
|
\hspace{5mm}
|
305 |
|
|
\subfigure[The corresponding tick mark height for a given gain.]
|
306 |
|
|
{
|
307 |
|
|
\label{fig:gainscan_range}
|
308 |
|
|
\includegraphics[width=.45\textwidth]{Figs/gainscan_range.pdf}
|
309 |
|
|
}
|
310 |
carlo |
1.4 |
\subfigure[A pictorial representation of a tick mark as produced by the APV25s (dotted)
|
311 |
sguazz |
1.2 |
and as transmitted by the lasers (solid) when the laser driver's bias is too
|
312 |
|
|
low (left), correct (centre) or too high (right), with the subsequent signal saturation.]
|
313 |
|
|
{
|
314 |
|
|
\label{fig:laserscan}
|
315 |
|
|
\includegraphics[width=.9\textwidth]{Figs/laserscan.pdf}
|
316 |
|
|
}
|
317 |
sguazz |
1.1 |
\caption{Plots computed during a gain scan run.}
|
318 |
|
|
\end{center}
|
319 |
|
|
\end{figure}
|
320 |
sguazz |
1.2 |
%
|
321 |
carlo |
1.3 |
For each trigger sent to FEDs, the tick mark is sampled twice and all other samplings fall
|
322 |
sguazz |
1.2 |
on the baseline. The tick mark's top samples are used to estimate the higher limit of the signal
|
323 |
|
|
for a given gain/bias setting pair and the baseline samples provide an estimate of the lower limit.
|
324 |
|
|
For each gain setting the tick mark top samples and the baseline samples are measured as a
|
325 |
|
|
function of the bias, as shown in Fig.~\ref{fig:gainscan_basetop}. For
|
326 |
|
|
each bias setting their difference is the tick mark height, shown in Fig.~\ref{fig:gainscan_range},
|
327 |
|
|
that represents the dynamic range as a function of the bias.\\
|
328 |
|
|
The best bias setting for a given gain setting is taken as the one maximising the tick mark height keeping
|
329 |
|
|
the maximum and minimum not saturated, as pictorially represented in Fig.~\ref{fig:laserscan}.
|
330 |
|
|
The same measurement is done for each possible gain setting.
|
331 |
|
|
The best laser gain setting is the one providing an overall gain of
|
332 |
|
|
the optical chain as close as possible to the design one, 0.8~\cite{ref:gain}.
|
333 |
|
|
The overall gain is estimated from the slope of the curves of
|
334 |
|
|
Fig.~\ref{fig:gainscan_basetop} in their central section.
|
335 |
|
|
After the run is completed a set of values are proposed to the
|
336 |
|
|
user. Abnormal gain values may indicate a problem either on the AOH or
|
337 |
|
|
on the fibre and are investigated.
|
338 |
|
|
\item[VPSP Scan.]
|
339 |
|
|
This commissioning run is devoted to optimise the pedestal of
|
340 |
carlo |
1.4 |
the APV25, i.e. the average output level in absence of any signal, with
|
341 |
sguazz |
1.2 |
respect to the dynamical range of the FEDs. This level is managed by a
|
342 |
carlo |
1.4 |
specific APV25 register, know as {\em VPSP}, which controls a voltage
|
343 |
sguazz |
1.2 |
setting within the deconvolution circuitry. The procedure consists of
|
344 |
|
|
a scan of VPSP values while acquiring data frames from modules in the
|
345 |
carlo |
1.3 |
standard way.
|
346 |
|
|
%%, i.e. trigger sent to the modules and FEDs in
|
347 |
|
|
%%``header finding'' mode.
|
348 |
|
|
In the final tracker operation the optimal VPSP setting correspond to a pedestal baseline placed
|
349 |
|
|
around 1/3 of the available dynamic range. This is a good compromise to keep
|
350 |
sguazz |
1.2 |
the baseline not too close the lower saturation value while leaving a good
|
351 |
|
|
range for particle signals, corresponding to $\sim 6$ MIP.
|
352 |
carlo |
1.3 |
During the integration tests the only important point is to keep the baseline
|
353 |
|
|
away from the saturation levels; in such a way the module noise measurements will
|
354 |
|
|
not be affected by the wrong common mode subtractions which are present in case
|
355 |
|
|
of events with baseline saturation.
|
356 |
sguazz |
1.2 |
At the end of the run a set of values are proposed to the user for
|
357 |
carlo |
1.3 |
approval and in case written in the relevant xml file.
|
358 |
sguazz |
1.1 |
\begin{figure}
|
359 |
|
|
\begin{center}
|
360 |
carlo |
1.3 |
%\subfigure[Strip pedestals of a module in ADC counts vs.\ strip number.]
|
361 |
|
|
\subfigure[]
|
362 |
sguazz |
1.1 |
{
|
363 |
|
|
\label{fig:saturationpedestal}
|
364 |
|
|
\includegraphics[width=.45\textwidth]{Figs/saturation_pedestal.pdf}
|
365 |
|
|
}
|
366 |
|
|
\hspace{5mm}
|
367 |
carlo |
1.3 |
%\subfigure[Strip noise of a module in ADC counts vs.\ strip number.]
|
368 |
|
|
\subfigure[]
|
369 |
sguazz |
1.1 |
{
|
370 |
|
|
\label{fig:saturationnoise}
|
371 |
|
|
\includegraphics[width=.45\textwidth]{Figs/saturation_noise.pdf}
|
372 |
|
|
}
|
373 |
carlo |
1.4 |
\caption{Pedestal (left) and noise (right) vs. strip number for a 6 APV25 module.
|
374 |
carlo |
1.3 |
The pedestals of strips after strip \#{}640 are low, approaching to the bottom of the
|
375 |
|
|
dynamic range. Their noise is therefore altered with respect to the not saturated
|
376 |
|
|
channels.}
|
377 |
sguazz |
1.1 |
\label{fig:saturation}
|
378 |
|
|
\end{center}
|
379 |
|
|
\end{figure}
|
380 |
sguazz |
1.2 |
The VPSP scan is not sistematically performed during the integration,
|
381 |
|
|
since the default VPSP setting is adequate in most of the
|
382 |
|
|
cases. Nevertheless, VPSP optimal values change considerably within
|
383 |
carlo |
1.4 |
the APV25 population and are strongly temperature dependent and is
|
384 |
carlo |
1.3 |
rather common to have a stuation in which the pedestal of few readout
|
385 |
sguazz |
1.2 |
channels approaches to the lower edge of dynamic range
|
386 |
|
|
(Fig.~\ref{fig:saturationpedestal}) resulting in a lower RMS (see
|
387 |
|
|
Fig.~\ref{fig:saturationnoise}). The VPSP scan allows for this issue to be
|
388 |
|
|
fixed.
|
389 |
|
|
\item[Pedestal and Noise Run.]
|
390 |
|
|
This is the main run type for qualifying the performances during
|
391 |
|
|
the integration. Tipically a bias of 400V is applied to the modules
|
392 |
|
|
under test to check for any possible overcurrent or breakdown.\\
|
393 |
|
|
Triggers are sent to the modules and FEDs work in ``header finding'' mode.
|
394 |
|
|
All the analogue frames from the modules are collected two analyses
|
395 |
|
|
are performed on these data: online, by the TrackerOnline
|
396 |
carlo |
1.4 |
software; offline, in a way very similar to the final experiment algorythms.
|
397 |
|
|
%by using algorythms of the ORCA package~\cite{bib:orca}, the CMS
|
398 |
|
|
%reconstruction package at that time, now replaced by CMSSW.
|
399 |
sguazz |
1.1 |
The average value of the signal read on each strip is an estimate of
|
400 |
|
|
its pedestal, while the RMS is a good estimate of its noise, provided that the noise itself
|
401 |
|
|
is Gaussian, which is true to a first approximation. This value is often referred to as
|
402 |
sguazz |
1.2 |
\textit{raw noise}, as opposed to the \textit{common-mode subtracted
|
403 |
|
|
noise} (or CMN). The latter is the RMS computed after having
|
404 |
|
|
subtracted the {\em common noise}, i.e. the correlated noise-like fluctuation
|
405 |
carlo |
1.4 |
common to a given group of channels (tipically an entire APV25).
|
406 |
|
|
The common mode noise subtraction method implemented in
|
407 |
sguazz |
1.2 |
TrackerOnline is similar to that performed by the final FEDs.\\
|
408 |
carlo |
1.3 |
Because of the difference in gain between the various
|
409 |
carlo |
1.4 |
optical links, noise comparison between different APV25 pairs requires a
|
410 |
carlo |
1.3 |
normalization. This procedure relies on the digital
|
411 |
carlo |
1.4 |
headers whose amplitude, being the same on each APV25, is used to
|
412 |
sguazz |
1.2 |
estimate of the relative gain of optical links so to apply an
|
413 |
|
|
appropriate correction. In such a way noise and gain are
|
414 |
|
|
simultaneously measured provided that the signal is not saturation both on low and high values.
|
415 |
|
|
The normalisation factor is chosen so as to bring the normalised
|
416 |
|
|
header height to 220 ADC counts, as measured in quality controls
|
417 |
|
|
during the module production. This allowed the scaled measurements to be easily
|
418 |
carlo |
1.3 |
compared with those done during module production tests~\cite{ref:modtest}.\\
|
419 |
|
|
At the end of the run, pedestal and noise profiles and distributions
|
420 |
sguazz |
1.2 |
are shown to the user.
|
421 |
sguazz |
1.1 |
\begin{figure}[t!]
|
422 |
|
|
\centering
|
423 |
|
|
\includegraphics[width=0.6\textwidth]{Figs/noiseprofile.pdf}
|
424 |
|
|
\caption{Noise profile of a TIB Layer 3 module. X axis represent the strip index
|
425 |
|
|
and y axis represent the noise in ADC counts (or ADC count equivalent for the
|
426 |
|
|
normalised noise).}
|
427 |
|
|
\label{fig:noiseprofile}
|
428 |
|
|
\end{figure}
|
429 |
sguazz |
1.2 |
Figure~\ref{fig:noiseprofile} shows an example of the noise output:
|
430 |
|
|
the normalised raw noise and CMN and the uncalibrated CMN
|
431 |
sguazz |
1.1 |
for each strip are plotted against the strip index. The first 256 strips belong to the
|
432 |
carlo |
1.4 |
first APV25 pair and are multiplexed to a single optical line and the strips from 257 to 512
|
433 |
|
|
belong to the second APV25 pair. It can be noted here that the
|
434 |
carlo |
1.3 |
raw noise without normalisation reflecs the different gain of
|
435 |
|
|
optical links, this is corrected by the normalisation procedure.\\
|
436 |
sguazz |
1.2 |
If validated by the user, data are packed along with
|
437 |
sguazz |
1.1 |
possible comments and sent to the central archive system, where they are processed
|
438 |
sguazz |
1.2 |
again and made available on a web page.
|
439 |
|
|
%The system also automatically recognises where
|
440 |
|
|
%the modules where mounted by checking their DCU Hardware Id (which is written in the fec.xml file)
|
441 |
|
|
%in the construction database, this information is stored in the test table of
|
442 |
|
|
%the integration database and allows to build a geographical table of mounted modules with
|
443 |
|
|
%a link to a page containing all the tests performed for each module.\\
|
444 |
|
|
\end{description}
|
445 |
sguazz |
1.1 |
|
446 |
|
|
%%%%%%% aggiunta C.G.
|
447 |
sguazz |
1.2 |
The basic run types and tests described above are appropriately
|
448 |
|
|
combined according to the devices and/or the group of devices under test.
|
449 |
|
|
\begin{description}
|
450 |
|
|
\item[Single Module.] After a module is mounted, its basic
|
451 |
|
|
functionalities can be tested. In particular, a fast test on the
|
452 |
|
|
I$^2$C communication permits possible
|
453 |
|
|
electrical problems to be spotted in the module front-end electronics,
|
454 |
|
|
in the AOH or in the mother cable. For mother cable and AOH this is of
|
455 |
|
|
particular importance: an AOHs can be practically tested only
|
456 |
|
|
after the corresponding modules is mounted and this is the first
|
457 |
|
|
test which can spot possibly broken fibres; similarly for the MC, it
|
458 |
|
|
is very important to perform the test of as soon as possible. In
|
459 |
|
|
fact, a safe removal and replacement of either an AOH or the MC is a
|
460 |
|
|
difficult intervention possibly requiring the dismounting of many
|
461 |
carlo |
1.3 |
modules already put in place. \\
|
462 |
|
|
Since the
|
463 |
sguazz |
1.2 |
I$^2$C test FecTool checks the identity of the components with respect
|
464 |
carlo |
1.3 |
to the construction database an alarm issued in case of mismatch.
|
465 |
|
|
The results of the tests can then be
|
466 |
sguazz |
1.2 |
monitored through a web page.
|
467 |
|
|
\item[String]
|
468 |
|
|
When the third and last module or double sided assembly is mounted on
|
469 |
|
|
a string, all the commissioning runs described above are performed
|
470 |
|
|
just after the I$^2$C communication tests. The ``Find
|
471 |
carlo |
1.3 |
connections'' run allows for the devices accessibility to be checked.
|
472 |
sguazz |
1.2 |
Afterwards a ``Time Alignement'' run, a ``Laser scan'' run and
|
473 |
carlo |
1.3 |
finally a ``Pedestal and Noise'' run with bias voltage at 400V are performed. The
|
474 |
sguazz |
1.2 |
``Laser scan'' run is done limiting the laser gain to the lower value
|
475 |
|
|
which is found to be enough for the integration setup needs.
|
476 |
|
|
\item[Control Ring and Redundancy.]
|
477 |
|
|
The control electronics can be fully tested only after complete
|
478 |
|
|
assembly of a shell. This last test forsees a check of the correct
|
479 |
|
|
operation of the ring and of the redundancy circuitry. A failure on a
|
480 |
|
|
CCU or a control cable can be immediatly spotted as it causes the
|
481 |
|
|
interruption of the ring; the communication with the other components
|
482 |
|
|
is then checked using ProgramTest. Finally the test of redundancy
|
483 |
|
|
circuitry is performed by-passing each CCU one by one and verifying
|
484 |
|
|
the correct response of the ring. The test is successful only if both
|
485 |
|
|
the primary and secondary circuits of the DOHM are working correctly
|
486 |
|
|
and if the CCUs are connected in the right order to the DOHM ports.
|
487 |
sguazz |
1.1 |
%%%%%%%% fine aggiunta C.G.
|
488 |
sguazz |
1.2 |
\end{description}
|
489 |
sguazz |
1.1 |
|
490 |
|
|
\section{Safety of operations}
|
491 |
|
|
The integration procedure posed many possible problems in the safety of operations,
|
492 |
|
|
from the routing of optical fibres to the handling of modules and each of these items
|
493 |
|
|
were addressed to minimise the risk of an accident. \\
|
494 |
|
|
For example
|
495 |
|
|
as the integration setup could not make use of the shell cooling system,
|
496 |
|
|
temperature measurements on the most sensible devices were done
|
497 |
|
|
to be sure not to damage any components when the system is powered up.\\
|
498 |
|
|
The component with the most stringent requirement on temperature is the AOH
|
499 |
|
|
and in particular the optical coupling of the pig-tail fibres to lasers.
|
500 |
|
|
|
501 |
|
|
\begin{figure}[t!]
|
502 |
|
|
\centering
|
503 |
|
|
\includegraphics[width=.5\textwidth]{Figs/ir.pdf}
|
504 |
|
|
\caption{IR picture of and AOH seen from below (laser side)
|
505 |
|
|
taken after a laser scan when bias and gain are maximum. The lasers reach a temperature
|
506 |
|
|
of $40^\circ \mathrm{C}$, while the highest recorded temperature $48^\circ \mathrm{C}$,
|
507 |
|
|
on the hybrid.}
|
508 |
|
|
\label{fig:ir}
|
509 |
|
|
\end{figure}
|
510 |
|
|
|
511 |
|
|
An infrared camera has been used to monitor the temperature during the integration
|
512 |
|
|
tests. Figure~\ref{fig:ir} show a shot taken just
|
513 |
|
|
after a laser scan performed on one string of double-sided modules.
|
514 |
|
|
This run proved to be the most thermal
|
515 |
|
|
stressing among the commissioning run performed, because at its end
|
516 |
|
|
all laser drivers have the maximum gain and the highest bias possible with a complete
|
517 |
|
|
signal saturation.\\
|
518 |
|
|
For this test a double-sided layer has been used. In this case the modules have
|
519 |
|
|
two back-to-back hybrids
|
520 |
|
|
and thus a higher power dissipation density with respect to the single-sided ones;
|
521 |
|
|
furthermore the AOH are equipped with three lasers.\\
|
522 |
|
|
Even in the most stressing condition and after a few minutes of settling,
|
523 |
|
|
the highest measured temperature on the lasers was $\sim 40^\circ \mathrm{C}$
|
524 |
|
|
(while it was $48^\circ \mathrm{C}$ on the hybrid).
|
525 |
carlo |
1.4 |
These are safe temperatures~\cite{ref:lasertemp}
|
526 |
sguazz |
1.1 |
thus the integration tests could be performed without problems.
|