|
Version 0.0 |
July 18, 2002 |
PTANAL: Software utility for HO pigtail certification
S.R.Dugad, V.S.Narasimham and B.Satyanarayana
High Energy Cosmic Ray Group
Tata Institute of Fundamental Research, Colaba, Mumbai, INDIA, 400005
Fully fabricated optical fiber assemblies (called pigtails) of the Outer Hadron Calorimeter are tested using a pigtail scanner in order to ascertain their production quality as well as to decide about their acceptance for using in the final detector module (called tray) fabrication. This note is about the data taking procedures employed for pigtail testing as well as on the data analysis and quality control schemes used to maintain the pigtail production quality.
Pigtail scanner
Pigtail scanner uses an electromagnetic shutter controlled ultraviolet lamp to excite pigtail fibers under test. Light from individual fibers of the pigtail are is readout using a bank of photodiodes. A special assembly made up of Wave Length Shifting (WLS) fibers is used to normalise the light output of individual photodiode readout channels. While one end of the fibers of this assembly are terminated on a connector, the other ends of individual fibers are coupled to the respective photodiodes. Pigtail is mounted in the scanner on a grooved plastic template with its connector coupled to the WLS fiber assembly's connector, while being tested. As the ultraviolet lamp is moved in steps, starting from the normalising fiber end (called Home) to the end of pigtail, light from all the fibers of the pigtail is readout at each step.
Fig. 1 shows a sample data file created by the pigtail scanner. The scans are typically taken with a step size of about 12mm. At each step (also called sample number), light from all sixteen fibers is readout both with the ultraviolet lamp in on as well in off condition.
R0L0S11T3L-0252
Measurement type 0
1 .00
1.03882 .00007 2.98218 .00063 3.10669 .00000 .00000 .00000
2.76245 .00000 2.18994 .00000 3.29590 .00000 2.43652 .00000
2.46948 .00000 1.29394 .00000 1.46728 .00000 1.47949 .00000
1.20361 .00023 1.66504 .00028 1.49780 .00000 1.45996 .00000
2 12.01
1.03760 .00023 2.95654 .00000 3.07983 .00030 1.98975 .00000
2.73682 .00000 2.17041 .00041 3.27393 .00000 2.34863 .00041
2.44995 .00024 1.27807 .00009 1.44897 .00000 1.46240 .00014
1.19141 .00000 1.63574 .00029 1.48071 .00000 1.44165 .00000
3 24.02
1.03760 .00023 2.95166 .00041 3.05054 .00000 1.97510 .00000
2.71118 .00045 2.16431 .00000 3.22754 .00047 2.41943 .00046
2.43408 .00042 1.26709 .00000 1.43677 .00000 1.44287 .00000
1.16943 .00022 1.63208 .00000 1.45630 .00000 1.40747 .00012
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
255 3051.18
.00000 .00000 .00000 .00000 .00000 .00000 .00000 .00000
.00000 .00000 .00000 .00000 .00000 .00000 .00000 .00000
.00000 .00000 -.00122 .00000 .00000 .00000 .00000 .00000
.00000 .00000 .00000 .00000 .00000 .00000 .45044 .00002
256 3063.19
.00000 .00000 .00000 .00000 .00000 .00000 .00000 .00000
.00000 .00000 .00000 .00000 .00000 .00000 .00000 .00000
.00000 .00000 .00000 .00000 .00000 .00000 .00000 .00000
.00000 .00000 .00000 .00000 .00000 .00000 .25513 .00000
Fig. 1: Data file format of pigtail scanner
Data taking
Pigtails are grouped as per Ring, Layer, Tray and Side (left or right) for the purpose of scanning and quality control. Normalising runs are taken before and after the actual pigtail runs. Normalising runs are taken without connecting the pigtail and taking the data starting from the Home till the end of the WLS fiber assembly connector. Purpose of these normalising runs is to monitor the system stability of the scanner on day-to-day basis. Taking these runs before and after the the actual pigtail runs is essentially to have a redundancy, though this also makes it possible to use an average of these two runs for normalisation. A pigtail run starts from the Home and goes till end of the pigtail.
Analysis utility
Pigtail test data for all the sectors in a group which is defined as above is analysed together using an utility called PTANAL under WINDOWS. This program mainly works on two setup files, namely a program configuration file (called ptanal.cfg) and an input run information file (called ptanal.inp). The configuration file is shown in Fig. 2, followed by a short description on its various fields.
Program configuration file (ptanal.cfg) to be used with ptanalv3.exe.
Revised by B.Satyanarayana on 13th May 2002 at 2030 hours.
Parameter Explanation of the parameter
--------------------------------------------------------------------------------------------
e:\ptanal\, Raw data path (a)
No, Flag for normalisation of raw data(Yes/No) (b)
No, Flag for normalisation using reference fiber data(Yes/No) (c)
No, Flag for self normalisation of individual fiber data(Yes/No) (d)
No, Flag for creating output data file(Yes/No) (e)
Yes, Flag for creating summary file(Yes/No) (f)
0, Sample number used for self normalisation (g)
12, Sample number representing 'before connector' (h)
22, Sample number representing 'after connector' (i)
3, Safety positive offset for determining after splice position (j)
Yes, Flag for auto splice search(Yes/No) (k)
0.3, Threshold reading for identifying a splice (l)
NR, Parameter type - Non-ratio(NR); Pigtail/Pigtail(PP); Pigtail/Reference(PR) (m)
2, Run type - Pigtail run(0); ref before(1); ref after(2); both reference(3) (n)
0, Sample number for numerator of the ratio(0~255 or -1 for after splice) (o)
0, Sample number for denominator of the ratio(0~255 or -1 for after splice) (p)
0., Percentage for Ave of Ave to be used as pigtail scan run acceptance criterion (q)
0., Percentage for individual fiber Ave to be used as fiber acceptance criterion (r)
No, Flag for normalising and storing of ratios (s)
Fig. 2: Sample configuration file for PTANAL
Directory path of raw data is given in this field.
Flag indicating whether(yes) or not(no) the raw data should be normalised.
If the flag in (b) is set to a yes, this flag indicates whether(yes) or not(no) the raw data should be normalised using reference fiber (fiber number 0) data at sample number 0.
If the flag in (b) is set to a yes, this flag indicates whether(yes) or not(no) the raw data should be self-normalised using the raw data at a given sample number of the respective fibers.
A yes for this flag will create an output file (*.out) of the raw or normalised data as per the format described later.
A yes for this flag will create a summary file (*.sum) as per the format described later.
Sample number, data at which is used for self normalisation, refer (d) above.
Sample number representing a position called before pigtail connector.
Sample number representing a position called after pigtail connector.
In the case of auto splice option set to a yes in (k), this offset is used as the safety margin for determining the splice position. This offset is added to the actual splice position located by PTANAL based on the threshold specified in (l).
If this flag is set to a yes, then PTANAL locates the splice positions of fibers by itself. These splice positions are stored in a file (called ptanalop.spl). Otherwise, the program uses the positions specified in the input file (called ptanalip.spl).
A value specified for this field is used to identify a splice after passing over the initial clear fiber length, immediately following the after pigtail connector position (i).
This field specifies the parameter to be used for actually making the summary of pigtail scan data. Non-Ratio(NR) works on individual data such as one of the reference runs or actual pigtail scan run. Pigtail/Pigtail(PP) represents a case of working on a ratio of pigtail scan data recorded at two different positions (sample numbers, Refer (o) and (p)). Pigtail/Reference(PR) represents a case of working on a ratio of pigtail scan data recorded at a given position (sample number, Refer (o) and (p)) to the reference data recorded at a position (sample number, Refer (o) and (p)).
This field specifies the type of data run to be used in conjuction with information given in (m). A zero indicates pigtail run, a one or a two indicate reference runs taken before or after pigtail scan run respectively and a three indicates a case of working on the average value of the two reference runs.
This is a number specifying the numerator data, if the parameter specified in (m) is PP or PR. Valid input for this field which specifies the raw data at this sample number is 0~255 or -1. Input -1 indicates the raw data after the splice as per its definition as described above.
This is a number specifying the denominator data, if the parameter specified in (m) is PP or PR. Valid input for this field which specifies the raw data at this sample number is 0~255 or -1. Input -1 indicates the raw data after the splice as per its definition as given above.
This field specifies a valid range for the average of the average of a pigtail run (details given later) for the purpose of deciding about a pigtail run acceptance.
This field specifies a valid range for the average of fibers across the entire group of pigtail runs (details given later) for the purpose of deciding about a fiber acceptance.
This flag if set to a yes, normalises the individual fiber ratios with their corresponding average values (of passed fibers) and stores these values in a normalised data file (*.nfd).
A sample of input run information file is shown in Fig. 3. It consists of one row of entries for each tested pigtail, whose identification number is given as the first column. The next three entries are the run numbers for the pigtail scan as well as normalising runs taken before and after the pigtail run respectively. Lines beginning with a '*' are ignored as comments.
Input run information file (ptanal.inp) to be used with ptanalv3.exe.
Revised by B.Satyanarayana on 13th May 2002 at 2030 hours.
Data format: PigtailId, Pigtail run, Reference run before, Reference run after Pigtail scan
Data lines starting with a "*" are treated as comments and ignored.
-------------------------------------------------------------------------------------------------
R0L0S3T2L, 281, 280, 282
R0L0S5T2L, 283, 282, 284
R0L0S2T2L, 285, 284, 286
R0L0S9T2L, 298, 297, 299
R0L0S10T2L, 300, 299, 301
R0L0S12T2L, 303, 302, 304
R0L0S11T2L, 305, 304, 306
R0L0S6T2L, 307, 306, 308
R0L0S10T2R, 314, 312, 315
R0L0S6T2R, 316, 315, 317
R0L0S9T2R, 336, 000, 337
R0L0S8T2R, 338, 337, 339
R0L0S5T2R, 340, 339, 341
R0L0S7T2R, 342, 341, 343
*R0L0S12T3R, 344, 343, 345
*R0L0S9T3R, 346, 345, 347
R0L0S3T3R, 371, 370, 372
Fig. 3: Sample input file for PTANAL
PTANAL requires splice locations of various fibers of the pigtail in order to calculate ratios opted by (m) option in the configuration file. These locations can be specified by turning the option (k) to a no. In this case, PTANAL reads these locations from the supplied input file, ptanalip.spl, the format of which is shown in Fig. 4.
Splice location file (ptanalip.spl) to be used with ptanalv3.exe.
Revised by B.Satyanarayana on 14th May 2002 at 0930 hours.
Fib Splice location
-------------------------------------------------------------------------------------------------
0, 22
1, 22
2, 22
3, 47
4, 61
5, 75
6, 88
7, 103
8, 117
9, 131
10, 145
11, 158
12, 172
13, 187
14, 201
15, 211
Fig. 4: Sample splice location input file for PTANAL
Alternately, PTANAL can also determine these splice locations by itself, if opted so by turning the option (k) to a yes. As mentioned above, in this case, it uses the photodiode signal threshold specified in the field (l), to determine if a splice location is reached. The splice locations automatically determined by PTANAL for all the fibers of all the pigtails of a run are stored in an output file, ptanalop.spl, the format of which is shown in Fig. 5. Each row of this file represents a pigtail identification followed by splice locations of all its fibers.
Program generated splice location file (ptanalop.spl)
Created on 06-26-2002 at 13:03:24
Pigtail Id 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
----------------------------------------------------------------------------------------------------------
R0L0S2T4L 22 22 22 47 61 75 88 102 116 130 144 158 172 186 200 211
R0L0S3T4L 22 22 22 47 61 75 88 102 116 130 144 158 172 186 200 211
R0L0S4T4L 22 22 22 46 60 74 87 101 114 128 142 156 170 184 198 209
R0L0S5T4L 22 22 22 46 60 73 87 100 114 128 141 155 169 183 198 208
R0L0S6T4L 22 22 22 46 60 74 87 101 115 129 143 157 171 185 199 209
R0L0S7T4L 22 22 22 46 60 73 87 100 114 128 141 155 169 184 198 208
R0L0S8T4L 22 22 22 46 60 73 87 100 114 128 141 156 169 183 198 208
R0L0S12T4L 22 22 22 46 60 74 88 102 116 130 143 157 171 186 200 210
Fig. 5: Sample splice location output file generated by PTANAL
If the option (e) of the PTANAL's configuration file is set to a yes, then pedestal subtracted pigtail scanner raw data is stored in a file with *.out extension in the format shown in Fig. 6. Each row of this file represents the sample number, distance in mm from the Home, followed by the pedestal subtracted measurements from the sixteen photodiode channels.
1 0.00 1.02767 2.27015 2.38741 1.50000 2.13745 ........ 1.36475 1.25722 1.35620
2 12.01 1.02661 2.23511 2.35192 1.47309 2.09839 ........ 1.34033 1.23779 1.33667
3 24.02 1.02531 2.23511 2.33276 1.46572 2.08948 ........ 1.33667 1.23518 1.33911
4 36.04 1.03149 2.24317 2.33976 1.47309 2.09917 ........ 1.33667 1.23779 1.33667
5 48.05 1.02417 2.21557 2.31323 1.45630 2.08252 ........ 1.31836 1.23047 1.32813
6 60.06 1.01796 2.20045 2.30304 1.44897 2.07132 ........ 1.31584 1.22799 1.32568
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
253 3027.15 0.00000 0.00000 0.00000 0.00000 0.00000 ........ 0.00000 0.00000 0.00000
254 3039.16 0.00000 0.00000 0.00000 0.00000 0.00000 ........ 0.00000 0.00000 0.00000
255 3051.18 0.00000 0.00000 0.00000 0.00000 0.00000 ........ 0.00000 0.00000 0.00000
256 3063.19 0.00000 0.00000 0.00000 0.00000 0.00000 ........ 0.00000 0.00000 0.00000
Fig. 6: Sample output file generated by PTANAL
On execution, PTANAL prompts for the input data specification, which can be given in the standard wild card format. Providing r0l0s?t2l as input for example, makes PTANAL to pickup all the uncommented test runs from the input file corresponding to Ring 0, Layer 0, all sectors, Tray 2 and left side pigtails. PTANAL then displays the configuration parameters as well as the selected runs' list before proceeding with its execution.
Analysis procedure
After a group (defined by a ring, a layer, a tray and a side) of pigtails are scanned, information about these test runs is entered in the input run information file, ptanal.inp. Thereafter, the analysis is proceeded as described below:
Confirming stability of the test system: Before proceeding with the actual analysis of the pigtail data, stability of the scanner system is ascertained. It is done by analysing the reference runs taken either before or after the actual pigtail runs. Configuration file, ptanal.cfg is set as shown in Fig. 2 for this analysis. A typical summary sheet generated by PTANAL for the reference runs' analysis is shown in Fig. 7.
Format of the various summary sheets produced by PTANAL is generic in nature, so common features of these summary sheets are given here. Configuration parameters set for that analysis are listed at the top of the summary sheet. Run numbers of pigtail and reference scans which are used in the analysis are given next. A matrix of fiber numbers as the first column, followed by test entries of different pigtails in subsequent columns represents actual data of the parameter chosen for that particular analysis. Statistics on the main matrix entries, both horizontally (representing various fibers) as well as vertically (representing various pigtails) are then presented. The statistical parameters include minimum, maximum, average, RMS and ratio of RMS to the average of the main matrix entries. Further, minimum, maximum, average, RMS and ratio of RMS to the average of the statistical parameters for the main matrix columns are also computed and presented.
In this case, the numbers in the main matrix of the summary sheet indicate the raw data values of the reference run taken at sample number 0 of each fiber. Stability of the test system is confirmed by looking at the uniform ratio of RMS to the average of the rows corresponding to various fibers in the summary sheet. Typical number for this parameter for a stable system is about a few percent.
Acceptance of pigtail scan runs: The next step in the pigtail test data analysis is to decide whether or not a pigtail test scan can be accepted for further analysis. This is because, even though the summary of reference runs seems to be fine, it is possible that a particular pigtail might not have been mounted properly or its connector not mated well with the normalising end of the connector, which will show in its scan data. These runs have to be discarded, because oherwise a bad scan affects the averages of the entire of group. This check on the data is performed by executing PTANAL with the following changes in its configuration file with reference to the one shown in Fig. 2:
PR, Parameter type - Non-ratio(NR); Pigtail/Pigtail(PP); Pigtail/Reference(PR)
-1, Sample number for numerator of the ratio(0~255 or -1 for after splice)
15., Percentage for Ave of Ave to be used as pigtail scan run acceptance criterion
Fig. 8: Changes in configuration file for pigtail run acceptance check
This check is performed by rejecting all the pigtail scan runs whose column average is outside a specified range (15% as given above in the configuration file) on the average of column average. This is actually done in two iterations, starting with a deliberately loose cut (viz.,15%). The pigtail scan runs failing to satisfy this cut are removed from the analysis group and the same check is repeated with a specified range of 10% in the second iteration. A typical summary sheet generated by PTANAL for the pigtail scan run acceptance check analysis is shown in Fig. 9. Further analysis of pigtail test data is taken up only after all the scan runs satisfy the 10% cut. This is indicated by PTANAL by flaging the runs, a Pass at the bottom row of each pigtail column. We attend to the failed pigtails according to the procedure given in the sub-section iv.
Acceptance of pigtail fibers: The next step in the analysis is to perform acceptance checks on individual fibers of pigtails. This check on the data is performed by executing PTANAL with the following changes in its configuration file with reference to the one shown in Fig. 2:
PR, Parameter type - Non-ratio(NR); Pigtail/Pigtail(PP); Pigtail/Reference(PR)
-1, Sample number for numerator of the ratio(0~255 or -1 for after splice)
0, Sample number for denominator of the ratio(0~255 or -1 for after splice)
10., Percentage for Ave of Ave to be used as pigtail scan run acceptance criterion
12.5, Percentage for individual fiber Ave to be used as fiber acceptance criterion
Yes, Flag for normalising and storing of ratios
Fig. 10: Changes in configuration file for pigtail fiber acceptance check
This check is performed by indicating all the fibers in the respective pigtail and fiber position of the main matrix, a Pass if that fiber's ratio lies within 12.5% of the that fiber average taken across all the pigtails of the analysis group. In case of the rejected fibers, the deviation of their ratio with respect to the overall fiber group average is printed in signed percentage format. The validity ranges for different fiber numbers are also indicated as the last column of the summary sheet. A typical summary sheet generated by PTANAL for the pigtail fiber acceptance check analysis is shown in Fig. 11.
The deviations of various fibers of a pigtail with respect to their group average are then normalised as follows, if the corresponding flag (s) in the configuration file is set to a yes. First, average of the all passed fibers in a row is computed and then all the fibers on a row (whether or not they are passed) are normalised with respect to this average value. The normalised ratios are stored in normalised data file, *.nfd. Format of a typical *.nfd file is shown in Fig. 12.
413 0 0 2 2 0 0 0.883 0 0.897
413 0 0 2 2 0 1 1.079 1 0.967
413 0 0 2 2 0 2 1.103 1 1.002
413 0 0 2 2 0 3 1.037 1 1.013
413 0 0 2 2 0 4 1.032 1 1.004
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
393 0 0 2 2 1 11 0.810 1 0.981
393 0 0 2 2 1 12 0.805 1 1.015
393 0 0 2 2 1 13 0.802 1 1.035
393 0 0 2 2 1 14 0.571 1 1.014
393 0 0 2 2 1 15 0.264 1 0.918
Fig. 12: Sample normalised data file generated by PTANAL
It may be noted that these normalised ratios represent actual deviations on the splice transmission, connector polish quality etc. but doesn't depend on the clear fiber length variations among different fibers of a pigtail. So, one can combine this data for both left and right side connectors of a tray or even data across various trays. Thus, various normalised data files can be concatenated and this data can be plotted for a given tray or for all the trays combined. Sample plot for such data for Tray 3 and combined data for Trays 2~4 of Ring 0 Layer 0 are given in Fig. 13 and 14 respectively.
Pigtail acceptance: This final crucial step of the pigtail test data analysis is done manually. We check the summary sheets and pass any fibers which have failed fiber acceptance checks due to the deviation being on the higher (positive) side with respect to their group average. We also pass the fibers which have failed the test due to marginal deviations and rounding off errors. We then pass all the pigtails of a group, in which there are no failed fibers. If the corresponding pigtails of the other side was also passed, then we release the pair of pigtails of a tray for the tray fabrication.
In case of failed fibers, we check the pigtail carefully for any manufacturing defects. If we find a problem, then we repair or make new pigtail. If we don't find a obivious problem, then we rescan the pigtail, followed by another rescan after polishing the pigtail connector if unsuccessful in the earlier attempt. We remake the pigtail if these remidies don't recover the pigtail.
Conclusions
We have deviced the data taking and analysis procedure described in this note and applied the same in the analysis of 64 pigtails from Ring 0 Layer 0 Sectors 2~12 Tray 2~4. We find that the overall deviation of the fiber light yield to be about 5%. This procedure has rejected 39 out of 1024 fibers in total, which turns out to be about 4%. We find that this method is sensitive yet rugged to be used for the quality control of assembled pigtails.