ATLAS Offline Software
LArFastShowerTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARG4FASTSIMULATION_LARFASTSHOWERTOOL_H
6 #define LARG4FASTSIMULATION_LARFASTSHOWERTOOL_H
7 
8 // Base class header
10 
11 // Member variable headers
12 #include "GaudiKernel/ServiceHandle.h"
14 #include "FastShowerConfigStruct.h"
15 
16 // STL headers
17 #include <string>
18 
21 {
22 public:
23 
24  LArFastShowerTool(const std::string& type, const std::string& name, const IInterface *parent);
25 
26  virtual ~LArFastShowerTool() = default;
27 
28  StatusCode initialize() override final;
29 
30 protected:
34  virtual G4VFastSimulationModel* makeFastSimModel() override final;
35 
36 private:
37  Gaudi::Property<std::string> m_fastSimDedicatedSD{this, "SensitiveDetector", ""
38  , "Fast sim dedicated SD for this setup"};
39  ServiceHandle<ILArG4ShowerLibSvc> m_showerLibSvc{this, "ShowerLibSvc", "LArG4ShowerLibSvc"
40  , "Handle on the shower library service"};
41 
42  Gaudi::Property<bool> m_e_FlagShowerLib {this, "EFlagToShowerLib", true, "Switch for e+/- frozen showers"};
43  Gaudi::Property<double> m_e_MinEneShowerLib {this, "EMinEneShowerLib", 0.0*CLHEP::GeV, "Minimum energy for e+/- frozen showers"};
44  Gaudi::Property<double> m_e_MaxEneShowerLib {this, "EMaxEneShowerLib", 1.0*CLHEP::GeV, "Maximum energy for e+/- frozen showers"};
45 
46  Gaudi::Property<bool> m_g_FlagShowerLib {this, "GFlagToShowerLib", true, "Switch for photon frozen showers"};
47  Gaudi::Property<double> m_g_MinEneShowerLib {this, "GMinEneShowerLib", 0.*CLHEP::GeV, "Minimum energy for photon frozen showers"};
48  Gaudi::Property<double> m_g_MaxEneShowerLib {this, "GMaxEneShowerLib", 0.010*CLHEP::GeV, "Maximum energy for photon frozen showers"};
49 
50  Gaudi::Property<bool> m_Neut_FlagShowerLib {this, "NeutFlagToShowerLib", true, "Switch for neutron frozen showers"};
51  Gaudi::Property<double> m_Neut_MinEneShowerLib {this, "NeutMinEneShowerLib", 0.0*CLHEP::GeV, "Minimum energy for neutron frozen showers"};
52  Gaudi::Property<double> m_Neut_MaxEneShowerLib {this, "NeutMaxEneShowerLib", 0.1*CLHEP::GeV, "Maximum energy for neutron frozen showers"};
53 
54  Gaudi::Property<bool> m_Pion_FlagShowerLib {this, "PionFlagToShowerLib", true, "Switch for neutron frozen showers"};
55  Gaudi::Property<double> m_Pion_MinEneShowerLib {this, "PionMinEneShowerLib", 0.0*CLHEP::GeV, "Minimum energy for neutron frozen showers"};
56  Gaudi::Property<double> m_Pion_MaxEneShowerLib {this, "PionMaxEneShowerLib", 2.0*CLHEP::GeV, "Maximum energy for neutron frozen showers"};
57 
58  Gaudi::Property<bool> m_containLow {this, "ContainLow", true, "Switch for containment at low eta"};
59  Gaudi::Property<double> m_absLowEta {this, "AbsLowEta", 3.8, ""};
60  Gaudi::Property<bool> m_containHigh {this, "ContainHigh", true, "Switch for containment at high eta"};
61  Gaudi::Property<double> m_absHighEta {this, "AbsHighEta", 4.4, ""};
62  Gaudi::Property<bool> m_containCrack {this, "ContainCrack", true, "Switch for containment in the crack region"};
63  Gaudi::Property<double> m_absCrackEta1 {this, "AbsCrackEta1", 0.5, ""};
64  Gaudi::Property<double> m_absCrackEta2 {this, "AbsCrackEta2", 1.1, ""};
65 
66  Gaudi::Property<std::string> m_generated_starting_points_file {this, "GeneratedStartingPointsFile", "",
67  "Name of file for generated SPs. Do not touch until you want to produce a new library"};
68  Gaudi::Property<float> m_generated_starting_points_ratio {this, "GeneratedStartingPointsRatio", 0.02f
69  , "Ratio of SPs that goes to output"};
70  Gaudi::Property<int> m_detector_tag {this, "DetectorTag", 0, "Which detector is this?"};
71 
72  Gaudi::Property<bool> m_applyRRWeights {this, "ApplyRRWeights", false
73  , "Should the weights set by NRR/PRR be applied to Frozen Shower Energy deposits?"};
74 
76 };
77 
78 #endif //LARG4FASTSIMULATION_LARFASTSHOWERTOOL_H
LArFastShowerTool::m_containCrack
Gaudi::Property< bool > m_containCrack
Definition: LArFastShowerTool.h:62
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:18
FastSimulationBase.h
LArFastShowerTool::m_detector_tag
Gaudi::Property< int > m_detector_tag
Definition: LArFastShowerTool.h:70
LArFastShowerTool::m_containLow
Gaudi::Property< bool > m_containLow
Definition: LArFastShowerTool.h:58
LArFastShowerTool::m_configuration
FastShowerConfigStruct m_configuration
Definition: LArFastShowerTool.h:75
LArFastShowerTool::m_generated_starting_points_ratio
Gaudi::Property< float > m_generated_starting_points_ratio
Definition: LArFastShowerTool.h:68
LArFastShowerTool::m_Neut_MinEneShowerLib
Gaudi::Property< double > m_Neut_MinEneShowerLib
Definition: LArFastShowerTool.h:51
LArFastShowerTool::m_g_FlagShowerLib
Gaudi::Property< bool > m_g_FlagShowerLib
Definition: LArFastShowerTool.h:46
LArFastShowerTool::m_containHigh
Gaudi::Property< bool > m_containHigh
Definition: LArFastShowerTool.h:60
LArFastShowerTool::m_Pion_FlagShowerLib
Gaudi::Property< bool > m_Pion_FlagShowerLib
Definition: LArFastShowerTool.h:54
FastSimulationBase
Definition: FastSimulationBase.h:27
LArFastShowerTool::m_Pion_MinEneShowerLib
Gaudi::Property< double > m_Pion_MinEneShowerLib
Definition: LArFastShowerTool.h:55
LArFastShowerTool::m_e_MinEneShowerLib
Gaudi::Property< double > m_e_MinEneShowerLib
Definition: LArFastShowerTool.h:43
LArFastShowerTool::m_absCrackEta1
Gaudi::Property< double > m_absCrackEta1
Definition: LArFastShowerTool.h:63
Property
Support class for PropertyMgr.
Definition: Property.h:23
LArFastShowerTool::m_g_MinEneShowerLib
Gaudi::Property< double > m_g_MinEneShowerLib
Definition: LArFastShowerTool.h:47
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
LArFastShowerTool::m_Pion_MaxEneShowerLib
Gaudi::Property< double > m_Pion_MaxEneShowerLib
Definition: LArFastShowerTool.h:56
LArFastShowerTool::makeFastSimModel
virtual G4VFastSimulationModel * makeFastSimModel() override final
Method to make the actual fast simulation model itself, which will be owned by the tool.
Definition: LArFastShowerTool.cxx:58
LArFastShowerTool::m_absLowEta
Gaudi::Property< double > m_absLowEta
Definition: LArFastShowerTool.h:59
LArFastShowerTool
NEEDS DOCUMENTATION.
Definition: LArFastShowerTool.h:21
ILArG4ShowerLibSvc.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArFastShowerTool::initialize
StatusCode initialize() override final
Definition: LArFastShowerTool.cxx:19
FastShowerConfigStruct
Definition: FastShowerConfigStruct.h:12
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArFastShowerTool::m_fastSimDedicatedSD
Gaudi::Property< std::string > m_fastSimDedicatedSD
Shower library sensitive detector for this shower.
Definition: LArFastShowerTool.h:37
LArFastShowerTool::m_applyRRWeights
Gaudi::Property< bool > m_applyRRWeights
Definition: LArFastShowerTool.h:72
columnar::final
CM final
Definition: ColumnAccessor.h:106
protected
#define protected
Definition: GenEventCnv_p1.h:26
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
FastShowerConfigStruct.h
LArFastShowerTool::m_absHighEta
Gaudi::Property< double > m_absHighEta
Definition: LArFastShowerTool.h:61
LArFastShowerTool::m_e_MaxEneShowerLib
Gaudi::Property< double > m_e_MaxEneShowerLib
Definition: LArFastShowerTool.h:44
LArFastShowerTool::LArFastShowerTool
LArFastShowerTool(const std::string &type, const std::string &name, const IInterface *parent)
Default constructor.
Definition: LArFastShowerTool.cxx:12
LArFastShowerTool::m_generated_starting_points_file
Gaudi::Property< std::string > m_generated_starting_points_file
Definition: LArFastShowerTool.h:66
LArFastShowerTool::m_Neut_FlagShowerLib
Gaudi::Property< bool > m_Neut_FlagShowerLib
Definition: LArFastShowerTool.h:50
LArFastShowerTool::m_g_MaxEneShowerLib
Gaudi::Property< double > m_g_MaxEneShowerLib
Definition: LArFastShowerTool.h:48
LArFastShowerTool::m_showerLibSvc
ServiceHandle< ILArG4ShowerLibSvc > m_showerLibSvc
Pointer to the shower library service.
Definition: LArFastShowerTool.h:39
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
LArFastShowerTool::m_Neut_MaxEneShowerLib
Gaudi::Property< double > m_Neut_MaxEneShowerLib
Definition: LArFastShowerTool.h:52
private
#define private
Definition: xAODTruthCnvAlg.h:20
LArFastShowerTool::~LArFastShowerTool
virtual ~LArFastShowerTool()=default
LArFastShowerTool::m_absCrackEta2
Gaudi::Property< double > m_absCrackEta2
Definition: LArFastShowerTool.h:64
LArFastShowerTool::m_e_FlagShowerLib
Gaudi::Property< bool > m_e_FlagShowerLib
Definition: LArFastShowerTool.h:42
ServiceHandle< ILArG4ShowerLibSvc >