Go Back to: C++ Manual General Site

LDMX.TrigScint package

Submodules

LDMX.TrigScint.qie_format module

TrigScint.QIEEncoder Python module

Sets all parameters to reasonable defaults.

Examples

from LDMX.TrigScint.qieFormat import QIEDecoder dec=QIEDecoder.tagger(“$LDMX_BASE/ldmx-sw/TrigScint/util/channelMapFrontBack.txt”) p.sequence.extend([ dec ])

class LDMX.TrigScint.qie_format.QIEDecoder(instance_name: str = 'QIEDecoder', histograms: list[Histogram] = <factory>, channel_map_file: str = '', input_pass_name: str = '', input_collection: str = 'QIEstreamTag', output_collection: str = 'decodedQIETag', number_channels: int = 50, number_time_samples: int = 5, is_real_data: bool = False, verbose: bool = False)

Bases: Processor

Configuration for QIE decoder

channel_map_file: str = ''
class_name: str = 'trigscint::QIEDecoder'
static down(map_file, **kwargs)

Get the decoding emulator for the trigger pad downstream of target

input_collection: str = 'QIEstreamTag'
input_pass_name: str = ''
instance_name: str = 'QIEDecoder'
is_real_data: bool = False
module_name: str = 'TrigScint'
number_channels: int = 50
number_time_samples: int = 5
output_collection: str = 'decodedQIETag'
static tagger(map_file, **kwargs)

Get the decoding emulator for the trigger pad upstream of tagger

static up(map_file, **kwargs)

Get the decoding emulator for the trigger pad upstream of target

verbose: bool = False
class LDMX.TrigScint.qie_format.QIEEncoder(instance_name: str = 'QIEEncoder', histograms: list[Histogram] = <factory>, channel_map_file: str = '', input_pass_name: str = '', input_collection: str = 'trigScintQIEDigisTag', output_collection: str = 'QIEstreamTag', number_channels: int = 50, verbose: bool = False)

Bases: Processor

Configuration for QIE encoder

channel_map_file: str = ''
class_name: str = 'trigscint::QIEEncoder'
static down(map_file, **kwargs)

Get the encoding emulator for the trigger pad downstream of target

input_collection: str = 'trigScintQIEDigisTag'
input_pass_name: str = ''
instance_name: str = 'QIEEncoder'
module_name: str = 'TrigScint'
number_channels: int = 50
output_collection: str = 'QIEstreamTag'
static tagger(map_file, **kwargs)

Get the encoding emulator for the trigger pad upstream of tagger

static up(map_file, **kwargs)

Get the encoding emulator for the trigger pad upstream of target

verbose: bool = False

LDMX.TrigScint.trig_scint module

Configuration for Trigger Scintillator digitization, cluster, and track producers

Sets all parameters to reasonable defaults.

Examples

from LDMX.TrigScint.trigScint import TrigScintDigiProducer p.sequence.extend([

TrigScintDigiProducer.pad1(), TrigScintDigiProducer.pad2(), TrigScintDigiProducer.pad3(),

]) from LDMX.TrigScint.trigScint import TrigScintClusterProducer p.sequence.extend([

TrigScintClusterProducer.pad1(), TrigScintClusterProducer.pad2(), TrigScintClusterProducer.pad3(),

])

class LDMX.TrigScint.trig_scint.EventReadoutProducer(instance_name: str = 'EventReadoutProducer', histograms: list[Histogram] = <factory>, input_collection: str = 'decodedQIEPad1', input_pass_name: str = '', output_collection: str = 'QIEsamplesPad1', number_pedestal_samples: int = 5, time_shift: int = 5, fiber_to_shift: int = 0, verbose: bool = False)

Bases: Processor

Configuration for rechit producer for Trigger Scintillators

class_name: str = 'trigscint::EventReadoutProducer'
fiber_to_shift: int = 0
input_collection: str = 'decodedQIEPad1'
input_pass_name: str = ''
instance_name: str = 'EventReadoutProducer'
module_name: str = 'TrigScint'
number_pedestal_samples: int = 5
output_collection: str = 'QIEsamplesPad1'
time_shift: int = 5
verbose: bool = False
class LDMX.TrigScint.trig_scint.QIEAnalyzer(instance_name: str = 'QIEAnalyzer', histograms: list[Histogram] = <factory>, input_collection: str = 'QIEsamplesPad1', input_pass_name: str = '', start_sample: int = 2, gain: list[float] = <factory>, pedestals: list[float] = <factory>)

Bases: Processor

Configuration for linearized QIE analyzer for Trigger Scintillators

class_name: str = 'trigscint::QIEAnalyzer'
gain: list[float]
input_collection: str = 'QIEsamplesPad1'
input_pass_name: str = ''
instance_name: str = 'QIEAnalyzer'
module_name: str = 'TrigScint'
pedestals: list[float]
start_sample: int = 2
class LDMX.TrigScint.trig_scint.QualityFlagAnalyzer(instance_name: str = 'QualityFlagAnalyzer', histograms: list[Histogram] = <factory>, input_event_collection: str = 'QIEsamplesUp', input_event_pass_name: str = '', input_hit_collection: str = 'testBeamHitsUp', input_hit_pass_name: str = '', start_sample: int = 2, gain: list[float] = <factory>, pedestals: list[float] = <factory>)

Bases: Processor

Configuration for linearized QIE analyzer for Trigger Scintillators

class_name: str = 'trigscint::QualityFlagAnalyzer'
gain: list[float]
input_event_collection: str = 'QIEsamplesUp'
input_event_pass_name: str = ''
input_hit_collection: str = 'testBeamHitsUp'
input_hit_pass_name: str = ''
instance_name: str = 'QualityFlagAnalyzer'
module_name: str = 'TrigScint'
pedestals: list[float]
start_sample: int = 2
class LDMX.TrigScint.trig_scint.TestBeamClusterAnalyzer(instance_name: str = 'TestBeamClusterAnalyzer', histograms: list[Histogram] = <factory>, input_collection: str = 'TestBeamClustersUpClean', input_pass_name: str = '', input_hit_collection: str = 'testBeamHitsUp', input_hit_pass_name: str = '', start_sample: int = 2, dead_channels: list[int] = <factory>)

Bases: Processor

Configuration for linearized QIE analyzer for Trigger Scintillators

class_name: str = 'trigscint::TestBeamClusterAnalyzer'
dead_channels: list[int]
input_collection: str = 'TestBeamClustersUpClean'
input_hit_collection: str = 'testBeamHitsUp'
input_hit_pass_name: str = ''
input_pass_name: str = ''
instance_name: str = 'TestBeamClusterAnalyzer'
module_name: str = 'TrigScint'
start_sample: int = 2
class LDMX.TrigScint.trig_scint.TestBeamClusterProducer(instance_name: str = 'TestBeamClusterProducer', histograms: list[Histogram] = <factory>, max_cluster_width: int = 2, max_channel_nb: int = 11, clustering_threshold: float = 40.0, seed_threshold: float = 60.0, pad_time: float = -999.0, time_tolerance: float = 50.0, input_collection: str = 'testBeamHitsPad1', input_pass_name: str = '', output_collection: str = 'TestBeamClustersPad1', do_clean_hits: bool = False, verbosity: int = 0)

Bases: Processor

Configuration for cluster producer for Trigger Scintillators

class_name: str = 'trigscint::TestBeamClusterProducer'
clustering_threshold: float = 40.0
do_clean_hits: bool = False
input_collection: str = 'testBeamHitsPad1'
input_pass_name: str = ''
instance_name: str = 'TestBeamClusterProducer'
max_channel_nb: int = 11
max_cluster_width: int = 2
module_name: str = 'TrigScint'
output_collection: str = 'TestBeamClustersPad1'
static pad1(**kwargs)

Get the cluster producer for the trigger pad upstream of hcal

pad_time: float = -999.0
seed_threshold: float = 60.0
time_tolerance: float = 50.0
verbosity: int = 0
class LDMX.TrigScint.trig_scint.TestBeamHitAnalyzer(instance_name: str = 'TestBeamHitAnalyzer', histograms: list[Histogram] = <factory>, input_collection: str = 'testBeamHitsPad1', input_pass_name: str = '', start_sample: int = 2, pedestals: list[float] = <factory>)

Bases: Processor

Configuration for linearized QIE analyzer for Trigger Scintillators

class_name: str = 'trigscint::TestBeamHitAnalyzer'
input_collection: str = 'testBeamHitsPad1'
input_pass_name: str = ''
instance_name: str = 'TestBeamHitAnalyzer'
module_name: str = 'TrigScint'
pedestals: list[float]
start_sample: int = 2
class LDMX.TrigScint.trig_scint.TestBeamHitProducer(instance_name: str = 'TestBeamHitProducer', histograms: list[Histogram] = <factory>, input_collection: str = 'QIEsamplesPad1', input_pass_name: str = '', output_collection: str = 'testBeamHitsPad1', verbose: bool = False, do_clean_hits: bool = False, n_instrumented_channels: int = 12, start_sample: int = 10, pulse_width: int = 5, pulse_width_lyso: int = 8, gain: list[float] = <factory>, MIPresponse: list[float] = <factory>, pedestals: list[float] = <factory>)

Bases: Processor

Configuration for testbeam hit producer for Trigger Scintillators

MIPresponse: list[float]
class_name: str = 'trigscint::TestBeamHitProducer'
do_clean_hits: bool = False
gain: list[float]
input_collection: str = 'QIEsamplesPad1'
input_pass_name: str = ''
instance_name: str = 'TestBeamHitProducer'
module_name: str = 'TrigScint'
n_instrumented_channels: int = 12
output_collection: str = 'testBeamHitsPad1'
pedestals: list[float]
pulse_width: int = 5
pulse_width_lyso: int = 8
start_sample: int = 10
verbose: bool = False
class LDMX.TrigScint.trig_scint.TrigScintClusterProducer(instance_name: str = 'TrigScintClusterProducer', histograms: list[Histogram] = <factory>, max_cluster_width: int = 2, clustering_threshold: float = 0.0, seed_threshold: float = 30.0, pad_time: float = 0.0, time_tolerance: float = 0.5, vertical_bar_start_index: int = 52, input_collection: str = 'trigScintDigisPad1', input_pass_name: str = '', output_collection: str = 'TriggerPad1Clusters', verbosity: int = 0)

Bases: Processor

Configuration for cluster producer for Trigger Scintillators

class_name: str = 'trigscint::TrigScintClusterProducer'
clustering_threshold: float = 0.0
input_collection: str = 'trigScintDigisPad1'
input_pass_name: str = ''
instance_name: str = 'TrigScintClusterProducer'
max_cluster_width: int = 2
module_name: str = 'TrigScint'
output_collection: str = 'TriggerPad1Clusters'
static pad1(**kwargs)

Get the cluster producer for the trigger pad most upstream of tagger

static pad2(**kwargs)

Get the cluster producer for the trigger pad just upstream of tagger

static pad3(**kwargs)

Get the cluster producer for the trigger pad just upstream of target

pad_time: float = 0.0
seed_threshold: float = 30.0
static target(**kwargs)

Get the cluster producer for the active target

time_tolerance: float = 0.5
verbosity: int = 0
vertical_bar_start_index: int = 52
class LDMX.TrigScint.trig_scint.TrigScintDigiProducer(instance_name: str = 'TrigScintDigiProducer', histograms: list[Histogram] = <factory>, mean_noise: float = 0.02, number_of_strips: int = 50, number_of_arrays: int = 1, mev_per_mip: float = 0.4, pe_per_mip: float = 100.0, input_collection: str = 'TriggerPad3SimHits', input_pass_name: str = '', output_collection: str = 'trigScintDigisPad3', sim_particles_coll_name: str = 'SimParticles', sim_particles_passname: str = '')

Bases: Processor

Configuration for digitizer for Trigger Scintillators

class_name: str = 'trigscint::TrigScintDigiProducer'
input_collection: str = 'TriggerPad3SimHits'
input_pass_name: str = ''
instance_name: str = 'TrigScintDigiProducer'
mean_noise: float = 0.02
mev_per_mip: float = 0.4
module_name: str = 'TrigScint'
number_of_arrays: int = 1
number_of_strips: int = 50
output_collection: str = 'trigScintDigisPad3'
static pad1(**kwargs)

Get the digitizer for the trigger pad most upstream of tagger

static pad2(**kwargs)

Get the digitizer for the trigger pad just upstream of tagger

static pad3(**kwargs)

Get the digitizer for the trigger pad upstream of target

pe_per_mip: float = 100.0
sim_particles_coll_name: str = 'SimParticles'
sim_particles_passname: str = ''
static target(**kwargs)

Get the digitizer for the active target

class LDMX.TrigScint.trig_scint.TrigScintFirmwareHitProducer(instance_name: str = 'TrigScintFirmwareHitProducer', histograms: list[Histogram] = <factory>, mev_per_mip: float = 0.4, pe_per_mip: float = 100.0, pedestal: float = 6.0, gain: float = 1000000.0, input_collection: str = 'trigScintQIEDigisPad3', test_collection: str = 'trigScintRecHitsPad3', input_pass_name: str = '', output_collection: str = 'trigScintFirmHitsPad3', verbose: bool = False, sample_of_interest: int = 2)

Bases: Processor

Configuration for rechit producer for Trigger Scintillators incorporating validated Firmware, regular and pileUp

class_name: str = 'trigscint::TrigScintFirmwareHitProducer'
gain: float = 1000000.0
input_collection: str = 'trigScintQIEDigisPad3'
input_pass_name: str = ''
instance_name: str = 'TrigScintFirmwareHitProducer'
mev_per_mip: float = 0.4
module_name: str = 'TrigScint'
output_collection: str = 'trigScintFirmHitsPad3'
static pad1(**kwargs)

Get the firmware hit producer for first pad

static pad2(**kwargs)

Get the firmware hit producer for second pad

static pad3(**kwargs)

Get the firmware hit for third pad

pe_per_mip: float = 100.0
pedestal: float = 6.0
sample_of_interest: int = 2
test_collection: str = 'trigScintRecHitsPad3'
verbose: bool = False
class LDMX.TrigScint.trig_scint.TrigScintFirmwareTracker(instance_name: str = 'TrigScintFirmwareTracker', histograms: list[Histogram] = <factory>, clustering_threshold: float = 40.0, digis1_collection: str = 'trigScintDigisPad1', digis2_collection: str = 'trigScintDigisPad2', digis3_collection: str = 'trigScintDigisPad3', input_pass_name: str = '', output_collection: str = 'TriggerPadTracks', verbosity: int = 0, time_tolerance: float = 50.0, pad_time: float = -1.5)

Bases: Processor

Configuration for the track producer from the Firmware Tracker

class_name: str = 'trigscint::TrigScintFirmwareTracker'
clustering_threshold: float = 40.0
digis1_collection: str = 'trigScintDigisPad1'
digis2_collection: str = 'trigScintDigisPad2'
digis3_collection: str = 'trigScintDigisPad3'
input_pass_name: str = ''
instance_name: str = 'TrigScintFirmwareTracker'
module_name: str = 'TrigScint'
output_collection: str = 'TriggerPadTracks'
pad_time: float = -1.5
time_tolerance: float = 50.0
verbosity: int = 0
class LDMX.TrigScint.trig_scint.TrigScintQIEDigiProducer(instance_name: str = 'TrigScintQIEDigiProducer', histograms: list[Histogram] = <factory>, mean_noise: float = 0.02, number_of_strips: int = 50, number_of_arrays: int = 1, mev_per_mip: float = 0.4, pe_per_mip: float = 100.0, input_collection: str = 'TriggerPad3SimHits', input_pass_name: str = '', output_collection: str = 'trigScintQIEDigisPad3', input_pulse_shape: str = 'Expo', expo_k: float = 0.1, expo_tmax: float = 5.0, maxts: int = 5, toff_overall: float = 55.0, tdc_thr: float = 3.4, pedestal: float = 6.0, elec_noise: float = 1.5, sipm_gain: float = 1000000.0, qie_sf: float = 40.0, zero_supp_in_pe: float = 1.0, verbose: bool = False)

Bases: Processor

Configuration for digitizer for Trigger Scintillators’s QIE chip

class_name: str = 'trigscint::TrigScintQIEDigiProducer'
elec_noise: float = 1.5
expo_k: float = 0.1
expo_tmax: float = 5.0
input_collection: str = 'TriggerPad3SimHits'
input_pass_name: str = ''
input_pulse_shape: str = 'Expo'
instance_name: str = 'TrigScintQIEDigiProducer'
maxts: int = 5
mean_noise: float = 0.02
mev_per_mip: float = 0.4
module_name: str = 'TrigScint'
number_of_arrays: int = 1
number_of_strips: int = 50
output_collection: str = 'trigScintQIEDigisPad3'
static pad1(**kwargs)

Get the digitizer for the first trigger pad

static pad2(**kwargs)

Get the digitizer for the second trigger pad

static pad3(**kwargs)

Get the digitizer for the trigger pad upstream of target

pe_per_mip: float = 100.0
pedestal: float = 6.0
qie_sf: float = 40.0
sipm_gain: float = 1000000.0
tdc_thr: float = 3.4
toff_overall: float = 55.0
verbose: bool = False
zero_supp_in_pe: float = 1.0
class LDMX.TrigScint.trig_scint.TrigScintRecHitProducer(instance_name: str = 'TrigScintRecHitProducer', histograms: list[Histogram] = <factory>, mev_per_mip: float = 0.4, pe_per_mip: float = 100.0, pedestal: float = 6.0, gain: float = 1000000.0, input_collection: str = 'trigScintQIEDigisPad3', input_pass_name: str = '', output_collection: str = 'trigScintRecHitsPad3', verbose: bool = False, sample_of_interest: int = 2)

Bases: Processor

Configuration for rechit producer for Trigger Scintillators

class_name: str = 'trigscint::TrigScintRecHitProducer'
gain: float = 1000000.0
input_collection: str = 'trigScintQIEDigisPad3'
input_pass_name: str = ''
instance_name: str = 'TrigScintRecHitProducer'
mev_per_mip: float = 0.4
module_name: str = 'TrigScint'
output_collection: str = 'trigScintRecHitsPad3'
static pad1(**kwargs)

Get the rechit producer for first pad

static pad2(**kwargs)

Get the rechit producer for second pad

static pad3(**kwargs)

Get the rechit producer for third pad

pe_per_mip: float = 100.0
pedestal: float = 6.0
sample_of_interest: int = 2
verbose: bool = False
class LDMX.TrigScint.trig_scint.TrigScintTrackProducer(instance_name: str = 'TrigScintTrackProducer', histograms: list[Histogram] = <factory>, delta_max: float = 0.75, tracking_threshold: float = 0.0, seeding_collection: str = 'TriggerPad1Clusters', further_input_collections: list[str] = <factory>, allow_skip_last_collection: bool = False, vertical_bar_start_index: int = 52, number_horizontal_bars: int = 24, number_vertical_bars: int = 0, horizontal_bar_width: float = 3.0, horizontal_bar_gap: float = 0.3, vertical_bar_width: float = 3.0, vertical_bar_gap: float = 0.3, input_pass_name: str = '', output_collection: str = 'TriggerPadTracks', verbosity: int = 0)

Bases: Processor

Configuration for track producer for Trigger Scintillators

allow_skip_last_collection: bool = False
class_name: str = 'trigscint::TrigScintTrackProducer'
delta_max: float = 0.75
further_input_collections: list[str]
horizontal_bar_gap: float = 0.3
horizontal_bar_width: float = 3.0
input_pass_name: str = ''
instance_name: str = 'TrigScintTrackProducer'
module_name: str = 'TrigScint'
number_horizontal_bars: int = 24
number_vertical_bars: int = 0
output_collection: str = 'TriggerPadTracks'
seeding_collection: str = 'TriggerPad1Clusters'
tracking_threshold: float = 0.0
verbosity: int = 0
vertical_bar_gap: float = 0.3
vertical_bar_start_index: int = 52
vertical_bar_width: float = 3.0

LDMX.TrigScint.truth_hits module

Configuration for truth hit producer

Sets all parameters to reasonable defaults.

Examples

from LDMX.TrigScint.truthHits import TruthHitProducer p.sequence.extend([

TruthHitProducer.tagger(), TruthHitProducer.up(), TruthHitProducer.down()

])

class LDMX.TrigScint.truth_hits.TruthHitProducer(instance_name: str = 'TruthHitProducer', histograms: list[Histogram] = <factory>, input_collection: str = 'TriggerPadUpSimHits', input_pass_name: str = '', output_collection: str = 'truthBeamElectronsUp', sim_particles_pass_name: str = '')

Bases: Processor

Configuration for truth hit selection producer

class_name: str = 'trigscint::TruthHitProducer'
static down(**kwargs)

Get the beam electron truth hits for the trigger pad downstream of target

input_collection: str = 'TriggerPadUpSimHits'
input_pass_name: str = ''
instance_name: str = 'TruthHitProducer'
module_name: str = 'TrigScint'
output_collection: str = 'truthBeamElectronsUp'
sim_particles_pass_name: str = ''
static tagger(**kwargs)

Get the beam electron truth hits for the trigger pad upstream of tagger

static up(**kwargs)

Get the beam electron truth hits for the trigger pad upstream of target

LDMX.TrigScint.zccm_format module

TrigScint.ZCCMEncoder Python module

Sets all parameters to reasonable defaults.

Examples

from LDMX.TrigScint.zccmFormat import ZCCMDecoder dec=ZCCMDecoder.tagger(“$LDMX_BASE/ldmx-sw/TrigScint/util/channelMapFrontBack.txt”) p.sequence.extend([ dec ])

class LDMX.TrigScint.zccm_format.ZCCMDecoder(instance_name: str = 'ZCCMDecoder', histograms: list[Histogram] = <factory>, channel_map_file: str = '', input_pass_name: str = '', input_collection: str = 'ZCCMoutput', output_collection: str = 'decodedZCCM', number_channels: int = 84, number_time_samples: int = 70, is_real_data: bool = True)

Bases: Processor

Configuration for ZCCM decoder

channel_map_file: str = ''
class_name: str = 'trigscint::ZCCMDecoder'
static down(map_file, **kwargs)

Get the decoding emulator for the trigger pad downstream of target

input_collection: str = 'ZCCMoutput'
input_pass_name: str = ''
instance_name: str = 'ZCCMDecoder'
is_real_data: bool = True
module_name: str = 'TrigScint'
number_channels: int = 84
number_time_samples: int = 70
output_collection: str = 'decodedZCCM'
static tagger(map_file, **kwargs)

Get the decoding emulator for the trigger pad upstream of tagger

static up(map_file, **kwargs)

Get the decoding emulator for the trigger pad upstream of target

class LDMX.TrigScint.zccm_format.ZCCMEncoder(instance_name: str = 'ZCCMEncoder', histograms: list[Histogram] = <factory>, channel_map_file: str = '', module_map_file: str = '', input_pass_name: str = '', input_collection: str = 'trigScintZCCMDigis', output_collection: str = 'ZCCMDigis', number_channels: int = 84)

Bases: Processor

Configuration for ZCCM encoder

channel_map_file: str = ''
class_name: str = 'trigscint::ZCCMEncoder'
static down(map_file, **kwargs)

Get the encoding emulator for the trigger pad downstream of target

input_collection: str = 'trigScintZCCMDigis'
input_pass_name: str = ''
instance_name: str = 'ZCCMEncoder'
module_map_file: str = ''
module_name: str = 'TrigScint'
number_channels: int = 84
output_collection: str = 'ZCCMDigis'
static tagger(map_file, **kwargs)

Get the encoding emulator for the trigger pad upstream of tagger

static up(map_file, **kwargs)

Get the encoding emulator for the trigger pad upstream of target

Module contents