Go Back to: C++ Manual General Site

LDMX.Recon package

Submodules

LDMX.Recon.beamElectronLocator module

Configuration for beam electron locator

Attributes:

input_collectionstring

Name of the input collection, should be one that holds sim hits

input_pass_namestring

Pass name of the input collection

output_collectionstring

Name of the output collection, holding the condensed list of beam electron locations

granularity_X_mmfloat

The expected actual resolution or the bar width in mm of the TS in the X direction

granularity_Y_mmfloat

The expected actual resolution or the bar width in mm of the TS in the Y direction

min_granularity_mmfloat

The maximum distance between SimHits that are grouped together as one beam electron

verboseboolean

If set to true, more information is spit out to either Info or Debug log level

# We need the ldmx configuration package to construct the processor objects

class LDMX.Recon.beamElectronLocator.BeamElectronLocator(name)

Bases: Producer

The name is purely conventional to match the C++ class name for clarity

Examples

from LDMX.Recon.beamElectronLocator import BeamElectronLocator beamEleFinder= BeamELectronLocator(‘beamEleFinder’)

You can change the parameters after creating this object.

beamEleFinder.my_parameter = 50

Then you put your processor into the sequence of the process.

p.sequence.append( beamEleFinder )

LDMX.Recon.dictionary module

LDMX.Recon.ecalPreselectionSkimmer module

Configuration for PreselectionProcessor

Sets all the default parameters that high so it leads to no preselection.

Attributes:

ecal_veto_name: string

Collection Name for veto object

ecal_veto_pass: string

Pass Name for veto object

summed_det_max: double

Max value for summed det

summed_tight_iso_max: double

Max value for summed tigh iso

ecal_back_energy_max: double

Max value for ecal back energy

n_readout_hits_max: int

Max value for num readout hits

shower_rms_max: double

Max value for shower rms

shower_y_std_max: double

Max value for shower rms in Y

shower_x_std_max: double

Max value for shower rms in X

max_cell_dep_max: double

Max value for maximal cell deposition

std_layer_hit_max: int

Max value for std layer hits

n_straight_tracks_max: int

Max value for num straight tracks

bdt_disc_min: double

Min value for the BDT disc variable

fiducial_level: int

0: don’t care if it’s fiducial or not, 1: keep fiducial events only, 2: keep non-fid events only

Examples

from LDMX.Recon.ecalPreselectionSkimmer import EcalPreselectionSkimmer ecal_pres_skimmer = EcalPreselectionSkimmer() p.sequence.append( ecal_pres_skimmer )

class LDMX.Recon.ecalPreselectionSkimmer.EcalPreselectionSkimmer(name='ecalPreselectionSkimmer')

Bases: Producer

Configuration for an ECAL-based pre-selection skimmer

LDMX.Recon.electronCounter module

LDMX.Recon.fiducialFlag module

class LDMX.Recon.fiducialFlag.RecoilFiducialityProcessor(name)

Bases: Producer

LDMX.Recon.my_processor module

Example configuration object for a processor

class LDMX.Recon.my_processor.MyProcessor(name)

Bases: Producer

The name is purely conventional to match the C++ class name for clarity

The line

super().__init__( name , “recon::MyProcessor” , “Recon” )

Calls the constructor for ldmxcfg.Producer, which is how we have handles on this processor. You need to give the actual C++ class name with namespace(s) as the second entry, and the name of the module the C++ class is in as the third entry.

Any other lines define parameters that are accessible in the C++ configure method. For example, the line

self.my_parameter = 20

defines a integer parameter for this class which can be accessed in the configure method with

int my_parameter = parameters.get<int>(“my_parameter”);

Examples

Creating the configuration object gives the parameters set in __init__.

myProc = MyProcessor( ‘myProc’)

You can also change the parameters after creating this object.

myProc.my_parameter = 50

Then you put your processor into the sequence of the process.

p.sequence.append( myProc )

LDMX.Recon.overlay module

Configuration for overlay

param file_name:

The name of the file containing the pileup events to overlay on the sim event

type file_name:

string

param Attributes:

param ————-:

param sim_passname:

Pass name of the sim events

type sim_passname:

string

param overlay_passname:

Pass name of the pileup events

type overlay_passname:

string

param calo_collections:

List of SimCalorimeterHit collections to pull from the sim and pileup events and combine

type calo_collections:

string

param tracker_collections_:

List of SimTrackerHit collections to pull from the sim and pileup events and combine

type tracker_collections_:

string

param poisson_mu:

The total number of interactions combined (including the sim event)

type poisson_mu:

int

param do_poisson_in_time:

Specifies whether to sample a Poisson(totalNumberOfInteractions) to obtain the number of events to combine in-time with the sim event (doPoissonIntime=true), or deterministically set nOverlay=totalNumberOfInteractions-1 (doPoissonIntime = false)

type do_poisson_in_time:

bool

param do_poisson_out_of_time:

Specifies whether to sample a Poisson(totalNumberOfInteractions) to obtain the number of events to put in bunches that are out-of-time with the sim event (doPoissonOutoftime=true), or deterministically set nOverlay=totalNumberOfInteractions-1 (doPoissonOutoftime = false)

type do_poisson_out_of_time:

bool

param time_sigma:

The width of a single bunch in time (expressed in sigma) [ns]

type time_sigma:

float

param time_mean:

The average time, relative to the sim time, of the pileup events [ns]. Note that this should generally be 0. A non-zero number combined with a 0 spread is useful for debugging.

type time_mean:

float

param n_earlier:

The number of preceding bunches sampled for out-of-time pileup. Furthermore, pileup will be uniformly distributed among this number of bunches m = -N_earlier, -N_earlier+1, …, N_later while the sim event is always in bunch m = 0.

type n_earlier:

int

param n_later:

The number of following bunches sampled for out-of-time pileup. Furthermore, pileup will be uniformly distributed among this number of bunches m = -N_earlier, -N_earlier+1, …, N_later while the sim event is always in bunch m = 0.

type n_later:

int

param bunch_spacing:

The spacing in time between bunches [ns]

type bunch_spacing:

float

param start_event_min:

The minimum event number to start overlaying pileup events.

type start_event_min:

int

param start_event_max:

The max event number to start overlaying pileup events.

type start_event_max:

int

class LDMX.Recon.overlay.OverlayProducer(file_name, name='OverlayProducer')

Bases: Producer

Configuration for pileup overlay

Sets all parameters to reasonable defaults.

Examples

from LDMX.Recon.overlay import OverlayProducer p.sequence.append( OverlayProducer( myPileupFileName.root ) )

LDMX.Recon.pfReco module

Configuration for pfReco producers

Sets all parameters to reasonable defaults.

Examples

from LDMX.Recon.pfReco import pfEcalClusterProducer p.sequence.append( pfEcalClusterProducer )

class LDMX.Recon.pfReco.pfEcalClusterProducer(name='PFEcalCluster')

Bases: Producer

Configuration for Ecal cluster builder for particle reco

class LDMX.Recon.pfReco.pfHcalClusterProducer(name='PFHcalCluster')

Bases: Producer

Configuration for Hcal cluster builder for particle reco

class LDMX.Recon.pfReco.pfProducer(name='PFlow')

Bases: Producer

Configuration for particle reco

class LDMX.Recon.pfReco.pfTrackProducer(name='PFTrack')

Bases: Producer

Configuration for track selector for particle reco

class LDMX.Recon.pfReco.pfTruthProducer(name='PFTruth')

Bases: Producer

Configuration for track selector for particle reco

LDMX.Recon.simpleSeqTrigger module

LDMX.Recon.simpleTrigger module

LDMX.Recon.trackDeDxMassEstimator module

Module contents