CMS 3D CMS Logo

Functions | Variables
mkLumiAveragedPlots Namespace Reference

Functions

def decodeLine (line, index, type)
 
def getIntLumi (tuples)
 
def getLumiPerIoV (start_run, end_run=0)
 
def getLumiPerRun (run)
 
def getTuples (inputDir, filterNumbers=[])
 
def getTuplesMC (inputDir)
 
def isNumber (this)
 
def log (log_type="", text="")
 
def makeAveragedFile (tuples, intLumi, objName="")
 
def parser ()
 

Variables

 _dir = config['validation']['mergeFile'].replace("{}","")
 
dictionary _lumiMC = {}
 
def args = parser()
 Main code: More...
 
 argv = sys.argv
 
 basedir = _dir.replace("{}","")
 
 config = json.load(configFile)
 
 csvwriter = csv.writer(csvfile, delimiter=' ')
 DATA: CREATE LUMI FILE FOR FINALIZATION JOB. More...
 
list inputDirData = []
 Input directory checks. More...
 
list inputDirMC = []
 
def intLumi = getIntLumi(tuples)
 
list IOVs = []
 
tuple isDMR = (config['type'] == "DMR")
 
tuple isPV = (config['type'] == "PV")
 JSON lumifiles checks. More...
 
 lumiMC = config['validation']['lumiMC']
 
 lumiPerIoV = config['validation']['lumiPerIoV']
 
 lumiPerRun = config['validation']['lumiPerRun']
 
 nFiles = len(config['validation']['mergeFile'])
 
string objName = ""
 
string outFileName = ""
 
dictionary plotInfo = {}
 
 plotter = DMRplotter(plotInfo)
 
bool skipLast = False
 
 subdir = _dir.replace("{}",str(config['validation']['IOV'][0]))
 
bool subDirMissing = False
 
 tuple = _list[0]
 
def tupleFinal = getTuples(inputDir)
 Get list of python dictionaries:
{ 'file' : previously merged file, 'number' : [], 'lumi' : corresponding lumi from previous jobs}. More...
 
dictionary tupleGroupsMC = {}
 MC: FIRST DEFINE MC GROUPS THEN MERGE ALL MC IN GROUP WITH CORRESPONDING LUMI SCALE. More...
 
def tuples = getTuples(inputDir,IOVs)
 Get list of python dictionaries:
{ 'file' : file name, 'number' : IoV/run number, 'lumi' : corresponding luminosity}. More...
 
list tuples_total = []
 DATA: PERFORM INITIAL MERGE OR FINALIZE PV: EACH FOLDER CONSIDERED TO BE ONE OBJECT, DMR: (MULTIPLE) OBJECTS DECIDED IMPLICITELY. More...
 
string whichValidation = ""
 Style optional checks. More...
 

Function Documentation

◆ decodeLine()

def mkLumiAveragedPlots.decodeLine (   line,
  index,
  type 
)

Definition at line 46 of file mkLumiAveragedPlots.py.

References python.rootplot.root2matplotlib.replace(), and submitPVValidationJobs.split().

Referenced by getLumiPerIoV(), and getLumiPerRun().

46 def decodeLine(line,index,type):
47  if "txt" in type:
48  return line.strip('\n').split(" ")[index]
49  elif "csv" in type:
50  return line.strip('\r\n').replace("\t"," ").split(" ")[index]
51 
def decodeLine(line, index, type)
def replace(string, replacements)

◆ getIntLumi()

def mkLumiAveragedPlots.getIntLumi (   tuples)

Definition at line 364 of file mkLumiAveragedPlots.py.

Referenced by getLumiPerRun().

364 def getIntLumi(tuples):
365 
368 
369  intLumi = 0.0
370  for tuple in tuples:
371  if tuple['lumi'] not in [11111,11112]:
372  intLumi += tuple['lumi']
373  return intLumi
374 

◆ getLumiPerIoV()

def mkLumiAveragedPlots.getLumiPerIoV (   start_run,
  end_run = 0 
)

Definition at line 52 of file mkLumiAveragedPlots.py.

References decodeLine(), ALCARECOEcalPhiSym_cff.float, getLumiPerRun(), createfilelist.int, log(), isotrackApplyRegressor.range, and str.

Referenced by getLumiPerRun().

52 def getLumiPerIoV(start_run,end_run = 0):
53 
55  lumi = 0.0
56  foundStartRun = False
57  if end_run > 0:
58  for lumifile in lumiPerRun:
59  f = open(lumifile, "r") for line in f:
60  if int(decodeLine(line,0,lumifile)) in range(start_run,end_run):
61  #log(line.strip('\n').split(" ")[0],lumi,line.strip('\n').split(" ")[1])
62  lumi += float(decodeLine(line,1,lumifile))
63  if int(decodeLine(line,0,lumifile)) == start_run:
64  foundStartRun = True
65  f.close()
66  elif end_run < 0:
67  for lumifile in lumiPerRun:
68  f = open(lumifile, "r")
69  for line in f:
70  if int(decodeLine(line,0,lumifile)) >= start_run:
71  #log(line.strip('\n').split(" ")[0],lumi,line.strip('\n').split(" ")[1])
72  lumi += float(decodeLine(line,1,lumifile))
73  if int(decodeLine(line,0,lumifile)) == start_run:
74  foundStartRun = True
75  f.close()
76  elif end_run == 0:
77  for lumifile in lumiPerIoV:
78  f = open(lumifile, "r")
79  for line in f:
80  first = decodeLine(line,0,lumifile)
81  try:
82  if int(first) == start_run:
83  lumi = float(decodeLine(line,1,lumifile))
84  foundStartRun = True
85  except ValueError:
86  if str(first) == str(start_run):
87  lumi = float(decodeLine(line,1,lumifile))
88  foundStartRun = True
89  f.close()
90 
91  if not foundStartRun:
92  if lumi == 0.0:
93  log("w","Lumi per IoV: "+str(start_run)+" not found.")
94  return 11112
95  return lumi
96 
97 
def decodeLine(line, index, type)
def getLumiPerIoV(start_run, end_run=0)
def log(log_type="", text="")
#define str(s)

◆ getLumiPerRun()

def mkLumiAveragedPlots.getLumiPerRun (   run)

Definition at line 98 of file mkLumiAveragedPlots.py.

References mps_setup.append, decodeLine(), ALCARECOEcalPhiSym_cff.float, getIntLumi(), getLumiPerIoV(), getTuples(), getTuplesMC(), createfilelist.int, isNumber(), log(), makeAveragedFile(), parser(), python.rootplot.root2matplotlib.replace(), submitPVValidationJobs.split(), and str.

Referenced by getLumiPerIoV().

98 def getLumiPerRun(run):
99 
103 
104  lumi = 0.0
105  foundRun = False
106  for lumifile in lumiPerRun:
107  f = open(lumifile, "r") for line in f:
108  if int(decodeLine(line,0,lumifile)) == run:
109  #log(line.strip('\n').split(" ")[0],lumi,line.strip('\n').split(" ")[1])
110  lumi = float(decodeLine(line,1,lumifile))
111  foundRun = True
112  f.close()
113  if not foundRun:
114  log("w","Lumi per run: "+str(run)+" not found.")
115  return 11112
116  return lumi
117 
118 
def decodeLine(line, index, type)
def log(log_type="", text="")
#define str(s)

◆ getTuples()

def mkLumiAveragedPlots.getTuples (   inputDir,
  filterNumbers = [] 
)

Definition at line 119 of file mkLumiAveragedPlots.py.

Referenced by getLumiPerRun().

119 def getTuples(inputDir, filterNumbers=[]):
120 
125 
126  tuples = []
127  if isDMR:
128  valid_files = 0
129  for dirpath,dirs,files in os.walk(inputDir):
130  if len(dirs) == 0: dirs = [""] #needed for finalization jobs
131  for n_dir in dirs:
132  if len(filterNumbers)!=0 and (n_dir not in filterNumbers or not isNumber(n_dir)): continue
133  _number = 0
134  if isNumber(n_dir):
135  _number = int(n_dir)
136  n_dir = n_dir+"/"
137  else:
138  if len(n_dir) > 0:
139  _number = n_dir
140  n_dir = n_dir+"/"
141  else:
142  _number = os.path.join(dirpath,"OfflineValidationSummary.root")
143  if os.path.isfile(os.path.join(dirpath,n_dir+"OfflineValidationSummary.root")):
144  test_root = ROOT.TFile(os.path.join(dirpath,n_dir+"OfflineValidationSummary.root"),"READ")
145  if test_root.IsZombie():
146  log("w",os.path.join(dirpath,n_dir+"OfflineValidationSummary.root")+" is ZOMBIE!")
147  tuples.append({'file' : "invalid.root",
148  'number' : _number,
149  'lumi' : 11111
150  })
151  continue
152  test_root.Close()
153  tuples.append({'file' : os.path.join(dirpath,n_dir+"OfflineValidationSummary.root"),
154  'number' : _number,
155  'lumi' : 0
156  })
157  valid_files += 1
158  else:
159  log("w",os.path.join(dirpath,n_dir+"OfflineValidationSummary.root")+" NOT found! Directory is empty?")
160  tuples.append({'file' : "invalid.root",
161  'number' : _number,
162  'lumi' : 11111
163  })
164  if (valid_files < 2 and config['mode'] != "finalize") or (valid_files < 1 and config['mode'] == "finalize"):
165  log("f","Check input directory. Less than two valid files to merge recognized.")
166  sys.exit(0)
167 
168  elif isPV:
169  for dirpath,dirs,files in os.walk(inputDir):
170  for n_file in files:
171  if "PVValidation" in n_file: #if pass this condition then file exists TODO: check for zombie
172  if isNumber((n_file.split("_")[-1]).split(".")[0]) and os.path.isfile(os.path.join(dirpath,n_file)):
173  tuples.append({'file' : os.path.join(dirpath,n_file),
174  'number' : int((n_file.split("_")[-1]).split(".")[0]),
175  'lumi' : 0
176  })
177  else:
178  log("f","Format for run by run PV results NOT recognised!")
179  sys.exit(0)
180 
181  #sort list based on IoV number and calculate luminosity per IoV (from lumiPerRun or directly from lumiPerIoV)
182  if config['mode'] != "finalize":
183  tuples.sort(key=lambda tuple: tuple['number'])
184  if len(lumiPerRun)!=0:
185  if isDMR:
186  valid_tuples = []
187  for ituple,tuple in enumerate(tuples):
188  if ituple != len(tuples)-1 or len(config['validation']['firstFromNext']) != 0:
189  if int(tuple['lumi']) != 11111: #input is not empty/zombie
190  if ituple == len(tuples)-1:
191  tuple['lumi'] += getLumiPerIoV(tuples[ituple]['number'],int(config['validation']['firstFromNext'][0]))
192  else:
193  tuple['lumi'] += getLumiPerIoV(tuples[ituple]['number'],tuples[ituple+1]['number'])
194  else:
195  _ituple = ituple
196  while _ituple > 0 and int(tuples[_ituple-1]['lumi']) in [11111,11112]:
197  _ituple -= 1
198  if _ituple != 0:
199  if ituple == len(tuples)-1:
200  dLumi = getLumiPerIoV(tuples[ituple]['number'],int(config['validation']['firstFromNext'][0]))
201  else:
202  dLumi = getLumiPerIoV(tuples[ituple]['number'],tuples[ituple+1]['number'])
203  if int(dLumi) not in [11111,11112]: #TODO loop until dLumi is OK
204  tuples[_ituple-1]['lumi'] += dLumi
205  else:
206  dLumi = 0.
207  log("w","Effectively adding luminosity of IoV: "+str(tuples[ituple]['number'])+"(missing file with "+str(dLumi)+") to IoV: "+str(tuples[_ituple-1]['number']))
208  else:
209  __ituple = ituple
210  while __ituple < len(tuples)-1 and int(tuples[__ituple+1]['lumi']) in [11111,11112]:
211  __ituple += 1
212  if __ituple != len(tuples)-1:
213  dLumi = getLumiPerIoV(tuples[ituple]['number'],tuples[ituple+1]['number'])
214  if int(dLumi) not in [11111,11112]: #TODO loop until dLumi is OK
215  tuples[__ituple+1]['lumi'] += dLumi
216  else:
217  dLumi = 0.
218  log("w","Effectively adding luminosity of IoV: "+str(tuples[ituple]['number'])+"(missing file with "+str(dLumi)+") to IoV: "+str(tuples[__ituple+1]['number']))
219  else:
220  if skipLast:
221  log("i","User requested to skip IoV: "+str(tuples[ituple]['number']))
222  else:
223  if int(tuple['lumi']) != 11111: #input is not empty/zombie
224  tuple['lumi'] += getLumiPerIoV(tuples[ituple]['number'],-1)
225  else:
226  _ituple = ituple
227  while _ituple > 0 and int(tuples[_ituple-1]['lumi']) in [11111,11112]:
228  _ituple -= 1
229  if _ituple != 0:
230  dLumi = getLumiPerIoV(tuples[ituple]['number'],-1)
231  if int(dLumi) not in [11111,11112]: #TODO loop until dLumi is OK
232  tuples[_ituple-1]['lumi'] += dLumi
233  else:
234  dLumi = 0.
235  log("w","Effectively adding luminosity of IoV: "+str(tuples[ituple]['number'])+"(missing file with "+str(dLumi)+") to IoV: "+str(tuples[_ituple-1]['number']))
236  else:
237  log("w","No more IOVs in the list to add luminosity from missing IOV"+str(tuples[ituple]['number'])+".")
238 
239  if skipLast:
240  valid_tuples = [ tuple for ituple,tuple in enumerate(tuples) if int(tuple['lumi']) not in [11111,11112] and ituple != len(tuples)-1 ]
241  else:
242  valid_tuples = [ tuple for tuple in tuples if int(tuple['lumi']) not in [11111,11112] ]
243  tuples = valid_tuples
244 
245  elif isPV:
246  for ituple,tuple in enumerate(tuples):
247  tuple['lumi'] = getLumiPerRun(tuple['number'])
248 
249  elif len(lumiPerIoV)!=0 and isDMR:
250  #This will work for finalization jobs as well
251  valid_tuples = []
252  for ituple,tuple in enumerate(tuples):
253  if tuple['lumi'] != 11111: #empty input will not contribute to total average
254  tuple['lumi'] = getLumiPerIoV(tuple['number'])
255  valid_tuples.append(tuple)
256  tuples = valid_tuples
257 
258  return tuples
259 
def getLumiPerIoV(start_run, end_run=0)
def getTuples(inputDir, filterNumbers=[])
def log(log_type="", text="")
#define str(s)

◆ getTuplesMC()

def mkLumiAveragedPlots.getTuplesMC (   inputDir)

Definition at line 260 of file mkLumiAveragedPlots.py.

Referenced by getLumiPerRun().

260 def getTuplesMC(inputDir):
261 
267 
268  tuples = {}
269  if isPV:
270  for dirpath,dirs,files in os.walk(inputDir):
271  for file in files:
272  if "PVValidation" in file:
273  if len(file.split("_")) == 3:
274  period = file.split("_")[1]
275  if period not in tuples:
276  tuples[period] = []
277  tuples[period].append({ 'file' : os.path.join(dirpath,file),
278  'lumi' : 1
279  })
280  else:
281  tuples[period].append({ 'file' : os.path.join(dirpath,file),
282  'lumi' : 1
283  })
284  elif len(file.split("_")) == 2:
285  if ".root" in file.split("_")[1]:
286  period = file.split("_")[1].replace(".root","")
287  if period not in tuples:
288  tuples[period] = []
289  tuples[period].append({ 'file' : os.path.join(dirpath,file),
290  'lumi' : 1
291  })
292  else:
293  tuples[period].append({ 'file' : os.path.join(dirpath,file),
294  'lumi' : 1
295  })
296  else:
297  log("e","No extension found for PV MC input files.")
298  sys.exit(0)
299  else:
300  log("w","Incorrect format for <period> tag inside PV MC input-file names. Char \"_\" is not allowed inside tag.")
301  elif isDMR:
302  inputFile = os.path.join(inputDir,"OfflineValidationSummary.root")
303  period = (inputDir.split("/")[-2])
304  tuples[period] = []
305  if os.path.isfile(inputFile):
306  tuples[period].append({ 'file' : inputFile,
307  'lumi' : 1})
308  else:
309  tuples[period].append({ 'file' : "invalid.root",
310  'lumi' : 11111})
311 
312  return tuples
313 
314 
def replace(string, replacements)
def log(log_type="", text="")

◆ isNumber()

def mkLumiAveragedPlots.isNumber (   this)

Definition at line 39 of file mkLumiAveragedPlots.py.

References createfilelist.int.

Referenced by getLumiPerRun(), and CandIsolatorFromDeposits::SingleDeposit.SingleDeposit().

39 def isNumber(this):
40  try:
41  int(this)
42  return True
43  except ValueError:
44  return False
45 

◆ log()

def mkLumiAveragedPlots.log (   log_type = "",
  text = "" 
)

Definition at line 13 of file mkLumiAveragedPlots.py.

References createfilelist.int, print(), and str.

Referenced by getLumiPerIoV(), and getLumiPerRun().

13 def log(log_type="",text=""):
14 
21 
22  v = int(sys.version_info[0])
23  source = "mkLumiAveragedPlots: "
24  text = str(text)
25  if v == 3:
26  if "i" in log_type:
27  print(source,"[INFO] ",text)
28  elif "n" in log_type:
29  print(" ",text)
30  elif "w" in log_type:
31  print(source,"[WARNING] ",text)
32  elif "e" in log_type:
33  print(source,"[ERROR] ",text)
34  elif "f" in log_type:
35  print(source,"[FATAL] ",text)
36  else:
37  print(text)
38 
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47
def log(log_type="", text="")
#define str(s)

◆ makeAveragedFile()

def mkLumiAveragedPlots.makeAveragedFile (   tuples,
  intLumi,
  objName = "" 
)

Definition at line 315 of file mkLumiAveragedPlots.py.

Referenced by getLumiPerRun().

315 def makeAveragedFile(tuples,intLumi,objName=""):
316 
321 
322  fileArgument = ""
323  weightArgument = ""
324  haddwsDir = ""
325  #cmd_bare = ""
326 
327  countTest = 0.0
328  for ituple,tuple in enumerate(tuples):
329  if str(tuple['lumi']) not in ['11111','11112']: #will not include 11111=non-existing input,11112=non-existing lumi record
330  if tuple['lumi']/intLumi > -1.:#1e-6: #will not include 'almost zero' lumi input (not digestible by haddws)
331  fileArgument += tuple['file']+" "
332  weightArgument += str(format(tuple['lumi']/intLumi,'.20f'))+" "
333  #cmd_bare += tuple['file']+" "+str(format(tuple['lumi']/intLumi,'.20f'))+"\n"
334  countTest += tuple['lumi']/intLumi
335  else:
336  log("i","Not including IOV "+str(tuple['number'])+" for weighting: "+str(tuple['lumi']))
337 
338  if countTest < 1.0:
339  log("w","Normalization factor: "+str(format(countTest,'.20f'))+" is less than 1.")
340  if len(weightArgument.split(" ")) != len(fileArgument.split(" ")):
341  log("e","There is "+str(len(fileArgument.split(" ")))+"rootfiles but "+str(len(weightArgument.split(" ")))+" weights.")
342  else:
343  log("i","Real number of files to merge is: "+str(len(fileArgument.split(" "))-1))
344 
345  #f = open("haddws_command.txt", "w")
346  #f.write(cmd_bare)
347  #f.close()
348  #sys.exit(0)
349 
350  cmd = haddwsDir+"haddws "+fileArgument+weightArgument+" > haddws.out 2> haddws.err"
351  log("i","Running haddws.C")
352  os.system(cmd)
353 
354  #Store result file in output
355  outFileName = ""
356  if isDMR:
357  if objName != "" and not objName.startswith("_"): objName = "_"+objName
358  outFileName = os.path.join(config['output'],"OfflineValidationSummary"+objName+".root")
359  elif isPV:
360  outFileName = os.path.join(config['output'],"result"+objName+".root")
361  if os.path.isfile("./result.root"):
362  os.system("mv result.root "+outFileName)
363 
def makeAveragedFile(tuples, intLumi, objName="")
def log(log_type="", text="")
#define str(s)

◆ parser()

def mkLumiAveragedPlots.parser ( )

Definition at line 375 of file mkLumiAveragedPlots.py.

Referenced by getLumiPerRun().

375 def parser():
376  sys.argv = argv
377  parser = argparse.ArgumentParser(description = "run the python plots for the AllInOneTool validations", formatter_class=argparse.RawTextHelpFormatter)
378  parser.add_argument("config", metavar='config', type=str, action="store", help="Averager AllInOneTool config (json/yaml format)")
379  parser.add_argument("-b", "--batch", action = "store_true", help ="Batch mode")
380 
381  #sys.argv.append('-b')
382  #ROOT.gROOT.SetBatch()
383  return parser.parse_args()
384 

Variable Documentation

◆ _dir

mkLumiAveragedPlots._dir = config['validation']['mergeFile'].replace("{}","")
private

Definition at line 431 of file mkLumiAveragedPlots.py.

◆ _lumiMC

dictionary mkLumiAveragedPlots._lumiMC = {}
private

Definition at line 528 of file mkLumiAveragedPlots.py.

◆ args

def mkLumiAveragedPlots.args = parser()

Main code:

  • parse local config
  • run sanity checks
  • prepare average file (PV or DMR) using external C macro
  • (and) or run plotting macros

Definition at line 394 of file mkLumiAveragedPlots.py.

◆ argv

mkLumiAveragedPlots.argv = sys.argv

Definition at line 3 of file mkLumiAveragedPlots.py.

◆ basedir

◆ config

mkLumiAveragedPlots.config = json.load(configFile)

Definition at line 397 of file mkLumiAveragedPlots.py.

◆ csvwriter

mkLumiAveragedPlots.csvwriter = csv.writer(csvfile, delimiter=' ')

DATA: CREATE LUMI FILE FOR FINALIZATION JOB.

Definition at line 641 of file mkLumiAveragedPlots.py.

◆ inputDirData

list mkLumiAveragedPlots.inputDirData = []

Input directory checks.

Definition at line 421 of file mkLumiAveragedPlots.py.

◆ inputDirMC

list mkLumiAveragedPlots.inputDirMC = []

Definition at line 422 of file mkLumiAveragedPlots.py.

◆ intLumi

def mkLumiAveragedPlots.intLumi = getIntLumi(tuples)

Definition at line 602 of file mkLumiAveragedPlots.py.

Referenced by HcalDbHardcode.makePFCut().

◆ IOVs

list mkLumiAveragedPlots.IOVs = []

Definition at line 423 of file mkLumiAveragedPlots.py.

◆ isDMR

tuple mkLumiAveragedPlots.isDMR = (config['type'] == "DMR")

Definition at line 503 of file mkLumiAveragedPlots.py.

◆ isPV

tuple mkLumiAveragedPlots.isPV = (config['type'] == "PV")

◆ lumiMC

dictionary mkLumiAveragedPlots.lumiMC = config['validation']['lumiMC']

Definition at line 507 of file mkLumiAveragedPlots.py.

◆ lumiPerIoV

list mkLumiAveragedPlots.lumiPerIoV = config['validation']['lumiPerIoV']

Definition at line 506 of file mkLumiAveragedPlots.py.

◆ lumiPerRun

list mkLumiAveragedPlots.lumiPerRun = config['validation']['lumiPerRun']

Definition at line 505 of file mkLumiAveragedPlots.py.

◆ nFiles

◆ objName

◆ outFileName

mkLumiAveragedPlots.outFileName = ""

Definition at line 607 of file mkLumiAveragedPlots.py.

Referenced by main(), makeTKTrend(), and ZdcTBAnalysis.setup().

◆ plotInfo

dictionary mkLumiAveragedPlots.plotInfo = {}

Definition at line 678 of file mkLumiAveragedPlots.py.

◆ plotter

◆ skipLast

mkLumiAveragedPlots.skipLast = False

Definition at line 544 of file mkLumiAveragedPlots.py.

◆ subdir

◆ subDirMissing

bool mkLumiAveragedPlots.subDirMissing = False

Definition at line 435 of file mkLumiAveragedPlots.py.

◆ tuple

mkLumiAveragedPlots.tuple = _list[0]

Definition at line 654 of file mkLumiAveragedPlots.py.

Referenced by edmStreamStallGrapher.StallMonitorParser.__init__(), edmTracerCompactLogViewer.TracerCompactFileParser.__init__(), edmModuleAllocMonitorAnalyze.ModuleAllocCompactFileParser.__init__(), frozendict.frozendict.__new__(), mps_alisetup.SetupAlignment._create_weight_configs(), edm::ProductRegistry.aliasToModules(), BaseTnPEfficiencyTask.analyze(), BtlLocalRecoValidation.analyze(), EtlLocalRecoValidation.analyze(), edm::SoATuple< edm::EDConsumerBase::TokenLookupInfo, bool, edm::EDConsumerBase::LabelPlacement, edm::KindOfType >.begin(), utilities.cache(), ticl::TracksterP4FromEnergySum.calcP4(), python.rootplot.core.cartesian_product(), GenObject.GenObject.changeLabel(), cms::soa::SoAParametersImpl< SoAColumnType::eigen, T >.checkAlignment(), core.ProvenanceAnalyzer.ProvenanceAnalyzer.cmsswVNums(), l1tGTAlgoBlockProducer_cff.collectAlgorithmPaths(), edm::soa::Table< edm::soa::col::Pt, edm::soa::col::Eta, edm::soa::col::Phi, edm::soa::col::Vz >.copyFromToWithResize(), edm::soa::MutableRowView< Args >.copyValuesUsingFiller(), plotscripts.corrections2D(), runTheMatrix.TheMatrix.do_runWorkflow(), geometryDiffVisualization.draw_disk(), edm::SoATuple< edm::EDConsumerBase::TokenLookupInfo, bool, edm::EDConsumerBase::LabelPlacement, edm::KindOfType >.end(), fit::LikelihoodEvaluator< PDF, Tuple >.evaluate(), edm::soa::Table< Args >::CtrFillerFromAOS.fillElement(), edm::soa::Table< Args >::CtrFillerFromAOS.fillElementUsingFiller(), cmsswSequenceInfo.formatsequenceinfo(), edm::SoATuple< edm::EDConsumerBase::TokenLookupInfo, bool, edm::EDConsumerBase::LabelPlacement, edm::KindOfType >.get(), createIOVlist.getFileInfo(), MTDCPEBase.getParameters(), PixelCPEBase.getParameters(), edmtest::ThinningTestAnalyzer.getThinned(), edm::detail.getThinnedProduct(), edm::refcore.getThinnedProduct_(), edm::detail.getThinnedProductsOnSlimmingDepth(), geometryXMLparser.DTAlignable.index(), geometryXMLparser.CSCAlignable.index(), compareHistograms.is_blacklisted(), ConvertingESProducerWithDependenciesT< CombinedRecord< DepsRecords... >, Target, Dependencies... >::WalkAndCall< N, Types >.iterate(), GenObject.GenObject.loadConfigFile(), PixelClusterParameterEstimator.localParametersV(), MTDClusterParameterEstimator.localParametersV(), LumiToRun.lumi_to_run(), ProvenanceDumper.makeBranchIDListHelper(), edm::detail.makeThinnedIndexes(), mergeLHE.DefaultLHEMerger.merge_init_blocks(), cmsswConfigtrace.new_items_(), std.operator<<(), edm::soa::Table< Args >::CtrFillerFromAOS.presize(), das-selected-lumis.process_lumi(), edmTracerCompactLogViewer.processingStepsFromFile(), edmModuleAllocMonitorAnalyze.processingStepsFromFile(), edmStreamStallGrapher.processingStepsFromStallMonitorOutput(), MTDTrackingRecHitProducer.produce(), python.readProv.filereader.readfile(), edm::soa::Table< edm::soa::col::Pt, edm::soa::col::Eta, edm::soa::col::Phi, edm::soa::col::Vz >.resetStartingAt(), edm::soa::Table< edm::soa::col::Pt, edm::soa::col::Eta, edm::soa::col::Phi, edm::soa::col::Vz >.resizeFromTo(), tfaot::Model< W >.run(), cms::SiPixelRecHitConverter.run(), generateGeometry.GeometryGenerator.run(), cmsswSequenceInfo.serve(), showPage.BuildViewer.showResults(), edm::detail::ThinnedOrSlimmedProduct.slimmedAssociation(), edm::detail::ThinnedOrSlimmedProduct.thinnedProduct(), jetTools.UpdateJetCollection.toolCode(), cmsswConfigtrace.trace_location(), compareHistograms.traverse_till_end(), root2sqlite.treetotable(), and Formatter.SimpleAsciiFormatter.writeRow().

◆ tupleFinal

def mkLumiAveragedPlots.tupleFinal = getTuples(inputDir)

Get list of python dictionaries:
{ 'file' : previously merged file, 'number' : [], 'lumi' : corresponding lumi from previous jobs}.

Definition at line 626 of file mkLumiAveragedPlots.py.

◆ tupleGroupsMC

dictionary mkLumiAveragedPlots.tupleGroupsMC = {}

MC: FIRST DEFINE MC GROUPS THEN MERGE ALL MC IN GROUP WITH CORRESPONDING LUMI SCALE.

Definition at line 649 of file mkLumiAveragedPlots.py.

◆ tuples

def mkLumiAveragedPlots.tuples = getTuples(inputDir,IOVs)

Get list of python dictionaries:
{ 'file' : file name, 'number' : IoV/run number, 'lumi' : corresponding luminosity}.

Definition at line 601 of file mkLumiAveragedPlots.py.

◆ tuples_total

list mkLumiAveragedPlots.tuples_total = []

DATA: PERFORM INITIAL MERGE OR FINALIZE PV: EACH FOLDER CONSIDERED TO BE ONE OBJECT, DMR: (MULTIPLE) OBJECTS DECIDED IMPLICITELY.

Definition at line 594 of file mkLumiAveragedPlots.py.

◆ whichValidation

mkLumiAveragedPlots.whichValidation = ""

Style optional checks.

Stat plot settings checks Printout details

Definition at line 586 of file mkLumiAveragedPlots.py.