6def LArShapeDumperCfg(flags):
7
8 result=ComponentAccumulator()
9
10
11 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
12 result.merge(LArGMCfg(flags))
13 from TileGeoModel.TileGMConfig import TileGMCfg
14 result.merge(TileGMCfg(flags))
15
16
17 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
18 result.merge(LArOnOffIdMappingCfg(flags))
19
20 from LArByteStream.LArRawDataReadingConfig import LArRawDataReadingCfg
21 result.merge(LArRawDataReadingCfg(flags))
22
23 from LArROD.LArRawChannelBuilderAlgConfig import LArRawChannelBuilderAlgCfg
24 result.merge(LArRawChannelBuilderAlgCfg(flags))
25 result.getEventAlgo("LArRawChannelBuilder").TimingContainerKey="LArOFIterResult"
26
27 from LArCellRec.LArTimeVetoAlgConfig import LArTimeVetoAlgCfg
28 result.merge(LArTimeVetoAlgCfg(flags))
29
30 from LumiBlockComps.BunchCrossingCondAlgConfig import BunchCrossingCondAlgCfg
31 result.merge(BunchCrossingCondAlgCfg(flags))
32
33 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
34 result.merge(CaloNoiseCondAlgCfg(flags,"totalNoise"))
35
36 from LArROD.LArFebErrorSummaryMakerConfig import LArFebErrorSummaryMakerCfg
37 result.merge(LArFebErrorSummaryMakerCfg(flags))
38 result.getEventAlgo("LArFebErrorSummaryMaker").CheckAllFEB=False
39
40 from IOVDbSvc.IOVDbSvcConfig import addFolders
41 result.merge(addFolders(flags,
42 '/LAR/ElecCalibOfl/Shape/RTM/5samples3bins17phases<tag>LARElecCalibOflShapeRTM5samples3bins17phases-RUN2-UPD3-00</tag><key>LArShape17phases</key>',
43 'LAR_OFL'))
44
45 result.getService("PoolSvc").ReadCatalog += ["apcfile:poolcond/PoolCat_comcond_castor.xml"]
46
47 if flags.LArShapeDump.doTrigger:
48
49 from TrigT1ResultByteStream.TrigT1ResultByteStreamConfig import L1TriggerByteStreamDecoderCfg
50 result.merge(L1TriggerByteStreamDecoderCfg(flags))
51
52 from LArCafJobs.LArSCDumperSkeleton import L1CaloMenuCfg
53 result.merge(L1CaloMenuCfg(flags))
54
55 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
56 result.merge(TrigDecisionToolCfg(flags))
57
58
59 result.merge(addFolders(flags,'/LAR/ElecCalibOfl/AutoCorrs/AutoCorr<tag>LARElecCalibOflAutoCorrsAutoCorr-RUN2-UPD3-00</tag>','LAR_OFL',className='LArAutoCorrComplete'))
60 result.getService("IOVDbSvc").overrideTags+=['<prefix>/LAR/ElecCalibOfl/Shape/RTM/5samples1phase</prefix><tag>LARElecCalibOflShapeRTM5samples1phase-RUN2-UPD1-04</tag>']
61
62 result.getService("IOVDbSvc").overrideTags+=['<prefix>/LAR/ElecCalibOfl/OFC/PhysWave/RTM/4samples3bins17phases</prefix><tag>LARElecCalibOflOFCPhysWaveRTM4samples3bins17phases-RUN2-UPD3-00</tag>']
63 result.getService("IOVDbSvc").overrideTags+=['<prefix>/LAR/ElecCalibOfl/Shape/RTM/4samples3bins17phases</prefix><tag>LARElecCalibOflShapeRTM4samples3bins17phases-RUN2-UPD3-00</tag>']
64
65 if(flags.LArShapeDump.digitsKeySC !=
""):
66
67 from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
68 result.merge(LArOnOffIdMappingSCCfg(flags))
69 from LArBadChannelTool.LArBadChannelConfig import LArBadChannelCfg
70 result.merge(LArBadChannelCfg(flags,isSC=True))
71 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBSCCfg
72 result.merge(LArElecCalibDBSCCfg(flags,["Pedestal"]))
73 from LArByteStream.LArRawSCDataReadingConfig import LArRawSCDataReadingCfg
74 result.merge(LArRawSCDataReadingCfg(flags))
75 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBSCCfg
76 result.merge(LArElecCalibDBSCCfg(flags, condObjs=["Ramp","DAC2uA", "uA2MeV", "MphysOverMcal", "OFC", "Shape", "HVScaleCorr"]))
77 nEnergies =
max(flags.LArShapeDump.ndigitsSC - 3, 0)
78 larLATOMEBuilderAlg=CompFactory.LArLATOMEBuilderAlg("LArLATOMEBuilderAlg",LArDigitKey=flags.LArShapeDump.digitsKeySC, isADCBas="BAS" in flags.LArShapeDump.digitsKeySC, nEnergies=nEnergies, startEnergy = 0)
79 result.addEventAlgo(larLATOMEBuilderAlg)
80
81
82
83
84 print(
"Dumping flags: ")
85 flags.dump()
86 dumperAlg=CompFactory.LArShapeDumper("LArShapeDumper")
87 dumperAlg.CaloType = flags.LArShapeDump.caloType
88 dumperAlg.Prescale = flags.LArShapeDump.prescale
89 dumperAlg.NoiseSignifCut = flags.LArShapeDump.noiseSignifCut
90 dumperAlg.DoTrigger = flags.LArShapeDump.doTrigger
91 dumperAlg.DoStream = flags.LArShapeDump.doStream
92 dumperAlg.DoOFCIter = flags.LArShapeDump.doOFCIter
93 dumperAlg.DumpChannelInfos = flags.LArShapeDump.dumpChannelInfos
94 dumperAlg.DumpDisconnected = False
95 dumperAlg.DigitsKey = flags.LArShapeDump.digitsKey
96 dumperAlg.ProblemsToMask=['deadReadout', 'deadPhys','almostDead', 'short',
97 'highNoiseHG','highNoiseMG','highNoiseLG']
98 dumperAlg.ProblemsToMaskSC=["deadCalib","deadReadout","deadPhys","maskedOSUM",
99 "OffOFCs","transmissionErrorFibre"]
100 dumperAlg.LArShapeDumperTool=CompFactory.LArShapeDumperTool(DoShape=True)
101 dumperAlg.LArShapeDumperToolSC=CompFactory.LArShapeDumperTool("LArShapeDumperToolSC",DoShape=False,IsSC=True)
102 dumperAlg.FileName=flags.LArShapeDump.outputNtup
103 dumperAlg.TriggerNames = flags.LArShapeDump.triggerNames
104 dumperAlg.TrigDecisionTool = result.getPublicTool('TrigDecisionTool')
105 from LArConfiguration.LArConfigFlags import RawChannelSource
106 if flags.LAr.RawChannelSource == RawChannelSource.Calculated:
107 dumperAlg.ChannelsKey = "LArRawChannels_FromDigits"
108
109 dumperAlg.EnergyCutSC = flags.LArShapeDump.energySCCut
110 dumperAlg.MinADCMaxSC = flags.LArShapeDump.adcSCCut
111
112 result.addEventAlgo(dumperAlg)
113
114 if (flags.LArShapeDump.HECNoiseNtup!=""):
115 hns=CompFactory.LArHECNoise()
116 hns.TrigDecisionTool = result.getPublicTool('TrigDecisionTool')
117 result.addEventAlgo(hns)
118 result.addService(CompFactory.THistSvc(Output=["HEC DATAFILE='"+flags.LArShapeDump.HECNoiseNtup+"' OPT='RECREATE'",]))
119
120 return result
121
122
void print(char *figname, TCanvas *c1)