CMS 3D CMS Logo

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  "MET" : "HcalCalNoise",
13  "MinimumBias" : "SiStripCalMinBias+TkAlMinBias",
14  "MuOnia" : "TkAlJpsiMuMu+TkAlUpsilonMuMu",
15  "MuOniaParked" : "TkAlJpsiMuMu+TkAlUpsilonMuMu",
16  "NoBPTX" : "TkAlCosmicsInCollisions",
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+SiStripCalMinBiasAAG+DtCalib+Hotline+LumiPixelsMinBias",
23  "StreamExpressHI": "SiStripCalZeroBias+TkAlMinBiasHI+SiStripPCLHistos+SiStripCalMinBias+SiStripCalMinBiasAAG+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 # this matrix will be used for the legacy reprocessing of the 2016 2016B-H dataset;
35 # with the exception of ZeroBias, it was also used for the 23Sept16 reprocessing of 2016B-G
36 AlCaRecoMatrixRereco = {'AlCaLumiPixels' : 'LumiPixels',
37  'Charmonium' : 'TkAlJpsiMuMu',
38  'Commissioning' : 'TkAlMinBias+SiStripCalMinBias+HcalCalIsoTrk+HcalCalIsolatedBunchSelector',
39  'Cosmics' : 'TkAlCosmics0T+MuAlGlobalCosmics+HcalCalHOCosmics+DtCalibCosmics',
40  'DoubleEG' : 'EcalUncalZElectron+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
41  'DoubleElectron' : 'EcalUncalZElectron+HcalCalIsoTrkFilter',
42  'DoubleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu+MuAlZMuMu+TkAlZMuMu+TkAlJpsiMuMu+TkAlUpsilonMuMu+HcalCalIsoTrkFilter',
43  'DoubleMuon' : 'TkAlZMuMu+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+DtCalib',
44  'DoubleMuParked' : 'MuAlCalIsolatedMu+MuAlOverlaps+DtCalib+TkAlZMuMu',
45  'HLTPhysics' : 'SiStripCalMinBias+TkAlMinBias+HcalCalIsoTrkFilter',
46  'JetHT' : 'HcalCalDijets+HcalCalIsoTrkFilter+HcalCalIsolatedBunchFilter',
47  'NoBPTX' : 'TkAlCosmicsInCollisions',
48  'MET' : 'HcalCalNoise',
49  'MinimumBias' : 'SiStripCalMinBias+TkAlMinBias',
50  'MuOnia' : 'TkAlUpsilonMuMu',
51  'SingleElectron' : 'EcalUncalWElectron+EcalUncalZElectron+EcalESAlign+HcalCalIterativePhiSym+HcalCalIsoTrkFilter',
52  'SingleMu' : 'MuAlCalIsolatedMu+MuAlOverlaps+TkAlMuonIsolated+DtCalib+MuAlZMuMu+HcalCalHO',
53  'SingleMuon' : 'TkAlMuonIsolated+DtCalib+MuAlCalIsolatedMu+MuAlOverlaps+MuAlZMuMu+HcalCalIterativePhiSym+HcalCalHO',
54  'SinglePhoton' : 'HcalCalGammaJet',
55  'ZeroBias' : 'SiStripCalZeroBias+TkAlMinBias+LumiPixelsMinBias+SiStripCalMinBias+SiStripCalMinBiasAfterAbortGap',
56  'HcalNZS' : 'HcalCalMinBias'
57  }
58 
59 def buildList(pdList, matrix):
60  """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."""
61  alCaRecoList = []
62  for pd in pdList:
63  alCaRecoList.extend(matrix[pd].split("+"))
64  # remove duplicates converting to a set
65  alCaRecoList = set(alCaRecoList)
66  stringList = ''
67  for alCaReco in alCaRecoList:
68  if stringList == '':
69  stringList += alCaReco
70  else:
71  stringList += '+'+alCaReco
72  return stringList
73 
74 # Update the lists anytime a new PD is added to the matrix
75 autoAlca = { 'allForPrompt' : buildList(['Charmonium', 'Commissioning', 'DoubleEG', 'DoubleElectron', 'DoubleMu', 'DoubleMuParked', 'DoubleMuon', 'HLTPhysics', 'HcalNZS', 'JetHT', 'MET', 'MinimumBias', 'MuOnia', 'MuOniaParked', 'NoBPTX' , 'SingleElectron', 'SingleMu', 'SingleMuon', 'SinglePhoton', 'ZeroBias'], AlCaRecoMatrix),
76  'allForExpress' : buildList(['StreamExpress'], AlCaRecoMatrix),
77  'allForExpressHI' : buildList(['StreamExpressHI'], AlCaRecoMatrix),
78  'allForPromptCosmics' : buildList(['Cosmics'], AlCaRecoMatrix),
79  'allForExpressCosmics' : buildList(['ExpressCosmics'], AlCaRecoMatrix) }
80 autoAlca.update(AlCaRecoMatrix)
def buildList(pdList, matrix)
Definition: autoAlca.py:59
double split
Definition: MVATrainer.cc:139