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 beginning of a new stage. | |
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. | |
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 Member Functions | |
enableLogging ("DeepEcalProcessFilter") bool photonFromTarget_ | |
Enable logging. | |
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_fromTarget_ {false} |
Require that the hard brem photon originates from the target. | |
bool | hasDeepEcalProcess_ {false} |
member used to help tag events that have a deep-ecal process ocurr | |
Additional Inherited Members | |
Public Types inherited from simcore::UserAction | |
using | Factory = ::simcore::Factory< UserAction, std::shared_ptr< UserAction >, const std::string &, framework::config::Parameters & > |
factory for user actions | |
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. | |
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 20 of file DeepEcalProcessFilter.cxx.
References bias_threshold_, ecal_min_Z_, framework::config::Parameters::getParameter(), processes_, and require_photon_fromTarget_.
|
overridevirtual |
Method to set flags in the beginning of the event.
Reimplemented from simcore::UserAction.
Definition at line 30 of file DeepEcalProcessFilter.cxx.
References hasDeepEcalProcess_.
|
inlineprivate |
Enable logging.
member used to help tag events where the photon comes from the target
Definition at line 78 of file DeepEcalProcessFilter.h.
|
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 beginning of a new stage.
TYPE::STACKING
Reimplemented from simcore::UserAction.
Definition at line 119 of file DeepEcalProcessFilter.cxx.
References hasDeepEcalProcess_.
|
overridevirtual |
Implement the stepping action which performs the target volume biasing.
step | The Geant4 step. |
Reimplemented from simcore::UserAction.
Definition at line 35 of file DeepEcalProcessFilter.cxx.
References bias_threshold_, ecal_min_Z_, simcore::UserTrackInformation::get(), simcore::UserAction::getEventInfo(), hasDeepEcalProcess_, simcore::UserEventInformation::incBremCandidateCount(), processes_, require_photon_fromTarget_, and simcore::UserTrackInformation::tagBremCandidate().
|
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 82 of file DeepEcalProcessFilter.h.
Referenced by BeginOfEventAction(), NewStage(), 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().