go to D0-France home page

go to Tracking go to Calorimetry go to Muons go to Software go to Physics

 

SUSYGEN v3.00-43 in the d0 framework

go to D0 Fermilab site

Y. ARNOUD, A. BESSON


How to compile and run SUSYGEN in the d0 framework

SUSYGEN is available as a standard d0 package. You can produce fully simulated events on d0mino after installing and compiling the susygen package.


Part I : generate events with SUSYGEN v3.00-43

Install the software on clued0

Compile and link the code

Run MCsusygen.x

Part II : detector simulation with mc_runjob with release p14.03.02

Configuration file for mc_runjob

Testing mc_runjob on a few events

mc_runjob in batch

Additionnal information


Part I : generate events with SUSYGEN v3.00-43

Install and compile the software on clued0 with p17.09.05a (mass calculation with suspect 2.3 and PDF from LHAPDF, CETQ6) :

setup D0RunII p17.09.05a
setup d0cvs
newrel -t p17.09.05a susygen17.09.05a
cd susygen17.09.05a/
addpkg susygen p17-09-05a
d0setwa
srt_setup SRT_QUAL=maxopt
gmake susygen.all

Install and compile the software on clued0 with p14.05.02 ( mass calculation with suspect 2.3 and PDF from PDFSET, CTEQ5) :

setup D0RunII p14.05.02
setup d0cvs
newrel -t p14.05.02 susygen14.05.02
cd susygen14.05.02/
addpkg susygen v00-01-05
d0setwa
srt_setup SRT_QUAL=maxopt
gmake susygen.all
 

Other recent releases :

p19.L3.01 built 03 : p19-br-01 (LHAPDF, CTEQ6) cvs update done, release request to be done
p17.09.05a built 01 : p17-09-05a (LHAPDF, CTEQ6) cvs update done, release request to be done
t06.02.00 built 01 : v00-01-10 LHAPDF, CTEQ6) cvs update done, release request to be done
p17.10.00 built 01 : p17-09-05a (LHAPDF, CTEQ6) cvs update done, release request to be done
p18.06.00 built 01 : nothing changed, using p18-06-00, compile and execution fine (PDFSET, CTEQ5)
Nevertheless, warning messages at the execution :
 %ERLOG-w Packed_Int_Overflow:
         d0om_ds-W-Packed_Int_Overflow [#1025]
  Integer overflowed during packing.
  For MCpTmbObj::_istat with value 1128046766.
  Tue Apr  4 04:30:46 2006
  -- ZMthrow was issued at line 95
  of file "/D0/dist3/packages/d0om_ds/p17-br-02/src/dspack/Int_Packer.cpp"
  ... Exception ignored

p20.01.00 built 02 : susygen.f and susygen.input modified p20-01-00 (LHAPDF, CTEQ6)cvs update done, release request to be done
t04.04.00 : susygen cvs version v00-01-06, PDFSET, CTEQ5
 

Copy the control parameter file to the top directory :

 

cp susygen/rcp/runMCsusygen.rcp .
cp susygen/susygen.input .
  

Modify as you wish susygen.input to set the SUSY parameters.

 

Setting the number of events to be generated :

To set the number of events to generate, add the package d0_mcpp_gen.
It contains the MCNewEvent rcp file, controling the number of events :

addpkg d0_mcpp_gen
 

The number of events you want to generate has to be written both in susygen.input and in d0_mcpp_gen/rcp/MCNewEvents.rcp :

SUSEVENTS in susygen.input should be the same as EventsPerRun in MCNewEvents.rcp.

 

Run MCsusygen.x :

Susygen is fast enough to generate ~100  events in less than 5 minutes (the initialisation part takes most of the time). No need to run in batch... If not already done, use d0setwa to set the rcp top directory before running the executable :

d0setwa 
./bin/Linux2.4-KCC_4_0-maxopt/MCsusygen.x -rcp runMCsusygen.rcp 
  

The output file "MCevents.dat" is in DSPACK format.

You'll have to run mc_runjob (d0gstar / d0sim / d0reco / tmbanalyze) to obtain a rootuple tree (see Part II).

Troubleshouting :

It is very likely you get this annoying RCP problem when running susygen :

./bin/Linux2.4-KCC_4_0/MCsusygen.x -rcp runMCsusygen.rcp
 
         =======================================================
 
         Error Log established
          5-Aug-2004 13:49:15
 
         =======================================================
 
%ERLOG-A init:
         While trying to extract the parameter set:
        package: d0_mcpp_gen
        object : MCNewEvent
A script was found. The contained parameter set is identical to one
already in another database this program is using
The identical parameter set has RCPID: 17155 1
This parameter set is known by the following name(s):
        official wz_gen MCNewEvent p14.05.02 1068745630_3
        official wz_gen MCNewEvent t03.42.00 1068427148_31
        ...
        official wz_gen MCNewEvent p12.03.00 1032805885_0
        official wz_gen MCNewEvent p12.02.00 1030140383_52
        official wz_gen MCNewEvent p12.01.00 1028753026_0
        official wz_gen MCNewEvent p12.00.00 1025757413_0
You cannot assign this parameter set a new name
You may refer to it by one of these other names
 
          Framework  5-Aug-2004 13:49:22  -:- -
%ERLOG-A init: Framework constructor: RCP problem
          Framework  5-Aug-2004 13:49:22  -:- -
Framework exception occurred:
Information: Framework constructor: RCP problem

 

To cure this, edit the file d0_mcpp_gen/rcp/MCNewEvent.rcp and add a dummy line, for instance :

string PackageName = "NewEvent"
int FirstRun = 1
int Runs = 1
int EventsPerRun = 100
int SusygenVersion = 3.00
 

such that the number of arguments / lines will differ from the original MCNewEvent.rcp file. (thanks to Laurent Duflot for this).


Part II : detector simulation with mc_runjob

The DSPACK file is in the susygen14.03.02 directory. It is almost straightforward to obtain a TMBtree file, using the full chain with release p14.03.02.

Configuration file for mc_runjob : 

You can copy this example macro (which was kindly provided by Dave Evans) in your susygen directory :

cp /work/ladibona-clued0/arnoud/code/p14.05.02/FileStream_D0gstar.macro .

Then edit the macro file and check / modify :

attach filestream
cfg filestream define string SingleInputFile /work/ladibona-clued0/arnoud/susygen14.05.02/MCevents.dat
cfg d0gstar define string D0Release p14.05.02
... cfg d0sim   define string D0Release p14.05.02
... cfg d0reco  define string D0Release p14.05.02
...
cfg tmbanalyze define string D0Release p14.05.02

Testing mc_runjob on a few events (no more than 10 !) :

setup mc_runjob
mc_runjob -macro=FileStream_D0gstar.macro (the name of the macro just ahead)
 

You should have the following printout :


***mc_runjob***: Running macro FileStream_D0gstar.macro from /work/ladibona-clued0/arnoud/susygen14.05.02 on ladibona-clued0... ***mc_runjob***:WARNING: Unable to import SAM Modules:SAM,StatusMan_srep,pmClient ***mc_runjob***:WARNING: Usually fixed by setup sam AFTER setup D0RunII ***mc_runjob***:WARNING: Unable to import SAM Modules:SAM,StatusMan_srep,station_client Local submission, or no xml Db found. ***mc_runjob***:INFO: d0gstar: Using Default framework rcp: sim_framework_mckine.rcp ***mc_runjob***:INFO: d0gstar :Starting RCP Lookup for sim_framework_mckine.rcp ***mc_runjob***:INFO: d0sim: Using Default framework rcp: runD0Sim.rcp ***mc_runjob***:INFO: d0sim :Starting RCP Lookup for runD0Sim.rcp ***mc_runjob***:INFO: d0reco: Using Default framework rcp: runD0reco_mc.rcp ***mc_runjob***:INFO: d0reco :Starting RCP Lookup for runD0reco_mc.rcp ***mc_runjob***:INFO: tmbanalyze: Using Default framework rcp: runTMBTreeMaker.rcp ***mc_runjob***:INFO: tmbanalyze :Starting RCP Lookup for runTMBTreeMaker.rcp ***mc_runjob***:INFO: Job test03253100827.sh built
/work/ladibona-clued0/arnoud/susygen14.05.02/curr/test03253100827/test03253100827.sh

 

You can check that your job is running using the ps command.
You should first see a
d0gstar2 process running (time to process one event is around 300 seconds, be patient), then D0sim_x, then D0reco_x,

In case the job ends up as soon as it it started, you might have a path problem. Check the log file in the directory curr/testXXX/testXXX.sh.log.
If it looks like that :

 

Job started at  Wed Feb 12 04:52:11 CST 2003
Finished run_d0gstar.sh at  Wed Feb 12 04:52:11 CST 2003
Finished run_d0sim.sh at  Wed Feb 12 04:52:11 CST 2003
Finished run_d0reco.sh at  Wed Feb 12 04:52:11 CST 2003
Finished run_tmb_analyze.sh at  Wed Feb 12 04:52:11 CST 2003
Job finished at  Wed Feb 12 04:52:11 CST 2003
 

Type this command set path=($path ./) and restart mc_runjob :

mc_runjob in batch :

Keep in mind that full simulation is very time consumming.
You can fully produce at max 200 events in a given job.
To run in batch, simply replace

attach runjob
cfg runjob define string RunOption RunNice
...
cfg runjob run

 

with

 
attach runjob_d0mino
cfg runjob_d0mino define string RunOption RunInBatch
cfg runjob_d0mino define string BatchQueue large
...
cfg runjob_d0mino run

Susygen official links :

Talks & Documentations :

Contact

Sorry, but a Javascript-enabled browser is required to email me.