|
LDMX Software
|
User action that allows a user to filter out events where the interaction happened deep in the ECAL. More...
#include <DeepEcalProcessFilter.h>
Public Member Functions | |
| DeepEcalProcessFilter (const std::string &name, framework::config::Parameters ¶meters) | |
| Constructor. | |
| virtual | ~DeepEcalProcessFilter ()=default |
| Destructor. | |
| void | BeginOfEventAction (const G4Event *event) override |
| Method to set flags in the beginning of the event. | |
| void | stepping (const G4Step *step) override |
| Implement the stepping action which performs the target volume biasing. | |
| void | NewStage () override |
| Method called at the end of every event. | |
| std::vector< simcore::TYPE > | getTypes () override |
| Retrieve the type of actions this class defines. | |
Public Member Functions inherited from simcore::UserAction | |
| UserAction (const std::string &name, framework::config::Parameters ¶meters) | |
| Constructor. | |
| DECLARE_FACTORY (UserAction, std::shared_ptr< UserAction >, const std::string &, framework::config::Parameters &) | |
| factory for user actions | |
| virtual | ~UserAction ()=default |
| Destructor. | |
| virtual void | EndOfEventAction (const G4Event *) |
| Method called at the end of every event. | |
| virtual void | BeginOfRunAction (const G4Run *) |
| Method called at the beginning of a run. | |
| virtual void | EndOfRunAction (const G4Run *) |
| Method called at the end of a run. | |
| virtual void | PreUserTrackingAction (const G4Track *) |
| Method called before the UserTrackingAction. | |
| virtual void | PostUserTrackingAction (const G4Track *) |
| Method called after the UserTrackingAction. | |
| virtual G4ClassificationOfNewTrack | ClassifyNewTrack (const G4Track *, const G4ClassificationOfNewTrack &cl) |
| Method called when a track is updated. | |
| virtual void | PrepareNewEvent () |
| Method called at the beginning of a new event. | |
Private Attributes | |
| double | bias_threshold_ {1500.} |
| Minimal energy the products should have. | |
| std::vector< std::string > | processes_ {"conv", "phot"} |
| The allowed processes that can happen deep inside the ECAL, default is conversion (conv) and photoelectron (photo) | |
| double | ecal_min_z_ {400.} |
| Minimum Z location where the deep process should happen. | |
| bool | require_photon_from_target_ {false} |
| Require that the hard brem photon originates from the target. | |
| bool | photon_from_target_ {false} |
| member used to help tag events where the photon comes from the target | |
| bool | has_deep_ecal_process_ {false} |
| member used to help tag events that have a deep-ecal process ocurr | |
Additional Inherited Members | |
Protected Member Functions inherited from simcore::UserAction | |
| UserEventInformation * | getEventInfo () const |
| Get a handle to the event information. | |
| const std::map< int, ldmx::SimParticle > & | getCurrentParticleMap () const |
| Get the current particle map. | |
Protected Attributes inherited from simcore::UserAction | |
| std::string | name_ {""} |
| Name of the UserAction. | |
| framework::config::Parameters | parameters_ |
| The set of parameters used to configure this class. | |
| mutable::framework::logging::logger | the_log_ |
the logging channel user actions can use ldmx_log with | |
User action that allows a user to filter out events where the interaction happened deep in the ECAL.
Definition at line 35 of file DeepEcalProcessFilter.h.
| DeepEcalProcessFilter::DeepEcalProcessFilter | ( | const std::string & | name, |
| framework::config::Parameters & | parameters ) |
Constructor.
Definition at line 21 of file DeepEcalProcessFilter.cxx.
References bias_threshold_, ecal_min_z_, framework::config::Parameters::get(), processes_, and require_photon_from_target_.
|
overridevirtual |
Method to set flags in the beginning of the event.
Reimplemented from simcore::UserAction.
Definition at line 31 of file DeepEcalProcessFilter.cxx.
References has_deep_ecal_process_, and photon_from_target_.
|
inlineoverridevirtual |
Retrieve the type of actions this class defines.
Implements simcore::UserAction.
Definition at line 62 of file DeepEcalProcessFilter.h.
|
overridevirtual |
Method called at the end of every event.
| event | Geant4 event object. |
Reimplemented from simcore::UserAction.
Definition at line 112 of file DeepEcalProcessFilter.cxx.
References has_deep_ecal_process_.
|
overridevirtual |
Implement the stepping action which performs the target volume biasing.
| step | The Geant4 step. |
Reimplemented from simcore::UserAction.
Definition at line 36 of file DeepEcalProcessFilter.cxx.
References bias_threshold_, ecal_min_z_, simcore::UserTrackInformation::get(), simcore::UserAction::getEventInfo(), has_deep_ecal_process_, simcore::UserEventInformation::incBremCandidateCount(), photon_from_target_, processes_, and require_photon_from_target_.
|
private |
Minimal energy the products should have.
Definition at line 69 of file DeepEcalProcessFilter.h.
Referenced by DeepEcalProcessFilter(), and stepping().
|
private |
Minimum Z location where the deep process should happen.
Definition at line 74 of file DeepEcalProcessFilter.h.
Referenced by DeepEcalProcessFilter(), and stepping().
|
private |
member used to help tag events that have a deep-ecal process ocurr
Definition at line 80 of file DeepEcalProcessFilter.h.
Referenced by BeginOfEventAction(), NewStage(), and stepping().
|
private |
member used to help tag events where the photon comes from the target
Definition at line 78 of file DeepEcalProcessFilter.h.
Referenced by BeginOfEventAction(), and stepping().
|
private |
The allowed processes that can happen deep inside the ECAL, default is conversion (conv) and photoelectron (photo)
Definition at line 72 of file DeepEcalProcessFilter.h.
Referenced by DeepEcalProcessFilter(), and stepping().
|
private |
Require that the hard brem photon originates from the target.
Definition at line 76 of file DeepEcalProcessFilter.h.
Referenced by DeepEcalProcessFilter(), and stepping().