Back to home page

EIC code displayed by LXR

 
 

    


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