# This is needed to always be up-to-date with the egamma # IsEM selections and also the author selections import PyUtils.RootUtils as ru ROOT = ru.import_root() import cppyy cppyy.loadDictionary('egammaEnumsDict') from ROOT import egammaPID from ROOT import egammaParameters #==================================================================== # Define the test DPD output stream #==================================================================== from D2PDMaker.D2PDHelpers import buildFileName # This stream HAS TO start with "StreamD2AODM_"! If the input was an (D)ESD(M), this should start with "StreamD2ESD(M)_". # See this twiki for more information: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/DPDNamingConvention fileName = buildFileName(D2PDFlags.WriteDAODM_HighMDiJetStream) streamName = D2PDFlags.WriteDAODM_HighMDiJetStream.StreamName #==================================================================== # Define an empty list for bookkeeping #==================================================================== algsToBookkeep = [] #==================================================================== # Define the event selection #==================================================================== # Import the needed filters from PrimaryDPDMaker.LogicalFilterCombiner import LogicalFilterCombiner #==================================================================== # Check if we have Monte Carlo or real data, based on the inputFileSummary
ToolSvc += bcidFilterTool # Kernel algorithm from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DRAW_BCID1_Seq += CfgMgr.DerivationFramework__DerivationKernel( "DRAW_BCID1Kernel", SkimmingTools=[bcidFilterTool]) topSequence += DRAW_BCID1_Seq ################## ### Output stream ################## from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDRAW_BCID1.StreamName fileName = buildFileName(primDPD.WriteDRAW_BCID1) # Remove the .pool.root ending in the file name, this is a RAW file! if fileName.endswith(".pool.root"): fileName = fileName.rstrip(".pool.root") pass StreamDRAW_BCID1 = MSMgr.NewByteStream(streamName, fileName) StreamDRAW_BCID1.AddRequireAlgs(["DRAW_BCID1Kernel"]) # Don't write an output RAW file if it is empty StreamDRAW_BCID1.bsOutputSvc.WriteEventlessFiles = primDPD.WriteEventlessFiles( ) ######################################### # Add the containers to the output stream ######################################### from PrimaryDPDMaker import PrimaryDPD_OutputDefinitions as dpdOutput
## This handels multiple output streams from OutputStreamAthenaPool.MultipleStreamManager import MSMgr #==================================================================== # Define the event selection #==================================================================== from PrimaryDPDMaker.PrimaryDPDMakerConf import PrimaryDPDPrescaler topSequence += PrimaryDPDPrescaler("DAOD_RNDM_Filter", Prescale=100) #==================================================================== # Define the test DPD output stream #==================================================================== from D2PDMaker.D2PDHelpers import buildFileName # This stream HAS TO start with "StreamD2AODM_"! If the input was an (D)ESD(M), this should start with "StreamD2ESD(M)_". # See this twiki for more information: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/DPDNamingConvention fileName = buildFileName(D2PDFlags.WriteDAOD_RNDMStream) streamName = D2PDFlags.WriteDAOD_RNDMStream.StreamName RNDMStream = MSMgr.NewPoolStream(streamName, fileName) # Only events that pass the filters listed below are written out # AcceptAlgs = logical OR of filters # RequireAlgs = logical AND of filters RNDMStream.AcceptAlgs(["DAOD_RNDM_Filter"]) #--------------------------------------------------- # Add the containers to the output stream #--------------------------------------------------- from PrimaryDPDMaker import PrimaryDPD_OutputDefinitions as dpdOutput # Take all items from the input, except for the ones listed in the excludeList # If the excludeList is empty, all containers from the input file (e.g. AOD)
# Kernel algorithm from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DRAW_ZMUMU_Seq += CfgMgr.DerivationFramework__DerivationKernel( "DRAW_ZMUMUKernel", AugmentationTools=[DRZmumuMassTool], SkimmingTools=[DRAW_ZMUMU_SkimmingTool]) topSequence += DRAW_ZMUMU_Seq ################## ### Output stream ################## from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteRAWPerfDPD_ZMUMU.StreamName fileName = buildFileName(primDPD.WriteRAWPerfDPD_ZMUMU) #streamName = primDPD.WriteDRAW_ZMUMU.StreamName #fileName = buildFileName( primDPD.WriteDRAW_ZMUMU ) # Remove the .pool.root ending in the file name, this is a RAW file! if fileName.endswith(".pool.root"): fileName = fileName.rstrip(".pool.root") pass StreamDRAW_ZMUMU = MSMgr.NewByteStream(streamName, fileName) StreamDRAW_ZMUMU.AddRequireAlgs(["DRAW_ZMUMUKernel"]) # Don't write an output RAW file if it is empty StreamDRAW_ZMUMU.bsOutputSvc.WriteEventlessFiles = primDPD.WriteEventlessFiles( ) ######################################### # Add the containers to the output stream
DerivationFrameworkJob += CfgMgr.DerivationFramework__CommonAugmentation( "DFTSOS_KERN", AugmentationTools=augmentationTools, OutputLevel=INFO) topSequence += DerivationFrameworkJob if (printIdTrkDxAODConf): print(DerivationFrameworkJob) print(DerivationFrameworkJob.properties()) ################# ### Steer output file content ################# from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDAOD_IDTRKLUMIStream.StreamName fileName = buildFileName(primDPD.WriteDAOD_IDTRKLUMIStream) IDTRKLUMIStream = MSMgr.NewPoolRootStream(streamName, fileName) excludedAuxData = "-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition" # Add generic event information IDTRKLUMIStream.AddItem("xAOD::EventInfo#*") IDTRKLUMIStream.AddItem("xAOD::EventAuxInfo#*") # Add track particles collection and traclets (if available) IDTRKLUMIStream.AddItem("xAOD::TrackParticleContainer#InDetTrackParticles") IDTRKLUMIStream.AddItem( "xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux." + excludedAuxData) if InDetFlags.doTrackSegmentsPixel(): IDTRKLUMIStream.AddItem( "xAOD::TrackParticleContainer#InDetPixelTrackParticles")
################# ### Steering options ################# ## Load common flags from AthenaCommon.JobProperties import jobproperties as athCommonFlags ## Steer output file from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDAOD_L1CALO3.StreamName fileName = buildFileName(primDPD.WriteDAOD_L1CALO3) L1CALO3Stream = MSMgr.NewPoolRootStream(streamName, fileName) L1CALO3Stream.AcceptAlgs(["DFL1CALO3_KERN"]) augStream = MSMgr.GetStream(streamName) evtStream = augStream.GetEventStream() ################# ### Setup Augmentation tools ################# augmentationTools = [] from AthenaCommon import CfgMgr # Set up stream auditor from AthenaCommon.AppMgr import ServiceMgr as svcMgr if not hasattr(svcMgr, "DecisionSvc"): svcMgr += CfgMgr.DecisionSvc() svcMgr.DecisionSvc.CalcStats = True #====================================================================
from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DRAW_TOPSLMU_Seq += CfgMgr.DerivationFramework__DerivationKernel( "DRAW_TOPSLMUKernel", SkimmingTools=[DRAW_TOPSLMU_SkimmingTool]) topSequence += DRAW_TOPSLMU_Seq ################## ### Output stream ################## from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDRAW_TOPSLMU.StreamName fileName = buildFileName(primDPD.WriteDRAW_TOPSLMU) # Remove the .pool.root ending in the file name, this is a RAW file! if fileName.endswith(".pool.root"): fileName = fileName.rstrip(".pool.root") pass StreamDRAW_TOPSLMU = MSMgr.NewByteStream(streamName, fileName) StreamDRAW_TOPSLMU.AddRequireAlgs(["DRAW_TOPSLMUKernel"]) # Don't write an output RAW file if it is empty StreamDRAW_TOPSLMU.bsOutputSvc.WriteEventlessFiles = primDPD.WriteEventlessFiles( ) ######################################### # Add the containers to the output stream #########################################
print DerivationFrameworkJob print DerivationFrameworkJob.properties() ################# ### Steer output file content ################# ## Add service for metadata ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool("TriggerMenuMetaDataTool") svcMgr.MetaDataSvc.MetaDataTools += [ToolSvc.TriggerMenuMetaDataTool] ## Steer output file from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDAOD_IDNCBStream.StreamName fileName = buildFileName(primDPD.WriteDAOD_IDNCBStream) IDNCBStream = MSMgr.NewPoolRootStream(streamName, fileName) IDNCBStream.AcceptAlgs(["DFIDNCB_KERN"]) from AthenaServices.Configurables import ThinningSvc, createThinningSvc augStream = MSMgr.GetStream(streamName) evtStream = augStream.GetEventStream() svcMgr += createThinningSvc(svcName="IDNCBThinningSvc", outStreams=[evtStream]) excludedAuxData = "-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition" excludedTRTData = "-T0.-TRTboard.-TRTchip.-bitPattern.-driftTimeToTCorrection.-driftTimeHTCorrection.-highThreshold.-strawnumber" excludedSCTData = "-detectorElementID.-hitsInThirdTimeBin.-rdo_groupsize" # Add generic event information IDNCBStream.AddItem("xAOD::EventInfo#*") IDNCBStream.AddItem("xAOD::EventAuxInfo#*")
from AthenaCommon.AppMgr import ServiceMgr as svcMgr if not hasattr(svcMgr, 'DecisionSvc'): svcMgr += CfgMgr.DecisionSvc() svcMgr.DecisionSvc.CalcStats = True #svcMgr.MessageSvc.OutputLevel = DEBUG #Comment this out when submitting grid jobs svcMgr.MessageSvc.defaultLimit = 9999999 #==================================================================== # SET UP STREAM #==================================================================== from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDAOD_EOP.StreamName fileName = buildFileName(primDPD.WriteDAOD_EOP) EOPStream = MSMgr.NewPoolRootStream(streamName, fileName) # Save cutflow histograms doCutflow = True if doCutflow: from GaudiSvc.GaudiSvcConf import THistSvc ServiceMgr += THistSvc() svcMgr.THistSvc.Output += [ "CutflowStream DATAFILE='cutflow.root' OPT='RECREATE'" ] #==================================================================== # THE ATLAS EXTRAPOLATOR #==================================================================== # Configure the extrapolator. Maybe we should configure how the tracks loose energy in the ATLAS calorimeters?
topSequence += DerivationFrameworkJob if printSctDxAODConf: msg.info(DerivationFrameworkJob) msg.info(DerivationFrameworkJob.properties()) ################# ### Steer output file content ################# from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDAOD_SCTVALIDStream.StreamName fileName = buildFileName(primDPD.WriteDAOD_SCTVALIDStream) SCTVALIDStream = MSMgr.NewPoolRootStream(streamName, fileName) SCTVALIDStream.AcceptAlgs(["SCTxAOD_DF_KERN"]) excludedAuxData = "-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition" # Add generic event information SCTVALIDStream.AddItem("xAOD::EventInfo#*") SCTVALIDStream.AddItem("xAOD::EventAuxInfo#*") # Add track particles collection and traclets (if available) SCTVALIDStream.AddItem("xAOD::TrackParticleContainer#InDetTrackParticles") SCTVALIDStream.AddItem( "xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux." + excludedAuxData) # Add vertices
print(IDDerivationSequence) print(IDDerivationSequence.properties()) ################# ### Steer output file content ################# ## Add service for metadata ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool("TriggerMenuMetaDataTool") svcMgr.MetaDataSvc.MetaDataTools += [ToolSvc.TriggerMenuMetaDataTool] ## Steer output file from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDAOD_PIXELVALIDStream.StreamName fileName = buildFileName(primDPD.WriteDAOD_PIXELVALIDStream) PIXELVALIDStream = MSMgr.NewPoolRootStream(streamName, fileName) PIXELVALIDStream.AcceptAlgs(["PixelxAOD_DF_KERN"]) excludedAuxData = "-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition.-definingParametersCovMatrix.-vertexLink.-msosLink.-trackLink" # Add generic event information PIXELVALIDStream.AddItem("xAOD::EventInfo#*") PIXELVALIDStream.AddItem("xAOD::EventAuxInfo#*") PIXELVALIDStream.AddItem("xAOD::MuonContainer#Muons") PIXELVALIDStream.AddItem("xAOD::MuonAuxContainer#MuonsAux.") PIXELVALIDStream.AddItem("xAOD::TrackParticleContainer#PixelMonitoringTrack") PIXELVALIDStream.AddItem( "xAOD::TrackParticleAuxContainer#PixelMonitoringTrackAux." + excludedAuxData)
# Define the particle and event selections #==================================================================== # from D2PDMaker.SUSYFilters import SetupEGammaStreamFilters # acceptAlgs=SetupEGammaStreamFilters(topSequence) from SUSYD3PDMaker.SUSYTriggerFilters import SetupSUSYTriggerFilters acceptAlgs = SetupSUSYTriggerFilters(topSequence) #==================================================================== # Define the test DPD output stream #==================================================================== from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from D2PDMaker.D2PDFlags import D2PDFlags # This stream HAS TO start with "StreamD2AODM_"! If the input was an (D)ESD(M), this should start with "StreamD2ESD(M)_". # See this twiki for more information: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/DPDNamingConvention fileName = buildFileName(D2PDFlags.WriteDAOD_SUSYEGammaStream) streamName = D2PDFlags.WriteDAOD_SUSYEGammaStream.StreamName SUSYEGammaStream = MSMgr.NewPoolStream(streamName, fileName) # Only events that pass the filters listed below are written out # AcceptAlgs = logical OR of filters # RequireAlgs = logical AND of filters SUSYEGammaStream.AcceptAlgs(acceptAlgs) #--------------------------------------------------- # Add the containers to the output stream #--------------------------------------------------- from PrimaryDPDMaker import PrimaryDPD_OutputDefinitions as dpdOutput # Take all items from the input, except for the ones listed in the excludeList # If the excludeList is empty, all containers from the input file (e.g. AOD) # are copied to the output file.
# This is needed to always be up-to-date with the egamma # IsEM selections and also the author selections import PyUtils.RootUtils as ru ROOT = ru.import_root() import cppyy cppyy.loadDictionary('egammaEnumsDict') from ROOT import egammaPID from ROOT import egammaParameters #==================================================================== # Define the test DPD output stream #==================================================================== from D2PDMaker.D2PDHelpers import buildFileName # This stream HAS TO start with "StreamD2AODM_"! If the input was an (D)ESD(M), this should start with "StreamD2ESD(M)_". # See this twiki for more information: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/DPDNamingConvention fileName = buildFileName( D2PDFlags.WriteDAOD_ElLoose18Stream ) streamName = D2PDFlags.WriteDAOD_ElLoose18Stream.StreamName #==================================================================== # Define an empty list for bookkeeping #==================================================================== algsToBookkeep = [] #==================================================================== # Define the event selection #==================================================================== # Import the needed filters
# CREATE THE DERIVATION KERNEL ALGORITHM AND PASS THE ABOVE TOOLS #==================================================================== IDTIDESequence += CfgMgr.DerivationFramework__DerivationKernel("IDTIDE1Kernel", AugmentationTools = augmentationTools, ThinningTools = thinningTools, OutputLevel =INFO) DerivationFrameworkJob += IDTIDESequence #==================================================================== # SET UP STREAM #==================================================================== from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDAOD_IDTIDEStream.StreamName fileName = buildFileName( primDPD.WriteDAOD_IDTIDEStream ) IDTIDE1Stream = MSMgr.NewPoolRootStream( streamName, fileName ) IDTIDE1Stream.AcceptAlgs(["IDTIDE1Kernel"]) #idtideSeq = CfgMgr.AthSequencer("IDTIDE1Sequence") #DerivationFrameworkJob += idtideSeq #addTrackSumMoments("AntiKt4EMTopo") #addDefaultTrimmedJets(idtideSeq,"IDTIDE1") # SPECIAL LINES FOR THINNING # Thinning service name must match the one passed to the thinning tools from AthenaServices.Configurables import ThinningSvc, createThinningSvc augStream = MSMgr.GetStream( streamName ) evtStream = augStream.GetEventStream() svcMgr += createThinningSvc( svcName="IDTIDE1ThinningSvc", outStreams=[evtStream] )
# Define the particle and event selections #==================================================================== #from D2PDMaker.SUSYFilters import SetupJetsStreamFilters #acceptAlgs=SetupJetsStreamFilters(topSequence) from SUSYD3PDMaker.SUSYTriggerFilters import SetupSUSYTriggerFilters acceptAlgs = SetupSUSYTriggerFilters(topSequence) #==================================================================== # Define the test DPD output stream #==================================================================== from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from D2PDMaker.D2PDFlags import D2PDFlags # This stream HAS TO start with "StreamD2AODM_"! If the input was an (D)ESD(M), this should start with "StreamD2ESD(M)_". # See this twiki for more information: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/DPDNamingConvention fileName = buildFileName(D2PDFlags.WriteDAOD_SUSYJetsStream) streamName = D2PDFlags.WriteDAOD_SUSYJetsStream.StreamName SUSYJetStream = MSMgr.NewPoolStream(streamName, fileName) # Only events that pass the filters listed below are written out # AcceptAlgs = logical OR of filters # RequireAlgs = logical AND of filters SUSYJetStream.AcceptAlgs(acceptAlgs) #--------------------------------------------------- # Add the containers to the output stream #--------------------------------------------------- from PrimaryDPDMaker import PrimaryDPD_OutputDefinitions as dpdOutput # Take all items from the input, except for the ones listed in the excludeList # If the excludeList is empty, all containers from the input file (e.g. AOD) # are copied to the output file.
DRAW_EGZ_Seq += CfgMgr.DerivationFramework__DerivationKernel( "DRAW_EGZKernel", AugmentationTools=[eeMassTool1, eeMassTool3, mmMassTool], SkimmingTools=[DRAW_EGZ_SkimmingTool]) topSequence += DRAW_EGZ_Seq ################## ### Output stream ################## from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDRAW_EGZ.StreamName fileName = buildFileName(primDPD.WriteDRAW_EGZ) # Remove the .pool.root ending in the file name, this is a RAW file! if fileName.endswith(".pool.root"): fileName = fileName.rstrip(".pool.root") pass StreamDRAW_EGZ = MSMgr.NewByteStream(streamName, fileName) StreamDRAW_EGZ.AddRequireAlgs(["DRAW_EGZKernel"]) # Don't write an output RAW file if it is empty StreamDRAW_EGZ.bsOutputSvc.WriteEventlessFiles = primDPD.WriteEventlessFiles() ######################################### # Add the containers to the output stream ######################################### from PrimaryDPDMaker import PrimaryDPD_OutputDefinitions as dpdOutput
## Import the module that allows to use named units, e.g. GeV import AthenaCommon.SystemOfUnits as Units ## Include the job property flags for this package and from RecExCommon from D2PDMaker.D2PDFlags import D2PDFlags from RecExConfig.RecFlags import rec ## This handels multiple output streams from OutputStreamAthenaPool.MultipleStreamManager import MSMgr #==================================================================== # Define the test DPD output stream #==================================================================== from D2PDMaker.D2PDHelpers import buildFileName streamName = D2PDFlags.WriteExampleSimpleTestStream.StreamName fileName = buildFileName(D2PDFlags.WriteExampleSimpleTestStream) ExampleTestStream = MSMgr.NewPoolStream(streamName, fileName) ExampleTestStream.AddItem('TruthParticleContainer#SpclMC') ExampleTestStream.AddItem('MissingEtTruth#MET_Truth_PileUp') ExampleTestStream.AddItem('MissingET#MET_RefFinal') ExampleTestStream.AddItem('TrigDec::TrigDecision#TrigDecision') ExampleTestStream.AddItem('MissingEtTruth#MET_Truth') ExampleTestStream.AddItem('Analysis::MuonContainer#StacoMuonCollection') ExampleTestStream.AddItem('CTP_Decision#CTP_Decision') ExampleTestStream.AddItem('EventInfo#*') ExampleTestStream.AddItem('Analysis::TauJetContainer#TauRecContainer') ExampleTestStream.AddItem('JetCollection#Cone4TruthJets') ExampleTestStream.AddItem('JetCollection#AntiKt4TruthJets') ExampleTestStream.AddItem('JetCollection#Cone4H1TopoJets') ExampleTestStream.AddItem('JetCollection#AntiKt4H1TopoJets')
# Kernel algorithm from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DRAW_TAUMUH_Seq += CfgMgr.DerivationFramework__DerivationKernel( "DRAW_TAUMUHKernel", AugmentationTools=[TAUMUH_DeltaRTool], SkimmingTools=[DRAW_TAUMUH_SkimmingTool]) topSequence += DRAW_TAUMUH_Seq ################## ### Output stream ################## from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDRAW_TAUMUH.StreamName fileName = buildFileName(primDPD.WriteDRAW_TAUMUH) # Remove the .pool.root ending in the file name, this is a RAW file! if fileName.endswith(".pool.root"): fileName = fileName.rstrip(".pool.root") pass StreamDRAW_TAUMUH = MSMgr.NewByteStream(streamName, fileName) StreamDRAW_TAUMUH.AddRequireAlgs(["DRAW_TAUMUHKernel"]) # Don't write an output RAW file if it is empty StreamDRAW_TAUMUH.bsOutputSvc.WriteEventlessFiles = primDPD.WriteEventlessFiles( ) ######################################### # Add the containers to the output stream ######################################### from PrimaryDPDMaker import PrimaryDPD_OutputDefinitions as dpdOutput
AugmentationTools = augmentationTools, OutputLevel =INFO) topSequence += DerivationFrameworkJob if (printIdTrkDxAODConf): print DerivationFrameworkJob print DerivationFrameworkJob.properties() ################# ### Steer output file content ################# from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from D2PDMaker.D2PDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDAOD_IDTRKVALIDStream.StreamName fileName = buildFileName( primDPD.WriteDAOD_IDTRKVALIDStream ) IDTRKVALIDStream = MSMgr.NewPoolRootStream( streamName, fileName ) excludedAuxData = "-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition" # Add generic event information IDTRKVALIDStream.AddItem("xAOD::EventInfo#*") IDTRKVALIDStream.AddItem("xAOD::EventAuxInfo#*") # Add track particles collection and traclets (if available) IDTRKVALIDStream.AddItem("xAOD::TrackParticleContainer#InDetTrackParticles") IDTRKVALIDStream.AddItem("xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux."+excludedAuxData) if InDetFlags.doTrackSegmentsPixel(): IDTRKVALIDStream.AddItem("xAOD::TrackParticleContainer#InDetPixelTrackParticles") IDTRKVALIDStream.AddItem("xAOD::TrackParticleAuxContainer#InDetPixelTrackParticlesAux."+excludedAuxData) # Add split tracks, if requested if makeSplitTracks: