2 from AthenaCommon.Logging
import logging
3 log = logging.getLogger( __name__ )
4 log.debug(
"Importing %s",__name__)
6 from copy
import deepcopy
18 'Electron': (
'e',
'AllTag'),
19 'Photon' : (
'g',
'AllTag'),
20 'Muon' : (
'mu',
'AllTag'),
21 'Bphysics': (
'',
'AllTag'),
22 'Tau' : (
'tau',
'JetMET'),
23 'Jet' : (
'j',
'JetMET'),
24 'Bjet' : (
'',
'JetMET'),
25 'MET' : (
'xe',
'JetMET'),
26 'XS' : (
'xs',
'JetMET'),
27 'TE' : (
'te',
'JetMET'),
28 'MinBias' : (
'mb',
'MinBias'),
29 'HeavyIon' : (
'hi',
'MinBias'),
30 'Cosmic' : (
'cosmic',
''),
31 'Calib' : (
'calib',
''),
32 'Streaming' : (
'streamer',
''),
33 'Monitor' : (
'mon',
''),
34 'Beamspot' : (
'beamspot',
'Beamspot'),
35 'MuonnoL1' : (
'',
'MuonnoL1'),
36 'EnhancedBias' : (
'eb',
''),
37 'UnconventionalTracking' : ([
'isotrk',
'fslrt',
'dedxtrk',
'hitdvjet',
'fsvsi',
'distrk',
'dispjet',
'dispvtx'],
'JetMET'),
38 'Test' : (
'TestChain',
''),
39 'Electronprobe': (
'',
'AllProbe'),
40 'Photonprobe' : (
'',
'AllProbe'),
41 'Tauprobe' : (
'',
'AllProbe'),
42 'Muonprobe' : (
'',
'AllProbe')
48 new_dict = {key: value[0]
for key, value
in SignatureDict.items()
if value[0] !=
''}
55 new_dict = {key: value[1]
for key, value
in SignatureDict.items()
if value[1] !=
''}
59 ''' returns the list of substrings representing the signautres in the chain name'''
61 list_of_strings =
list(SliceIDDict.values())
62 flattened_list =
list(itertools.chain.from_iterable((item
if isinstance(item, list)
else [item])
for item
in list_of_strings))
66 ''' returns the list of substrings representing the signautres in the chain name'''
67 return SliceIDDict.keys()
72 """Class to hold list of chains for each signature (dictionary with fixed set of keys)"""
73 _allowedSignatures = [
'Egamma',
'Muon',
'Jet',
'Bjet',
'Bphysics',
'MET',
'Tau',
74 'HeavyIon',
'Beamspot',
'Cosmic',
'EnhancedBias',
75 'Monitor',
'Calib',
'Streaming',
'Combined',
'MinBias',
76 'UnconventionalTracking',
'Test']
84 raise RuntimeError(f
"'{key}' is not in the list of allowed signatures: {self._allowedSignatures}")
86 dict.__setitem__(self, key, value)
99 'alignmentGroups' : [],
107 'extraComboHypos' : []
116 'signature' : [
'Test'],
117 'alignmentGroup' : [
'Test'],
118 'chainPartName' :
'',
120 'extra' : [
'mv1',
'mv1step',
'mv2',
'ev1',
'ev2',
'ev3',
'gv1',
'mEmpty1',
'mEmpty2',
'mEmpty3',
'ev1dr',
'mv1dr',
'merge'],
121 'trigType' : [
'TestChain'],
124 'sigFolder' : [
'Test'],
125 'subSigs' : [
'Test'],
130 TestChainParts_Default = {
131 'signature' : [
'Test'],
132 'alignmentGroup' : [
'Test'],
138 'sigFolder' : [
'Test'],
139 'subSigs' : [
'Test'],
146 AllowedTopos_jet = []
149 JetRecoKeys = [
'recoAlg',
'constitType',
'clusterCalib',
'constitMod',
'jetCalib',
'trkopt',
'ionopt']
153 'signature' : [
'Jet'],
154 'alignmentGroup': [
'Jet',
'JetMET'],
156 'chainPartName' :
'',
160 'topo' : AllowedTopos_jet,
162 'addInfo' : [
'perf'],
163 'sigFolder' : [
'Jet'],
169 [
'a2',
'a4',
'a10',
'a10r',
'a10t',
'a10sd'],
177 [
'jes',
'subjes',
'subjesIS',
'subjesgscIS',
'subresjesgscIS',
'subjesgsc',
'subresjesgsc',
'nojcalib'],
181 [
'noion',
'ion',
'ionp'],
183 [
'notrk',
'ftf',
'roiftf'],
249 'preselc60XXc45XXc25XXc20',
250 'preselc60XXj45XXf40',
251 'preselj60XXj45XXf40',
252 'presela60XXa40XX2a25',
264 'presel1c100XX2c20bgtwo85',
265 'presel1c120XX2c20bgtwo90',
266 'presel1c120CXX1c20XX1c20bgtwo85',
267 'presel1c160XX1c20bgtwo90',
268 'presel1c160XX1c20bgtwo85',
269 'presel2c20XX2c20b85',
270 'presel2c20XX2c20b82',
271 'presel2c20XX2c20b80',
272 'presel2c20XX2c20bgtwo85',
273 'presel2c20XX2c20bg85',
274 'presel2c20XX2c20bg82',
275 'presel2c20XX2c20bg80',
276 'presel2c20XX2c20b90',
277 'presel3c20XX1c20b85',
278 'presel3c20XX1c20bg85',
281 'presel3c20XX1c20bgtwo85',
282 'presel2c20XX1c20bgtwo85XX1c20gntau90',
283 'presel2c20XX1c20bgtwo85XX1c20gntau85',
284 'presel2c20XX1c20bgtwo82XX1c20gntau85',
285 'presel2c20XX1c20bgtwo82XX1c20gntau80',
286 'presel2c20XX1c20bgtwo80XX1c20gntau80',
287 'presel2c20XX1c20bgtwo85XX1c20uht1tau90',
288 'presel2c20XX1c20bgtwo85XX1c20uht1tau85',
289 'presel2c20XX1c20bgtwo82XX1c20uht1tau82',
290 'presel2c20XX1c20bgtwo80XX1c20uht1tau80',
291 'presel5c25XXc25bgtwo85',
294 'presel2j25XX2j25bgtwo85',
295 'presel3j25XX2j25bgtwo85',
296 'preselj50bgtwo85XX3j50',
297 'preselj80XX2j45bgtwo90',
298 'preselj140bgtwo85XXj45bgtwo85',
299 'presel2a20bgtwo90XX2a20',
300 'presela20bgtwo85XX3a20',
301 'presel3c20XX1c20gntau90',
302 'presel3c20XX1c20gntau85',
308 'presel2j25XX2j25b85',
309 'presel3j25XX2j25b85',
310 'preselj50b85XX3j50',
311 'preselj80XX2j45b90',
312 'preselj140b85XXj45b85',
313 'presel5c25XXc25b85',
314 'presel2a20b90XX2a20',
315 'presela20b85XX3a20',
322 'preselZ167MAXMULT5cXX4c20',
323 'preselZ138MAXMULT5cXX4c20',
324 'preselZ126MAXMULT5cXX4c20',
325 'preselZ120MAXMULT20cXX4c85',
329 'preselZ120XX2c20XX2c20b85',
330 'preselZ138MAXMULT5cXX2c20XX2c20b85',
331 'preselZ84XX1c20XX2c20b85',
335 'preselZ120MAXMULT20cXX4c20',
336 'preselZ84MAXMULT20cXX3c20',
337 'preselZ116MAXMULT5cXX4c20',
338 'preselZ116MAXMULT20cXX4c20',
339 'preselZ84XX1c20XX2c20b85',
340 'preselZ128XX2c20XX2c20b85',
341 'preselZ128MAXMULT20cXX4c85',
342 'preselZ128XX4c20XX1j20',
343 'preselZ128XX3c20XX1c20bg85',
344 'preselZ116XX3c20XX1c20bg85',
347 'preselZ197MAXMULT25cXX6c20',
349 'preselZ182MAXMULT25cXX6c20',
351 'preselZ142MAXMULT25cXX5c20',
355 'preselVETOMULT11a10',
356 'preselVETOMULT11a15'
363 'hypoScenario' : [
'simple',
367 'FBDJNOSHARED10etXX20etXX34massXX50fbet',
386 'DJMASS1000j50dphi240',
387 'DJMASS1000j50dphi200x400deta',
388 'DJMASS900j50dphi200x400deta',
389 'DJMASS1000j50dphi260x200deta',
390 'DJMASS900j50dphi260x200deta' ,
391 'DJMASS1000j50dphi260',
392 'DJMASS900j50dphi260',
393 'DJMASS1000j50x200deta',
394 'DJMASS900j50x200deta',
395 'DJMASS1000j30dphi260x200deta',
396 'DJMASS900j30dphi260x200deta',
397 'DIJET70j12etXX1000djmassXXdjdphi200XX400djdeta',
398 'DIJET80j12etXX0j12eta240XX700djmass',
408 'HT300XX10ptXX0eta490',
409 'HT300XX10ptXX0eta490XXveto',
410 'HT300XX15ptXX0eta490',
411 'HT300XX15ptXX0eta490XXveto',
412 'HT400XX15ptXX0eta490',
413 'HT400XX15ptXX0eta490XXveto',
419 'HT940XX0eta240XX020jvt',
422 'HT1000XX0eta240XX020jvt',
423 'HT50XX10etXX0eta320',
439 'MULT0mult11XX10ptXX0eta490',
440 'MULT0mult11XX15ptXX0eta490',
442 'exotHypo' : [
'emergingPTF0p2dR1p2',
'emergingPTF0p1dR1p2',
'emergingPTF0p09dR1p2',
'emergingPTF0p08dR1p2',
'emergingPTF0p075dR1p2',
'emergingPTF0p07dR1p2',
'emergingPTF0p0dR1p2',
443 'emergingPTF0p2dR0p4',
'emergingPTF0p1dR0p4',
'emergingPTF0p09dR0p4',
'emergingPTF0p08dR0p4',
'emergingPTF0p075dR0p4',
'emergingPTF0p07dR0p4',
'emergingPTF0p0dR0p4',
444 'tracklessdR1p2',
'tracklessdR0p4',
445 'calratio',
'calratiormbib',
'calratiovar',
'calratiovarrmbib',
446 'calratiovar103',
'calratiovar82',
'calratiovar59',
'calratiovar186',
'calratiovar150',
'calratiovar165'
454 [
'0eta290',
'0eta200',
'0eta180',
'0eta160',
'0eta140']
457 [
'010jvt',
'011jvt',
'015jvt',
'020jvt',
'050jvt',
'059jvt'],
461 [
'050momemfrac100',
'momemfrac006',
'momemfrac024',
'momemfrac012',
'momhecfrac010',
'050momemfrac100XXmomhecfrac010',
'momemfrac072',
'momemfrac048' ],
463 [
'2timing',
'2timing15'],
465 [
'1timeSig',
'1p5timeSig',
'2timeSig',
'3timeSig',
'2timeSig15',
'3timeSig15'],
467 [
'CLEANlb',
'CLEANllp',
'MASK300ceta210XX300nphi10',
474 'bsel': [
'95bdips',
'90bdips',
'85bdips',
'80bdips',
'77bdips'
475 ,
'95bgnone',
'90bgnone',
'85bgnone',
'80bgnone',
'77bgnone'
476 ,
'60bgntwoxt',
'65bgntwoxt',
'70bgntwoxt',
'75bgntwoxt'
477 ,
'80bgntwoxt',
'85bgntwoxt',
'90bgntwoxt',
'95bgntwoxt'
478 ,
'79bgntwox',
'86bgntwox',
'91bgntwox',
'96bgntwox'
479 ,
'95bgntwo',
'90bgntwo',
'85bgntwo',
'80bgntwo',
'82bgntwo',
'77bgntwo',
'75bgntwo',
'60bgntwo'
482 [
'75gntau' ,
'80gntau',
'85gntau' ,
'90gntau'
483 ,
'75uht1tau' ,
'80uht1tau',
'85uht1tau' ,
'90uht1tau'
486 [
'30smcINF',
'35smcINF',
'40smcINF',
'50smcINF',
'60smcINF',
'nosmc'],
489 'bTag' : [
'boffperf' ,
491 'bgn160',
'bgn165',
'bgn170',
'bgn172',
492 'bgn175',
'bgn177',
'bgn180',
'bgn182',
494 'bgn182bb96',
'bgn177bb96',
'bgn175bb90',
496 'bgn260',
'bgn265',
'bgn270',
'bgn272',
497 'bgn275',
'bgn277',
'bgn280',
'bgn282',
499 'ditauTag' : [
'ditauOmni0Trk3',
'ditauOmni0Trk4',
'ditauOmni0Trk5',
'ditauOmni0Trk9',
500 'ditauOmni1Trk3',
'ditauOmni1Trk4',
'ditauOmni1Trk5',
'ditauOmni1Trk9',
501 'ditauOmni2Trk3',
'ditauOmni2Trk4',
'ditauOmni2Trk5',
'ditauOmni2Trk9',
502 'ditauOmni3Trk3',
'ditauOmni3Trk4',
'ditauOmni3Trk5',
'ditauOmni3Trk9',
503 'ditauOmni4Trk3',
'ditauOmni4Trk4',
'ditauOmni4Trk5',
'ditauOmni4Trk9',
504 'ditauOmni5Trk3',
'ditauOmni5Trk4',
'ditauOmni5Trk5',
'ditauOmni5Trk9',
505 'ditauOmni6Trk3',
'ditauOmni6Trk4',
'ditauOmni6Trk5',
'ditauOmni6Trk9',
506 'ditauOmni7Trk3',
'ditauOmni7Trk4',
'ditauOmni7Trk5',
'ditauOmni7Trk9',
507 'ditauOmni8Trk3',
'ditauOmni8Trk4',
'ditauOmni8Trk5',
'ditauOmni8Trk9',
508 'ditauOmni9Trk3',
'ditauOmni9Trk4',
'ditauOmni9Trk5',
'ditauOmni9Trk9',
509 'ditauOmni01Trk3',
'ditauOmni01Trk4',
'ditauOmni01Trk5',
'ditauOmni01Trk9',
510 'ditauOmni02Trk3',
'ditauOmni02Trk4',
'ditauOmni02Trk5',
'ditauOmni02Trk9',
511 'ditauOmni03Trk3',
'ditauOmni03Trk4',
'ditauOmni03Trk5',
'ditauOmni03Trk9',
512 'ditauOmni04Trk3',
'ditauOmni04Trk4',
'ditauOmni04Trk5',
'ditauOmni04Trk9',
513 'ditauOmni05Trk3',
'ditauOmni05Trk4',
'ditauOmni05Trk5',
'ditauOmni05Trk9',
514 'ditauOmni06Trk3',
'ditauOmni06Trk4',
'ditauOmni06Trk5',
'ditauOmni06Trk9',
515 'ditauOmni07Trk3',
'ditauOmni07Trk4',
'ditauOmni07Trk5',
'ditauOmni07Trk9',
516 'ditauOmni08Trk3',
'ditauOmni08Trk4',
'ditauOmni08Trk5',
'ditauOmni08Trk9',
517 'ditauOmni09Trk3',
'ditauOmni09Trk4',
'ditauOmni09Trk5',
'ditauOmni09Trk9',
520 'bConfig' : [
'split',],
521 'bMatching' : [
'antimatchdr05mu'],
522 'tboundary' : [
'SHARED'],
525 'beamspotChain' : [
'beamspotVtx'],
527 [
'n041pileuprmn015' ],
531 JetChainParts_Default = {
532 'signature' : [
'Jet'],
533 'alignmentGroup': [
'Jet'],
541 'sigFolder' : [
'Jet'],
547 'clusterCalib' :
'em',
549 'jetCalib' :
'default',
553 'trkpresel' :
'nopresel',
555 'etaRange' :
'0eta320',
564 'hypoScenario' :
'simple',
576 'beamspotChain' :
'',
581 bJetChainParts_Default = {
582 'etaRange' :
'0eta290',
583 'sigFolder' : [
'Bjet'],
584 'subSigs' : [
'Bjet'],
587 ditauJetChainParts_Default = {
588 'sigFolder' : [
'Tau'],
589 'subSigs' : [
'Ditau'],
592 BeamspotJetChainParts_Default = {
593 'signature' :
'Beamspot',
594 'alignmentGroup' : [
'Beamspot'],
595 'sigFolder' : [
'CalibCosmicMon'],
596 'subSigs' : [
'Beamspot'],
597 'beamspotChain' :
'',
605 'b7invmAB9vtx20',
'b11invmAB60vtx20',
'b11invmAB24vtx20',
'b24invmAB60vtx20',
611 'signature' : [
'Muon'],
612 'alignmentGroup' : [
'Muon',
'MuonnoL1'],
614 'chainPartName' : [],
617 'etaRange' : [
'0eta105'],
619 'tnpInfo' : [
'probe'],
620 'extra' : [
'noL1',
'lateMu',
"muoncalib" ,
'noL2Comb',
'vtx',
'mucombTag'],
622 'isoInfo' : [
'ivarloose',
'ivarmedium',
'ivarperf',
'iloosems'],
623 'l2AlgInfo' : [
'l2io',
'l2mt'],
624 'lrtInfo' : [
'd0loose',
'd0medium',
'd0tight'],
625 'invMassInfo' : [
'invmJPsiOS',
'invmDimu'],
626 'msonlyInfo' : [
'msonly'],
627 'addInfo' : [
'idperf',
'LRT',
'3layersEC',
'cosmic',
"muonqual",
"nscan",
"nscan10",
"nscan20",
"nscan30",
"nscan40",
'idtp',
'idReuse',
'fT'],
628 'topo' : AllowedTopos_mu,
630 'sigFolder' : [
'Muon'],
631 'subSigs' : [
'Muon'],
635 MuonChainParts_Default = {
636 'signature' : [
'Muon'],
637 'alignmentGroup' : [
'Muon'],
641 'etaRange' :
'0eta250',
654 'sigFolder' : [
'Muon'],
655 'subSigs' : [
'Muon'],
662 AllowedTopos_Bphysics = [
663 'bJpsimumu',
'bJpsi',
'bJpsimutrk',
'bUpsimumu',
'bUpsi',
'bBmumu',
'bDimu',
'bDimu2700',
'bDimu6000',
'bPhi',
'bTau',
'b3mu',
664 'bBmumux',
'bBmux',
'b0dRAB12vtx20',
'b0dRAB127invmAB22vtx20',
'b0dRAB207invmAB22vtx20',
'b7invmAB22vtx20',
668 'Bidperf',
'BsmumuPhi',
'BpmumuKp',
'BcmumuPi',
'BdmumuKst',
'LbPqKm',
'BcmumuDsloose',
'BcmumuDploose',
'BcmumuD0Xloose',
'BcmumuDstarloose',
669 'BpmuD0X',
'BdmuDpX',
'BdmuDstarX',
'BsmuDsX',
'LbmuLcX',
671 'Lxy0',
'sigmaLxy3',
'noos',
'nocut',
'lowpt'
675 AllowedTopos_Bphysics_topoVariant = [
676 'Bidperf',
'BsmumuPhi',
'BpmumuKp',
'BcmumuPi',
'BdmumuKst',
'LbPqKm',
'BcmumuDsloose',
'BcmumuDploose',
'BcmumuD0Xloose',
'BcmumuDstarloose',
677 'BpmuD0X',
'BdmuDpX',
'BdmuDstarX',
'BsmuDsX',
'LbmuLcX'
679 AllowedTopos_Bphysics_topoExtra = [
'Lxy0',
'noos',
'nocut',
'lowpt']
680 AllAllowedTopos_Bphysics = AllowedTopos_Bphysics_topoVariant+AllowedTopos_Bphysics_topoExtra+AllowedTopos_Bphysics
683 BphysicsChainParts = deepcopy(MuonChainParts)
684 BphysicsChainParts[
'signature'] = [
'Bphysics']
685 BphysicsChainParts[
'sigFolder'] = [
'Bphysics']
686 BphysicsChainParts[
'subSigs'] = [
'Bphysics']
687 BphysicsChainParts[
'topo'] = AllowedTopos_Bphysics
690 BphysicsChainParts_Default = deepcopy(MuonChainParts_Default)
691 BphysicsChainParts_Default[
'signature'] = [
'Bphysics']
692 BphysicsChainParts_Default[
'sigFolder'] = [
'Bphysics']
693 BphysicsChainParts_Default[
'subSigs'] = [
'Bphysics']
694 BphysicsChainParts_Default[
'topo'] = []
700 AllowedTopos_tau = []
704 'signature' : [
'Tau'],
705 'alignmentGroup': [
'Tau',
'JetMET'],
708 'chainPartName' :
'',
724 'jet' : [
'lc',
'pf'],
731 'verylooseGNTau',
'looseGNTau',
'mediumGNTau',
'tightGNTau',
734 'looseRNN',
'mediumRNN',
'tightRNN',
737 'kaonpi1',
'kaonpi2',
'dipion1',
'dipion2',
'dipion3',
'dipion4',
'dikaonmass',
'singlepion',
740 'trigType' : [
'tau'],
741 'tnpInfo' : [
'probe'],
742 'topo' : AllowedTopos_tau,
743 'sigFolder' : [
'Tau'],
747 TauChainParts_Default = {
748 'signature' : [
'Tau'],
749 'alignmentGroup': [
'Tau'],
752 'chainPartName' :
'',
754 'reconstruction':
'tracktwoMVA',
762 'sigFolder' : [
'Tau'],
774 'signature' : [
'MET'],
775 'alignmentGroup' : [
'MET',
'JetMET'],
777 'chainPartName' :
'',
780 'topo' : AllowedTopos_xe,
783 'calib' : [
'lcw',
'em'],
784 'jetCalib' : JetChainParts[
'jetCalib'],
786 'EFrecoAlg' : [
'cell',
'tc',
'tcpufit',
'mht',
'trkmht',
'pfsum',
'cvfpufit',
'pfopufit',
'mhtpufit',
'nn'],
787 'constitType' : JetChainParts[
'constitType'],
788 'nSigma' : [
"default",
"sig30",
"sig35",
"sig40",
"sig45",
"sig50",
"sig55",
"sig60"],
791 'addInfo' : [
'FStracks'],
792 'sigFolder' : [
'MET'],
794 'constitmod' : [
'cssk',
'vssk'],
798 METChainParts_Default = {
799 'signature' : [
'MET'],
800 'alignmentGroup' : [
'MET'],
806 'jetCalib' : JetChainParts_Default[
'jetCalib'],
807 'nSigma' :
"default",
813 'constitType' :
'tc',
815 'sigFolder' : [
'MET'],
824 XSChainParts = METChainParts
825 XSChainParts[
'signature'] = [
'XS']
826 XSChainParts[
'trigType'] = [
'xs']
829 XSChainParts_Default = METChainParts_Default
830 XSChainParts_Default[
'signature'] = [
'XS']
831 XSChainParts_Default[
'trigType'] =
''
837 TEChainParts = METChainParts
838 TEChainParts[
'signature'] = [
'TE']
839 TEChainParts[
'trigType'] = [
'te']
842 TEChainParts_Default = METChainParts_Default
843 TEChainParts_Default[
'signature'] = [
'TE']
844 TEChainParts_Default[
'trigType'] =
''
849 AllowedTopos_e = [
'Jpsiee',
'Zeg',
'Zee',
'Heg',
'bBeeM6000']
851 ElectronChainParts = {
852 'signature' : [
'Electron'],
853 'alignmentGroup' : [
'Electron',
'Egamma'],
854 'chainPartName' :
'',
856 'tnpInfo' : [
'probe'],
862 'IDinfo' : [
'dnnloose',
'dnnmedium',
'dnntight',
'lhvloose',
'lhloose',
'lhmedium',
'lhtight',
'vloose',
'loose',
'medium',
'tight',
'mergedtight'],
863 'isoInfo' : [
'ivarloose',
'ivarmedium',
'ivartight'],
864 'idperfInfo' : [
'idperf'],
865 'gsfInfo' : [
'nogsf'],
866 'lrtInfo' : [
'lrtloose',
'lrtmedium',
'lrttight',
'lrtxtight',
'lrtvxtight'],
868 'lhInfo' : [
'nod0',
'nopix'],
869 'L2IDAlg' : [
'noringer'],
870 'addInfo' : [
'etcut',
'etcut1step',
"fwd",
'nopid'],
871 'sigFolder' : [
'Egamma'],
872 'subSigs' : [
'Electron'],
873 'topo' : AllowedTopos_e,
878 ElectronChainParts_Default = {
879 'signature' : [
'Electron'],
880 'alignmentGroup' : [
'Electron'],
885 'etaRange' :
'0eta250',
902 'sigFolder' : [
'Egamma'],
903 'subSigs' : [
'Electron'],
912 AllowedTopos_g = [
'dPhi25',
'm80']
915 'signature' : [
'Photon'],
916 'alignmentGroup' : [
'Photon',
'Egamma'],
917 'chainPartName' :
'',
921 'tnpInfo' : [
'probe'],
922 'extra' : [
'hiptrt',
'ion'],
923 'IDinfo' : [
'etcut',
'loose',
'medium',
'tight'],
924 'isoInfo' : [
'noiso',
'icaloloose',
'icalomedium',
'icalotight'],
928 'L2IDAlg' : [
'noringer',
'ringer'],
932 'addInfo' : [
'etcut',
'nopid'],
933 'sigFolder' : [
'Egamma'],
934 'subSigs' : [
'Photon'],
935 'topo' : AllowedTopos_g,
940 PhotonChainParts_Default = {
941 'signature' : [
'Photon'],
942 'alignmentGroup' : [
'Photon'],
959 'sigFolder' : [
'Egamma'],
960 'subSigs' : [
'Photon'],
969 MinBiasChainParts = {
970 'signature' : [
'MinBias'],
971 'alignmentGroup' : [
'MinBias'],
973 'chainPartName' :
'',
977 'extra' : [
'noisesup',
'vetombts2in',
'vetombts1side2in',
'vetospmbts2in',
"vetosp" ,
'ion',
'ncb',
'blayer',
'dijet',
'all',
'q2'],
979 'ZDCinfo' : [
'lg',
'hg'],
980 'trkInfo' : [
'hlttr',
'ftk',
'costr'],
981 'hypoSPInfo' : [
'sp2',
'sp3',
'sp5',
'sp10',
'sp15',
'sp50',
'sp100',
'sp300',
'sp400',
'sp500',
'sp600',
'sp700',
'sp800',
'sp900',
982 'sp1000',
'sp1100',
'sp1200',
'sp1300',
'sp1400',
'sp1500',
'sp1600',
'sp1700',
'sp1800',
983 'sp2000',
'sp2100',
'sp2200',
'sp2300',
'sp2400',
'sp2500',
'sp2700',
'sp2800',
'sp2900',
'sp3000',
984 'sp3100',
'sp3500',
'sp4100',
'sp4500',
'sp4800',
'sp5000',
'sp5200',
985 'vpix15',
'vpix30',
'vpix35',
'vpix40',
'vpix45',
'vpix50',
'vpix55',
'vpix60',
986 'pix20',
'pix50',
'pix100',
'pix200',
'pix500',
'pix1000',
987 'nototpix20',
'nototpix30',
'nototpix50',
'nototpix70',
'nototpix100',
'nototpix200',
'nototpix500'],
988 'pileupInfo' : [
'pusup0',
'pusup7',
'pusup10',
'pusup15',
'pusup20',
'pusup30',
'pusup40',
'pusup50',
'pusup60',
'pusup70',
'pusup80',
'pusup90',
'pusup100',
'pusup110',
'pusup120',
'pusup130',
'pusup150',
'pusup180',
'pusup190',
989 'pusup200',
'pusup220',
'pusup240',
'pusup250',
'pusup260',
'pusup270',
'pusup280',
'pusup290',
'pusup300'],
990 'hypoTrkInfo' : [
'trk2',
'trk3',
'trk5',
'trk10',
'trk15',
'trk20',
'trk25',
'trk30',
'trk35',
'trk40',
'trk45',
'trk50',
'trk55',
'trk60',
'trk65',
'trk70',
'trk75',
'trk80',
'trk90',
991 'trk100',
'trk110',
'trk120',
'trk130',
'trk140',
'trk150',
'trk160',
'trk180',
'trk200',
'trk220',
'trk240',
'trk260',
'trk280',
'trk290',
992 '2trk6',
'1trk4',
'1trk5',
'1trk2',
'0trk2'],
993 'hypoPtInfo' : [
'pt0p2',
'pt0p5',
'pt0p8',
'pt1',
'pt2',
'pt4',
'pt6',
'pt8',
'pt10' ],
994 'recoAlg' : [
'mbts',
'sptrk',
'sp',
'noalg',
'perf',
'hmt',
'hmtperf',
'idperf',
'zdcperf',
'afprec',
'afptof',
'afpdz5',
'afpdz10',
'excl',
'pixsptrk'],
995 'addInfo' : [
'peb',
'pc'],
996 'sigFolder' : [
'MinBias'],
997 'subSigs' : [
'MinBias'],
1001 MinBiasChainParts_Default = {
1002 'signature' : [
'MinBias'],
1003 'alignmentGroup' : [
'MinBias'],
1005 'chainPartName' :
'',
1006 'multiplicity' :
'',
1017 'hypoSumEtInfo':
'',
1020 'sigFolder' : [
'MinBias'],
1021 'subSigs' : [
'MinBias'],
1029 HeavyIonChainParts = {
1030 'signature' : [
'HeavyIon'],
1031 'alignmentGroup' : [
'HeavyIon'],
1033 'chainPartName' :
'',
1034 'multiplicity' :
'',
1035 'trigType' : [
'hi'],
1041 'eventShapeVeto' : [],
1045 'hypoEFsumEtInfo': [],
1046 'hypoFgapInfo' : [
'FgapAC3',
'FgapAC5',
'FgapAC10',
'FgapA3',
'FgapA5',
'FgapA10',
'FgapC3',
'FgapC5',
'FgapC10'],
1047 'hypoUCCInfo' : [
'uccTh1',
'uccTh2',
'uccTh3'],
1050 'sigFolder' : [
'HeavyIon'],
1051 'subSigs' : [
'HeavyIon'],
1056 HeavyIonChainParts_Default = {
1057 'signature' : [
'HeavyIon'],
1058 'alignmentGroup' : [
'HeavyIon'],
1060 'chainPartName' :
'',
1061 'multiplicity' :
'',
1068 'eventShapeVeto' :
'',
1072 'hypoEFsumEtInfo':
'',
1073 'hypoFgapInfo' : [],
1077 'sigFolder' : [
'HeavyIon'],
1078 'subSigs' : [
'HeavyIon'],
1085 AllowedCosmicChainIdentifiers = [
'larps',
'larhec',
1089 CosmicChainParts = {
1090 'signature' : [
'Cosmic'],
1091 'alignmentGroup' : [
'Cosmic'],
1092 'chainPartName' :
'',
1094 'purpose' : AllowedCosmicChainIdentifiers,
1095 'addInfo' : [
'cosmicid',
'noise',
'beam',
'laser',
'AllTE',
'central',
'ds',
'CIS'],
1096 'trackingAlg' : [
'idscan',
'sitrack',
'trtxk'],
1099 'multiplicity' :
'',
1100 'trigType' :
'cosmic',
1102 'sigFolder' : [
'CalibCosmicMon'],
1103 'subSigs' : [
'Cosmic'],
1108 CosmicChainParts_Default = {
1109 'signature' : [
'Cosmic'],
1110 'alignmentGroup' : [
'Cosmic'],
1111 'chainPartName' :
'',
1118 'multiplicity' :
'',
1121 'sigFolder' : [
'CalibCosmicMon'],
1122 'subSigs' : [
'Cosmic'],
1129 AllowedStreamingChainIdentifiers = [
'noalg']
1132 StreamingChainParts = {
1133 'signature' : [
'Streaming'],
1134 'alignmentGroup' : [
'Streaming'],
1135 'chainPartName' :
'',
1138 'multiplicity' :
'',
1143 'streamingInfo' : [
'laser',
'CIS',
'idmon',
'mb',
'l1calo',
'cosmicmuons',
'bkg',
'vdm',
'zb',
'eb'],
1144 'trigType' :
'streamer',
1146 'streamType' : AllowedStreamingChainIdentifiers,
1148 'sigFolder' : [
'CalibCosmicMon'],
1149 'subSigs' : [
'Streaming'],
1154 StreamingChainParts_Default = {
1155 'signature' : [
'Streaming'],
1156 'alignmentGroup' : [
'Streaming'],
1157 'chainPartName' :
'',
1160 'multiplicity' :
'',
1161 'streamingInfo' :
'',
1166 'sigFolder' : [
'CalibCosmicMon'],
1167 'subSigs' : [
'Streaming'],
1174 AllowedCalibChainIdentifiers = [
'csccalib',
'larcalib',
1175 'idcalib',
'l1calocalib',
1177 'larnoiseburst',
'ibllumi',
1178 'l1satmon',
'zdcpeb',
1179 'calibAFP',
'larpsallem',
'larpsall',
1180 'acceptedevts',
'metcalo',
'mettrk',
1187 'signature' : [
'Calib'],
1188 'alignmentGroup' : [
'Calib'],
1189 'chainPartName' :
'',
1191 'purpose' : AllowedCalibChainIdentifiers,
1192 'location' : [
'central',
'fwd'],
1193 'addInfo' : [
'loose',
'noise',
'beam'],
1194 'hypo' : [
'trk4',
'trk9',
'trk16',
'trk29',
'conej40',
'conej165',
'conej75_320eta490',
'conej140_320eta490',
'satu20em'],
1195 'streamingInfo' : [
'vdm',],
1197 'multiplicity' :
'',
1198 'trigType' : [
'trk'],
1199 'extra' : [
'bs',
''],
1200 'sigFolder' : [
'CalibCosmicMon'],
1201 'subSigs' : [
'Calib'],
1207 CalibChainParts_Default = {
1208 'signature' : [
'Calib'],
1209 'alignmentGroup' : [
'Calib'],
1210 'chainPartName' :
'',
1216 'streamingInfo' : [],
1218 'multiplicity' :
'',
1222 'sigFolder' : [
'CalibCosmicMon'],
1223 'subSigs' : [
'Calib'],
1230 AllowedMonitorChainIdentifiers = [
'robrequest',
'timeburner',
1231 'idmon',
'larsupercellmon',
1232 'l1calooverflow',
'l1topoPh1debug',
1233 'mistimemonl1bccorr',
'mistimemonl1bccorrnomu',
1234 'mistimemoncaltimenomu',
'mistimemoncaltime',
1235 'mistimemonj400',
'caloclustermon']
1238 MonitorChainParts = {
1239 'signature' : [
'Monitor'],
1240 'alignmentGroup' : [
'Monitor'],
1241 'chainPartName' :
'',
1243 'monType' : AllowedMonitorChainIdentifiers,
1244 'hypo' : [
'trkFS',],
1246 'multiplicity' :
'',
1247 'isLegacyL1' : [
'legacy'],
1250 'sigFolder' : [
'CalibCosmicMon'],
1251 'subSigs' : [
'Monitor'],
1256 MonitorChainParts_Default = {
1257 'signature' : [
'Monitor'],
1258 'alignmentGroup' : [
'Monitor'],
1259 'chainPartName' :
'',
1264 'multiplicity' :
'',
1268 'sigFolder' : [
'CalibCosmicMon'],
1269 'subSigs' : [
'Monitor'],
1276 AllowedEBChainIdentifiers = [
'eb']
1279 EnhancedBiasChainParts = {
1280 'signature' : [
'EnhancedBias'],
1281 'alignmentGroup' : [
'EnhancedBias'],
1282 'chainPartName' :
'',
1284 'algType' : [
'medium',
'firstempty',
'empty',
'unpairediso',
'unpairednoniso',
'low'],
1286 'multiplicity' :
'',
1289 'sigFolder' : [
'CalibCosmicMon'],
1290 'subSigs' : [
'EnhancedBias'],
1295 EnhancedBiasChainParts_Default = {
1296 'signature' : [
'EnhancedBias'],
1297 'alignmentGroup' : [
'EnhancedBias'],
1298 'chainPartName' :
'',
1300 'algType' :
'physics',
1302 'multiplicity' :
'',
1305 'sigFolder' : [
'CalibCosmicMon'],
1306 'subSigs' : [
'EnhancedBias'],
1313 AllowedBeamspotChainIdentifiers = [
'beamspot',]
1314 BeamspotChainParts = {
1315 'signature' : [
'Beamspot'],
1316 'alignmentGroup' : [
'Beamspot'],
1317 'chainPartName' :
'',
1319 'monType' : AllowedBeamspotChainIdentifiers,
1320 'location' : [
'vtx'],
1321 'addInfo' : [
'trkFS',
'allTE',
'activeTE',
'idperf'],
1323 'l2IDAlg' : [
'trkfast'],
1325 'multiplicity' :
'',
1326 'trigType' :
'beamspot',
1328 'sigFolder' : [
'CalibCosmicMon'],
1329 'subSigs' : [
'Beamspot'],
1331 'beamspotChain' : [],
1335 BeamspotChainParts_Default = {
1336 'signature' : [
'Beamspot'],
1337 'alignmentGroup' : [
'Beamspot'],
1338 'chainPartName' :
'',
1345 'multiplicity' :
'',
1349 'sigFolder' : [
'CalibCosmicMon'],
1350 'subSigs' : [
'Beamspot'],
1351 'chainPartIndex' : 0,
1352 'beamspotChain' :
'',
1359 UnconventionalTrackingChainParts = {
1360 'signature' : [
'UnconventionalTracking'],
1361 'alignmentGroup' : [
'UnconventionalTracking'],
1363 'chainPartName' : [],
1364 'multiplicity' :
'',
1365 'trigType' : [
'isotrk',
'fslrt',
'dedxtrk',
'hitdvjet',
'fsvsi',
'distrk',
'dispjet',
'dispvtx'],
1367 'IDinfo' : [
'loose',
'medium',
'tight',
'vloose'],
1368 'isoInfo' : [
'iaggrmedium',
'iaggrloose',
'imedium',
'iloose'],
1370 'addInfo' : [
'perf'],
1371 'dispjetConfig' : [
'3d2p',
'1p',
'x3d1p',
'2p'],
1372 'sigFolder' : [
'UnconventionalTracking'],
1373 'subSigs' : [
'UnconventionalTracking'],
1377 UnconventionalTrackingChainParts_Default = {
1378 'signature' : [
'UnconventionalTracking'],
1379 'alignmentGroup' : [
'UnconventionalTracking'],
1381 'chainPartName' : [],
1382 'multiplicity' :
'',
1389 'dispjetConfig' :
'',
1390 'sigFolder' : [
'UnconventionalTracking'],
1391 'subSigs' : [
'UnconventionalTracking'],
1398 AllowedTopos_comb = [
1399 'idZmumu',
'idJpsimumu',
1400 'dRAA12',
'dRAB15',
'03dRAB',
'02dRAB10',
'03dRAB10',
'03dRAB30',
'03dRAB35',
'dRAD04',
'dRAF04',
'dRAB03',
'dRAB04',
'dRAB05',
'02dRAB',
'02dRAC',
'03dRAC30',
'03dRAC35',
'02dRBC',
'15dRBC45',
'50invmAB',
'60invmAB',
'afpdijet',
'18dphiAB',
'18dphiAC',
'80mTAC',
'80mTAD',
1401 'anomdet',
'anomdetL',
'anomdetM',
'anomdetT',
1402 '29dphiAA',
'29dphiAB',
'30dphiAA',
'30dphiAB',
1404 '1invmAB5',
'50invmAB130',
'50invmBC130',
1405 '25dphiAA',
'25dphiBB',
'25dphiCC',
'invmAA80',
1407 'invmAB10',
'10invmAB70',
1408 '7invmAB9',
'11invmAB60',
'11invmAB24',
'24invmAB60',
'7invmAA9',
'11invmAA60',
'11invmAA24',
'24invmAA60',
1413 CombinedChainParts = deepcopy(PhotonChainParts)
1414 CombinedChainParts[
'signature'] = [
'Photon',
'Muon']
1415 CombinedChainParts[
'chainParts'] = [
'g',
'mu'],
1416 CombinedChainParts[
'topo'] = AllowedTopos_comb
1418 CombinedChainParts_Default = deepcopy(PhotonChainParts_Default)
1419 CombinedChainParts_Default[
'signature'] = [
'Photon',
'Muon']
1420 CombinedChainParts_Default[
'chainParts'] = [
'g',
'mu'],
1421 CombinedChainParts_Default[
'trigType'] =
''
1422 CombinedChainParts_Default[
'topo'] = []
1428 AllowedTopos = AllowedTopos_e + AllowedTopos_g + AllowedTopos_mu + AllowedTopos_Bphysics + AllowedTopos_xe + AllowedTopos_tau + AllowedTopos_comb
1435 theMatchingTokens = []
1436 reverseSliceIDDict = { subvalue: key
for key, value
in SliceIDDict.items()
for subvalue
in ([value]
if not isinstance(value, list)
else value) }
1437 for sig,token
in SliceIDDict.items():
1438 token = token
if isinstance(token, list)
else [token]
1439 for subtoken
in token:
1440 if re.match(
r'^\d*'+subtoken+
r'\d*\w*$', chainpart):
1441 theMatchingTokens += [subtoken]
1442 if len(theMatchingTokens) > 0:
1443 return reverseSliceIDDict[
sorted(theMatchingTokens, key=
lambda x: len(x), reverse=
True)[0]]
1445 log.error(
'No signature matching chain part %s was found.', chainpart)
1447 raise Exception(
'[getSignatureNameFromToken] Cannot find signature from chain name, exiting.')
1456 if signature ==
'Electron':
1457 return [ElectronChainParts_Default, ElectronChainParts]
1458 if signature ==
'Photon':
1459 return [PhotonChainParts_Default, PhotonChainParts]
1460 if signature ==
"Jet":
1461 return [JetChainParts_Default, JetChainParts]
1462 if signature ==
"Bjet":
1463 return [bJetChainParts_Default, JetChainParts]
1464 if signature ==
"Beamspot_Jet":
1465 return [BeamspotJetChainParts_Default, JetChainParts]
1466 if signature ==
"Tau":
1467 return [TauChainParts_Default, TauChainParts]
1468 if signature ==
"Ditau":
1469 return [ditauJetChainParts_Default, JetChainParts]
1470 if (signature ==
"Muon"):
1471 return [MuonChainParts_Default, MuonChainParts]
1472 if (signature ==
"Bphysics"):
1473 return [BphysicsChainParts_Default, BphysicsChainParts]
1474 if (signature ==
"Combined"):
1475 return [CombinedChainParts_Default, CombinedChainParts]
1476 if signature ==
"MET":
1477 return [METChainParts_Default, METChainParts]
1478 if signature ==
"XS":
1479 return [XSChainParts_Default, XSChainParts]
1480 if signature ==
"TE":
1481 return [TEChainParts_Default, TEChainParts]
1482 if signature ==
"MinBias":
1483 return [MinBiasChainParts_Default, MinBiasChainParts]
1484 if signature ==
"HeavyIon":
1485 return [HeavyIonChainParts_Default, HeavyIonChainParts]
1486 if signature ==
"Cosmic":
1487 return [CosmicChainParts_Default, CosmicChainParts]
1488 if signature ==
"Calib":
1489 return [CalibChainParts_Default, CalibChainParts]
1490 if signature ==
"Streaming":
1491 return [StreamingChainParts_Default, StreamingChainParts]
1492 if signature ==
"Monitor":
1493 return [MonitorChainParts_Default, MonitorChainParts]
1494 if signature ==
"Beamspot":
1495 return [BeamspotChainParts_Default, BeamspotChainParts]
1496 if signature ==
"EnhancedBias":
1497 return [EnhancedBiasChainParts_Default, EnhancedBiasChainParts]
1498 if signature ==
"UnconventionalTracking":
1499 return [UnconventionalTrackingChainParts_Default, UnconventionalTrackingChainParts]
1500 if signature ==
"Test":
1501 return [TestChainParts_Default, TestChainParts]
1503 raise RuntimeError(
"ERROR Cannot find corresponding dictionary for signature", signature)
1511 for v
in SliceIDDict.values():
1512 if isinstance(v, list):
1515 allTrigTypes.append(v)
1517 possibleTT =
'|'.
join(allTrigTypes)
1518 pattern = re.compile(
r"(?P<multiplicity>\d*)(?P<trigType>(%s))(?P<threshold>\d+)(?P<extra>\w*)" % (possibleTT))