class_docstr: Attach a NVTX range to a pair of Ignite events.
  It pushes an NVTX range at the first event and pops it at the second event.
  Stores zero-based depth of the range that is started.
  
  Args:
      events: a string, pair of Ignite events, pair of Ignite event literals, or pair of Ignite events and literals.
          If a single string is provided, it should  describe the base name of a pair of default Ignite events
          with _STARTED and _COMPLETED postfix (like "EPOCH" for Events.EPOCH_STARTED and Events.EPOCH_COMPLETED).
          The accepted events are: BATCH, ITERATION, EPOCH, and ENGINE.
          If pair of literals, each should be the literal equivalent of an Ignite event, fo instance:
          ("EPOCH_STARTED" and "EPOCH_COMPLETED").
          One can combine events and literals, like (Events.EPOCH_STARTED and "EPOCH_COMPLETED").
          For the complete list of Events,
          check https://pytorch.org/ignite/generated/ignite.engine.events.Events.html.
  
      msg: ASCII message to associate with range.
          If not provided, the name of first event will be assigned to the NVTX range.
class_docstr_tok: ["Attach","a","NVTX","range","to","a","pair","of","Ignite","events",".","It","pushes","an","NVTX","range","at","the","first","event","and","pops","it","at","the","second","event",".","Stores","zero-based","depth","of","the","range","that","is","started",".","Args",":","events",":","a","string",",","pair","of","Ignite","events",",","pair","of","Ignite","event","literals",",","or","pair","of","Ignite","events","and","literals",".","If","a","single","string","is","provided",",","it","should","describe","the","base","name","of","a","pair","of","default","Ignite","events","with","_STARTED","and","_COMPLETED","postfix","(","like","``","EPOCH","''","for","Events.EPOCH_STARTED","and","Events.EPOCH_COMPLETED",")",".","The","accepted","events","are",":","BATCH",",","ITERATION",",","EPOCH",",","and","ENGINE",".","If","pair","of","literals",",","each","should","be","the","literal","equivalent","of","an","Ignite","event",",","fo","instance",":","(","``","EPOCH_STARTED","''","and","``","EPOCH_COMPLETED","''",")",".","One","can","combine","events","and","literals",",","like","(","Events.EPOCH_STARTED","and","``","EPOCH_COMPLETED","''",")",".","For","the","complete","list","of","Events",",","check","https",":","\/\/pytorch.org\/ignite\/generated\/ignite.engine.events.Events.html",".","msg",":","ASCII","message","to","associate","with","range",".","If","not","provided",",","the","name","of","first","event","will","be","assigned","to","the","NVTX","range","."]
docstr: Create pair of Ignite events from a event prefix name
docstr_tok: ["Create","pair","of","Ignite","events","from","a","event","prefix","name"]
code: def create_paired_events(self, event: str) -> tuple[Events, Events]:
      """
      Create pair of Ignite events from a event prefix name
      """
      event = event.upper()
      event_prefix = {
          "": "",
          "ENGINE": "",
          "EPOCH": "EPOCH_",
          "ITERATION": "ITERATION_",
          "BATCH": "GET_BATCH_",
      }
      return self.get_event(
          event_prefix[event] + "STARTED"
      ), self.get_event(event_prefix[event] + "COMPLETED")
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING
  from monai.config import IgniteInfo
  from monai.utils import ensure_tuple, min_version, optional_import
label_desc: Use image node_id 3 for calling the RangeHandler obj's underlying member method code with example usage: obj.create_paired_events(event) and returns: self,  self