|
LDMX Software
|
Public Member Functions | |
| GSFProcessor (const std::string &name, framework::Process &process) | |
| Constructor. | |
| virtual | ~GSFProcessor ()=default |
| Destructor. | |
| void | onProcessStart () override |
| Callback for the EventProcessor to take any necessary action when the processing of events starts, such as creating histograms. | |
| void | onNewRun (const ldmx::RunHeader &rh) override |
| onNewRun is the first function called for each processor after the conditions are fully configured and accessible. | |
| void | onProcessEnd () override |
| Callback for the EventProcessor to take any necessary action when the processing of events finishes, such as calculating job-summary quantities. | |
| void | configure (framework::config::Parameters ¶meters) override |
| Configure the processor using the given user specified parameters. | |
| void | produce (framework::Event &event) override |
| Run the processor. | |
Public Member Functions inherited from tracking::reco::TrackingGeometryUser | |
| TrackingGeometryUser (const std::string &name, framework::Process &p) | |
Public Member Functions inherited from framework::Producer | |
| Producer (const std::string &name, Process &process) | |
| Class constructor. | |
| virtual void | process (Event &event) final |
| Processing an event for a Producer is calling produce. | |
Public Member Functions inherited from framework::EventProcessor | |
| DECLARE_FACTORY (EventProcessor, EventProcessor *, const std::string &, Process &) | |
| declare that we have a factory for this class | |
| EventProcessor (const std::string &name, Process &process) | |
| Class constructor. | |
| virtual | ~EventProcessor ()=default |
| Class destructor. | |
| virtual void | beforeNewRun (ldmx::RunHeader &run_header) |
| Callback for Producers to add parameters to the run header before conditions are initialized. | |
| virtual void | onFileOpen (EventFile &event_file) |
| Callback for the EventProcessor to take any necessary action when a new event input ROOT file is opened. | |
| virtual void | onFileClose (EventFile &event_file) |
| Callback for the EventProcessor to take any necessary action when a event input ROOT file is closed. | |
| template<class T > | |
| const T & | getCondition (const std::string &condition_name) |
| Access a conditions object for the current event. | |
| TDirectory * | getHistoDirectory () |
| Access/create a directory in the histogram file for this event processor to create histograms and analysis tuples. | |
| void | setStorageHint (framework::StorageControl::Hint hint) |
| Mark the current event as having the given storage control hint from this module_. | |
| void | setStorageHint (framework::StorageControl::Hint hint, const std::string &purposeString) |
| Mark the current event as having the given storage control hint from this module and the given purpose string. | |
| int | getLogFrequency () const |
| Get the current logging frequency from the process. | |
| int | getRunNumber () const |
| Get the run number from the process. | |
| std::string | getName () const |
| Get the processor name. | |
| void | createHistograms (const std::vector< framework::config::Parameters > &histos) |
| Internal function which is used to create histograms passed from the python configuration @parma histos vector of Parameters that configure histograms to create. | |
Private Attributes | |
| std::map< std::string, double > | profiling_map_ |
| Time profiling data for performance analysis. | |
| bool | debug_ {false} |
| Enable verbose debug output logging. | |
| std::default_random_engine | generator_ |
| Random number generator for smearing operations. | |
| std::shared_ptr< std::normal_distribution< float > > | normal_ |
| Normal distribution for smearing measurements. | |
| std::vector< double > | extrapolate_location_ {0., 0., 0.} |
| Location to extrapolate tracks to (x, y, z in mm) | |
| std::string | measurement_collection_ {"TaggerMeasurements"} |
| Collection name for input measurements. | |
| std::string | out_trk_collection_ {"GSFTracks"} |
| Collection name for output GSF-refitted tracks. | |
| std::string | seed_coll_name_ {"seedTracks"} |
| Collection name for seed tracks (currently unused) | |
| std::unique_ptr< const Acts::GaussianSumFitter< GsfPropagator, BetheHeitlerApprox, Acts::VectorMultiTrajectory > > | gsf_ |
| Gaussian Sum Fitter instance for track refitting. | |
| std::string | track_collection_ {"TaggerTracks"} |
| Collection name for input tracks to be refit. | |
| std::string | meas_collection_ {"DigiTaggerSimHits"} |
| Collection name for measurements associated with tracks. | |
| std::string | track_passname_ |
| Pass name for track collection in event. | |
| std::string | meas_passname_ |
| Pass name for measurement collection in event. | |
| std::string | track_collection_event_passname_ |
| Pass name qualifier for track collection event key. | |
| std::string | meas_collection_event_passname_ |
| Pass name qualifier for measurement collection event key. | |
| size_t | max_components_ {4} |
| Maximum number of mixture components in GSF fit. | |
| bool | abort_on_error_ {false} |
| Abort fit if any error occurs (strict error handling) | |
| bool | disable_all_material_handling_ {false} |
| Disable all material interactions during propagation. | |
| double | weight_cutoff_ {1.0e-4} |
| Weight threshold below which mixture components are dropped. | |
| double | propagator_step_size_ {200.} |
| Step size for track propagation in mm. | |
| int | propagator_max_steps_ {1000} |
| Maximum number of propagation steps before aborting. | |
| std::string | field_map_ {""} |
| Path to magnetic field map file. | |
| bool | use_perigee_ {false} |
| Use perigee parameterization for tracks. | |
| bool | tagger_tracking_ {true} |
| std::unique_ptr< const Propagator > | propagator_ |
| Propagator for track extrapolation using eigen stepper. | |
| std::unordered_map< unsigned int, const Acts::Surface * > | layer_surface_map_ |
| Layer ID to ACTS Surface mapping for hit surface lookup. | |
| std::shared_ptr< tracking::reco::TrackExtrapolatorTool< Propagator > > | trk_extrap_ |
| std::shared_ptr< Acts::Surface > | beam_origin_surface_ |
| Beam origin surface at z=-700 mm (tagger track initialization) | |
| std::shared_ptr< Acts::Surface > | target_surface_ |
| Target surface at z=0 mm (recoil track initialization, perigee output) | |
| std::shared_ptr< Acts::Surface > | ecal_surface_ |
| ECAL surface at z=240.5 mm (ECAL scoring plane for recoil tracking) | |
Additional Inherited Members | |
Protected Member Functions inherited from tracking::reco::TrackingGeometryUser | |
| const Acts::GeometryContext & | geometryContext () |
| const Acts::MagneticFieldContext & | magneticFieldContext () |
| const Acts::CalibrationContext & | calibrationContext () |
| const geo::TrackersTrackingGeometry & | geometry () |
Protected Member Functions inherited from framework::EventProcessor | |
| void | abortEvent () |
| Abort the event immediately. | |
Protected Attributes inherited from framework::EventProcessor | |
| HistogramPool | histograms_ |
| helper object for making and filling histograms | |
| NtupleManager & | ntuple_ {NtupleManager::getInstance()} |
| Manager for any ntuples. | |
| logging::logger | the_log_ |
| The logger for this EventProcessor. | |
Definition at line 102 of file GSFProcessor.h.
| tracking::reco::GSFProcessor::GSFProcessor | ( | const std::string & | name, |
| framework::Process & | process ) |
Constructor.
| name | The name of the instance of this object. |
| process | The process running this producer. |
Definition at line 10 of file GSFProcessor.cxx.
|
overridevirtual |
Configure the processor using the given user specified parameters.
| parameters | Set of parameters used to configure this processor. |
Reimplemented from framework::EventProcessor.
Definition at line 129 of file GSFProcessor.cxx.
References abort_on_error_, debug_, disable_all_material_handling_, field_map_, framework::config::Parameters::get(), max_components_, meas_collection_, meas_collection_event_passname_, meas_passname_, out_trk_collection_, propagator_max_steps_, propagator_step_size_, track_collection_, track_collection_event_passname_, track_passname_, use_perigee_, and weight_cutoff_.
|
overridevirtual |
onNewRun is the first function called for each processor after the conditions are fully configured and accessible.
This is where you could create single-processors, multi-event calculation objects.
Reimplemented from framework::EventProcessor.
Definition at line 13 of file GSFProcessor.cxx.
References beam_origin_surface_, debug_, ecal_surface_, field_map_, gsf_, propagator_, and target_surface_.
|
overridevirtual |
Callback for the EventProcessor to take any necessary action when the processing of events finishes, such as calculating job-summary quantities.
Reimplemented from framework::EventProcessor.
Definition at line 507 of file GSFProcessor.cxx.
|
overridevirtual |
Callback for the EventProcessor to take any necessary action when the processing of events starts, such as creating histograms.
Reimplemented from framework::EventProcessor.
Definition at line 506 of file GSFProcessor.cxx.
|
overridevirtual |
Run the processor.
| event | The event to process. |
Implements framework::Producer.
Definition at line 163 of file GSFProcessor.cxx.
References abort_on_error_, beam_origin_surface_, tracking::sim::LdmxMeasurementCalibrator::calibrate1d(), disable_all_material_handling_, ecal_surface_, framework::Event::exists(), gsf_, max_components_, meas_collection_, meas_collection_event_passname_, meas_passname_, out_trk_collection_, propagator_max_steps_, propagator_step_size_, ldmx::Track::setPerigeeParameters(), target_surface_, track_collection_, track_collection_event_passname_, track_passname_, and weight_cutoff_.
|
private |
Abort fit if any error occurs (strict error handling)
Definition at line 247 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Beam origin surface at z=-700 mm (tagger track initialization)
Definition at line 281 of file GSFProcessor.h.
Referenced by onNewRun(), and produce().
|
private |
Enable verbose debug output logging.
Definition at line 175 of file GSFProcessor.h.
Referenced by configure(), and onNewRun().
|
private |
Disable all material interactions during propagation.
Definition at line 250 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
ECAL surface at z=240.5 mm (ECAL scoring plane for recoil tracking)
Definition at line 287 of file GSFProcessor.h.
Referenced by onNewRun(), and produce().
|
private |
Location to extrapolate tracks to (x, y, z in mm)
Definition at line 198 of file GSFProcessor.h.
|
private |
Path to magnetic field map file.
Definition at line 262 of file GSFProcessor.h.
Referenced by configure(), and onNewRun().
|
private |
Random number generator for smearing operations.
Definition at line 178 of file GSFProcessor.h.
|
private |
Gaussian Sum Fitter instance for track refitting.
Definition at line 223 of file GSFProcessor.h.
Referenced by onNewRun(), and produce().
|
private |
Layer ID to ACTS Surface mapping for hit surface lookup.
Definition at line 274 of file GSFProcessor.h.
|
private |
Maximum number of mixture components in GSF fit.
Definition at line 244 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Collection name for measurements associated with tracks.
Definition at line 229 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Pass name qualifier for measurement collection event key.
Definition at line 241 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Pass name for measurement collection in event.
Definition at line 235 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Collection name for input measurements.
Definition at line 202 of file GSFProcessor.h.
|
private |
Normal distribution for smearing measurements.
Definition at line 181 of file GSFProcessor.h.
|
private |
Collection name for output GSF-refitted tracks.
Definition at line 207 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Time profiling data for performance analysis.
Definition at line 168 of file GSFProcessor.h.
|
private |
Propagator for track extrapolation using eigen stepper.
Definition at line 271 of file GSFProcessor.h.
Referenced by onNewRun().
|
private |
Maximum number of propagation steps before aborting.
Definition at line 259 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Step size for track propagation in mm.
Definition at line 256 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Collection name for seed tracks (currently unused)
Definition at line 218 of file GSFProcessor.h.
|
private |
Definition at line 268 of file GSFProcessor.h.
|
private |
Target surface at z=0 mm (recoil track initialization, perigee output)
Definition at line 284 of file GSFProcessor.h.
Referenced by onNewRun(), and produce().
|
private |
Collection name for input tracks to be refit.
Definition at line 226 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Pass name qualifier for track collection event key.
Definition at line 238 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Pass name for track collection in event.
Definition at line 232 of file GSFProcessor.h.
Referenced by configure(), and produce().
|
private |
Definition at line 278 of file GSFProcessor.h.
|
private |
Use perigee parameterization for tracks.
Definition at line 265 of file GSFProcessor.h.
Referenced by configure().
|
private |
Weight threshold below which mixture components are dropped.
Definition at line 253 of file GSFProcessor.h.
Referenced by configure(), and produce().