ATLAS Offline Software
Classes | Functions | Variables
python.JetAnalysisConfig Namespace Reference

Classes

class  LargeRJetAnalysisConfig
 
class  PreJetAnalysisConfig
 
class  RScanJetAnalysisConfig
 
class  SmallRJetAnalysisConfig
 

Functions

def _largeLCTopoConfigFile (config, self)
 
def makeJetAnalysisConfig (seq, containerName, jetCollection, runGhostMuonAssociation=None)
 
def makeSmallRJetAnalysisConfig (seq, containerName, jetCollection, jetInput, runJvtUpdate=None, runNNJvtUpdate=None, runJvtSelection=None, runFJvtSelection=None, jvtWP=None, fJvtWP=None, runJvtEfficiency=None, runFJvtEfficiency=None, systematicsModelJES=None, systematicsModelJER=None)
 
def makeRScanJetAnalysisConfig (seq, containerName, jetCollection, jetInput, radius)
 
def makeLargeRJetAnalysisConfig (seq, containerName, jetCollection, jetInput, largeRMass=None)
 

Variables

 largeRMass
 

Function Documentation

◆ _largeLCTopoConfigFile()

def python.JetAnalysisConfig._largeLCTopoConfigFile (   config,
  self 
)
private

Definition at line 382 of file JetAnalysisConfig.py.

382 def _largeLCTopoConfigFile(config, self):
383  is_sim = config.dataType() in {DataType.FullSim}
384  if self.largeRMass == "Comb":
385  if config.dataType() is DataType.Data:
386  return "JES_MC16recommendation_FatJet_Trimmed_JMS_comb_March2021.config"
387  if is_sim:
388  return "JES_MC16recommendation_FatJet_Trimmed_JMS_comb_17Oct2018.config"
389  elif self.largeRMass == "Calo":
390  if config.dataType() is DataType.Data:
391  return "JES_MC16recommendation_FatJet_Trimmed_JMS_comb_March2021.config"
392  if is_sim:
393  return "JES_MC16recommendation_FatJet_Trimmed_JMS_calo_12Oct2018.config "
394  elif self.largeRMass == "TA":
395  if config.dataType() is DataType.Data:
396  return "JES_MC16recommendation_FatJet_Trimmed_JMS_comb_March2021.config"
397  if is_sim:
398  return "JES_MC16recommendation_FatJet_Trimmed_JMS_TA_12Oct2018.config"
399  return None
400 
401 

◆ makeJetAnalysisConfig()

def python.JetAnalysisConfig.makeJetAnalysisConfig (   seq,
  containerName,
  jetCollection,
  runGhostMuonAssociation = None 
)
Create a jet analysis algorithm sequence
  The jet collection is interpreted and selects the correct function to call,
  makeSmallRJetAnalysisConfig, makeRScanJetAnalysisConfig or
  makeLargeRJetAnalysisConfig

  Keyword arguments
    jetCollection -- The jet container to run on.

Definition at line 635 of file JetAnalysisConfig.py.

635 def makeJetAnalysisConfig( seq, containerName, jetCollection,
636  runGhostMuonAssociation = None):
637  """Create a jet analysis algorithm sequence
638  The jet collection is interpreted and selects the correct function to call,
639  makeSmallRJetAnalysisConfig, makeRScanJetAnalysisConfig or
640  makeLargeRJetAnalysisConfig
641 
642  Keyword arguments
643  jetCollection -- The jet container to run on.
644  """
645 
646  # Remove b-tagging calibration from the container name
647  btIndex = jetCollection.find('_BTagging')
648  if btIndex != -1:
649  jetCollection = jetCollection[:btIndex]
650 
651  jetCollectionName=jetCollection
652  # needed for PHYSLITE
653  if(jetCollection=="AnalysisJets") :
654  jetCollectionName="AntiKt4EMPFlowJets"
655  if(jetCollection=="AnalysisLargeRJets") :
656  jetCollectionName="AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"
657 
658  # interpret the jet collection
659  collection_pattern = re.compile(
660  r"AntiKt(\d+)(EMTopo|EMPFlow|LCTopo|TrackCaloCluster|UFO|Track|HI)(TrimmedPtFrac5SmallR20|CSSKSoftDropBeta100Zcut10)?Jets")
661  match = collection_pattern.match(jetCollectionName)
662  if not match:
663  raise ValueError(
664  "Jet collection {0} does not match expected pattern!".format(jetCollectionName) )
665  radius = int(match.group(1) )
666  if radius not in [2, 4, 6, 10]:
667  raise ValueError("Jet collection has an unsupported radius '{0}'!".format(radius) )
668  jetInput = match.group(2)
669 
670  if jetCollectionName == 'AntiKtVR30Rmax4Rmin02PV0TrackJets' :
671  # don't to anything on track jets
672  config = PreJetAnalysisConfig()
673  config.setOptionValue ('containerName', containerName)
674  config.setOptionValue ('jetCollection', jetCollection)
675  config.setOptionValue ('runOriginalObjectLink', False)
676  config.setOptionValue ('runGhostMuonAssociation', False)
677  seq.append (config)
678  return
679 
680  config = PreJetAnalysisConfig()
681  config.setOptionValue ('containerName', containerName)
682  config.setOptionValue ('jetCollection', jetCollection)
683  config.runOriginalObjectLink = (btIndex != -1)
684  config.setOptionValue ('runGhostMuonAssociation', runGhostMuonAssociation)
685  seq.append (config)
686 
687  if radius == 4:
688  makeSmallRJetAnalysisConfig(seq, containerName,
689  jetCollection, jetInput=jetInput)
690  elif radius in [2, 6]:
691  makeRScanJetAnalysisConfig(seq, containerName,
692  jetCollection, jetInput=jetInput, radius=radius)
693  else:
694  trim = match.group(3)
695  if trim == "":
696  raise ValueError("Untrimmed large-R jets are not supported!")
697  makeLargeRJetAnalysisConfig(seq, containerName,
698  jetCollection, jetInput=jetInput)
699 
700 
701 

◆ makeLargeRJetAnalysisConfig()

def python.JetAnalysisConfig.makeLargeRJetAnalysisConfig (   seq,
  containerName,
  jetCollection,
  jetInput,
  largeRMass = None 
)
Add algorithms for the R=1.0 jets.

  Keyword arguments
    seq -- The sequence to add the algorithms to
    jetCollection -- The jet container to run on.
    jetInput -- The type of input used, read from the collection name.
    largeRMass -- Which large-R mass definition to use. Ignored if not running on large-R jets ("Comb", "Calo", "TA")

Definition at line 766 of file JetAnalysisConfig.py.

766 def makeLargeRJetAnalysisConfig( seq, containerName, jetCollection,
767  jetInput, largeRMass = None):
768  """Add algorithms for the R=1.0 jets.
769 
770  Keyword arguments
771  seq -- The sequence to add the algorithms to
772  jetCollection -- The jet container to run on.
773  jetInput -- The type of input used, read from the collection name.
774  largeRMass -- Which large-R mass definition to use. Ignored if not running on large-R jets ("Comb", "Calo", "TA")
775  """
776  config = LargeRJetAnalysisConfig()
777  config.setOptionValue ('containerName', containerName)
778  config.setOptionValue ('jetCollection', jetCollection)
779  config.setOptionValue ('jetInput', jetInput)
780  config.setOptionValue ('largeRMass', largeRMass)
781  seq.append (config)
782 

◆ makeRScanJetAnalysisConfig()

def python.JetAnalysisConfig.makeRScanJetAnalysisConfig (   seq,
  containerName,
  jetCollection,
  jetInput,
  radius 
)
Add algorithms for the R-scan jets.

  Keyword arguments
    seq -- The sequence to add the algorithms to
    jetCollection -- The jet container to run on.
    jetInput -- The type of input used, read from the collection name.
    radius -- The radius of the r-scan jets.

Definition at line 745 of file JetAnalysisConfig.py.

745 def makeRScanJetAnalysisConfig( seq, containerName, jetCollection,
746  jetInput, radius ):
747  """Add algorithms for the R-scan jets.
748 
749  Keyword arguments
750  seq -- The sequence to add the algorithms to
751  jetCollection -- The jet container to run on.
752  jetInput -- The type of input used, read from the collection name.
753  radius -- The radius of the r-scan jets.
754  """
755 
756  config = RScanJetAnalysisConfig()
757  config.setOptionValue ('containerName', containerName)
758  config.setOptionValue ('jetCollection', jetCollection)
759  config.setOptionValue ('jetInput', jetInput)
760  config.setOptionValue ('radius', radius)
761  seq.append (config)
762 
763 
764 
765 

◆ makeSmallRJetAnalysisConfig()

def python.JetAnalysisConfig.makeSmallRJetAnalysisConfig (   seq,
  containerName,
  jetCollection,
  jetInput,
  runJvtUpdate = None,
  runNNJvtUpdate = None,
  runJvtSelection = None,
  runFJvtSelection = None,
  jvtWP = None,
  fJvtWP = None,
  runJvtEfficiency = None,
  runFJvtEfficiency = None,
  systematicsModelJES = None,
  systematicsModelJER = None 
)
Add algorithms for the R=0.4 jets.

  Keyword arguments
    seq -- The sequence to add the algorithms to
    jetCollection -- The jet container to run on.
    jetInput -- The type of input used, read from the collection name.
    runJvtUpdate -- Determines whether or not to update JVT on the jets
    runNNJvtUpdate -- Determines whether or not to update NN JVT on the jets
    runJvtSelection -- Determines whether or not to run JVT selection on the jets
    runFJvtSelection -- Determines whether or not to run forward JVT selection on the jets
    jvtWP -- Defines the NNJvt WP to apply on the jets
    fJvtWP -- Defines the fJvt WP to apply on the jets
    runJvtEfficiency -- Determines whether or not to calculate the JVT efficiency
    runFJvtEfficiency -- Determines whether or not to calculate the forward JVT efficiency
    systematicsModelJES -- Which NP systematicsModelJES scheme should be used (All, Global, Category, Scenario)
    systematicsModelJER -- Which variant of the systematicsModelJES should be used (All, Full, Simple). Note that not all combinations of systematicsModelJES and systematicsModelJER are valid!

Definition at line 702 of file JetAnalysisConfig.py.

702 def makeSmallRJetAnalysisConfig( seq, containerName, jetCollection, jetInput,
703  runJvtUpdate = None, runNNJvtUpdate = None,
704  runJvtSelection = None, runFJvtSelection = None,
705  jvtWP = None, fJvtWP = None,
706  runJvtEfficiency = None, runFJvtEfficiency = None,
707  systematicsModelJES = None, systematicsModelJER = None):
708  """Add algorithms for the R=0.4 jets.
709 
710  Keyword arguments
711  seq -- The sequence to add the algorithms to
712  jetCollection -- The jet container to run on.
713  jetInput -- The type of input used, read from the collection name.
714  runJvtUpdate -- Determines whether or not to update JVT on the jets
715  runNNJvtUpdate -- Determines whether or not to update NN JVT on the jets
716  runJvtSelection -- Determines whether or not to run JVT selection on the jets
717  runFJvtSelection -- Determines whether or not to run forward JVT selection on the jets
718  jvtWP -- Defines the NNJvt WP to apply on the jets
719  fJvtWP -- Defines the fJvt WP to apply on the jets
720  runJvtEfficiency -- Determines whether or not to calculate the JVT efficiency
721  runFJvtEfficiency -- Determines whether or not to calculate the forward JVT efficiency
722  systematicsModelJES -- Which NP systematicsModelJES scheme should be used (All, Global, Category, Scenario)
723  systematicsModelJER -- Which variant of the systematicsModelJES should be used (All, Full, Simple). Note that not all combinations of systematicsModelJES and systematicsModelJER are valid!
724  """
725 
726  if jetInput not in ["EMTopo", "EMPFlow", "HI"]:
727  raise ValueError(
728  "Unsupported input type '{0}' for R=0.4 jets!".format(jetInput) )
729 
730  config = SmallRJetAnalysisConfig()
731  config.setOptionValue ('containerName', containerName)
732  config.setOptionValue ('jetCollection', jetCollection)
733  config.setOptionValue ('jetInput', jetInput)
734  config.setOptionValue ('runJvtUpdate', runJvtUpdate)
735  config.setOptionValue ('runNNJvtUpdate', runNNJvtUpdate)
736  config.setOptionValue ('runJvtSelection', runJvtSelection)
737  config.setOptionValue ('runFJvtSelection', runFJvtSelection)
738  config.setOptionValue ('jvtWP', jvtWP)
739  config.setOptionValue ('fJvtWP', fJvtWP)
740  config.setOptionValue ('runJvtEfficiency', runJvtEfficiency)
741  config.setOptionValue ('runFJvtEfficiency', runFJvtEfficiency)
742  seq.append (config)
743 
744 

Variable Documentation

◆ largeRMass

python.JetAnalysisConfig.largeRMass

Definition at line 384 of file JetAnalysisConfig.py.

python.JetAnalysisConfig._largeLCTopoConfigFile
def _largeLCTopoConfigFile(config, self)
Definition: JetAnalysisConfig.py:382
python.JetAnalysisConfig.makeSmallRJetAnalysisConfig
def makeSmallRJetAnalysisConfig(seq, containerName, jetCollection, jetInput, runJvtUpdate=None, runNNJvtUpdate=None, runJvtSelection=None, runFJvtSelection=None, jvtWP=None, fJvtWP=None, runJvtEfficiency=None, runFJvtEfficiency=None, systematicsModelJES=None, systematicsModelJER=None)
Definition: JetAnalysisConfig.py:702
vtune_athena.format
format
Definition: vtune_athena.py:14
python.JetAnalysisConfig.makeLargeRJetAnalysisConfig
def makeLargeRJetAnalysisConfig(seq, containerName, jetCollection, jetInput, largeRMass=None)
Definition: JetAnalysisConfig.py:766
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
python.JetAnalysisConfig.makeRScanJetAnalysisConfig
def makeRScanJetAnalysisConfig(seq, containerName, jetCollection, jetInput, radius)
Definition: JetAnalysisConfig.py:745
python.JetAnalysisConfig.makeJetAnalysisConfig
def makeJetAnalysisConfig(seq, containerName, jetCollection, runGhostMuonAssociation=None)
Definition: JetAnalysisConfig.py:635
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567