ASIC Settings » History » Version 19

« Previous - Version 19/20 (diff) - Next » - Current version
Owen Goodwin, 08/29/2019 10:37 AM

ASIC settings

This is a page for study of ASIC settings: gains, shaping time, miscongigurations, etc.

Contact person:

  • Owen Goodwin,Mike Mooney


  • Each ASIC reconfiguration can lead to ASICs in a mis-configured state
  • Misconfigured channels: channels associated with ASICs that are misconfigured with a gain of 4.7 mV/fC ( or 7.8 mV/fC? ) and a shaping time of 1 μs instead of the expected 14 mV/fC and 2 μs, respectively
  • 16 channels for each ASIC
  • Study method:
    • Use EXT-BNB data and reconstruct without correction for existing misconfigured ASICs
    • Adapt script written by Mike Mooney to find misconfigured ASICS for run 1
    • Plot average hit amplitude per channel per run
    • Then averages over groups of eight consecutive channels (Half of an ASIC)
    • Average over 8 channels rather than 16 --> as two consecutive groups of 8 channels can be on different ASICs

ASICs Status

  1. from early 2017 (run 10300) to June 2018 (run 17055)
    • Found no evidence of new misconfigured ASICs w.r.t. the last ASICs database update (run 10300)
  2. from June 2018 (run 17055) to Feb 2019 (run 21500)
    • 4 ASIC reconfigurations over 2018 summer shutdown, status change seen (see docdb: 18010)
    • Channels 768-863; 3840-3935, 6336-6527 on Crate 5 FT 6 ASICs become correctly configured after run ~18200
    • No other status changes seen up to Feb 2019, database has been updated to reflect changes (see 22135)

ASICs Analysis

Code to perform the checks for misconfigured ASICs can be found in;

The code is split into 3 stages;

1. Preparing Samweb Definitions (1_MakeSamDefinition)

  • The analysis is run on EXT-BNB data with one file per run
    • 1_MakeSamDefinition contains scripts to generate a definition containing N files per run from the full swizzled EXT-BNB data sets. Where N can be >1 if more stats are required.

2. Generating Anatrees (2_FclFiles_GridProduction)

  • 2_FclFiles_GridProduction contains fcl files which run reco1 over the data, then generate an anatree containing the hit information that is used in the analysis. The reco file is dropped from the output.
  • Fcl files for running with both MCC8 and MCC9 versions of Larsoft.
  • MCC8 version has been used up o now for the ASIC checks but MCC9 was tested and works.
  • Fcls appended with _noasiccor are appended with
    services.ElectronicsCalibService.ElectronicsCalibProvider.UseDB: false
    so will not correct for misconfigured ASICs labelled as so in the current version of the database.
  • Having both corrected and non corrected data is helpful when looking for a change of ASIC status.
  • Example XML files for running on the grid

3. Analysis Code (3_Analyze)

ConfigCheck.cpp runs on the generated trees and
  • Plots average hit amplitude per channel per run
  • Then averages over groups of eight consecutive channels (Half of an ASIC)
  • Uses a channel map to order plot in terms of ASIC instead of channel (so corresponding half ASICs are next to each other)
  • Creates per channel profile plots for the entire run range

The Hit Amplitude plots produced are used to identify run ranges with misconfigured ASICs by eye.
Correctly configured ASICs should appear uniform with neighbouring channels on the same plane.

After making changes to ConfigCheck.cpp to compile and run the code use;


An example Hit amplitude plot for Run 1/2;


Regions of misconfigured ASICs are circled in red, they are identifiable for there lower (but non-zero) hit amplitude than neighbouring channels.

Once the ASIC corrections are applied from the database the misconfigured ASICs are no longer visible in the plots.
Any newly misconfigured ASICs w.r.t the last database update would appear similarly to the above plot.
Example from the end of Run 3 where all misconfigured ASICs are entered in the database and thus corrected for;


As was seen over the run 3 summer shutdown it is possible for previously misconfigured ASICs to become correctly configured again. In that event, the ASIC correction applied to correctly configure ASICs shifts the mean hit amplitude.

Example from the Run 3 shutdown where previously misconfigured ASICs become reconfigured while still being corrected for;


Here it is helpful to run reco1 without the database ASIC corrections as described above, it can then be seen the ASICs in question are now correctly configured.

With no ASIC corrections;


Helper Scripts

  • ChantoASIC.C Gives the ASIC, Crate, Feed Through etc corresponding to an inputted specific channel
  • MakePlots.C Splits the full HitAmp plots into plane by plane and zooms on a specific run range, helpful as the full plots can be very large.
  • Plots the Misconfigured ASICs in the currently in the database. Uses the tables found with
    where t=1940000000 is the requested time stamp and tag=v1r3 is the most recent version of the database.