Go Back to: C++ Manual General Site
LDMX.Tracking package¶
Submodules¶
LDMX.Tracking.alignment module¶
LDMX.Tracking.dqm module¶
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.