13 """Configure the skimming tool"""
16 from DerivationFrameworkJetEtMiss
import TriggerLists
17 metTriggers = TriggerLists.MET_Trig(flags)
18 elTriggers = TriggerLists.single_el_Trig(flags)
19 muTriggers = TriggerLists.single_mu_Trig(flags)
21 addRun3METTriggers = [
"HLT_xe55_cell_xe70_tcpufit_xe90_pfsum_vssk_L1XE50",
"HLT_xe55_cell_xe70_tcpufit_xe95_pfsum_cssk_L1XE50",
"HLT_xe60_cell_xe95_pfsum_cssk_L1XE50",
"HLT_xe65_cell_xe100_mhtpufit_pf_L1XE50",
"HLT_xe65_cell_xe105_mhtpufit_em_L1XE50",
"HLT_xe75_cell_xe65_tcpufit_xe90_trkmht_L1XE50",
"HLT_xe65_cell_xe90_pfopufit_L1XE50",
"HLT_xe80_cell_xe115_tcpufit_L1XE50"]
23 addRun3ElectronTriggers = [
"HLT_e17_lhvloose_L1EM15VHI",
"HLT_e20_lhvloose_L1EM15VH",
"HLT_e250_etcut_L1EM22VHI",
24 "HLT_e26_lhtight_ivarloose_L1EM22VHI",
"HLT_e26_lhtight_ivarloose_L1eEM26M",
25 "HLT_e60_lhmedium_L1EM22VHI",
"HLT_e60_lhmedium_L1eEM26M",
26 "HLT_e140_lhloose_L1EM22VHI",
"HLT_e140_lhloose_L1eEM26M",
27 "HLT_e300_etcut_L1EM22VHI",
"HLT_e300_etcut_L1eEM26M",
28 "HLT_e140_lhloose_noringer_L1EM22VHI",
"HLT_e140_lhloose_noringer_L1eEM26M"]
30 addRund3MuonTriggers = [
"HLT_mu24_ivarmedium_L1MU14FCH",
"HLT_mu50_L1MU14FCH",
"HLT_mu60_0eta105_msonly_L1MU14FCH",
"HLT_mu60_L1MU14FCH",
"HLT_mu80_msonly_3layersEC_L1MU14FCH"]
32 metTriggers = metTriggers+addRun3METTriggers
33 elTriggers = elTriggers+addRun3ElectronTriggers
34 muTriggers = muTriggers+addRund3MuonTriggers
37 if not flags.Input.isMC:
39 from CoolConvUtilities.MagFieldUtils
import getFieldForRun
40 magfield=
getFieldForRun(flags.Input.RunNumbers[0],lumiblock=flags.Input.LumiBlockNumbers[0])
41 addTtbarEvents = magfield.solenoidCurrent() > 0
45 tracks =
'InDetTrackParticles.TrkIsoPt1000_ptcone20 < 0.12*InDetTrackParticles.pt && InDetTrackParticles.DFCommonTightPrimary && abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5.0*mm'
47 trackRequirements =
'(InDetTrackParticles.pt > 6.*GeV && '+tracks+
' )'
48 trackRequirementsMu =
'(InDetTrackParticles.pt > 40.*GeV && '+tracks+
' )'
49 jetRequirementsTtbar =
'(AntiKt4EMPFlowJets.pt > 18*GeV && log(BTagging_AntiKt4EMPFlow.DL1dv01_pb/(0.018*BTagging_AntiKt4EMPFlow.DL1dv01_pc+(1.0-0.018)*BTagging_AntiKt4EMPFlow.DL1dv01_pu)) > 0.948)'
50 trackRequirementsNoIso =
'(InDetTrackParticles.pt > 10.*GeV && abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5.0*mm )'
52 muonsRequirements =
'(Muons.pt >= 20.*GeV) && (abs(Muons.eta) < 2.6) && (Muons.DFCommonMuonPassPreselection)'
53 electronsRequirements =
'(Electrons.pt > 20.*GeV) && (abs(Electrons.eta) < 2.6) && ((Electrons.Loose) || (Electrons.DFCommonElectronsLHLoose))'
56 expression_W =
'( count('+trackRequirements+
') >=1 )'
57 expression_Mu =
'( count('+trackRequirementsMu+
') >=1 )'
58 expression_ttbarEl =
'( count('+electronsRequirements+
') >=1 ) && ( count('+jetRequirementsTtbar+
') >=1 ) && ( count('+trackRequirementsNoIso+
') >=2 ) && ( count('+trackRequirements+
') >=1 )'
59 expression_ttbarElNoTag =
'( count('+electronsRequirements+
') >=1 ) && ( count('+trackRequirements+
') >=1 )'
60 expression_ttbarMu =
'( count('+muonsRequirements+
') >=1 ) && ( count('+jetRequirementsTtbar+
') >=1 ) && ( count('+trackRequirementsNoIso+
') >=2 ) && ( count('+trackRequirements+
') >=1 )'
61 expression_ttbarMuNoTag =
'( count('+muonsRequirements+
') >=1 ) && ( count('+trackRequirements+
') >=1 )'
63 skimmingTool_W = CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"skimmingTool_W", expression = expression_W)
64 acc.addPublicTool(skimmingTool_W)
65 skimmingTool_Mu = CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"skimmingTool_mu", expression = expression_Mu)
66 acc.addPublicTool(skimmingTool_Mu)
69 JETM12TriggerSkimmingTool_W = CompFactory.DerivationFramework.TriggerSkimmingTool(name =
"JETM12TriggerSkimmingTool_W", TriggerListOR = metTriggers)
70 acc.addPublicTool(JETM12TriggerSkimmingTool_W)
71 JETM12TriggerSkimmingTool_ele = CompFactory.DerivationFramework.TriggerSkimmingTool(name =
"JETM12TriggerSkimmingTool_ele", TriggerListOR = elTriggers)
72 acc.addPublicTool(JETM12TriggerSkimmingTool_ele)
73 JETM12TriggerSkimmingTool_mu = CompFactory.DerivationFramework.TriggerSkimmingTool(name =
"JETM12TriggerSkimmingTool_mu", TriggerListOR = muTriggers)
74 acc.addPublicTool(JETM12TriggerSkimmingTool_mu)
76 JETM12SkimmingTool_W = CompFactory.DerivationFramework.FilterCombinationAND(name=
"JETM12SkimmingTool_W", FilterList=[skimmingTool_W, JETM12TriggerSkimmingTool_W])
77 acc.addPublicTool(JETM12SkimmingTool_W)
78 JETM12SkimmingTool_Mu = CompFactory.DerivationFramework.FilterCombinationAND(name=
"JETM12SkimmingTool_Mu", FilterList=[skimmingTool_Mu, JETM12TriggerSkimmingTool_mu])
79 acc.addPublicTool(JETM12SkimmingTool_Mu)
81 finalSkimmingTools = [JETM12SkimmingTool_W,JETM12SkimmingTool_Mu]
84 skimmingTool_ttbarEl = CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"skimmingTool_ttbarEl", expression = expression_ttbarEl)
85 acc.addPublicTool(skimmingTool_ttbarEl)
86 skimmingTool_ttbarElNoTag = CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"skimmingTool_ttbarElNoTag", expression = expression_ttbarElNoTag)
87 acc.addPublicTool(skimmingTool_ttbarElNoTag)
88 skimmingTool_ttbarMu = CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"skimmingTool_ttbarMu", expression = expression_ttbarMu)
89 acc.addPublicTool(skimmingTool_ttbarMu)
90 skimmingTool_ttbarMuNoTag = CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"skimmingTool_ttbarMuNoTag", expression = expression_ttbarMuNoTag)
91 acc.addPublicTool(skimmingTool_ttbarMuNoTag)
93 JETM12SkimmingTool_ttbarEl = CompFactory.DerivationFramework.FilterCombinationAND(name=
"JETM12SkimmingTool_ttbarEl",FilterList=[skimmingTool_ttbarEl,JETM12TriggerSkimmingTool_ele])
94 acc.addPublicTool(JETM12SkimmingTool_ttbarEl)
95 JETM12SkimmingTool_ttbarElNoTag = CompFactory.DerivationFramework.FilterCombinationAND(name=
"JETM12SkimmingTool_ttbarElNoTag",FilterList=[skimmingTool_ttbarElNoTag,JETM12TriggerSkimmingTool_ele])
96 acc.addPublicTool(JETM12SkimmingTool_ttbarElNoTag)
97 JETM12SkimmingTool_ttbarMu = CompFactory.DerivationFramework.FilterCombinationAND(name=
"JETM12SkimmingTool_ttbarMu",FilterList=[skimmingTool_ttbarMu,JETM12TriggerSkimmingTool_mu])
98 acc.addPublicTool(JETM12SkimmingTool_ttbarMu)
99 JETM12SkimmingTool_ttbarMuNoTag = CompFactory.DerivationFramework.FilterCombinationAND(name=
"JETM12SkimmingTool_ttbarMuNoTag",FilterList=[skimmingTool_ttbarMuNoTag,JETM12TriggerSkimmingTool_mu])
100 acc.addPublicTool(JETM12SkimmingTool_ttbarMuNoTag)
102 finalSkimmingTools = [JETM12SkimmingTool_W, JETM12SkimmingTool_Mu, JETM12SkimmingTool_ttbarEl, JETM12SkimmingTool_ttbarMu, JETM12SkimmingTool_ttbarElNoTag, JETM12SkimmingTool_ttbarMuNoTag]
104 JETM12SkimmingTool = CompFactory.DerivationFramework.FilterCombinationOR(name=
"JETM12SkimmingTool", FilterList=finalSkimmingTools)
105 acc.addPublicTool(JETM12SkimmingTool, primary =
True)