예제 #1
0
    cutsEtMinForStublet,
    JetEtaMax=primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.cutEtaMax,
    JetNumCut=1,
    JetMetDphiMin=primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.
    jetMetDphiMin,
    JetMetPtMin=primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.jetMetPtMin,
    MetHtCut=-1,
    LeptonPtCut=primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.leptonPtMax,
    LeptonEtaMax=primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.
    leptonEtaMax)

print KinkTrkStubletFilterTool
ToolSvc += KinkTrkStubletFilterTool

KinkTrkStubletPrescaleTool = DerivationFramework__PrescaleTool(
    name="KinkTrkStubletPrescaleTool",
    Prescale=primRPVLLDESDM.KinkedTrack_singleJetMetFilterFlags.preScaleStublet
)
ToolSvc += KinkTrkStubletPrescaleTool

KinkTrkStubletFinalFilterTool = DerivationFramework__FilterCombinationAND(
    name="KinkTrkStubletFinalFilterTool",
    FilterList=[
        KinkTrkJetTriggerFilterTool, KinkTrkStubletFilterTool,
        KinkTrkStubletPrescaleTool
    ],
    OutputLevel=INFO)
ToolSvc += KinkTrkStubletFinalFilterTool

topSequence += DerivationFramework__DerivationKernel(
    "RPVLL_KinkedTrackStubletFilterKernel",
    SkimmingTools=[KinkTrkStubletFinalFilterTool])
예제 #2
0
  prescaleB = 10
  prescaleC = 40
  prescaleD = 30
  prescaleE = 20
  prescaleF = 10
  prescaleG = 5
  prescaleH = 1

  from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool
  from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR
  from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationAND
  from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__PrescaleTool

  IDTIDE_SkimmingToolA = DerivationFramework__xAODStringSkimmingTool(name = "IDTIDE_SkimmingToolA", expression = desd_jetA)
  ToolSvc += IDTIDE_SkimmingToolA
  IDTIDE_PrescaleToolA = DerivationFramework__PrescaleTool(name="IDTIDE_PrescaleToolA",Prescale=prescaleA)
  ToolSvc += IDTIDE_PrescaleToolA
  IDTIDE_ANDToolA = DerivationFramework__FilterCombinationAND(name="IDTIDE_ANDToolA",FilterList=[IDTIDE_SkimmingToolA,IDTIDE_PrescaleToolA] )
  ToolSvc += IDTIDE_ANDToolA

  IDTIDE_SkimmingToolB = DerivationFramework__xAODStringSkimmingTool(name = "IDTIDE_SkimmingToolB", expression = desd_jetB)
  ToolSvc += IDTIDE_SkimmingToolB
  IDTIDE_PrescaleToolB = DerivationFramework__PrescaleTool(name="IDTIDE_PrescaleToolB",Prescale=prescaleB)
  ToolSvc += IDTIDE_PrescaleToolB
  IDTIDE_ANDToolB = DerivationFramework__FilterCombinationAND(name="IDTIDE_ANDToolB",FilterList=[IDTIDE_SkimmingToolB,IDTIDE_PrescaleToolB] )
  ToolSvc += IDTIDE_ANDToolB

  IDTIDE_SkimmingToolC = DerivationFramework__xAODStringSkimmingTool(name = "IDTIDE_SkimmingToolC", expression = desd_jetC)
  ToolSvc += IDTIDE_SkimmingToolC
  IDTIDE_PrescaleToolC = DerivationFramework__PrescaleTool(name="IDTIDE_PrescaleToolC",Prescale=prescaleC)
  ToolSvc += IDTIDE_PrescaleToolC
예제 #3
0
eSelection = '(count(' + electronRequirements + ')>=1)'
mSelection = '(count(' + muonsRequirements + ')>=1)'
expression = '(' + eSelection + ' || ' + mSelection + ')' + '&& ( (count(dRMuJet > 2.5) >= 1) || (count(dRElecJet > 2.5) >= 1))'

from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool
HIGG3D3SkimmingTool = DerivationFramework__xAODStringSkimmingTool(
    name="HIGG3D3SkimmingTool1", expression=expression)
ToolSvc += HIGG3D3SkimmingTool

skimmingTools = []

# Keep only ~5% of MC to reduce the total derivation size, adding this to the skimming tool list FIRST
if globalflags.DataSource() == 'geant4':
    from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__PrescaleTool
    mcPrescaleTool = DerivationFramework__PrescaleTool(
        name="HIGG3D3MCPrescaleTool", Prescale=19)
    ToolSvc += mcPrescaleTool
    skimmingTools.append(mcPrescaleTool)

skimmingTools += [HIGG3D3TrigSkimmingTool, HIGG3D3SkimmingTool]

#=======================================
# CREATE THE DERIVATION KERNEL ALGORITHM
#=======================================
from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel(
    "HIGG3D3Kernel",
    AugmentationTools=[HIGG3D3ElJDeltaRTool, HIGG3D3MuJDeltaRTool],
    SkimmingTools=skimmingTools,
    ThinningTools=thinningTools)
예제 #4
0
# ------------------------------------------------
# All 'noalg' muon triggers
# ------------------------------------------------
from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__TriggerSkimmingTool
MuonNoAlgTrig_TriggerSkimmingTool = DerivationFramework__TriggerSkimmingTool(
    name="MuonNoAlgTrig_TriggerSkimmingTool",
    TriggerListOR=[
        "HLT_noalg_L1MU4", "HLT_noalg_L1MU6", "HLT_noalg_L1MU10",
        "HLT_noalg_L1MU11", "HLT_noalg_L1MU15", "HLT_noalg_L1MU20",
        "HLT_noalg_L12MU4", "HLT_noalg_L12MU6", "HLT_noalg_L12MU10"
    ])
ToolSvc += MuonNoAlgTrig_TriggerSkimmingTool
print MuonNoAlgTrig_TriggerSkimmingTool

MuonNoAlgTrig_PrescaleSkimmingTool = DerivationFramework__PrescaleTool(
    name="MuonNoAlgTrig_PrescaleSkimmingTool", Prescale=1)

ToolSvc += MuonNoAlgTrig_PrescaleSkimmingTool
print MuonNoAlgTrig_PrescaleSkimmingTool

MuonNoAlgTrig_EventSkimmingTool = DerivationFramework__FilterCombinationAND(
    name="MuonNoAlgTrig_EventSkimmingTool",
    FilterList=[
        MuonNoAlgTrig_TriggerSkimmingTool, MuonNoAlgTrig_PrescaleSkimmingTool
    ])
ToolSvc += MuonNoAlgTrig_EventSkimmingTool
print MuonNoAlgTrig_EventSkimmingTool

# ------------------------------------------------
# Orthogonal triggers (RPC needs)
# ------------------------------------------------
예제 #5
0
# Applying prescales
# https://twiki.cern.ch/twiki/bin/view/AtlasProtected/DerivationFramework#Applying_prescales
from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__PrescaleTool
from InDetPrepRawDataToxAOD.SCTxAODJobProperties import SCTxAODFlags

from RecExConfig.RecFlags import rec

msg.info("rec.triggerStream() is " + rec.triggerStream())
if not SCTxAODFlags.Prescale.is_locked():
    if rec.triggerStream() == 'express':
        SCTxAODFlags.Prescale = SCTxAODFlags.PrescaleExpress()
    elif rec.triggerStream() == 'IDprescaledL1':
        SCTxAODFlags.Prescale = SCTxAODFlags.PrescaleIDprescaledL1()
msg.info("SCTxAODFlags.Prescale() is " + str(SCTxAODFlags.Prescale()))

prescaleTool = DerivationFramework__PrescaleTool(
    name="SCTxAOD_PrescaleTool", Prescale=SCTxAODFlags.Prescale())
ToolSvc += prescaleTool
skimmingTools += [prescaleTool]

#################
### Setup decorators tools
#################

from InDetPrepRawDataToxAOD.InDetPrepRawDataToxAODConf import SCT_PrepDataToxAOD

xAOD_SCT_PrepDataToxAOD = SCT_PrepDataToxAOD(name="SCTxAOD_SCT_PrepDataToxAOD")
## Content steering Properties (default value shown as comment)
xAOD_SCT_PrepDataToxAOD.OutputLevel = INFO
xAOD_SCT_PrepDataToxAOD.UseTruthInfo = dumpTruthInfo
xAOD_SCT_PrepDataToxAOD.WriteRDOinformation = True
#xAOD_SCT_PrepDataToxAOD.WriteSDOs           = True
예제 #6
0
#====================================================================
# JETM10.py
# reductionConf flag JETM10 in Reco_tf.py
#====================================================================
from DerivationFrameworkCore.DerivationFrameworkMaster import *
from DerivationFrameworkJetEtMiss.JetCommon import *
from DerivationFrameworkJetEtMiss.ExtendedJetCommon import *
from DerivationFrameworkJetEtMiss.METCommon import *

#======================================================================================================================
# SKIMMING TOOL
#======================================================================================================================
# pre scale
from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__PrescaleTool
JETM10PrescaleSkimmingTool = DerivationFramework__PrescaleTool(
    name="JETM10PrescaleSkimmingTool", Prescale=5)
ToolSvc += JETM10PrescaleSkimmingTool

#======================================================================================================================
# AUGMENTATION  TOOL
#======================================================================================================================
# from DerivationFrameworkJetEtMiss.DerivationFrameworkJetEtMissConf import DerivationFramework__METTriggerAugmentationTool
# JETM10LVL1AugmentationTool = DerivationFramework__METTriggerAugmentationTool(name = "JETM10LVL1AugmentationTool",
#                                                                              SGPrefix = "JETM10")
# ToolSvc += JETM10LVL1AugmentationTool

#======================================================================================================================
# SET UP STREAM
#======================================================================================================================
streamName = derivationFlags.WriteDAOD_JETM10Stream.StreamName
fileName = buildFileName(derivationFlags.WriteDAOD_JETM10Stream)
예제 #7
0
HVMuvtxTriggerTool = DerivationFramework__TriggerSkimmingTool(
    name="HVMuvtxTriggerTool",
    TriggerListOR=primRPVLLDESDM.HV_MuvtxTriggerFlags.TriggerNames)
ToolSvc += HVMuvtxTriggerTool

###########################################################################################
# HV Prescaled Muvtx Trigger Filter
###########################################################################################

HVMuvtxPrescaledTriggerTool = DerivationFramework__TriggerSkimmingTool(
    name="HVMuvtxPrescaledTriggerTool",
    TriggerListOR=primRPVLLDESDM.HV_prescaledMuvtxTriggerFlags.TriggerNames)
ToolSvc += HVMuvtxPrescaledTriggerTool

HVMuvtxPrescaleTool = DerivationFramework__PrescaleTool(
    name="HVPrescaleMuvtxTool",
    Prescale=primRPVLLDESDM.HV_prescaledMuvtxTriggerFlags.Prescale)
ToolSvc += HVMuvtxPrescaleTool

HVPrescaledMuvtxSkimmingTool = DerivationFramework__FilterCombinationAND(
    name="HVMuvtxSkimmingTool",
    FilterList=[
        HVMuvtxPrescaledTriggerTool,
        HVMuvtxPrescaleTool,
    ],
)
ToolSvc += HVPrescaledMuvtxSkimmingTool

HV_MuvtxFinalFilter = DerivationFramework__FilterCombinationOR(
    name="HV_MuvtxFinalFilter",
    FilterList=[HVMuvtxTriggerTool, HVPrescaledMuvtxSkimmingTool])
예제 #8
0
    JetContainerKey=jetContainer,
    JetPtCut=primRPVLLDESDM.DV_DoubleTracklessJetFilterFlags.cutEtMin,
    JetEtaCut=primRPVLLDESDM.DV_DoubleTracklessJetFilterFlags.cutEtaMax,
    sumPtTrkCut=primRPVLLDESDM.DV_DoubleTracklessJetFilterFlags.cutSumPtTrkMax,
    nJetsRequired=2)

ToolSvc += DVDoubleTracklessJetFilterTool

###### add a prescale tool - needs DerivationFrameworkTools-00-00-22 or later
###### NOTE! Subtlety here - if we use the same instance of the PrescaleTool in more than one place, it's internal counter will increment for each instance in
###### each event, which is not the desired behaviour.. (e.g. if we had a prescale of 3, and the same instance of the tool being used in 3 different filters,
###### the third one would always pass).  INSTEAD - use a different instance of PrescaleTool each time.

from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__PrescaleTool
DVPrescaleToolForMultijet = DerivationFramework__PrescaleTool(
    name="DVPrescaleToolForMultijet",
    Prescale=primRPVLLDESDM.DV_PrescalerFlags.prescale)
ToolSvc += DVPrescaleToolForMultijet

DVCombinedTracklessJetFilterToolForMultijet = DerivationFramework__FilterCombinationOR(
    name="DVCombinedTracklessJetFilterToolForMultijet",
    FilterList=[
        DVSingleTracklessJetFilterTool, DVDoubleTracklessJetFilterTool,
        DVPrescaleToolForMultijet
    ],
    ##                                                                             OutputLevel=DEBUG
)
ToolSvc += DVCombinedTracklessJetFilterToolForMultijet

DVPrescaleToolForMET = DerivationFramework__PrescaleTool(
    name="DVPrescaleToolForMET",