Finding dead TPC regions

Dead electronics regions of the TPC need to be known for a couple reasons right now:

  • So that ITTF tracking can know when it is OK to try to extend a track across large gaps in TPC padrows.
  • So that relative charge measurements in the TPC as recorded by zerobias data can be appropriately corrected for acceptance.

Records of the dead regions go into the TPC gains table, but this is updated rarely (perhaps twice per year) while dead spots come and go on shorter time scales. So I made some scripts to sift through the Online QA histogram files, which have ADC occupancy plots for all TPC pads, and looked for dead regions which changed. Note that this gives perhaps even better time granularity than examining only pulser files.

Unfortunately, these histogram files do not always have enough statistics per run to examine on a strictly run-by-run basis (some channels may simply not be filled, even though they are alive). So I broke this into two steps:

  1. Aggregate histogram files so that statistics are reasonable.
    • Because sector 16 was only sometimes available in Run 8, I just added stats in sectors 1-12 and aggregated files until I had 50M entries for sectors 1-12. Note that if the TPC was in the run, the average number of entries in sectors 1-12 was 20M per file in Run 8, but only 1M per file in Run 9 (something different about Online QA?).
    • I was not careful to consider whether short runs should aggregate with runs closer in time, as I simply went sequentially through the files, adding until it met my statistics criterium.
  2. Step through the aggregate histogram files and look for channels with no or few counts (using ).
    • Aggregate histogram files were labeled by the first run among the runs aggregated.
    • I used channel counts greater than total counts in the sector divided by 1M as a cut for alive channels, and sectors with less than 2M counts were skipped.
    • All channels were assumed to be alive as a starting point.
    • Changes were tagged as blocks of at least 8 pads along padrows where the status had changed for all channels in the block similarly (using smaller block sizes simply made for too many channels to sift through, many of which were places where the Anode HV was low or off [already masked for offline in a different table for Run 9 at least], and not an issue with the readout electronics; some of these small blocks were legitimately dead and can be noticed in the plots below, but are hopefully negligible in the grand scheme of things).
    • Each sector with tagged changes was viewed by eye to decide on the legitimacy of the status tagging.

I looped over all Run 9 files (10019022-10195020), and those files which were available for Run 8 (9048025-9074026) on evp.starp. Unfortunately, that's only during the pp200 and AuAu9 portions of Run 8. I'm not sure we have histograms for the dAu200 from Run 8 any longer.

Below are the results for Runs 9 and 8, showing the sectors with tagged changes and the first run number for which they were tagged (note that because of the aggregation scheme, the changes could have really occurred a few runs earlier or later than the listed run number). Colors are the following:

  • blue: unchanged alive status
  • green: changed status from dead to alive
  • yellow: unchanged dead status
  • red: changed status from alive to dead
  • purple: changed status, but too few to count as a block and therefore ignored

All plots thus have at least some red or green blocks indicating a changed status. Run 9 can be characterized as generally having large blocks in the form of RDOs come and go. Run 8 conversely had smaller granularity changed blocks (one might say it was more of a mess of alive and dead channels), plus some other unique aspects:

  • Padrow 13 was alive during pulser runs, but dead for physics runs.
  • Certain small blocks of pads (not consistent with FEEs or RDO) in sectors 4,14,15,19,23 were also alive during pulser runs, but dead for physics runs. 
  • There were two run sets where similarly small blocks of pads in sectors 1,3,6,12,24 went dead (spanning several physics runs), but were generally alive. One of these sets was just a few runs, so I have ignored it. The other was runs 9060068-9060086.

This information will still need to be paired with the gains files (which likely already have some of these dead channels marked) to appropriately mark channels dead for certain spans.

[UPDATE (July 22): I have merged the gains and status files I have created, and these new gains files are now attached to this Drupal page in both text (sector,row,pad,gain) and CINT macro form (for using in root4star & uploading to the DB).]


Run 9:

Sector Pad Status Plots
Sector 2 run 10089083
run 10162027
Sector 4 run 10095040
Sector 5 run 10099074
Sector 6 run 10056234
run 10180006
Sector 11 run 10085126
Sector 18 run 10158014
run 10174044
Sector 19 run 10180006
Sector 20 run 10095040
Sector 21 run 10030039
run 10073044
run 10076151


Run 8:

Sector Pad Status Plots
Sector 1 Run 9048028
run 9060068
run 9060087
Sector 3 run 9060068
run 9060087
Sector 4 run 9048028
run 9050030
run 9050033
Sector 6 run 9060068
run 9060087
Sector 7 run 9048028
Sector 10 run 9048028
run 9056069
Sector 11 run 9054058
run 9054062
run 9055004
Sector 12 run 9060068
run 9060087
Sector 13 run 9058062
run 9062024
run 9062082
Sector 14 run 9048028
Sector 15 run 9048028
Sector 18 run 9059058
run 9059086
Sector 19 run 9048028
Sector 20 run 9048028
Sector 21 run 9053014
Sector 23 run 9048028
Sector 24 run 9048028
run 9060068
run 9060087