Fork me on GitHub

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

  # 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

  ChargedHadronTrackingEfficiency
  ElectronTrackingEfficiency
  MuonTrackingEfficiency

  ChargedHadronMomentumSmearing
  ElectronEnergySmearing
  MuonMomentumSmearing

  TrackMerger
  Calorimeter
  EFlowMerger

  PhotonEfficiency
  PhotonIsolation
  
  ElectronEfficiency
  ElectronIsolation
  
  MuonEfficiency
  MuonIsolation
  
  MissingET
  
  FastJetFinder
  BTagging
  TauTagging
  
  UniqueObjectFinder
  
  ScalarHT
  
  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.