8def LArR4ElecCalibCalcCfg(flags):
9
10 result=ComponentAccumulator()
11
12 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
13 result.merge(LArGMCfg(flags))
14 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
15 result.merge(LArOnOffIdMappingCfg(flags))
16
17
18 from LArRecUtils.LArRecUtilsConfig import LArMCSymCondAlgCfg
19 result.merge (LArMCSymCondAlgCfg (flags))
20
21 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBCfg
22 result.merge(LArElecCalibDBCfg(flags,["DAC2uA","uA2MeV"]))
23
24
25 theLArElecCalibCalculator = CompFactory.LArR4ElecCalibCalculator(OutputLevel=1,
26 CRESTDB="crest_fs:./larCalibTest")
27
28 result.addEventAlgo(theLArElecCalibCalculator)
29
30
31
32 from RegistrationServices.OutputConditionsAlgConfig import OutputConditionsAlgCfg
33 result.merge(OutputConditionsAlgCfg(flags,
34 outputFile=flags.LArCalib.Output.POOLFile,
35 ObjectList=["LArRampMC#LArRamp#/LAR/ElecCalibMC/Ramp",
36 "LArPedestalMC#LArPedestal#/LAR/ElecCalibMC/Pedestal",
37 "LArNoiseMC#LArNoise#/LAR/ElecCalibMC/Noise"],
38 IOVTagList=["LARElecCalibMCRamp-R4-00",
39 "LARElecCalibMCPedestal-R4-00",
40 "LARElecCalibMCNoise-R4-00"],
41 Run1=flags.LArCalib.IOVStart,
42 Run2=flags.LArCalib.IOVEnd
43 ))
44
45
46 result.addService(CompFactory.IOVRegistrationSvc(RecreateFolders = True))
47
48
49
50 rootfile=flags.LArCalib.Output.ROOTFile
51
52 if rootfile != "":
53 result.addEventAlgo(CompFactory.LArNoise2Ntuple(ContainerKey="LArNoiseSym",
54 nGains=2,
55 AddFEBTempInfo = False,
56 RealGeometry = False,
57 OffId = True,
58 BadChanKey = "",
59 ))
60
61
62 result.addEventAlgo(CompFactory.LArRamps2Ntuple( RampKey="LArRampSym",
63 nGains=2,
64 ContainerKey = [],
65 AddFEBTempInfo = False,
66 RealGeometry = False,
67 OffId = True,
68 AddCalib = False,
69 RawRamp = False,
70 SaveAllSamples = False,
71 BadChanKey = "",
72 ApplyCorr=False,
73 ))
74 import os
75 if os.path.exists(rootfile):
76 os.remove(rootfile)
77 result.addService(CompFactory.NTupleSvc(Output = [ "FILE1 DATAFILE='"+rootfile+"' OPT='NEW'" ]))
78 result.setAppProperty("HistogramPersistency","ROOT")
79 pass
80
81
82 from LArRecUtils.LArADC2MeVCondAlgConfig import LArADC2MeVCondAlgCfg
83 result.merge(LArADC2MeVCondAlgCfg(flags))
84 result.getCondAlgo("LArADC2MeVCondAlg").OutputLevel=2
85 result.addEventAlgo(CompFactory.LArADC2MeV2Ntuple( OffId=True,
86 AddBadChannelInfo=False,
87 nGains=2,
88 ))
89
90
91 result.addEventAlgo(CompFactory.LAruA2MeV2Ntuple(uA2MeVKey="LAruA2MeVSym",
92 DAC2uAKey="LArDAC2uASym",
93 isSC = False,
94 OffId=True,
95 nGains=2,
96 AddBadChannelInfo=False
97 ))
98
99
100
101 from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
102 result.merge(McEventSelectorCfg(flags,
103 RunNumber = 500000,
104 EventsPerRun = 1,
105 FirstEvent = 1,
106 InitialTimeStamp = 0,
107 TimeStampInterval = 1))
108
109 from PerfMonComps.PerfMonCompsConfig import PerfMonMTSvcCfg
110 result.merge(PerfMonMTSvcCfg(flags))
111
112 return result
113
114