Current version: 3-3-2006, A. Askew 1.) How to check out the current version of ORCA 2.) Where to find the electron photon code 3.) How to check out the current version of CMSSW-Ecal 4.) Where to find the electron photon code 5.) How to run ORCA on some test data 1.) So you're want to check out ORCA: You'll ALWAYS need to do setup when you log in to the UAF. It is reccommended that you do not add such setups to your .login or .tcshrc. [askew@pensacola ~]$ ssh cmsuafng.fnal.gov [Big login messages deleted] This line is necessary for scram, but not scramv1, which is mentioned later. setenv SCRAM_ARCH slc3_ia32_gcc323 source /afs/fnal.gov/files/code/cms/setup/cshrc uaf Now you've got access to the available versions of ORCA that are present. Also, scram now knows what architecture you want to use. That's important. Now let's see what versions of ORCA are available: scram list ORCA Listing installed projects.... --------------------------------------------------------------------------------| Project Name | Project Version | Project Location |-------------------------------------------------------------------------------- ORCA ORCA_8_9_0 --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_9_0 ORCA ORCA_8_9_4 --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_9_4 ORCA ORCA_8_7_3 --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_7_3 ORCA ORCA_8_13_1 --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_13_1 ORCA ORCA_8_7_5 --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_7_5 ORCA ORCA_8_7_1 --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_7_1 ORCA ORCA_8_7_4 --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_7_4 ORCA ORCA_8_10_1 --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_10_1 ORCA ORCA_8_8_0 --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_8_0 ORCA ORCA_8_7_3_dbg --> /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_7_3_dbg Projects available for platform >> slc3_ia32_gcc323 << It is presumed that you know what version of ORCA you want. Let's say you want ORCA_8_13_1. You should go someplace on UAF where you have space. Then: scram project ORCA ORCA_8_13_1 Getting release area.... Checking SCRAM version.... Creating satellite area.... Creating directories.... Installation procedure complete. Installation Located at: /uscms_data/d1/askew/ORCA_8_13_1 cd /uscms_data/d1/askew/ORCA_8_13_1 Now you have to tell the system that this is the working area you want to use. eval `scram runtime -csh` Now you inhabit your own little area for ORCA analysis. 2.) Where do you find electronphoton code? In the above example, when we did "scram list ORCA", it didn't just list the available versions, it also listed the full path to the source code. For example: ls /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_13_1 bin config doc lib logs module python src tmp ls /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_13_1/src/ BReco DAQ Examples MET Tracker Calorimetry Data HeavyIonAnalysis Muon TrackerReco CommonDet Documentation HLT MuonReco Trigger CommonReco eGammaAnalysis JetMetAnalysis OvalFile Vertex CVS ElectronPhoton Jets TauReco Workspace Two things immediately jump out at you: 1.) ElectronPhoton: ElectronPhoton is home to most of the reconstruction code that is specific to identification of electrons and photons. 2.) eGammaAnalysis: eGammaAnalysis contains some ROOT scripts and other code that were used in early example analyses for electrons and photons. Probably not useful to you. In ElectronPhoton: ls /uscms/prod/sw/cms/Releases/ORCA/ORCA_8_13_1/src/ElectronPhoton/ BuildFile EgammaElectron EgammaNotification ClusterTools EgammaEnergyScale EgammaOfflineReco CVS EgammaGsfTracks EgammaPhoton domain EgammaL1Selection EgammaPreshower EgammaAnalysis EgammaL1Tools EgammaRootSupport EgammaAnalysisFactory EgammaL2Selection EgammaSuperClusters EgammaBasicClusters EgammaL3Selection EgammaTracks EgammaCalibObject EgammaMC EgammaUtilities EgammaClusters EgammaMCTools ElectronFromPixels There is an absolute wealth of code here. For example, EgammaBasicClusters contains the code necessary to do the ORCA implementation of the Island and Hybrid clustering of the ECAL. Where you will go from here, will depend highly on what your interest is. ClusterTools contains the ever popular EgammaBremRecovery files (tells Island clusters how to supercluster). There is a nice HTML based CVS browser that you can look at too: http://cmsdoc.cern.ch/swdev/viewcvs/viewcvs.cgi/ Note the pull down menu, you can use that to get to CMSSW as well. In the browser if you navigate down to the source code you will find the revision history and the tafs. You may want to check out specific tags of things. You're going to have to use CVS to get whatever package it is you want. And either you'll check out a specific 'tag' (version) or you'll get the 'head' (the last thing that was checked in). First you'll have to tell the system what you're up to: cmscvsroot ORCA This tells the system that you want the root of the CVS tree to be in the ORCA package. Now login to CVS: cvs login Logging in to :pserver:anonymous@cmscvs.cern.ch:2401/cvs_server/repositories/ORCA CVS password: It's a huge security hole, but the password is 98passwd. (If the above does not work set the environment variable explicitly setenv CVSROOT :pserver:anonymous@cmscvs.cern.ch:/cvs_server/repositories/ORCA cvs login) cd into ORCA_8_13_1 mkdir src cd into src Now you can check out one or more packages. This works like: cvs checkout -r [tag] packagename EGamm For example: cvs checkout -r v00-01-00 ElectronPhoton/EgammaAnalysis Would check out v00-01-00 of the ElectronPhoton package EgammaAnalysis (I don't know if that's a real tag or not, this is just a phony example). If you omit the -r [tag] argument, you get the head version. I note that the head version is by definition 'newer than new' and cannot be expected to work in any way shape or form, unless you really know what you're doing. 3.) How do you check out the current version of CMSSW-Ecal? Be aware that all of this code is changing very fast. It may not work/crash/be buggy. Instead of ORCA, you'll need to check out CMSSW. You do that much like the example in 1.), only you'll end up using scramv1 instead of scram. Here's line by line an example: source /afs/fnal.gov/files/code/cms/setup/cshrc uaf cd /uscms_data/d1/askew/blah scramv1 project CMSSW CMSSW_0_4_0 Notice that this is scramv1 rather than scram. That's important. cmscvsroot CMSSW cvs login Logging in to :pserver:anonymous@cmscvs.cern.ch:2401/cvs_server/repositories/CMSSW CVS password: cvs checkout RecoECAL This simply gets me the head version of everything within RecoECAL. While I'm writing this, all that exists there is ECALClusters, which handles making the basic clusters from the EcalRecHits. I also KNOW that I want the head version, which is kind of rare. Otherwise, you should really give a tag. However, the clusters themselves live elsewhere: cvs checkout DataFormats/EGammaReco Here's where the clusters themselves live. In fact, there's a lot of stuff in DataFormats/EGammaReco. For completeness, here's where the other bits live: cvs checkout DataFormats/EcalRecHit cvs checkout DataFormats/CaloRecHit Now eventually, (e.g. when all of this hits the release) you'll be able to browse this code like the above ORCA example. 5.) How to run ORCA on some test data ORCA is weird. Really. At say, D0 or CDF, one takes a data file, full of digis or whatever, you run the reconstruction and you look at the output. I'm never really sure what I'm getting with ORCA, whether I'm querying for some object, or running the reconstruction itself. I suggest however, that one take a Digi file and run ExRootAnalysis over it to get the reconstruction objects (however they were formed) and then use the ExRootReader libraries to open up the ROOT file and find out what the reconstruction said. There are instructions for checking out and running ExRoot as well as with example analysis macros at the following link: http://uscms.org/LPC/lpc_eg/exroot.txt The nice thing about ExRoot is that it contains within it's little block classes all of the RecQuery business needed to get the reconstruction level objects. If you're sufficiently skilled with the ORCA parlance, you can add blocks too.