Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-05-29 03:17:18

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     
0011     ROOT.gROOT.SetBatch(True)
0012     for filename in args:
0013        
0014         if "vDrift_" in filename:
0015             name="vdrift"
0016             m=re.search("vDrift_[A-Za-z]+(\d*)",filename)
0017             
0018             run=m.group(1)
0019             
0020             f = open('dtVDriftAnalyzer_cfg.py','w')
0021             print("from CalibMuon.DTCalibration.Workflow.addPoolDBESSource import addPoolDBESSource", file=f)
0022             print("from CalibMuon.DTCalibration.dtVDriftAnalyzer_cfg import process", file=f)
0023             print("addPoolDBESSource(process = process, moduleName = 'vDriftDB',record = 'DTMtimeRcd',tag = 'vDrift', connect = 'sqlite_file:"+filename+"')", file=f)
0024             print("process.dtVDriftAnalyzer.rootFileName = 'dtVDriftAnalyzer_dtVDriftCalibration"+run+".root'", file=f)
0025             f.close()
0026             os.system("cmsRun dtVDriftAnalyzer_cfg.py")
0027             runvdrift(name, run, "dtVDriftAnalyzer_dtVDriftCalibration"+run+".root")
0028 
0029         elif "DQM" in filename:
0030             name="DQM"
0031             m=re.search("R000(\d*)__",filename)
0032             run=m.group(1)
0033             path="DQMData/Run "+run+"/DT/Run summary/DTCalibValidation"
0034             runttrig(name, filename, path, run)
0035         elif "TestPulses" in filename:
0036             name="T0"
0037             runt0(name,filename,123456)
0038         elif "residuals" in filename:
0039             name="DTRV"
0040             m=re.search("Run(\d*)\_residuals.root",filename)
0041             run=m.group(1)
0042             path="DTResiduals"
0043             runttrig(name, filename, path, run)
0044         else:
0045             print("filename ?= ", filename)
0046             print("The file name pattern is not recognized! So we do nothing.")            
0047 
0048 def runttrig(name, filename, path, run):
0049     from CalibMuon.DTCalibration.PlottingTools.plotResiduals import plot
0050     for SL in [1,2,3]:
0051         print(filename, SL, path, run)
0052         mean,sigma = plot(filename, SL, dir=path, run=run)
0053         mean[0].Print(name+run+"-SL"+str(SL)+"-mean.png")
0054         #mean[0].SaveAs(name+run+"-SL"+str(SL)+"-mean.root")
0055         sigma[0].Print(name+run+"-SL"+str(SL)+"-sigma.png")
0056         #sigma[0].SaveAs(name+run+"-SL"+str(SL)+"-sigma.root")
0057 
0058 def runvdrift(name, run, filename):
0059     from CalibMuon.DTCalibration.PlottingTools.plotVDriftFromHistos import plot
0060     for SL in [1,2,3]:
0061         mean = plot(filename, SL, run=run)
0062         mean[0].Print(name+run+"-SL"+str(SL)+"-mean.png")
0063         #mean[0].Print(name+run+"-SL"+str(SL)+"-mean.pdf")
0064         #mean[0].SaveAs(name+run+"-SL"+str(SL)+"-mean.root")
0065         #sigma[0].Print(name+run+"-SL"+str(SL)+"-sigma.pdf")
0066         
0067 def runt0(name,filename,run):
0068     from CalibMuon.DTCalibration.PlottingTools.plotT0FromHistos import plot
0069     for SL in [1,2,3]:
0070         mean = plot(filename, SL ,run)
0071         mean[0].Print(name+run+"-SL"+str(SL)+"-mean.pdf")
0072         mean[0].SaveAs(name+run+"-SL"+str(SL)+"-mean.root")
0073 
0074 if __name__=="__main__":
0075     main()
0076 
0077     #plot("DTResidualValidation_210614.root", 1,dir="DTResiduals")