Code: Difference between revisions
Jump to navigation
Jump to search
Line 122: | Line 122: | ||
* [https://root.cern.ch/root/ root] [https://root.cern.ch/guides/reference-guide docs] | * [https://root.cern.ch/root/ root] [https://root.cern.ch/guides/reference-guide docs] | ||
* [http://geant4.web.cern.ch/geant4/ geant] [https://web.fnal.gov/project/Geant4/SitePages/Home.aspx at Fermilab] [http://www-geant4.kek.jp/Reference/9.4.p01/Geant4 DOxygen(v9.4.p01)] [http://www-geant4.kek.jp/LXR/ LXR] | * [http://geant4.web.cern.ch/geant4/ geant] [https://web.fnal.gov/project/Geant4/SitePages/Home.aspx at Fermilab] [http://www-geant4.kek.jp/Reference/9.4.p01/Geant4 DOxygen(v9.4.p01)] [http://www-geant4.kek.jp/LXR/ LXR] | ||
* [[Geant4Examples]] How to run the standard Geant4 examples on the Mu2e interactive machines. | |||
* [http://public.muonsinc.com/Projects/G4beamline.aspx G4Beamline] [http://mu2e-docdb.fnal.gov/cgi-bin/ShowDocument?docid=1490 Mu2e manual] | * [http://public.muonsinc.com/Projects/G4beamline.aspx G4Beamline] [http://mu2e-docdb.fnal.gov/cgi-bin/ShowDocument?docid=1490 Mu2e manual] | ||
* [http://proj-clhep.web.cern.ch/proj-clhep/ CLHEP] [http://proj-clhep.web.cern.ch/proj-clhep/doc/CLHEP_2_2_0_4/html/ CLHEP(v.2.2.0.4)] | * [http://proj-clhep.web.cern.ch/proj-clhep/ CLHEP] [http://proj-clhep.web.cern.ch/proj-clhep/doc/CLHEP_2_2_0_4/html/ CLHEP(v.2.2.0.4)] |
Revision as of 23:27, 4 March 2024
Building code
- CodeEnvironment how to setup the linux environment
- GitIntro code management preliminaries for newcomers
- OfflineStatus which branch or tag of Mu2e Offline you should start from
- GitHubWorkflow - code repository checkout and commit procedures
- IncludeFiles - where to find include files
- Muse - Mu2e code setup and build scripts
- scons - internal commercial build tool, called by Muse
- Building Offline with cmake - DAQ is building Offline using a different commercial tool.
- Debugging code debugging tools and tips
- Mu2e github organization
- UPS - using the Fermilab UPS product setup
- Redmine - a few pieces of code are still in the redmine git repository
- CVS - a few pieces of code are still in the CVS repository
Configuring executables
- fcl - intro to fcl art job control language
- paths - which modules and what order
- I/O modules
- Message logger
- Search paths - how data, fcl, and other control files are found
- SimpleConfig - another way to input parameters to an executable
- Simulation - an overview
- SimulationFCL - fcl procedures for MDC2020 and later
- Generators - generating the first particle
- CORSIKA cosmic ray simulation
- Staging - how and why of running the simulation in stages
- Time simulation - adding lifetimes
- Bunch intensity - simulating bunch-to-bunch variations
- Mixing - mixing background and signal simulation
- RunNumbers - how run numbers ranges are used
- Other applications
- EventDisplays
- Ntuples - data access at the interactive level
- Machine learning - neural networks
Modules, Products, and Services
- Modules
- Products
- Geometry
- Alignment
- Random numbers:
- Magnetic Field Maps
- Conditions Data
- Services
- SimpleConfig
- Exceptions
- Message logger
- PyWrap - wrap compiled c++ code so it can be used in python
- art error codes
Code Management
- Spack - setup and build tool to replace UPS and MRB
- MuseMaintenance - Muse procedures for experts
- ReleaseList
- git - overview and pointers to detailed and mu2e-specific instructions
- Validation - automatic and occasional procedures for validation
- Jenkins - a central build platform
- CVMFS - a virtual disk mount containing our code
- Docker a portable software container to hold and run our environment and software
- Download - pull a local copy to remote institutions or laptops
- scisoft - server for product manifests
- BTrk - (deprecated) the Kalman fitter code is in this non-standard product
- KinKal - a repo and UPS product containing the core track Kalman fit code
- CVS
- CodeDepencyGraph - how to make the code dependency graph
- DAQ DAQ redmine
- building root
- checkPrerequisites tool - check linux has rpms needed by art
- SconsUPS - how to build a new version of scons, packaged for UPS
- Pyana - setting up python analysis packages
- Github CI Maintenance - information about the CI repo, used by Jenkins for build tests
Standards and Practices
- CodingStandards - an overview of code issues
- CodeTools - code formatting and checking tools
- Magic numbers - where to get value of pi, etc.
- Editors - tips on editors and policy of not using tab characters.
- Debugging
- GeantTips
- ISO 8601 time format
- CMS code references:
- FAQs
External Packages
- UPS manual getting started
- Mu2e github redmine lab LXR Mu2e LXR LXR project
- art doc github redmine browser art-users product flags error codes
- gcc features development gcc library dependence
- recent art stakeholders meetings; older art stakeholders meetings
- artdaq wiki
- Paterno memory profiling instructions
- valgrind]
- MAP and DDT debuggers
- CMS Framework LXR
- CMS github PR more info
- root docs
- geant at Fermilab DOxygen(v9.4.p01) LXR
- Geant4Examples How to run the standard Geant4 examples on the Mu2e interactive machines.
- G4Beamline Mu2e manual
- CLHEP CLHEP(v.2.2.0.4)
- HepPDT
- fhicl fhicl-cpp
- cetlib browser cetmodules
- Message Facility browser
- cpp0x browser
- boost browser
- BTrk browser
- LXR browsers for many Fermilab projects
- scons
- MARS (password protected)