Tuesday, August 08, 2006
To sum up...
Final entry (until I resume work!). Let's put everything that's been done this summer together...
We'll have to start by creating an area for our project. If our version of CMSSW is, say, 0_8_0, then we'll have to write:
scramv1 project CMSSW CMSSW_0_8_0;
To checkout code from the repository:
cd CMSSW_0_8_0/src;
cmscvsroot CMSSW; cvs login;
cvs co -r CMSSW_0_8_0 IOMC;
Inside the IOMC/GeneratorInterface/test we can find some examples of event generation. Before doing anything like this though, we'll have to do:
cd IOMC/GeneratorInterface/test;
eval `scramv1 runtime -sh`; Needed after logon to run a project.
cmsRun mcinput.cfg; Generate events.
To study a certain process you need to change the parameters that are being sent to Pythia. For the example code, these are located in IOMC/GeneratorInterface/data inside the .cfi files. Setting MSEL=0 allows you to define your own processes. Then, you'll have to use MSUB to choose processes and, if desired, MDME values to turn on or off decay channels. More information about these can of course be found in the Pythia manual.
Now, after generating some events you'll want to process them I suppose. There are two ways to do this:
- Using ROOT and FWLight
- Using the Full Framework
For FWLight, you'll have to load all the necessary tools after starting ROOT:
gSystem->Load("libFWCoreFWLite.so");
AutoLibraryLoader::enable();
The full framework gives you full control (and probably less frustration!). You'll have to create a directory for your analysis and create an empty analyzer project which you'll use as a template to do all the real work:
After logging in your account then you can do:
cd CMSSW_0_8_0/src
eval `scramv1 runtime -sh`
mkdir Analysis
mkedanlzr Analyzer
Now you can change the Analyzer.cc in the Analysis/Analyzer/src directory to do whatever you want to do. I have put online my code (not final version). After Aug. 15th I'll put online the "final" versions as well as a reference. A useful "recipe" from Sasha Nikitenko can be found here. Other useful pages can be found in the sidebar (-->) .All the presentations I've put in the files section could be useful. Also, in previous postings there are information about how to iterate over SuperClusters or other parts of the resulting root files and how to extract information from them.
Now a good part of this summer was (well) spent on trying to deduce a good electron-finding technique. The following cuts seem to work nicely:
- Min SC energy cut = 5.0 GeV
- Max SC energy cut = 300.0 GeV
- ΔR between SCs & Jets >= 0.5
- E ratio between SCs & Jets >= 0.3
- ΔR between Tracks & SCs = 0.5
- E/Pt between Tracks & SCs >= 0.7
Also, the current version of CMSSW seems to have some issues with the EndCap SuperClusters (look at previous post and the August 1st presentation).
You may also find my final presentation interesting (tba).
Edited on: Wednesday, September 27, 2006 1:57 PM
Categories: CMSSW, Linux, Physics, Programming, Root
Tuesday, July 18, 2006
working...
Useful one-line script (Mike did all the hard work, I just added the quotes and the commas):
ls /afs/hep.wisc.edu/cms/lazaridis/FullCMS080Sim-PythiaSignal | grep root | awk '{print "\"file:/afs/hep.wisc.edu/cms/lazaridis/FullCMS080Sim-PythiaSignal/" $0 "\","}'
To create the list of files to be given in untracked vstring fileNames of PoolSource.
Hey, after the change of the double loops and the usage of structs and vectors where I store the data, everything sped up amazingly! I used to take about 2 and a half to 3 hours to process - now in 15 minutes it's finished! Talking about code optimization eh? :)
I also have a couple of hisotograms: Electron candidates (cuts on DeltaR between SCs and Jets and Tracks and SCs), and DeltaR's between SCs and Jets and Tracks and SCs.
Edited on: Tuesday, July 18, 2006 6:22 PM
Categories: Linux
Thursday, June 15, 2006
Week 1
A small roundup of what happened the first week...
- Selected a Higgs decay channel (higgs -> ZZ -> llνν).
- Setting up a CMSSW project to work with...
scramv1 project CMSSW CMSSW_0_6_0;
cd
CMSSW_0_6_0/src;
- Checking out code from the CSSSW repository using cvs:
cmscvsroot CMSSW; cvs login;
cvs co -r
CMSSW_0_6_0 IOMC;
cd IOMC/GeneratorInterface/test;
eval
`scramv1 runtime -sh`; Needed after logon to run a project.
cmsRun
mcinput.cfg; Generate events.
- Learned how to setup a process is CMSSW, by changing MSUB (processes), MDME (decays) values.
- Creating Root scripts to plot transverse energy/momentum and eta of particles.
Very useful: Filip Moortgat's presentation on Generator Interface in CMSSW.
Also, attended the June 7th CMSSW tutorial. And here's the workbook of the tutorial.
Edited on: Friday, June 16, 2006 3:45 PM
Categories: CMSSW, Linux, Root