Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Implementation of the class calib_componenyts

...

detector/utils_ami.py

...

  • It is implemented for epix10ka and epixhr detector types.
  • Code example is also available in the head of this module.
  • Common mode correction methods are not available yet in this example.

Code example for PythonEditor

Code Block
titleCode example for PythonEditor
collapsetrue
import psana.detector.utils_ami as ua


class EventProcessor():

    def __init__(self):
        self.counter = 0
        self.cc = None

    def begin_run(self):
        pass

    def end_run(self):
        pass

    def begin_step(self, step):
        pass

    def end_step(self, step):
        pass

    def on_event(self, raw, config, calibconst, *args, **kwargs):
        self.counter += 1
        if self.cc is None:
            self.cc = ua.calib_components(calibconst, config)
        cc = self.cc

        ctypes = cc.calib_types()
        npanels = cc.number_of_panels()
        peds     = cc.pedestals()   # OR cc.calib_constants('pedestals')
        gain     = cc.gain()        # ADU/keV
        gfactor  = cc.gain_factor() # keV/ADU
        status = cc.status()
        comode = cc.common_mode()
        trbit_p0 = cc.trbit_for_panel(0)
        ascfg_p0 = cc.asicPixelConfig_for_panel(0)
        mask = cc.mask(status=True)
        dettype = cc.dettype()
        cbitscfg = cc.cbits_config_detector()
        cbitstot = cc.cbits_config_and_data_detector(raw, cbitscfg)
        gmap = cc.gain_maps_epix10ka_any(raw)
        peds_ev = cc.event_pedestals(raw)
        gfac_ev = cc.event_gain_factor(raw)
        calib = cc.calib(raw, cmpars=None)

        print('== Event %04d ==' % self.counter)
#        print('config', cc.config)
        print('calib_types', ctypes)
#        print('calib_metadata', cc.calib_metadata('pedestals'))
        print(ua.info_ndarr(peds, 'pedestals'))
        print(ua.info_ndarr(cc.gain(), 'gain'))
        print(ua.info_ndarr(gfactor, 'gain_factor'))
        print(ua.info_ndarr(status, 'status'))
        print('common_mode from caliconst', str(comode))
        print('number_of_panels', npanels)
        print('trbit_for_panel(0)', trbit_p0)
        print(ua.info_ndarr(ascfg_p0, 'asicPixelConfig_for_panel(0)'))
        print(ua.info_ndarr(raw, 'raw'))
        print(ua.info_ndarr(mask, 'mask'))
        print('dettype', dettype)
        print(ua.info_ndarr(cbitscfg, 'cbitscfg'))
        print(ua.info_ndarr(cbitstot, 'cbitstot'))
        print(ua.info_ndarr(gmap, 'gmap'))
        print(ua.info_ndarr(peds_ev, 'peds_ev'))
        print(ua.info_ndarr(gfac_ev, 'gfac_ev'))
        print(ua.info_ndarr(calib, 'calib'))

        return raw

TODO

...

References

...