Go Back to: C++ Manual General Site

LDMX.Hcal package

Submodules

LDMX.Hcal.conditions module

HCal conditions configuration classes

NOTE: This module is NOT a full set of conditions, it is just here to share the configuration classes helpful for conditions between the multiple condition sets

class LDMX.Hcal.conditions.HcalReconConditionsProvider(adc_ped: str, adc_gain: str, tot_calib: str, toa_calib: str, tag_name: str = '')

Bases: ConditionsObjectProvider

The HcalReconConditions object packages the reconstructing conditions tables together

This makes the processor using the recon conditions less dependent on the underlying structure.

Parameters:
  • adc_ped (framework::ConditionsObjectProvider) – provider for the HCal ADC pedestals

  • adc_gain (framework::ConditionsObjectProvider) – provider for the HCal ADC gains

  • tot_calib (framework::ConditionsObjectProvider) – provider for the HCal TOT calibrations

  • toa_calib (framework::ConditionsObjectProvider) – provider for the HCal TOA calibrations

Examples

The hcal_hardcoded_conditions.py file provides a working example where each condition wrapped here are constant for all runs and all channels.

adc_gain: str
adc_ped: str
class_name: str = 'hcal::HcalReconConditionsProvider'
module_name: str = 'Hcal'
object_name: str = 'HcalReconConditions'
tag_name: str = ''
toa_calib: str
tot_calib: str

LDMX.Hcal.detector_map module

Detector map for translations between EIDs and det IDs

class LDMX.Hcal.detector_map.HcalDetectorMap(connections_table: str, want_d2e: bool = False, tag_name: str = '')

Bases: ConditionsObjectProvider

Provider of the Hcal detector map allowing translations between electronics IDs and detector IDs.

Parameters:
  • connections_table (str) – Path to table of connections in Hcal

  • want_d2e (bool) – Flag determining if we should spend the time to create a detID->EID LUT

class_name: str = 'hcal::HcalDetectorMapLoader'
connections_table: str
module_name: str = 'Hcal'
object_name: str = 'HcalDetectorMap'
tag_name: str = ''
want_d2e: bool = False

LDMX.Hcal.digi module

Package to configure the HCal digitization pipeline

All classes are derived versions of LDMX.Framework.ldmxcfg.Producer with helpful member functions.

Two module-wide parameters are defined.

LDMX.Hcal.digi.n_pe_per_mip

Number of photo-electrons (PEs) created for each MIP

Type:

float

LDMX.Hcal.digi.mip_energy

Energy [MeV] of a single MIP

Type:

float

class LDMX.Hcal.digi.DigiTimeSpread(kind: int, parameters: list[float])

Bases: object

Possible time smearing/shifting that can be applied during digi emulation

either per event/spill or per hit

constant()

Constant time spread

Parameters:

value (float) – Value of the constant time spread

gaussian(sigma)

Gaussing time spread

Parameters:
  • mean (float) – mean of the gaussian distribution

  • sigma (float) – standard deviation

kind: int
none()
parameters: list[float]
uniform(max_value)

Uniform time spread

Parameters:
  • min_value (float) – Minimum value of the uniform distribution

  • max_value (float) – Maximum value of the uniform distribution

class LDMX.Hcal.digi.HcalDigiProducer(instance_name: str = 'HcalDigiProducer', histograms: list[Histogram] = <factory>, hgcroc: HgcrocEmulator = <factory>, mev: float = 72.96137339055794, attenuation_length: float = 5.0, avg_readout_threshold: float = 4.0, avg_gain: float = 1.2, avg_pedestal: float = 1.0, avg_noise_rms: float = 0.08333333333333334, save_pulse_truth_info: bool = False, zero_suppression: bool = True, input_coll_name: str = 'HcalSimHits', input_pass_name: str = '', digi_coll_name: str = 'HcalDigis', pulse_truth_coll_name: str = 'HcalPulseTruth', flat_time_shift: float = 0.0, time_spread_per_hit: DigiTimeSpread = <factory>, time_spread_per_spill: DigiTimeSpread = <factory>)

Bases: Processor

Configuration for HcalDigiProducer

hgcroc

Configuration for the chip emulator

Type:

HgcrocEmulator

mev

Conversion between energy [MeV] and voltage [mV]

Type:

float

attenuation_length

attenuation length of the bars in m

Type:

float

avg_readout_threshold

average readout threshold in ADCs (for noise generation)

Type:

float

avg_gain

average channel gain (for noise in empty channels)

Type:

float

avg_pedestal

average channel pedestal (for noise in empty channels)

Type:

float

avg_noise_rms

average channel noise RMS (for noise in empty channels)

Type:

float

save_pulse_truth_info

save pulse details for later study of emulator

Type:

bool

pulse_truth_coll_name

output name for pulse details (if being saved)

Type:

str

zero_suppression

if True (default), drop channels that are not above their readout threshold

Type:

bool

input_coll_name

Name of input collection

Type:

str

input_pass_name

Name of input pass

Type:

str

digi_coll_name

Name of digi collection

Type:

str

flat_time_shift

flat time shift to apply to all hits

Type:

float

time_spread_per_hit

time spread to apply to each hit within an event

Type:

DigiTimeSpread

time_spread_per_spill

time spread to apply uniformly within each spill

Type:

DigiTimeSpread

attenuation_length: float = 5.0
avg_gain: float = 1.2
avg_noise_rms: float = 0.08333333333333334
avg_pedestal: float = 1.0
avg_readout_threshold: float = 4.0
class_name: str = 'hcal::HcalDigiProducer'
digi_coll_name: str = 'HcalDigis'
flat_time_shift: float = 0.0
hgcroc: HgcrocEmulator
input_coll_name: str = 'HcalSimHits'
input_pass_name: str = ''
instance_name: str = 'HcalDigiProducer'
mev: float = 72.96137339055794
module_name: str = 'Hcal'
pulse_truth_coll_name: str = 'HcalPulseTruth'
save_pulse_truth_info: bool = False
time_spread_per_hit: DigiTimeSpread
time_spread_per_spill: DigiTimeSpread
zero_suppression: bool = True
class LDMX.Hcal.digi.HcalDoubleEndRecProducer(instance_name: str = 'HcalDoubleEndRecProducer', histograms: list[Histogram] = <factory>, mip_energy: float = 4.66, clock_cycle: float = 25.0, pe_per_mip: float = 68.0, coll_name: str = 'HcalRecHits', pass_name: str = '', rec_coll_name: str = 'HcalDoubleEndRecHits', rec_pass_name: str = '')

Bases: Processor

Configuration for the double ended Hcal Rec Producer

mip_energy

Copied from module-wide mip_energy [MeV]

Type:

float

clock_cycle

Time for one DAQ clock cycle to pass [ns]

Type:

float

pe_per_mip

number of photo-electrons per MIP

Type:

float

pass_name

Name of digi pass

Type:

str

coll_name

Name of digi collection

Type:

str

rec_coll_name

Name of rechit collection

Type:

str

class_name: str = 'hcal::HcalDoubleEndRecProducer'
clock_cycle: float = 25.0
coll_name: str = 'HcalRecHits'
instance_name: str = 'HcalDoubleEndRecProducer'
mip_energy: float = 4.66
module_name: str = 'Hcal'
pass_name: str = ''
pe_per_mip: float = 68.0
rec_coll_name: str = 'HcalDoubleEndRecHits'
rec_pass_name: str = ''
class LDMX.Hcal.digi.HcalRecProducer(instance_name: str = 'HcalRecProducer', histograms: list[Histogram] = <factory>, voltage_per_mip: float = 340.0, mip_energy: float = 4.66, clock_cycle: float = 25.0, pe_per_mip: float = 68.0, attenuation_length: float = 5.0, input_coll_name: str = 'HcalDigis', input_pass_name: str = '', sim_hit_coll_name: str = 'HcalSimHits', sim_hit_pass_name: str = '', rec_hit_coll_name: str = 'HcalRecHits', rate_up_slope: float = -0.1141, time_up_slope: float = -9.897, rate_dn_slope: float = 0.0279, time_dn_slope: float = 45.037, time_peak: float = 12.698, n_adcs: int = 10, avg_toa_threshold: float = 1.6, avg_gain: float = 1.2, avg_pedestal: float = 1.0)

Bases: Processor

Configuration for the HcalRecProducer

voltage_per_mip

Conversion from voltage [mV] to number of MIPs

Type:

float

mip_energy

Copied from module-wide mip_energy [MeV]

Type:

float

clock_cycle

Time for one DAQ clock cycle to pass [ns]

Type:

float

pe_per_mip

average number of PE per MIP

Type:

float

attenuation_length

attenuation length of bar [m]

Type:

float

input_coll_name

Name of digi collection

Type:

str

input_pass_name

Name of digi pass

Type:

str

sim_hit_coll_name

Name of simHit collection

Type:

str

sim_hit_pass_name

Name of simHit pass

Type:

str

rec_hit_coll_name

Name of rec_hit collection

Type:

str

rate_up_slope

use to implement amplitude and time walk correction

Type:

float

time_up_slope

use to implement amplitude and time walk correction

Type:

float

rate_dn_slope

use to implement amplitude and time walk correction

Type:

float

time_dn_slope

use to implement amplitude and time walk correction

Type:

float

time_peak

use to implement amplitude and time walk correction

Type:

float

n_adcs

use to implement amplitude and time walk correction

Type:

int

avg_toa_threshold

use to implement amplitude and time walk correction

Type:

float

avg_gain

use to implement amplitude and time walk correction

Type:

float

avg_pedestal

use to implement amplitude and time walk correction

Type:

float

attenuation_length: float = 5.0
avg_gain: float = 1.2
avg_pedestal: float = 1.0
avg_toa_threshold: float = 1.6
class_name: str = 'hcal::HcalRecProducer'
clock_cycle: float = 25.0
input_coll_name: str = 'HcalDigis'
input_pass_name: str = ''
instance_name: str = 'HcalRecProducer'
mip_energy: float = 4.66
module_name: str = 'Hcal'
n_adcs: int = 10
pe_per_mip: float = 68.0
rate_dn_slope: float = 0.0279
rate_up_slope: float = -0.1141
rec_hit_coll_name: str = 'HcalRecHits'
sim_hit_coll_name: str = 'HcalSimHits'
sim_hit_pass_name: str = ''
time_dn_slope: float = 45.037
time_peak: float = 12.698
time_up_slope: float = -9.897
voltage_per_mip: float = 340.0
class LDMX.Hcal.digi.HcalSimpleDigiAndRecProducer(instance_name: str = 'HcalSimpleDigiAndRecProducer', histograms: list[Histogram] = <factory>, input_coll_name: str = 'HcalSimHits', input_pass_name: str = '', output_coll_name: str = 'HcalRecHits', mean_noise: float = 0.02, readout_threshold: int = 1, strips_side_lr_per_layer: int = 12, num_side_lr_hcal_layers: int = 26, strips_side_tb_per_layer: int = 12, num_side_tb_hcal_layers: int = 28, strips_back_per_layer: int = 60, num_back_hcal_layers: int = 96, super_strip_size: int = 1, mev_per_mip: float = 4.66, pe_per_mip: float = 68.0, attenuation_length: float = 5.0, position_resolution: float = 150.0, sim_hit_pass_name: str = '')

Bases: Processor

Configuration for Digitization producer in the HCal

Legacy digi emulation and reconstruction producer which creates rec hits without as detailed of a digi emulation or realistic reconstruction procedure.

attenuation_length: float = 5.0
class_name: str = 'hcal::HcalSimpleDigiAndRecProducer'
input_coll_name: str = 'HcalSimHits'
input_pass_name: str = ''
instance_name: str = 'HcalSimpleDigiAndRecProducer'
mean_noise: float = 0.02
mev_per_mip: float = 4.66
module_name: str = 'Hcal'
num_back_hcal_layers: int = 96
num_side_lr_hcal_layers: int = 26
num_side_tb_hcal_layers: int = 28
output_coll_name: str = 'HcalRecHits'
pe_per_mip: float = 68.0
position_resolution: float = 150.0
readout_threshold: int = 1
sim_hit_pass_name: str = ''
strips_back_per_layer: int = 60
strips_side_lr_per_layer: int = 12
strips_side_tb_per_layer: int = 12
super_strip_size: int = 1
class LDMX.Hcal.digi.HcalSingleEndRecProducer(instance_name: str = 'HcalSingleEndRecProducer', histograms: list[Histogram] = <factory>, mip_energy: float = 4.66, clock_cycle: float = 25.0, pe_per_mip: float = 68.0, coll_name: str = 'HcalDigis', pass_name: str = '', rec_coll_name: str = 'HcalRecHits')

Bases: Processor

Configuration for the single ended Hcal Rec Producer

mip_energy

Copied from module-wide mip_energy [MeV]

Type:

float

clock_cycle

Time for one DAQ clock cycle to pass [ns]

Type:

float

pe_per_mip

number of photo-electrons per MIP

Type:

float

pass_name

Name of digi pass

Type:

str

coll_name

Name of digi collection

Type:

str

rec_coll_name

Name of rechit collection

Type:

str

class_name: str = 'hcal::HcalSingleEndRecProducer'
clock_cycle: float = 25.0
coll_name: str = 'HcalDigis'
instance_name: str = 'HcalSingleEndRecProducer'
mip_energy: float = 4.66
module_name: str = 'Hcal'
pass_name: str = ''
pe_per_mip: float = 68.0
rec_coll_name: str = 'HcalRecHits'
LDMX.Hcal.digi.calculate_voltage(pe)

Calculate the voltage signal [mV] of the input number of photo-electrons (PEs)

Assuming that 1 PE ~ 5mV This translates to (68/4.66)*5 = 73 PE/MeV

Parameters:

pe (int) – Number of photo electrons

LDMX.Hcal.digi.energy_to_voltage_conversion = 72.96137339055794

conversion from energy in MeV to voltage in mV

energy [MeV] ( 1 MIP / energy per MIP [MeV] ) ( voltage per MIP [mV] / 1 MIP ) = voltage [mV] - assuming 1 PEs ~ 5mV -> 72.961 mV/MeV

LDMX.Hcal.digi.hcal_hgcroc_emulator()

Get an HGCROC emulator and configure for the HCal specifically

This sets the pulse shape parameters to the ones from a fit to a test readout of an HCal module and then thresholds to the default construction.

Noise RMS is calculated using the voltage of 0.02 PEs.

LDMX.Hcal.digi.mip_energy = 4.66

energy deposited by a single MIP

measured 1.4MeV for a 6mm thick tile, so a 20mm thick bar is ~1.4*20/6

LDMX.Hcal.digi.n_pe_per_mip = 68.0

PEs created per MIP

LDMX.Hcal.hcal module

Configuration for Hcal pipeline

class LDMX.Hcal.hcal.HcalClusterProducer(instance_name: str = 'HcalClusterProducer', histograms: list[LDMX.Framework._histogram.Histogram] = <factory>, enoise_cut: float = 0.01, delta_time: float = 10.0, delta_r: float = 0.0, emin_cluster: float = 0.5, cut_off: float = 10.0, cluster_coll_name: str = 'HcalClusters', hcal_hits_pass_name: str = '')

Bases: Processor

class_name: str = 'hcal::HcalClusterProducer'
cluster_coll_name: str = 'HcalClusters'
cut_off: float = 10.0
delta_r: float = 0.0
delta_time: float = 10.0
emin_cluster: float = 0.5
enoise_cut: float = 0.01
hcal_hits_pass_name: str = ''
instance_name: str = 'HcalClusterProducer'
module_name: str = 'Hcal'
class LDMX.Hcal.hcal.HcalOldDigiProducer(instance_name: str = 'HcalOldDigiProducer', histograms: list[LDMX.Framework._histogram.Histogram] = <factory>, mean_noise: float = 0.02, readout_threshold: int = 1, strips_side_lr_per_layer: int = 12, num_side_lr_hcal_layers: int = 26, strips_side_tb_per_layer: int = 12, num_side_tb_hcal_layers: int = 28, strips_back_per_layer: int = 60, num_back_hcal_layers: int = 96, super_strip_size: int = 1, mev_per_mip: float = 4.66, pe_per_mip: float = 68.0, strip_attenuation_length: float = 5.0, strip_position_resolution: float = 150.0, sim_hit_pass_name: str = '')

Bases: Processor

class_name: str = 'hcal::HcalOldDigiProducer'
instance_name: str = 'HcalOldDigiProducer'
mean_noise: float = 0.02
mev_per_mip: float = 4.66
module_name: str = 'Hcal'
num_back_hcal_layers: int = 96
num_side_lr_hcal_layers: int = 26
num_side_tb_hcal_layers: int = 28
pe_per_mip: float = 68.0
readout_threshold: int = 1
sim_hit_pass_name: str = ''
strip_attenuation_length: float = 5.0
strip_position_resolution: float = 150.0
strips_back_per_layer: int = 60
strips_side_lr_per_layer: int = 12
strips_side_tb_per_layer: int = 12
super_strip_size: int = 1
class LDMX.Hcal.hcal.HcalVetoProcessor(instance_name: str = 'HcalVetoProcessor', histograms: list[LDMX.Framework._histogram.Histogram] = <factory>, pe_threshold: float = 8.0, max_time: float = 50.0, back_min_pe: float = 1.0, input_hit_coll_name: str = 'HcalRecHits', input_hit_pass_name: str = '', output_coll_name: str = 'HcalVeto', track_collection: str = 'RecoilTracks', track_pass_name: str = '', inverse_skim: bool = False)

Bases: Processor

back_min_pe: float = 1.0
class_name: str = 'hcal::HcalVetoProcessor'
input_hit_coll_name: str = 'HcalRecHits'
input_hit_pass_name: str = ''
instance_name: str = 'HcalVetoProcessor'
inverse_skim: bool = False
max_time: float = 50.0
module_name: str = 'Hcal'
output_coll_name: str = 'HcalVeto'
pe_threshold: float = 8.0
track_collection: str = 'RecoilTracks'
track_pass_name: str = ''
class LDMX.Hcal.hcal.HcalWABVetoProcessor(instance_name: str = 'HcalWABVetoProcessor', histograms: list[LDMX.Framework._histogram.Histogram] = <factory>, max_total_energy_compare: float = 1000.0, min_total_energy_compare: float = 0.0, n_clusters: float = 6.0, mean_hits_per_cluster: float = 3.0, mean_energy_per_cluster: float = 6.0, input_hcal_hit_coll_name: str = 'HcalRecHits', input_ecal_hit_coll_name: str = 'EcalRecHits', output_coll_name: str = 'HcalWABVetoes', input_hcal_cluster_coll_name: str = 'HcalClusters', hcal_hit_passname: str = '', ecal_hit_passname: str = '', hcal_cluster_passname: str = '', track_collection: str = 'RecoilTracks', track_pass_name: str = '')

Bases: Processor

class_name: str = 'hcal::HcalWABVetoProcessor'
ecal_hit_passname: str = ''
hcal_cluster_passname: str = ''
hcal_hit_passname: str = ''
input_ecal_hit_coll_name: str = 'EcalRecHits'
input_hcal_cluster_coll_name: str = 'HcalClusters'
input_hcal_hit_coll_name: str = 'HcalRecHits'
instance_name: str = 'HcalWABVetoProcessor'
max_total_energy_compare: float = 1000.0
mean_energy_per_cluster: float = 6.0
mean_hits_per_cluster: float = 3.0
min_total_energy_compare: float = 0.0
module_name: str = 'Hcal'
n_clusters: float = 6.0
output_coll_name: str = 'HcalWABVetoes'
track_collection: str = 'RecoilTracks'
track_pass_name: str = ''

LDMX.Hcal.hcal_ana module

LDMX.Hcal.hcal_geometry module

ConditionsProvider for HcalGeometry

class LDMX.Hcal.hcal_geometry.HcalGeometryProvider(hcal_geometry: HcalGeometry = <factory>, tag_name: str = '')

Bases: ConditionsObjectProvider

Provider that provides access to Hcal geometry (HcalGeometry)

Parameters:

tag_name (str) – tag for generator of information

hcal_geometry

Actual class providing Hcal layout

Type:

HcalGeometry

__instance

Singleton instance of this object

Type:

HcalGeometryProvider

class_name: str = 'hcal::HcalGeometryProvider'
get_instance()

Get the single instance of the HcalGeometryProvider

Returns:

Single instance of the provider

Return type:

HcalGeometryProvider

hcal_geometry: HcalGeometry
module_name: str = 'Hcal'
object_name: str = 'HcalGeometryProvider'
tag_name: str = ''
class LDMX.Hcal.hcal_geometry.HcalTriggerGeometryProvider(hcal_geometry: HcalGeometry = <factory>, tag_name: str = '')

Bases: ConditionsObjectProvider

Provider that provides access to Hcal geometry (ldmx::HcalGeometry) :param tag_name: tag for generator of information :type tag_name: str

hcal_geometry

Actual class providing precision cellular layout in Hcal

Type:

HcalGeometry

__instance

Singleton instance of this object

Type:

HcalTriggerGeometryProvider

class_name: str = 'hcal::HcalTriggerGeometryProvider'
get_instance()

Get the single instance of the HcalTriggerGeometryProvider :returns: Single instance of the provider :rtype: HcalTriggerGeometryProvider

hcal_geometry: HcalGeometry
module_name: str = 'Hcal'
object_name: str = 'HcalTriggerGeometry'
tag_name: str = ''

LDMX.Hcal.hcal_hardcoded_conditions module

Package to provide hard-coded conditions sources for Hcal reconstruction and simulation

LDMX.Hcal.hcal_hardcoded_conditions.HcalReconConditionsHardcode

Provides a table of double conditions for hcal precision reconstruction

Type:

simple_csv_double_table_provider

LDMX.Hcal.hcal_hardcoded_conditions.HcalHgcrocConditionsHardcode

Provides a table of double conditions for hcal hgcroc emulator

Type:

simple_csv_double_table_provider

LDMX.Hcal.hcal_testbeam0422_conditions module

LDMX.Hcal.hcal_testbeamsim_conditions module

Package to provide hard-coded conditions sources for Hcal testbeam simulation

LDMX.Hcal.hcal_testbeamsim_conditions.HcalReconConditionsHardcode

Provides a table of double conditions for hcal precision reconstruction

Type:

simple_csv_double_table_provider

LDMX.Hcal.hcal_testbeamsim_conditions.HcalHgcrocConditionsHardcode

Provides a table of double conditions for hcal hgcroc emulator

Type:

simple_csv_double_table_provider

LDMX.Hcal.hcal_trig_digi module

Package to configure the Hcal trigger digitization All classes are derived versions of LDMX.Framework.ldmxcfg.Producer with helpful member functions.

class LDMX.Hcal.hcal_trig_digi.HcalTrigPrimDigiProducer(instance_name: str = 'HcalTrigPrimDigiProducer', histograms: list[LDMX.Framework._histogram.Histogram] = <factory>, digi_coll_name: str = 'HcalDigis', digi_pass_name: str = '')

Bases: Processor

class_name: str = 'hcal::HcalTrigPrimDigiProducer'
digi_coll_name: str = 'HcalDigis'
digi_pass_name: str = ''
instance_name: str = 'HcalTrigPrimDigiProducer'
module_name: str = 'Hcal'

LDMX.Hcal.hgcroc_format module

LDMX.Hcal.visibles module

Configuration for Visibles veto

Examples

from LDMX.Hcal.visibles import VisiblesVetoProcessor p.sequence.append( VisiblesVetoProcessor)

class LDMX.Hcal.visibles.VisiblesVetoProcessor(instance_name: str = 'VisiblesVetoProcessor', histograms: list[LDMX.Framework._histogram.Histogram] = <factory>, feature_list_name: str = 'input', bdt_file: str = '/home/runner/work/ldmx-sw/ldmx-sw/install/data/Hcal/visibles.onnx', beam_energy: float = 8000.0, disc_cut: float = 0.999965, collection_name: str = 'VisiblesVeto', rec_coll_name: str = 'HcalRecHits', rec_pass_name: str = '', recoil_from_tracking: bool = False, track_collection: str = 'RecoilTracks', track_pass_name: str = '', sp_coll_name: str = 'TargetScoringPlaneHits', sp_pass_name: str = '', sim_particles_pass_name: str = '')

Bases: Processor

bdt_file: str = '/home/runner/work/ldmx-sw/ldmx-sw/install/data/Hcal/visibles.onnx'
beam_energy: float = 8000.0
class_name: str = 'hcal::VisiblesVetoProcessor'
collection_name: str = 'VisiblesVeto'
disc_cut: float = 0.999965
feature_list_name: str = 'input'
instance_name: str = 'VisiblesVetoProcessor'
module_name: str = 'Hcal'
rec_coll_name: str = 'HcalRecHits'
rec_pass_name: str = ''
recoil_from_tracking: bool = False
sim_particles_pass_name: str = ''
sp_coll_name: str = 'TargetScoringPlaneHits'
sp_pass_name: str = ''
track_collection: str = 'RecoilTracks'
track_pass_name: str = ''
LDMX.Hcal.visibles.make_bdt_path(bdt_name)

Get the full path to the installed BDT files Exits entire python script if the file does not exist.

Parameters:

bdt_name (str) – Name of BDT file (no extension)

Returns:

full path to installed BDT file

Return type:

str

Examples

visiblesVeto.bdt_file = make_bdt_path(‘visibles_v1’)

Module contents