ATLAS Offline Software
LArShapeDumperConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 def 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  #Setup cabling
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  # for splashes: FIXME later
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  #Setup cabling
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 
123 if __name__=="__main__":
124 
125  from AthenaConfiguration.AllConfigFlags import initConfigFlags
127 
128  from LArShapeDumperFlags import addShapeDumpFlags
129  addShapeDumpFlags(flags)
130 
131  from AthenaConfiguration.TestDefaults import defaultTestFiles
132  flags.Input.Files=defaultTestFiles.RAW_RUN2
133  flags.LAr.ROD.forceIter=True
134 
135  flags.lock()
136 
137  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
138 
139  cfg=MainServicesCfg(flags)
140  cfg.merge(LArShapeDumperCfg(flags))
141 
142  cfg.run(10)
LArShapeDumperFlags.addShapeDumpFlags
def addShapeDumpFlags(flags)
Definition: LArShapeDumperFlags.py:5
LArCablingConfig.LArOnOffIdMappingSCCfg
def LArOnOffIdMappingSCCfg(configFlags)
Definition: LArCablingConfig.py:65
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
python.LArRawDataReadingConfig.LArRawDataReadingCfg
def LArRawDataReadingCfg(flags, **kwargs)
Definition: LArRawDataReadingConfig.py:11
LArSCDumperSkeleton.L1CaloMenuCfg
def L1CaloMenuCfg(flags)
Definition: LArSCDumperSkeleton.py:11
python.LArBadChannelConfig.LArBadChannelCfg
def LArBadChannelCfg(configFlags, tag=None, isSC=False)
Definition: LArBadChannelConfig.py:8
python.LArRawChannelBuilderAlgConfig.LArRawChannelBuilderAlgCfg
def LArRawChannelBuilderAlgCfg(flags, **kwargs)
Definition: LArRawChannelBuilderAlgConfig.py:9
python.BunchCrossingCondAlgConfig.BunchCrossingCondAlgCfg
def BunchCrossingCondAlgCfg(flags)
Definition: BunchCrossingCondAlgConfig.py:8
python.LArFebErrorSummaryMakerConfig.LArFebErrorSummaryMakerCfg
def LArFebErrorSummaryMakerCfg(flags)
Definition: LArFebErrorSummaryMakerConfig.py:7
python.CaloNoiseCondAlgConfig.CaloNoiseCondAlgCfg
def CaloNoiseCondAlgCfg(flags, noisetype="totalNoise")
Definition: CaloNoiseCondAlgConfig.py:11
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:312
LArTimeVetoAlgConfig.LArTimeVetoAlgCfg
def LArTimeVetoAlgCfg(flags)
Definition: LArTimeVetoAlgConfig.py:7
python.IOVDbSvcConfig.addFolders
def addFolders(flags, folderStrings, detDb=None, className=None, extensible=False, tag=None, db=None, modifiers='')
Definition: IOVDbSvcConfig.py:86
LArCablingConfig.LArOnOffIdMappingCfg
def LArOnOffIdMappingCfg(configFlags)
Definition: LArCablingConfig.py:62
LArGMConfig.LArGMCfg
def LArGMCfg(flags)
Definition: LArGMConfig.py:8
LArShapeDumperConfig.LArShapeDumperCfg
def LArShapeDumperCfg(flags)
Definition: LArShapeDumperConfig.py:6
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
python.TriggerInterface.TrigDecisionToolCfg
def TrigDecisionToolCfg(flags)
Definition: TriggerInterface.py:14
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.LArElecCalibDBConfig.LArElecCalibDBSCCfg
def LArElecCalibDBSCCfg(flags, condObjs, sqlite=None)
Definition: LArElecCalibDBConfig.py:126
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567
TrigT1ResultByteStreamConfig.L1TriggerByteStreamDecoderCfg
def L1TriggerByteStreamDecoderCfg(flags, returnEDM=False)
Definition: TrigT1ResultByteStreamConfig.py:133
python.LArRawSCDataReadingConfig.LArRawSCDataReadingCfg
def LArRawSCDataReadingCfg(configFlags, ROBList=None, name="LArRawSCDataReadingAlg", **kwargs)
Definition: LArRawSCDataReadingConfig.py:8
TileGMConfig.TileGMCfg
def TileGMCfg(flags)
Definition: TileGMConfig.py:7