24 import os, sys, datetime, shutil, optparse
33 if apply==1:
return os.system(command)
34 elif apply==0:
return 0
36 print '[electronStore.py] UNSUPPORTED ARGUMENT VALUE FOR mysystem(,apply):',apply
58 if __name__ ==
"__main__":
65 parser = optparse.OptionParser()
66 parser.add_option(
"-c",
"--cfg", dest=
"config", action=
"store", default=
"electronCompare.txt",
67 help=
"the configuration file describe which histogram must be displayed and how")
68 parser.add_option(
"-t",
"--title", dest=
"title", action=
"store", default=
"",
69 help=
"the title of the page")
70 parser.add_option(
"-r",
"--red-name", dest=
"red", action=
"store", default=
"",
71 help=
"short name of the red histograms")
72 parser.add_option(
"-b",
"--blue-name", dest=
"blue", action=
"store", default=
"",
73 help=
"short name of the blue histograms")
74 (options, args) = parser.parse_args()
78 print "[electronStore.py] I NEED AT LEAST TWO ARGUMENTS."
81 red_file = args.pop(0)
83 web_url = web_dir.replace(
'/afs/cern.ch/cms/',
'http://cmsdoc.cern.ch/',1)
85 blue_file = args.pop(0)
95 print 'WEB DIR =',web_dir
96 if os.path.exists(web_dir+
'/gifs')==
False:
97 os.makedirs(web_dir+
'/gifs')
100 red_base = os.path.basename(red_file)
101 if os.path.isfile(red_file)==
True :
102 print 'RED FILE =',red_file
103 if os.path.isfile(red_base)==
True and os.path.getmtime(red_base)>os.path.getmtime(red_file) :
104 print '[electronCompare.py] did you forget to store '+red_base+
' ?'
106 print "[electronCompare.py] FILE NOT FOUND :",red_file
107 if os.path.isfile(red_base)==
True :
108 print '[electronCompare.py] did you forget to store '+red_base+
' ?'
113 if os.path.isfile(blue_file)==
True :
114 print 'BLUE FILE =',blue_file
116 print '[electronCompare.py] file not found :',blue_file
119 print "[electronCompare.py] no blue histograms to compare with."
126 (red_head,red_tail) = os.path.split(red_file)
127 red_long_name = os.path.basename(red_head)+
'/'+red_tail
128 (blue_head,blue_tail) = os.path.split(blue_file)
129 blue_long_name = os.path.basename(blue_head)+
'/'+blue_tail
131 options.red = red_long_name
132 if options.blue==
'' :
133 options.blue = blue_long_name
134 if options.title==
'' :
135 options.title = red_long_name+
' vs '+blue_long_name
137 (red_hd, red_release) = os.path.split(red_head)
138 (blue_hd, blue_release) = os.path.split(blue_head)
144 mysystem(
'cp -f electronCompare.C '+options.config+
' '+web_dir)
146 os.environ[
'CMP_DIR'] = web_dir
147 os.environ[
'CMP_URL'] = web_url
148 os.environ[
'CMP_TITLE'] = options.title
149 os.environ[
'CMP_RED_FILE'] = red_file
150 os.environ[
'CMP_BLUE_FILE'] = blue_file
151 os.environ[
'CMP_RED_NAME'] = options.red
152 os.environ[
'CMP_BLUE_NAME'] = options.blue
153 os.environ[
'CMP_RED_COMMENT'] = red_file+
'.comment'
154 os.environ[
'CMP_BLUE_COMMENT'] = blue_file+
'.comment'
155 os.environ[
'CMP_CONFIG'] = options.config
156 os.environ[
'CMP_RED_RELEASE'] = red_release
157 os.environ[
'CMP_BLUE_RELEASE'] = blue_release
159 mysystem(
'root -b -l -q electronCompare.C')
161 print "You can access the files here:",web_dir
162 print "You can browse your validation plots here:",web_url+
'/'