2 from AthenaCommon.Logging
import logging
3 log = logging.getLogger( __name__ )
4 log.debug(
"Importing %s",__name__)
6 from copy
import deepcopy
7 from collections
import OrderedDict
18 SignatureDict = OrderedDict({
19 'Electron': (
'e',
'AllTag'),
20 'Photon' : (
'g',
'AllTag'),
21 'Muon' : (
'mu',
'AllTag'),
22 'Bphysics': (
'',
'AllTag'),
23 'Tau' : (
'tau',
'JetMET'),
24 'Jet' : (
'j',
'JetMET'),
25 'Bjet' : (
'',
'JetMET'),
26 'MET' : (
'xe',
'JetMET'),
27 'XS' : (
'xs',
'JetMET'),
28 'TE' : (
'te',
'JetMET'),
29 'MinBias' : (
'mb',
'MinBias'),
30 'HeavyIon' : (
'hi',
'MinBias'),
31 'Cosmic' : (
'cosmic',
''),
32 'Calib' : (
'calib',
''),
33 'Streaming' : (
'streamer',
''),
34 'Monitor' : (
'mon',
''),
35 'Beamspot' : (
'beamspot',
'Beamspot'),
36 'MuonnoL1' : (
'',
'MuonnoL1'),
37 'EnhancedBias' : (
'eb',
''),
38 'UnconventionalTracking' : ([
'isotrk',
'fslrt',
'dedxtrk',
'hitdvjet',
'fsvsi',
'distrk',
'dispjet',
'dispvtx'],
'JetMET'),
39 'Test' : (
'TestChain',
''),
40 'Electronprobe': (
'',
'AllProbe'),
41 'Photonprobe' : (
'',
'AllProbe'),
42 'Tauprobe' : (
'',
'AllProbe'),
43 'Muonprobe' : (
'',
'AllProbe')
49 new_dict = OrderedDict({key: value[0]
for key, value
in SignatureDict.items()
if value[0] !=
''})
56 new_dict = OrderedDict({key: value[1]
for key, value
in SignatureDict.items()
if value[1] !=
''})
60 ''' returns the list of substrings representing the signautres in the chain name'''
62 list_of_strings =
list(SliceIDDict.values())
63 flattened_list =
list(itertools.chain.from_iterable((item
if isinstance(item, list)
else [item])
for item
in list_of_strings))
67 ''' returns the list of substrings representing the signautres in the chain name'''
68 return SliceIDDict.keys()
73 """Class to hold list of chains for each signature (dictionary with fixed set of keys)"""
74 _allowedSignatures = [
'Egamma',
'Muon',
'Jet',
'Bjet',
'Bphysics',
'MET',
'Tau',
75 'HeavyIon',
'Beamspot',
'Cosmic',
'EnhancedBias',
76 'Monitor',
'Calib',
'Streaming',
'Combined',
'MinBias',
77 'UnconventionalTracking',
'Test']
85 raise RuntimeError(f
"'{key}' is not in the list of allowed signatures: {self._allowedSignatures}")
87 dict.__setitem__(self, key, value)
100 'alignmentGroups' : [],
108 'extraComboHypos' : []
117 'signature' : [
'Test'],
118 'alignmentGroup' : [
'Test'],
119 'chainPartName' :
'',
121 'extra' : [
'mv1',
'mv1step',
'mv2',
'ev1',
'ev2',
'ev3',
'gv1',
'mEmpty1',
'mEmpty2',
'mEmpty3',
'ev1dr',
'mv1dr',
'merge'],
122 'trigType' : [
'TestChain'],
125 'sigFolder' : [
'Test'],
126 'subSigs' : [
'Test'],
131 TestChainParts_Default = {
132 'signature' : [
'Test'],
133 'alignmentGroup' : [
'Test'],
139 'sigFolder' : [
'Test'],
140 'subSigs' : [
'Test'],
147 AllowedTopos_jet = []
150 JetRecoKeys = [
'recoAlg',
'constitType',
'clusterCalib',
'constitMod',
'jetCalib',
'trkopt',
'ionopt']
154 'signature' : [
'Jet'],
155 'alignmentGroup': [
'Jet',
'JetMET'],
157 'chainPartName' :
'',
161 'topo' : AllowedTopos_jet,
163 'addInfo' : [
'perf'],
164 'sigFolder' : [
'Jet'],
170 [
'a2',
'a4',
'a10',
'a10r',
'a10t',
'a10sd'],
178 [
'jes',
'subjes',
'subjesIS',
'subjesgscIS',
'subresjesgscIS',
'subjesgsc',
'subresjesgsc',
'nojcalib'],
184 [
'notrk',
'ftf',
'roiftf'],
250 'preselc60XXc45XXc25XXc20',
251 'preselc60XXj45XXf40',
252 'preselj60XXj45XXf40',
253 'presela60XXa40XX2a25',
265 'presel2c20XX2c20b85',
266 'presel2c20XX2c20b82',
267 'presel2c20XX2c20b80',
268 'presel2c20XX2c20bgtwo85',
269 'presel2c20XX2c20bg85',
270 'presel2c20XX2c20bg82',
271 'presel2c20XX2c20bg80',
272 'presel2c20XX2c20b90',
273 'presel3c20XX1c20b85',
274 'presel3c20XX1c20bg85',
277 'presel3c20XX1c20bgtwo85',
278 'presel2c20XX1c20bgtwo85XX1c20gntau90',
279 'presel2c20XX1c20bgtwo85XX1c20gntau85',
280 'presel2c20XX1c20bgtwo82XX1c20gntau85',
281 'presel2c20XX1c20bgtwo82XX1c20gntau80',
282 'presel2c20XX1c20bgtwo80XX1c20gntau80',
283 'presel5c25XXc25bgtwo85',
286 'presel2j25XX2j25bgtwo85',
287 'presel3j25XX2j25bgtwo85',
288 'preselj50bgtwo85XX3j50',
289 'preselj80XX2j45bgtwo90',
290 'preselj140bgtwo85XXj45bgtwo85',
291 'presel2a20bgtwo90XX2a20',
292 'presela20bgtwo85XX3a20',
293 'presel3c20XX1c20gntau90',
294 'presel3c20XX1c20gntau85',
300 'presel2j25XX2j25b85',
301 'presel3j25XX2j25b85',
302 'preselj50b85XX3j50',
303 'preselj80XX2j45b90',
304 'preselj140b85XXj45b85',
305 'presel5c25XXc25b85',
306 'presel2a20b90XX2a20',
307 'presela20b85XX3a20',
314 'preselZ167MAXMULT5cXX4c20',
315 'preselZ138MAXMULT5cXX4c20',
316 'preselZ126MAXMULT5cXX4c20',
317 'preselZ120MAXMULT20cXX4c85',
321 'preselZ120XX2c20XX2c20b85',
322 'preselZ138MAXMULT5cXX2c20XX2c20b85',
323 'preselZ84XX1c20XX2c20b85',
327 'preselZ120MAXMULT20cXX4c20',
328 'preselZ84MAXMULT20cXX3c20',
329 'preselZ116MAXMULT5cXX4c20',
330 'preselZ116MAXMULT20cXX4c20',
331 'preselZ84XX1c20XX2c20b85',
332 'preselZ128XX2c20XX2c20b85',
333 'preselZ128MAXMULT20cXX4c85',
334 'preselZ128XX4c20XX1j20',
335 'preselZ128XX3c20XX1c20bg85',
336 'preselZ116XX3c20XX1c20bg85',
350 'hypoScenario' : [
'simple',
354 'FBDJNOSHARED10etXX20etXX34massXX50fbet',
373 'DJMASS1000j50dphi240',
374 'DJMASS1000j50dphi200x400deta',
375 'DJMASS900j50dphi200x400deta',
376 'DJMASS1000j50dphi260x200deta',
377 'DJMASS900j50dphi260x200deta' ,
378 'DJMASS1000j50dphi260',
379 'DJMASS900j50dphi260',
380 'DJMASS1000j50x200deta',
381 'DJMASS900j50x200deta',
382 'DJMASS1000j30dphi260x200deta',
383 'DJMASS900j30dphi260x200deta',
384 'DIJET70j12etXX1000djmassXXdjdphi200XX400djdeta',
385 'DIJET80j12etXX0j12eta240XX700djmass',
395 'HT300XX10ptXX0eta490',
396 'HT300XX10ptXX0eta490XXveto',
397 'HT300XX15ptXX0eta490',
398 'HT300XX15ptXX0eta490XXveto',
399 'HT400XX15ptXX0eta490',
400 'HT400XX15ptXX0eta490XXveto',
406 'HT940XX0eta240XX020jvt',
409 'HT1000XX0eta240XX020jvt',
410 'HT50XX10etXX0eta320',
426 'MULT0mult11XX10ptXX0eta490',
427 'MULT0mult11XX15ptXX0eta490',
429 'exotHypo' : [
'emergingPTF0p2dR1p2',
'emergingPTF0p1dR1p2',
'emergingPTF0p09dR1p2',
'emergingPTF0p08dR1p2',
'emergingPTF0p075dR1p2',
'emergingPTF0p07dR1p2',
'emergingPTF0p0dR1p2',
430 'emergingPTF0p2dR0p4',
'emergingPTF0p1dR0p4',
'emergingPTF0p09dR0p4',
'emergingPTF0p08dR0p4',
'emergingPTF0p075dR0p4',
'emergingPTF0p07dR0p4',
'emergingPTF0p0dR0p4',
431 'tracklessdR1p2',
'tracklessdR0p4',
432 'calratio',
'calratiormbib',
'calratiovar',
'calratiovarrmbib',
433 'calratiovar103',
'calratiovar82',
'calratiovar59',
'calratiovar186',
'calratiovar150',
'calratiovar165'
441 [
'0eta290',
'0eta200',
'0eta180',
'0eta160',
'0eta140']
444 [
'010jvt',
'011jvt',
'015jvt',
'020jvt',
'050jvt',
'059jvt'],
448 [
'050momemfrac100',
'momemfrac006',
'momemfrac024',
'momemfrac012',
'momhecfrac010',
'050momemfrac100XXmomhecfrac010',
'momemfrac072',
'momemfrac048' ],
450 [
'2timing',
'2timing15'],
452 [
'1timeSig',
'1p5timeSig',
'2timeSig',
'3timeSig',
'2timeSig15',
'3timeSig15'],
454 [
'CLEANlb',
'CLEANllp',
'MASK300ceta210XX300nphi10',
461 'bsel': [
'95bdips',
'90bdips',
'85bdips',
'80bdips',
'77bdips',
'95bgnone',
'90bgnone',
'85bgnone',
'80bgnone',
'77bgnone',
'79bgntwox',
'86bgntwox',
'91bgntwox',
'96bgntwox',
'95bgntwo',
'90bgntwo',
'85bgntwo',
'80bgntwo',
'82bgntwo',
'77bgntwo',
'75bgntwo',
'60bgntwo'],
462 'tausel': [
'75gntau' ,
'80gntau',
'85gntau' ,
'90gntau' ],
464 [
'30smcINF',
'35smcINF',
'40smcINF',
'50smcINF',
'60smcINF',
'nosmc'],
467 'bTag' : [
'boffperf' ,
468 'bdl1r60',
'bdl1r70',
'bdl1r77',
'bdl1r85',
469 'bdl1d60',
'bdl1d65',
'bdl1d70',
'bdl1d72',
470 'bdl1d75',
'bdl1d77',
'bdl1d80',
'bdl1d82',
472 'bgn160',
'bgn165',
'bgn170',
'bgn172',
473 'bgn175',
'bgn177',
'bgn180',
'bgn182',
475 'bgn182bb96',
'bgn177bb96',
'bgn175bb90',
476 'bgn260',
'bgn265',
'bgn270',
'bgn272',
477 'bgn275',
'bgn277',
'bgn280',
'bgn282',
480 'bConfig' : [
'split',],
481 'bMatching' : [
'antimatchdr05mu'],
482 'tboundary' : [
'SHARED'],
485 'beamspotChain' : [
'beamspotVtx'],
487 [
'n041pileuprmn015' ],
491 JetChainParts_Default = {
492 'signature' : [
'Jet'],
493 'alignmentGroup': [
'Jet'],
501 'sigFolder' : [
'Jet'],
507 'clusterCalib' :
'em',
509 'jetCalib' :
'default',
513 'trkpresel' :
'nopresel',
515 'etaRange' :
'0eta320',
524 'hypoScenario' :
'simple',
535 'beamspotChain' :
'',
540 bJetChainParts_Default = {
541 'etaRange' :
'0eta290',
542 'sigFolder' : [
'Bjet'],
543 'subSigs' : [
'Bjet'],
547 BeamspotJetChainParts_Default = {
548 'signature' :
'Beamspot',
549 'alignmentGroup' : [
'Beamspot'],
550 'sigFolder' : [
'CalibCosmicMon'],
551 'subSigs' : [
'Beamspot'],
552 'beamspotChain' :
'',
560 'b7invmAB9vtx20',
'b11invmAB60vtx20',
'b11invmAB24vtx20',
'b24invmAB60vtx20',
566 'signature' : [
'Muon'],
567 'alignmentGroup' : [
'Muon',
'MuonnoL1'],
569 'chainPartName' : [],
572 'etaRange' : [
'0eta105'],
574 'tnpInfo' : [
'probe'],
575 'extra' : [
'noL1',
'lateMu',
"muoncalib" ,
'noL2Comb',
'vtx',
'mucombTag'],
577 'isoInfo' : [
'ivarloose',
'ivarmedium',
'ivarperf',
'iloosems'],
578 'l2AlgInfo' : [
'l2io',
'l2mt'],
579 'lrtInfo' : [
'd0loose',
'd0medium',
'd0tight'],
580 'invMassInfo' : [
'invmJPsiOS',
'invmDimu'],
581 'msonlyInfo' : [
'msonly'],
582 'addInfo' : [
'idperf',
'LRT',
'3layersEC',
'cosmic',
"muonqual",
"nscan",
"nscan10",
"nscan20",
"nscan30",
"nscan40",
'idtp',
'fT'],
583 'topo' : AllowedTopos_mu,
585 'sigFolder' : [
'Muon'],
586 'subSigs' : [
'Muon'],
590 MuonChainParts_Default = {
591 'signature' : [
'Muon'],
592 'alignmentGroup' : [
'Muon'],
596 'etaRange' :
'0eta250',
609 'sigFolder' : [
'Muon'],
610 'subSigs' : [
'Muon'],
617 AllowedTopos_Bphysics = [
618 'bJpsimumu',
'bJpsi',
'bJpsimutrk',
'bUpsimumu',
'bUpsi',
'bBmumu',
'bDimu',
'bDimu2700',
'bDimu6000',
'bPhi',
'bTau',
'b3mu',
619 'bBmumux',
'bBmux',
'b0dRAB12vtx20',
'b0dRAB127invmAB22vtx20',
'b0dRAB207invmAB22vtx20',
'b7invmAB22vtx20',
623 'Bidperf',
'BsmumuPhi',
'BpmumuKp',
'BcmumuPi',
'BdmumuKst',
'LbPqKm',
'BcmumuDsloose',
'BcmumuDploose',
'BcmumuD0Xloose',
'BcmumuDstarloose',
624 'BpmuD0X',
'BdmuDpX',
'BdmuDstarX',
'BsmuDsX',
'LbmuLcX',
626 'Lxy0',
'sigmaLxy3',
'noos',
'nocut',
'lowpt'
630 AllowedTopos_Bphysics_topoVariant = [
631 'Bidperf',
'BsmumuPhi',
'BpmumuKp',
'BcmumuPi',
'BdmumuKst',
'LbPqKm',
'BcmumuDsloose',
'BcmumuDploose',
'BcmumuD0Xloose',
'BcmumuDstarloose',
632 'BpmuD0X',
'BdmuDpX',
'BdmuDstarX',
'BsmuDsX',
'LbmuLcX'
634 AllowedTopos_Bphysics_topoExtra = [
'Lxy0',
'noos',
'nocut',
'lowpt']
635 AllAllowedTopos_Bphysics = AllowedTopos_Bphysics_topoVariant+AllowedTopos_Bphysics_topoExtra+AllowedTopos_Bphysics
638 BphysicsChainParts = deepcopy(MuonChainParts)
639 BphysicsChainParts[
'signature'] = [
'Bphysics']
640 BphysicsChainParts[
'sigFolder'] = [
'Bphysics']
641 BphysicsChainParts[
'subSigs'] = [
'Bphysics']
642 BphysicsChainParts[
'topo'] = AllowedTopos_Bphysics
645 BphysicsChainParts_Default = deepcopy(MuonChainParts_Default)
646 BphysicsChainParts_Default[
'signature'] = [
'Bphysics']
647 BphysicsChainParts_Default[
'sigFolder'] = [
'Bphysics']
648 BphysicsChainParts_Default[
'subSigs'] = [
'Bphysics']
649 BphysicsChainParts_Default[
'topo'] = []
655 AllowedTopos_tau = []
659 'signature' : [
'Tau'],
660 'alignmentGroup': [
'Tau',
'JetMET'],
663 'chainPartName' :
'',
679 'jet' : [
'lc',
'pf'],
686 'verylooseGNTau',
'looseGNTau',
'mediumGNTau',
'tightGNTau',
689 'looseRNN',
'mediumRNN',
'tightRNN',
692 'kaonpi1',
'kaonpi2',
'dipion1',
'dipion2',
'dipion3',
'dipion4',
'dikaonmass',
'singlepion',
695 'trigType' : [
'tau'],
696 'tnpInfo' : [
'probe'],
697 'topo' : AllowedTopos_tau,
698 'sigFolder' : [
'Tau'],
702 TauChainParts_Default = {
703 'signature' : [
'Tau'],
704 'alignmentGroup': [
'Tau'],
707 'chainPartName' :
'',
709 'reconstruction':
'tracktwoMVA',
717 'sigFolder' : [
'Tau'],
729 'signature' : [
'MET'],
730 'alignmentGroup' : [
'MET',
'JetMET'],
732 'chainPartName' :
'',
735 'topo' : AllowedTopos_xe,
738 'calib' : [
'lcw',
'em'],
739 'jetCalib' : JetChainParts[
'jetCalib'],
741 'EFrecoAlg' : [
'cell',
'tc',
'tcpufit',
'mht',
'trkmht',
'pfsum',
'cvfpufit',
'pfopufit',
'mhtpufit',
'nn'],
742 'constitType' : JetChainParts[
'constitType'],
743 'nSigma' : [
"default",
"sig30",
"sig35",
"sig40",
"sig45",
"sig50",
"sig55",
"sig60"],
746 'addInfo' : [
'FStracks'],
747 'sigFolder' : [
'MET'],
749 'constitmod' : [
'cssk',
'vssk'],
753 METChainParts_Default = {
754 'signature' : [
'MET'],
755 'alignmentGroup' : [
'MET'],
761 'jetCalib' : JetChainParts_Default[
'jetCalib'],
762 'nSigma' :
"default",
768 'constitType' :
'tc',
770 'sigFolder' : [
'MET'],
779 XSChainParts = METChainParts
780 XSChainParts[
'signature'] = [
'XS']
781 XSChainParts[
'trigType'] = [
'xs']
784 XSChainParts_Default = METChainParts_Default
785 XSChainParts_Default[
'signature'] = [
'XS']
786 XSChainParts_Default[
'trigType'] =
''
792 TEChainParts = METChainParts
793 TEChainParts[
'signature'] = [
'TE']
794 TEChainParts[
'trigType'] = [
'te']
797 TEChainParts_Default = METChainParts_Default
798 TEChainParts_Default[
'signature'] = [
'TE']
799 TEChainParts_Default[
'trigType'] =
''
804 AllowedTopos_e = [
'Jpsiee',
'Zeg',
'Zee',
'Heg',
'bBeeM6000']
806 ElectronChainParts = {
807 'signature' : [
'Electron'],
808 'alignmentGroup' : [
'Electron',
'Egamma'],
809 'chainPartName' :
'',
811 'tnpInfo' : [
'probe'],
817 'IDinfo' : [
'dnnloose',
'dnnmedium',
'dnntight',
'lhvloose',
'lhloose',
'lhmedium',
'lhtight',
'vloose',
'loose',
'medium',
'tight',
'mergedtight'],
818 'isoInfo' : [
'ivarloose',
'ivarmedium',
'ivartight'],
819 'idperfInfo' : [
'idperf'],
820 'gsfInfo' : [
'nogsf'],
821 'lrtInfo' : [
'lrtloose',
'lrtmedium',
'lrttight',
'lrtxtight',
'lrtvxtight'],
823 'lhInfo' : [
'nod0',
'nopix'],
824 'L2IDAlg' : [
'noringer'],
825 'addInfo' : [
'etcut',
'etcut1step',
"fwd",
'nopid'],
826 'sigFolder' : [
'Egamma'],
827 'subSigs' : [
'Electron'],
828 'topo' : AllowedTopos_e,
833 ElectronChainParts_Default = {
834 'signature' : [
'Electron'],
835 'alignmentGroup' : [
'Electron'],
840 'etaRange' :
'0eta250',
857 'sigFolder' : [
'Egamma'],
858 'subSigs' : [
'Electron'],
867 AllowedTopos_g = [
'dPhi25',
'm80']
870 'signature' : [
'Photon'],
871 'alignmentGroup' : [
'Photon',
'Egamma'],
872 'chainPartName' :
'',
876 'tnpInfo' : [
'probe'],
877 'extra' : [
'hiptrt',
'ion'],
878 'IDinfo' : [
'etcut',
'loose',
'medium',
'tight'],
879 'isoInfo' : [
'noiso',
'icaloloose',
'icalomedium',
'icalotight'],
883 'L2IDAlg' : [
'noringer',
'ringer'],
887 'addInfo' : [
'etcut',
'nopid'],
888 'sigFolder' : [
'Egamma'],
889 'subSigs' : [
'Photon'],
890 'topo' : AllowedTopos_g,
895 PhotonChainParts_Default = {
896 'signature' : [
'Photon'],
897 'alignmentGroup' : [
'Photon'],
914 'sigFolder' : [
'Egamma'],
915 'subSigs' : [
'Photon'],
924 MinBiasChainParts = {
925 'signature' : [
'MinBias'],
926 'alignmentGroup' : [
'MinBias'],
928 'chainPartName' :
'',
932 'extra' : [
'noisesup',
'vetombts2in',
'vetombts1side2in',
'vetospmbts2in',
"vetosp" ,
'ion',
'ncb',
'blayer',
'dijet',
'all',
'q2'],
934 'ZDCinfo' : [
'lg',
'hg'],
935 'trkInfo' : [
'hlttr',
'ftk',
'costr'],
936 'hypoSPInfo' : [
'sp2',
'sp3',
'sp5',
'sp10',
'sp15',
'sp50',
'sp100',
'sp300',
'sp400',
'sp500',
'sp600',
'sp700',
'sp800',
'sp900',
937 'sp1000',
'sp1100',
'sp1200',
'sp1300',
'sp1400',
'sp1500',
'sp1600',
'sp1700',
'sp1800',
938 'sp2000',
'sp2100',
'sp2200',
'sp2300',
'sp2400',
'sp2500',
'sp2700',
'sp2800',
'sp2900',
'sp3000',
939 'sp3100',
'sp3500',
'sp4100',
'sp4500',
'sp4800',
'sp5000',
'sp5200',
940 'vpix15',
'vpix30',
'vpix35',
'vpix40',
'vpix45',
'vpix50',
'vpix55',
'vpix60',
941 'pix20',
'pix50',
'pix100',
'pix200',
'pix500',
'pix1000',
942 'nototpix20',
'nototpix30',
'nototpix50',
'nototpix70',
'nototpix100',
'nototpix200',
'nototpix500'],
943 'pileupInfo' : [
'pusup0',
'pusup7',
'pusup10',
'pusup15',
'pusup20',
'pusup30',
'pusup40',
'pusup50',
'pusup60',
'pusup70',
'pusup80',
'pusup90',
'pusup100',
'pusup110',
'pusup120',
'pusup130',
'pusup150',
'pusup180',
'pusup190',
944 'pusup200',
'pusup220',
'pusup240',
'pusup250',
'pusup260',
'pusup270',
'pusup280',
'pusup290',
'pusup300'],
945 'hypoTrkInfo' : [
'trk3',
'trk5',
'trk10',
'trk15',
'trk20',
'trk25',
'trk30',
'trk35',
'trk40',
'trk45',
'trk50',
'trk55',
'trk60',
'trk65',
'trk70',
'trk75',
'trk80',
'trk90',
946 'trk100',
'trk110',
'trk120',
'trk130',
'trk140',
'trk150',
'trk160',
'trk180',
'trk200',
'trk220',
'trk240',
'trk260',
'trk280',
'trk290',
947 '2trk6',
'1trk4',
'1trk5',
'1trk2',
'0trk2'],
948 'hypoPtInfo' : [
'pt0p2',
'pt0p5',
'pt1',
'pt2',
'pt4',
'pt6',
'pt8',
'pt10' ],
949 'recoAlg' : [
'mbts',
'sptrk',
'sp',
'noalg',
'perf',
'hmt',
'hmtperf',
'idperf',
'zdcperf',
'afprec',
'afptof',
'afpdz5',
'afpdz10',
'excl',
'pixsptrk'],
950 'addInfo' : [
'peb',
'pc'],
951 'sigFolder' : [
'MinBias'],
952 'subSigs' : [
'MinBias'],
956 MinBiasChainParts_Default = {
957 'signature' : [
'MinBias'],
958 'alignmentGroup' : [
'MinBias'],
960 'chainPartName' :
'',
975 'sigFolder' : [
'MinBias'],
976 'subSigs' : [
'MinBias'],
984 HeavyIonChainParts = {
985 'signature' : [
'HeavyIon'],
986 'alignmentGroup' : [
'HeavyIon'],
988 'chainPartName' :
'',
996 'eventShapeVeto' : [],
1000 'hypoEFsumEtInfo': [],
1001 'hypoFgapInfo' : [
'FgapAC3',
'FgapAC5',
'FgapAC10',
'FgapA3',
'FgapA5',
'FgapA10',
'FgapC3',
'FgapC5',
'FgapC10'],
1002 'hypoUCCInfo' : [
'uccTh1',
'uccTh2',
'uccTh3'],
1005 'sigFolder' : [
'HeavyIon'],
1006 'subSigs' : [
'HeavyIon'],
1011 HeavyIonChainParts_Default = {
1012 'signature' : [
'HeavyIon'],
1013 'alignmentGroup' : [
'HeavyIon'],
1015 'chainPartName' :
'',
1016 'multiplicity' :
'',
1023 'eventShapeVeto' :
'',
1027 'hypoEFsumEtInfo':
'',
1028 'hypoFgapInfo' : [],
1032 'sigFolder' : [
'HeavyIon'],
1033 'subSigs' : [
'HeavyIon'],
1040 AllowedCosmicChainIdentifiers = [
'larps',
'larhec',
1044 CosmicChainParts = {
1045 'signature' : [
'Cosmic'],
1046 'alignmentGroup' : [
'Cosmic'],
1047 'chainPartName' :
'',
1049 'purpose' : AllowedCosmicChainIdentifiers,
1050 'addInfo' : [
'cosmicid',
'noise',
'beam',
'laser',
'AllTE',
'central',
'ds',
'CIS'],
1051 'trackingAlg' : [
'idscan',
'sitrack',
'trtxk'],
1054 'multiplicity' :
'',
1055 'trigType' :
'cosmic',
1057 'sigFolder' : [
'CalibCosmicMon'],
1058 'subSigs' : [
'Cosmic'],
1063 CosmicChainParts_Default = {
1064 'signature' : [
'Cosmic'],
1065 'alignmentGroup' : [
'Cosmic'],
1066 'chainPartName' :
'',
1073 'multiplicity' :
'',
1076 'sigFolder' : [
'CalibCosmicMon'],
1077 'subSigs' : [
'Cosmic'],
1084 AllowedStreamingChainIdentifiers = [
'noalg']
1087 StreamingChainParts = {
1088 'signature' : [
'Streaming'],
1089 'alignmentGroup' : [
'Streaming'],
1090 'chainPartName' :
'',
1093 'multiplicity' :
'',
1098 'streamingInfo' : [
'laser',
'CIS',
'idmon',
'mb',
'l1calo',
'cosmicmuons',
'bkg',
'vdm',
'zb',
'eb'],
1099 'trigType' :
'streamer',
1101 'streamType' : AllowedStreamingChainIdentifiers,
1103 'sigFolder' : [
'CalibCosmicMon'],
1104 'subSigs' : [
'Streaming'],
1109 StreamingChainParts_Default = {
1110 'signature' : [
'Streaming'],
1111 'alignmentGroup' : [
'Streaming'],
1112 'chainPartName' :
'',
1115 'multiplicity' :
'',
1116 'streamingInfo' :
'',
1121 'sigFolder' : [
'CalibCosmicMon'],
1122 'subSigs' : [
'Streaming'],
1129 AllowedCalibChainIdentifiers = [
'csccalib',
'larcalib',
1130 'idcalib',
'l1calocalib',
1132 'larnoiseburst',
'ibllumi',
1133 'l1satmon',
'zdcpeb',
1134 'calibAFP',
'larpsallem',
'larpsall',
1135 'acceptedevts',
'metcalo',
'mettrk',
1142 'signature' : [
'Calib'],
1143 'alignmentGroup' : [
'Calib'],
1144 'chainPartName' :
'',
1146 'purpose' : AllowedCalibChainIdentifiers,
1147 'location' : [
'central',
'fwd'],
1148 'addInfo' : [
'loose',
'noise',
'beam'],
1149 'hypo' : [
'trk4',
'trk9',
'trk16',
'trk29',
'conej40',
'conej165',
'conej75_320eta490',
'conej140_320eta490',
'satu20em'],
1150 'streamingInfo' : [
'vdm',],
1152 'multiplicity' :
'',
1153 'trigType' : [
'trk'],
1154 'extra' : [
'bs',
''],
1155 'sigFolder' : [
'CalibCosmicMon'],
1156 'subSigs' : [
'Calib'],
1162 CalibChainParts_Default = {
1163 'signature' : [
'Calib'],
1164 'alignmentGroup' : [
'Calib'],
1165 'chainPartName' :
'',
1171 'streamingInfo' : [],
1173 'multiplicity' :
'',
1177 'sigFolder' : [
'CalibCosmicMon'],
1178 'subSigs' : [
'Calib'],
1185 AllowedMonitorChainIdentifiers = [
'robrequest',
'timeburner',
1186 'idmon',
'larsupercellmon',
1187 'l1calooverflow',
'l1topoPh1debug',
1188 'mistimemonl1bccorr',
'mistimemonl1bccorrnomu',
1189 'mistimemoncaltimenomu',
'mistimemoncaltime',
1190 'mistimemonj400',
'caloclustermon']
1193 MonitorChainParts = {
1194 'signature' : [
'Monitor'],
1195 'alignmentGroup' : [
'Monitor'],
1196 'chainPartName' :
'',
1198 'monType' : AllowedMonitorChainIdentifiers,
1199 'hypo' : [
'trkFS',],
1201 'multiplicity' :
'',
1202 'isLegacyL1' : [
'legacy'],
1205 'sigFolder' : [
'CalibCosmicMon'],
1206 'subSigs' : [
'Monitor'],
1211 MonitorChainParts_Default = {
1212 'signature' : [
'Monitor'],
1213 'alignmentGroup' : [
'Monitor'],
1214 'chainPartName' :
'',
1219 'multiplicity' :
'',
1223 'sigFolder' : [
'CalibCosmicMon'],
1224 'subSigs' : [
'Monitor'],
1231 AllowedEBChainIdentifiers = [
'eb']
1234 EnhancedBiasChainParts = {
1235 'signature' : [
'EnhancedBias'],
1236 'alignmentGroup' : [
'EnhancedBias'],
1237 'chainPartName' :
'',
1239 'algType' : [
'medium',
'firstempty',
'empty',
'unpairediso',
'unpairednoniso',
'low'],
1241 'multiplicity' :
'',
1244 'sigFolder' : [
'CalibCosmicMon'],
1245 'subSigs' : [
'EnhancedBias'],
1250 EnhancedBiasChainParts_Default = {
1251 'signature' : [
'EnhancedBias'],
1252 'alignmentGroup' : [
'EnhancedBias'],
1253 'chainPartName' :
'',
1255 'algType' :
'physics',
1257 'multiplicity' :
'',
1260 'sigFolder' : [
'CalibCosmicMon'],
1261 'subSigs' : [
'EnhancedBias'],
1268 AllowedBeamspotChainIdentifiers = [
'beamspot',]
1269 BeamspotChainParts = {
1270 'signature' : [
'Beamspot'],
1271 'alignmentGroup' : [
'Beamspot'],
1272 'chainPartName' :
'',
1274 'monType' : AllowedBeamspotChainIdentifiers,
1275 'location' : [
'vtx'],
1276 'addInfo' : [
'trkFS',
'allTE',
'activeTE',
'idperf'],
1278 'l2IDAlg' : [
'trkfast'],
1280 'multiplicity' :
'',
1281 'trigType' :
'beamspot',
1283 'sigFolder' : [
'CalibCosmicMon'],
1284 'subSigs' : [
'Beamspot'],
1286 'beamspotChain' : [],
1290 BeamspotChainParts_Default = {
1291 'signature' : [
'Beamspot'],
1292 'alignmentGroup' : [
'Beamspot'],
1293 'chainPartName' :
'',
1300 'multiplicity' :
'',
1304 'sigFolder' : [
'CalibCosmicMon'],
1305 'subSigs' : [
'Beamspot'],
1306 'chainPartIndex' : 0,
1307 'beamspotChain' :
'',
1314 UnconventionalTrackingChainParts = {
1315 'signature' : [
'UnconventionalTracking'],
1316 'alignmentGroup' : [
'UnconventionalTracking'],
1318 'chainPartName' : [],
1319 'multiplicity' :
'',
1320 'trigType' : [
'isotrk',
'fslrt',
'dedxtrk',
'hitdvjet',
'fsvsi',
'distrk',
'dispjet',
'dispvtx'],
1322 'IDinfo' : [
'loose',
'medium',
'tight',
'vloose'],
1323 'isoInfo' : [
'iaggrmedium',
'iaggrloose',
'imedium',
'iloose'],
1325 'addInfo' : [
'perf'],
1326 'dispjetConfig' : [
'3d2p',
'1p',
'x3d1p',
'2p'],
1327 'sigFolder' : [
'UnconventionalTracking'],
1328 'subSigs' : [
'UnconventionalTracking'],
1332 UnconventionalTrackingChainParts_Default = {
1333 'signature' : [
'UnconventionalTracking'],
1334 'alignmentGroup' : [
'UnconventionalTracking'],
1336 'chainPartName' : [],
1337 'multiplicity' :
'',
1344 'dispjetConfig' :
'',
1345 'sigFolder' : [
'UnconventionalTracking'],
1346 'subSigs' : [
'UnconventionalTracking'],
1353 AllowedTopos_comb = [
1354 'idZmumu',
'idJpsimumu',
1355 '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',
1356 'anomdet',
'anomdetL',
'anomdetM',
'anomdetT',
1357 '29dphiAA',
'29dphiAB',
'30dphiAA',
'30dphiAB',
1359 '1invmAB5',
'50invmAB130',
'50invmBC130',
1360 '25dphiAA',
'25dphiBB',
'25dphiCC',
'invmAA80',
1362 'invmAB10',
'10invmAB70',
1363 '7invmAB9',
'11invmAB60',
'11invmAB24',
'24invmAB60',
'7invmAA9',
'11invmAA60',
'11invmAA24',
'24invmAA60',
1368 CombinedChainParts = deepcopy(PhotonChainParts)
1369 CombinedChainParts[
'signature'] = [
'Photon',
'Muon']
1370 CombinedChainParts[
'chainParts'] = [
'g',
'mu'],
1371 CombinedChainParts[
'topo'] = AllowedTopos_comb
1373 CombinedChainParts_Default = deepcopy(PhotonChainParts_Default)
1374 CombinedChainParts_Default[
'signature'] = [
'Photon',
'Muon']
1375 CombinedChainParts_Default[
'chainParts'] = [
'g',
'mu'],
1376 CombinedChainParts_Default[
'trigType'] =
''
1377 CombinedChainParts_Default[
'topo'] = []
1383 AllowedTopos = AllowedTopos_e + AllowedTopos_g + AllowedTopos_mu + AllowedTopos_Bphysics + AllowedTopos_xe + AllowedTopos_tau + AllowedTopos_comb
1390 theMatchingTokens = []
1391 reverseSliceIDDict = { subvalue: key
for key, value
in SliceIDDict.items()
for subvalue
in ([value]
if not isinstance(value, list)
else value) }
1392 for sig,token
in SliceIDDict.items():
1393 token = token
if isinstance(token, list)
else [token]
1394 for subtoken
in token:
1395 if re.match(
r'^\d*'+subtoken+
r'\d*\w*$', chainpart):
1396 theMatchingTokens += [subtoken]
1397 if len(theMatchingTokens) > 0:
1398 return reverseSliceIDDict[
sorted(theMatchingTokens, key=
lambda x: len(x), reverse=
True)[0]]
1400 log.error(
'No signature matching chain part %s was found.', chainpart)
1402 raise Exception(
'[getSignatureNameFromToken] Cannot find signature from chain name, exiting.')
1411 if signature ==
'Electron':
1412 return [ElectronChainParts_Default, ElectronChainParts]
1413 if signature ==
'Photon':
1414 return [PhotonChainParts_Default, PhotonChainParts]
1415 if signature ==
"Jet":
1416 return [JetChainParts_Default, JetChainParts]
1417 if signature ==
"Bjet":
1418 return [bJetChainParts_Default, JetChainParts]
1419 if signature ==
"Beamspot_Jet":
1420 return [BeamspotJetChainParts_Default, JetChainParts]
1421 if signature ==
"Tau":
1422 return [TauChainParts_Default, TauChainParts]
1423 if (signature ==
"Muon"):
1424 return [MuonChainParts_Default, MuonChainParts]
1425 if (signature ==
"Bphysics"):
1426 return [BphysicsChainParts_Default, BphysicsChainParts]
1427 if (signature ==
"Combined"):
1428 return [CombinedChainParts_Default, CombinedChainParts]
1429 if signature ==
"MET":
1430 return [METChainParts_Default, METChainParts]
1431 if signature ==
"XS":
1432 return [XSChainParts_Default, XSChainParts]
1433 if signature ==
"TE":
1434 return [TEChainParts_Default, TEChainParts]
1435 if signature ==
"MinBias":
1436 return [MinBiasChainParts_Default, MinBiasChainParts]
1437 if signature ==
"HeavyIon":
1438 return [HeavyIonChainParts_Default, HeavyIonChainParts]
1439 if signature ==
"Cosmic":
1440 return [CosmicChainParts_Default, CosmicChainParts]
1441 if signature ==
"Calib":
1442 return [CalibChainParts_Default, CalibChainParts]
1443 if signature ==
"Streaming":
1444 return [StreamingChainParts_Default, StreamingChainParts]
1445 if signature ==
"Monitor":
1446 return [MonitorChainParts_Default, MonitorChainParts]
1447 if signature ==
"Beamspot":
1448 return [BeamspotChainParts_Default, BeamspotChainParts]
1449 if signature ==
"EnhancedBias":
1450 return [EnhancedBiasChainParts_Default, EnhancedBiasChainParts]
1451 if signature ==
"UnconventionalTracking":
1452 return [UnconventionalTrackingChainParts_Default, UnconventionalTrackingChainParts]
1453 if signature ==
"Test":
1454 return [TestChainParts_Default, TestChainParts]
1456 raise RuntimeError(
"ERROR Cannot find corresponding dictionary for signature", signature)
1464 for v
in SliceIDDict.values():
1465 if isinstance(v, list):
1468 allTrigTypes.append(v)
1470 possibleTT =
'|'.
join(allTrigTypes)
1471 pattern = re.compile(
r"(?P<multiplicity>\d*)(?P<trigType>(%s))(?P<threshold>\d+)(?P<extra>\w*)" % (possibleTT))