Commit 8c7c388f0be094ba524ba9fff5a0a4c6dc47c765

Authored by knodlseder
1 parent 7130da33

add optional parameters

examples/make_ts_distributions.py
... ... @@ -98,20 +98,54 @@ if __name__ == '__main__':
98 98 Create TS distribution in a number of energy bands.
99 99 """
100 100 # Get input arguments
101   - usage = "make_ts_distributions ntrials [max_threads]"
102   - if len(sys.argv) < 2 or len(sys.argv) > 3:
  101 + usage = "make_ts_distributions [-n ntrials] [-e enumbins] [-m max_threads]"
  102 + if len(sys.argv) < 1:
103 103 print usage
104 104 sys.exit()
105 105  
106   - # Set number of trials
107   - ntrials = int(sys.argv[1])
108   -
109   - # Set maximum number of threads (default: 1)
110   - if len(sys.argv) == 3:
111   - max_threads = int(sys.argv[2])
112   - else:
113   - max_threads = 1
114   -
  106 + # Set default parameters
  107 + ntrials = 100
  108 + enumbins = 0
  109 + duration = 1800000.0
  110 + max_threads = 1
  111 +
  112 + # Parameter dictionnary
  113 + pars = [{'option': '-n', 'value': ntrials}, \
  114 + {'option': '-e', 'value': enumbins}, \
  115 + {'option': '-d', 'value': duration}, \
  116 + {'option': '-m', 'value': max_threads}]
  117 +
  118 + # Gather parameters from command line
  119 + i = 1
  120 + while i < len(sys.argv):
  121 +
  122 + # Search for options
  123 + for par in pars:
  124 + if sys.argv[i] == par['option']:
  125 + if len(sys.argv) > i+1:
  126 + i += 1
  127 + try:
  128 + par['value'] = int(sys.argv[i])
  129 + except:
  130 + print usage
  131 + sys.exit()
  132 + else:
  133 + print usage
  134 + sys.exit()
  135 +
  136 + # Next item
  137 + i += 1
  138 +
  139 + # Recover parameters
  140 + ntrials = pars[0]['value']
  141 + enumbins = pars[1]['value']
  142 + duration = pars[2]['value']
  143 + max_threads = pars[3]['value']
  144 + #print ntrials
  145 + #print enumbins
  146 + #print duration
  147 + #print max_threads
  148 +
115 149 # Loop over energy bands. The energy bands are those that are also
116 150 # used for sensitivity computation.
117 151 for ieng in range(21):
... ... @@ -135,7 +169,8 @@ if __name__ == &#39;__main__&#39;:
135 169  
136 170 # Set arguments
137 171 args = (loge, emin, emax)
138   - kwargs = {'ntrials': ntrials}
  172 + kwargs = {'ntrials': ntrials, 'enumbins': enumbins, \
  173 + 'duration': duration}
139 174  
140 175 # Generate pull distribution
141 176 p = processing.Process(target=create_ts, args=args, kwargs=kwargs)
... ...