Configuration File
Introduction
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 command sets the value of the parameter given by
ParamName
tovalue
add ParamName value value value ...
-
this command treats the parameter given by
ParamName
as a list and appends each of thevalue
arguments to that list as a separate element. module ModuleClass ModuleName ModuleConfigurationBody
-
this command activates a module of class
ModuleClass
calledModuleName
and evaluates module's configuration commands contained inModuleConfigurationBody
:
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.