Geant4 Cross Reference |
1 ---------------------------------------------- 2 3 ========================================= 4 Geant4 - an Object-Oriented Toolkit for S 5 ========================================= 6 7 Example HGCal_testbeam 8 ---------------------- 9 10 This example is based on the Geant4 standalon 11 by Thorben Quast for the CMS HGCal studies: 12 https://github.com/ThorbenQuast/HGCal_TB_Gean 13 14 The goal of this example is to demonstrate a 15 in HEP experiments, and as a base for the val 16 comparison with experiment data. 17 18 It presents a test beam setup used in the HGC 19 2018. It can be easily extended to other conf 20 21 Details on the High Granularity Calorimeter ( 22 i.a. in the Technical Design Report: 23 https://cds.cern.ch/record/2293646/files/CMS- 24 25 1. Detector description 26 ----------------------- 27 28 Detector construction in this example assumes 29 constructed with different elements placed on 30 z axis (beam axis). 31 There are 3 configurations user can choose fr 32 with UI command: 33 34 /HGCalTestbeam/setup/configuration <ID> 35 36 where <ID> by default is equal to 0, which me 37 setup used in October 2018. 38 <ID> 1 builds the same calorimeter setup, but 39 several beamline elements. 40 <ID> 2 builds a very simplistic test configur 41 42 Whenever a silicon wafer or SiPM is placed in 43 volume is attached to it, and will be used to 44 45 Silicon wafer is divided into cells (pixels), 46 can collect signal. 47 48 In order to change the maximum step size allo 49 50 /HGCalTestbeam/setup/stepSilicon <STEP> 51 52 where <STEP> is value of the max step size in 53 <STEP> is equal to 30 um. 54 55 2. Signal 56 --------- 57 58 Energy deposited within silicon pixels and Si 59 sensitive detectors. Each deposit is added in 60 of hits, in order to allow the digitisation. 61 62 Digitisation is performed at the end of the e 63 energy deposits within pixels, taking into ac 64 arrival of signal (global time of energy depo 65 cut is applied which means all the deposits a 66 using UI command: 67 68 /HGCalTestbeam/hits/timeCut <TIME> 69 70 where <TIME> is the maximum global time of th 71 would be counted into the signal within the p 72 73 Another hit parameter is TOA (time of arrival 74 as time of the energy deposit which added to 75 exceeds the threshold. By default the thresho 76 means that any hit will exceed the value, so 77 the time of the first energy deposit. It can 78 79 /HGCalTestbeam/hits/toaThreshold <ENERGY_THRE 80 81 where <ENERGY_THRESHOLD> indicates the thresh 82 needs to exceed to be counted as time of arri 83 84 Additionally, for silicon pixels, time of the 85 (within the time window) is recorded. 86 87 3. Output 88 --------- 89 90 Output with event signal is stored in ntuple 91 Its name can be set with UI command: 92 93 /HGCalTestbeam/output/file <NAME> 94 95 Created TTree "hits" contains following branc 96 97 +---------------------------------+----------- 98 | Branch | Type 99 +---------------------------------+----------- 100 | event | int 101 | pdgID | vector<int 102 | beamEnergy | vector<dou 103 | beamX_cm | vector<dou 104 | beamY_cm | vector<dou 105 | beamZ_cm | vector<dou 106 | siliconHits_ID | vector<int 107 | siliconHits_x_cm | vector<dou 108 | siliconHits_y_cm | vector<dou 109 | siliconHits_z_cm | vector<dou 110 | siliconHits_Edep_keV | vector<dou 111 | siliconHits_EdepNonIonizing_keV | vector<dou 112 | siliconHits_TOA_ns | vector<dou 113 | siliconHits_TOA_last_ns | vector<dou 114 | siliconHits_type | vector<int 115 | SiPMHits_ID | vector<int 116 | SiPMHits_x_cm | vector<dou 117 | SiPMHits_y_cm | vector<dou 118 | SiPMHits_z_cm | vector<dou 119 | SiPMHits_Edep_keV | vector<dou 120 | SiPMHits_EdepNonIonizing_keV | vector<dou 121 | SiPMHits_TOA_ns | vector<dou 122 | SiPMHits_type | vector<int 123 | signalSum_HGCAL_GeV | double 124 | COGZ_HGCAL_cm | double 125 | NHits_HGCAL | int 126 | signalSum_AHCAL_GeV | double 127 | COGZ_AHCAL_cm | double 128 | NHits_AHCAL | int 129 +---------------------------------+----------- 130 131 4. Primary particle generator 132 ----------------------------- 133 134 Particle gun is used as a default primary par 135 It can be controlled with standard UI command 136 additional ones introduced by the messenger: 137 138 /HGCalTestbeam/generator/momentumSpread <VALU 139 to change constant particle energy to Gaussia 140 sigma expressed in units of the initial energ 141 means sigma of 0.05 * E). By default it equal 142 energy value is used. 143 144 /HGCalTestbeam/generator/beamSpread <none/Gau 145 to define type of beam position spread. By de 146 147 /HGCalTestbeam/generator/beamSpreadX <SIZE> 148 to define size of beam spread along x axis. I 149 Gaussian distribution, or half-width of a fla 150 151 /HGCalTestbeam/generator/beamSpreadY <SIZE> 152 to define size of beam spread along y axis. I 153 Gaussian distribution, or half-width of a fla 154 155 /HGCalTestbeam/generator/fBeamZ0 <POSITION> 156 to define beam position along z axis. By defa 157 world volume is used. 158 159 Additionally, if installation was done with R 160 was able to locate it), an option of input re 161 is enabled. It can be activated with 162 163 /HGCalTestbeam/generator/fReadInputFile true 164 165 /HGCalTestbeam/generator/fPathInputFile <FILE 166 sets the path to the input file. 167 168 /HGCalTestbeam/generator/startFromEvent <N> 169 allows to start simulation from Nth event. 170 171 Please note that in current implementation in 172 executed in a non-multithreaded mode (or with 173 174 Input file needs to have following structure: 175 - TDirectory "VirtualDetector" 176 - TNtuple "HGCAL" with branches: 177 +---------+-------+------+--------------- 178 | Branch | Type | Unit | Descr 179 +---------+-------+------+--------------- 180 | EventID | float | - | ID of event 181 | PDGid | float | - | Particle type 182 | x | float | mm | Initial X posi 183 | y | float | mm | Initial Y posi 184 | Px | float | MeV | Initial moment 185 | Py | float | MeV | Initial moment 186 | Pz | float | MeV | Initial moment 187 +---------+-------+------+--------------- 188 189 Several particles may belong to the same even 190 of them are read from the input file. 191 Z position is set to Z position of the entran 192 193 5. How to run the example 194 ------------------------- 195 196 Example can be run in interactive mode, with 197 198 ./HGCal_testbeam 199 200 It will execute init_vis.mac and vis.mac. 201 202 To run in a batch mode, specify the path to t 203 204 ./HGCal_testbeam run.mac 205 206 which will run 10 single-electron events, wit 207 The beam position is smeared with Gaussian wi 208 The momentum is smeared with Gaussian with si 209 Z beam position is set to -1 m. 210 Maximum step size in Si pixel is 20 um. 211 The name of the created file is output_eM_sme 212 213 6. Additional settings 214 ---------------------- 215 216 6.1. Particle input from ROOT file 217 ---------------------------------- 218 219 If ROOT is found by CMake, it allows to use R 220 the primary generator. See more in the descri 221 particle generator". 222 223 ./HGCal_testbeam readFromFile.mac 224 225 Macro readFromFile.mac can be used but name 226 be specified (not provided with the example) 227 be used in the validation with experimental