10 from LArCalibProcessing.LArCalibBaseConfig
import LArCalibBaseCfg,chanSelStr
11 result=LArCalibBaseCfg(flags)
13 from LArCalibProcessing.utils
import FolderTagResolver
14 FolderTagResolver._globalTag=flags.IOVDb.GlobalTag
15 rs=FolderTagResolver()
16 DetCellParamsTag=rs.getFolderTag(flags.LArCalib.DetCellParams.Folder)
17 CaliPulseParamsTag=rs.getFolderTag(flags.LArCalib.CaliPulseParams.Folder)
18 CaliWaveTag=rs.getFolderTag(flags.LArCalib.CaliWave.Folder)
22 from IOVDbSvc.IOVDbSvcConfig
import addFolders
23 result.merge(addFolders(flags,flags.LArCalib.CaliWave.Folder,detDb=flags.LArCalib.Input.Database, tag=CaliWaveTag, modifiers=chanSelStr(flags)))
25 if not flags.LArCalib.RTM.ExtractAll:
27 result.merge(addFolders(flags,flags.LArCalib.DetCellParams.Folder,detDb=flags.LArCalib.Input.Database, tag=DetCellParamsTag))
28 result.merge(addFolders(flags,flags.LArCalib.CaliPulseParams.Folder,detDb=flags.LArCalib.Input.Database, tag=CaliPulseParamsTag))
31 LArRTMParamExtractor = CompFactory.LArRTMParamExtractor()
33 LArRTMParamExtractor.KeyList = [
"LArCaliWave"]
34 LArRTMParamExtractor.TestMode =
False
35 LArRTMParamExtractor.GroupingType = flags.LArCalib.GroupingType
36 LArRTMParamExtractor.IgnoreDACSelection =
True
37 LArRTMParamExtractor.isSC = flags.LArCalib.isSC
39 LArRTMParamExtractor.ExtractTaur =
True
40 LArRTMParamExtractor.ExtractTcal = flags.LArCalib.RTM.ExtractAll
41 LArRTMParamExtractor.ExtractFstep = flags.LArCalib.RTM.ExtractAll
42 LArRTMParamExtractor.ExtractOmega0 = flags.LArCalib.RTM.ExtractAll
44 LArRTMParamExtractor.FT = flags.LArCalib.Preselection.FT
45 LArRTMParamExtractor.PosNeg = 0
if len(flags.LArCalib.Preselection.Side)==0
else flags.LArCalib.Preselection.Side[0]
46 LArRTMParamExtractor.Slot = flags.LArCalib.Preselection.Slot
48 LArRTMParamExtractor.DumpOmegaScan = flags.LArCalib.RTM.DumpOmegaScan
49 LArRTMParamExtractor.DumpResOscill = flags.LArCalib.RTM.DumpResOscill
52 theLArWFParamTool = CompFactory.LArWFParamTool()
53 theLArWFParamTool.isSC = flags.LArCalib.isSC
55 theLArWFParamTool.UseOmegaScanHelper =
True
56 theLArWFParamTool.CosRespScan = [
False ,
True ,
False ,
False ]
57 theLArWFParamTool.Omega0Min = [ 0.100 , 0.220 , 0.060 , 0.100 ]
58 theLArWFParamTool.Omega0Max = [ 0.600 , 0.310 , 0.215 , 0.700 ]
59 theLArWFParamTool.NpointScan = [ 800 , 900 , 310 , 120 ]
60 theLArWFParamTool.StoreResOscill = [
True * 4]
if flags.LArCalib.RTM.DumpResOscill
else [
False *4]
62 LArRTMParamExtractor.LArWFParamTool=theLArWFParamTool
64 result.addEventAlgo(LArRTMParamExtractor)
66 rootfile=flags.LArCalib.Output.ROOTFile
67 bcKey =
"LArBadChannelSC" if flags.LArCalib.isSC
else "LArBadChannel"
69 LArWFParams2Ntuple = CompFactory.LArWFParams2Ntuple(
"LArWFParams2Ntuple")
70 LArWFParams2Ntuple.DumpCaliPulseParams =
True
71 LArWFParams2Ntuple.DumpDetCellParams =
True
72 LArWFParams2Ntuple.CaliPulseParamsKey=
"LArCaliPulseParams_RTM"
73 LArWFParams2Ntuple.DetCellParamsKey=
"LArDetCellParams_RTM"
74 LArWFParams2Ntuple.BadChanKey = bcKey
75 LArWFParams2Ntuple.isSC = flags.LArCalib.isSC
76 LArWFParams2Ntuple.AddCalib =
True
77 result.addEventAlgo(LArWFParams2Ntuple)
79 if flags.LArCalib.RTM.DumpOmegaScan:
80 LArOmegaScans2Ntuple = CompFactory.LArCaliWaves2Ntuple(
"LArOmegaScans2Ntuple")
81 LArOmegaScans2Ntuple.NtupleName =
"OMEGASCAN"
82 LArOmegaScans2Ntuple.BadChanKey = bcKey
83 LArOmegaScans2Ntuple.isSC = flags.LArCalib.isSC
84 LArOmegaScans2Ntuple.KeyList = [
"OmegaScan"]
85 result.addEventAlgo(LArOmegaScans2Ntuple)
87 if ( flags.LArCalib.RTM.DumpResOscill ):
88 LArResOscillsBefore2Ntuple = CompFactory.LArCaliWaves2Ntuple(
"LArResOscillsBefore2Ntuple")
89 LArResOscillsBefore2Ntuple.NtupleName =
"RESOSCILLBEFORE"
90 LArResOscillsBefore2Ntuple.BadChanKey = bcKey
91 LArResOscillsBefore2Ntuple.isSC = flags.LArCalib.isSC
92 LArResOscillsBefore2Ntuple.KeyList = [
"ResOscillBefore"]
93 result.addEventAlgo(LArResOscillsBefore2Ntuple)
95 LArResOscillsAfter2Ntuple = CompFactory.LArCaliWaves2Ntuple(
"LArResOscillsAfter2Ntuple")
96 LArResOscillsAfter2Ntuple.NtupleName =
"RESOSCILLAFTER"
97 LArResOscillsAfter2Ntuple.BadChanKey = bcKey
98 LArResOscillsAfter2Ntuple.KeyList = [
"ResOscillAfter"]
99 result.addEventAlgo(LArResOscillsAfter2Ntuple)
102 if os.path.exists(rootfile):
104 result.addService(CompFactory.NTupleSvc(Output = [
"FILE1 DATAFILE='"+rootfile+
"' OPT='NEW'" ]))
105 result.setAppProperty(
"HistogramPersistency",
"ROOT")
110 from RegistrationServices.OutputConditionsAlgConfig
import OutputConditionsAlgCfg
111 result.merge(OutputConditionsAlgCfg(flags,
112 outputFile=flags.LArCalib.Output.POOLFile,
113 ObjectList=[
"LArCaliPulseParamsComplete#"+
"LArCaliPulseParams_RTM#"+flags.LArCalib.CaliPulseParams.Folder,
114 "LArDetCellParamsComplete#"+
"LArDetCellParams_RTM#"+flags.LArCalib.DetCellParams.Folder,],
115 IOVTagList=[CaliPulseParamsTag,DetCellParamsTag],
116 Run1=flags.LArCalib.IOVStart,
117 Run2=flags.LArCalib.IOVEnd
121 result.addService(CompFactory.IOVRegistrationSvc(RecreateFolders =
False))
122 result.getService(
"IOVDbSvc").DBInstance=
""
126 from McEventSelector.McEventSelectorConfig
import McEventSelectorCfg
127 result.merge(McEventSelectorCfg(flags,
128 RunNumber = flags.LArCalib.Input.RunNumbers[0],
131 InitialTimeStamp = 0,
132 TimeStampInterval = 1))
134 from PerfMonComps.PerfMonCompsConfig
import PerfMonMTSvcCfg
135 result.merge(PerfMonMTSvcCfg(flags))