6def L1CaloCondAlgCfg(flags, readTest=False, Physics=True, Calib1=False, Calib2=False):
7
8
9
10
11
12 L1CaloFolders = {}
13
14
15 L1CaloFolders['PhysicsKeys'] = ['/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanCalib']
16
17 if not flags.Input.isMC:
18
19 if Physics:
20 L1CaloFolders['PhysicsKeys'] += ['/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanCommon',
21 '/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanHighMu',
22 '/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanLowMu']
23 if Calib1:
24 L1CaloFolders['Calib1Keys'] = ['/TRIGGER/L1Calo/V2/Calibration/Calib1/PprChanCalib',
25 '/TRIGGER/L1Calo/V2/Calibration/Calib1/PprChanCommon',
26 '/TRIGGER/L1Calo/V2/Calibration/Calib1/PprChanHighMu',
27 '/TRIGGER/L1Calo/V2/Calibration/Calib1/PprChanLowMu']
28 if Calib2:
29 L1CaloFolders['Calib2Keys'] = ['/TRIGGER/L1Calo/V2/Calibration/Calib2/PprChanCalib',
30 '/TRIGGER/L1Calo/V2/Calibration/Calib2/PprChanCommon',
31 '/TRIGGER/L1Calo/V2/Calibration/Calib2/PprChanHighMu',
32 '/TRIGGER/L1Calo/V2/Calibration/Calib2/PprChanLowMu']
33
34 L1CaloFolders['ReadoutConfig'] = "/TRIGGER/L1Calo/V2/Configuration/ReadoutConfig"
35 L1CaloFolders['ReadoutConfigJSON'] = "/TRIGGER/L1Calo/V2/Configuration/ReadoutConfigJSON"
36 L1CaloFolders['PprChanStrategy'] = "/TRIGGER/L1Calo/V2/Configuration/PprChanStrategy"
37 L1CaloFolders['PpmFineTimeRefs'] = "/TRIGGER/L1Calo/V1/References/FineTimeReferences"
38 L1CaloFolders['RunParameters'] = "/TRIGGER/L1Calo/V1/Conditions/RunParameters"
39 L1CaloFolders['DerivedRunPars'] = '/TRIGGER/L1Calo/V1/Conditions/DerivedRunPars'
40
41
42 L1CaloFolders['PprChanDefaults'] = '/TRIGGER/L1Calo/V2/Configuration/PprChanDefaults'
43
44 ver = 'V2' if flags.Input.isMC else 'V1'
45 L1CaloFolders['DisabledTowers'] = f'/TRIGGER/L1Calo/{ver}/Conditions/DisabledTowers'
46 L1CaloFolders['PpmDeadChannels'] = f'/TRIGGER/L1Calo/{ver}/Calibration/PpmDeadChannels'
47
48
49 from IOVDbSvc.IOVDbSvcConfig import addFolders
50 db = 'TRIGGER_ONL' if not flags.Input.isMC else 'TRIGGER_OFL'
51 result = addFolders(flags,[xx for x in L1CaloFolders.values() if isinstance(x,list) for xx in x if xx!=""] +
52 [x for x in L1CaloFolders.values() if not isinstance(x,list)], db, className='CondAttrListCollection')
53
54 from AthenaConfiguration.ComponentFactory import CompFactory
55
56 alg = CompFactory.L1CaloCondAlg(UsePhysicsRegime = Physics,
57 UseCalib1Regime = Calib1,
58 UseCalib2Regime = Calib2)
59 for k,v in L1CaloFolders.items(): setattr(alg,k,v)
60
61 if flags.Input.isMC:
62
63 alg.OutputKeyDerRunsPars = ""
64 alg.OutputKeyTimeRefs = ""
65 alg.OutputKeyRunParameters = ""
66 alg.OutputKeyPprChanStrategy = ""
67 alg.OutputKeyPprConditionsRun2 = ""
68 alg.OutputKeyReadoutConfig = ""
69 alg.OutputKeyReadoutConfigJSON = ""
70
71 result.addCondAlgo(alg)
72
73 if readTest:
74
75 L1CaloCondReader = CompFactory.L1CaloCondAlgReader()
76 result.addEventAlgo(L1CaloCondReader, 'AthAlgSeq')
77
78
79 return result
80
81