def METHOD_NAME(self, cache=True, profile=False, summarize=True) -> Tuple[IR, OptionalStats]:
    self.ir_timer.reset()
    _cache = self.cache if cache else None
    _pr = Profiler() if profile else NullProfiler()
    with self.ir_timer:
        with _pr:
            ir = IR(self.aconf, cache=_cache, secret_handler=self.secret_handler)
    if summarize:
        self.summarize()
    return (ir, _pr.stats())