1 from __future__
import print_function
2 import FWCore.ParameterSet.Config
as cms
3 from FWCore.ParameterSet.Config
import ModifierChain,Modifier
7 Dummy container for all the cms.Modifier instances that config fragments 8 can use to selectively configure depending on what scenario is active. 12 'Run1_peripheralPbPb',
17 'Run2_25ns_peripheralPbPb',
21 'Run2_2016_trackingLowPU',
25 'Run2_2017_trackingRun2',
26 'Run2_2017_trackingLowPU',
27 'Run2_2017_pp_on_XeXe',
32 'Run2_2018_pp_on_AA_noHCALmitigation',
33 'Run2_2018_highBetaStar',
37 'Phase2_timing_layer',
38 'Phase2_timing_layer_tile',
39 'Phase2_timing_layer_bar',
44 'Phase2C4_timing_layer_bar',
47 'Phase2C8_timing_layer_bar',
50 internalUseMods = [
'run2_common',
'run2_25ns_specific',
51 'run2_50ns_specific',
'run2_HI_specific',
52 'stage1L1Trigger',
'fastSim',
53 'peripheralPbPb',
'pA_2016',
54 'run2_HE_2017',
'stage2L1Trigger',
'stage2L1Trigger_2017',
55 'run2_HF_2017',
'run2_HCAL_2017',
'run2_HEPlan1_2017',
'run2_HB_2018',
'run2_HE_2018',
56 'run3_HB',
'run3_common',
57 'phase1Pixel',
'run3_GEM',
'run2_GEM_2017',
59 'phase2_common',
'phase2_tracker',
60 'phase2_hgcal',
'phase2_muon',
'phase2_timing',
'phase2_hgcalV9',
'phase2_hfnose',
'phase2_hgcalV10',
61 'phase2_timing_layer',
'phase2_timing_layer_tile',
'phase2_timing_layer_bar',
'phase2_hcal',
62 'trackingLowPU',
'trackingPhase1',
'ctpps_2016',
'trackingPhase2PU140',
'highBetaStar_2018',
63 'tracker_apv_vfp30_2016',
'pf_badHcalMitigation',
'run2_miniAOD_80XLegacy',
'run2_miniAOD_94XFall17',
'run2_nanoAOD_92X',
64 'run2_nanoAOD_94XMiniAODv1',
'run2_nanoAOD_94XMiniAODv2',
'run2_nanoAOD_94X2016',
65 'run2_miniAOD_devel',
'run2_nanoAOD_102Xv1',
'run2_nanoAOD_106Xv1',
'run2_nanoAOD_106Xv2',
'run2_nanoAOD_devel',
66 'run2_tau_ul_2016',
'run2_tau_ul_2018',
67 'hcalHardcodeConditions',
'hcalSkipPacker',
68 'run2_HLTconditions_2016',
'run2_HLTconditions_2017',
'run2_HLTconditions_2018',
70 internalUseModChains = [
'run2_2017_noTrackingModifier']
75 eObj=getattr(__import__(
'Configuration.Eras.Era_'+e+
'_cff',globals(),locals(),[e],0),e)
77 self.
pythonCfgLines[e] =
'from Configuration.Eras.Era_'+e+
'_cff import '+e
79 for e
in internalUseMods:
80 eObj=getattr(__import__(
'Configuration.Eras.Modifier_'+e+
'_cff',globals(),locals(),[e],0),e)
82 self.
pythonCfgLines[e] =
'from Configuration.Eras.Modifier_'+e+
'_cff import '+e
84 for e
in internalUseModChains:
85 eObj=getattr(__import__(
'Configuration.Eras.ModifierChain_'+e+
'_cff',globals(),locals(),[e],0),e)
87 self.
pythonCfgLines[e] =
'from Configuration.Eras.ModifierChain_'+e+
'_cff import '+e
91 setattr(self,name,obj)
94 print(
' ',m.__dict__ [
'_Modifier__processModifiers'])
98 print(
' isChosen:',getattr(self,e)._isChosen())
99 if details:
print(
' Modifiers:')
101 for value
in getattr(self,e).__dict__[
'_ModifierChain__chain']:
102 if isinstance(value, Modifier):
105 print(
' ',nmod,
'modifiers defined')
107 def inspect(self,name=None,onlyChosen=False,details=True):
109 print(
'Inspecting the known eras', end=
' ')
110 if onlyChosen:
print(
' (all active)')
111 else:
print(
'(all eras defined)')
113 print(
'Inspecting the '+name+
' era', end=
' ')
116 for key, value
in self.__dict__.items():
117 if isinstance(value, ModifierChain): allEras.append(key)
120 if name
is not None and name==e:
123 if not onlyChosen
or getattr(self,e).isChosen():
def inspectEra(self, e, details)
S & print(S &os, JobReport::InputFile const &f)
def inspectModifier(self, m, details)
def inspect(self, name=None, onlyChosen=False, details=True)
def addEra(self, name, obj)