Go Back to: C++ Manual General Site

LDMX.Hcal package

Submodules

LDMX.Hcal.DetectorMap module

Detector map for translations between EIDs and det IDs

class LDMX.Hcal.DetectorMap.HcalDetectorMap(connections_table, want_d2e=False)

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

LDMX.Hcal.HcalGeometry module

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, adc_gain, tot_calib, toa_calib)

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.

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.nPEPerMIP

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

Type:

float

LDMX.Hcal.digi.mipEnergy

Energy [MeV] of a single MIP

Type:

float

class LDMX.Hcal.digi.HcalDigiProducer(instance_name='hcalDigis')

Bases: Producer

Configuration for HcalDigiProducer

hgcroc

Configuration for the chip emulator

Type:

HgcrocEmulator

MeV

Conversion between energy [MeV] and voltage [mV]

Type:

float

inputCollName

Name of input collection

Type:

str

inputPassName

Name of input pass

Type:

str

digiCollName

Name of digi collection

Type:

str

class LDMX.Hcal.digi.HcalDoubleEndRecProducer(instance_name='hcalDoubleRecon', pass_name='', coll_name='HcalRecHits', rec_coll_name='HcalDoubleEndRecHits', rec_pass_name='')

Bases: Producer

Configuration for the double ended Hcal Rec Producer

-  mip_energy

Copied from module-wide mipEnergy [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 LDMX.Hcal.digi.HcalHgcrocEmulator

Bases: HgcrocEmulator

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.

calculateVoltageHcal(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 :param PE: Number of photo electrons :type PE: int

class LDMX.Hcal.digi.HcalRecProducer(instance_name='hcalRecon')

Bases: Producer

Configuration for the HcalRecProducer

voltage_per_mip

Conversion from voltage [mV] to number of MIPs

Type:

float

mip_energy

Copied from module-wide mipEnergy [MeV]

Type:

float

clock_cycle

Time for one DAQ clock cycle to pass [ns]

Type:

float

digiCollName

Name of digi collection

Type:

str

digiPassName

Name of digi pass

Type:

str

simHitCollName

Name of simHit collection

Type:

str

simHitPassName

Name of simHit pass

Type:

str

recHitCollName

Name of recHit collection

Type:

str

class LDMX.Hcal.digi.HcalSingleEndRecProducer(instance_name='hcalRecon', pass_name='', coll_name='HcalDigis', rec_coll_name='HcalRecHits', rec_pass_name='')

Bases: Producer

Configuration for the single ended Hcal Rec Producer

-  mip_energy

Copied from module-wide mipEnergy [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

LDMX.Hcal.hcal module

Configuration for Hcal pipeline

class LDMX.Hcal.hcal.HcalClusterProducer(name='hcalClusters')

Bases: Producer

Configuration forcluster producer in the HCal

Sets all parameters to reasonable defaults.

Examples

from LDMX.EventProc.hcal import HcalClusterProducer p.sequence.append( HcalClusterProducer() )

class LDMX.Hcal.hcal.HcalOldDigiProducer(name='hcalOldDigis')

Bases: Producer

Configuration for Digitization producer in the HCal

Sets all parameters to reasonable defaults.

Examples

from LDMX.EventProc.hcal import HcalDigiProducer p.sequence.append( HcalDigiProducer() )

class LDMX.Hcal.hcal.HcalVetoProcessor(name='hcalVeto')

Bases: Producer

Configuration for veto in HCal

Sets all parameters to reasonable defaults.

Examples

from LDMX.EventProc.hcal import HcalVetoProcessor p.sequence.append( HcalVetoProcessor() )

class LDMX.Hcal.hcal.HcalWABVetoProcessor(name='hcalWABVeto')

Bases: Producer

Configuration for WAB veto in HCal

Sets all parameters to reasonable defaults.

Examples

from LDMX.EventProc.hcal import HcalWABVetoProcessor p.sequence.append( HcalWABVetoProcessor() )

LDMX.Hcal.hcal_ana module

Configuration for standard Hcal analysis scripts

class LDMX.Hcal.hcal_ana.HcalPedestalAnalyzer(name='hcal_ped_ana', input_name='', input_pass='', output_file='', make_histos=False, filter_noTOT=True, filter_noTOA=True, low_cutoff=10, high_cutoff=300, comments='')

Bases: Analyzer

Constructs standard pedestal text files and optionally produces histograms for each channel.

input_name

Name of the input collection

Type:

str

input_pass

Name of the input pass (or empty for default)

Type:

str

output_file

Filename for output calibration file

Type:

str

make_histos

Make individual channel histograms (default = false)

Type:

bool

filter_noTOA

Ignore any event for a channel where the TOA fired in any sample (default=true)

Type:

bool

filter_noTOT

Ignore any event for a channel where the TOT fired in any sample (default=true)

Type:

bool

low_cutoff

Ignore any event for a channel where any sample was below this level (default=10)

Type:

int

high_cutoff

Ignore any event for a channel where any sample was above this level (default=300)

Type:

int

comments

Comments to put into the output CSV file for logging purposes

Type:

str

Examples

from LDMX.EventProc.hcal import HcalPedestalAnalyzer p.sequence.append( HcalPedestalAnalyzer() )

LDMX.Hcal.hcal_hardcoded_conditions module

LDMX.Hcal.hcal_testbeam0422_conditions module

LDMX.Hcal.hcal_testbeamsim_conditions module

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='hcalTrigPrimDigis')

Bases: Producer

Configuration for HcalTrigPrimDigiProducer

LDMX.Hcal.hgcrocFormat module

Decoding and Encoding HCal Digis out of and into raw buffers

class LDMX.Hcal.hgcrocFormat.HcalAlignPolarfires(output_name, input_names, input_pass='', max_tick_diff=10, drop_lonely_events=False, keep_inputs=False)

Bases: Producer

Align the two polarfires from testbeam into singular events

Parameters:
  • output_name (str) – Name of event object with aligned digis

  • input_names (list[str]) – The event objects of the decoded digis from the two polarfires

  • input_pass (str) – pass generating decoded digis

  • max_tick_diff (int) – Maximum number of ticks to consider the two polarfires on the same event

  • drop_lonely_events (bool) – True if you want to drop events that only have data from one polarfire

  • keep_inputs (bool) – True if you want to keep both copies of the decoded data, effectively doubles the size of the output file, only use in debugging/developing

class LDMX.Hcal.hgcrocFormat.HcalRawDecoder(output_name, roc_version=2, input_names=None, input_pass='', input_file=None, connections_table=None, detector_name='ldmx-hcal-prototype-v1.0')

Bases: Producer

Decode a raw buffer into HCal Digis

Parameters

Module contents