Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 566 of file TrigMuonHypoConfig.py.

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

◆ Trigl2mtCBHypoToolwORFromDict()

def TrigMuonHypoConfig.Trigl2mtCBHypoToolwORFromDict (   chainDict)

Definition at line 596 of file TrigMuonHypoConfig.py.

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

◆ TrigmuCombHypoAlgCfg()

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

Definition at line 478 of file TrigMuonHypoConfig.py.

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

◆ TrigmuCombHypoToolFromDict()

def TrigMuonHypoConfig.TrigmuCombHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 481 of file TrigMuonHypoConfig.py.

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

◆ TrigmuCombHypoToolwORFromDict()

def TrigMuonHypoConfig.TrigmuCombHypoToolwORFromDict (   flags,
  chainDict 
)

Definition at line 524 of file TrigMuonHypoConfig.py.

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

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

◆ TrigMuonEFCombinerHypoToolFromName()

def TrigMuonHypoConfig.TrigMuonEFCombinerHypoToolFromName (   flags,
  chainDict 
)

Definition at line 879 of file TrigMuonHypoConfig.py.

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

◆ TrigMuonEFHypoAlgCfg()

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

Definition at line 675 of file TrigMuonHypoConfig.py.

675 def TrigMuonEFHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs):
676  return CompFactory.TrigMuonEFHypoAlg(name, **kwargs)
677 
678 

◆ TrigMuonEFHypoToolCfg()

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

Definition at line 779 of file TrigMuonHypoConfig.py.

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

◆ TrigMuonEFIdtpHypoAlgCfg()

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

Definition at line 1089 of file TrigMuonHypoConfig.py.

1089 def TrigMuonEFIdtpHypoAlgCfg(flags, name="TrigMuonEFIdtpHypoAlg", **kwargs):
1090  return CompFactory.TrigMuonEFIdtpHypoAlg(name, **kwargs)
1091 

◆ TrigMuonEFIdtpHypoCfg()

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

Definition at line 1029 of file TrigMuonHypoConfig.py.

1029 def TrigMuonEFIdtpHypoCfg(name, thresholds, **kwargs):
1030 
1031  log = logging.getLogger(name)
1032 
1033  nt = len(thresholds)
1034  log.debug('Set %d thresholds', nt)
1035  ptBins = [ [ 0, 2.5 ] ] * nt
1036  ptThresholds = [ [ 5.49 * GeV ] ] * nt
1037  for th, thvalue in enumerate(thresholds):
1038  thvaluename = thvalue + 'GeV'
1039  if int(thvalue)==3:
1040  thvaluename = thvalue + 'GeV_v22a'
1041  log.debug('Number of threshold = %d, Value of threshold = %s', th, thvaluename)
1042  if (thvalue=='passthrough'):
1043  ptBins[th] = [-10000.,10000.]
1044  ptThresholds[th] = [ -1. * GeV ]
1045  else:
1046  values = trigMuonEFSAThresholds[thvaluename]
1047  ptBins[th] = values[0]
1048  ptThresholds[th] = [ x * GeV for x in values[1] ]
1049 
1050 
1051  if (thvalue=='passthrough'):
1052  kwargs.setdefault("AcceptAll", True)
1053  else:
1054  kwargs.setdefault("AcceptAll", False)
1055 
1056  kwargs.setdefault("PtBins", ptBins)
1057  kwargs.setdefault("PtThresholds", ptThresholds)
1058 
1059 
1060  return CompFactory.TrigMuonEFIdtpHypoTool( name, **kwargs )
1061 

◆ TrigMuonEFIdtpHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFIdtpHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 1020 of file TrigMuonHypoConfig.py.

1020 def TrigMuonEFIdtpHypoToolFromDict( flags, chainDict ) :
1021  thresholds = getThresholdsFromDict( chainDict )
1022  monTool=None
1023  if any(group in idHypoMonGroups for group in chainDict['monGroups']):
1024  monTool = TrigMuonEFIdtpHypoMonitoring(flags, "TrigMuonEFIdtpHypoTool/"+chainDict['chainName'])
1025  tool = TrigMuonEFIdtpHypoCfg( chainDict['chainName'], thresholds, MonTool=monTool )
1026  return tool
1027 
1028 

◆ TrigMuonEFIdtpInvMassHypoCfg()

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

Definition at line 1079 of file TrigMuonHypoConfig.py.

1079 def TrigMuonEFIdtpInvMassHypoCfg(name, thresholds, **kwargs) :
1080 
1081  massWindow = trigMuonEFInvMassThresholds[thresholds]
1082  kwargs.setdefault("InvMassLow", massWindow[0])
1083  kwargs.setdefault("InvMassHigh", massWindow[1])
1084  kwargs.setdefault("AcceptAll", False)
1085 
1086  return CompFactory.TrigMuonEFIdtpInvMassHypoTool(name, **kwargs)
1087 
1088 

◆ TrigMuonEFIdtpInvMassHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFIdtpInvMassHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 1062 of file TrigMuonHypoConfig.py.

1062 def TrigMuonEFIdtpInvMassHypoToolFromDict(flags, chainDict) :
1063  cname = chainDict['chainName']
1064  if 'idZmumu' in cname :
1065  thresholds = 'idZmumu'
1066  elif 'idJpsimumu' in cname :
1067  thresholds = 'idJpsimumu'
1068  else :
1069  log.warning("unknown chain name for IdtpInvmassHypo, chain name= %s, setting threshold of Z mass",cname)
1070  thresholds = 'idZmumu'
1071 
1072  tool = TrigMuonEFIdtpInvMassHypoCfg( chainDict['chainName'], thresholds )
1073 
1074  if any(group in idHypoMonGroups for group in chainDict['monGroups']):
1075  tool.MonTool = TrigMuonEFIdtpInvMassHypoMonitoring(flags, "TrigMuonEFIdtpInvMassHypoTool/"+chainDict['chainName'])
1076 
1077  return tool
1078 

◆ TrigMuonEFInvMassHypoCfg()

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

Definition at line 1009 of file TrigMuonHypoConfig.py.

1009 def TrigMuonEFInvMassHypoCfg(flags, toolName, thresholds, **kwargs):
1010 
1011  massWindow = trigMuonEFInvMassThresholds[thresholds]
1012 
1013  kwargs.setdefault("InvMassLow", massWindow[0])
1014  kwargs.setdefault("InvMassHigh", massWindow[1])
1015  kwargs.setdefault("AcceptAll", False)
1016 
1017  tool = CompFactory.TrigMuonEFInvMassHypoTool(toolName, **kwargs)
1018  return tool
1019 

◆ TrigMuonEFInvMassHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFInvMassHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 990 of file TrigMuonHypoConfig.py.

990 def TrigMuonEFInvMassHypoToolFromDict( flags, chainDict ) :
991  cparts = [i for i in chainDict['chainParts'] if i['signature']=='Muon']
992  #The invariant mass is specified at end of chain, so only shows up in the last chainPart
993  thresholds = cparts[-1]['invMassInfo']
994  if "os" in cparts[-1]['addInfo']:
995  osCut=True
996  else:
997  osCut = False
998 
999  tool = TrigMuonEFInvMassHypoCfg( flags, chainDict['chainName'], thresholds, SelectOppositeSign=osCut )
1000 
1001  if monitorAll:
1002  tool.MonTool = TrigMuonEFInvMassHypoMonitoring(flags, "TrigMuonEFInvMassHypoTool/"+chainDict['chainName'])
1003  else:
1004  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
1005  tool.MonTool = TrigMuonEFInvMassHypoMonitoring(flags, "TrigMuonEFInvMassHypoTool/"+chainDict['chainName'])
1006 
1007  return tool
1008 

◆ TrigMuonEFMSonlyHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFMSonlyHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 679 of file TrigMuonHypoConfig.py.

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

◆ TrigMuonEFMSonlyHypoToolFromName()

def TrigMuonHypoConfig.TrigMuonEFMSonlyHypoToolFromName (   flags,
  chainDict 
)

Definition at line 727 of file TrigMuonHypoConfig.py.

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

◆ TrigMuonEFTrackIsolationHypoAlgCfg()

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

Definition at line 987 of file TrigMuonHypoConfig.py.

987 def TrigMuonEFTrackIsolationHypoAlgCfg(flags, name="TrigMuonEFTrackIsolationHypoAlg", **kwargs):
988  return CompFactory.TrigMuonEFTrackIsolationHypoAlg(name, **kwargs)
989 

◆ TrigMuonEFTrackIsolationHypoCfg()

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

Definition at line 958 of file TrigMuonHypoConfig.py.

958 def TrigMuonEFTrackIsolationHypoCfg(flags, name, isoCut, **kwargs) :
959 
960 
961  if(isoCut=='passthrough') :
962  kwargs.setdefault("AcceptAll", True)
963 
964  else:
965  ptcone03 = trigMuonEFTrkIsoThresholds[ isoCut ]
966 
967  kwargs.setdefault("PtCone02Cut", 0.0)
968  kwargs.setdefault("PtCone03Cut", ptcone03)
969  kwargs.setdefault("AcceptAll", False)
970 
971  if 'ms' in isoCut:
972  kwargs.setdefault("RequireCombinedMuon", False)
973  kwargs.setdefault("DoAbsCut", True)
974  else:
975  kwargs.setdefault("RequireCombinedMuon", True)
976  kwargs.setdefault("DoAbsCut", False)
977 
978 
979  if 'var' in isoCut :
980  kwargs.setdefault("useVarIso", True)
981  else :
982  kwargs.setdefault("useVarIso", False)
983 
984  tool = CompFactory.TrigMuonEFTrackIsolationHypoTool(name, **kwargs)
985  return tool
986 

◆ TrigMuonEFTrackIsolationHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 940 of file TrigMuonHypoConfig.py.

940 def TrigMuonEFTrackIsolationHypoToolFromDict( flags, chainDict ) :
941  cparts = [i for i in chainDict['chainParts'] if i['signature']=='Muon']
942  if 'ivarperf' in chainDict['chainParts'][0]['isoInfo']:
943  thresholds = 'passthrough'
944  else:
945  thresholds = cparts[0]['isoInfo']
946 
947  tool = TrigMuonEFTrackIsolationHypoCfg(flags, chainDict['chainName'], thresholds)
948 
949 
950  if monitorAll:
951  tool.MonTool = TrigMuonEFTrackIsolationMonitoring(flags, 'TrigMuonEFTrackIsolationHypoTool/'+chainDict['chainName'])
952  else:
953  if any(group in muonHypoMonGroups for group in chainDict['monGroups']):
954  tool.MonTool = TrigMuonEFTrackIsolationMonitoring(flags, 'TrigMuonEFTrackIsolationHypoTool/'+chainDict['chainName'])
955 
956  return tool
957 

◆ TrigMuonLateMuRoIHypoAlgCfg()

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

Definition at line 1092 of file TrigMuonHypoConfig.py.

1092 def TrigMuonLateMuRoIHypoAlgCfg(flags, name="TrigMuRoIHypoAlg", **kwargs):
1093  return CompFactory.TrigMuonLateMuRoIHypoAlg(name, **kwargs)
1094 

◆ TrigMuonLateMuRoIHypoCfg()

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

Definition at line 1099 of file TrigMuonHypoConfig.py.

1099 def TrigMuonLateMuRoIHypoCfg(flags, name="TrigMuRoIHypoTool") :
1100 
1101  tool = CompFactory.TrigMuonLateMuRoIHypoTool(name, AcceptAll=False)
1102  return tool

◆ TrigMuonLateMuRoIHypoToolFromDict()

def TrigMuonHypoConfig.TrigMuonLateMuRoIHypoToolFromDict (   flags,
  chainDict 
)

Definition at line 1095 of file TrigMuonHypoConfig.py.

1095 def TrigMuonLateMuRoIHypoToolFromDict(flags, chainDict ) :
1096  tool = TrigMuonLateMuRoIHypoCfg(flags, chainDict['chainName'])
1097  return tool
1098 

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:1029
TrigMuonHypoMonitoring.TrigMuonEFIdtpHypoMonitoring
def TrigMuonEFIdtpHypoMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:127
TrigMuonHypoConfig.TrigMuonEFHypoToolCfg
def TrigMuonEFHypoToolCfg(name, thresholds, doSA=False, **kwargs)
Definition: TrigMuonHypoConfig.py:779
TrigMuonHypoConfig.TrigMuonEFIdtpHypoToolFromDict
def TrigMuonEFIdtpHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:1020
TrigMuonHypoConfig.TrigMuonEFIdtpInvMassHypoCfg
def TrigMuonEFIdtpInvMassHypoCfg(name, thresholds, **kwargs)
Definition: TrigMuonHypoConfig.py:1079
TrigMuonHypoConfig.TrigMuonEFMSonlyHypoToolFromDict
def TrigMuonEFMSonlyHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:679
TrigMuonHypoConfig.TrigMufastHypoToolFromDict
def TrigMufastHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:288
TrigMuonHypoConfig.TrigMuonEFMSonlyHypoToolFromName
def TrigMuonEFMSonlyHypoToolFromName(flags, chainDict)
Definition: TrigMuonHypoConfig.py:727
TrigMuonHypoConfig.TrigMuonEFIdtpInvMassHypoToolFromDict
def TrigMuonEFIdtpInvMassHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:1062
TrigMuonHypoConfig.TrigMuonLateMuRoIHypoCfg
def TrigMuonLateMuRoIHypoCfg(flags, name="TrigMuRoIHypoTool")
Definition: TrigMuonHypoConfig.py:1099
TrigMuonHypoConfig.getThresholdsFromDict
def getThresholdsFromDict(chainDict)
Definition: TrigMuonHypoConfig.py:280
TrigMuonHypoConfig.TrigMuonEFInvMassHypoToolFromDict
def TrigMuonEFInvMassHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:990
TrigMuonHypoConfig.TrigmuCombHypoToolwORFromDict
def TrigmuCombHypoToolwORFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:524
TrigMuonHypoConfig.TrigMufastHypoAlgCfg
def TrigMufastHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs)
Definition: TrigMuonHypoConfig.py:285
TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoCfg
def TrigMuonEFTrackIsolationHypoCfg(flags, name, isoCut, **kwargs)
Definition: TrigMuonHypoConfig.py:958
TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoAlgCfg
def TrigMuonEFTrackIsolationHypoAlgCfg(flags, name="TrigMuonEFTrackIsolationHypoAlg", **kwargs)
Definition: TrigMuonHypoConfig.py:987
convertTimingResiduals.sum
sum
Definition: convertTimingResiduals.py:55
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
TrigMuonHypoConfig.Trigl2mtCBHypoToolwORFromDict
def Trigl2mtCBHypoToolwORFromDict(chainDict)
Definition: TrigMuonHypoConfig.py:596
TrigMuonHypoConfig.Trigl2IOHypoToolwORFromDict
def Trigl2IOHypoToolwORFromDict(chainDict)
Definition: TrigMuonHypoConfig.py:566
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:879
TrigMuonHypoConfig.TrigMuonEFHypoAlgCfg
def TrigMuonEFHypoAlgCfg(flags, name="UNSPECIFIED", **kwargs)
Definition: TrigMuonHypoConfig.py:675
TrigMuonHypoConfig.TrigmuCombHypoToolFromDict
def TrigmuCombHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:481
TrigMuonHypoMonitoring.TrigMuonEFHypoMonitoring
def TrigMuonEFHypoMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:101
TrigMuonHypoConfig.TrigMuonEFTrackIsolationHypoToolFromDict
def TrigMuonEFTrackIsolationHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:940
TrigMuonHypoConfig.TrigMuonLateMuRoIHypoAlgCfg
def TrigMuonLateMuRoIHypoAlgCfg(flags, name="TrigMuRoIHypoAlg", **kwargs)
Definition: TrigMuonHypoConfig.py:1092
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:478
TrigMuonHypoConfig.TrigMuonEFCombinerHypoToolFromDict
def TrigMuonEFCombinerHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:821
TrigMuonHypoMonitoring.TrigMuonEFInvMassHypoMonitoring
def TrigMuonEFInvMassHypoMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:118
TrigMuonHypoConfig.TrigMuonEFInvMassHypoCfg
def TrigMuonEFInvMassHypoCfg(flags, toolName, thresholds, **kwargs)
Definition: TrigMuonHypoConfig.py:1009
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567
TrigMuonHypoConfig.TrigMuonEFIdtpHypoAlgCfg
def TrigMuonEFIdtpHypoAlgCfg(flags, name="TrigMuonEFIdtpHypoAlg", **kwargs)
Definition: TrigMuonHypoConfig.py:1089
TrigMuonHypoMonitoring.TrigMuonEFTrackIsolationMonitoring
def TrigMuonEFTrackIsolationMonitoring(flags, histPath)
Definition: TrigMuonHypoMonitoring.py:220
TrigMuonHypoConfig.TrigMuonLateMuRoIHypoToolFromDict
def TrigMuonLateMuRoIHypoToolFromDict(flags, chainDict)
Definition: TrigMuonHypoConfig.py:1095