-
Notifications
You must be signed in to change notification settings - Fork 0
/
checkCCUs.py
59 lines (47 loc) · 1.81 KB
/
checkCCUs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#! /usr/bin/env python
import ROOT
from ROOT import TFile, TTree, gROOT, addressof
import sys
import numpy as np
import os
from math import floor, isnan
from array import array
def splitArgs(arg):
argvSplit = []
for par in arg:
par = par.split(",")
argvSplit.extend(par)
return argvSplit
def calcEventWeights(year,dataset):
##############################################################################
#MAIN
##############################################################################
def main(argv):
argvSplit = splitArgs(argv)
yearRef = ['2015','2016','2017','2018']
datasetRef = ['HT1000to1500','HT1500to2000','HT2000toInf']
if '--help' in argv or '-h' in argv or '--h' in argv:
print("--------------------------------------------------------------------------------------------")
print("-- Formatting for input: python calcPileupWeights.py 2016,2017 HT2000toInf,HT1500to2000 --")
print("-- Other options: allYears, allDatasets --")
print("-- 2016 = 2016postVFP, 2016 = 2016preVFP --")
if 'allYears' in argv:
years = yearRef
else:
years = [ year for year in yearRef if year in argvSplit]
if 'allDatasets' in argv:
datasets = datasetRef
else:
datasets = [dataset for dataset in datasetRef if dataset in argvSplit]
if (( len(years) + len(datasets) ) < 1):
print("wrong inputs: enter the data years you want (separated by a comma, allYears for all) and datasets you want (allDatasets for all)")
return
for year in years:
for dataset in datasets:
print("Calculating btagging event weights for %s %s."%(year,dataset))
calcEventWeights(year,dataset)
print("Finished with %s %s."%(year,dataset))
if __name__ == "__main__":
main(sys.argv[1:])
if __name__ == "__main__":
main(sys.argv[1:])