Physics Validation Task Force main twiki page
This is a collection of links, materials and pages mainly for internal use of the
PhysicsValidationTaskForce of the Geant4
Testing and Quality Assurance Working Group
.
This webpage is work in progress and mainly used by members of the the task force. Please refer to the main Geant4 public website and the physics validation section:
Results
Task Force Members
If you wish to participate to the task force activities contact
andrea.dotti@cernNOSPAMPLEASE.ch
Mailing List
Members/announcements:
geant4-PhysValidTaskForce@cernNOSPAMPLEASE.ch (self-subscribe policy with owner/admin approval).
Archive:
https://groups.cern.ch/group/geant4-PhysValidTaskForce/default.aspx
Admins:
geant4-PhysValidTaskForce-Admin@cernNOSPAMPLEASE.ch
Areas of activities and current status
Publications and results repository
Need to collect in a single place all validations and resources relative to Geant4. At the moment we have several twikis and simple webpages:
A technology to store the results and make them searchable should be investigated, for example using the LCG Physics Validation results database based on DRUPAL:
http://sftweb.cern.ch/validation/docs
GRID Validation
An online manual to run the SimplifiedCalorimeter application is under preparation:
Google doc
The new web application to inspect results can be found at:
http://g4-val.cern.ch/
.
Automated testing (ctest/cdash integration)
Currently the infrastructure to include physics tests is being included in the Geant4 !
CTest/CDash
system. To extend current CTest system the following steps are being implemented:
Component |
Tag |
Status |
Description |
test73 |
test73-V09-05-11 |
Accepted |
Multiple Scattering test (inspired by LHCb): proof of principle of physics validation with ctest/cdash |
StatTest |
stattest-V09-05-01 |
Accepted |
Module to perform automatic regression testing on ctest output |
FindStatTest.cmake |
cmake-V09-05-35 |
Accepted |
Provides module to use StatTest package |
tests/ctest/CMakeLists.txt |
ctest-V09-05-12 |
Accepted |
Extends ctest to include SimplifiedCalorimeter |
SimplifiedCalorimeter |
simpifiedcalorimeter-V09-05-00 |
Accepted |
Few tests included in ctest of same application used for GRID validation |
test48 |
test48-V09-05-07 |
Accepted |
First extension of already existing test to use automatic regression testing (StatTest) |
When all these steps will be completed, we have demonstrated that physics validation can be perfumed with ctest in a coherent manner both with external applications (e.g.
SimplifiedCalorimeter) and with standard Geant4 tests (e.g. test48, test73). We will also have provided a tool (
StatTest, FindStatTest.cmake) to perform automatic regression testing of results (e.g. test48,
SimplifiedCalorimeter). Next in the pipeline to further test the system are test47 and crystal calorimeter application.
Ideas on other applications/test to be included. The proposed examples need to have analysis facility, produce histograms and have a run-time compatible with nightlies.
- Double read-out calorimeter
- xray_fluorescence example : to test low-E models
- TARC experiment: validation of low-E neutrons (would be an external application like SimplifiedCalorimeter)
- purging_magnet/nanobeam : validation of tracking in EM fields
- hadrontherapy : Bragg Peak validation
How to include a test in PhysicsChecks group in Ctest/CDash
To extend an already existing Geant4 ctest to be tested for physics validation you need to modify the test's CMakeLists.txt file. The file will probably contain a
GEANT4_ADD_TEST
instruction. To make the test available for physics validation (i.e. the PhysicsChecks CDash group) add the
LABELS
parameters to the
GEANT4_ADD_TEST
group.
For example the very simple test (trying just to build the test73 executable):
GEANT4_ADD_TEST( test73-build BUILD test73)
Can be run in
ALL CDash groups by specifying the list of
LABELS
GEANT4_ADD_TEST( test73-build BUILD test73 LABELS Nightly Continuous PhysicsChecks)
To run a test
ONLY in the PhysicsChecks group write
LABELS PhysicsChecks
. A complete example (including creation of unique working directories, examples of loops to define tests etc) can be found in test73.
Example of a real CMakeLists.txt
This is an example of realistic test definitions from
test67
. It includes definitions of tests for
PhysicsChecks
group and shows the use of a loop and the copying of ROOT reference files to the working directory:
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(test67)
find_package(Geant4 REQUIRED)
include(${Geant4_USE_FILE})
find_package(ROOT QUIET)
if(ROOT_FOUND)
#message(STATUS "G4 TESTS: ROOT package found --> test67 with analysis enabled")
add_definitions(-DG4_USE_ROOT)
include_directories(${ROOT_INCLUDE_DIR} ${PROJECT_SOURCE_DIR}/include)
else()
message(STATUS "G4 TESTS: ROOT package not found. --> test67 Analysis disabled")
include_directories(${PROJECT_SOURCE_DIR}/include)
endif()
if(ROOT_FOUND)
GEANT4_EXECUTABLE(test67 test67.cc src/*.cc LIBRARIES ${ROOT_LIBRARIES})
else()
GEANT4_EXECUTABLE(test67 test67.cc src/*.cc LIBRARIES)
endif()
#---Test definitions----------------------------------------------------------------------------------
# For all groups
GEANT4_ADD_TEST( test67-build
BUILD test67
LABELS Nightly Continuous PhysicsChecks
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT})
GEANT4_ADD_TEST(test67 COMMAND test67 ${CMAKE_CURRENT_SOURCE_DIR}/test67.in
DEPENDS test67-build
LABELS Nightly Continuous PhysicsChecks
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT})
#Add special tests for PhysicsList group
if(ROOT_FOUND)
#Define a test that builds the executable: needed independent since tests after will be
#executed in parallel. This ensure correct dependency treatment
FILE(GLOB _refs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.root)
FILE(COPY ${_refs} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
#Loop on all different test types
foreach(_confs test67_livermore test67_stdopt3 test67_stdopt0)
#Use for testname same string as macro name (test names need to be unique)
#Note we need a different working directory for each test so each test can write its own output
#w/o interference
#set( _wd ${CMAKE_BINARY_DIR}/${_confs} )
#file(MAKE_DIRECTORY ${_wd} )
GEANT4_ADD_TEST( ${_confs} COMMAND test67 ${CMAKE_CURRENT_SOURCE_DIR}/${_confs}.in
# WORKING_DIRECTORY ${_wd}
DEPENDS test67-build
LABELS PhysicsChecks
ENVIRONMENT ${GEANT4_TEST_ENVIRONMENT})
endforeach()
endif()
Validation Results Database
Production Web application:
Development web application (more functionality will be rolled over to production)
Below is a list of links with information about this project:
- The SVN repository can be browsed here
- The project twiki can be found here
- A list of tasks regarding the Validation Results Database can be found here
New activity for extension of FNAL DB
here
Validation coverage
Only validation applications used regularly on GRID/distributed resources are listed. Individual validation efforts from developers and user-applications are not included.
CERN/HEP Oriented: SimplifiedCalorimeter on the GRID
The following table contains the list of physics lists being tested:
Physics List |
Notes |
FTFP_BERT |
Recommended for Cern LHC experiments: main interests are Fritiof model and Bertinig cascade |
FTFP_BERT_HP |
Adding high-precision neutron testing |
FTFP_BERT_TRV |
Currently add new hadronic elastic |
FTF_BIC |
Use Binary cascade and interface it to Fritiof for de-excitation of nucleus at high-energy |
QBBC |
Experimental combining several hadronic models. Some interest in medical community |
QGSP_BERT |
Instead of Fritiof use QGS model |
QGSP_BERT_HP |
Add high-precision neutron |
QGSP_BIC |
QGS and Binary |
QGSP_FTFP_BERT |
Use Fritiof and QGS at higher energies |
The application allows to study the following quantities:
Response , Resolution, Shower shapes (width and length). Granularity of calorimeters and physics quantity are tailored to LHC experiments.
HEP/Low background experiment Oriented
HEP/Intensity frontier Oriented
Shielding Oriented
Medical Applications Oriented
Two possible applications have been provided by S. Guatelli and P.Arce. Evaluation ongoing on adaptation for distributed computing.
Space Applications Oriented
Meetings Minutes