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