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 = {'ExpressCosmics' : 'SiStripCalZeroBias+TkAlCosmics0T',
2  'StreamExpress' : 'SiStripCalZeroBias+TkAlMinBias+SiStripPCLHistos+SiStripCalMinBias+DtCalib+Hotline',
3  'StreamExpressHI': 'SiStripCalZeroBias+TkAlMinBiasHI+SiStripPCLHistos+SiStripCalMinBias+DtCalibHI',
4  'MinimumBias' : 'SiStripCalMinBias+TkAlMinBias',
5  'Commissioning' : 'HcalCalIsoTrk',
6  'SingleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib',
7  'DoubleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
8  'MuOnia' : 'TkAlJpsiMuMu+TkAlUpsilonMuMu',
9  'SingleElectron' : 'EcalCalWElectron+EcalUncalWElectron',
10  'DoubleElectron' : 'EcalCalZElectron+EcalUncalZElectron',
11  'AlCaLumiPixels' : 'LumiPixels',
12  'DoubleMuParked' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
13  'MuOniaParked' : 'TkAlJpsiMuMu+TkAlUpsilonMuMu',
14  'Cosmics' : 'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
15  # These two cannot run on RAW, they are just meant to run on the dedicated AlcaRAW so they do not enter the allForPrompt list
16  'AlCaP0' : '',
17  # ---------------------------------------------------------------------------------------------------------------------------
18  'HcalNZS' : 'HcalCalMinBias'
19  # This is in the AlCaRecoMatrix, but no RelVals are produced
20  # 'TestEnablesTracker' : 'TkAlLAS'
21  }
22 
23 def buildList(pdList, matrix):
24  """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."""
25  alCaRecoList = []
26  for pd in pdList:
27  alCaRecoList.extend(matrix[pd].split("+"))
28  # remove duplicates converting to a set
29  alCaRecoList = set(alCaRecoList)
30  stringList = ''
31  for alCaReco in alCaRecoList:
32  if stringList == '':
33  stringList += alCaReco
34  else:
35  stringList += '+'+alCaReco
36  return stringList
37 
38 # Update the lists anytime a new PD is added to the matrix
39 autoAlca = { 'allForPrompt' : buildList(['MinimumBias', 'Commissioning', 'SingleMu', 'DoubleMu', 'MuOnia', 'DoubleMuParked', 'MuOniaParked', 'SingleElectron', 'DoubleElectron', 'HcalNZS'], AlCaRecoMatrix),
40  'allForExpress' : buildList(['StreamExpress'], AlCaRecoMatrix),
41  'allForExpressHI' : buildList(['StreamExpressHI'], AlCaRecoMatrix),
42  'allForPromptCosmics' : buildList(['Cosmics'], AlCaRecoMatrix),
43  'allForExpressCosmics' : buildList(['ExpressCosmics'], AlCaRecoMatrix) }
44 autoAlca.update(AlCaRecoMatrix)
def buildList
Definition: autoAlca.py:23
double split
Definition: MVATrainer.cc:139