== Delphes' Configuration File == The Delphes' configuration file is based on [http://www.tcl.tk/about/language.html Tcl scripting language]. [http://www.beedub.com/book/3rd/Tclintro.pdf Tcl Fundamentals] chapter from [http://www.beedub.com/book/ Practical Programming in Tcl and Tk] describes the basic syntax rules for the Tcl scripting language. Delphes uses [http://www.tcl.tk/man/tcl8.0/TclCmd/contents.htm 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 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.