Loading [MathJax]/jax/input/TeX/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
SuperChicUtils.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
3 
4 import subprocess, os, shlex, re
5 
6 from AthenaCommon import Logging
7 
8 
9 logger = Logging.logging.getLogger("Superchic_i")
10 
11 
13 
14  def __init__(self, runArgs):
15  self.superchicpath = os.environ['SUPERCHIC_SOURCE_PATH']
16 
17  #SuperChic specific variables for input.DAT, see writeInputDAT function for more elaboration
18  self.rts = 13000. #collision energy (GeV)
19  if hasattr(runArgs,"ecmEnergy"):
20  self.rts = runArgs.ecmEnergy
21 
22  self.isurv = 4 #Model of soft survival (from 1 -> 4, corresponding to arXiv:1306.2149)
23  self.intag = 'in' #tag for input files
24  self.PDFname = 'MMHT2014lo68cl'
25  self.PDFmember = 0
26  self.proc = 5 #Please consult Superchic Manual https://superchic.hepforge.org/
27  self.beam = 'prot'
28  self.outtg = 'out'
29  self.sfaci = True
30  self.diff = 'el' #interaction: elastic ('el'), single ('sd','sda','sdb') and double ('dd') dissociation.
31  self.an = 208
32  self.az = 82
33  self.rz = 6.68
34  self.dz = 0.447
35  self.rn = 6.7
36  self.dn = 0.55
37  self.ionqcd = 'coh'
38  self.ionbreakup = True
39  self.fAA = '00'
40  self.fracsigX = 1
41  self.ncall = 10000
42  self.itmx = 10
43  self.prec = 0.5
44  self.ncall1 = 10000
45  self.inccall = 10000
46  self.itend = 1000
47 
48  self.iseed = 34
49  if hasattr(runArgs,"randomSeed"):
50  self.iseed = runArgs.randomSeed
51 
52  self.genunw = True
53 
54  self.nev = "500"
55  if hasattr(runArgs,"maxEvents"):
56  self.nev = runArgs.maxEvents
57 
58  self.erec = 'lhe' #output file type
59  self.readwt = False
60  self.wtmax = 0
61  self.ymin = -2.4 # Minimum object rapidity Y_X
62  self.ymax = 2.4 # Maximum object rapidity Y_X
63  self.mmin = 6. # Minimum object mass M_X
64  self.mmax = 500. # Maximum object mass M_X
65  self.gencuts = True # Generate cuts below
66  self.scorr = True
67  self.fwidth = True
68  self.ptxmax = 100.
69  self.ptamin = 3.0 # Minimum pT of outgoing object a (gamma)
70  self.ptbmin = 3.0 # Minimum pT of outgoing object b (gamma)
71  self.etaamin = -2.4 # Minimum eta of outgoing object a
72  self.etaamax = 2.4 # Maximum eta of outgoing object a
73  self.etabmin = -2.4 # Minimum eta of outgoing object b
74  self.etabmax = 2.4 # Maximum eta of outgoing object b
75  self.acoabmax = 100.
76  self.ptcmin = 0
77  self.etacmin = -2.5
78  self.etacmax = 2.5
79  self.ptdmin = 0
80  self.etadmin = -2.5
81  self.etadmax = 2.5
82  self.ptemin = 0
83  self.etaemin = -2.5
84  self.etaemax = 2.5
85  self.ptfmin = 0
86  self.etafmin = -2.5
87  self.etafmax = 2.5
88  self.rjet = 0.6
89  self.jalg = 'antikt'
90  self.m2b = 0.133
91  self.pdgid1 = 211
92  self.pdgid2 = -211
93  self.malp = 1000
94  self.gax = 0.001
95  self.alpt = 'ps'
96  self.mpol = 500
97  self.mmon = 933
98  self.gamm = 10
99  self.mcharg = 100
100  self.mneut = 80
101  self.wlp = 'el'
102  self.wlm = 'el'
103  self.tau = 0.04
104  self.mxs = 100
105  self.atau = 0.0
106  self.dtau = 0.0
107  self.calc_tau_coeff = False
108  self.tau_mom = 'atau'
109  self.tau_coeff = 1
110 
111  def toFortran(self):
112 
113  def fortDouble(x):
114  return str(x)+"d0"
115  def fortInt(x):
116  return str(x)
117  def fortBool(x):
118  return '.true.' if x else '.false.'
119  def fortStr(x):
120  return "'{}'".format(x)
121 
122  conf = ""
123  conf+="***********************************************************************************\n"
124  conf+="****** Initialize afain if FIRST FIVE PARAMETERS ARE CHANGED (and beam = 'prot'):******\n"
125  conf+="***********************************************************************************\n"
126  conf+=fortDouble(self.rts) + " ! [rts] : CMS collision energy (GeV) \n"
127  conf+=fortInt(self.isurv) + " ! [isurv] : Model of soft survival (from 1 -> 4)\n"
128  conf+=fortStr(self.intag) + " ! [intag] for input files \n"
129  conf+="***********************************************************************************\n"
130  conf+="***********************************************************************************\n"
131  conf+=fortStr(self.PDFname) + " ! [PDFname] : PDF set \n"
132  conf+=fortInt(self.PDFmember) + " ! [PDFmember] : PDF member \n"
133  conf+="***********************************************************************************\n"
134  conf+=fortInt(self.proc) + " ! [proc] : Process number \n"
135  conf+=fortStr(self.beam) + " ! [beam] : Beam type ('prot', 'ion', 'ionp' or 'el') \n"
136  conf+=fortStr(self.outtg) + " ! [outtg] : for output file \n"
137  conf+=fortBool(self.sfaci) + " ! [sfaci] : Include soft survival effects \n"
138  conf+="***********************************************************************************\n"
139  conf+="***********************************************************************************\n"
140  conf+="***********************************************************************************\n"
141  conf+=fortStr(self.diff) + " ! [diff] : dissociation flag \n"
142  conf+="***********************************************************************************\n"
143  conf+=fortDouble(self.an) + " ! [an] : Ion mass number \n"
144  conf+=fortDouble(self.az) + " ! [az] : Ion atomic number \n"
145  conf+=fortDouble(self.rz) + " ! [rz] : Ion proton density - radius \n"
146  conf+=fortDouble(self.dz) + " ! [dz] : Ion proton density - skin thickness \n"
147  conf+=fortDouble(self.rn) + " ! [rn] : Ion neutron density - radius \n"
148  conf+=fortDouble(self.dn) + " ! [dn] : Ion neutron density - skin thickness \n"
149  conf+=fortStr(self.ionqcd) + " ! [ionqcd] : Coherent ('coh') or incoherent ('incoh') for QCD-induced processes \n"
150  conf+=fortBool(self.ionbreakup) + " ! [ionbreakup] \n"
151  conf+=fortStr(self.fAA) + " ! [fAA] \n"
152  conf+=fortDouble(self.fracsigX) + " ! [fracsigX] : multiply sig_(gamA) by this factor (1d0 - default) \n"
153  conf+="***********************************************************************************\n"
154  conf+="*************Integration parameters************************************************\n"
155  conf+="***********************************************************************************\n"
156  conf+=fortInt(self.ncall) + " ! [ncall] : Number of calls for preconditioning \n"
157  conf+=fortInt(self.itmx) + " ! [itmx] : Number of iterations for preconditioning \n"
158  conf+=fortDouble(self.prec) + " ! [prec] : Relative accuracy (in %) in main run \n"
159  conf+=fortInt(self.ncall1) + " ! [ncall1] : Number of calls in first iteration \n"
160  conf+=fortInt(self.inccall) + " ! [inccall] : Number of increase calls per iteration \n"
161  conf+=fortInt(self.itend) + " ! [itend] : Maximum number of iterations \n"
162  conf+=fortInt(self.iseed) + " ! [iseed] : Random number seed (integer > 0) \n"
163  conf+="***********************************************************************************\n"
164  conf+="********************Unweighted events**********************************************\n"
165  conf+="***********************************************************************************\n"
166  conf+=fortBool(self.genunw) + " ! [genunw] : Generate unweighted events \n"
167  conf+=fortInt(int(self.nev*1.01)) + " ! [nev] : Number of events (preferably controlled by maxEvents option in Gen_tf command) \n"
168  conf+=fortStr(self.erec) + " ! [erec] : Event record format ('hepmc','lhe','hepevt') \n"
169  conf+=fortBool(self.readwt) + " ! [readwt] : Set to true to read in pre-calculated maxium weight below \n"
170  conf+=fortDouble(self.wtmax) + " ! [wtmax] : Maximum weight \n"
171  conf+="***********************************************************************************\n"
172  conf+="***********************************************************************************\n"
173  conf+="******************* general cuts ************************************************\n"
174  conf+=fortDouble(self.ymin) + " ! [ymin] : Minimum object rapidity Y_X \n"
175  conf+=fortDouble(self.ymax) + " ! [ymax] : Maximum object rapidity Y_X \n"
176  conf+=fortDouble(self.mmin) + " ! [mmin] : Minimum object mass M_X (redundant for resonance production) \n"
177  conf+=fortDouble(self.mmax) + " ! [mmax] : Maximum object mass M_X (redundant for resonance production) \n"
178  conf+=fortBool(self.gencuts) + " ! [gencuts] : Generate cuts below \n"
179  conf+=fortBool(self.scorr) + " ! [scorr] : Include spin correlations (for chi_c/b decays) \n"
180  conf+=fortBool(self.fwidth) + " ! [fwidth] : Include finite width (for chi_c decays) \n"
181  conf+="***********************************************************************************\n"
182  conf+="************ See manual for momentum assignments***********************************\n"
183  conf+="***********************************************************************************\n"
184  conf+="******************* Proton Cuts ***************************************************\n"
185  conf+="***********************************************************************************\n"
186  conf+=fortDouble(self.ptxmax) + " ! [ptxmax] : max pT of the system \n"
187  conf+="***********************************************************************************\n"
188  conf+="**********2 body final states : p(a) + p(b) ***************************************\n"
189  conf+="***********************************************************************************\n"
190  conf+=fortDouble(self.ptamin) + " ! [ptamin] \n"
191  conf+=fortDouble(self.ptbmin) + " ! [ptbmin] \n"
192  conf+=fortDouble(self.etaamin) + " ! [etaamin] \n"
193  conf+=fortDouble(self.etaamax) + " ! [etaamax] \n"
194  conf+=fortDouble(self.etabmin) + " ! [etabmin] \n"
195  conf+=fortDouble(self.etabmax) + " ! [etabmax] \n"
196  conf+=fortDouble(self.acoabmax) + " ! [acoabmax] \n"
197  conf+="***********************************************************************************\n"
198  conf+="****** 3 body final states : p(a) + p(b) + p(c) ***********************************\n"
199  conf+="***********************************************************************************\n"
200  conf+=fortDouble(self.ptamin) + " ! [ptamin] \n"
201  conf+=fortDouble(self.ptbmin) + " ! [ptbmin] \n"
202  conf+=fortDouble(self.ptcmin) + " ! [ptcmin] \n"
203  conf+=fortDouble(self.etaamin) + " ! [etaamin] \n"
204  conf+=fortDouble(self.etaamax) + " ! [etaamax] \n"
205  conf+=fortDouble(self.etabmin) + " ! [etabmin] \n"
206  conf+=fortDouble(self.etabmax) + " ! [etabmax] \n"
207  conf+=fortDouble(self.etacmin) + " ! [etacmin] \n"
208  conf+=fortDouble(self.etacmax) + " ! [etacmax] \n"
209  conf+="***********************************************************************************\n"
210  conf+="****** 4 body final states : p(a) + p(b) + p(c) + p(d) ****************************\n"
211  conf+="***********************************************************************************\n"
212  conf+=fortDouble(self.ptamin) + " ! [ptamin] \n"
213  conf+=fortDouble(self.ptbmin) + " ! [ptbmin] \n"
214  conf+=fortDouble(self.ptcmin) + " ! [ptcmin] \n"
215  conf+=fortDouble(self.ptdmin) + " ! [ptdmin] \n"
216  conf+=fortDouble(self.etaamin) + " ! [etaamin] \n"
217  conf+=fortDouble(self.etaamax) + " ! [etaamax] \n"
218  conf+=fortDouble(self.etabmin) + " ! [etabmin] \n"
219  conf+=fortDouble(self.etabmax) + " ! [etabmax] \n"
220  conf+=fortDouble(self.etacmin) + " ! [etacmin] \n"
221  conf+=fortDouble(self.etacmax) + " ! [etacmax] \n"
222  conf+=fortDouble(self.etadmin) + " ! [etadmin] \n"
223  conf+=fortDouble(self.etadmax) + " ! [etadmax] \n"
224  conf+="***********************************************************************************\n"
225  conf+="****** 6 body final states : p(a) + p(b) + p(c) + p(d) + p(e) + p(f) **************\n"
226  conf+="***********************************************************************************\n"
227  conf+=fortDouble(self.ptamin) + " ! [ptamin] \n"
228  conf+=fortDouble(self.ptbmin) + " ! [ptbmin] \n"
229  conf+=fortDouble(self.ptcmin) + " ! [ptcmin] \n"
230  conf+=fortDouble(self.ptdmin) + " ! [ptdmin] \n"
231  conf+=fortDouble(self.ptemin) + " ! [ptemin] \n"
232  conf+=fortDouble(self.ptfmin) + " ! [ptfmin] \n"
233  conf+=fortDouble(self.etaamin) + " ! [etaamin] \n"
234  conf+=fortDouble(self.etaamax) + " ! [etaamax] \n"
235  conf+=fortDouble(self.etabmin) + " ! [etabmin] \n"
236  conf+=fortDouble(self.etabmax) + " ! [etabmax] \n"
237  conf+=fortDouble(self.etacmin) + " ! [etacmin] \n"
238  conf+=fortDouble(self.etacmax) + " ! [etacmax] \n"
239  conf+=fortDouble(self.etadmin) + " ! [etadmin] \n"
240  conf+=fortDouble(self.etadmax) + " ! [etadmax] \n"
241  conf+=fortDouble(self.etaemin) + " ! [etaemin] \n"
242  conf+=fortDouble(self.etaemax) + " ! [etaemax] \n"
243  conf+=fortDouble(self.etaemin) + " ! [etafmin] \n"
244  conf+=fortDouble(self.etafmax) + " ! [etafmax] \n"
245  conf+="***********************************************************************************\n"
246  conf+="******************* jet algorithm parameters **************************************\n"
247  conf+="***********************************************************************************\n"
248  conf+=fortDouble(self.rjet) + " ! [rjet] : Jet Radius \n"
249  conf+=fortStr(self.jalg) + " ! [jalg] : Jet algorithm ('antikt','kt') \n"
250  conf+="***********************************************************************************\n"
251  conf+="***** chi_c/b two-body decays *****************************************************\n"
252  conf+="***********************************************************************************\n"
253  conf+=fortDouble(self.m2b) + " ! [m2b] : mass of decay particles \n"
254  conf+=fortInt(self.pdgid1) + " ! [pdgid1] : PDG number particle 1 \n"
255  conf+=fortInt(self.pdgid2) + " ! [pdgid2] : PDG number particle 2 \n"
256  conf+="***********************************************************************************\n"
257  conf+="******* ALP Parameters ***********************************************************\n"
258  conf+="***********************************************************************************\n"
259  conf+=fortDouble(self.malp) + " ! [malp] : ALP mass (GeV) \n"
260  conf+=fortDouble(self.gax) + " ! [gax] : ALP coupling (GeV^-1) \n"
261  conf+=fortStr(self.alpt) + " ! [alpt] : AlP type (scalar - 'sc', pseudoscalar - 'ps') \n"
262  conf+="***********************************************************************************\n"
263  conf+="**** Monopole Parameters **********************************************************\n"
264  conf+="***********************************************************************************\n"
265  conf+=fortDouble(self.mpol) + " ! [mpol] : Monopole mass \n"
266  conf+=fortDouble(self.mmon) + " ! [mmon] : Monopolium mass \n"
267  conf+=fortDouble(self.gamm) + " ! [gamm] : Monopolium width \n"
268  conf+="***********************************************************************************\n"
269  conf+="**** SUSY Parameters ************************************************************\n"
270  conf+="***********************************************************************************\n"
271  conf+=fortDouble(self.mcharg) + " ! [mcharg] : Chargino/Slepton mass \n"
272  conf+=fortDouble(self.mneut) + " ! [mneut] : Neutralino mass \n"
273  conf+="***********************************************************************************\n"
274  conf+="***********************************************************************************\n"
275  conf+="***********************************************************************************\n"
276  conf+=fortStr(self.wlp) + " ! [wlp] : leptonic decay (either 'mu' or 'el') for Wplus \n"
277  conf+=fortStr(self.wlm) + " ! [wlm] : leptonic decay (either 'mu' or 'el') for Wminus \n"
278 
279  conf+="****************************************************************************************\n"
280  conf+="****** V+X simplified model \n"
281  conf+="****************************************************************************************\n"
282  conf+=fortDouble(self.tau) + " ! [tau] : mass distribution decay constant (GeV^-1) \n"
283  conf+=fortDouble(self.mxs) + " ! [mxs] : mass of MX \n"
284 
285  conf+="****************************************************************************************\n"
286  conf+="****** tau anomalous moments\n"
287  conf+="****************************************************************************************\n"
288  conf+=fortDouble(self.atau) + " ! [atau] : magnetic dipole moment\n"
289  conf+=fortDouble(self.dtau) + " ! [dtau] : electric dipole moment [e cm]\n"
290  conf+="****** flags for calculating individual coeffs - SEE MANUAL for explanation\n"
291  conf+=fortBool(self.calc_tau_coeff) + " ! [calc_tau_coeff] : if true calculate O(a_tau^n) or O(d_tau^n) coefficients\n"
292  conf+=fortStr(self.atau) + " ! [tau_mom] : 'atau','dtau' - coeffecients for magnetic/electric dipole moments\n"
293  conf+=fortInt(self.tau_coeff) + " ! [tau_coeff] : order 'n' in coefficient (0-4)\n"
294 
295  return conf
296 
297  def outputLHEFile(self):
298  return "evrecs/evrec"+self.outtg+".dat"
299 
300 
301 def writeInputDAT(Init):
302 
303  with open("input.DAT", "w") as outF:
304  outF.write(Init.toFortran())
305 
306  return
307 
308 
309 def run_command(command, stdin = None):
310  """
311  Run a command and print output continuously
312  """
313  process = subprocess.Popen(shlex.split(command), stdout=subprocess.PIPE, stdin=stdin)
314  while True:
315  output = process.stdout.readline().decode("utf-8")
316  if output == '' and process.poll() is not None:
317  break
318  if output:
319  # remove ANSI escape formatting characters
320  reaesc = re.compile(r'(\x9B|\x1B\[)[0-?]*[ -\/]*[@-~]')
321  text = reaesc.sub('', output.strip())
322  logger.info(text)
323 
324  rc = process.poll()
325  return rc
326 
327 
328 def SuperChicInitialize(Init, stdin=None):
329 
330  logger.info("Starting SuperChic Initialization")
331 
332  if not os.path.exists('inputs'):
333  os.makedirs('inputs')
334  if not os.path.exists('evrecs'):
335  os.makedirs('evrecs')
336  if not os.path.exists('outputs'):
337  os.makedirs('outputs')
338 
339 
340  try:
341  inputDAT = open('input.DAT')
342 
343  except IOError:
344  raise Exception("problem with file IO; potentially input.DAT not created correctly")
345  else:
346 
347  try:
348  rc = run_command(Init.superchicpath+"/bin/init", inputDAT)
349 
350  except OSError:
351  raise Exception("init executable or file not found")
352 
353  except Exception:
354  raise Exception("Non-OSError or IOError in init execution block")
355 
356  if rc:
357  raise Exception('Unexpected error in superchic init execution')
358 
359  return
360 
361 
363 
364  logger.info("Starting SuperChic Itself")
365 
366  if not os.path.exists('inputs'):
367  os.makedirs('inputs')
368  if not os.path.exists('evrecs'):
369  os.makedirs('evrecs')
370  if not os.path.exists('outputs'):
371  os.makedirs('outputs')
372 
373 
374  try:
375  inputDAT = open('input.DAT')
376  except IOError:
377  raise Exception ("problem with IO; potentially input.DAT not created correctly")
378  else:
379 
380  try:
381  rc = run_command(Init.superchicpath+'/bin/superchic', stdin=inputDAT)
382 
383  except OSError:
384  raise Exception("Superchic executable or file not found")
385 
386  except Exception:
387  raise Exception("Non-OSError or IOError in Superchic execution block")
388 
389  if rc:
390  raise Exception('Unexpected error in superchic execution')
391 
392  return
393 
394 
395 
396 def SuperChicRun(Init, genSeq):
397 
398  # dump the job configuration for fortran code
399  print(Init.toFortran())
400 
401  # attach config to genSequence for later usin in showering
402  genSeq.SuperChicConfig = Init
403 
404  writeInputDAT(Init)
405  SuperChicInitialize(Init)
406  SuperChicExecute(Init)
407 
408  return
SuperChicUtils.SuperChicConfig.ptxmax
ptxmax
Definition: SuperChicUtils.py:68
SuperChicUtils.SuperChicConfig.m2b
m2b
Definition: SuperChicUtils.py:90
SuperChicUtils.SuperChicConfig.mpol
mpol
Definition: SuperChicUtils.py:96
AtlasMcWeight::decode
double decode(number_type binnedWeight)
Convert weight from unsigned to double.
Definition: AtlasMcWeight.cxx:32
SuperChicUtils.SuperChicConfig.gencuts
gencuts
Definition: SuperChicUtils.py:65
SuperChicUtils.writeInputDAT
def writeInputDAT(Init)
Definition: SuperChicUtils.py:301
SuperChicUtils.SuperChicConfig.ymin
ymin
Definition: SuperChicUtils.py:61
SuperChicUtils.SuperChicConfig.calc_tau_coeff
calc_tau_coeff
Definition: SuperChicUtils.py:107
SuperChicUtils.SuperChicConfig.mmax
mmax
Definition: SuperChicUtils.py:64
vtune_athena.format
format
Definition: vtune_athena.py:14
SuperChicUtils.SuperChicConfig.etaamin
etaamin
Definition: SuperChicUtils.py:71
SuperChicUtils.SuperChicConfig.fAA
fAA
Definition: SuperChicUtils.py:39
SuperChicUtils.SuperChicConfig.mxs
mxs
Definition: SuperChicUtils.py:104
SuperChicUtils.SuperChicConfig.beam
beam
Definition: SuperChicUtils.py:27
SuperChicUtils.SuperChicConfig.toFortran
def toFortran(self)
Definition: SuperChicUtils.py:111
SuperChicUtils.SuperChicInitialize
def SuperChicInitialize(Init, stdin=None)
Definition: SuperChicUtils.py:328
SuperChicUtils.SuperChicConfig.mneut
mneut
Definition: SuperChicUtils.py:100
SuperChicUtils.SuperChicConfig.mmon
mmon
Definition: SuperChicUtils.py:97
SuperChicUtils.SuperChicConfig.ptamin
ptamin
Definition: SuperChicUtils.py:69
SuperChicUtils.SuperChicConfig.wlm
wlm
Definition: SuperChicUtils.py:102
SuperChicUtils.SuperChicConfig.etafmax
etafmax
Definition: SuperChicUtils.py:87
SuperChicUtils.SuperChicConfig.etaemin
etaemin
Definition: SuperChicUtils.py:83
SuperChicUtils.SuperChicConfig.rts
rts
Definition: SuperChicUtils.py:18
SuperChicUtils.SuperChicConfig.etacmin
etacmin
Definition: SuperChicUtils.py:77
SuperChicUtils.SuperChicRun
def SuperChicRun(Init, genSeq)
Definition: SuperChicUtils.py:396
SuperChicUtils.SuperChicConfig.tau
tau
Definition: SuperChicUtils.py:103
SuperChicUtils.SuperChicConfig.diff
diff
Definition: SuperChicUtils.py:30
SuperChicUtils.SuperChicConfig.rn
rn
Definition: SuperChicUtils.py:35
SuperChicUtils.SuperChicConfig.az
az
Definition: SuperChicUtils.py:32
SuperChicUtils.SuperChicConfig.etacmax
etacmax
Definition: SuperChicUtils.py:78
SuperChicUtils.SuperChicConfig.fracsigX
fracsigX
Definition: SuperChicUtils.py:40
SuperChicUtils.SuperChicConfig.outputLHEFile
def outputLHEFile(self)
Definition: SuperChicUtils.py:297
SuperChicUtils.SuperChicConfig.PDFname
PDFname
Definition: SuperChicUtils.py:24
SuperChicUtils.SuperChicConfig.readwt
readwt
Definition: SuperChicUtils.py:59
SuperChicUtils.SuperChicConfig.superchicpath
superchicpath
Definition: SuperChicUtils.py:15
SuperChicUtils.SuperChicConfig.mmin
mmin
Definition: SuperChicUtils.py:63
SuperChicUtils.SuperChicConfig.ymax
ymax
Definition: SuperChicUtils.py:62
SuperChicUtils.SuperChicConfig.genunw
genunw
Definition: SuperChicUtils.py:52
SuperChicUtils.SuperChicConfig.etabmax
etabmax
Definition: SuperChicUtils.py:74
SuperChicUtils.SuperChicConfig.malp
malp
Definition: SuperChicUtils.py:93
SuperChicUtils.SuperChicConfig.dn
dn
Definition: SuperChicUtils.py:36
SuperChicUtils.SuperChicConfig.ptcmin
ptcmin
Definition: SuperChicUtils.py:76
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
SuperChicUtils.SuperChicConfig.ptfmin
ptfmin
Definition: SuperChicUtils.py:85
SuperChicUtils.SuperChicConfig.tau_mom
tau_mom
Definition: SuperChicUtils.py:108
SuperChicUtils.SuperChicExecute
def SuperChicExecute(Init)
Definition: SuperChicUtils.py:362
SuperChicUtils.SuperChicConfig.pdgid1
pdgid1
Definition: SuperChicUtils.py:91
SuperChicUtils.SuperChicConfig.gax
gax
Definition: SuperChicUtils.py:94
SuperChicUtils.SuperChicConfig.iseed
iseed
Definition: SuperChicUtils.py:48
SuperChicUtils.SuperChicConfig.isurv
isurv
Definition: SuperChicUtils.py:22
SuperChicUtils.SuperChicConfig.ptdmin
ptdmin
Definition: SuperChicUtils.py:79
SuperChicUtils.SuperChicConfig.__init__
def __init__(self, runArgs)
Definition: SuperChicUtils.py:14
SuperChicUtils.SuperChicConfig.itmx
itmx
Definition: SuperChicUtils.py:42
SuperChicUtils.SuperChicConfig.an
an
Definition: SuperChicUtils.py:31
SuperChicUtils.SuperChicConfig
Definition: SuperChicUtils.py:12
SuperChicUtils.SuperChicConfig.ncall
ncall
Definition: SuperChicUtils.py:41
SuperChicUtils.SuperChicConfig.etadmin
etadmin
Definition: SuperChicUtils.py:80
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
SuperChicUtils.SuperChicConfig.ptbmin
ptbmin
Definition: SuperChicUtils.py:70
SuperChicUtils.SuperChicConfig.sfaci
sfaci
Definition: SuperChicUtils.py:29
SuperChicUtils.SuperChicConfig.wtmax
wtmax
Definition: SuperChicUtils.py:60
SuperChicUtils.SuperChicConfig.mcharg
mcharg
Definition: SuperChicUtils.py:99
SuperChicUtils.SuperChicConfig.rjet
rjet
Definition: SuperChicUtils.py:88
SuperChicUtils.SuperChicConfig.etabmin
etabmin
Definition: SuperChicUtils.py:73
SuperChicUtils.SuperChicConfig.PDFmember
PDFmember
Definition: SuperChicUtils.py:25
SuperChicUtils.SuperChicConfig.pdgid2
pdgid2
Definition: SuperChicUtils.py:92
SuperChicUtils.SuperChicConfig.ptemin
ptemin
Definition: SuperChicUtils.py:82
SuperChicUtils.SuperChicConfig.rz
rz
Definition: SuperChicUtils.py:33
Trk::open
@ open
Definition: BinningType.h:40
SuperChicUtils.SuperChicConfig.nev
nev
Definition: SuperChicUtils.py:54
SuperChicUtils.SuperChicConfig.ncall1
ncall1
Definition: SuperChicUtils.py:44
SuperChicUtils.SuperChicConfig.etaemax
etaemax
Definition: SuperChicUtils.py:84
SuperChicUtils.SuperChicConfig.acoabmax
acoabmax
Definition: SuperChicUtils.py:75
SuperChicUtils.SuperChicConfig.jalg
jalg
Definition: SuperChicUtils.py:89
SuperChicUtils.SuperChicConfig.erec
erec
Definition: SuperChicUtils.py:58
SuperChicUtils.SuperChicConfig.itend
itend
Definition: SuperChicUtils.py:46
str
Definition: BTagTrackIpAccessor.cxx:11
SuperChicUtils.run_command
def run_command(command, stdin=None)
Definition: SuperChicUtils.py:309
SuperChicUtils.SuperChicConfig.fwidth
fwidth
Definition: SuperChicUtils.py:67
SuperChicUtils.SuperChicConfig.inccall
inccall
Definition: SuperChicUtils.py:45
SuperChicUtils.SuperChicConfig.ionbreakup
ionbreakup
Definition: SuperChicUtils.py:38
SuperChicUtils.SuperChicConfig.etaamax
etaamax
Definition: SuperChicUtils.py:72
SuperChicUtils.SuperChicConfig.prec
prec
Definition: SuperChicUtils.py:43
SuperChicUtils.SuperChicConfig.tau_coeff
tau_coeff
Definition: SuperChicUtils.py:109
SuperChicUtils.SuperChicConfig.gamm
gamm
Definition: SuperChicUtils.py:98
SuperChicUtils.SuperChicConfig.dz
dz
Definition: SuperChicUtils.py:34
SuperChicUtils.SuperChicConfig.intag
intag
Definition: SuperChicUtils.py:23
SuperChicUtils.SuperChicConfig.atau
atau
Definition: SuperChicUtils.py:105
SuperChicUtils.SuperChicConfig.dtau
dtau
Definition: SuperChicUtils.py:106
SuperChicUtils.SuperChicConfig.wlp
wlp
Definition: SuperChicUtils.py:101
SuperChicUtils.SuperChicConfig.scorr
scorr
Definition: SuperChicUtils.py:66
SuperChicUtils.SuperChicConfig.etafmin
etafmin
Definition: SuperChicUtils.py:86
SuperChicUtils.SuperChicConfig.outtg
outtg
Definition: SuperChicUtils.py:28
SuperChicUtils.SuperChicConfig.ionqcd
ionqcd
Definition: SuperChicUtils.py:37
SuperChicUtils.SuperChicConfig.proc
proc
Definition: SuperChicUtils.py:26
SuperChicUtils.SuperChicConfig.etadmax
etadmax
Definition: SuperChicUtils.py:81
SuperChicUtils.SuperChicConfig.alpt
alpt
Definition: SuperChicUtils.py:95