ToolSvc += EXOT8SkimmingTool_sl from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool EXOT8SkimmingTool_zl = DerivationFramework__xAODStringSkimmingTool( name="EXOT8SkimmingTool_zl", expression=eventSkim_zeroLepton) ToolSvc += EXOT8SkimmingTool_zl from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationAND EXOT8ANDSkimmingTool_zl = DerivationFramework__FilterCombinationAND( name="EXOT8ANDSkimmingTool_zl", FilterList=[EXOT8TriggerSkimmingTool, EXOT8SkimmingTool_zl]) ToolSvc += EXOT8ANDSkimmingTool_zl from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR EXOT8SkimmingTool = DerivationFramework__FilterCombinationOR( name="EXOT8SkimmingTool", FilterList=[EXOT8ANDSkimmingTool_zl, EXOT8SkimmingTool_sl]) ToolSvc += EXOT8SkimmingTool #======================================================================================================================================== # Create the derivation kernel alg #======================================================================================================================================== from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += exot8Seq addDefaultTrimmedJets(exot8Seq, "EXOT8") applyJetCalibration_xAODColl("AntiKt4EMTopo", exot8Seq) #applyJetCalibration_xAODColl("AntiKt4LCTopo", exot8Seq) applyJetCalibration_CustomColl("AntiKt10LCTopoTrimmedPtFrac5SmallR20", exot8Seq)
primRPVLLDESDM.KinkedTrack_ZeeFilterFlags.preScaleClusterEtMax) ToolSvc += KinkTrkZeeHighPtSkimmingTool ## Prescale for low-pT probes KinkTrkZeePrescaleTool = DerivationFramework__PrescaleTool( name="KinkTrkZeePrescaleTool", Prescale=primRPVLLDESDM.KinkedTrack_ZeeFilterFlags.preScale) ToolSvc += KinkTrkZeePrescaleTool KinkTrkZeeLowPtFilterTool = DerivationFramework__FilterCombinationAND( name="KinkTrkZeeLowPtFilterTool", FilterList=[KinkTrkZeeLowPtSkimmingTool, KinkTrkZeePrescaleTool]) ToolSvc += KinkTrkZeeLowPtFilterTool KinkTrkZeeFilterTool = DerivationFramework__FilterCombinationOR( name="KinkTrkZeeFilterTool", FilterList=[KinkTrkZeeLowPtFilterTool, KinkTrkZeeHighPtSkimmingTool]) ToolSvc += KinkTrkZeeFilterTool KinkTrkZeeFinalFilterTool = DerivationFramework__FilterCombinationAND( name="KinkTrkZeeFinalFilterTool", FilterList=[KinkTrkZeeTriggerFilterTool, KinkTrkZeeFilterTool], OutputLevel=INFO) ToolSvc += KinkTrkZeeFinalFilterTool topSequence += DerivationFramework__DerivationKernel( "RPVLL_KinkedTrackZeeFilterKernel", SkimmingTools=[KinkTrkZeeFinalFilterTool]) RPVLLfilterNames.extend(["RPVLL_KinkedTrackZeeFilterKernel"]) ##
StreamName=streamName, SGKey="AntiKt4EMTopoJets", TopoClCollectionSGKey="CaloCalTopoClusters", SelectionString="AntiKt4EMTopoJets.pt > 40*GeV", ConeSize=0) ToolSvc += EXOT1Ak4CCThinningTool_EM thinningTools.append(EXOT1Ak4CCThinningTool_EM) from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool EXOT1SkimmingTool = DerivationFramework__xAODStringSkimmingTool( name="EXOT1SkimmingTool1", expression=expression) ToolSvc += EXOT1SkimmingTool skimmingTools.append(EXOT1SkimmingTool) from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR EXOT1ORSkimmingTool = DerivationFramework__FilterCombinationOR( name="EXOT1ORSkimmingTool", FilterList=skimmingTools) ToolSvc += EXOT1ORSkimmingTool printfunc(EXOT1SkimmingTool) #======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += exot1Seq exot1Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT1Kernel_skim", SkimmingTools=[EXOT1ORSkimmingTool]) exot1Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT1Kernel", ThinningTools=thinningTools) #====================================================================
from DerivationFrameworkCalo.DerivationFrameworkCaloFactories import GainDecorator, getGainDecorations, getClusterEnergyPerLayerDecorator, getClusterEnergyPerLayerDecorations EGAM2_GainDecoratorTool = GainDecorator() ToolSvc += EGAM2_GainDecoratorTool cluster_sizes = (3, 5), (5, 7), (7, 7), (7, 11) EGAM2_ClusterEnergyPerLayerDecorators = [ getClusterEnergyPerLayerDecorator(neta, nphi)() for neta, nphi in cluster_sizes ] #======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR EGAM2_SkimmingTool = DerivationFramework__FilterCombinationOR( name="EGAM2SkimmingTool", FilterList=[EGAM2_OfflineSkimmingTool, EGAM2_TriggerSkimmingTool]) ToolSvc += EGAM2_SkimmingTool from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel( "EGAM2Kernel", AugmentationTools=[ EGAM2_JPSIEEMassTool, EGAM2_JPSIEEMassTool2, EGAM2_GainDecoratorTool ] + EGAM2_ClusterEnergyPerLayerDecorators, SkimmingTools=[EGAM2_SkimmingTool]) #==================================================================== # SET UP STREAM #==================================================================== streamName = derivationFlags.WriteDAOD_EGAM2Stream.StreamName
IDTIDE_PrescaleToolF = DerivationFramework__PrescaleTool(name="IDTIDE_PrescaleToolF",Prescale=prescaleF) ToolSvc += IDTIDE_PrescaleToolF IDTIDE_ANDToolF = DerivationFramework__FilterCombinationAND(name="IDTIDE_ANDToolF",FilterList=[IDTIDE_SkimmingToolF,IDTIDE_PrescaleToolF] ) ToolSvc += IDTIDE_ANDToolF IDTIDE_SkimmingToolG = DerivationFramework__xAODStringSkimmingTool(name = "IDTIDE_SkimmingToolG", expression = desd_jetG) ToolSvc += IDTIDE_SkimmingToolG IDTIDE_PrescaleToolG = DerivationFramework__PrescaleTool(name="IDTIDE_PrescaleToolG",Prescale=prescaleG) ToolSvc += IDTIDE_PrescaleToolG IDTIDE_ANDToolG = DerivationFramework__FilterCombinationAND(name="IDTIDE_ANDToolG",FilterList=[IDTIDE_SkimmingToolG,IDTIDE_PrescaleToolG] ) ToolSvc += IDTIDE_ANDToolG IDTIDE_SkimmingToolH = DerivationFramework__xAODStringSkimmingTool(name = "IDTIDE_SkimmingToolH", expression = desd_jetH) ToolSvc += IDTIDE_SkimmingToolH IDTIDE_ORTool = DerivationFramework__FilterCombinationOR(name="myLogicalCombination", FilterList=[IDTIDE_ANDToolA,IDTIDE_ANDToolB,IDTIDE_ANDToolC,IDTIDE_ANDToolD,IDTIDE_ANDToolE,IDTIDE_ANDToolF,IDTIDE_ANDToolG,IDTIDE_SkimmingToolH] ) ToolSvc += IDTIDE_ORTool skimmingTools.append(IDTIDE_ORTool) print "IDTIDE1.py IDTIDE_ORTool: ", IDTIDE_ORTool # Add the skimming kernel to the sequence from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel IDTIDESequence += CfgMgr.DerivationFramework__DerivationKernel("IDTIDE1KernelPresel", SkimmingTools = skimmingTools) #Setup decorators tools if idDxAOD_doTrt: from InDetPrepRawDataToxAOD.InDetPrepRawDataToxAODConf import TRT_PrepDataToxAOD xAOD_TRT_PrepDataToxAOD = TRT_PrepDataToxAOD( name = "xAOD_TRT_PrepDataToxAOD") xAOD_TRT_PrepDataToxAOD.OutputLevel=INFO
ToolSvc += EXOT3SkimmingTool2 from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__TriggerSkimmingTool EXOT3TriggerSkimmingTool = DerivationFramework__TriggerSkimmingTool( name="EXOT3TriggerSkimmingTool", TriggerListAND=[], TriggerListOR=triggers) ToolSvc += EXOT3TriggerSkimmingTool # topology_selection_2jet && triggers EXOT3ANDSkimmingTool = DerivationFramework__FilterCombinationAND( name="EXOT3ANDSkimmingTool", FilterList=[EXOT3SkimmingTool2, EXOT3TriggerSkimmingTool]) ToolSvc += EXOT3ANDSkimmingTool # expression || (topology_selection_2jet && triggers) EXOT3FinalSkimmingTool = DerivationFramework__FilterCombinationOR( name="EXOT3ORSkimmingTool", FilterList=[EXOT3ANDSkimmingTool, EXOT3SkimmingTool1]) ToolSvc += EXOT3FinalSkimmingTool #======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += exot3Seq #======================================= # Augmentation: Jet Collections #======================================= from JetRec.JetRecConf import JetAlgorithm
name="OrthoTrig_MidpTMuonEventSkimmingTool", FilterList=[ OrthoTrig_MidpTMuonEventStringSkimmingTool, OrthoTrig_MidpTMuonPrescaleSkimmingTool ]) ToolSvc += OrthoTrig_MidpTMuonEventSkimmingTool print OrthoTrig_MidpTMuonEventSkimmingTool # ------------------------------------------------ # Ortho trig events accepted if there is: # [[a low pt (+ prescale) muon] OR [mid pt muon]] # && [orthogonal trigger] event OrthoTrig_pTMuonEventSkimmingTool = DerivationFramework__FilterCombinationOR( name="OrthoTrig_pTMuonEventSkimmingTool", FilterList=[ OrthoTrig_LowpTMuonEventSkimmingTool, OrthoTrig_MidpTMuonEventSkimmingTool ]) ToolSvc += OrthoTrig_pTMuonEventSkimmingTool print OrthoTrig_pTMuonEventSkimmingTool OrthoTrig_EventSkimmingTool = DerivationFramework__FilterCombinationAND( name="OrthoTrig_EventSkimmingTool", FilterList=[ OrthoTrig_pTMuonEventSkimmingTool, OrthoTrig_TriggerSkimmingTool ]) ToolSvc += OrthoTrig_EventSkimmingTool print OrthoTrig_EventSkimmingTool # ------------------------------------------------
from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__TriggerSkimmingTool MUON0SkimmingTool0a = DerivationFramework__TriggerSkimmingTool( name="MUON0SkimmingTool0a", TriggerListOR=triggerList, TriggerListAND=[]) ToolSvc += MUON0SkimmingTool0a ### muon selection expression = 'count(Muons.pt>30*GeV)>0' from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool MUON0SkimmingTool0b = DerivationFramework__xAODStringSkimmingTool( name="MUON0SkimmingTool0b", expression=expression) ToolSvc += MUON0SkimmingTool0b ### OR combination from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR MUON0SkimmingTool0 = DerivationFramework__FilterCombinationOR( name="MUON0SkimmingTool0", FilterList=[MUON0SkimmingTool0a, MUON0SkimmingTool0b]) ToolSvc += MUON0SkimmingTool0 ### adding the combined tool MUON0_skimming_tools.append(MUON0SkimmingTool0) #==================================================================== # THINNING TOOL #==================================================================== # Tracks associated with Muons MUON0_thinning_tools = [] ## keep only tracks near muon thinning_expression2 = "Muons.pt > 4*GeV" from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__MuonTrackParticleThinning MUON0ThinningTool2 = DerivationFramework__MuonTrackParticleThinning(
expression = ' (EventInfo.eventTypeBitmask==1) || HLT_xe120_pufit_L1XE50' from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__TriggerSkimmingTool JETM1TrigSkimmingTool = DerivationFramework__TriggerSkimmingTool( name="JETM1TrigSkimmingTool1", TriggerListOR=triggers) ToolSvc += JETM1TrigSkimmingTool from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool JETM1OfflineSkimmingTool = DerivationFramework__xAODStringSkimmingTool( name="JETM1OfflineSkimmingTool1", expression=expression) ToolSvc += JETM1OfflineSkimmingTool # OR of the above two selections from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR JETM1ORTool = DerivationFramework__FilterCombinationOR( name="JETM1ORTool", FilterList=[JETM1TrigSkimmingTool, JETM1OfflineSkimmingTool]) ToolSvc += JETM1ORTool #======================================= # CREATE PRIVATE SEQUENCE #======================================= jetm1Seq = CfgMgr.AthSequencer("JETM1Sequence") DerivationFrameworkJob += jetm1Seq #==================================================================== # SET UP STREAM #==================================================================== streamName = derivationFlags.WriteDAOD_JETM1Stream.StreamName fileName = buildFileName(derivationFlags.WriteDAOD_JETM1Stream)
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]) # OutputLevel=DEBUG ToolSvc += HV_MuvtxFinalFilter topSequence += kernel("RPVLL_HV_MuvtxFilterKernel", SkimmingTools=[HV_MuvtxFinalFilter]) RPVLLfilterNames.extend(["RPVLL_HV_MuvtxFilterKernel"]) ########################################################################################### # HV jet/MET Filter ########################################################################################### HVJetMETTrigTool = DerivationFramework__TriggerSkimmingTool( name="HVJetMETTrigTool",
###### 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", Prescale=primRPVLLDESDM.DV_PrescalerFlags.prescale) ToolSvc += DVPrescaleToolForMET DVCombinedTracklessJetFilterToolForMET = DerivationFramework__FilterCombinationOR( name="DVCombinedTracklessJetFilterToolForMET", FilterList=[ DVSingleTracklessJetFilterTool, DVDoubleTracklessJetFilterTool, DVPrescaleToolForMET
Triggers=primRPVLLDESDM.Emerging_DiJet110FilterFlags.Triggers, JetPtCut=120.0 * Units.GeV, JetEtaCut=primRPVLLDESDM.Emerging_DiJet110FilterFlags.cutEtaMax, nJetsRequired=primRPVLLDESDM.Emerging_DiJet110FilterFlags.nPassed) ToolSvc += EmergingJetsDiJet110FilterTool #topSequence += kernel( "RPVLL_EmergingDiJet110FilterKernel", # SkimmingTools = [EmergingJetsDiJet110FilterTool], # ) # #RPVLLfilterNames.extend(["RPVLL_EmergingDiJet110FilterKernel"]) ########################################################### ## COMBINED Emerging + DiJet filter ########################################################### from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR EmergingJets_Combined_FilterTool = DerivationFramework__FilterCombinationOR( name="EmergingJets_Combined_FilterTool", FilterList=[EmergingJetsFilterTool, EmergingJetsDiJet110FilterTool]) ToolSvc += EmergingJets_Combined_FilterTool topSequence += kernel( "RPVLL_EmergingFilterKernel", SkimmingTools=[EmergingJets_Combined_FilterTool], ) RPVLLfilterNames.extend(["RPVLL_EmergingFilterKernel"])