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 |
|
|
During the TIB integration all the operations have been monitored step by step by a chain of tests
|
9 |
|
|
aimed at a final control of the components just after the installation and at a verification of the
|
10 |
|
|
shell overall quality and functionality. The step by step tests are of particular importance
|
11 |
|
|
because in most cases it is very difficult and in some cases even dangerous
|
12 |
|
|
to replace a single faulty component when it is embedded in a fully equipped shell.
|
13 |
|
|
|
14 |
|
|
\subsection{Test Setup}
|
15 |
|
|
\label{sec:TestSetup}
|
16 |
|
|
The integration activities started well before the tracker
|
17 |
|
|
final data acquisition hardware and software
|
18 |
|
|
were available to the Collaboration, and thus had to rely on prototype peripherals
|
19 |
|
|
and a developing software freezing at the integration start up time.
|
20 |
|
|
Several further upgrades were actually implemented in time, but they all relied on the
|
21 |
|
|
same version of the underlying framework.
|
22 |
|
|
|
23 |
|
|
\subsubsection{Hardware}
|
24 |
|
|
Here a brief account of the hardware used in DAQ for the integration
|
25 |
|
|
is given (see Fig.~\ref{fig:integration daq}).
|
26 |
|
|
\begin{figure}
|
27 |
|
|
\centering
|
28 |
|
|
\includegraphics[width=\textwidth]{Figs/integrationDAQ.pdf}
|
29 |
|
|
\caption{Hardware used for the integration DAQ.
|
30 |
|
|
\textbf{On the left:}
|
31 |
|
|
\textbf{1:} The analog opto-electrical converter.
|
32 |
|
|
\textbf{2:} Optical lines from the AOHs inside the (yellow) ribbon.
|
33 |
|
|
\textbf{3:} The signal is converted to electric.
|
34 |
|
|
\textbf{On the right:}
|
35 |
|
|
\textbf{1:} The signal converted to electric goes to FEDs through 2-poles LEMOs.
|
36 |
|
|
\textbf{2:} TSC provides trigger and clock to FEC through an (orange) optical fibre and
|
37 |
|
|
\textbf{3:} to FEDs though 4-poles LEMOs.
|
38 |
|
|
\textbf{4:} FEC also implements the 2-way communication towards CCUs and modules through a
|
39 |
|
|
(yellow) fibre ribbon.}
|
40 |
|
|
\label{fig:integration daq}
|
41 |
|
|
\end{figure}
|
42 |
|
|
|
43 |
|
|
The A/D conversion is managed by FEDs~\cite{bib:fedpci},
|
44 |
|
|
with electrical differential analog input, mounted on
|
45 |
|
|
PCI carrier boards and installed in an industrial PC.
|
46 |
|
|
The opto-electrical conversion of the analog signals is done externally by a 24-channel unit.
|
47 |
|
|
A setup containing 3 FEDs, with the electro-opical converter, is able
|
48 |
|
|
to readout 48 APV; this is equivalent to 12 single sided modules (4 complete strings)
|
49 |
|
|
or 4 double sided modules (1 string plus 1 module). This is more than what is needed to
|
50 |
|
|
test the strings during the module installation.\\
|
51 |
|
|
The trigger and clock signals
|
52 |
|
|
were provided by the Trigger Sequencer Card (or TSC,~\cite{bib:specs:tsc}). It has up to four
|
53 |
|
|
electrical clock/trigger outputs, which were enough to drive the FEDs, and an optical clock/trigger
|
54 |
|
|
output for the FEC.
|
55 |
|
|
This card is used to generate a 40~MHz clock and provide it to the system and also to generate
|
56 |
|
|
triggers, either internally via software or by accepting external inputs.
|
57 |
|
|
The TSC may also generate the RESET and CALIBRATION signal, by coding them properly on the
|
58 |
|
|
clock/trigger line.\\
|
59 |
|
|
The FEC mezzanine used during the integration
|
60 |
|
|
was laid on a PCI carrier, supporting trigger/clock optical input as fed by the TSC. Its
|
61 |
|
|
output was also optical, and could be directly connected to DOHs on the DOHM. \\
|
62 |
|
|
The peculiarity of a PCI FED with respect to a final VME FED, other than having electrical inputs
|
63 |
|
|
instead of optical ones, is its timing system: a final FED is able to recognise which
|
64 |
|
|
conversion count
|
65 |
|
|
corresponds to a frame header coming from a module on each input channel separately,
|
66 |
|
|
while a PCI FED has this capability (\textit{header finding}) implemented only on the first channel
|
67 |
|
|
out of the eight available and assumes that the signals coming from the modules are synchronised.
|
68 |
|
|
This makes the PLL-based time alignment procedure even more important in a setup with PCI FEDs.
|
69 |
|
|
Furthermore, PCI FEDs are not able to insert a programmable delay on their inputs and thus
|
70 |
|
|
it is important that the clock/trigger connections from the TSC to FEDs have all the same delay.
|
71 |
|
|
Last, PCI FEDs cannot perform an online pedestal subtraction and zero suppression (they cannot
|
72 |
|
|
run in Processed Raw data nor in Zero Suppression mode).
|
73 |
|
|
|
74 |
|
|
\subsubsection{Software}
|
75 |
|
|
The software used to carry out integration tests was essentially the CMS
|
76 |
|
|
tracker implementation of a more general software, named xDAQ, which is the official CMS
|
77 |
|
|
DAQ framework. This implementation is known as TrackerOnline.\\
|
78 |
|
|
The present version of TrackerOnline makes use of a set of
|
79 |
|
|
xml files which store the parameters needed by all the devices present on the structure
|
80 |
|
|
to be tested. In the final implementation of the software the use of a database is foreseen.
|
81 |
|
|
|
82 |
|
|
\begin{figure}[bth!]
|
83 |
|
|
\centering
|
84 |
|
|
\includegraphics[width=\textwidth]{Figs/fecmodulexml_2.pdf}
|
85 |
|
|
\caption{An example of data contained in fec.xml and module.xml files for one module.
|
86 |
|
|
Part of the data is not shown for simplicity.}
|
87 |
|
|
\label{fig:fecmodulexml}
|
88 |
|
|
\end{figure}
|
89 |
|
|
The information on a given setup can be divided in two sections: one describing the
|
90 |
|
|
readout hardware (and corresponding software) setup and another describing which part of
|
91 |
|
|
the tracker is going to be connected to the Control System and to FEDs.\\
|
92 |
|
|
The hardware/software setup is written in a single xml file, which was prepared once
|
93 |
|
|
and for all at the start of the integration.
|
94 |
|
|
The information regarding the readout tracker section
|
95 |
|
|
is stored in two more files, commonly named fec.xml and module.xml. The first
|
96 |
|
|
contains all data which the FEC will need to download to modules before starting the data
|
97 |
|
|
taking, that is all the values to be written in devices' $I^2C$ registers.
|
98 |
|
|
The second contains all other
|
99 |
|
|
information needed by the DAQ setup to rearrange data coming from the FEDs: from an input channel
|
100 |
|
|
based indexing to a module based one (see Fig.~\ref{fig:fecmodulexml}).\\
|
101 |
|
|
The module.xml file contains two tables: the first joins FEDs input channel indexes
|
102 |
|
|
with the respective modules' ring, CCU and $I^2C$ address (i.e.\ readout coordinates
|
103 |
|
|
with Control System coordinates). Each row corresponds to an APV
|
104 |
|
|
pair, an AOH laser, an optical fibre and a FED input.\\
|
105 |
|
|
The second table of module.xml reassembles the information on a module basis.
|
106 |
|
|
Here all the active modules are listed, with a row for every module.
|
107 |
|
|
The Control System coordinates are repeated both in module.xml and fec.xml,
|
108 |
|
|
so that they can be used as a pivot between the 3 tables.\\
|
109 |
|
|
It is clear that these files have to be archived along with raw data taken during a run, and
|
110 |
|
|
to do it automatically is the first task of an integration validation software.
|
111 |
|
|
Another required task is an automatic run logging; a fast data analysis is also
|
112 |
|
|
desirable.
|
113 |
|
|
Last, but not least, this software should easily allow the user to perform all preliminary
|
114 |
|
|
(commissioning) runs, adjusting modules' parameters accordingly.
|
115 |
|
|
|
116 |
|
|
\begin{figure}
|
117 |
|
|
\centering
|
118 |
|
|
\includegraphics[width=.9\textwidth]{Figs/integration_package.pdf}
|
119 |
|
|
\caption{Scheme of the integration software.
|
120 |
|
|
\textit{Arrows}: a relation.
|
121 |
|
|
\textit{Gears}: an application.
|
122 |
|
|
\textit{Mouse:} an interactive application.
|
123 |
|
|
\textit{Sheet}: a file.}
|
124 |
|
|
\label{fig:integration_package}
|
125 |
|
|
\end{figure}
|
126 |
|
|
|
127 |
|
|
Figure~\ref{fig:integration_package} shows a scheme of the relations between all the software
|
128 |
|
|
components that will be described, the local files and the remote database.
|
129 |
|
|
\paragraph*{FecTool}
|
130 |
|
|
FecTool is a front-end Graphics User Interface (GUI) aimed to ease the creation of the device
|
131 |
|
|
description, i.e.\ fec.xml. This program is used to launch
|
132 |
|
|
two standalone applications deployed along with TrackerOnline: ProgramTest and FecProfiler.
|
133 |
|
|
The first application can test the ring functionality, the connection to all devices reporting
|
134 |
|
|
a list of detected hardware. Also the second application is able to retrieve a
|
135 |
|
|
list of hardware connected to CCUs, but its output is the fec.xml file needed by TrackerOnline.\\
|
136 |
|
|
By accessing the output of these two programs, the FecTool GUI enables the user to
|
137 |
|
|
test the functionality of a string, or of a whole ring. FecTool also checks that the found hardware
|
138 |
|
|
corresponds to what one expects to find in tracker's modules: for every $I^2C$ address
|
139 |
|
|
there should be either 4 or 6 APVs, one PLL, one AOH, and so on.\\
|
140 |
|
|
The user can also input the GeoId(s) of tested string(s) before starting the test. In this case
|
141 |
|
|
FecTool also checks that the DCU Hardware Id read from each module matches the one declared
|
142 |
|
|
in the construction database performing an important consistency check between what is
|
143 |
|
|
registered on the integration database and what is really present on the structure spotting
|
144 |
|
|
possible module registration error.\\
|
145 |
|
|
Only if this last test is passed, the user is allowed to create the fec.xml description file
|
146 |
|
|
needed to go forth with integration tests. Hence tests proceed with the data readout from
|
147 |
|
|
modules, which rely on TrackerOnline.
|
148 |
|
|
\paragraph*{The integration package}
|
149 |
|
|
The xDAQ version installed on the integration setups is very user-unfriendly, and requires
|
150 |
|
|
an expert user: many run-specific parameters are set manually and there is no
|
151 |
|
|
input validation.
|
152 |
|
|
|
153 |
|
|
\begin{figure}
|
154 |
|
|
\centering
|
155 |
|
|
\includegraphics[width=0.35\textwidth]{Figs/FedGuiMain.png}
|
156 |
|
|
\caption{Main GUI window.}
|
157 |
|
|
\label{fig:fedgui}
|
158 |
|
|
\end{figure}
|
159 |
|
|
|
160 |
|
|
A package interacting with TrackerOnline, capable
|
161 |
|
|
of automatically setting all relevant parameters and performing all data collection at the end
|
162 |
|
|
of a run has been written. This is a
|
163 |
|
|
finite state machine which cycle through the needed states setting run-specific parameters
|
164 |
|
|
in the xDAQ software.
|
165 |
|
|
|
166 |
|
|
The state machine cycles through the following states:
|
167 |
|
|
\begin{enumerate}
|
168 |
|
|
\item TrackerOnline initialisation (only once)
|
169 |
|
|
\item Ask for the desired run
|
170 |
|
|
\item Launch run in TrackerOnline
|
171 |
|
|
\item Wait for run completion (polling the number of acquired events)
|
172 |
|
|
\item Stop data taking
|
173 |
|
|
\item Launch fast data analysis package
|
174 |
|
|
\item Ask user for data validation
|
175 |
|
|
\item If acknowledged, pack all the data and log the run with proper data quality flag. If the run
|
176 |
|
|
was a commissioning run, update fec.xml and module.xml
|
177 |
|
|
\end{enumerate}
|
178 |
|
|
|
179 |
|
|
For every required run, the integration package shows the proper TrackerOnline output
|
180 |
|
|
through some GUIs, so that the user can acknowledge the outcome of the run and give the approval
|
181 |
|
|
for archiving the run data or, in case of a commissioning run, for updating the parameter set.\\
|
182 |
|
|
The TrackerOnline software computes the new parameter set for each commissioning run
|
183 |
|
|
(except for the ``find connection'' run, as we'll see below) and writes
|
184 |
|
|
it locally as a fec.xml file, which is retrieved by the integration package at need.\\
|
185 |
|
|
A main integration database, for centralized archiving purposes,
|
186 |
|
|
was also installed. Software implementing data analysis runs automatically on the
|
187 |
|
|
archived files producing validation outputs, accessible througth a web interface,
|
188 |
|
|
for every tested module.
|
189 |
|
|
|
190 |
|
|
\subsection{Test Description}
|
191 |
|
|
\label{ref:test-description}
|
192 |
|
|
\paragraph*{Find connections:}
|
193 |
|
|
This commissioning run is used to know which module is connected to which FED input channel.
|
194 |
|
|
This procedure consists of switching on all the lasers of all AOH one by one, while checking the
|
195 |
|
|
signal on all the FED inputs. If the difference of the signal seen on a FED channel is above
|
196 |
|
|
a given threshold, the connection between that laser and input channel is tagged and registered
|
197 |
|
|
in the module.xml as a connection table.
|
198 |
|
|
|
199 |
|
|
\begin{figure}
|
200 |
|
|
\centering
|
201 |
|
|
\includegraphics[width=0.27\textwidth]{Figs/FedGuiChannels.png}
|
202 |
|
|
\caption{Connections displayed during the run}
|
203 |
|
|
\label{fig:fedguichan}
|
204 |
|
|
\end{figure}
|
205 |
|
|
|
206 |
|
|
At this point of the commissioning procedures both the descriptions for FECs
|
207 |
|
|
(i.e. tracker hardware connected to the FECs) and for FEDs are present.
|
208 |
|
|
|
209 |
|
|
\paragraph*{Time alignment:}
|
210 |
|
|
This step is used to compensate the different delays in the control and readout chain,
|
211 |
|
|
i.e. the connections between FECs and FEEs.
|
212 |
|
|
This also makes the APVs' sampling time synchronous provided that AOH
|
213 |
|
|
fibres and ribbons are the same length. The latter is not important during integration
|
214 |
|
|
quality checks, as no external signal is ever measured, but it becomes so when
|
215 |
|
|
one tries to detect ionising particles.\\
|
216 |
|
|
This run type is relevant because, if FEDs are to sample properly
|
217 |
|
|
the APV signal, the clock must go to the modules synchronously, with a skew of the order of a few ns.
|
218 |
|
|
Also the clock coming to the three FEDs must be synchronous but this is guaranteed
|
219 |
|
|
by using cables of the same length between the clock-generating
|
220 |
|
|
board (TSC) and the FEDs themselves.\\
|
221 |
|
|
The time allignment run
|
222 |
|
|
makes use of the periodic tick mark signal sent by the APVs when it is clocked:
|
223 |
|
|
after these devices receive a reset, they produce a tick mark signal every 70 clock cycles.
|
224 |
|
|
During this run the FEDs continously sample the signals at the full clock frequency.
|
225 |
|
|
This means that for every DAQ cycle the output of all APVs is measured as with a 40~MSample scope.
|
226 |
|
|
After every cycle is completed all the PLLs' delays are icreased by (25/24)~ns
|
227 |
|
|
(the minimum delay step), and the signal readout is performed again. After 24 such cycles the full
|
228 |
|
|
tick mark signal is measured as with a 960~MSample scope.
|
229 |
|
|
|
230 |
|
|
\begin{figure}
|
231 |
|
|
\centering
|
232 |
|
|
\includegraphics[width=.6\textwidth]{Figs/tickmark.pdf}
|
233 |
|
|
\caption{A tick mark sampled during a time alignment. The raising edge and the sampling point
|
234 |
|
|
are marked. In the picture are reported only those samplings around the tick mark, while
|
235 |
|
|
during the time alignment an interval of $1\,\mu\mathrm{s}$ is scanned.}
|
236 |
|
|
\label{fig:tick}
|
237 |
|
|
\end{figure}
|
238 |
|
|
The DAQ takes the time delay between tick marks as a measurement of the difference in delays in the
|
239 |
|
|
FEC-FEE connections and computes what delay must be set on each PLL in order to compensate this.
|
240 |
|
|
The tick mark raising edge $t_R$ time is measured by taking the time corresponding to the highest
|
241 |
|
|
signal derivative (see Fig.~\ref{fig:tick}).
|
242 |
|
|
The best sampling point is considered $t_R+15\,\mathrm{ns}$, to avoid
|
243 |
|
|
the possible overshoot. This is important also later, when measuring the analogue data frame, as
|
244 |
|
|
it allows measuring the signal coming from each strip after transient effects due to the signal
|
245 |
|
|
switching between strips are over.\\
|
246 |
|
|
At the end of this procedure, the user is shown all proposed adjustments to PLL delay values.
|
247 |
|
|
Then he can accept the outcome of the first time alignment run and, possibly,
|
248 |
|
|
repeat it. If the time allignment has been done correctly maximum variation of two or less
|
249 |
|
|
nanoseconds will be found. The delays are written in the correspoding xml file.
|
250 |
|
|
|
251 |
|
|
\paragraph*{Laser Scan:}
|
252 |
|
|
This run makes a scan of all AOH bias values for the four possible gain settings
|
253 |
|
|
to determine the optimal gain and the corresponding optimal bias (see Fig.~\ref{fig:laserscan}).
|
254 |
|
|
In this run the APV generated tick marks are sampled (a correctly done
|
255 |
|
|
time allignment has to be done before) for all gain and bias values.
|
256 |
|
|
|
257 |
|
|
\begin{figure}[t!]
|
258 |
|
|
\begin{center}
|
259 |
|
|
\subfigure[A pictorial representation of a tick mark as produced by the APVs (dotted)
|
260 |
|
|
and as transmitted by the lasers (solid) when the laser driver's bias is too
|
261 |
|
|
low (left), correct (centre) or too high (right), with the subsequent signal saturation.]
|
262 |
|
|
{
|
263 |
|
|
\label{fig:laserscan}
|
264 |
|
|
\includegraphics[width=.9\textwidth]{Figs/laserscan.pdf}
|
265 |
|
|
}
|
266 |
|
|
\\
|
267 |
|
|
\subfigure[The sampled tick mark top and baseline as a function of the laser driver's bias.]
|
268 |
|
|
{
|
269 |
|
|
\label{fig:gainscan_basetop}
|
270 |
|
|
\includegraphics[width=.45\textwidth]{Figs/gainscan_basetop.pdf}
|
271 |
|
|
}
|
272 |
|
|
\hspace{5mm}
|
273 |
|
|
\subfigure[The corresponding tick mark height for a given gain.]
|
274 |
|
|
{
|
275 |
|
|
\label{fig:gainscan_range}
|
276 |
|
|
\includegraphics[width=.45\textwidth]{Figs/gainscan_range.pdf}
|
277 |
|
|
}
|
278 |
|
|
\caption{Plots computed during a gain scan run.}
|
279 |
|
|
\end{center}
|
280 |
|
|
\end{figure}
|
281 |
|
|
For each trigger sent to FEDs, the tick mark's top is sampled twice and all other samplings fall
|
282 |
|
|
on the baseline. The highest samples are used to estimate the higher limit of the signal
|
283 |
|
|
for a given gain/bias pair and the lower values provide an estimate of the lower limit.
|
284 |
|
|
For each gain value three plots are computed: in the first two the high and low edges of
|
285 |
|
|
the tick mark are represented as a function of bias (Fig.~\ref{fig:gainscan_basetop})
|
286 |
|
|
and the third, being the difference between the former, represent the dynamic range
|
287 |
|
|
as a function of bias (Fig.~\ref{fig:gainscan_range}).\\
|
288 |
|
|
For each laser these plots are created 4 times: one for each possible gain value. The best laser
|
289 |
|
|
gain is computed as that providing an overall gain as close as possible to a given optimal value,
|
290 |
|
|
the overall gain being estimated as the slope of the first two curves in their central section.
|
291 |
|
|
The best bias value is taken as the one maximising the tick mark height keeping
|
292 |
|
|
the maximum and minimum not saturated.\\
|
293 |
|
|
After the run is completed, values proposed by TrackerOnline are shown to the user, who
|
294 |
|
|
intervenes if there is any abnormal proposed gain, which may indicate a problem either on the
|
295 |
|
|
AOH or on the fibre.
|
296 |
|
|
|
297 |
|
|
\paragraph*{VPSP Scan:}
|
298 |
|
|
This is the first run with FEDs with the header finding function active. In this run the
|
299 |
|
|
trigger is dispatched also to modules, which send their data frames.
|
300 |
|
|
During this run a scan of VPSP parameter is performed on the modules, and for each value
|
301 |
|
|
their frames are acquired several times. As there is no physics
|
302 |
|
|
signal on the detectors, the sampled signal is a measurement of the pedestal of the analog channels.
|
303 |
|
|
The average strip pedestal is computed for every APV as a function of the VPSP parameter and
|
304 |
|
|
at the end of the run the best VPSP pedestal is computed as that which moves the baseline
|
305 |
|
|
to 1/3 of the dynamic range. This choice avoids setting a baseline too near the
|
306 |
|
|
lower saturation value leaving anyway enough range for possible signals from particles
|
307 |
|
|
($\sim 6$ MIP equivalent).
|
308 |
|
|
At the end of the run computed values are proposed to the user for approval and written
|
309 |
|
|
to the xml file.
|
310 |
|
|
|
311 |
|
|
\begin{figure}
|
312 |
|
|
\begin{center}
|
313 |
|
|
\subfigure[Strip pedestals of a module in ADC counts vs.\ strip number.]
|
314 |
|
|
{
|
315 |
|
|
\label{fig:saturationpedestal}
|
316 |
|
|
\includegraphics[width=.45\textwidth]{Figs/saturation_pedestal.pdf}
|
317 |
|
|
}
|
318 |
|
|
\hspace{5mm}
|
319 |
|
|
\subfigure[Strip noise of a module in ADC counts vs.\ strip number.]
|
320 |
|
|
{
|
321 |
|
|
\label{fig:saturationnoise}
|
322 |
|
|
\includegraphics[width=.45\textwidth]{Figs/saturation_noise.pdf}
|
323 |
|
|
}
|
324 |
|
|
\caption{The pedestal of strips after \#{}640 is low, approaching to the bottom of the
|
325 |
|
|
dynamic range, and their noise is therefore lower.}
|
326 |
|
|
\label{fig:saturation}
|
327 |
|
|
\end{center}
|
328 |
|
|
\end{figure}
|
329 |
|
|
This run is not normally performed during the integration, as a default value was set on
|
330 |
|
|
all the APVs after a measurement on a sample. Anyway it is sometimes needed because the optimal
|
331 |
|
|
VPSP value may change from APV to APV and is also strongly dependent on temperature.
|
332 |
|
|
An example of this is shown in Fig.~\ref{fig:saturation}, where
|
333 |
|
|
only a few readout channels suffer from a signal saturation, while most of the strips of a module
|
334 |
|
|
are placed correctly inside the dynamic range.
|
335 |
|
|
This usually happens because the pedestal values of the channels of an APV are different one
|
336 |
|
|
from another and may have a dependency on the strip index like that shown in
|
337 |
|
|
Fig.~\ref{fig:saturationpedestal}.
|
338 |
|
|
In these cases when the pedestal of a strip approaches to the edge of dynamic range the
|
339 |
|
|
APV-AOH output is no more linear and the channel's RMS is lower, (see Fig.~\ref{fig:saturationnoise}).
|
340 |
|
|
This is one of the most frequent problems with the pedestals and it is solved
|
341 |
|
|
by a VPSP scan.
|
342 |
|
|
|
343 |
|
|
\paragraph*{Pedestal and Noise:}
|
344 |
|
|
This is the main run for qualifying the detector performances during
|
345 |
|
|
the integration. The 400V bias are applied to the module under test which are
|
346 |
|
|
also checked for any possible overcurrent or breakdown.\\
|
347 |
|
|
Triggers are sent to the modules and FEDs are placed in header recognition mode.
|
348 |
|
|
All the analogue frames from the modules are acquired and for each channel both the average value
|
349 |
|
|
and the RMS are computed.
|
350 |
|
|
Two analyses are performed on these data: one is done online by the TrackerOnline software, and
|
351 |
|
|
another one is performed offline through procedures taken from the ORCA package (ORCA was the
|
352 |
|
|
official reconstruction package of CMS at the time, now substituted by CMSSW) and run
|
353 |
|
|
on the files containing the raw data as acquired by FEDs in just the same way as it would
|
354 |
|
|
do with data coming to a Filter Farm.\\
|
355 |
|
|
The average value of the signal read on each strip is an estimate of
|
356 |
|
|
its pedestal, while the RMS is a good estimate of its noise, provided that the noise itself
|
357 |
|
|
is Gaussian, which is true to a first approximation. This value is often referred to as
|
358 |
|
|
\textit{raw noise}, as opposed to the \textit{common-mode subtracted noise} (or CMN). The latter
|
359 |
|
|
can be computed after pedestals are measured, which happens after the first hundreds of frames
|
360 |
|
|
are acquired.
|
361 |
|
|
The common mode noise subtraction performed by ORCA and TrackerOnline is similar to that
|
362 |
|
|
performed by the final FEDs.
|
363 |
|
|
This subtraction
|
364 |
|
|
eliminates the Common Mode Noise contribution to a specific event. After the Common
|
365 |
|
|
Mode Noise subtraction the noise can be computed again as the RMS of the remaining signal on strips
|
366 |
|
|
and this new noise measurement is called Common Mode Subtracted Noise (or just CMN).\\
|
367 |
|
|
Because of the difference in gain between the various optical links to compare the noise
|
368 |
|
|
on different APV pairs a renormalization is needed.
|
369 |
|
|
To implement this a gain measuring procedure to correct
|
370 |
|
|
noise measurements has been done. When FEDs acquire analogue frames, they store all acquired
|
371 |
|
|
raw data, comprising the samplings on the digital header. As the digital header has
|
372 |
|
|
the same amplitude on every APV, its measurement in terms of FED ADC counts
|
373 |
|
|
was used as an estimate of the relative gain of optical links.
|
374 |
|
|
This method allows a contextual measurement of noise and gain, and it is accurate,
|
375 |
|
|
provided that there is no signal saturation both on low and high values.\\
|
376 |
|
|
The normalisation factor was chosen so as to bring the normalised header height to 220 ADC counts,
|
377 |
|
|
which was the value of header's height as it was read out in the module test setup
|
378 |
|
|
of the module production line. This allowed the scaled measurements to be easily
|
379 |
|
|
compared with those done during module production tests. Both normalised CMN noise and raw noise
|
380 |
|
|
are shown to the user, while only uncalibrated CMN noise is plotted as a reference.
|
381 |
|
|
Also the distribution of normalised CMN and raw strip noise is computed and shown to
|
382 |
|
|
complete the information.
|
383 |
|
|
|
384 |
|
|
\begin{figure}[t!]
|
385 |
|
|
\centering
|
386 |
|
|
\includegraphics[width=0.6\textwidth]{Figs/noiseprofile.pdf}
|
387 |
|
|
\caption{Noise profile of a TIB Layer 3 module. X axis represent the strip index
|
388 |
|
|
and y axis represent the noise in ADC counts (or ADC count equivalent for the
|
389 |
|
|
normalised noise).}
|
390 |
|
|
\label{fig:noiseprofile}
|
391 |
|
|
\end{figure}
|
392 |
|
|
Figure~\ref{fig:noiseprofile} shows an example of the output
|
393 |
|
|
at the end of a noise measurement run: the normalised raw noise and CMN and the uncalibrated CMN
|
394 |
|
|
for each strip are plotted against the strip index. The first 256 strips belong to the
|
395 |
|
|
first APV pair and are multiplexed to a single optical line and the strips from 257 to 512
|
396 |
|
|
belong to the second APV pair. It can be noted here that the
|
397 |
|
|
raw noise without normalisation suffers from a different gain of optical links
|
398 |
|
|
and that after the normalisation procedures the noise level is the same
|
399 |
|
|
for the two APV pairs.\\
|
400 |
|
|
At the end of this run, once the outcomes are showed to the user, he can decide whether to
|
401 |
|
|
store these data or to cancel the procedure. In the first case data are packed along with
|
402 |
|
|
possible comments and sent to the central archive system, where they are processed
|
403 |
|
|
again and made available on a web page. The system also automatically recognises where
|
404 |
|
|
the modules where mounted by checking their DCU Hardware Id (which is written in the fec.xml file)
|
405 |
|
|
in the construction database, this information is stored in the test table of
|
406 |
|
|
the integration database and allows to build a geographical table of mounted modules with
|
407 |
|
|
a link to a page containing all the tests performed for each module.\\
|
408 |
|
|
|
409 |
|
|
%%%%%%% aggiunta C.G.
|
410 |
|
|
\subsubsection{Single Module}
|
411 |
|
|
After a module of a string was mounted, its basic functionalities were tested.
|
412 |
|
|
A fast test on the I$^2$C communication permitted to spot possible electrical problems
|
413 |
|
|
in the module front-end electronics in the AOH or in the mother cable. Since the safe removal of a MC
|
414 |
|
|
from the shell requires the dismounting of al the modules of a string, it is very important
|
415 |
|
|
to perform this test of as soon as the first module of a string is integrated. After the
|
416 |
|
|
I$^2$C test FecTool checks the identity of the components against the construction database.
|
417 |
|
|
The results of the tests can then be monitored through a web page.
|
418 |
|
|
|
419 |
|
|
\subsubsection{String}
|
420 |
|
|
When the third and last module of a string is mounted the commissioning runs described in section~\ref{ref:test-description} are performed after the I$^2$C communication tests. The first run, ``Find connections'' permitted to check the full functionality of the AOH. Since the AOHs can be tested only after the modules are mounted this is the first test which can spot possibly broken fibres. It was necessary to perform this test after the integration of each string, because the subtitution of an AOH implies the dismounting of all the modules of the string mounted between the AOH and the front flange.\\
|
421 |
|
|
After this test a ``Time Alignement'' run, a ``Laser scan'' run and finally a ``Pedestal and Noise'' run with HV on were performed. The ``Laser scan'' run was done limiting the laser gain to the lower value which was found to be optimal for all the AOHs in the integration setup.
|
422 |
|
|
|
423 |
|
|
\subsubsection{Control Ring and Redundancy}
|
424 |
|
|
The control electronics can be fully tested only after complete assembly of a shell. This last test forsees a check of the correct operation of the ring and of the redundancy circuitry. A failure on a CCU or a control cable can be immediatly spotted as it causes the interruption of the ring; the communication with the other components is then checked using ProgramTest.\\
|
425 |
|
|
Finally the test of redundancy circuitry is performed by-passing each CCU one by one and verifying the correct response of the ring. The test is successful only if both the primary and secondary circuits of the DOHM are working correctly and if the CCUs are connected in the right order to the DOHM ports.
|
426 |
|
|
%%%%%%%% fine aggiunta C.G.
|
427 |
|
|
|
428 |
|
|
\section{Safety of operations}
|
429 |
|
|
The integration procedure posed many possible problems in the safety of operations,
|
430 |
|
|
from the routing of optical fibres to the handling of modules and each of these items
|
431 |
|
|
were addressed to minimise the risk of an accident. \\
|
432 |
|
|
For example
|
433 |
|
|
as the integration setup could not make use of the shell cooling system,
|
434 |
|
|
temperature measurements on the most sensible devices were done
|
435 |
|
|
to be sure not to damage any components when the system is powered up.\\
|
436 |
|
|
The component with the most stringent requirement on temperature is the AOH
|
437 |
|
|
and in particular the optical coupling of the pig-tail fibres to lasers.
|
438 |
|
|
|
439 |
|
|
\begin{figure}[t!]
|
440 |
|
|
\centering
|
441 |
|
|
\includegraphics[width=.5\textwidth]{Figs/ir.pdf}
|
442 |
|
|
\caption{IR picture of and AOH seen from below (laser side)
|
443 |
|
|
taken after a laser scan when bias and gain are maximum. The lasers reach a temperature
|
444 |
|
|
of $40^\circ \mathrm{C}$, while the highest recorded temperature $48^\circ \mathrm{C}$,
|
445 |
|
|
on the hybrid.}
|
446 |
|
|
\label{fig:ir}
|
447 |
|
|
\end{figure}
|
448 |
|
|
|
449 |
|
|
An infrared camera has been used to monitor the temperature during the integration
|
450 |
|
|
tests. Figure~\ref{fig:ir} show a shot taken just
|
451 |
|
|
after a laser scan performed on one string of double-sided modules.
|
452 |
|
|
This run proved to be the most thermal
|
453 |
|
|
stressing among the commissioning run performed, because at its end
|
454 |
|
|
all laser drivers have the maximum gain and the highest bias possible with a complete
|
455 |
|
|
signal saturation.\\
|
456 |
|
|
For this test a double-sided layer has been used. In this case the modules have
|
457 |
|
|
two back-to-back hybrids
|
458 |
|
|
and thus a higher power dissipation density with respect to the single-sided ones;
|
459 |
|
|
furthermore the AOH are equipped with three lasers.\\
|
460 |
|
|
Even in the most stressing condition and after a few minutes of settling,
|
461 |
|
|
the highest measured temperature on the lasers was $\sim 40^\circ \mathrm{C}$
|
462 |
|
|
(while it was $48^\circ \mathrm{C}$ on the hybrid).
|
463 |
|
|
These are safe temperatures
|
464 |
|
|
thus the integration tests could be performed without problems.
|