ATLAS Offline Software
Classes | Functions | Variables
TrigMuonHypoConfig Namespace Reference

Classes

class  TrigmuCombHypoConfig
 
class  TrigMufastHypoToolConfig
 

Functions

def getThresholdsFromDict (chainDict)
 
def TrigMufastHypoAlgCfg (flags, name="UNSPECIFIED", **kwargs)
 
def TrigMufastHypoToolFromDict (flags, chainDict)
 
def TrigmuCombHypoAlgCfg (flags, name="UNSPECIFIED", **kwargs)
 
def TrigmuCombHypoToolFromDict (flags, chainDict)
 
def TrigmuCombHypoToolwORFromDict (flags, chainDict)
 
def Trigl2IOHypoToolwORFromDict (chainDict)
 
def Trigl2mtCBHypoToolwORFromDict (chainDict)
 
def TrigMuonEFHypoAlgCfg (flags, name="UNSPECIFIED", **kwargs)
 
def TrigMuonEFMSonlyHypoToolFromDict (flags, chainDict)
 
def TrigMuonEFMSonlyHypoToolFromName (flags, chainDict)
 
def TrigMuonEFHypoToolCfg (name, thresholds, doSA=False, **kwargs)
 
def TrigMuonEFCombinerHypoToolFromDict (flags, chainDict)
 
def TrigMuonEFCombinerHypoToolFromName (flags, chainDict)
 
def TrigMuonEFTrackIsolationHypoToolFromDict (flags, chainDict)
 
def TrigMuonEFTrackIsolationHypoCfg (flags, name, isoCut, **kwargs)
 
def TrigMuonEFTrackIsolationHypoAlgCfg (flags, name="TrigMuonEFTrackIsolationHypoAlg", **kwargs)
 
def TrigMuonEFInvMassHypoToolFromDict (flags, chainDict)
 
def TrigMuonEFInvMassHypoCfg (flags, toolName, thresholds, **kwargs)
 
def TrigMuonEFIdtpHypoToolFromDict (flags, chainDict)
 
def TrigMuonEFIdtpHypoCfg (name, thresholds, **kwargs)
 
def TrigMuonEFIdtpInvMassHypoToolFromDict (flags, chainDict)
 
def TrigMuonEFIdtpInvMassHypoCfg (name, thresholds, **kwargs)
 
def TrigMuonEFIdtpHypoAlgCfg (flags, name="TrigMuonEFIdtpHypoAlg", **kwargs)
 
def TrigMuonLateMuRoIHypoAlgCfg (flags, name="TrigMuRoIHypoAlg", **kwargs)
 
def TrigMuonLateMuRoIHypoToolFromDict (flags, chainDict)
 
def TrigMuonLateMuRoIHypoCfg (flags, name="TrigMuRoIHypoTool")
 

Variables

 monitorAll
 
 log
 
 muFastThresholds
 
 muCombThresholds
 
 trigMuonEFSAThresholds
 
 efCombinerThresholds
 
 muFastThresholdsForECWeakBRegion
 
 trigMuonEFTrkIsoThresholds
 
 trigMuonLrtd0Cut
 
 trigMuonEFInvMassThresholds
 
 muonHypoMonGroups
 
 idHypoMonGroups
 

Function Documentation

◆ getThresholdsFromDict()

def TrigMuonHypoConfig.getThresholdsFromDict (   chainDict)

Definition at line 280 of file TrigMuonHypoConfig.py.

280 def getThresholdsFromDict( chainDict ):
281  cparts = [i for i in chainDict['chainParts'] if i['signature']=='Muon' or i['signature']=='Bphysics']
282  return sum( [ [part['threshold']]*int(part['multiplicity']) for part in cparts ], [])
283 
284 

◆ Trigl2IOHypoToolwORFromDict()

def TrigMuonHypoConfig.Trigl2IOHypoToolwORFromDict (   chainDict)

Definition at line 560 of file TrigMuonHypoConfig.py.

560 def Trigl2IOHypoToolwORFromDict( chainDict ):
561 
562  thresholds = getThresholdsFromDict( chainDict )
563 
564  config = TrigmuCombHypoConfig()
565 
566  tight = False # can be probably decoded from some of the proprties of the chain, expert work
567 
568  acceptAll = False
569  domuCombTag=False
570 
571  tool=config.ConfigurationHypoTool( chainDict['chainName'], thresholds, tight, acceptAll, domuCombTag )
572 
573  # Overlap Removal
574  tool.ApplyOR = True
575  tool.RequireDR = True
576  tool.RequireMufastDR = False
577  tool.RequireMass = True
578  tool.RequireSameSign = True
579  tool.EtaBins = [0, 0.9, 1.1, 1.9, 2.1, 9.9]
580  tool.DRThres = [0.002, 0.001, 0.002, 0.002, 0.002]
581  tool.MufastDRThres = [0]
582  tool.MassThres = [0.004, 0.002, 0.006, 0.006, 0.006]
583 
584  return tool
585 
586 
587 # muComb Hypo for L2 multi-track SA mode

◆ Trigl2mtCBHypoToolwORFromDict()

def TrigMuonHypoConfig.Trigl2mtCBHypoToolwORFromDict (   chainDict)

Definition at line 588 of file TrigMuonHypoConfig.py.

588 def Trigl2mtCBHypoToolwORFromDict( chainDict ):
589 
590  if 'idperf' in chainDict['chainParts'][0]['addInfo'] or 'idtp' in chainDict['chainParts'][0]['addInfo'] :
591  thresholds = ['passthrough']
592  else:
593  thresholds = getThresholdsFromDict( chainDict )
594 
595  config = TrigmuCombHypoConfig()
596 
597  tight = False # can be probably decoded from some of the proprties of the chain, expert work
598 
599  acceptAll = False
600  domuCombTag = False
601 
602  tool=config.ConfigurationHypoTool( chainDict['chainName'], thresholds, tight, acceptAll, domuCombTag )
603 
604  # Overlap Removal
605  tool.ApplyOR = True
606  tool.RequireDR = True
607  tool.RequireMufastDR = True
608  tool.RequireMass = True
609  tool.RequireSameSign = True
610  tool.EtaBins = [0, 0.9, 1.1, 1.9, 2.1, 9.9]
611  tool.DRThres = [0.002, 0.001, 0.002, 0.002, 0.002]
612  tool.MufastDRThres = [0.4, 0.4, 0.4, 0.4, 0.4]
613  tool.MassThres = [0.004, 0.002, 0.006, 0.006, 0.006]
614 
615  return tool
616 
617 

◆ TrigmuCombHypoAlgCfg()

def TrigMuonHypoConfig.TrigmuCombHypoAlgCfg (   flags,
  name = "UNSPECIFIED",
**  kwargs 
)

Definition at line 476 of file TrigMuonHypoConfig.py.

476 def TrigmuCombHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs):
477  return CompFactory.TrigmuCombHypoAlg(name, **kwargs)
478 

◆ TrigmuCombHypoToolFromDict()

def TrigMuonHypoConfig.TrigmuCombHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 479 of file TrigMuonHypoConfig.py.

479 def TrigmuCombHypoToolFromDict( flags, chainDict ):
480 
481  if 'idperf' in chainDict['chainParts'][0]['addInfo'] or 'idtp' in chainDict['chainParts'][0]['addInfo'] :
482  thresholds = ['passthrough']
483  else:
484  thresholds = getThresholdsFromDict( chainDict )
485 
486  config = TrigmuCombHypoConfig()
487 
488  tight = False # can be probably decoded from some of the proprties of the chain, expert work
489 
490  acceptAll = False
491 
492  if 'mucombTag' in chainDict['chainParts'][0]['extra']:
493  domuCombTag = True
494  else:
495  domuCombTag = False
496 
497  if chainDict['chainParts'][0]['signature'] == 'Bphysics':
498  acceptAll = True
499 
500  tool = config.ConfigurationHypoTool( chainDict['chainName'], thresholds, tight, acceptAll, domuCombTag )
501 
502  if monitorAll:
503  tool.MonTool = TrigmuCombHypoMonitoring(flags, "TrigmuCombHypoTool/"+chainDict['chainName'])
504  else:
505  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
506  tool.MonTool = TrigmuCombHypoMonitoring(flags, "TrigmuCombHypoTool/"+chainDict['chainName'])
507 
508  d0cut=0.
509  if 'd0loose' in chainDict['chainParts'][0]['lrtInfo']:
510  d0cut=trigMuonLrtd0Cut['d0loose']
511  elif 'd0medium' in chainDict['chainParts'][0]['lrtInfo']:
512  d0cut=trigMuonLrtd0Cut['d0medium']
513  elif 'd0tight' in chainDict['chainParts'][0]['lrtInfo']:
514  d0cut=trigMuonLrtd0Cut['d0tight']
515  tool.MinimumD0=d0cut
516 
517  return tool
518 
519 

◆ TrigmuCombHypoToolwORFromDict()

def TrigMuonHypoConfig.TrigmuCombHypoToolwORFromDict (   flags,
  chainDict 
)

Definition at line 520 of file TrigMuonHypoConfig.py.

520 def TrigmuCombHypoToolwORFromDict( flags, chainDict ):
521 
522  if 'idperf' in chainDict['chainParts'][0]['addInfo'] or 'idtp' in chainDict['chainParts'][0]['addInfo'] :
523  thresholds = ['passthrough']
524  else:
525  thresholds = getThresholdsFromDict( chainDict )
526 
527  config = TrigmuCombHypoConfig()
528 
529  tight = False # can be probably decoded from some of the proprties of the chain, expert work
530 
531  acceptAll = False
532  if 'mucombTag' in chainDict['chainParts'][0]['extra']:
533  domuCombTag = True
534  else:
535  domuCombTag = False
536 
537  tool = config.ConfigurationHypoTool( chainDict['chainName'], thresholds, tight, acceptAll, domuCombTag )
538 
539  if monitorAll:
540  tool.MonTool = TrigL2MuonOverlapRemoverMonitoringMucomb(flags, "TrigmuCombHypoTool/"+chainDict['chainName'])
541  else:
542  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
543  tool.MonTool = TrigL2MuonOverlapRemoverMonitoringMucomb(flags, "TrigmuCombHypoTool/"+chainDict['chainName'])
544 
545  # Overlap Removal
546  tool.ApplyOR = True
547  tool.RequireDR = True
548  tool.RequireMufastDR = True
549  tool.RequireMass = True
550  tool.RequireSameSign = True
551  tool.EtaBins = [0, 0.9, 1.1, 1.9, 2.1, 9.9]
552  tool.DRThres = [0.002, 0.001, 0.002, 0.002, 0.002]
553  tool.MufastDRThres = [0.4, 0.4, 0.4, 0.4, 0.4]
554  tool.MassThres = [0.004, 0.002, 0.006, 0.006, 0.006]
555 
556  return tool
557 
558 
559 # muComb Hypo for L2 inside-out

◆ TrigMufastHypoAlgCfg()

def TrigMuonHypoConfig.TrigMufastHypoAlgCfg (   flags,
  name = "UNSPECIFIED",
**  kwargs 
)

Definition at line 285 of file TrigMuonHypoConfig.py.

285 def TrigMufastHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs):
286  return CompFactory.TrigMufastHypoAlg(name, **kwargs)
287 

◆ TrigMufastHypoToolFromDict()

def TrigMuonHypoConfig.TrigMufastHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 288 of file TrigMuonHypoConfig.py.

288 def TrigMufastHypoToolFromDict(flags, chainDict):
289 
290  chainPart = chainDict['chainParts'][0]
291 
292  doOverlapRemoval = False
293  if chainPart['signature'] == 'Bphysics' or 'l2io' in chainPart['l2AlgInfo']:
294  doOverlapRemoval = False
295  elif int(chainPart['multiplicity']) > 1:
296  doOverlapRemoval = True
297  elif len(chainDict['signatures']) > 1 and not chainPart['extra']:
298  doOverlapRemoval = True
299 
300  doMonitoring = monitorAll or any(group in muonHypoMonGroups for group in chainDict['monGroups'])
301 
302  config = TrigMufastHypoToolConfig(chainDict['chainName'], chainPart, doOverlapRemoval, doMonitoring)
303  config.compile(flags)
304  return config.tool()
305 
306 

◆ TrigMuonEFCombinerHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFCombinerHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 809 of file TrigMuonHypoConfig.py.

809 def TrigMuonEFCombinerHypoToolFromDict( flags, chainDict ) :
810  if 'idperf' in chainDict['chainParts'][0]['addInfo'] or 'idtp' in chainDict['chainParts'][0]['addInfo']:
811  thresholds = ['passthrough']
812  else:
813  thresholds = getThresholdsFromDict( chainDict )
814 
815  if 'muonqual' in chainDict['chainParts'][0]['addInfo']:
816  muonquality = True
817  else:
818  muonquality = False
819 
820  if 'nscan10' in chainDict['chainParts'][0]['addInfo']:
821  conesize = 0.1
822  narrowscan = True
823  elif 'nscan20' in chainDict['chainParts'][0]['addInfo']:
824  conesize = 0.2
825  narrowscan = True
826  elif 'nscan30' in chainDict['chainParts'][0]['addInfo']:
827  conesize = 0.3
828  narrowscan = True
829  elif 'nscan40' in chainDict['chainParts'][0]['addInfo']:
830  conesize = 0.4
831  narrowscan = True
832  elif 'nscan' in chainDict['chainParts'][0]['addInfo']:
833  conesize = 0.5
834  narrowscan = True
835  else:
836  narrowscan = False
837  conesize = 0.0
838 
839  if 'noL1' not in chainDict['chainParts'][0]['extra']:
840  overlap=True
841  else:
842  overlap=False
843 
844  monTool=None
845  if monitorAll:
846  monTool = TrigMuonEFHypoMonitoring(flags, "TrigMuonEFCombinerHypoTool/"+chainDict['chainName'])
847  else:
848  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
849  monTool = TrigMuonEFHypoMonitoring(flags, "TrigMuonEFCombinerHypoTool/"+chainDict['chainName'])
850 
851  d0cut=0.
852  if 'd0loose' in chainDict['chainParts'][0]['lrtInfo']:
853  d0cut=trigMuonLrtd0Cut['d0loose']
854  elif 'd0medium' in chainDict['chainParts'][0]['lrtInfo']:
855  d0cut=trigMuonLrtd0Cut['d0medium']
856  elif 'd0tight' in chainDict['chainParts'][0]['lrtInfo']:
857  d0cut=trigMuonLrtd0Cut['d0tight']
858 
859 
860  tool = TrigMuonEFHypoToolCfg(chainDict['chainName'], thresholds, doSA=False, MuonQualityCut=muonquality, MonTool=monTool,
861  NarrowScan=narrowscan, RemoveOverlaps=overlap, ConeSize=conesize, MinimumD0=d0cut)
862 
863  return tool
864 

◆ TrigMuonEFCombinerHypoToolFromName()

def TrigMuonHypoConfig.TrigMuonEFCombinerHypoToolFromName (   flags,
  chainDict 
)

Definition at line 865 of file TrigMuonHypoConfig.py.

865 def TrigMuonEFCombinerHypoToolFromName( flags, chainDict ):
866  #For full scan chains, we need to configure the thresholds based on all muons
867  #in the chain to get the counting correct. Currently a bit convoluted as
868  #the chain dict is (improperly) overwritten when merging for FS chains.
869  #Can probably improve this once serial merging is officially implemented
870  thresholds=[]
871  chainName = chainDict["chainName"]
872  hltChainName = chainName.rsplit("_L1",1)[0]
873  cparts = hltChainName.split("_")
874  if 'HLT' in hltChainName:
875  cparts.remove('HLT')
876  for part in cparts:
877  if 'mu' in part:
878  thrPart = part.split('mu')
879  if not thrPart[0]:
880  mult = 1
881  else:
882  mult=thrPart[0]
883  thr = thrPart[1]
884  if 'noL1' in part:
885  thr =thr.replace('noL1','')
886  for i in range(1,int(mult)+1):
887  thresholds.append(thr)
888  if 'nscan10' in chainDict['chainParts'][0]['addInfo']:
889  conesize = 0.1
890  narrowscan = True
891  elif 'nscan20' in chainDict['chainParts'][0]['addInfo']:
892  conesize = 0.2
893  narrowscan = True
894  elif 'nscan30' in chainDict['chainParts'][0]['addInfo']:
895  conesize = 0.3
896  narrowscan = True
897  elif 'nscan40' in chainDict['chainParts'][0]['addInfo']:
898  conesize = 0.4
899  narrowscan = True
900  if 'nscan' in chainDict['chainParts'][0]['addInfo']:
901  conesize = 0.5
902  narrowscan = True
903  else:
904  narrowscan = False
905  conesize = 0.0
906 
907  if 'muonqual' in chainDict['chainParts'][0]['addInfo']:
908  muonquality = True
909  else:
910  muonquality = False
911 
912  monTool=None
913  if monitorAll:
914  monTool = TrigMuonEFHypoMonitoring(flags, "TrigMuonEFCombinerHypoTool/"+chainDict['chainName'])
915  else:
916  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
917  monTool = TrigMuonEFHypoMonitoring(flags, "TrigMuonEFCombinerHypoTool/"+chainDict['chainName'])
918 
919  tool = TrigMuonEFHypoToolCfg(chainDict['chainName'], thresholds, doSA=False, MuonQualityCut=muonquality, MonTool=monTool,
920  NarrowScan=narrowscan, ConeSize=conesize)
921 
922  return tool
923 
924 
925 

◆ TrigMuonEFHypoAlgCfg()

def TrigMuonHypoConfig.TrigMuonEFHypoAlgCfg (   flags,
  name = "UNSPECIFIED",
**  kwargs 
)

Definition at line 665 of file TrigMuonHypoConfig.py.

665 def TrigMuonEFHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs):
666  return CompFactory.TrigMuonEFHypoAlg(name, **kwargs)
667 
668 

◆ TrigMuonEFHypoToolCfg()

def TrigMuonHypoConfig.TrigMuonEFHypoToolCfg (   name,
  thresholds,
  doSA = False,
**  kwargs 
)

Definition at line 767 of file TrigMuonHypoConfig.py.

767 def TrigMuonEFHypoToolCfg(name, thresholds, doSA=False, **kwargs):
768 
769 
770  log = logging.getLogger(name)
771 
772  nt = len(thresholds)
773  log.debug('Set %d thresholds', nt)
774  PtBins = [ [ 0.0, 2.5 ] ] * nt
775  PtThresholds = [ [ 5.49 * GeV ] ] * nt
776  passthrough=False
777  for th, thvalue in enumerate(thresholds):
778  if (thvalue=='passthrough'):
779  passthrough = True
780  PtBins[th] = [-10000.,10000.]
781  PtThresholds[th] = [ -1. * GeV ]
782  else:
783  if "0eta105" in name:
784  thvaluename = thvalue+ "GeV_barrelOnly"
785  else:
786  if int(thvalue)==3:
787  thvaluename = thvalue + 'GeV_v22a'
788  else:
789  if doSA:
790  thvaluename = thvalue + 'GeV'
791  else:
792  thvaluename = thvalue + 'GeV_v15a'
793  log.debug('Number of threshold = %d, Value of threshold = %s', th, thvaluename)
794 
795  if doSA:
796  values = trigMuonEFSAThresholds[thvaluename]
797  else:
798  values = efCombinerThresholds[thvaluename]
799  PtBins[th] = values[0]
800  PtThresholds[th] = [ x * GeV for x in values[1] ]
801 
802 
803  kwargs.setdefault("AcceptAll", passthrough)
804  kwargs.setdefault("PtBins", PtBins)
805  kwargs.setdefault("PtThresholds", PtThresholds)
806  return CompFactory.TrigMuonEFHypoTool(name, **kwargs)
807 
808 

◆ TrigMuonEFIdtpHypoAlgCfg()

def TrigMuonHypoConfig.TrigMuonEFIdtpHypoAlgCfg (   flags,
  name = "TrigMuonEFIdtpHypoAlg",
**  kwargs 
)

Definition at line 1075 of file TrigMuonHypoConfig.py.

1075 def TrigMuonEFIdtpHypoAlgCfg(flags, name="TrigMuonEFIdtpHypoAlg", **kwargs):
1076  return CompFactory.TrigMuonEFIdtpHypoAlg(name, **kwargs)
1077 

◆ TrigMuonEFIdtpHypoCfg()

def TrigMuonHypoConfig.TrigMuonEFIdtpHypoCfg (   name,
  thresholds,
**  kwargs 
)

Definition at line 1015 of file TrigMuonHypoConfig.py.

1015 def TrigMuonEFIdtpHypoCfg(name, thresholds, **kwargs):
1016 
1017  log = logging.getLogger(name)
1018 
1019  nt = len(thresholds)
1020  log.debug('Set %d thresholds', nt)
1021  ptBins = [ [ 0, 2.5 ] ] * nt
1022  ptThresholds = [ [ 5.49 * GeV ] ] * nt
1023  for th, thvalue in enumerate(thresholds):
1024  thvaluename = thvalue + 'GeV'
1025  if int(thvalue)==3:
1026  thvaluename = thvalue + 'GeV_v22a'
1027  log.debug('Number of threshold = %d, Value of threshold = %s', th, thvaluename)
1028  if (thvalue=='passthrough'):
1029  ptBins[th] = [-10000.,10000.]
1030  ptThresholds[th] = [ -1. * GeV ]
1031  else:
1032  values = trigMuonEFSAThresholds[thvaluename]
1033  ptBins[th] = values[0]
1034  ptThresholds[th] = [ x * GeV for x in values[1] ]
1035 
1036 
1037  if (thvalue=='passthrough'):
1038  kwargs.setdefault("AcceptAll", True)
1039  else:
1040  kwargs.setdefault("AcceptAll", False)
1041 
1042  kwargs.setdefault("PtBins", ptBins)
1043  kwargs.setdefault("PtThresholds", ptThresholds)
1044 
1045 
1046  return CompFactory.TrigMuonEFIdtpHypoTool( name, **kwargs )
1047 

◆ TrigMuonEFIdtpHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFIdtpHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 1006 of file TrigMuonHypoConfig.py.

1006 def TrigMuonEFIdtpHypoToolFromDict( flags, chainDict ) :
1007  thresholds = getThresholdsFromDict( chainDict )
1008  monTool=None
1009  if any(group in idHypoMonGroups for group in chainDict['monGroups']):
1010  monTool = TrigMuonEFIdtpHypoMonitoring(flags, "TrigMuonEFIdtpHypoTool/"+chainDict['chainName'])
1011  tool = TrigMuonEFIdtpHypoCfg( chainDict['chainName'], thresholds, MonTool=monTool )
1012  return tool
1013 
1014 

◆ TrigMuonEFIdtpInvMassHypoCfg()

def TrigMuonHypoConfig.TrigMuonEFIdtpInvMassHypoCfg (   name,
  thresholds,
**  kwargs 
)

Definition at line 1065 of file TrigMuonHypoConfig.py.

1065 def TrigMuonEFIdtpInvMassHypoCfg(name, thresholds, **kwargs) :
1066 
1067  massWindow = trigMuonEFInvMassThresholds[thresholds]
1068  kwargs.setdefault("InvMassLow", massWindow[0])
1069  kwargs.setdefault("InvMassHigh", massWindow[1])
1070  kwargs.setdefault("AcceptAll", False)
1071 
1072  return CompFactory.TrigMuonEFIdtpInvMassHypoTool(name, **kwargs)
1073 
1074 

◆ TrigMuonEFIdtpInvMassHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFIdtpInvMassHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 1048 of file TrigMuonHypoConfig.py.

1048 def TrigMuonEFIdtpInvMassHypoToolFromDict(flags, chainDict) :
1049  cname = chainDict['chainName']
1050  if 'idZmumu' in cname :
1051  thresholds = 'idZmumu'
1052  elif 'idJpsimumu' in cname :
1053  thresholds = 'idJpsimumu'
1054  else :
1055  log.warning("unknown chain name for IdtpInvmassHypo, chain name= %s, setting threshold of Z mass",cname)
1056  thresholds = 'idZmumu'
1057 
1058  tool = TrigMuonEFIdtpInvMassHypoCfg( chainDict['chainName'], thresholds )
1059 
1060  if any(group in idHypoMonGroups for group in chainDict['monGroups']):
1061  tool.MonTool = TrigMuonEFIdtpInvMassHypoMonitoring(flags, "TrigMuonEFIdtpInvMassHypoTool/"+chainDict['chainName'])
1062 
1063  return tool
1064 

◆ TrigMuonEFInvMassHypoCfg()

def TrigMuonHypoConfig.TrigMuonEFInvMassHypoCfg (   flags,
  toolName,
  thresholds,
**  kwargs 
)

Definition at line 995 of file TrigMuonHypoConfig.py.

995 def TrigMuonEFInvMassHypoCfg(flags, toolName, thresholds, **kwargs):
996 
997  massWindow = trigMuonEFInvMassThresholds[thresholds]
998 
999  kwargs.setdefault("InvMassLow", massWindow[0])
1000  kwargs.setdefault("InvMassHigh", massWindow[1])
1001  kwargs.setdefault("AcceptAll", False)
1002 
1003  tool = CompFactory.TrigMuonEFInvMassHypoTool(toolName, **kwargs)
1004  return tool
1005 

◆ TrigMuonEFInvMassHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFInvMassHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 976 of file TrigMuonHypoConfig.py.

976 def TrigMuonEFInvMassHypoToolFromDict( flags, chainDict ) :
977  cparts = [i for i in chainDict['chainParts'] if i['signature']=='Muon']
978  #The invariant mass is specified at end of chain, so only shows up in the last chainPart
979  thresholds = cparts[-1]['invMassInfo']
980  if "os" in cparts[-1]['addInfo']:
981  osCut=True
982  else:
983  osCut = False
984 
985  tool = TrigMuonEFInvMassHypoCfg( flags, chainDict['chainName'], thresholds, SelectOppositeSign=osCut )
986 
987  if monitorAll:
988  tool.MonTool = TrigMuonEFInvMassHypoMonitoring(flags, "TrigMuonEFInvMassHypoTool/"+chainDict['chainName'])
989  else:
990  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
991  tool.MonTool = TrigMuonEFInvMassHypoMonitoring(flags, "TrigMuonEFInvMassHypoTool/"+chainDict['chainName'])
992 
993  return tool
994 

◆ TrigMuonEFMSonlyHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFMSonlyHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 669 of file TrigMuonHypoConfig.py.

669 def TrigMuonEFMSonlyHypoToolFromDict( flags, chainDict ) :
670  thresholds = getThresholdsFromDict( chainDict )
671  kwargs={}
672  kwargs.setdefault("RequireSAMuons",True)
673  if 'msonly' in chainDict['chainParts'][0]['msonlyInfo'] and 'noL1' not in chainDict['chainParts'][0]['extra']:
674  kwargs.setdefault("RemoveOverlaps",True)
675 
676 
677  if monitorAll:
678  monTool = TrigMuonEFHypoMonitoring(flags, "TrigMuonEFMSonlyHypoTool/"+chainDict['chainName'])
679  kwargs.setdefault("MonTool", monTool)
680  else:
681  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
682  monTool = TrigMuonEFHypoMonitoring(flags, "TrigMuonEFMSonlyHypoTool/"+chainDict['chainName'])
683  kwargs.setdefault("MonTool", monTool)
684  if '3layersEC' in chainDict['chainParts'][0]['addInfo']:
685  kwargs.setdefault("RequireThreeStations", True)
686  muonflags = flags.cloneAndReplace('Muon', 'Trigger.Offline.SA.Muon')
687  if muonflags.Muon.runCommissioningChain:
688  kwargs.setdefault("RunCommissioningChain",True)
689 
690 
691  if 'nscan10' in chainDict['chainParts'][0]['addInfo']:
692  conesize = 0.1
693  narrowscan = True
694  elif 'nscan20' in chainDict['chainParts'][0]['addInfo']:
695  conesize = 0.2
696  narrowscan = True
697  elif 'nscan30' in chainDict['chainParts'][0]['addInfo']:
698  conesize = 0.3
699  narrowscan = True
700  elif 'nscan40' in chainDict['chainParts'][0]['addInfo']:
701  conesize = 0.4
702  narrowscan = True
703  elif 'nscan' in chainDict['chainParts'][0]['addInfo']:
704  conesize = 0.5
705  narrowscan = True
706  else:
707  narrowscan = False
708  conesize = 0.0
709 
710  kwargs.setdefault("ConeSize", conesize)
711  kwargs.setdefault("NarrowScan", narrowscan)
712 
713  return TrigMuonEFHypoToolCfg( chainDict['chainName'], thresholds, doSA=True, **kwargs )
714 

◆ TrigMuonEFMSonlyHypoToolFromName()

def TrigMuonHypoConfig.TrigMuonEFMSonlyHypoToolFromName (   flags,
  chainDict 
)

Definition at line 715 of file TrigMuonHypoConfig.py.

715 def TrigMuonEFMSonlyHypoToolFromName( flags, chainDict):
716  #For full scan chains, we need to configure the thresholds based on all muons
717  #in the chain to get the counting correct.
718  thresholds=[]
719  chainName = chainDict["chainName"]
720  hltChainName = chainName.rsplit("_L1",1)[0]
721  cparts = hltChainName.split("_")
722 
723  if 'HLT' in hltChainName:
724  cparts.remove('HLT')
725  for part in cparts:
726  if 'mu' in part:
727  thrPart = part.split('mu')
728  if not thrPart[0]:
729  mult = 1
730  else:
731  mult=thrPart[0]
732  thr = thrPart[1]
733  if 'noL1' in part:
734  thr =thr.replace('noL1','')
735  for i in range(1,int(mult)+1):
736  thresholds.append(thr)
737 
738  monTool=None
739  if monitorAll:
740  monTool = TrigMuonEFHypoMonitoring(flags, "TrigMuonEFMSonlyHypoTool/"+chainDict['chainName'])
741  else:
742  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
743  monTool = TrigMuonEFHypoMonitoring(flags, "TrigMuonEFMSonlyHypoTool/"+chainDict['chainName'])
744 
745  if 'nscan10' in chainDict['chainParts'][0]['addInfo']:
746  conesize = 0.1
747  narrowscan = True
748  elif 'nscan20' in chainDict['chainParts'][0]['addInfo']:
749  conesize = 0.2
750  narrowscan = True
751  elif 'nscan30' in chainDict['chainParts'][0]['addInfo']:
752  conesize = 0.3
753  narrowscan = True
754  elif 'nscan40' in chainDict['chainParts'][0]['addInfo']:
755  conesize = 0.4
756  narrowscan = True
757  elif 'nscan' in chainDict['chainParts'][0]['addInfo']:
758  conesize = 0.5
759  narrowscan = True
760  else:
761  narrowscan = False
762  conesize = 0.0
763 
764 
765  return TrigMuonEFHypoToolCfg( chainDict['chainName'], thresholds, doSA=True, MonTool=monTool, RequireSAMuons=True, NarrowScan=narrowscan, ConeSize=conesize)
766 

◆ TrigMuonEFTrackIsolationHypoAlgCfg()

def TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoAlgCfg (   flags,
  name = "TrigMuonEFTrackIsolationHypoAlg",
**  kwargs 
)

Definition at line 973 of file TrigMuonHypoConfig.py.

973 def TrigMuonEFTrackIsolationHypoAlgCfg(flags, name="TrigMuonEFTrackIsolationHypoAlg", **kwargs):
974  return CompFactory.TrigMuonEFTrackIsolationHypoAlg(name, **kwargs)
975 

◆ TrigMuonEFTrackIsolationHypoCfg()

def TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoCfg (   flags,
  name,
  isoCut,
**  kwargs 
)

Definition at line 944 of file TrigMuonHypoConfig.py.

944 def TrigMuonEFTrackIsolationHypoCfg(flags, name, isoCut, **kwargs) :
945 
946 
947  if(isoCut=='passthrough') :
948  kwargs.setdefault("AcceptAll", True)
949 
950  else:
951  ptcone03 = trigMuonEFTrkIsoThresholds[ isoCut ]
952 
953  kwargs.setdefault("PtCone02Cut", 0.0)
954  kwargs.setdefault("PtCone03Cut", ptcone03)
955  kwargs.setdefault("AcceptAll", False)
956 
957  if 'ms' in isoCut:
958  kwargs.setdefault("RequireCombinedMuon", False)
959  kwargs.setdefault("DoAbsCut", True)
960  else:
961  kwargs.setdefault("RequireCombinedMuon", True)
962  kwargs.setdefault("DoAbsCut", False)
963 
964 
965  if 'var' in isoCut :
966  kwargs.setdefault("useVarIso", True)
967  else :
968  kwargs.setdefault("useVarIso", False)
969 
970  tool = CompFactory.TrigMuonEFTrackIsolationHypoTool(name, **kwargs)
971  return tool
972 

◆ TrigMuonEFTrackIsolationHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 926 of file TrigMuonHypoConfig.py.

926 def TrigMuonEFTrackIsolationHypoToolFromDict( flags, chainDict ) :
927  cparts = [i for i in chainDict['chainParts'] if i['signature']=='Muon']
928  if 'ivarperf' in chainDict['chainParts'][0]['isoInfo']:
929  thresholds = 'passthrough'
930  else:
931  thresholds = cparts[0]['isoInfo']
932 
933  tool = TrigMuonEFTrackIsolationHypoCfg(flags, chainDict['chainName'], thresholds)
934 
935 
936  if monitorAll:
937  tool.MonTool = TrigMuonEFTrackIsolationMonitoring(flags, 'TrigMuonEFTrackIsolationHypoTool/'+chainDict['chainName'])
938  else:
939  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
940  tool.MonTool = TrigMuonEFTrackIsolationMonitoring(flags, 'TrigMuonEFTrackIsolationHypoTool/'+chainDict['chainName'])
941 
942  return tool
943 

◆ TrigMuonLateMuRoIHypoAlgCfg()

def TrigMuonHypoConfig.TrigMuonLateMuRoIHypoAlgCfg (   flags,
  name = "TrigMuRoIHypoAlg",
**  kwargs 
)

Definition at line 1078 of file TrigMuonHypoConfig.py.

1078 def TrigMuonLateMuRoIHypoAlgCfg(flags, name="TrigMuRoIHypoAlg", **kwargs):
1079  return CompFactory.TrigMuonLateMuRoIHypoAlg(name, **kwargs)
1080 

◆ TrigMuonLateMuRoIHypoCfg()

def TrigMuonHypoConfig.TrigMuonLateMuRoIHypoCfg (   flags,
  name = "TrigMuRoIHypoTool" 
)

Definition at line 1085 of file TrigMuonHypoConfig.py.

1085 def TrigMuonLateMuRoIHypoCfg(flags, name="TrigMuRoIHypoTool") :
1086 
1087  tool = CompFactory.TrigMuonLateMuRoIHypoTool(name, AcceptAll=False)
1088  return tool

◆ TrigMuonLateMuRoIHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonLateMuRoIHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 1081 of file TrigMuonHypoConfig.py.

1081 def TrigMuonLateMuRoIHypoToolFromDict(flags, chainDict ) :
1082  tool = TrigMuonLateMuRoIHypoCfg(flags, chainDict['chainName'])
1083  return tool
1084 

Variable Documentation

◆ efCombinerThresholds

TrigMuonHypoConfig.efCombinerThresholds

Definition at line 164 of file TrigMuonHypoConfig.py.

◆ idHypoMonGroups

TrigMuonHypoConfig.idHypoMonGroups

Definition at line 278 of file TrigMuonHypoConfig.py.

◆ log

TrigMuonHypoConfig.log

Definition at line 24 of file TrigMuonHypoConfig.py.

◆ monitorAll

TrigMuonHypoConfig.monitorAll

Definition at line 18 of file TrigMuonHypoConfig.py.

◆ muCombThresholds

TrigMuonHypoConfig.muCombThresholds

Definition at line 64 of file TrigMuonHypoConfig.py.

◆ muFastThresholds

TrigMuonHypoConfig.muFastThresholds

Definition at line 26 of file TrigMuonHypoConfig.py.

◆ muFastThresholdsForECWeakBRegion

TrigMuonHypoConfig.muFastThresholdsForECWeakBRegion

Definition at line 208 of file TrigMuonHypoConfig.py.

◆ muonHypoMonGroups

TrigMuonHypoConfig.muonHypoMonGroups

Definition at line 277 of file TrigMuonHypoConfig.py.

◆ trigMuonEFInvMassThresholds

TrigMuonHypoConfig.trigMuonEFInvMassThresholds

Definition at line 269 of file TrigMuonHypoConfig.py.

◆ trigMuonEFSAThresholds

TrigMuonHypoConfig.trigMuonEFSAThresholds

Definition at line 118 of file TrigMuonHypoConfig.py.

◆ trigMuonEFTrkIsoThresholds

TrigMuonHypoConfig.trigMuonEFTrkIsoThresholds

Definition at line 252 of file TrigMuonHypoConfig.py.

◆ trigMuonLrtd0Cut

TrigMuonHypoConfig.trigMuonLrtd0Cut

Definition at line 260 of file TrigMuonHypoConfig.py.

TrigMuonHypoConfig.TrigMuonEFIdtpHypoCfg
def TrigMuonEFIdtpHypoCfg(name, thresholds, **kwargs)
Definition: TrigMuonHypoConfig.py:1015
TrigMuonHypoMonitoring.TrigMuonEFIdtpHypoMonitoring
def TrigMuonEFIdtpHypoMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:127
TrigMuonHypoConfig.TrigMuonEFHypoToolCfg
def TrigMuonEFHypoToolCfg(name, thresholds, doSA=False, **kwargs)
Definition: TrigMuonHypoConfig.py:767
TrigMuonHypoConfig.TrigMuonEFIdtpHypoToolFromDict
def TrigMuonEFIdtpHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:1006
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
TrigMuonHypoConfig.TrigMuonEFIdtpInvMassHypoCfg
def TrigMuonEFIdtpInvMassHypoCfg(name, thresholds, **kwargs)
Definition: TrigMuonHypoConfig.py:1065
TrigMuonHypoConfig.TrigMuonEFMSonlyHypoToolFromDict
def TrigMuonEFMSonlyHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:669
TrigMuonHypoConfig.TrigMufastHypoToolFromDict
def TrigMufastHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:288
TrigMuonHypoConfig.TrigMuonEFMSonlyHypoToolFromName
def TrigMuonEFMSonlyHypoToolFromName(flags, chainDict)
Definition: TrigMuonHypoConfig.py:715
TrigMuonHypoConfig.TrigMuonEFIdtpInvMassHypoToolFromDict
def TrigMuonEFIdtpInvMassHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:1048
TrigMuonHypoConfig.TrigMuonLateMuRoIHypoCfg
def TrigMuonLateMuRoIHypoCfg(flags, name="TrigMuRoIHypoTool")
Definition: TrigMuonHypoConfig.py:1085
TrigMuonHypoConfig.getThresholdsFromDict
def getThresholdsFromDict(chainDict)
Definition: TrigMuonHypoConfig.py:280
TrigMuonHypoConfig.TrigMuonEFInvMassHypoToolFromDict
def TrigMuonEFInvMassHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:976
TrigMuonHypoConfig.TrigmuCombHypoToolwORFromDict
def TrigmuCombHypoToolwORFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:520
TrigMuonHypoConfig.TrigMufastHypoAlgCfg
def TrigMufastHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs)
Definition: TrigMuonHypoConfig.py:285
TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoCfg
def TrigMuonEFTrackIsolationHypoCfg(flags, name, isoCut, **kwargs)
Definition: TrigMuonHypoConfig.py:944
TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoAlgCfg
def TrigMuonEFTrackIsolationHypoAlgCfg(flags, name="TrigMuonEFTrackIsolationHypoAlg", **kwargs)
Definition: TrigMuonHypoConfig.py:973
convertTimingResiduals.sum
sum
Definition: convertTimingResiduals.py:55
TrigMuonHypoConfig.Trigl2mtCBHypoToolwORFromDict
def Trigl2mtCBHypoToolwORFromDict(chainDict)
Definition: TrigMuonHypoConfig.py:588
TrigMuonHypoConfig.Trigl2IOHypoToolwORFromDict
def Trigl2IOHypoToolwORFromDict(chainDict)
Definition: TrigMuonHypoConfig.py:560
TrigMuonHypoMonitoring.TrigL2MuonOverlapRemoverMonitoringMucomb
def TrigL2MuonOverlapRemoverMonitoringMucomb(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:74
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
TrigMuonHypoConfig.TrigMuonEFCombinerHypoToolFromName
def TrigMuonEFCombinerHypoToolFromName(flags, chainDict)
Definition: TrigMuonHypoConfig.py:865
TrigMuonHypoConfig.TrigMuonEFHypoAlgCfg
def TrigMuonEFHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs)
Definition: TrigMuonHypoConfig.py:665
TrigMuonHypoConfig.TrigmuCombHypoToolFromDict
def TrigmuCombHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:479
TrigMuonHypoMonitoring.TrigMuonEFHypoMonitoring
def TrigMuonEFHypoMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:101
TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoToolFromDict
def TrigMuonEFTrackIsolationHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:926
TrigMuonHypoConfig.TrigMuonLateMuRoIHypoAlgCfg
def TrigMuonLateMuRoIHypoAlgCfg(flags, name="TrigMuRoIHypoAlg", **kwargs)
Definition: TrigMuonHypoConfig.py:1078
TrigMuonHypoMonitoring.TrigmuCombHypoMonitoring
def TrigmuCombHypoMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:55
TrigMuonHypoMonitoring.TrigMuonEFIdtpInvMassHypoMonitoring
def TrigMuonEFIdtpInvMassHypoMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:144
TrigMuonHypoConfig.TrigmuCombHypoAlgCfg
def TrigmuCombHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs)
Definition: TrigMuonHypoConfig.py:476
TrigMuonHypoConfig.TrigMuonEFCombinerHypoToolFromDict
def TrigMuonEFCombinerHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:809
TrigMuonHypoMonitoring.TrigMuonEFInvMassHypoMonitoring
def TrigMuonEFInvMassHypoMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:118
TrigMuonHypoConfig.TrigMuonEFInvMassHypoCfg
def TrigMuonEFInvMassHypoCfg(flags, toolName, thresholds, **kwargs)
Definition: TrigMuonHypoConfig.py:995
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:569
TrigMuonHypoConfig.TrigMuonEFIdtpHypoAlgCfg
def TrigMuonEFIdtpHypoAlgCfg(flags, name="TrigMuonEFIdtpHypoAlg", **kwargs)
Definition: TrigMuonHypoConfig.py:1075
TrigMuonHypoMonitoring.TrigMuonEFTrackIsolationMonitoring
def TrigMuonEFTrackIsolationMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:220
TrigMuonHypoConfig.TrigMuonLateMuRoIHypoToolFromDict
def TrigMuonLateMuRoIHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:1081