Go Back to: C++ Manual General Site

LDMX.Tracking package

Submodules

LDMX.Tracking.alignment module

class LDMX.Tracking.alignment.AlignmentTestProcessor(instance_name='AlignmentTestProcessor')

Bases: Producer

Producer to test Alignment constants loading and propagation to devices.

Parameters:

instance_name (str) – Unique name for this instance.

LDMX.Tracking.dqm module

class LDMX.Tracking.dqm.TrackerDigiDQM(name='TaggerTracker')

Bases: Analyzer

class LDMX.Tracking.dqm.TrackingRecoDQM(name='TrackingRecoDQM')

Bases: Analyzer

buildHistograms()

LDMX.Tracking.geo module

LDMX.Tracking.make_path module

Helpful python configuration functions for getting the path to installed data files.

This assumes the installation directory can be accessed via the cmake variable CMAKE_INSTALL_PREFIX.

LDMX.Tracking.make_path.makeDetectorPath(det_name: str) str

Get the full path to the detector description.

This will generate a path to detector.gdml, the main entry point for the detector description, for a given detector name.

Parameters:

det_name (str) – The name of the detector e.g. ldmx-det-v14

Returns:

Full path to the detector.gdml of the given detector.

Return type:

str

LDMX.Tracking.make_path.makeFieldMapPath() str

Get the full path to the fieldmap.

If the fieldmap doesn’t exist, exit the app.

Returns:

Full path to the installed fieldmap.

Return type:

str

LDMX.Tracking.propagation module

class LDMX.Tracking.propagation.CustomStatePropagator(instance_name='CustomStatePropagator')

Bases: Producer

Producer to generate an user defined set of particles at the target and propaget them through the BField map to an user defined plane surface. Only forward propagation is supported.

Parameters:
  • field_map (string) – The field map

  • surf_location (double) – The downstream location of the surface to where to propagate the states

  • nstates (int) – Number of states to be propagated

  • bs_size (vector<double> [Y,X]) – The size of the generated beamspot in Y-X [mm]

  • prange (vector<double> [min,max]) – Minimum and maximum momentum magnitude uniform pdf [GeV]

  • thetarange (vector<double> [min,max]) – Minimum and maximum theta angle uniform pdf

  • phirange (vector<double> [min,max]) – Minimum and maximum phi angle uniform pdf

LDMX.Tracking.tracking module

class LDMX.Tracking.tracking.CKFProcessor(instance_name='CKFProcessor')

Bases: Producer

Producer that runs the Combinatorial Kalman Filter for track finding and fitting.

Parameters:

instance_name (str) – Unique name for this instance.

dumpobj

<functionality to be moved> If true, dump the tracking geometry into obj/mtl files for visualization purposes. The files can be opened via an open source application such as mesh lab.

Type:

bool

pionstates

Can be used to define the number of pion states generated with uniform distributions to be propagated through the tracking geometry for debugging purposes. <functionality to be moved>

Type:

int

steps_output_file_path_

DEPRECATED TO BE REMOVED

Type:

string

bfield

<functionality to be removed> If using a constant bfield, this is the BZ component.

Type:

float

const_b_field

<functionality to be removed> Activate the usage of constant magnetic field.

Type:

bool

field_map_

Path to the location of the magnetic field map.

Type:

string

propagator_step_size

Size of each RK propagator step.

Type:

float

propagator_maxSteps

Maximum number of steps for the propagator

Type:

int

perigee_location

DEPRECATED

Type:

list[double]

hit_collection

The hit collection for pattern reconstruction.

Type:

string

remove_stereo

Remove stereo hits from track fitting.

Type:

bool

use1Dmeasurements

<remove functionality and leave it to experts only> Use single strip measurements and not 3D points.

Type:

bool

min_hits

Minimum number of measurements on track to accept the trajectory.

Type:

int

use_extrapolate_location

Activate the usage of extrapolate location for returning the track parameters.

Type:

bool

extrapolate_location

Location of the extrapolation for the trajectory (perigee representation).

Type:

list[double]

use_seed_perigee

Uses the seed perigee as extrapolation location.

Type:

bool

seed_coll_name

Seed collection for initiate the track finding.

Type:

string

out_trk_collection

Name of the output Track collection.

Type:

string

do_smearing

<functionality to be removed> Activate the hit smearing.

Type:

bool

sigma_u

<functionality to be removed> Smearing in the sensitive direction.

Type:

float

sigma_v

< functionality to be removed> Smearing in the unsensitive direction.

Type:

float

kf_refit

Activate kalman filter track refitting of the found trajectories

Type:

bool

gsf_refit

<experimental> Refit tracks with Gaussian Sum Filter

Type:

bool

class LDMX.Tracking.tracking.DigitizationProcessor(instance_name='DigitizationProcessor')

Bases: Producer

Producer that smears simulated tracker hits.

Parameters:

instance_name (str) – Unique name for this instance.

merge_hits

Activate merging of all hits that have the same track ID on the same layer.

Type:

bool

do_smearing

Activate the smearing.

Type:

bool

sigma_u

Smearing sigma in the sensitive direction

Type:

float

sigma_v

Smearing sigma in the un-sensitive direction

Type:

float

track_id

If track_id > 0, retain only hits with that particular track_id and discard the rest.

Type:

int

min_e_dep

Minimum energy deposited by G4 to consider the hit

Type:

float

hit_collection

Input hit collection to be smeared

Type:

string

out_collection

Output hit collection to be stored

Type:

string

class LDMX.Tracking.tracking.GSFProcessor(instance_name='GSFProcessor')

Bases: Producer

Producer that runs Gaussian Sum Fitter on a specific track collection

Parameters:

instance_name (str) – Unique name for this instance.

trackCollection

Track collection to be refitted with GSF

Type:

string

measCollection

Measurements collection in the tracker

Type:

string

maxComponents

How many gaussians to use to sample the BetheHeitler

Type:

int

abortOnError

Abort fitting if an error occurred

Type:

bool

disableAllMaterialHandling

Disable material effects on surfaces. True only for debug purpose

Type:

bool

weightCutOff

Kill a component if its weight is smaller than a certain treshold.

Type:

double

propagator_step_size

Size of each RK propagator step.

Type:

float

propagator_maxSteps

Maximum number of steps for the propagator

Type:

int

field_map_

Path to the location of the magnetic field map.

Type:

string

class LDMX.Tracking.tracking.SeedFinderProcessor(instance_name='SeedFinderProcessor')

Bases: Producer

Producer to find Seeds for the KF-based track finding.

Parameters:

instance_name (str) – Unique name for this instance.

perigee_location

3D location of the perigee for the helix track parameters definition.

Type:

List[float]

pmin

Minimum cut on the momentum of the seeds.

Type:

float

pmax

Maximum cut on the momentum of the seeds.

Type:

float

d0min

Minimum d0 allowed for the seeds. Computed at the perigee.

Type:

float

d0max

Maximum d0 allowed for the seeds. Computed at the perigee.

Type:

float

z0max

Maximum z0 allowed for the seeds. Computed at the perigee.

Type:

float

strategies

List of 5 hits (3 axial and 2 stereo) for seed finding.

Type:

List[string] – WORK IN PROGRESS AND NOT ACTIVE —

input_hits_collection

The name of the input collection of hits to be used for seed finding.

Type:

string

out_seed_collection

The name of the ouput collection of seeds to be stored.

Type:

string

class LDMX.Tracking.tracking.TruthSeedProcessor(instance_name='TruthSeedProcessor')

Bases: Producer

Producer that returns truth seeds to feed the KF based track finding. Seeds are not smeared, so the fits will be too optimistic, especially the residuals of the estimated locations w.r.t. simulated hits on each surface. The default parameters assume electron seeds are being found in the recoil tracker with loose requirements on momentum and z position.

Parameters:

instance_name (str) – Unique name for this instance.

pdg_ids

List of particle IDs whose scoring plane hits will be used to form initial seeds.

Type:

list[int]

scoring_hits_coll_name

The name of the scoring plane hits from where to get the truth parameters.

Type:

string

recoil_sim_sim_hits_coll_name

The name of the sim tracker hits collection.

Type:

string

n_min_hits_tagger

The minimum number of hits to create a seed from in the tagger tracker.

Type:

int

n_min_hits_recoil

The minimum number of hits to create a seed from in the recoil tracker.

Type:

int

z_min

Request a minimum z (mm) for the scoring plane hits.

Type:

double

track_id

If positive, select only scoring hits with that particular track ID.

Type:

int

pz_cut

Minimum cut on the momentum (MeV)of the seed along the beam axis.

Type:

double

p_cut

Minimum cut on the momentum(MeV) of the seed.

Type:

double

p_cut_max

Maximum cut on the momentum of the seed.

Type:

double

p_cut_ecal

Minimum seed track momentum(MeV) at the ECAL scoring plane

Type:

double

skip_tagger

Ignore the tagger tracker(makes empty collections).

Type:

bool

skip_recoil

Ignore the recoil tracker(makes empty collections).

Type:

bool

max_track_id

Maximum track ID for a hit to be selected in the target scoring plane.

Type:

double

LDMX.Tracking.vertexing module

class LDMX.Tracking.vertexing.VertexProcessor(name: str = 'VertexProcessor')

Bases: Producer

Producer to form vertices from a track collection.

Currently, only vertex fitting has been implemented. Example use cases: K0 and electronuclear studies.

field_map

The path to the magnetic field map.

Type:

str

trk_coll_name

The name of the collection containing the tracks to vertex.

Type:

str

Parameters:

name (str) – Unique name for this instance.

class LDMX.Tracking.vertexing.Vertexer(name: str = 'Vertexer')

Bases: Producer

Producer that forms vertices betwen two different track

collections e.g. tagger and recoil tracks.

debug

Flag use to enable/disable printing of debug.

Type:

bool

field_map

The path to the magnetic field map.

Type:

str

trk_c_name_1

Name of a track collection to vertex.

Type:

str

trk_c_name_2

Name of a track collection to vertex. This is unique from trk_c_name_1.

Type:

str

Parameters:

name (str) – Unique name for this instance.

Module contents