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