Fork me on GitHub

Version 6 (modified by Pavel Demin, 12 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 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 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

  # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}

  # default efficiency formula
  add EfficiencyFormula {0} {0.0}

  # efficiency formula for electrons
  add EfficiencyFormula {11} {                                      (pt <= 5.0) * (0.000) + \
                                                (abs(eta) <= 1.5) * (pt > 5.0)  * (0.950) + \
                              (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 5.0)  * (0.850) + \
                              (abs(eta) > 2.5)                                  * (0.000)}
}

set ExecutionPath ListOfModuleNames

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

set ExecutionPath {
  ParticlePropagator
  TrackEfficiency
  TrackMomentumSmearing
  ElectronEnergySmearing
  Calorimeter
  PhotonEfficiency
  PhotonIsolation
  ElectronEfficiency
  ElectronIsolation
  MuonEfficiency
  MuonIsolation
  MissingET
  ParticleFlow
  FastJetFinder
  BTagging
  TauJetFinder
  UniqueObjectFinder
  TreeWriter
}

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.