base.conf 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. ;;;;;;
  2. ;; General configuration options.
  3. ;; PlotStyle: Either a global matplotlib style name, or a style file in the base dir.
  4. ;; Variable: Variable to decompose.
  5. ;; Weight: Event weight. This is REQUIRED.
  6. ;; Scale: Scale factor to apply to the data
  7. ;;
  8. ;; Lumi: The luminosity when converted events -> cross-sections
  9. ;; LumiUnc: Uncertainty on the luminosity; range is from 0 to 1
  10. ;; XSecUnits: Units to display on limit plots. This is cosmetic;
  11. ;; units should correspond to whatever units are used
  12. ;; for 'Lumi'.
  13. ;;;;;;
  14. [General]
  15. PlotStyle: plot.mplstyle
  16. Variable: Myy
  17. Weight: weight
  18. Scale: 1
  19. Lumi: 0.0
  20. LumiUnc: 0.02
  21. XSecUnits: Events
  22. ;;;;;;
  23. ;; Input files. Format is
  24. ;; DataSet : n
  25. ;; to keep every n'th event.
  26. ;;;;;;
  27. [InputFiles]
  28. Test: 1
  29. gausFunc89: 5
  30. gausFunc125: 25
  31. ;;;;;;
  32. ;; Cuts to apply. The format is
  33. ;; 'name: condition'
  34. ;; where condition can be a Python snippet referring to any variable in the dataset.
  35. ;;;;;;
  36. [Cuts]
  37. Mass: Myy > 60
  38. ;;;;;;
  39. ;; Parameters for the decomposition. Note that most are fixed,
  40. ;; but Alpha and Lambda are free and will be adjusted during
  41. ;; optimization.
  42. ;;
  43. ;; Nbasis: number of moments when calculating moments, yields, covariances
  44. ;; Nxfrm: number of moments used as inputs to transformation
  45. ;; Ncheck: max number of moments to consider as possible background
  46. ;;
  47. ;; x0: Minimum mass cut. There should be a corresponding cut in 'Cuts' above
  48. ;; in order to guarantee consistency.
  49. ;;
  50. ;; Nthread: Number of threads to use for array operations.
  51. ;;;;;;
  52. [ExpDecompFactory]
  53. Nthread: 4
  54. Nbasis: 4096
  55. Nxfrm: 256
  56. Ncheck: 24
  57. x0: 60.0
  58. ;;;;;
  59. ;; Scan ranges for the hyperparameters 'Alpha' and 'Lambda'. These use
  60. ;; the syntax:
  61. ;; (start) : (stop) : (# fine steps) : (# coarse steps)
  62. ;; The search region is delineated by 'start' and 'stop'. Full decompositions
  63. ;; are performed on the coarse grid, and transformed decompositions are
  64. ;; produced on the fine grid. The best set of parameters are used as the
  65. ;; initial point for a final optimization. The final ':' and last parameter
  66. ;; may be omitted, in which case they default to 1.
  67. ;;;;;
  68. [HyperParameterScan]
  69. Alpha: 0.45 : 0.85 : 49 : 5
  70. Lambda: 120 : 40 : 81 : 5
  71. ;;;;;;
  72. ;; Specification of signal models. 'func' is a function that describes
  73. ;; the signal shape, which takes argument 'x'. Other parameters can be
  74. ;; specified in curly braces like {parameter}, and then later set as
  75. ;; configuration keys like:
  76. ;;
  77. ;; parameter: 0.256
  78. ;;
  79. ;; The configuration blocks 'ParametricSignal: <name>' inherit from
  80. ;; 'ParametricSignalDefault'. Any keys not specified in or overridden
  81. ;; by 'ParametricSignal: <name>' will be retrieved from 'ParametricSignalDefault'.
  82. ;;
  83. ;; If the ParametricSignal block DOES NOT have a 'Scan' key specified, it is
  84. ;; included in all decomposition, including during the hyperparameter
  85. ;; optimization. If 'Scan' is specified, it should be a list or ndarray
  86. ;; containing a list of masses to consider. The masses are exposed as
  87. ;; {Mass} when the block is evaluated, so the functions and their
  88. ;; parameters can be written as functions of {Mass} when necessary.
  89. ;;;;;;
  90. [ParametricSignalDefault]
  91. func: np.exp( -(x - {mu})**2 / (2*{sigma}**2) )
  92. NumPoints: 2**23
  93. [ParametricSignal: Z]
  94. mu: 89.5
  95. sigma: 2.5
  96. NumPoints: 2**26
  97. [ParametricSignal: h]
  98. mu: 125
  99. sigma: 1.6
  100. NumPoints: 2**25
  101. ;;;;;
  102. ;; Plots. Specify as many as you would like. Each plot is specified in a block
  103. ;; with header
  104. ;;
  105. ;; [Plot : filename.pdf]
  106. ;;
  107. ;; The plot is saved in '<basedir>/Output/filename.pdf'. Like the signal blocks,
  108. ;; all plot blocks inherit from 'PlotDefault'.
  109. ;;
  110. ;; There are several plot types available, specified by the 'Type' key:
  111. ;; Estimators: Draw signal shapes and the corresponding estimators. Use the
  112. ;; 'signals' key to specifiy which signals to draw, and the 'Draw'
  113. ;; key to specify what to draw (signals, estimators, or residuals).
  114. ;;
  115. ;; Moments: Line / bar plot of the norm-squared of the moments for the data
  116. ;; and specified signal models. The data is always drawn; signals
  117. ;; can be selectively specified using the 'Draw' key, just like
  118. ;; above. 'Style' can be set to either 'line' or 'bar'.
  119. ;;
  120. ;; Fit: Draw a histogram of the mass spectrum together with the decomposition.
  121. ;; The key 'Bins' should contain a list or ndarray of bin edges, in
  122. ;; order. The plot will be drawn from the lower edge to the upper
  123. ;; edge, ignoring events outside the range.
  124. ;;
  125. ;; Scan: Draw a p-value and limit plot for the mass scans specified in
  126. ;; 'Scans'. You're allowed to choose any signal model above that
  127. ;; had a 'Scan' parameter specified.
  128. ;;
  129. ;; All of these have various keys available to adjust the cosmetic features of
  130. ;; the plot (titles, linear vs. log, etc.). See below for examples. The plot
  131. ;; code lives in Plots/Plots.py, so consult that for a full list of parameters.
  132. ;;;;;
  133. [PlotDefault]
  134. XLabel: $M_{\gamma\gamma}$ (GeV)
  135. LogX: False
  136. LogY: True
  137. Style: errorbar
  138. CMap: copper
  139. Residual: True
  140. ResYLim: (-1.0, 1.0)
  141. ;;;;;
  142. ;; Compare the Higgs signal, the signal residual, and the minimum-variance estimator.
  143. ;;;;;
  144. [Plot: estimators.pdf]
  145. Type: Estimators
  146. Title: Estimator Comparison for $h$
  147. YLabel: Arbitrary Units
  148. Signals: ("h", )
  149. Draw: ("Signal", "Estimator", "Residual")
  150. Range: (45, 345)
  151. LogX: False
  152. ;;;;;
  153. ;; Compare all the data moments to the Higgs signal and estimator.
  154. ;;;;;
  155. [Plot: moments.pdf]
  156. Type: Moments
  157. Title: Moment Comparison - Data vs. Higgs
  158. XLabel: "Moment \#"
  159. Signals: ("h", )
  160. Draw: ("Signal", "Estimator")
  161. Style: line
  162. Range: (1, 2048)
  163. LogX: False
  164. LogY: True
  165. ;;;;;
  166. ;; Draw the first 128 data moments.
  167. ;;;;;
  168. [Plot: low_moments.pdf]
  169. Type: Moments
  170. Title: Data Moments
  171. XLabel: "Moment \#"
  172. Style: bar
  173. Range: (1, 128)
  174. LogX: False
  175. LogY: True
  176. ;;;;;
  177. ;; Make some plots of the fits
  178. ;;;;;
  179. [Plot: full.pdf]
  180. Type: Fit
  181. Title: Full Spectrum
  182. YLabel: Events / GeV
  183. Bins: np.logspace(np.log10(60), np.log10(3060), 201)
  184. LogX: True
  185. [Plot: lowmass.pdf]
  186. Type: Fit
  187. Title: Low-Mass Region
  188. YLabel: Events / GeV
  189. Bins: np.linspace(60, 160, 101)
  190. LogY: False
  191. [Plot: Zh.pdf]
  192. Type: Fit
  193. Title: Higgs / Z Region
  194. YLabel: Events / $0.5$GeV
  195. Bins: np.linspace(80, 130, 101)
  196. LogY: False