SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Unwrap page!
Comp. Search
Who's who?
Meetings
FAQ Homepage
Archive
Environment
Administration
New User Info.
Web Info/Tools
Monitoring
Training
Tools & Utils
Programming
C++ Standard
SRT, AFS, CVS
QA and QC
Remedy
Histogramming
Operations
PromptReco
Simulation Production
Online SW
Dataflow
Detector Control
Evt Processing
Run Control
Calibration
Databases
Offline
Workbook
Coding Standards
Simulation
Reconstruction
Prompt Reco.
BaBar Grid
Data Distribution
Beta & BetaTools
Kanga & Root
Analysis Tools
RooFit Toolkit
Data Management
Data Quality
Event display
Event Browser
Code releases
Databases
Check this page for HTML 4.01 Transitional compliance with the
W3C Validator
(More checks...)

How to make signal MC requests



Creating new SP modes


    (If you are making a request of existing SP modes, you can skip this section.)

  • Check out ProdDecayFiles in your working release directory and place the *.dec (and/or *.tcl) files there.

  • Commit the new *.dec files via 'cvs add your.dec' and 'cvs commit your.dec'. A BFMAIL message will be sent automatically to the keepers of ProdDecayFiles package. Please DO NOT make a new official tag, as SP Coordinator creates them at appropriate times after assembling requests by different people.

  • Check out a new SP mode number for your signal mode via 'BbkSPModes --newmode' and following the instructions. This is done mode by mode, so if you have many, it will take a while.

  • One must of course test new decay modes thoroughly before making a request. If you are generating rare modes (in decay or production) that use many random numbers at Event Generator stage, then please make sure that Random number Overuse checker does not kill the jobs before 6K events per job (in SP9 production) are finished. A simple guide for minimally testing .dec files with GeneratorsQAApp can be found here.

  • For large requests (>10M events), it is advised to get in touch with BaBar PAC and Software Coordinator and get an approval, in addition to alerting the AWG conveners.



Making the SP request


To make a request you need only do two things.
  1. Create a file with your request information in it.
  2. Email the output file to the SP manager, Matt Bellis.
Let's look at these two steps in detail.

The request file

The file you create will be interpreted assuming Python syntax, but you do not need to know Python to create this file. The information you need to have in this file is
  • Requestor: Who is making this request?
  • Software release/runs: What software release should be used for this request? The options are shown below in the comments of the request template file.
  • Modes/ # of events: List of requested modes and the events/fb^{-1} that should be produced for each mode.
    Roughly speaking, the number of OnPeak ifb foreach release/run conditions is as follows:
    • SP8 - 350.0 ifb
    • SP9 - 100.0 ifb
    • SP10 - 450.0 ifb
    • Y2S - 14.5 ifb
    • Y3S - 31.0 ifb

    Note that your request is for THE TOTAL NUMBER OF EVENTS THAT SHOULD BE IN BOOKKEEPING, FOLLOWING THIS REQUEST.

  • AWG: Under the auspices of which AWG is this request being made?
  • Comments: Extra information about this request.
  • Emails of interested parties: Who wants to be notified when this request is allocated?
To create a template of the file you will submit, run the following command using this script: create_an_SP_request_template.py

[yakut07] create_an_SP_request_template.py filename

This creates a file named filename.py. Let's take a look at this template file

# Who is requesting this SP?
requestor = "Emmy Noether"

# What are the SP releases for which this will be generated?
# There are only certain allowed values, so let's look at each one.
# Note that multiple entries are allowed.
# SP8 - Run 1-5. Events will be processed with R18, and then reprocessed such
# that it is the equivalent of R22.
# SP9 - Run 6. Events will be processed with R22.
# SP10 - Run 1-6. Events will be processed with R24.
# Y2S - Run 7. Events will be processed with R24 for the Y(2S) running conditions.
# Y3S - Run 7. Events will be processed with R24 for the Y(3S) running conditions.
# WARNING!!! WARNING!!!
# If you want both Y2S and Y3S modes, those should be submitted in two
# separate requests.
sp_release = ["SP8", "SP9" ]

# What modes and how many events per fb^{-1} are requested?
# The syntax is [ [mode1, events/ifb], [mode2, events/ifb], ...]
modes = [ [9997, 500], \
[9998, 500], \
[9999, 500] ]

# What AWG is overseeing this request? This is good information to have in the
# event that an abnormally large request is made. It allows the SP manager to verify
# that this request is really needed.
awg = "Quarkonium"

# Any comments about this request can go here. For instance, does the reqestor only
# need this data for Run 6? Are there special tags for the software release.?
comments = "Priority modes for a really important measurement."

# List the emails of all the individuals who should be notified when this request
# is actually allocated to the computer resources.
emails = [ "noether@slac.stanford.edu", "galois@slac.stanford.edu", "devnull@gmail.com" ]


The comments within the file should guide you when editing the file to suit your needs. One thing to be aware of is for the modes listing I have used line breaks to make it more readable. You could also have this entry read

modes = [ [9997, 500], [9998, 500], [9999, 500] ]

Submitting the request file

For now, you may email this file to Matt Bellis.

In future development you may submit this file yourself in a more automated fashion. Your request is written to an XML file in the SP manager's directory. You can view the output of your request here

Why Python?

I chose to work with Python for these tools almost arbitrarily, as the same ends could have been achieved with almost any scripting language. But it seems that Python has achieved a certain critical mass for scientific applications and subsequent development and maintainance in those areas. This project was actually an impetus for me to learn Python, so there may be some aspects that could be done better. If you have any comments or criticisms, please email me at the address at the bottom of this page.

Note that Python has it's own interactive shell, so you can use that as a simple development environment for testing things out. There is also a very nice wrapper to ROOT (PyRoot) that I have started using. I find I prefer this to ROOT's C-interpreter.

Keep in mind that some of the above editorializing is just my opinion, so take it for what it's worth.

If you would like to take advantage of some of the features of Python, or just learn more about it, here are some good places to start.
Page Maintainer(s): Matt Bellis,
Page Creator(s): Matt Bellis,
Last significant update: Oct-11-2008 Expiry date: JAN-01-2009