# Path: stile/hsc/sys_test_adapters.py
# def MaskGalaxy(data, config):
# def MaskStar(data, config):
# def MaskBrightStar(data, config):
# def MaskPSFStar(data, config):
#     def setupMasks(self, objects_list=None):
#     def getMasks(self, data, config):
#     def getRequiredColumns(self):
#     def __call__(self, task_config, *data, **kwargs):
#     def getRequiredColumns(self):
#     def fixArray(self, array):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def MaskPSFFlux(self, data, config):
#     def getRequiredColumns(self):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data):
#     def __init__(self, config):
#     def __call__(self, task_config, *data):
#     def __init__(self, config):
#     def __call__(self, task_config, *data):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
# class BaseSysTestAdapter(object):
# class ShapeSysTestAdapter(BaseSysTestAdapter):
# class GalaxyShearAdapter(ShapeSysTestAdapter):
# class BrightStarShearAdapter(ShapeSysTestAdapter):
# class StarXGalaxyShearAdapter(ShapeSysTestAdapter):
# class StarXStarShearAdapter(ShapeSysTestAdapter):
# class StarXStarSizeResidualAdapter(ShapeSysTestAdapter):
# class Rho1Adapter(ShapeSysTestAdapter):
# class StatsPSFFluxAdapter(ShapeSysTestAdapter):
# class WhiskerPlotStarAdapter(ShapeSysTestAdapter):
# class WhiskerPlotPSFAdapter(ShapeSysTestAdapter):
# class WhiskerPlotResidualAdapter(ShapeSysTestAdapter):
# class ScatterPlotStarVsPSFG1Adapter(ShapeSysTestAdapter):
# class ScatterPlotStarVsPSFG2Adapter(ShapeSysTestAdapter):
# class ScatterPlotStarVsPSFSigmaAdapter(ShapeSysTestAdapter):
# class ScatterPlotResidualVsPSFG1Adapter(ShapeSysTestAdapter):
# class ScatterPlotResidualVsPSFG2Adapter(ShapeSysTestAdapter):
# class ScatterPlotResidualVsPSFSigmaAdapter(ShapeSysTestAdapter):
# class ScatterPlotResidualSigmaVsPSFMagAdapter(ShapeSysTestAdapter):


import os
import lsst.pex.config
import lsst.pipe.base
import lsst.meas.mosaic
import lsst.afw.geom as afwGeom
import lsst.afw.image as afwImage
import lsst.afw.table as afwTable
import lsst.afw.cameraGeom as cameraGeom
import lsst.afw.cameraGeom.utils as cameraGeomUtils
import numpy
import re
import stile
from lsst.meas.mosaic.mosaicTask import MosaicTask
from lsst.pipe.tasks.dataIds import PerTractCcdDataIdContainer
from lsst.pipe.tasks.coaddBase import ExistingCoaddDataIdContainer
from lsst.pex.exceptions import LsstCppException
from .sys_test_adapters import adapter_registry
    import stile.lsst.base_tasks
    root.sys_tests.names=['TEST_NAME1', 'TEST_NAME2', ...]
    =======================================================

and then adding an option ::

    -C config.py

to the command line.

If you use a file, you can add and remove tests from a default by the following option::
    root.sys_tests.names.add('TEST_NAME')
    root.sys_tests.names.remove('TEST_NAME')
"""


class SysTestData(object):
    """
    A simple container object holding the name of a sys_test, plus the corresponding masks and
    columns from the :func:`.getMasks` and :func:`.getRequiredColumns` methods of the sys_test.
    """

    def __init__(self):
        self.sys_test_name = None
        self.mask_tuple_list = None
        self.cols_list = None


class CCDSingleEpochStileConfig(lsst.pex.config.Config):
    # Set the default systematics tests for the CCD level.

# Path: stile/hsc/sys_test_adapters.py
# def MaskGalaxy(data, config):
# def MaskStar(data, config):
# def MaskBrightStar(data, config):
# def MaskPSFStar(data, config):
#     def setupMasks(self, objects_list=None):
#     def getMasks(self, data, config):
#     def getRequiredColumns(self):
#     def __call__(self, task_config, *data, **kwargs):
#     def getRequiredColumns(self):
#     def fixArray(self, array):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def __init__(self, config):
#     def MaskPSFFlux(self, data, config):
#     def getRequiredColumns(self):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data):
#     def __init__(self, config):
#     def __call__(self, task_config, *data):
#     def __init__(self, config):
#     def __call__(self, task_config, *data):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
#     def __init__(self, config):
#     def __call__(self, task_config, *data, **kwargs):
# class BaseSysTestAdapter(object):
# class ShapeSysTestAdapter(BaseSysTestAdapter):
# class GalaxyShearAdapter(ShapeSysTestAdapter):
# class BrightStarShearAdapter(ShapeSysTestAdapter):
# class StarXGalaxyShearAdapter(ShapeSysTestAdapter):
# class StarXStarShearAdapter(ShapeSysTestAdapter):
# class StarXStarSizeResidualAdapter(ShapeSysTestAdapter):
# class Rho1Adapter(ShapeSysTestAdapter):
# class StatsPSFFluxAdapter(ShapeSysTestAdapter):
# class WhiskerPlotStarAdapter(ShapeSysTestAdapter):
# class WhiskerPlotPSFAdapter(ShapeSysTestAdapter):
# class WhiskerPlotResidualAdapter(ShapeSysTestAdapter):
# class ScatterPlotStarVsPSFG1Adapter(ShapeSysTestAdapter):
# class ScatterPlotStarVsPSFG2Adapter(ShapeSysTestAdapter):
# class ScatterPlotStarVsPSFSigmaAdapter(ShapeSysTestAdapter):
# class ScatterPlotResidualVsPSFG1Adapter(ShapeSysTestAdapter):
# class ScatterPlotResidualVsPSFG2Adapter(ShapeSysTestAdapter):
# class ScatterPlotResidualVsPSFSigmaAdapter(ShapeSysTestAdapter):
# class ScatterPlotResidualSigmaVsPSFMagAdapter(ShapeSysTestAdapter):


# Path: stile/hsc/base_tasks.py
import os
import lsst.pex.config
import lsst.pipe.base
import lsst.meas.mosaic
import lsst.afw.geom as afwGeom
import lsst.afw.image as afwImage
import lsst.afw.table as afwTable
import lsst.afw.cameraGeom as cameraGeom
import lsst.afw.cameraGeom.utils as cameraGeomUtils
import numpy
import re
import stile
from lsst.meas.mosaic.mosaicTask import MosaicTask
from lsst.pipe.tasks.dataIds import PerTractCcdDataIdContainer
from lsst.pipe.tasks.coaddBase import ExistingCoaddDataIdContainer
from lsst.pex.exceptions import LsstCppException
from .sys_test_adapters import adapter_registry

    import stile.lsst.base_tasks
    root.sys_tests.names=['TEST_NAME1', 'TEST_NAME2', ...]
    =======================================================

and then adding an option ::

    -C config.py

to the command line.

If you use a file, you can add and remove tests from a default by the following option::
    root.sys_tests.names.add('TEST_NAME')
    root.sys_tests.names.remove('TEST_NAME')
"""


class SysTestData(object):
    """
    A simple container object holding the name of a sys_test, plus the corresponding masks and
    columns from the :func:`.getMasks` and :func:`.getRequiredColumns` methods of the sys_test.
    """

    def __init__(self):
        self.sys_test_name = None
        self.mask_tuple_list = None
        self.cols_list = None


class CCDSingleEpochStileConfig(lsst.pex.config.Config):
    # Set the default systematics tests for the CCD level.

    sys_tests = adapter_registry.makeField("tests to run", multi=True,