Preparing TPC Anode HV data for the DB
There are 2 kinds of information about the Anode HVs which are important:
- Trips
- Altered settings
For the trips, we plan to stop reconstructing data a few moments before the trip. Altered settings affect either:
- Disabled voltages: cluster reconstruction near the edges of the HV sections
- Reduced voltages: gains (dE/dx) under the HV sections
I created a DB table for TPC Anode HVs for the high voltages based on information in the TPC hardware web pages. I later learned that the HV channels operate the sockets in pairs and triplets, so the DB table is a little bit of overkill, but it will do.
PREPARING TRIPS FOR THE DB:
Joe Seele kindly found a list of unix timestamps for trips from the alarm handler. For pp500 running, the list had 394 entries. I then queried the online DBs for runs whose first and last events come before and after the alarm time, and which were marked with shiftLeaderStatus=0 (good) and which had the TPX as a detector in the run (see the attached findTrips.csh file).
After some trials, it appeared to me that the alarm could be as much as ~10 seconds after the actual trip, based on notes in the ShiftLog that runs had been stopped for a trip versus the difference in alarm and last event time. This may be an inaccurate guess, but to be on the safe side, I set the timestamp for the trip to be 20 seconds before the alarm handler time. The resulting 86 trips (see the attached tpcAnodeTrips file) were uploaded to the DB as a voltage of -999V on Anode wire socket 1-1.
I then uploaded to the DB a restored voltage for 1-1 with a timestamp 60 seconds after the last event in the run.
PREPARING ALTERED VOLTAGES FOR THE DB:
Unfortunately the Slow Controls archiver of HV information was not reliable because of a drifting timestamp clock (this was fixed by Yury Gorbunov in mid-April). Jim Thomas gave me a list of particular channels to look for, so I dug into Online QA root files as suggested by Jan Balewski. I found files on EVP and put their run numbers into a single text file. I then looped over that text file with a macro to extract ADC information for padrows under each anode HV channel (see the attached processTpcAdc.C file), and then made an ntuple of the output:
root -l -b -q processTpcAdc.C | grep GGG | colrm 1 5 > data root -l ... TNtuple tt("tt","tt","run:sec:s1:s2:s3:s4:s5:s6:s7:s8:s") tt.ReadFile("data")
This allowed me to take ratios of certain channels to neighboring channels to look for alterations in signal. Here is an example of finding the days when channel 3-4 were reduced from 1170 to 1135 (day 93) and then to 1100 (day 101), followed by determining the run where the voltage dropped on day 101 (in consultation with written notes in the ShiftLog on that day):
tt.Draw("s4/(s5+s6+s7+s8):run/1000-10000>>h1(40,69.5,109.5,20,0,0.6)","sec==3&&s>1e7","profs") tt.Draw("s4/(s5+s6+s7+s8):run-10101000>>h2(120,0.5,120.5,20,0,0.3)","sec==3&&s>1e7","col")
I then use a timestamp of about 10-50 seconds before the affiliated run as the time for when the voltage was altered.
It's easy to see when a voltage is disabled completely, but it can be a little less obvious to determine when exactly voltages are reduced (or even increased). Given the chaotic nature of how this was handled at the experiment and my limited ability to extract information from the Online QA root files, I have little doubt that I have not determined all voltage alterations. However, for now, this is what I have found:
- "All" inner channels (X-1,2,3,4) reduced from 1170V to 1135V @ run 10093131
- Channel 15-1:
- 10081115 : 0V (learned 2010-04-27)
- 10082104 : 1170V (learned 2010-04-27)
- 10087057 : 0V
- 10088085 : 1170V (learned 2010-05-04)
- 10088092 : 0V (learned 2010-05-04)
- 10089019 : 1170V (learned 2010-05-04)
- 10089077 : 0V (learned 2010-05-04)
- 10090044 : 1170V (learned 2010-05-04)
- 10090071 : 0V (learned 2010-05-04)
- 10091088 : 1170V
- 10092080 : 1100V
- 10094063 : 1135V (not @ 10093131)
- 10095027 : 1100V
- 10097086 : 1135V (learned 2010-05-07)
- 10097095 : 1100V (learned 2010-05-07)
- 10100021 : 1135V (not certain, no ShiftLog comments, but many DB readings, learned 2010-05-06)
- 10101017 : 1100V (guessing from many DB readings, learned 2010-05-06)
- 10101056 : 1135V (guessing from many DB readings, learned 2010-05-06)
- 10102094 : 1100V (guessing from many DB readings, learned 2010-05-06)
- Channel 15-2:
- 10088112 : 0V
- 10089019 : 1170V (learned 2010-05-04)
- 10089105 : 0V (learned 2010-05-04)
- 10090044 : 1170V (learned 2010-05-04)
- 10090075 : 0V (learned 2010-05-04)
- 10091090 : 1170V
- 10092080 : 1100V
- 10094063 : 1135V (not @ 10093131)
- Channel 17-1:
- 10093060 : 1100V (not @ 10092117, learned 2010-05-04)
- 10094063 : 1135V (not @ 10093131)
- Channel 3-4:
- 10093131 : 1135V
- 10101076 : 1100V
- Channel 4-1:
- 10088102 : 0V
- 10089019 : 1170V (learned 2010-05-04)
- 10092080 : 1100V (learned 2010-05-04)
- 10095012 : 1135V (learned 2010-05-07)
- Channel 4-2:
- 10089077 : 0V
- 10090044 : 1170V (learned 2010-05-04)
- 10092122 : 1100V (learned 2010-05-04)
- 10095120 : 1135V (learned 2010-05-07)
- Channel 18-4:
- 10082019 : 0V
- 10083019 : 1170V (learned 2010-04-27)
- 10083033 : 0V (learned 2010-04-27)
- 10084002 : 1170V (learned 2010-04-27)
- 10084017 : 0V (learned 2010-04-27)
- 10088085 : 1170V (learned 2010-04-28)
- 10088103 : 0V (learned 2010-04-28)
- 10089007 : 1170V (learned 2010-04-28)
- 10089086 : 0V (learned 2010-04-28)
- 10090044 : 1170V (learned 2010-05-04)
- 10090071 : 0V (learned 2010-05-04)
- 10091068 : 1170V (learned 2010-05-04)
- 10091069 : 0V (learned 2010-05-04)
- There were attempts to resurrect this afterwards, but not worth it
- 10092024 : 0V, but don't know when it was turned on before this (learned 2010-05-04)
- 10092080 : 1100V (learned 2010-05-04)
- 10092122 : 0V (learned 2010-05-04)
- 10094088 : 0V, but don't know when it was turned on before this (learned 2010-05-04)
- 10097090 : 0V, but don't know when it was turned on before this (learned 2010-05-07)
- Channel 7-6:
- 10093131 : something low, but not 0V (using 0V anyhow)
- 10094063 : 1345V
- 10094073 : 1320V
- 10095039 : 1390V
- 10095047 : 1320V
- 10095057 : 1345V
- 10095120 : 1300V
- Channels 11-8 and 12-4 did not hold voltage this year (accidentally disconnected?)
- Channel 20-5 has never held voltage
One can easily see how messy this becomes (and how easy it may be to miss something). In the end, this table may need to be updated based on what is observed in the offline data by dE/dx. I only had some idea about the 1320V on channel 7-6 because it is listed in the slow controls archiver data, albeit with timestamps which may be incorrect by ~10 minutes or so. It may be wiser to set the 1320V periods to 0V so that they are excluded from any dE/dx analyses.
Other than the above alterations, there was also a special set of altered voltage runs on day 97, for which I kept (4-1, 4-2, 11-8, 12-4, 18-4, 20-5) at 0V, and all others were allowed to vary. After those runs, 7-6 is back to 1300 and 15-1 is back to 1100V.
At the start of the pp200 running, my assumption is that the 6 disabled channels stay disabled (in reality, 4-1 and 4-2 are back on, but the RDO beneath them is off and extends well past the last padrow affected by 4-2), and all other channels went back to the 1390V/1135V configuration (this means 7-6 goes back up to 1390V and 15-1 back to 1135V). I used "2009-04-15 00:00:00" GMT for this.
Subsequently, on April 24th, channel 7-6 was reduced again to 1345V.
During the low luminosity fill on April 28th, all channels except the disabled channels and 7-6 are altered (is the latter item correct?).
I have yet to upload trips from pp200 running. And for now the state is the same 6 disabled channels (0V), 7-6 at reduced voltage (1345V), and everything else in 1390V/1135V configuration.
Corrections to this information are welcome.
Thanks,
-Gene
- genevb's blog
- Login or register to post comments