Пример #1
0
def go(options, run, nRuns):
    override(options, run, nRuns)

    files = ["dummy"] if options.noLoop else search(run)

    if not files:
        printer.warning("Did not find a matching file for run %d." % run)
        return 1, None, None

    files = pruned(files)

    nFiles = len(files)
    if 2 <= nFiles:
        options.file1 = ",".join(files)
        if options.hhmm is None:
            options.sparseLoop = max(1, options.nEventsMax / nFiles)
        else:
            options.sparseLoop = -1
    else:
        options.file1 = files[0]
        sw.set_default_feds1(options)

    if not options.quiet:
        report(files)

    return oneRun.main(options)
Пример #2
0
def histogrammed(prefix, feds, split=1118):
    roots = []
    feds1s = []
    feds2s = []

    comp = toCompare(feds, split, [718, 719])
    for fed, (root1, rootOut) in sorted(feds.iteritems()):
        if fed in comp:
            continue

        if comp and fed == split:
            for cfed in comp:
                print "comparison of %4d to %4d:" % (cfed, fed)
                options.feds1 = str(cfed)
                options.file1 = feds[cfed][0]
                options.outputFile = feds[cfed][1]

                options.file2 = root1
                options.feds2 = str(fed)

                roots.append(options.outputFile)
                feds1s.append([cfed])
                feds2s.append([fed])
                oneRun.main(options)

        else:
            print "solo %4d:" % fed
            options.feds1 = str(fed)
            options.file1 = root1
            options.outputFile = rootOut

            options.feds2 = ""
            options.file2 = ""

            roots.append(options.outputFile)
            feds1s.append([fed])
            feds2s.append([])
            oneRun.main(options)

    return prefix, roots, feds1s, feds2s
Пример #3
0
def histogrammed(prefix, feds, split=1118):
    roots = []
    feds1s = []
    feds2s = []

    comp = toCompare(feds, split, [718, 719])
    for fed, (root1, rootOut) in sorted(feds.items()):
        if fed in comp:
            continue

        if comp and fed == split:
            for cfed in comp:
                print("comparison of %4d to %4d:" % (cfed, fed))
                options.feds1 = str(cfed)
                options.file1 = feds[cfed][0]
                options.outputFile = feds[cfed][1]

                options.file2 = root1
                options.feds2 = str(fed)

                roots.append(options.outputFile)
                feds1s.append([cfed])
                feds2s.append([fed])
                oneRun.main(options)

        else:
            print("solo %4d:" % fed)
            options.feds1 = str(fed)
            options.file1 = root1
            options.outputFile = rootOut

            options.feds2 = ""
            options.file2 = ""

            roots.append(options.outputFile)
            feds1s.append([fed])
            feds2s.append([])
            oneRun.main(options)

    return prefix, roots, feds1s, feds2s
Пример #4
0
def main(options, args, quiet=False):
    if len(args) != 1:
        sys.exit("Please provide a run number as the argument.")
    try:
        run = int(args[0])
    except ValueError:
        sys.exit("Could not convert %s to int." % args[0])

    subdet = "HBHE" if options.hbhe else "HF"
    options.feds1 = subdet
    options.feds2 = "u%s" % subdet
    options.outputFile = "output/%d_%s.root" % (run, subdet)

    override(options, quiet, run)

    if options.noLoop:  # skip file finding
        options.file1 = "dummy"
        oneRun.main(options)
        return

    paths = {1: None, 2: None}
    if run < 246908:  # 2015-06-03  first 13 TeV stable beams
        paths.update({3: "/store/data/Commissioning2015/HcalNZS/RAW/v1",
                      4: "/store/express/Commissioning2015/ExpressPhysics/FEVT/Express-v1",
                      5: "/store/express/Commissioning2015/ExpressCosmics/FEVT/Express-v1",
                      6: "/store/data/Commissioning2015/Cosmics/RAW/v1",
                      7: "/store/data/Commissioning2015/MinimumBias/RAW/v1",
                      })
    elif run < 250985:
        paths.update({# 3: "/store/data/Run2015A/HcalNZS/RAW/v1",
                      4: "/store/express/Run2015A/ExpressPhysics/FEVT/Express-v1/",
                      })

    else:
        paths.update({# 3: "/store/data/Run2015B/HcalNZS/RAW/v1",
                      4: "/store/express/Run2015B/ExpressPhysics/FEVT/Express-v1/",
                      })

    for iFind, grDir in sorted(paths.iteritems()):
        if grDir is None:
            options.file1 = eval("find%d" % iFind)(run)
        else:
            options.file1 = find_gr(run, grDir, options.hhmm, quiet)

        if not options.file1:
            continue

        fileNames = options.file1.split(",")
        report(fileNames, iFind)

        n = len(fileNames)
        if 2 <= n and options.hhmm is None:
            options.sparseLoop = max(1, options.nEvents / n)
        else:
            options.sparseLoop = -1

        options.file2 = ""  # clear from previous iterations
        if oneRun.main(options):
            continue
        else:
            return

    printer.warning("Did not find a matching file for run %d.  Perhaps try 'source env/lxplus6.sh'" % run)
    return 1
Пример #5
0
def main(options, args, quiet=False):
    if len(args) != 1:
        sys.exit("Please provide a run number as the argument.")
    try:
        run = int(args[0])
    except ValueError:
        sys.exit("Could not convert %s to int." % args[0])

    subdet = "HBHE" if not options.hf else "HF"
    options.feds1 = subdet
    options.feds2 = "u%s" % subdet
    options.outputFile = "output/%d_%s.root" % (run, subdet)

    override(options, quiet, run)

    if options.noLoop:  # skip file finding
        options.file1 = "dummy"
        oneRun.main(options)
        return

    paths = {1: None, 2: None}
    if run < 246908:  # 2015-06-03  first 13 TeV stable beams
        paths.update({
            3: "/store/data/Commissioning2015/HcalNZS/RAW/v1",
            4:
            "/store/express/Commissioning2015/ExpressPhysics/FEVT/Express-v1",
            5:
            "/store/express/Commissioning2015/ExpressCosmics/FEVT/Express-v1",
            6: "/store/data/Commissioning2015/Cosmics/RAW/v1",
            7: "/store/data/Commissioning2015/MinimumBias/RAW/v1",
        })
    elif run < 250985:
        paths.update({# 3: "/store/data/Run2015A/HcalNZS/RAW/v1",
                      4: "/store/express/Run2015A/ExpressPhysics/FEVT/Express-v1/",
                      })

    else:
        paths.update({
            3: "/store/data/Run2016A/HcalNZS/RAW/v1",
            4: "/store/data/Run2016A/ZeroBias1/RAW/v1",
        })

    for iFind, grDir in sorted(paths.iteritems()):
        if grDir is None:
            options.file1 = eval("find%d" % iFind)(run)
        else:
            options.file1 = find_gr(run, grDir, options.hhmm, quiet)

        if not options.file1:
            continue

        fileNames = options.file1.split(",")
        report(fileNames, iFind)

        n = len(fileNames)
        if 2 <= n and options.hhmm is None:
            options.sparseLoop = max(1, options.nEvents / n)
        else:
            options.sparseLoop = -1

        options.file2 = ""  # clear from previous iterations
        if oneRun.main(options):
            continue
        else:
            return

    printer.warning(
        "Did not find a matching file for run %d.  Perhaps try 'source env/lxplus6.sh'"
        % run)
    return 1