Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-25 02:29:09

0001 #! /usr/bin/env python3
0002 import ROOT
0003 import optparse
0004 import re
0005 import os
0006 
0007 def main():
0008     parser = optparse.OptionParser()
0009     (options, args) = parser.parse_args()
0010     ROOT.gROOT.SetBatch(True)
0011     for filename in args:
0012         if "vDrift_segment_" in filename:
0013             #name="DQM"
0014             m=re.search("vDrift_segment_(\d*)",filename)
0015             run=m.group(1)
0016             
0017             #path="DQMData/Run "+run+"/DT/Run summary/DTCalibValidation"
0018 
0019             f = open('dtVDriftAnalyzer_cfg.py','w')
0020             print("from CalibMuon.DTCalibration.Workflow.addPoolDBESSource import addPoolDBESSource", file=f)
0021             print("from CalibMuon.DTCalibration.dtVDriftAnalyzer_cfg import process", file=f)
0022             print("addPoolDBESSource(process = process, moduleName = 'vDriftDB',record = 'DTMtimeRcd',tag = 'vDrift', connect = 'sqlite_file:"+filename+"')", file=f)
0023             print("process.dtVDriftAnalyzer.rootFileName = 'dtVDriftAnalyzer_dtVDriftCalibration"+run+".root'", file=f)
0024             f.close()
0025             os.system("cmsRun dtVDriftAnalyzer_cfg.py")
0026             name="vdrift"
0027             runvdrift(name, run, "dtVDriftAnalyzer_dtVDriftCalibration"+run+".root")
0028 
0029         if "vDrift_meantimer_" in filename:
0030             #name="DQM"
0031             m=re.search("vDrift_meantimer_(\d*)",filename)
0032             run=m.group(1)
0033             
0034             #path="DQMData/Run "+run+"/DT/Run summary/DTCalibValidation"
0035 
0036             f = open('dtVDriftAnalyzer_cfg.py','w')
0037             print("from CalibMuon.DTCalibration.Workflow.addPoolDBESSource import addPoolDBESSource", file=f)
0038             print("from CalibMuon.DTCalibration.dtVDriftAnalyzer_cfg import process", file=f)
0039             print("addPoolDBESSource(process = process, moduleName = 'vDriftDB',record = 'DTMtimeRcd',tag = 'vDrift', connect = 'sqlite_file:"+filename+"')", file=f)
0040             print("process.dtVDriftAnalyzer.rootFileName = 'dtVDriftAnalyzer_dtVDriftCalibration"+run+".root'", file=f)
0041             f.close()
0042             os.system("cmsRun dtVDriftAnalyzer_cfg.py")
0043             name="vdrift"
0044             runvdrift(name, run, "dtVDriftAnalyzer_dtVDriftCalibration"+run+".root")
0045 
0046         elif "DQM" in filename:
0047             name="DQM"
0048             m=re.search("R000(\d*)__",filename)
0049             run=m.group(1)
0050             path="DQMData/Run "+run+"/DT/Run summary/DTCalibValidation"
0051             runttrig(name, filename, path, run)
0052         elif "TestPulses" in filename:
0053             name="T0"
0054             runt0(name,filename,123456)
0055         else:
0056             name="DTRV"
0057             m=re.search("DTResidualValidation_(\d*)\.root",filename)
0058             run=m.group(1)
0059             path="DTResiduals"
0060             runttrig(name, filename, path, run)
0061 
0062 def runttrig(name, filename, path, run):
0063     from CalibMuon.DTCalibration.PlottingTools.plotResiduals import *
0064     for SL in [1,2,3]:
0065         mean,sigma = plot(filename, SL,dir=path)
0066         mean[0].Print(name+run+"-SL"+str(SL)+"-mean.pdf")
0067         mean[0].SaveAs(name+run+"-SL"+str(SL)+"-mean.root")
0068         sigma[0].Print(name+run+"-SL"+str(SL)+"-sigma.pdf")
0069         sigma[0].SaveAs(name+run+"-SL"+str(SL)+"-sigma.root")
0070 def runvdrift(name, run, filename):
0071     from CalibMuon.DTCalibration.PlottingTools.plotVDriftFromHistos import *
0072     for SL in [1,2,3]:
0073         mean = plot(filename, SL)
0074         mean[0].Print(name+run+"-SL"+str(SL)+"-mean.pdf")
0075         mean[0].SaveAs(name+run+"-SL"+str(SL)+"-mean.root")
0076         #sigma[0].Print(name+run+"-SL"+str(SL)+"-sigma.pdf")
0077         
0078     #plot("DTResidualValidation_210614.root", 1,dir="DTResiduals")
0079     #plot("DQM_V0001_R000210634__StreamExpress__HIRun2013-DtCalib-Express-v1-dtTtrigCalibrationFromResiduals-NEW-usedb-rev1__ALCARECO.root", 1,dir="DQMData/Run 210634/DT/Run summary/DTCalibValidation")
0080 def runt0(name,filename,run):
0081     from CalibMuon.DTCalibration.PlottingTools.plotT0FromHistos import *
0082     for SL in [1,2,3]:
0083         mean = plot(filename, SL ,run)
0084         mean[0].Print(name+run+"-SL"+str(SL)+"-mean.pdf")
0085         mean[0].SaveAs(name+run+"-SL"+str(SL)+"-mean.root")
0086 
0087 if __name__=="__main__":
0088     main()