PMT The "short fat" banks for each PMT. One for each PMT > disc. ================================================================= Contact: D. L. Wark, Oxford. Revision History:- ================ 2.09 D. Wark First version. 3.00 N. West Add bank address mnemonics. Add comment about creation. Add status bit _DIGITIZED and data word _PIN. D. Wark Add data word _CELL. 3.01 N. West _PIN now holds Card Crate Channel after uncalibration. Correct FLAG1/2 bit numbering. R.G. Van de Water, Reorganise to match production electronics. M. THorman Renamed Px/PIx charges for consistency with electronics 3.02 N. West New bits: Crosstalk, No calibration, Bad calibration. Add KPF_FECD (comment only - change made in 3.01) N .McCauley Add comments on BUTT and NECK. 4.01 G. McGregor Add KPMT_TSLH data word. 4.02 G. McGregor Add KPMT_HCA data word. R. Van de Water Add ECA/PCA/ANXX validation and ECA calibrated Q/T words. N. West Add 6 spare words. 4.02 M. Boulay Add KPMT_PT1 data word. 5.00 C. Kyba Add KPMT_PTM and KPMT_PTMS. C. Kyba Add KPMT_QM, best estimate for PMT charge, and KPMT_QMS, status word A. Anthony Add KPMT_QRC. Change: corrected value -> correction. 5.01 N. McCauley Add note 8. M. Dunford Changed KPMT_QRC to Float Description ----------- These banks contain the information from those PMT's that exceeded the discriminator threshold in a particular trigger (the so-called "short fat" banks). They contain the same information as the Px and PIx banks, but arranged so that all the information from a particular PMT is in one PMT bank (while the Px and PIx banks contain all the, say, times for a particular trigger in the PT bank and so forth). For more detail about the Px and PIx banks see PF. The PMT bank is Created by : MCO: Monte Carlo Updated by : UCL: Event UnCalibration Recreated by : UPK: Event Unpacker Updated by : CAL: Event Calibration The OWL, LG, FECD, BUTT and NECK banks have an identical format to the PMT bank, so the bank PMT mnemonics can be used for them as well. Reference Links --------------- None. Structural Links ---------------- None. Status Bits ----------- Note: Any status bit parameters are defined to work with bit functions such as IAND and BTEST. 0 KPMT_DIGITIZED The PIx data words e.g. _PIT0, are stored in digitized form. 1 KPMT_MISSING_PMT The bank contains a missing PMT. See Note 2 Data Words ---------- Data types: B(bit), I, F, D(double), H(hollerith 4 char) +1 I KPMT_PN Tube number. (PN) For FECD, which has no associated tube number, this word is a copy of KPMT_PIN +2 I KPMT_PF Set of 1-bit flags. All undefined bits are set to zero. (PF) The following bits are defined:- Bit Meaning if Set 0 KPF_DIS Discard hit for all processing including fitting. See Note 3. 2 KPF_NOI Noise. 3 KPF_PRP Pre-pulse. 4 KPF_AFP After pulse. 5 KPF_FECD Front-End Card Data i.e. non-PMT channel. Should only be set on FECD bank. 5.. KPF_FT_MASK+i Discarded by fitter method i (i = 1,2..). For description of fitter methods set the FTx bank. 26 KPF_XT Crosstalk. 27 KPF_NO_CAL No calibration. 28 KPF_BAD_CAL Bad calibration. +3 F KPMT_PT Time in nano-secs relative to event T0 - see EV. (PT) +4 F KPMT_PHL Integrated charge. (PHL) +5 F KPMT_PHS Short-time integrated charge. (PHS) +6 F KPMT_PLX Low-gain integrated charge. (PLX) +7 F KPMT_PT0 Time with the PMT jitter removed. (PT0) +8 I KPMT_PIF Set of n-bit flags for ith hit in list. All undefined bits are set to zero. (PIF) The following bits are defined:- Bit Field DAQ Meaning 0-3 NCELL (CMOS Cell address 0 to 15) 4-5 FLAG1 Bit 4 = CGT ES16 Bit 5 = CGT ES24. 6-9 FLAG2 Bit 6 = Missed Count Bit 7 = NC/CC Flag Bit 8 = LGISELECT (1=long sample) Bit 9 = CMOS ES16. +9 F KPMT_PIT Uncalibrated times (PIT) +10 F KPMT_PIHL Uncalibrated high-gain, long int. charge (PIHL) +11 F KPMT_PIHS Uncalibrated high-gain, short int. charge (PIHS) +12 F KPMT_PILX Uncalibrated low-gain, long int. charge (PILX) +13 F KPMT_PIT0 Uncalibrated unjittered time (PIT0) +14 I KPMT_CELL PMT channel cell number. +15 I KPMT_PIN CCC DAQ Circuit Number = 1024*card + 32*crate + channel Before uncalibration it holds the tube no. See Note 1 and Note 2 +16 F KPMT_TSLH TSLH of PMT. See Note 4 +17 F KPMT_HCA HCA information. See Note 5 +18 I KPMT_ECA_VAL ECA validation status word Note 6 +19 I KPMT_PCA_VAL PCA validation status word. See Note 8 +20 I KPMT_ANXX ANXX validation status word. See Note 8 +21 F KPMT_EPT ECA calibrated time (nsec) +22 F KPMT_EHL ECA calibrated QHL (pedestal subracted) +23 F KPMT_EHS ECA calibrated QHS (pedestal subracted) +24 F KPMT_ELX ECA calibrated QLX (pedestal subracted) +25 F KPMT_PT1 Non-walk corrected PMT time. +26 F KPMT_PTM Multiphoton PCA time +27 F KPMT_PTMS Multiphoton PCA PMT transit time RMS +28 F KPMT_QM Best charge (either QHS or QLX) +29 I KPMT_QMS Best charge status word. See Note 7 +30 F KPMT_QRC Charge correction for rate-dependent shifting. 1) All real data comes in digitized form and so the _PIN word holds CCC numbers. For Monte Carlo data however, the _PIN word initially holds PMT tube numbers which are subsequently converted to CCC in UCL: Event UnCalibration 2) Before development release 3.0081, SNOMAN code used all 9552 PMTs and just recorded the tube number in _PIN. After that, missing PMTs were excluded and _PIN held CCC after uncalibration. If reading old data the _PIN word is converted but a problem arises if the bank contains a missing PMT for it has have no corresponding CCC. In this case:- o The KPMT_MISSING_PMT is set. o The _PIN word holds the negated tube no. instead of CCC. This allows CAL: Event Calibration to map PIN -> PN correctly even if the tube is missing. 3) The discard bit KPF_DIS of the 1-bit flags KPMT_PF is also set if any other failure bit, such as KPF_NO_CAL or KPF_BAD_CAL is set. So only this bit need be tested for PMT rejection. This can also be set in the unpacker if $UPK_TUBES_OFF is set $ON, in which case the PMT is disgarded if it was not on according the the corresponding DQCH/DQCR banks. 4) TSLH information is present only in the modified (v4.01) zdab format or when the RAA TSLH subprocessor has been called to fill the data structure. 5) HCA information is present only in the modified (v4.02) zdab format. Defined as corrected ECA time = ECA time + HCA correction. 6) Packed ECA status word (true = 1). See "SNO Electronic Calibration Constants" review doc for more details. -bit 0 failed overall ped/TAC cell check (OR of bits 1-7) -bit 1 failed MB/DB ID test -bit 2 no ECA events/sequencer off (cell) -bit 3 failed Qhs ped test (cell) -bit 4 failed Qhl ped test (cell) -bit 5 failed Qlx ped test (cell) -bit 6 failed TAC ped test (cell) -bit 7 failed TAC slope test (cell) -bit 8 failed overall pedestal/TAC check (channel) -bit 9 Frati TAC jump flag set (cell) -bit 10 Frati TAC jump flag set (channel) -bit 11 QHS failed CALDAC test (channel/slot) -bit 12 QHL failed CALDAC test (channel/slot) -bit 13 QLX failed CALDAC test (channel/slot) -bit 14 TAC failed CALDAC test (channel/slot) -bit 15 Cannot extrapolate TAC (time lies in curl or low region) 7) The value of the status word is as below: In Charges Out Err ---------- --- --- QHS good, QLX good QHS 0 QHS good, QLX bad QHS 0 QHS good, QLX railed QHS 0 QHS bad, QLX good QLX 0 QHS bad, QLX bad -9999. 3 QHS bad, QLX railed QLX 2 QHS railed, QLX good QLX 0 QHS railed, QLX bad QHS 1 QHS railed, QLX railed QLX 1 Routine disabled NONE -1 (set by cal_calibration_pmt) Monte Carlo NONE 0 (set by mcfec) 8) The ANxx status word and the PCA validation are filled by ANxx. KPMT_PCA_VAL is filled by the PCA style ANxx bank generated from the next PCA, while KPMT_ANXX is filled by the neutrino style ANxx bank generated from this run. These words are two bitmasks, whos bits are defined as follows. Bit Bit Name Description. === ======== ============ 0 KANX_FLAG_ZERO_OCC zero occupancy 1 KANX_FLAG_TAC_ORIG fails original TAC cut. 2 KANX_FLAG_TAC_LO fails TAC low side cut. 3 KANX_FLAG_TAC_HI fails TAC low side cut. 4 KANX_FLAG_QHS_ORIG fails original QHS cut. 5 KANX_FLAG_QHS_LO fails QHS low side cut. 6 KANX_FLAG_QHS_HI fails QHS low side cut. 7 KANX_FLAG_QHL_ORIG fails original QHL cut. 8 KANX_FLAG_QHL_LO fails QHL low side cut. 9 KANX_FLAG_QHL_HI fails QHL low side cut. 10 KANX_FLAG_QLX_ORIG fails original QLX cut. 11 KANX_FLAG_QLX_LO fails QLX low side cut. 12 KANX_FLAG_QLX_HI fails QLX low side cut. 13 KANX_FLAG_SYNC fails sync clear test. 14 KANX_FLAG_CELL_ID fails cell ID# increment test. 15 KANX_FLAG_ORPHAN fails excessive orphan cut. 16 KANX_FLAG_HIGH_OCC fails high occupancy cut. 17 KANX_FLAG_LOW_OCC fails low occupancy cut. 18 KANX_FLAG_GAIN_RATIO fails EHS/ELX gain ratio cut. 19 KANX_FLAG_HARDWARE flags bad hardware tubes from anhd. 24 KANX_FLAG_FORMER_TAC failed last PCA TAC tests 25 KANX_FLAG_FORMER_QHS failed last PCA QHS tests 26 KANX_FLAG_FORMER_QHL failed last PCA QHL tests 27 KANX_FLAG_FORMER_QLX failed last PCA QLX tests 28 KANX_FLAG_FORMER_GR failed last PCA gain ratio test. 30 KANX_FLAG_LOW_PROMPT_OCC failed prompt occupancy cut on clean data.