コード例 #1
0
ファイル: EGAM2.py プロジェクト: rushioda/PIXELVALID_athena
electronPtRequirement = '(Electrons.pt > 4.5*GeV)'
if RecomputeElectronSelectors:
    electronQualityRequirement = '(Electrons.DFCommonElectronsIsEMMedium || Electrons.DFCommonElectronsLHMedium)'
else:
    electronQualityRequirement = '(Electrons.Medium || Electrons.DFCommonElectronsLHMedium)'
#electronQualityRequirement='(Electrons.Tight || DFCommonElectronsLHTight)'
#requirement_el = '(' + electronQualityRequirement + '&&' + electronPtRequirement + '&&' + electronAuthorRequirement + ')'
requirement_el = '(' + electronQualityRequirement + '&&' + electronPtRequirement + ')'

from DerivationFrameworkEGamma.DerivationFrameworkEGammaConf import DerivationFramework__EGInvariantMassTool
EGAM2_JPSIEEMassTool = DerivationFramework__EGInvariantMassTool(
    name="EGAM2_JPSIEEMassTool",
    Object1Requirements=requirement_el,
    Object2Requirements=requirement_el,
    StoreGateEntryName="EGAM2_DiElectronMass",
    Mass1Hypothesis=0.511 * MeV,
    Mass2Hypothesis=0.511 * MeV,
    Container1Name="Electrons",
    Container2Name="Electrons",
    CheckCharge=True,
    DoTransverseMass=False,
    MinDeltaR=0.0)
ToolSvc += EGAM2_JPSIEEMassTool
print EGAM2_JPSIEEMassTool

# SELECTION FOR T&P

#====================================================================
# Jpsi->ee selection based on Jpsi->e+cluster trigger, for low pT (7-20 GeV) central photons
# Tag: 1 tight e, central, pT>4.5 GeV
# Probe: 1 e, central, pT>4.5 GeV
# OS+SS
コード例 #2
0
if RecomputeElectronSelectors:
    requirement_tag = '(Electrons.DFCommonElectronsIsEMTight || Electrons.DFCommonElectronsLHTight) && Electrons.pt > 24.5*GeV'
    requirement_probe = '(Electrons.DFCommonElectronsIsEMMedium || Electrons.DFCommonElectronsLHMedium) && Electrons.pt > 19.5*GeV'
else:
    requirement_tag = '(Electrons.Tight || Electrons.DFCommonElectronsLHTight) && Electrons.pt > 24.5*GeV'
    requirement_probe = '(Electrons.Medium || Electrons.DFCommonElectronsLHMedium) && Electrons.pt > 19.5*GeV'

from DerivationFrameworkEGamma.DerivationFrameworkEGammaConf import DerivationFramework__EGInvariantMassTool

EGAM1_ZEEMassTool1 = DerivationFramework__EGInvariantMassTool(
    name="EGAM1_ZEEMassTool1",
    Object1Requirements=requirement_tag,
    Object2Requirements=requirement_probe,
    StoreGateEntryName="EGAM1_DiElectronMass",
    Mass1Hypothesis=0.511 * MeV,
    Mass2Hypothesis=0.511 * MeV,
    Container1Name="Electrons",
    Container2Name="Electrons",
    CheckCharge=True,
    DoTransverseMass=False,
    MinDeltaR=0.0)
ToolSvc += EGAM1_ZEEMassTool1
print EGAM1_ZEEMassTool1

#====================================================================
# Z->ee selection based on di-electron trigger
# 2 medium e, central, pT>20 GeV
# OS, mee>50 GeV
#====================================================================

# switch to likelihood selectors only as soon as they're commissioned (and used in trigger)
コード例 #3
0
# 1 forward e, pT>20 GeV
# OS+SS, mee>50 GeV
#====================================================================

if RecomputeElectronSelectors :
    requirement_tag = '(Electrons.DFCommonElectronsLHMedium) && Electrons.pt > 24.5*GeV'
else :
    requirement_tag = '(Electrons.LHMedium) && Electrons.pt > 24.5*GeV'
requirement_probe = 'ForwardElectrons.pt > 19.5*GeV'
from DerivationFrameworkEGamma.DerivationFrameworkEGammaConf import DerivationFramework__EGInvariantMassTool
EGAM8_ZEEMassTool = DerivationFramework__EGInvariantMassTool( name = "EGAM8_ZEEMassTool",
                                                               Object1Requirements = requirement_tag,
                                                               Object2Requirements = requirement_probe,
                                                               StoreGateEntryName = "EGAM8_DiElectronMass",
                                                               Mass1Hypothesis = 0.511*MeV,
                                                               Mass2Hypothesis = 0.511*MeV,
                                                               Container1Name = "Electrons",
                                                               Container2Name = "ForwardElectrons",
                                                               CheckCharge = False,
                                                               DoTransverseMass = False,
                                                               MinDeltaR = 0.0)
ToolSvc += EGAM8_ZEEMassTool
print EGAM8_ZEEMassTool


#====================================================================
# Z->mue selection based on single muon trigger, for ID SF(central+fwd) background studies
# 1 medium muon, central, pT>25 GeV
# 1 forward e, pT>20 GeV
# OS+SS, mmue>50 GeV
#====================================================================
コード例 #4
0
    requirementEl = '(Electrons.DFCommonElectronsIsEMMedium || Electrons.DFCommonElectronsLHMedium) && abs(Electrons.eta)<2.5 && (Electrons.pt > 9.5*GeV)'
else:
    requirementEl = '(Electrons.Medium || Electrons.DFCommonElectronsLHMedium) && abs(Electrons.eta)<2.5 && (Electrons.pt > 9.5*GeV)'

requirementMu = 'Muons.pt>9.5*GeV && abs(Muons.eta)<2.7 && Muons.DFCommonGoodMuon'

from DerivationFrameworkEGamma.DerivationFrameworkEGammaConf import DerivationFramework__EGInvariantMassTool
HIGG1D2_EEMassTool = DerivationFramework__EGInvariantMassTool(
    name="HIGG1D2_EEMassTool",
    Object1Requirements=requirementEl,
    Object2Requirements=requirementEl,
    StoreGateEntryName="HIGG1D2_DiElectronMass",
    Mass1Hypothesis=0.511 * MeV,
    Mass2Hypothesis=0.511 * MeV,
    Container1Name="Electrons",
    Container2Name="Electrons",
    Pt1BranchName="DFCommonElectrons_pt",
    Eta1BranchName="DFCommonElectrons_eta",
    Phi1BranchName="DFCommonElectrons_phi",
    Pt2BranchName="DFCommonElectrons_pt",
    Eta2BranchName="DFCommonElectrons_eta",
    Phi2BranchName="DFCommonElectrons_phi",
    CheckCharge=True,
    DoTransverseMass=False,
    MinDeltaR=0.0)
ToolSvc += HIGG1D2_EEMassTool
print HIGG1D2_EEMassTool

HIGG1D2_MuMuMassTool = DerivationFramework__EGInvariantMassTool(
    name="HIGG1D2_MuMuMassTool",
    Object1Requirements=requirementMu,
    Object2Requirements=requirementMu,
コード例 #5
0
# two opposite-sign muons, pT>15 GeV, |eta|<2.5, mmumu>40 GeV
# gamma: reco, ET>10 GeV, |eta|<2.5
# mumueegamma: one reco photon, ET>10 GeV< |eta|<2.5
# mumue: one reco electron, pT>10 GeV
#====================================================================

#requirement = 'Muons.pt>9.5*GeV && abs(Muons.eta)<2.7 && Muons.DFCommonGoodMuon'
requirementMuons = 'Muons.pt>9.5*GeV && abs(Muons.eta)<2.7 && Muons.DFCommonMuonsPreselection'

from DerivationFrameworkEGamma.DerivationFrameworkEGammaConf import DerivationFramework__EGInvariantMassTool
EGAM4_MuMuMassTool = DerivationFramework__EGInvariantMassTool(
    name="EGAM4_MuMuMassTool",
    Object1Requirements=requirementMuons,
    Object2Requirements=requirementMuons,
    StoreGateEntryName="EGAM4_DiMuonMass",
    Mass1Hypothesis=105 * MeV,
    Mass2Hypothesis=105 * MeV,
    Container1Name="Muons",
    Container2Name="Muons",
    CheckCharge=True,
    DoTransverseMass=False,
    MinDeltaR=0.0)
ToolSvc += EGAM4_MuMuMassTool
print EGAM4_MuMuMassTool

skimmingExpression1a = 'count(DFCommonPhotons_et>9.5*GeV)>=1 && count(EGAM4_DiMuonMass > 40.0*GeV)>=1'
skimmingExpression1b = 'count(Electrons.pt>9.5*GeV)>=1 && count(EGAM4_DiMuonMass > 40.0*GeV)>=1'

#====================================================================
# SKIMMING TOOL
#====================================================================
コード例 #6
0
ファイル: EGAM3.py プロジェクト: rushioda/PIXELVALID_athena
#====================================================================

# if skim size too large either require tight electrons (at least one) or raise electron pT threshold (at least one)
#requirement = 'DFCommonElectronsLHMedium && (DFCommonElectrons_pt > 9.5*GeV)'
if RecomputeElectronSelectors:
    requirement = '(Electrons.DFCommonElectronsIsEMMedium || Electrons.DFCommonElectronsLHMedium) && (Electrons.pt > 9.5*GeV)'
else:
    requirement = '(Electrons.Medium || Electrons.DFCommonElectronsLHMedium) && (Electrons.pt > 9.5*GeV)'

from DerivationFrameworkEGamma.DerivationFrameworkEGammaConf import DerivationFramework__EGInvariantMassTool
EGAM3_EEMassTool = DerivationFramework__EGInvariantMassTool(
    name="EGAM3_EEMassTool",
    Object1Requirements=requirement,
    Object2Requirements=requirement,
    StoreGateEntryName="EGAM3_DiElectronMass",
    Mass1Hypothesis=0.511 * MeV,
    Mass2Hypothesis=0.511 * MeV,
    Container1Name="Electrons",
    Container2Name="Electrons",
    CheckCharge=True,
    DoTransverseMass=False,
    MinDeltaR=0.0)
ToolSvc += EGAM3_EEMassTool
print EGAM3_EEMassTool

#====================================================================
# eegamma selection for low-pT electron studies with T&P
# tag e: tight, |eta|<2.5, pT>25 GeV
# probe e: reco, ET>7 GeV, no eta cut
# gamma: tight, ET>10 GeV
#====================================================================
# asymmetric electron cuts/single e trigger, low pT cut for subleading e (for e calibration studies at low pT)