Skip to content

Energies of empty hodoscope counters are not truly zero #238

Description

@frankboyu

In GlueXPseudoDetectorTAG.cc, the hodoscope energy was determined as (as they should)

HODO_CHANNEL_EMIN[i] = hodo_parms[i]["xlow"] * endpoint_calib + endpoint_energy - endpoint_calib;
HODO_CHANNEL_EMAX[i] = hodo_parms[i]["xhigh"] * endpoint_calib + endpoint_energy - endpoint_calib;

This formula was used for all tagger counters, including hodoscope counter 128-178 that are not used in experiment. For these counters, their scaled_energy_range was set as zero in CCDB. But the Delta E = endpoint_energy - endpoint_calib term is still present, which ranges from 1-3 MeV for the 2021-11 dataset.

Then later there are two conditional statements that check the min and max energy as

while (energy < HODO_CHANNEL_EMIN[i] || HODO_CHANNEL_EMIN[i] < 1.)
++i;
while (energy > HODO_CHANNEL_EMAX[i] || HODO_CHANNEL_EMAX[i] < 1.)
--i;

Both of the latter ones (HODO_CHANNEL_EMIN[i] < 1. and HODO_CHANNEL_EMAX[i] < 1.) seem to be designed to bypass the empty hodoscope counters. But this would fail when Delta E is larger than 1 MeV.

We have seen the effect of this issue when analyzing the 2021-11 dataset. Half of the runs have Delta E = 3 MeV. As a result, photons in the low-energy hodoscope counters failed to be tagged.

We proposed to add an extra conditional statement to make the energies covered by those empty hodoscope counters to be truly zero

HODO_CHANNEL_EMIN[i] = hodo_parms[i]["xlow"] * endpoint_calib + endpoint_energy - endpoint_calib;
if (hodo_parms[i]["xlow"] == 0)
HODO_CHANNEL_EMIN[I] = 0;

HODO_CHANNEL_EMAX[i] = hodo_parms[i]["xhigh"] * endpoint_calib + endpoint_energy - endpoint_calib;
if (hodo_parms[i]["xhigh"] == 0)
HODO_CHANNEL_EMAX[I] = 0;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions