Go Back to: C++ Manual General Site
LDMX.Tracking package¶
Submodules¶
LDMX.Tracking.alignment module¶
- class LDMX.Tracking.alignment.AlignmentTestProcessor(instance_name: str = 'AlignmentTestProcessor', histograms: list[Histogram] = <factory>)¶
Bases:
ProcessorProducer to test Alignment constants loading and propagation to devices.
- class_name: str = 'tracking::reco::AlignmentTestProcessor'¶
- instance_name: str = 'AlignmentTestProcessor'¶
- module_name: str = 'Tracking'¶
LDMX.Tracking.dqm module¶
- class LDMX.Tracking.dqm.DigiDQM(instance_name: str = 'DigiDQM', histograms: list[Histogram] = <factory>, n_sensors: int = 14, sim_coll_name: str = 'TaggerSimHits', sim_pass_name: str = '', digi_coll_name: str = '', digi_pass_name: str = '', fitted_coll_name: str = 'TaggerFittedSiStripHits', fitted_pass_name: str = '', cluster_coll_name: str = 'TaggerClusterMeasurements', cluster_pass_name: str = '')¶
Bases:
ProcessorDQM for silicon-strip digitization and clustering.
Produces per-sensor histograms for sim hits, fitted strips, and clusters.
- class_name: str = 'tracking::dqm::DigiDQM'¶
- cluster_coll_name: str = 'TaggerClusterMeasurements'¶
- cluster_pass_name: str = ''¶
- digi_coll_name: str = ''¶
- digi_pass_name: str = ''¶
- fitted_coll_name: str = 'TaggerFittedSiStripHits'¶
- fitted_pass_name: str = ''¶
- instance_name: str = 'DigiDQM'¶
- module_name: str = 'Tracking'¶
- n_sensors: int = 14¶
- sim_coll_name: str = 'TaggerSimHits'¶
- sim_pass_name: str = ''¶
- class LDMX.Tracking.dqm.StraightTracksDQM(instance_name: str = 'StraightTracksDQM', histograms: list[Histogram] = <factory>, nbins: int = 100, phimin: float = -0.2, phimax: float = 0.2, thetamin: float = -0.3, thetamax: float = 0.3, do_truth: bool = True, track_collection: str = 'LinearRecoilTracks', truth_collection: str = 'LinearRecoilTruthTracks', title: str = 'recoil_lin_trk_', subdetector: str = 'Recoil', measurement_collection: str = 'DigiRecoilSimHits', track_collection_events_passname: str = '', truth_collection_events_passname: str = '', input_pass_name: str = '')¶
Bases:
ProcessorDQM analyzer for straight tracks.
- nbins¶
Number of bins for histograms.
- Type:
int
- phimin¶
Minimum phi for histograms.
- Type:
float
- phimax¶
Maximum phi for histograms.
- Type:
float
- thetamin¶
Minimum theta for histograms.
- Type:
float
- thetamax¶
Maximum theta for histograms.
- Type:
float
- do_truth¶
Whether to build truth histograms.
- Type:
bool
- track_collection¶
Name of the track collection.
- Type:
str
- truth_collection¶
Name of the truth collection.
- Type:
str
- title¶
Title prefix for histograms.
- Type:
str
- subdetector¶
Name of the subdetector.
- Type:
str
- measurement_collection¶
Name of the measurement collection.
- Type:
str
- track_collection_events_passname¶
The events pass name for track collection.
- Type:
str
- truth_collection_events_passname¶
The events pass name for truth collection.
- Type:
str
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- class_name: str = 'tracking::dqm::StraightTracksDQM'¶
- do_truth: bool = True¶
- input_pass_name: str = ''¶
- instance_name: str = 'StraightTracksDQM'¶
- measurement_collection: str = 'DigiRecoilSimHits'¶
- module_name: str = 'Tracking'¶
- nbins: int = 100¶
- phimax: float = 0.2¶
- phimin: float = -0.2¶
- subdetector: str = 'Recoil'¶
- thetamax: float = 0.3¶
- thetamin: float = -0.3¶
- title: str = 'recoil_lin_trk_'¶
- track_collection: str = 'LinearRecoilTracks'¶
- track_collection_events_passname: str = ''¶
- truth_collection: str = 'LinearRecoilTruthTracks'¶
- truth_collection_events_passname: str = ''¶
- class LDMX.Tracking.dqm.TrackerDigiDQM(instance_name: str = 'TrackerDigiDQM', histograms: list[Histogram] = <factory>, output_measurements_passname: str = '', measurements_passname: str = '')¶
Bases:
ProcessorDQM analyzer for tracker digitization.
- output_measurements_passname¶
The pass name of the output measurements.
- Type:
str
- measurements_passname¶
The pass name of the measurements.
- Type:
str
- class_name: str = 'tracking::dqm::TrackerDigiDQM'¶
- instance_name: str = 'TrackerDigiDQM'¶
- measurements_passname: str = ''¶
- module_name: str = 'Tracking'¶
- output_measurements_passname: str = ''¶
- class LDMX.Tracking.dqm.TrackingRecoDQM(instance_name: str = 'TrackingRecoDQM', histograms: list[Histogram] = <factory>, nbins: int = 1000, d0min: float = -50.0, d0max: float = 50.0, z0min: float = -200.0, z0max: float = 200.0, phimin: float = -0.1, phimax: float = 0.1, thetamin: float = 1.4, thetamax: float = 1.7, qopmin: float = -10.0, qopmax: float = 10.0, pmax: float = 10.0, track_states: list[str] = <factory>, do_truth: bool = True, track_collection: str = 'TruthTracks', truth_collection: str = 'TaggerTruthTracks', truth_hit_collection: str = '', measurement_collection: str = 'DigiTaggerSimHits', measurement_passname: str = '', title: str = '', ecal_sp_coll_name: str = 'EcalScoringPlaneHits', ecal_sp_passname: str = '', target_sp_coll_name: str = 'TargetScoringPlaneHits', target_sp_passname: str = '', truth_events_passname: str = '', truth_passname: str = '', track_collection_events_passname: str = '', track_passname: str = '')¶
Bases:
ProcessorDQM analyzer for tracking reconstruction.
- nbins¶
Number of bins for histograms.
- Type:
int
- d0min¶
Minimum d0 for histograms.
- Type:
float
- d0max¶
Maximum d0 for histograms.
- Type:
float
- z0min¶
Minimum z0 for histograms.
- Type:
float
- z0max¶
Maximum z0 for histograms.
- Type:
float
- phimin¶
Minimum phi for histograms.
- Type:
float
- phimax¶
Maximum phi for histograms.
- Type:
float
- thetamin¶
Minimum theta for histograms.
- Type:
float
- thetamax¶
Maximum theta for histograms.
- Type:
float
- qopmin¶
Minimum q/p for histograms.
- Type:
float
- qopmax¶
Maximum q/p for histograms.
- Type:
float
- pmax¶
Maximum momentum for histograms.
- Type:
float
- track_states¶
Track states to build histograms for.
- Type:
list[str]
- do_truth¶
Whether to build truth histograms.
- Type:
bool
- track_collection¶
Name of the track collection.
- Type:
str
- truth_collection¶
Name of the truth collection.
- Type:
str
- measurement_collection¶
Name of the measurement collection.
- Type:
str
- measurement_passname¶
The pass name of the measurements.
- Type:
str
- ecal_sp_coll_name¶
The events pass name for ecal scoring plane.
- Type:
str
- ecal_sp_passname¶
The pass name for ecal scoring plane.
- Type:
str
- target_sp_coll_name¶
The events pass name for target scoring plane.
- Type:
str
- target_sp_passname¶
The pass name for target scoring plane.
- Type:
str
- truth_events_passname¶
The events pass name for truth.
- Type:
str
- truth_passname¶
The pass name for truth.
- Type:
str
- track_collection_events_passname¶
The events pass name for track collection.
- Type:
str
- track_passname¶
The pass name for tracks.
- Type:
str
- class_name: str = 'tracking::dqm::TrackingRecoDQM'¶
- d0max: float = 50.0¶
- d0min: float = -50.0¶
- do_truth: bool = True¶
- ecal_sp_coll_name: str = 'EcalScoringPlaneHits'¶
- ecal_sp_passname: str = ''¶
- instance_name: str = 'TrackingRecoDQM'¶
- measurement_collection: str = 'DigiTaggerSimHits'¶
- measurement_passname: str = ''¶
- module_name: str = 'Tracking'¶
- nbins: int = 1000¶
- phimax: float = 0.1¶
- phimin: float = -0.1¶
- pmax: float = 10.0¶
- qopmax: float = 10.0¶
- qopmin: float = -10.0¶
- target_sp_coll_name: str = 'TargetScoringPlaneHits'¶
- target_sp_passname: str = ''¶
- thetamax: float = 1.7¶
- thetamin: float = 1.4¶
- title: str = ''¶
- track_collection: str = 'TruthTracks'¶
- track_collection_events_passname: str = ''¶
- track_passname: str = ''¶
- track_states: list[str]¶
- truth_collection: str = 'TaggerTruthTracks'¶
- truth_events_passname: str = ''¶
- truth_hit_collection: str = ''¶
- truth_passname: str = ''¶
- z0max: float = 200.0¶
- z0min: float = -200.0¶
LDMX.Tracking.full_tracking_sequence module¶
- class LDMX.Tracking.full_tracking_sequence.TrackingSequence(sequence, dqm_sequence, **processors)¶
Bases:
objectReturn value of full_tracking_sequence() and related functions.
- sequence¶
Processor sequence (digi + seeds + CKF + ambiguity + GSF [+ veto]).
- Type:
list
- dqm_sequence¶
DQM processor sequence.
- Type:
list
- Individual processors are also accessible as attributes, e.g.
- ``trk.digi_recoil``, ``trk.seeder_tagger``, ``trk.GSF_recoil``.
- Charge-digitization processors (``fit_tagger``, ``cluster_recoil``, etc.)
- are only present when ``use_truth_smearing=False``.
- set_overlay(pass_name: str)¶
Modify sequence and dqm_sequence in-place for overlay collections.
- LDMX.Tracking.full_tracking_sequence.full_tracking_sequence(use_truth_smearing=True, detector='ldmx-det-v15-8gev', tag='')¶
Build and return the full LDMX tracking processor sequence.
- Parameters:
use_truth_smearing (bool) – If True (default), use simple Gaussian smearing (Mode 0). If False, use full charge digitization (Mode 1).
detector (str) – Detector geometry tag.
tag (str) – Optional prefix applied to all processor instance names and output collection names. Use this when running two chains in the same job (e.g. a smear/digi comparison) to avoid name conflicts. Example:
tag="Smear"turns"TaggerTracks"into"SmearTaggerTracks".
- Returns:
Object with .sequence, .dqm_sequence, .set_overlay(), and individual processor attributes (e.g. .digi_recoil, .seeder_tagger, .GSF_recoil).
- Return type:
- LDMX.Tracking.full_tracking_sequence.recoil_sequence(use_truth_smearing=True, detector='ldmx-det-v15-8gev', tag='')¶
Build and return a recoil-only tracking sequence.
Includes digi, truth seeding, seed finding, CKF, ambiguity solver, and GSF for the recoil tracker only. The tracker veto is omitted (it requires a tagger track). Useful for studies and configs where tagger reconstruction is not needed.
- Parameters:
use_truth_smearing (bool) – If True (default), use simple Gaussian smearing. If False, use full charge digitization.
detector (str) – Detector geometry tag.
tag (str) – Optional prefix for instance and collection names (see full_tracking_sequence).
- Return type:
- LDMX.Tracking.full_tracking_sequence.tagger_sequence(use_truth_smearing=True, detector='ldmx-det-v15-8gev', tag='')¶
Build and return a tagger-only tracking sequence.
Includes digi, truth seeding, seed finding, CKF, ambiguity solver, and GSF for the tagger tracker only. Useful for studies and configs where recoil reconstruction is not needed.
- Parameters:
use_truth_smearing (bool) – If True (default), use simple Gaussian smearing. If False, use full charge digitization.
detector (str) – Detector geometry tag.
tag (str) – Optional prefix for instance and collection names (see full_tracking_sequence).
- Return type:
LDMX.Tracking.geo module¶
- class LDMX.Tracking.geo.CalibrationContextProvider(tag_name: str = '')¶
Bases:
ConditionsObjectProviderProvider of the calibration context condition.
- class_name: str = 'tracking::geo::CalibrationContextProvider'¶
- module_name: str = 'Tracking'¶
- object_name: str = 'CalibrationContext'¶
- tag_name: str = ''¶
- class LDMX.Tracking.geo.GeometryContextProvider(tag_name: str = '')¶
Bases:
ConditionsObjectProviderProvider of the geometry context condition.
- class_name: str = 'tracking::geo::GeometryContextProvider'¶
- module_name: str = 'Tracking'¶
- object_name: str = 'GeometryContext'¶
- tag_name: str = ''¶
- class LDMX.Tracking.geo.MagneticFieldContextProvider(tag_name: str = '')¶
Bases:
ConditionsObjectProviderProvider of the magnetic field context condition.
- class_name: str = 'tracking::geo::MagneticFieldContextProvider'¶
- module_name: str = 'Tracking'¶
- object_name: str = 'MagneticFieldContext'¶
- tag_name: str = ''¶
- class LDMX.Tracking.geo.TrackersTrackingGeometryProvider(detector: str = '', tracker_y_length: float = 480.0, tracker_z_length: float = 240.0, tag_name: str = '')¶
Bases:
ConditionsObjectProviderThe provider of the tracking geometry
This is a singleton-class and is created when this module is imported. Users can then modify its configuration by setting attributes and calling methods after calling get_instance(). For example, if you wanted to change the detector to v12 since that is what you used during the simulation, you would
from LDMX.Tracking.geo import TrackersTrackingGeometryProvider as trackgeo trackgeo.get_instance().set_detector(‘ldmx-det-v12’)
The default detector is ‘ldmx-det-v15-8gev’.
- class_name: str = 'tracking::geo::TrackersTrackingGeometryProvider'¶
- detector: str = ''¶
- get_instance()¶
- module_name: str = 'Tracking'¶
- object_name: str = 'TrackersTrackingGeometry'¶
- set_detector(det_name)¶
Set the detector GDML based on the detector name
- Parameters:
det_name (str) – name of a detector in the Detectors module
See also
LDMX.Detectors.makePath
- tag_name: str = ''¶
- tracker_y_length: float = 480.0¶
- tracker_z_length: float = 240.0¶
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.make_detector_path(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.make_field_map_path() 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: str = 'CustomStatePropagator', histograms: list[Histogram] = <factory>, nstates: int = 1000, bs_size: list[float] = <factory>, prange: list[float] = <factory>, thetarange: list[float] = <factory>, phirange: list[float] = <factory>)¶
Bases:
ProcessorProducer to generate an user defined set of particles at the target and propagate them through the BField map to an user defined plane surface. Only forward propagation is supported.
- nstates¶
Number of states to be propagated
- Type:
int
- bs_size¶
The size of the generated beamspot in Y-X [mm]
- Type:
list[float]
- prange¶
Minimum and maximum momentum magnitude uniform pdf [GeV]
- Type:
list[float]
- thetarange¶
Minimum and maximum theta angle uniform pdf
- Type:
list[float]
- phirange¶
Minimum and maximum phi angle uniform pdf
- Type:
list[float]
- bs_size: list[float]¶
- class_name: str = 'tracking::reco::CustomStatePropagator'¶
- instance_name: str = 'CustomStatePropagator'¶
- module_name: str = 'Tracking'¶
- nstates: int = 1000¶
- phirange: list[float]¶
- prange: list[float]¶
- thetarange: list[float]¶
LDMX.Tracking.reduced_tracking module¶
- class LDMX.Tracking.reduced_tracking.LinearSeedFinder(instance_name: str = 'LinearSeedFinder', histograms: list[Histogram] = <factory>, input_hits_collection: str = 'DigiRecoilSimHits', input_rec_hits_collection: str = 'EcalRecHits', out_seed_collection: str = 'LinearRecoilSeedTracks', recoil_uncertainty: list[float] = <factory>, ecal_uncertainty: float = 3.87, ecal_first_layer_z_threshold: float = 250.0, ecal_distance_threshold: float = 15.0, layer12_midpoint: float = 12.5, layer23_midpoint: float = 20.0, layer34_midpoint: float = 27.5, input_pass_name: str = '', sim_particles_passname: str = '', sim_particles_events_passname: str = '')¶
Bases:
ProcessorProducer to find Seeds for the reduced geometry track finding.
- input_hits_collection¶
The name of the input collection of hits to be used for seed finding.
- Type:
str
- input_rec_hits_collection¶
The name of the input collection of Ecal RecHits (from layer 1) to give a degree of freedom to seed finding.
- Type:
str
- out_seed_collection¶
The name of the output collection of seeds to be stored.
- Type:
str
- recoil_uncertainty¶
The position uncertainty in [x, y] of a recoil tracker double-layer from combining an axial-stereo sensor pair to make one 3D position.
- Type:
list[float]
- ecal_uncertainty¶
The radius of an ECal hexagonal cell.
- Type:
float
- ecal_first_layer_z_threshold¶
The z threshold for the first ECal layer.
- Type:
float
- ecal_distance_threshold¶
The maximum distance on the Ecal First Layer at which we still allow a seed to be saved.
- Type:
float
- layer12_midpoint¶
The z coordinate of the midpoint between Recoil layers 1 and 2.
- Type:
float
- layer23_midpoint¶
The z coordinate of the midpoint between Recoil layers 2 and 3.
- Type:
float
- layer34_midpoint¶
The z coordinate of the midpoint between Recoil layers 3 and 4.
- Type:
float
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- sim_particles_passname¶
The pass name of the sim particles.
- Type:
str
- sim_particles_events_passname¶
The events pass name of the sim particles.
- Type:
str
- class_name: str = 'tracking::reco::LinearSeedFinder'¶
- ecal_distance_threshold: float = 15.0¶
- ecal_first_layer_z_threshold: float = 250.0¶
- ecal_uncertainty: float = 3.87¶
- input_hits_collection: str = 'DigiRecoilSimHits'¶
- input_pass_name: str = ''¶
- input_rec_hits_collection: str = 'EcalRecHits'¶
- instance_name: str = 'LinearSeedFinder'¶
- layer12_midpoint: float = 12.5¶
- layer23_midpoint: float = 20.0¶
- layer34_midpoint: float = 27.5¶
- module_name: str = 'Tracking'¶
- out_seed_collection: str = 'LinearRecoilSeedTracks'¶
- recoil_uncertainty: list[float]¶
- sim_particles_events_passname: str = ''¶
- sim_particles_passname: str = ''¶
- class LDMX.Tracking.reduced_tracking.LinearTrackFinder(instance_name: str = 'LinearTrackFinder', histograms: list[Histogram] = <factory>, seed_collection_: str = 'LinearRecoilSeedTracks', out_trk_collection: str = 'LinearRecoilTracks', input_pass_name: str = '')¶
Bases:
ProcessorProducer to find tracks for the reduced geometry track finding.
- seed_collection_¶
The name of the input collection of seeds to be used for track finding.
- Type:
str
- out_trk_collection¶
The name of the output collection of tracks to be stored.
- Type:
str
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- class_name: str = 'tracking::reco::LinearTrackFinder'¶
- input_pass_name: str = ''¶
- instance_name: str = 'LinearTrackFinder'¶
- module_name: str = 'Tracking'¶
- out_trk_collection: str = 'LinearRecoilTracks'¶
- seed_collection_: str = 'LinearRecoilSeedTracks'¶
- class LDMX.Tracking.reduced_tracking.LinearTruthTracking(instance_name: str = 'LinearTruthTracking', histograms: list[Histogram] = <factory>, input_hits_collection: str = 'RecoilSimHits', input_rec_hits_collection: str = 'EcalRecHits', out_track_collection: str = 'LinearRecoilTruthTracks', ecal_first_layer_z_threshold: float = 250.0, input_pass_name: str = '')¶
Bases:
ProcessorProducer to find (truth) tracks using trackID=1 for the reduced geometry.
- input_hits_collection¶
The name of the input collection of hits to be used for truth tracking.
- Type:
str
- input_rec_hits_collection¶
The name of the input collection of Ecal RecHits (from layer 1) to check track quality.
- Type:
str
- out_track_collection¶
The name of the output collection of truth tracks to be stored.
- Type:
str
- ecal_first_layer_z_threshold¶
The z threshold for the first ECal layer.
- Type:
float
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- class_name: str = 'tracking::reco::LinearTruthTracking'¶
- ecal_first_layer_z_threshold: float = 250.0¶
- input_hits_collection: str = 'RecoilSimHits'¶
- input_pass_name: str = ''¶
- input_rec_hits_collection: str = 'EcalRecHits'¶
- instance_name: str = 'LinearTruthTracking'¶
- module_name: str = 'Tracking'¶
- out_track_collection: str = 'LinearRecoilTruthTracks'¶
LDMX.Tracking.tracking module¶
- class LDMX.Tracking.tracking.CKFProcessor(instance_name: str = 'CKFProcessor', histograms: list[Histogram] = <factory>, dumpobj: bool = False, debug_acts: bool = False, pionstates: int = 0, bfield: float = -1.5, const_b_field: bool = False, field_map: str = '', propagator_step_size: float = 1000.0, propagator_max_steps: int = 10000, hit_collection: str = 'RecoilSimHits', remove_stereo: bool = False, use_extrapolate_location: bool = True, extrapolate_location: list[float] = <factory>, use_seed_perigee: bool = False, seed_coll_name: str = 'SeedTracks', out_trk_collection: str = 'Tracks', min_hits: int = 5, tagger_tracking: bool = False, measurement_collection: str = '', outlier_pval_: float = 3.84, sim_particles_coll_name: str = 'SimParticles', sim_particles_event_passname: str = '', input_pass_name: str = '')¶
Bases:
ProcessorProducer that runs the Combinatorial Kalman Filter for track finding and fitting.
- dumpobj¶
If true, dump the tracking geometry into obj/mtl files for visualization purposes.
- Type:
bool
- debug_acts¶
Enable ACTS debug output.
- Type:
bool
- pionstates¶
Number of pion states generated with uniform distributions to be propagated through the tracking geometry for debugging purposes.
- Type:
int
- bfield¶
If using a constant bfield, this is the BZ component.
- Type:
float
- const_b_field¶
Activate the usage of constant magnetic field.
- Type:
bool
- field_map¶
Path to the location of the magnetic field map.
- Type:
str
- propagator_step_size¶
Size of each RK propagator step.
- Type:
float
- propagator_max_steps¶
Maximum number of steps for the propagator.
- Type:
int
- hit_collection¶
The hit collection for pattern reconstruction.
- Type:
str
- remove_stereo¶
Remove stereo hits from track fitting.
- Type:
bool
- 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[float]
- use_seed_perigee¶
Uses the seed perigee as extrapolation location.
- Type:
bool
- seed_coll_name¶
Seed collection for initiating the track finding.
- Type:
str
- out_trk_collection¶
Name of the output Track collection.
- Type:
str
- min_hits¶
Minimum number of measurements on track to accept the trajectory.
- Type:
int
- outlier_pval_¶
Outlier p-value threshold.
- Type:
float
- sim_particles_coll_name¶
The name of the sim particles collection.
- Type:
str
- sim_particles_event_passname¶
The pass name of the sim particles event.
- Type:
str
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- bfield: float = -1.5¶
- class_name: str = 'tracking::reco::CKFProcessor'¶
- const_b_field: bool = False¶
- debug_acts: bool = False¶
- dumpobj: bool = False¶
- extrapolate_location: list[float]¶
- field_map: str = ''¶
- hit_collection: str = 'RecoilSimHits'¶
- input_pass_name: str = ''¶
- instance_name: str = 'CKFProcessor'¶
- measurement_collection: str = ''¶
- min_hits: int = 5¶
- module_name: str = 'Tracking'¶
- out_trk_collection: str = 'Tracks'¶
- outlier_pval_: float = 3.84¶
- pionstates: int = 0¶
- propagator_max_steps: int = 10000¶
- propagator_step_size: float = 1000.0¶
- remove_stereo: bool = False¶
- seed_coll_name: str = 'SeedTracks'¶
- sim_particles_coll_name: str = 'SimParticles'¶
- sim_particles_event_passname: str = ''¶
- tagger_tracking: bool = False¶
- use_extrapolate_location: bool = True¶
- use_seed_perigee: bool = False¶
- class LDMX.Tracking.tracking.DigitizationProcessor(instance_name: str = 'DigitizationProcessor', histograms: list[Histogram] = <factory>, merge_hits: bool = True, do_smearing: bool = True, sigma_u: float = 0.006, sigma_v: float = 1e-06, track_id: int = -1, min_e_dep: float = 0.05, hit_collection: str = 'TaggerSimHits', out_collection: str = 'OutputMeasurements', tracker_hit_passname: str = '', use_charge_digitization: bool = False, use_lorentz: bool = True, bias_voltage: float = 200.0, depletion_voltage: float = 70.0, noise_electrons: float = 1000.0, threshold_electrons: float = 3000.0, electron_lorentz_tangent: float = 0.0, hole_lorentz_tangent: float = 0.0, trapping: float = 0.0, deposition_granularity: float = 0.1, n_segments_min: int = 5, out_raw_collection: str = '')¶
Bases:
ProcessorSmears or fully digitizes simulated tracker hits.
Mode 0 (use_charge_digitization=False): Gaussian smear in U/V directly to Measurement objects.
Mode 1 (use_charge_digitization=True): Full silicon-strip charge simulation producing RawSiStripHit objects (and optionally Measurements), suitable for downstream StripFitProcessor + StripClusterProcessor.
- merge_hits¶
Merge hits with the same track ID on the same layer.
- Type:
bool
- do_smearing¶
Activate Gaussian smearing (Mode 0 only).
- Type:
bool
- sigma_u¶
Smearing sigma in the precision direction [mm] (Mode 0 only).
- Type:
float
- sigma_v¶
Smearing sigma in the strip direction [mm] (Mode 0 only).
- Type:
float
- track_id¶
If > 0, retain only hits with this track ID.
- Type:
int
- min_e_dep¶
Minimum energy deposit [MeV] to process a hit.
- Type:
float
- hit_collection¶
Input SimTrackerHit collection name.
- Type:
str
- out_collection¶
Output Measurement collection name.
- Type:
str
- tracker_hit_passname¶
Pass name of the input hit collection.
- Type:
str
- use_charge_digitization¶
If True, run full charge simulation (Mode 1).
- Type:
bool
- bias_voltage¶
Sensor bias voltage [V] (Mode 1).
- Type:
float
- depletion_voltage¶
Sensor depletion voltage [V] (Mode 1).
- Type:
float
- noise_electrons¶
Equivalent noise charge [e-] (Mode 1).
- Type:
float
- threshold_electrons¶
Strip hit threshold [e-] (Mode 1).
- Type:
float
- electron_lorentz_tangent¶
tan(theta_L) for electrons (Mode 1).
- Type:
float
- hole_lorentz_tangent¶
tan(theta_L) for holes (Mode 1).
- Type:
float
- trapping¶
Charge trapping fraction per 100 um drift (Mode 1).
- Type:
float
- deposition_granularity¶
Step size for charge deposition segments [fraction of sense pitch] (Mode 1).
- Type:
float
- n_segments_min¶
Minimum number of charge deposition segments (Mode 1).
- Type:
int
- out_raw_collection¶
Output RawSiStripHit collection name; empty disables (Mode 1).
- Type:
str
- bias_voltage: float = 200.0¶
- class_name: str = 'tracking::reco::DigitizationProcessor'¶
- depletion_voltage: float = 70.0¶
- deposition_granularity: float = 0.1¶
- do_smearing: bool = True¶
- electron_lorentz_tangent: float = 0.0¶
- hit_collection: str = 'TaggerSimHits'¶
- hole_lorentz_tangent: float = 0.0¶
- instance_name: str = 'DigitizationProcessor'¶
- merge_hits: bool = True¶
- min_e_dep: float = 0.05¶
- module_name: str = 'Tracking'¶
- n_segments_min: int = 5¶
- noise_electrons: float = 1000.0¶
- out_collection: str = 'OutputMeasurements'¶
- out_raw_collection: str = ''¶
- sigma_u: float = 0.006¶
- sigma_v: float = 1e-06¶
- threshold_electrons: float = 3000.0¶
- track_id: int = -1¶
- tracker_hit_passname: str = ''¶
- trapping: float = 0.0¶
- use_charge_digitization: bool = False¶
- use_lorentz: bool = True¶
- class LDMX.Tracking.tracking.GSFProcessor(instance_name: str = 'GSFProcessor', histograms: list[Histogram] = <factory>, max_components: int = 12, abort_on_error: bool = False, disable_all_material_handling: bool = False, weight_cutoff: float = 0.0001, debug: bool = False, propagator_step_size: float = 200.0, propagator_max_steps: int = 1000, field_map: str = '', tagger_tracking: bool = True, out_trk_collection: str = 'GSFTracks', track_collection: str = 'TaggerTracks', meas_collection: str = 'DigiTaggerSimHits', track_passname: str = '', meas_passname: str = '', track_collection_event_passname: str = '', meas_collection_event_passname: str = '')¶
Bases:
ProcessorProducer that runs Gaussian Sum Fitter on a specific track collection.
- max_components¶
How many gaussians to use to sample the BetheHeitler.
- Type:
int
- abort_on_error¶
Abort fitting if an error occurred.
- Type:
bool
- disable_all_material_handling¶
Disable material effects on surfaces. True only for debug purpose.
- Type:
bool
- weight_cutoff¶
Kill a component if its weight is smaller than a certain threshold.
- Type:
float
- debug¶
Enable debug output.
- Type:
bool
- propagator_step_size¶
Size of each RK propagator step.
- Type:
float
- propagator_max_steps¶
Maximum number of steps for the propagator.
- Type:
int
- field_map¶
Path to the location of the magnetic field map.
- Type:
str
- tagger_tracking¶
Whether tracking in the tagger.
- Type:
bool
- out_trk_collection¶
Name of the output Track collection.
- Type:
str
- track_collection¶
Track collection to be refitted with GSF.
- Type:
str
- meas_collection¶
Measurements collection in the tracker.
- Type:
str
- track_passname¶
The pass name of the track collection.
- Type:
str
- meas_passname¶
The pass name of the measurements collection.
- Type:
str
- track_collection_event_passname¶
The event pass name of the track collection.
- Type:
str
- meas_collection_event_passname¶
The event pass name of the measurements collection.
- Type:
str
- abort_on_error: bool = False¶
- class_name: str = 'tracking::reco::GSFProcessor'¶
- debug: bool = False¶
- disable_all_material_handling: bool = False¶
- field_map: str = ''¶
- instance_name: str = 'GSFProcessor'¶
- max_components: int = 12¶
- meas_collection: str = 'DigiTaggerSimHits'¶
- meas_collection_event_passname: str = ''¶
- meas_passname: str = ''¶
- module_name: str = 'Tracking'¶
- out_trk_collection: str = 'GSFTracks'¶
- propagator_max_steps: int = 1000¶
- propagator_step_size: float = 200.0¶
- tagger_tracking: bool = True¶
- track_collection: str = 'TaggerTracks'¶
- track_collection_event_passname: str = ''¶
- track_passname: str = ''¶
- weight_cutoff: float = 0.0001¶
- class LDMX.Tracking.tracking.GreedyAmbiguitySolver(instance_name: str = 'GreedyAmbiguitySolver', histograms: list[Histogram] = <factory>, maximum_shared_hits: int = 2, maximum_iterations: int = 1000, n_measurements_min: int = 5, out_trk_collection: str = 'TaggerTracksClean', track_collection: str = 'TaggerTracks', meas_collection: str = 'DigiTaggerSimHits', input_pass_name: str = '')¶
Bases:
ProcessorProducer that cleans duplicate tracks from CKF output.
Maximum number of shared hits for a track to remain.
- Type:
int
- maximum_iterations¶
Maximum number of iterations in track cleaning loop.
- Type:
int
- n_measurements_min¶
Minimum number of hits on a track.
- Type:
int
- out_trk_collection¶
Name of the output Track collection.
- Type:
str
- track_collection¶
Track collection to be cleaned.
- Type:
str
- meas_collection¶
Measurements collection in the tracker.
- Type:
str
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- class_name: str = 'tracking::reco::GreedyAmbiguitySolver'¶
- input_pass_name: str = ''¶
- instance_name: str = 'GreedyAmbiguitySolver'¶
- maximum_iterations: int = 1000¶
- maximum_shared_hits: int = 2¶
- meas_collection: str = 'DigiTaggerSimHits'¶
- module_name: str = 'Tracking'¶
- n_measurements_min: int = 5¶
- out_trk_collection: str = 'TaggerTracksClean'¶
- track_collection: str = 'TaggerTracks'¶
- class LDMX.Tracking.tracking.SeedFinderProcessor(instance_name: str = 'SeedFinderProcessor', histograms: list[Histogram] = <factory>, perigee_location: list[float] = <factory>, pmin: float = 0.05, pmax: float = 8.0, d0min: float = 20.0, d0max: float = 20.0, z0max: float = 60.0, phicut: float = 0.1, thetacut: float = 0.2, strategies: list[str] = <factory>, bfield: float = 1.5, input_hits_collection: str = 'TaggerSimHits', out_seed_collection: str = 'SeedTracks', input_pass_name: str = '', sim_particles_coll_name: str = 'SimParticles', sim_particles_passname: str = '', tagger_trks_event_collection_passname: str = '', sim_particles_event_passname: str = '', u_error: float = 0.006, v_error: float = 11.547005383792516)¶
Bases:
ProcessorProducer to find Seeds for the KF-based track finding.
- 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
- phicut¶
Cut on phi for seed finding.
- Type:
float
- thetacut¶
Cut on theta for seed finding.
- Type:
float
- strategies¶
List of 5 hits (3 axial and 2 stereo) for seed finding.
- Type:
list[str]
- bfield¶
Magnetic field strength.
- Type:
float
- input_hits_collection¶
The name of the input collection of hits to be used for seed finding.
- Type:
str
- out_seed_collection¶
The name of the output collection of seeds to be stored.
- Type:
str
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- sim_particles_coll_name¶
The name of the sim particles collection.
- Type:
str
- sim_particles_passname¶
The pass name of the sim particles.
- Type:
str
- tagger_trks_event_collection_passname¶
The pass name of the tagger tracks event collection.
- Type:
str
- sim_particles_event_passname¶
The pass name of the sim particles event.
- Type:
str
- u_error¶
Uncertainty in the sensitive direction for the seed hits.
- Type:
float
- v_error¶
Uncertainty in the insensitive direction for the seed hits.
- Type:
float
- bfield: float = 1.5¶
- class_name: str = 'tracking::reco::SeedFinderProcessor'¶
- d0max: float = 20.0¶
- d0min: float = 20.0¶
- input_hits_collection: str = 'TaggerSimHits'¶
- input_pass_name: str = ''¶
- instance_name: str = 'SeedFinderProcessor'¶
- module_name: str = 'Tracking'¶
- out_seed_collection: str = 'SeedTracks'¶
- perigee_location: list[float]¶
- phicut: float = 0.1¶
- pmax: float = 8.0¶
- pmin: float = 0.05¶
- sim_particles_coll_name: str = 'SimParticles'¶
- sim_particles_event_passname: str = ''¶
- sim_particles_passname: str = ''¶
- strategies: list[str]¶
- tagger_trks_event_collection_passname: str = ''¶
- thetacut: float = 0.2¶
- u_error: float = 0.006¶
- v_error: float = 11.547005383792516¶
- z0max: float = 60.0¶
- class LDMX.Tracking.tracking.StripClusterProcessor(instance_name: str = 'StripClusterProcessor', histograms: list[Histogram] = <factory>, in_collection: str = 'FittedSiStripHits', in_pass: str = '', out_collection: str = 'StripMeasurements', seed_threshold: float = 4.0, neighbor_threshold: float = 3.0, cluster_threshold: float = 4.0, mean_time_ns: float = 0.0, time_window_ns: float = -1.0, neighbor_delta_t_ns: float = -1.0, max_chi2_ndf: float = -1.0)¶
Bases:
ProcessorClusters FittedSiStripHits into Measurements using nearest-neighbour clustering.
Groups hits by sensor layer, runs nearest-neighbour BFS clustering on each layer (ported from HPS NearestNeighborRMSClusterer), and converts accepted clusters into ldmx::Measurement objects via the Acts tracking geometry.
Applies to both real data (after StripFitProcessor) and simulation.
- in_collection¶
Input FittedSiStripHit collection (default “FittedSiStripHits”).
- Type:
str
- in_pass¶
Pass name for the input collection (default “”).
- Type:
str
- out_collection¶
Output Measurement collection (default “StripMeasurements”).
- Type:
str
- seed_threshold¶
Minimum amplitude/noise_sigma to seed a cluster (default 4.0).
- Type:
float
- neighbor_threshold¶
Minimum amplitude/noise_sigma for a strip to join a cluster (default 3.0).
- Type:
float
- cluster_threshold¶
Minimum total_amp / sqrt(sum_noise^2) for cluster acceptance (default 4.0).
- Type:
float
- mean_time_ns¶
Expected hit time for the seed timing cut [ns] (default 0.0).
- Type:
float
- time_window_ns¶
Half-width of the seed timing window [ns]; <= 0 disables (default -1).
- Type:
float
- neighbor_delta_t_ns¶
Max |t0_neighbour - cluster_t| [ns] for a strip to join a cluster; <= 0 disables (default -1).
- Type:
float
- max_chi2_ndf¶
Max chi2/ndf for a fitted hit to be used; <= 0 disables (default -1).
- Type:
float
- class_name: str = 'tracking::reco::StripClusterProcessor'¶
- cluster_threshold: float = 4.0¶
- in_collection: str = 'FittedSiStripHits'¶
- in_pass: str = ''¶
- instance_name: str = 'StripClusterProcessor'¶
- max_chi2_ndf: float = -1.0¶
- mean_time_ns: float = 0.0¶
- module_name: str = 'Tracking'¶
- neighbor_delta_t_ns: float = -1.0¶
- neighbor_threshold: float = 3.0¶
- out_collection: str = 'StripMeasurements'¶
- seed_threshold: float = 4.0¶
- time_window_ns: float = -1.0¶
- class LDMX.Tracking.tracking.StripFitProcessor(instance_name: str = 'StripFitProcessor', histograms: list[Histogram] = <factory>, in_collection: str = 'RawSiStripHits', in_pass: str = '', out_collection: str = 'FittedSiStripHits', t_scan_min_ns: float = -50.0, t_scan_max_ns: float = 150.0, t_scan_step_ns: float = 1.0, max_chi2_ndf: float = -1.0)¶
Bases:
ProcessorFits a pulse shape to each RawSiStripHit to extract amplitude and time.
Applies to both real and simulated data. The output FittedSiStripHit collection can be clustered downstream to produce Measurement objects for tracking.
- in_collection¶
Name of the input RawSiStripHit collection.
- Type:
str
- in_pass¶
Pass name for the input collection (empty = any).
- Type:
str
- out_collection¶
Name of the output FittedSiStripHit collection.
- Type:
str
- t_scan_min_ns¶
Lower bound of the hit-time search range [ns] (default -50).
- Type:
float
- t_scan_max_ns¶
Upper bound of the hit-time search range [ns] (default 150).
- Type:
float
- t_scan_step_ns¶
Step size of the coarse timing scan [ns] (default 1).
- Type:
float
- max_chi2_ndf¶
If > 0, discard fits with chi2/ndf above this value (default -1 = off).
- Type:
float
- class_name: str = 'tracking::reco::StripFitProcessor'¶
- in_collection: str = 'RawSiStripHits'¶
- in_pass: str = ''¶
- instance_name: str = 'StripFitProcessor'¶
- max_chi2_ndf: float = -1.0¶
- module_name: str = 'Tracking'¶
- out_collection: str = 'FittedSiStripHits'¶
- t_scan_max_ns: float = 150.0¶
- t_scan_min_ns: float = -50.0¶
- t_scan_step_ns: float = 1.0¶
- class LDMX.Tracking.tracking.TrackComparisonProcessor(instance_name: str = 'TrackComparisonProcessor', histograms: list[Histogram] = <factory>, trk_collection_smear: str = 'TaggerTracks', trk_collection_digi: str = 'TaggerDigiTracks', pass_name_smear: str = '', pass_name_digi: str = '', do_tagger: bool = True, do_recoil: bool = False, recoil_collection_smear: str = 'RecoilTracks', recoil_collection_digi: str = 'RecoilDigiTracks', recoil_pass_smear: str = '', recoil_pass_digi: str = '', min_truth_prob: float = 0.5, output_file: str = 'track_comparison.root')¶
Bases:
ProcessorCompares tracking performance between a truth-smeared and a charge-digitized hit chain on a track-by-track basis.
Tracks from two upstream collections are matched by their truth-matched SimParticle ID. For each matched pair a row is written to a flat ROOT TTree and a set of quick-look TH1F histograms is filled.
- trk_collection_smear¶
Tagger truth-smeared track collection name.
- Type:
str
- trk_collection_digi¶
Tagger charge-digitized track collection name.
- Type:
str
- pass_name_smear¶
Pass name for the smeared tagger collection.
- Type:
str
- pass_name_digi¶
Pass name for the digi tagger collection.
- Type:
str
- do_tagger¶
Enable tagger comparison.
- Type:
bool
- do_recoil¶
Enable recoil comparison.
- Type:
bool
- recoil_collection_smear¶
Recoil truth-smeared track collection name.
- Type:
str
- recoil_collection_digi¶
Recoil charge-digitized track collection name.
- Type:
str
- recoil_pass_smear¶
Pass name for the smeared recoil collection.
- Type:
str
- recoil_pass_digi¶
Pass name for the digi recoil collection.
- Type:
str
- min_truth_prob¶
Minimum truth_prob required on both tracks to accept a pair.
- Type:
float
- output_file¶
Name of the output ROOT file containing the TTrees.
- Type:
str
- class_name: str = 'tracking::reco::TrackComparisonProcessor'¶
- do_recoil: bool = False¶
- do_tagger: bool = True¶
- instance_name: str = 'TrackComparisonProcessor'¶
- min_truth_prob: float = 0.5¶
- module_name: str = 'Tracking'¶
- output_file: str = 'track_comparison.root'¶
- pass_name_digi: str = ''¶
- pass_name_smear: str = ''¶
- recoil_collection_digi: str = 'RecoilDigiTracks'¶
- recoil_collection_smear: str = 'RecoilTracks'¶
- recoil_pass_digi: str = ''¶
- recoil_pass_smear: str = ''¶
- trk_collection_digi: str = 'TaggerDigiTracks'¶
- trk_collection_smear: str = 'TaggerTracks'¶
- class LDMX.Tracking.tracking.TrackerVetoProcessor(instance_name: str = 'TrackerVetoProcessor', histograms: list[Histogram] = <factory>, max_d0: float = 10.0, max_z0: float = 40.0, max_chi2_per_ndf: float = 5.0, min_recoil_n: int = 1, min_tagger_momentum: float = 5600.0, min_tagger_hits: int = 4, min_recoil_hits: int = 4, tagger_track_collection: str = 'TaggerTracks', recoil_track_collection: str = 'RecoilTracks', input_tagger_pass_name: str = '', input_recoil_pass_name: str = '', inverse_skim: bool = False, output_collection: str = 'TrackerVeto', sim_particles_passname: str = '', input_collection_events_passname: str = '')¶
Bases:
ProcessorClass that flags events that pass the tracker veto.
This processor evaluates tracker events based on recoil and tagger track properties, applying configurable selection criteria to determine whether an event should be flagged.
- max_d0¶
Maximum allowed d0 impact parameter for tracks.
- Type:
float
- max_z0¶
Maximum allowed z0 impact parameter for tracks.
- Type:
float
- max_chi2_per_ndf¶
Max chi2/ndf required for tracks.
- Type:
float
- min_recoil_n¶
Minimum number of recoil tracks required.
- Type:
int
- min_tagger_momentum¶
Minimum required momentum for tagger tracks.
- Type:
float
- min_tagger_hits¶
Min number of hits for tagger tracks required.
- Type:
int
- min_recoil_hits¶
Min number of hits for recoil tracks required.
- Type:
int
- tagger_track_collection¶
The name of the tagger track collection.
- Type:
str
- recoil_track_collection¶
The name of the recoil track collection.
- Type:
str
- input_tagger_pass_name¶
The pass name of the input tagger collections.
- Type:
str
- input_recoil_pass_name¶
The pass name of the input recoil collections.
- Type:
str
- inverse_skim¶
Boolean flag to invert the selection criteria for skimming purposes.
- Type:
bool
- output_collection¶
The name of the new collection.
- Type:
str
- sim_particles_passname¶
The pass name of the sim particles.
- Type:
str
- input_collection_events_passname¶
The events pass name of the input collection.
- Type:
str
- class_name: str = 'tracking::TrackerVetoProcessor'¶
- input_collection_events_passname: str = ''¶
- input_recoil_pass_name: str = ''¶
- input_tagger_pass_name: str = ''¶
- instance_name: str = 'TrackerVetoProcessor'¶
- inverse_skim: bool = False¶
- max_chi2_per_ndf: float = 5.0¶
- max_d0: float = 10.0¶
- max_z0: float = 40.0¶
- min_recoil_hits: int = 4¶
- min_recoil_n: int = 1¶
- min_tagger_hits: int = 4¶
- min_tagger_momentum: float = 5600.0¶
- module_name: str = 'Tracking'¶
- output_collection: str = 'TrackerVeto'¶
- recoil_track_collection: str = 'RecoilTracks'¶
- sim_particles_passname: str = ''¶
- tagger_track_collection: str = 'TaggerTracks'¶
- class LDMX.Tracking.tracking.TruthSeedProcessor(instance_name: str = 'TruthSeedProcessor', histograms: list[Histogram] = <factory>, debug: bool = False, pdg_ids: list[int] = <factory>, scoring_hits_coll_name: str = 'TargetScoringPlaneHits', recoil_sim_hits_coll_name: str = 'RecoilSimHits', tagger_sim_hits_coll_name: str = 'TaggerSimHits', n_min_hits_tagger: int = 11, n_min_hits_recoil: int = 7, z_min: float = -9999.0, track_id: int = -9999, pz_cut: float = -9999.0, p_cut: float = 0.0, p_cut_max: float = 100000.0, p_cut_ecal: float = -1.0, skip_tagger: bool = False, skip_recoil: bool = False, max_track_id: int = 5, ecal_sp_coll_name: str = 'EcalScoringPlaneHits', sp_pass_name: str = '', input_pass_name: str = '', sim_particles_coll_name: str = 'SimParticles', sim_particles_passname: str = '', particle_hypothesis: int = 11, beam_electrons_collection: str = 'beamElectrons', tagger_seeds_collection: str = 'TaggerTruthSeeds', tagger_truth_collection: str = 'TaggerTruthTracks', recoil_seeds_collection: str = 'RecoilTruthSeeds', recoil_truth_collection: str = 'RecoilTruthTracks', field_map: str = <factory>)¶
Bases:
ProcessorProducer 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.
- 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:
str
- recoil_sim_hits_coll_name¶
The name of the sim tracker hits collection for recoil.
- Type:
str
- tagger_sim_hits_coll_name¶
The name of the sim tracker hits collection for tagger.
- Type:
str
- 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:
float
- 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:
float
- p_cut¶
Minimum cut on the momentum (MeV) of the seed.
- Type:
float
- p_cut_max¶
Maximum cut on the momentum of the seed.
- Type:
float
- p_cut_ecal¶
Minimum seed track momentum (MeV) at the ECAL scoring plane.
- Type:
float
- 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:
float
- ecal_sp_coll_name¶
The name of the ECAL scoring plane hits collection.
- Type:
str
- sp_pass_name¶
The pass name of the scoring plane hits.
- Type:
str
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- sim_particles_coll_name¶
The name of the sim particles collection.
- Type:
str
- sim_particles_passname¶
The pass name of the sim particles.
- Type:
str
- particle_hypothesis¶
PDG ID for the particle hypothesis.
- Type:
int
- beam_electrons_collection¶
The name of the beam electrons collection to use
- Type:
str
- tagger_seeds_collection¶
The name of the tagger seeds collection to be stored.
- Type:
str
- tagger_truth_collection¶
The name of the tagger truth collection.
- Type:
str
- recoil_seeds_collection¶
The name of the recoil seeds collection.
- Type:
str
- recoil_truth_collection¶
The name of the recoil truth collection.
- Type:
str
- field_map¶
Magnetic field map
- Type:
str
- beam_electrons_collection: str = 'beamElectrons'¶
- class_name: str = 'tracking::reco::TruthSeedProcessor'¶
- debug: bool = False¶
- ecal_sp_coll_name: str = 'EcalScoringPlaneHits'¶
- field_map: str¶
- input_pass_name: str = ''¶
- instance_name: str = 'TruthSeedProcessor'¶
- max_track_id: int = 5¶
- module_name: str = 'Tracking'¶
- n_min_hits_recoil: int = 7¶
- n_min_hits_tagger: int = 11¶
- p_cut: float = 0.0¶
- p_cut_ecal: float = -1.0¶
- p_cut_max: float = 100000.0¶
- particle_hypothesis: int = 11¶
- pdg_ids: list[int]¶
- pz_cut: float = -9999.0¶
- recoil_seeds_collection: str = 'RecoilTruthSeeds'¶
- recoil_sim_hits_coll_name: str = 'RecoilSimHits'¶
- recoil_truth_collection: str = 'RecoilTruthTracks'¶
- scoring_hits_coll_name: str = 'TargetScoringPlaneHits'¶
- sim_particles_coll_name: str = 'SimParticles'¶
- sim_particles_passname: str = ''¶
- skip_recoil: bool = False¶
- skip_tagger: bool = False¶
- sp_pass_name: str = ''¶
- tagger_seeds_collection: str = 'TaggerTruthSeeds'¶
- tagger_sim_hits_coll_name: str = 'TaggerSimHits'¶
- tagger_truth_collection: str = 'TaggerTruthTracks'¶
- track_id: int = -9999¶
- z_min: float = -9999.0¶
LDMX.Tracking.vertexing module¶
- class LDMX.Tracking.vertexing.VertexProcessor(instance_name: str = 'VertexProcessor', histograms: list[Histogram] = <factory>, field_map: str = '', trk_coll_name: str = 'Tracks', seeds_coll_name: str = 'RecoilTruthSeeds', input_pass_name: str = '')¶
Bases:
ProcessorProducer 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
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- seeds_coll_name¶
The name of the seeds collection.
- Type:
str
- class_name: str = 'tracking::reco::VertexProcessor'¶
- field_map: str = ''¶
- input_pass_name: str = ''¶
- instance_name: str = 'VertexProcessor'¶
- module_name: str = 'Tracking'¶
- seeds_coll_name: str = 'RecoilTruthSeeds'¶
- trk_coll_name: str = 'Tracks'¶
- class LDMX.Tracking.vertexing.Vertexer(instance_name: str = 'Vertexer', histograms: list[Histogram] = <factory>, debug: bool = False, field_map: str = '', trk_c_name_1: str = 'TaggerTracks', trk_c_name_2: str = 'RecoilTracks', input_pass_name: str = '')¶
Bases:
ProcessorProducer that forms vertices between 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
- input_pass_name¶
The pass name of the input collections.
- Type:
str
- class_name: str = 'tracking::reco::Vertexer'¶
- debug: bool = False¶
- field_map: str = ''¶
- input_pass_name: str = ''¶
- instance_name: str = 'Vertexer'¶
- module_name: str = 'Tracking'¶
- trk_c_name_1: str = 'TaggerTracks'¶
- trk_c_name_2: str = 'RecoilTracks'¶