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  'Phase2C9',
39  'Phase2C10',
40  'Phase2C11',
41  'Phase2C12',
42  'Phase2C9_dd4hep',
43  'Phase2C10_dd4hep',
44  'Phase2C11_dd4hep',
45  'Phase2C11I13',
46  'Phase2C11T22',
47  'Phase2C11T23',
48  'Phase2C12_dd4hep',
49  'Phase2C11M9',
50  'Phase2C11I13M9',
51  'Phase2C11I13T22M9',
52  'Phase2C11I13T23M9',
53  'Phase2C11I13T25M9',
54  'Phase2C11I13T26M9'
55  ]
56 
57  internalUseMods = ['run2_common', 'run2_25ns_specific',
58  'run2_50ns_specific', 'run2_HI_specific',
59  'stage1L1Trigger', 'fastSim',
60  'peripheralPbPb', 'pA_2016',
61  'run2_HE_2017', 'stage2L1Trigger', 'stage2L1Trigger_2017', 'stage2L1Trigger_2018', 'stage2L1Trigger_2021',
62  'run2_HF_2017', 'run2_HCAL_2017', 'run2_HEPlan1_2017', 'run2_HB_2018','run2_HE_2018',
63  'run3_HB', 'run3_common', 'run3_RPC',
64  'phase1Pixel', 'run3_GEM', 'run2_GEM_2017',
65  'run2_CSC_2018',
66  'phase2_common', 'phase2_tracker',
67  'phase2_muon', 'phase2_GEM', 'phase2_GE0',
68  'phase2_hgcal', 'phase2_timing', 'phase2_hfnose', 'phase2_hgcalV10', 'phase2_hgcalV11', 'phase2_hgcalV12',
69  'phase2_timing_layer', 'phase2_etlV4', 'phase2_hcal', 'phase2_ecal','phase2_ecal_devel',
70  'phase2_trigger',
71  'phase2_squarePixels', 'phase2_3DPixels',
72  'trackingLowPU', 'trackingPhase1', 'ctpps', 'ctpps_2016', 'ctpps_2017', 'ctpps_2018', 'ctpps_2021', 'trackingPhase2PU140','highBetaStar_2018',
73  'tracker_apv_vfp30_2016', 'pf_badHcalMitigation', 'run2_miniAOD_80XLegacy','run2_miniAOD_94XFall17', 'run2_nanoAOD_92X',
74  'run2_nanoAOD_94XMiniAODv1', 'run2_nanoAOD_94XMiniAODv2', 'run2_nanoAOD_94X2016',
75  'run2_miniAOD_devel', 'run2_nanoAOD_102Xv1', 'run2_nanoAOD_106Xv1', 'run2_nanoAOD_106Xv2',
76  'hcalHardcodeConditions', 'hcalSkipPacker',
77  'run2_HLTconditions_2016','run2_HLTconditions_2017','run2_HLTconditions_2018',
78  'bParking']
79  internalUseModChains = ['run2_2017_noTrackingModifier']
80 
81  self.pythonCfgLines = {}
82 
83  for e in allEras:
84  eObj=getattr(__import__('Configuration.Eras.Era_'+e+'_cff',globals(),locals(),[e],0),e)
85  self.addEra(e,eObj)
86  self.pythonCfgLines[e] = 'from Configuration.Eras.Era_'+e+'_cff import '+e
87 
88  for e in internalUseMods:
89  eObj=getattr(__import__('Configuration.Eras.Modifier_'+e+'_cff',globals(),locals(),[e],0),e)
90  self.addEra(e,eObj)
91  self.pythonCfgLines[e] = 'from Configuration.Eras.Modifier_'+e+'_cff import '+e
92 
93  for e in internalUseModChains:
94  eObj=getattr(__import__('Configuration.Eras.ModifierChain_'+e+'_cff',globals(),locals(),[e],0),e)
95  self.addEra(e,eObj)
96  self.pythonCfgLines[e] = 'from Configuration.Eras.ModifierChain_'+e+'_cff import '+e
97 
98 

Member Function Documentation

◆ addEra()

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

Definition at line 99 of file Eras.py.

99  def addEra(self,name,obj):
100  setattr(self,name,obj)
101 

◆ inspect()

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

Definition at line 116 of file Eras.py.

116  def inspect(self,name=None,onlyChosen=False,details=True):
117  if name==None:
118  print('Inspecting the known eras', end=' ')
119  if onlyChosen: print(' (all active)')
120  else: print('(all eras defined)')
121  else:
122  print('Inspecting the '+name+' era', end=' ')
123 
124  allEras=[]
125  for key, value in self.__dict__.items():
126  if isinstance(value, ModifierChain): allEras.append(key)
127 
128  for e in allEras:
129  if name is not None and name==e:
130  self.inspectEra(e,details)
131  if name is None:
132  if not onlyChosen or getattr(self,e).isChosen():
133  self.inspectEra(e,details)
134 
135 eras=Eras()
136 
137 
138 #eras.inspect()

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

◆ inspectEra()

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

Definition at line 105 of file Eras.py.

105  def inspectEra(self,e,details):
106  print('\nEra:',e)
107  print(' isChosen:',getattr(self,e)._isChosen())
108  if details: print(' Modifiers:')
109  nmod=0
110  for value in getattr(self,e).__dict__['_ModifierChain__chain']:
111  if isinstance(value, Modifier):
112  nmod=nmod+1
113  if details: self.inspectModifier(value,details)
114  print(' ',nmod,'modifiers defined')
115 

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

Referenced by Eras.Eras.inspect().

◆ inspectModifier()

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

Definition at line 102 of file Eras.py.

102  def inspectModifier(self,m,details):
103  print(' ',m.__dict__ ['_Modifier__processModifiers'])
104 

References print().

Referenced by Eras.Eras.inspectEra().

Member Data Documentation

◆ pythonCfgLines

Eras.Eras.pythonCfgLines

Definition at line 81 of file Eras.py.

Eras
Definition: Eras.py:1
mps_monitormerge.items
list items
Definition: mps_monitormerge.py:29
print
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:46