Idiots Guide to CDF Software
As Prof. Frisch has warned me, if I wait any longer to document the oddities of
CDF Soft, I'll know to much to care to do so. So here goes, the blind leading the
blind.
To begin, there are three basic programs which you need learn, Pythia (or some
other monte carlo generator) Root, and AC++. The first (Pythia) is a program which
creates standard model interactions with which we may compare our real data, the
second (Root) is a data analysis program with which we may make pretty pictures of
our data, and the third (AC++) is a program from which we may control all the other
programs and modules. This was a program created at Fermilab and it contains some
of the information about the detector. In addition, you will have to learn Linux
and C++.
The first thing you need to do upon logging in is open a terminal - click on the
the little picture of a computer at the toolbar. Now, assuming that someone has
pulled over a recent copy of the CDF software, you may proceed to set this up on
your computer. Just type:
setenv USESHLIBS 1
source ~cdfsoft/cdf2.cshrc
setup cdfsoft2 3.18.0int2 (or whatever version you want, ie setup cdfsoft2 XXX)
The first line says that you want to USE SHared LIBraries. This means that code
which is common to many different programs is all put into one place to save space.
The second line is shorthand for "source /cdf/code/cdfsoft/cdf2.cshrc". The comm-
and "source" tells Linux to read whatever is in the given file and execute those
commands there. This .cshrc file sets up some environmental variables and refers
to some other .cshrc files etc. Finally, setup cdfsoft2 3.18.0int2 tells the comp-
uter which version you want to use. Leaving out the version number will (probably)
set up the most recent version. Doing all this will allow you to use cdfsoft pro-
grams like AC++ and it's various modules, Root, Pythia etc.
Next, you want to setup an area where you want to do most of your work. This
area should have alot of free disk space. Type "df" at the prompt to see which
disks have space available, (you might want to ask someone where a good place to
put you work area is). Suppose you find that /cdf/data1a looks good, then type:
cd /cdf/data1a
mkdir name_of_your_new_directory
cd name_of_your_new_directory
newrel 3.18.0int2 testrel (creates directory called testrel-name is arbitrary)
cd testrel
srt_setup -a
addpkg Stntuple dev_220 -a list of file should scroll down your screen
A few notes about this- You are creating an area which has a copy of "Stntuple"
version 220 which is taken from the CDF software package you set up earlier. This
contains the software needed to put some raw data into a standard data format call-
ed a Stntuple. The current verion of the Stntuple package changes frequently, to
find the latest one go to the web page:
Link to the Run II Stntuple Web Pages
Now, you probably want to quickly see something work so that you trust the ver-
acity of this document. The following short tutorial allows one to generate the
interaction p+pbar -> Z -> e+ebar -> whatever, look at the results, put the results
into a standard format called an ntuple, and then look at this ntuple.
1. Copy these files into your testrel area:
ntuple.tcl
zee_generate.tcl
generic_cdfsim.tcl
(For the computer impaired- just click on these and when it ask for a Selection
just type "cd /cdf/data1a/name_of_your_new_directory/testrel/ntuple.tcl".)
2. Type the following: "cdfSim zee_generate.tcl"
A bunch of stuff should flash through your screen. After this is done, a file
called zee_pythia_HEPG.root should be created in the testrel directory. Type
"ls" at the prompt to see if it's in your directory.
3. If it's in there, you may quickly look at it by typing:
"evd zee_pythia_HEPG.root"
This will take a little while to load. Once done, click on "Window", then
"COT", then "McParticle" on the left hand side. What you're looking at is a
model of the detector with the tracks of the generated particles. Clicking on
"McParticle" told evd that we wanted to see all particles that were created, not
just the ones that were detected. Of course, none of the particles were detect-
ed since they are imaginary! We can, however, actually run our imaginary
particles through an imaginary detector to see what it would have produced. To
do this:
4. Type "emacs generic_cdfsim.tcl". Emacs is a text editor and generic_cdfsim.tcl
is a file which takes an input file with raw data and runs it through the
detector. We want to change generic_cdfsim.tcl so that it knows which file of
raw data to run on and where to put it once it's done. Goto the point where it
says "input file" and change "$env(MC_INPUT_FILE)" to "zee_pythia_HEPG.root".
Similiarly, change "$env(MC_OUTPUT_FILE" to "whatever_you_want.root". -The
.root suffix is important. Now save your changes by holding down control and
x together, and then typing s. Now kill this window. Now that your back at
the prompt type:
cdfSim generic_cdfsim.tcl
5. Now, to look at what the detector saw type:
evd whatever_you_want.root
When the CDF ED Manager comes up, click on "Window" and choose "LEGO", then
"Cal Towers E". You should see a grid with lego blocks popping off. This
is a picture of the detector sliced open and unrolled, the blocks represent
energy deposited in that portion of the detector. If you click on "Pick" and
then click your mouse on one of the towers you'll see statistics for that
block appear on the terminal. To see the next event click on "next". Play
around with this for a while.
6. Once you're bored with that, you'll want to ntuple the data so that it's in a
more usable form. Click on your terminal and hold down "control" and "c" to end
whatever evd was doing. When you get the root prompt again, type ".q". This
will put you in the AC++ program. To exit that, type "exit", and you will get
a program summary before you are given back your prompt. Now, ntupling works
similiar to generation. There is a program, stnmaker.exe (instead of cdfSim)
which we must give a .tcl file to tell it what to do. Again, we must alter this
.tcl file so that it knows which file we're ntupling and where to put the
result. So type "emacs ntuple.tcl". Where it says "input file $env(PWD)...",
change the "$env(PWD)..." to "whatever_you_want.root", and similiarly change
the file after "histfile" to "something_else.root". Save this, go to your
terminal, and type:
stnmaker.exe ntuple.tcl
7. Once this is done, you'll have a file called "something_else.root". To look
at this, type "root". At the root prompt type:
new TBrowser
Double click on the testrel directory, then select your file "something_else.
root". Now click on "ROOT" on the left hand side of the Browser. You should
see your file in the window. Click on it, then select Stntuple, the select
the Genp block. You can select icons in here to see various histograms of the
data.
Not Yet done with page!!! Will shortly be adding instructions on Pythia, and making
everything pretty.
Created by Billy Cottrell