/[PAMELA software]/PamVMC/HOWTO_VMC_and_PAMELA
ViewVC logotype

Annotation of /PamVMC/HOWTO_VMC_and_PAMELA

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Thu Feb 27 08:24:41 2014 UTC (10 years, 9 months ago) by formato
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +74 -203 lines
Updated Instructions

1 formato 1.3 Last update: V. Formato
2    
3 pam-rm2 1.1 @ PREAMBLE
4     This text will help you in installation of PamVMC simulator. This document will be
5     updated after next release of tools.
6 formato 1.3 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 pam-rm2 1.1
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 formato 1.3 1) @install GEANT 4.9.6.p01@ (also includes CHLEP)
25     mkdir cern
26 pam-rm2 1.1 cd /cern
27 formato 1.3 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 pam-rm2 1.1 make install
43 formato 1.3 cd geant4.9.6.p01-install
44     ln -s bin/geant4.sh env.sh
45     cd ..
46     1a)@source the geant4 environmental variables!
47     source G4/env.sh
48    
49     2) @ installation of ROOT v. 5.34 @
50     @ put root_v5.34.04.source.tar.gz in /cern @
51 pam-rm2 1.1 cd /cern
52 formato 1.3 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 pam-rm2 1.1 make
59    
60 formato 1.3 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 pam-rm2 1.1 @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 formato 1.3 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 pam-rm2 1.1 emacs -nw VGM/config/geant4.gmk
82     @ correct line 23: CPPFLAGS += -I$(G4INCLUDE) on some machines @
83 formato 1.3 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 pam-rm2 1.1 make
86    
87 formato 1.3 5) Installation of PAMELA software
88 pam-rm2 1.1
89 formato 1.3 @ Follow the standard instructions for the installation of PAMELA software and source the enviroment @
90 pam-rm2 1.1
91    
92 formato 1.3 6) Installation of geant4_vmc
93 pam-rm2 1.1
94 formato 1.3 @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 pam-rm2 1.1
101 formato 1.3 7) Installation of PamVMC
102 pam-rm2 1.1
103 formato 1.3 @Before you start, do an export of PAM_VMC env. variable to the source directory
104 pam-rm2 1.1 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 pam-rm2 1.2 @ do an export
113     export LD_LIBRARY_PATH=$(PAM_VMC)/lib/tgt_$(PLATFORM):$(LD_LIBRARY_PATH)
114 pam-rm2 1.1
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 formato 1.3
119     @From here on old instructions:
120    
121 pam-rm2 1.2 /////////////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 pam-rm2 1.1 /////////////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.

  ViewVC Help
Powered by ViewVC 1.1.23