from collections import deque from logging import getLogger import numpy as np from scipy import signal bg_dim = 10 bg1_deq = deque([],bg_dim) bg2_deq = deque([],bg_dim) bg3_deq = deque([],bg_dim) initialized = False def process(data, pulse_id, timestamp, params): ch0 = data["SATES30-LSCP10-FNS:CH0:VAL_GET"] ch1 = data["SATES30-LSCP10-FNS:CH1:VAL_GET"] ch2 = data["SATES30-LSCP10-FNS:CH2:VAL_GET"] ch3 = data["SATES30-LSCP10-FNS:CH3:VAL_GET"] evt = data["SAT-CVME-TIFALL5:EvtSet"][154] if evt==1: bg1_deq.append(ch1) bg2_deq.append(ch2) bg3_deq.append(ch3) bg1 = np.mean(np.array(bg1_deq)) bg2 = np.mean(np.array(bg2_deq)) bg3 = np.mean(np.array(bg3_deq)) sig1 = ch1/bg1 -1 sig2 = ch2/bg2 -1 sig3 = ch3/bg3 -1 ret = {} ret["ch1"] = ch1 ret["ch2"] = ch2 ret["ch2"] = ch3 ret["evt"] = evt ret["bg1"] = bg1 ret["bg2"] = bg2 ret["bg3"] = bg3 ret["sig1"] = sig1 ret["sig2"] = sig2 ret["sig3"] = sig3 return ret