A dedicated Bc Generator: BCVEGPY
Introduction
The B
c meson is the ground state of a charm and a bottom quark- antiquark system (B
c+ !
bbar-c, Bc- ! b-ccbar). This meson is of special interest since it is a unique bound state of heavy but different (unlike quarkonia) flavour quarks.
The B
c production rate, requiring both a b-bbar and a c-cbar couple, is ~10
-3 wrt the single b-bbar production; thus, in PYTHIA only one B
c is produced out of 10
6 p-p interactions. In order to study the B
c physics a dedicated generator is necessary to enhance the event generation efficiency.
A generator is available, BCVEGPY (
Comput.Phys.Commun. 174 (2006) 241-251
); the code (Fortran) is public and can be downloaded from the author's site:
http://www.itp.ac.cn/~zhangzx
.
BCVEGPY is now integrated in CMSSW, the package is
GeneratorInterface/GenExtensions
.
Or you can directlly download the new BCVEGPY package (Bcvegpy2.2) from
bcvegpy2.2.tar.gz
,
bcvegpy2.2b.tar.gz
. 2.2b includes two new input parameters ptcutbc and ycutbc.
BCVEGPY has specific features that operate at the parton level. The generation is stopped at this level and the output file is saved in the
LHE format. It contains the information of the B
c meson and of the remaining partons. The hadronization process can be performed by PYTHIA (or other hadronizers) using the
LHEInterface.
Generating events
To generate events using the BcGenerator, you can proceed in the following way.
Setup your environment:
> eval `scramv1 runtime -csh`
(or
eval `scramv1 runtime -sh`
for a sh variant shell)
Add the package to your CMSSW project area:
> cvs
checkout
GeneratorInterface/GenExtensions
In
GeneratorInterface/GenExtensions
there is the usual subdirectory structure:
-
bin
: contains the BuildFile.xml
and the subdirectory BCVEGPY
-
BCVEGPY
: contains the code sources: main.cc, all the fortran files and the include files needed to run the generator.
-
data
: contains the pdf distribution files, cteq6l.tbl
and cteq6l1.tbl
.
-
test
: contains bcvegpy_par_set.nam
, the namelist with the generator parameters which can be set by the user, and BcLHE_cfg.py
, the configuration file to processed the BcGenerator output using the LHEInterface package.
Build the package typing:
> scramv1 b
In the
test
directory, set the parameters (see below) and run the generator.
> cd test &&makdir data
>.....CMSSW_X_X_X/bin/slc5_amd64_gcc434/BcGenerator (CMSSW_X_X_X is the path of CMSSSW)
This will produce a BCVEGPY.lhe file to be processed by the
Pythia6HadronizerFilter
for the hadronization (warning: using pythia, set MSTP(61)=0 to avoid the hadronization of the initial states, already treated by BCVEGPY) . A LHE file example, with two events only, is
lheEvents in figure.
It is recommended to submit separate productions of not more than 250000 events. For each production sample, a separate directory has to be created in order to avoid file overwriting (a set of files .grid and a mix.cs file are produced for internal use of the generator). The corresponding namelist has to be copied in each single directory. The directory will contain the corresponding output LHE file.
- lheEvents:
Setting the parameters
In
GeneratorInterface/GenExtensions/test/
, the file
bcvegpy_par_set.nam
is the namelist to set some generator parameters.
- ENERGYOFTEVA (!1.96d+3): Energy of the colliding beam in GeV, if =naccel =1.
- ENERGYOFLHC (!1.00d+4): Energy of the colliding beam in GeV, if =naccel =2.
- pmassb (= 4.900d0): mass of the b quark.
- pmassc (= 1.386d0): mass of the c quark. --> Mass(Bc) = pmassb+pmassc.
- naccel (= 2): beam type. =1 Tevatron, =2 LHC.
- i_mix (= 1): generates mixed events with different Bc excited states.
- mix_type (= 1): generates mixed events with different Bc excited states.
- igentype (= 1): generates mixed events with different Bc excited states.
- NUMOFEVENTS (= 250000): number of Bc to be generated. Do NOT generate more than 250'000 Bc in a single run. There are problems in writing and saving big LHE file.
- NVEGCALL (= 50000): total number of calling FXN in each iteration in VEGAS.
- NVEGITMX (= 10): number of iteration in VEGAS. Higher values of NVEGCALL and NVEGITMX will make the results more accurate.
- ibcrandom (= 19780505): random starting value.
On a dual Intel Xeon quadcore with 16Gb RAM and using the parameter set in brackets, the LHE file will be produced in one hour and a half.
The LHE file is read using
LHESource and is further processed with
Pythia6HadronizerFilter
, a part of
Pythia6Interface package; please review the example configuration file that we provide in
GeneratorInterface/GenExtensions/test/
:
Py6HadGEN-NoCuts_cfg.py
.
Results are shown in the he distributions below:
BcPseudo.jpg and
BcPt.jpg.
The full simulation (
GEN
-
SIM
-
DIGI
-
L1
-
DIGI2RAW
-
HLT
-
RAW2DIGI
-
RECO
) can be processed using the two files in cvs
Py6HadGEN-HLT_cfg.py
and
Py6HadRECO_cfg.py
. Applying the usual cuts in pseudorapidity (|eta|<2.5) and transverse momentum (pt>2.5
GeV) to a couple of muons, ~35000 events are selected and the eta and pt distribution (at generation level) of the B
C mesons are reported in figures
pseudo.jpg and
pt.jpg.

All the distributions are obtained using CMSSW_3_1_0_pre2. The red line is a comparison with the old LHEInterface.
In
GeneratorInterface/Genextension/test
, the file
Bc2JpsiPiFromMCDB_cfi.py
is a cfg file fragment to build, using the cmsDriver.py command, a cfg file that reads the LHE file from the Monte Carlo Database (mcdb.cern.ch).
Responsible:
SilviaTaroni
--
SilviaTaroni - 11 Jul 2009