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.

  1. Come up with a model for parton-level process. More on it
  2. Implement the Lagrangian of this model in CompHEP. More on it
  3. Run CompHEP to produce parton-level events in tree-level approximation. More on it
  4. Reorganize events using program called Cpyth. More on it
  5. 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
  6. 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.

Installing CompHep_i

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 < 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

  • cd ../cmt
  • gmake
--> 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
  • 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.)


3. You are all set to use this new interface. You may run athena to see if this works for you.

  • athena

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.

  1. comphep-4.4.3.tgz
  2. cpyth-2.0.5.tgz

STEP 1. Installing Comphep (assuming standard Linux installation. Tested with SLC3)

  1. tar -xvzf comphep-4.4.3.tgz
  2. cd comphep-4.4.3
  3. ./configure
  4. make
  5. 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

  1. Go to comphep-4.4.3 directory. [You are already there if you performed the above steps]
  2. export COMPHEP= `pwd` or setenv COMPHEP `pwd` [This sets the PATH. You may want to set it in your login script]
  3. cd work_area [Go to the work directory]
  4. ./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, 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 in /usr/lib64.

STEP 2. Installing Cpyth (assuming standard Linux installation. Tested with SLC3)

  1. tar -xvzf cpyth-2.0.5.tgz
  2. cd cpyth-2.0.5
  3. ./configure
  4. make
  5. 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

  1. Go to cpyth-2.0.5 directory. [You are already there if you performed the above steps]
  2. export CPYTH= `pwd` or setenv CPYTH `pwd` [This sets the PATH. You may want to set it in your login script]
  3. cd work_area [Go to the work directory]
  4. ./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

Variable Plot Comments
PT - FS Particles vmvm_pt-1000-4623.pdf Reasonable
ETA - FS Particles vmvm_eta-1000-4623.pdf Reasonable
PHI - FS Particles vmvm_phi-1000-4623.pdf Reasonable
PT - LQ( VM & vm ) LQ_PT-1000-4623.pdf Reasonable
Invariant Mass LQ VM VM-1000-4623-mass-fit.pdf Reasonable
Invariant Mass LQ vm LQ-vm-1000-4623-mass-fit.pdf Reasonable

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.

Variable Plot Comments
PT - FS leptons & IS quarks vmvm-1000-all_FS_IS_PT.pdf Reasonable
ETA - FS leptons & IS quarks vmvm-1000-all_FS_IS_ETA.pdf Reasonable
PHI - FS leptons & IS quarks vmvm-1000-all_FS_IS_PHI.pdf Reasonable
PT - LQ vmvm-1000-all_LQ_PT.pdf Reasonable
PT - LQbar vmvm-1000-all_LQbar_PT.pdf Reasonable
MASS - LQ vmvm-1000-all_LQ_MASS_FIT.pdf Reasonable
MASS - LQbar vmvm-1000-all_LQbar_MASS_FIT.pdf Reasonable

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.


A presentation on Comphep-4.4.3 and Athena was made in Exotics Working Group Meeting.


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 script to reformat your PeV event files so that they work with CompHep_i-00-00-22.

Vikas Bansal and Vladimir Savinov and

-- VikasBansal - 24 Apr 2006

  • comphepinter.F: This file replaces corresponding file in CompHep_i-00-00-23, -00-00-22
Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf LQ-vm-1000-4623-mass-fit.pdf r1 manage 10.6 K 2006-04-29 - 22:40 VikasBansal LQ-vm-mass -Comphep
PDFpdf LQ-vm-1000-4623.pdf r1 manage 3.4 K 2006-04-26 - 13:56 VikasBansal LQ-vm-mass -Comphep
PDFpdf LQ_PT-1000-4623.pdf r1 manage 3.8 K 2006-04-26 - 13:49 VikasBansal LQ-PT -Comphep
Unknown file formatpev Mixed-4.4.3.PEV r1 manage 525.8 K 2006-04-25 - 14:10 VikasBansal Comphep-4.4.3 Event file
PDFpdf VM-1000-4623-mass-fit.pdf r1 manage 10.7 K 2006-04-29 - 22:38 VikasBansal LQ-VM-mass -Comphep
PDFpdf VM-1000-4623.pdf r1 manage 3.4 K 2006-04-26 - 13:55 VikasBansal LQ-VM-mass -Comphep
Compressed Zip archivetar comphep-4.4.3-pythia-6.2.interface.tar r1 manage 40.0 K 2006-04-25 - 13:31 VikasBansal New Comphep_i
Unknown file formatf comphepinter.F r1 manage 17.6 K 2010-04-17 - 01:40 VikasBansal This file replaces corresponding file in CompHep_i-00-00-23, -00-00-22
Unix shell scriptsh r1 manage 0.9 K 2010-04-19 - 15:16 UnknownUser Convert pev files so that they don't give runtime crashes while using CompHep_i-00-00-22 in recent releases
PDFpdf vmvm-1000-all_FS_IS_ETA.pdf r1 manage 9.9 K 2006-04-26 - 14:08 VikasBansal FS-ETA -Pythia
PDFpdf vmvm-1000-all_FS_IS_PHI.pdf r1 manage 9.1 K 2006-04-26 - 14:08 VikasBansal FS-PHI -Pythia
PDFpdf vmvm-1000-all_FS_IS_PT.pdf r1 manage 9.3 K 2006-04-26 - 14:08 VikasBansal FS-PT -Pythia
PDFpdf vmvm-1000-all_LQ_MASS_FIT.pdf r1 manage 7.3 K 2006-04-29 - 22:02 VikasBansal LQ - Mass - Pythia
PDFpdf vmvm-1000-all_LQ_PT.pdf r1 manage 6.3 K 2006-04-29 - 22:01 VikasBansal LQ-PT - Pythia
PDFpdf vmvm-1000-all_LQbar_MASS_FIT.pdf r1 manage 7.2 K 2006-04-29 - 22:02 VikasBansal LQbar - Mass - Pythia
PDFpdf vmvm-1000-all_LQbar_PT.pdf r1 manage 6.3 K 2006-04-29 - 22:01 VikasBansal LQbar-PT- Pythia
PDFpdf vmvm_eta-1000-4623.pdf r1 manage 5.5 K 2006-04-26 - 13:52 VikasBansal FS-ETA -Comphep
PDFpdf vmvm_phi-1000-4623.pdf r1 manage 7.1 K 2006-04-26 - 13:53 VikasBansal FS-PHI -Comphep
PDFpdf vmvm_pt-1000-4623.pdf r1 manage 5.4 K 2006-04-26 - 13:55 VikasBansal FS-PT -Comphep
Edit | Attach | Watch | Print version | History: r31 < r30 < r29 < r28 < r27 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r31 - 2010-11-19 - VikasBansal
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback