Difference between revisions of "Dan's Log"

From Nuclear Physics Group Documentation Pages
Jump to navigationJump to search
(Updated log)
(Cleaning out)
 
(19 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
==Tasks==
 
==Tasks==
*Finalize/clean-up build instructions.
+
 
*DONE - Figure-out how to add elements to GUI
+
* Play with the user-modifiable database and get ADC output all the way through to ROOT.
*DONE - Steal Kyle's rather spiffy wiki formatting
+
* Add capability to add electronic noise to the SVT's raw data
*Get rid of red lines
+
* -> Create noise, and figure-out how to filter it out
*Add way to change material of target in GUI
+
 
*Add way to change particle beam in GUI
+
* Ability to list/change variables
*Display commands issued by GUI
+
* Understand how SVT works
*Need to be able to turn on magnetic fields
+
* Write summary of how SVT works
*DONE - Need command interface
 
*Ability to list/change variables
 
*Need list/glossary of GEANT4 commands (linked from JLAB wiki)
 
*^Plus, need our changes
 
*Document XML
 
*Make simple, limited XML description
 
*Model single chip
 
*Make nice macros
 
*Are SVT5 and SVT6 micromegas?  Is Sim12 model still accurate?
 
*Are material descriptions incomplete?  If so, should we fill-out?
 
*Get sanitized version of Sim12 source
 
*Understand how SVT works
 
*Write summary of how SVT works
 
  
 
==Misc. Notes==
 
==Misc. Notes==
Line 30: Line 17:
 
==Log==
 
==Log==
  
===2007===
+
[[Dan's Old Logs]]
====October 2007====
 
'''Wednesday 24'''
 
<pre>
 
Started working 3PM, had Freshman Physics in the middle.  Left at 6:30PM.
 
Experienced crash hitting Uranium target.  Start trying other materials.  Barium crashes too.  Is Barium's
 
(for example) small definition a problem?
 
Barium crash generates "Unknown Hit Type on SVT1" (for each SVT) error message.
 
Frustrating that GEANT4 is seemingly so specialized that google returns few people talking about it.
 
Read on GEANT4 site that ALL particles must be specified (seems reasonable).  Possibly the
 
interactions are generating undefined particles?  Should search code for error message tomorrow.
 
Reorganized/expanded my bits of the wiki.
 
Added GUI elements to Batch Guide.
 
</pre>
 
  
'''Thursday 25'''
+
====June 2008====
 +
'''Tuesday 3'''
 +
13:00-16:30
 
<pre>
 
<pre>
Started working 12:45.  Left 13:45 for Linguistics, back at 16:00.
 
Searched for Magnetic Field definition.  Looks like we need to make it.
 
Searched for error message having to do with Unknown Hits.  Didn't find it.  Could have to do with using the
 
default "geantino" particle?
 
Looked around code for place to add handy things to menus (such as particle type) and found a reference to
 
visTutor/gui.mac.  It has exactly the sorts of things I would add!  Why is it not getting read?  Maybe should
 
set-up breakpoints in Sim12.cc?
 
You can apparently run macros from within the GUI, which I tried.  At first I thought it didn't work, but it did. 
 
The first few lines of the macros I tried set the verbosity to 0, so I didn't see them running commands.  Further,
 
the addMenu etc. commands seem not to work.  Why?  Probably something to do with pointers...
 
Not speaking of which, why does the source of Sim12 say that Batch Mode is the default, when it clearly is not?
 
Also, there's something funky with that whole area of command line parsing.
 
GUI mode should have ability to run commands.  Batch mode should be able to run headless, dump data.  Forget the
 
pictures.
 
Need to figure-out what the mode-selection code is actually doing.
 
 
</pre>
 
</pre>
  
'''Friday 26'''
+
'''Thursday 5'''
 +
13:00-16:30
 
<pre>
 
<pre>
Worked from 10:00-11:00, and 15:00-18:00
 
Trying to understand mode code.  Think I've got pointers now, but I need to try using them. 
 
Thought of a way to turn on/off magnetic fields, change materials, etc. on the fly:  Can change in-memory copy of
 
XML file, then re-load that new copy.  With this we could add buttons to toggle fields, change target materials,
 
etc.  On second thought, maybe we don't care about being able to do this.
 
Meeting with Maurik.  Sounds like priority is getting real data out of the program on particle trajectories etc. 
 
Tonight should polish build guide and run through the GEANT4 Application Developer's Guide in order to understand
 
Sim12.
 
 
</pre>
 
</pre>
  
'''Saturday and Sunday, 26-27'''
+
'''Monday 9'''
 +
13:00-16:30
 
<pre>
 
<pre>
Off the clock.
+
Right. Must get back on top of thingsAlso, record time more consistently.
Re-made build guide, building on MacOS X on Alice for hintsShould mention that I needed to install expat,
+
Today I'm going to make a tutorial for newbies.
motif, svnAlso, EVIO Makfile hack.
+
...
Realized that GUI mode has a command line!!! It was there all the time, but we thought it was a meaningless
+
Spent a bunch of time trying to get my environment to workWhen I source my pumpkin
box!
+
environment script, my shell turns unresponsiveDoing the same thing worked last
</pre>
+
week.
 +
Steps to reproduce:
 +
[dan@benfranklin ~]$ ssh -X pumpkin.unh.edu
 +
dan@pumpkin.unh.edu's password:
 +
Last login: Mon Jun  9 15:45:07 2008 from benfranklin.unh.edu
 +
[dan@pumpkin ~]$source /net/data/pumpkin2/CLAS12/RHEL5_x64/env.sh
 +
[dan@pumpkin ~]$ ls
 +
man gcc
 +
blah
 +
anything
  
'''Tuesday, 30'''
+
*sigh*
<pre>
+
CTRL-C doesn't help, nor does CTRL-D.
Started working through GEANT4 Application Developer's Guide:
+
It's the LD_LIBRARY_PATH line.
http://geant4.web.cern.ch/geant4/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/Examples/NoviceCodes.html
+
Either I am being very stupid, or something is broken.  Probably the former.
 +
It's dying when attempting to access /net/data/taro/maurik/root/root
 +
There is no /net/data/taro
 +
Automount broken?
 +
Or Taro?
 +
Well, Taro has moved.  Changed environment script, now it works.  Bah.  Going
 +
home, hopefully I'll get something done there....
 
</pre>
 
</pre>
  
====November 2007====
+
'''Tuesday 10'''
'''Friday, 02'''
+
13:00-16:00
 
<pre>
 
<pre>
Worked with Sam, deciphering output code.
+
Pumpkin was having issues, so we all went down to the computer room.
 +
Parity was replaced.
 +
Worked with Kyle and Sarah on getting useful things out of ROOT.
 +
I felt like I was a little bit lost, plus the temporary lack of a computer meant that I couldn't
 +
contribute much.  Pretty unsatisfying day.  Need to go bone-up on ROOT, GEMC, and Physics.
 
</pre>
 
</pre>
  
'''Monday, 05'''
+
'''Wednesday 11'''
<pre>
+
13:00-16:00
In at 10:30, out at 12:00.
 
Working on getting Sim12 to log to a file.
 
 
 
</pre>
 
 
 
'''Thursday, 15'''
 
<pre>
 
Trying to get GEMC to compile.
 
First compiled QT4, installed into ~/QT4
 
Installed SCons into ~/CLAS12/SCons
 
Copied GEMC (from Maurik's dir on Taro) to ~/CLAS12/GEMC
 
Tried to compile GEMC, which failed.
 
After many successive failures, found the following things:
 
Need to get qt4.py from http://www.iua.upf.es/~dgarcia/Codders/sconstools.html
 
and copy it to $SCONS_ROOT_DIR/lib/scons-$SCONS_version/SCons/Tool/
 
Need to add pyscripts dir (from SVN/Maurik's dir) to PYTHONPATH, a la:
 
export PYTHONPATH="/net/home/dan/CLAS12/pyscripts"
 
Need to add SCons bin dir to PATH, a la:
 
PATH="$PATH:/net/home/dan/CLAS12/SCons/bin"
 
Need to add directory installed QT to to environment, a la:
 
export QTDIR="/net/home/dan/QT4"
 
And add PKG_CONFIG_PATH="/net/home/dan/QT4/lib/pkgconfig" to environment
 
Current error message:
 
[dan@benfranklin GEMC]$ scons
 
scons: Reading SConscript files ...
 
Loading qt4 tool...
 
KeyError: 'MYSQL':
 
  File "/net/home/dan/CLAS12/GEMC/SConstruct", line 27:
 
    loadmysql(env)
 
  File "/net/home/dan/CLAS12/pyscripts/loadmysql.py", line 9:
 
    MYSQL = OSENV['MYSQL']
 
  File "/usr/lib/python2.3/UserDict.py", line 19:
 
    def __getitem__(self, key): return self.data[key]
 
 
 
So re-compiled QT4 with -qt-sql-mysql configure option.
 
 
 
</pre>
 
 
 
'''Friday, 16'''
 
<pre>
 
Got past previous error with new QT4, but now get:
 
 
 
[dan@benfranklin GEMC]$ scons
 
scons: Reading SConscript files ...
 
Loading qt4 tool...
 
NameError: global name 'fullpath1' is not defined:
 
  File "/net/home/dan/CLAS12/GEMC/SConstruct", line 14:
 
    env = Environment(tools=['default','qt4'], options = opts)
 
  File "/net/home/dan/CLAS12/SCons/lib/scons-0.97.0d20070918/SCons/Environment.py", line 874:
 
    apply_tools(self, tools, toolpath)
 
  File "/net/home/dan/CLAS12/SCons/lib/scons-0.97.0d20070918/SCons/Environment.py", line 101:
 
    env.Tool(tool)
 
  File "/net/home/dan/CLAS12/SCons/lib/scons-0.97.0d20070918/SCons/Environment.py", line 1491:
 
    tool(self)
 
  File "/net/home/dan/CLAS12/SCons/lib/scons-0.97.0d20070918/SCons/Tool/__init__.py", line 175:
 
    apply(self.generate, ( env, ) + args, kw)
 
  File "/net/home/dan/CLAS12/SCons/lib/scons-0.97.0d20070918/SCons/Tool/qt4.py", line 218:
 
    QT4_MOC = locateQt4Command(env,'moc', env['QTDIR']),
 
  File "/net/home/dan/CLAS12/SCons/lib/scons-0.97.0d20070918/SCons/Tool/qt4.py", line 201:
 
    raise "Qt4 command '" + command + "' not found. Tried: " + fullpath1 + " and "+ fullpath2
 
 
 
Found that I accidentally installed into a funky directory.  Blah.
 
Fixed, then ran into another error message.  Realized I had to export MYSQL="/"
 
Ridiculous.
 
 
 
Also, need to add MYSQL lib dir to LD_PATH
 
 
 
It works!
 
 
 
</pre>
 
 
 
'''Wednesday, 21'''
 
 
<pre>
 
<pre>
GEMC thoughts:
+
Most of our time today was wasted with software issues. We changed ROOT installs due to
Not all the buttons work
+
/net/data/taro/maurik disappearing, and this had annoying effects. Losing Parity and the net
Text output works with ./gemc -OUTPUT="txt,blahlog"
+
access issue didn't help. 
Need command line
+
Ran a revised 50000 event test, but could not analyze because evio2root was linked against
Is there a batch mode?
+
old ROOT.  So we pointed it at a crippled install which was still there, which let it build, but the
Over vacation, read through all of it, work through C++ tutorials, and GEANT4 developer's guide.
+
binary caused segmentation violations. Left annoyed and feeling like nothing was working.
Make Glossary! (CLARA, GEMC, SIM12,
+
Bah!
</pre>
 
 
 
'''Monday, 26'''
 
<pre>
 
In at 10:15, out at 11:15
 
In at 12:00, out at 13:00
 
In at 15:30, out at
 
Got new gemc code from Maurik
 
Need to
 
export EVIO=$EVIOROOT
 
Also, typo in current version of pyscripts/loadevio.py.
 
Change to point to something sane for include dir.
 
Had to further mutilate the lib section to get it to compile.
 
Working on adding command line to GUI
 
Added text box (to old version)by adding
 
 
 
#include <QLineEdit>
 
QLineEdit *commandLineEdit = new QLineEdit();
 
viewLayout->addWidget(commandLineEdit);
 
 
 
to gui/src/gemc_MainGui.cc.
 
 
 
Still haven't gotten it to compile.
 
  
 +
Remotely, after hours, I built a fresh ROOT, in /net/data/pumpkin2/CLAS12/RHEL5_64/ROOT
 +
It works, as does the evio2root I built against it.  I also installed ROOT on Alice, and set-up
 +
the computers in our new room.  I cannot seem to compile our ROOT programs on Alice, though.
 
</pre>
 
</pre>
  
'''Monday, 26'''
 
<pre>
 
Trying to add a command line box.  QT Learning curve indeed!
 
Learning about Slots and Signals.
 
Didn't try to get new gemc to compile today, though Maurik got us the latest pyscripts.
 
How can I pass an arbitrary
 
</pre>
 
  
'''Friday, 26'''
+
'''Thursday 12'''
 
<pre>
 
<pre>
MUAHAHAHAHAHAHAHAAAA!  Finally got the command box working.  Also, new gemc compiles.
+
14:00-16:30
Code is ugly, though.  I want to clean it up before letting others see it.  Also, must
 
document how to get gemc to compile (difficulty is evio, I had to hack loadevio.py).
 
Email Maurizio and Maurik tonight.
 
The thing holding-up my command box was that I was having difficulty converting the
 
QString I got back from the QLineEdit box into a string I could print/etc.  It seems
 
like it should have been so simple...
 
</pre>
 
  
====December 2007====
 
'''Monday, 10'''
 
<pre>
 
Worked on adding command history, fixed a segfault, made layout flow
 
 
</pre>
 
</pre>
  
'''Tuesday, 11'''
+
'''Tuesday 17'''
 
<pre>
 
<pre>
12:15-13:15
+
13:00-14:30
Polished command history, started synching with upstream.
 
</pre>
 
  
===2008===
 
====January 2008====
 
'''Tuesday, 15'''
 
<pre>
 
13:15-17:15
 
Making new CLAS12 suite in /net/data/pumpkin2/taro/CLAS12
 
For EL5-x64, added -b 64 option during XERCESC build.  Should we add -s?
 
 
</pre>
 
</pre>
  
'''Wednesday, 16'''
+
'''Wednesday 18'''
 
<pre>
 
<pre>
14:00-16:45
+
14:15-17:15
Worked on building CLAS12 suite.  Intending to build on Pumpkin for RHEL5-x64,
+
Details to follow...
Parity/Ben Franklin for RHEL4-x32, and Corn for RHEL5-x32.
 
Think that Maurik is pulling the production tree of gemc, while we probably want the
 
development version. Even so, new production gemc fails to build against old GEANT4.
 
Corn keeps going down.
 
 
 
 
</pre>
 
</pre>
  
'''Thursday, 17'''
+
'''Thursday 19'''
 
<pre>
 
<pre>
12:45-14:30, 17:00-17:30
+
13:15-16:30
Building things on Corn.
+
Installed EVIO2ROOT in $CLAS12ROOT, compiled for RH5_x64.
./configure -qt-sql-mysql --prefix=/net/data/pumpkin2/taro/CLAS12/RHEL5_x32/QT
+
Sarah showed us a cool logging program called elog.  I installed it and ran it with the default configuration,
Network storage went down.
+
but then found that I could not kill the process.  This could be a problem as we don't have administrative
 +
privileges, even on the workstations.  I haven't spent much time thinking about how it is possible that I
 +
couldn't kill it.  I've never figured-out how a user can create a SUID binary (if it was).  Anyway, configuring
 +
that took a back seat to other things.  Also, we should probably run it on our workstations rather than
 +
on pumpkin.
 +
I built and installed Valgrind to find the memory leak(s) in gemc. I don't really know what I'm doing yet, but
 +
it sure seemed like Valgrind said that there was not much leaking happening.  It sure slows things down
 +
though.  Of course, I also don't know anything about manually allocating/deallocating memory, as I have
 +
previously only used languages with garbage collection.  So at least I should learn something.
 +
Kyle and I messed with doing some larger runs for purposes of tutorials, but it didn't come to much.
 +
I am still behind him in terms of familiarity with root, and desperately want to catch up.  Perhaps I will be
 +
able to this weekend.
 +
Oh, in order to compile gemc with debugging symbols and no crazy optimizations, I couldn't find any
 +
easier way than to manually edit the SConstruct file, adding a CCFLAGS and CPPFLAGS option to the
 +
environment. # ADD BETTER EXPLANATION#
 
</pre>
 
</pre>
  
'''Tuesday, 22'''
+
'''Tuesday 24'''
 
<pre>
 
<pre>
13:30-16:30
+
13:30-15:45
./runConfigure -p linux -c gcc -x g++ -b 64 -s
+
Worked on getting elog to work, and valgrind. Met with Sarah and Kyle.
Building QT on Taro with instructions from wiki, got errors
 
 
 
g++ -c -include .pch/release-shared/QtGui -m64 -pipe -g -fno-exceptions -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_44_API_QSQLQUERY_FINISH -DQT_MOC_COMPAT -DQT_RASTER_IMAGEENGINE -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQ_INTERNAL_QAPP_SRC -DQT_NO_DEBUG -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++-64 -I. -I../../include/QtCore -I../../include/QtCore -I../../include -I../../include/QtGui -I/usr/include/freetype2 -I../3rdparty/harfbuzz/src -Idialogs -I.moc/release-shared -I/usr/X11R6/include -I.uic/release-shared -o .obj/release-shared/qstylesheetstyle.o styles/qstylesheetstyle.cpp
 
^C../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h: In member function `virtual QRect QStyleSheetStyle::subControlRect(QStyle::ComplexControl, const QStyleOptionComplex*, QStyle::SubControl, const QWidget*) const':
 
../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:118: error: inconsistent operand constraints in an `asm'
 
../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:118: error: inconsistent operand constraints in an `asm'
 
../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:118: error: inconsistent operand constraints in an `asm'
 
../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:118: error: inconsistent operand constraints in an `asm'
 
make[1]: *** Deleting file `.obj/release-shared/qstylesheetstyle.o'
 
make[1]: *** [.obj/release-shared/qstylesheetstyle.o] Interrupt
 
make: *** [sub-gui-make_default-ordered] Interrupt
 
  
Incidentally, used the following command to configure, with CLAS12ROOT set:
 
./configure -qt-gif -no-cups -no-qt3support -prefix $CLAS12ROOT/QT -qt-sql-mysql -no-exceptions
 
 
</pre>
 
</pre>
  
'''Friday, 25'''
+
'''Thursday 26'''
 
<pre>
 
<pre>
09:30-10:00
+
13:00-17:00
Googling QT build message yielded someone claiming it was due to a broken compilerAs the change will at worse
+
Got ELOG to work, though I cannot seem to access it from anywhere but a local machineI suspect a packet filter. Most of the time I spent on that, plus some time doing time sheets and working on my wiiki guide and tidying things in the CLAS12 directories.
result in slightly poorer performance, I take the suggestion at http://lists.trolltech.com/qt-interest/2007-05/thread01156-0.html
 
and remove the -02 optimization flag from mkspecs/common/g++.conf
 
Trying on Corn (which Maurik says should be stable now) and Taro.
 
*sigh*  Corn crashed right after I untarred QT.
 
  
~15:30
+
PAID UNTIL HERE
Taro finished building though!
 
Now try again on Corn.
 
Bah, Corn needs mysql!
 
 
</pre>
 
</pre>
  
'''Monday, 28'''
 
09:15-09:45
 
<pre>
 
Started compile of GEANT4 9.1, using configure script.
 
</pre>
 
  
====February 2008====
 
'''Saturday, 02'''
 
<pre>
 
00:15-01:30, 16:45-19:05
 
  
Well, I'm sick of this.
+
====July 2008====
SSH in to Parity.
 
Start new tree under /net/data/pumpkin2/CLAS12
 
Untar CLHEP to Build and run
 
export CLAS12ROOT=/net/data/pumpkin2/CLAS12/RHEL4_x32
 
./configure --prefix=/net/data/pumpkin2/CLAS12/RHEL4_x32/CLHEP --disable-shared
 
make
 
make check
 
make install
 
export CLHEP_BASE_DIR=/net/data/pumpkin2/CLAS12/RHEL4_x32/CLHEP
 
  
Now untar XERXESC to Build and run
+
'''Tuesday 1'''
./runConfigure -plinux -cgcc -xg++ -s
+
13:00-16:30
make
 
Build fails.  It seems it's got a really silly build process.
 
Move the top xercesc source dir to the intended destination, and build again.  i.e.:
 
./runConfigure -plinux -cgcc -xg++ -s
 
make
 
 
 
Now untar QT to Build and run
 
./configure -qt-gif -no-cups -no-qt3support -prefix $CLAS12ROOT/QT -qt-sql-mysql -no-exceptions -static
 
gmake
 
 
 
in qt build dir,
 
gmake install
 
export QTDIR=$CLAS12ROOT/QT
 
export QTLIB=/net/data/pumpkin2/CLAS12/RHEL4_x32/QT/lib
 
export PKG_CONFIG_PATH=/net/data/pumpkin2/CLAS12/RHEL4_x32/QT/lib/pkgconfig
 
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
 
export PATH=$QTDIR:$PATH
 
 
 
Untar Geant4 into /net/data/pumpkin2/CLAS12/RHEL4_x32/GEANT4_9.1
 
Unpack data, etc.
 
./Configure -build
 
And it's off!
 
 
 
18:45-
 
It finished building GEANT4.
 
 
 
mkdir ~/mysql
 
ln -s /usr/include/mysql ~/mysql/include
 
ln -s /usr/lib/mysql ~/mysql/lib
 
export MYSQL=~/mysql
 
 
 
Copy pyscripts, gemc, scons
 
export PYTHONPATH=/net/data/pumpkin2/CLAS12/pyscripts
 
export PATH=$PATH:/net/data/pumpkin2/CLAS12/SCons/bin
 
export G4INSTALL=/net/data/pumpkin2/CLAS12/RHEL4_x32/GEANT4_9.1
 
export EVIO=/net/data/pumpkin2/taro/CLAS12/RHEL4_x32/EVIO
 
scons
 
Get this:
 
 
 
[dan@parity GEMC_DEVEL]$ scons
 
scons: Reading SConscript files ...
 
scons: done reading SConscript files.
 
scons: Building targets ...
 
Making gemc.o...
 
gemc.cc: In function `int main(int, char**)':
 
gemc.cc:176: error: `G4UIQt' has not been declared
 
scons: *** [gemc.o] Error 1
 
scons: building terminated because of errors.
 
 
 
*sigh*
 
</pre>
 
 
 
'''Sunday, 03'''
 
 
<pre>
 
<pre>
00:30-01:45
 
Continue working on RHEL4_x32.  No success.
 
</pre>
 
  
'''Tuesday, 05'''
 
<pre>
 
09:30-10:30, 12:30-14:00
 
Worked with Kyle to get ANYTHING to work (in particular RHEL4_x32) and
 
largely failed.  Eventually decided we need to start over.  This time
 
with more documentation instead of waiting until things work (because they
 
usually don't).
 
 
</pre>
 
</pre>
  
'''Thursday, 14'''
+
'''Thursday 10'''
 +
11:00-14:45
 
<pre>
 
<pre>
12:00-13:45
+
Kyle and I messed around with computers in the office before giving up on them.  We went down into the Physics Lounge, and installed Ubuntu
Starting over, me on RH4 (x32 on parity, x64 on Taro), Kyle on RH5.
+
on them on the sly.  Things were actually pretty productive, with Kyle helping me catch up on my ROOT knowledge. Eventually talked to
Compiled up through QT on RHEL4_x32QT building on RHEL4_x64.
+
Sarah a little and clarified what I should be doing on the tutorialIn short:  Focus on new students trying to use GEMC.
</pre>
 
  
'''Friday, 15'''
 
<pre>
 
08:45-09:30
 
QT build failed on x64.  Remembered I need to remove -02 from the optimization flags
 
in mkspecs/common/g++.conf in the QT source directory.  Off again, with Geant building on Parity
 
(set env vars, then gmake in G4/source).
 
 
</pre>
 
</pre>
  
'''Monday, 18'''
 
<pre>
 
09:00-10:00, 15:15-16:45
 
To build EVIO:
 
untar the evio-2.0.tar.gz version
 
move it to destination directory (say, something/EVIO)
 
cd into EVIO
 
for 32bit build, run INSTALL_DIR=something/EVIO make install
 
for 64bit build, run INSTALL_DIR=something/EVIO CODA_USE64BITS make install
 
 
Finished RHEL4_x32.  Segfaults:
 
 
</pre>
 
  
'''Tuesday,19'''
+
'''Friday 11'''
 +
08:00-10:30
 
<pre>
 
<pre>
09:00-10:00
+
Got here early to work on things before the meeting. Things not working, eventually decided UNH network is down.  GAH!
Current hang-up with Taro (RHEL4_x64):
+
Tried to get things done despite it.  Naturally, things start working five minutes before our meeting*sigh*
 
 
[dan@taro GEMC-RHEL4_x64]$ scons --debug=findlibs --debug=includes
 
scons: Reading SConscript files ...
 
 
 
scons: *** No tool named 'qt4': not a Zip file
 
File "/net/home/dan/GEMC-RHEL4_x64/SConstruct", line 14, in ?
 
 
 
We've had this before, but it sounds like it is an all-purpose error message,
 
with no useful infoTrying to track down what is wrong.
 
 
</pre>
 
</pre>
  
Remember to set umask!
 
 
 
My current environment script (run each new session, suitable for build
 
environment):
 
  
 +
'''Monday 14'''
 +
13:00-19:00
 
<pre>
 
<pre>
#Change the mention of RHEL4_x64 and Linux_x64-x64 for other platforms.
+
GEMC is not running on PumpkinOn attempting to start it, get  
 
 
export PLATFORM=RHEL4_x64
 
export GEMC=~/GEMC-$PLATFORM
 
export CLAS12ROOT=/net/data/pumpkin2/CLAS12
 
 
 
export G4SYSTEM=Linux-g++
 
export G4WORKDIR=$CLAS12ROOT/$PLATFORM/GEANT4.9.1
 
export G4ROOT=$CLAS12ROOT/$PLATFORM/GEANT4.9.1
 
export G4INSTALL=$G4ROOT
 
export G4LIB=$G4INSTALL/lib
 
export G4VERSION=geant4.9.1
 
export OGLHOME=/usr/X11R6
 
 
 
export CLHEP_BASE_DIR=$CLAS12ROOT/$PLATFORM/CLHEP
 
export XERCESCROOT=$CLAS12ROOT/$PLATFORM/XERCESC
 
export EVIO="$CLAS12ROOT/$PLATFORM/EVIO"
 
export EVIOROOT="$EVIO"
 
 
 
export QTDIR=$CLAS12ROOT/$PLATFORM/QT
 
export QTHOME=$QTDIR
 
export QTLIB=$QTDIR/lib
 
 
 
export G4UI_BUILD_QT_SESSION=1
 
export G4UI_USE_QT=1
 
 
 
export G4VIS_BUILD_OPENGLQT_DRIVER=1
 
export G4VIS_USE_OPENGLQT=1
 
 
 
export G4VIS_BUILD_OPENGLX_DRIVER=1
 
export G4VIS_USE_OPENGLX=1         
 
 
 
export G4VIS_BUILD_DAWN_DRIVER=0
 
export G4VIS_USE_DAWN=0
 
 
 
export G4UI_BUILD_OI_SESSION=0
 
export G4UI_USE_OI=0
 
 
 
export G4UI_BUILD_OIX_SESSION=0
 
export G4UI_USE_OIX=0
 
 
export G4UI_BUILD_RAYTRACERX_SESSION=1
 
export G4UI_USE_RAYTRACERX=1
 
 
 
export G4LISTS_BASE=$G4ROOT/physics_lists
 
 
 
export NeutronHPCrossSections=$G4ROOT/data/G4NDL      # Data for neutron scattering processes
 
export G4LEVELGAMMADATA=$G4ROOT/data/PhotonEvaporation # Nuclear Photon evaporation data
 
export G4RADIOACTIVEDATA=$G4ROOT/data/RadioactiveDecay # Data for radioactive decay hadronic processes under data
 
export G4LEDATA=$G4ROOT/data/G4EMLOW                  # Data for low energy electromagnetic processes
 
#export G4ELASTICDATA=$G4ROOT/data/Elastic            # Data for elastic scattering processes
 
 
 
export PATH=$PATH:$G4INSTALL/bin/$G4SYSTEM:$GEMC:$GEMC/database_io:$QTDIR/bin
 
export SCONS_LIB_DIR="$CLAS12ROOT/SCons/lib"
 
export PKG_CONFIG_PATH="$QTLIB/pkgconfig"
 
export PYTHONPATH="$CLAS12ROOT/pyscripts"
 
export PATH="$PATH:$CLAS12ROOT/SCons/bin:$QTDIR/bin"
 
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$EVIO/Linux-x86_64-64/lib:$QTLIB:$G4INSTALL/lib/$G4SYSTEM:/$CLHEP_BASE_DIR/lib"
 
export MYSQL="/"
 
export BMS_HOME="$CLAS12ROOT/BMS"
 
</pre>
 
 
 
'''Friday,22'''
 
<pre>
 
09:00-10:00
 
11:00-12:30
 
 
 
Trying to find source of segfault on RHEL4_x32 by using GDBNeed to re-compile GEANT4 with debugging symbols.
 
Prettied the wiki a bit.  Needs overhaul.
 
</pre>
 
 
 
'''Monday,25'''
 
<pre>
 
16:00-17:45
 
Recompiled RHEL4_x32 with debugging symbols, now get the following when run:
 
</pre>
 
 
 
<pre>
 
[dan@benfranklin GEMC-RHEL4_x32]$ gemc
 
 
 
 
 
  >>> gemc Init: >>  Geant4 MonteCarlo
 
  >>> gemc Init: >>  Setting CLHEP Random Engine...
 
  >>> gemc Init: >>  Instantiating Run Manager...
 
  
 
*************************************************************
 
*************************************************************
Line 533: Line 183:
 
*************************************************************
 
*************************************************************
  
   >>> gemc Init: >>  Building gemc Detector...
+
   >>> gemc Init: >>  Retrieving gemc Detector Map...
  >>> gemc MySQL: >>  Connecting to database: clasgeometry as clasuser.
 
  
 +
  >>> gemc MySQL: >>  Connecting to database "clas12_geometry" as "clasuser".
 +
terminate called after throwing an instance of 'std::out_of_range'
 +
  what():  basic_string::substr
 +
Aborted
 +
[dan@pumpkin ~]$
  
 +
Was working last week, and I didn't change anything.  Either a pumkpin issue, or database.  My money is on the
 +
database.  Will investigate later.
  
  >>> gemc Init: >>  Initializing Physics List...
+
Working with ROOT.
  >>> gemc Init: >> Initializing Primary Generator Action...
+
Found something very usefulTo spit all of the attributes of an object on a canvas to the terminal,
 +
right-click on it and click on "dump". Alternatively, clock on "Inspect"
  
  >>> gemc Beam Settings >> Beam Type: e-
+
GAH! How can I change the scale of the color palette axis? I found a reference to fwmax.  
  >>> gemc Beam Settings >> Beam Energy: 11 GeV
+
Tweaked Kyle's phi_z.C
  >>> gemc Beam Settings >> Beam Direction: (0, 0, 1)
+
Made edep_strip.C
  >>> gemc Beam Settings >>  Beam Vertex: (0, 0, 0) cm
+
Sent an email to Maurizio asking for an explanation regarding the bands in phi vs. z graph.
 
+
It seems as though you are not supposed to change the palette scale yourself, or at least they make it
  >>> gemc Init: >>  Initializing Event Action...
+
terribly difficult. It seems always to be set automatically, and is highly sensitive to the values in one's
  >>> gemc Init: >>  Initializing User Interface...
+
histogramThis coupled with the fact that ours is different from Maurizio's suggests that we are doing
  >>> gemc Init: >>  Initializing Run Manager...
+
something differently from him.
 
 
  >>> gemc Construction: >> Building Detector from Geometry STL Map...
 
 
 
  >>> gemc Magnetic Field: >> Magnetic Field <ihep-solenoid> doesn't exist yet. Adding <ihep-solenoid>.
 
  >>> gemc Magnetic Field Constructor: >>  File sol12_map.dat could not be opened. Exiting.
 
[dan@benfranklin GEMC-RHEL4_x32]$
 
  
 +
I learned a lot about ROOT today.
 +
Oh, use  gStyle->SetNumberContours(255); for a nicer gradient in your color palette.
 +
Also, I don't think Maurizio cut the data for phi=0 from his phi_z graph, as "0" appears as the lower bound.
 +
If he had set it higher, 0 would not have appeared, based on my experience.  But hopefully he will say.
 +
Oh, some database info:  http://clasweb.jlab.org/wiki/index.php/12/10/2007_hands_on
 
</pre>
 
</pre>
 +
[[Image:Edep_strip1.jpg|Edep vs strip]]
  
Kyle and I updated the Detailed Instructions wiki page, though I suspended most of the changes as I don't
+
'''Tuesday 15'''
have time ATM to make them comprehensive.
+
13:00-14:45, 15:45-17:00
 +
<pre>
 +
Met with Maurik and Sarah.
 +
Should see if GEMC crashes on the farm.  Login to login.jlab.org, then ssh to ifarml1, remembering to
 +
forward X.  But where is it?  Where can I run it from?  It is not in /apps.  Ask Maurizio.
  
'''Tuesday'''
 
12:30-14:00
 
15:40-16:15
 
<pre>
 
Re-instated the Detailed Instructions changes, and expanded. 
 
GEMC does not work very well.  Fixed previous error message by downloading sol12_map.dat and fsolenoid.dat
 
Now running "gemc -GT=svtgeometry" results in rapid scrolling of:
 
  >>> gemc Magnetic Field Constructor: >> 466 transverse index wrong. Map point should be 233 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 467 transverse index wrong. Map point should be 233.5 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 468 transverse index wrong. Map point should be 234 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 469 transverse index wrong. Map point should be 234.5 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 470 transverse index wrong. Map point should be 235 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 471 transverse index wrong. Map point should be 235.5 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 472 transverse index wrong. Map point should be 236 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 473 transverse index wrong. Map point should be 236.5 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 474 transverse index wrong. Map point should be 237 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 475 transverse index wrong. Map point should be 237.5 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 476 transverse index wrong. Map point should be 238 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 477 transverse index wrong. Map point should be 238.5 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 478 transverse index wrong. Map point should be 239 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 479 transverse index wrong. Map point should be 239.5 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 480 transverse index wrong. Map point should be 240 but it's  8.07098e-275 instead.
 
  >>> gemc Magnetic Field Constructor: >> 481 transverse index wrong.
 
etc...
 
 
</pre>
 
</pre>
  
'''Thursday, 28'''
+
'''Thursday 22'''
 
 
 
<pre>
 
<pre>
12:00-14:00
+
Wrapped-up first draft of new user guide.
 +
Put-up copy of Mauruzio's First SVT Results page, started filling with our tests.  With source code!
 
</pre>
 
</pre>
  
====March 2008====
 
'''Sunday 23'''
 
<pre>
 
14:30-17:00
 
Installed ROOT on Pumpkin, started playing with it.
 
Played with GEMC.
 
Helloworld windows not opening with Pumpkin ROOT.  Needs X11 libs maybe?  Installing on Parity, not waiting for compile.
 
  
</pre>
+
'''Monday 28'''
 
 
'''Tuesday 25'''
 
<pre>
 
 
14:00-17:00
 
14:00-17:00
 
</pre>
 
 
====April 2008====
 
 
'''Tuesday 1'''
 
<pre>
 
13:00-17:00
 
Collaborated with Sam and Kyle on GEMC, ROOT, etc.
 
</pre>
 
 
'''Monday 7'''
 
<pre>
 
15:30-18:00
 
Trying to get ROOT to make sense of a serious GEMC run.
 
Run an experiment:
 
gemc -GT=svtgeometry -BEAM_P="proton, 1.0*GeV, 80*deg, 0*deg" -SPREAD_P="0.5*GeV, 40*deg, 360*deg" -SPREAD_V="(0.1, 0.1, 2.5)cm" -OUTPUT="evio, Test3.ev" -LUMI_P="e-, 11*GeV, 0, 0" -LUMI_V="(0, 0, -5)cm" -LUMI_EVENT="100, 124*ns, 2*ns" -USE_PHYSICSL=QGSP -HALL_MATERIAL=Vacuum -N=2500
 
 
Convert the output from evio to root:
 
 
gemc_evio2root Test3.ev Test3.root
 
 
Run ROOT (without splash):
 
root -l
 
 
Load the data:
 
TFile *g = new TFile("$GEMC/Test3.root")
 
 
Look around:
 
g->ls();
 
 
Yields:
 
 
root [2] g->ls();
 
TFile**        /net/home/dan/GEMC-RHEL5_x64/Test3.root
 
TFile*        /net/home/dan/GEMC-RHEL5_x64/Test3.root
 
  KEY: TTree    genT;1  gemc generated infos tree
 
  KEY: TTree    svtT;1  gemc SVT hits infos tree
 
  KEY: TTree    fvtT;1  gemc FVT hits infos tree
 
  KEY: TTree    itofT;1 gemc Inner TOF hits infos tree
 
  KEY: TTree    dcT;1  gemc DC hits infos tree
 
 
Hurray!
 
 
See what's inside:
 
 
svtT->Print()
 
root [2] svtT->Print()
 
******************************************************************************
 
*Tree    :svtT      : gemc SVT hits infos tree                              *
 
*Entries :    2500 : Total =        2023753 bytes  File  Size =    885621 *
 
*        :          : Tree compression factor =  2.26                      *
 
******************************************************************************
 
*Br    0 :evn      : evn/I                                                  *
 
*Entries :    2500 : Total  Size=      10614 bytes  One basket in memory    *
 
*Baskets :        0 : Basket Size=      32000 bytes  Compression=  1.00    *
 
*............................................................................*
 
*Br    1 :nsvthit  : nsvthit/I                                              *
 
*Entries :    2500 : Total  Size=      10638 bytes  One basket in memory    *
 
*Baskets :        0 : Basket Size=      32000 bytes  Compression=  1.00    *
 
*............................................................................*
 
*Br    2 :layer    : layer[nsvthit]/I                                      *
 
*Entries :    2500 : Total  Size=    100206 bytes  File Size  =      10129 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  8.61    *
 
*............................................................................*
 
*Br    3 :sector    : sector[nsvthit]/I                                      *
 
*Entries :    2500 : Total  Size=    100215 bytes  File Size  =      16966 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  5.14    *
 
*............................................................................*
 
*Br    4 :strip    : strip[nsvthit]/I                                      *
 
*Entries :    2500 : Total  Size=    100206 bytes  File Size  =      35645 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  2.45    *
 
*............................................................................*
 
*Br    5 :Edep      : Edep[nsvthit]/F                                        *
 
*Entries :    2500 : Total  Size=    100204 bytes  File Size  =      73455 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  1.19    *
 
*............................................................................*
 
*Br    6 :E        : E[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100177 bytes  File Size  =      70940 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  1.23    *
 
*............................................................................*
 
*Br    7 :x        : x[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100177 bytes  File Size  =      73498 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  1.19    *
 
*............................................................................*
 
*Br    8 :y        : y[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100177 bytes  File Size  =      72909 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  1.20    *
 
*............................................................................*
 
*Br    9 :z        : z[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100177 bytes  File Size  =      77944 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  1.12    *
 
*............................................................................*
 
*Br  10 :lx        : lx[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100186 bytes  File Size  =      77295 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  1.13    *
 
*............................................................................*
 
*Br  11 :ly        : ly[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100186 bytes  File Size  =      17058 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  5.11    *
 
*............................................................................*
 
*Br  12 :lz        : lz[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100186 bytes  File Size  =      77767 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  1.12    *
 
*............................................................................*
 
*Br  13 :t        : t[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100177 bytes  File Size  =      62687 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  1.39    *
 
*............................................................................*
 
*Br  14 :pid      : pid[nsvthit]/I                                        *
 
*Entries :    2500 : Total  Size=    100188 bytes  File Size  =      8643 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  10.09    *
 
*............................................................................*
 
*Br  15 :mpid      : mpid[nsvthit]/I                                        *
 
*Entries :    2500 : Total  Size=    100197 bytes  File Size  =      8162 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  10.68    *
 
*............................................................................*
 
*Br  16 :vx        : vx[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100186 bytes  File Size  =      19922 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  4.38    *
 
*............................................................................*
 
*Br  17 :vy        : vy[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100186 bytes  File Size  =      19928 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  4.37    *
 
*............................................................................*
 
*Br  18 :vz        : vz[nsvthit]/F                                          *
 
*Entries :    2500 : Total  Size=    100186 bytes  File Size  =      19797 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  4.40    *
 
*............................................................................*
 
*Br  19 :mvx      : mvx[nsvthit]/F                                        *
 
*Entries :    2500 : Total  Size=    100195 bytes  File Size  =      9878 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  8.83    *
 
*............................................................................*
 
*Br  20 :mvy      : mvy[nsvthit]/F                                        *
 
*Entries :    2500 : Total  Size=    100195 bytes  File Size  =      9899 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  8.81    *
 
*............................................................................*
 
*Br  21 :mvz      : mvz[nsvthit]/F                                        *
 
*Entries :    2500 : Total  Size=    100195 bytes  File Size  =      9872 *
 
*Baskets :        3 : Basket Size=      32000 bytes  Compression=  8.83    *
 
*............................................................................*
 
 
'''Tuesday 8'''
 
11:00-12:00
 
 
<pre>
 
<pre>
I have been learning to use ROOT with a nice introduction at http://slac.stanford.edu/BFROOT/www/doc/workbook/root1/root1.html
 
Interesting bits:
 
Save a canvas like so:
 
c1->SaveAs("birches.png");
 
  
Making hitograms:
+
Touching-up ROOT programs and uploading them to UNH SVT Results page.
TH1F *myfirsthist = new TH1F("myfirsthist", "How many birches?",10,1,100);
+
My p vs phi does not look like Maurizio's, but seems to make sense.  Why does his "curve" at low momentums?
 +
Asked him.  My theta vs z also looks different, will investigate next time.
 +
Tried accessing elog on Sarah's workstation with her instructions, but couldn't get it to work.
 
</pre>
 
</pre>
  
'''Tuesday 15'''
+
'''Tuesday 29'''
11:15-12:00
+
11:30-14:30
13:30-16:15
 
 
<pre>
 
<pre>
Okay, so what we might want to do, beginning to end, is this:
+
Maurizio said that he used a magnetic field on the p vs phi graphs, explaining the discrepancy.  Did he
Run an experiment, outputting to EVIO format
+
on others?  I will generate a new data set and re-run our ROOT programs, and see what happens.
Run evio2root
+
Reading through the GEMC code, trying to trace variables through.
(Write a ROOT script which extracts the data we want)
 
Run the root script, which generates histograms, or graphs, or images, or descriptive text data.
 
  
Soeaking of, save a histogram like so:
 
c1->SaveAs("birches.C");
 
  
{
 
TFile *f = new TFile("$GEMC/Test3.root")
 
 
svtT->Draw("Edep");
 
#c1->SaveAs("svtT_Edep.C");
 
}
 
 
Sam had an idea on how to pursue one of our objectives:
 
We could set-up just an SVT and send particles straight at it, then vary the angle and compare the sensitivity.
 
</pre>
 
 
'''Tuesday, 29'''
 
13:00-16:00
 
<pre>
 
I've been trying to figure-out if we can manually specify some geometry for the angular dependence problem.
 
It doesn't look like we can, but perhaps we can use the new GCARD feature to do what we want.
 
Compiling the last few GEMC versions has not worked for me, due to a complaint about QDomDocument not existing.
 
Fixed by adding "QtXml" to the loadqt pyscript.  Could not download newest pyscripts due to forgetting JLAB
 
password (again).  *sigh* Will check tonight if they have fixed it, and will email Maurizio if not.
 
For some reason my GMail account never gets the gemc_software newsletters, though I have tried to sign-up
 
twice.
 
</pre>
 
 
====May 2008====
 
 
'''Tuesday 6'''
 
12:00-
 
<pre>
 
Rotation and position changes don't seem to work in GCARD yet, so we'll rotate the gun.  Which is probably
 
better anyway.
 
 
 
So we need to set-up a script which runs gemc with just the BST, and rotates gun through 1-90 degrees.
 
Use GCARD to translate origin close to SVT to interior.  Output to evio.  Run evio2root.
 
Oops, GCARD can't do this yet.
 
 
First attempt at script:
 
 
for theta in `seq 1 90`; do gemc -gcard=closeBST.gcard -OUTPUT="evio, $theta.ev" -N=1 -HALL_MATERIAL=Vacuum \
 
-BEAM_P="proton, 0.8GeV, "$theta"*deg, "0"*deg" -USE_QT=0 ; done
 
 
What are reasonable values for -BEAM_P -SPREAD_P -SPREAD_V -LUMI_P -LUMI_V -LUMI_EVENT= -USE_PHYSICSL
 
 
 
What does -NGENP do?
 
 
Really want to rotate through phi as well.
 
Attempt 2:
 
 
for phi in `seq -25 25`; do for theta in `seq -90 90`; do $GEMC/gemc -GT=BST \
 
-OUTPUT="evio, "theta$theta"phi"$phi".ev" -N=100 -HALL_MATERIAL=Vacuum \
 
-BEAM_P="proton, 0.8GeV, "$theta"*deg, "phi"*deg" -USE_QT=0 ; done; done
 
 
Should we run it?  We would be hammering the database.  Kyle's asking Maurizio.
 
 
So how will we parse this?  The end result I think we want is a graph of angle vs.hits.
 
 
</pre>
 
 
====June 2008====
 
'''Monday 9'''
 
13:00-16:30
 
<pre>
 
Right.  Must get back on top of things.  Also, record time more consistently.
 
Today I'm going to make a tutorial for newbies.
 
...
 
Spent a bunch of time trying to get my environment to work.  When I source my pumpkin
 
environment script, my shell turns unresponsive.  Doing the same thing worked last
 
week.
 
Steps to reproduce:
 
[dan@benfranklin ~]$ ssh -X pumpkin.unh.edu
 
dan@pumpkin.unh.edu's password:
 
Last login: Mon Jun  9 15:45:07 2008 from benfranklin.unh.edu
 
[dan@pumpkin ~]$source /net/data/pumpkin2/CLAS12/RHEL5_x64/env.sh
 
[dan@pumpkin ~]$ ls
 
man gcc
 
blah
 
anything
 
 
*sigh*
 
CTRL-C doesn't help, nor does CTRL-D.
 
It's the LD_LIBRARY_PATH line.
 
Either I am being very stupid, or something is broken.  Probably the former.
 
It's dying when attempting to access /net/data/taro/maurik/root/root
 
There is no /net/data/taro
 
Automount broken?
 
Or Taro?
 
Well, Taro has moved.  Changed environment script, now it works.  Bah.  Going
 
home, hopefully I'll get something done there....
 
 
</pre>
 
</pre>

Latest revision as of 16:21, 27 August 2008

Progress and Task Log for Daniel

Tasks

  • Play with the user-modifiable database and get ADC output all the way through to ROOT.
  • Add capability to add electronic noise to the SVT's raw data
  • -> Create noise, and figure-out how to filter it out
  • Ability to list/change variables
  • Understand how SVT works
  • Write summary of how SVT works

Misc. Notes

  • nTrigger is the number of times the beam is fired.
  • Sim12/Material_HDDS.xml says that XML spec is at http://www.gluex.org/hdds, but get a 404. Maybe $HDDSROOT/HDDS-1_0.xsd is what was there?

Log

Dan's Old Logs

June 2008

Tuesday 3 13:00-16:30


Thursday 5 13:00-16:30


Monday 9 13:00-16:30

Right.  Must get back on top of things.  Also, record time more consistently.
Today I'm going to make a tutorial for newbies.
...
Spent a bunch of time trying to get my environment to work.  When I source my pumpkin
environment script, my shell turns unresponsive.  Doing the same thing worked last
week.
Steps to reproduce:
[dan@benfranklin ~]$ ssh -X pumpkin.unh.edu
dan@pumpkin.unh.edu's password:
Last login: Mon Jun  9 15:45:07 2008 from benfranklin.unh.edu
[dan@pumpkin ~]$source /net/data/pumpkin2/CLAS12/RHEL5_x64/env.sh
[dan@pumpkin ~]$ ls
man gcc
blah
anything

*sigh*
CTRL-C doesn't help, nor does CTRL-D.
It's the LD_LIBRARY_PATH line.
Either I am being very stupid, or something is broken.  Probably the former.
It's dying when attempting to access /net/data/taro/maurik/root/root
There is no /net/data/taro
Automount broken?
Or Taro?
Well, Taro has moved.  Changed environment script, now it works.  Bah.  Going
home, hopefully I'll get something done there....

Tuesday 10 13:00-16:00

Pumpkin was having issues, so we all went down to the computer room.
Parity was replaced.
Worked with Kyle and Sarah on getting useful things out of ROOT.
I felt like I was a little bit lost, plus the temporary lack of a computer meant that I couldn't
contribute much.  Pretty unsatisfying day.  Need to go bone-up on ROOT, GEMC, and Physics.

Wednesday 11 13:00-16:00

Most of our time today was wasted with software issues.  We changed ROOT installs due to 
/net/data/taro/maurik disappearing, and this had annoying effects.  Losing Parity and the net
access issue didn't help.  
Ran a revised 50000 event test, but could not analyze because evio2root was linked against
old ROOT.  So we pointed it at a crippled install which was still there, which let it build, but the
binary caused segmentation violations.  Left annoyed and feeling like nothing was working.
Bah!

Remotely, after hours, I built a fresh ROOT, in /net/data/pumpkin2/CLAS12/RHEL5_64/ROOT
It works, as does the evio2root I built against it.  I also installed ROOT on Alice, and set-up
the computers in our new room.  I cannot seem to compile our ROOT programs on Alice, though.


Thursday 12

14:00-16:30

Tuesday 17

13:00-14:30

Wednesday 18

14:15-17:15
Details to follow...

Thursday 19

13:15-16:30
Installed EVIO2ROOT in $CLAS12ROOT, compiled for RH5_x64.
Sarah showed us a cool logging program called elog.  I installed it and ran it with the default configuration,
but then found that I could not kill the process.  This could be a problem as we don't have administrative 
privileges, even on the workstations.  I haven't spent much time thinking about how it is possible that I
couldn't kill it.  I've never figured-out how a user can create a SUID binary (if it was).  Anyway, configuring 
that took a back seat to other things.  Also, we should probably run it on our workstations rather than
on pumpkin.
I built and installed Valgrind to find the memory leak(s) in gemc.  I don't really know what I'm doing yet, but
it sure seemed like Valgrind said that there was not much leaking happening.  It sure slows things down
though.  Of course, I also don't know anything about manually allocating/deallocating memory, as I have 
previously only used languages with garbage collection.  So at least I should learn something.
Kyle and I messed with doing some larger runs for purposes of tutorials, but it didn't come to much.
I am still behind him in terms of familiarity with root, and desperately want to catch up.  Perhaps I will be
able to this weekend.
Oh, in order to compile gemc with debugging symbols and no crazy optimizations, I couldn't find any
easier way than to manually edit the SConstruct file, adding a CCFLAGS and CPPFLAGS option to the
environment.  # ADD BETTER EXPLANATION#

Tuesday 24

13:30-15:45
Worked on getting elog to work, and valgrind.  Met with Sarah and Kyle.

Thursday 26

13:00-17:00
Got ELOG to work, though I cannot seem to access it from anywhere but a local machine.  I suspect a packet filter. Most of the time I spent on that, plus some time doing time sheets and working on my wiiki guide and tidying things in the CLAS12 directories.

PAID UNTIL HERE


July 2008

Tuesday 1 13:00-16:30


Thursday 10 11:00-14:45

Kyle and I messed around with computers in the office before giving up on them.  We went down into the Physics Lounge, and installed Ubuntu
on them on the sly.  Things were actually pretty productive, with Kyle helping me catch up on my ROOT knowledge.  Eventually talked to
Sarah a little and clarified what I should be doing on the tutorial.  In short:  Focus on new students trying to use GEMC.


Friday 11 08:00-10:30

Got here early to work on things before the meeting.  Things not working, eventually decided UNH network is down.  GAH!
Tried to get things done despite it.  Naturally, things start working five minutes before our meeting.  *sigh*


Monday 14 13:00-19:00

GEMC is not running on Pumpkin.  On attempting to start it, get 

*************************************************************
 Geant4 version Name: geant4-09-01    (14-December-2007)
                      Copyright : Geant4 Collaboration
                      Reference : NIM A 506 (2003), 250-303
                            WWW : http://cern.ch/geant4
*************************************************************

  >>> gemc Init: >>  Retrieving gemc Detector Map...

  >>> gemc MySQL: >>  Connecting to database "clas12_geometry" as "clasuser". 
terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::substr
Aborted
[dan@pumpkin ~]$ 

Was working last week, and I didn't change anything.  Either a pumkpin issue, or database.  My money is on the
database.  Will investigate later.

Working with ROOT.
Found something very useful:  To spit all of the attributes of an object on a canvas to the terminal, 
right-click on it and click on "dump".  Alternatively, clock on "Inspect"

GAH!  How can I change the scale of the color palette axis?  I found a reference to fwmax.  
Tweaked Kyle's phi_z.C
Made edep_strip.C
Sent an email to Maurizio asking for an explanation regarding the bands in phi vs. z graph.
It seems as though you are not supposed to change the palette scale yourself, or at least they make it
terribly difficult.  It seems always to be set automatically, and is highly sensitive to the values in one's
histogram.  This coupled with the fact that ours is different from Maurizio's suggests that we are doing
something differently from him.

I learned a lot about ROOT today.
Oh, use  gStyle->SetNumberContours(255); for a nicer gradient in your color palette.
Also, I don't think Maurizio cut the data for phi=0 from his phi_z graph, as "0" appears as the lower bound.
If he had set it higher, 0 would not have appeared, based on my experience.  But hopefully he will say.
Oh, some database info:  http://clasweb.jlab.org/wiki/index.php/12/10/2007_hands_on

Edep vs strip

Tuesday 15 13:00-14:45, 15:45-17:00

Met with Maurik and Sarah.
Should see if GEMC crashes on the farm.  Login to login.jlab.org, then ssh to ifarml1, remembering to
forward X.  But where is it?  Where can I run it from?  It is not in /apps.  Ask Maurizio.

Thursday 22

Wrapped-up first draft of new user guide.
Put-up copy of Mauruzio's First SVT Results page, started filling with our tests.  With source code!


Monday 28 14:00-17:00


Touching-up ROOT programs and uploading them to UNH SVT Results page.
My p vs phi does not look like Maurizio's, but seems to make sense.  Why does his "curve" at low momentums?
Asked him.  My theta vs z also looks different, will investigate next time.
Tried accessing elog on Sarah's workstation with her instructions, but couldn't get it to work.

Tuesday 29 11:30-14:30

Maurizio said that he used a magnetic field on the p vs phi graphs, explaining the discrepancy.  Did he
on others?  I will generate a new data set and re-run our ROOT programs, and see what happens.
Reading through the GEMC code, trying to trace variables through.