48def LArReadSCCfg(flags):
49
50 result=ComponentAccumulator()
51 from AthenaCommon.Logging import logging
52 mlog = logging.getLogger( 'LArReadSCCfg' )
53
54
55 from LArCabling.LArCablingConfig import LArOnOffIdMappingSCCfg
56 result.merge(LArOnOffIdMappingSCCfg(flags))
57 from LArByteStream.LArRawSCDataReadingConfig import LArRawSCDataReadingCfg
58 result.merge(LArRawSCDataReadingCfg(flags))
59 result.addCondAlgo(CompFactory.CaloSuperCellAlignCondAlg('CaloSuperCellAlignCondAlg'))
60 from LArCellRec.LArRAWtoSuperCellConfig import LArRAWtoSuperCellCfg
61 result.merge(LArRAWtoSuperCellCfg(flags,mask=True, SCellContainerOut="SCell") )
62
63 from LArCafJobs.LArSCDumperSkeleton import L1CaloMenuCfg
64 result.merge(L1CaloMenuCfg(flags))
65
66 from LumiBlockComps.BunchCrossingCondAlgConfig import BunchCrossingCondAlgCfg
67 result.merge(BunchCrossingCondAlgCfg(flags))
68
69 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBSCCfg
70 result.merge(LArElecCalibDBSCCfg(flags, condObjs=["Pedestal"]))
71
72
73 if flags.LArShapeDump.doSCReco:
74
75 result.merge(LArElecCalibDBSCCfg(flags, condObjs=["Ramp","DAC2uA", "uA2MeV", "MphysOverMcal", "OFC", "Shape", "HVScaleCorr"]))
76 larLATOMEBuilderAlg=CompFactory.LArLATOMEBuilderAlg("LArLATOMEBuilderAlg")
77
78 dumperAlg=CompFactory.LArReadSC("LArReadSC")
79
81 try:
82 runinfo=getLArDTInfoForRun(flags.Input.RunNumbers[0], connstring="COOLONL_LAR/CONDBR2")
83 streamTypes=runinfo.streamTypes()
84 except Exception as e:
85 mlog.warning("Could not get DT run info, using defaults !")
86 mlog.warning(e)
87 streamTypes=["RawADC"]
88
89 for i in range(0,len(streamTypes)):
90 if streamTypes[i] == "RawADC":
91 dumperAlg.DigitsKey = "SC"
92 if flags.LArShapeDump.doSCReco:
93 larLATOMEBuilderAlg.LArDigitKey = "SC"
94 larLATOMEBuilderAlg.isADCBas = False
95 if streamTypes[i] == "ADC":
96 if flags.LArShapeDump.doSCReco:
97 larLATOMEBuilderAlg.isADCBas = True
98 larLATOMEBuilderAlg.LArDigitKey = "SC_ADC_BAS"
99 dumperAlg.DigitsKey = "SC_ADC_BAS"
100
101 if flags.LArShapeDump.doSCReco:
102 result.addEventAlgo(larLATOMEBuilderAlg)
103 result.merge(LArRAWtoSuperCellCfg(flags,name="LArRAWRecotoSuperCell",mask=True,doReco=True,SCIn="SC_ET_RECO",SCellContainerOut="SCell_RECO") )
104
105 dumperAlg.output = flags.LArShapeDump.outputNtup
106 dumperAlg.SCContainerKey = "SCell"
107 if flags.LArShapeDump.doSCReco:
108 dumperAlg.SCRecoContainerKey = "SCell_RECO"
109 dumperAlg.etCut = -1500.
110
111 result.addEventAlgo(dumperAlg)
112
113 return result
114
115