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