CompHep
Introduction
Comphep
is a Matrix Element Monte Carlo (MC) Generator (MEG). As a MEG, it generates partons based on a Lagrangian. It gives 3-momenta of partons involved in a given process as an output on an event-by-event basis. These events can be further passed to Showering/Hadronization MC Generator (SHG) like Pythia and Herwig/Jimmy to achieve stable final state particles. An interface algorithm achieves this passing/interfacing of events from Comphep to Pythia. Comphep_i is such an interface algorithm. It is present as a sub-package in Generators module in Athena - Atlas offline analysis framework. This interface has been primarily written by V.A. Ilyin for Pythia and has been modified by many other people for incorporation into Athena framework.
To give an analogy of a similar strategy being used is
MC@NLO - Mcatnlo_i - Herwig. Here
MC@NLO is a MEG like Comphep, Mcatnlo_i is an interface for Herwig as Comphep_i is an interface for Pythia and Herwig is a SHG like Pythia.
This existing Comphep interface in latest Athena release (at this time, 11.0.41) does not support latest release of Comphep - 4.4.3. This web page describes the effort in making/modifying this existing interface to be compatible with newer Comphep version 4.4.3. In doing so it loses compatibility with older Comphep releases, in particular 41.10. So please be advised to use this, if at all, with Comphep version 4.4.X or Comphep version 4.5.X only.
Hereby old interface will be referred for Comphep_i version 41.10 and new interface for Comphep_i version 4.4.3.
What is CompHep and how to use CompHep ?
Large Hadron Collider (LHC) physics makes it necessary to explore Beyond Standard Model (BSM) processes like Super Symmetry (SuSY), LeptoQuarks (LQ) etc. BSM models/Lagrangians have been implemented to some extent in extensively used Monte Carlo Generators like Pythia and Herwig. Still there are many models, processes that are not addressed by Pythia for example. But as a rescue Pythia offers External process integration to it. So the question is how to simulate such external processes? The answer lies with external Monte Carlo Generators or MEG. Comphep as outlined in introduction is one such MEG. It offers users to implement their own models/processes. As a result, user will get events generated based on his/her own specific model and process. These events can then be interfaced to Pythia, a SHG, for showering and hadronization. Thus a user can achieve simulated events at generator level for his/her own process and can further pass it for detector simulation.
A brief recipe of what is to be done is presented here. This is subsequently elaborated in sections proceeding below.
- Come up with a model for parton-level process. More on it
- Implement the Lagrangian of this model in CompHEP. More on it
- Run CompHEP to produce parton-level events in tree-level approximation. More on it
- Reorganize events using program called Cpyth. More on it
- Use CompHEP_i interface to feed the events to Athena to match hard process events to pp kinematics and to do hadronization. More on it
- The rest depends on fast/full etc MC and user's goals.
Les Houches Accord
Les-Houches Accord is very important to understand the interface of an external generator such as Comphep to generators like Pythia or Herwig.
Refer to this document
here
for Les-Houches Accord.
REMARK on old interface: Scale Q of the hard event in Comphep is passed by interface using SCALUP variable. This variable was miss-spelled in the old interface (41.10) as SCALEUP. This led Pythia to assume scale Q of each event as 4*E1*E2, where E1 is energy of first colliding parton and E2 is energy of second colliding parton.
REMARK for Pythia: Pythia does not use Parton Distribution Function (PDF) from the interface. It should be defined in the Job Option file using MSTP 51 and 52.
This interface is present in ATLAS CVS repository. The current tag is
CompHep_i-00-00-26. (Older tags work with older athena releases (releases < 15.6.6.5))
This interface is compatible with all Athena releases in principle but it is advisable to use it with release 10.5.0 onwards as LHAPDF was incorporated from release 10.5.0. This interface works with release 11, 12, 13, 14, 15, 16.
1. Check out
CompHep_i package (assuming you have set Athena environment and are in it's main release directory)
To check it out from CVS, do
cmt co -r CompHep_i-00-00-26 Generators/CompHep_i.
2. Go to CMT area and build this package
--> gmake inst (to install it to your installed area, where ever it is)
--> Make sure that your LD_LIBRARY_PATH points to your own installed libs, BEFORE the official libs to use this patch.
Using Comphep_i
Once the Comphep interface is build, user can go to his/her favorite run area (for example in
UserAnalysis package)
1. In your run area copy these two files.
- get_files jobOptions.comphep.py
- get_files inparmCompHep.dat
Here inparmCompHep primarily specifies Comphep input events file-Mixed.PEV. The other file, Job Option file, is the standard file to call
CompHep_i inside Pythia.
2. To run the above job option file you will also need Comphep-4.4.3 / Comphep-4.5.1 event file. Here is one such file. Copy it to your run area.
- copy the file from your local area of CompHep_i package if you checked it out, cp Generators/CompHep_i/share/Mixed-4.4.3.PEV . (Please note get_files command in athena currently does not work in importing this file. This will be fixed in future.)
or
3. You are all set to use this new interface. You may run athena to see if this works for you.
- athena jobOptions.comphep.py
This should run successfully in athena releases.
Installing Comphep-4.4.3 / Comphep-4.5.1
Using Comphep requires installing two packages Comphep and Cpyth. Please download Comphep 4.4.3 and Cpyth-2.0.5 from it's
official website
. They require users to register.
After
registering
and
login
, one may follow these links to copy.
- comphep-4.4.3.tgz
- cpyth-2.0.5.tgz
STEP 1. Installing Comphep (assuming standard Linux installation. Tested with SLC3)
- tar -xvzf comphep-4.4.3.tgz
- cd comphep-4.4.3
- ./configure
- make
- make setup WDIR=`pwd`/work_area
Or else you can read INSTALL file in comphep-4.4.3 directory.
It is installed now. To run Comphep do
- Go to comphep-4.4.3 directory. [You are already there if you performed the above steps]
- export COMPHEP= `pwd` or setenv COMPHEP `pwd` [This sets the PATH. You may want to set it in your login script]
- cd work_area [Go to the work directory]
- ./comphep [Start Comphep GUI]
After successfully using Comphep you will have events_N file in results directory in your work_area. One can generate same final states from different partons in proton beam for example and hence may want to generate those sub processes as well. Hence you will get more events_N files (N is automatically incremented by Comphep). Events in these files can be mixed/randomized based on cross-section into a single file called Mixed.PEV (This file is produced by CPyth program). This task is achieved by Cpyth package. [Cpyth package is a standalone interface to Pythia as well.]
To check instantly
CompHep events (after CPyth) one may create Root ntuple from Mixed.PEV file with a help of script
comphep_events2ntuple.pl,
available from
CompHep contribution page
(see instruction there) and inspect it in details. (Added by V.Rud on Apr 11, 2008)
To install CompHep on Mac OSX 10.6, try configuring it like this, ./configure --with-gcc4 --with-m64
On SL5/64 bit machines, there may be a problem with libg2c, try symlinking libg2c.so in /usr/lib64.
STEP 2. Installing Cpyth (assuming standard Linux installation. Tested with SLC3)
- tar -xvzf cpyth-2.0.5.tgz
- cd cpyth-2.0.5
- ./configure
- make
- make setup WDIR=`pwd`/work_area
Or else you can read INSTALL file in cpyth-2.0.5 directory.
It is installed now. To use Cpyth do
- Go to cpyth-2.0.5 directory. [You are already there if you performed the above steps]
- export CPYTH= `pwd` or setenv CPYTH `pwd` [This sets the PATH. You may want to set it in your login script]
- cd work_area [Go to the work directory]
- ./mix_flows events_1 [events_2 [ ] ] [Run Cpyth to mix events]
(You would have to copy events_ files to Cpyth work area or else provide the path. After a successful completion, Mixed.PEV file is created. Copy it to your run area under this name Mixed-4.4.3.PEV
Using Comphep-4.4.3
It is not difficult to use Comphep to simulate user's process. Please follow this
online documentation
or this
manual
to learn more about
"How to CompHEP". If you may be interested in using Comphep in batch mode then please refer to this
document
.
A very useful web page on How-to CompHEP by it's authors is also available
here
.
Validation Results
These validations results are from Comphep-4.4.3 and using newer interface with Athena. Validation is done at two levels. First with events produced directly by Comphep and then after hadronization/showering by Pythia using the new interface.
Comment on new interface: Angle-phi randomization and beam axis symmetry (for common beams) were not addressed in CompHep 41.10 and hence were corrected for in the old interface. These bugs were fixed in Comphep 4.4.3 and hence there is no need for this correction in the interface. As a result these have been removed from the new interface. This can also be seen in validation results at Comphep level.
Model Used
This validation exercise is performed on events based on LQ model. Please refer to
this paper
and back references in this paper for LQ Lagrangian.
Authors of above LQ paper have implemented this LQ Lagrangian for Comphep. Please find the corresponding model
here
.
A note on including new models in Comphep: Any Comphep model comes with four different .mdl files. These files should be added to model directory in user's Comphep work_area so as to be read by Comphep GUI.
Comphep Level
Consider events generated by Comphep for decay of a pair of vector LeptoQuarks (LQ) of mass 1 TeV, scale (Q) also being 1 TeV and width of LQ = 10!GeV. For simplicity/quickness only GG process is validated.
gg --> u + ubar + electron + positron ( via pair of vector LQs VM and vm )
VM --> u+electron and
vm --> ubar + positron
Pythia Level ( Comphep_i )
Now the above events are passed to Pythia using this new interface. Here I passed the same process and also added events coming from
u - ubar and
d - dbar than only
g - g.
Legend and comments on plots above: FS is final state after radiation and IS is initial state without radiation. LQ at Pythia level is reconstructed using FS lepton and IS quark as quarks after "radiation" do not have any meaning and one should use jets in that case.
Presentation
A
presentation
on Comphep-4.4.3 and Athena was made in Exotics Working Group Meeting.
Comments
Comphep as well as its interface for Athena seems to work well. There certainly can be some issues with respect to the interface that may have been overlooked. We are thankful for reporting them to us.
Many thanks to Steve Mrenna, Alexander Belyaev, Rashid, Giorgos, Ian and Gustaaf.
Past Issues (April 2010)
- CompHep_i-00-00-22, currently collected in the latest releases (e.g. 15.6.8) has a runtime crash. This is due to new fortran compiler not interpreting the FMT statement as f77 (Caused by delimiters such as comma in the event header of the file). Thanks to Erkcan Ozcan & Tulay Cuhadar for noticing this. As a quick fix, please replace CompHep_i/src/comphepinter.F by this file comphepinter.F. Alternatively, as a workaround, you can use the fixPeV.sh script to reformat your PeV event files so that they work with CompHep_i-00-00-22.
Vikas Bansal and Vladimir Savinov
Vikas.Bansal@cernNOSPAMPLEASE.ch and
vps3@pittNOSPAMPLEASE.edu
--
VikasBansal - 24 Apr 2006
- comphepinter.F: This file replaces corresponding file in CompHep_i-00-00-23, -00-00-22