Alpgen is a generator for hard multiparton processes in hadronic collisions.
It produces matrix element (ME) level events which are consecutively passed to a parton shower (PS) / hadronization code (like Pythia or HERWIG) for further event development. Using the MLM ME/PS matching procedure, one can combine the matrix element calculations with parton showers while avoiding double-counting.
This allows for the best Monte Carlo prediction of multi-jet final states at this moment.
To interface Alpgen to CMSSW and pass the events to Pythia, the AlpgenInterface package has been written. AlpgenInterface is a CMSSW package in the GeneratorInterface subsystem that allows the user to read in unweighted Alpgen events and save them in a standard format (Les Houches format) as CMSSW objects (LHEEventProduct
and LHERunInfoProduct
). It is also possible, through the use of the JetMatchingAlpgen
module present in the PartonShowerVeto package, to perform the parton shower and hadronization steps from within CMSSW, writing a full-fledged edm::HepMCProduct
in the event (edm::Event
).
The set (AlpgenInterface + JetMatchingAlpgen
code from PartonShowerVeto), refered hereafter as CMSSW Alpgen, is essentially equivalent to the AlpgenInterface package of the previous CMSSW versions (CMSSW 1_X_Y and 2_X_Y). It must be kept in mind, however, that CMSSW Alpgen only implements the very final step of Alpgen generation - format shift, showering, matching and hadronization. In order to use CMSSW Alpgen, the user must use the Alpgen standalone code to generate unweighted Alpgen events, which will be the input to CMSSW Alpgen. For more information on the intrincacies of Alpgen, please take a look at the FAQ. Also, we strongly encourage the user to look at the Alpgen documentation.
In general, the components of CMSSW Alpgen (AlpgenInterface and PartonShowerVeto packages) are integrated into a CMSSW release. The goals of this page are:
The sample generation must be done with Alpgen standalone. See information on https://twiki.cern.ch/twiki/bin/view/Main/CmsAlpgen.
The AlpgenInterface package provides a facility to format shift the events produced by Alpgen standalone (unweighted events, UNW events for short) into CMSSW
If you want to use the standard AlpgenInterface provided in CMSSW, you must prepare a configuration file as described in the CMSSW configuration file language and use as EDSource the AlpgenSource. The AlpgenSource has the following settings:
name | type | description | default |
---|---|---|---|
pythiaPylistVerbosity | untracked int32 | Verbosity level of Pythia PYLIST calls | 0 |
pythiaHepMCVerbosity | untracked bool | Verbosity for HepMC | false |
maxEventsToPrint | untracked int32 | Number of events to print, if verbose | 1 |
fileNames | untracked vstring | Alpgen file names, minus the extensions | (Required) |
PythiaParameters | edm::ParameterSet | (See below) | (See below) |
GeneratorParameters | edm::ParameterSet | (See below) | (See below) |
The PythiaParameters
and GeneratorParameters
are wrappers around vectors of strings that are passed to Pythia and Alpgen, respectively.
PythiaParameters
must have a single parameter set, which is a vector of strings named pythia
. Inside that vector of strings are the strings that are passed to Pythia via the PYGIVE
call.
GeneratorParameters
must have a single parameter set, which is a vector of strings name generator
. Inside that vector of strings are the strings that are passed to Alpgen.
Some particular strings that are useful:
string | passed to | description |
---|---|---|
"MSTP(143)=1" | Pythia | Call the MLM matching routine in Alpgen. Use it if you generated your sample with ickkw=1 . |
"IXPAR(2)=1" | Alpgen | Set it to 1 if you're generating an exclusive sample. Set it to 0 otherwise. |
"RXPAR(1)=X" | Alpgen | Choose the value of X to be the minimum cluster Et for matching. |
"RXPAR(2)=X" | Alpgen | Choose the value of X to be the maximum delta R for matching. |
The environmental setup depends on the CMSSW version you're using. Currently, the following versions of CMSSW have been tested:
V00-03-00-01
) is up-to-date with the latest original Alpgen code (v213, as of the time of this writing). It has undergone basic validation for the following processes: AlpgenProducer.cc
). It is still under development, and should be ready for CMSSW 3. Use the AlpgenInterface in the "traditional" way, i.e., as a source (EDSource, file AlpgenSource.cc
).
scramv1 project CMSSW CMSSW_1_6_12
cd CMSSW_1_6_12/src
project CMSSW
eval `scramv1 runtime -sh`
(or for cshell/tcshell: eval `scramv1 runtime -csh`
)
cvs co -r CMSSW_1_6_12 GeneratorInterface/AlpgenInterface
cvs co -r V00-02-20 GeneratorInterface/AlpgenInterface/src/AlpgenEmptyEventFilter.cc
scramv1 b
In this release, the Generator information is saved in the ROOT file by means of the AlpgenInfoProduct
object (source and header
files).
cmsrel CMSSW_2_1_12
cd CMSSW_2_1_12/src
cmsenv; project CMSSW
addpkg GeneratorInterface/AlpgenInterface V00-03-00-01
ExternalInputSource
: addpkg FWCore/Sources V00-15-01-01
cvs co -r 1.1.2.3 GeneratorInterface/AlpgenInterface/src/AlpgenExtractor.cc
scram b
In this release, the Generator information is saved in the ROOT file by means of the LHEEventProduct
object (source
cmsrel CMSSW_2_2_0
cd CMSSW_2_2_0/src
cmsenv; project CMSSW
addpkg GeneratorInterface/AlpgenInterface V00-03-00-01
cvs co -r 1.1.2.3 GeneratorInterface/AlpgenInterface/src/AlpgenExtractor.cc
scram b
In this release, the Generator information is saved in the ROOT file by means of the LHEEventProduct
object (source and header
files).
cd CMSSW_1_6_12/src; cvs co -r V00-02-19 GeneratorInterface/AlpgenInterface/test
cd GeneratorInterface/AlpgenInterface/test; cmsRun Alpgen.cfg
HepMCProduct
and the AlpgenInfoProduct
cd CMSSW_2_X_Y/src; cvs co -r V00-03-00-01 GeneratorInterface/AlpgenInterface/test
cd GeneratorInterface/AlpgenInterface/test; cmsRun Alpgen_cfg.py
HepMCProduct
, the LHERunInfoProduct
and the LHEEventProduct
This example runs on the input example file alpgen.unw (containing previously produced unweighted events) that resides in the same directory. The AlpgenInterface will read in the events from this file, and use Pythia to do the hadronization/showering. Then, the matching routine will be invoked (UPVETO routine) using the parameters given in the cfg, which will veto events for which a hard, non-collinear jet is also produced in the parton shower. Finally, the events are converted into HepMC format and an EDM root output file is produced. The number of events that is run can be changed in the parameter maxEvents in the cfg file. If that parameter is set to '-1' it will run over all events of the input file.
imode = 1
) to generate weighted events, that are saved to a .wgt
file.
imode = 2
) to unweigh those events, which are then save to a .unw
file.
PYVETO
and UPVETO
) that implement the matching.
edm::HepMCProduct
format. To convert these into the more standard GenParticles / GenParticleCandidates present in the AOD, we point you to this section of the Workbook
edm::Event
and written to disk. Tags V00-03-00-01
and above solve this problem, but only if you're using the EDSource
version of the code (as opposed to the EDProducer
version). Also, as a side effect, this tag solves the problem with having a large number of empty events at the end of the Run.
AlpgenEmptyEventFilter
module was created to deal with this situation, discarding these empty events, and should be used with AlpgenInterface every time. Alternatively, the tags V00-03-00-01
solve this problem, but only if you're using the EDSource
version of the code (as opposed to the EDProducer
version).
edm::HepMCProduct
? How do I recover it? LHEEventProduct
per edm::Event
, representing the matrix element level event produced by Alpgen.
LHERunInfoProduct
per edm::Run
, representing the information of the "generation run".
The LHERunInfoProduct
has, within it, a copy of the _unw.par, .wgt and .par files, in the form of a trio of LHERunInfoProduct::Header
. You can recover that information and regenerate those files. A possible use case would be to, given the .wgt and .par files, regenerate the .unw file and perform the matching again with different settings. A implementation of that functionality is given in the AlpgenExtractor module, and an example of its usage is given here
.
CAVEAT This functionality depends on the EDM file being produced with AlpgenSource, tag version V00-03-00-01
or later later to work.
Editor/Review and date | Comments |
---|---|
-- ThiagoTomei - 26 Jan 2009 | Documentation on AlpgenExtractor |
-- ThiagoTomei - 22 Jan 2009 | Documentation on parameters and LHEProducts |
-- ThiagoTomei - 16 Dec 2008 | Twiki fully updated for new version |
-- ThiagoTomei - 13 Dec 2008 | page author (Filip Moortgat) |
%RESPONSIBLE% Thiago Tomei, Maurizio Pierini and (ad interim) Filip Moortgat
%REVIEW% Paolo Bartalini
-- ThiagoTomei - 30 Mar 2009
antalya escort bursa escort eskisehir escort istanbul escort izmir escort