9 from LArCalibProcessing.LArCalibBaseConfig
import LArCalibBaseCfg,chanSelStr
10 result=LArCalibBaseCfg(flags)
14 from LArCalibProcessing.utils
import FolderTagResolver
15 FolderTagResolver._globalTag=flags.IOVDb.GlobalTag
16 rs=FolderTagResolver(flags.LArCalib.Input.CoolOflP1Replica)
17 DetCellParamsTag=rs.getFolderTag(flags.LArCalib.DetCellParams.Folder)
18 CaliPulseParamsTag=rs.getFolderTag(flags.LArCalib.CaliPulseParams.Folder)
19 if (flags.LArCalib.Input.Database ==
"LAR_OFL" and flags.LArCalib.Input.Database2 ==
"LAR_OFL"):
20 CaliWaveTag=rs.getFolderTag(flags.LArCalib.CaliWave.Folder)
26 from IOVDbSvc.IOVDbSvcConfig
import addFolders
27 result.merge(addFolders(flags,flags.LArCalib.CaliWave.Folder,detDb=flags.LArCalib.Input.Database, tag=CaliWaveTag, modifiers=chanSelStr(flags)))
29 if not flags.LArCalib.RTM.ExtractAll:
31 result.merge(addFolders(flags,flags.LArCalib.DetCellParams.Folder,detDb=flags.LArCalib.Input.Database, tag=DetCellParamsTag))
32 result.merge(addFolders(flags,flags.LArCalib.CaliPulseParams.Folder,detDb=flags.LArCalib.Input.Database, tag=CaliPulseParamsTag))
35 LArRTMParamExtractor = CompFactory.LArRTMParamExtractor()
37 LArRTMParamExtractor.KeyList = [
"LArCaliWave"]
38 LArRTMParamExtractor.TestMode =
False
39 LArRTMParamExtractor.GroupingType = flags.LArCalib.GroupingType
40 LArRTMParamExtractor.IgnoreDACSelection =
True
41 LArRTMParamExtractor.isSC = flags.LArCalib.isSC
43 LArRTMParamExtractor.ExtractTaur =
True
44 LArRTMParamExtractor.ExtractTcal = flags.LArCalib.RTM.ExtractAll
45 LArRTMParamExtractor.ExtractFstep = flags.LArCalib.RTM.ExtractAll
46 LArRTMParamExtractor.ExtractOmega0 = flags.LArCalib.RTM.ExtractAll
48 LArRTMParamExtractor.FT = flags.LArCalib.Preselection.FT
49 LArRTMParamExtractor.PosNeg = 0
if len(flags.LArCalib.Preselection.Side)==0
else flags.LArCalib.Preselection.Side[0]
50 LArRTMParamExtractor.Slot = flags.LArCalib.Preselection.Slot
52 LArRTMParamExtractor.DumpOmegaScan = flags.LArCalib.RTM.DumpOmegaScan
53 LArRTMParamExtractor.DumpResOscill = flags.LArCalib.RTM.DumpResOscill
56 theLArWFParamTool = CompFactory.LArWFParamTool()
57 theLArWFParamTool.isSC = flags.LArCalib.isSC
59 theLArWFParamTool.UseOmegaScanHelper =
True
60 theLArWFParamTool.CosRespScan = [
False ,
True ,
False ,
False ]
61 theLArWFParamTool.Omega0Min = [ 0.100 , 0.220 , 0.060 , 0.100 ]
62 theLArWFParamTool.Omega0Max = [ 0.600 , 0.310 , 0.215 , 0.700 ]
63 theLArWFParamTool.NpointScan = [ 800 , 900 , 310 , 120 ]
64 theLArWFParamTool.StoreResOscill = [
True * 4]
if flags.LArCalib.RTM.DumpResOscill
else [
False *4]
66 LArRTMParamExtractor.LArWFParamTool=theLArWFParamTool
68 result.addEventAlgo(LArRTMParamExtractor)
70 rootfile=flags.LArCalib.Output.ROOTFile
71 bcKey =
"LArBadChannelSC" if flags.LArCalib.isSC
else "LArBadChannel"
73 LArWFParams2Ntuple = CompFactory.LArWFParams2Ntuple(
"LArWFParams2Ntuple")
74 LArWFParams2Ntuple.DumpCaliPulseParams =
True
75 LArWFParams2Ntuple.DumpDetCellParams =
True
76 LArWFParams2Ntuple.CaliPulseParamsKey=
"LArCaliPulseParams_RTM"
77 LArWFParams2Ntuple.DetCellParamsKey=
"LArDetCellParams_RTM"
78 LArWFParams2Ntuple.BadChanKey = bcKey
79 LArWFParams2Ntuple.isSC = flags.LArCalib.isSC
80 LArWFParams2Ntuple.AddCalib =
True
81 result.addEventAlgo(LArWFParams2Ntuple)
83 if flags.LArCalib.RTM.DumpOmegaScan:
84 LArOmegaScans2Ntuple = CompFactory.LArCaliWaves2Ntuple(
"LArOmegaScans2Ntuple")
85 LArOmegaScans2Ntuple.NtupleName =
"OMEGASCAN"
86 LArOmegaScans2Ntuple.BadChanKey = bcKey
87 LArOmegaScans2Ntuple.isSC = flags.LArCalib.isSC
88 LArOmegaScans2Ntuple.KeyList = [
"OmegaScan"]
89 result.addEventAlgo(LArOmegaScans2Ntuple)
91 if ( flags.LArCalib.RTM.DumpResOscill ):
92 LArResOscillsBefore2Ntuple = CompFactory.LArCaliWaves2Ntuple(
"LArResOscillsBefore2Ntuple")
93 LArResOscillsBefore2Ntuple.NtupleName =
"RESOSCILLBEFORE"
94 LArResOscillsBefore2Ntuple.BadChanKey = bcKey
95 LArResOscillsBefore2Ntuple.isSC = flags.LArCalib.isSC
96 LArResOscillsBefore2Ntuple.KeyList = [
"ResOscillBefore"]
97 result.addEventAlgo(LArResOscillsBefore2Ntuple)
99 LArResOscillsAfter2Ntuple = CompFactory.LArCaliWaves2Ntuple(
"LArResOscillsAfter2Ntuple")
100 LArResOscillsAfter2Ntuple.NtupleName =
"RESOSCILLAFTER"
101 LArResOscillsAfter2Ntuple.BadChanKey = bcKey
102 LArResOscillsAfter2Ntuple.KeyList = [
"ResOscillAfter"]
103 result.addEventAlgo(LArResOscillsAfter2Ntuple)
106 if os.path.exists(rootfile):
108 result.addService(CompFactory.NTupleSvc(Output = [
"FILE1 DATAFILE='"+rootfile+
"' OPT='NEW'" ]))
109 result.setAppProperty(
"HistogramPersistency",
"ROOT")
114 from RegistrationServices.OutputConditionsAlgConfig
import OutputConditionsAlgCfg
115 result.merge(OutputConditionsAlgCfg(flags,
116 outputFile=flags.LArCalib.Output.POOLFile,
117 ObjectList=[
"LArCaliPulseParamsComplete#"+
"LArCaliPulseParams_RTM#"+flags.LArCalib.CaliPulseParams.Folder,
118 "LArDetCellParamsComplete#"+
"LArDetCellParams_RTM#"+flags.LArCalib.DetCellParams.Folder,],
119 IOVTagList=[CaliPulseParamsTag,DetCellParamsTag],
120 Run1=flags.LArCalib.IOVStart,
121 Run2=flags.LArCalib.IOVEnd
125 result.addService(CompFactory.IOVRegistrationSvc(RecreateFolders =
False))
126 result.getService(
"IOVDbSvc").DBInstance=
""
130 from McEventSelector.McEventSelectorConfig
import McEventSelectorCfg
131 result.merge(McEventSelectorCfg(flags,
132 RunNumber = flags.LArCalib.Input.RunNumbers[0],
135 InitialTimeStamp = 0,
136 TimeStampInterval = 1))
138 from PerfMonComps.PerfMonCompsConfig
import PerfMonMTSvcCfg
139 result.merge(PerfMonMTSvcCfg(flags))