Skip to content
Felix Bachmair edited this page Aug 14, 2014 · 1 revision

Module Result Web MoReWeb is a software framework to analyze Module / ROC test data acquired using psi46expert or pXar. It can be used to analyse results locally, but it is also the software run on server side of the central BPix DB at Pisa. This software was developed and is currently maintained by ETH Zurich. It can analyse the output of the following readout softwares: pXar Pyxar PSI46expert The package is available on GitHub since June 16th 2014. It is part of the psi46 frame. You can find the GitHub page here: https://github.com/psi46/MoReWeb To checkout the package use the following command: git clone https://github.com/psi46/MoReWeb.git Upload to GlobalDB There are two ways to upload the data to the GlobalDB, where the data is automatically analysed: automatic with elComandante or via scp command in the command line. For both ways you need to get in contact with Andrea Rizzi or Tommaso Boccali to get your account. They need the public key of the computer you want to use and they will provide you - username: e.g. eth - destination: e.g. /home/eth/dropbox/ - host: cmspixelprod.pi.infn.it - port: 23481 Upload via elComandante In the configfile elComandante.conf there is a section [Transfer] in which you need to enter your username and your destination: [Transfer] host: cmspixelprod.pi.infn.it port: 23481 destination: /home/eth/dropbox user: eth To activate the automatic upload at the end of a qualification session one needs to activate the following switch: checkForTars: True Upload via scp In the first step one needs to create a tar.gz file which contains all data, e.g.: tar -czf M1148_TestQualification_2013-12-03_14h19m_1386076763.tar.gz M1148_TestQualification_2013-12-03_14h19m_1386076763/

It is important that the file has the right naming scheme: ModuleID_QualificationType_humanreadableTime_timestamp.tar.gz After creating the tar.gz file one can upload it to the DB, e.g. scp -P 23481 M1148_TestQualification_2013-12-03_14h19m_1386076763.tar.gz eth@cmspixel.pi.infn.it:/home/eth/dropbox/ Location of GlobalDB The file will be analysed soon. You can look at the results of all modules: http://cmspixel.pi.infn.it/cgi-bin/ModuleQualificationOverview.cgi Setup System Requirements The following requirements have to be met in order for the Controller.py to run correctly:

  1. Python installed, minimum version: 2.7
  2. Python packages:
  • pyROOT (http://root.cern.ch/drupal/content/pyroot) Code Structure general structure A module qualification session is instantiated using the Controller.py program. It will instantiate the module test result object for all folders found in the TestResultDirectory variable defined in the configuration and all necessary sub test result objects from the classes found in TestResultClasses/CMSPixel/ModuleTestGroup/, provide it with a test result environment object containing data relevant for the qualification session. It also reads the configuration and sets all relevant paths. In MoreWebRootFile one could see the histograms which are used to create the overview page. Data structure / requirements Data for Analysis can either be obtained using the ElComandante software framework, which will provide the correct file structure for MoReWeb. Or by arrangong the output of psi46expert Fulltest, IV curves, etc. in the same datastructure. This structure should look like the following: Data structure of a Full Qualification For each module one Session directory,e.g. M1148_FullTest_2013-02-01_15h43m_1359733385 containing subdirectories for each test 000_Pretest_p17 @ 17°C 001_Fulltest_m10 @ -10°C 002_Cycle 003_Fulltest_m10 @ -10°C 004_IV_m10 @ -10°C 005_Fulltest_p17 @ 17°C 006_IV_p17 @ 17°C configfiles logfiles where as the config file Tests.ini contains the information about the series of Tests executed and the temperature cycling in ASCII text form: [Tests] TestDescription: FullQualification Test: !Pretest@17,Fulltest@-10,IV@-10,...

[Cycle] highTemp: 17 lowTemp: -10 nCycles: 10 highTemp: 17 lowTemp: -10 nCycles: 10

Running the Scripts Follow this step-by-step guide in order to perform module qualifications and generate the result output. Check the minimum requirements as described in section 1.1.1 Open the command line on your UNIX system(Mac, Linux, etc.) Change to the directory where the analysis scripts are located, i.e. where the Controller.py is stored, by typing cd $PathToAnalysisScripts . Adjust the configuration to your current qualification session by editing the config- uration files found in the Configuration/ subfolder. GradingParameters.cfg Contains all the grading parameters. Usually needs no changes. ModuleInformation.cfg Contains module information such as the module version, etc. for the type of modules analyzed in the current qualification session. Paths.cfg Stores the paths to the test result directory where all test results you want to qualify in this session are stored. Moreover, the path to the overview page is stored. This directory also contains the local Overview.sqlite sqlite database that stores all qualification results. The same database can be used for any number of qualification sessions, even when the test results in each session are stored in different folders, and therefore the resulting overview page contains all module qualification results. SystemConfiguration.cfg Several system parameters such as the default image format, database connection parameters, etc. can be changed in this file. Type the command python Controller.py to run the qualification session. For each module, it should display: Working on: ’TestDate’: ’1363355666’, ’TestType’: ’FullQualification’, ’ModuleID’: ’M1193’ – The current step is shown as either “Populating Data” or “Generating Final Output”. If other messages occur, it is recommended to analyse their meaning, as they are most probably indicating some problems that might have occured during the qualification process. If no error messages appeared, all files should have been generated and the overview page can be found in the folder specified in the configuration. Each module test result folder now contains a folder called !FinalResults, which you can browse to access the test result files of any sub test. If needed, the output file format can be changed to png, with the drawback of using the scalability of vector graphics. Tutorial To make it easier to understand how the scripts are working we created a file containg real Module Test data in the right structure. It can be downloaded here: ModuleTest.tar.gz Unpack the tar.gz file in a directory on your computer. tar -xzf ModuleTest.tar.gz The directory where the data is now placed is the GlobalDataDirectory in the Path.cfg file. Change it there accordingly. Specify the GlobalOverviewPath and GlobalFinalResultsPath in the config file as well. N.B. these 2 directories don't need to exist, they will be created for you automatically. Execute now this command in the moreweb/Analyse directory: python Controller.py You should start to see something like this (full output here): MORE web analysis script, Revision number 1 GlobalFinalResultsPath: "/Users/peller/pixel/TestModuleData/final//REV001" check wheather module M0823 with QualificationType FullQualification exists in DB: Extract Tests from config file Working on: {'TestDate': '1370003934', 'QualificationType': 'FullQualification', 'ModuleID': 'M0823'}

Populating Data SCurve fitting... GlobalFinalResultsPath: "/Users/peller/pixel/TestModuleData/final//REV001" check wheather module M0823 with QualificationType FullQualification exists in DB: Extract Tests from config file Working on: {'TestDate': '1370003934', 'QualificationType': 'FullQualification', 'ModuleID': 'M0823'}

Populating Data SCurve fitting... GlobalFinalResultsPath: "/Users/peller/pixel/TestModuleData/final//REV001" check wheather module M0823 with QualificationType FullQualification exists in DB: Extract Tests from config file Working on: {'TestDate': '1370003934', 'QualificationType': 'FullQualification', 'ModuleID': 'M0823'}

Populating Data SCurve fitting... then it will take some time to perform all the fitting of the data. in the end the output should look like this: Generating Final Output copyfile checksum DONE Now you'll be able to see a new file Overview.html in the GlobalOverviewPath directory. Open it with your webbrowser and you should be able to browse through the test results. The results should look like the full analysis of the test data available here: http://cmspixel.phys.ethz.ch/TestModule/overview/Overview.html Analysis of Single ROC Results One can analyse single ROC results by starting MoreWeb with the option FT: ./Controller.py -FT PATH

The results will be saved in a subdirectory of the PATH

Clone this wiki locally