Fork me on GitHub

Version 11 (modified by Michele Selvaggi, 11 years ago) ( diff )

--

Delphes' Configuration File

The Delphes' configuration file is based on Tcl scripting language.

Tcl Fundamentals chapter from Practical Programming in Tcl and Tk describes the basic syntax rules for the Tcl scripting language.

Delphes uses a safe subset of Tcl 8.0.5 with 2 additional commands: module and add.

Basic Commands

Here are the most important commands:

set ParamName value

this commands sets the value of the parameter given by ParamName to value

add ParamName value value value ...

this command treats the parameter given by ParamName as a list and appends each of the value arguments to that list as a separate element.

module ModuleClass ModuleName ModuleConfigurationBody

this command activates a module of class ModuleClass called ModuleName and evaluates module's configuration commands contained in ModuleConfigurationBody:

module Efficiency ElectronEfficiency {
  set InputArray ElectronEnergySmearing/electrons
  set OutputArray electrons

  # set EfficiencyFormula {efficiency formula as a function of eta and pt}

  # efficiency formula for electrons
  set EfficiencyFormula {                                      (pt <= 10.0) * (0.00) + \
                                           (abs(eta) <= 1.5) * (pt > 10.0)  * (0.95) + \
                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 10.0)  * (0.85) + \
                         (abs(eta) > 2.5)                                   * (0.00)}
}

set ExecutionPath ListOfModuleNames

the global parameter called ExecutionPath defines the order of execution of various modules:

set ExecutionPath {
  ParticlePropagator

  ChargedHadronTrackingEfficiency
  ElectronTrackingEfficiency
  MuonTrackingEfficiency

  ChargedHadronMomentumSmearing
  ElectronEnergySmearing
  MuonMomentumSmearing

  TrackMerger
  Calorimeter
  EFlowMerger

  PhotonEfficiency
  PhotonIsolation
  
  ElectronEfficiency
  ElectronIsolation
  
  MuonEfficiency
  MuonIsolation
  
  MissingET
  
  FastJetFinder
  BTagging
  TauTagging
  
  UniqueObjectFinder
  
  ScalarHT
  
  TreeWriter
}

Global parameters

It is possible to specify the following global parameters: MaxEvents, SkipEvents and RandomSeed.

For instance, the following configuration allows to specify a particular random seed, skip the first 100 events and process the following 1000 events.

set RandomSeed 23
set SkipEvents 100
set MaxEvents 1000

Comments

A Tcl comment line begins with #.

Variable Substitution

A dollar sign together with an immediately following variable name will be substituted by the value of the variable.

Note: See TracWiki for help on using the wiki.