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