help=
    "Use psi3 column of template bank XML as delta effective lambda point to calculate in DAG."
)

for cat, val in MAXJOBS.iteritems():
    optname = "--maxjobs-%s" % cat.lower().replace("_", "-")
    optp.add_option(optname,
                    type="int",
                    default=MAXJOBS[cat],
                    help="Set MAXJOBS in DAGs for category %s. Default is %s" %
                    (cat, str(val)))

# Options transferred to ILE
common_cl.add_datasource_params(optp)
common_cl.add_integration_params(optp)
common_cl.add_output_params(optp)
common_cl.add_intrinsic_params(optp)
common_cl.add_pinnable_params(optp)

opts, args = optp.parse_args()

if not opts.template_bank_xml:
    exit("Option --template-bank-xml is required.")

#
# Get trigger information from coinc xml file
#
# FIXME: CML should package this for us

# Get end time from coinc inspiral table or command line
xmldoc = None
argp.add_argument("-W", "--web-output", default="./", help="Directory to place web accessible plots and webpages.")
argp.add_argument("-O", "--output-name", default="marginalize_extrinsic_parameters", help="Filename (without extension) to write DAG to.")
argp.add_argument("--n-copies", default=1, help="Number of copies of each integrator instance to run per mass point. Default is one.")
argp.add_argument("--write-script", action="store_true", help="In addition to the DAG, write a script to this filename to execute the workflow.")
argp.add_argument("--write-eff-lambda", action="store_true", help="Use psi0 column of template bank XML as effective lambda point to calculate in DAG.")
argp.add_argument("--write-deff-lambda", action="store_true", help="Use psi3 column of template bank XML as delta effective lambda point to calculate in DAG.")
argp.add_argument("--condor-command", action="append", help="Append these condor commands to the submit files. Useful for account group information.")

for cat, val in MAXJOBS.iteritems():
    optname = "--maxjobs-%s" % cat.lower().replace("_", "-")
    argp.add_argument(optname, type=int, default=MAXJOBS[cat], help="Set MAXJOBS in DAGs for category %s. Default is %s" % (cat, str(val)))

# Options transferred to ILE
common_cl.add_datasource_params(argp)
common_cl.add_integration_params(argp)
common_cl.add_output_params(argp)
common_cl.add_intrinsic_params(argp)
common_cl.add_pinnable_params(argp)

opts = argp.parse_args()

if not opts.template_bank_xml:
    exit("Option --template-bank-xml is required.")

condor_commands = None
if opts.condor_command is not None:
    condor_commands = dict([c.split("=") for c in opts.condor_command])

#
# Get trigger information from coinc xml file
#
optp.add_option("-D", "--working-directory", default="./", help="Directory in which to stage DAG components.")
optp.add_option("-l", "--log-directory", default="./", help="Directory in which to place condor logs.")
optp.add_option("-W", "--web-output", default="./", help="Directory to place web accessible plots and webpages.")
optp.add_option("--disable-ile-postproc", action="store_true", help="Do not plot mass posteriors via plot_like_contours.")
optp.add_option("--disable-bayes-postproc", action="store_true", help="Do not plot posteriors via cbcBayesPostProc.")
optp.add_option("--n-copies", default=1, help="Number of copies of each integrator instance to run per mass point. Default is one.")
optp.add_option("--write-script", action="store_true", help="In addition to the DAG, write a script to this filename to execute the workflow.")

for cat, val in MAXJOBS.iteritems():
    optname = "--maxjobs-%s" % cat.lower().replace("_", "-")
    optp.add_option(optname, type="int", default=MAXJOBS[cat], help="Set MAXJOBS in DAGs for category %s. Default is %s" % (cat, str(val)))

# Options transferred to ILE
common_cl.add_datasource_params(optp)
common_cl.add_integration_params(optp)
common_cl.add_output_params(optp)
common_cl.add_intrinsic_params(optp)
common_cl.add_pinnable_params(optp)

opts, args = optp.parse_args()

if not opts.template_bank_xml:
    exit("Option --template-bank-xml is required.")

#
# Get trigger information from coinc xml file
#
# FIXME: CML should package this for us

# Get end time from coinc inspiral table or command line
xmldoc = None
import pylal

# our analysis stuff
from lalinference.rapid_pe import lalsimutils, factored_likelihood, mcsampler, xmlutils, common_cl
from lalinference.rapid_pe.common_cl import param_limits

from lalinference.io import fits as bfits

__author__ = "Evan Ochsner <*****@*****.**>, Chris Pankow <*****@*****.**>, R. O'Shaughnessy"

#
# Option parsing
#
argp = ArgumentParser()
common_cl.add_datasource_params(argp)
common_cl.add_output_params(argp)

#
# Add the integration options
#
common_cl.add_integration_params(argp)

#
# Add the intrinsic parameters
#
common_cl.add_intrinsic_params(argp)

#
# Add the pinnable parameters
#
common_cl.add_pinnable_params(argp)