33 opts, args = getopt.getopt(argv[1:],
"ho:v", [
"help",
"output="])
34 except getopt.error
as msg:
38 for option, value
in opts:
41 if option
in (
"-h",
"--help"):
42 raise Usage(help_message)
43 if option
in (
"-o",
"--output"):
47 print (sys.argv[0].
split(
"/")[-1] +
": " +
str(err.msg),file=sys.stderr)
48 print (
"\t for help use --help", file=sys.stderr)
56 for iarg
in range(len(argv)) :
57 if argv[iarg].
find(
'files') >= 0:
58 inputfiles = argv[iarg]
59 elif argv[iarg].
find(
'trees') >= 0:
60 inputtrees = argv[iarg]
61 elif argv[iarg].
find(
'params') >= 0:
62 inputparams = argv[iarg]
63 elif argv[iarg].
find(
'saveas') >= 0:
64 saveasfiles = argv[iarg]
72 if len(saveaslist) > 0:
73 if not os.path.isdir(
'./output/'):
76 outputdir =
'./output/mval_'+
str(time.time())+
'/'
77 if not os.path.isdir(outputdir):
80 for saveas
in saveaslist :
82 if not os.path.isdir(outputdir+saveas+
'/'):
83 os.mkdir(outputdir+saveas+
'/')
86 numPlots = len(parslist)
91 numCols = numPlots//2 + numPlots%2
93 print (
'[>] Files to be processed :', filelist)
94 print (
'[>] Trees to be drawn :', len(treelist))
95 print (
'[>] Profiles to be made :', parslist)
96 print (
'[>] Going to be saved as :', saveaslist )
97 print (
'[>] Number of cols/rows :',numCols,
', ',numRows)
105 for filename
in filelist :
107 singleSelector = TTreeSelector(filename)
108 singleDict = singleSelector.loadTrees(treelist[0])
111 for entry
in singleDict :
112 iden = entry.lstrip(
'TVolume_').
replace(
'::',
'_')
114 if iden
not in canvasDict :
115 canvas = TCanvas(iden,
'TrackingVolume:'+iden,100,100,numCols*300,numRows*300)
117 canvas.Divide(numCols,numRows)
119 canvasDict[iden] = canvas
121 canvas = canvasDict[iden]
125 if len(parslist) > 1 : pad = 1
127 for par
in parslist :
128 tree = singleDict[entry]
133 for saveas
in saveaslist :
134 canvas.SaveAs(outputdir+saveas+
'/'+iden+
'.'+saveas)
137 for entry
in singleDict :
138 iden = entry.lstrip(
'TVolume_').
replace(
'::',
'_') +
'_TOTAL'
140 if '_UNMAPPED' in entry :
continue
142 if (entry+
'_UNMAPPED')
not in singleDict :
continue
144 if iden
not in canvasTotalDict :
145 canvas = TCanvas(iden,
'TrackingVolume:'+iden,100,100,numCols*300,numRows*300)
147 canvas.Divide(numCols,numRows)
149 canvasTotalDict[iden] = canvas
151 canvas = canvasTotalDict[iden]
155 if len(parslist) > 1 : pad = 1
157 for par
in parslist :
158 tree1 = singleDict[entry]
159 tree2 = singleDict[entry+
'_UNMAPPED']
161 outpath = outputdir+saveas+
'/'+iden+
'.'+saveas
162 plotStack(canvas,pad,tree1,tree2,par,fileNum,outpath)
168 print (
'[>] Next file, switching to same option (',fileNum,
')')