Warning, /geant4/examples/extended/parameterisations/Par02/README.md is written in an unsupported language. File is not indexed.
0001 \page ExamplePar02 Example Par02
0002
0003 This example is a simplified version of a Geant4-based fast simulation
0004 program written by Anna Zaborowska for Future Circular Collider (FCC)
0005 studies.
0006
0007 This example shows how to do "track and energy smearing" in Geant4,
0008 in order to have a very fast simulation based on assumed detector
0009 resolutions.
0010
0011 The geometry which is considered is a simplified collider detector set-up,
0012 inspired by ALEPH/ATLAS/CMS detectors. Although it is much simpler than
0013 a realistic detector, it is anyhow fairly complex and therefore build up
0014 from a GDML file, Par02FullDetector.gdml .
0015
0016 In this example:
0017 - Particles with transverse momentum less than 1 MeV or pseudorapidity
0018 larger (in module) than 5.5 are neglected (i.e. the corresponding
0019 Geant4 track is killed as soon as it is created).
0020 - Any primary charged particle is smeared in the tracker as follows:
0021 its momentum is smeared according to a gaussian, with mean equal to 1.0
0022 and sigma taken from the momentum resolution of the CMS tracker
0023 (with ALEPH or ATLAS tracker as a possible alternative), and then placed
0024 at the end of the tracker, at the position that it would reach if
0025 normally transported (i.e. without smearing).
0026 - Any primary electron, or positron, or gamma is smeared in the
0027 electromagnetic calorimeter as follows: it is killed at the entrance
0028 of the electromagnetic calorimeter, with a deposited energy equal to
0029 the gaussian smearing (with mean equal to 1.0 and sigma taken from the
0030 energy resolution of the CMS electromagnetic calorimeter - with ALEPH or
0031 ATLAS electromagnetic calorimeter as a possible alternative) of its
0032 kinetic energy (at the entrance of the electromagnetic calorimeter).
0033 - Any primary hadron is smeared in the hadronic calorimeter as follows:
0034 it is killed at the entrance of the hadronic calorimeter, with a
0035 deposited energy equal to the gaussian smearing (with mean equal to 1.0
0036 and sigma taken from the energy resolution of the CMS hadronic
0037 calorimeter - with ALEPH or ATLAS hadronic calorimeter as a possible
0038 alternative) of its kinetic energy (at the entrance of the hadronic
0039 calorimeter).
0040 - The only competing physical processes with respect to the above physics
0041 parametrisations are the decays.
0042 Note: no electromagnetic processes;
0043 no momentum smearing in the tracker for secondary particles;
0044 secondary electrons, positrons, gammas in the electromagnetic
0045 calorimeter are killed (at the entrance) but without any
0046 energy deposition;
0047 secondary hadrons in the hadronic calorimeter are killed (at the
0048 entrance) but without any energy deposition.
0049
0050
0051 Below some details.
0052
0053
0054 ## Detector description
0055
0056 The geometry is read in from a GDML file, Par02FullDetector.gdml .
0057
0058 The geometry is a simplified collider detector set-up used for the
0059 first FCC studies, inspired by ALEPH/ATLAS/CMS detectors.
0060 It is made of 4 main parts:
0061 - Tracker
0062 - Electromagnetic calorimeter
0063 - Hadronic calorimeter
0064 - Muon subdetector
0065
0066 In this example, fast simulation parametrisation models exist for the
0067 first three subdetectors, but not for the Muon subdetector.
0068 The three parametrisation models:
0069 - Par02FastSimModelTracker : in the tracker
0070 - Par02FastSimModelEMCal : in the electromagnetic calorimeter
0071 - Par02FastSimModelHCal : in the hadronic calorimeter
0072 are build and bound to the respective subdetector (i.e. Geant4 regions)
0073 in the method: Par02DetectorConstruction::Construct() .
0074
0075 Three configurations are possible for those parametrisation models:
0076 CMS-like, ALEPH-like, ATLAS-like.
0077 By default, the CMS configuration is used.
0078
0079
0080 ## Primary generation
0081
0082 In this example we use a very simple primary generation action,
0083 Par02PrimaryGeneratorAction, that uses the G4ParticleGun.
0084 One single particle type, with a well defined energy, and in one fixed
0085 direction is used for each run: the corresponding values can be set via
0086 macro commands. See examplePar02.in as an example.
0087
0088 For the FCC studies, Pythia8 events in HepMC format were used for the
0089 generation of the primary particles.
0090
0091
0092 ## Physics List
0093
0094 A special, ad-hoc physics list is used in this example, in order to have
0095 an ultra-fast parametrised simulation: for all particles, the only two
0096 physics processes that are assigned are the decay process and the fast
0097 simulation process.
0098 The following three fast simulation models are defined:
0099
0100 - Par02FastSimModelTracker :
0101 - bound to the tracker
0102 (see the method Par02DetectorConstruction::Construct )
0103 - applicable to all charged particles
0104 (see the method Par02FastSimModelTracker::IsApplicable )
0105 - triggered in all cases (i.e. no kinematic constraints)
0106 (see the method Par02FastSimModelTracker::ModelTrigger )
0107 - does the following: place the particle at the tracking detector exit
0108 (at the place the particle would reach without smearing), and, only
0109 if the particle is a primary, it smears the momentum of the particle
0110 according to a gaussian, with mean equal to 1.0 and sigma taken from
0111 the momentum resolution of the CMS tracker (with ALEPH or ATLAS tracker
0112 as a possible alternative)
0113 (see the method Par02FastSimModelTracker::DoIt )
0114
0115 - Par02FastSimModelEMCal :
0116 - bound to the electromagnetic calorimeter
0117 (see the method Par02DetectorConstruction::Construct )
0118 - applicable to electrons, positrons, gammas
0119 (see the method Par02FastSimModelEMCal::IsApplicable )
0120 - triggered in all cases (i.e. no kinematic constraints)
0121 (see the method Par02FastSimModelEMCal::ModelTrigger )
0122 - does the following: kill the particle at the entrance of the
0123 electromagnetic calorimeter, and, only if the particle is a primary,
0124 it deposits in the electromagnetic calorimeter an energy obtained
0125 by a gaussian smearing (with mean equal to 1.0 and sigma taken from the
0126 energy resolution of the CMS electromagnetic calorimeter - with ALEPH
0127 or ATLAS electromagnetic calorimeter as a possible alternative) of the
0128 particle kinetic energy (at the entrance of the electromagnetic
0129 calorimeter)
0130 (see the method Par02FastSimModelEMCal::DoIt )
0131
0132 - Par02FastSimModelHCal :
0133 - bound to the hadronic calorimeter
0134 (see the method Par02DetectorConstruction::Construct )
0135 - applicable to all hadrons (i.e. particles made of quarks)
0136 (see the method Par02FastSimModelHCal::IsApplicable )
0137 - triggered in all cases (i.e. no kinematic constraints)
0138 (see the method Par02FastSimModelHCal::ModelTrigger )
0139 - does the following: kill the particle at the entrance of the
0140 hadronic calorimeter, and, only if the particle is a primary,
0141 it deposits in the hadronic calorimeter an energy obtained by a
0142 gaussian smearing (with mean equal to 1.0 and sigma taken from the
0143 energy resolution of the CMS hadronic calorimeter - with ALEPH
0144 or ATLAS hadronic calorimeter as a possible alternative) of the
0145 particle kinetic energy (at the entrance of the hadronic
0146 calorimeter)
0147 (see the method Par02FastSimModelHCal::DoIt )
0148
0149
0150 ## User actions, user information and user utility classes
0151
0152 - Par02RunAction : run action used for initialization and termination
0153 of the run.
0154
0155 - Par02EventAction : event action used for initialization and termination
0156 of the event.
0157
0158 - Par02TrackingAction : tracking action used for killing particles with
0159 transverse momentum less than 1 MeV or
0160 pseudorapidity larger (in module) than 5.5
0161 (see method Par02TrackingAction::PreUserTrackingAction )
0162 and to store the information about the track at
0163 the end of the simulation of such a track
0164 (see method Par02TrackingAction::PostUserTrackingAction ).
0165
0166 - Par02ActionInitialization : initialization of the primary generator class
0167 and all user-defined actions (i.e. the three
0168 classes above).
0169
0170 - Par02PrimaryParticleInformation : utility class to store information
0171 associated with a primary particle.
0172
0173 - Par02EventInformation : utility class to store information associated
0174 with a Geant4 event.
0175
0176 - Par02DetectorParametrisation : a simple class used to provide the detector
0177 resolution and efficiency, according to the
0178 type of detector: tracker, electromagnetic
0179 calorimeter, hadronic calorimeter.
0180 There are 3 choices: CMS-like (default),
0181 ALEPH-like and ATLAS-like.
0182 The efficiency is currently set to 1.0 in
0183 all cases and not used.
0184
0185 - Par02Smearer : a simple class that does the gaussian smearing, either
0186 of the momentum (in the tracker detector) or in energy
0187 (in the electromagnetic or hadronic calorimeter).
0188
0189
0190 ## Output
0191
0192 The execution of the program (examplePar02) produces in output, at the end
0193 of a run, a Root file, by default named DefaultOutput.root, which contains
0194 3 histograms and one ntuple.
0195
0196 The macro file examplePar02.in specifies one run made of 1000 events
0197 each consisting of one 50 GeV electron.
0198 By editing the file, one could select alternatively a run made of 1000
0199 events each consisting of one 100 GeV muon, or a run made of 1000 events
0200 each consisting of one 20 GeV pion- .
0201
0202 See the class Par02Output for the definition of the 3 histograms and the
0203 ntuples. Here is a quick summary:
0204 - histogram of the ratio of the momentum smeared and the original momentum
0205 in the tracker (for primary charged particles);
0206 - histogram of the ratio of the smeared energy deposited and the original
0207 energy at the entrance in the electromagnetic calorimeter (for primary
0208 electrons, positrons and gammas);
0209 - histogram of the ratio of the smeared energy deposited and the original
0210 energy at the entrance in the hadronic calorimeter (for primary hadrons);
0211 - ntuple containing the "Monte-Carlo true" information regarding the
0212 primary, and the resolution, efficiency, smeared momentum (tracker),
0213 smeared energy (calorimeter) and impact position (calorimeter) of each
0214 subdetector (tracker, electromagnetic calorimeter, hadronic calorimeter)
0215 where the primary is parametrised (tracker and electromagnetic calorimeter
0216 in the case of primary electrons, positrons and gammas; tracker and
0217 hadronic calorimeter in the case of primary hadrons; tracker only for
0218 all other primary charged particles, e.g. muons).
0219
0220 Note:
0221 - you do not need to have the Root package available to run this example,
0222 but you need it if you want to look at the histograms and the ntuple
0223 contained in the Root output file;
0224 - sensitive detectors and hits are not used in this example.
0225
0226
0227 ## How to build and run the example
0228
0229 - You need to have built the Geant4 persistency/gdml module by having set
0230 the -DGEANT4_USE_GDML=ON flag during the CMAKE configuration step,
0231 as well as the -DXERCESC_ROOT_DIR=path_to_xercesc flag pointing to
0232 the path where the XercesC XML parser package is installed in your system.
0233
0234 - Compile and link to generate the executable (in your CMAKE build directory):
0235 ```
0236 % make
0237 ```
0238 - Execute the application:
0239 ```
0240 % ./examplePar02 examplePar02.in
0241 ```
0242 which produces one Root file: DefaultOutput.root .