CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
Eras.Eras Class Reference
Inheritance diagram for Eras.Eras:

Public Member Functions

def __init__ (self)
 
def addEra (self, name, obj)
 
def inspect (self, name=None, onlyChosen=False, details=True)
 
def inspectEra (self, e, details)
 
def inspectModifier (self, m, details)
 

Public Attributes

 pythonCfgLines
 

Detailed Description

Dummy container for all the cms.Modifier instances that config fragments
can use to selectively configure depending on what scenario is active.

Definition at line 5 of file Eras.py.

Constructor & Destructor Documentation

◆ __init__()

def Eras.Eras.__init__ (   self)

Definition at line 10 of file Eras.py.

10  def __init__(self):
11  allEras=['Run1_pA',
12  'Run1_peripheralPbPb',
13  'Run2_50ns',
14  'Run2_50ns_HIPM',
15  'Run2_25ns',
16  'Run2_25ns_HIPM',
17  'Run2_25ns_peripheralPbPb',
18  'Run2_HI',
19  'Run2_2016',
20  'Run2_2016_HIPM',
21  'Run2_2016_trackingLowPU',
22  'Run2_2016_pA',
23  'Run2_2017',
24  'Run2_2017_FastSim', #new modifier for Phase1 FastSim, skips the muon GEM sequence
25  'Run2_2017_trackingRun2',
26  'Run2_2017_trackingLowPU',
27  'Run2_2017_pp_on_XeXe',
28  'Run2_2017_ppRef',
29  'Run2_2018',
30  'Run2_2018_FastSim', #new modifier for Phase1 FastSim, skips the muon GEM sequence
31  'Run2_2018_pp_on_AA',
32  'Run2_2018_pp_on_AA_noHCALmitigation',
33  'Run2_2018_highBetaStar',
34  'Run3',
35  'Run3_pp_on_PbPb',
36  'Run3_dd4hep',
37  'Phase2',
38  'Phase2C4',
39  'Phase2C6',
40  'Phase2C8',
41  'Phase2C9',
42  'Phase2C10',
43  ]
44 
45  internalUseMods = ['run2_common', 'run2_25ns_specific',
46  'run2_50ns_specific', 'run2_HI_specific',
47  'stage1L1Trigger', 'fastSim',
48  'peripheralPbPb', 'pA_2016',
49  'run2_HE_2017', 'stage2L1Trigger', 'stage2L1Trigger_2017', 'stage2L1Trigger_2018', 'stage2L1Trigger_2021',
50  'run2_HF_2017', 'run2_HCAL_2017', 'run2_HEPlan1_2017', 'run2_HB_2018','run2_HE_2018',
51  'run3_HB', 'run3_common', 'run3_RPC',
52  'phase1Pixel', 'run3_GEM', 'run2_GEM_2017',
53  'run2_CSC_2018',
54  'phase2_common', 'phase2_tracker',
55  'phase2_hgcal', 'phase2_muon', 'phase2_timing', 'phase2_hgcalV9', 'phase2_hfnose', 'phase2_hgcalV10', 'phase2_hgcalV11',
56  'phase2_timing_layer', 'phase2_hcal',
57  'phase2_trigger',
58  'trackingLowPU', 'trackingPhase1', 'ctpps_2016', 'ctpps_2017', 'ctpps_2018', 'ctpps_2021', 'trackingPhase2PU140','highBetaStar_2018',
59  'tracker_apv_vfp30_2016', 'pf_badHcalMitigation', 'run2_miniAOD_80XLegacy','run2_miniAOD_94XFall17', 'run2_nanoAOD_92X',
60  'run2_nanoAOD_94XMiniAODv1', 'run2_nanoAOD_94XMiniAODv2', 'run2_nanoAOD_94X2016',
61  'run2_miniAOD_devel', 'run2_nanoAOD_102Xv1', 'run2_nanoAOD_106Xv1',
62  'hcalHardcodeConditions', 'hcalSkipPacker',
63  'run2_HLTconditions_2016','run2_HLTconditions_2017','run2_HLTconditions_2018',
64  'bParking']
65  internalUseModChains = ['run2_2017_noTrackingModifier']
66 
67  self.pythonCfgLines = {}
68 
69  for e in allEras:
70  eObj=getattr(__import__('Configuration.Eras.Era_'+e+'_cff',globals(),locals(),[e],0),e)
71  self.addEra(e,eObj)
72  self.pythonCfgLines[e] = 'from Configuration.Eras.Era_'+e+'_cff import '+e
73 
74  for e in internalUseMods:
75  eObj=getattr(__import__('Configuration.Eras.Modifier_'+e+'_cff',globals(),locals(),[e],0),e)
76  self.addEra(e,eObj)
77  self.pythonCfgLines[e] = 'from Configuration.Eras.Modifier_'+e+'_cff import '+e
78 
79  for e in internalUseModChains:
80  eObj=getattr(__import__('Configuration.Eras.ModifierChain_'+e+'_cff',globals(),locals(),[e],0),e)
81  self.addEra(e,eObj)
82  self.pythonCfgLines[e] = 'from Configuration.Eras.ModifierChain_'+e+'_cff import '+e
83 
84 

Member Function Documentation

◆ addEra()

def Eras.Eras.addEra (   self,
  name,
  obj 
)

Definition at line 85 of file Eras.py.

85  def addEra(self,name,obj):
86  setattr(self,name,obj)
87 

◆ inspect()

def Eras.Eras.inspect (   self,
  name = None,
  onlyChosen = False,
  details = True 
)

Definition at line 102 of file Eras.py.

102  def inspect(self,name=None,onlyChosen=False,details=True):
103  if name==None:
104  print('Inspecting the known eras', end=' ')
105  if onlyChosen: print(' (all active)')
106  else: print('(all eras defined)')
107  else:
108  print('Inspecting the '+name+' era', end=' ')
109 
110  allEras=[]
111  for key, value in self.__dict__.items():
112  if isinstance(value, ModifierChain): allEras.append(key)
113 
114  for e in allEras:
115  if name is not None and name==e:
116  self.inspectEra(e,details)
117  if name is None:
118  if not onlyChosen or getattr(self,e).isChosen():
119  self.inspectEra(e,details)
120 
121 eras=Eras()
122 
123 
124 #eras.inspect()

References Eras.Eras.inspectEra(), mps_monitormerge.items, and edm.print().

◆ inspectEra()

def Eras.Eras.inspectEra (   self,
  e,
  details 
)

Definition at line 91 of file Eras.py.

91  def inspectEra(self,e,details):
92  print('\nEra:',e)
93  print(' isChosen:',getattr(self,e)._isChosen())
94  if details: print(' Modifiers:')
95  nmod=0
96  for value in getattr(self,e).__dict__['_ModifierChain__chain']:
97  if isinstance(value, Modifier):
98  nmod=nmod+1
99  if details: self.inspectModifier(value,details)
100  print(' ',nmod,'modifiers defined')
101 

References Eras.Eras.inspectModifier(), and edm.print().

Referenced by Eras.Eras.inspect().

◆ inspectModifier()

def Eras.Eras.inspectModifier (   self,
  m,
  details 
)

Definition at line 88 of file Eras.py.

88  def inspectModifier(self,m,details):
89  print(' ',m.__dict__ ['_Modifier__processModifiers'])
90 

References edm.print().

Referenced by Eras.Eras.inspectEra().

Member Data Documentation

◆ pythonCfgLines

Eras.Eras.pythonCfgLines

Definition at line 67 of file Eras.py.

Eras
Definition: Eras.py:1
mps_monitormerge.items
list items
Definition: mps_monitormerge.py:29
edm::print
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66