|
LDMX Software
|
Compares tracking performance between a truth-smeared hit chain and a charge-digitized hit chain on a track-by-track basis. More...
#include <TrackComparisonProcessor.h>
Classes | |
| struct | PairVars |
Public Member Functions | |
| TrackComparisonProcessor (const std::string &name, framework::Process &process) | |
| void | configure (framework::config::Parameters ¶meters) override |
| Callback for the EventProcessor to configure itself from the given set of parameters. | |
| void | onProcessStart () override |
| Callback for the EventProcessor to take any necessary action when the processing of events starts, such as creating histograms. | |
| void | analyze (const framework::Event &event) override |
| Process the event and make histograms or summaries. | |
| void | onProcessEnd () override |
| Callback for the EventProcessor to take any necessary action when the processing of events finishes, such as calculating job-summary quantities. | |
Public Member Functions inherited from framework::Analyzer | |
| Analyzer (const std::string &name, Process &process) | |
| Class constructor. | |
| virtual void | process (Event &event) final |
| Processing an event for an Analyzer is calling analyze. | |
| virtual void | beforeNewRun (ldmx::RunHeader &run_header) final |
| Don't allow Analyzers to add parameters to the run header. | |
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 | onNewRun (const ldmx::RunHeader &run_header) |
| Callback for the EventProcessor to take any necessary action when the run being processed changes. | |
| 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 Member Functions | |
| void | setupTree (TTree *tree, PairVars &v) |
| void | fillPair (const ldmx::Track &smear, const ldmx::Track &digi, const ldmx::SimParticle &truth, PairVars &v, const std::string &prefix) |
| void | processTracker (const framework::Event &event, const std::string &coll_smear, const std::string &pass_smear, const std::string &coll_digi, const std::string &pass_digi, TTree *tree, PairVars &vars, const std::string &histo_prefix) |
Private Attributes | |
| std::string | trk_collection_smear_ {"TaggerTracks"} |
| std::string | trk_collection_digi_ {"TaggerDigiTracks"} |
| std::string | pass_name_smear_ {""} |
| std::string | pass_name_digi_ {""} |
| bool | do_tagger_ {true} |
| bool | do_recoil_ {false} |
| std::string | recoil_collection_smear_ {"RecoilTracks"} |
| std::string | recoil_collection_digi_ {"RecoilDigiTracks"} |
| std::string | recoil_pass_smear_ {""} |
| std::string | recoil_pass_digi_ {""} |
| double | min_truth_prob_ {0.5} |
| std::string | sim_particles_pass_ {""} |
| std::string | output_file_ {"track_comparison.root"} |
| TFile * | file_ {nullptr} |
| TTree * | tagger_tree_ {nullptr} |
| TTree * | recoil_tree_ {nullptr} |
| PairVars | tagger_vars_ |
| PairVars | recoil_vars_ |
Additional Inherited Members | |
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. | |
Compares tracking performance between a truth-smeared hit chain and a charge-digitized hit chain on a track-by-track basis.
Both chains must run upstream in the same job, producing two separate Track collections. Tracks are matched by their truth-matched SimParticle ID (Track::getTrackID()). For each matched pair, a row is written to a flat ROOT TTree and a set of quick-look TH1F histograms is filled via the framework HistogramPool.
Definition at line 28 of file TrackComparisonProcessor.h.
| tracking::reco::TrackComparisonProcessor::TrackComparisonProcessor | ( | const std::string & | name, |
| framework::Process & | process ) |
Definition at line 12 of file TrackComparisonProcessor.cxx.
|
overridevirtual |
Process the event and make histograms or summaries.
| event | The Event to analyze |
Implements framework::Analyzer.
Definition at line 258 of file TrackComparisonProcessor.cxx.
|
overridevirtual |
Callback for the EventProcessor to configure itself from the given set of parameters.
The parameters a processor has access to are the member variables of the python class in the sequence that has class_name equal to the EventProcessor class name.
For an example, look at MyProcessor.
| parameters | Parameters for configuration. |
Reimplemented from framework::EventProcessor.
Definition at line 16 of file TrackComparisonProcessor.cxx.
References framework::config::Parameters::get().
|
private |
Definition at line 143 of file TrackComparisonProcessor.cxx.
|
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 271 of file TrackComparisonProcessor.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 80 of file TrackComparisonProcessor.cxx.
|
private |
Definition at line 217 of file TrackComparisonProcessor.cxx.
|
private |
Definition at line 38 of file TrackComparisonProcessor.cxx.
|
private |
Definition at line 80 of file TrackComparisonProcessor.h.
|
private |
Definition at line 79 of file TrackComparisonProcessor.h.
|
private |
Definition at line 90 of file TrackComparisonProcessor.h.
|
private |
Definition at line 85 of file TrackComparisonProcessor.h.
|
private |
Definition at line 87 of file TrackComparisonProcessor.h.
|
private |
Definition at line 78 of file TrackComparisonProcessor.h.
|
private |
Definition at line 77 of file TrackComparisonProcessor.h.
|
private |
Definition at line 82 of file TrackComparisonProcessor.h.
|
private |
Definition at line 81 of file TrackComparisonProcessor.h.
|
private |
Definition at line 84 of file TrackComparisonProcessor.h.
|
private |
Definition at line 83 of file TrackComparisonProcessor.h.
|
private |
Definition at line 92 of file TrackComparisonProcessor.h.
|
private |
Definition at line 94 of file TrackComparisonProcessor.h.
|
private |
Definition at line 86 of file TrackComparisonProcessor.h.
|
private |
Definition at line 91 of file TrackComparisonProcessor.h.
|
private |
Definition at line 93 of file TrackComparisonProcessor.h.
|
private |
Definition at line 76 of file TrackComparisonProcessor.h.
|
private |
Definition at line 75 of file TrackComparisonProcessor.h.