11 from AthenaConfiguration.ComponentAccumulator 
import ComponentAccumulator
 
   12 from AthenaConfiguration.ComponentFactory 
import CompFactory
 
   13 from AthenaConfiguration.Enums 
import MetadataCategory
 
   18     """Configure the derivation framework driving algorithm (kernel) for PHOJET""" 
   25     if not configFlags.Input.isMC:
 
   26         pho_sel = 
'count(Photons.pt > 280*GeV && Photons.Tight) >= 1' 
   28         from DerivationFrameworkTools.DerivationFrameworkToolsConfig 
import xAODStringSkimmingToolCfg
 
   30                                                                         name       = 
"DESDM_PHOJET_SkimmingTool",
 
   31                                                                         expression = pho_sel))
 
   32         skimmingTools.append(skimmingTool)
 
   34     PHOJETKernel = CompFactory.DerivationFramework.DerivationKernel(name, SkimmingTools = skimmingTools)
 
   35     acc.addEventAlgo( PHOJETKernel )
 
   41     """Main config fragment for DESDM_PHOJET""" 
   45     acc.merge(
DESDM_PHOJETKernelCfg(configFlags, name=
"DESDM_PHOJETKernel", StreamName = 
'StreamDESDM_PHOJET'))
 
   50     from OutputStreamAthenaPool.OutputStreamConfig 
import OutputStreamCfg
 
   51     from xAODMetaDataCnv.InfileMetaDataConfig 
import SetupMetaDataForStreamCfg
 
   53     items = [
'xAOD::EventInfo#*', 
'xAOD::EventAuxInfo#*',
 
   55              'xAOD::ElectronContainer#Electrons',
'xAOD::ElectronAuxContainer#ElectronsAux.',
 
   56              'xAOD::MuonContainer#Muons',
'xAOD::MuonAuxContainer#MuonsAux.',
 
   57              'xAOD::PhotonContainer#Photons',
'xAOD::PhotonAuxContainer#PhotonsAux.',
 
   58              'xAOD::TauJetContainer#TauJets',
'xAOD::TauJetAuxContainer#TauJetsAux.-VertexedClusters',
 
   59              'xAOD::VertexContainer#PrimaryVertices',
'xAOD::VertexAuxContainer#PrimaryVerticesAux.-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV',
 
   60              'xAOD::JetContainer#AntiKt4EMPFlowJets',
'xAOD::JetAuxContainer#AntiKt4EMPFlowJetsAux.-PseudoJet',
 
   61              'xAOD::JetContainer#AntiKt4EMTopoJets',
'xAOD::JetAuxContainer#AntiKt4EMTopoJetsAux.-PseudoJet',
 
   62              'xAOD::EventShape#Kt4EMPFlowEventShape',
'xAOD::EventShapeAuxInfo#Kt4EMPFlowEventShapeAux.',
 
   63              'xAOD::EventShape#Kt4EMTopoOriginEventShape',
'xAOD::EventShapeAuxInfo#Kt4EMTopoOriginEventShapeAux.',
 
   64              'xAOD::MissingETAssociationMap#METAssoc_AntiKt4EMPFlow', 
'xAOD::MissingETAuxAssociationMap#METAssoc_AntiKt4EMPFlowAux.',
 
   65              'xAOD::MissingETAssociationMap#METAssoc_AntiKt4EMTopo', 
'xAOD::MissingETAuxAssociationMap#METAssoc_AntiKt4EMTopoAux.',
 
   66              'xAOD::MissingETContainer#MET_Core_AntiKt4EMPFlow',
'xAOD::MissingETAuxContainer#MET_Core_AntiKt4EMPFlowAux.',
 
   67              'xAOD::MissingETContainer#MET_Core_AntiKt4EMTopo',
'xAOD::MissingETAuxContainer#MET_Core_AntiKt4EMTopoAux.',
 
   68              'xAOD::MissingETContainer#MET_Reference_AntiKt4EMPFlow',
'xAOD::MissingETAuxContainer#MET_Reference_AntiKt4EMPFlowAux.',
 
   69              'xAOD::MissingETContainer#MET_Reference_AntiKt4EMTopo', 
'xAOD::MissingETAuxContainer#MET_Reference_AntiKt4EMTopoAux.',
 
   70              'xAOD::MissingETContainer#MET_Track',
'xAOD::MissingETAuxContainer#MET_TrackAux.',
 
   72              'xAOD::TrackParticleContainer#GSFTrackParticles',
'xAOD::TrackParticleAuxContainer#GSFTrackParticlesAux.',
 
   73              'xAOD::VertexContainer#GSFConversionVertices',
'xAOD::VertexAuxContainer#GSFConversionVerticesAux.-vxTrackAtVertex',
 
   74              'xAOD::TrackParticleContainer#InDetTrackParticles',
'xAOD::TrackParticleAuxContainer#InDetTrackParticlesAux.',
 
   75              'xAOD::CaloClusterContainer#egammaClusters',
'xAOD::CaloClusterAuxContainer#egammaClustersAux.',
 
   76              'xAOD::CaloClusterContainer#ForwardElectronClusters',
'xAOD::CaloClusterAuxContainer#ForwardElectronClustersAux.',
 
   77              'xAOD::CaloClusterContainer#TauPi0Clusters',
'xAOD::CaloClusterAuxContainer#TauPi0ClustersAux.',
 
   78              'xAOD::CaloClusterContainer#CaloCalTopoClusters',
'xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.',
 
   79              'xAOD::MuonSegmentContainer#MuonSegments',
'xAOD::MuonSegmentAuxContainer#MuonSegmentsAux.',
 
   80              'xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects',
'xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux.',
 
   81              'xAOD::FlowElementContainer#JetETMissNeutralParticleFlowObjects',
'xAOD::FlowElementAuxContainer#JetETMissNeutralParticleFlowObjectsAux.',
 
   82              'xAOD::TrackParticleClusterAssociationContainer#InDetTrackParticlesClusterAssociations',
'xAOD::TrackParticleClusterAssociationAuxContainer#InDetTrackParticlesClusterAssociationsAux.',
 
   83              'CaloCellContainer#AllCalo',
 
   84              'CaloClusterCellLinkContainer#CaloCalTopoClusters_links',
 
   85              'CaloClusterCellLinkContainer#InDetTrackParticlesAssociatedClusters_links',
 
   86              'CaloClusterCellLinkContainer#MuonClusterCollection_links',
 
   87              'CaloClusterCellLinkContainer#egammaClusters_links',
 
   89              'xAOD::EmTauRoIContainer#LVL1EmTauRoIs',
'xAOD::EmTauRoIAuxContainer#LVL1EmTauRoIsAux.',
 
   90              'xAOD::EnergySumRoI#LVL1EnergySumRoI',
'xAOD::EnergySumRoIAuxInfo#LVL1EnergySumRoIAux.',
 
   91              'xAOD::JetEtRoI#LVL1JetEtRoI',
'xAOD::JetEtRoIAuxInfo#LVL1JetEtRoIAux.',
 
   92              'xAOD::JetRoIContainer#LVL1JetRoIs',
'xAOD::JetRoIAuxContainer#LVL1JetRoIsAux.',
 
   93              'xAOD::MuonRoIContainer#LVL1MuonRoIs',
'xAOD::MuonRoIAuxContainer#LVL1MuonRoIsAux.',
 
   95              'xAOD::JEMTobRoIContainer#JEMTobRoIsRoIB',
'xAOD::JEMTobRoIAuxContainer#JEMTobRoIsRoIBAux.',
 
   96              'xAOD::JEMTobRoIContainer#JEMTobRoIs',
'xAOD::JEMTobRoIAuxContainer#JEMTobRoIsAux.',
 
   97              'xAOD::JEMEtSumsContainer#JEMEtSums',
'xAOD::JEMEtSumsAuxContainer#JEMEtSumsAux.',
 
   98              'xAOD::CMXCPHitsContainer#CMXCPHits',
'xAOD::CMXCPHitsAuxContainer#CMXCPHitsAux.',
 
   99              'xAOD::CMXCPTobContainer#CMXCPTobs',
'xAOD::CMXCPTobAuxContainer#CMXCPTobsAux.',
 
  100              'xAOD::CMXEtSumsContainer#CMXEtSums',
'xAOD::CMXEtSumsAuxContainer#CMXEtSumsAux.',
 
  101              'xAOD::CMXJetHitsContainer#CMXJetHits',
'xAOD::CMXJetHitsAuxContainer#CMXJetHitsAux.',
 
  102              'xAOD::CMXJetTobContainer#CMXJetTobs',
'xAOD::CMXJetTobAuxContainer#CMXJetTobsAux.',
 
  103              'xAOD::CMXRoIContainer#CMXRoIs',
'xAOD::CMXRoIAuxContainer#CMXRoIsAux.',
 
  104              'xAOD::CPMTobRoIContainer#CPMTobRoIs',
'xAOD::CPMTobRoIAuxContainer#CPMTobRoIsAux.',
 
  105              'xAOD::CPMTobRoIContainer#CPMTobRoIsRoIB',
'xAOD::CPMTobRoIAuxContainer#CPMTobRoIsRoIBAux.',
 
  106              'xAOD::CPMTowerContainer#CPMTowers',
'xAOD::CPMTowerAuxContainer#CPMTowersAux.',
 
  107              'xAOD::CPMTowerContainer#CPMTowersOverlap',
'xAOD::CPMTowerAuxContainer#CPMTowersOverlapAux.',
 
  108              'xAOD::RODHeaderContainer#RODHeaders',
'xAOD::RODHeaderAuxContainer#RODHeadersAux.',
 
  109              'xAOD::JetElementContainer#JetElements',
'xAOD::JetElementAuxContainer#JetElementsAux.',
 
  110              'xAOD::JetElementContainer#JetElementsOverlap',
'xAOD::JetElementAuxContainer#JetElementsOverlapAux.',
 
  111              'xAOD::TriggerTowerContainer#xAODTriggerTowers',
'xAOD::TriggerTowerAuxContainer#xAODTriggerTowersAux.',
 
  112              'xAOD::L1TopoRawDataContainer#L1TopoRawData',
'xAOD::L1TopoRawDataAuxContainer#L1TopoRawDataAux.',
 
  114              'xAOD::TrigDecision#*',
'xAOD::TrigDecisionAuxInfo#*',
 
  115              'xAOD::TrigConfKeys#*',
 
  116              'xAOD::BunchConfKey#*',
 
  117              'xAOD::TrigNavigation#*',
'xAOD::TrigNavigationAuxInfo#*',
 
  118              'xAOD::TrigCompositeContainer#HLTNav*', 
'xAOD::TrigCompositeAuxContainer#HLTNav*' 
  121     if configFlags.Input.isMC:
 
  122         items += [
'xAOD::TruthParticleContainer#*',
'xAOD::TruthParticleAuxContainer#TruthParticlesAux.-caloExtension',
 
  123                   'xAOD::TruthVertexContainer#*',
'xAOD::TruthVertexAuxContainer#*',
 
  124                   'xAOD::TruthEventContainer#*',
'xAOD::TruthEventAuxContainer#*']
 
  126     acc.merge( 
OutputStreamCfg( configFlags, 
'DESDM_PHOJET', ItemList=items, AcceptAlgs=[
"DESDM_PHOJETKernel"]) )
 
  131             AcceptAlgs=[
"DESDM_PHOJETKernel"],
 
  133                     MetadataCategory.ByteStreamMetaData,
 
  134                     MetadataCategory.LumiBlockMetaData,
 
  135                     MetadataCategory.TriggerMenuMetaData,