Skip to content
Snippets Groups Projects
Commit d890c4df authored by Laurent Mercadier's avatar Laurent Mercadier
Browse files

Allow ommitting npulses and period when using a bunchPattern

parent a6994a61
No related branches found
No related tags found
1 merge request!312Extract peaks
Pipeline #164042 failed
...@@ -447,6 +447,7 @@ def find_peak_integration_parameters(run, mnemonic, raw_trace=None, ...@@ -447,6 +447,7 @@ def find_peak_integration_parameters(run, mnemonic, raw_trace=None,
params = integParams.copy() params = integParams.copy()
# extract pulse ids from the parameters (starting at 0) # extract pulse ids from the parameters (starting at 0)
pulse_ids_params = None
if hasattr(params['pulseStart'], '__len__'): if hasattr(params['pulseStart'], '__len__'):
if params.get('npulses') is not None and ( if params.get('npulses') is not None and (
params.get('npulses') != len(params['pulseStart'])): params.get('npulses') != len(params['pulseStart'])):
...@@ -456,10 +457,10 @@ def find_peak_integration_parameters(run, mnemonic, raw_trace=None, ...@@ -456,10 +457,10 @@ def find_peak_integration_parameters(run, mnemonic, raw_trace=None,
params['npulses'] = len(params['pulseStart']) params['npulses'] = len(params['pulseStart'])
pulse_ids_params = ((np.array(params['pulseStart']) - pulse_ids_params = ((np.array(params['pulseStart']) -
params['pulseStart'][0]) / pulse_period).astype(int) params['pulseStart'][0]) / pulse_period).astype(int)
else: elif 'npulses' in params and 'period' in params:
pulse_ids_params = np.arange(0, pulse_ids_params = np.arange(0,
params['npulses'] * params['period'] / pulse_period, params['npulses'] * params['period'] / pulse_period,
params['period'] / pulse_period).astype(int) params['period'] / pulse_period).astype(int)
# Extract pulse_ids, period and npulses from bunch pattern # Extract pulse_ids, period and npulses from bunch pattern
pulse_ids_bp, npulses_bp, period_bp = None, None, 0 pulse_ids_bp, npulses_bp, period_bp = None, None, 0
...@@ -482,6 +483,12 @@ def find_peak_integration_parameters(run, mnemonic, raw_trace=None, ...@@ -482,6 +483,12 @@ def find_peak_integration_parameters(run, mnemonic, raw_trace=None,
else: else:
period_bp = np.unique(periods)[0] * pulse_period period_bp = np.unique(periods)[0] * pulse_period
# Compare parameters with bunch pattern # Compare parameters with bunch pattern
if pulse_ids_params is None:
params['npulses'] = npulses_bp
params['period'] = period_bp
pulse_ids_params = np.arange(0,
params['npulses'] * params['period'] / pulse_period,
params['period'] / pulse_period).astype(int)
if len(pulse_ids_params) == len(pulse_ids_bp): if len(pulse_ids_params) == len(pulse_ids_bp):
if not (pulse_ids_params == pulse_ids_bp - pulse_ids_bp[0]).all(): if not (pulse_ids_params == pulse_ids_bp - pulse_ids_bp[0]).all():
log.warning('The provided pulseStart parameters do not match ' log.warning('The provided pulseStart parameters do not match '
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment