This work is performed to provide and produce a "browsable"  summary of pixel calibration data. The tool was born out of the need to quickly access a set of information, common to a variety of scans, with a specified granularity.

The program is available here:

Please send us comments about bugs, features and suggestions. Anything is helpful!


I can't find the scan even though I'm sure the date range is correct
  • Check that the correct location (PIT/SR1) and Preset is correct. Preset can be empty to ignore it in the search.
  • Do you look for scans having a corresponding analysis? If not, then make sure the "require analysis" is not checked.
The module LXXXX does not exist in any scans?
  • The date range, preset (remove if to be ignored), location (PIT/SR1) and type is used to limit the scans to go through so make sure ALL these are as you expect.

Common use cases

List scans taken between two dates
  1. Go to the search section in the State Selection at the top of the start page.
  2. Specify since and until dates
  3. To list scans for a given type select it in the drop down list (note: If you favorite scan is missing please contact us!)
  4. Select the location where the scan was taken: PIT or SR1
  5. Change the Preset if needed
  6. To only list scans with an analysis tick the Require Analysis box.
  7. Finally, click the List Scans button
List analyses taken between two dates
List the scans where a module(s) was included
Dump calibration information for modules
Compare two analyses/scans
Analyze one or more scans

There are two ways of selecting the scan to analyze:

  1. By using the search function to find scans taken between two dates (see above).
  2. By manually entering a list of comma-separated scan ID's in the text box at the top of the page and clicking the List Scans button (note that only scans with analysis are found)

Now you should have list of scans with the corresponding analyses.

  1. Select the scans/analysis you are interested in using the check boxes to the left of the scan ID in the list
  2. Press Calibration Results.

NOTE: At the moment the DB access is slow and so it is not un-common for the request to take up to 20s so please be patient. We are working on speeding this up!

Task list

Tasks ready for training

  • Open the browser in the ACR
    • Laptop on wifi?
    • Pixel shifters screen?
  • Link from pixel wiki + link from shift instructions wiki (same?)
  • INTIME_THRESH_SCAN exists twice in the drop-down menu that selects scan types.
  • InLinkAnalysis
    • Does not show up in a date/time based search. Does show up with Scan# or Ana# search.
    • No bools of interest.
    • Variables I_pin_mod, I_pin_ped are listed in the table of summary of floats. They are not plotted. It would be nice if they were.
  • BOC_THR_DEL_DSP (occupancy?) analysis
    • Too many bools. Remove ViSet_Low and ViSet_Ok(is that possible)
  • Search by variable values continues to be desired.

General tasks

This section contains tasks already foreseen to go into future updates. The idea is that these tasks are mainly provided form the user community.

  • GENERAL Help for user when problems
    • If a module name is entered together with a scan number and the scan do not contain the module display this message
    • If no scans/analyses display a message saying this
    • Implement a cut off in time for very long queries?
  • Implement dynamic range of histograms based on entries filled. Maybe look at Util.cpp in the slac svn area?
  • Implement extensive summary table always shown (at the top?)
    • Links to modules failing analyses (all, single, none of the analysis separately) PARTLY DONE
    • Make this list clickable so that one can directly look at the history of that module(future)
    • Show how the modules in the results is distributed in the detector
      • Do this both for one analysis at a time in addition to all analysis together
      • Implement a detector module map that is read in. Basically a list of all modules in the detector, from excel file? We can then compare modules from the scans with this list Are there any SR1 vs PIT problems?
      • Fraction of detector scanned, fraction of B0/L1/L2/Disks scanned
      • Distribution in the detector of modules that failed?
      • Maybe implement a standard 2D plot of module ETA vs module phi to display where the module are
  • Display the result in a 2D plot of module ETA vs module phi
    • Example: ToT_mean for each module as a 2D histogram basedon the module eta/phi?
  • Add timing statistics information PARTLY DONE
  • Add quick choice buttons to list last months/weeks/days scans DONE
  • Make sure that entering a scan and module name dumps info if compatible
  • Move the module name input to the normal search to make sure the user understands that it can be used to select a set of scans/analyses DONE
  • Put the calibration result and dump module info submit buttons below the list of analysis. They should only be visible when it makes sense to press them! DONE
  • Implement search for analyses as well DONE** Change the input field to be of either scan or analysis DONE
    • Add radio button to select search for scan or analysis NOT DECIDED
    • Add drop down menu to look for analysis names, this should be made interactively so that selecting the radiobutton for analysis switches the type list. Interim solution is to have two type searches.
    • Show BOTH scan AND analysis date, add column
    • Make sure that they are sorted according to analysis (scan) if the search is for analysis (scan)
    • If the search is for analysis, table should list analysis number to the left and scan in later columns.
  • If two analysis are looked at show an improved direct comparison summary
    • Link/list to modules that are different
    • Link/list to modules that are exclusive to either analysis
    • Make a statement on plot if the two are identical
  • When selecting scans/analyses manually from the text box, mark all analysis that exist directly so that the user need only to deselect the analyses to be excluded
  • Implement a variable fall-out menu for each calibration scan, understand why the javascript behaves so strangely for different browsers (Make sure that the makeplot can handle trend/overlay in this case)
  • Add option to select modules/PP0(other object?) to compare in different scans (This should be merged with the detector browser navigation menu)
  • Split all plots to show pixel types (were applicable from DB variables)
  • Separate main calibration view with an expert output in the lower part
  • Sort functionality using jqeury and CSS id's
  • Clicking on analysis/scan link in list should submit results DONE
  • With no query or selection the until date should be todays date (fix with javascript?)DONE
  • Change the date format, skip the time, use only date DONE
  • Implement a selection of scans/analysis by giving a scan or analysis ID DONE
  • Finalize the detector browsable menu
Technical tasks
  • The search for more than one analysis numbers do not work properly. It seems to select that last one in the list only. It seems to work when searching for scans though
  • Add pointer to SimpleTiming class in order to allow for adding timing entries inside the class.
  • Fix the setstate() function to handle all submits similar as there is no difference at the moment.
  • Separate into single package to decouple from pixel DAQ DONE*
  • Move code to CVS DONE
  • Move to offline DB?
  • Look into more efficiency file handling
  • Clean-up and tag the plot files
  • Look into the difference between the Firefox and Safari (+ other browsers)
  • The plots are displayed in 3 columns but this is incinsistent if for one detector level there are no overlapping modules
  • Only fetch the scan type selected from the DB
  • Optimize the DB access to speed up the displays
    • Implemented new getAnalysis function in PixResultsCoral package which does 'OR' of connNames and and 'OR' of variables DONE
    • Try to make an OR of all the foreign keys obtained from the analysis ID table and check speed DONE
  • Make sure that the FindMods function loops over only one variable!
  • Optimize the browsable menu, at the moment it is slow due to multiple calls to DB
  • Do I really need to copy around the result, why not keep the all_res as the member variable?DONE: NO GAIN IN SPEED
  • Make a shell script that can supply the same input to the exe in order to quicker test the output without apache DONE
  • Make sure all the scan names are transmitted when listing scans in dbutils (to remove the complicated current_scan_name business in the list) DONE
  • Fix the unnecessary multiple query when asking for result from already specified variables, need to modify the sql query to remove multiple calls to the getAnalysisResultsFromDB DONE
  • Remove the ul in the result section to save space DONE
  • Fix bug so that when the 2nd or later analysis of the same scan is selected the correct name is output DONE
  • Fix bug so that the scan type is correct even when not selected it in the drop-down menu or when it is summy (see above bug)DONE
  • No labels