
Getting Started with CMS
The CMS Detector
The standard reference for the CMS detector is the 2008 CMS article in the Journal of Instrumentation.
Important upgrades to the detector since then are described in various Technical Design Reports that focus on particular subsystems.
One can also consult the original CMS
Technical Design Report (TDR).
CMS Webpages
The CMS homepage for members of the general public is http://cms.cern.ch/
The CMS internal homepage is http://cms.cern.ch/iCMS/.
To access the material intended only for CMS collaboration members, you will need to have a CERN account, and to be registered in the CMS database.
Registering with the CMS Collaboration Database
The first steps to registering are to get a CERN computer account and email account. Then you need to pre-register with CMS. The CMS Secretariat will then check with your institution representative, and respond with instructions to complete the registration. The first sections of the CMS WorkBook explain in detail how to proceed through these registration steps. Once registered, you will be able to access the CERN computing cluster (lxplus.cern.ch) and use CMS software.
Software Preparation: C++, ROOT and CMSSW
Brief C++ Tutorial
Before getting started with CMS software, you will first want to be familiar with the C++ programming language. You will need to learn the basics of C++, up to and including the concepts of classes and inheritance, which form the basis of object-oriented programming. A simple home-made tutorial in C++ is provided here. It has a number of examples, but it is not meant to be a replacement for a good C++ book, or a more detailed online tutorial such as http://www.cplusplus.com/doc/tutorial/. However, the home-made tutorial does focus on the sort of things which are most useful for getting started quickly.
CMS software also makes use of the Python programming language, so you may find it helpful to gain some familiarity with that too.
Brief ROOT Tutorial
The ROOT software framework is widely used in HEP experiments. ROOT provides a whole bunch of useful classes for doing high-energy physics programming. You should start by consulting the ROOT User Guide. The most important topics to learn first are histograms, input/output with files, and trees – these are the things we use most often. A simple home-made introduction to ROOT is in development here. This does not replace a full introduction to ROOT, but it does provide examples (and suggested exercises) and helps introduce you to the most important classes in the framework. Also very useful documentation is the ROOT Reference Guide. This has an entry for each class, where you can look up detailed information about what the class does and how it is implemented. You will probably find yourself frequently referring to this documentation as you work.
CMS Software package CMSSW
The CMS software package is called CMSSW. The code is mainly written in C++, accompanied by configuration files which are in Python.
The CMS WorkBook is designed to introduce newcomers to the CMS Software framework. The best procedure is to work your way through it, doing all the exercises. (It is most important to do the initial essential topics – the ‘Advanced Topics’ sections can be left until they are needed.)
The CMS computing resources are distributed across the globe. To do real data analysis in CMS, you will regularly be sending your computing jobs to process at other clusters around the world. The tool which handles this is called CRAB; the WorkBook will introduce you to it. To use CRAB, you will have to go through another registration step, to get a Grid certificate that will allow you to login to remote CMS computing clusters.
Useful Resources for CMS/HEP Introduction
- The CMS Induction Session for Newcomers includes introductory talks and videos (may require a CMS account to access)
- The Particle Data Group is a tremendous resource in the field of high-energy physics. They provide a compendium and summary of experimental results, along with useful overviews of major topics such as detector technologies, statistics, and the physics of the various sub-fields. Particularly recommended for beginning students are the reviews under Experimental Methods and Colliders on accelerator physics, particle interactions with matter, and detector technologies.
- CERN Summer Student Lectures (intended for undergraduates)
- CERN-Fermilab Hadron Collider Physics Summer School (intended for graduate students and post-docs)
- CMS results and publications
Some write-ups that provide good introductory material:
- Guenther Dissertori, LHC Detectors and Early Physics
- Nick Ellis, Trigger and Data Acquisition
- Also useful are the CERN academic lectures. In particular, a good introduction to the process of data analysis would be the lectures of Doug Glenzinski on ‘Physics and Analysis at a Hadron Collider’