| 1 | formato | 1.1 | Last update: V. Formato | 
| 2 |  |  |  | 
| 3 |  |  | @ PREAMBLE | 
| 4 |  |  | This text will help you in installation of PamVMC simulator. This document will be | 
| 5 |  |  | updated after next release of tools. | 
| 6 |  |  | Installation was done on a SL5 machine, kernel 2.6.18-348.18.1.el5, | 
| 7 |  |  | gcc version 4.7.0 | 
| 8 |  |  | Everything was compiled under ROOT v. 5.34. PAMELA software (9th reduction) was corrected | 
| 9 |  |  | to be compiled (see list of changes below). PAMELA libraries were compiled, but  executables, | 
| 10 |  |  | like chewbacca still doesn't work (need to be corrected). Anyway, PamVMC needs only the libraries | 
| 11 |  |  | to get information about the magnetic field. To proceess data, you should have | 
| 12 |  |  | a standard PAMELA SW installaton under previous version of ROOT (5.26). @ | 
| 13 |  |  |  | 
| 14 |  |  | This is a list of tools for the installation: | 
| 15 |  |  | GEANT 4.9.6.p01 | 
| 16 |  |  | ROOT v. 5.34 | 
| 17 |  |  | VGM v.3.06 | 
| 18 |  |  | xerces-c-3.1.1 | 
| 19 |  |  | PAMELA 9th reduction software (should be corrected by yourself if any problems) | 
| 20 |  |  |  | 
| 21 |  |  | In /scripts directory you will find examples of scripts that does an export of | 
| 22 |  |  | ALL enviroment variables for this installation. Please check them with yours. | 
| 23 |  |  |  | 
| 24 |  |  | 1) @install GEANT 4.9.6.p01@  (also includes CHLEP) | 
| 25 |  |  | mkdir cern | 
| 26 |  |  | cd /cern | 
| 27 |  |  | tar -xvf geant4.9.6.p01.tar.gz | 
| 28 |  |  | mkdir geant4.9.6.p01-build | 
| 29 |  |  | mkdir geant4.9.6.p01-install | 
| 30 |  |  | ln -s geant4.9.6.p01-install G4 | 
| 31 |  |  | cd geant4.9.6.p01-build | 
| 32 |  |  | export CFLAGS=-m32 | 
| 33 |  |  | export CXXFLAGS=-m32 | 
| 34 |  |  | cmake -DCMAKE_INSTALL_PREFIX=$PWD/../geant4.9.6.p01-install/ -DGEANT4_INSTALL_DATA=ON ../geant4.9.6.p01 | 
| 35 |  |  | ccmake ../geant4.9.6.p01 | 
| 36 |  |  | @@@ Enable the following flags: | 
| 37 |  |  | - GEANT4_USE_G3TOG4 | 
| 38 |  |  | - GEANT4_USE_GDML | 
| 39 |  |  | - GEANT4_USE_OPENGL_X11 | 
| 40 |  |  | - GEANT4_USE_SYSTEM_EXPAT | 
| 41 |  |  | make -j4 | 
| 42 |  |  | make install | 
| 43 |  |  | cd geant4.9.6.p01-install | 
| 44 |  |  | ln -s bin/geant4.sh env.sh | 
| 45 |  |  | cd .. | 
| 46 | formato | 1.2 | 1a)@source the geant4 environmental variables! | 
| 47 |  |  | source G4/env.sh | 
| 48 | formato | 1.1 |  | 
| 49 |  |  | 2) @ installation of ROOT v. 5.34 @ | 
| 50 |  |  | @ put root_v5.34.04.source.tar.gz in /cern @ | 
| 51 |  |  | cd /cern | 
| 52 |  |  | tar -zxvf root_v5.34.04.source.tar.gz | 
| 53 |  |  | mv root root_v5.34 | 
| 54 |  |  | ln -s root_v5.34 root | 
| 55 |  |  | source G4/env.sh | 
| 56 |  |  | export ROOTSYS=$PWD/root | 
| 57 |  |  | ./configure linux --all --enable-builtin-pcre --disable-castor | 
| 58 |  |  | make | 
| 59 |  |  |  | 
| 60 |  |  | 3) @installation of xerces v.3.1.1@ | 
| 61 |  |  | tar -xvf xerces-c-3.1.1.tar.gz | 
| 62 |  |  | ./configure --build=i686 --prefix $PWD | 
| 63 |  |  | make | 
| 64 |  |  | make install | 
| 65 |  |  |  | 
| 66 |  |  | 4) @installation of VGM v.3.06@ | 
| 67 |  |  | @Note: VGM is needed to convert ROOT-defined geomery in GEANT4. So, you need | 
| 68 |  |  | install VGM only if you plan to use in RunConfiguration of your application | 
| 69 |  |  | an option "geomRootToGeant4" - geometry defined in Root, but GEANT4 navigation. | 
| 70 |  |  | By default, in PamVMC option "geomRoot" was defined because GEANT4 has no | 
| 71 |  |  | option ONLY/MANY, so if I use "geomRootToGeant4" translation could be wrong (WARNING!). | 
| 72 |  |  | But if you wish to do some run-time visualization, like showers, you should use | 
| 73 |  |  | VGM libraries and option "geomRootToGeant4" in PamVMC Run configuration.@ | 
| 74 |  |  |  | 
| 75 |  |  | @ get archive from http://ivana.home.cern.ch/ivana/VGM.html and put in in /cern @ | 
| 76 |  |  | cd /cern | 
| 77 |  |  | tar zxf v3-06.tar.gz | 
| 78 |  |  | mkdir vgm.3.06-build | 
| 79 |  |  | mkdir vgm.3.06-install | 
| 80 |  |  | ln -s vgm.3.06-install VGM | 
| 81 |  |  | emacs -nw VGM/config/geant4.gmk | 
| 82 |  |  | @ correct line 23: CPPFLAGS += -I$(G4INCLUDE) on some machines @ | 
| 83 |  |  | cd VGM | 
| 84 |  |  | ./autoconf/configure --with-clhep-include=$PWD/../geant4.9.6.p01-install/include/Geant4/ --with-clhep-libdir=$PWD/../geant4.9.6.p01-install/lib/ --with-geant4=/$PWD/../geant4.9.6.p01-install/ --with-xerces=$PWD/../xerces-c-3.1.1/ --with-root=$PWD/../root/ | 
| 85 |  |  | make | 
| 86 |  |  |  | 
| 87 |  |  | 5) Installation of PAMELA software | 
| 88 |  |  |  | 
| 89 | formato | 1.2 | @ Follow the standard instructions for the installation of PAMELA software and source the enviroment @ | 
| 90 | formato | 1.1 |  | 
| 91 |  |  |  | 
| 92 |  |  | 6) Installation of geant4_vmc | 
| 93 |  |  |  | 
| 94 |  |  | @get source ftp://root.cern.ch/root/vmc/geant4_vmc.2.14a.tar.gz and put in /cern @ | 
| 95 |  |  | cd /cern | 
| 96 |  |  | tar -zxvf geant4_vmc.2.14a.tar.gz | 
| 97 |  |  | cd geant4_vmc | 
| 98 |  |  | @edit `root-config --etcdir`/vmc/Makefile.linux and add the -m32 flag to the OPT variable and empty the variable SHLIB@ | 
| 99 |  |  | make | 
| 100 |  |  |  | 
| 101 |  |  | 7) Installation of PamVMC | 
| 102 |  |  |  | 
| 103 |  |  | @Before you start, do an export of PAM_VMC env.  variable to the source directory | 
| 104 |  |  | In case if you wish to use PamVMC with GEANT4 you should go to $(PAM_VMC)/PamG4RunConfiguration @ | 
| 105 |  |  | make clean | 
| 106 |  |  | make | 
| 107 |  |  | @ this will produce a libPamG4RunConfiguration.so library in $(PAM_VMC)/lib/tgt_$(PLATFORM) @ | 
| 108 |  |  | cd $(PAM_VMC) | 
| 109 |  |  | make | 
| 110 |  |  | @ after this step an application library $(PAM_VMC)/lib/tgt_$(PLATFORM)/libPamVMC_fc.so will be compiled | 
| 111 |  |  | and some calibration files will be copied from $(PAM_VMC)/aux@ | 
| 112 |  |  | @ do an export | 
| 113 |  |  | export LD_LIBRARY_PATH=$(PAM_VMC)/lib/tgt_$(PLATFORM):$(LD_LIBRARY_PATH) | 
| 114 |  |  |  | 
| 115 |  |  | @ in $(PAM_VMC)/examples you can find an example of usage @ | 
| 116 |  |  | @ For more details please look inside $(PAM_VMC)/include PamVMCPrimaryGenerator.h and PamVMCDetectorHit.h @ | 
| 117 |  |  |  | 
| 118 |  |  |  | 
| 119 |  |  | @From here on old instructions: | 
| 120 |  |  |  | 
| 121 |  |  | /////////////EXTERNAL DIGITIZER///////////////// | 
| 122 |  |  | In aux/PamVMVDigitizer you can find a source code of stand-alone digitizer. Just do make. | 
| 123 |  |  | There are only 3 parameters: input root-file name, output raw-filename and integer random seed. | 
| 124 |  |  | If you specify 0, then TRandom3(0) object will be created. All digitizers use this object. | 
| 125 |  |  | Please note, that current version of digidaizer could be not compatible with root-files generated | 
| 126 |  |  | with previous versions of PamVMC due to addtitonal variables in PamVMCDetectorHit class | 
| 127 |  |  |  | 
| 128 |  |  |  | 
| 129 |  |  | /////////////SPGECTRA GENERATOR///////////////// | 
| 130 |  |  | @ spectra_generator is a tool which allow you to generate tracks above the apparatus | 
| 131 |  |  | isotropically and save initial kinematic parameters (X0,Y0,Z0=110., P, Theta, Phi) | 
| 132 |  |  | "good" tracks in output root-file. After this, file could be used to do simulations. | 
| 133 |  |  | The condition to accept tracks is satisfaction to 14 acceptance planes, defined by | 
| 134 |  |  | TrkParams in Level2. This tool is based on DoTrack method of Level2. | 
| 135 |  |  | To save data in root-file PrimaryInfo class was developed and compiled in library. | 
| 136 |  |  | If later you wish to develop your own script to work with data stored threre, | 
| 137 |  |  | you need just load libPrimaryInfo.so shared library @ | 
| 138 |  |  |  | 
| 139 |  |  | 1) @ To compile library you need change your .rootlogon.C file. One example is provided | 
| 140 |  |  | in directory /aux/spectra_generator. Please check your enviroment variables. All pathes | 
| 141 |  |  | in this file completetly dependent on your enviroment @ | 
| 142 |  |  | 2) cd /aux/spectra_generator | 
| 143 |  |  | make clean | 
| 144 |  |  | make | 
| 145 |  |  | @ After this you should find a library: libPrimaryInfo.so,  and executable: sp_gen @ | 
| 146 |  |  |  | 
| 147 |  |  | @+++SPECTRA GENERATOR HOWTO +++@ | 
| 148 |  |  | @ There are 3 different regimes in which sp_gen could work, and application recognize in | 
| 149 |  |  | which way you wish it work by number and type of parameters which you specify to launch it: | 
| 150 |  |  |  | 
| 151 |  |  | 1) Fixed rigidity mode: Shooting isotropically with fixed rigitity tracks | 
| 152 |  |  | PARAMETERS: | 
| 153 |  |  | (INTEGER) Number of "good" track that you wish to have finally | 
| 154 |  |  | (INTEGER) Charge of particle in (e+ units) | 
| 155 |  |  | (INTEGER) PDG of particle, see NOTE below | 
| 156 |  |  | (DOUBLE)  Fiducial value (cm) that you wish to cut each side from all of | 
| 157 |  |  | 14 acceptance planes. (0. -  nominal acceptance) | 
| 158 |  |  | (DOUBLE)  Rigidity (GV) of tracks. | 
| 159 |  |  | (STRING)  Name of output file (ex. out.root) where you wish to store your | 
| 160 |  |  | "good" tracks. | 
| 161 |  |  |  | 
| 162 |  |  | exampale: ./sp_gen 10000 1 2212 0.15 2.0 out.root | 
| 163 |  |  | Generates 10000 monoenergetic protons with rigidity 2 GV in fiducial acceptance | 
| 164 |  |  | cutting 0.15 cm on each side. Result will be put into out.root file. | 
| 165 |  |  |  | 
| 166 |  |  | 2) Flat spectra mode: Shooting isotropically with uniform distributed [Rmin, Rmax] | 
| 167 |  |  | rigitity tracks | 
| 168 |  |  | PARAMETERS: | 
| 169 |  |  | (INTEGER) Number of "good" track that you wish to have finally | 
| 170 |  |  | (INTEGER) Charge of particle in (e+ units) | 
| 171 |  |  | (INTEGER) PDG of particle, see NOTE below | 
| 172 |  |  | (DOUBLE)  Fiducial value (cm) that you wish to cut each side from all of | 
| 173 |  |  | 14 acceptance planes. (0. -  nominal acceptance) | 
| 174 |  |  | (DOUBLE)  Minimal Rigidity (GV) of tracks. | 
| 175 |  |  | (DOUBLE)  Maximal Rigidity (GV) of tracks. | 
| 176 |  |  | (STRING)  Name of output file (ex. out.root) where you wish to store your | 
| 177 |  |  | "good" tracks. | 
| 178 |  |  |  | 
| 179 |  |  | example: /sp_gen 10000 1 2212 0.15 2.0  3.0 out.root | 
| 180 |  |  | Generates 10000 protons with flat spectra and with rigidity 2-3 | 
| 181 |  |  | GV in fiducial acceptance cutting 0.15 cm on each side. Result will be put into out.root file | 
| 182 |  |  |  | 
| 183 |  |  | 3)   Full spectra mode: Shooting isotropically with all spectra which differrential | 
| 184 |  |  | profile defined in input file. | 
| 185 |  |  | PARAMETERS: | 
| 186 |  |  | (INTEGER) Number of "good" track that you wish to have finally | 
| 187 |  |  | (INTEGER) Charge of particle in (e+ units) | 
| 188 |  |  | (INTEGER) PDG of particle, see NOTE below | 
| 189 |  |  | (DOUBLE)  Fiducial value (cm) that you wish to cut each side from all of | 
| 190 |  |  | 14 acceptance planes. (0. -  nominal acceptance) | 
| 191 |  |  | (STRING)  Name of INPUT file (ex. input.root) where you stored your | 
| 192 |  |  | TGraphAsymmErrors object with diffrerntial spectra profile. | 
| 193 |  |  | Please note, that application suppose that name of graph is | 
| 194 |  |  | "gflux". Of course, you can define your own. See sp_gen.C, line 170. | 
| 195 |  |  | (STRING)  Name of output file (ex. out.root) where you wish to store your | 
| 196 |  |  | "good" tracks. | 
| 197 |  |  |  | 
| 198 |  |  | example: /sp_gen 10000 1 2212 0.15 input_flux.root out.root | 
| 199 |  |  | Generates 10000 protons with rigidity distributed accroding TGrapAsymmErorrs | 
| 200 |  |  | in input_flux.root in fiducial acceptance cutting 0.15 cm on each side. | 
| 201 |  |  | Result will be putt into out.root file | 
| 202 |  |  |  | 
| 203 |  |  | !!!NOTE:    Use http://pdg.lbl.gov/2007/reviews/montecarlorpp.pdf document to define your | 
| 204 |  |  | particle according PDG numeration scheme. |