test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
autoAlca.py
Go to the documentation of this file.
1 AlCaRecoMatrix = {'AlCaLumiPixels' : 'LumiPixels',
2  'Charmonium' : 'TkAlJpsiMuMu',
3  'Commissioning' : 'HcalCalIsoTrk+HcalCalIsolatedBunchSelector',
4  'Cosmics' : 'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
5  'DoubleEG' : 'EcalCalZElectron+EcalUncalZElectron+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
6  'DoubleElectron' : 'EcalCalZElectron+EcalUncalZElectron+HcalCalIsoTrkFilter',
7  'DoubleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
8  'DoubleMuon' : 'TkAlZMuMu+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+DtCalib',
9  'DoubleMuParked' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
10  'HLTPhysics' : 'SiStripCalMinBias+TkAlMinBias+HcalCalIsoTrkFilter',
11  'JetHT' : 'HcalCalDijets+HcalCalIsoTrkFilter+HcalCalIsolatedBunchFilter',
12  'NoBPTX' : 'TkAlCosmicsInCollisions',
13  'MET' : 'HcalCalNoise',
14  'MinimumBias' : 'SiStripCalMinBias+TkAlMinBias',
15  'MuOnia' : 'TkAlJpsiMuMu+TkAlUpsilonMuMu',
16  'MuOniaParked' : 'TkAlJpsiMuMu+TkAlUpsilonMuMu',
17  'SingleElectron' : 'EcalCalWElectron+EcalUncalWElectron+EcalCalZElectron+EcalUncalZElectron+EcalESAlign+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
18  'SingleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib+MuAlZMuMu+HcalCalHO',
19  'SingleMuon' : 'TkAlMuonIsolated+DtCalib+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+HcalCalIterativePhiSym+HcalCalHBHEMuonFilter',
20  'SinglePhoton' : 'HcalCalGammaJet',
21  'ZeroBias' : 'SiStripCalZeroBias+TkAlMinBias+LumiPixelsMinBias+SiStripCalMinBias+EcalTrg',
22  'StreamExpress' : 'SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAfterAbortGap+DtCalib+Hotline+LumiPixelsMinBias',
23  'StreamExpressHI': 'SiStripCalZeroBias+TkAlMinBiasHI+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAfterAbortGap+DtCalibHI',
24  'ExpressCosmics' : 'SiStripCalZeroBias+TkAlCosmics0T',
25  # These two cannot run on RAW, they are just meant to run on the dedicated AlcaRAW so they do not enter the allForPrompt list
26  'AlCaP0' : '',
27  # ---------------------------------------------------------------------------------------------------------------------------
28  'HcalNZS' : 'HcalCalMinBias'
29  # This is in the AlCaRecoMatrix, but no RelVals are produced
30  # 'TestEnablesTracker' : 'TkAlLAS'
31  # 'TestEnablesEcalHcal' : 'HcalCalPedestal'
32  }
33 
34 AlCaRecoMatrixRereco = {'AlCaLumiPixels' : 'LumiPixels',
35  'Charmonium' : 'TkAlJpsiMuMu',
36  'Commissioning' : 'TkAlMinBias+SiStripCalMinBias+HcalCalIsoTrk+HcalCalIsolatedBunchSelector',
37  'Cosmics' : 'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
38  'DoubleEG' : 'EcalUncalZElectron+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
39  'DoubleElectron' : 'EcalUncalZElectron+HcalCalIsoTrkFilter',
40  'DoubleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu+MuAlZMuMu+TkAlZMuMu+TkAlJpsiMuMu+TkAlUpsilonMuMu+HcalCalIsoTrkFilter',
41  'DoubleMuon' : 'TkAlZMuMu+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+DtCalib',
42  'DoubleMuParked' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
43  'HLTPhysics' : 'SiStripCalMinBias+TkAlMinBias+HcalCalIsoTrkFilter',
44  'JetHT' : 'HcalCalDijets+HcalCalIsoTrkFilter+HcalCalIsolatedBunchFilter',
45  'NoBPTX' : 'TkAlCosmicsInCollisions',
46  'MET' : 'HcalCalNoise',
47  'MinimumBias' : 'SiStripCalMinBias+TkAlMinBias',
48  'MuOnia' : 'TkAlUpsilonMuMu',
49  'SingleElectron' : 'EcalUncalWElectron+EcalUncalZElectron+EcalESAlign+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
50  'SingleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib+MuAlZMuMu+HcalCalHO',
51  'SingleMuon' : 'TkAlMuonIsolated+DtCalib+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+HcalCalIterativePhiSym+HcalCalHO',
52  'SinglePhoton' : 'HcalCalGammaJet',
53  'ZeroBias' : 'SiStripCalZeroBias+TkAlMinBias+LumiPixelsMinBias+SiStripCalMinBias',
54  'HcalNZS' : 'HcalCalMinBias'
55  }
56 
57 def buildList(pdList, matrix):
58  """Takes a list of primary datasets (PDs) and the AlCaRecoMatrix (a dictinary) and returns a string with all the AlCaRecos for the selected PDs separated by the '+' character without duplicates."""
59  alCaRecoList = []
60  for pd in pdList:
61  alCaRecoList.extend(matrix[pd].split("+"))
62  # remove duplicates converting to a set
63  alCaRecoList = set(alCaRecoList)
64  stringList = ''
65  for alCaReco in alCaRecoList:
66  if stringList == '':
67  stringList += alCaReco
68  else:
69  stringList += '+'+alCaReco
70  return stringList
71 
72 # Update the lists anytime a new PD is added to the matrix
73 autoAlca = { 'allForPrompt' : buildList(['Charmonium', 'Commissioning', 'DoubleEG', 'DoubleElectron', 'DoubleMu', 'DoubleMuParked', 'DoubleMuon', 'HLTPhysics', 'HcalNZS', 'JetHT', 'MET', 'MinimumBias', 'MuOnia', 'MuOniaParked', 'NoBPTX', 'SingleElectron', 'SingleMu', 'SingleMuon', 'SinglePhoton', 'ZeroBias'], AlCaRecoMatrix),
74  'allForExpress' : buildList(['StreamExpress'], AlCaRecoMatrix),
75  'allForExpressHI' : buildList(['StreamExpressHI'], AlCaRecoMatrix),
76  'allForPromptCosmics' : buildList(['Cosmics'], AlCaRecoMatrix),
77  'allForExpressCosmics' : buildList(['ExpressCosmics'], AlCaRecoMatrix) }
78 autoAlca.update(AlCaRecoMatrix)
def buildList
Definition: autoAlca.py:57
double split
Definition: MVATrainer.cc:139