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.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.getParameter<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 fileName:

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

type fileName:

string

param Attributes:

param ————-:

param passName:

Pass name of the sim events

type passName:

string

param overlayPassName:

Pass name of the pileup events

type overlayPassName:

string

param overlayCaloHitCollections:

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

type overlayCaloHitCollections:

string

param overlayTrackerHitCollections:

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

type overlayTrackerHitCollections:

string

param totalNumberOfInteractions:

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

type totalNumberOfInteractions:

int

param doPoissonIntime:

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 doPoissonIntime:

bool

param doPoissonOutoftime:

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 doPoissonOutoftime:

bool

param timeSpread:

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

type timeSpread:

float

param timeMean:

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 timeMean:

float

param nEarlierBunchesToSample:

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 nEarlierBunchesToSample:

int

param nLatererBunchesToSample:

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 nLatererBunchesToSample:

int

param bunchSpacing:

The spacing in time between bunches [ns]

type bunchSpacing:

float

param verbosity:

Sets the producer specific level of verbosity, up to 3 for the most verbose step-by-step debug printouts.

type verbosity:

int

class LDMX.Recon.overlay.OverlayProducer(fileName, 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

Module contents