# Ganga configuration file ($Name: Ganga-6-0-39 $). DO NOT remove this line.
#
#=======================================================================
# All  settings are  commented out,  so ganga  will apply  the default
# values automatically. Wherever possible these default values are indicated. 
# To see which configuration settings are used, type at ganga prompt:
#  print config
#
# Support of Atlas and LHCb-specific functionality:
#
# GANGA_CONFIG_PATH environment variable or --config-path option at the command
# line is used to enable LHCb or Atlas extensions. 
# For example:
#    $ export GANGA_CONFIG_PATH=GangaLHCb/LHCb.ini
#    $ ganga
# or:
#    $ ganga --config-path=GangaAtlas/Atlas.ini
#
# In LHCb environment you do not need to worry about it because it is done
# by GangaEnv command automatically.
#

[TESTSECTION1]
key1 = val1
key2 = val2
#key2 = val2old
# key3 = val3

[TESTSECTION2]


#=======================================================================
#  global configuration parameters. this is a catch all section.
[Configuration]

#  default batch system
#Batch = LSF

#  runtime warnings issued by the interpreter may be suppresed
#IgnoreRuntimeWarnings = True

#  the search path for the load() function
#LOAD_PATH = 

#  path to runtime plugin packages where custom handlers may be added. Normally
#  you should not worry about it. If an element of the path is just a name (like
#  in the example below) then the plugins will be loaded using current python
#  path. This means that some packages such as GangaTest may be taken from the
#  release area.
#  Examples:
#    RUNTIME_PATH = GangaGUI
#    RUNTIME_PATH = /my/SpecialExtensions:GangaTest
#RUNTIME_PATH = GangaDirac:GangaGaudi:GangaLHCb:

#  Flag to print out the relevent subsection of release notes for each
#  experiment at start up
#ReleaseNotes = True

#  the search path to scripts directory. When running a script from the system
#  shell (e.g. ganga script) this path is used to search for script
#SCRIPTS_PATH = Ganga/scripts

#  The SMTP server for notification emails to be sent, default is localhost
#SMTPHost = cernmx.cern.ch

#  Port for the Ganga server to listen on
#ServerPort = 434343

#  Timeout in minutes for auto-server shutdown
#ServerTimeout = 60

#  Full path to user script to call periodically. The script will be executed as
#  if called within Ganga by 'execfile'.
#ServerUserScript = 

#  Time in seconds between executions of the user script
#ServerUserScriptWaitTime = 300

#  block of GPI commands executed at startup
#StartupGPI = print '\\n === Welcome to Ganga on CVMFS. In case of problems contact lhcb-distributed-analysis@cern.ch === '

#  The type of the interactive shell: IPython (cooler) or Console (limited)
#TextShell = IPython

#  enable usage monitoring through MSG server defined in MSGMS configuration
#UsageMonitoringMSG = True

#  MonALISA configuration file used to setup the destination of usage messages
#UsageMonitoringURL = http://gangamon.cern.ch:8888/apmon/ganga.conf

#  Autogenerate workspace dirs for new jobs
#autoGenerateJobWorkspace = False

#  If set to ask the user is presented with a prompt asking whether Shared
#  directories not associated with a persisted Ganga object should be deleted
#  upon Ganga exit. If set to never, shared directories will not be deleted upon
#  exit, even if they are not associated with a persisted Ganga object. If set
#  to always (the default), then shared directories will always be deleted if
#  not associated with a persisted Ganga object.
#deleteUnusedShareDir = always

#  Location of local job repositories and workspaces. Default is ~/gangadir but
#  in somecases (such as LSF CNAF) this needs to be modified to point to the
#  shared file system directory.
#gangadir = /home/khurewat/gangadir
gangadir = /home/testuser/gangadir

#  The default file extension for the named template system. If a package sets
#  up their own by calling "establishNamedTemplates" from
#  python/Ganga/GPIDev/Lib/Job/NamedJobTemplate.py in their ini file then they
#  can override this without needing the config option
#namedTemplates_ext = tpl

#  Determines if named template system stores templates in pickle file format
#  (True) or in the Ganga streamed object format (False). By default streamed
#  object format which is human readable is used. If a package sets up their own
#  by calling "establishNamedTemplates" from
#  python/Ganga/GPIDev/Lib/Job/NamedJobTemplate.py in their ini file then they
#  can override this without needing the config option
#namedTemplates_pickle = False

#  Type of the repository.
#  Examples:
#    LocalXML
#repositorytype = LocalXML

#  If TRUE (default), calling job.resubmit() will only resubmit FAILED subjobs.
#  Note that the auto_resubmit mechanism will only ever resubmit FAILED subjobs.
#resubmitOnlyFailedSubjobs = True

#  User name. The same person may have different roles (user names) and still
#  use the same gangadir. Unless explicitly set this option defaults to the real
#  user name.
# user = khurewat
# user = ckhurewa

#  Type of workspace. Workspace is a place where input and output sandbox of
#  jobs are stored. Currently the only supported type is LocalFilesystem.
#workspacetype = LocalFilesystem


#=======================================================================
#  Parameters for DIRAC
[DIRAC]

#  The file containing the python commands that the local DIRAC server can
#  execute. The default DiracCommands.py is added automatically
#DiracCommandFiles = ['/cvmfs/lhcb.cern.ch/lib/lhcb/GANGA/GANGA_v600r39/install/ganga/python/GangaLHCb/Lib/Server/DiracLHCbCommands.py']

#  Ganga environment file for DIRAC environment (do not change unless you are
#  sure you know what you are doing).
#DiracEnvFile = /tmp/GangaDiracEnvnfAjtC

#  Base dir appended to create LFN name from DiracFile('name')
#DiracLFNBase = /lhcb/user/k/khurewat
DiracLFNBase = /lhcb/user/c/ckhurewa

#  List of SEs where Dirac ouput data should be placed (empty means let DIRAC
#  decide where to put the data).
#DiracOutputDataSE = []

#  Space tokens allowed for replication, etc.
#DiracSpaceTokens = ['CERN-USER', 'CNAF-USER', 'GRIDKA-USER', 'IN2P3-USER', 'SARA-USER', 'PIC-USER', 'RAL-USER']

#  The Maximum allowed number of bulk submitted jobs before Ganga intervenes
#MaxDiracBulkJobs = 500
MaxDiracBulkJobs = 2000

#  Number of worker threads that the local DIRAC server and client should
#  establish
#NumWorkerThreads = 5
NumWorkerThreads = 5

#  Determines whether outputdata stored on Dirac is replicated
#ReplicateOutputData = True

#  Default timeout (seconds) for Dirac commands
#Timeout = 1000
Timeout = 604800

#  Automatically download sandbox for failed jobs?
#failed_sandbox_download = True

#  Whether or not to load the default dirac backend. This allows packages to
#  load a modified version if necessary
#load_default_Dirac_backend = False

#  List of sites to ban when a user job has no input data (this is meant to
#  reduce the load on these sites)
#noInputDataBannedSites = ['LCG.CERN.ch', 'LCG.CNAF.it', 'LCG.GRIDKA.de', 'LCG.IN2P3.fr', 'LCG.NIKHEF.nl', 'LCG.PIC.es', 'LCG.RAL.uk', 'LCG.SARA.nl']

#  when splitting datasets, pre split into chunks of this int
#splitFilesChunks = 5000


#=======================================================================
#  Settings for Dashboard Messaging Service.
[DashboardMS]

#  The MSG destination (topic or queue) for job meta messages.
#destination_job_meta = /topic/dashboard.atlas.jobMeta

#  The MSG destination (topic or queue) for job processing attributes messages.
#destination_job_processing_attributes = /topic/dashboard.atlas.jobProcessingAttributes

#  The MSG destination (topic or queue) for job status messages.
#destination_job_status = /topic/dashboard.atlas.jobStatus

#  The MSG destination (topic or queue) for task meta messages.
#destination_task_meta = /topic/dashboard.atlas.taskMeta


#password = analysis

#  The MSG server port.
#port = 61113

#  The MSG server name.
#server = dashb-mb.cern.ch

#  The type of task. e.g. analysis, production, hammercloud,...
#task_type = analysis


#user = ganga-atlas


#=======================================================================
#  control the printing style of the different registries
#  ("jobs","box","tasks"...)
[Display]

#  list of job attributes to be printed in separate columns
#box_columns = ('id', 'type', 'name', 'application')

#  optional converter functions
#box_columns_functions = {'application': 'lambda obj: obj.application._name'}

#  with exception of columns mentioned here, hide all values which evaluate to
#  logical false (so 0,"",[],...)
#box_columns_show_empty = ['id']

#  width of each column
#box_columns_width = {'application': 15, 'type': 20, 'id': 5, 'name': 40}

#  colour print of the docstrings and examples
#config_docstring_colour = fg.green

#  colour print of the names of configuration sections and options
#config_name_colour = fx.bold

#  colour print of the configuration values
#config_value_colour = fx.bold

#  list of job attributes to be printed in separate columns
#jobs_columns = ('fqid', 'status', 'name', 'subjobs', 'application', 'backend', 'backend.actualCE', 'comment')
jobs_columns = ('fqid', 'status', 'name', 'subjobs', 'application', 'backend', 'comment')

#  optional converter functions
#jobs_columns_functions = {'comment': 'lambda j: j.comment', 'subjobs': 'lambda j: len(j.subjobs)', 'backend': 'lambda j:j.backend._name', 'application': 'lambda j: j.application._name'}

#  with exception of columns mentioned here, hide all values which evaluate to
#  logical false (so 0,"",[],...)
#jobs_columns_show_empty = ['fqid']

#  width of each column
#jobs_columns_width = {'fqid': 8, 'status': 10, 'application': 15, 'name': 10, 'subjobs': 8, 'backend.actualCE': 45, 'comment': 30, 'backend': 15}
jobs_columns_width = {'fqid': 5, 'status': 10, 'name': 18, 'application': 11, 'comment': 56, 'subjobs': 5, 'backend': 9}

#  colours for jobs status
#jobs_status_colours = {'new': 'fx.normal', 'running': 'fg.green', 'completed': 'fg.blue', 'submitted': 'fg.orange', 'failed': 'fg.red'}

#  list of job attributes to be printed in separate columns
#tasks_columns = ('id', 'Type', 'Name', 'State', 'Comment', 'Jobs', '\x1b[44;97mdone\x1b[0;0m')

#  optional converter functions
#tasks_columns_functions = {'State ': 'lambda task : task.status', 'Jobs': 'lambda task : task.n_all()', 'Name': 'lambda t : t.name', '\x1b[44;97mdone\x1b[0;0m': "lambda task : task.n_status('completed')", 'Type': 'lambda task : task._name', 'Comment ': 'lambda task : task.comment'}

#  with exception of columns mentioned here, hide all values which evaluate to
#  logical false (so 0,"",[],...)
#tasks_columns_show_empty = ['id', 'Jobs', '\x1b[44;97mdone\x1b[0;0m']

#  width of each column
#tasks_columns_width = {'Comment': 30, 'Jobs': 33, 'Name': 22, 'State': 9, '\x1b[44;97mdone\x1b[0;0m': 5, 'Type': 13, 'id': 5}

#  change this to False if you do not want to see the help screen if you first
#  type "tasks" in a session
#tasks_show_help = True


#=======================================================================
#  Default associations between file types and file-viewing commands. The name
#  identifies the extension and the value the commans. New extensions can be
#  added. A single & after the command indicates that the process will be
#  started in the background. A && after the command indicates that a new
#  terminal will be opened and the command executed in that terminal.
[File_Associations]

#  Default command to use if there is no association with the file type
#fallback_command = less

#  Command for viewing html files.
#htm = firefox &

#  Command for viewing html files.
#html = firefox &

#  Command for listing the content of a directory
#listing_command = ls -ltr

#  Command for opening a new terminal (xterm, gnome-terminal, ...
#newterm_command = xterm

#  Option to give to a new terminal to tell it to execute a command.
#newterm_exeopt = -e

#  Command for opening ROOT files.
#root = root.exe &&

#  Command for opening tar files.
#tar = file-roller &

#  Command for opening tar files.
#tgz = file-roller &


#=======================================================================
#  Generic GAUDI based parameters
[GAUDI]

#  The command used to make a CMT application.
#make_cmd = make

#  Levels below InstallArea/[<platform>]/python to decend when looking for .py
#  files to include
#pyFileCollectionDepth = 2


#=======================================================================
#  Customization of GPI component object assignment for each category there may
#  be multiple filters registered, the one used being defined  in the
#  configuration file in [GPIComponentFilters] e.g:
#  {'datasets':{'lhcbdatasets':lhcbFilter, 'testdatasets':testFilter}...}
[GPIComponentFilters]


#datafiles = string_datafile_shortcut


#datasets = string_dataset_shortcut


#files = string_file_shortcut


#gangafiles = string_file_shortcut


#postprocessor = postprocessor_filter


#shareddirs = string_sharedfile_shortcut


#=======================================================================
#  Customization of GPI behaviour. These options may affect the semantics of the
#  Ganga GPI interface (what may result in a different behaviour of scripts and
#  commands).
[GPI_Semantics]

#  Keep on submitting as many subjobs as possible. Option to j.submit(), see Job
#  class for details
#job_submit_keep_going = False

#  Do not revert job to new status even if submission failed. Option to
#  j.submit(), see Job class for details
#job_submit_keep_on_fail = False


#=======================================================================
#  LCG/gLite/EGEE configuration parameters
[LCG]

#  sets allowed computing elements by a regular expression
#AllowedCEs = 

#  Time in seconds to wait after submission before starting to monitor ARC jobs
#  to ensure they are in the system
#ArcWaitTimeBeforeStartingMonitoring = 240

#  sets the size limitation of the input sandbox, oversized input sandbox will
#  be pre-uploaded to the storage element specified by 'DefaultSE' in the area
#  specified by 'DefaultSRMToken'
#BoundSandboxLimit = 10485760

#  sets the generic LCG-UI configuration script for the GLITE workload
#  management system
#Config = 

#  sets the VO-specific LCG-UI configuration script for the EDG resource broker
#ConfigVO = 

#  sets the baseURI for getting the input sandboxes for the job
#CreamInputSandboxBaseURI = 

#  sets the baseURI for putting the output sandboxes for the job
#CreamOutputSandboxBaseURI = 

#  sets the file catalogue server
#DefaultLFC = prod-lfc-shared-central.cern.ch

#  sets the default storage element
#DefaultSE = srm.cern.ch

#  sets the space token for storing temporary files (e.g. oversized input
#  sandbox)
#DefaultSRMToken = 

#  enables/disables the support of the EDG middleware
#EDG_ENABLE = False

#  sets the LCG-UI environment setup script for the EDG middleware
#EDG_SETUP = /afs/cern.ch/sw/ganga/install/config/grid_env_auto.sh

#  sets excluded computing elements by a regular expression
#ExcludedCEs = 


#GLITE_ALLOWED_WMS_LIST = []

#  Enables/disables the support of the GLITE middleware
#GLITE_ENABLE = False

#  sets the LCG-UI environment setup script for the GLITE middleware
#GLITE_SETUP = /afs/cern.ch/sw/ganga/install/config/grid_env_auto.sh

#  sets the WMProxy service to be contacted
#GLITE_WMS_WMPROXY_ENDPOINT = 

#  sets the maximum number of nodes (i.e. subjobs) in a gLite bulk job
#GliteBulkJobSize = 50

#  sets to True will load script-based glite-wms-* commands forcely with current
#  python, a trick for 32/64 bit compatibility issues.
#IgnoreGliteScriptHeader = False

#  sets the way the job's stdout/err are being handled.
#JobLogHandler = WMS

#  sets to True will do resource matching before submitting jobs, jobs without
#  any matched resources will fail the submission
#MatchBeforeSubmit = False

#  sets the myproxy server
#MyProxyServer = myproxy.cern.ch

#  sets the number of concurrent threads for downloading job's output sandbox
#  from gLite WMS
#OutputDownloaderThread = 10

#  sets the ranking rule for picking up computing element
#Rank = 

#  sets the replica catalogue server
#ReplicaCatalog = 

#  sets the full qualified class name for other specific LCG job requirements
#Requirements = Ganga.Lib.LCG.LCGRequirements

#  sets maximum number of job retry
#RetryCount = 3

#  sets the full qualified class name for handling the oversized input sandbox
#SandboxCache = Ganga.Lib.LCG.LCGSandboxCache

#  sets the transfer timeout of the oversized input sandbox
#SandboxTransferTimeout = 60

#  sets maximum number of job shallow retry
#ShallowRetryCount = 10

#  sets the gLite job status polling timeout in seconds
#StatusPollingTimeout = 300

#  sets the storage index
#StorageIndex = 

#  sets the number of concurrent threads for job submission to gLite WMS
#SubmissionThread = 10

#  sets the gLite job submission timeout in seconds
#SubmissionTimeout = 300

#  sets the name of the grid virtual organisation
#VirtualOrganisation = lhcb


#=======================================================================
#  Parameters for LHCb
[LHCb]

#  The name of the local site to be used for resolving LFNs into PFNs.
#LocalSite = LCG.CERN.ch

#  List of user added LHCb applications split by ':'
#UserAddedApplications = 

#  The string that is added after the filename in the options to tell Gaudi how
#  to read the data. This is the default value used if the file name does not
#  match any of the patterns in datatype_string_patterns.
#datatype_string_default = TYP='POOL_ROOTTREE' OPT='READ'

#  If a file matches one of these patterns, then the string here overrides the
#  datatype_string_default value.
#datatype_string_patterns = {"SVC='LHCb::MDFSelector'": ['*.raw', '*.RAW', '*.mdf', '*.MDF']}

#  Files from these services will go to the output sandbox (unless overridden by
#  the user in a specific job via the Job.outputdata field). Files from all
#  other known handlers will go to output data (unless overridden by the user in
#  a specific job via the Job.outputsandbox field).
#outputsandbox_types = ['CounterSummarySvc', 'NTupleSvc', 'HistogramPersistencySvc', 'MicroDSTStream', 'EvtTupleSvc']


#=======================================================================
#  internal LSF command line interface
[LSF]

#  Heartbeat frequency config variable
#heartbeat_frequency = 30
heartbeat_frequency = 15

#  Name of environment with ID of the job
#jobid_name = LSB_BATCH_JID
jobid_name = SLURM_JOB_ID

#  String contains option name for name of job in batch system
#jobnameopt = J
jobnameopt = J

#  String pattern for replay from the kill command
#kill_res_pattern = (^Job <\d+> is being terminated)|(Job <\d+>: Job has already finished)|(Job <\d+>: No matching job found)
kill_res_pattern = (^Job <\d+> exceed virtual memory limit )|(^scancel: error: Kill job error on job id \d+: Invalid job id specified)|(Force Terminated job <\d+>)

#  String used to kill job
#kill_str = bkill %s
kill_str = scancel %s

#  String contains commands executing before submiting job to queue
#postexecute = 
# def filefilter(fn):
#   # FILTER OUT Batch INTERNAL INPUT/OUTPUT FILES: 
#   # 10 digits . any number of digits . err or out
#   import re
#   internals = re.compile(r'\d{10}\.\d+.(out|err)')
#   return internals.match(fn) or fn == '.Batch.start'
postexecute = 
  import re
  import subprocess
  ### Remove the proxy
  # p = subprocess.Popen('lhcb-proxy-info', stderr=subprocess.PIPE, stdout=subprocess.PIPE)
  # stdout = p.communicate()[0]
  # res    = re.findall(r'path\s+: (\S+)', stdout)
  # if len(res)==1: os.remove(res[0])
  ### Remove GDE file
  #os.system('rm %s'%os.environ['GANGADIRACENVIRONMENT'])
  ### Remove scratch
  jid =os.environ["SLURM_JOB_ID"]
  dest='/scratch/khurewat/%s/'%jid
  os.chdir('/scratch')
  os.system('rm -rf %s'%dest)

#  String contains commands executing before submiting job to queue
preexecute = 
  import subprocess
  print os.environ
  ### Change dir
  jid =os.environ["SLURM_JOB_ID"]
  orig=os.getcwd()
  dest='/scratch/khurewat/%s/'%jid
  os.makedirs(dest)
  os.chdir(dest)
  os.system('cp %s/* .'%orig)
  print 'cwd', os.getcwd()
  ### Create proxy
  p = subprocess.Popen('lhcb-proxy-init -p', shell=True, stdin=subprocess.PIPE)
  p.communicate(input='login')
  ### Link GangaDiracEnv
  gdenv = os.environ['GANGADIRACENVIRONMENT']
  src   = '{user}@{host}.epfl.ch:{gdenv}'.format(user=os.environ['SLURM_JOB_USER'],host=os.environ['SLURM_SUBMIT_HOST'],gdenv=gdenv)
  subprocess.call(['scp', src, gdenv])

#  Name of environment with queue name of the job
#queue_name = LSB_QUEUE
queue_name = SBATCH_PARTITION

#  Shared PYTHON
#shared_python_executable = False

#  String pattern for defining the stderr
#stderrConfig = -e %s/stderr

#  String pattern for defining the stdout
#stdoutConfig = -o %s/stdout

#  String pattern for replay from the submit command
#submit_res_pattern = ^Job <(?P<id>\d*)> is submitted to .*queue <(?P<queue>\S*)>
submit_res_pattern = ^Submitted (?P<queue>\S*) job (?P<id>\d*)

#  String used to submit job to queue
#submit_str = cd %s; bsub %s %s %s %s
submit_str = cd %s; sbatch %s %s %s %s

#  Timeout in seconds after which a job is declared killed if it has not touched
#  its heartbeat file. Heartbeat is touched every 30s so do not set this below
#  120 or so.
#timeout = 600
timeout = 60


#=======================================================================
#  parameters of the local backend (jobs in the background on localhost)
[Local]

#  The location where the workdir will be created. If None it defaults to the
#  value of $TMPDIR
#location = None

#  remove automatically the local working directory when the job completed
#remove_workdir = True


#=======================================================================
#  control the messages printed by Ganga The settings are applied hierarchically
#  to the loggers. Ganga is the name of the top-level logger which applies by
#  default to all Ganga.* packages unless overriden in sub-packages. You may
#  define new loggers in this section. The log level may be one of: CRITICAL
#  ERROR WARNING INFO DEBUG
[Logging]

#  top-level logger
#Ganga = INFO

#  logger of Ganga.GPIDev.* packages
#Ganga.GPIDev = INFO

#  FIXME
#Ganga.Runtime.bootstrap = INFO

#  logger of the Ganga logging package itself (use with care!)
#Ganga.Utility.logging = WARNING

#  enable ASCII colour formatting of messages e.g. errors in red
#_colour = True

#  format of logging messages: TERSE,NORMAL,VERBOSE,DEBUG
#_format = NORMAL

#  if True then the cache used for interactive sessions, False disables caching
#_interactive_cache = True

#  location of the logfile
#_logfile = ~/.ganga.log

#  the size of the logfile (in bytes), the rotating log will never exceed this
#  file size
#_logfile_size = 100000

#  logger for stomp.py external package
#stomp.py = CRITICAL


#=======================================================================
#  Settings for the MSGMS monitoring plugin. Cannot be changed ruding the
#  interactive Ganga session.
[MSGMS]


#job_submission_message_destination = /queue/ganga.jobsubmission


#message_destination = /queue/ganga.status


#password = analysis

#  The port to connect to
#port = 61113

#  The server to connect to
#server = dashb-mb.cern.ch


#usage_message_destination = /queue/ganga.usage


#username = ganga


#=======================================================================
#  parameters for mergers
[Mergers]

#  Dictionary of file associations
#associate = {'log':'TextMerger','root':'RootMerger','text':'TextMerger','txt':'TextMerger','dst':'LHCbFileMerger','mdst':'LHCbFileMerger','sim':'LHCbFileMerger','digi':'LHCbFileMerger'}

#  location of the merger's outputdir
#merge_output_dir = /home/khurewat/gangadir/merge_results

#  Standard (default) merger
#std_merge = TextMerger


#=======================================================================
#  External monitoring systems are used to follow the submission and execution
#  of jobs. Each entry in this section defines a monitoring plugin used for a
#  particular combination of application and backend. Asterisks may be used to
#  specify any application or any backend. The configuration entry syntax:
#  ApplicationName/BackendName = dot.path.to.monitoring.plugin.class.  Example:
#  DummyMS plugin will be used to track executables run on all backends:
#  Executable/* = Ganga.Lib.MonitoringServices.DummyMS.DummyMS
[MonitoringServices]


#=======================================================================
#  configuration section for postprocessing the output
[Output]

#  List of outputfile types that will be auto removed when job is removed if
#  AutoRemoveFilesWithJob is True
#AutoRemoveFileTypes = ['DiracFile']

#  if True, each outputfile of type in list AutoRemoveFileTypes will be removed
#  when the job is
#AutoRemoveFilesWithJob = False

#  fileExtensions:list of output files that will be written to ...,
#  backendPostprocess:defines where postprocessing should be done (WN/client) on
#  different backends, uploadOptions:config values needed for the actual upload
#DiracFile = {'fileExtensions': ['*.dst'], 'uploadOptions': {}, 'backendPostprocess': {'LSF': 'WN', 'Dirac': 'WN', 'LCG': 'WN', 'ARC': 'WN', 'Interactive': 'WN', 'Localhost': 'WN', 'CREAM': 'WN'}}
DiracFile = {'fileExtensions': ['*dst', '*.gen', '*.xgen', '*.sim', '*.digi', '*.xdigi'], 'uploadOptions': {}, 'backendPostprocess': {'LSF': 'WN', 'Dirac': 'WN', 'LCG': 'WN', 'ARC': 'WN', 'Interactive': 'WN', 'Localhost': 'WN', 'CREAM': 'WN'}}

#  if True, writing to the job inputsandbox field will be forbidden
#ForbidLegacyInput = False

#  if True, writing to the job outputdata and outputsandbox fields will be
#  forbidden
#ForbidLegacyOutput = True

#  fileExtensions:list of output files that will be written to ...,
#  backendPostprocess:defines where postprocessing should be done (WN/client) on
#  different backends, uploadOptions:config values needed for the actual upload
#GoogleFile = {'fileExtensions': [], 'uploadOptions': {}, 'backendPostprocess': {'LSF': 'client', 'Dirac': 'client', 'LCG': 'client', 'ARC': 'client', 'Interactive': 'client', 'Localhost': 'client', 'CREAM': 'client'}}

#  fileExtensions:list of output files that will be written to LCG SE,
#  backendPostprocess:defines where postprocessing should be done (WN/client) on
#  different backends, uploadOptions:config values needed for the actual LCG
#  upload
#LCGSEFile = {'fileExtensions': [''], 'uploadOptions': {'dest_SRM': 'srm-public.cern.ch', 'LFC_HOST': 'lfc-dteam.cern.ch'}, 'backendPostprocess': {'LSF': 'client', 'LCG': 'WN', 'CREAM': 'WN', 'Localhost': 'WN', 'Interactive': 'WN'}}

#  fileExtensions:list of output files that will be written to mass storage
#  after job is completed, backendPostprocess:defines where postprocessing
#  should be done (WN/client) on different backends, uploadOptions:config values
#  needed for the actual upload to mass storage
#MassStorageFile = {'fileExtensions': [''], 'uploadOptions': {'path': '/eos/undefined/user/k/khurewat/ganga', 'cp_cmd': '/afs/cern.ch/project/eos/installation/undefined/bin/eos.select cp', 'ls_cmd': '/afs/cern.ch/project/eos/installation/undefined/bin/eos.select ls', 'mkdir_cmd': '/afs/cern.ch/project/eos/installation/undefined/bin/eos.select mkdir'}, 'backendPostprocess': {'LSF': 'WN', 'Dirac': 'client', 'LCG': 'client', 'ARC': 'client', 'CREAM': 'client', 'Localhost': 'WN', 'Interactive': 'client'}}
MassStorageFile = {'fileExtensions': [''], 'uploadOptions': {'path': '/panfs/khurewat/ganga_storage', 'cp_cmd': 'cp', 'ls_cmd': 'ls', 'mkdir_cmd': 'mkdir'}, 'backendPostprocess': {'LSF': 'WN', 'Dirac': 'client', 'LCG': 'client', 'ARC': 'client', 'Interactive': 'client', 'Localhost': 'WN', 'CREAM': 'client'}}

#  name of the file that will contain the locations of the uploaded from the WN
#  files
#PostProcessLocationsFileName = __postprocesslocations__


#=======================================================================
#  internal PBS command line interface
[PBS]

#  Heartbeat frequency config variable
#heartbeat_frequency = 30

#  Name of environment with ID of the job
#jobid_name = PBS_JOBID
jobid_name = SLURM_JOB_ID

#  String contains option name for name of job in batch system
#jobnameopt = N

#  String pattern for replay from the kill command
#kill_res_pattern = (^$)|(qdel: Unknown Job Id)

#  String used to kill job
#kill_str = qdel %s
kill_str = scancel %s

#  String contains commands executing before submiting job to queue
#postexecute = 
# env = os.environ
# jobnumid = env["PBS_JOBID"]
# os.chdir("/tmp/")
# os.system("rm -rf /tmp/%s/" %jobnumid) 

#  String contains commands executing before submiting job to queue
#preexecute = 
# env = os.environ
# jobnumid = env["PBS_JOBID"]
# os.system("mkdir /tmp/%s/" %jobnumid)
# os.chdir("/tmp/%s/" %jobnumid)
# os.environ["PATH"]+=":."

#  Name of environment with queue name of the job
#queue_name = PBS_QUEUE
queue_name = SBATCH_PARTITION

#  Shared PYTHON
#shared_python_executable = False

#  String pattern for defining the stderr
#stderrConfig = -e %s/stderr

#  String pattern for defining the stdout
#stdoutConfig = -o %s/stdout

#  String pattern for replay from the submit command
#submit_res_pattern = ^(?P<id>\d*)\.pbs\s*
submit_res_pattern = ^Submitted (?P<queue>\S*) job (?P<id>\d*)

#  String used to submit job to queue
#submit_str = cd %s; qsub %s %s %s %s
submit_str = echo %s; echo %s; echo %s; echo %s; echo %s

#  Timeout in seconds after which a job is declared killed if it has not touched
#  its heartbeat file. Heartbeat is touched every 30s so do not set this below
#  120 or so.
#timeout = 600


#=======================================================================
#  General control of plugin mechanism. Set the default plugin in a given
#  category. For example: default_applications = DaVinci default_backends = LCG
[Plugins]


#=======================================================================
#  background job status monitoring and output retrieval
[PollThread]

#  Poll rate for Condor backend.
#Condor = 30

#  Poll rate for Dirac backend.
#Dirac = 50
Dirac = 20

#  disk space checking callback. This function should return False when there is
#  no disk space available, True otherwise
#DiskSpaceChecker = 

#  Poll rate for LCG backend.
#LCG = 30

#  Poll rate for LSF backend.
#LSF = 20

#  Poll rate for Local backend.
#Local = 10

#  Maximum fraction of failed jobs before stopping automatic resubmission
#MaxFracForResubmit = 0.25

#  Maximum number of automatic job resubmits to do before giving
#MaxNumResubmits = 5

#  Poll rate for PBS backend.
#PBS = 20

#  Poll rate for Panda backend.
#Panda = 50

#  enable monitoring automatically at startup, in script mode monitoring is
#  disabled by default, in interactive mode it is enabled
#autostart = True

#  internal supervising thread
#base_poll_rate = 2

#  The frequency in seconds for credentials checker
#creds_poll_rate = 86400

#  Default rate for polling job status in the thread pool. This is the default
#  value for all backends.
#default_backend_poll_rate = 30

#  The frequency in seconds for free disk checker
#diskspace_poll_rate = 30

#  User will get the FIRST prompt after N seconds, as specified by this
#  parameter. This parameter also defines the time that Ganga will wait before
#  shutting down, if there are only non-critical threads alive, in both
#  interactive and batch mode.
#forced_shutdown_first_prompt_time = 5

#  If there are remaining background activities at exit such as monitoring,
#  output download Ganga will attempt to wait for the activities to complete.
#  You may select if a user is prompted to answer if he wants to force shutdown
#  ("interactive") or if the system waits on a timeout without questions
#  ("timeout"). The default is "session_type" which will do interactive shutdown
#  for CLI and timeout for scripts.
#forced_shutdown_policy = session_type

#  User will get the prompt every N seconds, as specified by this parameter.
#forced_shutdown_prompt_time = 10

#  Timeout in seconds for forced Ganga shutdown in batch mode.
#forced_shutdown_timeout = 60

#  Poll rate for gLite backend.
#gLite = 30

#  OBSOLETE: this option has no effect anymore
#max_shutdown_retries = 5

#  if 0 then log only once the errors for a given backend and do not repeat them
#  anymore
#repeat_messages = False

#  Size of the thread pool. Each threads monitors a specific backaend at a given
#  time. Minimum value is one, preferably set to the number_of_backends + 1
#update_thread_pool_size = 5


#=======================================================================
#  Parameters for preparable applications
[Preparable]

#  Unprepare a prepared application when it is copied
#unprepare_on_copy = False


#=======================================================================
#  Options for Root backend
[ROOT]

#  Architecture of ROOT
#arch = x86_64-slc6-gcc48-opt

#  Location of ROOT
#location = /cvmfs/lhcb.cern.ch/lib/RootConfig

#  Set to a specific ROOT version. Will override other options.
#path = 
path = /cvmfs/lhcb.cern.ch/lib/RootConfig/pro/x86_64-slc6-gcc48-opt

#  Location of the python used for execution of PyROOT script
#pythonhome = /cvmfs/lhcb.cern.ch/lib/GangaConfig/python/pro/x86_64-slc6-gcc48-opt

#  Version number of python used for execution python ROOT script
#pythonversion = pro

#  Version of ROOT
#version = pro


#=======================================================================
#  internal SGE command line interface
[SGE]

#  Heartbeat frequency config variable
#heartbeat_frequency = 30

#  Name of environment with ID of the job
#jobid_name = JOB_ID

#  String contains option name for name of job in batch system
#jobnameopt = N

#  String pattern for replay from the kill command
#kill_res_pattern = (has registered the job +\d+ +for deletion)|(denied: job +"\d+" +does not exist)

#  String used to kill job
#kill_str = qdel %s

#  String contains commands executing before submiting job to queue
#postexecute = 

#  String contains commands executing before submiting job to queue
#preexecute = os.chdir(os.environ["TMPDIR"])
# os.environ["PATH"]+=":."

#  Name of environment with queue name of the job
#queue_name = QUEUE

#  Shared PYTHON
#shared_python_executable = False

#  String pattern for defining the stderr
#stderrConfig = -e %s/stderr

#  String pattern for defining the stdout
#stdoutConfig = -o %s/stdout

#  String pattern for replay from the submit command
#submit_res_pattern = Your job (?P<id>\d+) (.+)

#  String used to submit job to queue
#submit_str = cd %s; qsub -cwd -V %s %s %s %s

#  Timeout in seconds after which a job is declared killed if it has not touched
#  its heartbeat file. Heartbeat is touched every 30s so do not set this below
#  120 or so.
#timeout = 600


#=======================================================================
#  configuration parameters for internal Shell utility.
[Shell]

#  list of env variables not inherited in Shell environment
#IgnoredVars = ['_', 'SHVL', 'PWD']


#=======================================================================
#  Tasks configuration options
[Tasks]

#  Monitor tasks even if the monitoring loop isn't enabled
#ForceTaskMonitoring = False

#  Frequency of Task Monitoring loop in seconds
#TaskLoopFrequency = 60


#=======================================================================
#  IPython shell configuration See IPython manual for more details:
#  http://ipython.scipy.org/doc/manual
[TextShell_IPython]

#  FIXME
#args = ['-colors','LightBG', '-noautocall']


#=======================================================================
#  default attribute values for ARC objects
[defaults_ARC]

#  ARC CE endpoint
#CE = 

#  Job type: Normal, MPICH
#jobtype = Normal

#  Requirements for the resource selection
#requirements = None

#  Interface for handling oversized input sandbox
#sandboxcache = None

#  Use verbose options for ARC commands
#verbose = False


#=======================================================================
#  default attribute values for AfsCommand objects
[defaults_AfsCommand]

#  Command for destroying credential
#destroy = unlog

#  Dictionary of parameter-value pairs to pass to destroy command
#destroy_parameters = {'cell': '-cell'}

#  Command for obtaining information about credential
#info = tokens

#  Dictionary mapping from Ganga credential properties to command-line options
#info_parameters = {}

#  Command for creating/initialising credential
#init = '/usr/kerberos/bin/kinit'

#  Dictionary of parameter-value pairs to pass to init command
#init_parameters = {'pipe': '-pipe', 'username': '-principal', 'valid': '-l', 'cell': '-cell'}


#=======================================================================
#  default attribute values for AfsToken objects
[defaults_AfsToken]

#  AFS cell with which token is used [empty string implies local cell]
#cell = 

#  Set of commands to be used for credential-related operations
#command = ICommandSet

#  Number of password attempts allowed when creating credential
#maxTry = 1

#  Default minimum validity
#minValidity = 00:15

#  AFS username with which token is used [defaults to login id]
#username = 

#  Default credential validity at creation
#validityAtCreation = 24:00


#=======================================================================
#  default attribute values for Alignment objects
[defaults_Alignment]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for AlignmentTask objects
[defaults_AlignmentTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for ArgSplitter objects
[defaults_ArgSplitter]

#  A list of lists of arguments to pass to script
#args = []


#=======================================================================
#  default attribute values for ArgSplitterTask objects
[defaults_ArgSplitterTask]

#  A list of lists of arguments to pass to script
#args = []

#  task partition numbers.
#task_partitions = []


#=======================================================================
#  default attribute values for BKQuery objects
[defaults_BKQuery]

#  Data quality flag (string or list of strings).
#dqflag = OK

#  End date string yyyy-mm-dd (only works for type="RunsByDate")
#endDate = 

#  Bookkeeping query path (type dependent)
#path = 

#  Selection criteria: Runs, ProcessedRuns, NotProcessed (only     works for
#  type="RunsByDate")
#selection = 

#  Start date string yyyy-mm-dd (only works for type="RunsByDate")
#startDate = 

#  Type of query (Path, RunsByDate, Run, Production)
#type = Path


#=======================================================================
#  default attribute values for BKQueryDict objects
[defaults_BKQueryDict]

#  Dirac BK query dictionary.
#dict = {'ConfigName': 'All', 'EndRun': 0, 'FileType': 'All', 'ProductionID': 0, 'DataQuality': 'All', 'StartRun': 0, 'DataTakingConditions': 'All', 'SimulationConditions': 'All', 'ConfigVersion': 'All', 'EventType': 'All', 'ProcessingPass': 'All'}


#=======================================================================
#  default attribute values for BKTestQuery objects
[defaults_BKTestQuery]

#  dataset
#dataset = None

#  Data quality flag (string or list of strings).
#dqflag = OK

#  End date string yyyy-mm-dd (only works for type="RunsByDate")
#endDate = 

#  number of files to release at a time
#filesToRelease = 3

#  Bookkeeping query path (type dependent)
#path = 

#  Selection criteria: Runs, ProcessedRuns, NotProcessed (only     works for
#  type="RunsByDate")
#selection = 

#  Start date string yyyy-mm-dd (only works for type="RunsByDate")
#startDate = 

#  Type of query (Path, RunsByDate, Run, Production)
#type = Path


#=======================================================================
#  default attribute values for Bender objects
[defaults_Bender]

#  The number of events
#events = -1

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the module to import. A copy will be made at submission time
#module = None

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  Parameres for module
#params = {}

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for BenderTask objects
[defaults_BenderTask]

#  The number of events
#events = -1

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the module to import. A copy will be made at submission time
#module = None

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  Parameres for module
#params = {}

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for Bookkeeping objects
[defaults_Bookkeeping]


#=======================================================================
#  default attribute values for Boole objects
[defaults_Boole]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for BooleTask objects
[defaults_BooleTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for Brunel objects
[defaults_Brunel]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for BrunelTask objects
[defaults_BrunelTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for CREAM objects
[defaults_CREAM]

#  CREAM CE endpoint
#CE = 

#  Job type: Normal, MPICH
#jobtype = Normal

#  Requirements for the resource selection
#requirements = None

#  Interface for handling oversized input sandbox
#sandboxcache = None


#=======================================================================
#  default attribute values for Condor objects
[defaults_Condor]

#  Environment settings for execution host
#env = {}

#  Flag to pass current envrionment to execution host
#getenv = False

#  Globus RSL settings (for Condor-G submission)
#globus_rsl = 

#  Globus scheduler to be used (required for Condor-G submission)
#globusscheduler = 

#  Ranking scheme to be used when selecting execution host
#rank = Memory

#  Requirements for selecting execution host
#requirements = CondorRequirements

#  Flag indicating if Condor nodes have shared filesystem
#shared_filesystem = True

#  Options passed to Condor at submission time
#submit_options = []

#  Type of execution environment to be used by Condor
#universe = vanilla


#=======================================================================
#  default attribute values for CondorRequirements objects
[defaults_CondorRequirements]

#  System architecture
#arch = INTEL

#  Excluded execution hosts, given as a string of space-separated names:
#  'machine1 machine2 machine3'; or as a list of names: [ 'machine1',
#  'machine2', 'machine3' ]
#excluded_machine = 

#  Requested execution hosts, given as a string of space-separated names:
#  'machine1 machine2 machine3'; or as a list of names: [ 'machine1',
#  'machine2', 'machine3' ]
#machine = 

#  Mininum physical memory
#memory = 400

#  Operating system
#opsys = LINUX

#  Other requirements, given as a list of strings, for example: [ 'OSTYPE ==
#  "SLC4"', '(POOL == "GENERAL" || POOL == "GEN_FARM")' ]; the final requirement
#  is the AND of all elements in the list
#other = []

#  Minimum virtual memory
#virtual_memory = 400


#=======================================================================
#  default attribute values for CustomChecker objects
[defaults_CustomChecker]

#  Run on subjobs
#checkSubjobs = True

#  Path to a python module to perform the check.
#module = None


#=======================================================================
#  default attribute values for CustomMerger objects
[defaults_CustomMerger]

#  A list of files to merge.
#files = []

#  Jobs that are in the failed or killed states will be excluded from the merge
#  when this flag is set to True.
#ignorefailed = False

#  Path to a python module to perform the merge.
#module = None

#  The default behaviour for this Merger object. Will overwrite output files.
#overwrite = False


#=======================================================================
#  default attribute values for DaVinci objects
[defaults_DaVinci]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for DaVinciTask objects
[defaults_DaVinciTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for Dirac objects
[defaults_Dirac]

#  DIRAC API commands to add the job definition script. Only edit if you
#  *really* know what you are doing
#diracOpts = 

#  LFNs to be downloaded into the work dir on the grid node. Site matching is
#  *not* performed on these files; they are downloaded.I.e., do not put prod
#  data here
#inputSandboxLFNs = []

#  Settings for DIRAC job (e.g. CPUTime, BannedSites, etc.)
#settings = {'CPUTime': 172800}


#=======================================================================
#  default attribute values for DiracFile objects
[defaults_DiracFile]

#  wheather the output file should be compressed before sending somewhere
#compressed = False

#  return the GUID/set the GUID to use if not using wildcards in the
#  namePattern.
#guid = 

#  return the logical file name/set the logical file name to use if not using
#  wildcards in namePattern
#lfn = 

#  local dir where the file is stored, used from get and put methods
#localDir = None

#  list of SE locations where the outputfiles are uploaded
#locations = []

#  pattern of the file name
#namePattern = 

#  remote directory where the LFN is to be placed in the dirac base directory by
#  the put method.
#remoteDir = 


#=======================================================================
#  default attribute values for EmptyDataset objects
[defaults_EmptyDataset]


#=======================================================================
#  default attribute values for Erasmus objects
[defaults_Erasmus]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for ErasmusTask objects
[defaults_ErasmusTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for Executable objects
[defaults_Executable]

#  List of arguments for the executable. Arguments may be strings, numerics or
#  File objects.
#args = ['Hello World']

#  Dictionary of environment variables that will be replaced in the running
#  environment.
#env = {}

#  A path (string) or a File object specifying an executable.
#exe = echo

#  Location of shared resources. Presence of this attribute implies the
#  application has been prepared.
#is_prepared = None


#=======================================================================
#  default attribute values for ExecutableTask objects
[defaults_ExecutableTask]

#  List of arguments for the executable. Arguments may be strings, numerics or
#  File objects.
#args = ['Hello World']

#  Dictionary of environment variables that will be replaced in the running
#  environment.
#env = {}

#  A path (string) or a File object specifying an executable.
#exe = echo

#  Location of shared resources. Presence of this attribute implies the
#  application has been prepared.
#is_prepared = None


#=======================================================================
#  default attribute values for File objects
[defaults_File]

#  path to the file source
#name = 

#  destination subdirectory (a relative path)
#subdir = .


#=======================================================================
#  default attribute values for FileChecker objects
[defaults_FileChecker]

#  Run on subjobs
#checkSubjobs = True

#  Toggle whether job fails if string is found or not found.
#failIfFound = True

#  File to search in
#files = []

#  Toggle whether to fail job if a file isnt found.
#filesMustExist = True

#  String to search for
#searchStrings = []


#=======================================================================
#  default attribute values for GangaList objects
[defaults_GangaList]


#=======================================================================
#  default attribute values for GaudiInputDataSplitter objects
[defaults_GaudiInputDataSplitter]

#  Number of files per subjob
#filesPerJob = 10

#  Maximum number of files to use in a masterjob (None = all files)
#maxFiles = None


#=======================================================================
#  default attribute values for GaudiPython objects
[defaults_GaudiPython]

#  List of arguments for the script
#args = []

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  The name of the Gaudi application (e.g. "DaVinci", "Gauss"...)
#project = None

#  The name of the script to execute. A copy will be made at submission time
#script = []

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for GaudiPythonTask objects
[defaults_GaudiPythonTask]

#  List of arguments for the script
#args = []

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  The name of the Gaudi application (e.g. "DaVinci", "Gauss"...)
#project = None

#  The name of the script to execute. A copy will be made at submission time
#script = []

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for GaudiXMLSummary objects
[defaults_GaudiXMLSummary]


#env_var = 


#file = 


#=======================================================================
#  default attribute values for GaudiXMLSummaryMerger objects
[defaults_GaudiXMLSummaryMerger]


#env_var = 

#  A list of files to merge.
#files = []

#  Jobs that are in the failed or killed states will be excluded from the merge
#  when this flag is set to True.
#ignorefailed = False

#  The default behaviour for this Merger object. Will overwrite output files.
#overwrite = False


#=======================================================================
#  default attribute values for Gauss objects
[defaults_Gauss]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for GaussSplitter objects
[defaults_GaussSplitter]

#  Number of generated events per job
#eventsPerJob = 5

#  No. of jobs to create
#numberOfJobs = 2


#=======================================================================
#  default attribute values for GaussTask objects
[defaults_GaussTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for GenericSplitter objects
[defaults_GenericSplitter]

#  The attribute on which the job is splitted
#attribute = 

#  Dictionary to specify multiple attributes to split over
#multi_attrs = {}

#  A list of the values corresponding to the attribute of the subjobs
#values = []


#=======================================================================
#  default attribute values for GoogleFile objects
[defaults_GoogleFile]

#  wheather the output file should be compressed before sending somewhere
#compressed = False

#  reason for the upload failure
#failureReason = 

#  local dir where the file is stored, used from get and put methods
#localDir = 

#  pattern of the file name
#namePattern = 


#=======================================================================
#  default attribute values for GridCommand objects
[defaults_GridCommand]

#  Command for destroying credential
#destroy = /cvmfs/lhcb.cern.ch/lib/lhcb/GANGA/GANGA_v600r39/install/ganga/python/GangaLHCb/ganga-proxy.py destroy

#  Dictionary of parameter-value pairs to pass to destroy command
#destroy_parameters = {}

#  Command for obtaining information about credential
#info = /cvmfs/lhcb.cern.ch/lib/lhcb/GANGA/GANGA_v600r39/install/ganga/python/GangaLHCb/ganga-proxy.py info

#  Dictionary mapping from Ganga credential properties to command-line options
#info_parameters = {}

#  Command for creating/initialising credential
#init = /cvmfs/lhcb.cern.ch/lib/lhcb/GANGA/GANGA_v600r39/install/ganga/python/GangaLHCb/ganga-proxy.py init

#  Dictionary of parameter-value pairs to pass to init command
#init_parameters = {'pipe': '-p', 'valid': '-v'}


#=======================================================================
#  default attribute values for GridFileIndex objects
[defaults_GridFileIndex]

#  a key:value pairs of file metadata
#attributes = {}

#  the main identity of the file
#id = 

#  the md5sum of the file
#md5sum = 

#  the name of the file
#name = 


#=======================================================================
#  default attribute values for GridProxy objects
[defaults_GridProxy]

#  Set of commands to be used for credential-related operations
#command = ICommandSet

#  Refresh time of proxy info cache
#info_refresh_time = 00:15

#  String of options to be passed to command for proxy creation
#init_opts = 

#  Number of password attempts allowed when creating credential
#maxTry = 1

#  Default minimum validity
#minValidity = 00:15
minValidity = 01:00

#  Default credential validity at creation
#validityAtCreation = 120:00

#  Virtual organisation managment system information
#voms = 


#=======================================================================
#  default attribute values for GridSandboxCache objects
[defaults_GridSandboxCache]

#  max. number of tries in case of failures
#max_try = 1

#  file transfer protocol
#protocol = 


#=======================================================================
#  default attribute values for GridftpFileIndex objects
[defaults_GridftpFileIndex]

#  a key:value pairs of file metadata
#attributes = {}

#  the main identity of the file
#id = 

#  the md5sum of the file
#md5sum = 

#  the name of the file
#name = 


#=======================================================================
#  default attribute values for GridftpSandboxCache objects
[defaults_GridftpSandboxCache]

#  the base URI for storing cached files
#baseURI = 

#  max. number of tries in case of failures
#max_try = 1

#  file transfer protocol
#protocol = 


#=======================================================================
#  default attribute values for ICommandSet objects
[defaults_ICommandSet]

#  Command for destroying credential
#destroy = 

#  Dictionary of parameter-value pairs to pass to destroy command
#destroy_parameters = {}

#  Command for obtaining information about credential
#info = 

#  Dictionary mapping from Ganga credential properties to command-line options
#info_parameters = {}

#  Command for creating/initialising credential
#init = 

#  Dictionary of parameter-value pairs to pass to init command
#init_parameters = {}


#=======================================================================
#  default attribute values for ITask objects
[defaults_ITask]

#  comment of the task
#comment = 

#  Number of Jobs run concurrently
#float = 0

#  Name of the Task
#name = NewTask

#  list of transforms
#transforms = []


#=======================================================================
#  default attribute values for Interactive objects
[defaults_Interactive]


#=======================================================================
#  default attribute values for Job objects
[defaults_Job]

#  specification of the application to be executed
#application = None

#  specification of the resources to be used (e.g. batch system)
#backend = None

#  comment of the job
#comment = 

#  Automatically resubmit failed subjobs
#do_auto_resubmit = False

#  JobInfo
#info = None

#  dataset definition (typically this is specific either to an application, a
#  site or the virtual organization
#inputdata = None

#  list of file objects that will act as input files for a job
#inputfiles = []

#  list of File objects shipped to the worker node
#inputsandbox = []

#  optional label which may be any combination of ASCII characters
#name = 

#  dataset definition (typically this is specific either to an application, a
#  site or the virtual organization
#outputdata = None

#  list of OutputFile objects decorating what have to be done with the output
#  files after job is completed
#outputfiles = []

#  list of filenames or patterns shipped from the worker node
#outputsandbox = []

#  list of postprocessors to run after job has finished
#postprocessors = None

#  optional splitter
#splitter = None


#=======================================================================
#  default attribute values for JobInfo objects
[defaults_JobInfo]

#  job monitor instance
#monitor = None


#=======================================================================
#  default attribute values for JobTemplate objects
[defaults_JobTemplate]

#  specification of the application to be executed
#application = None

#  specification of the resources to be used (e.g. batch system)
#backend = None

#  comment of the job
#comment = 

#  Automatically resubmit failed subjobs
#do_auto_resubmit = False

#  JobInfo
#info = None

#  dataset definition (typically this is specific either to an application, a
#  site or the virtual organization
#inputdata = None

#  list of file objects that will act as input files for a job
#inputfiles = []

#  list of File objects shipped to the worker node
#inputsandbox = []

#  optional label which may be any combination of ASCII characters
#name = 

#  dataset definition (typically this is specific either to an application, a
#  site or the virtual organization
#outputdata = None

#  list of OutputFile objects decorating what have to be done with the output
#  files after job is completed
#outputfiles = []

#  list of filenames or patterns shipped from the worker node
#outputsandbox = []

#  list of postprocessors to run after job has finished
#postprocessors = None

#  optional splitter
#splitter = None


#=======================================================================
#  default attribute values for JobTime objects
[defaults_JobTime]

#  Dictionary containing timestamps for job
#timestamps = {}


#=======================================================================
#  default attribute values for JobTree objects
[defaults_JobTree]


#name = 


#=======================================================================
#  default attribute values for LCG objects
[defaults_LCG]

#  Request a specific Computing Element
#CE = 

#  Job type: Normal, MPICH
#jobtype = Normal

#  Middleware type
#middleware = GLITE

#  Enable the job perusal feature of GLITE
#perusable = False

#  Requirements for the resource selection
#requirements = None

#  Interface for handling oversized input sandbox
#sandboxcache = None


#=======================================================================
#  default attribute values for LCGFileIndex objects
[defaults_LCGFileIndex]

#  a key:value pairs of file metadata
#attributes = {}

#  the main identity of the file
#id = 

#  the LFC hostname
#lfc_host = 

#  the original file path on local machine
#local_fpath = 

#  the md5sum of the file
#md5sum = 

#  the name of the file
#name = 


#=======================================================================
#  default attribute values for LCGRequirements objects
[defaults_LCGRequirements]

#  allowed CEs in regular expression
#allowedCEs = 

#  Minimum available CPU time (min)
#cputime = 0

#  A list of strings giving the available DataAccessProtocol protocols
#dataaccessprotocol = ['gsiftp']

#  The DataRequirements entry for the JDL. A list of dictionaries, each with
#  "InputData", "DataCatalogType" and optionally "DataCatalog" entries
#datarequirements = []

#  excluded CEs in regular expression
#excludedCEs = 

#  External connectivity
#ipconnectivity = False

#  Mininum available memory (MB)
#memory = 0

#  Number of Nodes for MPICH jobs
#nodenumber = 1

#  Other Requirements
#other = []

#  Software Installations
#software = []

#  Mimimum available total time (min)
#walltime = 0


#=======================================================================
#  default attribute values for LCGSEFile objects
[defaults_LCGSEFile]

#  the LCG SE SURL
#SURL = 

#  wheather the output file should be compressed before sending somewhere
#compressed = False

#  outputdir of the job with which the outputsandbox file object is associated
#joboutputdir = 

#  the LCG LFC hostname
#lfc_host = lfc-dteam.cern.ch

#  local dir where the file is stored, used from get and put methods
#localDir = 

#  list of locations where the outputfiles were uploaded
#locations = []

#  pattern of the file name
#namePattern = 

#  the LCG SE port
#port = 

#  the LCG SE hostname
#se = srm-public.cern.ch

#  the relative path to the file from the VO directory on the SE
#se_rpath = 

#  the LCG SE type
#se_type = 

#  the SRM space token, meaningful only when se_type is set to srmv2
#srm_token = 


#=======================================================================
#  default attribute values for LCGSandboxCache objects
[defaults_LCGSandboxCache]

#  the LCG LFC hostname
#lfc_host = 

#  max. number of tries in case of failures
#max_try = 1

#  file transfer protocol
#protocol = 

#  the LCG SE hostname
#se = 

#  the relative path to the VO directory on the SE
#se_rpath = generated

#  the LCG SE type
#se_type = srmv2

#  the SRM space token, meaningful only when se_type is set to srmv2
#srm_token = 


#=======================================================================
#  default attribute values for LHCbAnalysisTask objects
[defaults_LHCbAnalysisTask]

#  comment of the task
#comment = 

#  Number of Jobs run concurrently
#float = 0

#  Name of the Task
#name = NewTask

#  Resubmit only if the number of running jobs is less than "resub_limit" times
#  the float. This makes the job table clearer, since more jobs can be submitted
#  as subjobs.
#resub_limit = 0.9

#  list of transforms
#transforms = []


#=======================================================================
#  default attribute values for LHCbAnalysisTransform objects
[defaults_LHCbAnalysisTransform]

#  Application of the Transform. Must be a Task-Supporting application.
#application = None

#  Backend of the Transform.
#backend = None

#  Input dataset
#inputdata = None

#  list of File objects shipped to the worker node
#inputsandbox = []

#  optional merger
#merger = None

#  Name of the transform (cosmetic)
#name = Simple Transform

#  Output dataset
#outputdata = None

#  list of filenames or patterns shipped from the worker node
#outputsandbox = []

#  Bookkeeping query object BKQuery()
#query = None

#  removed dataset
#removed_data = None

#  optional splitter
#splitter = None


#=======================================================================
#  default attribute values for LHCbDataset objects
[defaults_LHCbDataset]

#  Use contents of file rather than generating catalog.
#XMLCatalogueSlice = None

#  Ancestor depth to be queried from the Bookkeeping
#depth = 0

#  List of PhysicalFile and LogicalFile objects
#files = []

#  Specify the dataset persistency technology
#persistency = None


#=======================================================================
#  default attribute values for LHCbFileMerger objects
[defaults_LHCbFileMerger]

#  A list of files to merge.
#files = []

#  Jobs that are in the failed or killed states will be excluded from the merge
#  when this flag is set to True.
#ignorefailed = False

#  The default behaviour for this Merger object. Will overwrite output files.
#overwrite = False

#  The version of DaVinci to use when merging. (e.g. v33r0p1)
#version = 


#=======================================================================
#  default attribute values for LHCbMetaDataChecker objects
[defaults_LHCbMetaDataChecker]

#  Run on subjobs
#checkSubjobs = True

#  The metadata attribute
#expression = None


#=======================================================================
#  default attribute values for LHCbTask objects
[defaults_LHCbTask]

#  comment of the task
#comment = 

#  Number of Jobs run concurrently
#float = 0

#  Name of the Task
#name = NewTask

#  list of transforms
#transforms = []


#=======================================================================
#  default attribute values for LHCbTransform objects
[defaults_LHCbTransform]

#  Break out of the Task Loop after submissions
#abort_loop_on_submit = True

#  Application of the Transform.
#application = None

#  Backend of the Transform.
#backend = None

#  The dataset to copy all units output to, e.g. Grid dataset -> Local Dataset
#copy_output = None

#  list of file objects that will act as input files for a job
#inputfiles = []

#  list of File objects shipped to the worker node
#inputsandbox = []

#  Name of the transform (cosmetic)
#name = Simple Transform

#  Output dataset template
#outputdata = None

#  list of OutputFile objects to be copied to all jobs
#outputfiles = []

#  list of filenames or patterns shipped from the worker node
#outputsandbox = []

#  list of postprocessors to run after job has finished
#postprocessors = None

#  Rebroker if too many minor resubs
#rebroker_on_job_fail = True

#  IDs of transforms that must complete before this unit will start. NOTE
#  DOESN'T COPY OUTPUT DATA TO INPUT DATA. Use TaskChainInput Dataset for that.
#required_trfs = []

#  Splitter to be used for units
#splitter = None

#  The dataset to copy each individual unit output to, e.g. Grid dataset ->
#  Local Dataset
#unit_copy_output = None

#  Merger to be run copied and run on each unit separately.
#unit_merger = None

#  list of units
#units = []


#=======================================================================
#  default attribute values for LSF objects
[defaults_LSF]

#  extra options for Batch. See help(Batch) for more details
#extraopts = 

#  queue name as defomed in your local Batch installation
#queue = 


#=======================================================================
#  default attribute values for Local objects
[defaults_Local]

#  adjust process priority using nice -n command
#nice = 0


#=======================================================================
#  default attribute values for LocalFile objects
[defaults_LocalFile]

#  wheather the output file should be compressed before sending somewhere
#compressed = False

#  local dir where the file is stored, used from get and put methods
#localDir = 

#  pattern of the file name
#namePattern = 


#=======================================================================
#  default attribute values for LogicalFile objects
[defaults_LogicalFile]

#  LFN
#name = 


#=======================================================================
#  default attribute values for MassStorageFile objects
[defaults_MassStorageFile]

#  wheather the output file should be compressed before sending somewhere
#compressed = False

#  Directory on mass storage where the file is stored
#inputremotedirectory = None

#  outputdir of the job with which the outputsandbox file object is associated
#joboutputdir = 

#  local dir where the file is stored, used from get and put methods
#localDir = 

#  list of locations where the outputfiles are uploaded
#locations = []

#  pattern of the file name
#namePattern = 

#  keyword path to where the output should be uploaded, i.e.
#  /some/path/here/{jid}/{sjid}/{fname}, if this field is not set, the output
#  will go in {jid}/{sjid}/{fname} or in {jid}/{fname} depending on whether the
#  job is split or not
#outputfilenameformat = None


#=======================================================================
#  default attribute values for MetadataDict objects
[defaults_MetadataDict]


#=======================================================================
#  default attribute values for Moore objects
[defaults_Moore]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for MooreTask objects
[defaults_MooreTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for MultiPostProcessor objects
[defaults_MultiPostProcessor]


#=======================================================================
#  default attribute values for Noether objects
[defaults_Noether]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for NoetherTask objects
[defaults_NoetherTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for Notifier objects
[defaults_Notifier]

#  Email address
#address = 

#  Email on subjob completion
#verbose = False


#=======================================================================
#  default attribute values for OptionsFileSplitter objects
[defaults_OptionsFileSplitter]

#  List of option-file strings, each list item creates a new subjob
#optsArray = []


#=======================================================================
#  default attribute values for OutputData objects
[defaults_OutputData]


#files = []


#location = 


#=======================================================================
#  default attribute values for PBS objects
[defaults_PBS]

#  extra options for Batch. See help(Batch) for more details
#extraopts = 

#  queue name as defomed in your local Batch installation
#queue = 


#=======================================================================
#  default attribute values for Panoptes objects
[defaults_Panoptes]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for PanoptesTask objects
[defaults_PanoptesTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for PhysicalFile objects
[defaults_PhysicalFile]

#  PFN
#name = 


#=======================================================================
#  default attribute values for Remote objects
[defaults_Remote]

#  Overides any environment variables set in the job
#environment = {}

#  Command line to start ganga on the remote host
#ganga_cmd = 

#  The directory to use for the remote workspace, repository, etc.
#ganga_dir = 

#  The remote host and port number ('host:port') to use. Default port is 22.
#host = 

#  Set to the type of ssh key to use (if required). Possible values are 'RSA'
#  and 'DSS'.
#key_type = RSA

#  Sequence of commands to execute before running Ganga on the remote site
#pre_script = ['source /afs/cern.ch/lhcb/software/releases/LBSCRIPTS/prod/InstallArea/scripts/LbLogin.sh', 'source `runpy LbConfiguration.SetupProject --shell=sh --mktemp Ganga`']

#  specification of the resources to be used (e.g. batch system)
#remote_backend = None

#  Set to true to the location of the the ssh key to use for authentication,
#  e.g. /home/mws/.ssh/id_rsa. Note, you should make sure 'key_type' is also set
#  correctly.
#ssh_key = 

#  The username at the remote host
#username = 


#=======================================================================
#  default attribute values for Root objects
[defaults_Root]

#  List of arguments for the script. Accepted types are numerics and strings
#args = []

#  Location of shared resources. Presence of this attribute implies the
#  application has been prepared.
#is_prepared = None

#  A File object specifying the script to execute when Root starts
#script = File(name='',subdir='.')

#  Execute 'script' using Python. The PyRoot libraries are added to the
#  PYTHONPATH.
#usepython = False

#  The version of Root to run
#version = 5.34.18


#=======================================================================
#  default attribute values for RootFileChecker objects
[defaults_RootFileChecker]

#  Toggle whether to check the merging proceedure
#checkMerge = True

#  Run on subjobs
#checkSubjobs = True

#  File to search in
#files = []

#  Toggle whether to fail job if a file isnt found.
#filesMustExist = True


#=======================================================================
#  default attribute values for RootMerger objects
[defaults_RootMerger]

#  Arguments to be passed to hadd.
#args = None

#  A list of files to merge.
#files = []

#  Jobs that are in the failed or killed states will be excluded from the merge
#  when this flag is set to True.
#ignorefailed = False

#  The default behaviour for this Merger object. Will overwrite output files.
#overwrite = False


#=======================================================================
#  default attribute values for SGE objects
[defaults_SGE]

#  extra options for Batch. See help(Batch) for more details
#extraopts = 

#  queue name as defomed in your local Batch installation
#queue = 


#=======================================================================
#  default attribute values for SandboxFile objects
[defaults_SandboxFile]

#  wheather the output file should be compressed before sending somewhere
#compressed = False

#  local dir where the file is stored, used from get and put methods
#localDir = 

#  pattern of the file name
#namePattern = 


#=======================================================================
#  default attribute values for ShareDir objects
[defaults_ShareDir]

#  path to the file source
#name = 

#  destination subdirectory (a relative path)
#subdir = .


#=======================================================================
#  default attribute values for ShareRef objects
[defaults_ShareRef]


#=======================================================================
#  default attribute values for SmartMerger objects
[defaults_SmartMerger]

#  A list of files to merge.
#files = []

#  Jobs that are in the failed or killed states will be excluded from the merge
#  when this flag is set to True.
#ignorefailed = False

#  The default behaviour for this Merger object. Will overwrite output files.
#overwrite = False


#=======================================================================
#  default attribute values for SplitByFiles objects
[defaults_SplitByFiles]

#  determines if subjobs are split server side in a "bulk" submission or split
#  locally and submitted individually
#bulksubmit = False

#  Number of files per subjob
#filesPerJob = 10

#  Skip LFNs if they are not found in the LFC. This option is only used ifjobs
#  backend is Dirac
#ignoremissing = False

#  Maximum number of files to use in a masterjob (None = all files)
#maxFiles = None


#=======================================================================
#  default attribute values for Task objects
[defaults_Task]

#  comment of the task
#comment = 

#  Number of Jobs run concurrently
#float = 0

#  Name of the Task
#name = NewTask

#  Resubmit only if the number of running jobs is less than "resub_limit" times
#  the float. This makes the job table clearer, since more jobs can be submitted
#  as subjobs.
#resub_limit = 0.9

#  list of transforms
#transforms = []


#=======================================================================
#  default attribute values for TaskChainInput objects
[defaults_TaskChainInput]

#  List of Regular expressions of which files to exclude for input
#exclude_file_mask = []

#  List of Regular expressions of which files to include for input
#include_file_mask = []

#  Input Transform ID
#input_trf_id = -1

#  Create a single unit from all inputs in the transform
#single_unit = False

#  Use the copied output instead of default output (e.g. use local copy instead
#  of grid copy)
#use_copy_output = True


#=======================================================================
#  default attribute values for TaskLocalCopy objects
[defaults_TaskLocalCopy]

#  List of Regular expressions of which files to exclude from copy
#exclude_file_mask = []

#  List of successfully downloaded files
#files = []

#  List of Regular expressions of which files to include in copy
#include_file_mask = []

#  Local location to copy files to
#local_location = 


#=======================================================================
#  default attribute values for TestSplitter objects
[defaults_TestSplitter]

#  number of subjobs
#numJobs = 10


#=======================================================================
#  default attribute values for TextMerger objects
[defaults_TextMerger]

#  Output should be compressed with gzip.
#compress = False

#  A list of files to merge.
#files = []

#  Jobs that are in the failed or killed states will be excluded from the merge
#  when this flag is set to True.
#ignorefailed = False

#  The default behaviour for this Merger object. Will overwrite output files.
#overwrite = False


#=======================================================================
#  default attribute values for Transform objects
[defaults_Transform]

#  Application of the Transform. Must be a Task-Supporting application.
#application = None

#  Backend of the Transform.
#backend = None

#  Input dataset
#inputdata = None

#  list of File objects shipped to the worker node
#inputsandbox = []

#  Name of the transform (cosmetic)
#name = Simple Transform

#  Output dataset
#outputdata = None

#  list of filenames or patterns shipped from the worker node
#outputsandbox = []


#=======================================================================
#  default attribute values for Urania objects
[defaults_Urania]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for UraniaTask objects
[defaults_UraniaTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for Vetra objects
[defaults_Vetra]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for VetraTask objects
[defaults_VetraTask]

#  The gaudirun.py cli args that will be passed at run-time
#args = ['-T']

#  A python configurable string that will be appended to the end of the options
#  file. Can be multiline by using a notation like
#  HistogramPersistencySvc().OutputFile =
#  "myPlots.root"\nEventSelector().PrintFreq = 100  or by using triple quotes
#  around a multiline string.
#extraopts = None

#  The package where your top level requirements file is read from. Can be
#  written either as a path "Tutorial/Analysis/v6r0" or in a CMT style notation
#  "Analysis v6r0 Tutorial"
#masterpackage = None

#  The name of the optionsfile. Import statements in the file will be expanded
#  at submission time and a full copy made
#optsfile = []

#  The package the application belongs to (e.g. "Sim", "Phys")
#package = None

#  The platform the application is configured for (e.g. "slc4_ia32_gcc34")
#platform = None

#  Extra options to be passed onto the SetupProject command used for configuring
#  the environment. As an example setting it to '--dev' will give access to the
#  DEV area. For full documentation of the available options see
#  https://twiki.cern.ch/twiki/bin/view/LHCb/SetupProject
#setupProjectOptions = 

#  The user path to be used. After assigning this you can do
#  j.application.getpack('Phys DaVinci v19r2') to check out into the new
#  location. This variable is used to identify private user DLLs by parsing the
#  output of "cmt show projects".
#user_release_area = None

#  The version of the application (like "v19r2")
#version = None


#=======================================================================
#  default attribute values for VomsCommand objects
[defaults_VomsCommand]

#  Command for destroying credential
#destroy = voms-proxy-destroy

#  Dictionary of parameter-value pairs to pass to destroy command
#destroy_parameters = {}

#  Command for obtaining information about credential
#info = voms-proxy-info

#  Dictionary mapping from Ganga credential properties to command-line options
#info_parameters = {'vo': '-vo'}

#  Command for creating/initialising credential
#init = voms-proxy-init

#  Dictionary of parameter-value pairs to pass to init command
#init_parameters = {'pipe': '-pwstdin', 'voms': '-voms', 'valid': '-valid'}

