NZCMS - Running a first analysis job at CERN
Getting started and building the work area
26/9/07: Choose to run on most stable release - currently CMSSW_1_6_0. This is also presently the recommended release to use to run CMSSW WorkBook tutorials.
CMSSW_1_6_0 runs on Scientific Linux CERN 4 machines (SLC4). This is the architecture of the lxplus cluster at CERN.
Initial setup instructions are from WorkBookSetComputerNode
ssh lxplus.cern.ch -l jcw
Now enter password.
Once in there need to create the scratch directory which we will work in::
cd
mkdir scratch0
To check how much space you have available:
fs lq
Use SCRAMv1 to check that CMSSW_1_6_0 is available on the system:
scramv1 list | grap CMSSW_1_6_0
Build the work area:
scramv1 project CMSSW CMSSW_1_6_0
Setting up the runtime environment (do on each session)
cd CMSSW_1_6_0/src
eval `scramv1 runtime -csh`
(The latter for t/sch, for bash use -sh. Also be careful to use slanty apostrophe.)
Set up CVS (do on each logon)
project CMSSW
Set up ROOT (do this just once)
Start up ROOT then exit it to automatically create a .rootrc file which contains setup information:
root -l
.q
Make a ROOT logon file to do some automatic setups for you. Save into $HOME/rootlogon.C the following so that it always loads on startup of ROOT
{
gSystem->Load("libFWCoreFWLite.so");
AutoLibraryLoader::enable();
}
Edit the .rootrc file in your home directory to point to rootlogon.C:
# Tell ROOT where to find rootlogon.C:
Rint.Logon: $(HOME)/rootlogon.C
Set up a UserCode area in CVS for private code
Commands I used to do this:
cd /~scratch0
project CMSSW //to set up cvsroot
cvs co UserCode/README
mkdir UserCode/JennyW
cd UserCode
cvs add JennyW
mkdir JennyW/src JennyW/interface
cvs add JennyW/src JennyW/interface
mkdir JennyW/data JennyW/test
cvs add JennyW/data JennyW/test
cd ~/scratch0/CMSSW_1_6_0/src
cvs co UserCode/JennyW
Now just need to add code and cfg files to the subdirectories. If need a build file, can copy that from a normal CMSSW package and edit it. (Instructions from Pete Elmer, README)
The setup commands in a single script
The stuff that needs to be done on setup each time can be saved into a single script. E.g. my script called "160" which is just:
#!/bin/bash cd $HOME/scratch0/CMSSW_1_6_0/src echo "Using 1_6_0" eval `scramv1 runtime -csh` #shown for C shell project CMSSW # cmscvsroot CMSSW doesn't allow commits echo "CVSROOT is" echo $CVSROOT echo "PWD is: " pwd
|