Progress and Task Log for Daniel
- 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
- 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?
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 firstname.lastname@example.org'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.
14:15-17:15 Details to follow...
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#
13:30-15:45 Worked on getting elog to work, and valgrind. Met with Sarah and Kyle.
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
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
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.
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.