CMS 3D CMS Logo

Functions | Variables
alignmentValidation Namespace Reference

Functions

def createCanvasesList (fname="canvases_list.js")
 
def createCanvasToIDList (fname="canvas2id_list.js")
 
def createDirectoryStructure (iteration_name)
 
def dirToID (d)
 
def doCurvaturePlotsDT (dt_basedir, tfiles_plotting)
 
def doFitFunctionsPlotsCSC (csc_basedir, iter_tfile, iter_reports)
 
def doFitFunctionsPlotsDT (dt_basedir, iter_tfile, iter_reports)
 
def doIterationPlots (iteration_directory, tfiles_plotting, iter_tfile, iter_reports)
 
def doMapPlotsCSC (csc_basedir, tfiles_plotting)
 
def doMapPlotsDT (dt_basedir, tfiles_plotting)
 
def doSegDiffPlotsCSC (csc_basedir, tfiles_plotting, iter_reports)
 
def doSegDiffPlotsDT (dt_basedir, tfiles_plotting, iter_reports)
 
def idsForFile (dir_name, file_name)
 
def isFileUnderDir (dir_name, file_name)
 functions definitions More...
 
def saveAs (nm)
 

Variables

 action
 
string allOptions = "-l "
 
 args
 
 binsdxdz
 
 binsdydz
 
 binsx
 
 binsy
 
 c1 = ROOT.TCanvas("c1","c1",800,600)
 do drawing More...
 
list CANVASES_LIST_TEMPLATE
 
string comdir = "common/"
 setup output: More...
 
 default
 
 dest
 
bool DO_CSC = False
 
bool DO_CURVATURE = False
 
 DO_DIAGNOSTIC = options.diagnostic
 
bool DO_DT = False
 
bool DO_FIT = False
 
bool DO_MAP = False
 
bool DO_MEDIAN = False
 
bool DO_SEGDIFF = False
 
string fname = options.inputDir+'/'
 main script More...
 
 help
 
 i1prefix = options.i1prefix
 
 iNprefix = options.iNprefix
 
list iter1_reports = []
 
 iter1_tfile = None
 
string iteration1 = "iter1"
 
string iterationN = "iterN"
 
list iterN_reports = []
 
 iterN_tfile = None
 
 options
 
 outdir = options.outputDir
 
 parser = optparse.OptionParser(usage)
 
 pic_ids = createCanvasToIDList("canvas2id_list.js")
 
int QUICKTESTN = 10000
 
bool SINGLE_ITERATION = False
 
list tfiles1_plotting = []
 
list tfilesN_plotting = []
 
 type
 
string usage = '%prog [options]\n'
 To parse commandline args. More...
 
 windowdxdz
 
 windowdydz
 
 windowx
 
 windowy
 

Function Documentation

def alignmentValidation.createCanvasesList (   fname = "canvases_list.js")
Use CANVASES_LIST_TEMPLATE as a template to create a canvases list include for the browser.
   Write out only those canvases which have existing filename.png plots.

Definition at line 861 of file alignmentValidation.py.

References isFileUnderDir(), and edm.print().

861 def createCanvasesList(fname="canvases_list.js"):
862  '''Use CANVASES_LIST_TEMPLATE as a template to create a canvases list include for the browser.
863  Write out only those canvases which have existing filename.png plots.
864  '''
865  CANVASES_LIST = []
866  for scope in CANVASES_LIST_TEMPLATE:
867  scope_entry = []
868  if len(scope)>2:
869  scope_entry = [scope[0],scope[1]]
870  for canvas_entry in scope[2:]:
871  if isFileUnderDir("./",canvas_entry[1]):
872  scope_entry.append(canvas_entry)
873  CANVASES_LIST.append(scope_entry)
874 
875  ff = open(fname,mode="w")
876  print("var CANVASES_LIST = ", file=ff)
877  json.dump(CANVASES_LIST,ff)
878  ff.close()
879 
880 
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def createCanvasesList(fname="canvases_list.js")
def isFileUnderDir(dir_name, file_name)
functions definitions
def alignmentValidation.createCanvasToIDList (   fname = "canvas2id_list.js")
Writes out a canvas-2-ids list include for the browser.
   Write out only those canvases which have existing filename.png plots.
   Returns: list of unique IDs that have existing filename.png plots.

Definition at line 881 of file alignmentValidation.py.

References cmsPerfStripChart.dict, idsForFile(), list(), and edm.print().

881 def createCanvasToIDList(fname="canvas2id_list.js"):
882  '''Writes out a canvas-2-ids list include for the browser.
883  Write out only those canvases which have existing filename.png plots.
884  Returns: list of unique IDs that have existing filename.png plots.
885  '''
886  CANVAS2ID_LIST = []
887  ID_LIST = []
888  for scope in CANVASES_LIST_TEMPLATE:
889  if len(scope)>2:
890  for canvas_entry in scope[2:]:
891  ids = idsForFile("./",canvas_entry[1])
892  # scope_entry.append(canvas_entry)
893  # uniquify:
894  set_ids = set(ids)
895  uids = list(set_ids)
896  ID_LIST.extend(uids)
897  print(canvas_entry, ":", len(uids), "ids")
898  if (len(uids)>0):
899  CANVAS2ID_LIST.append( (canvas_entry[1],uids) )
900  #print CANVAS2ID_LIST
901  CANVAS2ID_LIST_DICT = dict(CANVAS2ID_LIST)
902  #print CANVAS2ID_LIST_DICT
903  ff = open(fname,mode="w")
904  print("var CANVAS2ID_LIST = ", file=ff)
905  json.dump(CANVAS2ID_LIST_DICT,ff)
906  ff.close()
907  set_ids = set(ID_LIST)
908  return list(set_ids)
909 
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def createCanvasToIDList(fname="canvas2id_list.js")
def idsForFile(dir_name, file_name)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
def alignmentValidation.createDirectoryStructure (   iteration_name)

Definition at line 308 of file alignmentValidation.py.

References edm.print().

308 def createDirectoryStructure(iteration_name):
309 
310  if not os.access(iteration_name,os.F_OK):
311  os.mkdir(iteration_name)
312 
313  csc_basedir = iteration_name+'/'
314  for endcap in CSC_TYPES:
315  #print csc_basedir+endcap[0]
316  shutil.rmtree(csc_basedir+endcap[0],True)
317  os.mkdir(csc_basedir+endcap[0])
318  for station in endcap[2]:
319  #print csc_basedir+endcap[0]+'/'+station[1]
320  os.mkdir(csc_basedir+endcap[0]+'/'+station[1])
321  for ring in station[2]:
322  #print csc_basedir+endcap[0]+'/'+station[1]+'/'+ring[1]
323  os.mkdir(csc_basedir+endcap[0]+'/'+station[1]+'/'+ring[1])
324  for chamber in range(1,ring[2]+1):
325  schamber = "%02d" % chamber
326  #print csc_basedir+endcap[0]+'/'+station[1]+'/'+ring[1]+'/'+schamber
327  os.mkdir(csc_basedir+endcap[0]+'/'+station[1]+'/'+ring[1]+'/'+schamber)
328 
329  dt_basedir = iteration_name+'/MB/'
330  #print dt_basedir
331  shutil.rmtree(dt_basedir,True)
332  os.mkdir(dt_basedir)
333  for wheel in DT_TYPES:
334  #print dt_basedir+wheel[0]
335  os.mkdir(dt_basedir+wheel[0])
336  for station in wheel[2]:
337  #print dt_basedir+wheel[0]+'/'+station[1]
338  os.mkdir(dt_basedir+wheel[0]+'/'+station[1])
339  for sector in range(1,station[2]+1):
340  ssector = "%02d" % sector
341  #print dt_basedir+wheel[0]+'/'+station[1]+'/'+ssector
342  os.mkdir(dt_basedir+wheel[0]+'/'+station[1]+'/'+ssector)
343 
344  print(os.getcwd())
345 
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def createDirectoryStructure(iteration_name)
def alignmentValidation.dirToID (   d)

Definition at line 929 of file alignmentValidation.py.

Referenced by idsForFile().

929 def dirToID(d):
930  if d[-1]!='/': d += '/'
931  dtn = d.find("/MB/")
932  if dtn!=-1:
933  return d[dtn+4:-1]
934  cscn = d.find("/ME-/")
935  if cscn!=-1:
936  return 'ME-'+d[cscn+5:-1]
937  cscn = d.find("/ME+/")
938  if cscn!=-1:
939  return 'ME+'+d[cscn+5:-1]
940  return ''
941 
942 
def alignmentValidation.doCurvaturePlotsDT (   dt_basedir,
  tfiles_plotting 
)
write DT curvature plots

"wheel%s_sector%s" % (wheel, sector)

wheel in "m2", "m1", "z", "p1", "p2"
station 1 only!
sector in "01", ..., "12"

"param" may be one of 
  "deltax" (Delta x position residuals),
  "deltadxdz" (Delta (dx/dz) angular residuals),
  "curverr" (Delta x * d(Delta q/pT)/d(Delta x) = Delta q/pT in the absence of misalignment) - not necessary

made for all (wheel,station=1,sector) combinations

Interface: could be accesses through a general DT chambers map for station=1 chambers.

Definition at line 540 of file alignmentValidation.py.

References plotscripts.curvatureplot(), edm.print(), and saveAs().

Referenced by doIterationPlots().

540 def doCurvaturePlotsDT(dt_basedir, tfiles_plotting):
541  """write DT curvature plots
542 
543  "wheel%s_sector%s" % (wheel, sector)
544 
545  wheel in "m2", "m1", "z", "p1", "p2"
546  station 1 only!
547  sector in "01", ..., "12"
548 
549  "param" may be one of
550  "deltax" (Delta x position residuals),
551  "deltadxdz" (Delta (dx/dz) angular residuals),
552  "curverr" (Delta x * d(Delta q/pT)/d(Delta x) = Delta q/pT in the absence of misalignment) - not necessary
553 
554  made for all (wheel,station=1,sector) combinations
555 
556  Interface: could be accesses through a general DT chambers map for station=1 chambers."""
557 
558  w_dict = {'-2':'m2', '-1':'m1', '0':'z', '1':'p1', '2':'p2'}
559  qcount = 0
560  for wheel in DT_TYPES:
561  if wheel[1]=="ALL": continue
562  #station = 1
563  #station = wheel[2][0]
564  for station in wheel[2]:
565  print("curv in ", wheel[0]+'/'+station[1])
566  for sector in range(1,station[2]+1):
567  #if sector>12: break
568  if qcount>QUICKTESTN: break
569  qcount += 1
570  ssector = "%02d" % sector
571  pdir = dt_basedir+'/'+wheel[0]+'/'+station[1]+'/'+ssector+'/'
572  label = "wheel%s_st%s_sector%s" % (w_dict[wheel[1]], station[1], ssector)
573  thetitle ="Wheel %s, station %s, sector %s" % (wheel[1], station[1], ssector)
574  curvatureplot(tfiles_plotting, label, "deltax", title=thetitle, window=10., fitline=True)
575  saveAs(pdir+'dt_curvature_deltax.png')
576  curvatureplot(tfiles_plotting, label, "deltadxdz", title=thetitle, window=10., fitline=True)
577  saveAs(pdir+'dt_curvature_deltadxdz.png')
578 
579 
580 
def curvatureplot(tfiles, name, param, mode="from2d", window=15., widebins=False, title="", fitgauss=False, fitconst=False, fitline=False, fitpeaks=True, reset_palette=False)
"param" may be one of "deltax" (Delta x position residuals), "deltadxdz" (Delta (dx/dz) angular resid...
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def doCurvaturePlotsDT(dt_basedir, tfiles_plotting)
def alignmentValidation.doFitFunctionsPlotsCSC (   csc_basedir,
  iter_tfile,
  iter_reports 
)
write fit functions plots for CSC

   CSC bellcurves and polynomials

set of plots of bellcurves
  rphi, drphidz, rphi vs. drphidz

set of plots of polynomials
  rphi vs. rphi pos,    rphi vs drphidz angle
  drphidz vs. rphi pos, drphidz vs drphidz angle

made for all (endcap,station,ring,chamber) combinations

Interface: could be accesses through a general CSC chambers map.

Definition at line 797 of file alignmentValidation.py.

References plotscripts.bellcurves(), plotscripts.clearDDT(), plotscripts.polynomials(), edm.print(), and saveAs().

Referenced by doIterationPlots().

797 def doFitFunctionsPlotsCSC(csc_basedir, iter_tfile, iter_reports):
798  """write fit functions plots for CSC
799 
800  CSC bellcurves and polynomials
801 
802  set of plots of bellcurves
803  rphi, drphidz, rphi vs. drphidz
804 
805  set of plots of polynomials
806  rphi vs. rphi pos, rphi vs drphidz angle
807  drphidz vs. rphi pos, drphidz vs drphidz angle
808 
809  made for all (endcap,station,ring,chamber) combinations
810 
811  Interface: could be accesses through a general CSC chambers map."""
812 
813  qcount = 0
814  clearDDT()
815  for endcap in CSC_TYPES:
816  for station in endcap[2]:
817  for ring in station[2]:
818  if ring[1]=="ALL": continue
819  print(endcap[0]+'/'+station[1]+'/'+ring[1])
820  for chamber in range(1,ring[2]+1):
821  if qcount>QUICKTESTN: break
822  qcount += 1
823  schamber = "%02d" % chamber
824  pdir = csc_basedir+'/'+endcap[0]+'/'+station[1]+'/'+ring[1]+'/'+schamber+'/'
825  label = "ME%s%s%s_%s" % (endcap[1], station[1], ring[1], schamber)
826  bellcurves(iter_tfile, iter_reports, label, False)
827  #c1.SaveAs(pdir+'csc_bellcurves.png')
828  saveAs(pdir+'csc_bellcurves.png')
829  polynomials(iter_tfile, iter_reports, label, False)
830  #c1.SaveAs(pdir+'csc_polynomials.png')
831  saveAs(pdir+'csc_polynomials.png')
832  #printDeltaTs()
833 
834 
835 
def clearDDT()
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def doFitFunctionsPlotsCSC(csc_basedir, iter_tfile, iter_reports)
def polynomials(tfile, reports, name, twobin=True, suppressblue=False)
def bellcurves(tfile, reports, name, twobin=True, suppressblue=False)
def alignmentValidation.doFitFunctionsPlotsDT (   dt_basedir,
  iter_tfile,
  iter_reports 
)
write fit functions plots for DT

   DT bellcurves and polynomials

set of plots of bellcurves
  x, dxdz, x vs. dxdz (for all 4 stations)
  y, dydz, x vs. dxdz (only for stations 1-3?)

set of plots of polynomials -- for stations 1-3 only??
  x vs. xpos,    x vs ypos,    x vs dxdz angle,    x vs dydz angle
  y vs. xpos,    y vs ypos,    y vs dxdz angle,    y vs dydz angle
  dxdz vs. xpos, dxdz vs ypos, dxdz vs dxdz angle, dxdz vs dydz angle
  dydz vs. xpos, dydz vs ypos, dydz vs dxdz angle, dydz vs dydz angle

set of plots of polynomials -- for station 4 only??
  x vs. xpos,    x vs dxdz angle
  dxdz vs. xpos, dxdz vs dxdz angle

made for all (wheel,station,sector) combinations

Interface: could be accesses through a general DT chambers map.

Definition at line 753 of file alignmentValidation.py.

References plotscripts.bellcurves(), plotscripts.clearDDT(), createfilelist.int, plotscripts.polynomials(), edm.print(), saveAs(), and plotscripts.wheelLetter().

Referenced by doIterationPlots().

753 def doFitFunctionsPlotsDT(dt_basedir, iter_tfile, iter_reports):
754  """write fit functions plots for DT
755 
756  DT bellcurves and polynomials
757 
758  set of plots of bellcurves
759  x, dxdz, x vs. dxdz (for all 4 stations)
760  y, dydz, x vs. dxdz (only for stations 1-3?)
761 
762  set of plots of polynomials -- for stations 1-3 only??
763  x vs. xpos, x vs ypos, x vs dxdz angle, x vs dydz angle
764  y vs. xpos, y vs ypos, y vs dxdz angle, y vs dydz angle
765  dxdz vs. xpos, dxdz vs ypos, dxdz vs dxdz angle, dxdz vs dydz angle
766  dydz vs. xpos, dydz vs ypos, dydz vs dxdz angle, dydz vs dydz angle
767 
768  set of plots of polynomials -- for station 4 only??
769  x vs. xpos, x vs dxdz angle
770  dxdz vs. xpos, dxdz vs dxdz angle
771 
772  made for all (wheel,station,sector) combinations
773 
774  Interface: could be accesses through a general DT chambers map."""
775 
776  qcount = 0
777  clearDDT()
778  for wheel in DT_TYPES:
779  if wheel[1]=="ALL": continue
780  for station in wheel[2]:
781  print(wheel[0]+'/'+station[1])
782  for sector in range(1,station[2]+1):
783  if qcount>QUICKTESTN: break
784  qcount += 1
785  ssector = "%02d" % sector
786  pdir = dt_basedir+'/'+wheel[0]+'/'+station[1]+'/'+ssector+'/'
787  label = "MBwh%sst%ssec%s" % (wheelLetter(int(wheel[1])),station[1],ssector)
788  bellcurves(iter_tfile, iter_reports, label, False)
789  #c1.SaveAs(pdir+'dt_bellcurves.png')
790  saveAs(pdir+'dt_bellcurves.png')
791  polynomials(iter_tfile, iter_reports, label, False)
792  #c1.SaveAs(pdir+'dt_polynomials.png')
793  saveAs(pdir+'dt_polynomials.png')
794  #printDeltaTs()
795 
796 
def clearDDT()
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def doFitFunctionsPlotsDT(dt_basedir, iter_tfile, iter_reports)
def polynomials(tfile, reports, name, twobin=True, suppressblue=False)
def bellcurves(tfile, reports, name, twobin=True, suppressblue=False)
def wheelLetter(wheel)
Definition: plotscripts.py:38
def alignmentValidation.doIterationPlots (   iteration_directory,
  tfiles_plotting,
  iter_tfile,
  iter_reports 
)

Definition at line 836 of file alignmentValidation.py.

References doCurvaturePlotsDT(), doFitFunctionsPlotsCSC(), doFitFunctionsPlotsDT(), doMapPlotsCSC(), doMapPlotsDT(), doSegDiffPlotsCSC(), and doSegDiffPlotsDT().

836 def doIterationPlots(iteration_directory, tfiles_plotting, iter_tfile, iter_reports):
837  dt_basedir = iteration_directory+'/'+'MB'
838  csc_basedir = iteration_directory+'/'
839 
840  if DO_DT and DO_MAP:
841  doMapPlotsDT(dt_basedir, tfiles_plotting)
842  if DO_CSC and DO_MAP:
843  doMapPlotsCSC(csc_basedir, tfiles_plotting)
844 
845  if DO_DT and DO_CURVATURE:
846  doCurvaturePlotsDT(dt_basedir, tfiles_plotting)
847  #if DO_CSC and DO_CURVATURE:
848  # doCurvaturePlotsCSC(csc_basedir, tfiles_plotting)
849 
850  if DO_DT and DO_SEGDIFF:
851  doSegDiffPlotsDT(dt_basedir, tfiles_plotting, iter_reports)
852  if DO_CSC and DO_SEGDIFF:
853  doSegDiffPlotsCSC(csc_basedir, tfiles_plotting, iter_reports)
854 
855  if DO_DT and DO_FIT:
856  doFitFunctionsPlotsDT(dt_basedir, iter_tfile, iter_reports)
857  if DO_CSC and DO_FIT:
858  doFitFunctionsPlotsCSC(csc_basedir, iter_tfile, iter_reports)
859 
860 
def doFitFunctionsPlotsCSC(csc_basedir, iter_tfile, iter_reports)
def doMapPlotsCSC(csc_basedir, tfiles_plotting)
def doFitFunctionsPlotsDT(dt_basedir, iter_tfile, iter_reports)
def doMapPlotsDT(dt_basedir, tfiles_plotting)
def doCurvaturePlotsDT(dt_basedir, tfiles_plotting)
def doSegDiffPlotsCSC(csc_basedir, tfiles_plotting, iter_reports)
def doSegDiffPlotsDT(dt_basedir, tfiles_plotting, iter_reports)
def doIterationPlots(iteration_directory, tfiles_plotting, iter_tfile, iter_reports)
def alignmentValidation.doMapPlotsCSC (   csc_basedir,
  tfiles_plotting 
)
write CSC map plots

   "CSCvsphi_me%s%d%d" % (endcap, station, ring)

plots "integrated" over ALL SECTORS:
of rphi, drphi/dz vs. phi
made for all (endcap,station,ring) combinations

Interface: may be arranged into two station(1 .. 4) vs. R(1 .. 4) maps for both endcaps
with R range (1 .. 4) for stations 2-4
   It could be incorporated into a general CSC chambers map (column1: endcap, column2: station,
column3: ring, columns4-40 correspond to chamber #) by making ring numbers in column 3
clickable.


   "CSCvsr_me%s%dch%02d" % (endcap, station, chamberNumber)

plots "integrated" over ALL RINGS:
of rphi, drphi/dz vs. z
made for all (endcap,station,chamber) combinations

Interface: may be arranged into two station(1 .. 4) vs. chamber(1 .. 36) maps for both endcaps
It could be incorporated into an EXTENDED general CSC chambers map (extended by adding an
identifier "ALL" in column3 for ring number).

   "CSCvsr_me%s%dchALL" % (endcap, station)

plots spanning over ALL RINGS along r and integrated over all SECTORS:
of rphi, drphi/dz vs. z
made for all (endcap,station) combinations

Interface: may be arranged into two station(1 .. 4) maps for both endcaps
It could be incorporated into an EXTENDED general CSC chambers map (extended by adding an
identifier "ALL" in column3 for ring number).

Definition at line 454 of file alignmentValidation.py.

References plotscripts.mapplot(), and plotscripts.saveTestResultsMap().

Referenced by doIterationPlots().

454 def doMapPlotsCSC(csc_basedir, tfiles_plotting):
455  """write CSC map plots
456 
457  "CSCvsphi_me%s%d%d" % (endcap, station, ring)
458 
459  plots "integrated" over ALL SECTORS:
460  of rphi, drphi/dz vs. phi
461  made for all (endcap,station,ring) combinations
462 
463  Interface: may be arranged into two station(1 .. 4) vs. R(1 .. 4) maps for both endcaps
464  with R range (1 .. 4) for stations 2-4
465  It could be incorporated into a general CSC chambers map (column1: endcap, column2: station,
466  column3: ring, columns4-40 correspond to chamber #) by making ring numbers in column 3
467  clickable.
468 
469 
470  "CSCvsr_me%s%dch%02d" % (endcap, station, chamberNumber)
471 
472  plots "integrated" over ALL RINGS:
473  of rphi, drphi/dz vs. z
474  made for all (endcap,station,chamber) combinations
475 
476  Interface: may be arranged into two station(1 .. 4) vs. chamber(1 .. 36) maps for both endcaps
477  It could be incorporated into an EXTENDED general CSC chambers map (extended by adding an
478  identifier "ALL" in column3 for ring number).
479 
480  "CSCvsr_me%s%dchALL" % (endcap, station)
481 
482  plots spanning over ALL RINGS along r and integrated over all SECTORS:
483  of rphi, drphi/dz vs. z
484  made for all (endcap,station) combinations
485 
486  Interface: may be arranged into two station(1 .. 4) maps for both endcaps
487  It could be incorporated into an EXTENDED general CSC chambers map (extended by adding an
488  identifier "ALL" in column3 for ring number)."""
489 
490  for endcap in CSC_TYPES:
491  for station in endcap[2]:
492  for ring in station[2]:
493  if ring[1]=="ALL": continue
494  pdir = csc_basedir+'/'+endcap[0]+'/'+station[1]+'/'+ring[1]+'/'
495  label = "CSCvsphi_me%s%s%s" % (endcap[1], station[1], ring[1])
496  htitle = "%s%s/%s" % (endcap[0], station[1],ring[1])
497  mapplot(tfiles_plotting, label, "x", window=15., title=htitle, fitsine=True,fitpeaks=True, peaksbins=2)
498  #mapplot(tfiles_plotting, label, "x", window=15., title=htitle, fitsine=True)
499  c1.SaveAs(pdir+'map_CSCvsphi_x.png')
500  mapplot(tfiles_plotting, label, "dxdz", window=15., title=htitle, peaksbins=2)
501  c1.SaveAs(pdir+'map_CSCvsphi_dxdz.png')
502 
503  saveTestResultsMap(options.runLabel)
504 
505  qcount = 0
506  for endcap in CSC_TYPES:
507  for station in endcap[2]:
508  for ring in station[2]:
509  if ring[1]!="ALL": continue
510  for chamber in range(1,ring[2]+1):
511  if qcount>QUICKTESTN: break
512  qcount += 1
513  schamber = "%02d" % chamber
514  pdir = csc_basedir+'/'+endcap[0]+'/'+station[1]+'/'+ring[1]+'/'+schamber+'/'
515  label = "CSCvsr_me%s%sch%s" % (endcap[1], station[1], schamber)
516  htitle = "%s%s/ALL/%d" % (endcap[0], station[1],chamber)
517  mapplot(tfiles_plotting, label, "x", window=15., title=htitle, peaksbins=2)
518  c1.SaveAs(pdir+'map_CSCvsr_x.png')
519  mapplot(tfiles_plotting, label, "dxdz", window=15., title=htitle, peaksbins=2)
520  c1.SaveAs(pdir+'map_CSCvsr_dxdz.png')
521 
522  qcount = 0
523  for endcap in CSC_TYPES:
524  for station in endcap[2]:
525  for ring in station[2]:
526  if ring[1]!="ALL": continue
527  if qcount>QUICKTESTN: break
528  qcount += 1
529  schamber = "%02d" % chamber
530  pdir = csc_basedir+'/'+endcap[0]+'/'+station[1]+'/'+ring[1]+'/'
531  label = "CSCvsr_me%s%schALL" % (endcap[1], station[1])
532  htitle = "%s%s" % (endcap[0], station[1])
533  mapplot(tfiles_plotting, label, "x", window=10., title=htitle, peaksbins=2)
534  c1.SaveAs(pdir+'map_CSCvsr_all_x.png')
535  mapplot(tfiles_plotting, label, "dxdz", window=10., title=htitle, peaksbins=2)
536  c1.SaveAs(pdir+'map_CSCvsr_all_dxdz.png')
537 
538 
539 
def saveTestResultsMap(run_name)
def doMapPlotsCSC(csc_basedir, tfiles_plotting)
def mapplot(tfiles, name, param, mode="from2d", window=10., abscissa=None, title="", widebins=False, fitsine=False, fitline=False, reset_palette=False, fitsawteeth=False, fitpeaks=False, peaksbins=1, fixfitpars={}, args)
def alignmentValidation.doMapPlotsDT (   dt_basedir,
  tfiles_plotting 
)
write DT map plots

   "DTvsphi_st%dwh%s" % (station, wheelletter):

plots "integrated" over ALL SECTORS:
of x, y, dxdz, dydz vs. phi (y and dydz only for stations 1-3)
made for all (station,wheel) combinations

Access interface may be arranged into station(1 .. 4) vs. wheel(-2 .. +2) map.
It could be incorporated into a general DT chambers map (column1: wheel, column2: station,
columns3-16 correspond to sector #) by making station numbers in column 2 clickable.


   "DTvsz_st%dsec%02d" % (station, sector)

plots "integrated" over ALL WHEELS:
of x, y, dxdz, dydz vs. z (y and dydz only for stations 1-3)
made for all (station,sector) combinations

Interface: may be arranged into station(1 .. 4) vs. sector(1 .. 14) map with sector range
(1 .. 12) for stations 1-3.
It could be incorporated into an EXTENDED general DT chambers map (extended by adding an
identifier "ALL" in column1 for wheel number).


   "DTvsz_st%dsecALL" % (station)

plots spanning in z over ALL WHEELS and "integrated" over all sectors:
of x, y, dxdz, dydz vs. z (y and dydz only for stations 1-3)
made for all stations

Interface: may be arranged into station(1 .. 4) map 
It could be incorporated into an EXTENDED general DT chambers map (extended by adding an
identifier "ALL" in column1 for wheel number).

Definition at line 348 of file alignmentValidation.py.

References createfilelist.int, plotscripts.mapplot(), edm.print(), plotscripts.saveTestResultsMap(), and plotscripts.wheelLetter().

Referenced by doIterationPlots().

348 def doMapPlotsDT(dt_basedir, tfiles_plotting):
349  """write DT map plots
350 
351  "DTvsphi_st%dwh%s" % (station, wheelletter):
352 
353  plots "integrated" over ALL SECTORS:
354  of x, y, dxdz, dydz vs. phi (y and dydz only for stations 1-3)
355  made for all (station,wheel) combinations
356 
357  Access interface may be arranged into station(1 .. 4) vs. wheel(-2 .. +2) map.
358  It could be incorporated into a general DT chambers map (column1: wheel, column2: station,
359  columns3-16 correspond to sector #) by making station numbers in column 2 clickable.
360 
361 
362  "DTvsz_st%dsec%02d" % (station, sector)
363 
364  plots "integrated" over ALL WHEELS:
365  of x, y, dxdz, dydz vs. z (y and dydz only for stations 1-3)
366  made for all (station,sector) combinations
367 
368  Interface: may be arranged into station(1 .. 4) vs. sector(1 .. 14) map with sector range
369  (1 .. 12) for stations 1-3.
370  It could be incorporated into an EXTENDED general DT chambers map (extended by adding an
371  identifier "ALL" in column1 for wheel number).
372 
373 
374  "DTvsz_st%dsecALL" % (station)
375 
376  plots spanning in z over ALL WHEELS and "integrated" over all sectors:
377  of x, y, dxdz, dydz vs. z (y and dydz only for stations 1-3)
378  made for all stations
379 
380  Interface: may be arranged into station(1 .. 4) map
381  It could be incorporated into an EXTENDED general DT chambers map (extended by adding an
382  identifier "ALL" in column1 for wheel number)."""
383 
384 
385  for wheel in DT_TYPES:
386  if wheel[1]=="ALL": continue
387  for station in wheel[2]:
388  pdir = dt_basedir+'/'+wheel[0]+'/'+station[1]+'/'
389  label = "DTvsphi_st%dwh%s" % (int(station[1]), wheelLetter(int(wheel[1])))
390  htitle = "wheel %+d, station %s" % (int(wheel[1]), station[1])
391  #mapplot(tfiles_plotting, label, "x", window=25., title=htitle, fitsawteeth=True,fitsine=True)
392  mapplot(tfiles_plotting, label, "x", window=10., title=htitle, fitsine=True,fitpeaks=True,peaksbins=2)
393  c1.SaveAs(pdir+'map_DTvsphi_x.png')
394  #mapplot(tfiles_plotting, label, "dxdz", window=25., title=htitle, fitsawteeth=True,fitsine=True)
395  mapplot(tfiles_plotting, label, "dxdz", window=10., title=htitle,peaksbins=2)
396  c1.SaveAs(pdir+'map_DTvsphi_dxdz.png')
397 
398  if station[1]=='4': continue
399  #mapplot(tfiles_plotting, label, "y", window=25., title=htitle, fitsawteeth=True,fitsine=True)
400  mapplot(tfiles_plotting, label, "y", window=10., title=htitle,peaksbins=2)
401  c1.SaveAs(pdir+'map_DTvsphi_y.png')
402  #mapplot(tfiles_plotting, label, "dydz", window=25., title=htitle, fitsawteeth=True,fitsine=True)
403  mapplot(tfiles_plotting, label, "dydz", window=10., title=htitle,peaksbins=2)
404  c1.SaveAs(pdir+'map_DTvsphi_dydz.png')
405 
406 
407  qcount=0
408  for wheel in DT_TYPES:
409  if wheel[1]!="ALL": continue
410  for station in wheel[2]:
411  for sector in range(1,station[2]+1):
412  if qcount>QUICKTESTN: break
413  qcount += 1
414  ssector = "%02d" % sector
415  pdir = dt_basedir+'/'+wheel[0]+'/'+station[1]+'/'+ssector+'/'
416  label = "DTvsz_st%ssec%s" % (station[1], ssector)
417  htitle = "station %s, sector %d" % (station[1], sector)
418  mapplot(tfiles_plotting, label, "x", window=10., title=htitle, peaksbins=2)
419  c1.SaveAs(pdir+'map_DTvsz_x.png')
420  mapplot(tfiles_plotting, label, "dxdz", window=10., title=htitle, peaksbins=2)
421  c1.SaveAs(pdir+'map_DTvsz_dxdz.png')
422 
423  if station[1]=='4': continue
424  mapplot(tfiles_plotting, label, "y", window=10., title=htitle, peaksbins=2)
425  c1.SaveAs(pdir+'map_DTvsz_y.png')
426  mapplot(tfiles_plotting, label, "dydz", window=10., title=htitle, peaksbins=2)
427  c1.SaveAs(pdir+'map_DTvsz_dydz.png')
428 
429  qcount=0
430  for wheel in DT_TYPES:
431  if wheel[1]!="ALL": continue
432  for station in wheel[2]:
433  if qcount>QUICKTESTN: break
434  qcount += 1
435  pdir = dt_basedir+'/'+wheel[0]+'/'+station[1]+'/'
436  label = "DTvsz_st%ssecALL" % (station[1])
437  htitle = "station %s" % (station[1])
438 
439  print(label, end=' ')
440  mapplot(tfiles_plotting, label, "x", window=10., title=htitle, peaksbins=2)
441  c1.SaveAs(pdir+'map_DTvsz_all_x.png')
442  mapplot(tfiles_plotting, label, "dxdz", window=10., title=htitle, peaksbins=2)
443  c1.SaveAs(pdir+'map_DTvsz_all_dxdz.png')
444 
445  if station[1]=='4': continue
446  mapplot(tfiles_plotting, label, "y", window=10., title=htitle, peaksbins=2)
447  c1.SaveAs(pdir+'map_DTvsz_all_y.png')
448  mapplot(tfiles_plotting, label, "dydz", window=10., title=htitle, peaksbins=2)
449  c1.SaveAs(pdir+'map_DTvsz_all_dydz.png')
450 
451  saveTestResultsMap(options.runLabel)
452 
453 
def saveTestResultsMap(run_name)
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def mapplot(tfiles, name, param, mode="from2d", window=10., abscissa=None, title="", widebins=False, fitsine=False, fitline=False, reset_palette=False, fitsawteeth=False, fitpeaks=False, peaksbins=1, fixfitpars={}, args)
def doMapPlotsDT(dt_basedir, tfiles_plotting)
def wheelLetter(wheel)
Definition: plotscripts.py:38
def alignmentValidation.doSegDiffPlotsCSC (   csc_basedir,
  tfiles_plotting,
  iter_reports 
)
write segment-difference plots for CSC

   segdiff "csc_resid" and "csc_slope"

set of plots of
rphi vs qpt, rphi for positive, rphi for negative ("csc_resid")
drphidz vs qpt, drphidz for positive, drphidz for negative ("csc_slope")
done for ME1-ME2, ME2-ME3, and ME3-ME4 stations combinations with
  endcap "m" or "p" 
  ring 1 or 2
  chamber 1-18 (r1) or 1-36 (r2)
note: there's no ME3-ME4 plots for R2

Interface: could be accessed through a general CSC chambers map, but only for chambers in
stations 2-4 (e.g., station 2 would provide ME1-ME2 plots).

Definition at line 690 of file alignmentValidation.py.

References createfilelist.int, plotscripts.segdiff(), and plotscripts.segdiffvsphicsc().

Referenced by doIterationPlots().

690 def doSegDiffPlotsCSC(csc_basedir, tfiles_plotting, iter_reports):
691  """write segment-difference plots for CSC
692 
693  segdiff "csc_resid" and "csc_slope"
694 
695  set of plots of
696  rphi vs qpt, rphi for positive, rphi for negative ("csc_resid")
697  drphidz vs qpt, drphidz for positive, drphidz for negative ("csc_slope")
698  done for ME1-ME2, ME2-ME3, and ME3-ME4 stations combinations with
699  endcap "m" or "p"
700  ring 1 or 2
701  chamber 1-18 (r1) or 1-36 (r2)
702  note: there's no ME3-ME4 plots for R2
703 
704  Interface: could be accessed through a general CSC chambers map, but only for chambers in
705  stations 2-4 (e.g., station 2 would provide ME1-ME2 plots)."""
706 
707  qcount = 0
708  for iendcap in CSC_TYPES:
709  for istation in iendcap[2]:
710  if istation[1]=="1": continue
711  dstations = (int(istation[1])-1)*10 + int(istation[1])
712  for iring in istation[2]:
713  if iring[1]=="ALL": continue
714  if istation[1]=="4" and iring[1]=="2": continue
715  for ichamber in range(1,iring[2]+1):
716  if qcount>QUICKTESTN: break
717  qcount += 1
718  schamber = "%02d" % ichamber
719  pdir = csc_basedir+'/'+iendcap[0]+'/'+istation[1]+'/'+iring[1]+'/'+schamber+'/'
720  segdiff(tfiles_plotting, "csc_resid", dstations,
721  endcap=iendcap[1], ring=int(iring[1]), chamber=ichamber, window=15.)
722  c1.SaveAs(pdir + 'segdif_csc_resid.png')
723  segdiff(tfiles_plotting, "csc_slope", dstations,
724  endcap=iendcap[1], ring=int(iring[1]), chamber=ichamber, window=15.)
725  c1.SaveAs(pdir + 'segdif_csc_slope.png')
726 
727  """segdiffvsphicsc "csc_resid" and "csc_slope"
728 
729  plot for a specific deltaME station differences:
730  rphi vs phi of pair ("csc_resid")
731  dxdz vs phi of pair ("csc_slope")
732  contains plots for two (or one for ME4-ME3) rings
733  done for ME1-ME2, ME2-ME3, and ME3-ME4 stations combinations with
734  endcap "m" or "p"
735 
736  Interface: could be accessed by clicking on ME station boxes, but only for stations 2-4
737  (e.g., station 2 would provide ME1-ME2 plots)."""
738 
739  qcount = 0
740  for iendcap in CSC_TYPES:
741  for istation in iendcap[2]:
742  if istation[1]=="1": continue
743  dstations = (int(istation[1])-1)*10 + int(istation[1])
744  if qcount>QUICKTESTN: break
745  qcount += 1
746  pdir = csc_basedir+'/'+iendcap[0]+'/'+istation[1]+'/'
747  segdiffvsphicsc(tfiles_plotting, "csc_resid", dstations, window=10., endcap=iendcap[1])
748  c1.SaveAs(pdir + 'segdifphi_csc_resid.png')
749  segdiffvsphicsc(tfiles_plotting, "csc_slope", dstations, window=10., endcap=iendcap[1])
750  c1.SaveAs(pdir + 'segdifphi_csc_slope.png')
751 
752 
def segdiffvsphicsc(tfiles, component, pair, window=5., args)
def doSegDiffPlotsCSC(csc_basedir, tfiles_plotting, iter_reports)
def segdiff(tfiles, component, pair, args)
def alignmentValidation.doSegDiffPlotsDT (   dt_basedir,
  tfiles_plotting,
  iter_reports 
)
write segment-difference plots for DT

   segdiff "dt13_resid" and "dt13_slope"

set of plots of
x vs qpt, x for positive, x for negative ("dt13_resid")
dxdz vs qpt, dxdz for positive, dxdz for negative ("dt13_slope")
done for MB1-MB2, MB2-MB3, and MB3-MB4 stations combinations with all possible (wheel, sector)

Interface: could be accessed through a general DT chambers map, but only for chambers in
stations 2-4 (e.g., station 2 would provide MB1-MB2 plots).

   segdiff "dt2_resid" and "dt2_slope"

set of plots of
y vs q/pt, y for positive, y for negative ("dt2_resid")
dydz vs q/pt, dydz for positive, dydz for negative ("dt2_slope")
done for MB1-MB2, MB2-MB3 stations combinations with all possible (wheel, sector)

Interface: then the interface would still be a general DT map,
but the info only available from station 2 & 3 chambers.

Definition at line 581 of file alignmentValidation.py.

References funct.abs(), createfilelist.int, plotscripts.segdiff(), plotscripts.segdiff_xalign(), plotscripts.segdiffvsphi(), and plotscripts.segdiffvsphi_xalign().

Referenced by doIterationPlots().

581 def doSegDiffPlotsDT(dt_basedir, tfiles_plotting, iter_reports):
582  """write segment-difference plots for DT
583 
584  segdiff "dt13_resid" and "dt13_slope"
585 
586  set of plots of
587  x vs qpt, x for positive, x for negative ("dt13_resid")
588  dxdz vs qpt, dxdz for positive, dxdz for negative ("dt13_slope")
589  done for MB1-MB2, MB2-MB3, and MB3-MB4 stations combinations with all possible (wheel, sector)
590 
591  Interface: could be accessed through a general DT chambers map, but only for chambers in
592  stations 2-4 (e.g., station 2 would provide MB1-MB2 plots).
593 
594  segdiff "dt2_resid" and "dt2_slope"
595 
596  set of plots of
597  y vs q/pt, y for positive, y for negative ("dt2_resid")
598  dydz vs q/pt, dydz for positive, dydz for negative ("dt2_slope")
599  done for MB1-MB2, MB2-MB3 stations combinations with all possible (wheel, sector)
600 
601  Interface: then the interface would still be a general DT map,
602  but the info only available from station 2 & 3 chambers."""
603 
604  qcount = 0
605  for iwheel in DT_TYPES:
606  if iwheel[1]=="ALL": continue
607  for istation in iwheel[2]:
608  if istation[1]=="1": continue
609  dstations = (int(istation[1])-1)*10 + int(istation[1])
610  #print dstations
611  for isector in range(1, istation[2] + 1):
612  if isector > 12: continue
613  if qcount>QUICKTESTN: break
614  qcount += 1
615  ssector = "%02d" % isector
616  pdir = dt_basedir + '/' + iwheel[0] + '/' + istation[1] + '/' + ssector + '/'
617 
618  segdiff(tfiles_plotting, "dt13_resid", dstations, wheel=int(iwheel[1]), sector=isector, window=15.)
619  c1.SaveAs(pdir + 'segdif_dt13_resid.png')
620  segdiff(tfiles_plotting, "dt13_slope", dstations, wheel=int(iwheel[1]), sector=isector, window=15.)
621  c1.SaveAs(pdir + 'segdif_dt13_slope.png')
622 
623  if istation[1] != '4':
624  segdiff(tfiles_plotting, "dt2_resid", dstations, wheel=int(iwheel[1]), sector=isector, window=15.)
625  c1.SaveAs(pdir + 'segdif_dt2_resid.png')
626  segdiff(tfiles_plotting, "dt2_slope", dstations, wheel=int(iwheel[1]), sector=isector, window=15.)
627  c1.SaveAs(pdir + 'segdif_dt2_slope.png')
628 
629  qcount = 0
630  for iwheel in DT_TYPES:
631  if iwheel[1]=="ALL": continue
632  if abs(int(iwheel[1])) != 2: continue
633  for istation in iwheel[2]:
634  if istation[1]=="3": continue
635  #print dstations
636  for isector in range(1, istation[2] + 1):
637  ssector = "%02d" % isector
638  pdir = dt_basedir + '/' + iwheel[0] + '/' + istation[1] + '/' + ssector + '/'
639  if istation[1]=="1":
640  segdiff_xalign(tfiles_plotting, "x_dt1_csc", wheel=int(iwheel[1]), sector=isector, cscstations = "12")
641  c1.SaveAs(pdir + 'segdif_x_dt_csc_resid.png')
642  if istation[1]=="2":
643  segdiff_xalign(tfiles_plotting, "x_dt2_csc", wheel=int(iwheel[1]), sector=isector, cscstations = "1")
644  c1.SaveAs(pdir + 'segdif_x_dt_csc_resid.png')
645 
646  """segdiffvsphi "dt13_resid" and "dt13_slope"
647 
648  plot for a specific wheel #:
649  x vs phi of pair ("dt13_resid")
650  dxdz vs phi of pair ("dt13_slope")
651  contains all three combinations of neighboring stations
652  made for all possible wheel values
653 
654  Interface: could be accessed by clicking on wheel number under the "wheel" column
655  in a general DT map
656 
657  segdiffvsphi "dt2_resid" and "dt2_slope"
658 
659  plot for a specific wheel #:
660  y vs phi of pair ("dt2_resid")
661  dydz vs phi of pair ("dt2_slope")
662  contains both MB1-MB2 and MB2-MB3 combinations
663  made for all possible wheel values
664 
665  Interface: could be accessed by clicking on wheel number under the "wheel" column
666  in a general DT map"""
667 
668  if len(iter_reports)==0: return
669 
670  for iwheel in DT_TYPES:
671  if iwheel[1]=="ALL": continue
672  pdir = dt_basedir + '/' + iwheel[0] + '/'
673  segdiffvsphi(tfiles_plotting, iter_reports, "dt13_resid", int(iwheel[1]), window=10.)#, excludesectors=(1,7))
674  c1.SaveAs(pdir + 'segdifphi_dt13_resid.png')
675  segdiffvsphi(tfiles_plotting, iter_reports, "dt13_slope", int(iwheel[1]), window=10.)#, excludesectors=(1,7))
676  c1.SaveAs(pdir + 'segdifphi_dt13_slope.png')
677  segdiffvsphi(tfiles_plotting, iter_reports, "dt2_resid", int(iwheel[1]), window=10.)#, excludesectors=(1,7))
678  c1.SaveAs(pdir + 'segdifphi_dt2_resid.png')
679  segdiffvsphi(tfiles_plotting, iter_reports, "dt2_slope", int(iwheel[1]), window=15.)#, excludesectors=(1,7))
680  c1.SaveAs(pdir + 'segdifphi_dt2_slope.png')
681 
682  for iwheel in DT_TYPES:
683  if iwheel[1]=="ALL": continue
684  if abs(int(iwheel[1])) != 2: continue
685  pdir = dt_basedir + '/' + iwheel[0] + '/'
686  segdiffvsphi_xalign(tfiles_plotting, int(iwheel[1]), window=10.)
687  c1.SaveAs(pdir + 'segdifphi_x_dt_csc_resid.png')
688 
689 
def segdiffvsphi_xalign(tfiles, wheel, window=10.)
def segdiff_xalign(tfiles, component, args)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
def segdiffvsphi(tfiles, reports, component, wheel, window=5., excludesectors=())
def segdiff(tfiles, component, pair, args)
def doSegDiffPlotsDT(dt_basedir, tfiles_plotting, iter_reports)
def alignmentValidation.idsForFile (   dir_name,
  file_name 
)
Recursively looks for file named file_name under dir_name directory
and fill the list with dir names converted to IDs 

Definition at line 910 of file alignmentValidation.py.

References dirToID().

Referenced by createCanvasToIDList().

910 def idsForFile(dir_name, file_name):
911  '''Recursively looks for file named file_name under dir_name directory
912  and fill the list with dir names converted to IDs
913  '''
914  id_list = []
915  for f in os.listdir(dir_name):
916  dirfile = os.path.join(dir_name, f)
917  if os.path.isfile(dirfile) and f==file_name:
918  if file_name[-4:]=='.php': id_list.append(dir_name+'/'+file_name)
919  else: id_list.append(dirToID(dir_name))
920  # recursively access file names in subdirectories
921  elif os.path.isdir(dirfile):
922  #print "Accessing directory:", dirfile
923  ids = idsForFile(dirfile, file_name)
924  if (len(ids)>0):
925  id_list.extend(ids)
926  return id_list
927 
928 
def idsForFile(dir_name, file_name)
def alignmentValidation.isFileUnderDir (   dir_name,
  file_name 
)

functions definitions

Recursively looks for file named file_name under dir_name directory

Definition at line 280 of file alignmentValidation.py.

Referenced by createCanvasesList().

280 def isFileUnderDir(dir_name, file_name):
281  '''Recursively looks for file named file_name under dir_name directory
282  '''
283  if not DO_DT and dir_name.find("MB")>-1:
284  return False
285  if not DO_CSC and dir_name.find("ME")>-1:
286  return False
287 
288  for f in os.listdir(dir_name):
289  dirfile = os.path.join(dir_name, f)
290  if os.path.isfile(dirfile) and f==file_name:
291  return True
292  # recursively access file names in subdirectories
293  elif os.path.isdir(dirfile):
294  #print "Accessing directory:", dirfile
295  if isFileUnderDir(dirfile, file_name): return True
296  return False
297 
298 
299 # to time saving of plots
def isFileUnderDir(dir_name, file_name)
functions definitions
def alignmentValidation.saveAs (   nm)

Definition at line 300 of file alignmentValidation.py.

Referenced by doCurvaturePlotsDT(), doFitFunctionsPlotsCSC(), and doFitFunctionsPlotsDT().

300 def saveAs(nm):
301  t1 = time.time()
302  ddt[15] += 1
303  c1.SaveAs(nm)
304  tn = time.time()
305  ddt[16] = 1./ddt[15]*((ddt[15]-1)*ddt[16] + tn-t1)
306 
307 

Variable Documentation

alignmentValidation.action

Definition at line 81 of file alignmentValidation.py.

string alignmentValidation.allOptions = "-l "

Definition at line 199 of file alignmentValidation.py.

alignmentValidation.args

Definition at line 145 of file alignmentValidation.py.

alignmentValidation.binsdxdz

Definition at line 1039 of file alignmentValidation.py.

alignmentValidation.binsdydz

Definition at line 1039 of file alignmentValidation.py.

alignmentValidation.binsx
alignmentValidation.binsy
alignmentValidation.c1 = ROOT.TCanvas("c1","c1",800,600)

do drawing

Definition at line 1024 of file alignmentValidation.py.

Referenced by reco::CompositeCandidate.addDaughter(), reco::NamedCompositeCandidate.addDaughter(), HcalPulseShapes.analyticPulseShapeSiPMHO(), DimuonStatistics.analyze(), GlbMuQualityCutsAnalysis.analyze(), reco::NamedCompositeCandidate.applyRoles(), reco::CompositeCandidate.applyRoles(), TwoBodyDecayModel.cartesianSecondaryMomenta(), condbon.cdbon_write(), checkPhiInRange(), NamedCandCombinerBase.combine(), CandCombinerBase< OutputCollection, CandPtr >.combine(), UrbanMscModel93.ComputeCrossSectionPerAtom(), TwoBodyDecayDerivatives.dqsdm(), TwoBodyDecayDerivatives.dqsdphi(), TwoBodyDecayDerivatives.dqsdpx(), TwoBodyDecayDerivatives.dqsdpy(), TwoBodyDecayDerivatives.dqsdpz(), TwoBodyDecayDerivatives.dqsdtheta(), DTNoiseComputation.endJob(), HOCalibAnalyzer.endJob(), fastInvertPDM2(), SiStripQualityDQM.fillGrandSummaryMEs(), SiStripPedestalsDQM.fillSummaryMEs(), SiStripApvGainsDQM.fillSummaryMEs(), SiStripBackPlaneCorrectionDQM.fillSummaryMEs(), SiStripLorentzAngleDQM.fillSummaryMEs(), SiStripQualityDQM.fillSummaryMEs(), SiStripBaseCondObjDQM.fillSummaryMEs(), heppy::Davismt2.find_high(), hitfit::Chisq_Constrainer.fit(), DTLinearFit.fitNpar(), SiStripCablingDQM.getActiveDetIds(), lumi::fPoly.getCorrection(), GridInterpolator3DException.GridInterpolator3DException(), MonitorElementsDb.htmlOutput(), PFDisplacedVertexHelper.identifyVertex(), identity(), CSCWireGeometry.intersection(), CSCLayerGeometry.intersectionOfTwoLines(), PerigeeConversions.jacobianParameters2Cartesian(), PFDisplacedVertexHelper.lambdaCP(), CSCWireGeometry.lengthOfPlane(), EvolutionECAL.LightCollectionEfficiency(), EvolutionECAL.LightCollectionEfficiencyWeighted(), CSCRadialStripTopology.localError(), TkRadialStripTopology.localError(), main(), makePlots(), FastTrackerRecHitMatcher.match(), SiStripRecHitMatcher.match(), GlobalTrackerMuonAlignment.misalignMuon(), GlobalTrackerMuonAlignment.misalignMuonL(), heppy::Davismt2.mt2_bisect(), heppy::Davismt2.nsols(), funct::GaussIntegrator.operator()(), PhiInterval.PhiInterval(), PFAlgo.processBlock(), DimuonMCMatcher.produce(), proxim(), CSCTFPtMethods.Pt3Stn(), DTConfigDBProducer.readDTCCBConfig(), RectangularEtaPhiRegion.RectangularEtaPhiRegion(), helpers::NamedCompositeCandidateMaker.release(), helpers::CompositePtrCandidateMaker.release(), UrbanMscModel93.SampleCosineTheta(), PFSCEnergyCalibration.SCCorrEtEtaBarrel(), MonitorElement.setAccumulate(), heppy::mt2w_bisect::mt2w.teco(), align.toMatrix(), VVIObj.VVIObj(), sistripvvi::VVIObj.VVIObj(), VVIObjF.VVIObjF(), CSCWireGeometry.wireEnds(), GlobalTrackerMuonAlignment.writeGlPosRcd(), DistanceToCell.~DistanceToCell(), and MatcherUsingTracksAlgorithm.~MatcherUsingTracksAlgorithm().

list alignmentValidation.CANVASES_LIST_TEMPLATE

Definition at line 223 of file alignmentValidation.py.

string alignmentValidation.comdir = "common/"

setup output:

Definition at line 1009 of file alignmentValidation.py.

alignmentValidation.default

Definition at line 40 of file alignmentValidation.py.

alignmentValidation.dest

Definition at line 41 of file alignmentValidation.py.

bool alignmentValidation.DO_CSC = False

Definition at line 168 of file alignmentValidation.py.

bool alignmentValidation.DO_CURVATURE = False

Definition at line 183 of file alignmentValidation.py.

alignmentValidation.DO_DIAGNOSTIC = options.diagnostic

Definition at line 197 of file alignmentValidation.py.

bool alignmentValidation.DO_DT = False

Definition at line 167 of file alignmentValidation.py.

bool alignmentValidation.DO_FIT = False

Definition at line 184 of file alignmentValidation.py.

bool alignmentValidation.DO_MAP = False

Definition at line 181 of file alignmentValidation.py.

bool alignmentValidation.DO_MEDIAN = False

Definition at line 185 of file alignmentValidation.py.

bool alignmentValidation.DO_SEGDIFF = False

Definition at line 182 of file alignmentValidation.py.

string alignmentValidation.fname = options.inputDir+'/'

main script

Definition at line 958 of file alignmentValidation.py.

Referenced by L1TMuonGlobalParams.absIsoCheckMemLUTPath(), L1TMuonGlobalParamsHelper.absIsoCheckMemLUTPath(), HcalTBWriter.analyze(), EcalSRCondTools.analyze(), L1TMuonGlobalParams.bEtaExtrapolationLUTPath(), L1TMuonGlobalParamsHelper.bEtaExtrapolationLUTPath(), L1TMuonGlobalParams.bONegMatchQualLUTPath(), L1TMuonGlobalParamsHelper.bONegMatchQualLUTPath(), L1TMuonGlobalParams.bOPosMatchQualLUTPath(), L1TMuonGlobalParamsHelper.bOPosMatchQualLUTPath(), L1TMuonGlobalParams.bPhiExtrapolationLUTPath(), L1TMuonGlobalParamsHelper.bPhiExtrapolationLUTPath(), clangcms::EDMPluginDumper.checkASTDecl(), convert_boolean(), dd_to_html(), GeometryInfoDump.dumpInfo(), ExternalLHEAsciiDumper.endRun(), L1TMuonGlobalParams.fEtaExtrapolationLUTPath(), L1TMuonGlobalParamsHelper.fEtaExtrapolationLUTPath(), FileBlob.FileBlob(), L1TMuonGlobalParams.fONegMatchQualLUTPath(), L1TMuonGlobalParamsHelper.fONegMatchQualLUTPath(), L1TMuonGlobalParams.fOPosMatchQualLUTPath(), L1TMuonGlobalParamsHelper.fOPosMatchQualLUTPath(), L1TMuonGlobalParams.fPhiExtrapolationLUTPath(), L1TMuonGlobalParamsHelper.fPhiExtrapolationLUTPath(), L1TMuonGlobalParams.fwdNegSingleMatchQualLUTPath(), L1TMuonGlobalParamsHelper.fwdNegSingleMatchQualLUTPath(), L1TMuonGlobalParams.fwdPosSingleMatchQualLUTPath(), L1TMuonGlobalParamsHelper.fwdPosSingleMatchQualLUTPath(), MatacqProducer.getMatacqFile(), popcon::EcalTPGSpikeThresholdfromFile.getNewObjects(), popcon::EcalSRPHandler.getNewObjects(), popcon::EcalTPGPhysicsConstfromFile.getNewObjects(), popcon::EcalLaser_weekly_Linearization.getNewObjects(), popcon::EcalLaser_weekly_Linearization_Check.getNewObjects(), popcon::EcalTPGPedfromFile.getNewObjects(), popcon::EcalTPGLinPed.getNewObjects(), popcon::EcalLaser_weekly_Handler.getNewObjects(), DDLSAX2Handler.getSpaceCount(), TrackingUtility.goToDir(), SiStripUtility.goToDir(), L1TMuonGlobalParams.idxSelMemEtaLUTPath(), L1TMuonGlobalParamsHelper.idxSelMemEtaLUTPath(), L1TMuonGlobalParams.idxSelMemPhiLUTPath(), L1TMuonGlobalParamsHelper.idxSelMemPhiLUTPath(), clangcms::support.isConst(), load_dddefinition(), L1MuGMTLUT.LookupFunctionPacked(), main(), l1t::MicroGMTAbsoluteIsolationCheckLUT.MicroGMTAbsoluteIsolationCheckLUT(), l1t::MicroGMTCaloIndexSelectionLUT.MicroGMTCaloIndexSelectionLUT(), l1t::MicroGMTExtrapolationLUT.MicroGMTExtrapolationLUT(), l1t::MicroGMTRelativeIsolationCheckLUT.MicroGMTRelativeIsolationCheckLUT(), MuonResiduals5DOFFitter.ndata(), MuonResiduals6DOFrphiFitter.ndata(), MuonResiduals6DOFFitter.ndata(), L1TMuonGlobalParams.oEtaExtrapolationLUTPath(), L1TMuonGlobalParamsHelper.oEtaExtrapolationLUTPath(), HcalLuttoDB.openChecksums(), HcalLuttoDB.openPerCrate(), HcalLuttoDB.openPerLut1(), HcalLuttoDB.openPerLut2(), L1TMuonGlobalParams.oPhiExtrapolationLUTPath(), L1TMuonGlobalParamsHelper.oPhiExtrapolationLUTPath(), L1TMuonGlobalParams.ovlNegSingleMatchQualLUTPath(), L1TMuonGlobalParamsHelper.ovlNegSingleMatchQualLUTPath(), L1TMuonGlobalParams.ovlPosSingleMatchQualLUTPath(), L1TMuonGlobalParamsHelper.ovlPosSingleMatchQualLUTPath(), DDLParser.parseFile(), PlotCombiner(), SiStripInformationExtractor.plotHistosFromLayout(), MODCCSHFDat.populateClob(), IODConfig.populateClob(), L1TTwinMuxRawToDigi.processFed(), RPCTriggerConfig.produce(), L1TMuonGlobalParams.relIsoCheckMemLUTPath(), L1TMuonGlobalParamsHelper.relIsoCheckMemLUTPath(), ODLTCConfig.setParameters(), ODTTCFConfig.setParameters(), ODTTCciConfig.setParameters(), ODDCCConfig.setParameters(), ODSRPConfig.setParameters(), ODLaserConfig.setParameters(), gen::Pythia6Service.setSLHAFromHeader(), CmsShowMain.setupDataHandling(), L1TMuonGlobalParams.sortRankLUTPath(), L1TMuonGlobalParamsHelper.sortRankLUTPath(), splitString(), and MODCCSHFDat.writeDB().

alignmentValidation.help

Definition at line 38 of file alignmentValidation.py.

alignmentValidation.i1prefix = options.i1prefix

Definition at line 156 of file alignmentValidation.py.

alignmentValidation.iNprefix = options.iNprefix

Definition at line 159 of file alignmentValidation.py.

alignmentValidation.iter1_reports = []

Definition at line 961 of file alignmentValidation.py.

alignmentValidation.iter1_tfile = None

Definition at line 960 of file alignmentValidation.py.

string alignmentValidation.iteration1 = "iter1"

Definition at line 1010 of file alignmentValidation.py.

string alignmentValidation.iterationN = "iterN"

Definition at line 1011 of file alignmentValidation.py.

alignmentValidation.iterN_reports = []

Definition at line 982 of file alignmentValidation.py.

alignmentValidation.iterN_tfile = None

Definition at line 981 of file alignmentValidation.py.

alignmentValidation.options

Definition at line 145 of file alignmentValidation.py.

alignmentValidation.outdir = options.outputDir

Definition at line 153 of file alignmentValidation.py.

alignmentValidation.parser = optparse.OptionParser(usage)

Definition at line 35 of file alignmentValidation.py.

alignmentValidation.pic_ids = createCanvasToIDList("canvas2id_list.js")

Definition at line 1046 of file alignmentValidation.py.

int alignmentValidation.QUICKTESTN = 10000

Definition at line 216 of file alignmentValidation.py.

alignmentValidation.SINGLE_ITERATION = False

Definition at line 178 of file alignmentValidation.py.

list alignmentValidation.tfiles1_plotting = []

Definition at line 959 of file alignmentValidation.py.

list alignmentValidation.tfilesN_plotting = []

Definition at line 980 of file alignmentValidation.py.

alignmentValidation.type

Definition at line 39 of file alignmentValidation.py.

string alignmentValidation.usage = '%prog [options]\n'

To parse commandline args.

Definition at line 18 of file alignmentValidation.py.

alignmentValidation.windowdxdz

Definition at line 1039 of file alignmentValidation.py.

alignmentValidation.windowdydz

Definition at line 1039 of file alignmentValidation.py.

alignmentValidation.windowx

Definition at line 1039 of file alignmentValidation.py.

alignmentValidation.windowy

Definition at line 1039 of file alignmentValidation.py.