diff options
author | tlatorre <tlatorre@uchicago.edu> | 2019-07-29 12:18:40 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2019-07-29 12:18:40 -0500 |
commit | ebc0f100371942e99c433cf967b55524a9765c87 (patch) | |
tree | 076b08ec2415bbdae435e1cb340cec2b50315e70 /src | |
parent | bfa4b698787d780c3fe0ad8b1b9a54a60db64467 (diff) | |
download | sddm-ebc0f100371942e99c433cf967b55524a9765c87.tar.gz sddm-ebc0f100371942e99c433cf967b55524a9765c87.tar.bz2 sddm-ebc0f100371942e99c433cf967b55524a9765c87.zip |
switch to using the multiphoton PCA time
This commit updates the likelihood to use the multiphoton PCA time instead of
the usual pt time. When looking at the reconstruction of muons in run 10,000 I
noticed that the PMT hit times for the PMTs which had really high charge was
all over the place. There were PMTs that were very close to each other with hit
times differing by ~ 20 ns. I'm still not entirely sure what causes this (is
it some hardware issue with the discriminator or is it a problem with the
charge walk correction which always assumes a single PE?), but the multiphoton
PCA times looked a lot more reasonable.
Eventually I need to look into the ptms variable which is the multiphoton PCA
transit time RMS.
Diffstat (limited to 'src')
-rw-r--r-- | src/event.h | 4 | ||||
-rw-r--r-- | src/zdab_utils.c | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/event.h b/src/event.h index 4ebb14c..ddb8be3 100644 --- a/src/event.h +++ b/src/event.h @@ -61,6 +61,10 @@ typedef struct pmt_hit { int pf; /* Non-walk corrected PMT time. */ float pt1; + /* Time in nano-secs relative to event T0. */ + float pt; + /* Multiphoton PCA time. */ + float ptm; } pmt_hit; typedef struct event { diff --git a/src/zdab_utils.c b/src/zdab_utils.c index 48ad9a1..a7669fa 100644 --- a/src/zdab_utils.c +++ b/src/zdab_utils.c @@ -112,7 +112,6 @@ int get_event(zebraFile *f, event *ev, zebraBank *bev) ev->pmt_hits[id].hit = 1; ev->pmt_hits[id].ept = bpmt.ept; - ev->pmt_hits[id].t = bpmt.pt; ev->pmt_hits[id].qihl = bpmt.pihl; ev->pmt_hits[id].qihs = bpmt.pihs; ev->pmt_hits[id].qilx = bpmt.pilx; @@ -123,7 +122,13 @@ int get_event(zebraFile *f, event *ev, zebraBank *bev) ev->pmt_hits[id].qhs = bpmt.phs; ev->pmt_hits[id].qlx = bpmt.plx; ev->pmt_hits[id].pf = bpmt.pf; + ev->pmt_hits[id].pt = bpmt.pt; ev->pmt_hits[id].pt1 = bpmt.pt1; + ev->pmt_hits[id].ptm = bpmt.ptm; + + /* Use the multiphoton PCA time since we are looking at high energy + * events. */ + ev->pmt_hits[id].t = bpmt.ptm; /* Clear the PMT_FLAG_DIS bit. */ ev->pmt_hits[id].flags &= ~PMT_FLAG_DIS; |