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.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¶
- LDMX.Tracking.full_tracking_sequence.set_overlay(pass_name: str)¶
Modifies full tracking and dqm sequences in-place so that all relevant input/output collections in the tracking processors point to the overlay collections.
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 = <factory>, 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 = '')¶
Bases:
ProcessorProducer that smears simulated tracker hits.
- 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:
str
- out_collection¶
Output hit collection to be stored.
- Type:
str
- tracker_hit_passname¶
The pass name of the tracker hits.
- Type:
str
- class_name: str = 'tracking::reco::DigitizationProcessor'¶
- do_smearing: bool = True¶
- hit_collection: str = 'TaggerSimHits'¶
- instance_name: str = 'DigitizationProcessor'¶
- merge_hits: bool = True¶
- min_e_dep: float = 0.05¶
- module_name: str = 'Tracking'¶
- out_collection: str = 'OutputMeasurements'¶
- sigma_u: float = 0.006¶
- sigma_v: float = 1e-06¶
- track_id: int = -1¶
- tracker_hit_passname: str = ''¶
- 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 = <factory>, 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.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', trk_coll_name: str = '', scoring_hits: str = 'TargetScoringPlaneHits', 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')¶
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
- beam_electrons_collection: str = 'beamElectrons'¶
- class_name: str = 'tracking::reco::TruthSeedProcessor'¶
- debug: bool = False¶
- ecal_sp_coll_name: str = 'EcalScoringPlaneHits'¶
- 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: str = 'TargetScoringPlaneHits'¶
- 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¶
- trk_coll_name: str = ''¶
- 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 = <factory>, 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 = <factory>, 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'¶