Back to home page

EIC code displayed by LXR

 
 

    


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 .