sel_elec3 = 'Electrons.pt > 15*GeV && ( Electrons.Medium || Electrons.LHMedium )' draw_egz3 = '( ( count ( eeMass3 > 20*GeV && eeMass3 < 90*GeV ) >= 1 ) && ( count (Photons.pt > 7*GeV && Photons.Tight )>=1 ) )' #This is for Zmmgam sel_muon4 = 'Muons.pt > 15 *GeV' draw_egz4 = ' ( ( count ( DREmumuMass > 20*GeV && DREmumuMass < 90*GeV ) >= 1 ) && ( count (Photons.pt > 7*GeV && Photons.Tight ) >=1 ))' # Event selection string draw_egz = draw_egz1 + ' || ' + draw_egz3 + ' || ' + draw_egz4 # Invariant masses in various configurations from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__InvariantMassTool eeMassTool1 = DerivationFramework__InvariantMassTool( name="eeMassTool1", ContainerName="Electrons", ObjectRequirements=sel_elec1, MassHypothesis=0.511, StoreGateEntryName="eeMass1") ToolSvc += eeMassTool1 eeMassTool3 = DerivationFramework__InvariantMassTool( name="eeMassTool3", ContainerName="Electrons", ObjectRequirements=sel_elec3, MassHypothesis=0.511, StoreGateEntryName="eeMass3") ToolSvc += eeMassTool3 mmMassTool = DerivationFramework__InvariantMassTool( name="mmMassTool", ContainerName="Muons",
topSequence = AlgSequence() DRAW_ZMUMU_Seq = CfgMgr.AthSequencer("DRAW_ZMUMU_Seq") # Object selection strings sel_muon1 = 'Muons.pt > 25*GeV && Muons.ptcone40/Muons.pt < 0.3' sel_muon2 = 'Muons.pt > 20*GeV && Muons.ptcone40/Muons.pt < 0.3' # Event selection string dimuonMassString = '( count ( DRZmumuMass > 70*GeV && DRZmumuMass < 110*GeV ) >= 1 )' # Invariant masses in various configurations from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__InvariantMassTool DRZmumuMassTool = DerivationFramework__InvariantMassTool( name="DRZmumuMassTool", ContainerName="Muons", ObjectRequirements=sel_muon1, SecondObjectRequirements=sel_muon2, MassHypothesis=105.66, SecondMassHypothesis=105.66, StoreGateEntryName="DRZmumuMass") ToolSvc += DRZmumuMassTool from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool dimuonMassSkimmingTool = DerivationFramework__xAODStringSkimmingTool( name="DRAW_ZMUMU_DiMuonMass_SkimmingTool", expression=dimuonMassString) ToolSvc += dimuonMassSkimmingTool # Muon selector tool from MuonSelectorTools.MuonSelectorToolsConf import CP__MuonSelectionTool goodMuonTool = CP__MuonSelectionTool(name="DRAW_ZMUMU_MuonsSelector") goodMuonTool.MaxEta = 3. goodMuonTool.MuQuality = 3 # turn of the momentum correction which is not needed for IDHits cut and Preselection
#HLT_e5_tight1_e4_etcut || HLT_e5_tight1_e4_etcut_Jpsiee || HLT_e5_tight_e4_etcut_L1JPSI-1M5 || HLT_e5_lhtight_e4_etcut_L1JPSI-1M5 || #HLT_e5_tight1_e4_etcut_L1JPSI-1M5 || HLT_e5_tight_e4_etcut_Jpsiee_L1JPSI-1M5 || e9_tight_e4_etcut_Jpsiee_L1JPSI-1M5-EM7 || #HLT_e9_etcut_e5_tight_Jpsiee_L1JPSI-1M5-EM7 || HLT_e14_tight_e4_etcut_Jpsiee_L1JPSI-1M5-EM12 || HLT_e14_etcut_e5_tight_Jpsiee_L1JPSI-1M5-EM12 || #HLT_e5_lhtight_e4_etcut_Jpsiee_L1JPSI-1M5 || HLT_e9_lhtight_e4_etcut_Jpsiee_L1JPSI-1M5-EM7 || HLT_e9_etcut_e5_lhtight_Jpsiee_L1JPSI-1M5-EM7 || #HLT_e14_lhtight_e4_etcut_Jpsiee_L1JPSI-1M5-EM12 || HLT_e14_etcut_e5_lhtight_Jpsiee_L1JPSI-1M5-EM12, HLT_e5_tight1_e4_etcut_Jpsiee_L1JPSI-1M5 ) ' # Event selection string draw_egcalib = draw_egcalib2 # Invariant masses in various configurations from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__InvariantMassTool eeMassTool2 = DerivationFramework__InvariantMassTool( name="eeMassTool2", ContainerName="Electrons", ObjectRequirements=sel_elec2, MassHypothesis=0.511, StoreGateEntryName="eeMass2") ToolSvc += eeMassTool2 # Event selection tool from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool DRAW_EGJPSI_SkimmingTool = DerivationFramework__xAODStringSkimmingTool( name="DRAW_EGJPSI_SkimmingTool", expression=draw_egcalib) ToolSvc += DRAW_EGJPSI_SkimmingTool print(DRAW_EGJPSI_SkimmingTool) # Kernel algorithm from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DRAW_EGJPSI_Seq += CfgMgr.DerivationFramework__DerivationKernel(
'HLT_mu28_imedium', 'HLT_mu28_ivarmedium', 'HLT_mu40', 'HLT_mu50' ] expression_trigM = ' || '.join(triggersM) # Zee TnP requirement_Zee_tag = '(Electrons.Tight || Electrons.LHTight) && Electrons.pt > 24.5*GeV' requirement_Zee_probe = 'Electrons.pt > 6.5*GeV' ZeeMassTool = DerivationFramework__InvariantMassTool( name="ZeeMassTool", ObjectRequirements=requirement_Zee_tag, SecondObjectRequirements=requirement_Zee_probe, StoreGateEntryName="Zee_DiElectronMass", MassHypothesis=0.511 * MeV, SecondMassHypothesis=0.511 * MeV, ContainerName="Electrons", SecondContainerName="Electrons") ToolSvc += ZeeMassTool expression_Zee = 'count(Zee_DiElectronMass > 75.0*GeV && Zee_DiElectronMass < 105.0*GeV)>=1' # Zmumu TnP requirement_Zmm_tag = 'Muons.ptcone40/Muons.pt < 0.3 && Muons.pt > 10.*GeV' requirement_Zmm_probe = 'Muons.ptcone40/Muons.pt < 0.3 && Muons.pt > 4.5*GeV' ZmmMassTool = DerivationFramework__InvariantMassTool( name="ZmmMassTool", ObjectRequirements=requirement_Zmm_tag,