| 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 2 | %%% magic-tdas.tex -- template to write MAGIC-TDAS documents
|
|---|
| 3 | %%%-----------------------------------------------------------------
|
|---|
| 4 | %%% Kopyleft (K) 2000 J C Gonzalez
|
|---|
| 5 | %%% Max-Planck-Institut fuer Physik,
|
|---|
| 6 | %%% Foehringer Ring 6, 80805 Muenchen, Germany
|
|---|
| 7 | %%% E-mail: gonzalez@mppmu.mpg.de
|
|---|
| 8 | %%%-----------------------------------------------------------------
|
|---|
| 9 | %%% This program is free software; you can redistribute, copy,
|
|---|
| 10 | %%% modify, use it and its documentation for any purpose,
|
|---|
| 11 | %%% provided that the above copyright notice appear in all
|
|---|
| 12 | %%% copies and that both that copyright notice and this
|
|---|
| 13 | %%% permission notice appear in supporting documentation.
|
|---|
| 14 | %%%
|
|---|
| 15 | %%% This piece of code is distributed in the hope that it will
|
|---|
| 16 | %%% be useful, but WITHOUT ANY WARRANTY; without even the
|
|---|
| 17 | %%% implied warranty of FITNESS FOR A PARTICULAR PURPOSE.
|
|---|
| 18 | %%%
|
|---|
| 19 | %%% Although you can actually do whatever you want with this
|
|---|
| 20 | %%% file (following the copyright notice above), your are
|
|---|
| 21 | %%% strongly encouraged NOT to edit directly this file.
|
|---|
| 22 | %%% Instead, make a copy and edit the copy for your purposes.
|
|---|
| 23 | %%%
|
|---|
| 24 | %%% Modifying thie original file means that you actually have
|
|---|
| 25 | %%% the (very basic) knowledge needed to make things by your
|
|---|
| 26 | %%% own, and therefore... you will not get _any_ additional
|
|---|
| 27 | %%% support :-)
|
|---|
| 28 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 29 | %%% Last update: Time-stamp: <Thu Mar 2 09:31:41 CET 2000>
|
|---|
| 30 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 31 | %
|
|---|
| 32 | \documentclass[12pt]{article}
|
|---|
| 33 |
|
|---|
| 34 | \usepackage{magic-tdas}
|
|---|
| 35 |
|
|---|
| 36 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 37 | %% BEGIN DOCUMENT
|
|---|
| 38 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 39 | \begin{document}
|
|---|
| 40 |
|
|---|
| 41 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 42 | %% Please, for the formatting just include here the standard
|
|---|
| 43 | %% elements: title, author, date, plus TDAScode
|
|---|
| 44 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 45 | \title{ The Reflector simulation program v.0.5 }
|
|---|
| 46 | \author{A.Moralejo\\
|
|---|
| 47 | \texttt{<moralejo@pd.infn.it>}}
|
|---|
| 48 | \date{June 04, 2002\\}
|
|---|
| 49 | \TDAScode{MAGIC-TDAS 02-05\\ 020604/AMoralejo}
|
|---|
| 50 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 51 |
|
|---|
| 52 | %% title %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 53 | \maketitle
|
|---|
| 54 |
|
|---|
| 55 | %% abstract %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 56 | \begin{abstract}
|
|---|
| 57 | In this document we provide a brief description of Reflector program
|
|---|
| 58 | (version 0.5) and a guide to install and run it.
|
|---|
| 59 | \end{abstract}
|
|---|
| 60 |
|
|---|
| 61 | %% contents %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 62 | \thetableofcontents
|
|---|
| 63 |
|
|---|
| 64 | \newpage
|
|---|
| 65 |
|
|---|
| 66 | %% body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 67 |
|
|---|
| 68 | %------------------------------------------------------------
|
|---|
| 69 | \section{Introduction}
|
|---|
| 70 |
|
|---|
| 71 | The Reflector program was originally written by Jose Carlos Gonz\'alez
|
|---|
| 72 | and then improved by Harald Kornmayer. In September 2001 D. Bastieri
|
|---|
| 73 | and C. Bigongiari released a new version (v.0.4) to adapt it to a
|
|---|
| 74 | format change in the MMCS output. The Reflector program reads in MMCS
|
|---|
| 75 | output files (cerxxxxxx files from corsika) and writes an output file
|
|---|
| 76 | with the information about all the photons which reach the telescope
|
|---|
| 77 | focal plane (taking into account atmospheric and mirror absorption)
|
|---|
| 78 | and which are within the camera radius defined in the file
|
|---|
| 79 | {\bf magic.def}.
|
|---|
| 80 |
|
|---|
| 81 | %------------------------------------------------------------
|
|---|
| 82 | \section{Description of simulation}
|
|---|
| 83 |
|
|---|
| 84 | The main steps of the simulation are:
|
|---|
| 85 |
|
|---|
| 86 | \begin{enumerate}
|
|---|
| 87 |
|
|---|
| 88 | \item Atmospheric absorption.
|
|---|
| 89 |
|
|---|
| 90 | \item Checking if the photon hits the dish.
|
|---|
| 91 |
|
|---|
| 92 | \item Aluminum absorption.
|
|---|
| 93 |
|
|---|
| 94 | \item Determination of the mirror hitted.
|
|---|
| 95 |
|
|---|
| 96 | \item Mirror reflection.
|
|---|
| 97 |
|
|---|
| 98 | \item Checking if the photon is inside the camera borders.
|
|---|
| 99 |
|
|---|
| 100 | \item Calculation of photon arrival time on camera.
|
|---|
| 101 |
|
|---|
| 102 | \end{enumerate}
|
|---|
| 103 |
|
|---|
| 104 | The reflection of each mirror element is simulated in a realistic way
|
|---|
| 105 | by introducing a gaussian spread of the reflected photons positions on
|
|---|
| 106 | the camera plane. The sigma of this PSF is defined via the
|
|---|
| 107 | {\bf point\_spread} parameter in the telescope description file {\bf
|
|---|
| 108 | magic.def}, and has a value of 0.5 cm, which corresponds approximately
|
|---|
| 109 | to the quality of the MAGIC mirrors produced up to date. Also the
|
|---|
| 110 | possible misalignment of mirror elements is simulated (see section
|
|---|
| 111 | \ref{neededfiles}).
|
|---|
| 112 |
|
|---|
| 113 | \section{Notes on version 0.5}
|
|---|
| 114 |
|
|---|
| 115 | \begin{enumerate}
|
|---|
| 116 |
|
|---|
| 117 | \item An error was found by T. Hengstebeck in step 2 (see above) in version
|
|---|
| 118 | 0.4. This was the main reason for the release of this corrected
|
|---|
| 119 | version 0.5. The error was in {\bf ph2cph.c}, and was a confusion between
|
|---|
| 120 | {\it CORSIKA}'s coordinate system and the coordinate system of the
|
|---|
| 121 | telescope. The error had no effect when the telescope was pointing at
|
|---|
| 122 | zenith, but resulted on a loss of photons (which should have been
|
|---|
| 123 | reflected), which became larger with increasing $\theta$. The
|
|---|
| 124 | fractions of lost photons were negligible up to $\theta \simeq
|
|---|
| 125 | 10^\circ$ and then 0.006, 0.012, 0.019, 0.070, 0.286, 0.433
|
|---|
| 126 | respectively for $\theta = $ 15, 20, 25, 40, 60 and $70^\circ$.
|
|---|
| 127 |
|
|---|
| 128 | \item NEW VARIABLES: some variables which were unused in the event
|
|---|
| 129 | header of the output have changed meaning to incorporate
|
|---|
| 130 | some relevant items. The header size is the same as before, so this
|
|---|
| 131 | output files will be readable by all {\bf camera} versions at least up
|
|---|
| 132 | to 0.5. The twelve new variables (see header structure in section
|
|---|
| 133 | \ref{out}) are the following:
|
|---|
| 134 | %
|
|---|
| 135 | \begin{itemize}
|
|---|
| 136 | \item {\bf TelescopePhi, TelescopeTheta:} telescope orientation chosen in
|
|---|
| 137 | the input card (in degrees).
|
|---|
| 138 | \item {\bf ViewConeRadius:} if ViewConeRadius $> 0$, indicates the outer radius
|
|---|
| 139 | of the viewing cone chosen in {\it CORSIKA} via the \texttt{VIEWCONE}
|
|---|
| 140 | option for the random generation of the of the primaries' incidence
|
|---|
| 141 | directions. The inner radius is assumed 0, and the direction around
|
|---|
| 142 | which the cone is defined is given by the header variables {\bf ThetaMin},
|
|---|
| 143 | {\bf PhiMin} (which equal in that case {\bf ThetaMax}, {\bf PhiMax}). The
|
|---|
| 144 | \texttt{VIEWCONE} option should be the standard for MAGIC MC
|
|---|
| 145 | generation in the case of hadronic primaries. However, if ViewConeRadius
|
|---|
| 146 | is 0, it will mean that the \texttt{VIEWCONE} option has not been used and
|
|---|
| 147 | the generation of directions has been done in a ``square'' sky window
|
|---|
| 148 | {\bf (PhiMin, PhiMax), (ThetaMin, ThetaMax)}, as in older versions of
|
|---|
| 149 | {\it CORSIKA}.
|
|---|
| 150 | \item {\bf num\_mirrors:} total number of mirrors in the dish. For
|
|---|
| 151 | {\it historical} reasons we are using as default a dish with 920
|
|---|
| 152 | mirrors. This should perhaps be updated in the future to the final
|
|---|
| 153 | design with (may be) 956 mirrors. It is not a very critical detail,
|
|---|
| 154 | since the only difference will be a global change in the amount of
|
|---|
| 155 | light reaching the camera, and this amount depends also on other
|
|---|
| 156 | factors like mirror reflectivity (which in the real telescope will
|
|---|
| 157 | change with time).
|
|---|
| 158 | \item {\bf mean\_reflectivity:} mean value of the mirror reflectivity values
|
|---|
| 159 | in the range 270 - 610 nm, as read from the input file
|
|---|
| 160 | {\bf reflectivity.dat}. No spectral weighting is done on this mean, since at
|
|---|
| 161 | the time of the calculation the Cherenkov spectrum is not known by the
|
|---|
| 162 | program. In principle, we will still use a constant reflectivity value of 0.9,
|
|---|
| 163 | independent of wavelength, but this may change in the future to render
|
|---|
| 164 | the simulation more realistic.
|
|---|
| 165 | \item {\bf longi\_Nmax, logi\_t0, longi\_tmax, longi\_a, longi\_b, longi\_c,
|
|---|
| 166 | longi\_chi2:} longitudinal charged particle distribution
|
|---|
| 167 | parameters and $\chi^2$ of the fit. See {\it CORSIKA} manual for
|
|---|
| 168 | precise meaning of these (which changed slightly from version
|
|---|
| 169 | 5.61 onwards). The most important of them is {\bf longi\_tmax}, the
|
|---|
| 170 | atmospheric depth (in g/cm$^2$) of the shower maximum.
|
|---|
| 171 | \end{itemize}
|
|---|
| 172 | %
|
|---|
| 173 | \item We added an option to tell the Reflector program where (in
|
|---|
| 174 | {\it CORSIKA}'s
|
|---|
| 175 | coordinates) the telescope should be placed (see section
|
|---|
| 176 | \ref{opt}). This is important because the cerxxxxxx files contain only
|
|---|
| 177 | the photons which reach the ground
|
|---|
| 178 | near the telescope (in the standard mode of production for MAGIC,
|
|---|
| 179 | those hitting a sphere of 20 m diameter centered on the telescope),
|
|---|
| 180 | and the previous versions of Reflector only worked if the
|
|---|
| 181 | telescope was placed at its default position (0,0). For certain
|
|---|
| 182 | studies it is sometimes necessary to shift the telescope to a
|
|---|
| 183 | different position (for instance, to generate showers with impact
|
|---|
| 184 | point fixed with respect to the telescope).
|
|---|
| 185 |
|
|---|
| 186 | \item In the magic.def file which comes with Reflector\_0.5 the value of the
|
|---|
| 187 | parameter {\bf camera\_width} (radius around the center of the camera
|
|---|
| 188 | beyond which the photons are not written to the Reflector output file)
|
|---|
| 189 | has been changed from 100 to 70 cm, which allows to reduce the size of
|
|---|
| 190 | the output files, while it is a value safe enough to keep all the
|
|---|
| 191 | photons needed by the camera program.
|
|---|
| 192 |
|
|---|
| 193 | \item Removed some useless bits of code: in previous versions a
|
|---|
| 194 | binary file, {\bf magic.def.mirr}, containing the mirror data was
|
|---|
| 195 | created once the ASCII file {\bf magic.def} was read. Later, everytime the
|
|---|
| 196 | Reflector was run, it read the mirror data from magi.def.mirr. Now
|
|---|
| 197 | magic.def.mirr has been suppressed and the data are always read from
|
|---|
| 198 | magic.def. Another obsolete file, {\bf focals.dat} has been removed
|
|---|
| 199 | from the {\bf Data/} directory.
|
|---|
| 200 |
|
|---|
| 201 | \end{enumerate}
|
|---|
| 202 |
|
|---|
| 203 | %------------------------------------------------------------
|
|---|
| 204 | \section{How to Install Reflector Program \label{installation}}
|
|---|
| 205 |
|
|---|
| 206 | You can get the current version of the Reflector Program from the
|
|---|
| 207 | MAGIC web page: \\
|
|---|
| 208 | {\bf http://hegra1.mppmu.mpg.de/MAGICWeb/ }\\
|
|---|
| 209 | You can find
|
|---|
| 210 | the latest public version of this program as tarred gzipped file in
|
|---|
| 211 | the Monte Carlo Download area (you need the usual password). You have to
|
|---|
| 212 | download the file reflector\_0.5.tar.gz and then follow the
|
|---|
| 213 | instructions below:
|
|---|
| 214 |
|
|---|
| 215 | \begin{description}
|
|---|
| 216 | \item[Decompress the file using:]
|
|---|
| 217 | gunzip reflector*.tar.gz
|
|---|
| 218 | \item[Unpack the tar file with:]
|
|---|
| 219 | tar xvf reflector*.tar
|
|---|
| 220 | \item[Make symbolic links running the script:]
|
|---|
| 221 | refl-install
|
|---|
| 222 | \item[Go to the directory where the source files are:]
|
|---|
| 223 | cd MagicProgs/Simulation/Detector/Reflector\_0.5/
|
|---|
| 224 | \item[Check if all dependencies are fulfilled:]
|
|---|
| 225 | make depend
|
|---|
| 226 | \item[Compile the program:]
|
|---|
| 227 | make
|
|---|
| 228 | \end{description}
|
|---|
| 229 |
|
|---|
| 230 | If everything goes right you should have an executable file called
|
|---|
| 231 | {\bf reflector}.
|
|---|
| 232 |
|
|---|
| 233 | %------------------------------------------------------------
|
|---|
| 234 | \section{How to Run Reflector Program \label{running}}
|
|---|
| 235 |
|
|---|
| 236 | You need a steering card to run the Reflector program. You can find an
|
|---|
| 237 | example in the {\bf MagicProgs/Simulation/Detector/Reflector\_0.5/input.card}
|
|---|
| 238 | file. You have to modify this file according to your needs (see below
|
|---|
| 239 | for instructions about steering card) and then run the program with the
|
|---|
| 240 | following statement:\\
|
|---|
| 241 |
|
|---|
| 242 | \hspace{1cm}{\bf reflector $<$ input.card}
|
|---|
| 243 |
|
|---|
| 244 | %------------------------------------------------------------
|
|---|
| 245 | \section{Needed Files \label{neededfiles}}
|
|---|
| 246 |
|
|---|
| 247 | The Reflector program needs some other files to run. These files are
|
|---|
| 248 | the following:
|
|---|
| 249 | \begin{itemize}
|
|---|
| 250 | \item {\bf magic.def}: contains the description of MAGIC telescope
|
|---|
| 251 | geometry, together with some other parameters needed by the Reflector
|
|---|
| 252 | program.
|
|---|
| 253 | \item {\bf axisdev.dat}: contains data to simulate the possible
|
|---|
| 254 | deviation of the spot of each single mirror on the camera plane due
|
|---|
| 255 | to its non perfect alignment. The values are x, y coordinates
|
|---|
| 256 | distributed at random (according to a gaussian with $\sigma \simeq
|
|---|
| 257 | 0.5$ cm).
|
|---|
| 258 | \item {\bf reflectivity.dat}: contains the mirror reflectivity index as
|
|---|
| 259 | a function of the wavelength.
|
|---|
| 260 | \end{itemize}
|
|---|
| 261 |
|
|---|
| 262 | All these files are usually in the {\bf
|
|---|
| 263 | MagicProgs/Simulation/Detector/Data/} directory and in principle you
|
|---|
| 264 | should {\bf not} make any change in them.
|
|---|
| 265 |
|
|---|
| 266 | %------------------------------------------------------------
|
|---|
| 267 | \section{Steering Card}
|
|---|
| 268 |
|
|---|
| 269 | The steering card sets all the parameters and options
|
|---|
| 270 | to steer the reflection simulation. Each line of the steering card is
|
|---|
| 271 | a statement with its parameters, if it is the case. Lines beginning
|
|---|
| 272 | with \# are considered comments. The Reflector program parses all the
|
|---|
| 273 | lines sequentially. Then if you repeat a statement with different
|
|---|
| 274 | options only the last one will be considered.
|
|---|
| 275 |
|
|---|
| 276 | \subsection{Mandatory Commands}
|
|---|
| 277 |
|
|---|
| 278 | \begin{description}
|
|---|
| 279 |
|
|---|
| 280 | \item[reflector 0.5]
|
|---|
| 281 |
|
|---|
| 282 | This statement must be the first line of the steering card
|
|---|
| 283 | file. The Reflector program checks it to verify if it is reading
|
|---|
| 284 | a steering card.
|
|---|
| 285 |
|
|---|
| 286 | \item[output\_file /disk99/reflex/Gamma\_0\_7\_1001to1010\_w0.rfl]
|
|---|
| 287 |
|
|---|
| 288 | The output\_file command specifies the name and the
|
|---|
| 289 | path of the output file. The path can be absolute, like in the
|
|---|
| 290 | example above, or relative. Although any name can be used,
|
|---|
| 291 | conventionally the Reflector program
|
|---|
| 292 | output file name has the .rfl extension, and starts with
|
|---|
| 293 | the primary particle name. The first number indicates the
|
|---|
| 294 | zenith angle of the incident primaries, the second one
|
|---|
| 295 | indicates the production site (7 is for Padua) and is related
|
|---|
| 296 | to the random number generator seed used by CORSIKA. Then the run
|
|---|
| 297 | number range is shown (10 runs in this case, from 1001 to
|
|---|
| 298 | 1010). Each run corresponds to 10000 showers. Finally, the
|
|---|
| 299 | label "w0" means no wobble mode was used (telescope pointing
|
|---|
| 300 | at the source). Alternatively, the "w+" or "w-" labels (only
|
|---|
| 301 | in gamma files) refer to the two pointings in the
|
|---|
| 302 | Wobble-observation mode (see TDAS 01-05 by W. Wittek).
|
|---|
| 303 |
|
|---|
| 304 | \item[ct\_file ../Data/magic.def]
|
|---|
| 305 |
|
|---|
| 306 | The ct\_file statement defines where the program can find the
|
|---|
| 307 | telescope characteristics. The path in the example above is
|
|---|
| 308 | correct to run reflector in
|
|---|
| 309 | MagicProgs/Simu\-la\-tion/De\-tector/Reflector\_0.5/ directory.
|
|---|
| 310 | If you want to run it in a different directory you have to modify the
|
|---|
| 311 | path accordingly.
|
|---|
| 312 |
|
|---|
| 313 | \item[atm\_model ATM\_CORSIKA]
|
|---|
| 314 | The atm\_model statement says to the program what kind of
|
|---|
| 315 | atmospheric absorption model to use. Possible choices are:
|
|---|
| 316 | ATM\_CORSIKA, ATM\_ISO\-THERMAL, ATM\_90\-PER\-CENT and
|
|---|
| 317 | ATM\_NO\-ATMO\-SPHE\-RE.
|
|---|
| 318 |
|
|---|
| 319 | \item[fixed\_target 0. 90.]
|
|---|
| 320 |
|
|---|
| 321 | This statement fixes the telescope axis position. The first
|
|---|
| 322 | number is the zenith angle $\theta$ (deg) while the second is
|
|---|
| 323 | the azimuthal angle $\phi$ (deg). This corresponds to {\it
|
|---|
| 324 | CORSIKA}'s definition of primary particle incident direction
|
|---|
| 325 | (see {\it CORSIKA} manual). $\phi = 90^\circ$ means that the
|
|---|
| 326 | telescope is pointing towards East (bear in mind that in {\it
|
|---|
| 327 | CORSIKA} $(\phi, \theta)$ indicates the direction of the {\it
|
|---|
| 328 | momentum} of the incident particle).
|
|---|
| 329 |
|
|---|
| 330 |
|
|---|
| 331 | \item[cer\_files]
|
|---|
| 332 |
|
|---|
| 333 | All the lines following this statement are considered files to
|
|---|
| 334 | be processed by the Reflector program, one for each line,
|
|---|
| 335 | eventually with their paths (see the example below). Therefore this
|
|---|
| 336 | command must be the last one.\\
|
|---|
| 337 | \\
|
|---|
| 338 | cer\_files\\
|
|---|
| 339 | /disk99/cer001001\\
|
|---|
| 340 | /disk99/cer001002\\
|
|---|
| 341 | /disk99/cer001003\\
|
|---|
| 342 | ........ \\
|
|---|
| 343 | /disk99/cer001009\\
|
|---|
| 344 | /disk99/cer001010\\
|
|---|
| 345 | \\
|
|---|
| 346 | The cer file name can be followed by two numbers, for example:
|
|---|
| 347 | \\
|
|---|
| 348 | /disk99/cer001001 376 5723\\
|
|---|
| 349 | \\
|
|---|
| 350 | In this case the program processes only the events between and
|
|---|
| 351 | including the numbers given.
|
|---|
| 352 |
|
|---|
| 353 | \end{description}
|
|---|
| 354 |
|
|---|
| 355 | \subsection{Optional Commands \label{opt}}
|
|---|
| 356 |
|
|---|
| 357 | \begin{description}
|
|---|
| 358 |
|
|---|
| 359 | \item[verbose\_level 1]
|
|---|
| 360 |
|
|---|
| 361 | Sets the quantity of information printed out by Reflector
|
|---|
| 362 | when running. Possible values are 0 to 4
|
|---|
| 363 |
|
|---|
| 364 | \item[max\_events 50000]
|
|---|
| 365 |
|
|---|
| 366 | Fixes the maximum number of events to process.
|
|---|
| 367 |
|
|---|
| 368 | \item[energy\_cuts 100 1000]
|
|---|
| 369 |
|
|---|
| 370 | This statement forces the Reflector to process only showers
|
|---|
| 371 | with primary energy between the given values (GeV).
|
|---|
| 372 |
|
|---|
| 373 | \item[seeds n1 n2]
|
|---|
| 374 |
|
|---|
| 375 | Seeds for the random number generators to used by the program
|
|---|
| 376 | for the simulation of the absorption (both in the atmosphere
|
|---|
| 377 | and on the mirror). Default values are 3141592 and
|
|---|
| 378 | 2718182.
|
|---|
| 379 |
|
|---|
| 380 | \item[telescope\_position x y]
|
|---|
| 381 |
|
|---|
| 382 | Option included in version 0.5 of Reflector. Usually it is
|
|---|
| 383 | not needed, since for normal MC production for MAGIC the
|
|---|
| 384 | telescope is placed at the origin of coordinates (0,0). But,
|
|---|
| 385 | if for some reason, we produce cerxxxxxx files with the
|
|---|
| 386 | telescope in a different position, we must inform the
|
|---|
| 387 | Reflector program in the input card using this option
|
|---|
| 388 | (otherwise Reflector will fail to {\it find} the photons
|
|---|
| 389 | in the cer file).
|
|---|
| 390 |
|
|---|
| 391 | \item[reflectivity\_file /path/reflectivity.dat]
|
|---|
| 392 |
|
|---|
| 393 | File containing mirror reflectivity as a function of
|
|---|
| 394 | wavelength (see section \ref{neededfiles}). If this option is
|
|---|
| 395 | not supplied, the program will look for
|
|---|
| 396 | ``../Data/reflectivity.dat'' as previous versions of
|
|---|
| 397 | Reflector did.
|
|---|
| 398 |
|
|---|
| 399 | \item[axisdev\_file /path/axisdev.dat]
|
|---|
| 400 |
|
|---|
| 401 | File containing single mirror spot deviation in {\bf x} and
|
|---|
| 402 | {\bf y} on the camera in cm (see section
|
|---|
| 403 | \ref{neededfiles}) for each mirror. If this option is not
|
|---|
| 404 | supplied, the program will look for ``../Data/axisdev.dat''
|
|---|
| 405 | as previous versions of Reflector did.
|
|---|
| 406 |
|
|---|
| 407 | \end{description}
|
|---|
| 408 |
|
|---|
| 409 | %------------------------------------------------------------
|
|---|
| 410 | \section{Output file \label{out}}
|
|---|
| 411 |
|
|---|
| 412 | The output file begins with some ascii lines:\\
|
|---|
| 413 | \\
|
|---|
| 414 | \verb"reflector 0.5" \\
|
|---|
| 415 | \verb"START---RUN" \\
|
|---|
| 416 | \verb"START-EVENT" \\
|
|---|
| 417 | After the \verb"START-EVENT" flag there is a blank line and then the
|
|---|
| 418 | binary event header, which contains the following informations (each
|
|---|
| 419 | variable is a 4-byte float number):
|
|---|
| 420 | \\
|
|---|
| 421 |
|
|---|
| 422 | \begin{tabular}{ll}
|
|---|
| 423 |
|
|---|
| 424 | Variable & Description \\
|
|---|
| 425 | \hline
|
|---|
| 426 |
|
|---|
| 427 | EvtNumber & Event Number \\
|
|---|
| 428 | PrimaryID & Primary particle identification code \\
|
|---|
| 429 | Etotal & Primary particle total energy (GeV) \\
|
|---|
| 430 | Thick0 & CORSIKA's starting altitude in g/cm2 \\
|
|---|
| 431 | FirstTarget & CORSIKA's number of first target if fixed \\
|
|---|
| 432 | zFirstInt & Height of first interaction in cm \\
|
|---|
| 433 | p[3] & Primary particle momentum in x,y,-z directions (GeV) \\
|
|---|
| 434 | Theta & Primary particle zenith angle (rad) \\
|
|---|
| 435 | Phi & Primary particle azimuth angle (rad) \\
|
|---|
| 436 |
|
|---|
| 437 | NumRndSeq & Number of different CORSIKA random sequences (max. 10) \\
|
|---|
| 438 | RndData[10][3] & RndData[i][0]: integer seed of sequence i \\
|
|---|
| 439 | & RndData[i][1]: number of offset random calls (mod
|
|---|
| 440 | $10^6$) of sequence i. \\
|
|---|
| 441 | & RndData[i][2]: number of offset random calls ($/
|
|---|
| 442 | 10^6$) of sequence i. \\
|
|---|
| 443 |
|
|---|
| 444 | RunNumber & Run number \\
|
|---|
| 445 | DateRun & Date of run yymmdd \\
|
|---|
| 446 | Corsika\_version & Version of {\it CORSIKA} \\
|
|---|
| 447 |
|
|---|
| 448 | NumObsLev & Number of observation levels (should be always 1 for
|
|---|
| 449 | us) \\
|
|---|
| 450 | HeightLev & Height of observation level in cm \\
|
|---|
| 451 | num\_mirrors & Number of mirrors \\
|
|---|
| 452 | mean\_reflectivity & Mean reflectivity between 270 and 610 nm \\
|
|---|
| 453 | & \\
|
|---|
| 454 | & 6 next variables: CORSIKA longitudinal particle fit parameters \\
|
|---|
| 455 | & \hspace{0.5cm} (see CORSIKA manual for precise meaning and units)\\
|
|---|
| 456 | longi\_Nmax & Numer of charged particles at maximum \\
|
|---|
| 457 | longi\_t0 & Atmospheric depth of shower starting point (N=0) \\
|
|---|
| 458 | longi\_tmax & Atmospheric depth of shower maximum (g/cm$^2$) \\
|
|---|
| 459 | longi\_a & \\
|
|---|
| 460 | longi\_b & For {\bf longi\_a}, {\bf longi\_b}, {\bf longi\_c}, see CORSIKA manual \\
|
|---|
| 461 | longi\_c & \\
|
|---|
| 462 | longi\_chi2 & $\chi^2/dof$ of the fit\\
|
|---|
| 463 | & \\
|
|---|
| 464 | SlopeSpec & Energy spectrum slope \\
|
|---|
| 465 | ELowLim & Energy lower limit (GeV) \\
|
|---|
| 466 | EUppLim & Energy upper limit (GeV) \\
|
|---|
| 467 |
|
|---|
| 468 | ThetaMin & Minimum Theta of primaries (deg) \\
|
|---|
| 469 | ThetaMax & Maximum Theta of primaries (deg) \\
|
|---|
| 470 | PhiMin & Minimum Phi of primaries (deg) \\
|
|---|
| 471 | PhiMax & Maximum Phi of primaries (deg) \\
|
|---|
| 472 |
|
|---|
| 473 | CWaveLower & Wavelength lower limit (nm) \\
|
|---|
| 474 | CWaveUpper & Wavelength upper limit (nm) \\
|
|---|
| 475 | CorePos[2][20] & Core positions of randomized shower \\
|
|---|
| 476 | TimeFirst & Arrival time on camera of first photon (ns) \\
|
|---|
| 477 | TimeLast & Arrival time on camera of last photon (ns) \\
|
|---|
| 478 |
|
|---|
| 479 | & Next three variables changed meaning in version 0.5: \\
|
|---|
| 480 |
|
|---|
| 481 | telescopePhi & Telescope azimuth (rad). Measured from South, counter-clockwise \\
|
|---|
| 482 | telescopeTheta & Telescope zenith angle (rad) \\
|
|---|
| 483 |
|
|---|
| 484 | ViewConeRadius & Outer radius (deg) in {\it CORSIKA}'s VIEWCONE
|
|---|
| 485 | option, if used. Inner r is assumed 0.\\
|
|---|
| 486 |
|
|---|
| 487 |
|
|---|
| 488 | \hline
|
|---|
| 489 | \end{tabular}
|
|---|
| 490 | %
|
|---|
| 491 | \newpage
|
|---|
| 492 | %
|
|---|
| 493 | \begin{tabular}{ll}
|
|---|
| 494 |
|
|---|
| 495 | Variable & Description \\
|
|---|
| 496 | \hline
|
|---|
| 497 |
|
|---|
| 498 |
|
|---|
| 499 | CORSIKAPhs & Original photons written by {\it CORSIKA} \\
|
|---|
| 500 | AtmAbsPhs & Photons absorbed by the atmosphere \\
|
|---|
| 501 | MirrAbsPhs & Photons absorbed by the mirror \\
|
|---|
| 502 | OutOfMirrPhs & Photons outside the mirror \\
|
|---|
| 503 | BlackSpotPhs & Photons lost in the "black spot" \\
|
|---|
| 504 | OutOfChamPhs & Photons outside the camera \\
|
|---|
| 505 | CPhotons & Photons reaching the camera \\
|
|---|
| 506 |
|
|---|
| 507 | \hline
|
|---|
| 508 | \end{tabular}
|
|---|
| 509 |
|
|---|
| 510 | \vspace*{1cm}
|
|---|
| 511 | The event header is followed by 8-word blocks, one for each photon
|
|---|
| 512 | that reaches the camera. A photon block contains the following
|
|---|
| 513 | variables:
|
|---|
| 514 |
|
|---|
| 515 | \begin{tabular}{ll}
|
|---|
| 516 | Variable & Description \\
|
|---|
| 517 | \hline
|
|---|
| 518 | w & Wavelength (nm) \\
|
|---|
| 519 | x, y & Impact point in camera coordinates (cm) \\
|
|---|
| 520 | u, v & Director cosines \\
|
|---|
| 521 | t & Arrival time on camera (ns) \\
|
|---|
| 522 | h & Production height (cm) \\
|
|---|
| 523 | phi & Incidence angle with respect to camera plane (rad) \\
|
|---|
| 524 | \hline
|
|---|
| 525 | \end{tabular}
|
|---|
| 526 |
|
|---|
| 527 | After the last event photon block there is a blank line, an \verb$END---EVENT$
|
|---|
| 528 | flag, another blank line and then the following event. After the last
|
|---|
| 529 | event in a run it appears the flag \verb$END-----RUN$, while after every
|
|---|
| 530 | processed runs, you can find a \verb$END----FILE$ flag.
|
|---|
| 531 |
|
|---|
| 532 |
|
|---|
| 533 | %------------------------------------------------------------
|
|---|
| 534 |
|
|---|
| 535 | \section{Future improvements}
|
|---|
| 536 | Possible improvements of the reflector simulation could be:
|
|---|
| 537 | \begin{enumerate}
|
|---|
| 538 | \item Introduce dependence of mirror reflectivity as a function of
|
|---|
| 539 | wavelength using recent measurements performed on real mirrors.
|
|---|
| 540 | \item Adittion of a Run header: some parameters which are the same for
|
|---|
| 541 | each run are still kept (again for historical reasons) in the event
|
|---|
| 542 | header. It would be better to move them to a Run header. This has not
|
|---|
| 543 | yet been implemented in this version in order to make it compatible with
|
|---|
| 544 | the corresponding version of the {\it camera} program. I would also
|
|---|
| 545 | allow to include more detailed information on the used telescope
|
|---|
| 546 | geometry (number and position of mirrors) and reflectivity (as a
|
|---|
| 547 | function of wavelength).
|
|---|
| 548 | \end{enumerate}
|
|---|
| 549 | \par
|
|---|
| 550 | Please contact \texttt{moralejo@pd.infn.it}. for suggestions on other
|
|---|
| 551 | features to be implemented in future versions.
|
|---|
| 552 |
|
|---|
| 553 | \section{Appendix}
|
|---|
| 554 |
|
|---|
| 555 | The list of all Reflector files follows.
|
|---|
| 556 | \begin{verbatim}
|
|---|
| 557 |
|
|---|
| 558 | refl-install
|
|---|
| 559 |
|
|---|
| 560 | MagicProgs/Simulation/Detector/Reflector_0.5/Makefile
|
|---|
| 561 | MagicProgs/Simulation/Detector/Reflector_0.5/atm.c
|
|---|
| 562 | MagicProgs/Simulation/Detector/Reflector_0.5/atm.h
|
|---|
| 563 | MagicProgs/Simulation/Detector/Reflector_0.5/attenu.f
|
|---|
| 564 | MagicProgs/Simulation/Detector/Reflector_0.5/config.mk.linux
|
|---|
| 565 | MagicProgs/Simulation/Detector/Reflector_0.5/config.mk.linux-gnu
|
|---|
| 566 | MagicProgs/Simulation/Detector/Reflector_0.5/config.mk.osf1
|
|---|
| 567 | MagicProgs/Simulation/Detector/Reflector_0.5/diag.c
|
|---|
| 568 | MagicProgs/Simulation/Detector/Reflector_0.5/diag.h
|
|---|
| 569 | MagicProgs/Simulation/Detector/Reflector_0.5/geometry.c
|
|---|
| 570 | MagicProgs/Simulation/Detector/Reflector_0.5/geometry.h
|
|---|
| 571 | MagicProgs/Simulation/Detector/Reflector_0.5/header.c
|
|---|
| 572 | MagicProgs/Simulation/Detector/Reflector_0.5/header.h
|
|---|
| 573 | MagicProgs/Simulation/Detector/Reflector_0.5/init.c
|
|---|
| 574 | MagicProgs/Simulation/Detector/Reflector_0.5/init.h
|
|---|
| 575 | MagicProgs/Simulation/Detector/Reflector_0.5/input.card
|
|---|
| 576 | MagicProgs/Simulation/Detector/Reflector_0.5/lagrange.h
|
|---|
| 577 | MagicProgs/Simulation/Detector/Reflector_0.5/parms.c
|
|---|
| 578 | MagicProgs/Simulation/Detector/Reflector_0.5/parms.h
|
|---|
| 579 | MagicProgs/Simulation/Detector/Reflector_0.5/ph2cph.c
|
|---|
| 580 | MagicProgs/Simulation/Detector/Reflector_0.5/reflector.c
|
|---|
| 581 | MagicProgs/Simulation/Detector/Reflector_0.5/version.h
|
|---|
| 582 |
|
|---|
| 583 | MagicProgs/Simulation/Detector/Reflector_0.5/doc/magic-tdas.sty
|
|---|
| 584 | MagicProgs/Simulation/Detector/Reflector_0.5/doc/magiclogo.eps
|
|---|
| 585 | MagicProgs/Simulation/Detector/Reflector_0.5/doc/Tdas0205.ps
|
|---|
| 586 | MagicProgs/Simulation/Detector/Reflector_0.5/doc/Tdas0205.tex
|
|---|
| 587 |
|
|---|
| 588 | MagicProgs/Simulation/Detector/Data/axisdev.dat
|
|---|
| 589 | MagicProgs/Simulation/Detector/Data/magic.def
|
|---|
| 590 | MagicProgs/Simulation/Detector/Data/reflectivity.dat
|
|---|
| 591 |
|
|---|
| 592 |
|
|---|
| 593 | \end{verbatim}
|
|---|
| 594 |
|
|---|
| 595 | %%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 596 |
|
|---|
| 597 | %%>>>> Use the following if you are using BibTeX for bibliography
|
|---|
| 598 | %\theBibliography
|
|---|
| 599 |
|
|---|
| 600 | %%>>>> Or the following if you include here by hand your
|
|---|
| 601 | %%>>>> bibliographic entries
|
|---|
| 602 |
|
|---|
| 603 | \end{document}
|
|---|
| 604 | %
|
|---|
| 605 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 606 | %%% Upper-case A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
|---|
| 607 | %%% Lower-case a b c d e f g h i j k l m n o p q r s t u v w x y z
|
|---|
| 608 | %%% Digits 0 1 2 3 4 5 6 7 8 9
|
|---|
| 609 | %%% Exclamation ! Double quote " Hash (number) #
|
|---|
| 610 | %%% Dollar $ Percent % Ampersand &
|
|---|
| 611 | %%% Acute accent ' Left paren ( Right paren )
|
|---|
| 612 | %%% Asterisk * Plus + Comma ,
|
|---|
| 613 | %%% Minus - Point . Solidus /
|
|---|
| 614 | %%% Colon : Semicolon ; Less than <
|
|---|
| 615 | %%% Equals = Greater than > Question mark ?
|
|---|
| 616 | %%% At @ Left bracket [ Backslash \
|
|---|
| 617 | %%% Right bracket ] Circumflex ^ Underscore _
|
|---|
| 618 | %%% Grave accent ` Left brace { Vertical bar |
|
|---|
| 619 | %%% Right brace } Tilde ~
|
|---|
| 620 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|---|
| 621 | %% Local Variables:
|
|---|
| 622 | %% mode:latex
|
|---|
| 623 | %% mode:font-lock
|
|---|
| 624 | %% mode:auto-fill
|
|---|
| 625 | %% time-stamp-line-limit:100
|
|---|
| 626 | %% End:
|
|---|
| 627 | %% EOF
|
|---|