upmu_run??????.log
filesupmu_run??????.log are intended to give an
event-by-event summary, for every run that was analyzed, of what decisions
the upmu reduction made for all events with total ID charge > 8000 p.e.
These files have two types of lines:
start subrun ??????
This type of line indicates that all of the events listed in the
lines which follow it were drawn from whatever subrun number
took the place of ??????.
event number |
Save or Reject |
total ID p.e. |
stopping/decay-e flag |
stopmu1st classification |
muboy classification |
muboy fit result |
stopmu2nd fit result |
thrumu1st fit result |
fstmu fit result |
thrumu2nd fit result |
nnfit fit result |
| code value | code definition |
| 0 | the event is not part of a decay sequence |
| 1 | the event may be part of a decay sequence (either a stopping µ or a decay-e) |
| code value | code definition |
| 0 | through-going |
| 1 | pedestal |
| 2 | decay-e candidate (within 30 microsec of parent stopping event) |
| 3 | total ID charge < 8000 p.e. (this value is only seen internally by the reduction program; such events are omitted from the log files in order to save space) |
| 4 | stop-mu/FC/PC |
| 5 | multiple muon |
| 6 | no result due to missing OD data |
| code value | code definition |
| 0 | no result |
| 1 | through-going |
| 2 | stopping |
| 3 | multiple |
| 4 | multiple |
| 5 | corner clipping |
| code value | code definition |
| 0 | no result (failed fit or poor goodness-of-fit) |
| 1 | steeply downward-going |
| 2 | near-horizontal-downward-going (probably downward-going but possibly poor-resolution upward-going) |
| 3 | upward-going |
| 4 | steeply downward-going and entry point is in the upper lid of the tank |
| 5 | near-horizontal-downward-going but entry point is in the upper lid of the tank |
| 6 | inconsistent result |
| 9 | fitter was not run by the reduction |
subrun_summ.log
filesrun |
subrun |
day |
month |
date |
hour:min:sec |
year |
seconds spent waiting for a new file to become
available (gives a rough measurement of magnetic
tape library backlog) |
seconds spent processing the file (gives a rough
measurement of CPU burden) |
number of events processed |
number of events with ID charge > 8000 p.e. |
number of events saved because of ultra-high
total light deposition (ID charge > 1750000
p.e.) |
number of events saved as upward-going candidates
or associated decay-e candidates (in the case of
stopping muons) |
umlive_run??????
filesumlive.log files, but
states most of it as raw counts of the 50 MHz clock that sukon9 uses to
stamp the acquisition time of every event, rather than in a more
human-friendly system of units, so that in
case any errors were later discovered in the live time counting code,
there would be a back-up resource that would be more likely
to have correct, or at least more readily reconstructable, information.
Because most of the integral numbers in this file are derived from
a 50 MHz clock, it means that they can be converted to units of seconds
by multiplying by 0.00000002. The exception to this rule are the
numbers which appear in the first two rows, which have a format like:START: Run [RUN_NUMBER] Subrun [NUMBER_OF_FIRST_SUBRUN] Event [NUMBER_OF_FIRST_EVENT]START: [YEAR]/[MONTH]/[DAY] [HOUR]:[MINUTE]:[SECOND].[FRACTION_OF_SECOND] [50_MHz_CLOCK_OF_FIRST_EVENT]END: Run [RUN_NUMBER] Subrun [NUMBER_OF_FINAL_SUBRUN] Event [NUMBER_OF_FINAL_EVENT]END: [YEAR]/[MONTH]/[DAY] [HOUR]:[MINUTE]:[SECOND].[FRACTION_OF_SECOND] [50_MHz_CLOCK_OF_FINAL_EVENT][RAW_50_MHz_TIME_OF_FIRST_EVENT] [RAW_50_MHz_TIME_OF_FINAL_EVENT] [A] [B] [C] [D] [E]Subrun [SUBRUN_NUMBER]: [RAW_50_MHz_TIME_OF_FINAL_EVENT] [A] [B] [C] [D] [E]Run [RUN_NUMBER]: [RAW_50_MHz_TIME_OF_FINAL_EVENT] [A] [B] [C] [D] [E]umlive.log
files| Column Number | Column Letter | Live/Dead Time Type | Conditions Under Which Live/Dead Time is Counted (for the definitions of the bitwise codes: onsite: see skhead.h offsite: see head.h) |
| 1 | data-taking time | all events | |
| 2 | A | inner detector turned off or simply has no readable data | onsite: (iand(ifevsk,z'10000000') .ne. 0) .or. (nqisk .le. 0) offsite: ((event_flag & 0x10000000) != 0) || (cali->ngood <= 0) |
| 3 | B | pedestal | onsite: iand(ifevsk,z'00000200') .ne. 0 offsite: (event_flag & 0x00000200)!= 0 |
| 4 | ambiguous live/dead | onsite: (iand(ifevsk,z'00100000') .ne. 0) .or. (iand(ifevsk,z'00200000') .ne. 0) .or. (iand(ifevsk,z'02000000') .ne. 0) offsite: ((event_flag & 0x00100000) != 0) || ((event_flag & 0x00200000) != 0) || ((event_flag & 0x02000000) != 0) | |
| 5 | C | outer detector turned off | onsite: iand(ifevsk,z'20000000') .ne. 0 offsite: (event_flag & 0x20000000) != 0 |
| 6 | D | outer detector turned on, BIP not in effect, but nevertheless no available data | onsite: ((iand(idtgsk, z'00000002') .ne. 0) .or. (iand(idtgsk, z'00000008') .ne. 0)) .and. (nhitaz .le. 0) .and. ((this_event_time .lt. bip_start_time) .or. (this_event_time .gt. bip_end_time)) offsite: (((trg_id & 0x00000002) !=0) || ((trg_id & 0x00000008) != 0)) && (calo->ngood <= 0) && ((this_event_time < bip_start_time) || (this_event_time > bip_end_time)) |
| 7 | E | BIP | onsite: (this_event_time .gt. bip_start_time) .and. (this_event_time .lt. bip_end_time) offsite: (this_event_time > bip_start_time) && (this_event_time < bip_end_time) |
| 8 | ambiguous live/dead | onsite: (iand(ifevsk,z'00100000') .ne. 0) .or. (iand(ifevsk,z'00200000') .ne. 0) .or. (iand(ifevsk,z'02000000') .ne. 0) offsite: ((event_flag & 0x00100000) != 0) || ((event_flag & 0x00200000) != 0) || ((event_flag & 0x02000000) != 0) |
| Upper Row | data_taking_time = (time_event_n -
time_event_1) |
| Lower Row | data_taking_time = (time_event_2 -
time_event_1) + (time_event_3 -
time_event_2) + (...) +
(time_event_n-1 - time_event_n-2) +
(time_event_n - time_event_n-1)
|
| Event | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ||||||||
| Live/Dead Status of Event | L | L | D | D | D | L | L | D | D | ||||||||
| Live/Dead Status of Interval Between Events: Upper Row | L | L | D | D | D | L | L | D | |||||||||
| Live/Dead Status of Interval Between Events: Lower Row | L | D | D | D | L | L | D | D |
It turns out that the "OD missing" events tend to cluster, in time,
a few microseconds after BIP signals; i.e., a few microseconds after
the outer detector TDCs are read out by the data acquisition system,
just as the above diagram suggests. As one can see from the diagram,
this systematic time clustering will tend to cause algorithm 1
to have a systematically longer OD dead time than algorithm 2.
ofl_run??????.summary
filesThe entire 386 day data sample (run 5510 to run 7199), plus runs 5492 and 5494, which were processed with the 386 day sample but have been counted for live time purposes as the final two runs of the 537 day data sample, were affected by this bug. But the bug has now been repaired, and all data sets processed after the 386 day sample will have all of their decay electrons.
In order to make up for the error in the 386 day sample, all of the
potentially affected parent muon events were retrieved from tape and saved
a 2nd time, with their decay electrons, if any existed, in
special "make-up" files. At the time of this writing, the files are stored
in suk*:/net/sukop3g/mnt1/upmu/386day/dke_makeup/decay00??.zbs.

Conclusion: The cut on events entering through the upper lid of the tank has an almost negligible effect on the overall number of near-horizontal downward-going events, because the lid does not subtend very much effective area at such a steeply grazing angle and therefore the vast majority of such events must enter through the side wall.