ComputingTutorials: Difference between revisions

From Mu2eWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
This page is intended for physicists who are just starting to work in the mu2e computing environment.  The following is a broad overview of the major components, their terminology, and how you might use them.  Following each into paragraph, here are links into more specific tutorials and the rest of the mu2e documentation which is more terse and is intended as a reference once you get through the introductory material.   
This page is intended for physicists who are just starting to work in the mu2e computing environment.  The following is a broad overview of the major components, their terminology, and how you might use them.  Following each into paragraph, here are links into more specific tutorials and the rest of the mu2e documentation which is more terse and is intended as a reference once you get through the introductory material.   


You probably don't have to work through this entire page and you can stop and any point, please talk to you advisor or mentor to see what's appropriate. The material you are most likely need to use comes first, followed by more in-depth tutorials for people who will be spending years on mu2e and learn to do more complex work.
You probably don't have to work through this entire page and you can stop and any point, please talk to you adviser or mentor to see what's appropriate. The material you are most likely need to use comes first, followed by more in-depth tutorials for people who will be spending years on mu2e and learn to do more complex work.




Line 29: Line 29:


===next===
===next===
Try:
* [[ComputingAccounts]] create your accounts and authentication if you are joining mu2e
* [[ComputingAccounts]] create your accounts and authentication if you are joining mu2e
Become familiar with these references:
*[[ComputingHelp]]


==Interactive logins==
==Interactive logins==
Line 40: Line 43:
Try:
Try:
* [[LoginTutorial]] checking your access
* [[LoginTutorial]] checking your access
Be familiar with these references:
Become familiar with these references:
* [[ComputingLogin]] reference - logging into interactive machines
* [[ComputingLogin]]
* [[Disks|disks]]
* [[Disks|disks]]
* [[Shells|bash shell]]
* [[Shells|bash shell]]


==Ntuple==
The data from the detector, and the reconstructed data, is stored in files in '''art''' format.  Accessing this data generally requires compiling code and learning a special configuration language, so we will save that for a later tutorial.  To simplify, and speed up access to the data, we often run a program to copy a small part of the data in the art file into a convenient format call a root ntuple.  This format is easy to browser interactively and make histograms.  The ntuple file may contain histograms that were already made, or a list of the tracks in each event along with interesting quantities, such as the number of hits on the track or its reconstructed momentum.
===next===
Try:
* [[NtupleTutorial]]
Become familiar with these references:
* root [https://root.cern.ch/ top page] [https://root.cern.ch/getting-started getting started] [https://root.cern.ch/guides/reference-guide code reference]
==Geometry Browser==
==Code, art and fcl==
where is the code (do not use git tho), intro to releases, cvmfs, run genReco, set output file names and Nevents
intro to fcl, paths and filters. maybe a couple of tutorials?
==Modules and Products==
print and dump files, list products, write input tags. Maybe look at RecoDataProducts and example module code.
==Checkout and build code==
scons, satellite releases, warning about changing include files
==Geometry and Config==
alter a geometry file, read a generator config file
==Staging and Mixing Concepts==
run multi-stage, run mixing, make fcl changes and re-run
==dCache==
write to scratch dcache, use ifdh
==Grids==
submit a mu2eprodsys job, second tutorial to monitor the job
==Git commits==
==random numbers, handles, exceptions==


===next===





Revision as of 18:59, 24 January 2018


Introduction

This page is intended for physicists who are just starting to work in the mu2e computing environment. The following is a broad overview of the major components, their terminology, and how you might use them. Following each into paragraph, here are links into more specific tutorials and the rest of the mu2e documentation which is more terse and is intended as a reference once you get through the introductory material.

You probably don't have to work through this entire page and you can stop and any point, please talk to you adviser or mentor to see what's appropriate. The material you are most likely need to use comes first, followed by more in-depth tutorials for people who will be spending years on mu2e and learn to do more complex work.


Prerequisites

In this tutorial we will assume you are familiar with the following topic

  • the mu2e detector, the parts, what they do, and how they work
  • the basics bash shell commands on a linux system
  • familiar with c++ code concepts and syntax
  • familiar with HEP offline concepts

provide links to external references


Authentication

You login to the mu2e interactive machines with kerberos authentication. You will need a permanent ID called a kerberos "principal" which is looks like "your_username@FNAL.GOV". (You will have one username for all computing purposes at Fermilab.) You will have a password associated with your principal. You will use this principal and password to log into the various personal linux desktops located at Fermilab or to ssh into the collaboration interactive machines from your home institution. You typically re-enter your kerberos authentication every day.

The second identity you will need is the services principal, which looks like your_username@services.fnal.gov, or often just your_username, and also has a password (different from your kerberos password). You will need this identity to log into Fermilab email, the servicedesk web site and some other services based at the lab. You would typically only use this authentication at the point you log into the service.

The third identity you will need is a CILogin certificate. This "cert" is the basis of authentication to the mu2e documents database, the computing farms, and a few other services. You will use this cert in two ways. The first way is to load it into your browser, which then gives you access to web pages and web services. The second is by using your kerberos authentication to access a copy of your certificate maintained in a remote database. You get this certificate once and then renew it only once a year.

hypernews is an archived blog and email list - for access here, you will need both a hypernews password and your services password!

Finally, the mu2e internal web pages require a collaboration username and password, please ask your mu2e mentor.

next

Try:

Become familiar with these references:

Interactive logins

Collaborators can do interactive computing work in several places. Probably the best place to start is the collaboration's interactive linux machines at Fermilab. The disks that the user sees are located on specialized disk server hardware and the same disks are mounted by all the interactive machines. There are five quad-core machines named mu2egpvm01.fnal.gov through mu2egpvm05.fnal.gov. You will have an account and a home area here (the same home area is on all machines) and some disk space for data. We prefer using the bash shell for all purposes. Collaborators can also compile and run mu2e code on their linux desktops or laptops.

When ready, you can read more about the , the disks, bash shell, and how to get the code distribution from the code disk, or copied to a desktop, laptop or remote institution.

next

Try:

Become familiar with these references:

Ntuple

The data from the detector, and the reconstructed data, is stored in files in art format. Accessing this data generally requires compiling code and learning a special configuration language, so we will save that for a later tutorial. To simplify, and speed up access to the data, we often run a program to copy a small part of the data in the art file into a convenient format call a root ntuple. This format is easy to browser interactively and make histograms. The ntuple file may contain histograms that were already made, or a list of the tracks in each event along with interesting quantities, such as the number of hits on the track or its reconstructed momentum.

next

Try:

Become familiar with these references:


Geometry Browser

Code, art and fcl

where is the code (do not use git tho), intro to releases, cvmfs, run genReco, set output file names and Nevents intro to fcl, paths and filters. maybe a couple of tutorials?

Modules and Products

print and dump files, list products, write input tags. Maybe look at RecoDataProducts and example module code.

Checkout and build code

scons, satellite releases, warning about changing include files

Geometry and Config

alter a geometry file, read a generator config file

Staging and Mixing Concepts

run multi-stage, run mixing, make fcl changes and re-run

dCache

write to scratch dcache, use ifdh

Grids

submit a mu2eprodsys job, second tutorial to monitor the job

Git commits

random numbers, handles, exceptions

Outline (scratch)

  • Intro to physics goals
    • concept, new physics, current limits, timeline
    • ideas of beamline, stopping, DIO, tracker, final momentum plot
  • Detector overview
    • overview of why the detector is laid out this way, purpose of calorimeter, gradient filed, cosmic shield
    • tour individual pieces, specific points to make
  • Backgrounds
    • flash and time window
    • DIO
    • RPC
    • antip
    • cosmics
  • Computing Stage I (getting around, using ntuples)
    • Authentication, interactive machines, OS, shell
    • c++, how code is organized, cvmfs, UPS products, setup procedure
    • intro to art files
    • geometry browser
    • root ntuples and plots
    • documents and getting help
  • Computing Stage II (understanding sim, local builds)
    • intro to modules and products
    • running mu2e exe, fcl,
    • intro to simulation, staging and mixing
    • paths, generator and geometry files
    • checkout and build commands
  • Computing Stage III (submit grid jobs)
    • dcache
    • grids
    • mu2eprodsys
    • monitoring
  • Computing Stage IV (developer)
    • committing code
    • releases and tags
    • how to make products
    • random numbers, handles, exceptions, etc

Random Links (scratch)

latest meeting

Sarah's google doc on clickable status and intro paragraphs

Rob's 10/26/17 talk on intro to computing plan

clickable detector

Overview

Build recipe

Rob's first geant run for new users

art workbook

test root

test display

Summer 2016 SCD workshops (includes geometry tutorial)

Summer 2016 mu2e tutorials

unix hints

setup root by itself

c++

linux

root

July 2016 intro talks

Software tutorial

Practicalities of MC

Hits and Mixing


Tutorials (scratch)

  • Testing the ROOT display
  • Testing the Geant4 based event display
  • Notes on dynamic libraries
  • The First Step: the art workbook
  • Running G4 within art: The first examples.
  • Mu2e maintained FAQs: C++ FAQ, Unix/Linux FAQ, ROOT FAQ, Geant4 Notes