Code: Difference between revisions

From Mu2eWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 51: Line 51:
** [http://mu2e.fnal.gov/atwork/computing/ops/nightlyBuild/nightly.shtml  Jenkins Nightly build results]
** [http://mu2e.fnal.gov/atwork/computing/ops/nightlyBuild/nightly.shtml  Jenkins Nightly build results]
* CVMFS - a distributed disk system to serve tagged, static code builds and products
* CVMFS - a distributed disk system to serve tagged, static code builds and products
** [[CVMFSuser|for users]]  
** [[Cvmfs#Using CVMFS|for users]]  
** [[CVMFSmaintainers|maintaining content]]  
** [[Cvmfs#Installing CVMFS|installing at remote sites]]
** [[CVMFSremote|installing at remote sites]]  
** [[Cvmfs#Adding CVMFS content|maintaining content]]  
* [[DownloadCode|Download]] - pull a local copy to remote institutions or laptops
* [[CodeDistribution|Download]] - pull a local copy to remote institutions or laptops
* [[BTrk]] - the KalMan fitter code is in this non-standard product
* [[BTrk]] - the KalMan fitter code is in this non-standard product



Revision as of 21:18, 10 February 2017


example page for git documentation

Building code

  • For quick cut and paste...

checking out the main repository, with kerberos authentication for committing:

git clone ssh://p-mu2eofflinesoftwaremu2eoffline@cdcvs.fnal.gov/cvs/projects/mu2eofflinesoftwaremu2eoffline/Offline.git

checking out the main repository, readonly:

git clone http://cdcvs.fnal.gov/projects/mu2eofflinesoftwaremu2eoffline/Offline.git
  • git
  • scons
  • Satellite Releases - building only the part of the code base you need
  • Base releases and test releases.

References and How-to's

  • Mu2e Geometry: The Big Picture
    • Notes on the geometry files
  • Using random numbers:
    • Basic Instructions
    • Complete Instructions
  • Magnetic Field Maps.
  • Conditions Data
  • products and modules
    • Which names need to match each other.
    • The Mantra for making data products.
    • listing products and printing their contents
  • What are Services?
    • Services distributed with the framework.
    • Deprecated art services
  • About handles.
  • Filter Modules.
  • Inter-Product References: art::Ptr, art::PtrVector, art::Assns
  • cet::map_vector: a new class template
  • Exceptions: Mu2e policy, CMS guide to managing exceptions.

Configuring fcl

  • SimpleConfig
  • Run-time Configuration (.fcl files)
  • Trigger_paths, end_paths and reconstruction on demand.
  • Configuring input and output modules
  • Search path for some run-time files.
  • Using and configuring the message logger

Code Management

Standards and Practices

  • Editors: Emacs, vim; policy of not using tab characters.
  • CMS code references: Home Offline WorkBook SW Guide
  • Units and Coordinate Systems


External Packages

  • UPS/UPD as used by Mu2e
  • Setting up ROOT by itself
  • Mu2e code
  • art
  • CMS Framework
  • Root (v5.28)
  • Geant4 DOxygen(v9.4.p01)
  • Geant4 LXR
  • CLHEP(v.2.2.0.4)
  • HepPDT
  • fhicl-cpp
  • cetlib
  • Message Facility
  • cpp0x
  • BTrk
  • LXR browsers for many Fermilab projects
  • The art redmine wiki, art-users archive
  • Other external software used by Mu2e with links to documentation.