20 October 2005 LCG Generator Services monthly meeting, CERN Validation of GENSER & News on GENSER Alexander Toropin LCG Generator Services monthly meeting 20 October 2005
20 October 2005 LCG Generator Services monthly meeting, CERN 2 Outline Preparation of new GENSER release Monte Carlo validation in GENSER - Basic sanity checks - Physics tests New versions of generators Small changes concerning some generator packages New tools Order of libraries in examples ROOT libraries Conclusions
20 October 2005 LCG Generator Services monthly meeting, CERN 3 Preparation of new GENSER release Procedure of preparation of new GENSER release starts from looking for new versions of generators already installed. Another problem is the installation of new generators. In this case should be confirmation from author to have his generator incorporated in GENSER. GENSER has own files structure. As usual it is different from layout of authors version. So at the first step the new version is adapted to the structure of existed GENSER release. When everything works without any problem the new version of generator is committed to GENSER CVS with a tag corresponding the version number. A couple of weeks before the date proposed for new GENSER release we start to make prereleases of new release. They have the same functionality as release but with possible bugs. As soon as prerelease is accessible we start to test it.
20 October 2005 LCG Generator Services monthly meeting, CERN 4 Preparation of new GENSER release During tests of prerelease additional problems could be found and sometimes can arrive additional bug fixes and modifications of versions from authors. For GENSER_1_2_0 were prepared 4 prereleases. After the first prerelease was done a decision was made to add Sherpa after discussion with authors. It had some instability in examples. After the second prerelease arrived bug fix for Herwig and it was modified to Herwig due to authors instructions. When the third prerelease was done authors of Photos asked to install Photos-2.15 instead of installed for prerelease 1 Photos The new version has special possibility to switch debugging printout from any suspicious event which could be very useful in the case of wrong behavior of Photos for some events. A number of installation bugs was fixed as well during this procedure of testing prereleases.
20 October 2005 LCG Generator Services monthly meeting, CERN 5 Preparation of new GENSER release Then all bugs and modifications are fixed the information about new versions are stored in generators_list.dat. Typical string in this file looks like this generator name tag version pythia pythia _324 The preparation of this information is responsibility of current Integrator. Then this information is ready the Librarian prepares new prerelease or release with special script.
20 October 2005 LCG Generator Services monthly meeting, CERN 6 Basic sanity checks The generators packages could have some bugs. The sources of these bugs could be in code itself and another bugs could be produced during implementation procedure. All generators packages have examples areas. As usual in this areas mainly the tests proposed by authors are present. The routine testing procedure is the following: Check if all examples were able to finish without crash. No error messages at the end of events processing. Estimating by an eye quality of produced results. It means - check if calculated cross sections are in reasonable limits, - momenta of produced particles have reasonable values, - IDs of produced particles are reasonable, - distributions of some physical quantities if they are presented have reasonable shapes. Comparison with any reference data if they exist.
20 October 2005 LCG Generator Services monthly meeting, CERN 7 Physics tests Only physics tests can ensure that there is no wrong behavior in new versions of generators. To make physics tests of some generators the tests package was developed by M.Kirsanov. The purpose of this package is to make fast and efficient way to test the most usable generators. These tests could be also useful for education of new users. Now in the test list are Pythia, Herwig, Alpgen, Evtgenlhc. To make these tests the process was chosen. During testing procedure the events are simulated and processed by simple program to reconstruct leptons and jets. For each generator in a special file four values are saved: total cross section of process and error in this value, fraction of events with number of leptons not less than 2 and number of jets not less than 1 and an error in this value. It is supposed this values have the Gaussian distributions. The reference file with the same values also exists in working directory.
20 October 2005 LCG Generator Services monthly meeting, CERN 8 Physics tests For these tests direct outputs from Pythia and Herwig were used, Evtgenlhc was used with Photos and Alpgen was used with Pythia to make fragmentation. Another program called by testing script checks the validity of obtained values by comparison of given value with the error in this value. If this validity is not enough good from the point of view of testing procedure program asks to increase statistics. If this test was passed program compares the given value with the reference one. If criteria of program were satisfied it writes its conclusion into small output file results.dat. From contents of this file one can easily conclude if the tested versions of generators are different from the previous versions.
20 October 2005 LCG Generator Services monthly meeting, CERN 9 Fragmentation tests in Alpgen package To make tests of fragmentation with Pythia and Herwig two scripts fragmPythia and fragmHerwig were added to examples directory of Alpgen package. For these tests the examples of M.Kirsanov from GENSER tests package to produce Z+jet events were adapted. After simulation of 1000 events the programs at the end print the following Pythia Herwig (508) Two isolated leptons (381) Two or more jets (504) Two isolated leptons and jet (321) Two isolated leptons and two or more jets (103) These numbers are just to show how the programs work and should be properly normalized to use as reference numbers. Here tests with Pythia_6.324 and Herwig_6.507 were done with GENSER_1_1_0, test with Herwig_6.508 was done with GENSER_1_2_0
20 October 2005 LCG Generator Services monthly meeting, CERN 10 New versions of generators in GENSER Generator Version Date of Release alpgen feynhiggs herwig lhapdf photos pythia sherpa All of them were tested. Only Sherpa sometimes shows instability.
20 October 2005 LCG Generator Services monthly meeting, CERN 11 Small improvements concerning some generator packages All references to Pythia in BuildFiles is set to All references to Herwig in Buildfiles is set to All references to Photos in Buildfiles is set to 2.15 Some of README were modified to make statements more correct due to some changes in generators packages Added README to examples directories of some generators To produce these modifications tags of corresponding generators were modified (tag+=1) to keep the same versions and do not interfere with previous GENSER releases. In /hijing/examples/BuildFile was added string because compiler complains about missing paw library. Tag was tot changed.
20 October 2005 LCG Generator Services monthly meeting, CERN 12 New Tools buildLhapdf script installs lhapdf from tgz file buildAlpgen script installs Alpgen generator from tgz cmpgen script makes comparison of file structures between different versions of the same generator cmpgenHEAD script makes comparison of file structures between HEAD version of generator and another version The last two scripts produces the list of files marked them as an old or new ones if any difference exists in file systems. Scripts skips CVS service files. From this list one can decide if file should be removed from CVS repository or added. All these scripts work from the genser directory in the following directory structure /genser/simu/GENSER/ - the HEAD version /genser/simu/GENSER_1_2_0/ - the current version
20 October 2005 LCG Generator Services monthly meeting, CERN 13 Order of libraries in examples Up to GENSER_1_1_0 in examples directories of each generator using scram the order of libraries during link time was the following: user-archive, lcg-archive, user-shared, lcg-shared, where lcg = /afs/cern.ch/sw/lcg/app/release/GENSER/GENSER_x_x_x/$SCRAM_ARCH/lib By default GENSER is producing shared libraries. In this order of libraries any user modifications in generator codes could be applied only to archive libraries. Shared libraries are unreachable in this configuration. For the new release GENSER_1_2_0 only two libraries was left for default configuration user-shared, lcg-shared. For this purpose in the file /GENSER_1_2_0/config/compilers.mk two strings were commented #LDFLAGS+=-L$(LOCALTOP)/$(SCRAM_ARCH)/lib/archive \ # -L$(RELEASETOP)/$(SCRAM_ARCH)/lib/archive To have possibility to use archive libraries from tests package in automatical testing procedure for some generators these two strings were added to BuildFile-xxx-arch in the corresponding packages. These strings could be inserted into any BuildFile to use archive libraries. To have archive libraries in all project by default one can uncomment these strings in the file compilers.mk.
20 October 2005 LCG Generator Services monthly meeting, CERN 14 ROOT libraries GENSER_1_2_0 is constructed using official LCG configuration tools from SPI. It has only 3 ROOT libraries connected by default Cint, Core, Tree. In /evtgenlhc/1_3/examples and /tests/1_00/examples we need also Hist library. A string was added to the BuildFiles of these packages. In the same way another ROOT applications (Gpad, Graf, Matrix, Physics, Postscript) could be connected to your program. In previous release of GENSER these applications were added in the file /GENSER_1_1_0/.SCRAM/ToolFiles/root_x_xx_xx.
20 October 2005 LCG Generator Services monthly meeting, CERN 15 Conclusions The new release GENSER_1_2_0 is tested and ready to use. Some modifications were done in ordering of libraries in examples directories to improve performance. The number of generators involved into automatical testing procedure by using physical processes should be increased.