The C9 Channel assignments are the same as the physical markings on the detector and agree with the Fermilab E766/E690 documentation. Looking downstream at the C9 mirrors:
ADC: A LeCroy 1885F is used, configured for single-ended negative-going signals, 50-ohm termination, floating ground. The ADC channel is the true C9 channel minus one.
TDC: Click here to see the TDC channel assignments.
The following groups are used to store H9 information:
GROUP_C9_ADCS adc_values_t All C9 ADC values. GROUP_C9_TDCS tdc_values_t All C9 TDC values. GROUP_C9_HITS adc_hits_t C9 ADCs above thresh and TDCs within time windows GROUP_C9_COOKED_HITS adc_hits_t The proper, processed C9 hits. hit[i].channel = channel (mirror) number hit[i].adc = ADC value hit[i].fvalue = no. of photoelectrons = adc_scale*(adc - pedestal) GROUP_C9_MC_HITS adc_hits_t Monte-Carlo C9 hits. hit[i].channel = channel (mirror) number hit[i].adc = no. of p.e. after Poisson distrib. hit[i].fvalue = Poisson mean number of p.e. GROUP_NOTC9H9 notc9h9_hits_t I have no idea what purpose this serves.The relevent groups for the end user are GROUP_C9_COOKED_HITS and GROUP_C9_MC_HITS, for the real and monte-carlo data respectively. The difference between GROUP_C9_HITS and GROUP_C9_COOKED_HITS is that the latter uses a more proper definition of a hit; i.e., a channel is hit only when the TDC is within the timing window regardless of the ADC. In channels where the TDC is dead, the hit is defined by checking whether the ADC is above threshold.
Also, the ".fvalue" in GROUP_C9_COOKED_HITS corresponds to the number of photoelectrons = adc_scale*(ADC - pedestal). This resembles the ".fvalue" in GROUP_C9_MC_HITS, which is the poisson mean number of simulated photoelectrons.
adc_min int ADC thresholds. adc_scale float ADC scale factors; photoelectrons = adc_scale*(ADC-pedestal) dead_adc int Boolean, for each channel, indicates which ADCs are dead. dead_tdc int Boolean, for each channel, indicates which TDCs are dead. nphotons float Mean number of photoelectrons for relativistic particles. pedestal float ADC pedestals. sigmas float Std. deviation of ADC pedestals. tdc_max int Timing window cut (maximum time). tdc_min int Timing window cut (minimum time).Only one set of timing cuts is used for the entire 1997 run. The c9 timing did not change during the entire 1997 run.
The timing (TDC) cuts should be set where the c9 signal is larger than pulses from pile-up. The appropriate timing window can be determined by examining online timing histograms.
The number of photoelectrons for relativistic particles can be determined by fitting graphs such as the following:
The function fit is the poisson probability of observing at least one photoelectron. There are two parameters being fitted: P1 is the poisson mean number of photoelectrons for highly relativistic particles, and P2 is the fraction of tracks that are pions. Below the kaon threshold (8.91 GeV/c), the function takes the form P2*(1.0 - exp(-P1*f(p))), where P1*f(p) is the poisson mean number of photoelectrons for a track with momentum p. The functional form for f(p) is in the Particle Data Book, renormalized such that f(p) approaches 1 for high momentum tracks. The Particle Data Book also has a good review of Poisson statistics. High statistics interacting beam data should be used for the calibrations to remove any effects of the RAM-C9 trigger. Such a calibration should be done independently for each of the 96 photomultiplier tubes. The c9View program is useful for this purpose. For 1997 data, D. White converted the c9View output to ntuples using makeC9ViewNtuples.perl which can be found in the c9calib_as_is subsystem.
You may find some useful perl scripts, paw macros, and paw functions stored in the c9calib_as_is subsystem. These files are provided as-is; sorry, no documentation is provided at this time.
TrackToC9 Swims a track to the C9 mirror planes or front window plane. TrackC9 Simulated C9 response to a given track. cookC9hits Produces GROUP_C9_COOKED_HITS, given GROUP_C9_HITS as input. c9particleID Does pion/kaon particle ID.
c9mon Produces low-level histograms useful for online monitoring. c9View Produces a text file with some c9 hit information. useful for calibrating number of photoelectrons, etc. makeC9ViewNtuples.perl (in c9calib_as_is subsystem) converts c9View output to ntuples which can be read by paw.