Create an "identity" ARF that has uniform sensitivity.

    *name*
      The name of the ARF object to be created; passed to Sherpa.
    *arf*
      An existing ARF object on which to base this one.
    Returns:
      A new ARF1D object that has a uniform spectral response vector.

    In many X-ray observations, the relevant background signal does not behave
    like an astrophysical source that is filtered through the telescope's
    response functions. However, I have been unable to get current Sherpa
    (version 4.9) to behave how I want when working with backround models that
    are *not* filtered through these response functions. This function
    constructs an "identity" ARF response function that has uniform sensitivity
    as a function of detector channel.

def derive_identity_arf(name, arf):
    """Create an "identity" ARF that has uniform sensitivity.

    *name*
      The name of the ARF object to be created; passed to Sherpa.
    *arf*
      An existing ARF object on which to base this one.
    Returns:
      A new ARF1D object that has a uniform spectral response vector.

    In many X-ray observations, the relevant background signal does not behave
    like an astrophysical source that is filtered through the telescope's
    response functions. However, I have been unable to get current Sherpa
    (version 4.9) to behave how I want when working with backround models that
    are *not* filtered through these response functions. This function
    constructs an "identity" ARF response function that has uniform sensitivity
    as a function of detector channel.

    """
    from sherpa.astro.data import DataARF
    from sherpa.astro.instrument import ARF1D

    darf = DataARF(
        name,
        arf.energ_lo,
        arf.energ_hi,
        np.ones(arf.specresp.shape),
        arf.bin_lo,
        arf.bin_hi,
        arf.exposure,
        header = None,
    )
    return ARF1D(darf, pha=arf._pha)