PREREQUISITES ------------- A Java SDK kit installed, compatible with the one used by the PDB (version 1.2 or later should work) The following PDB libraries must be downloaded from the PDB web sites and inserted in your CLASSPATH environment variable: classes111.zip PIXTEST_1_02_P.jar PDB_LIBRARY.zip if using the UploadStaveMechanical application, also MODULE.jar is needed. DOWNLOADING AND INSTALLING -------------------------- You can download the precombiled binary archive RANKING.jar and add it to the CLASSPATH environment variable. Otherwise you can download the java source files ModuleRawData.java, ModuleRanking.java, StaveRanking.java and ModuleRankigReport.java. Compile them with the following commands: javac ModuleRawData.java javac ModuleRanking.java javac StaveRanking.java javac ModuleRankingReport.java javac StaveRankingReport.java javac UploadStaveMechanical.java jar -cvf RANKING.jar ModuleRawData*.class *Ranking*.class UploadStaveMechanical*.class And finally include the new RANKING.jar in the CLASSPATH. If you have compilation errors, usually because some the of classes are unknown, a solution can be of downloading RANKING.jar, inserting it in the CLASSPATH, compile according to the instruction and finally overvriting it with the jar command as above. USAGE ----- All application have a command line interface which can be displayed by executing them with the -h command line argument, like: java ModuleRanking -h If no command line option is provided, a frame is displayed in which all the search criteria can be set by the GUI. a) MODULE RANKING In ModuleRanking there are four possible search criteria: 1) by Owner 2) by Manufacturer (the lab which assembled the module) 3) by Stave or Sector serial number (the serial number can be the full one or just the last 4 or 5 digits or the last 7 digits for the new IVW staves) 4) by the serial number of a single module (the serial number can be the full one or just the last 6 digits) For the search methods 1) and 2) it is possible to set the criteria for the PASSED and ASSEMBLED flags (YES, NO or ANY). For all search methods it is possible to select the tests before mounting on stave/sector (FLEX) or after loading (STAVE). There are two output files. The first one is ModuleRanking_*_*.txt, which contains a table of the ranking results, which also specify: - the stave/sector where the module is loaded if any - if all test data are available to provide a ranking (true/false) - if the module is acceptable for mounting on the b-layer (fully ranked, with ranking less than a certain threshold and not from the ON semiconductor batch with low p-spray dose) Clearly the last word is not relevant for disk modules and modules OK for the b-layer can also be used for other layers. The second one is ModuleRanking_*_debug.txt and contains more detailed information about how the ranking was obtained, in case it is needed to verify the status of a single module. ModuleRankingReport performs a loop over the labs manufacturing and assemblying barrel modules, making a query by Owner and writing for each lab the standard ModuleRanking files, but also prepares a report (ModuleRankingReport_barrel.txt), containing a summary of the number of available modules in each lab, classifying them as good (fully tested and ranked below a certain value), bad (fully tested, but with high ranking) or undefined (not possible to rank). b) STAVE RANKING In StaveRanking there are three possible search criteria: 1) by Owner 2) by Manufacturer (the lab which assembled the stave) 3) by Stave (the serial number can be the full one or just the last 4 digits or 5 digits or the last 7 digits for the new IVW staves) The ranking of a stave is the sum of the ranking of the "rankable" modules. This module ranking, contains some additional contribution in addition to the pure module tests checked via ModuleRanking: 1) a penalty is added if the cold thermal conductivity exceeds 2 C/W. the formula is: 1500*( ( Thermal conductivity - 2.5 C/W )/0.5 )^3 2) if there is an increase of + bad pixels (source+electrical contributions in the spread sheets) + penalty for the leakage current, all these contributions are doubled. 3) the bow penalty is calculated using the bow measurement on stave and the same formula as the flex module, but with the limit below which no penalty is applied increased to 100 micrometers: 460.8*( ( Bow - 100 um )/100 )^3 4) Some mechanical penalties (rebonding, reworked MCC, reworked bare module) are reduced, since the module has already survived a significant stress, so they are less an index of weakness. Output files are: StaveRanking_*.txt with one line per stave, indicating the stave S/N, ranking, the S/N of the modules in the stave and their ranking contribution (negative value, means the module cannot be ranked) StaveRanking_*_modules.txt File similar to the one from ModuleRanking, but with additional columns for the new stave variable and one additional row for each stave, giving the summary of stave ranking. StaveRanking_*_debug.txt Essentially the same debug file as per ModuleRanking. c) STAVE RANKING REPORT This application is meant to perform a scan of the stave assembly sites and produced the StaveRanking output plus a summary file with one line per stave and summary of the performances (sum of single ranking components, average of some properties like noise, TC...). There is only a command line interface, which can be invoked with different options: 1) java StaveRankingReport PDB_username PDB_password call StaveRanking for manufacturers P_GEN, P_MAR and P_WUP, then process the resulting StaveRanking_*_modules.txt files to merge them in a report. 2) java StaveRankingReport PDB_username PDB_password 4### (or 14### or 1114###) call StaveRanking for a single stave and then build the report for this. 3) java StaveRankingReport PDB_username PDB_password filename read a file previously produced with stave ranking and build the report for it. With option 2) and 3) one can specify more than one stave number or file name in the command line and they are processed sequentially. It is also possible to mix stave numbers and file names in the same command line. In all cases the report will contain the merged information from all the staves/files specified in the command line. Output files: apart from the files produced by the calls to StaveRanking, the merged report is found in file: StaveRankingReport_full.txt d) UPLOAD STAVE MECHANICAL TEST The GUI needs a stave serial number (full, or just the last 4 digits or 5 digits or the last 7 digits for the new IVW staves) and the survey summary file generated by Vadim's Python application. The application reads Vadim's format and prepare text files for PDB upload. There are 13 files named as tmp.txt_# where # runs from 1 to 13. They contain a mechanical test, filled with meaningful informatio only for: + module bow, taken as average of bow at +x and at -x; + module deposited within specification |Dx|<50 um and |Dy|<50 um; + number of visible alignment marks. These files are afterwards uploaded calling the Java application UploadModuleTest. That's is why MODULE.jar should be present in the CLASSPATH. The generated files are just temporary and could be deleted upon completion. They are left there just in case the user needs to debug the output.