Before making a request you should be familiar with runjob. In particular the options available and how it handles cardfile parameters. The Request system assumes that mc_runjob will be used.
To create a request you need to follow a series of steps:
Before sending your request to the farm, please consider if it is appropriate. In general remote farm production should be for large scale projects with standard executables. If you only want a few thousand events, or you want to run d0reco with non-standard parameters this is not really appropriate.
Start by writing down all of the variables you require to be set in your job. Note, each time you change a variable you must submit a new request, this includes masses.
All scripts start with a standard header:from import_classes import *
datatier='reconstructed'
appfamily=AppFamily('reconstruction', 'p13.08.00', 'd0reco')
Note, this version of the software has nothing to do with the version of the software run on the mc request. We will run the latest version of software available.
Note, please only put in the parameters necessary for your request. Putting in additional Parameters is unwise as it may lead to problems running your jobs.
Then you must give the parameters for your request, here is a qcd request:
For a request to be acceptable please ensure all floating point numbers are quoted to at least one decimal place with no extraneous zeroes, I.e. 4.0 instead of 4.
dict={ # A python dictionary
'Global':{ # Keywords applying to the whole job
'Stream': 'notstreamed', # Must be included
'Description': 'Test of QCD Request', # Description of your request, make it reasonably detailed
# DO NOT USE SPECIAL CHARACTERS PLEASE
'ProducedForName': 'bertram', # your user name
'GroupName': 'dzero', # the physics group that is making the request.
'RunType': 'Monte Carlo', # Must be included
'Phase': 'mcp14',} # Sets production to be compatible with mcp14
'Generated':{ # generator Keywords
'PDFLibFunc': 'CTEQ4L', # PDF
'CardfileDir': 'np', # Cardfile directory
'CardfileVersion': 'v00-04-26',
'EtaGt': '-4.2',
'Production': 'qcd',
'PtGt': '20.0',
'CollisionEnergy': '1960.0',
'EtaLt': '4.2',
'Decay': 'incl',
'Generator': 'pythia'}, # You must include a generator
'Simulated':{ # D0gstar Keywords (these are default, note changing from plate is not recommended)
'KeepParticleCalEnergy': 'off',
'Geometry': 'plate'},
'Digitized':{'MergeMinBias':'off', # Must be set to off if want0.0 overlaid events on to overlay
'CalorimeterNoise': 'on', # d0sim keywords
'NumMinBi': '0.0', # If having zero overlay events pleasse set to fixed.
'MinBiOpt': 'Fixed'},
'Reconstructed':{ # d0reco keywords
#'RecoRcpFile': 'standard' # please no longer specified standard as this is no longer supported (you get it by default)
'FrameworkRCPName':'runD0reco_mc.rcp', # new method for specifying framework rcps
},
}
Lets examine an example of different cardfiles, we want to generate using the cards: cardfiles/v00-04-06/wz/pythia_w_wmunu.cards then we would set these to:
'CardfileVersion': 'v00-04-06', 'CardfileDir': 'wz', 'Production': 'w', 'Decay': 'wmunu',
Another example: v00-04-06/np/pythia_w1z2_3lmet_msugra2_pt1_0_m.cards
'CardfileVersion': 'v00-04-06', 'CardfileDir': 'np', 'Production': 'w1z2', 'Decay': '3lmet_msugra2_pt1_0_m',
Save the python script in a file: for example, Request_Dict.py
This is an example for requesting processing on a request in SAM.
Note: Files must be in SAM, with appropraiet metadata.
from import_classes import *
datatier='reconstructed'
appfamily=AppFamily('reconstruction','p13.08.00','d0reco')
keywordDict={
'Simulated':{
'datasetdefname':'wj3-vecbos-gen',
'keepparticlecalenergy':'off',
'geometry':'plate',
},
'Global':{
'description':'vecbos sample',
'stream':'notstreamed',
'producedforname':'perea',
'runtype':'monte carlo',
'groupname':'top',
'phase':'mcp14',
},
'Digitized':{
'MergeMinBias':'off', # Must be set to off if want0.0 overlaid events on to overlay
'CalorimeterNoise': 'on', # d0sim keywords
'NumMinBi': '0.0', # If having zero overlay events pleasse set to fixed.
'MinBiOpt': 'Fixed'},
'Reconstructed':{ # d0reco keywords
# 'RecoRcpFile': 'standard' # please no longer specified standard as this is no longer supported (you get it by default)
'FrameworkRCPName':'runD0reco_mc.rcp', # new method for specifying framework rcps
},
}
from import_classes import *
datatier='reconstructed'
appfamily=AppFamily('reconstruction', 'p11.12.01', 'd0reco')
# setup D0RunII
# setup mc_runjob
# Default parameters are in $MC_RUNJOB_DIST/py_script/MCRunjobDefaults.py
dict={
'Global':{
'Stream': 'notstreamed',
'Description': 'Higgs Hpp 150 GeV',
'ProducedForName': 'qzli',
'GroupName': 'higgs',
'phase':'mcp14',
'RunType': 'Monte Carlo'},
'Generated':{
'D0Release':'p11.12.01', # Specifying a required version of the software
'PDFLibFunc': 'CTEQ4L',
'CardfileVersion': 'v00-04-02',
'CardfileDir': 'higgs',
'Production': 'hppl',
'Decay': 'eeee',
'HppMass' : '150.0',
'EtaLt': '5.0',
'EtaGt': '-5.0',
'CollisionEnergy': '1960.0',
'Generator': 'pythia'}, #
'Simulated':{
'D0Release':'p11.12.01', # Specifying a required version of the software
'KeepParticleCalEnergy': 'off',
'Geometry': 'plate'},
'Digitized':{
'CalorimeterNoise': 'on',
'D0Release':'p11.12.01', # Specifying a required version of the software
'NumMinBi': '0.5',
'MinBiOpt': 'Poisson'},
'Reconstructed':{
'D0Release':'p11.12.01', # Specifying a required version of the software
'FrameworkRCPName':'runD0reco_mc.rcp', # new method for specifying framework rcps
},
}
}
This is a request for H++ production, using cardfiles/v00-04-02/higgs/pythia_hppl_eeee.cards
from import_classes import *
datatier='reconstructed'
appfamily=AppFamily('reconstruction', 'p11.12.01', 'd0reco')
# setup D0RunII
# setup mc_runjob
# Default parameters are in $MC_RUNJOB_DIST/py_script/MCRunjobDefaults.py
dict={
'Global':{
'Stream': 'notstreamed',
'Description': 'Higgs Hpp 150 GeV',
'ProducedForName': 'qzli',
'phase':'mcp14',
'GroupName': 'higgs',
'RunType': 'Monte Carlo'},
'Generated':{
'PDFLibFunc': 'CTEQ4L',
'CardfileVersion': 'v00-04-02',
'CardfileDir': 'higgs',
'Production': 'hppl',
'Decay': 'eeee',
'HppMass' : '150.0',
'EtaLt': '5.0',
'EtaGt': '-5.0',
'CollisionEnergy': '1960.0',
'Generator': 'pythia'}, #
'Simulated':{
'KeepParticleCalEnergy': 'off',
'Geometry': 'plate'},
'Digitized':{
'CalorimeterNoise': 'on',
'NumMinBi': '0.5',
'MinBiOpt': 'Poisson'},
'Reconstructed':{
'FrameworkRCPName':'runD0reco_mc.rcp', # new method for specifying framework rcps
},
}
This is a request for H++ production, using cardfiles/v00-04-06/wz/pythia_w_wenu.cards
from import_classes import *
datatier='reconstructed'
appfamily=AppFamily('reconstruction', 'p11.12.01', 'd0reco')
dict={
'Global':{
'Stream': 'notstreamed',
'Description': 'WZ Request for W to enu',
'ProducedForName': 'steinbru',
'phase':'mcp14',
'GroupName': 'wz',
'RunType': 'Monte Carlo'},
'Generated':{
'PDFLibFunc': 'CTEQ4L',
'CardfileDir': 'wz',
'CardfileVersion': 'v00-04-06',
'EtaGt': '-4.2',
'Production': 'w',
'CollisionEnergy': '1960.0',
'EtaLt': '4.2',
'Decay': 'wenu',
'Generator': 'pythia'},
'Simulated':{
'KeepParticleCalEnergy': 'off',
'Geometry': 'plate'},
'Digitized':{
'CalorimeterNoise': 'on',
'NumMinBi': '0.5',
'MinBiOpt': 'Poisson'},
'Reconstructed':{ #
'FrameworkRCPName':'runD0reco_mc.rcp', # new method for specifying framework rcps
},
}
Iain Bertram, April 1, 2003