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