Difference between revisions of "Kyle's Log"
From Nuclear Physics Group Documentation Pages
Jump to navigationJump to searchm (→July) |
(→July) |
||
Line 715: | Line 715: | ||
-Strike that. Haven't found anything online. $GEMC/grep -R -i mgeneratedparticle ./ | -Strike that. Haven't found anything online. $GEMC/grep -R -i mgeneratedparticle ./ | ||
+ | |||
+ | Nice find: /src/MHit.cc: | ||
+ | int MHit::mc_number_scheme(string pid) | ||
+ | { | ||
+ | if(pid=="e-") return 11; | ||
+ | if(pid=="e+") return -11; | ||
+ | if(pid=="gamma") return 22; | ||
+ | if(pid=="neutron") return 2112; | ||
+ | if(pid=="proton") return 2212; | ||
+ | if(pid=="kaon+") return 321; | ||
+ | if(pid=="kaon-") return -321; | ||
+ | if(pid=="kaon0") return 311; | ||
+ | if(pid=="kaon0L") return 130; | ||
+ | if(pid=="pi+") return 211; | ||
+ | if(pid=="pi-") return -211; | ||
+ | if(pid=="p0") return 111; | ||
+ | if(pid=="opticalphoton") return -22; | ||
+ | else return 0; | ||
+ | } | ||
+ | |||
</pre> | </pre> |
Revision as of 20:05, 28 July 2008
Progress and Task Log for Kyle
Tasks
Shared G4 libraries - Testing Single G4 source - Testing Review GEMC Output code Determine coordinate system Replicate more graphs, put in Elog
Notes
Getting a histo from GEMC ROOT data
To get a histogram from GEMC data do something akin to: TH2F *edep_p = new TH2F("edep_p","edep vs p (Protons)",100,0.0,4000.0,100,0.0,2.2); edep_p->SetMarkerColor(40); edep_p->SetMarkerSize(20.0); bst->Draw("Edep:p>>edep_p","Edep<2"); First we create the histo, set up some attributes, and then finally we pipe a graph into it. After this, you probably want to use Clear() in whatever pad your using to remove any graphs it draws in the process.
Specifying exactly which histo to grab
In something like: bst->Draw("Edep:p","Edep<2"); Edep may be in the bst tree while p is in the generated tree. To specify which ones to use: bst->Draw("Edep:genT.p","Edep<2");
Drawing A Legend
Try something like: TLegend *leg = new TLegend(0.4,0.6,0.89,0.89); leg->SetTextSize(.03); leg->AddEntry(histo,"title","p"); //p specifies marker as key leg->SetFillColor(0); //white BG instead of yellow default leg->Draw(); And to change the marker color of a histo: histo->SetMarkerColor(int color);
Log
October
Tue 23
Off clock - building Sim12 on Fedora 7, some linking errors with JGeant4 Arrived 12pm Familiarizing with batch mode, xml files Put together common batch mode commands from http://clasweb.jlab.org/wiki/index.php/Sim12_Manual. Creating log for hours, things done. Read SVT and silicon detector papers Out 3:00pm tonight: more reading, fix linking problem
Thur 25
Off clock - picking up Introduction to Elementary Particles by Griffiths today or tomorrow. Arrived 12pm Reading through HDDS-1_0.xsd - XML documentation Put together a simulation with just 2 SVTs (or maybe 1 double layered SVT) and a target. Simulation runs a LOT faster with reduced geometry. Wrote XML guide. Left 2:45pm
Fri 26
Off clock - picking up Introduction to Elementary Particles by Griffiths today or tomorrow. Arrived 10am Set up single 'strip' simulation. Trying to figure out color meaning. Color crazy! Perhaps seperated by charge, optical or 'other' emag radiation. All leptons so far are red. Note: I do not get the vertical red lines I did when first running the simulation. Perhaps there is too much geometry when the entire site is loaded and it breaks? Applying fields to the region. (Uniform) Seem to have some effect on charged particles in jets but not in incoming beam...not much of an effect though. Need to run more tests, check field strength. I don't think it's doing anything. Rotation in the phi dimension is broken for theta = 0. Sim12 registered hit for an optical photon, gave lots of nice information. Hasn't done that for other particle hits. Trying to get Sim12 to dump particle info to a file rather than just the terminal. Out - 12:30pm
November
Mon 5
Arrived 10:30AM Will G4 simulate semicondcutor SVT? - should...simulates photoelectric effect Building detector piece as descriped in the diagrom in the SVT notes. Fixing geometry. Out 12:15PM
Wed 7
Arrived 10:00AM It seems references to geometry in the xml files use the center of a volume for it's referencing index. I've built the first layer of the SVT cross section. What are we using for n, n+, and p+? Spoke to Sam about this, he will get back to me. For the laser test-bed we are trying to assemble: Is this laserlight polarized? Geant4 cannot yet simulate polarized light. Trying to simulate photoelectric effect. -what is the opticalphoton wavelength -controlled by energy? Out 12:30pm
Fri 9
Arrived 10:15AM Met with Sam on thursday, he recommended a great detector book, explaining the + designation on p and n semiconductors. I spoke with grad student Georgi Nenchev on Solid State physics, and he recommended I pick up a book. Modeling SVT from the cross section. What semiconductor materials are we using? (notes: p-gallium,boron,indium n-arsenic,phosphorus,antimony) How must the geometry be defined for pn junctions? out 12:45pm
Wed 14
Arrived 10:15AM Got scons, qt4, already have mysql, geant4 and python. Building qt4. Need gemc source. Filled out early time sheet. Out 12:45PM
Thur 15
Arrived 12:30PM Needed to set some env vars. Had to recompile qt4 with mysql support, recycling geant4 in sim12 build for gemc. Lunch/Class Out: 2:15PM Arrived 5:00PM make install qt - still getting mysql errors. Rebuild scons. Out 6:15pm
Fri 16
Arrived 9:00AM Still getting MYSQL errors. Needed to export MYSQL=/. Getting a library error. Looking at G4 source. Trying to implement a simple log. I see references to a file stream named LOG_MSG in gemc's source but can't find the file. Out: 11:30PM
Wed 19
Arrived 10:00AM Compiled GEMC with maurizio's file logging, it works just fine. Checking out the source, brushing up on Qt4 Out: 11:30PM
Mon 26
Arrived 10:15AM Implemented panning with respect to zoom. Compiles fine, but I can't test it as Maurizio must be playing with the geometry server. Implementing buttons for panning. Out: 12:45PM
Tue 27
Arrived 12:30AM Implemented test button for panning. Again, geometry server is not functioning, so I can't really test it yet. Trying to compile new version of GEMC, getting EVIO errors on building. Just tested, scale to zoom panning works great! Button isn't working. I don't know if I can pass an argument to a function using a slot. Created seperate method for button panning, works great! Now I need to just put it all together so it looks good. Updated notes and tasks on this page. Can't get new GEMC to build, with evio from taro/maurik or evio from jlab. It can't link evioxx. I can't even find anything called evioxx. Out: 3:00PM
Wed 28
Arrived 10:15AM Helping Dan with Command line box Implemented buttons for panning. Trying to get them in their own box, not working yet. I see maurizio wants a google-maps like interface. I assume he means drag to pan/rotate and scroll zoom. I'm going to pick up a book on QT. Left 12:15
Fri 30
Arrived 10:00AM got latest evio/gemc from taro/maurik got evio to install, but scons'ing gemc results in the same linking evioxx error reading through qt tutorial
December
Mon 3
Arrived 1015 built new gemc, sent code to maurizio checking out dan's code future ideas for buttons: pan factor Out 1215
Tue 11
In 1215 Implemented compass-rose type buttons, put into new code with command box Implemented pan factor slider Out 2:15
Wed 13
In 100 Implemented coord boxes. Displays current x,y and allows one to jump to any x,y. What is wrong with phi? Fix it. Tommorow add reset button. Move on. Out 300
January
Thur 10
In 11:30 Got updated code from maurik, integrating my gui changes into the new code. Arg! Scons errors. Emailed Maurizio. Out 12:15
Tue 15
In 115 Built g4.9.1, assembly el4/5 32/64 bit builds of all gemc things. Gemc will not build. There is a linking error with a QT4 .so however QTDIR and QTHOME are specified, QTHOME/lib is in LD_LIBRARY_PATH, and the .so exists within the directory. Out 5:00PM
Wed 16
In 12:30 Still trying to figure out this linking error. -seems we need the latest gemc to resolve building RHEL4_x32 gemc dependencies on pumpkin Out 4:45
Mon 21
In 11:00 GEANT built successfully. Building scons. Got BMS and built EVIO. SCons and pyscripts are in the main CLAS12 directory. Getting new GEMC...maurik is writing to JLab for access. Out 1:00 SSH: Fixed the scons install. Putting GEMC in my home directory and attempting to build it from the dependencies on pumpkin2/taro I thought dan had compiled qt, has not. Moving source to pumpkin and compiling as in the 'detailed instructions.' http://clasweb.jlab.org/wiki/index.php/Detailed_instructions
Tue 22
In 1:15 Recompiling Geant4 I tried compiling it manually but I must be doing something wrong. Using the configure script. Everything seems like it built fine. Whever I scons gemc, it tells me G4UIQt is undeclared, despite G4UIQt.hh being included in the building of gemc. "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." Out 3:30
Tue 29
In 2:00PM This error must lie either in combining the incorrect G4 and gemc versions, or in a bad G4 compile. QT I beleive should be compiled correctly. I've recompiled, making manually after setting enviroment variables, G4. Gemc still doesn't compile. Out 3:30
Febuary
Tue 5
In 9:30 Found some info on GTUI.py. We have the right version of python... Redownloading loadgeant4.py GEMC builds! Doesn't run though. Exporting CLHEP/lib to LD_LIBRARY_PATH Runs! But segfaults. Probably just problems in this GEMC. Interestingly enough, old versions of gemc also build, but then segfault. We need the newest gemc version to be able to tell if this is gemc or G4. Out 10:30 In 12:00 Dan is moving the directory structure as I write a guide. Beginning work on RHEL5_64 Built: CLHEP XERCESC DAWN EVIO QT Out 2:00pm
Tue 8-12
sshing in from home, building 5_x64
Thur 14
In 10:30 Building dependencies RHEL5_x32 corn crashed. Out-Class 11:00 In 12:00 getting evio linking errors when building gemc. slowly but surely driving me ever closer of the cliff and into the depths of madness. Out 2:15
Mon 18
In 3:00pm Corn should be good to go. Compiled CLHEP, XERCESC RHEL5_x32. Got GEMC to build on RHEL5_x64, loadevio.py was linking from EVIO/lib, but libraries are in EVIO/OS_ARCH/lib. Moved my lib to the root directory as the pyscripts are shared. On RHEL5_x32: Tried to build qt, on running configure script gcc failes as not recognizing the filetype of project.o. Out 5:30pm
Tue 19
In 12:00pm Building QT on corn...getting compiler errors. It's trying to compile 64bit??? Corn does not have mysql. I email npg-admins about this. Out 1:30
Mon 25
In 4:00pm Dan and I edited the Detailed Instructions wiki, and are putting up example environment scripts, build steps/commands. We downloaded magnetic field info and GEMC starts smoothly. Out 5:45
Thu 28
In 12:00 Naturally, when showing maurik GEMC it failed to open. We have deduced this to be a problem with svtgeometry and not out builds as other geometries function correctly. Out 2:00
March
Tue 4
In 12:00 Built shared libraries for G4 on RH5 64 and 32. 64 did spit out some errors, but it completed successfully. Testing this. As per Maurik's suggestion, moved the G4 source directory into the main CLAS12 directory and created a simlink in RHEL5_x64/GEANT4.9.1 to point there. Currently building GEMC, testing this.
Sun 23
In 1:45 Trying to get data out of GEMC and into ROOT. Got data out into text, evio formats. Got xml data from evio data. Need to svn evio2root. Installing root in CLAS12 on pumpkin2. For some reason nothing will draw. Using mauriks. Doing tutorials. Building root on parity. Out 5:00
Tue 25
In 12:00 Still not in a groub on the JLab computers. Simulating e- beams with ih2tgeometry. Out 4:00
Tue 25
In 1:15 SVN access now working, checking out latest and greatest gemc.
April
Tue 1
In 1:00 Working with GEMC, analyzing output with Root. Emailed Maurizio about variables. Out 5:00
Tue 8
In 1:30 Using root, making histograms. Out 4:00
Mon 21
In 3:00 Working on poster with Sam, Dan, Sarah Out 6:30
Tue 22
In 1:30 Fininshing poster Out 5:30
Thur 24
In 2:15pm Planning angular dependance simulation. We need to write a geometry table. Out 3:00pm
Wed 30
In 3:15pm SVN is not authenticating me! Talking to the helpdesk. Once we update gemc we can use gcard to specify a geometry consisting of a single module. Then, we can manipulate particles and do various tests with the SVT, outputting the data into root for analyzation. Talking with Maurizio about geometries. Out 5:15
May
Thur 1
In 11:00am SVN issue was resolved. Updated gemc. GCARD is pretty easy to use. It's just XML to specify one's geometry. Angle dependance planning. Out 12:30?
Tues 6
In 1:15pm We are speaking with maurizio about the best way to set up our experiment. It seems the SPREAD_P switch will randomly create protons over a set of angles. Ran experiment, collected data and graphs, met with maurik. Out 4:15pm
Wed 12
In 1:30pm Updated GEMC to release 1075 Trying to figure out how to use maurizio's geo.c and svthits.c root files, in order to manipulate the data we collected into something usefull. emailed sarah. Have to leave to straighten out my loan for the summer. Out 2:30pm
June
Wed 4
In 12:00pm Sarah gave Dan and I example root scripts which we are to modify for use with data collected in GEMC. Can now open root files from interpreter or program, explore trees and draw histos. I want to be able to recreate some of these: http://clasweb.jlab.org/wiki/index.php/First_SVT_results Out 4:00pm
Thur 5
In 1:00pm Made theta dependence event detection graph. Recreated Edep vs. p graph using AddFriend method on TTree svt. Then everything took a strange turn as root began to fail to do things. Worked with sarah trying to figure out what was going on. Affecting different programs, different versions of root. Out 4:00pm
Tue 10
In 1:00pm Met with Sarah, Maurik. Frustratingly tried to manipulate GEMC data trees. Finally reached the point where we can create copies of histograms. Many root things not working or working strangely. Need to get bin content of individual histos and manipulate them manually. Out 4:00pm
Wed 11
In 12:00pm Trying to create one 2d histogram from two 1d histograms...can't find anything similar online. Maurizio got back to us, piped output into a 2d histogram and it worked. Changed drawing, binning options. Looks great! Dan is running a 50000 event simulation with the same inputs as our current 5000 event data for further refined data. gemc_evio2root has been updated and our current version of root does not have RIO libraries. Another version did but we found it to be incompatible. Out 3:45pm
Wed 18
In 2:00pm The hub is not working, Hovannes, Dan and I tried to get ennui and benfranklin up to no avail. Hovannes and I just used our laptops, with Dan on benfranklin going direct to an ethernet jack in the wall. Talked to sarah, recreating graphs. Have Edep v. p, working on theta with threshold cutting and phi v. z. Our Phi v. z plot is very sparsely populated. I emailed maurizio about this. One can see two distinct signals in the proton & pion edep v p graph, however we may need to widen our energy scale (lower) to see this more clearly. Running simulation with wider energy allowances. Out 5:00pm
Tue 24
In 1:00 Elog is up but needs a proper template - Dan is on that. Making images of the graphs to put in elog. Fixed wiki log error. Running 500,000 events proton and pion simultaneously. Need more statistics to replicate Maurizio's graphs. Proton data was damaged and I am running it again. Running another pion experiment to add to our current one. Out 3:30 Ran to James hall fossil/map giveaway In 4:15 Creating pion-proton graph with new data Out 4:30
Thur 26
In 11:15am Working on pion-proton graph. Out 12:00pm Lunch In 1:15 Had Katie sign timesheets I cannot figure out why our data isn't succesfully piping to histograms. Talked to sarah, she didn't know. Checking root documentation. Can we directly refer to histograms? Out 4:30
Mon 30
In 12:15 Contacted jlab, my password has changed and I can't svn or get my email. Dan gone until tommorow, he's in NJ. I shall investigate why my program isn't working. Finally fixed the pion & proton edep_p graph! Cool! Updated some wiki information on availability and versions of programs in the CLAS12ROOT directory. Created a notes section for me, in this log. Updated summer, fall schedule. Made theta graph with current data. Maurizio's cuts are different than mine. Making phi vs. z graph. I need to combine lots of data for a statistical view, running more proton simulations. Out 3:15pm
July
Tue 1st
In 1:30pm Organized goals with Sarah. Dan has elog running on mariecurie, but does Maurik want us using it? Emailing maurizio for coordinate system and other things. Maurizio got back to us. /home ran out of space! We alerted matt and spoke with him about the new server. Organized CLAS12ROOT. Data will now be in CLAS12ROOT/Experiments/data to keep home directories smaller. Removed older data. Out 4:45pm
Thur 3rd
In 7:45am Edited RHEL5_x64 env script to reflect a new $DATA variable pointing to the folder containing all the data from gemc runs. The data I set running Tue 1st seems to have not been properly closed. Someone must have killed benfranklin's internet connection before my run finished last night. Rerunning. I created an Index.txt in $DATA in which we can keep the command used to generate data next to it's filename, alleviating the need for long rootfile names. I don't understand why we register so few hits in layers 2, 3, and 4 in our data, for the theta graph. You can see it again, in the Edep graphs. I do not know the cause of the phenomenon, but I nearly sure there are 8 layers in total between all four barrels of the SVT. I would think this would mean 2 per layer but histograms I have generated beg to differ. Made x_y_z for all 8 layers. Out 10:30am
Thur 10th
In 12:00pm Hobo and Ben Franklin are not of good health, so Dan and I are using the physics lounge computers. We asked maurizio about the layers confusion and it works as such: "layer[0] == 1 means "plot all events where the first hit was in layer 1". layer[1] == 2 means "plot all events where the second hit was in layer 2" - that means the first hit is somewhere else layer[4] == 3 means "plot all events where the fifth hit was in layer 3" - that means the first 4 hits are somewhere else (very unlikely)." So my question is how do I specify showing the hits in just a single layer? out 2:45
Tue 15th
In 1:00 Prepared for meeting with Maurik. Fixed X_Y_Z graph. Lunch 2:45 In 3:45 Looking through gemc's output code. Trying to find evio documentation. Out 4:30
16th-19th
Trying to decipher GEMC and gemc2evio code. Just following it, not producing anything so I'm not recording any hours.
Tue 22
In 1:00 Checking out GEMC code. Trying to form questions to ask Maurik. Out 2:00 Our advisors were busy! Reading code. Perhaps if we can create our own dummy item in gemc and run it through the processes until we can see it in a root file we will understand more.
Thur 24
In 3:00pm Did timesheets for past two weeks. Inside output/evio_output.cc is an interesting method, called WriteGenerated, which takes a vector<MGeneratedParticle> called MGP. I'm trying to find where WriteGenerated is called to see where MGP originates. WriteGenerated is referenced in src/MEventAction.cc More interesting things inside /hitprocess/clas12/svt/BST_hitprocess.cc Out:4:30
Fri 25
Supposed to come in 8-11am, stuck in Hanover with brake problems. Will work monday afternoon for three hours.
Mon 28
Came in at 12:15 but the physics lounge computers were inaccessable. Tried to boot up BF but it was taking a long time so I went to an early lunch. Saw Maurik! Meeting with Sarah later. Amrit may have a student? Also need to coordinate a time to move computers in the nuc server room. In 1:30 Physics lounge still being buffed. Bypassed router in JLAB room, BF booted up fine. It occurred to me during lunch that MGeneratedParticle is probably a Geant4 object and I can use the G4 documentation. -Strike that. Haven't found anything online. $GEMC/grep -R -i mgeneratedparticle ./ Nice find: /src/MHit.cc: int MHit::mc_number_scheme(string pid) { if(pid=="e-") return 11; if(pid=="e+") return -11; if(pid=="gamma") return 22; if(pid=="neutron") return 2112; if(pid=="proton") return 2212; if(pid=="kaon+") return 321; if(pid=="kaon-") return -321; if(pid=="kaon0") return 311; if(pid=="kaon0L") return 130; if(pid=="pi+") return 211; if(pid=="pi-") return -211; if(pid=="p0") return 111; if(pid=="opticalphoton") return -22; else return 0; }