Geant4 Cross Reference |
1 ------------------------------------------------------------------- 2 3 ========================================================= 4 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 5 ========================================================= 6 7 amsEcal 8 ------- 9 10 1- GEOMETRY DEFINITION 11 12 AMS Ecal calorimeter is described in the joined documument : ams_ecal.pdf 13 14 - A single layer is a plane of scintillating fibers within a box of 15 absorber material. 16 - Single layers are positionned (eg. placement) within Module 17 (called SuperLayer in the descriptive document), 18 alternatively with a relative offset of +- 0.25*distanceInterFibers. 19 - Modules are positionned within calorimeter, alternatively rotated of 20 90 deg around beam axis (X_axis). 21 Therefore all fibers are along Y_axis or Z_axis calorimeter. 22 23 The default geometry is constructed in DetectorConstruction class. 24 In addition a transverse uniform magnetic field can be applied. 25 26 2- PHYSICS LISTS 27 28 Physics lists can be local (eg. in this example) or from G4 kernel 29 (physics_lists subdirectory). 30 31 - "local" standard EM physics with current 'default' options. 32 33 From geant4/source/physics_lists/constructors: 34 - "emstandard_opt0" standard EM physics with all default options 35 - "emstandard_opt1" best CPU performance standard physics for LHC 36 - "emstandard_opt2" 37 - "emstandard_opt3" 38 39 Physics lists and options can be (re)set with UI commands 40 41 Please, notice that options set through G4EmProcessOPtions are global, eg 42 for all particle types. In G4 constructors, it is shown how to set options per 43 particle type. 44 45 3- PRIMARY GENERATOR : mono-energetic pencil beam 46 47 The primary kinematic is a single particle which hits the calorimeter 48 perpendicular to the input face (eg. along X_axis). 49 The type of particle and its energy are set in the PrimaryGeneratorAction, 50 and can be changed via the G4 build-in commands of ParticleGun class 51 (see the macros provided with this example). 52 53 One can choose randomly the tranverse position of the incident particle, 54 eg. the width of the beam. The associated interactive command is built 55 in PrimaryGeneratorMessenger. 56 57 4- DETECTOR RESPONSE 58 59 The program computes the 'visible' energy, eg. the energy deposited 60 in scintillating fibers. 61 62 It also computes the total energy deposited per layer, either in absorber 63 material or in scintillator material. 64 65 The list of fibers fired can be written event per event, on an ascii file. 66 The file is filled at EndOfEvent(); uncomment the function WriteFibers() 67 See EventAction::WriteFibers() and the format description : eventFormat.txt 68 69 NB: visible energy can be corrected for Birk's attenuation: 70 see the function SteppingAction::BirksAttenuation() (not activated) 71 72 5- HISTOGRAMS 73 74 The Program contains 5 built-in 1D histograms, managed by G4AnalysisManager. 75 These histograms can be activated individually with the command : 76 /analysis/h1/set id nbBins valMin valMax unit 77 where unit is the desired unit for the histo (MeV, keV, etc..) 78 (see the macros xxxx.mac). 79 80 1 total energy in calorimeter (eg. summed all layers) 81 2 vsible energy in calorimeter (eg. summed all layers) 82 3 total energy per layer (eg. longitudinal profile) 83 4 visible energy per layer (eg. longitudinal profile) 84 5 visible energy per fiber (eg. lateral profile) 85 86 Histograms can be viewed using ROOT. 87 88 One can control the name and format of the histograms file with the command: 89 /analysis/setFileName name (default amsEcal) 90 /analysis/setFileType type (choice: root(default), XML, csv) 91 92 It is also possible to print selected histograms on an ascii file: 93 /analysis/h1/setAscii id 94 All selected histos will be written on a file name.ascii (default amsEcal) 95 96 6- VISUALIZATION 97 98 Visualization Manager is set in the main(). 99 Initialisation of the drawing is done via the commands : 100 /vis/... in the macro vis.mac. In interactive session: 101 PreInit or Idle > /control/execute vis.mac 102 103 Default view is a longitudinal view of the calorimeter. 104 105 Tracks are drawn at end of event, and erased at end of run. 106 Optionaly one can choose to draw all particles, only charged one, or none. 107 This command is defined in EventActionMessenger. 108 109 7- HOW TO START ? 110 111 - compile and link to generate an executable 112 % cd amsEcal 113 % gmake 114 115 - execute amsEcal in 'batch' mode from macro files 116 % amsEcal run1.mac 117 118 - execute amsEcal in 'interactive mode' with visualization 119 % amsEcal 120 .... 121 Idle> type your commands. For instance: 122 Idle> /control/execute run1.mac 123 .... 124 Idle> exit 125 126 8- HANDLE RANDOM NUMBER SEEDS 127 128 The macro rndmSeed.mac shows how to create a set of random number seeds. 129 Here we save the seed at begin of each run (the number of events per run 130 is arbitrary). The seeds are stored in subdirectory random. 131 132 Macro rndmSeed.mac shows also how to start a run from one of these seeds.