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()
77 print "[electronStore.py] I NEED AT LEAST TWO ARGUMENTS." 80 red_file = args.pop(0)
83 if not '/afs/cern.ch/cms/' in web_dir:
84 print "local : ", web_dir
87 web_url = web_dir.replace(
'/afs/cern.ch/cms/',
'http://cmsdoc.cern.ch/',1)
89 blue_file = args.pop(0)
99 if os.path.exists(web_dir+
'/gifs')==
False:
100 os.makedirs(web_dir+
'/gifs')
103 red_base = os.path.basename(red_file)
104 if os.path.isfile(red_file)==
True :
105 print 'RED FILE =',red_file
106 if os.path.isfile(red_base)==
True and os.path.getmtime(red_base)>os.path.getmtime(red_file) :
107 print '[electronCompare.py] did you forget to store '+red_base+
' ?' 109 print "[electronCompare.py] FILE NOT FOUND :",red_file
110 if os.path.isfile(red_base)==
True :
111 print '[electronCompare.py] did you forget to store '+red_base+
' ?' 116 if os.path.isfile(blue_file)==
True :
117 print 'BLUE FILE =',blue_file
119 print '[electronCompare.py] file not found :',blue_file
122 print "[electronCompare.py] no blue histograms to compare with." 129 (red_head,red_tail) = os.path.split(red_file)
130 red_long_name = os.path.basename(red_head)+
'/'+red_tail
131 (blue_head,blue_tail) = os.path.split(blue_file)
132 blue_long_name = os.path.basename(blue_head)+
'/'+blue_tail
134 options.red = red_long_name
135 if options.blue==
'' :
136 options.blue = blue_long_name
137 if options.title==
'' :
138 options.title = red_long_name+
' vs '+blue_long_name
140 (red_hd, red_release) = os.path.split(red_head)
141 (blue_hd, blue_release) = os.path.split(blue_head)
147 mysystem(
'cp -f electronCompare.C '+options.config+
' '+web_dir)
149 os.environ[
'CMP_DIR'] = web_dir
150 os.environ[
'CMP_URL'] = web_url
151 os.environ[
'CMP_TITLE'] = options.title
152 os.environ[
'CMP_RED_FILE'] = red_file
153 os.environ[
'CMP_BLUE_FILE'] = blue_file
154 os.environ[
'CMP_RED_NAME'] = options.red
155 os.environ[
'CMP_BLUE_NAME'] = options.blue
156 os.environ[
'CMP_RED_COMMENT'] = red_file+
'.comment' 157 os.environ[
'CMP_BLUE_COMMENT'] = blue_file+
'.comment' 158 os.environ[
'CMP_CONFIG'] = options.config
159 os.environ[
'CMP_RED_RELEASE'] = red_release
160 os.environ[
'CMP_BLUE_RELEASE'] = blue_release
162 mysystem(
'root -b -l -q electronCompare.C')
164 print "You can access the files here:",web_dir
165 print "You can browse your validation plots here:",web_url+
'/'
def mysystem(command, apply=1)