351 def GetSmartItems(self,collectionName):
352
353 items = []
355 raise RuntimeError("Smart slimming container "+collectionName+" does not exist or does not have a smart slimming list")
356 if collectionName=="EventInfo":
357 from DerivationFrameworkCore.EventInfoContent import EventInfoContent
358 items.extend(EventInfoContent)
359 elif collectionName=="Electrons":
360 from DerivationFrameworkEGamma.ElectronsCPContent import ElectronsCPContent
361 items.extend(ElectronsCPContent)
362 elif collectionName=="LRTElectrons":
363 from DerivationFrameworkEGamma.LargeD0ElectronsCPContent import LargeD0ElectronsCPContent
364 items.extend(LargeD0ElectronsCPContent)
365 elif collectionName=="Photons":
366 from DerivationFrameworkEGamma.PhotonsCPContent import PhotonsCPContent
367 items.extend(PhotonsCPContent)
368 elif collectionName=="Muons":
369 if not self.flags:
370 raise RuntimeError("We're in the era of component accumulator. Please setup your job with CA if you want to have muons")
371 from DerivationFrameworkMuons.MuonsCommonConfig import MuonCPContentCfg
372 items.extend(MuonCPContentCfg(self.flags))
373 elif collectionName=="MuonsLRT":
374 if not self.flags:
375 raise RuntimeError("We're in the era of component accumulator. Please setup your job with CA if you want to have muons")
376 from DerivationFrameworkMuons.MuonsCommonConfig import MuonCPContentLRTCfg
377 items.extend(MuonCPContentLRTCfg(self.flags))
378 elif collectionName=="TauJets":
379 from DerivationFrameworkTau.TauJetsCPContent import TauJetsCPContent
380 items.extend(TauJetsCPContent)
381 elif collectionName=="DiTauJets":
382 from DerivationFrameworkTau.DiTauJetsCPContent import DiTauJetsCPContent
383 items.extend(DiTauJetsCPContent)
384 elif collectionName=="DiTauJetsLowPt":
385 from DerivationFrameworkTau.DiTauJetsCPContent import DiTauJetsLowPtCPContent
386 items.extend(DiTauJetsLowPtCPContent)
387 elif collectionName=="TauJets_MuonRM":
388 from DerivationFrameworkTau.TauJets_LepRMCPContent import TauJets_MuonRMCPContent
389 if "TauJets_MuonRM" not in self.AppendToDictionary:
390 self.AppendToDictionary["TauJets_MuonRM"] = 'xAOD::TauJetContainer'
391 self.AppendToDictionary["TauJets_MuonRMAux"] = 'xAOD::TauJetAuxContainer'
392 self.AppendToDictionary["TauTracks_MuonRM"] = 'xAOD::TauTrackContainer'
393 self.AppendToDictionary["TauTracks_MuonRMAux"] = 'xAOD::TauTrackAuxContainer'
394 self.AppendToDictionary["TauSecondaryVertices_MuonRM"] = 'xAOD::VertexContainer'
395 self.AppendToDictionary["TauSecondaryVertices_MuonRMAux"] = 'xAOD::VertexAuxContainer'
396 self.AppendToDictionary["TauNeutralParticleFlowObjects_MuonRM"] = 'xAOD::PFOContainer'
397 self.AppendToDictionary["TauNeutralParticleFlowObjects_MuonRMAux"] = 'xAOD::PFOAuxContainer'
398 items.extend(TauJets_MuonRMCPContent)
399 elif collectionName=="TauJets_EleRM":
400 from DerivationFrameworkTau.TauJets_LepRMCPContent import TauJets_EleRMCPContent
401 items.extend(TauJets_EleRMCPContent)
402 elif collectionName=="TauJetsLRT":
403 if "TauJetsLRT" not in self.AppendToDictionary:
404 self.AppendToDictionary["TauJetsLRT"] = 'xAOD::TauJetContainer'
405 self.AppendToDictionary["TauJetsLRTAux"] = 'xAOD::TauJetAuxContainer'
406 self.AppendToDictionary["TauTracksLRT"] = 'xAOD::TauTrackContainer'
407 self.AppendToDictionary["TauTracksLRTAux"] = 'xAOD::TauTrackAuxContainer'
408 self.AppendToDictionary["TauSecondaryVerticesLRT"] = 'xAOD::VertexContainer'
409 self.AppendToDictionary["TauSecondaryVerticesLRTAux"] = 'xAOD::VertexAuxContainer'
410 self.AppendToDictionary["TauNeutralParticleFlowObjectsLRT"] = 'xAOD::PFOContainer'
411 self.AppendToDictionary["TauNeutralParticleFlowObjectsLRTAux"] = 'xAOD::PFOAuxContainer'
412 from DerivationFrameworkTau.TauJetsLRTCPContent import TauJetsLRTCPContent
413 items.extend(TauJetsLRTCPContent)
414 elif collectionName=="MET_Baseline_AntiKt4EMTopo":
415 from DerivationFrameworkJetEtMiss.MET_Baseline_AntiKt4EMTopoCPContent import MET_Baseline_AntiKt4EMTopoCPContent
416 items.extend(MET_Baseline_AntiKt4EMTopoCPContent)
417 elif collectionName=="MET_Baseline_AntiKt4EMPFlow":
418 from DerivationFrameworkJetEtMiss.MET_Baseline_AntiKt4EMPFlowCPContent import MET_Baseline_AntiKt4EMPFlowCPContent
419 items.extend(MET_Baseline_AntiKt4EMPFlowCPContent)
420 elif collectionName=="AntiKt2TruthJets":
421 from DerivationFrameworkJetEtMiss.AntiKt2TruthJetsCPContent import AntiKt2TruthJetsCPContent
422 items.extend(AntiKt2TruthJetsCPContent)
423 elif collectionName=="AntiKt4TruthJets":
424 from DerivationFrameworkJetEtMiss.AntiKt4TruthJetsCPContent import AntiKt4TruthJetsCPContent
425 items.extend(AntiKt4TruthJetsCPContent)
426 elif collectionName=="AntiKt4TruthWZJets":
427 from DerivationFrameworkJetEtMiss.AntiKt4TruthWZJetsCPContent import AntiKt4TruthWZJetsCPContent
428 items.extend(AntiKt4TruthWZJetsCPContent)
429 elif collectionName=="AntiKt4TruthDressedWZJets":
430 from DerivationFrameworkJetEtMiss.AntiKt4TruthDressedWZJetsCPContent import AntiKt4TruthDressedWZJetsCPContent
431 items.extend(AntiKt4TruthDressedWZJetsCPContent)
432 elif collectionName=="AntiKt2LCTopoJets":
433 from DerivationFrameworkJetEtMiss.AntiKt2LCTopoJetsCPContent import AntiKt2LCTopoJetsCPContent
434 items.extend(AntiKt2LCTopoJetsCPContent)
435 elif collectionName=="AntiKt4LCTopoJets":
436 from DerivationFrameworkJetEtMiss.AntiKt4LCTopoJetsCPContent import AntiKt4LCTopoJetsCPContent
437 items.extend(AntiKt4LCTopoJetsCPContent)
438 from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
439 items.extend(BTaggingStandardContent(self.flags, "AntiKt4LCTopoJets"))
440 elif collectionName=="AntiKt4EMTopoJets":
441 from DerivationFrameworkJetEtMiss.AntiKt4EMTopoJetsCPContent import AntiKt4EMTopoJetsCPContent
442 items.extend(AntiKt4EMTopoJetsCPContent)
443 from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
444 items.extend(BTaggingStandardContent(self.flags, "AntiKt4EMTopoJets"))
445 elif collectionName=="AntiKt4EMTopoLowPtJets":
446 from DerivationFrameworkJetEtMiss.AntiKt4EMTopoLowPtJetsCPContent import AntiKt4EMTopoLowPtJetsCPContent
447 items.extend(AntiKt4EMTopoLowPtJetsCPContent)
448 elif collectionName=="AntiKt4EMTopoNoPtCutJets":
449 from DerivationFrameworkJetEtMiss.AntiKt4EMTopoNoPtCutJetsCPContent import AntiKt4EMTopoNoPtCutJetsCPContent
450 items.extend(AntiKt4EMTopoNoPtCutJetsCPContent)
451 elif collectionName=="AntiKt4EMPFlowJets":
452 from DerivationFrameworkJetEtMiss.AntiKt4EMPFlowJetsCPContent import AntiKt4EMPFlowJetsCPContent
453 items.extend(AntiKt4EMPFlowJetsCPContent)
454 from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
455 items.extend(BTaggingStandardContent(self.flags, "AntiKt4EMPFlowJets"))
456 elif collectionName=="AntiKt4EMPFlowJets_FTAG_expert":
457 from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
458 items.extend(BTaggingExpertContent(self.flags, "AntiKt4EMPFlowJets"))
459 elif collectionName=="AntiKt4EMPFlowLowPtJets":
460 from DerivationFrameworkJetEtMiss.AntiKt4EMPFlowLowPtJetsCPContent import AntiKt4EMPFlowLowPtJetsCPContent
461 items.extend(AntiKt4EMPFlowLowPtJetsCPContent)
462 elif collectionName=="AntiKt4EMPFlowByVertexJets":
463 from DerivationFrameworkJetEtMiss.AntiKt4EMPFlowByVertexJetsCPContent import AntiKt4EMPFlowByVertexJetsCPContent
464 items.extend(AntiKt4EMPFlowByVertexJetsCPContent)
465 elif collectionName=="AntiKt4UFOCSSKJets":
466 from DerivationFrameworkJetEtMiss.AntiKt4UFOCSSKJetsCPContent import AntiKt4UFOCSSKJetsCPContent
467 items.extend(AntiKt4UFOCSSKJetsCPContent)
468 from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
469 items.extend(BTaggingStandardContent(self.flags, "AntiKt4UFOCSSKJets"))
470 elif collectionName=="AntiKt4UFOCSSKJets_FTAG_expert":
471 from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
472 items.extend(BTaggingExpertContent(self.flags, "AntiKt4UFOCSSKJets"))
473 elif collectionName=="AntiKt4UFOCSSKLowPtJets":
474 from DerivationFrameworkJetEtMiss.AntiKt4UFOCSSKLowPtJetsCPContent import AntiKt4UFOCSSKLowPtJetsCPContent
475 items.extend(AntiKt4UFOCSSKLowPtJetsCPContent)
476 elif collectionName=="AntiKt10TruthJets":
477 from DerivationFrameworkJetEtMiss.AntiKt10TruthJetsCPContent import AntiKt10TruthJetsCPContent
478 items.extend(AntiKt10TruthJetsCPContent)
479 elif collectionName=="AntiKt10TruthWZJets":
480 from DerivationFrameworkJetEtMiss.AntiKt10TruthWZJetsCPContent import AntiKt10TruthWZJetsCPContent
481 items.extend(AntiKt10TruthWZJetsCPContent)
482 elif collectionName=="AntiKt10LCTopoJets":
483 from DerivationFrameworkJetEtMiss.AntiKt10LCTopoJetsCPContent import AntiKt10LCTopoJetsCPContent
484 items.extend(AntiKt10LCTopoJetsCPContent)
485 elif collectionName=="AntiKt10UFOCSSKJets":
486 from DerivationFrameworkJetEtMiss.AntiKt10UFOCSSKJetsCPContent import AntiKt10UFOCSSKJetsCPContent
487 items.extend(AntiKt10UFOCSSKJetsCPContent)
488 elif collectionName=="AntiKt10TruthSoftDropBeta100Zcut10Jets":
489 from DerivationFrameworkJetEtMiss.AntiKt10TruthSoftDropBeta100Zcut10JetsCPContent import AntiKt10TruthSoftDropBeta100Zcut10JetsCPContent
490 items.extend(AntiKt10TruthSoftDropBeta100Zcut10JetsCPContent)
491 elif collectionName=="AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets":
492 from DerivationFrameworkJetEtMiss.AntiKt10TruthDressedWZSoftDropBeta100Zcut10JetsCPContent import AntiKt10TruthDressedWZSoftDropBeta100Zcut10JetsCPContent
493 items.extend(AntiKt10TruthDressedWZSoftDropBeta100Zcut10JetsCPContent)
494 elif collectionName=="AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets":
495 from DerivationFrameworkJetEtMiss.AntiKt10UFOCSSKSoftDropBeta100Zcut10JetsCPContent import AntiKt10UFOCSSKSoftDropBeta100Zcut10JetsCPContent
496 items.extend(AntiKt10UFOCSSKSoftDropBeta100Zcut10JetsCPContent)
497 from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingLargeRContent
498 items.extend(BTaggingLargeRContent(self.flags, "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"))
499 elif collectionName=="AntiKtVR30Rmax4Rmin02PV0TrackJets":
500 from DerivationFrameworkJetEtMiss.AntiKtVR30Rmax4Rmin02PV0TrackJetsCPContent import AntiKtVR30Rmax4Rmin02PV0TrackJetsCPContent
501 items.extend(AntiKtVR30Rmax4Rmin02PV0TrackJetsCPContent)
502 elif collectionName=="InDetTrackParticles":
503 from DerivationFrameworkInDet.InDetTrackParticlesCPContent import InDetTrackParticlesCPContent
504 items.extend(InDetTrackParticlesCPContent)
505 if self.flags.GeoModel.Run >= LHCPeriod.Run4:
506 from DerivationFrameworkInDet.InDetTrackParticlesCPContentRun4 import InDetTrackParticlesCPContentRun4
507 items.extend(InDetTrackParticlesCPContentRun4)
508 elif collectionName=="InDetPseudoTrackParticles":
509 from DerivationFrameworkInDet.InDetPseudoTrackParticlesCPContent import InDetPseudoTrackParticlesCPContent
510 items.extend(InDetPseudoTrackParticlesCPContent)
511 elif collectionName=="InDetReplacedWithPseudoTrackParticles":
512 from DerivationFrameworkInDet.InDetReplacedWithPseudoTrackParticlesCPContent import InDetReplacedWithPseudoTrackParticlesCPContent
513 items.extend(InDetReplacedWithPseudoTrackParticlesCPContent)
514 elif collectionName=="InDetReplacedWithPseudoFromBTrackParticles":
515 from DerivationFrameworkInDet.InDetReplacedWithPseudoFromBTrackParticlesCPContent import InDetReplacedWithPseudoFromBTrackParticlesCPContent
516 items.extend(InDetReplacedWithPseudoFromBTrackParticlesCPContent)
517 elif collectionName=="InDetReplacedWithPseudoNotFromBTrackParticles":
518 from DerivationFrameworkInDet.InDetReplacedWithPseudoNotFromBTrackParticlesCPContent import InDetReplacedWithPseudoNotFromBTrackParticlesCPContent
519 items.extend(InDetReplacedWithPseudoNotFromBTrackParticlesCPContent)
520 elif collectionName=="InDetPlusPseudoTrackParticles":
521 from DerivationFrameworkInDet.InDetPlusPseudoTrackParticlesCPContent import InDetPlusPseudoTrackParticlesCPContent
522 items.extend(InDetPlusPseudoTrackParticlesCPContent)
523 elif collectionName=="InDetPlusPseudoFromBTrackParticles":
524 from DerivationFrameworkInDet.InDetPlusPseudoFromBTrackParticlesCPContent import InDetPlusPseudoFromBTrackParticlesCPContent
525 items.extend(InDetPlusPseudoFromBTrackParticlesCPContent)
526 elif collectionName=="InDetPlusPseudoNotFromBTrackParticles":
527 from DerivationFrameworkInDet.InDetPlusPseudoNotFromBTrackParticlesCPContent import InDetPlusPseudoNotFromBTrackParticlesCPContent
528 items.extend(InDetPlusPseudoNotFromBTrackParticlesCPContent)
529 elif collectionName=="InDetNoFakesTrackParticles":
530 from DerivationFrameworkInDet.InDetNoFakesTrackParticlesCPContent import InDetNoFakesTrackParticlesCPContent
531 items.extend(InDetNoFakesTrackParticlesCPContent)
532 elif collectionName=="InDetNoFakesFromBTrackParticles":
533 from DerivationFrameworkInDet.InDetNoFakesFromBTrackParticlesCPContent import InDetNoFakesFromBTrackParticlesCPContent
534 items.extend(InDetNoFakesFromBTrackParticlesCPContent)
535 elif collectionName=="InDetNoFakesNotFromBTrackParticles":
536 from DerivationFrameworkInDet.InDetNoFakesNotFromBTrackParticlesCPContent import InDetNoFakesNotFromBTrackParticlesCPContent
537 items.extend(InDetNoFakesNotFromBTrackParticlesCPContent)
538 elif collectionName=="InDetSiSPSeededTracksParticles":
539 from DerivationFrameworkInDet.InDetSiSPSeededTracksParticlesCPContent import InDetSiSPSeededTracksParticlesCPContent
540 items.extend(InDetSiSPSeededTracksParticlesCPContent)
541 elif collectionName=="InDetLargeD0TrackParticles":
542 from DerivationFrameworkInDet.InDetLargeD0TrackParticlesCPContent import InDetLargeD0TrackParticlesCPContent
543 items.extend(InDetLargeD0TrackParticlesCPContent)
544 elif collectionName=="PrimaryVertices":
545 from DerivationFrameworkInDet.PrimaryVerticesCPContent import PrimaryVerticesCPContent
546 items.extend(PrimaryVerticesCPContent)
547 if self.flags.GeoModel.Run >= LHCPeriod.Run4:
548 from DerivationFrameworkInDet.PrimaryVerticesCPContentRun4 import PrimaryVerticesCPContentRun4
549 items.extend(PrimaryVerticesCPContentRun4)
550 elif self.IncludeAdditionalTriggerContent is True:
551 from DerivationFrameworkCore.AdditionalTriggerContent import AdditionalTriggerContent
552 items.extend(AdditionalTriggerContent)
553 elif collectionName=="HLT_xAOD__MuonContainer_MuonEFInfo":
554 from DerivationFrameworkMuons.MuonTriggerContent import MuonTriggerContent
555 items.extend(MuonTriggerContent)
556 elif collectionName=="HLT_xAOD__PhotonContainer_egamma_Photons":
557 from DerivationFrameworkCore.EGammaTriggerContent import EGammaTriggerContent
558 items.extend(EGammaTriggerContent)
559 elif collectionName=="HLT_xAOD__JetContainer_a4tcemsubjesFS":
560 from DerivationFrameworkCore.JetTriggerContent import JetTriggerContent
561 items.extend(JetTriggerContent)
562 elif collectionName=="HLT_IDVertex_FS":
563 from DerivationFrameworkCore.TrackingTriggerContent import TrackingTriggerContent
564 items.extend(TrackingTriggerContent)
565 elif collectionName=="HLT_IDTrack_FS_FTF":
566 from DerivationFrameworkCore.TrackingTriggerContent import TrackingTriggerContent
567 items.extend(TrackingTriggerContent)
568 elif collectionName=="HLT_xAOD__TrigMissingETContainer_TrigEFMissingET":
569 from DerivationFrameworkCore.EtMissTriggerContent import EtMissTriggerContent
570 items.extend(EtMissTriggerContent)
571 elif collectionName=="HLT_xAOD__TauJetContainer_TrigTauRecMerged":
572 from DerivationFrameworkCore.TauTriggerContent import TauTriggerContentRun2
573 items.extend(TauTriggerContentRun2)
574 elif collectionName=="HLT_TrigTauRecMerged_MVA":
575 from DerivationFrameworkCore.TauTriggerContent import TauTriggerContentRun3
576 items.extend(TauTriggerContentRun3)
577 elif collectionName=="HLT_DiTauJets":
578 from DerivationFrameworkCore.DiTauTriggerContent import DiTauTriggerContent
579 items.extend(DiTauTriggerContent)
580 elif collectionName=="HLT_xAOD__BTaggingContainer_HLTBjetFex":
581 from DerivationFrameworkFlavourTag.BJetTriggerContent import BJetTriggerContent
582 items.extend(BJetTriggerContent)
583 elif collectionName=="HLT_xAOD__TrigBphysContainer_EFBMuMuFex":
584 from DerivationFrameworkCore.BPhysTriggerContent import BPhysTriggerContent
585 items.extend(BPhysTriggerContent)
586 elif collectionName=="HLT_xAOD__TrigVertexCountsContainer_vertexcounts":
587 from DerivationFrameworkCore.MinBiasTriggerContent import MinBiasTriggerContent
588 items.extend(MinBiasTriggerContent)
589 elif collectionName=="HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf":
590 from DerivationFrameworkCore.JetTriggerContentRun3 import JetTriggerContentRun3
591 from DerivationFrameworkCore.JetTriggerContentRun3TLA import JetTriggerContentRun3TLA
592 if not self.OverrideJetTriggerContentWithTLAContent:
593 items.extend(JetTriggerContentRun3)
594 else:
595 items.extend(JetTriggerContentRun3TLA)
596 elif collectionName=="HLT_BJetTriggerByYearContent":
597 from FTagAnalysisAlgorithms.BJetTriggerByYearContent import getBJetTriggerContent
598 items.extend(getBJetTriggerContent(self.flags))
599 elif collectionName=="HLT_FULL_EDM":
600 from DerivationFrameworkTrigger.TrigSlimmingHelper import addTrigEDMSetToOutput
601 items.extend(addTrigEDMSetToOutput(self.flags, self, edmSet=self.IncludeFullTriggerEDMLevel))
602
603 else:
604 raise RuntimeError("Smart slimming container "+collectionName+" does not exist or does not have a smart slimming list")
605 return items
606