def METHOD_NAME(self, inputParams):
    xacc_opts = inputParams['XACC']
    acc_name = xacc_opts['accelerator']
    if 'verbose' in xacc_opts and xacc_opts['verbose']:
        xacc.set_verbose(True)
    if 'Benchmark' not in inputParams:
        xacc.error('Invalid benchmark input - must have Benchmark description')
    if 'Circuit' not in inputParams:
        xacc.error('Invalid benchmark input - must have circuit description')
    self.qpu = xacc.getAccelerator(acc_name, xacc_opts)
    if 'Decorators' in inputParams:
        if 'readout_error' in inputParams['Decorators']:
            qpu = xacc.getAcceleratorDecorator('ro-error', qpu)
    provider = xacc.getIRProvider('quantum')
    if 'source' in inputParams['Circuit']:
        # here assume this is xasm always
        src = inputParams['Circuit']['source']
        xacc.qasm(src)
        # get the name of the circuit
        circuit_name = None
        for l in src.split('\n'):
            if '.circuit' in l:
                circuit_name = l.split(' ')[1]
        self.circuit_name = circuit_name
        ansatz = xacc.getCompiled(circuit_name)
    opts = {'circuit':ansatz, 'accelerator':self.qpu}
    if 'qubit-map' in inputParams['Circuit']:
        raw_qbit_map = inputParams['Circuit']['qubit-map']
        if not isinstance(raw_qbit_map, list):
            raw_qbit_map = ast.literal_eval(raw_qbit_map)
        self.qubit_map = raw_qbit_map
        opts['qubit-map'] = self.qubit_map
    self.qpt = xacc.getAlgorithm('qpt', opts)
    self.nq = ansatz.nLogicalBits()
    buffer = xacc.qalloc(ansatz.nLogicalBits())
    self.qpt.METHOD_NAME(buffer)
    return buffer