55from itertools import chain
66
77import utils
8+ import definitions as defs
89
910from bamboo import treefunctions as op
1011from bamboo import treedecorators as td
@@ -116,9 +117,11 @@ def prepare_ondemand(self, tree, sample=None, sampleCfg=None, backend=None):
116117 "v12" , year = era [:4 ], isMC = isMC , systVariations = systVars ),
117118 backend = self .args .backend or backend )
118119
120+ # MC weight
119121 if isMC :
120122 noSel = noSel .refine ('genWeight' , weight = tree .genWeight )
121123
124+ # Triggers
122125 self .triggersPerPrimaryDataset = {}
123126
124127 def addHLTPath (PD , HLT ):
@@ -130,8 +133,6 @@ def addHLTPath(PD, HLT):
130133 except AttributeError :
131134 print ("Couldn't find branch tree.HLT.%s, cross check!" % HLT )
132135
133- # Triggers
134-
135136 # Muon
136137 addHLTPath ('Muon' , 'IsoMu24' )
137138 addHLTPath ('Muon' , 'IsoMu27' )
@@ -181,12 +182,16 @@ def addHLTPath(PD, HLT):
181182 cmJMEArgs .update ({"jsonFileSubjet" : JSONFiles [era ]["AK4" ], })
182183 configureJets (tree ._FatJet , jetType = "AK8PFPuppi" , ** cmJMEArgs )
183184
185+ # define objects
186+ defs .defineObjects (self , tree )
187+
184188 # btagging SF
185- from bamboo .scalefactors import get_bTagSF_itFit , makeBtagWeightItFit
186- def btvSF (flav ): return get_bTagSF_itFit (
187- BTV_SF_JSONFiles [era ], "particleNet" , "btagDeepFlavB" , flav , noSel )
188- btvWeight = makeBtagWeightItFit (tree ._Jet , btvSF )
189- noSel = noSel .refine ("btag" , weight = btvWeight )
189+ if isMC :
190+ from bamboo .scalefactors import get_bTagSF_itFit , makeBtagWeightItFit
191+ def btvSF (flav ): return get_bTagSF_itFit (
192+ BTV_SF_JSONFiles [era ], "particleNet" , "btagDeepFlavB" , flav , noSel )
193+ btvWeight = makeBtagWeightItFit (self .ak4Jets , btvSF )
194+ noSel = noSel .refine ("btag" , weight = btvWeight )
190195
191196 return tree , noSel , be , lumiArgs
192197
0 commit comments