48 Create a configSequence using provided YAML file and a
49 configSequence using ConfigText python commands and compare.
51 Will raise an exception if configSequences differ
54 from AnalysisAlgorithmsConfig.ConfigText
import TextConfig
58 config.addBlock(
'CommonServices')
59 config.setOptions(systematicsHistogram=
'systematicsList')
60 config.setOptions(filterSystematics=
"^(?:(?!PseudoData).)*$")
63 config.addBlock(
'PileupReweighting')
66 config.addBlock(
'EventCleaning')
67 config.setOptions (runEventCleaning=
True)
70 config.addBlock(
'Jets')
71 config.setOptions (containerName=
'AnaJets')
72 config.setOptions (jetCollection=
'AntiKt4EMPFlowJets')
73 config.setOptions (runJvtUpdate=
False)
74 config.setOptions (runNNJvtUpdate=
True)
76 config.addBlock(
'Jets.FlavourTagging')
77 config.setOptions (containerName=
'AnaJets')
78 config.setOptions (selectionName=
'ftag')
79 config.setOptions (noEffSF=
True)
80 config.setOptions (btagger=
'DL1dv01')
81 config.setOptions (btagWP=
'FixedCutBEff_60')
83 config.addBlock(
'Jets.JVT', containerName=
'AnaJets')
85 config.addBlock (
'Jets.PtEtaSelection')
86 config.setOptions (containerName=
'AnaJets')
87 config.setOptions (selectionDecoration=
'selectPtEta')
90 config.addBlock (
'Electrons')
91 config.setOptions (containerName=
'AnaElectrons')
92 config.setOptions (forceFullSimConfig=
True)
94 config.addBlock (
'Electrons.WorkingPoint')
95 config.setOptions (containerName=
'AnaElectrons')
96 config.setOptions (selectionName=
'loose')
97 config.setOptions (forceFullSimConfig=
True)
98 config.setOptions (noEffSF=
True)
99 config.setOptions (likelihoodWP=
'LooseBLayerLH')
100 config.setOptions (isolationWP=
'Loose_VarRad')
101 config.setOptions (recomputeLikelihood=
False)
102 config.setOptions (writeTrackD0Z0=
True)
104 config.addBlock (
'Electrons.PtEtaSelection')
105 config.setOptions (containerName=
'AnaElectrons')
106 config.setOptions (selectionDecoration=
'selectPtEta')
107 config.setOptions (minPt=10000.0)
110 config.addBlock (
'Photons', containerName=
'AnaPhotons')
111 config.setOptions (forceFullSimConfig=
True)
112 config.setOptions (recomputeIsEM=
False)
114 config.addBlock (
'Photons.WorkingPoint')
115 config.setOptions (containerName=
'AnaPhotons')
116 config.setOptions (selectionName=
'tight')
117 config.setOptions (forceFullSimConfig=
True)
118 config.setOptions (noEffSF=
True)
119 config.setOptions (qualityWP=
'Tight')
120 config.setOptions (isolationWP=
'FixedCutTight')
121 config.setOptions (recomputeIsEM=
False)
123 config.addBlock (
'Photons.PtEtaSelection')
124 config.setOptions (containerName=
'AnaPhotons')
125 config.setOptions (selectionDecoration=
'selectPtEta')
126 config.setOptions (minPt=10000.0)
129 config.addBlock (
'Muons', containerName=
'AnaMuons')
131 config.addBlock (
'Muons.WorkingPoint')
132 config.setOptions (containerName=
'AnaMuons')
133 config.setOptions (selectionName=
'medium')
134 config.setOptions (quality=
'Medium')
135 config.setOptions (isolation=
'Loose_VarRad')
136 config.setOptions (onlyRecoEffSF=
True)
137 config.setOptions (writeTrackD0Z0=
True)
139 config.addBlock (
'Muons.PtEtaSelection')
140 config.setOptions (containerName=
'AnaMuons')
141 config.setOptions (selectionDecoration=
'selectPtEta')
144 config.addBlock (
'TauJets', containerName=
'AnaTauJets')
146 config.addBlock (
'TauJets.WorkingPoint')
147 config.setOptions (containerName=
'AnaTauJets')
148 config.setOptions (selectionName=
'tight')
149 config.setOptions (quality=
'Tight')
151 config.addBlock (
'TauJets.PtEtaSelection')
152 config.setOptions (containerName=
'AnaTauJets')
153 config.setOptions (selectionDecoration=
'selectPtEta')
155 config.addBlock (
'SystObjectLink')
156 config.setOptions (containerName=
'AnaJets')
157 config.addBlock (
'SystObjectLink')
158 config.setOptions (containerName=
'AnaElectrons')
159 config.addBlock (
'SystObjectLink')
160 config.setOptions (containerName=
'AnaPhotons')
161 config.addBlock (
'SystObjectLink')
162 config.setOptions (containerName=
'AnaMuons')
163 config.addBlock (
'SystObjectLink')
164 config.setOptions (containerName=
'AnaTauJets')
166 config.addBlock (
'ObjectCutFlow')
167 config.setOptions (containerName=
'AnaJets')
168 config.setOptions (selectionName=
'jvt')
169 config.addBlock (
'ObjectCutFlow')
170 config.setOptions (containerName=
'AnaElectrons')
171 config.setOptions (selectionName=
'loose')
172 config.addBlock (
'ObjectCutFlow')
173 config.setOptions (containerName=
'AnaPhotons')
174 config.setOptions (selectionName=
'tight')
175 config.addBlock (
'ObjectCutFlow')
176 config.setOptions (containerName=
'AnaMuons')
177 config.setOptions (selectionName=
'medium')
178 config.addBlock (
'ObjectCutFlow')
179 config.setOptions (containerName=
'AnaTauJets')
180 config.setOptions (selectionName=
'tight')
183 config.addBlock(
'GeneratorLevelAnalysis')
184 config.setOptions (saveCutBookkeepers=
True)
185 config.setOptions (runNumber=284500)
186 config.setOptions (cutBookkeepersSystematics=
True)
189 config.addBlock (
'MissingET')
190 config.setOptions (containerName=
'AnaMET')
191 config.setOptions (jets=
'AnaJets')
192 config.setOptions (taus=
'AnaTauJets.tight')
193 config.setOptions (electrons=
'AnaElectrons.loose')
194 config.setOptions (photons=
'AnaPhotons.tight')
195 config.setOptions (muons=
'AnaMuons.medium')
198 config.addBlock(
'OverlapRemoval' )
199 config.setOptions (inputLabel=
'preselectOR')
200 config.setOptions (outputLabel=
'passesOR' )
201 config.setOptions (jets=
'AnaJets')
202 config.setOptions (taus=
'AnaTauJets.tight')
203 config.setOptions (electrons=
'AnaElectrons.loose')
204 config.setOptions (photons=
'AnaPhotons.tight')
205 config.setOptions (muons=
'AnaMuons.medium')
208 config.addBlock (
'Thinning')
209 config.setOptions (containerName=
'AnaElectrons')
210 config.setOptions (selectionName=
'loose')
211 config.setOptions (outputName=
'OutElectrons')
212 config.addBlock (
'Thinning')
213 config.setOptions (containerName=
'AnaPhotons')
214 config.setOptions (selectionName=
'tight')
215 config.setOptions (outputName=
'OutPhotons')
216 config.addBlock (
'Thinning')
217 config.setOptions (containerName=
'AnaMuons')
218 config.setOptions (selectionName=
'medium')
219 config.setOptions (outputName=
'OutMuons')
220 config.addBlock (
'Thinning')
221 config.setOptions (containerName=
'AnaTauJets')
222 config.setOptions (selectionName=
'tight')
223 config.setOptions (outputName=
'OutTauJets')
224 config.addBlock (
'Thinning')
225 config.setOptions (containerName=
'AnaJets')
226 config.setOptions (outputName=
'OutJets')
228 config.addBlock (
'Output')
229 config.setOptions (treeName=
'analysis')
230 config.setOptions (vars=[])
231 config.setOptions (metVars=[])
234 'el_':
'OutElectrons',
235 'ph_' :
'OutPhotons',
236 'tau_':
'OutTauJets',
240 config.setOptions (containers=outputContainers)
242 'disable jet_select_baselineJvt.*',
243 'disable mu_select_medium.*',
244 'disable ph_select_tight.*',
245 'disable tau_select_tight.*',
246 'disable el_select_loose.*',
248 config.setOptions (commands=disable_commands)
251 configSeq = config.configure()
254 textConfig = TextConfig(yamlPath)
255 textConfigSeq = textConfig.configure()