From fceae16b748f1ea5b0f8405b57812f806c1f17b4 Mon Sep 17 00:00:00 2001 From: lathomasexport Date: Wed, 15 Sep 2021 21:28:43 +0200 Subject: [PATCH 001/268] Fixing collection for producing unprefirable bit in NANO (master) --- PhysicsTools/NanoAOD/python/triggerObjects_cff.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PhysicsTools/NanoAOD/python/triggerObjects_cff.py b/PhysicsTools/NanoAOD/python/triggerObjects_cff.py index 466758e6b76d8..74ae64fba2906 100644 --- a/PhysicsTools/NanoAOD/python/triggerObjects_cff.py +++ b/PhysicsTools/NanoAOD/python/triggerObjects_cff.py @@ -254,7 +254,7 @@ src=cms.InputTag("gtStage2Digis"), legacyL1=cms.bool(False), storeUnprefireableBit=cms.bool(True), - src_ext=cms.InputTag("gtStage2Digis")) + src_ext=cms.InputTag("simGtExtUnprefireable")) triggerObjectTablesTask = cms.Task( unpackedPatTrigger,triggerObjectTable,l1bits) From 3c42a851dfc980f4ff794e37badf5e4f155f73b7 Mon Sep 17 00:00:00 2001 From: lathomasexport Date: Thu, 16 Sep 2021 11:07:31 +0200 Subject: [PATCH 002/268] Protection against missing collection --- PhysicsTools/NanoAOD/plugins/L1TriggerResultsConverter.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/PhysicsTools/NanoAOD/plugins/L1TriggerResultsConverter.cc b/PhysicsTools/NanoAOD/plugins/L1TriggerResultsConverter.cc index e7b250a3c8329..a7571de91856c 100644 --- a/PhysicsTools/NanoAOD/plugins/L1TriggerResultsConverter.cc +++ b/PhysicsTools/NanoAOD/plugins/L1TriggerResultsConverter.cc @@ -135,8 +135,12 @@ void L1TriggerResultsConverter::produce(edm::Event& iEvent, const edm::EventSetu if (store_unprefireable_bit_) { edm::Handle handleExtResults; iEvent.getByToken(token_ext_, handleExtResults); - if (handleExtResults->size() != 0) { - unprefireable_bit = handleExtResults->at(0, 0).getExternalDecision(GlobalExtBlk::maxExternalConditions - 1); + if (handleExtResults.isValid()) { + if (handleExtResults->size() != 0) { + unprefireable_bit = handleExtResults->at(0, 0).getExternalDecision(GlobalExtBlk::maxExternalConditions - 1); + } + } else { + LogDebug("Unprefirable bit not found, always set to false"); } } } else { From 55fd9dfaf053785274e6ed7f9d66727acfabdcd0 Mon Sep 17 00:00:00 2001 From: yongbinfeng Date: Tue, 28 Sep 2021 02:11:53 -0500 Subject: [PATCH 003/268] fix deepmet --- PhysicsTools/NanoAOD/python/met_cff.py | 3 +-- PhysicsTools/NanoAOD/python/nano_cff.py | 30 +++++-------------------- 2 files changed, 7 insertions(+), 26 deletions(-) diff --git a/PhysicsTools/NanoAOD/python/met_cff.py b/PhysicsTools/NanoAOD/python/met_cff.py index 8b6fec3693251..e429fcc42c54f 100644 --- a/PhysicsTools/NanoAOD/python/met_cff.py +++ b/PhysicsTools/NanoAOD/python/met_cff.py @@ -158,8 +158,7 @@ ) -metTablesTask = cms.Task( metTable, rawMetTable, caloMetTable, puppiMetTable, rawPuppiMetTable, tkMetTable, chsMetTable) -deepMetTablesTask = cms.Task( deepMetResolutionTuneTable, deepMetResponseTuneTable ) +metTablesTask = cms.Task( metTable, rawMetTable, caloMetTable, puppiMetTable, rawPuppiMetTable, tkMetTable, chsMetTable, deepMetResolutionTuneTable, deepMetResponseTuneTable ) _withFixEE2017_task = cms.Task(metTablesTask.copy(), metFixEE2017Table) for modifier in run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2: modifier.toReplaceWith(metTablesTask,_withFixEE2017_task) # only in old miniAOD, the new ones will come from the UL rereco diff --git a/PhysicsTools/NanoAOD/python/nano_cff.py b/PhysicsTools/NanoAOD/python/nano_cff.py index d4f762e0ed287..cf6d1f2ceb0e8 100644 --- a/PhysicsTools/NanoAOD/python/nano_cff.py +++ b/PhysicsTools/NanoAOD/python/nano_cff.py @@ -143,41 +143,23 @@ def nanoAOD_addDeepInfo(process,addDeepBTag,addDeepFlavour): process.updatedJets.jetSource="selectedUpdatedPatJetsWithDeepInfo" return process -def nanoAOD_addDeepMET(process, addDeepMETProducer, ResponseTune_Graph): - if addDeepMETProducer: - # produce DeepMET on the fly if it is not in MiniAOD - print("add DeepMET Producers") - process.load('RecoMET.METPUSubtraction.deepMETProducer_cfi') -# process.deepMETsResolutionTune = process.deepMETProducer.clone() - process.deepMETsResponseTune = process.deepMETProducer.clone() - #process.deepMETsResponseTune.graph_path = 'RecoMET/METPUSubtraction/data/deepmet/deepmet_resp_v1_2018.pb' - process.deepMETsResponseTune.graph_path = ResponseTune_Graph.value() - process.metTablesTask.add(process.deepMetTablesTask) - return process from PhysicsTools.PatUtils.tools.runMETCorrectionsAndUncertainties import runMetCorAndUncFromMiniAOD def nanoAOD_recalibrateMETs(process,isData): - # add DeepMETs nanoAOD_DeepMET_switch = cms.PSet( - nanoAOD_addDeepMET_switch = cms.untracked.bool(True), # decide if DeeMET should be included in Nano - nanoAOD_produceDeepMET_switch = cms.untracked.bool(False), # decide if DeepMET should be computed on the fly ResponseTune_Graph = cms.untracked.string('RecoMET/METPUSubtraction/data/deepmet/deepmet_resp_v1_2018.pb') ) - for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016, run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2, run2_nanoAOD_102Xv1, run2_nanoAOD_106Xv1: - # compute DeepMETs in these eras (before 111X) - modifier.toModify(nanoAOD_DeepMET_switch, nanoAOD_produceDeepMET_switch = cms.untracked.bool(True)) for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016: modifier.toModify(nanoAOD_DeepMET_switch, ResponseTune_Graph=cms.untracked.string("RecoMET/METPUSubtraction/data/deepmet/deepmet_resp_v1_2016.pb")) - if nanoAOD_DeepMET_switch.nanoAOD_addDeepMET_switch: - process = nanoAOD_addDeepMET(process, - addDeepMETProducer=nanoAOD_DeepMET_switch.nanoAOD_produceDeepMET_switch, - ResponseTune_Graph=nanoAOD_DeepMET_switch.ResponseTune_Graph) - # if included in Nano, and not computed in the fly, then it should be extracted from minAOD - extractDeepMETs = nanoAOD_DeepMET_switch.nanoAOD_addDeepMET_switch and not nanoAOD_DeepMET_switch.nanoAOD_produceDeepMET_switch + print("add DeepMET Producers") + process.load('RecoMET.METPUSubtraction.deepMETProducer_cfi') + process.deepMETsResolutionTune = process.deepMETProducer.clone() + process.deepMETsResponseTune = process.deepMETProducer.clone() + process.deepMETsResponseTune.graph_path = ResponseTune_Graph.value() - runMetCorAndUncFromMiniAOD(process,isData=isData, extractDeepMETs=extractDeepMETs) + runMetCorAndUncFromMiniAOD(process,isData=isData) process.nanoSequenceCommon.insert(2,cms.Sequence(process.fullPatMetSequence)) From f48e01501985e75818a883868c4bbd8b277f5080 Mon Sep 17 00:00:00 2001 From: Yongbin Feng Date: Tue, 28 Sep 2021 16:26:36 +0200 Subject: [PATCH 004/268] minor fix --- PhysicsTools/NanoAOD/python/nano_cff.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PhysicsTools/NanoAOD/python/nano_cff.py b/PhysicsTools/NanoAOD/python/nano_cff.py index cf6d1f2ceb0e8..23de15d98e814 100644 --- a/PhysicsTools/NanoAOD/python/nano_cff.py +++ b/PhysicsTools/NanoAOD/python/nano_cff.py @@ -157,7 +157,7 @@ def nanoAOD_recalibrateMETs(process,isData): process.load('RecoMET.METPUSubtraction.deepMETProducer_cfi') process.deepMETsResolutionTune = process.deepMETProducer.clone() process.deepMETsResponseTune = process.deepMETProducer.clone() - process.deepMETsResponseTune.graph_path = ResponseTune_Graph.value() + process.deepMETsResponseTune.graph_path = nanoAOD_DeepMET_switch.ResponseTune_Graph.value() runMetCorAndUncFromMiniAOD(process,isData=isData) process.nanoSequenceCommon.insert(2,cms.Sequence(process.fullPatMetSequence)) From 3d6551e6d50c0df74d537935d59b3be9521cdc32 Mon Sep 17 00:00:00 2001 From: Nicola Amapane Date: Wed, 20 Oct 2021 19:35:01 +0200 Subject: [PATCH 005/268] add intermediate bosons to LHE collection in nanoAOD --- PhysicsTools/NanoAOD/plugins/LHETablesProducer.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PhysicsTools/NanoAOD/plugins/LHETablesProducer.cc b/PhysicsTools/NanoAOD/plugins/LHETablesProducer.cc index 735b78858e14b..f99d453815838 100644 --- a/PhysicsTools/NanoAOD/plugins/LHETablesProducer.cc +++ b/PhysicsTools/NanoAOD/plugins/LHETablesProducer.cc @@ -70,7 +70,7 @@ class LHETablesProducer : public edm::global::EDProducer<> { for (unsigned int i = 0, n = pup.size(); i < n; ++i) { int status = hepeup.ISTUP[i]; int idabs = std::abs(hepeup.IDUP[i]); - if (status == 1 || status == -1) { + if (status == 1 || status == -1 || (status == 2 && (idabs >= 23 && idabs <= 25))) { TLorentzVector p4(pup[i][0], pup[i][1], pup[i][2], pup[i][3]); // x,y,z,t vals_pid.push_back(hepeup.IDUP[i]); vals_spin.push_back(hepeup.SPINUP[i]); From 8e1fc937dca86eefaa1c87a70014da36c816230a Mon Sep 17 00:00:00 2001 From: Massimiliano Galli Date: Thu, 28 Oct 2021 10:42:29 +0200 Subject: [PATCH 006/268] Fix: exclude main PV from OtherPV_z in nano --- PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc b/PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc index ca776d47ae56c..dc3f699c57c97 100644 --- a/PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc +++ b/PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc @@ -136,7 +136,7 @@ void VertexTableProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSe std::make_unique((*pvsIn).size() > 4 ? 3 : (*pvsIn).size() - 1, "Other" + pvName_, false); std::vector pvsz; for (size_t i = 1; i < (*pvsIn).size() && i < 4; i++) - pvsz.push_back((*pvsIn)[i - 1].position().z()); + pvsz.push_back((*pvsIn)[i].position().z()); otherPVsTable->addColumn("z", pvsz, "Z position of other primary vertices, excluding the main PV", 8); edm::Handle> svsIn; From eb31c6acc71f764a0d49c8e9c230e626b6e86ad4 Mon Sep 17 00:00:00 2001 From: Massimiliano Galli Date: Thu, 28 Oct 2021 09:29:00 +0200 Subject: [PATCH 007/268] Add scores for other vertices --- PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc b/PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc index dc3f699c57c97..55bce4e8ed283 100644 --- a/PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc +++ b/PhysicsTools/NanoAOD/plugins/VertexTableProducer.cc @@ -135,9 +135,13 @@ void VertexTableProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSe auto otherPVsTable = std::make_unique((*pvsIn).size() > 4 ? 3 : (*pvsIn).size() - 1, "Other" + pvName_, false); std::vector pvsz; - for (size_t i = 1; i < (*pvsIn).size() && i < 4; i++) + std::vector pvscores; + for (size_t i = 1; i < (*pvsIn).size() && i < 4; i++) { pvsz.push_back((*pvsIn)[i].position().z()); + pvscores.push_back((*pvsScoreIn).get(pvsIn.id(), i)); + } otherPVsTable->addColumn("z", pvsz, "Z position of other primary vertices, excluding the main PV", 8); + otherPVsTable->addColumn("score", pvscores, "scores of other primary vertices, excluding the main PV", 8); edm::Handle> svsIn; iEvent.getByToken(svs_, svsIn); From 045cd9efed6521d848f5fb2b68cf6efbaf09ed9f Mon Sep 17 00:00:00 2001 From: Massimiliano Galli Date: Fri, 29 Oct 2021 09:34:30 +0200 Subject: [PATCH 008/268] Add other vertices score to DQM --- PhysicsTools/NanoAOD/python/nanoDQM_cfi.py | 1 + 1 file changed, 1 insertion(+) diff --git a/PhysicsTools/NanoAOD/python/nanoDQM_cfi.py b/PhysicsTools/NanoAOD/python/nanoDQM_cfi.py index d7bcda94674c6..9a2c7572ce5f1 100644 --- a/PhysicsTools/NanoAOD/python/nanoDQM_cfi.py +++ b/PhysicsTools/NanoAOD/python/nanoDQM_cfi.py @@ -551,6 +551,7 @@ plots = cms.VPSet( NoPlot('_size'), Plot1D('z', 'z', 20, -20, 20, 'Z position of other primary vertices, excluding the main PV'), + Plot1D('score', 'score', 20, 0, 300000, 'scores of other primary vertices, excluding the main PV'), ) ), PPSLocalTrack = cms.PSet( From 856746872c99eb3a6c180e284574c0e6fd7a088c Mon Sep 17 00:00:00 2001 From: Kevin Pedro Date: Tue, 9 Nov 2021 22:15:59 +0100 Subject: [PATCH 009/268] consistent implementation of nano step for Run 3 --- .../python/relval_steps.py | 4 +- .../python/relval_upgrade.py | 10 +-- .../python/upgradeWorkflowComponents.py | 67 ++++++++++++++----- 3 files changed, 57 insertions(+), 24 deletions(-) diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index 9bf9d39181406..cfb3034fd8146 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -3495,7 +3495,7 @@ def gen2021HiMix(fragment,howMuch): '--filetype':'DQM', } - upgradeStepDict['HARVESTRecNan'][k]={'-s':'HARVESTING:@standardValidation+@standardDQM+@ExtraHLT+@miniAODValidation+@miniAODDQM+@nanoAODDQM', + upgradeStepDict['HARVESTNano'][k]={'-s':'HARVESTING:@standardValidation+@standardDQM+@ExtraHLT+@miniAODValidation+@miniAODDQM+@nanoAODDQM', '--conditions':gt, '--mc':'', '--geometry' : geom, @@ -3546,7 +3546,7 @@ def gen2021HiMix(fragment,howMuch): '--geometry' : geom } - upgradeStepDict['RecNan'][k] = {'-s':'RAW2DIGI,L1Reco,RECO,RECOSIM,EI,PAT,NANO,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@nanoAODDQM', + upgradeStepDict['RecoNano'][k] = {'-s':'RAW2DIGI,L1Reco,RECO,RECOSIM,EI,PAT,NANO,VALIDATION:@standardValidation+@miniAODValidation,DQM:@standardDQM+@ExtraHLT+@miniAODDQM+@nanoAODDQM', '--conditions':gt, '--datatier':'GEN-SIM-RECO,MINIAODSIM,NANOAODSIM,DQMIO', '-n':'10', diff --git a/Configuration/PyReleaseValidation/python/relval_upgrade.py b/Configuration/PyReleaseValidation/python/relval_upgrade.py index 341102308fc28..7467312510e5d 100644 --- a/Configuration/PyReleaseValidation/python/relval_upgrade.py +++ b/Configuration/PyReleaseValidation/python/relval_upgrade.py @@ -46,8 +46,9 @@ def makeStepName(key,frag,step,suffix): # hack to add an extra step if 'ProdLike' in specialType: if 'Reco' in step: # handles both Reco and RecoGlobal - stepList[specialType].append(stepMaker(key,frag[:-4],step.replace('RecoGlobal','MiniAOD').replace('Reco','MiniAOD'),specialWF.suffix)) - stepList[specialType].append(stepMaker(key,frag[:-4],step.replace('RecoGlobal','Nano').replace('Reco','Nano'),specialWF.suffix)) + stepList[specialType].append(stepMaker(key,frag[:-4],step.replace('RecoGlobal','MiniAOD').replace('RecoNano','MiniAOD').replace('Reco','MiniAOD'),specialWF.suffix)) + if 'RecoNano' in step: + stepList[specialType].append(stepMaker(key,frag[:-4],step.replace('RecoNano','Nano'),specialWF.suffix)) # similar hacks for premixing if 'PMX' in specialType: if 'GenSim' in step: @@ -60,11 +61,6 @@ def makeStepName(key,frag,step,suffix): else: stepList[specialType][-1] = stepMade else: stepList[specialType].append(stepMaker(key,frag[:-4],step,'')) - - if specialType in ['baseline']: - for ist, st in enumerate(stepList[specialType]): - if st.split('_')[0] == 'Reco': stepList[specialType][ist] = st.replace('Reco', 'RecNan') - elif st.split('_')[0] == 'HARVEST': stepList[specialType][ist] = st.replace('HARVEST', 'HARVESTRecNan') for specialType,specialWF in upgradeWFs.items(): # remove other steps for premixS1 diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index c18e59bcf4ff5..ea2c39eee079a 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -152,7 +152,7 @@ def setup_(self, step, stepName, stepDict, k, properties): if cust is not None: stepDict[stepName][k]['--customise']=cust if era is not None: stepDict[stepName][k]['--era']=era - if 'RecNan' in stepName: stepDict[stepName][k]['--era'] += ',run3_nanoAOD_devel' + if 'RecoNano' in stepName: stepDict[stepName][k]['--era'] += ',run3_nanoAOD_devel' if modifier is not None: stepDict[stepName][k]['--procModifier']=modifier def condition(self, fragment, stepList, key, hasHarvest): return True @@ -168,16 +168,16 @@ def condition(self, fragment, stepList, key, hasHarvest): 'Reco', 'RecoFakeHLT', 'RecoGlobal', + 'RecoNano', 'HARVEST', 'HARVESTFakeHLT', - 'HARVESTRecNan', + 'HARVESTNano', 'FastSim', 'HARVESTFast', 'HARVESTGlobal', 'ALCA', 'Nano', 'MiniAOD', - 'RecNan', ], PU = [ 'DigiTrigger', @@ -186,13 +186,13 @@ def condition(self, fragment, stepList, key, hasHarvest): 'Digi', 'Reco', 'RecoFakeHLT', + 'RecoNano', 'HARVEST', 'HARVESTFakeHLT', - 'HARVESTRecNan', + 'HARVESTNano', 'HARVESTGlobal', 'MiniAOD', 'Nano', - 'RecNan', ], suffix = '', offset = 0.0, @@ -221,6 +221,8 @@ def setup_(self, step, stepName, stepDict, k, properties): 'HARVEST', 'RecoGlobal', 'HARVESTGlobal', + 'RecoNano', + 'HARVESTNano', ], PU = [], suffix = '_trackingOnly', @@ -294,6 +296,8 @@ def condition_(self, fragment, stepList, key, hasHarvest): 'HARVEST', 'RecoGlobal', 'HARVESTGlobal', + 'RecoNano', + 'HARVESTNano', ], PU = [], suffix = '_pixelTrackingOnly', @@ -317,6 +321,7 @@ def condition_(self, fragment, stepList, key, hasHarvest): 'DigiTrigger', 'Reco', 'RecoGlobal', + 'RecoNano', ], PU = [], suffix = '_trackingMkFit', @@ -347,6 +352,8 @@ def condition(self, fragment, stepList, key, hasHarvest): 'HARVEST', 'RecoGlobal', 'HARVESTGlobal', + 'RecoNano', + 'HARVESTNano', ], PU = [], suffix = '_seedingDeepCore', @@ -382,9 +389,11 @@ def condition(self, fragment, stepList, key, hasHarvest): upgradeWFs['trackdnn'] = UpgradeWorkflow_trackdnn( steps = [ 'Reco', + 'RecoNano', ], PU = [ 'Reco', + 'RecoNano', ], suffix = '_trackdnn', offset = 0.91, @@ -402,16 +411,18 @@ def condition(self, fragment, stepList, key, hasHarvest): upgradeWFs['mlpf'] = UpgradeWorkflow_mlpf( steps = [ 'Reco', + 'RecoNano', ], PU = [ 'Reco', + 'RecoNano', ], suffix = '_mlpf', offset = 0.13, ) upgradeWFs['mlpf'].step3 = { - '--datatier': 'GEN-SIM-RECO,RECOSIM,MINIAODSIM,DQMIO', - '--eventcontent': 'FEVTDEBUGHLT,RECOSIM,MINIAODSIM,DQM', + '--datatier': 'GEN-SIM-RECO,RECOSIM,MINIAODSIM,NANOAODSIM,DQMIO', + '--eventcontent': 'FEVTDEBUGHLT,RECOSIM,MINIAODSIM,NANOEDMAODSIM,DQM', '--procModifiers': 'mlpf' } @@ -433,6 +444,8 @@ def __init__(self, digi = {}, reco = {}, harvest = {}, **kwargs): 'HARVESTFakeHLT', 'RecoGlobal', 'HARVESTGlobal', + 'RecoNano', + 'HARVESTNano', ], PU = [], **kwargs) @@ -736,10 +749,10 @@ def setup_(self, step, stepName, stepDict, k, properties): elif 'MiniAOD' in step: # the separate miniAOD step is used here stepDict[stepName][k] = deepcopy(stepDict[step][k]) - if 'ALCA' in step or 'HARVEST' in step: + elif 'ALCA' in step or 'HARVEST' in step: # remove step stepDict[stepName][k] = None - if 'Nano' in step: + elif 'Nano' in step: stepDict[stepName][k] = merge([{'--filein':'file:step4.root','-s':'NANO','--datatier':'NANOAODSIM','--eventcontent':'NANOEDMAODSIM'}, stepDict[step][k]]) def condition(self, fragment, stepList, key, hasHarvest): return fragment=="TTbar_14TeV" and ('2026' in key or '2021' in key) @@ -750,8 +763,10 @@ def condition(self, fragment, stepList, key, hasHarvest): 'DigiTrigger', 'Reco', 'RecoGlobal', + 'RecoNano', 'HARVEST', 'HARVESTGlobal', + 'HARVESTNano', 'MiniAOD', 'ALCA', 'Nano', @@ -762,8 +777,10 @@ def condition(self, fragment, stepList, key, hasHarvest): 'DigiTrigger', 'Reco', 'RecoGlobal', + 'RecoNano', 'HARVEST', 'HARVESTGlobal', + 'HARVESTNano', 'MiniAOD', 'ALCA', 'Nano', @@ -863,12 +880,16 @@ def condition(self, fragment, stepList, key, hasHarvest): 'Digi', 'Reco', 'HARVEST', + 'RecoNano', + 'HARVESTNano', 'ALCA', ], PU = [ 'Digi', 'Reco', 'HARVEST', + 'RecoNano', + 'HARVESTNano', ], suffix = '_0T', offset = 0.24, @@ -1040,6 +1061,7 @@ def workflow_(self, workflows, num, fragment, stepList, key): 'RecoLocal', 'Reco', 'RecoGlobal', + 'RecoNano', 'Nano', ], suffix = '_PMXS2', @@ -1057,6 +1079,7 @@ def workflow_(self, workflows, num, fragment, stepList, key): 'RecoLocal', 'Reco', 'RecoGlobal', + 'RecoNano', 'Nano', ], suffix = '_PMXS1S2', @@ -1123,9 +1146,11 @@ def condition(self, fragment, stepList, key, hasHarvest): 'RecoLocal', 'Reco', 'RecoGlobal', + 'RecoNano', 'Nano', 'HARVEST', 'HARVESTGlobal', + 'HARVESTNano', 'MiniAOD', 'ALCA', ], @@ -1144,9 +1169,11 @@ def condition(self, fragment, stepList, key, hasHarvest): 'RecoLocal', 'Reco', 'RecoGlobal', + 'RecoNano', 'Nano', 'HARVEST', 'HARVESTGlobal', + 'HARVESTNano', 'MiniAOD', 'ALCA', ], @@ -1173,8 +1200,10 @@ def condition(self, fragment, stepList, key, hasHarvest): 'DigiTrigger', 'Reco', 'RecoGlobal', + 'RecoNano', 'HARVEST', 'HARVESTGlobal', + 'HARVESTNano', 'ALCA', ], PU = [], @@ -1200,8 +1229,10 @@ def condition(self, fragment, stepList, key, hasHarvest): 'DigiTrigger', 'Reco', 'RecoGlobal', + 'RecoNano', 'HARVEST', 'HARVESTGlobal', + 'HARVESTNano', 'ALCA', ], PU = [], @@ -1225,8 +1256,10 @@ def condition(self, fragment, stepList, key, hasHarvest): 'DigiTrigger', 'Reco', 'RecoGlobal', + 'RecoNano', 'HARVEST', 'HARVESTGlobal', + 'HARVESTNano', 'ALCA', ], PU = [], @@ -1250,8 +1283,10 @@ def condition(self, fragment, stepList, key, hasHarvest): 'DigiTrigger', 'Reco', 'RecoGlobal', + 'RecoNano', 'HARVEST', 'HARVESTGlobal', + 'HARVESTNano', 'ALCA', ], PU = [ @@ -1262,8 +1297,10 @@ def condition(self, fragment, stepList, key, hasHarvest): 'DigiTrigger', 'Reco', 'RecoGlobal', + 'RecoNano', 'HARVEST', 'HARVESTGlobal', + 'HARVESTNano', 'ALCA', ], suffix = '_SonicTriton', @@ -1317,7 +1354,7 @@ def condition(self, fragment, stepList, key, hasHarvest): 'HLTmenu': '@relval2021', 'Era' : 'Run3', 'BeamSpot': 'Run3RoundOptics25ns13TeVLowSigmaZ', - 'ScenToRun' : ['GenSim','Digi','Reco','HARVEST','ALCA'], + 'ScenToRun' : ['GenSim','Digi','RecoNano','HARVESTNano','ALCA'], }, '2021Design' : { 'Geom' : 'DB:Extended', @@ -1325,7 +1362,7 @@ def condition(self, fragment, stepList, key, hasHarvest): 'HLTmenu': '@relval2021', 'Era' : 'Run3', 'BeamSpot': 'GaussSigmaZ4cm', - 'ScenToRun' : ['GenSim','Digi','Reco','HARVEST'], + 'ScenToRun' : ['GenSim','Digi','RecoNano','HARVESTNano'], }, '2023' : { 'Geom' : 'DB:Extended', @@ -1333,7 +1370,7 @@ def condition(self, fragment, stepList, key, hasHarvest): 'HLTmenu': '@relval2021', 'Era' : 'Run3', 'BeamSpot': 'Run3RoundOptics25ns13TeVLowSigmaZ', - 'ScenToRun' : ['GenSim','Digi','Reco','HARVEST','ALCA'], + 'ScenToRun' : ['GenSim','Digi','RecoNano','HARVESTNano','ALCA'], }, '2024' : { 'Geom' : 'DB:Extended', @@ -1341,7 +1378,7 @@ def condition(self, fragment, stepList, key, hasHarvest): 'HLTmenu': '@relval2021', 'Era' : 'Run3', 'BeamSpot': 'Run3RoundOptics25ns13TeVLowSigmaZ', - 'ScenToRun' : ['GenSim','Digi','Reco','HARVEST','ALCA'], + 'ScenToRun' : ['GenSim','Digi','RecoNano','HARVESTNano','ALCA'], }, } @@ -1349,8 +1386,8 @@ def condition(self, fragment, stepList, key, hasHarvest): for key in list(upgradeProperties[2017].keys()): upgradeProperties[2017][key+'PU'] = deepcopy(upgradeProperties[2017][key]) upgradeProperties[2017][key+'PU']['ScenToRun'] = ['GenSim','DigiPU'] + \ - (['RecoPU','HARVESTPU'] if '202' in key else ['RecoFakeHLTPU','HARVESTFakeHLTPU']) + \ - (['Nano'] if 'Design' not in key else []) + (['RecoNanoPU','HARVESTNanoPU'] if '202' in key else ['RecoFakeHLTPU','HARVESTFakeHLTPU']) + \ + (['Nano'] if 'Nano' in upgradeProperties[2017][key]['ScenToRun'] else []) upgradeProperties[2026] = { '2026D49' : { From e740b711ec5840bfbb706b2bb6455cf3c45e715f Mon Sep 17 00:00:00 2001 From: Sunanda Date: Thu, 11 Nov 2021 03:19:53 +0100 Subject: [PATCH 010/268] Use ESGetToken in EDAnalyzers of SimTracker/SiPhase2Digitizer --- .../plugins/PreMixingPhase2TrackerWorker.cc | 1 - .../test/PixelTestBeamValidation.cc | 27 +++++++------------ .../test/PixelTestBeamValidation.h | 9 +++++++ .../SiPhase2Digitizer/test/TBeamTest.cc | 26 +++++++++--------- 4 files changed, 30 insertions(+), 33 deletions(-) diff --git a/SimTracker/SiPhase2Digitizer/plugins/PreMixingPhase2TrackerWorker.cc b/SimTracker/SiPhase2Digitizer/plugins/PreMixingPhase2TrackerWorker.cc index 116a7261aa11a..e8a9c50cc1499 100644 --- a/SimTracker/SiPhase2Digitizer/plugins/PreMixingPhase2TrackerWorker.cc +++ b/SimTracker/SiPhase2Digitizer/plugins/PreMixingPhase2TrackerWorker.cc @@ -3,7 +3,6 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/ConsumesCollector.h" #include "FWCore/Framework/interface/ProducesCollector.h" #include "FWCore/Utilities/interface/RandomNumberGenerator.h" diff --git a/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.cc b/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.cc index 484edcce93521..9676e9848fb0b 100644 --- a/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.cc +++ b/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.cc @@ -9,16 +9,12 @@ // CMSSW Framework #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/ESWatcher.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" -#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" // CMSSW Data formats #include "DataFormats/Math/interface/CMSUnits.h" -#include "DataFormats/TrackerCommon/interface/TrackerTopology.h" #include "DataFormats/Common/interface/Handle.h" #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementPoint.h" @@ -50,7 +46,11 @@ PixelTestBeamValidation::PixelTestBeamValidation(const edm::ParameterSet& iConfi digiToken_(consumes>(iConfig.getParameter("PixelDigiSource"))), digiSimLinkToken_( consumes>(iConfig.getParameter("PixelDigiSimSource"))), - simTrackToken_(consumes(iConfig.getParameter("SimTrackSource"))) { + simTrackToken_(consumes(iConfig.getParameter("SimTrackSource"))), + topoToken_(esConsumes()), + geomToken_(esConsumes()), + topoBToken_(esConsumes()), + geomBToken_(esConsumes()) { LogDebug("PixelTestBeamValidation") << ">>> Construct PixelTestBeamValidation "; // The value to be used for ToT == 0 in electrons @@ -172,13 +172,8 @@ void PixelTestBeamValidation::analyze(const edm::Event& iEvent, const edm::Event } // Tracker geometry and topology - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - const TrackerTopology* topo = tTopoHandle.product(); - - edm::ESHandle geomHandle; - iSetup.get().get(geomType_, geomHandle); - const TrackerGeometry* tkGeom = geomHandle.product(); + const TrackerTopology* topo = &iSetup.getData(topoToken_); + const TrackerGeometry* tkGeom = &iSetup.getData(geomToken_); // Let's loop over the detectors for (auto const& dunit : tkGeom->detUnits()) { @@ -350,14 +345,10 @@ void PixelTestBeamValidation::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) { // Get Geometry to associate a folder to each Pixel subdetector - edm::ESHandle geomHandle; - iSetup.get().get(geomType_, geomHandle); - const TrackerGeometry* tkGeom = geomHandle.product(); + const TrackerGeometry* tkGeom = &iSetup.getData(geomBToken_); // Tracker Topology (layers, modules, side, etc..) - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - const TrackerTopology* topo = tTopoHandle.product(); + const TrackerTopology* topo = &iSetup.getData(topoBToken_); const std::string top_folder = config_.getParameter("TopFolderName"); diff --git a/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.h b/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.h index 9e85c5ad7f2c3..f179337714f92 100644 --- a/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.h +++ b/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.h @@ -33,6 +33,10 @@ #include "SimDataFormats/Track/interface/SimTrackContainer.h" #include "DataFormats/DetId/interface/DetId.h" +#include "DataFormats/TrackerCommon/interface/TrackerTopology.h" +#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" + // system #include #include @@ -185,5 +189,10 @@ class PixelTestBeamValidation : public DQMEDAnalyzer { const edm::EDGetTokenT> digiToken_; const edm::EDGetTokenT> digiSimLinkToken_; const edm::EDGetTokenT simTrackToken_; + const edm::ESGetToken topoToken_; + const edm::ESGetToken geomToken_; + const edm::ESGetToken topoBToken_; + const edm::ESGetToken geomBToken_; + }; #endif diff --git a/SimTracker/SiPhase2Digitizer/test/TBeamTest.cc b/SimTracker/SiPhase2Digitizer/test/TBeamTest.cc index bc3ebf899646d..13d9a79fa847c 100644 --- a/SimTracker/SiPhase2Digitizer/test/TBeamTest.cc +++ b/SimTracker/SiPhase2Digitizer/test/TBeamTest.cc @@ -20,7 +20,6 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/Utilities/interface/InputTag.h" #include "DQMServices/Core/interface/DQMEDAnalyzer.h" @@ -74,15 +73,17 @@ class TBeamTest : public DQMEDAnalyzer { void fillClusterWidth(DigiMEs& mes, float dphi, float width); edm::ParameterSet config_; std::map detMEs; - edm::InputTag otDigiSrc_; - edm::InputTag digiSimLinkSrc_; - edm::InputTag simTrackSrc_; - std::string geomType_; + const edm::InputTag otDigiSrc_; + const edm::InputTag digiSimLinkSrc_; + const edm::InputTag simTrackSrc_; + const std::string geomType_; - std::vector phiValues; + const std::vector phiValues; const edm::EDGetTokenT > otDigiToken_; const edm::EDGetTokenT > otDigiSimLinkToken_; const edm::EDGetTokenT simTrackToken_; + const edm::ESGetToken topoToken_; + const edm::ESGetToken geomToken_; }; // // constructors @@ -96,7 +97,9 @@ TBeamTest::TBeamTest(const edm::ParameterSet& iConfig) phiValues(iConfig.getParameter >("PhiAngles")), otDigiToken_(consumes >(otDigiSrc_)), otDigiSimLinkToken_(consumes >(digiSimLinkSrc_)), - simTrackToken_(consumes(simTrackSrc_)) { + simTrackToken_(consumes(simTrackSrc_)), + topoToken_(esConsumes()), + geomToken_(esConsumes(edm::ESInputTag{"", geomType_})) { edm::LogInfo("TBeamTest") << ">>> Construct TBeamTest "; } @@ -127,16 +130,11 @@ void TBeamTest::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) edm::Handle simTrackHandle; iEvent.getByToken(simTrackToken_, simTrackHandle); - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - const TrackerTopology* tTopo = tTopoHandle.product(); + const TrackerTopology* tTopo = &iSetup.getData(topoToken_); edm::ESWatcher theTkDigiGeomWatcher; if (theTkDigiGeomWatcher.check(iSetup)) { - edm::ESHandle geomHandle; - iSetup.get().get(geomType_, geomHandle); - - const TrackerGeometry* tkGeom = geomHandle.product(); + const TrackerGeometry* tkGeom = &iSetup.getData(geomToken_); edm::DetSetVector::const_iterator DSViter; std::string moduleType; From b8eb01c27782dad58686261d71e81430a3996738 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Thu, 11 Nov 2021 03:33:56 +0100 Subject: [PATCH 011/268] Code check --- SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.cc | 4 ++-- SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.h | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.cc b/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.cc index 9676e9848fb0b..023bbaa5b3ae4 100644 --- a/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.cc +++ b/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.cc @@ -49,8 +49,8 @@ PixelTestBeamValidation::PixelTestBeamValidation(const edm::ParameterSet& iConfi simTrackToken_(consumes(iConfig.getParameter("SimTrackSource"))), topoToken_(esConsumes()), geomToken_(esConsumes()), - topoBToken_(esConsumes()), - geomBToken_(esConsumes()) { + topoBToken_(esConsumes()), + geomBToken_(esConsumes()) { LogDebug("PixelTestBeamValidation") << ">>> Construct PixelTestBeamValidation "; // The value to be used for ToT == 0 in electrons diff --git a/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.h b/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.h index f179337714f92..26d0ab5fb4ee1 100644 --- a/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.h +++ b/SimTracker/SiPhase2Digitizer/test/PixelTestBeamValidation.h @@ -193,6 +193,5 @@ class PixelTestBeamValidation : public DQMEDAnalyzer { const edm::ESGetToken geomToken_; const edm::ESGetToken topoBToken_; const edm::ESGetToken geomBToken_; - }; #endif From 67c26fa32e743411b19a3130d83997d6e9b56dfd Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Thu, 11 Nov 2021 15:55:03 +0100 Subject: [PATCH 012/268] keep longer pair if among same layers --- .../PixelTriplets/plugins/gpuFishbone.h | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/RecoPixelVertexing/PixelTriplets/plugins/gpuFishbone.h b/RecoPixelVertexing/PixelTriplets/plugins/gpuFishbone.h index 9a3572df4e313..6183bf3917caa 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/gpuFishbone.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/gpuFishbone.h @@ -36,7 +36,7 @@ namespace gpuPixelDoublets { float x[maxCellsPerHit], y[maxCellsPerHit], z[maxCellsPerHit], n[maxCellsPerHit]; uint32_t cc[maxCellsPerHit]; uint16_t d[maxCellsPerHit]; - // uint8_t l[maxCellsPerHit]; + uint8_t l[maxCellsPerHit]; for (int idy = firstY, nt = nHits - offset; idy < nt; idy += gridDim.y * blockDim.y) { auto const& vc = isOuterHitOfCell[idy]; @@ -57,6 +57,7 @@ namespace gpuPixelDoublets { if (checkTrack && ci.tracks().empty()) continue; cc[sg] = vc[ic]; + l[sg] = ci.layerPairId(); d[sg] = ci.inner_detIndex(hh); x[sg] = ci.inner_x(hh) - xo; y[sg] = ci.inner_y(hh) - yo; @@ -71,17 +72,27 @@ namespace gpuPixelDoublets { auto& ci = cells[cc[ic]]; for (auto jc = ic + 1; jc < sg; ++jc) { auto& cj = cells[cc[jc]]; - // must be different detectors (in the same layer) + // must be different detectors // if (d[ic]==d[jc]) continue; - // || l[ic]!=l[jc]) continue; auto cos12 = x[ic] * x[jc] + y[ic] * y[jc] + z[ic] * z[jc]; if (d[ic] != d[jc] && cos12 * cos12 >= 0.99999f * n[ic] * n[jc]) { - // alligned: kill farthest (prefer consecutive layers) + // alligned: kill farthest (prefer consecutive layers) + // if same layer prefer farthest (longer level arm) + bool sameLayer = l[ic] == l[jc]; if (n[ic] > n[jc]) { - ci.kill(); - break; + if (sameLayer) { + cj.kill(); // closest + } else { + ci.kill(); // farthest + break; + } } else { - cj.kill(); + if (!sameLayer) { + cj.kill(); // farthest + } else { + ci.kill(); // closest + break; + } } } } // cj From 3c640c635132231a4fd33a31cee28769efaf73c1 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Fri, 12 Nov 2021 17:57:28 +0900 Subject: [PATCH 013/268] added first and last strip global position in GEMGeometryAnalyzer --- Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc b/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc index 1a843f14f68e7..4deeab335c5f2 100644 --- a/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc +++ b/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc @@ -231,6 +231,8 @@ void GEMGeometryAnalyzer::analyze(const edm::Event& /*iEvent*/, const edm::Event << " \t\tDimensions[cm]: b = " << bottomEdge * 2 << ", B = " << topEdge * 2 << ", h = " << height * 2 << endl << " \t\tnStrips = " << nStrips << ", nPads = " << nPads << endl + << " \t\tfirst strip pos = (" << roll->toGlobal(lEdge1).x() << ", " << roll->toGlobal(lEdge1).y() << ", " << roll->toGlobal(lEdge1).z() << ")"<< endl + << " \t\tlast strip pos = (" << roll->toGlobal(lEdgeN).x() << ", " << roll->toGlobal(lEdgeN).y() << ", " << roll->toGlobal(lEdgeN).z() << ")"<< endl << " \t\ttop(x,y,z)[cm] = (" << tx << ", " << ty << ", " << tz << "), top(eta,phi) = (" << teta << ", " << tphi << ")" << endl << " \t\tcenter(x,y,z)[cm] = (" << cx << ", " << cy << ", " << cz << "), center(eta,phi) = (" From 0ba02593414496aa0a0f4f5c7f13699204a7c42e Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Fri, 12 Nov 2021 18:03:53 +0900 Subject: [PATCH 014/268] code-checks --- Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc b/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc index 4deeab335c5f2..e3b385e6817d3 100644 --- a/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc +++ b/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc @@ -231,8 +231,10 @@ void GEMGeometryAnalyzer::analyze(const edm::Event& /*iEvent*/, const edm::Event << " \t\tDimensions[cm]: b = " << bottomEdge * 2 << ", B = " << topEdge * 2 << ", h = " << height * 2 << endl << " \t\tnStrips = " << nStrips << ", nPads = " << nPads << endl - << " \t\tfirst strip pos = (" << roll->toGlobal(lEdge1).x() << ", " << roll->toGlobal(lEdge1).y() << ", " << roll->toGlobal(lEdge1).z() << ")"<< endl - << " \t\tlast strip pos = (" << roll->toGlobal(lEdgeN).x() << ", " << roll->toGlobal(lEdgeN).y() << ", " << roll->toGlobal(lEdgeN).z() << ")"<< endl + << " \t\tfirst strip pos = (" << roll->toGlobal(lEdge1).x() << ", " + << roll->toGlobal(lEdge1).y() << ", " << roll->toGlobal(lEdge1).z() << ")" << endl + << " \t\tlast strip pos = (" << roll->toGlobal(lEdgeN).x() << ", " + << roll->toGlobal(lEdgeN).y() << ", " << roll->toGlobal(lEdgeN).z() << ")" << endl << " \t\ttop(x,y,z)[cm] = (" << tx << ", " << ty << ", " << tz << "), top(eta,phi) = (" << teta << ", " << tphi << ")" << endl << " \t\tcenter(x,y,z)[cm] = (" << cx << ", " << cy << ", " << cz << "), center(eta,phi) = (" From bac4903f4949f9c7404d8085bc2569c8c1a551ee Mon Sep 17 00:00:00 2001 From: calderon Date: Fri, 12 Nov 2021 10:48:07 +0100 Subject: [PATCH 015/268] minor changes --- .../Muon/python/EfficencyPlotter_cfi.py | 24 +++++++++---------- DQMOffline/Muon/python/muonMonitors_cff.py | 3 +-- DQMOffline/Muon/src/EfficiencyPlotter.cc | 2 +- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py index 2eec1a094e411..91542532f2721 100644 --- a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py +++ b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py @@ -12,9 +12,9 @@ etaMax = cms.double(2.5), phiMax = cms.double(3.2), ptMax = cms.double(100), - vtxBin = cms.int32(10), + vtxBin = cms.int32(30), vtxMin = cms.double(0.5), - vtxMax = cms.double(40.5), + vtxMax = cms.double(149.5), MuonID = cms.string("Loose") ) @@ -30,9 +30,9 @@ etaMax = cms.double(2.5), phiMax = cms.double(3.2), ptMax = cms.double(100), - vtxBin = cms.int32(10), + vtxBin = cms.int32(30), vtxMin = cms.double(0.5), - vtxMax = cms.double(40.5), + vtxMax = cms.double(149.5), MuonID = cms.string("Medium") ) @@ -48,9 +48,9 @@ etaMax = cms.double(2.5), phiMax = cms.double(3.2), ptMax = cms.double(100), - vtxBin = cms.int32(10), + vtxBin = cms.int32(30), vtxMin = cms.double(0.5), - vtxMax = cms.double(40.5), + vtxMax = cms.double(149.5), MuonID = cms.string("Tight") ) effPlotterLooseMiniAOD = DQMEDHarvester("EfficiencyPlotter", @@ -64,9 +64,9 @@ etaMax = cms.double(2.5), phiMax = cms.double(3.2), ptMax = cms.double(100), - vtxBin = cms.int32(10), + vtxBin = cms.int32(30), vtxMin = cms.double(0.5), - vtxMax = cms.double(40.5), + vtxMax = cms.double(149.5), MuonID = cms.string("Loose") ) @@ -82,9 +82,9 @@ etaMax = cms.double(2.5), phiMax = cms.double(3.2), ptMax = cms.double(100), - vtxBin = cms.int32(10), + vtxBin = cms.int32(30), vtxMin = cms.double(0.5), - vtxMax = cms.double(40.5), + vtxMax = cms.double(149.5), MuonID = cms.string("Medium") ) @@ -100,9 +100,9 @@ etaMax = cms.double(2.5), phiMax = cms.double(3.2), ptMax = cms.double(100), - vtxBin = cms.int32(10), + vtxBin = cms.int32(30), vtxMin = cms.double(0.5), - vtxMax = cms.double(40.5), + vtxMax = cms.double(149.5), MuonID = cms.string("Tight") ) diff --git a/DQMOffline/Muon/python/muonMonitors_cff.py b/DQMOffline/Muon/python/muonMonitors_cff.py index 17f295b6f00ed..7067d81c375e7 100644 --- a/DQMOffline/Muon/python/muonMonitors_cff.py +++ b/DQMOffline/Muon/python/muonMonitors_cff.py @@ -4,7 +4,7 @@ from DQM.TrackingMonitor.MonitorTrackSTAMuons_cfi import * from DQM.TrackingMonitor.MonitorTrackGLBMuons_cfi import * from DQM.TrackingMonitor.MonitorTrackInnerTrackMuons_cff import * -from DQMOffline.Muon.dtSegmTask_cfi import * + #dedicated analyzers for offline dqm from DQMOffline.Muon.muonAnalyzer_cff import * @@ -23,7 +23,6 @@ muonTrackAnalyzers = cms.Sequence(MonitorTrackSTAMuons*MonitorTrackGLBMuons*MonitorTrackINNMuons) muonMonitors = cms.Sequence(muonTrackAnalyzers* - dtSegmentsMonitor* cscMonitor* muonAnalyzer* muonIdDQM* diff --git a/DQMOffline/Muon/src/EfficiencyPlotter.cc b/DQMOffline/Muon/src/EfficiencyPlotter.cc index 9540323e0d53b..37a346153d449 100644 --- a/DQMOffline/Muon/src/EfficiencyPlotter.cc +++ b/DQMOffline/Muon/src/EfficiencyPlotter.cc @@ -59,7 +59,7 @@ void EfficiencyPlotter::dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter h_eff_inner_pt_ID = ibooker.book1D("Eff_inner_pt_" + ID_, ID_ + " Eff. vs pt", ptBin, ptMin, ptMax); h_eff_inner_eta_ID = ibooker.book1D("Eff_inner_eta_" + ID_, ID_ + " Eff. vs #eta", etaBin, etaMin, etaMax); h_eff_inner_phi_ID = ibooker.book1D("Eff_inner_phi_" + ID_, ID_ + " Eff. vs #phi", phiBin, phiMin, phiMax); - h_eff_hp_eta_ID = ibooker.book1D("Eff_hp_eta_" + ID_, "High Pt " + ID_ + " Eff. vs #eta", etaBin, etaMin, etaMax); + h_eff_hp_eta_ID = ibooker.book1D("Eff_hp_eta_" + ID_, "High Pt (Pt>20)" + ID_ + " Eff. vs #eta", etaBin, etaMin, etaMax); h_eff_phi_ID = ibooker.book1D("Eff_phi_" + ID_, ID_ + " Eff. vs #phi", phiBin, phiMin, phiMax); h_eff_pt_ID = ibooker.book1D("Eff_pt_" + ID_, ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax); h_eff_pt_EB_ID = ibooker.book1D("Eff_pt_EB_" + ID_, "Barrel: " + ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax); From 867d53749641bc42092bac9e8465d8c1844b9356 Mon Sep 17 00:00:00 2001 From: calderon Date: Fri, 12 Nov 2021 11:14:45 +0100 Subject: [PATCH 016/268] minor changes --- .../Muon/python/muonEfficiencyAnalyzer_cfi.py | 41 +++++++++++++------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py index 54f347ade0a4c..96d59c82e828c 100644 --- a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py +++ b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py @@ -24,8 +24,8 @@ phiMax = cms.double(3.2), phiMin = cms.double(-3.2), - vtxBin = cms.int32(10), - vtxMax = cms.double(40.5), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), vtxMin = cms.double(0.5), ID = cms.string("Tight"), @@ -52,8 +52,8 @@ phiMax = cms.double(3.2), phiMin = cms.double(-3.2), - vtxBin = cms.int32(10), - vtxMax = cms.double(40.5), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), vtxMin = cms.double(0.5), ID = cms.string("Tight"), @@ -82,8 +82,8 @@ phiMax = cms.double(3.2), phiMin = cms.double(-3.2), - vtxBin = cms.int32(10), - vtxMax = cms.double(40.5), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), vtxMin = cms.double(0.5), ID = cms.string("Loose"), @@ -111,8 +111,8 @@ phiMax = cms.double(3.2), phiMin = cms.double(-3.2), - vtxBin = cms.int32(10), - vtxMax = cms.double(40.5), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), vtxMin = cms.double(0.5), ID = cms.string("Loose"), @@ -142,13 +142,14 @@ phiMax = cms.double(3.2), phiMin = cms.double(-3.2), - vtxBin = cms.int32(10), - vtxMax = cms.double(40.5), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), vtxMin = cms.double(0.5), ID = cms.string("Medium"), folder = cms.string("Muons/EfficiencyAnalyzer/") ) + MediumMuonEfficiencyAnalyzer_miniAOD = DQMEDAnalyzer('EfficiencyAnalyzer', MuonServiceProxy, MuonCollection = cms.InputTag("slimmedMuons"), @@ -170,11 +171,27 @@ phiMax = cms.double(3.2), phiMin = cms.double(-3.2), - vtxBin = cms.int32(10), - vtxMax = cms.double(40.5), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), vtxMin = cms.double(0.5), ID = cms.string("Medium"), folder = cms.string("Muons_miniAOD/EfficiencyAnalyzer/") ) + + +TightMuonEfficiencyAnalyzer_Phase2=TightMuonEfficiencyAnalyzer.clone() +TightMuonEfficiencyAnalyzer_Phase2.vtxBin=20 +TightMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 +TightMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 + +LooseMuonEfficiencyAnalyzer_Phase2=TightMuonEfficiencyAnalyzer.clone() +LooseMuonEfficiencyAnalyzer_Phase2.vtxBin=20 +LooseMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 +LooseMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 + +MediumMuonEfficiencyAnalyzer_Phase2=TightMuonEfficiencyAnalyzer.clone() +MediumMuonEfficiencyAnalyzer_Phase2.vtxBin=30 +MediumMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 +MediumMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 From db1b0e1994aec9620e18723c23f4402ee9ca5a9f Mon Sep 17 00:00:00 2001 From: calderon Date: Fri, 12 Nov 2021 11:18:34 +0100 Subject: [PATCH 017/268] minor changes --- DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py index 96d59c82e828c..482f0f6271883 100644 --- a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py +++ b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py @@ -186,12 +186,12 @@ TightMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 TightMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 -LooseMuonEfficiencyAnalyzer_Phase2=TightMuonEfficiencyAnalyzer.clone() +LooseMuonEfficiencyAnalyzer_Phase2=LooseMuonEfficiencyAnalyzer.clone() LooseMuonEfficiencyAnalyzer_Phase2.vtxBin=20 LooseMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 LooseMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 -MediumMuonEfficiencyAnalyzer_Phase2=TightMuonEfficiencyAnalyzer.clone() +MediumMuonEfficiencyAnalyzer_Phase2=MediumMuonEfficiencyAnalyzer.clone() MediumMuonEfficiencyAnalyzer_Phase2.vtxBin=30 MediumMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 MediumMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 From 8089952fccfaa5e2f5d84a1ba2e5a6ccdfb0163e Mon Sep 17 00:00:00 2001 From: calderon Date: Fri, 12 Nov 2021 11:18:42 +0100 Subject: [PATCH 018/268] minor changes --- DQMOffline/Muon/python/EfficencyPlotter_cfi.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py index 91542532f2721..c8d412b801ecc 100644 --- a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py +++ b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py @@ -107,3 +107,20 @@ ) + +effPlotterLoose_Phase2=effPlotterLoose.clone() +effPlotterLoose_Phase2.vtxBin=20 +effPlotterLoose_Phase2.vtxMin=149.5 +effPlotterLoose_Phase2.vtxMax=249.5 + + +effPlotterMedium_Phase2=effPlotterMedium.clone() +effPlotterMedium_Phase2.vtxBin=20 +effPlotterMedium_Phase2.vtxMin=149.5 +effPlotterMedium_Phase2.vtxMax=249.5 + + +effPlotterTight_Phase2=effPlotterTight.clone() +effPlotterTight_Phase2.vtxBin=20 +effPlotterTight_Phase2.vtxMin=149.5 +effPlotterTight_Phase2.vtxMax=249.5 From e0cfdd376cb98afba5545c6f1d4583ec20f3a77f Mon Sep 17 00:00:00 2001 From: calderon Date: Fri, 12 Nov 2021 11:32:43 +0100 Subject: [PATCH 019/268] minor changes --- DQMOffline/Muon/python/muonAnalyzer_cff.py | 26 +++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/DQMOffline/Muon/python/muonAnalyzer_cff.py b/DQMOffline/Muon/python/muonAnalyzer_cff.py index 4f5b033a251ad..41c45fd71eb0e 100644 --- a/DQMOffline/Muon/python/muonAnalyzer_cff.py +++ b/DQMOffline/Muon/python/muonAnalyzer_cff.py @@ -23,12 +23,8 @@ TightMuonEfficiencyAnalyzer* muonPFsequence* muonRecoOneHLT) -from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel -from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon -phase2_muon.toReplaceWith(muonAnalyzer, muonAnalyzer.copyAndExclude([ # FIXME - muonEnergyDepositAnalyzer -])) + muonAnalyzer_miniAOD = cms.Sequence(muonRecoAnalyzer_miniAOD* muonKinVsEtaAnalyzer_miniAOD* @@ -49,3 +45,23 @@ MediumMuonEfficiencyAnalyzer* TightMuonEfficiencyAnalyzer* muonPFsequence) + + +_muonAnalyzer_phase2=muonAnalyzer.clone() +_muonAnalyzer_phase2 -= LooseMuonEfficiencyAnalyzer +_muonAnalyzer_phase2 -= MediumMuonEfficiencyAnalyzer +_muonAnalyzer_phase2 -= TightMuonEfficiencyAnalyzer +_muonAnalyzer_phase2 -= muonRecoOneHLT +_muonAnalyzer_phase2 += LooseMuonEfficiencyAnalyzer_Phase2 +_muonAnalyzer_phase2 += MediumMuonEfficiencyAnalyzer_Phase2 +_muonAnalyzer_phase2 += TightMuonEfficiencyAnalyzer_Phase2 + + + + + +from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel +from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon +phase2_muon.toReplaceWith(muonAnalyzer, _muonAnalyzer_phase2.copyAndExclude([ # FIXME + muonEnergyDepositAnalyzer +])) From 5e4f47ba95522af653565627a7e31960c8bd689b Mon Sep 17 00:00:00 2001 From: calderon Date: Fri, 12 Nov 2021 11:41:11 +0100 Subject: [PATCH 020/268] minor changes --- DQMOffline/Muon/python/EfficencyPlotter_cfi.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py index c8d412b801ecc..d7639bd69a094 100644 --- a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py +++ b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py @@ -124,3 +124,10 @@ effPlotterTight_Phase2.vtxBin=20 effPlotterTight_Phase2.vtxMin=149.5 effPlotterTight_Phase2.vtxMax=249.5 + + + +from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon +phase2_muon.toReplaceWith(effPlotterLoose, effPlotterLoose_Phase2) +phase2_muon.toReplaceWith(effPlotterMedium, effPlotterMedium_Phase2) +phase2_muon.toReplaceWith(effPlotterTight, effPlotterTight_Phase2) From 04c4ef2f8d6dda65b00fa4414091ac563872d22b Mon Sep 17 00:00:00 2001 From: calderon Date: Fri, 12 Nov 2021 11:46:19 +0100 Subject: [PATCH 021/268] minor changes --- DQMOffline/Muon/python/muonQualityTests_cff.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/DQMOffline/Muon/python/muonQualityTests_cff.py b/DQMOffline/Muon/python/muonQualityTests_cff.py index 6c747f36d5e24..368a6fc388e50 100644 --- a/DQMOffline/Muon/python/muonQualityTests_cff.py +++ b/DQMOffline/Muon/python/muonQualityTests_cff.py @@ -47,3 +47,13 @@ muonClientsQualityTests* muonTestSummary* triggerMatchEffPlotterTightMiniAOD) + + + +muonQualityTests_Phase2 = cms.Sequence(effPlotterLoose_Phase2* + effPlotterMedium_Phase2* + effPlotterTight_Phase2) + + +from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon +phase2_muon.toReplaceWith(muonQualityTests, muonQualityTests_Phase2) From 654223bde94f46c194a3a0bce71e1ace7eb92bbf Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Fri, 12 Nov 2021 14:54:15 +0100 Subject: [PATCH 022/268] use point closest to middle in fast fit --- .../PixelTrackFitting/interface/BrokenLine.h | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h b/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h index 4b661bad26681..25a3b2c17b266 100644 --- a/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h +++ b/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h @@ -154,8 +154,15 @@ namespace brokenline { riemannFit::Vector2d dVec; riemannFit::Vector2d eVec; - dVec = hits.block(0, 1, 2, 1) - hits.block(0, 0, 2, 1); - eVec = hits.block(0, n - 1, 2, 1) - hits.block(0, n - 2, 2, 1); + riemannFit::Vector2d middle = 0.5*(hits.block(0, n - 1, 2, 1)+hits.block(0, 0, 2, 1)); + + auto d1 = (hits.block(0, n/2, 2, 1)-middle).squaredNorm(); + auto d2 = (hits.block(0, n/2+1, 2, 1)-middle).squaredNorm(); + + int mId = d1 0 ? -1 : 1; const double slope = -results.qCharge / fast_fit(3); @@ -249,8 +256,15 @@ namespace brokenline { __host__ __device__ inline void fastFit(const M3xN& hits, V4& result) { constexpr uint32_t n = M3xN::ColsAtCompileTime; - const riemannFit::Vector2d a = hits.block(0, n / 2, 2, 1) - hits.block(0, 0, 2, 1); - const riemannFit::Vector2d b = hits.block(0, n - 1, 2, 1) - hits.block(0, n / 2, 2, 1); + riemannFit::Vector2d middle = 0.5*(hits.block(0, n - 1, 2, 1)+hits.block(0, 0, 2, 1)); + + auto d1 = (hits.block(0, n/2, 2, 1)-middle).squaredNorm(); + auto d2 = (hits.block(0, n/2+1, 2, 1)-middle).squaredNorm(); + + int mId = d1 Date: Fri, 12 Nov 2021 16:39:33 +0100 Subject: [PATCH 023/268] add fishbone hit to surviving cell --- .../PixelTrackFitting/interface/BrokenLine.h | 16 ++++++++-------- .../PixelTriplets/plugins/GPUCACell.h | 8 ++++++++ .../PixelTriplets/plugins/gpuFishbone.h | 4 +++- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h b/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h index 25a3b2c17b266..060042b632d18 100644 --- a/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h +++ b/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h @@ -154,12 +154,12 @@ namespace brokenline { riemannFit::Vector2d dVec; riemannFit::Vector2d eVec; - riemannFit::Vector2d middle = 0.5*(hits.block(0, n - 1, 2, 1)+hits.block(0, 0, 2, 1)); + riemannFit::Vector2d middle = 0.5 * (hits.block(0, n - 1, 2, 1) + hits.block(0, 0, 2, 1)); - auto d1 = (hits.block(0, n/2, 2, 1)-middle).squaredNorm(); - auto d2 = (hits.block(0, n/2+1, 2, 1)-middle).squaredNorm(); + auto d1 = (hits.block(0, n / 2, 2, 1) - middle).squaredNorm(); + auto d2 = (hits.block(0, n / 2 + 1, 2, 1) - middle).squaredNorm(); - int mId = d1::max(); // optimization that depends on access pattern theInnerZ = hh.zGlobal(innerHitId); @@ -334,6 +335,12 @@ class GPUCACell { __device__ __forceinline__ bool unused() const { return 0 == theUsed_; } __device__ __forceinline__ void setUsedBit(uint16_t bit) { theUsed_ |= bit; } + __device__ __forceinline__ void setFishbone(hindex_type id) { theFishboneId = id; } + __device__ __forceinline__ auto fishboneId() const { return theFishboneId; } + __device__ __forceinline__ bool hasFishbone() const { + return theFishboneId != std::numeric_limits::max(); + } + private: CellNeighbors* theOuterNeighbors; CellTracks* theTracks; @@ -346,6 +353,7 @@ class GPUCACell { float theInnerR; hindex_type theInnerHitId; hindex_type theOuterHitId; + hindex_type theFishboneId; }; template <> diff --git a/RecoPixelVertexing/PixelTriplets/plugins/gpuFishbone.h b/RecoPixelVertexing/PixelTriplets/plugins/gpuFishbone.h index 6183bf3917caa..8eb3faaa677f7 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/gpuFishbone.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/gpuFishbone.h @@ -77,11 +77,12 @@ namespace gpuPixelDoublets { auto cos12 = x[ic] * x[jc] + y[ic] * y[jc] + z[ic] * z[jc]; if (d[ic] != d[jc] && cos12 * cos12 >= 0.99999f * n[ic] * n[jc]) { // alligned: kill farthest (prefer consecutive layers) - // if same layer prefer farthest (longer level arm) + // if same layer prefer farthest (longer level arm) and make space for intermediate hit bool sameLayer = l[ic] == l[jc]; if (n[ic] > n[jc]) { if (sameLayer) { cj.kill(); // closest + ci.setFishbone(cj.inner_hit_id()); } else { ci.kill(); // farthest break; @@ -91,6 +92,7 @@ namespace gpuPixelDoublets { cj.kill(); // farthest } else { ci.kill(); // closest + cj.setFishbone(ci.inner_hit_id()); break; } } From 2b75d1be9f3f8ec6e219eb0f62059973acc4d5f7 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Fri, 12 Nov 2021 17:45:21 +0100 Subject: [PATCH 024/268] Replace string with string_view in MTDBaseNumber class and update code using it accordingly --- .../MTDCommonData/interface/MTDBaseNumber.h | 8 ++++---- .../MTDCommonData/src/BTLNumberingScheme.cc | 19 ++++++++++--------- .../MTDCommonData/src/ETLNumberingScheme.cc | 8 ++++---- Geometry/MTDCommonData/src/MTDBaseNumber.cc | 6 +++--- .../test/DD4hep_TestMTDIdealGeometry.cc | 10 +++++----- .../test/TestMTDIdealGeometry.cc | 6 ++---- .../test/DD4hep_TestBTLPixelTopology.cc | 10 +++++----- .../plugins/CmsMTDConstruction.cc | 16 +++++++--------- 8 files changed, 40 insertions(+), 43 deletions(-) diff --git a/Geometry/MTDCommonData/interface/MTDBaseNumber.h b/Geometry/MTDCommonData/interface/MTDBaseNumber.h index 2d5beadd59bc4..33f76d63967d0 100644 --- a/Geometry/MTDCommonData/interface/MTDBaseNumber.h +++ b/Geometry/MTDCommonData/interface/MTDBaseNumber.h @@ -19,12 +19,12 @@ class MTDBaseNumber { ~MTDBaseNumber() {} void setSize(const int& size); - void addLevel(const std::string& name, const int& copyNumber); + void addLevel(const std::string_view& name, const int& copyNumber); int getLevels() const; int getCopyNumber(int level) const; - int getCopyNumber(const std::string& levelName) const; - std::string const& getLevelName(int level) const; + int getCopyNumber(const std::string_view& levelName) const; + std::string_view const& getLevelName(int level) const; int getCapacity(); void reset(); @@ -32,7 +32,7 @@ class MTDBaseNumber { protected: static constexpr int MAXLEVEL = 20; - std::vector _sortedName; + std::vector _sortedName; std::vector _sortedCopyNumber; int _theLevels; }; diff --git a/Geometry/MTDCommonData/src/BTLNumberingScheme.cc b/Geometry/MTDCommonData/src/BTLNumberingScheme.cc index d42821693b360..da44e5601c358 100644 --- a/Geometry/MTDCommonData/src/BTLNumberingScheme.cc +++ b/Geometry/MTDCommonData/src/BTLNumberingScheme.cc @@ -44,18 +44,19 @@ uint32_t BTLNumberingScheme::getUnitID(const MTDBaseNumber& baseNumber) const { const uint32_t modCopy(baseNumber.getCopyNumber(2)); const uint32_t rodCopy(baseNumber.getCopyNumber(3)); - const std::string& modName(baseNumber.getLevelName(2)); // name of module volume + const std::string_view& modName(baseNumber.getLevelName(2)); // name of module volume uint32_t pos = modName.find("Positive"); - const uint32_t zside = (pos <= strlen(modName.c_str()) ? 1 : 0); - std::string baseName = modName.substr(modName.find(':') + 1); + const uint32_t zside = (pos <= modName.size() ? 1 : 0); + std::string_view baseName = modName.substr(modName.find(':') + 1); - // trick to accomodate both 54, 42 and 48 modules designs - const int modtyp( - ::atoi((baseName.substr(8, 1)).c_str()) == 9 || ::atoi((baseName.substr(8, 1)).c_str()) == 5 || - (::atoi((baseName.substr(8, 1)).c_str()) == 7 && ::atoi((baseName.substr(7, 1)).c_str()) == 1) - ? ::atoi((baseName.substr(7, 1)).c_str()) + 1 - : ::atoi((baseName.substr(7, 1)).c_str())); + int tmptyp = ::atoi(&baseName.at(7)); + if (tmptyp == 17) { + tmptyp = 2; + } else if (tmptyp == 33) { + tmptyp = 3; + } + const int modtyp(tmptyp); // error checking diff --git a/Geometry/MTDCommonData/src/ETLNumberingScheme.cc b/Geometry/MTDCommonData/src/ETLNumberingScheme.cc index 9de92bfb529c3..f5b498c60b818 100644 --- a/Geometry/MTDCommonData/src/ETLNumberingScheme.cc +++ b/Geometry/MTDCommonData/src/ETLNumberingScheme.cc @@ -36,10 +36,10 @@ uint32_t ETLNumberingScheme::getUnitID(const MTDBaseNumber& baseNumber) const { const uint32_t modCopy(baseNumber.getCopyNumber(2)); - const std::string& ringName(baseNumber.getLevelName(3)); // name of ring volume + const std::string_view& ringName(baseNumber.getLevelName(3)); // name of ring volume int modtyp(0); - std::string baseName = ringName.substr(ringName.find(':') + 1); - int ringCopy(::atoi(baseName.c_str() + 4)); + std::string_view baseName = ringName.substr(ringName.find(':') + 1); + int ringCopy(::atoi(baseName.data() + 4)); uint32_t discN, sectorS, sectorN; if (!preTDR) { @@ -55,7 +55,7 @@ uint32_t ETLNumberingScheme::getUnitID(const MTDBaseNumber& baseNumber) const { // Side choice: up to scenario D38 is given by level 7 (HGCal v9) int nSide(7); - const std::string& sideName(baseNumber.getLevelName(nSide)); + const std::string_view& sideName(baseNumber.getLevelName(nSide)); // Side choice: from scenario D41 is given by level 8 (HGCal v10) if (sideName.find("CALOECTSFront") != std::string::npos) { nSide = 8; diff --git a/Geometry/MTDCommonData/src/MTDBaseNumber.cc b/Geometry/MTDCommonData/src/MTDBaseNumber.cc index 3e100f84f2a39..2fd417b59a053 100644 --- a/Geometry/MTDCommonData/src/MTDBaseNumber.cc +++ b/Geometry/MTDCommonData/src/MTDBaseNumber.cc @@ -18,7 +18,7 @@ void MTDBaseNumber::setSize(const int& size) { } } -void MTDBaseNumber::addLevel(const std::string& name, const int& copyNumber) { +void MTDBaseNumber::addLevel(const std::string_view& name, const int& copyNumber) { if (_theLevels == MAXLEVEL - 1) { throw cms::Exception("WrongMTDGeom") << "MTDBaseNumber required to add more levels than maximum allowed"; } @@ -31,7 +31,7 @@ int MTDBaseNumber::getLevels() const { return _theLevels; } int MTDBaseNumber::getCopyNumber(int level) const { return _sortedCopyNumber[level]; } -int MTDBaseNumber::getCopyNumber(const std::string& levelName) const { +int MTDBaseNumber::getCopyNumber(const std::string_view& levelName) const { for (int iLevel = 0; iLevel < _theLevels; iLevel++) { if (_sortedName[iLevel] == levelName) { return _sortedCopyNumber[iLevel]; @@ -40,7 +40,7 @@ int MTDBaseNumber::getCopyNumber(const std::string& levelName) const { return 0; } -std::string const& MTDBaseNumber::getLevelName(int level) const { return _sortedName[level]; } +std::string_view const& MTDBaseNumber::getLevelName(int level) const { return _sortedName[level]; } int MTDBaseNumber::getCapacity() { return _sortedName.capacity(); } diff --git a/Geometry/MTDCommonData/test/DD4hep_TestMTDIdealGeometry.cc b/Geometry/MTDCommonData/test/DD4hep_TestMTDIdealGeometry.cc index 52686842c01e6..f5e95b75bca5c 100644 --- a/Geometry/MTDCommonData/test/DD4hep_TestMTDIdealGeometry.cc +++ b/Geometry/MTDCommonData/test/DD4hep_TestMTDIdealGeometry.cc @@ -310,12 +310,12 @@ void DD4hep_TestMTDIdealGeometry::theBaseNumber(cms::DDFilteredView& fv) { thisN_.setSize(fv.navPos().size()); for (uint ii = 0; ii < fv.navPos().size(); ii++) { - std::string name((fv.geoHistory()[ii])->GetName()); - name.assign(name.erase(name.rfind('_'))); - int copyN(fv.copyNos()[ii]); - thisN_.addLevel(name, copyN); + std::string_view name((fv.geoHistory()[ii])->GetName()); + size_t ipos = name.rfind('_'); + thisN_.addLevel((static_cast((fv.geoHistory()[ii])->GetName())).substr(0, ipos), + fv.copyNos()[ii]); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("DD4hep_TestMTDIdealGeometry") << name << " " << copyN; + edm::LogVerbatim("DD4hep_TestMTDIdealGeometry") << name.substr(0, ipos) << " " << fv.copyNos()[ii]; #endif } } diff --git a/Geometry/MTDCommonData/test/TestMTDIdealGeometry.cc b/Geometry/MTDCommonData/test/TestMTDIdealGeometry.cc index 624bd560984b4..62c554aa6a4a9 100644 --- a/Geometry/MTDCommonData/test/TestMTDIdealGeometry.cc +++ b/Geometry/MTDCommonData/test/TestMTDIdealGeometry.cc @@ -275,11 +275,9 @@ void TestMTDIdealGeometry::theBaseNumber(const DDGeoHistory& gh) { thisN_.setSize(gh.size()); for (uint i = gh.size(); i-- > 0;) { - std::string name(gh[i].logicalPart().name().name()); - int copyN(gh[i].copyno()); - thisN_.addLevel(name, copyN); + thisN_.addLevel(gh[i].logicalPart().name().name(), gh[i].copyno()); #ifdef EDM_ML_DEBUG - edm::LogInfo("TestMTDIdealGeometry") << name << " " << copyN; + edm::LogInfo("TestMTDIdealGeometry") << gh[i].logicalPart().name().name() << " " << gh[i].copyno(); #endif } } diff --git a/Geometry/MTDGeometryBuilder/test/DD4hep_TestBTLPixelTopology.cc b/Geometry/MTDGeometryBuilder/test/DD4hep_TestBTLPixelTopology.cc index d5385bdc76767..1328ad59a053d 100644 --- a/Geometry/MTDGeometryBuilder/test/DD4hep_TestBTLPixelTopology.cc +++ b/Geometry/MTDGeometryBuilder/test/DD4hep_TestBTLPixelTopology.cc @@ -318,12 +318,12 @@ void DD4hep_TestBTLPixelTopology::theBaseNumber(cms::DDFilteredView& fv) { thisN_.setSize(fv.navPos().size()); for (uint ii = 0; ii < fv.navPos().size(); ii++) { - std::string name((fv.geoHistory()[ii])->GetName()); - name.assign(name.erase(name.rfind('_'))); - int copyN(fv.copyNos()[ii]); - thisN_.addLevel(name, copyN); + std::string_view name((fv.geoHistory()[ii])->GetName()); + size_t ipos = name.rfind('_'); + thisN_.addLevel((static_cast((fv.geoHistory()[ii])->GetName())).substr(0, ipos), + fv.copyNos()[ii]); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("DD4hep_TestBTLPixelTopology") << name << " " << copyN; + edm::LogVerbatim("DD4hep_TestBTLPixelTopology") << name.substr(0, ipos) << " " << fv.copyNos()[ii]; #endif } } diff --git a/Geometry/MTDNumberingBuilder/plugins/CmsMTDConstruction.cc b/Geometry/MTDNumberingBuilder/plugins/CmsMTDConstruction.cc index c788e9406d7ab..776b8bab61035 100644 --- a/Geometry/MTDNumberingBuilder/plugins/CmsMTDConstruction.cc +++ b/Geometry/MTDNumberingBuilder/plugins/CmsMTDConstruction.cc @@ -122,11 +122,9 @@ void CmsMTDConstruction::buildETLModule(DDFilteredView& fv, Geom baseNumber_.setSize(gh.size()); for (uint i = gh.size(); i-- > 0;) { - std::string name(gh[i].logicalPart().name().name()); - int copyN(gh[i].copyno()); - baseNumber_.addLevel(name, copyN); + baseNumber_.addLevel(gh[i].logicalPart().name().name(), gh[i].copyno()); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("CmsMTDConstruction") << name << " " << copyN; + edm::LogVerbatim("CmsMTDConstruction") << gh[i].logicalPart().name().name() << " " << gh[i].copyno(); #endif } @@ -160,12 +158,12 @@ void CmsMTDConstruction::buildETLModule(cms::DDFilteredView baseNumber_.setSize(fv.copyNos().size()); for (uint i = 0; i < fv.copyNos().size(); i++) { - std::string name((fv.geoHistory()[i])->GetName()); - name.assign(name.erase(name.rfind('_'))); - int copyN(fv.copyNos()[i]); - baseNumber_.addLevel(name, copyN); + std::string_view name((fv.geoHistory()[i])->GetName()); + size_t ipos = name.rfind('_'); + baseNumber_.addLevel((static_cast((fv.geoHistory()[i])->GetName())).substr(0, ipos), + fv.copyNos()[i]); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("CmsMTDConstruction") << name << " " << copyN; + edm::LogVerbatim("CmsMTDConstruction") << name.substr(0, ipos) << " " << fv.copyNos()[i]; #endif } From 69c6015b9ee87ebe649b03e4ef285a0d563bce6b Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Sat, 13 Nov 2021 11:23:27 +0100 Subject: [PATCH 025/268] fix hit closest to middle point --- .../PixelTrackFitting/interface/BrokenLine.h | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h b/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h index 060042b632d18..37b183371fc54 100644 --- a/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h +++ b/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h @@ -154,12 +154,14 @@ namespace brokenline { riemannFit::Vector2d dVec; riemannFit::Vector2d eVec; - riemannFit::Vector2d middle = 0.5 * (hits.block(0, n - 1, 2, 1) + hits.block(0, 0, 2, 1)); + int mId = 1; - auto d1 = (hits.block(0, n / 2, 2, 1) - middle).squaredNorm(); - auto d2 = (hits.block(0, n / 2 + 1, 2, 1) - middle).squaredNorm(); - - int mId = d1 < d2 ? n / 2 : n / 2 + 1; + if constexpr (n>3) { + riemannFit::Vector2d middle = 0.5 * (hits.block(0, n - 1, 2, 1) + hits.block(0, 0, 2, 1)); + auto d1 = (hits.block(0, n / 2, 2, 1) - middle).squaredNorm(); + auto d2 = (hits.block(0, n / 2 - 1, 2, 1) - middle).squaredNorm(); + mId = d1 < d2 ? n / 2 : n / 2 - 1; + } dVec = hits.block(0, mId, 2, 1) - hits.block(0, 0, 2, 1); eVec = hits.block(0, n - 1, 2, 1) - hits.block(0, mId, 2, 1); @@ -256,12 +258,14 @@ namespace brokenline { __host__ __device__ inline void fastFit(const M3xN& hits, V4& result) { constexpr uint32_t n = M3xN::ColsAtCompileTime; - riemannFit::Vector2d middle = 0.5 * (hits.block(0, n - 1, 2, 1) + hits.block(0, 0, 2, 1)); + int mId = 1; - auto d1 = (hits.block(0, n / 2, 2, 1) - middle).squaredNorm(); - auto d2 = (hits.block(0, n / 2 + 1, 2, 1) - middle).squaredNorm(); - - int mId = d1 < d2 ? n / 2 : n / 2 + 1; + if constexpr (n>3) { + riemannFit::Vector2d middle = 0.5 * (hits.block(0, n - 1, 2, 1) + hits.block(0, 0, 2, 1)); + auto d1 = (hits.block(0, n / 2, 2, 1) - middle).squaredNorm(); + auto d2 = (hits.block(0, n / 2 - 1, 2, 1) - middle).squaredNorm(); + mId = d1 < d2 ? n / 2 : n / 2 - 1; + } const riemannFit::Vector2d a = hits.block(0, mId, 2, 1) - hits.block(0, 0, 2, 1); const riemannFit::Vector2d b = hits.block(0, n - 1, 2, 1) - hits.block(0, mId, 2, 1); From 626f6fe7be9035632c4824cdeaba7a7cfa8d99f4 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Sat, 13 Nov 2021 14:52:38 +0100 Subject: [PATCH 026/268] use layers instead of hit (and fix plots) --- Validation/RecoTrack/python/TrackValidation_cff.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Validation/RecoTrack/python/TrackValidation_cff.py b/Validation/RecoTrack/python/TrackValidation_cff.py index 0b3b973da0d53..d77e589dbee89 100644 --- a/Validation/RecoTrack/python/TrackValidation_cff.py +++ b/Validation/RecoTrack/python/TrackValidation_cff.py @@ -1000,10 +1000,10 @@ def _uniqueFirstLayers(layerList): cut = cms.string("") ) -cutstring = "numberOfValidHits == 3" +cutstring = "hitPattern.trackerLayersWithMeasurement == 3" pixelTracks3hits = trackRefSelector.clone( cut = cutstring ) -cutstring = "numberOfValidHits >= 4" +cutstring = "hitPattern.trackerLayersWithMeasurement >= 4" pixelTracks4hits = trackRefSelector.clone( cut = cutstring ) cutstring = "pt > 0.9" @@ -1014,7 +1014,7 @@ def _uniqueFirstLayers(layerList): #pixelTracksFromPVPt09 = generalTracksPt09.clone(quality = ["loose","tight","highPurity"], vertexTag = "pixelVertices", src = "pixelTracksFromPV") pixelTracksFromPVPt09 = pixelTracksFromPV.clone(ptMin = 0.9) -cutstring = "numberOfValidHits >= 4" +cutstring = "hitPattern.trackerLayersWithMeasurement >= 4" #pixelTracksFromPV4hits = trackRefSelector.clone( cut = cutstring, src = "pixelTracksFromPV" ) pixelTracksFromPV4hits = pixelTracksFromPV.clone( numberOfValidPixelHits = 4 ) @@ -1124,7 +1124,7 @@ def _uniqueFirstLayers(layerList): tracksPreValidationPixelTrackingOnly.add(locals()[label]) #----------- label = "pixelTracks4hits"+key - cutstring = "numberOfValidHits == 4 & qualityMask <= 7 & qualityMask >= " + str(qualityBit) + cutstring = "hitPattern.trackerLayersWithMeasurement >= 4 & qualityMask <= 7 & qualityMask >= " + str(qualityBit) locals()[label] = trackRefSelector.clone( cut = cutstring ) tracksPreValidationPixelTrackingOnly.add(locals()[label]) @@ -1134,7 +1134,7 @@ def _uniqueFirstLayers(layerList): tracksPreValidationPixelTrackingOnly.add(locals()[label]) #-------- label = "pixelTracks3hits"+key - cutstring = "numberOfValidHits == 3 & qualityMask <= 7 & qualityMask >= " + str(qualityBit) + cutstring = "hitPattern.trackerLayersWithMeasurement == 3 & qualityMask <= 7 & qualityMask >= " + str(qualityBit) locals()[label] = trackRefSelector.clone( cut = cutstring ) tracksPreValidationPixelTrackingOnly.add(locals()[label]) From 6f4b794d8e6cb68a4192c96b1305745794cecc0e Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Sat, 13 Nov 2021 17:00:12 +0100 Subject: [PATCH 027/268] allow up to 6 hits in fit --- .../Math/interface/choleskyInversion.h | 13 +++--- DataFormats/Math/test/CholeskyInvert_t.cpp | 3 +- DataFormats/Math/test/CholeskyInvert_t.cu | 5 ++- .../plugins/BrokenLineFitOnGPU.cc | 24 +++++++++++ .../plugins/BrokenLineFitOnGPU.cu | 40 ++++++++++++++++--- 5 files changed, 71 insertions(+), 14 deletions(-) diff --git a/DataFormats/Math/interface/choleskyInversion.h b/DataFormats/Math/interface/choleskyInversion.h index b84e7cc80a120..51154a38ca97d 100644 --- a/DataFormats/Math/interface/choleskyInversion.h +++ b/DataFormats/Math/interface/choleskyInversion.h @@ -336,12 +336,13 @@ namespace math { }; // Eigen interface - template - inline constexpr void __attribute__((always_inline)) - invert(Eigen::DenseBase const& src, Eigen::DenseBase& dst) { - using M1 = Eigen::DenseBase; - using M2 = Eigen::DenseBase; - Inverter::eval(src, dst); + template + inline constexpr void __attribute__((always_inline)) + invert(M1 const& src, M2& dst) { + if constexpr (M2::ColsAtCompileTime < 200) // should be 7 but + Inverter::eval(src, dst); + else + dst = src.llt().solve(M1::Identity()); // ... this crashes on GPU } } // namespace cholesky diff --git a/DataFormats/Math/test/CholeskyInvert_t.cpp b/DataFormats/Math/test/CholeskyInvert_t.cpp index de048e3d4455b..7794e1d1d0113 100644 --- a/DataFormats/Math/test/CholeskyInvert_t.cpp +++ b/DataFormats/Math/test/CholeskyInvert_t.cpp @@ -138,6 +138,7 @@ int main() { go<5>(true); go<6>(true); - // go<10>(); + go<10>(false); + go<10>(true); return 0; } diff --git a/DataFormats/Math/test/CholeskyInvert_t.cu b/DataFormats/Math/test/CholeskyInvert_t.cu index 558f9296150c7..7f0efc346a713 100644 --- a/DataFormats/Math/test/CholeskyInvert_t.cu +++ b/DataFormats/Math/test/CholeskyInvert_t.cu @@ -85,7 +85,7 @@ template void go(bool soa) { constexpr unsigned int DIM = N; using MX = MXN; - std::cout << "testing Matrix of dimension " << DIM << " size " << sizeof(MX) << std::endl; + std::cout << "testing Matrix of dimension " << DIM << " size " << sizeof(MX) << " in " << (soa ? "SOA" : "AOS") << " mode" << std::endl; auto start = std::chrono::high_resolution_clock::now(); auto delta = start - start; @@ -204,6 +204,7 @@ int main() { go<5>(true); go<6>(true); - // go<10>(); + go<10>(false); + go<10>(true); return 0; } diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc index bebfe0e08008e..767fa1721a4d7 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc @@ -51,6 +51,18 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi fast_fit_resultsGPU_.get(), 5, offset); + // fit sexta (only first 4) + kernel_BLFastFit<4>( + tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 6, offset); + + kernel_BLFit<4>(tupleMultiplicity_, + bField_, + outputSoa_, + hitsGPU_.get(), + hits_geGPU_.get(), + fast_fit_resultsGPU_.get(), + 6, + offset); } else { // fit penta (all 5) kernel_BLFastFit<5>( @@ -64,6 +76,18 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi fast_fit_resultsGPU_.get(), 5, offset); + // fit sexta (all 6) + kernel_BLFastFit<6>( + tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 6, offset); + + kernel_BLFit<6>(tupleMultiplicity_, + bField_, + outputSoa_, + hitsGPU_.get(), + hits_geGPU_.get(), + fast_fit_resultsGPU_.get(), + 6, + offset); } } // loop on concurrent fits diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu index d2ca583e86bd0..0350f6944f993 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu @@ -50,12 +50,12 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, cudaCheck(cudaGetLastError()); if (fit5as4_) { - // fit penta (only first 4) - kernel_BLFastFit<4><<>>( + // fit penta and sexta (only first 4, FIXME needs to load one per layer) + kernel_BLFastFit<4><<<1, blockSize, 0, stream>>>( tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 5, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<4><<>>(tupleMultiplicity_, + kernel_BLFit<4><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, bField_, outputSoa_, hitsGPU_.get(), @@ -64,13 +64,28 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, 5, offset); cudaCheck(cudaGetLastError()); + kernel_BLFastFit<4><<<1, blockSize, 0, stream>>>( + tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 6, offset); + cudaCheck(cudaGetLastError()); + + kernel_BLFit<4><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, + bField_, + outputSoa_, + hitsGPU_.get(), + hits_geGPU_.get(), + fast_fit_resultsGPU_.get(), + 6, + offset); + cudaCheck(cudaGetLastError()); + + } else { // fit penta (all 5) - kernel_BLFastFit<5><<>>( + kernel_BLFastFit<5><<<1, blockSize, 0, stream>>>( tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 5, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<5><<>>(tupleMultiplicity_, + kernel_BLFit<5><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, bField_, outputSoa_, hitsGPU_.get(), @@ -79,6 +94,21 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, 5, offset); cudaCheck(cudaGetLastError()); + // fit sexta (all 6) + kernel_BLFastFit<6><<<1, blockSize, 0, stream>>>( + tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 6, offset); + cudaCheck(cudaGetLastError()); + + kernel_BLFit<6><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, + bField_, + outputSoa_, + hitsGPU_.get(), + hits_geGPU_.get(), + fast_fit_resultsGPU_.get(), + 6, + offset); + cudaCheck(cudaGetLastError()); + } } // loop on concurrent fits From b0287a70cec854359c713a2fa7426fadfe2281d4 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Sat, 13 Nov 2021 19:39:54 +0100 Subject: [PATCH 028/268] Use ESGetToken in some of the test analyzers in SimMuon/GEMDigitizer --- SimMuon/GEMDigitizer/test/GEMDigiReader.cc | 22 ++++++++++----------- SimMuon/GEMDigitizer/test/GEMFakeEvent.cc | 7 +++---- SimMuon/GEMDigitizer/test/ME0DigiReader.cc | 23 ++++++++++------------ 3 files changed, 23 insertions(+), 29 deletions(-) diff --git a/SimMuon/GEMDigitizer/test/GEMDigiReader.cc b/SimMuon/GEMDigitizer/test/GEMDigiReader.cc index 7c8e06870b021..8868996556c78 100644 --- a/SimMuon/GEMDigitizer/test/GEMDigiReader.cc +++ b/SimMuon/GEMDigitizer/test/GEMDigiReader.cc @@ -37,31 +37,29 @@ class GEMDigiReader : public edm::EDAnalyzer { void analyze(const edm::Event&, const edm::EventSetup&) override; private: - edm::EDGetTokenT simhitToken_; - edm::EDGetTokenT gemDigiToken_; - edm::EDGetTokenT > gemDigiSimLinkToken_; + const edm::EDGetTokenT simhitToken_; + const edm::EDGetTokenT gemDigiToken_; + const edm::EDGetTokenT > gemDigiSimLinkToken_; + const edm::ESGetToken geomToken_; }; GEMDigiReader::GEMDigiReader(const edm::ParameterSet& pset) : simhitToken_(consumes(pset.getParameter("simhitToken"))), gemDigiToken_(consumes(pset.getParameter("gemDigiToken"))), gemDigiSimLinkToken_( - consumes >(pset.getParameter("gemDigiSimLinkToken"))) {} + consumes >(pset.getParameter("gemDigiSimLinkToken"))), + geomToken_(esConsumes()) {} void GEMDigiReader::analyze(const edm::Event& event, const edm::EventSetup& eventSetup) { LogDebug("GEMDigiReader") << "--- Run: " << event.id().run() << " Event: " << event.id().event() << endl; - edm::ESHandle pDD; - eventSetup.get().get(pDD); + const auto& pDD = eventSetup.getHandle(geomToken_); - edm::Handle simHits; - event.getByToken(simhitToken_, simHits); + const auto& simHits = event.getHandle(simhitToken_); - edm::Handle digis; - event.getByToken(gemDigiToken_, digis); + const auto& digis = event.getHandle(gemDigiToken_); - edm::Handle > thelinkDigis; - event.getByToken(gemDigiSimLinkToken_, thelinkDigis); + const auto& thelinkDigis = event.getHandle(gemDigiSimLinkToken_); GEMDigiCollection::DigiRangeIterator detUnitIt; for (detUnitIt = digis->begin(); detUnitIt != digis->end(); ++detUnitIt) { diff --git a/SimMuon/GEMDigitizer/test/GEMFakeEvent.cc b/SimMuon/GEMDigitizer/test/GEMFakeEvent.cc index b29180726f68f..7395b4de56706 100644 --- a/SimMuon/GEMDigitizer/test/GEMFakeEvent.cc +++ b/SimMuon/GEMDigitizer/test/GEMFakeEvent.cc @@ -12,7 +12,6 @@ #include "DataFormats/GEMDigi/interface/GEMDigiCollection.h" #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -27,10 +26,11 @@ class GEMFakeEvent : public edm::EDProducer { void produce(edm::Event& e, const edm::EventSetup& c) override; private: + const edm::ESGetToken geomToken_; int nEtaPartitions_; }; -GEMFakeEvent::GEMFakeEvent(const edm::ParameterSet& config) { +GEMFakeEvent::GEMFakeEvent(const edm::ParameterSet& config) : geomToken_(esConsumes()) { cout << "Initialize the Event Dump" << endl; produces(); @@ -41,8 +41,7 @@ void GEMFakeEvent::produce(edm::Event& ev, const edm::EventSetup& es) { cout << "RUN " << ev.id().run() << " EVENT " << ev.id().event() << endl; cout << "Getting the gem geometry" << endl; - edm::ESHandle gemGeom; - es.get().get(gemGeom); + const auto& gemGeom = es.getHandle(geomToken_); unique_ptr pDigis(new GEMDigiCollection()); diff --git a/SimMuon/GEMDigitizer/test/ME0DigiReader.cc b/SimMuon/GEMDigitizer/test/ME0DigiReader.cc index 2bcbf542ef4e8..6319e4e6f8615 100644 --- a/SimMuon/GEMDigitizer/test/ME0DigiReader.cc +++ b/SimMuon/GEMDigitizer/test/ME0DigiReader.cc @@ -8,7 +8,6 @@ #include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ServiceRegistry/interface/Service.h" @@ -49,10 +48,11 @@ class ME0DigiReader : public edm::one::EDAnalyzer { void endJob() override; private: - edm::EDGetTokenT simhitToken_; - edm::EDGetTokenT me0DigiToken_; - edm::EDGetTokenT > me0StripDigiSimLinkToken_; - bool debug_; + const edm::EDGetTokenT simhitToken_; + const edm::EDGetTokenT me0DigiToken_; + const edm::EDGetTokenT > me0StripDigiSimLinkToken_; + const edm::ESGetToken geomToken_; + const bool debug_; TH1F *hProces; TH2F *hNstripEtaParts; @@ -77,6 +77,7 @@ ME0DigiReader::ME0DigiReader(const edm::ParameterSet &pset) me0DigiToken_(consumes(pset.getParameter("me0DigiToken"))), me0StripDigiSimLinkToken_( consumes >(pset.getParameter("me0StripDigiSimLinkToken"))), + geomToken_(esConsumes()), debug_(pset.getParameter("debugFlag")) { usesResource("TFileService"); edm::Service fs; @@ -104,17 +105,13 @@ ME0DigiReader::ME0DigiReader(const edm::ParameterSet &pset) void ME0DigiReader::beginJob() {} void ME0DigiReader::analyze(const edm::Event &event, const edm::EventSetup &eventSetup) { - edm::ESHandle pDD; - eventSetup.get().get(pDD); + const auto& pDD = eventSetup.getHandle(geomToken_); - edm::Handle simHits; - event.getByToken(simhitToken_, simHits); + const auto& simHits = event.getHandle(simhitToken_); - edm::Handle digis; - event.getByToken(me0DigiToken_, digis); + const auto& digis = event.getHandle(me0DigiToken_); - edm::Handle > thelinkDigis; - event.getByToken(me0StripDigiSimLinkToken_, thelinkDigis); + const auto& thelinkDigis = event.getHandle(me0StripDigiSimLinkToken_); ME0DigiCollection::DigiRangeIterator detUnitIt; From 940179a07bca56ba76887ccbf08c5c4a250b5e27 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Sat, 13 Nov 2021 20:35:57 +0100 Subject: [PATCH 029/268] Code check --- SimMuon/GEMDigitizer/test/GEMFakeEvent.cc | 3 ++- SimMuon/GEMDigitizer/test/ME0DigiReader.cc | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/SimMuon/GEMDigitizer/test/GEMFakeEvent.cc b/SimMuon/GEMDigitizer/test/GEMFakeEvent.cc index 7395b4de56706..9dea077ea93d6 100644 --- a/SimMuon/GEMDigitizer/test/GEMFakeEvent.cc +++ b/SimMuon/GEMDigitizer/test/GEMFakeEvent.cc @@ -30,7 +30,8 @@ class GEMFakeEvent : public edm::EDProducer { int nEtaPartitions_; }; -GEMFakeEvent::GEMFakeEvent(const edm::ParameterSet& config) : geomToken_(esConsumes()) { +GEMFakeEvent::GEMFakeEvent(const edm::ParameterSet& config) + : geomToken_(esConsumes()) { cout << "Initialize the Event Dump" << endl; produces(); diff --git a/SimMuon/GEMDigitizer/test/ME0DigiReader.cc b/SimMuon/GEMDigitizer/test/ME0DigiReader.cc index 6319e4e6f8615..2250fd16ee0fd 100644 --- a/SimMuon/GEMDigitizer/test/ME0DigiReader.cc +++ b/SimMuon/GEMDigitizer/test/ME0DigiReader.cc @@ -105,13 +105,13 @@ ME0DigiReader::ME0DigiReader(const edm::ParameterSet &pset) void ME0DigiReader::beginJob() {} void ME0DigiReader::analyze(const edm::Event &event, const edm::EventSetup &eventSetup) { - const auto& pDD = eventSetup.getHandle(geomToken_); + const auto &pDD = eventSetup.getHandle(geomToken_); - const auto& simHits = event.getHandle(simhitToken_); + const auto &simHits = event.getHandle(simhitToken_); - const auto& digis = event.getHandle(me0DigiToken_); + const auto &digis = event.getHandle(me0DigiToken_); - const auto& thelinkDigis = event.getHandle(me0StripDigiSimLinkToken_); + const auto &thelinkDigis = event.getHandle(me0StripDigiSimLinkToken_); ME0DigiCollection::DigiRangeIterator detUnitIt; From 040ab62ee884793bb86ab0911b30945d2c5db7e4 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Sat, 13 Nov 2021 23:48:19 +0100 Subject: [PATCH 030/268] handle clang error report --- SimMuon/GEMDigitizer/test/ME0DigiReader.cc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/SimMuon/GEMDigitizer/test/ME0DigiReader.cc b/SimMuon/GEMDigitizer/test/ME0DigiReader.cc index 2250fd16ee0fd..8c24fc7aaaf24 100644 --- a/SimMuon/GEMDigitizer/test/ME0DigiReader.cc +++ b/SimMuon/GEMDigitizer/test/ME0DigiReader.cc @@ -50,7 +50,6 @@ class ME0DigiReader : public edm::one::EDAnalyzer { private: const edm::EDGetTokenT simhitToken_; const edm::EDGetTokenT me0DigiToken_; - const edm::EDGetTokenT > me0StripDigiSimLinkToken_; const edm::ESGetToken geomToken_; const bool debug_; @@ -75,8 +74,6 @@ class ME0DigiReader : public edm::one::EDAnalyzer { ME0DigiReader::ME0DigiReader(const edm::ParameterSet &pset) : simhitToken_(consumes(pset.getParameter("simhitToken"))), me0DigiToken_(consumes(pset.getParameter("me0DigiToken"))), - me0StripDigiSimLinkToken_( - consumes >(pset.getParameter("me0StripDigiSimLinkToken"))), geomToken_(esConsumes()), debug_(pset.getParameter("debugFlag")) { usesResource("TFileService"); @@ -111,8 +108,6 @@ void ME0DigiReader::analyze(const edm::Event &event, const edm::EventSetup &even const auto &digis = event.getHandle(me0DigiToken_); - const auto &thelinkDigis = event.getHandle(me0StripDigiSimLinkToken_); - ME0DigiCollection::DigiRangeIterator detUnitIt; int countRoll[8] = {0}; From fbda2535c4b3d05cf0525187e33d214cf9b1623e Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Sun, 14 Nov 2021 12:47:42 +0100 Subject: [PATCH 031/268] prepare for fit in single kernel --- .../plugins/BrokenLineFitOnGPU.cc | 61 +++++++++---------- .../plugins/BrokenLineFitOnGPU.cu | 61 +++++++++---------- .../plugins/BrokenLineFitOnGPU.h | 32 ++++++---- 3 files changed, 76 insertions(+), 78 deletions(-) diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc index 767fa1721a4d7..e98352943cb33 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc @@ -4,89 +4,84 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi assert(tuples_); // Fit internals - auto hitsGPU_ = + auto tkidGPU = std::make_unique(maxNumberOfConcurrentFits_); + auto hitsGPU = std::make_unique(maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix3xNd<4>) / sizeof(double)); - auto hits_geGPU_ = + auto hits_geGPU = std::make_unique(maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix6x4f) / sizeof(float)); - auto fast_fit_resultsGPU_ = + auto fast_fit_resultsGPU = std::make_unique(maxNumberOfConcurrentFits_ * sizeof(riemannFit::Vector4d) / sizeof(double)); for (uint32_t offset = 0; offset < maxNumberOfTuples; offset += maxNumberOfConcurrentFits_) { // fit triplets kernel_BLFastFit<3>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 3, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 3, offset); kernel_BLFit<3>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 3, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); // fit quads kernel_BLFastFit<4>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 4, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4, offset); kernel_BLFit<4>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 4, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); if (fit5as4_) { // fit penta (only first 4) kernel_BLFastFit<4>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 5, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5, offset); kernel_BLFit<4>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 5, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); // fit sexta (only first 4) kernel_BLFastFit<4>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6, offset); kernel_BLFit<4>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 6, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); } else { // fit penta (all 5) kernel_BLFastFit<5>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 5, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5, offset); kernel_BLFit<5>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 5, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); // fit sexta (all 6) kernel_BLFastFit<6>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6, offset); kernel_BLFit<6>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 6, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); } diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu index 0350f6944f993..bb295a08e38f8 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu @@ -11,70 +11,67 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, auto numberOfBlocks = (maxNumberOfConcurrentFits_ + blockSize - 1) / blockSize; // Fit internals - auto hitsGPU_ = cms::cuda::make_device_unique( + auto tkidGPU = cms::cuda::make_device_unique(maxNumberOfConcurrentFits_,stream); + auto hitsGPU = cms::cuda::make_device_unique( maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix3xNd<4>) / sizeof(double), stream); - auto hits_geGPU_ = cms::cuda::make_device_unique( + auto hits_geGPU = cms::cuda::make_device_unique( maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix6x4f) / sizeof(float), stream); - auto fast_fit_resultsGPU_ = cms::cuda::make_device_unique( + auto fast_fit_resultsGPU = cms::cuda::make_device_unique( maxNumberOfConcurrentFits_ * sizeof(riemannFit::Vector4d) / sizeof(double), stream); for (uint32_t offset = 0; offset < maxNumberOfTuples; offset += maxNumberOfConcurrentFits_) { // fit triplets kernel_BLFastFit<3><<>>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 3, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 3, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<3><<>>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 3, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); cudaCheck(cudaGetLastError()); // fit quads kernel_BLFastFit<4><<>>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 4, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<4><<>>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 4, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); cudaCheck(cudaGetLastError()); if (fit5as4_) { // fit penta and sexta (only first 4, FIXME needs to load one per layer) kernel_BLFastFit<4><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 5, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<4><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 5, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); cudaCheck(cudaGetLastError()); kernel_BLFastFit<4><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<4><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 6, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); cudaCheck(cudaGetLastError()); @@ -82,30 +79,28 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, } else { // fit penta (all 5) kernel_BLFastFit<5><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 5, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<5><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 5, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); cudaCheck(cudaGetLastError()); // fit sexta (all 6) kernel_BLFastFit<6><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv, hitsGPU_.get(), hits_geGPU_.get(), fast_fit_resultsGPU_.get(), 6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<6><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, bField_, outputSoa_, - hitsGPU_.get(), - hits_geGPU_.get(), - fast_fit_resultsGPU_.get(), - 6, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), offset); cudaCheck(cudaGetLastError()); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h index d572c8010cdfb..1bf9e58c9ed52 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h @@ -19,6 +19,9 @@ using HitsOnGPU = TrackingRecHit2DSOAView; using Tuples = pixelTrack::HitContainer; using OutputSoA = pixelTrack::TrackSoA; +using tindex_type = caConstants::tindex_type; +constexpr auto invalidTkId = std::numeric_limits::max(); + // #define BL_DUMP_HITS @@ -26,6 +29,7 @@ template __global__ void kernel_BLFastFit(Tuples const *__restrict__ foundNtuplets, caConstants::TupleMultiplicity const *__restrict__ tupleMultiplicity, HitsOnGPU const *__restrict__ hhp, + tindex_type *__restrict__ ptkids, double *__restrict__ phits, float *__restrict__ phits_ge, double *__restrict__ pfast_fit, @@ -53,13 +57,16 @@ __global__ void kernel_BLFastFit(Tuples const *__restrict__ foundNtuplets, for (int local_idx = local_start, nt = riemannFit::maxNumberOfConcurrentFits; local_idx < nt; local_idx += gridDim.x * blockDim.x) { auto tuple_idx = local_idx + offset; - if (tuple_idx >= tupleMultiplicity->size(nHits)) + if (tuple_idx >= tupleMultiplicity->size(nHits)) { + ptkids[local_idx] = invalidTkId; break; - + } // get it from the ntuple container (one to one to helix) auto tkid = *(tupleMultiplicity->begin(nHits) + tuple_idx); assert(tkid < foundNtuplets->nOnes()); + ptkids[local_idx] = tkid; + assert(foundNtuplets->size(tkid) == nHits); riemannFit::Map3xNd hits(phits + local_idx); @@ -84,8 +91,14 @@ __global__ void kernel_BLFastFit(Tuples const *__restrict__ foundNtuplets, auto dz = hhp->zGlobal(hitId[hitsInFit - 1]) - hhp->zGlobal(hitId[0]); float ux, uy, uz; #endif - for (unsigned int i = 0; i < hitsInFit; ++i) { - auto hit = hitId[i]; + + float incr = std::max(1.f,float(nHits)/float(hitsInFit)); + float n = 0; + for (uint32_t i = 0; i < hitsInFit; ++i) { + int j = int(n+0.5f); // round + assert(icpeParams().detParams(hhp->detectorIndex(hit)); @@ -152,13 +165,11 @@ template __global__ void kernel_BLFit(caConstants::TupleMultiplicity const *__restrict__ tupleMultiplicity, double bField, OutputSoA *results, + tindex_type const *__restrict__ ptkids, double *__restrict__ phits, float *__restrict__ phits_ge, double *__restrict__ pfast_fit, - uint32_t nHits, uint32_t offset) { - assert(N <= nHits); - assert(results); assert(pfast_fit); @@ -168,12 +179,9 @@ __global__ void kernel_BLFit(caConstants::TupleMultiplicity const *__restrict__ auto local_start = blockIdx.x * blockDim.x + threadIdx.x; for (int local_idx = local_start, nt = riemannFit::maxNumberOfConcurrentFits; local_idx < nt; local_idx += gridDim.x * blockDim.x) { - auto tuple_idx = local_idx + offset; - if (tuple_idx >= tupleMultiplicity->size(nHits)) - break; + if (invalidTkId==ptkids[local_idx]) break; - // get it for the ntuple container (one to one to helix) - auto tkid = *(tupleMultiplicity->begin(nHits) + tuple_idx); + auto tkid = ptkids[local_idx]; riemannFit::Map3xNd hits(phits + local_idx); riemannFit::Map4d fast_fit(pfast_fit + local_idx); From f76c7afbe2a508c6e32e2eb31132d1075d97bb82 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Sun, 14 Nov 2021 15:10:19 +0100 Subject: [PATCH 032/268] simplify logic for fit N as 4 --- .../plugins/BrokenLineFitOnGPU.cc | 43 ++++++--------- .../plugins/BrokenLineFitOnGPU.cu | 53 +++++++------------ .../plugins/BrokenLineFitOnGPU.h | 19 ++++--- 3 files changed, 46 insertions(+), 69 deletions(-) diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc index e98352943cb33..b9b2211eba78b 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc @@ -15,7 +15,7 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi for (uint32_t offset = 0; offset < maxNumberOfTuples; offset += maxNumberOfConcurrentFits_) { // fit triplets kernel_BLFastFit<3>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 3, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 3,3, offset); kernel_BLFit<3>(tupleMultiplicity_, bField_, @@ -25,22 +25,10 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi fast_fit_resultsGPU.get(), offset); - // fit quads - kernel_BLFastFit<4>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4, offset); - - kernel_BLFit<4>(tupleMultiplicity_, - bField_, - outputSoa_, - tkidGPU.get(), hitsGPU.get(), - hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); - if (fit5as4_) { - // fit penta (only first 4) + // fit all as 4 kernel_BLFastFit<4>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,6, offset); kernel_BLFit<4>(tupleMultiplicity_, bField_, @@ -49,21 +37,22 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi hits_geGPU.get(), fast_fit_resultsGPU.get(), offset); - // fit sexta (only first 4) - kernel_BLFastFit<4>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6, offset); - kernel_BLFit<4>(tupleMultiplicity_, - bField_, - outputSoa_, - tkidGPU.get(), hitsGPU.get(), - hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); } else { + // fit quads + kernel_BLFastFit<4>( + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,4, offset); + + kernel_BLFit<4>(tupleMultiplicity_, + bField_, + outputSoa_, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + offset); // fit penta (all 5) kernel_BLFastFit<5>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5,5, offset); kernel_BLFit<5>(tupleMultiplicity_, bField_, @@ -74,7 +63,7 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi offset); // fit sexta (all 6) kernel_BLFastFit<6>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6,6, offset); kernel_BLFit<6>(tupleMultiplicity_, bField_, diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu index bb295a08e38f8..ce70f7b5a23c8 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu @@ -22,7 +22,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, for (uint32_t offset = 0; offset < maxNumberOfTuples; offset += maxNumberOfConcurrentFits_) { // fit triplets kernel_BLFastFit<3><<>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 3, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 3,3, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<3><<>>(tupleMultiplicity_, @@ -34,9 +34,23 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); + if (fit5as4_) { + // fit all as 4 + kernel_BLFastFit<4><<>>( + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,6, offset); + cudaCheck(cudaGetLastError()); + + kernel_BLFit<4><<>>(tupleMultiplicity_, + bField_, + outputSoa_, + tkidGPU.get(), hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + offset); + } else { // fit quads kernel_BLFastFit<4><<>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,4, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<4><<>>(tupleMultiplicity_, @@ -46,40 +60,9 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, hits_geGPU.get(), fast_fit_resultsGPU.get(), offset); - cudaCheck(cudaGetLastError()); - - if (fit5as4_) { - // fit penta and sexta (only first 4, FIXME needs to load one per layer) - kernel_BLFastFit<4><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5, offset); - cudaCheck(cudaGetLastError()); - - kernel_BLFit<4><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, - bField_, - outputSoa_, - tkidGPU.get(), hitsGPU.get(), - hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); - cudaCheck(cudaGetLastError()); - kernel_BLFastFit<4><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6, offset); - cudaCheck(cudaGetLastError()); - - kernel_BLFit<4><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, - bField_, - outputSoa_, - tkidGPU.get(), hitsGPU.get(), - hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); - cudaCheck(cudaGetLastError()); - - - } else { // fit penta (all 5) kernel_BLFastFit<5><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5,5, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<5><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, @@ -92,7 +75,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, cudaCheck(cudaGetLastError()); // fit sexta (all 6) kernel_BLFastFit<6><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6,6, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<6><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h index 1bf9e58c9ed52..48fbe0b8cd638 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h @@ -33,12 +33,12 @@ __global__ void kernel_BLFastFit(Tuples const *__restrict__ foundNtuplets, double *__restrict__ phits, float *__restrict__ phits_ge, double *__restrict__ pfast_fit, - uint32_t nHits, + uint32_t nHitsL,uint32_t nHitsH, uint32_t offset) { constexpr uint32_t hitsInFit = N; - assert(hitsInFit <= nHits); - + assert(hitsInFit <= nHitsL); + assert(nHitsL <= nHitsH); assert(hhp); assert(pfast_fit); assert(foundNtuplets); @@ -53,21 +53,26 @@ __global__ void kernel_BLFastFit(Tuples const *__restrict__ foundNtuplets, printf("%d Ntuple of size %d for %d hits to fit\n", tupleMultiplicity->size(nHits), nHits, hitsInFit); } #endif - + uint32_t totTK=0; + for (auto iH=nHitsL; iH<=nHitsH; ++iH) + totTK += tupleMultiplicity->size(iH); for (int local_idx = local_start, nt = riemannFit::maxNumberOfConcurrentFits; local_idx < nt; local_idx += gridDim.x * blockDim.x) { auto tuple_idx = local_idx + offset; - if (tuple_idx >= tupleMultiplicity->size(nHits)) { + if (tuple_idx >= totTK) { ptkids[local_idx] = invalidTkId; break; } // get it from the ntuple container (one to one to helix) - auto tkid = *(tupleMultiplicity->begin(nHits) + tuple_idx); + auto tkid = *(tupleMultiplicity->begin(nHitsL) + tuple_idx); assert(tkid < foundNtuplets->nOnes()); ptkids[local_idx] = tkid; - assert(foundNtuplets->size(tkid) == nHits); + auto nHits = foundNtuplets->size(tkid); + + assert(nHits >= nHitsL); + assert(nHits <= nHitsH); riemannFit::Map3xNd hits(phits + local_idx); riemannFit::Map4d fast_fit(pfast_fit + local_idx); From 78b8be16341123cd98d2d2c0a588562418d1418a Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Sun, 14 Nov 2021 15:45:49 +0100 Subject: [PATCH 033/268] make use of fishbone hit --- .../PixelTriplets/plugins/BrokenLineFitOnGPU.cc | 6 +++--- .../PixelTriplets/plugins/BrokenLineFitOnGPU.cu | 6 +++--- .../PixelTriplets/plugins/CAConstants.h | 2 +- .../plugins/CAHitNtupletGeneratorKernelsImpl.h | 4 ++-- RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h | 11 +++++++++-- 5 files changed, 18 insertions(+), 11 deletions(-) diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc index b9b2211eba78b..219cf9c62c1f1 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc @@ -28,7 +28,7 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi if (fit5as4_) { // fit all as 4 kernel_BLFastFit<4>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,8, offset); kernel_BLFit<4>(tupleMultiplicity_, bField_, @@ -61,9 +61,9 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi hits_geGPU.get(), fast_fit_resultsGPU.get(), offset); - // fit sexta (all 6) + // fit sexta and above (as 6) kernel_BLFastFit<6>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6,6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6,8, offset); kernel_BLFit<6>(tupleMultiplicity_, bField_, diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu index ce70f7b5a23c8..31b58bd0e00d3 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu @@ -37,7 +37,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, if (fit5as4_) { // fit all as 4 kernel_BLFastFit<4><<>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,8, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<4><<>>(tupleMultiplicity_, @@ -73,9 +73,9 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, fast_fit_resultsGPU.get(), offset); cudaCheck(cudaGetLastError()); - // fit sexta (all 6) + // fit sexta and above (as 6) kernel_BLFastFit<6><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6,6, offset); + tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6,8, offset); cudaCheck(cudaGetLastError()); kernel_BLFit<6><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAConstants.h b/RecoPixelVertexing/PixelTriplets/plugins/CAConstants.h index c1428a6daaf55..2a00572c759b1 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAConstants.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAConstants.h @@ -76,7 +76,7 @@ namespace caConstants { using OuterHitOfCellContainer = cms::cuda::VecArray; using TuplesContainer = cms::cuda::OneToManyAssoc; using HitToTuple = cms::cuda::OneToManyAssoc; // 3.5 should be enough - using TupleMultiplicity = cms::cuda::OneToManyAssoc; + using TupleMultiplicity = cms::cuda::OneToManyAssoc; struct OuterHitOfCell { OuterHitOfCellContainer* container; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h index 418fff8d8d67e..7e8406928f58f 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h @@ -390,7 +390,7 @@ __global__ void kernel_countMultiplicity(HitContainer const *__restrict__ foundN if (quality[it] == pixelTrack::Quality::edup) continue; assert(quality[it] == pixelTrack::Quality::bad); - if (nhits > 5) + if (nhits > 7) printf("wrong mult %d %d\n", it, nhits); assert(nhits < 8); tupleMultiplicity->count(nhits); @@ -408,7 +408,7 @@ __global__ void kernel_fillMultiplicity(HitContainer const *__restrict__ foundNt if (quality[it] == pixelTrack::Quality::edup) continue; assert(quality[it] == pixelTrack::Quality::bad); - if (nhits > 5) + if (nhits > 7) printf("wrong mult %d %d\n", it, nhits); assert(nhits < 8); tupleMultiplicity->fill(nhits, it); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h index 65292e85d9c59..de34dbeb12cf1 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h @@ -307,13 +307,20 @@ class GPUCACell { ((!startAt0) && hole0(hh, cells[tmpNtuplet[0]]))) #endif { - hindex_type hits[6]; + hindex_type hits[8]; auto nh = 0U; + constexpr int maxFB = 2; // for the time being let's limit this + int nfb = 0; for (auto c : tmpNtuplet) { hits[nh++] = cells[c].theInnerHitId; + if (nfb= 0) { // if negative is overflow.... for (auto c : tmpNtuplet) cells[c].addTrack(it, cellTracks); From 1066de4072e4f2c65e933b892b1cad066ad686a4 Mon Sep 17 00:00:00 2001 From: sbein Date: Sun, 14 Nov 2021 22:29:00 +0100 Subject: [PATCH 034/268] added lines to skip FastSim decays for SM particles that cross the beam pipe. --- .../interface/ParticleManager.h | 4 +++- .../SimplifiedGeometryPropagator/src/ParticleManager.cc | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/FastSimulation/SimplifiedGeometryPropagator/interface/ParticleManager.h b/FastSimulation/SimplifiedGeometryPropagator/interface/ParticleManager.h index 2654f68b24244..ab49035ae98cc 100644 --- a/FastSimulation/SimplifiedGeometryPropagator/interface/ParticleManager.h +++ b/FastSimulation/SimplifiedGeometryPropagator/interface/ParticleManager.h @@ -146,7 +146,9 @@ inline bool isExotic(int pdgid_) { return ((pdgid >= 1000000 && pdgid < 4000000 && pdgid != 3000022) || // SUSY, R-hadron, and technicolor particles pdgid == 17 || // 4th generation lepton pdgid == 34 || // W-prime - pdgid == 37); // charged Higgs + pdgid == 37 || // charged Higgs + pdgid == 39); // bulk graviton + } #endif diff --git a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc index a62571af2fdb5..f1b9eda44243e 100644 --- a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc +++ b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc @@ -224,11 +224,17 @@ std::unique_ptr fastsim::ParticleManager::nextGenParticle() { } } - // particle must not decay before it reaches the beam pipe + // FastSim will not make hits out of particles that decay before reaching the beam pipe if (endVertex && endVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_) { continue; } + // SM particles that descend from exotics and cross the beam pipe radius should make hits but not be decayed + if (productionVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_ && + endVertex && endVertex->position().perp2() * lengthUnitConversionFactor2_ > beamPipeRadius2_) { + exoticRelativesChecker(productionVertex, exoticRelativeId, 0); + } + // make the particle std::unique_ptr newParticle( new Particle(particle.pdg_id(), From b1b49659cd0da13d16ebdac92851e275f3ef96e0 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Mon, 15 Nov 2021 08:39:42 +0100 Subject: [PATCH 035/268] Replace pass by reference with pass by value in MTDCommonBase, as suggested by M. Kortelainen --- Geometry/MTDCommonData/interface/MTDBaseNumber.h | 6 +++--- Geometry/MTDCommonData/src/MTDBaseNumber.cc | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Geometry/MTDCommonData/interface/MTDBaseNumber.h b/Geometry/MTDCommonData/interface/MTDBaseNumber.h index 33f76d63967d0..6a7f5b860ddba 100644 --- a/Geometry/MTDCommonData/interface/MTDBaseNumber.h +++ b/Geometry/MTDCommonData/interface/MTDBaseNumber.h @@ -18,12 +18,12 @@ class MTDBaseNumber { MTDBaseNumber(const MTDBaseNumber& aBaseNumber); ~MTDBaseNumber() {} - void setSize(const int& size); - void addLevel(const std::string_view& name, const int& copyNumber); + void setSize(const int size); + void addLevel(const std::string_view name, const int copyNumber); int getLevels() const; int getCopyNumber(int level) const; - int getCopyNumber(const std::string_view& levelName) const; + int getCopyNumber(const std::string_view levelName) const; std::string_view const& getLevelName(int level) const; int getCapacity(); diff --git a/Geometry/MTDCommonData/src/MTDBaseNumber.cc b/Geometry/MTDCommonData/src/MTDBaseNumber.cc index 2fd417b59a053..dfd82dbbe387a 100644 --- a/Geometry/MTDCommonData/src/MTDBaseNumber.cc +++ b/Geometry/MTDCommonData/src/MTDBaseNumber.cc @@ -7,7 +7,7 @@ MTDBaseNumber::MTDBaseNumber(const MTDBaseNumber& aBaseNumber) _sortedCopyNumber(aBaseNumber._sortedCopyNumber), _theLevels(aBaseNumber._theLevels) {} -void MTDBaseNumber::setSize(const int& size) { +void MTDBaseNumber::setSize(const int size) { if (size < MAXLEVEL) { _sortedName.resize(size); _sortedCopyNumber.resize(size); @@ -18,7 +18,7 @@ void MTDBaseNumber::setSize(const int& size) { } } -void MTDBaseNumber::addLevel(const std::string_view& name, const int& copyNumber) { +void MTDBaseNumber::addLevel(const std::string_view name, const int copyNumber) { if (_theLevels == MAXLEVEL - 1) { throw cms::Exception("WrongMTDGeom") << "MTDBaseNumber required to add more levels than maximum allowed"; } @@ -31,7 +31,7 @@ int MTDBaseNumber::getLevels() const { return _theLevels; } int MTDBaseNumber::getCopyNumber(int level) const { return _sortedCopyNumber[level]; } -int MTDBaseNumber::getCopyNumber(const std::string_view& levelName) const { +int MTDBaseNumber::getCopyNumber(const std::string_view levelName) const { for (int iLevel = 0; iLevel < _theLevels; iLevel++) { if (_sortedName[iLevel] == levelName) { return _sortedCopyNumber[iLevel]; From d8c73e1880c6fdb83cec91c5b72b23ad809ea16c Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Mon, 15 Nov 2021 09:01:42 +0100 Subject: [PATCH 036/268] Simplify the definition of baseNumber acoording to C. Vuosalo's comment --- Geometry/MTDCommonData/test/DD4hep_TestMTDIdealGeometry.cc | 3 +-- .../MTDGeometryBuilder/test/DD4hep_TestBTLPixelTopology.cc | 3 +-- Geometry/MTDNumberingBuilder/plugins/CmsMTDConstruction.cc | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/Geometry/MTDCommonData/test/DD4hep_TestMTDIdealGeometry.cc b/Geometry/MTDCommonData/test/DD4hep_TestMTDIdealGeometry.cc index f5e95b75bca5c..9361965605dba 100644 --- a/Geometry/MTDCommonData/test/DD4hep_TestMTDIdealGeometry.cc +++ b/Geometry/MTDCommonData/test/DD4hep_TestMTDIdealGeometry.cc @@ -312,8 +312,7 @@ void DD4hep_TestMTDIdealGeometry::theBaseNumber(cms::DDFilteredView& fv) { for (uint ii = 0; ii < fv.navPos().size(); ii++) { std::string_view name((fv.geoHistory()[ii])->GetName()); size_t ipos = name.rfind('_'); - thisN_.addLevel((static_cast((fv.geoHistory()[ii])->GetName())).substr(0, ipos), - fv.copyNos()[ii]); + thisN_.addLevel(name.substr(0, ipos), fv.copyNos()[ii]); #ifdef EDM_ML_DEBUG edm::LogVerbatim("DD4hep_TestMTDIdealGeometry") << name.substr(0, ipos) << " " << fv.copyNos()[ii]; #endif diff --git a/Geometry/MTDGeometryBuilder/test/DD4hep_TestBTLPixelTopology.cc b/Geometry/MTDGeometryBuilder/test/DD4hep_TestBTLPixelTopology.cc index 1328ad59a053d..938527a01c96a 100644 --- a/Geometry/MTDGeometryBuilder/test/DD4hep_TestBTLPixelTopology.cc +++ b/Geometry/MTDGeometryBuilder/test/DD4hep_TestBTLPixelTopology.cc @@ -320,8 +320,7 @@ void DD4hep_TestBTLPixelTopology::theBaseNumber(cms::DDFilteredView& fv) { for (uint ii = 0; ii < fv.navPos().size(); ii++) { std::string_view name((fv.geoHistory()[ii])->GetName()); size_t ipos = name.rfind('_'); - thisN_.addLevel((static_cast((fv.geoHistory()[ii])->GetName())).substr(0, ipos), - fv.copyNos()[ii]); + thisN_.addLevel(name.substr(0, ipos), fv.copyNos()[ii]); #ifdef EDM_ML_DEBUG edm::LogVerbatim("DD4hep_TestBTLPixelTopology") << name.substr(0, ipos) << " " << fv.copyNos()[ii]; #endif diff --git a/Geometry/MTDNumberingBuilder/plugins/CmsMTDConstruction.cc b/Geometry/MTDNumberingBuilder/plugins/CmsMTDConstruction.cc index 776b8bab61035..0c826d9064af0 100644 --- a/Geometry/MTDNumberingBuilder/plugins/CmsMTDConstruction.cc +++ b/Geometry/MTDNumberingBuilder/plugins/CmsMTDConstruction.cc @@ -160,8 +160,7 @@ void CmsMTDConstruction::buildETLModule(cms::DDFilteredView for (uint i = 0; i < fv.copyNos().size(); i++) { std::string_view name((fv.geoHistory()[i])->GetName()); size_t ipos = name.rfind('_'); - baseNumber_.addLevel((static_cast((fv.geoHistory()[i])->GetName())).substr(0, ipos), - fv.copyNos()[i]); + baseNumber_.addLevel(name.substr(0, ipos), fv.copyNos()[i]); #ifdef EDM_ML_DEBUG edm::LogVerbatim("CmsMTDConstruction") << name.substr(0, ipos) << " " << fv.copyNos()[i]; #endif From 38b28e1a21f6e755332f5c554bad970a2c04c051 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Thu, 21 Oct 2021 20:20:01 -0500 Subject: [PATCH 037/268] Fix the GE2/1 pad producer for 16-partition geometries --- .../L1TGEM/plugins/GEMPadDigiProducer.cc | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/L1Trigger/L1TGEM/plugins/GEMPadDigiProducer.cc b/L1Trigger/L1TGEM/plugins/GEMPadDigiProducer.cc index 961ea4a30e538..34bb4f066bf53 100644 --- a/L1Trigger/L1TGEM/plugins/GEMPadDigiProducer.cc +++ b/L1Trigger/L1TGEM/plugins/GEMPadDigiProducer.cc @@ -19,8 +19,16 @@ #include -/// \class GEMPadDigiProducer -/// producer for GEM trigger pads +/* + \class GEMPadDigiProducer + producer for GEM trigger pads + + In GE1/1: trigger pads are made from neighboring strip digis + in the same eta partition + + In GE2/1: trigger pads are made from neighboring strip digis + in neighboring eta partitions +*/ class GEMPadDigiProducer : public edm::stream::EDProducer<> { public: @@ -154,17 +162,18 @@ void GEMPadDigiProducer::buildPads16GE21(const GEMDigiCollection& det_digis, GEM // and stuff them into a set of unique pads (equivalent of OR operation) auto digis = det_digis.get(p->id()); + // proto pads for the odd partitions + for (auto d = digis.first; d != digis.second; ++d) { + proto_pads.emplace(d->strip(), d->bx()); + } + GEMDetId gemId2( p->id().region(), p->id().ring(), p->id().station(), p->id().layer(), p->id().chamber(), p->id().roll() + 1); auto digis2 = det_digis.get(gemId2); - for (auto d = digis.first; d != digis.second; ++d) { - // check if the strip digi in the eta partition below also has a digi - for (auto d2 = digis2.first; d2 != digis2.second; ++d2) { - if (d->strip() == d2->strip()) { - proto_pads.emplace(d->strip(), d->bx()); - } - } + // proto pads for the even partitions + for (auto d = digis2.first; d != digis2.second; ++d) { + proto_pads.emplace(d->strip(), d->bx()); } // fill the output collections From a80fa8ce556670281a4bed36ce726227aeffa495 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Tue, 26 Oct 2021 16:02:00 -0500 Subject: [PATCH 038/268] Enable validation of 16-partition GE2/1 pads and clusters --- .../plugins/GEMPadDigiClusterValidation.cc | 4 ---- .../plugins/GEMPadDigiValidation.cc | 4 ---- Validation/MuonGEMDigis/src/GEMDigiMatcher.cc | 19 ++++++++++++++----- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Validation/MuonGEMDigis/plugins/GEMPadDigiClusterValidation.cc b/Validation/MuonGEMDigis/plugins/GEMPadDigiClusterValidation.cc index d9004a338823d..bc480524ff08a 100644 --- a/Validation/MuonGEMDigis/plugins/GEMPadDigiClusterValidation.cc +++ b/Validation/MuonGEMDigis/plugins/GEMPadDigiClusterValidation.cc @@ -201,10 +201,6 @@ void GEMPadDigiClusterValidation::analyze(const edm::Event& event, const edm::Ev ME3IdsKey key3(region_id, station_id, layer_id); for (auto digi = range.first; digi != range.second; ++digi) { - // ignore 16-partition GE2/1 pads - if (gemid.isGE21() and digi->nPartitions() == GEMPadDigiCluster::GE21SplitStrip) - continue; - const auto& padsVec = digi->pads(); if (padsVec.empty()) { edm::LogError(kLogCategory_) << "Pads missing for digi from GEM ID = " << gemid; diff --git a/Validation/MuonGEMDigis/plugins/GEMPadDigiValidation.cc b/Validation/MuonGEMDigis/plugins/GEMPadDigiValidation.cc index 6ec855d99ee71..9ef6533b9a715 100644 --- a/Validation/MuonGEMDigis/plugins/GEMPadDigiValidation.cc +++ b/Validation/MuonGEMDigis/plugins/GEMPadDigiValidation.cc @@ -184,10 +184,6 @@ void GEMPadDigiValidation::analyze(const edm::Event& event, const edm::EventSetu ME3IdsKey key3(region_id, station_id, layer_id); for (auto digi = range.first; digi != range.second; ++digi) { - // ignore 16-partition GE2/1 pads - if (gemid.isGE21() and digi->nPartitions() == GEMPadDigi::GE21SplitStrip) - continue; - total_pad[key3]++; Int_t pad = digi->pad(); diff --git a/Validation/MuonGEMDigis/src/GEMDigiMatcher.cc b/Validation/MuonGEMDigis/src/GEMDigiMatcher.cc index 573f58cb47b4c..9a44ea17c1b16 100644 --- a/Validation/MuonGEMDigis/src/GEMDigiMatcher.cc +++ b/Validation/MuonGEMDigis/src/GEMDigiMatcher.cc @@ -181,10 +181,6 @@ void GEMDigiMatcher::matchPadsToSimTrack(const GEMPadDigiCollection& pads) { const auto& pads_in_det = pads.get(p_id); for (auto pad = pads_in_det.first; pad != pads_in_det.second; ++pad) { - // ignore 16-partition GE2/1 pads - if (p_id.isGE21() and pad->nPartitions() == GEMPadDigi::GE21SplitStrip) - continue; - // check that the pad BX is within the range if (pad->bx() < minBXPad_ || pad->bx() > maxBXPad_) continue; @@ -194,7 +190,20 @@ void GEMDigiMatcher::matchPadsToSimTrack(const GEMPadDigiCollection& pads) { // check that it matches a pad that was hit by SimHits from our track for (auto digi : detid_to_digis_[p_id.rawId()]) { - if (digi.strip() / 2 == pad->pad()) { + // for 8-partition geometries, the pad number equals the strip number divided by two + const bool match8Partition(digi.strip() / 2 == pad->pad()); + // for 16-partition geometries, the pad number is the strip number itself + const bool match16Partition(digi.strip() == pad->pad()); + + // now consider the different cases separately + const bool matchGE0(p_id.isME0() and match8Partition); + const bool matchGE11(p_id.isGE11() and match8Partition); + const bool matchGE21_8(p_id.isGE21() and pad->nPartitions() == GEMPadDigi::GE21 and match8Partition); + const bool matchGE21_16(p_id.isGE21() and pad->nPartitions() == GEMPadDigi::GE21SplitStrip and + match16Partition); + + // OR them together + if (matchGE0 or matchGE11 or matchGE21_8 or matchGE21_16) { detid_to_pads_[p_id.rawId()].push_back(*pad); chamber_to_pads_[p_id.chamberId().rawId()].push_back(*pad); superchamber_to_pads_[p_id.superChamberId().rawId()].push_back(*pad); From 36351c617484a8e3c8351209b23560d76621fc5b Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Fri, 29 Oct 2021 07:26:34 -0500 Subject: [PATCH 039/268] Get rid of 0.5 offsets in binning --- .../MuonGEMDigis/plugins/GEMPadDigiClusterValidation.cc | 8 ++++---- Validation/MuonGEMDigis/plugins/GEMPadDigiValidation.cc | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Validation/MuonGEMDigis/plugins/GEMPadDigiClusterValidation.cc b/Validation/MuonGEMDigis/plugins/GEMPadDigiClusterValidation.cc index bc480524ff08a..5dad4977cc8ef 100644 --- a/Validation/MuonGEMDigis/plugins/GEMPadDigiClusterValidation.cc +++ b/Validation/MuonGEMDigis/plugins/GEMPadDigiClusterValidation.cc @@ -28,7 +28,7 @@ void GEMPadDigiClusterValidation::bookHistograms(DQMStore::IBooker& booker, TString cls_title = "Cluster Size Distribution"; TString cls_x_title = "Cluster size"; - me_cls_ = booker.book1D("cls", cls_title + ";" + cls_x_title + ";" + "Entries", 10, 0.5, 10.5); + me_cls_ = booker.book1D("cls", cls_title + ";" + cls_x_title + ";" + "Entries", 10, 0, 10); // NOTE Occupancy for (const auto& region : gem->regions()) { @@ -73,7 +73,7 @@ void GEMPadDigiClusterValidation::bookHistograms(DQMStore::IBooker& booker, Int_t num_pads = etaPartitionVec.front()->npads(); me_total_cluster_[key3] = - bookHist1D(booker, key3, "total_pad_cluster", "Number of pad digi cluster per event", 21, -0.5, 20.5); + bookHist1D(booker, key3, "total_pad_cluster", "Number of pad digi cluster per event", 20, 0, 20); me_pad_cluster_occ_eta_[key3] = bookHist1D(booker, key3, @@ -104,7 +104,7 @@ void GEMPadDigiClusterValidation::bookHistograms(DQMStore::IBooker& booker, "Pad number"); me_detail_occ_pad_[key3] = - bookHist1D(booker, key3, "occ_pad", "Pad Cluster Occupancy", num_pads, 0.5, num_pads + 0.5, "Pad number"); + bookHist1D(booker, key3, "occ_pad", "Pad Cluster Occupancy", num_pads, 0, num_pads, "Pad number"); } } // end loop over layer ids } // end loop over station ids @@ -133,7 +133,7 @@ void GEMPadDigiClusterValidation::bookHistograms(DQMStore::IBooker& booker, Int_t layer_id = chamber->id().layer(); ME3IdsKey key3(region_id, station_id, layer_id); me_detail_bx_[key3] = - bookHist1D(booker, key3, "bx", "Pad Cluster Bunch Crossing", 5, -2.5, 2.5, "Bunch crossing"); + bookHist1D(booker, key3, "bx", "Pad Cluster Bunch Crossing", 5, -2, 3, "Bunch crossing"); } // chamber loop } // station loop } // region loop diff --git a/Validation/MuonGEMDigis/plugins/GEMPadDigiValidation.cc b/Validation/MuonGEMDigis/plugins/GEMPadDigiValidation.cc index 9ef6533b9a715..d0c9121f0665d 100644 --- a/Validation/MuonGEMDigis/plugins/GEMPadDigiValidation.cc +++ b/Validation/MuonGEMDigis/plugins/GEMPadDigiValidation.cc @@ -66,7 +66,7 @@ void GEMPadDigiValidation::bookHistograms(DQMStore::IBooker& booker, Int_t num_pads = etaPartitionVec.front()->npads(); me_occ_total_pad_[key3] = - bookHist1D(booker, key3, "total_pads_per_event", "Number of pad digis per event", 51, -0.5, 50); + bookHist1D(booker, key3, "total_pads_per_event", "Number of pad digis per event", 50, 0, 50); me_pad_occ_eta_[key3] = bookHist1D(booker, key3, @@ -97,7 +97,7 @@ void GEMPadDigiValidation::bookHistograms(DQMStore::IBooker& booker, "Pad number"); me_detail_occ_pad_[key3] = - bookHist1D(booker, key3, "occ_pad", "Pad Occupancy", num_pads, 0.5, num_pads + 0.5, "Pad number"); + bookHist1D(booker, key3, "occ_pad", "Pad Occupancy", num_pads, 0, num_pads, "Pad number"); } } // layer loop } // station loop @@ -126,7 +126,7 @@ void GEMPadDigiValidation::bookHistograms(DQMStore::IBooker& booker, Int_t layer_id = chamber->id().layer(); ME3IdsKey key3(region_id, station_id, layer_id); - me_detail_bx_[key3] = bookHist1D(booker, key3, "bx", "Pad Bunch Crossing", 5, -2.5, 2.5, "Bunch crossing"); + me_detail_bx_[key3] = bookHist1D(booker, key3, "bx", "Pad Bunch Crossing", 5, -2, 3, "Bunch crossing"); } // chamber loop } // station loop } // region loop From 31eeb60421132947c11c5e2a85d3e49cc32b79e0 Mon Sep 17 00:00:00 2001 From: Davide Valsecchi Date: Mon, 15 Nov 2021 17:21:11 +0100 Subject: [PATCH 040/268] Added new bkg_nonIsolated threshold for PFEgm ID --- .../PFProducer/interface/PFEGammaFilters.h | 4 ++++ .../PFProducer/src/PFEGammaFilters.cc | 21 +++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/RecoParticleFlow/PFProducer/interface/PFEGammaFilters.h b/RecoParticleFlow/PFProducer/interface/PFEGammaFilters.h index 27861d8c1fc3e..578fcccd1c630 100644 --- a/RecoParticleFlow/PFProducer/interface/PFEGammaFilters.h +++ b/RecoParticleFlow/PFProducer/interface/PFEGammaFilters.h @@ -57,6 +57,10 @@ class PFEGammaFilters { float ele_dnnLowPtThr_; float ele_dnnHighPtBarrelThr_; float ele_dnnHighPtEndcapThr_; + // Thresholds for DNN Bkg ele pfid + float ele_dnnBkgLowPtThr_; + float ele_dnnBkgHighPtBarrelThr_; + float ele_dnnBkgHighPtEndcapThr_; // Threshold for DNN photon pfid float photon_dnnBarrelThr_; float photon_dnnEndcapThr_; diff --git a/RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc b/RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc index ad770b07eb62e..0c75e300808c5 100644 --- a/RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc +++ b/RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc @@ -50,6 +50,7 @@ PFEGammaFilters::PFEGammaFilters(const edm::ParameterSet& cfg) auto const& phoProtectionsForBadHcal = cfg.getParameter("photon_protectionsForBadHcal"); auto const& phoProtectionsForJetMET = cfg.getParameter("photon_protectionsForJetMET"); auto const& eleDNNIdThresholds = cfg.getParameter("electronDnnThresholds"); + auto const& eleDNNBkgIdThresholds = cfg.getParameter("electronDnnBkgThresholds"); auto const& photonDNNIdThresholds = cfg.getParameter("photonDnnThresholds"); pho_sumPtTrackIso_ = phoProtectionsForJetMET.getParameter("sumPtTrackIso"); @@ -72,6 +73,11 @@ PFEGammaFilters::PFEGammaFilters(const edm::ParameterSet& cfg) ele_dnnLowPtThr_ = eleDNNIdThresholds.getParameter("electronDnnLowPtThr"); ele_dnnHighPtBarrelThr_ = eleDNNIdThresholds.getParameter("electronDnnHighPtBarrelThr"); ele_dnnHighPtEndcapThr_ = eleDNNIdThresholds.getParameter("electronDnnHighPtEndcapThr"); + + ele_dnnBkgLowPtThr_ = eleDNNBkgIdThresholds.getParameter("electronDnnBkgLowPtThr"); + ele_dnnBkgHighPtBarrelThr_ = eleDNNBkgIdThresholds.getParameter("electronDnnBkgHighPtBarrelThr"); + ele_dnnBkgHighPtEndcapThr_ = eleDNNBkgIdThresholds.getParameter("electronDnnBkgHighPtEndcapThr"); + photon_dnnBarrelThr_ = photonDNNIdThresholds.getParameter("photonDnnBarrelThr"); photon_dnnEndcapThr_ = photonDNNIdThresholds.getParameter("photonDnnEndcapThr"); @@ -170,16 +176,17 @@ bool PFEGammaFilters::passElectronSelection(const reco::GsfElectron& electron, if (useElePFidDNN_) { // Use DNN for ele pfID >=CMSSW12_1 const auto dnn_sig = electron.dnn_signal_Isolated() + electron.dnn_signal_nonIsolated(); + const auto dnn_bkg = electron.dnn_bkg_nonIsolated(); const auto etaThreshold = (useEBModelInGap_) ? ecalBarrelMaxEtaWithGap : ecalBarrelMaxEtaNoGap; if (electronPt > ele_iso_pt_) { // using the Barrel model for electron in the EB-EE gap if (eleEta <= etaThreshold) { - passEleSelection = dnn_sig > ele_dnnHighPtBarrelThr_; + passEleSelection = (dnn_sig > ele_dnnHighPtBarrelThr_) && (dnn_bkg < ele_dnnBkgHighPtBarrelThr_); } else if (eleEta > etaThreshold) { - passEleSelection = dnn_sig > ele_dnnHighPtEndcapThr_; + passEleSelection = (dnn_sig > ele_dnnHighPtEndcapThr_) && (dnn_sig < ele_dnnBkgHighPtEndcapThr_); } } else { // pt < ele_iso_pt_ - passEleSelection = dnn_sig > ele_dnnLowPtThr_; + passEleSelection = (dnn_sig > ele_dnnLowPtThr_) && (dnn_sig < ele_dnnBkgLowPtThr_); } // TODO: For the moment do not evaluate further conditions on isolation and HCAL cleaning.. // To be understood if they are needed @@ -496,9 +503,15 @@ void PFEGammaFilters::fillPSetDescription(edm::ParameterSetDescription& iDesc) { psd.add("electronDnnLowPtThr", 0.5); psd.add("electronDnnHighPtBarrelThr", 0.5); psd.add("electronDnnHighPtEndcapThr", 0.5); - iDesc.add("electronDnnThresholds", psd); } + { + edm::ParameterSetDescription psd; + psd.add("electronDnnBkgLowPtThr", 1); + psd.add("electronDnnBkgHighPtBarrelThr", 1); + psd.add("electronDnnBkgHighPtEndcapThr", 1); + iDesc.add("electronDnnBkgThresholds", psd); + } iDesc.add("usePhotonPFidDnn", false); { edm::ParameterSetDescription psd; From a5b3e17eb660717b74bd19a47156bfdf3d7ccad3 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Mon, 15 Nov 2021 17:32:11 +0100 Subject: [PATCH 041/268] load fb hits, fix memory handling for large nhit --- .../Math/interface/choleskyInversion.h | 7 +- DataFormats/Math/test/CholeskyInvert_t.cu | 3 +- .../PixelTrackFitting/interface/BrokenLine.h | 4 +- .../plugins/BrokenLineFitOnGPU.cc | 107 +++++++++++----- .../plugins/BrokenLineFitOnGPU.cu | 121 ++++++++++++------ .../plugins/BrokenLineFitOnGPU.h | 59 +++++---- .../PixelTriplets/plugins/GPUCACell.h | 10 +- 7 files changed, 198 insertions(+), 113 deletions(-) diff --git a/DataFormats/Math/interface/choleskyInversion.h b/DataFormats/Math/interface/choleskyInversion.h index 51154a38ca97d..a478614f9a2ac 100644 --- a/DataFormats/Math/interface/choleskyInversion.h +++ b/DataFormats/Math/interface/choleskyInversion.h @@ -337,10 +337,9 @@ namespace math { // Eigen interface template - inline constexpr void __attribute__((always_inline)) - invert(M1 const& src, M2& dst) { - if constexpr (M2::ColsAtCompileTime < 200) // should be 7 but - Inverter::eval(src, dst); + inline constexpr void __attribute__((always_inline)) invert(M1 const& src, M2& dst) { + if constexpr (M2::ColsAtCompileTime < 200) // should be 7 but + Inverter::eval(src, dst); else dst = src.llt().solve(M1::Identity()); // ... this crashes on GPU } diff --git a/DataFormats/Math/test/CholeskyInvert_t.cu b/DataFormats/Math/test/CholeskyInvert_t.cu index 7f0efc346a713..a06ef7c377a7a 100644 --- a/DataFormats/Math/test/CholeskyInvert_t.cu +++ b/DataFormats/Math/test/CholeskyInvert_t.cu @@ -85,7 +85,8 @@ template void go(bool soa) { constexpr unsigned int DIM = N; using MX = MXN; - std::cout << "testing Matrix of dimension " << DIM << " size " << sizeof(MX) << " in " << (soa ? "SOA" : "AOS") << " mode" << std::endl; + std::cout << "testing Matrix of dimension " << DIM << " size " << sizeof(MX) << " in " << (soa ? "SOA" : "AOS") + << " mode" << std::endl; auto start = std::chrono::high_resolution_clock::now(); auto delta = start - start; diff --git a/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h b/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h index 37b183371fc54..fbcac4c07836f 100644 --- a/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h +++ b/RecoPixelVertexing/PixelTrackFitting/interface/BrokenLine.h @@ -156,7 +156,7 @@ namespace brokenline { int mId = 1; - if constexpr (n>3) { + if constexpr (n > 3) { riemannFit::Vector2d middle = 0.5 * (hits.block(0, n - 1, 2, 1) + hits.block(0, 0, 2, 1)); auto d1 = (hits.block(0, n / 2, 2, 1) - middle).squaredNorm(); auto d2 = (hits.block(0, n / 2 - 1, 2, 1) - middle).squaredNorm(); @@ -260,7 +260,7 @@ namespace brokenline { int mId = 1; - if constexpr (n>3) { + if constexpr (n > 3) { riemannFit::Vector2d middle = 0.5 * (hits.block(0, n - 1, 2, 1) + hits.block(0, 0, 2, 1)); auto d1 = (hits.block(0, n / 2, 2, 1) - middle).squaredNorm(); auto d2 = (hits.block(0, n / 2 - 1, 2, 1) - middle).squaredNorm(); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc index 219cf9c62c1f1..6ebca08a9e82e 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc @@ -3,75 +3,116 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hitsInFit, uint32_t maxNumberOfTuples) { assert(tuples_); + setlinebuf(stdout); + // Fit internals auto tkidGPU = std::make_unique(maxNumberOfConcurrentFits_); auto hitsGPU = - std::make_unique(maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix3xNd<4>) / sizeof(double)); + std::make_unique(maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix3xNd<6>) / sizeof(double)); auto hits_geGPU = - std::make_unique(maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix6x4f) / sizeof(float)); + std::make_unique(maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix6xNf<6>) / sizeof(float)); auto fast_fit_resultsGPU = std::make_unique(maxNumberOfConcurrentFits_ * sizeof(riemannFit::Vector4d) / sizeof(double)); for (uint32_t offset = 0; offset < maxNumberOfTuples; offset += maxNumberOfConcurrentFits_) { // fit triplets - kernel_BLFastFit<3>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 3,3, offset); + kernel_BLFastFit<3>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 3, + 3, + offset); kernel_BLFit<3>(tupleMultiplicity_, bField_, outputSoa_, - tkidGPU.get(), hitsGPU.get(), + tkidGPU.get(), + hitsGPU.get(), hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); + fast_fit_resultsGPU.get()); if (fit5as4_) { // fit all as 4 - kernel_BLFastFit<4>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,8, offset); + kernel_BLFastFit<4>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 4, + 8, + offset); kernel_BLFit<4>(tupleMultiplicity_, bField_, outputSoa_, - tkidGPU.get(), hitsGPU.get(), + tkidGPU.get(), + hitsGPU.get(), hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); - + fast_fit_resultsGPU.get()); } else { - // fit quads - kernel_BLFastFit<4>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,4, offset); + // fit quads + kernel_BLFastFit<4>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 4, + 4, + offset); - kernel_BLFit<4>(tupleMultiplicity_, - bField_, - outputSoa_, - tkidGPU.get(), hitsGPU.get(), - hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); + kernel_BLFit<4>(tupleMultiplicity_, + bField_, + outputSoa_, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get()); // fit penta (all 5) - kernel_BLFastFit<5>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5,5, offset); + kernel_BLFastFit<5>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 5, + 5, + offset); kernel_BLFit<5>(tupleMultiplicity_, bField_, outputSoa_, - tkidGPU.get(), hitsGPU.get(), + tkidGPU.get(), + hitsGPU.get(), hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); + fast_fit_resultsGPU.get()); // fit sexta and above (as 6) - kernel_BLFastFit<6>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6,8, offset); + kernel_BLFastFit<6>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 6, + 8, + offset); kernel_BLFit<6>(tupleMultiplicity_, bField_, outputSoa_, - tkidGPU.get(), hitsGPU.get(), + tkidGPU.get(), + hitsGPU.get(), hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); + fast_fit_resultsGPU.get()); } } // loop on concurrent fits diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu index 31b58bd0e00d3..0b617d8b3b4af 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu @@ -11,82 +11,121 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, auto numberOfBlocks = (maxNumberOfConcurrentFits_ + blockSize - 1) / blockSize; // Fit internals - auto tkidGPU = cms::cuda::make_device_unique(maxNumberOfConcurrentFits_,stream); + auto tkidGPU = cms::cuda::make_device_unique(maxNumberOfConcurrentFits_, stream); auto hitsGPU = cms::cuda::make_device_unique( - maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix3xNd<4>) / sizeof(double), stream); + maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix3xNd<6>) / sizeof(double), stream); auto hits_geGPU = cms::cuda::make_device_unique( - maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix6x4f) / sizeof(float), stream); + maxNumberOfConcurrentFits_ * sizeof(riemannFit::Matrix6xNf<6>) / sizeof(float), stream); auto fast_fit_resultsGPU = cms::cuda::make_device_unique( maxNumberOfConcurrentFits_ * sizeof(riemannFit::Vector4d) / sizeof(double), stream); for (uint32_t offset = 0; offset < maxNumberOfTuples; offset += maxNumberOfConcurrentFits_) { // fit triplets - kernel_BLFastFit<3><<>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 3,3, offset); + kernel_BLFastFit<3><<>>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 3, + 3, + offset); cudaCheck(cudaGetLastError()); kernel_BLFit<3><<>>(tupleMultiplicity_, bField_, outputSoa_, - tkidGPU.get(), hitsGPU.get(), + tkidGPU.get(), + hitsGPU.get(), hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); + fast_fit_resultsGPU.get()); cudaCheck(cudaGetLastError()); if (fit5as4_) { // fit all as 4 - kernel_BLFastFit<4><<>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,8, offset); + kernel_BLFastFit<4><<>>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 4, + 8, + offset); cudaCheck(cudaGetLastError()); kernel_BLFit<4><<>>(tupleMultiplicity_, bField_, outputSoa_, - tkidGPU.get(), hitsGPU.get(), + tkidGPU.get(), + hitsGPU.get(), hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); + fast_fit_resultsGPU.get()); } else { - // fit quads - kernel_BLFastFit<4><<>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 4,4, offset); - cudaCheck(cudaGetLastError()); - - kernel_BLFit<4><<>>(tupleMultiplicity_, - bField_, - outputSoa_, - tkidGPU.get(), hitsGPU.get(), - hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); - // fit penta (all 5) - kernel_BLFastFit<5><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 5,5, offset); + // fit quads + kernel_BLFastFit<4><<>>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 4, + 4, + offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<5><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, + kernel_BLFit<4><<>>(tupleMultiplicity_, bField_, outputSoa_, - tkidGPU.get(), hitsGPU.get(), + tkidGPU.get(), + hitsGPU.get(), hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); + fast_fit_resultsGPU.get()); + // fit penta (all 5) + kernel_BLFastFit<5><<<1, blockSize, 0, stream>>>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 5, + 5, + offset); + cudaCheck(cudaGetLastError()); + + kernel_BLFit<5><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, + bField_, + outputSoa_, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get()); cudaCheck(cudaGetLastError()); // fit sexta and above (as 6) - kernel_BLFastFit<6><<<1, blockSize, 0, stream>>>( - tuples_, tupleMultiplicity_, hv,tkidGPU.get(), hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), 6,8, offset); + kernel_BLFastFit<6><<<1, blockSize, 0, stream>>>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 6, + 8, + offset); cudaCheck(cudaGetLastError()); kernel_BLFit<6><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, - bField_, - outputSoa_, - tkidGPU.get(), hitsGPU.get(), - hits_geGPU.get(), - fast_fit_resultsGPU.get(), - offset); + bField_, + outputSoa_, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get()); cudaCheck(cudaGetLastError()); - } } // loop on concurrent fits diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h index 48fbe0b8cd638..b7f06191cd952 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h @@ -22,7 +22,6 @@ using OutputSoA = pixelTrack::TrackSoA; using tindex_type = caConstants::tindex_type; constexpr auto invalidTkId = std::numeric_limits::max(); - // #define BL_DUMP_HITS template @@ -33,32 +32,35 @@ __global__ void kernel_BLFastFit(Tuples const *__restrict__ foundNtuplets, double *__restrict__ phits, float *__restrict__ phits_ge, double *__restrict__ pfast_fit, - uint32_t nHitsL,uint32_t nHitsH, - uint32_t offset) { + uint32_t nHitsL, + uint32_t nHitsH, + int32_t offset) { constexpr uint32_t hitsInFit = N; assert(hitsInFit <= nHitsL); assert(nHitsL <= nHitsH); assert(hhp); + assert(phits); assert(pfast_fit); assert(foundNtuplets); assert(tupleMultiplicity); // look in bin for this hit multiplicity auto local_start = blockIdx.x * blockDim.x + threadIdx.x; + int totTK = tupleMultiplicity->end(nHitsH) - tupleMultiplicity->begin(nHitsL); + assert(totTK <= int(tupleMultiplicity->size())); + assert(totTK >= 0); #ifdef BROKENLINE_DEBUG if (0 == local_start) { - printf("%d total Ntuple\n", foundNtuplets->nOnes()); - printf("%d Ntuple of size %d for %d hits to fit\n", tupleMultiplicity->size(nHits), nHits, hitsInFit); + printf("%d total Ntuple\n", tupleMultiplicity->size()); + printf("%d Ntuple of size %d/%d for %d hits to fit\n", totTK, nHitsL, nHitsH, hitsInFit); } #endif - uint32_t totTK=0; - for (auto iH=nHitsL; iH<=nHitsH; ++iH) - totTK += tupleMultiplicity->size(iH); + for (int local_idx = local_start, nt = riemannFit::maxNumberOfConcurrentFits; local_idx < nt; local_idx += gridDim.x * blockDim.x) { - auto tuple_idx = local_idx + offset; + int tuple_idx = local_idx + offset; if (tuple_idx >= totTK) { ptkids[local_idx] = invalidTkId; break; @@ -97,14 +99,20 @@ __global__ void kernel_BLFastFit(Tuples const *__restrict__ foundNtuplets, float ux, uy, uz; #endif - float incr = std::max(1.f,float(nHits)/float(hitsInFit)); + float incr = std::max(1.f, float(nHits) / float(hitsInFit)); float n = 0; + // int jold = -1; for (uint32_t i = 0; i < hitsInFit; ++i) { - int j = int(n+0.5f); // round - assert(ijold); + // jold=j; + assert(j < int(nHits)); + n += incr; auto hit = hitId[j]; float ge[6]; + #ifdef YERR_FROM_DC auto const &dp = hhp->cpeParams().detParams(hhp->detectorIndex(hit)); auto status = hhp->status(hit); @@ -133,26 +141,21 @@ __global__ void kernel_BLFastFit(Tuples const *__restrict__ foundNtuplets, #endif #ifdef BL_DUMP_HITS + bool dump = foundNtuplets->size(tkid) == 5; if (dump) { - printf("Hit global: %d: %d hits.col(%d) << %f,%f,%f\n", + printf("Track id %d %d Hit %d on %d\nGlobal: hits.col(%d) << %f,%f,%f\n", + local_idx, tkid, + hit, hhp->detectorIndex(hit), i, hhp->xGlobal(hit), hhp->yGlobal(hit), hhp->zGlobal(hit)); - printf("Error: %d: %d hits_ge.col(%d) << %e,%e,%e,%e,%e,%e\n", - tkid, - hhp->detetectorIndex(hit), - i, - ge[0], - ge[1], - ge[2], - ge[3], - ge[4], - ge[5]); + printf("Error: hits_ge.col(%d) << %e,%e,%e,%e,%e,%e\n", i, ge[0], ge[1], ge[2], ge[3], ge[4], ge[5]); } #endif + hits.col(i) << hhp->xGlobal(hit), hhp->yGlobal(hit), hhp->zGlobal(hit); hits_ge.col(i) << ge[0], ge[1], ge[2], ge[3], ge[4], ge[5]; } @@ -173,8 +176,7 @@ __global__ void kernel_BLFit(caConstants::TupleMultiplicity const *__restrict__ tindex_type const *__restrict__ ptkids, double *__restrict__ phits, float *__restrict__ phits_ge, - double *__restrict__ pfast_fit, - uint32_t offset) { + double *__restrict__ pfast_fit) { assert(results); assert(pfast_fit); @@ -184,10 +186,13 @@ __global__ void kernel_BLFit(caConstants::TupleMultiplicity const *__restrict__ auto local_start = blockIdx.x * blockDim.x + threadIdx.x; for (int local_idx = local_start, nt = riemannFit::maxNumberOfConcurrentFits; local_idx < nt; local_idx += gridDim.x * blockDim.x) { - if (invalidTkId==ptkids[local_idx]) break; + if (invalidTkId == ptkids[local_idx]) + break; auto tkid = ptkids[local_idx]; + assert(tkid < caConstants::maxTuples); + riemannFit::Map3xNd hits(phits + local_idx); riemannFit::Map4d fast_fit(pfast_fit + local_idx); riemannFit::Map6xNf hits_ge(phits_ge + local_idx); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h index de34dbeb12cf1..24f764e85f346 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h @@ -309,18 +309,18 @@ class GPUCACell { { hindex_type hits[8]; auto nh = 0U; - constexpr int maxFB = 2; // for the time being let's limit this + constexpr int maxFB = 2; // for the time being let's limit this int nfb = 0; for (auto c : tmpNtuplet) { hits[nh++] = cells[c].theInnerHitId; - if (nfb= 0) { // if negative is overflow.... for (auto c : tmpNtuplet) cells[c].addTrack(it, cellTracks); From 3cdd06b56e2719f821e68e2bb63a855ab29bd780 Mon Sep 17 00:00:00 2001 From: sbein Date: Mon, 15 Nov 2021 22:38:12 +0100 Subject: [PATCH 042/268] post code checks --- .../interface/ParticleManager.h | 3 +-- .../SimplifiedGeometryPropagator/src/ParticleManager.cc | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/FastSimulation/SimplifiedGeometryPropagator/interface/ParticleManager.h b/FastSimulation/SimplifiedGeometryPropagator/interface/ParticleManager.h index ab49035ae98cc..5f2f1cc87bb37 100644 --- a/FastSimulation/SimplifiedGeometryPropagator/interface/ParticleManager.h +++ b/FastSimulation/SimplifiedGeometryPropagator/interface/ParticleManager.h @@ -146,9 +146,8 @@ inline bool isExotic(int pdgid_) { return ((pdgid >= 1000000 && pdgid < 4000000 && pdgid != 3000022) || // SUSY, R-hadron, and technicolor particles pdgid == 17 || // 4th generation lepton pdgid == 34 || // W-prime - pdgid == 37 || // charged Higgs + pdgid == 37 || // charged Higgs pdgid == 39); // bulk graviton - } #endif diff --git a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc index f1b9eda44243e..31337abe23c88 100644 --- a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc +++ b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc @@ -229,11 +229,11 @@ std::unique_ptr fastsim::ParticleManager::nextGenParticle() { continue; } - // SM particles that descend from exotics and cross the beam pipe radius should make hits but not be decayed - if (productionVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_ && - endVertex && endVertex->position().perp2() * lengthUnitConversionFactor2_ > beamPipeRadius2_) { + // SM particles that descend from exotics and cross the beam pipe radius should make hits but not be decayed + if (productionVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_ && endVertex && + endVertex->position().perp2() * lengthUnitConversionFactor2_ > beamPipeRadius2_) { exoticRelativesChecker(productionVertex, exoticRelativeId, 0); - } + } // make the particle std::unique_ptr newParticle( From 238a7cde8a94bbaa115760911fff216a080cd984 Mon Sep 17 00:00:00 2001 From: Jeongeun Lee Date: Tue, 16 Nov 2021 10:42:15 +0100 Subject: [PATCH 043/268] replace EDProducer with clone from cfipython --- .../EcalTB/python/reco_application_2006_calibrate_cfg.py | 6 +++--- TauAnalysis/MCEmbeddingTools/python/customisers.py | 6 ++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Configuration/EcalTB/python/reco_application_2006_calibrate_cfg.py b/Configuration/EcalTB/python/reco_application_2006_calibrate_cfg.py index 5b3b84a3bbdbd..807b7ff303bc9 100644 --- a/Configuration/EcalTB/python/reco_application_2006_calibrate_cfg.py +++ b/Configuration/EcalTB/python/reco_application_2006_calibrate_cfg.py @@ -14,12 +14,12 @@ fileNames = cms.untracked.vstring('file:/u1/meridian/data/h4/2006/h4b.00013247.A.0.0.root') ) -process.ecal2006TBRecHit = cms.EDProducer("EcalRecHitProducer", +process.load("RecoLocalCalo.EcalRecProducers.ecalRecHit_cfi") +process.ecal2006TBRecHit = process.ecalRecHit.clone( EEuncalibRecHitCollection = cms.string(''), uncalibRecHitProducer = cms.string('ecal2006TBWeightUncalibRecHit'), EBuncalibRecHitCollection = cms.string('EcalUncalibRecHitsEB'), - EBrechitCollection = cms.string('EcalRecHitsEB'), - EErechitCollection = cms.string('') + EErechitCollection = '' ) process.out = cms.OutputModule("PoolOutputModule", diff --git a/TauAnalysis/MCEmbeddingTools/python/customisers.py b/TauAnalysis/MCEmbeddingTools/python/customisers.py index a608856d96dc1..74e2ea833139f 100644 --- a/TauAnalysis/MCEmbeddingTools/python/customisers.py +++ b/TauAnalysis/MCEmbeddingTools/python/customisers.py @@ -5,7 +5,6 @@ from __future__ import print_function import FWCore.ParameterSet.Config as cms - ################################ Customizer for skimming ########################### ### There are four different parts. ##First step is the SELECT (former SKIM) part, where we identfy the events which are good for Embedding. Need to store RAWRECO [RAW is needed for the MERG and RECO for the CLEAN step] @@ -443,9 +442,8 @@ def customisoptions(process): process.options = cms.untracked.PSet() process.options.emptyRunLumiMode = cms.untracked.string('doNotHandleEmptyRunsAndLumis') if not hasattr(process, "bunchSpacingProducer"): - process.bunchSpacingProducer = cms.EDProducer("BunchSpacingProducer") - process.bunchSpacingProducer.bunchSpacingOverride = cms.uint32(25) - process.bunchSpacingProducer.overrideBunchSpacing = cms.bool(True) + process.load('RecoLuminosity.LumiProducer.bunchSpacingProducer_cfi') + process.bunchSpacingProducer = process.bunchSpacingProducer.clone(overrideBunchSpacing = True) process.options.numberOfThreads = cms.untracked.uint32(1) process.options.numberOfStreams = cms.untracked.uint32(0) return process From 8f11205b8a3bcaf0b9f2fe82b0e66ed3e4a35be4 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Tue, 16 Nov 2021 12:16:04 +0100 Subject: [PATCH 044/268] change default, zero fb-picking --- .../PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc | 6 +++--- RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc index bf16e63b27163..9c8c9b9b74b5e 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc @@ -149,17 +149,17 @@ void CAHitNtupletGeneratorOnGPU::fillDescriptions(edm::ParameterSetDescription& desc.add("fillStatistics", false); desc.add("minHitsPerNtuplet", 4); desc.add("maxNumberOfDoublets", caConstants::maxNumberOfDoublets); - desc.add("minHitsForSharingCut", 5) + desc.add("minHitsForSharingCut", 10) ->setComment("Maximum number of hits in a tuple to clean also if the shared hit is on bpx1"); desc.add("includeJumpingForwardDoublets", false); - desc.add("fit5as4", true); + desc.add("fit5as4", false)->setComment("fit only 4 hits out of N");; desc.add("doClusterCut", true); desc.add("doZ0Cut", true); desc.add("doPtCut", true); desc.add("useRiemannFit", false)->setComment("true for Riemann, false for BrokenLine"); desc.add("doSharedHitCut", true)->setComment("Sharing hit nTuples cleaning"); desc.add("dupPassThrough", false)->setComment("Do not reject duplicate"); - desc.add("useSimpleTripletCleaner", false)->setComment("use alternate implementation"); + desc.add("useSimpleTripletCleaner", true)->setComment("use alternate implementation"); edm::ParameterSetDescription trackQualityCuts; trackQualityCuts.add("chi2MaxPt", 10.)->setComment("max pT used to determine the pT-dependent chi2 cut"); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h index 24f764e85f346..1c981411c9761 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h @@ -309,7 +309,7 @@ class GPUCACell { { hindex_type hits[8]; auto nh = 0U; - constexpr int maxFB = 2; // for the time being let's limit this + constexpr int maxFB = 0; // 2; // for the time being let's limit this int nfb = 0; for (auto c : tmpNtuplet) { hits[nh++] = cells[c].theInnerHitId; From 6fa6358a5e36899bf068398020605371415fbfd2 Mon Sep 17 00:00:00 2001 From: Abe Tishelman-Charny Date: Tue, 16 Nov 2021 14:38:52 +0100 Subject: [PATCH 045/268] Updated deprecated EcalPedestalHistory module --- CondTools/Ecal/plugins/EcalPedestalHistory.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CondTools/Ecal/plugins/EcalPedestalHistory.h b/CondTools/Ecal/plugins/EcalPedestalHistory.h index f9decf5ac1ae4..4b543b884ccb3 100644 --- a/CondTools/Ecal/plugins/EcalPedestalHistory.h +++ b/CondTools/Ecal/plugins/EcalPedestalHistory.h @@ -16,8 +16,8 @@ #include // user include files +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -41,12 +41,12 @@ #include #include -class EcalPedestalHistory : public edm::EDAnalyzer { +class EcalPedestalHistory : public edm::one::EDAnalyzer<> { public: explicit EcalPedestalHistory(const edm::ParameterSet&); ~EcalPedestalHistory() override; void analyze(const edm::Event&, const edm::EventSetup&) override; - void beginRun(edm::Run const&, edm::EventSetup const&) override; + void beginRun(edm::Run const&, edm::EventSetup const&); // no need to override beginRun when inheriting from one::EDAnalyzer void beginJob() override; void endJob() override; EcalCondDBInterface* econn; From a2eadd7ff425fd2594822111f5791ce108041094 Mon Sep 17 00:00:00 2001 From: Alessandro Rossi Date: Tue, 16 Nov 2021 15:54:53 +0100 Subject: [PATCH 046/268] Add checks on MEs presence to avoid segfault --- .../plugins/SiPixelPhase1ResidualsExtra.cc | 11 +++++++++++ DQM/TrackingMonitor/src/TrackFoldedOccupancyClient.cc | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc index 2f690fb3c20af..34585201292fd 100644 --- a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc +++ b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc @@ -300,6 +300,11 @@ void SiPixelPhase1ResidualsExtra::fillMEs(DQMStore::IBooker& iBooker, DQMStore:: MonitorElement* me2_y = iGetter.get( "PixelPhase1/Tracks/ResidualsExtra/PXBarrel/DRnR_y_per_SignedModule_per_SignedLadder_PXLayer_" + layer); + if(me_x == nullptr || me_y == nullptr || me2_x == nullptr || me2_x == nullptr){ + edm::LogWarning("SiPixelPhase1ResidualsExtra") << "Residuals plots for Pixel BPIX Layer"<getNbinsY(); i++) { if (i == (me_x->getNbinsY() / 2 + 1)) continue; //Middle bin of y axis is empty @@ -389,6 +394,12 @@ void SiPixelPhase1ResidualsExtra::fillMEs(DQMStore::IBooker& iBooker, DQMStore:: "PixelPhase1/Tracks/ResidualsExtra/PXForward/DRnR_x_per_PXDisk_per_SignedBladePanel_PXRing_" + ring); MonitorElement* me2_y = iGetter.get( "PixelPhase1/Tracks/ResidualsExtra/PXForward/DRnR_y_per_PXDisk_per_SignedBladePanel_PXRing_" + ring); + + if(me_x == nullptr || me_y == nullptr || me2_x == nullptr || me2_x == nullptr){ + edm::LogWarning("SiPixelPhase1ResidualsExtra") << "Residuals plots for Pixel FPIX Ring"<getNbinsX(); j++) { if (j == 4) diff --git a/DQM/TrackingMonitor/src/TrackFoldedOccupancyClient.cc b/DQM/TrackingMonitor/src/TrackFoldedOccupancyClient.cc index 36b8298607318..e6f9975f6caa0 100644 --- a/DQM/TrackingMonitor/src/TrackFoldedOccupancyClient.cc +++ b/DQM/TrackingMonitor/src/TrackFoldedOccupancyClient.cc @@ -92,6 +92,11 @@ void TrackFoldedOccupancyClient::dqmEndJob(DQMStore::IBooker& ibooker, DQMStore: hname = "TrackEtaPhiInvertedoutofphase_"; MonitorElement* TrackEtaPhiInvertedoutofphase = igetter.get(inFolder + hname + histTag_); + if(TrackEtaPhi == nullptr || TrackEtaPhiInverted == nullptr || TrackEtaPhiInvertedoutofphase == nullptr){ + edm::LogWarning("TrackFoldedOccupancyClient") << "MEs needed for this module not found. Skipping."; + return; + } + TkEtaPhi_Ratio_byFoldingmap->divide(TrackEtaPhi, TrackEtaPhiInverted, 1., 1., ""); TkEtaPhi_Ratio_byFoldingmap_op->divide(TrackEtaPhi, TrackEtaPhiInvertedoutofphase, 1., 1., ""); From c7a838c05994684b2a30dc7b20d4a8d949716a86 Mon Sep 17 00:00:00 2001 From: Markus Seidel Date: Tue, 16 Nov 2021 16:27:55 +0100 Subject: [PATCH 047/268] MahiDebugger Run 3 config --- .../{test => python}/mahiDebugger_cfi.py | 3 +- .../HcalRecAlgos/test/MahiDebugger.cc | 3 +- RecoLocalCalo/HcalRecAlgos/test/plotMahi.py | 104 ++++++++++++++++++ .../test/run_mahidebugger_run3data_cfg.py | 77 +++++++++++++ 4 files changed, 185 insertions(+), 2 deletions(-) rename RecoLocalCalo/HcalRecAlgos/{test => python}/mahiDebugger_cfi.py (82%) create mode 100755 RecoLocalCalo/HcalRecAlgos/test/plotMahi.py create mode 100755 RecoLocalCalo/HcalRecAlgos/test/run_mahidebugger_run3data_cfg.py diff --git a/RecoLocalCalo/HcalRecAlgos/test/mahiDebugger_cfi.py b/RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py similarity index 82% rename from RecoLocalCalo/HcalRecAlgos/test/mahiDebugger_cfi.py rename to RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py index 7de59c570c9f1..7214df0c2c895 100644 --- a/RecoLocalCalo/HcalRecAlgos/test/mahiDebugger_cfi.py +++ b/RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py @@ -7,4 +7,5 @@ meanTime = method2.m2Parameters.meanTime, timeSigmaHPD = method2.m2Parameters.timeSigmaHPD, timeSigmaSiPM = method2.m2Parameters.timeSigmaSiPM), - mahi.mahiParameters) + mahi.mahiParameters, + recoLabel = cms.InputTag('hbheprereco@cpu')) diff --git a/RecoLocalCalo/HcalRecAlgos/test/MahiDebugger.cc b/RecoLocalCalo/HcalRecAlgos/test/MahiDebugger.cc index 279aab275918a..7921e45760881 100644 --- a/RecoLocalCalo/HcalRecAlgos/test/MahiDebugger.cc +++ b/RecoLocalCalo/HcalRecAlgos/test/MahiDebugger.cc @@ -202,7 +202,7 @@ MahiDebugger::MahiDebugger(const edm::ParameterSet& iConfig) deltaChiSqThresh_, nnlsThresh_); - token_ChannelInfo_ = consumes(edm::InputTag("hbheprereco", "")); + token_ChannelInfo_ = consumes(iConfig.getParameter("recoLabel")); } MahiDebugger::~MahiDebugger() {} @@ -355,6 +355,7 @@ void MahiDebugger::endJob() {} void MahiDebugger::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { edm::ParameterSetDescription desc; + desc.add("recoLabel"); desc.add("dynamicPed"); desc.add("calculateArrivalTime"); desc.add("ts4Thresh"); diff --git a/RecoLocalCalo/HcalRecAlgos/test/plotMahi.py b/RecoLocalCalo/HcalRecAlgos/test/plotMahi.py new file mode 100755 index 0000000000000..9968e52604c76 --- /dev/null +++ b/RecoLocalCalo/HcalRecAlgos/test/plotMahi.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python + +# Plot MAHI multi-pulse fit results +import ROOT +ROOT.gStyle.SetOptStat(0) +c = ROOT.TCanvas('c','c',500,500) +c.cd() +c.SetRightMargin(0.05) +c.SetLeftMargin(0.12) +c.SetTopMargin(0.1) +c.SetTopMargin(0.05) + +color = [ROOT.kAzure+3, ROOT.kAzure+2, ROOT.kAzure+1, ROOT.kYellow-7, ROOT.kRed+1, ROOT.kRed+2, ROOT.kRed+3, ROOT.kRed+4] + +import os +plotdir = 'plotMahi' +if not os.path.exists(plotdir): + os.mkdir(plotdir) + +# Parameters for Run 3 HBHE +nTS = 10 # number of TS to plot +nOOT = 7 # number of OOT samples +offset = 3 # soi + +hists = {} +hists['digi'] = ROOT.TH1D('digi', ';TS;E [GeV]', nTS, -0.5, nTS-0.5) +hists['digi'].SetMarkerStyle(20) +for i in range(nOOT+1): + hists[i] = ROOT.TH1D('bx%i' % (i-3), ';TS;E [GeV]', nTS, -0.5, nTS-0.5) + hists[i].SetFillColor(color[i]) + hists[i].SetLineColor(ROOT.kBlack) + +tags = ['']#, '_shape206', '_timeslew', '_mt6', '_qcd', '_qcdnopu'] + +from tqdm import tqdm + +for tag in tags: + tree = ROOT.TChain('mahiDebugger/HcalTree') + tree.Add('mahidebugger%s.root' % tag) + count = 0 + for rh in tqdm(tree): + if abs(rh.ieta) > 16: + continue + soiEnergy = rh.mahiEnergy*rh.inGain + if soiEnergy < 1: + continue + + energy = {} + soi = rh.soi + assert soi == offset + + for i in range(nTS-1): + hists['digi'].SetBinContent(i+1, rh.inputTS[i]*rh.inGain) + hists[soi].SetBinContent(i+1, rh.itPulse[i]*rh.mahiEnergy*rh.inGain) + energy[soi] = soiEnergy + + for o in range(nOOT): + oh = o+1 if o>=soi else o + ootPulse = [] + for i in range(nTS*o, nTS*(o+1)): + ootPulse.append(rh.ootPulse[i]) + + for i in range(nTS): + hists[oh].SetBinContent(i+1, max(0, ootPulse[i]*rh.ootEnergy[o]*rh.inGain)) + energy[oh] = rh.ootEnergy[o]*rh.inGain + + stack = ROOT.THStack('stack', '') + for i in range(nOOT+1): + stack.Add(hists[i]) + + hists['digi'].GetXaxis().SetRangeUser(-0.5, 7.5) + hists['digi'].GetYaxis().SetRangeUser(0, hists['digi'].GetBinContent(4)*1.5) + hists['digi'].Draw('P0') + stack.Draw('same') + hists['digi'].Draw('P0,same') + + legend = ROOT.TLegend(0.6,0.5,0.93,0.93) + legend.SetLineWidth(0) + legend.SetFillStyle(0) + legend.AddEntry(hists['digi'], 'Digi', 'P') + for i in range(nOOT+1): + legend.AddEntry(hists[i], 'BX %+i, E = %.1f GeV' % (i-offset, energy[i]), 'F') + + tex = ROOT.TLatex() + tex.SetTextSize(0.025) + tex.DrawLatexNDC(0.15, 0.90, 'run:'+str(rh.run)+' evt:'+str(rh.evt)) + tex.DrawLatexNDC(0.15, 0.85, 'ieta:'+str(rh.ieta)+' iphi:'+str(rh.iphi)+' depth:'+str(rh.depth)) + tex.DrawLatexNDC(0.15, 0.80, '#chi^{2} = %.1f, TDC=%i, mahiTime=%.1f' % (rh.chiSq, rh.inputTDC[3], rh.arrivalTime)) + + wTime = 0. + sumEn = 0. + for i in range(len(energy)): + thisEnergy = rh.inputTS[i]*rh.inGain + wTime += thisEnergy * i + sumEn += thisEnergy + if sum(energy) > 0: + wTime /= sumEn + tex.DrawLatexNDC(0.15, 0.75, 'Mean time = %.1f TS' % (wTime)) + + legend.Draw() + + c.Print(plotdir+'/'+str(rh.run)+'_'+str(rh.evt)+'_'+str(rh.ieta)+'_'+str(rh.iphi)+'_'+str(rh.depth)+tag+'.pdf') + c.Print(plotdir+'/'+str(rh.run)+'_'+str(rh.evt)+'_'+str(rh.ieta)+'_'+str(rh.iphi)+'_'+str(rh.depth)+tag+'.png') + count += 1 \ No newline at end of file diff --git a/RecoLocalCalo/HcalRecAlgos/test/run_mahidebugger_run3data_cfg.py b/RecoLocalCalo/HcalRecAlgos/test/run_mahidebugger_run3data_cfg.py new file mode 100755 index 0000000000000..8045cadaff122 --- /dev/null +++ b/RecoLocalCalo/HcalRecAlgos/test/run_mahidebugger_run3data_cfg.py @@ -0,0 +1,77 @@ +import FWCore.ParameterSet.Config as cms + +from Configuration.StandardSequences.Eras import eras + +process = cms.Process('TEST',eras.Run3) + +# import of standard configurations +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.MessageLogger.cerr.threshold = '' +process.MessageLogger.cerr.FwkReport.reportEvery = 100 +process.options = cms.untracked.PSet( + wantSummary = cms.untracked.bool(True), + SkipEvent = cms.untracked.vstring('ProductNotFound') +) + + +process.load('Configuration.EventContent.EventContent_cff') +process.load("Configuration.StandardSequences.GeometryDB_cff") +process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') +process.load('Configuration.StandardSequences.RawToDigi_Data_cff') +process.load('Configuration.StandardSequences.L1Reco_cff') +process.load('Configuration.StandardSequences.Reconstruction_Data_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(-1) +) + +# Input source +process.source = cms.Source("PoolSource", + fileNames = cms.untracked.vstring('file:/eos/cms/tier0/store/data/Commissioning2021/ZeroBias/RAW/v1/000/346/512/00000/f87a2268-8f93-4389-b708-98a42a50c3e8.root'), + secondaryFileNames = cms.untracked.vstring() +) + +process.options = cms.untracked.PSet( + +) + +# Output definition +process.RECOoutput = cms.OutputModule("PoolOutputModule", + dataset = cms.untracked.PSet( + dataTier = cms.untracked.string('RECO'), + filterName = cms.untracked.string('') + ), + fileName = cms.untracked.string('file:step3.root'), + outputCommands = process.RECOEventContent.outputCommands, + splitLevel = cms.untracked.int32(0) +) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string("mahidebugger.root") +) + +# Additional output definition + +# Other statements +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run3_data', '') + +process.hbheprereco.cpu.saveInfos = cms.bool(True) + +process.load("RecoLocalCalo.HcalRecAlgos.mahiDebugger_cfi") + +# Path and EndPath definitions +process.raw2digi_step = cms.Path(process.hcalDigis) +process.reconstruction_step = cms.Path(process.hbheprereco) +process.flat_step = cms.Path(process.mahiDebugger) +process.RECOoutput_step = cms.EndPath(process.RECOoutput) +process.endjob_step = cms.EndPath(process.endOfProcess) + +# Schedule definition +process.schedule = cms.Schedule(process.raw2digi_step,process.reconstruction_step,process.flat_step) + From 5f4778588012f373ca1dea6200b5412a1156df9c Mon Sep 17 00:00:00 2001 From: calderon Date: Tue, 16 Nov 2021 17:10:45 +0100 Subject: [PATCH 048/268] customized for phase2 --- .../Muon/python/EfficencyPlotter_cfi.py | 27 ++++++++++-- DQMOffline/Muon/python/muonAnalyzer_cff.py | 37 ++++++---------- .../Muon/python/muonEfficiencyAnalyzer_cfi.py | 42 +++++++++++++++++-- DQMOffline/Muon/python/muonMonitors_cff.py | 2 + .../Muon/python/muonQualityTests_cff.py | 21 ++++------ 5 files changed, 84 insertions(+), 45 deletions(-) diff --git a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py index d7639bd69a094..8c263cc6d6d61 100644 --- a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py +++ b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py @@ -107,6 +107,8 @@ ) +effPlotter=cms.Sequence(effPlotterLoose*effPlotterMedium*effPlotterTight) +effPlotter_miniAOD=cms.Sequence(effPlotterLooseMiniAOD*effPlotterMediumMiniAOD*effPlotterTightMiniAOD) effPlotterLoose_Phase2=effPlotterLoose.clone() effPlotterLoose_Phase2.vtxBin=20 @@ -125,9 +127,28 @@ effPlotterTight_Phase2.vtxMin=149.5 effPlotterTight_Phase2.vtxMax=249.5 +effPlotterLooseMiniAOD_Phase2=effPlotterLooseMiniAOD.clone() +effPlotterLooseMiniAOD_Phase2.vtxBin=20 +effPlotterLooseMiniAOD_Phase2.vtxMin=149.5 +effPlotterLooseMiniAOD_Phase2.vtxMax=249.5 +effPlotterMediumMiniAOD_Phase2=effPlotterMediumMiniAOD.clone() +effPlotterMediumMiniAOD_Phase2.vtxBin=20 +effPlotterMediumMiniAOD_Phase2.vtxMin=149.5 +effPlotterMediumMiniAOD_Phase2.vtxMax=249.5 +effPlotterTightMiniAOD_Phase2=effPlotterTightMiniAOD.clone() +effPlotterTightMiniAOD_Phase2.vtxBin=20 +effPlotterTightMiniAOD_Phase2.vtxMin=149.5 +effPlotterTightMiniAOD_Phase2.vtxMax=249.5 + +effPlotter_Phase2=cms.Sequence(effPlotterLoose_Phase2*effPlotterMedium_Phase2*effPlotterTight_Phase2) +effPlotter_miniAOD_Phase2=cms.Sequence(effPlotterLooseMiniAOD_Phase2*effPlotterMediumMiniAOD_Phase2*effPlotterTightMiniAOD_Phase2) + from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon -phase2_muon.toReplaceWith(effPlotterLoose, effPlotterLoose_Phase2) -phase2_muon.toReplaceWith(effPlotterMedium, effPlotterMedium_Phase2) -phase2_muon.toReplaceWith(effPlotterTight, effPlotterTight_Phase2) +phase2_muon.toReplaceWith(effPlotter,effPlotter_Phase2) +phase2_muon.toReplaceWith(effPlotter_miniAOD,effPlotter_miniAOD_Phase2) + + + + diff --git a/DQMOffline/Muon/python/muonAnalyzer_cff.py b/DQMOffline/Muon/python/muonAnalyzer_cff.py index 41c45fd71eb0e..af2081a0e695a 100644 --- a/DQMOffline/Muon/python/muonAnalyzer_cff.py +++ b/DQMOffline/Muon/python/muonAnalyzer_cff.py @@ -18,9 +18,10 @@ staMuonSegmentAnalyzer* muonKinVsEtaAnalyzer* diMuonHistos* - LooseMuonEfficiencyAnalyzer* - MediumMuonEfficiencyAnalyzer* - TightMuonEfficiencyAnalyzer* + EfficiencyAnalyzer* + #LooseMuonEfficiencyAnalyzer* + #MediumMuonEfficiencyAnalyzer* + #TightMuonEfficiencyAnalyzer* muonPFsequence* muonRecoOneHLT) @@ -29,9 +30,10 @@ muonAnalyzer_miniAOD = cms.Sequence(muonRecoAnalyzer_miniAOD* muonKinVsEtaAnalyzer_miniAOD* diMuonHistos_miniAOD* - LooseMuonEfficiencyAnalyzer_miniAOD* - MediumMuonEfficiencyAnalyzer_miniAOD* - TightMuonEfficiencyAnalyzer_miniAOD* + EfficiencyAnalyzer_miniAOD* + #LooseMuonEfficiencyAnalyzer_miniAOD* + #MediumMuonEfficiencyAnalyzer_miniAOD* + #TightMuonEfficiencyAnalyzer_miniAOD* triggerMatchMonitor_miniAOD) muonAnalyzer_noHLT = cms.Sequence(muonEnergyDepositAnalyzer* @@ -41,27 +43,12 @@ staMuonSegmentAnalyzer* muonKinVsEtaAnalyzer* diMuonHistos* - LooseMuonEfficiencyAnalyzer* - MediumMuonEfficiencyAnalyzer* - TightMuonEfficiencyAnalyzer* + EfficiencyAnalyzer* + #LooseMuonEfficiencyAnalyzer* + #MediumMuonEfficiencyAnalyzer* + #TightMuonEfficiencyAnalyzer* muonPFsequence) -_muonAnalyzer_phase2=muonAnalyzer.clone() -_muonAnalyzer_phase2 -= LooseMuonEfficiencyAnalyzer -_muonAnalyzer_phase2 -= MediumMuonEfficiencyAnalyzer -_muonAnalyzer_phase2 -= TightMuonEfficiencyAnalyzer -_muonAnalyzer_phase2 -= muonRecoOneHLT -_muonAnalyzer_phase2 += LooseMuonEfficiencyAnalyzer_Phase2 -_muonAnalyzer_phase2 += MediumMuonEfficiencyAnalyzer_Phase2 -_muonAnalyzer_phase2 += TightMuonEfficiencyAnalyzer_Phase2 - - - -from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel -from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon -phase2_muon.toReplaceWith(muonAnalyzer, _muonAnalyzer_phase2.copyAndExclude([ # FIXME - muonEnergyDepositAnalyzer -])) diff --git a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py index 482f0f6271883..f9ce5a55f2f11 100644 --- a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py +++ b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py @@ -173,14 +173,16 @@ vtxBin = cms.int32(30), vtxMax = cms.double(149.5), - vtxMin = cms.double(0.5), - + vtxMin = cms.double(0.5), ID = cms.string("Medium"), folder = cms.string("Muons_miniAOD/EfficiencyAnalyzer/") - ) +EfficiencyAnalyzer = cms.Sequence(TightMuonEfficiencyAnalyzer*LooseMuonEfficiencyAnalyzer*MediumMuonEfficiencyAnalyzer) + +EfficiencyAnalyzer_miniAOD = cms.Sequence(TightMuonEfficiencyAnalyzer_miniAOD*LooseMuonEfficiencyAnalyzer_miniAOD*MediumMuonEfficiencyAnalyzer_miniAOD) + TightMuonEfficiencyAnalyzer_Phase2=TightMuonEfficiencyAnalyzer.clone() TightMuonEfficiencyAnalyzer_Phase2.vtxBin=20 TightMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 @@ -192,6 +194,38 @@ LooseMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 MediumMuonEfficiencyAnalyzer_Phase2=MediumMuonEfficiencyAnalyzer.clone() -MediumMuonEfficiencyAnalyzer_Phase2.vtxBin=30 +MediumMuonEfficiencyAnalyzer_Phase2.vtxBin=20 MediumMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 MediumMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 + + +TightMuonEfficiencyAnalyzer_miniAOD_Phase2=TightMuonEfficiencyAnalyzer_miniAOD.clone() +TightMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxBin=20 +TightMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMax=249.5 +TightMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMin=149.5 + + +LooseMuonEfficiencyAnalyzer_miniAOD_Phase2=LooseMuonEfficiencyAnalyzer_miniAOD.clone() +LooseMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxBin=20 +LooseMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMin=149.5 +LooseMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMax=249.5 + +MediumMuonEfficiencyAnalyzer_miniAOD_Phase2=MediumMuonEfficiencyAnalyzer.clone() +MediumMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxBin=20 +MediumMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMin=149.5 +MediumMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMax=249.5 + + +EfficiencyAnalyzer_Phase2 = cms.Sequence(TightMuonEfficiencyAnalyzer_Phase2*LooseMuonEfficiencyAnalyzer_Phase2*MediumMuonEfficiencyAnalyzer_Phase2) + +EfficiencyAnalyzer_miniAOD_Phase2 = cms.Sequence(TightMuonEfficiencyAnalyzer_miniAOD_Phase2*LooseMuonEfficiencyAnalyzer_miniAOD_Phase2*MediumMuonEfficiencyAnalyzer_miniAOD_Phase2) + + +from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon +phase2_muon.toReplaceWith(EfficiencyAnalyzer, EfficiencyAnalyzer_Phase2) +phase2_muon.toReplaceWith(EfficiencyAnalyzer_miniAOD, EfficiencyAnalyzer_miniAOD_Phase2) + + + + + diff --git a/DQMOffline/Muon/python/muonMonitors_cff.py b/DQMOffline/Muon/python/muonMonitors_cff.py index 7067d81c375e7..90244d4c3fba5 100644 --- a/DQMOffline/Muon/python/muonMonitors_cff.py +++ b/DQMOffline/Muon/python/muonMonitors_cff.py @@ -34,3 +34,5 @@ muonMonitorsAndQualityTests = cms.Sequence(muonMonitors*muonQualityTests) + + diff --git a/DQMOffline/Muon/python/muonQualityTests_cff.py b/DQMOffline/Muon/python/muonQualityTests_cff.py index 368a6fc388e50..43c74aa4c75b8 100644 --- a/DQMOffline/Muon/python/muonQualityTests_cff.py +++ b/DQMOffline/Muon/python/muonQualityTests_cff.py @@ -31,18 +31,20 @@ muonQualityTests = cms.Sequence(muonSourcesQualityTests* muTrackResidualsTest* - effPlotterLoose* - effPlotterMedium* - effPlotterTight* + effPlotter* + #effPlotterLoose* + #effPlotterMedium* + #effPlotterTight* muRecoTest* muonClientsQualityTests* muonTestSummary) muonQualityTests_miniAOD = cms.Sequence(muonSourcesQualityTests* muTrackResidualsTest* - effPlotterLooseMiniAOD* - effPlotterMediumMiniAOD* - effPlotterTightMiniAOD* + effPlotter_miniAOD* + #effPlotterLooseMiniAOD* + #effPlotterMediumMiniAOD* + #effPlotterTightMiniAOD* muRecoTest* muonClientsQualityTests* muonTestSummary* @@ -50,10 +52,3 @@ -muonQualityTests_Phase2 = cms.Sequence(effPlotterLoose_Phase2* - effPlotterMedium_Phase2* - effPlotterTight_Phase2) - - -from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon -phase2_muon.toReplaceWith(muonQualityTests, muonQualityTests_Phase2) From d83928cf91e884ba4549eb8e90071d347493b93f Mon Sep 17 00:00:00 2001 From: calderon Date: Tue, 16 Nov 2021 17:28:12 +0100 Subject: [PATCH 049/268] customized for phase2 --- DQMOffline/Muon/python/muonAnalyzer_cff.py | 9 --------- DQMOffline/Muon/python/muonQualityTests_cff.py | 6 ------ 2 files changed, 15 deletions(-) diff --git a/DQMOffline/Muon/python/muonAnalyzer_cff.py b/DQMOffline/Muon/python/muonAnalyzer_cff.py index af2081a0e695a..89a3839d725e5 100644 --- a/DQMOffline/Muon/python/muonAnalyzer_cff.py +++ b/DQMOffline/Muon/python/muonAnalyzer_cff.py @@ -19,9 +19,6 @@ muonKinVsEtaAnalyzer* diMuonHistos* EfficiencyAnalyzer* - #LooseMuonEfficiencyAnalyzer* - #MediumMuonEfficiencyAnalyzer* - #TightMuonEfficiencyAnalyzer* muonPFsequence* muonRecoOneHLT) @@ -31,9 +28,6 @@ muonKinVsEtaAnalyzer_miniAOD* diMuonHistos_miniAOD* EfficiencyAnalyzer_miniAOD* - #LooseMuonEfficiencyAnalyzer_miniAOD* - #MediumMuonEfficiencyAnalyzer_miniAOD* - #TightMuonEfficiencyAnalyzer_miniAOD* triggerMatchMonitor_miniAOD) muonAnalyzer_noHLT = cms.Sequence(muonEnergyDepositAnalyzer* @@ -44,9 +38,6 @@ muonKinVsEtaAnalyzer* diMuonHistos* EfficiencyAnalyzer* - #LooseMuonEfficiencyAnalyzer* - #MediumMuonEfficiencyAnalyzer* - #TightMuonEfficiencyAnalyzer* muonPFsequence) diff --git a/DQMOffline/Muon/python/muonQualityTests_cff.py b/DQMOffline/Muon/python/muonQualityTests_cff.py index 43c74aa4c75b8..0ef93f9799e3b 100644 --- a/DQMOffline/Muon/python/muonQualityTests_cff.py +++ b/DQMOffline/Muon/python/muonQualityTests_cff.py @@ -32,9 +32,6 @@ muonQualityTests = cms.Sequence(muonSourcesQualityTests* muTrackResidualsTest* effPlotter* - #effPlotterLoose* - #effPlotterMedium* - #effPlotterTight* muRecoTest* muonClientsQualityTests* muonTestSummary) @@ -42,9 +39,6 @@ muonQualityTests_miniAOD = cms.Sequence(muonSourcesQualityTests* muTrackResidualsTest* effPlotter_miniAOD* - #effPlotterLooseMiniAOD* - #effPlotterMediumMiniAOD* - #effPlotterTightMiniAOD* muRecoTest* muonClientsQualityTests* muonTestSummary* From 4f68d5bf8e85aee54a99639d427af4db780cd153 Mon Sep 17 00:00:00 2001 From: Abe Tishelman-Charny Date: Tue, 16 Nov 2021 18:16:48 +0100 Subject: [PATCH 050/268] Adding work in progress - updating deprecated ecal modules --- .../interface/EcnaAnalyzer.h | 6 ++-- .../plugins/EcalLaserAnalyzerYousi.cc | 4 +-- .../plugins/EcalMatacqAnalyzer.h | 4 +-- .../plugins/EcalPerEvtMatacqAnalyzer.h | 4 +-- .../plugins/EcalStatusAnalyzer.cc | 3 +- .../plugins/EcalStatusAnalyzer.h | 7 +++-- .../EcalAlCaRecoProducers/plugins/PUDumper.cc | 1 - .../EcalAlCaRecoProducers/plugins/PUDumper.h | 7 ++--- .../src/ValueMapTraslator.cc | 4 +-- .../interface/ElectronCalibration.h | 7 ++--- .../ElectronRecalibSuperClusterAssociator.h | 6 ++-- .../interface/miscalibExample.h | 4 +-- .../ElectronRecalibSuperClusterAssociator.cc | 19 ------------ .../EcalCalibAlgos/src/miscalibExample.cc | 31 ------------------- 14 files changed, 25 insertions(+), 82 deletions(-) diff --git a/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/interface/EcnaAnalyzer.h b/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/interface/EcnaAnalyzer.h index 5d0272d45b438..7a570baf19d30 100644 --- a/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/interface/EcnaAnalyzer.h +++ b/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/interface/EcnaAnalyzer.h @@ -44,7 +44,7 @@ // CMSSW include files #include "CondCore/CondDB/interface/Time.h" #include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/stream/EDAnalyzer.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" @@ -62,8 +62,6 @@ #include "DataFormats/Provenance/interface/EventID.h" #include "DataFormats/Provenance/interface/Timestamp.h" -//#include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h" -//#include "Geometry/EcalMapping/interface/EcalMappingRcd.h" #include "DataFormats/EcalRawData/interface/EcalRawDataCollections.h" #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" @@ -132,7 +130,7 @@ // class declaration // -class EcnaAnalyzer : public edm::EDAnalyzer { +class EcnaAnalyzer : public edm::stream::EDAnalyzer<> { public: enum { kChannels = 1700, kGains = 3, kFirstGainId = 1 }; diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalLaserAnalyzerYousi.cc b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalLaserAnalyzerYousi.cc index f785989faf866..758d138cd2825 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalLaserAnalyzerYousi.cc +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalLaserAnalyzerYousi.cc @@ -23,7 +23,7 @@ // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -49,7 +49,7 @@ // class decleration // -class EcalLaserAnalyzerYousi : public edm::EDAnalyzer { +class EcalLaserAnalyzerYousi : public edm::one::EDAnalyzer<> { public: explicit EcalLaserAnalyzerYousi(const edm::ParameterSet &); ~EcalLaserAnalyzerYousi() override; diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalMatacqAnalyzer.h b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalMatacqAnalyzer.h index aa1cbc7d28211..3575bb5b81edb 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalMatacqAnalyzer.h +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalMatacqAnalyzer.h @@ -1,7 +1,7 @@ // $Id: EcalMatacqAnalyzer.h #include -#include +#include class TFile; class TTree; @@ -11,7 +11,7 @@ class TMTQ; #define N_channels 1 #define NSIDES 2 // Number of sides -class EcalMatacqAnalyzer : public edm::EDAnalyzer { +class EcalMatacqAnalyzer : public edm::one::EDAnalyzer<> { public: explicit EcalMatacqAnalyzer(const edm::ParameterSet &iConfig); ~EcalMatacqAnalyzer() override; diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalPerEvtMatacqAnalyzer.h b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalPerEvtMatacqAnalyzer.h index 2b6fbc673c1c5..cb87df98e486e 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalPerEvtMatacqAnalyzer.h +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalPerEvtMatacqAnalyzer.h @@ -1,7 +1,7 @@ // $Id: EcalPerEvtMatacqAnalyzer.h #include -#include +#include class TTree; class TFile; @@ -9,7 +9,7 @@ class TFile; #define N_samples 2560 #define N_channels 1 -class EcalPerEvtMatacqAnalyzer : public edm::EDAnalyzer { +class EcalPerEvtMatacqAnalyzer : public edm::one::EDAnalyzer<> { public: explicit EcalPerEvtMatacqAnalyzer(const edm::ParameterSet& iConfig); ~EcalPerEvtMatacqAnalyzer() override; diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc index dbda35c76204f..c49194ed42af9 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc @@ -76,7 +76,8 @@ void EcalStatusAnalyzer::beginJob() { } //======================================================================== -void EcalStatusAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& c) { +void EcalStatusAnalyzer::analyze(edm::StreamID,const edm::Event & e, const edm::EventSetup& c) const { +// void EcalStatusAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& c) { //======================================================================== ++iEvent; diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h index ac40ffa7f63c9..ecac5dc0645f3 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h @@ -4,16 +4,17 @@ #include #include -#include +#include class Timestamp; -class EcalStatusAnalyzer : public edm::EDAnalyzer { +class EcalStatusAnalyzer : public edm::global::EDAnalyzer<> { public: explicit EcalStatusAnalyzer(const edm::ParameterSet& iConfig); ~EcalStatusAnalyzer() override; - void analyze(const edm::Event& e, const edm::EventSetup& c) override; + // void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) override; + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override ; void beginJob() override; void endJob() override; diff --git a/Calibration/EcalAlCaRecoProducers/plugins/PUDumper.cc b/Calibration/EcalAlCaRecoProducers/plugins/PUDumper.cc index 4aaf09017bb22..c31ab39cdd80b 100644 --- a/Calibration/EcalAlCaRecoProducers/plugins/PUDumper.cc +++ b/Calibration/EcalAlCaRecoProducers/plugins/PUDumper.cc @@ -2,7 +2,6 @@ //! ctor PUDumper::PUDumper(const edm::ParameterSet& iConfig) { - // MCPileupTag_ = iConfig.getParameter("MCPileupTag"); pileupSummaryToken_ = consumes >(iConfig.getParameter("pileupSummary")); // create TTree diff --git a/Calibration/EcalAlCaRecoProducers/plugins/PUDumper.h b/Calibration/EcalAlCaRecoProducers/plugins/PUDumper.h index 85a05e0c3e43b..7d0cb573f37b1 100644 --- a/Calibration/EcalAlCaRecoProducers/plugins/PUDumper.h +++ b/Calibration/EcalAlCaRecoProducers/plugins/PUDumper.h @@ -2,7 +2,7 @@ #define PUDumper_h #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -16,7 +16,7 @@ #include "TTree.h" -class PUDumper : public edm::EDAnalyzer { +class PUDumper : public edm::one::EDAnalyzer<> { public: //! ctor explicit PUDumper(const edm::ParameterSet&); @@ -31,14 +31,11 @@ class PUDumper : public edm::EDAnalyzer { private: edm::EDGetTokenT > pileupSummaryToken_; - //edm::InputTag MCPileupTag_; - TTree* PUTree_; Int_t runNumber; ///< Long64_t eventNumber; ///< Int_t lumiBlock; ///< lumi section - //UInt_t runTime; ///< unix time Int_t nBX; Int_t BX_[100]; diff --git a/Calibration/EcalAlCaRecoProducers/src/ValueMapTraslator.cc b/Calibration/EcalAlCaRecoProducers/src/ValueMapTraslator.cc index 7c5d30e465dfa..36c125ff6b863 100644 --- a/Calibration/EcalAlCaRecoProducers/src/ValueMapTraslator.cc +++ b/Calibration/EcalAlCaRecoProducers/src/ValueMapTraslator.cc @@ -22,7 +22,7 @@ // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" +#include "FWCore/Framework/interface/stream/EDProducer.h" #include "FWCore/Framework/interface/ConsumesCollector.h" #include "FWCore/Framework/interface/Event.h" @@ -38,7 +38,7 @@ // class declaration // -class ValueMapTraslator : public edm::EDProducer { +class ValueMapTraslator : public edm::stream::EDProducer<> { typedef double value_t; typedef edm::ValueMap Map_t; diff --git a/Calibration/EcalCalibAlgos/interface/ElectronCalibration.h b/Calibration/EcalCalibAlgos/interface/ElectronCalibration.h index 70bd7f46f06b0..e948bef8646a1 100644 --- a/Calibration/EcalCalibAlgos/interface/ElectronCalibration.h +++ b/Calibration/EcalCalibAlgos/interface/ElectronCalibration.h @@ -24,7 +24,7 @@ // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -39,10 +39,9 @@ #include "TH1.h" #include "TH2.h" -// class decleration -// +// class declaration -class ElectronCalibration : public edm::EDAnalyzer { +class ElectronCalibration : public edm::one::EDAnalyzer<> { public: explicit ElectronCalibration(const edm::ParameterSet&); ~ElectronCalibration() override; diff --git a/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h b/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h index 53cd72c9e01c8..796bbff1a9b58 100644 --- a/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h +++ b/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h @@ -7,7 +7,7 @@ // // Description: -#include "FWCore/Framework/interface/EDProducer.h" +#include "FWCore/Framework/interface/one/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/EventSetup.h" @@ -20,9 +20,7 @@ #include -//class PixelMatchElectronAlgo; - -class ElectronRecalibSuperClusterAssociator : public edm::EDProducer { +class ElectronRecalibSuperClusterAssociator : public edm::one::EDProducer<> { public: explicit ElectronRecalibSuperClusterAssociator(const edm::ParameterSet& conf); diff --git a/Calibration/EcalCalibAlgos/interface/miscalibExample.h b/Calibration/EcalCalibAlgos/interface/miscalibExample.h index aac5173afe8f2..7b8be4abfbf51 100644 --- a/Calibration/EcalCalibAlgos/interface/miscalibExample.h +++ b/Calibration/EcalCalibAlgos/interface/miscalibExample.h @@ -16,7 +16,7 @@ // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -30,7 +30,7 @@ // class declaration // -class miscalibExample : public edm::EDAnalyzer { +class miscalibExample : public edm::one::EDAnalyzer<> { public: explicit miscalibExample(const edm::ParameterSet&); ~miscalibExample() override; diff --git a/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc b/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc index 9c821a933bf2b..759b181894ac1 100644 --- a/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc +++ b/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc @@ -4,19 +4,12 @@ // user include files #include "FWCore/Framework/interface/MakerMacros.h" -//#include "DataFormats/EgammaReco/interface/SuperCluster.h" -//#include "DataFormats/EgammaReco/interface/BasicClusterFwd.h" #include "Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h" -//#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" -//#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" -//#include "DataFormats/EgammaCandidates/interface/GsfElectronCoreFwd.h" -//#include "DataFormats/EgammaCandidates/interface/GsfElectronCore.h" #include "DataFormats/GsfTrackReco/interface/GsfTrack.h" #include #include "DataFormats/Math/interface/LorentzVector.h" #include "DataFormats/Math/interface/deltaR.h" -//#define DEBUG using namespace reco; using namespace edm; @@ -29,7 +22,6 @@ ElectronRecalibSuperClusterAssociator::ElectronRecalibSuperClusterAssociator(con //register your products produces(); produces(); - // produces(); superClusterCollectionEB_ = iConfig.getParameter("superClusterCollectionEB"); superClusterCollectionEE_ = iConfig.getParameter("superClusterCollectionEE"); @@ -61,7 +53,6 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev // Get SuperClusters in EB Handle superClusterEBHandle; e.getByToken(ebScToken_, superClusterEBHandle); - //const reco::SuperClusterCollection* scCollection = superClusterEBHandle.product(); #ifdef DEBUG std::cout << "EB scCollection->size()" << superClusterEBHandle->size() << std::endl; @@ -70,7 +61,6 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev // Get SuperClusters in EE Handle superClusterEEHandle; e.getByToken(eeScToken_, superClusterEEHandle); - // const reco::SuperClusterCollection* eeScCollection = superClusterEEHandle.product(); #ifdef DEBUG std::cout << "EE scCollection->size()" << superClusterEEHandle->size() << std::endl; @@ -79,9 +69,7 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev // Get Electrons edm::Handle eleHandle; e.getByToken(electronToken_, eleHandle); - // const reco::GsfElectronCollection* electronCollection = eleHandle.product(); - // GsfElectronCoreRefProd rEleCore = const_cast(iEvent).getRefBeforePut(); GsfElectronCoreRefProd rEleCore = e.getRefBeforePut(); edm::Ref::key_type idxEleCore = 0; @@ -138,9 +126,6 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev iscRefendcap = iSC; } } - //////////////////////// - // if(eleIt->isEB()) assert(DeltaRMineleSCbarrel < DeltaRMineleSCendcap); - //else assert(DeltaRMineleSCbarrel > DeltaRMineleSCendcap); if (eleIt->isEB() && DeltaRMineleSCbarrel > DeltaRMineleSCendcap) { edm::LogError("ElectronRecalibAssociator") << "EB electron, but nearest SC is in EE"; ; @@ -152,7 +137,6 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev reco::GsfElectronCoreRef newEleCoreRef(rEleCore, idxEleCore++); // reference to the new electron core in the new collection reco::GsfElectronCore& newEleCore = pOutEleCore->back(); // pick the clone - //newEleCore.setGsfTrack(eleIt->gsfTrack()); // set the gsf track (not needed since it is not changed) reco::SuperClusterRef scRef(reco::SuperClusterRef(superClusterEBHandle, iscRef)); // Reference to the new SC #ifndef CMSSW_5_3_X newEleCore.setParentSuperCluster(scRef); // mustache @@ -181,7 +165,6 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev reco::GsfElectronCoreRef newEleCoreRef(rEleCore, idxEleCore++); // reference to the new electron core in the new collection reco::GsfElectronCore& newEleCore = pOutEleCore->back(); // pick the clone - //newEleCore.setGsfTrack(eleIt->gsfTrack()); // set the gsf track (not needed since it is not changed) reco::SuperClusterRef scRef( reco::SuperClusterRef(superClusterEEHandle, iscRefendcap)); // Reference to the new SC #ifndef CMSSW_5_3_X @@ -213,7 +196,6 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev #ifdef DEBUG std::cout << "Filled new electrons " << pOutEle->size() << std::endl; std::cout << "Filled new electronsCore " << pOutEleCore->size() << std::endl; - // std::cout << "Filled new endcapSC " << pOutNewEndcapSC->size() << std::endl; #endif // put result into the Event @@ -221,7 +203,6 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev e.put(std::move(pOutEle)); e.put(std::move(pOutEleCore)); - // e.put(std::move(pOutNewEndcapSC)); } DEFINE_FWK_MODULE(ElectronRecalibSuperClusterAssociator); diff --git a/Calibration/EcalCalibAlgos/src/miscalibExample.cc b/Calibration/EcalCalibAlgos/src/miscalibExample.cc index e9bec75635144..66651a5531dd2 100644 --- a/Calibration/EcalCalibAlgos/src/miscalibExample.cc +++ b/Calibration/EcalCalibAlgos/src/miscalibExample.cc @@ -21,8 +21,6 @@ // user include files #include "Calibration/EcalCalibAlgos/interface/miscalibExample.h" -// - #include "DataFormats/EgammaReco/interface/SuperCluster.h" #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" @@ -31,32 +29,6 @@ #include #include -// class declaration -// -/* -class miscalibExample : public edm::EDAnalyzer { - public: - explicit miscalibExample(const edm::ParameterSet&); - ~miscalibExample(); - - virtual void analyze(const edm::Event&, const edm::EventSetup&); - virtual void beginJob(); - virtual void endJob(); - private: - - - // ----------member data --------------------------- - std::string rootfile_; - std::string correctedHybridSuperClusterProducer_; - std::string correctedHybridSuperClusterCollection_; - std::string BarrelHitsCollection_; - std::string ecalHitsProducer_ ; - int read_events; - - TH1F* scEnergy; -}; - -*/ miscalibExample::miscalibExample(const edm::ParameterSet& iConfig) { rootfile_ = iConfig.getUntrackedParameter("rootfile", "ecalSimpleTBanalysis.root"); correctedHybridSuperClusterProducer_ = iConfig.getParameter("correctedHybridSuperClusterProducer"); @@ -114,6 +86,3 @@ void miscalibExample::analyze(const edm::Event& iEvent, const edm::EventSetup& i scEnergy->Fill(superClusterIt->energy()); } } - -//define this as a plug-in -//DEFINE_FWK_MODULE(miscalibExample); From 9710cd0141e1b12acacf9f3aaf8adb2e568e54b4 Mon Sep 17 00:00:00 2001 From: swmukher Date: Wed, 17 Nov 2021 09:36:51 +0100 Subject: [PATCH 051/268] new rho producer for HLT --- RecoJets/JetProducers/BuildFile.xml | 1 + .../FixedGridRhoProducerFastjetFromRecHit.cc | 164 ++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc diff --git a/RecoJets/JetProducers/BuildFile.xml b/RecoJets/JetProducers/BuildFile.xml index 6b6bbf6f75077..28d701dbd84f2 100644 --- a/RecoJets/JetProducers/BuildFile.xml +++ b/RecoJets/JetProducers/BuildFile.xml @@ -10,6 +10,7 @@ + diff --git a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc new file mode 100644 index 0000000000000..b50378e1e5099 --- /dev/null +++ b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc @@ -0,0 +1,164 @@ +#include "FWCore/Framework/interface/stream/EDProducer.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "fastjet/tools/GridMedianBackgroundEstimator.hh" +#include "FWCore/Framework/interface/Event.h" +#include "DataFormats/Common/interface/View.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" +#include "TLorentzVector.h" +#include "Geometry/CaloGeometry/interface/CaloGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" +#include "Geometry/Records/interface/CaloGeometryRecord.h" +#include "DataFormats/Math/interface/Vector3D.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "RecoEgamma/EgammaIsolationAlgos/interface/EgammaHcalIsolation.h" +#include "CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h" +#include "CondFormats/DataRecord/interface/EcalPFRecHitThresholdsRcd.h" + +class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { +public: + explicit FixedGridRhoProducerFastjetFromRecHit(const edm::ParameterSet& iConfig); + ~FixedGridRhoProducerFastjetFromRecHit() override; + static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); + +private: + void produce(edm::Event&, const edm::EventSetup&) override; + void getHitP4(const DetId &detId, float hitE, TLorentzVector &hitp4, const CaloGeometry &caloGeometry) ; + bool passedHcalNoiseCut(const HBHERecHit &hit); + bool passedEcalNoiseCut(const EcalRecHit &hit,const EcalPFRecHitThresholds *thresholds) ; + + fastjet::GridMedianBackgroundEstimator bge_; + edm::EDGetTokenT hbheRecHitsTag_; + edm::EDGetTokenT ebRecHitsTag_; + edm::EDGetTokenT eeRecHitsTag_; + + const EgammaHcalIsolation::arrayHB eThresHB_; + const EgammaHcalIsolation::arrayHE eThresHE_; + + bool skipHCAL_; + bool skipECAL_; + + const edm::ESGetToken ecalPFRechitThresholdsToken_; + const edm::ESGetToken caloGeometryToken_; +}; + +FixedGridRhoProducerFastjetFromRecHit::FixedGridRhoProducerFastjetFromRecHit(const edm::ParameterSet& iConfig) : + bge_(iConfig.getParameter("maxRapidity"), iConfig.getParameter("gridSpacing")), + hbheRecHitsTag_(consumes(iConfig.getParameter("hbheRecHitsTag"))), + ebRecHitsTag_(consumes(iConfig.getParameter("ebRecHitsTag"))), + eeRecHitsTag_(consumes(iConfig.getParameter("eeRecHitsTag"))), + eThresHB_(iConfig.getParameter("eThresHB")), + eThresHE_(iConfig.getParameter("eThresHE")), + skipHCAL_(iConfig.getParameter("skipHCAL")), + skipECAL_(iConfig.getParameter("skipECAL")), + ecalPFRechitThresholdsToken_{esConsumes()}, + caloGeometryToken_{esConsumes()} { + produces(); +} + +void FixedGridRhoProducerFastjetFromRecHit::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + edm::ParameterSetDescription desc; + desc.add(("hbheRecHitsTag"), edm::InputTag("hltHbhereco")); + desc.add(("ebRecHitsTag"), edm::InputTag("hltEcalRecHit","EcalRecHitsEB")); + desc.add(("eeRecHitsTag"), edm::InputTag("hltEcalRecHit","EcalRecHitsEE")); + desc.add(("skipHCAL"), false); + desc.add(("skipECAL"), false); + //eThresHB/HE are from RecoParticleFlow/PFClusterProducer/python/particleFlowRecHitHBHE_cfi.py + desc.add >("eThresHB", {0.1, 0.2, 0.3, 0.3}); + desc.add >("eThresHE", {0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2}); + desc.add("maxRapidity", 2.5); + desc.add("gridSpacing", 0.55); + descriptions.add("hltFixedGridRhoProducerFastjetFromRecHit", desc); +} + +FixedGridRhoProducerFastjetFromRecHit::~FixedGridRhoProducerFastjetFromRecHit() {} + +void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { + + std::vector inputs; + auto const& thresholds = iSetup.getData(ecalPFRechitThresholdsToken_); + + if (skipHCAL_ && skipECAL_) { + throw cms::Exception("FixedGridRhoProducerFastjetFromRecHit") + << "skipHCAL and skipECAL both can't be True. Make at least one of them False."; + } + + if ( !skipHCAL_ ) { + for (const auto &hit : iEvent.get(hbheRecHitsTag_) ) { + if (passedHcalNoiseCut(hit) ) { + TLorentzVector hitp4(0,0,0,0); + getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)) ; + inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); + } + } + } + + if ( !skipECAL_ ) { + for (const auto &hit : iEvent.get(ebRecHitsTag_) ) { + if ( passedEcalNoiseCut(hit, &thresholds) ) { + TLorentzVector hitp4(0,0,0,0); + getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)) ; + inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); + } + } + + for (const auto &hit : iEvent.get(eeRecHitsTag_) ) { + if ( passedEcalNoiseCut(hit, &thresholds) ) { + TLorentzVector hitp4(0,0,0,0); + getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)) ; + inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); + } + } + } + + bge_.set_particles(inputs); + iEvent.put(std::make_unique(bge_.rho())); + std::cout << "new rho from recHits " << bge_.rho() << std::endl; +} + +void FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, float hitE, TLorentzVector &hitp4, const CaloGeometry &caloGeometry) { + + const CaloSubdetectorGeometry* subDetGeom = caloGeometry.getSubdetectorGeometry(detId); + std::shared_ptr cellGeom = subDetGeom!=nullptr ? subDetGeom->getGeometry(detId) : std::shared_ptr(); + if(cellGeom!=nullptr){ + const auto &gpPos = cellGeom->repPos(); + double thispt=hitE/cosh(gpPos.eta()); + double thispx=thispt*cos(gpPos.phi()); + double thispy=thispt*sin(gpPos.phi()); + double thispz=thispt*sinh(gpPos.eta()); + hitp4.SetPxPyPzE(thispx,thispy,thispz,hitE); + }else{ + if(detId.rawId()!=0) edm::LogInfo("FixedGridRhoProducerFastjetFromRecHit") <<"Warning : Geometry not found for a calo hit, setting p4 as (0,0,0,0)" << std::endl; + hitp4.SetPxPyPzE(0,0,0,0); + } +} + +bool FixedGridRhoProducerFastjetFromRecHit::passedHcalNoiseCut(const HBHERecHit &hit) { + bool passed=false; + const HcalDetId thisDetId(hit.detid()); + const int thisDepth = thisDetId.depth(); + if ( (thisDetId.subdet() == HcalBarrel) && (hit.energy() > eThresHB_[thisDepth-1]) ) passed=true; + else if ( (thisDetId.subdet() == HcalEndcap) && (hit.energy() > eThresHE_[thisDepth-1]) ) passed=true; + return passed; +} + +bool FixedGridRhoProducerFastjetFromRecHit::passedEcalNoiseCut(const EcalRecHit &hit,const EcalPFRecHitThresholds *thresholds) { + bool passed=false; + if ( hit.energy() > (*thresholds)[hit.detid()]) passed=true; + return passed; +} + +//calotower-like flat noise threshold +/* +bool FixedGridRhoProducerFastjetFromRecHit::passedEcalNoiseCut(const EcalRecHit &hit,const EcalPFRecHitThresholds *thresholds) { + bool passed=false; + //if ( hit.energy() > (*thresholds)[hit.detid()]) passed=true; + // const EcalDetId thisDetId(hit.detid()); + if ( (hit.detid().subdetId() == EcalBarrel) && (hit.energy() >= 0.07 ) ) passed=true; + if ( (hit.detid().subdetId() == EcalEndcap) && (hit.energy() >= 0.3 ) ) passed=true; + return passed; +} +*/ + +DEFINE_FWK_MODULE(FixedGridRhoProducerFastjetFromRecHit); From eb26ef5987c3b8172285f1773c194c91e2e938e5 Mon Sep 17 00:00:00 2001 From: Alessandro Rossi Date: Wed, 17 Nov 2021 09:54:02 +0100 Subject: [PATCH 052/268] Code formatting --- .../plugins/SiPixelPhase1ResidualsExtra.cc | 10 ++++++---- DQM/TrackingMonitor/src/TrackFoldedOccupancyClient.cc | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc index 34585201292fd..78adc376867b7 100644 --- a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc +++ b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc @@ -300,8 +300,9 @@ void SiPixelPhase1ResidualsExtra::fillMEs(DQMStore::IBooker& iBooker, DQMStore:: MonitorElement* me2_y = iGetter.get( "PixelPhase1/Tracks/ResidualsExtra/PXBarrel/DRnR_y_per_SignedModule_per_SignedLadder_PXLayer_" + layer); - if(me_x == nullptr || me_y == nullptr || me2_x == nullptr || me2_x == nullptr){ - edm::LogWarning("SiPixelPhase1ResidualsExtra") << "Residuals plots for Pixel BPIX Layer"< Date: Wed, 17 Nov 2021 10:40:23 +0100 Subject: [PATCH 053/268] code cleanup --- .../FixedGridRhoProducerFastjetFromRecHit.cc | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc index b50378e1e5099..7c9d96095830c 100644 --- a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc +++ b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc @@ -114,7 +114,6 @@ void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event& iEvent, const ed bge_.set_particles(inputs); iEvent.put(std::make_unique(bge_.rho())); - std::cout << "new rho from recHits " << bge_.rho() << std::endl; } void FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, float hitE, TLorentzVector &hitp4, const CaloGeometry &caloGeometry) { @@ -149,16 +148,4 @@ bool FixedGridRhoProducerFastjetFromRecHit::passedEcalNoiseCut(const EcalRecHit return passed; } -//calotower-like flat noise threshold -/* -bool FixedGridRhoProducerFastjetFromRecHit::passedEcalNoiseCut(const EcalRecHit &hit,const EcalPFRecHitThresholds *thresholds) { - bool passed=false; - //if ( hit.energy() > (*thresholds)[hit.detid()]) passed=true; - // const EcalDetId thisDetId(hit.detid()); - if ( (hit.detid().subdetId() == EcalBarrel) && (hit.energy() >= 0.07 ) ) passed=true; - if ( (hit.detid().subdetId() == EcalEndcap) && (hit.energy() >= 0.3 ) ) passed=true; - return passed; -} -*/ - DEFINE_FWK_MODULE(FixedGridRhoProducerFastjetFromRecHit); From 8d9e72dba08347664d58399847e65f72c761c08b Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Wed, 17 Nov 2021 12:35:47 +0100 Subject: [PATCH 054/268] use layers, not hits --- .../Track/interface/TrackSoAHeterogeneousT.h | 25 +++++++++++ .../interface/phase1PixelTopology.h | 14 +++++- .../TrackerGeometryBuilder/test/BuildFile.xml | 6 ++- ...opology_t.cpp => phase1PixelTopology_t.cu} | 44 +++++++++++++++---- .../plugins/CAHitNtupletGeneratorKernels.cc | 11 +++-- .../plugins/CAHitNtupletGeneratorKernels.cu | 22 +++------- .../plugins/CAHitNtupletGeneratorKernels.h | 2 - .../CAHitNtupletGeneratorKernelsImpl.h | 17 ++++--- .../plugins/CAHitNtupletGeneratorOnGPU.cc | 2 - .../PixelTriplets/plugins/GPUCACell.h | 2 +- .../plugins/gpuVertexFinder.cc | 2 +- 11 files changed, 102 insertions(+), 45 deletions(-) rename Geometry/TrackerGeometryBuilder/test/{phase1PixelTopology_t.cpp => phase1PixelTopology_t.cu} (86%) diff --git a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h index 1c076e8705aa0..36a4c8a9fc54b 100644 --- a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h +++ b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h @@ -5,10 +5,12 @@ #include #include "CUDADataFormats/Track/interface/TrajectoryStateSoAT.h" +#include "Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h" #include "HeterogeneousCore/CUDAUtilities/interface/HistoContainer.h" #include "CUDADataFormats/Common/interface/HeterogeneousSoA.h" + namespace pixelTrack { enum class Quality : uint8_t { bad = 0, edup, dup, loose, strict, tight, highPurity, notQuality }; constexpr uint32_t qualitySize{uint8_t(Quality::notQuality)}; @@ -42,8 +44,31 @@ class TrackSoAHeterogeneousT { // this is chi2/ndof as not necessarely all hits are used in the fit eigenSoA::ScalarSoA chi2; + constexpr int nHits(int i) const { return detIndices.size(i); } + // we may store it if faster... + constexpr int nLayers(int i) const { return computeNumberOfLayers(i); } + + // or store this one + constexpr bool isTriplet(int i) const { return nHits(i) ==3 || nLayers(i)==3; } + + constexpr int computeNumberOfLayers(int32_t i) const { + // layers are in order and we assume tracks are either forward or backward + auto pdet=detIndices.begin(i); + int nl=1; + auto ol = phase1PixelTopology::findLayer(*pdet); + for (;pdet=3); + return nl; + } + + + // State at the Beam spot // phi,tip,1/pt,cotan(theta),zip TrajectoryStateSoAT stateAtBS; diff --git a/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h b/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h index 4e70cd86e1524..40235617847b2 100644 --- a/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h +++ b/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h @@ -3,6 +3,7 @@ #include #include +// #include "HeterogeneousCore/CUDAUtilities/interface/cudaCompat.h" namespace phase1PixelTopology { @@ -27,6 +28,9 @@ namespace phase1PixelTopology { constexpr uint32_t numberOfModules = 1856; constexpr uint32_t numberOfLayers = 10; +#ifdef __CUDA_ARCH__ + __device__ +#endif constexpr uint32_t layerStart[numberOfLayers + 1] = {0, 96, 320, @@ -84,8 +88,8 @@ namespace phase1PixelTopology { constexpr uint32_t maxModuleStride = findMaxModuleStride(); - constexpr uint8_t findLayer(uint32_t detId) { - for (uint8_t i = 0; i < std::size(layerStart); ++i) + constexpr uint8_t findLayer(uint32_t detId, uint8_t sl=0) { + for (uint8_t i = sl; i < std::size(layerStart); ++i) if (detId < layerStart[i + 1]) return i; return std::size(layerStart); @@ -100,8 +104,14 @@ namespace phase1PixelTopology { } constexpr uint32_t layerIndexSize = numberOfModules / maxModuleStride; +#ifdef __CUDA_ARCH__ + __device__ +#endif constexpr std::array layer = map_to_array(findLayerFromCompact); + constexpr uint8_t getLayer(uint32_t detId) { return phase1PixelTopology::layer[detId / phase1PixelTopology::maxModuleStride];} + + constexpr bool validateLayerIndex() { bool res = true; for (auto i = 0U; i < numberOfModules; ++i) { diff --git a/Geometry/TrackerGeometryBuilder/test/BuildFile.xml b/Geometry/TrackerGeometryBuilder/test/BuildFile.xml index d9efc604f4627..b8ba7beed98a3 100644 --- a/Geometry/TrackerGeometryBuilder/test/BuildFile.xml +++ b/Geometry/TrackerGeometryBuilder/test/BuildFile.xml @@ -2,6 +2,7 @@ + @@ -40,7 +41,10 @@ - + + + + diff --git a/Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cpp b/Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cu similarity index 86% rename from Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cpp rename to Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cu index 2dda8ed41500b..4c482ae2ed80e 100644 --- a/Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cpp +++ b/Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cu @@ -4,6 +4,9 @@ #include "Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h" +#include "HeterogeneousCore/CUDAUtilities/interface/cudaCheck.h" +#include "HeterogeneousCore/CUDAUtilities/interface/requireDevices.h" + namespace { // original code from CMSSW_4_4 @@ -123,7 +126,32 @@ namespace { } // namespace + +constexpr void testLayer() { + + for (auto i = 0U; i < phase1PixelTopology::numberOfModules; ++i) { + uint32_t layer = phase1PixelTopology::getLayer(i); + uint32_t tLayer= phase1PixelTopology::findLayer(i); + assert(tLayer==layer); + //std::cout << "module " << i << ": " << "layer " << layer << ", \"" << phase1PixelTopology::layerName[layer] << "\", [" << phase1PixelTopology::layerStart[layer] << ", " << phase1PixelTopology::layerStart[layer+1] << ")" << std::endl; + assert(layer < phase1PixelTopology::numberOfLayers); + assert(i >= phase1PixelTopology::layerStart[layer]); + assert(i < phase1PixelTopology::layerStart[layer + 1]); + } + + +} + + +__global__ +void kernel_testLayer() { + testLayer(); +} + int main() { + + cms::cudatest::requireDevices(); + for (uint16_t ix = 0; ix < 80 * 2; ++ix) { auto ori = localXori(ix); auto xl = phase1PixelTopology::localX(ix); @@ -144,17 +172,17 @@ int main() { for (auto i = 0U; i < phase1PixelTopology::numberOfLayers; ++i) { std::cout << "layer " << i << ", \"" << phase1PixelTopology::layerName[i] << "\", [" - << phase1PixelTopology::layerStart[i] << ", " << phase1PixelTopology::layerStart[i + 1] << ")" + << phase1PixelTopology::layerStart[i] << ", " << phase1PixelTopology::layerStart[i + 1] << ") " + << phase1PixelTopology::layerStart[i+1]-phase1PixelTopology::layerStart[i] << std::endl; } - for (auto i = 0U; i < phase1PixelTopology::numberOfModules; ++i) { - auto layer = static_cast(phase1PixelTopology::layer[i / phase1PixelTopology::maxModuleStride]); - //std::cout << "module " << i << ": " << "layer " << layer << ", \"" << phase1PixelTopology::layerName[layer] << "\", [" << phase1PixelTopology::layerStart[layer] << ", " << phase1PixelTopology::layerStart[layer+1] << ")" << std::endl; - assert(layer < phase1PixelTopology::numberOfLayers); - assert(i >= phase1PixelTopology::layerStart[layer]); - assert(i < phase1PixelTopology::layerStart[layer + 1]); - } + std::cout << "maxModuleStide layerIndexSize " << phase1PixelTopology::maxModuleStride << ' ' << phase1PixelTopology::layerIndexSize << std::endl; + + testLayer(); + + kernel_testLayer<<<1,1>>>(); + cudaCheck(cudaDeviceSynchronize()); return 0; } diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc index c36e6787ef871..bfdba43df0591 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc @@ -13,11 +13,6 @@ void CAHitNtupletGeneratorKernelsCPU::printCounters(Counters const *counters) { kernel_printCounters(counters); } -template <> -void CAHitNtupletGeneratorKernelsCPU::fillHitDetIndices(HitsView const *hv, TkSoA *tracks_d, cudaStream_t) { - kernel_fillHitDetIndices(&tracks_d->hitIndices, hv, &tracks_d->detIndices); -} - template <> void CAHitNtupletGeneratorKernelsCPU::buildDoublets(HitsOnCPU const &hh, cudaStream_t stream) { auto nhits = hh.nHits(); @@ -85,6 +80,7 @@ void CAHitNtupletGeneratorKernelsCPU::buildDoublets(HitsOnCPU const &hh, cudaStr template <> void CAHitNtupletGeneratorKernelsCPU::launchKernels(HitsOnCPU const &hh, TkSoA *tracks_d, cudaStream_t cudaStream) { auto *tuples_d = &tracks_d->hitIndices; + auto *detId_d = &tracks_d->detIndices; auto *quality_d = tracks_d->qualityData(); assert(tuples_d && quality_d); @@ -132,8 +128,11 @@ void CAHitNtupletGeneratorKernelsCPU::launchKernels(HitsOnCPU const &hh, TkSoA * cms::cuda::finalizeBulk(device_hitTuple_apc_, tuples_d); + kernel_fillHitDetIndices( + tuples_d, hh.view(), detId_d); + // remove duplicates (tracks that share a doublet) - kernel_earlyDuplicateRemover(device_theCells_.get(), device_nCells_, tuples_d, quality_d, params_.dupPassThrough_); + kernel_earlyDuplicateRemover(device_theCells_.get(), device_nCells_, tracks_d, quality_d, params_.dupPassThrough_); kernel_countMultiplicity(tuples_d, quality_d, device_tupleMultiplicity_.get()); cms::cuda::launchFinalize(device_tupleMultiplicity_.get(), cudaStream); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu index ae770cd77e740..e836708484df3 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu @@ -1,23 +1,10 @@ #include "RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h" -template <> -void CAHitNtupletGeneratorKernelsGPU::fillHitDetIndices(HitsView const *hv, TkSoA *tracks_d, cudaStream_t cudaStream) { - auto blockSize = 128; - auto numberOfBlocks = (HitContainer::ctCapacity() + blockSize - 1) / blockSize; - - kernel_fillHitDetIndices<<>>( - &tracks_d->hitIndices, hv, &tracks_d->detIndices); - cudaCheck(cudaGetLastError()); -#ifdef GPU_DEBUG - cudaDeviceSynchronize(); - cudaCheck(cudaGetLastError()); -#endif -} - template <> void CAHitNtupletGeneratorKernelsGPU::launchKernels(HitsOnCPU const &hh, TkSoA *tracks_d, cudaStream_t cudaStream) { // these are pointer on GPU! auto *tuples_d = &tracks_d->hitIndices; + auto *detId_d = &tracks_d->detIndices; auto *quality_d = tracks_d->qualityData(); // zero tuples @@ -101,10 +88,15 @@ void CAHitNtupletGeneratorKernelsGPU::launchKernels(HitsOnCPU const &hh, TkSoA * numberOfBlocks = (HitContainer::ctNOnes() + blockSize - 1) / blockSize; cms::cuda::finalizeBulk<<>>(device_hitTuple_apc_, tuples_d); + kernel_fillHitDetIndices<<>>( + tuples_d, hh.view(), detId_d); + cudaCheck(cudaGetLastError()); + + // remove duplicates (tracks that share a doublet) numberOfBlocks = nDoubletBlocks(blockSize); kernel_earlyDuplicateRemover<<>>( - device_theCells_.get(), device_nCells_, tuples_d, quality_d, params_.dupPassThrough_); + device_theCells_.get(), device_nCells_, tracks_d, quality_d, params_.dupPassThrough_); cudaCheck(cudaGetLastError()); blockSize = 128; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.h index 684a54f5d2ed4..0f3e5552836c0 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.h @@ -185,8 +185,6 @@ class CAHitNtupletGeneratorKernels { void classifyTuples(HitsOnCPU const& hh, TkSoA* tuples_d, cudaStream_t cudaStream); - void fillHitDetIndices(HitsView const* hv, TkSoA* tuples_d, cudaStream_t cudaStream); - void buildDoublets(HitsOnCPU const& hh, cudaStream_t stream); void allocateOnGPU(int32_t nHits, cudaStream_t stream); void cleanup(cudaStream_t cudaStream); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h index 7e8406928f58f..40de5ace79ae2 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h @@ -137,12 +137,15 @@ __global__ void kernel_fishboneCleaner(GPUCACell const *cells, uint32_t const *_ // It does not seem to affect efficiency in any way! __global__ void kernel_earlyDuplicateRemover(GPUCACell const *cells, uint32_t const *__restrict__ nCells, - HitContainer *foundNtuplets, + TkSoA const *__restrict__ ptracks, Quality *quality, bool dupPassThrough) { // quality to mark rejected constexpr auto reject = pixelTrack::Quality::edup; /// cannot be loose + auto const& tracks = *ptracks; + + assert(nCells); auto first = threadIdx.x + blockIdx.x * blockDim.x; for (int idx = first, nt = (*nCells); idx < nt; idx += gridDim.x * blockDim.x) { @@ -153,19 +156,19 @@ __global__ void kernel_earlyDuplicateRemover(GPUCACell const *cells, //if (0==thisCell.theUsed) continue; // if (thisCell.theDoubletId < 0) continue; - uint32_t maxNh = 0; + int maxNl = 0; - // find maxNh + // find maxNl for (auto it : thisCell.tracks()) { - auto nh = foundNtuplets->size(it); - maxNh = std::max(nh, maxNh); + auto nl = tracks.nLayers(it); + maxNl = std::max(nl, maxNl); } // quad pass through (leave it her for tests) - // maxNh = std::min(4U, maxNh); + // maxNl = std::min(4, maxNl); for (auto it : thisCell.tracks()) { - if (foundNtuplets->size(it) < maxNh) + if (tracks.nLayers(it) < maxNl) quality[it] = reject; //no race: simple assignment of the same constant } } diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc index 9c8c9b9b74b5e..ccbf5332c9b82 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc @@ -194,7 +194,6 @@ PixelTrackHeterogeneous CAHitNtupletGeneratorOnGPU::makeTuplesAsync(TrackingRecH kernels.buildDoublets(hits_d, stream); kernels.launchKernels(hits_d, soa, stream); - kernels.fillHitDetIndices(hits_d.view(), soa, stream); // in principle needed only if Hits not "available" HelixFitOnGPU fitter(bfield, m_params.fit5as4_); fitter.allocateOnGPU(&(soa->hitIndices), kernels.tupleMultiplicity(), soa); @@ -226,7 +225,6 @@ PixelTrackHeterogeneous CAHitNtupletGeneratorOnGPU::makeTuples(TrackingRecHit2DC kernels.buildDoublets(hits_d, nullptr); kernels.launchKernels(hits_d, soa, nullptr); - kernels.fillHitDetIndices(hits_d.view(), soa, nullptr); // in principle needed only if Hits not "available" if (0 == hits_d.nHits()) return tracks; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h index 1c981411c9761..24f764e85f346 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h @@ -309,7 +309,7 @@ class GPUCACell { { hindex_type hits[8]; auto nh = 0U; - constexpr int maxFB = 0; // 2; // for the time being let's limit this + constexpr int maxFB = 2; // for the time being let's limit this int nfb = 0; for (auto c : tmpNtuplet) { hits[nh++] = cells[c].theInnerHitId; diff --git a/RecoPixelVertexing/PixelVertexFinding/plugins/gpuVertexFinder.cc b/RecoPixelVertexing/PixelVertexFinding/plugins/gpuVertexFinder.cc index b8568a7bbcfe9..2defd6f5ba2ca 100644 --- a/RecoPixelVertexing/PixelVertexFinding/plugins/gpuVertexFinder.cc +++ b/RecoPixelVertexing/PixelVertexFinding/plugins/gpuVertexFinder.cc @@ -34,7 +34,7 @@ namespace gpuVertexFinder { // initialize soa... soa->idv[idx] = -1; - if (nHits < 4) + if (tracks.isTriplet(idx)) continue; // no triplets if (quality[idx] < pixelTrack::Quality::highPurity) continue; From dacbc4941eccd6b485f6ce538386c7bb04404146 Mon Sep 17 00:00:00 2001 From: calderon Date: Wed, 17 Nov 2021 13:41:42 +0100 Subject: [PATCH 055/268] update for Phase2 and Run3 bins --- DQMOffline/Muon/interface/MuonIsolationDQM.h | 6 ++ .../Muon/python/muonIsolationDQM_cff.py | 71 +++++++++++++++++-- DQMOffline/Muon/src/MuonIsolationDQM.cc | 37 +++++----- 3 files changed, 91 insertions(+), 23 deletions(-) diff --git a/DQMOffline/Muon/interface/MuonIsolationDQM.h b/DQMOffline/Muon/interface/MuonIsolationDQM.h index 7dd66b5a86331..696f0d863794f 100644 --- a/DQMOffline/Muon/interface/MuonIsolationDQM.h +++ b/DQMOffline/Muon/interface/MuonIsolationDQM.h @@ -63,6 +63,7 @@ class MuonIsolationDQM : public DQMEDAnalyzer { typedef edm::Handle MuIsoDepHandle; typedef const reco::IsoDeposit MuIsoDepRef; + public: //---------methods---------------------------- explicit MuonIsolationDQM(const edm::ParameterSet&); @@ -87,6 +88,11 @@ class MuonIsolationDQM : public DQMEDAnalyzer { //----------Static Variables--------------- + + int vtxBin_; + double vtxMin_; + double vtxMax_; + //Collection labels edm::EDGetTokenT theVertexCollectionLabel_; edm::EDGetTokenT > theMuonCollectionLabel_; diff --git a/DQMOffline/Muon/python/muonIsolationDQM_cff.py b/DQMOffline/Muon/python/muonIsolationDQM_cff.py index 82c49f0c6c1db..78b85a8dad5ba 100644 --- a/DQMOffline/Muon/python/muonIsolationDQM_cff.py +++ b/DQMOffline/Muon/python/muonIsolationDQM_cff.py @@ -15,7 +15,10 @@ tkIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositTk"), hoIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositCalByAssociatorTowers","ho"), vertexLabel = cms.untracked.InputTag("offlinePrimaryVertices"), - directory = cms.string("Muons/Isolation/tracker") + directory = cms.string("Muons/Isolation/tracker"), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), + vtxMin = cms.double(0.5) ) MuIsoDQM_sta = DQMEDAnalyzer('MuonIsolationDQM', @@ -29,7 +32,10 @@ tkIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositTk"), hoIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositCalByAssociatorTowers","ho"), vertexLabel = cms.untracked.InputTag("offlinePrimaryVertices"), - directory = cms.string("Muons/Isolation/standalone") + directory = cms.string("Muons/Isolation/standalone"), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), + vtxMin = cms.double(0.5) ) MuIsoDQM_glb = DQMEDAnalyzer('MuonIsolationDQM', @@ -43,11 +49,31 @@ tkIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositTk"), hoIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositCalByAssociatorTowers","ho"), vertexLabel = cms.untracked.InputTag("offlinePrimaryVertices"), - directory = cms.string("Muons/Isolation/global") + directory = cms.string("Muons/Isolation/global"), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), + vtxMin = cms.double(0.5) ) muIsoDQM_seq = cms.Sequence(MuIsoDQM_trk+MuIsoDQM_sta+MuIsoDQM_glb) +MuIsoDQM_glb_Phase2=MuIsoDQM_glb.clone() +MuIsoDQM_glb_Phase2.vtxBin=20 +MuIsoDQM_glb_Phase2.vtxMax=249.5 +MuIsoDQM_glb_Phase2.vtxMin=149.5 + +MuIsoDQM_trk_Phase2=MuIsoDQM_trk.clone() +MuIsoDQM_trk_Phase2.vtxBin=20 +MuIsoDQM_trk_Phase2.vtxMax=249.5 +MuIsoDQM_trk_Phase2.vtxMin=149.5 + +MuIsoDQM_sta_Phase2=MuIsoDQM_sta.clone() +MuIsoDQM_sta_Phase2.vtxBin=20 +MuIsoDQM_sta_Phase2.vtxMax=249.5 +MuIsoDQM_sta_Phase2.vtxMin=149.5 + +muIsoDQM_seq_Phase2 = cms.Sequence(MuIsoDQM_trk_Phase2+MuIsoDQM_sta_Phase2+MuIsoDQM_glb_Phase2) + MuIsoDQM_trk_miniAOD = DQMEDAnalyzer('MuonIsolationDQM', Global_Muon_Label = cms.untracked.InputTag("slimmedMuons"), @@ -60,7 +86,10 @@ tkIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositTk"), hoIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositCalByAssociatorTowers","ho"), vertexLabel = cms.untracked.InputTag("offlinePrimaryVertices"), - directory = cms.string("Muons_miniAOD/Isolation/tracker") + directory = cms.string("Muons_miniAOD/Isolation/tracker"), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), + vtxMin = cms.double(0.5) ) MuIsoDQM_sta_miniAOD = DQMEDAnalyzer('MuonIsolationDQM', @@ -74,7 +103,10 @@ tkIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositTk"), hoIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositCalByAssociatorTowers","ho"), vertexLabel = cms.untracked.InputTag("offlinePrimaryVertices"), - directory = cms.string("Muons_miniAOD/Isolation/standalone") + directory = cms.string("Muons_miniAOD/Isolation/standalone"), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), + vtxMin = cms.double(0.5) ) MuIsoDQM_glb_miniAOD = DQMEDAnalyzer('MuonIsolationDQM', @@ -88,6 +120,33 @@ tkIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositTk"), hoIsoDeposit_Label = cms.untracked.InputTag("muIsoDepositCalByAssociatorTowers","ho"), vertexLabel = cms.untracked.InputTag("offlinePrimaryVertices"), - directory = cms.string("Muons_miniAOD/Isolation/global") + directory = cms.string("Muons_miniAOD/Isolation/global"), + vtxBin = cms.int32(30), + vtxMax = cms.double(149.5), + vtxMin = cms.double(0.5), ) muIsoDQM_seq_miniAOD = cms.Sequence(MuIsoDQM_trk_miniAOD+MuIsoDQM_sta_miniAOD+MuIsoDQM_glb_miniAOD) + + +MuIsoDQM_glb_miniAOD_Phase2=MuIsoDQM_glb_miniAOD.clone() +MuIsoDQM_glb_miniAOD_Phase2.vtxBin=20 +MuIsoDQM_glb_miniAOD_Phase2.vtxMax=249.5 +MuIsoDQM_glb_miniAOD_Phase2.vtxMin=149.5 + +MuIsoDQM_trk_miniAOD_Phase2=MuIsoDQM_trk_miniAOD.clone() +MuIsoDQM_trk_miniAOD_Phase2.vtxBin=20 +MuIsoDQM_trk_miniAOD_Phase2.vtxMax=249.5 +MuIsoDQM_trk_miniAOD_Phase2.vtxMin=149.5 + +MuIsoDQM_sta_miniAOD_Phase2=MuIsoDQM_sta_miniAOD.clone() +MuIsoDQM_sta_miniAOD_Phase2.vtxBin=20 +MuIsoDQM_sta_miniAOD_Phase2.vtxMax=249.5 +MuIsoDQM_sta_miniAOD_Phase2.vtxMin=149.5 + +muIsoDQM_seq_miniAOD_Phase2 = cms.Sequence(MuIsoDQM_trk_miniAOD_Phase2+MuIsoDQM_sta_miniAOD_Phase2+MuIsoDQM_glb_miniAOD_Phase2) + + +from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon +phase2_muon.toReplaceWith(muIsoDQM_seq, muIsoDQM_seq_Phase2) +phase2_muon.toReplaceWith(muIsoDQM_seq_miniAOD, muIsoDQM_seq_miniAOD_Phase2) + diff --git a/DQMOffline/Muon/src/MuonIsolationDQM.cc b/DQMOffline/Muon/src/MuonIsolationDQM.cc index 58befb11e3854..d091407b5f634 100644 --- a/DQMOffline/Muon/src/MuonIsolationDQM.cc +++ b/DQMOffline/Muon/src/MuonIsolationDQM.cc @@ -61,6 +61,10 @@ MuonIsolationDQM::MuonIsolationDQM(const edm::ParameterSet& iConfig) { requireGLBMuon = iConfig.getUntrackedParameter("requireGLBMuon"); dirName = iConfig.getParameter("directory"); + vtxBin_ = iConfig.getParameter("vtxBin"); + vtxMin_ = iConfig.getParameter("vtxMin"); + vtxMax_ = iConfig.getParameter("vtxMax"); + //--------Initialize tags------- theMuonCollectionLabel_ = consumes >(iConfig.getUntrackedParameter("Global_Muon_Label")); @@ -209,12 +213,12 @@ void MuonIsolationDQM::InitStatics() { titles_2D[8] = "Relative Detector-Based Isolation, #Delta R = 0.4"; titles_2D[9] = "Relative PF Isolation, #Delta R = 0.4"; - main_titles_NVtxs[0] = "Sum PF Neutral Hadron Pt, #DeltaR = 0.4 ( 0 < N_{Vtx} < 15)"; - main_titles_NVtxs[1] = "Sum PF Neutral Hadron Pt, #DeltaR = 0.4 (15 < N_{Vtx} < 30)"; - main_titles_NVtxs[2] = "Sum PF Neutral Hadron Pt, #DeltaR = 0.4 (30 < N_{Vtx})"; - main_titles_NVtxs[3] = "Sum PF Photon Et, #DeltaR = 0.4 ( 0 < N_{Vtx} < 15)"; - main_titles_NVtxs[4] = "Sum PF Photon Et, #DeltaR = 0.4 (15 < N_{Vtx} < 30)"; - main_titles_NVtxs[5] = "Sum PF Photon Et, #DeltaR = 0.4 (30 < N_{Vtx})"; + main_titles_NVtxs[0] = "Sum PF Neutral Hadron Pt, #DeltaR = 0.4 ( 20 < N_{Vtx} < 50)"; + main_titles_NVtxs[1] = "Sum PF Neutral Hadron Pt, #DeltaR = 0.4 (50 < N_{Vtx} < 80)"; + main_titles_NVtxs[2] = "Sum PF Neutral Hadron Pt, #DeltaR = 0.4 (80 < N_{Vtx})"; + main_titles_NVtxs[3] = "Sum PF Photon Et, #DeltaR = 0.4 ( 20 < N_{Vtx} < 50)"; + main_titles_NVtxs[4] = "Sum PF Photon Et, #DeltaR = 0.4 (50 < N_{Vtx} < 80)"; + main_titles_NVtxs[5] = "Sum PF Photon Et, #DeltaR = 0.4 (80 < N_{Vtx})"; #ifdef DEBUG cout << "InitStatistics(): main titles 2D DONE " << endl; @@ -365,12 +369,12 @@ void MuonIsolationDQM::InitStatics() { cout << "InitStatistics(): names 2D DONE " << endl; #endif - names_NVtxs[0] = "pfNeutralPt_R04_PV0to15"; - names_NVtxs[1] = "pfNeutralPt_R04_PV15to30"; - names_NVtxs[2] = "pfNeutralPt_R04_PV30toInf"; - names_NVtxs[3] = "pfPhotonPt_R04_PV0to15"; - names_NVtxs[4] = "pfPhotonPt_R04_PV15to30"; - names_NVtxs[5] = "pfPhotonPt_R04_PV30toInf"; + names_NVtxs[0] = "pfNeutralPt_R04_PV20to50"; + names_NVtxs[1] = "pfNeutralPt_R04_PV50to80"; + names_NVtxs[2] = "pfNeutralPt_R04_PV80toInf"; + names_NVtxs[3] = "pfPhotonPt_R04_PV20to50"; + names_NVtxs[4] = "pfPhotonPt_R04_PV50to80"; + names_NVtxs[5] = "pfPhotonPt_R04_PV80toInf"; //----------Parameters for binning of histograms--------- //param[var][0] is the number of bins @@ -779,8 +783,7 @@ void MuonIsolationDQM::bookHistograms(DQMStore::IBooker& ibooker, //----Initialize 2D Histograms for (int var = 0; var < NUM_VARS_2D; var++) { - h_2D[var] = ibooker.bookProfile(names_2D[var] + "_VsPV", titles_2D[var] + " Vs PV", 50, 0.5, 50.5, 20, 0.0, 20.0); - + h_2D[var] = ibooker.bookProfile(names_2D[var] + "_VsPV", titles_2D[var] + " Vs PV", vtxBin_, vtxMin_, vtxMax_, 20, 0.0, 20.0); h_2D[var]->setAxisTitle("Number of PV", XAXIS); h_2D[var]->setAxisTitle(titles_2D[var] + " (GeV)", YAXIS); // h_2D[var]->getTH1()->Sumw2(); @@ -827,15 +830,15 @@ void MuonIsolationDQM::FillHistos(int numPV) { #endif } void MuonIsolationDQM::FillNVtxHistos(int PV) { - if (PV < 15) { + if (PV >= 20 && PV < 50) { h_1D_NVTX[0]->Fill(theDataNVtx[0]); h_1D_NVTX[3]->Fill(theDataNVtx[3]); } - if (PV >= 15 && PV < 30) { + if (PV >= 50 && PV < 80) { h_1D_NVTX[1]->Fill(theDataNVtx[1]); h_1D_NVTX[4]->Fill(theDataNVtx[4]); } - if (PV >= 30) { + if (PV >= 80) { h_1D_NVTX[2]->Fill(theDataNVtx[2]); h_1D_NVTX[5]->Fill(theDataNVtx[5]); } From 088654a4edca66bb04f7512ae73c5b0a0a568495 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Wed, 17 Nov 2021 15:53:18 +0100 Subject: [PATCH 056/268] use layers insted of hits --- .../CAHitNtupletGeneratorKernelsImpl.h | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h index 40de5ace79ae2..6ec3457324d1c 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h @@ -647,7 +647,7 @@ __global__ void kernel_rejectDuplicate(TrackingRecHit2DSOAView const *__restrict auto const reject = dupPassThrough ? pixelTrack::Quality::loose : pixelTrack::Quality::dup; auto &hitToTuple = *phitToTuple; - auto const &foundNtuplets = *ptuples; + // auto const &foundNtuplets = *ptuples; auto const &tracks = *ptracks; int first = blockDim.x * blockIdx.x + threadIdx.x; @@ -656,12 +656,12 @@ __global__ void kernel_rejectDuplicate(TrackingRecHit2DSOAView const *__restrict continue; /* chi2 is bad for large pt - auto score = [&](auto it, auto nh) { - return nh < 4 ? std::abs(tracks.tip(it)) : // tip for triplets + auto score = [&](auto it, auto nl) { + return nl < 4 ? std::abs(tracks.tip(it)) : // tip for triplets tracks.chi2(it); //chi2 }; */ - auto score = [&](auto it, auto nh) { return std::abs(tracks.tip(it)); }; + auto score = [&](auto it, auto nl) { return std::abs(tracks.tip(it)); }; // full combinatorics for (auto ip = hitToTuple.begin(idx); ip != hitToTuple.end(idx); ++ip) { @@ -673,7 +673,7 @@ __global__ void kernel_rejectDuplicate(TrackingRecHit2DSOAView const *__restrict auto e2opi = tracks.stateAtBS.covariance(it)(9); auto cti = tracks.stateAtBS.state(it)(3); auto e2cti = tracks.stateAtBS.covariance(it)(12); - auto nhi = foundNtuplets.size(it); + auto nli = tracks.nLayers(it); for (auto jp = ip + 1; jp != hitToTuple.end(idx); ++jp) { auto const jt = *jp; auto qj = quality[jt]; @@ -687,8 +687,8 @@ __global__ void kernel_rejectDuplicate(TrackingRecHit2DSOAView const *__restrict auto dop = nSigma2 * (tracks.stateAtBS.covariance(jt)(9) + e2opi); if ((opi - opj) * (opi - opj) > dop) continue; - auto nhj = foundNtuplets.size(jt); - if (nhj < nhi || (nhj == nhi && (qj < qi || (qj == qi && score(it, nhi) < score(jt, nhj))))) + auto nlj = tracks.nLayers(jt);; + if (nlj < nli || (nlj == nli && (qj < qi || (qj == qi && score(it, nli) < score(jt, nlj))))) quality[jt] = reject; else { quality[it] = reject; @@ -703,7 +703,7 @@ __global__ void kernel_sharedHitCleaner(TrackingRecHit2DSOAView const *__restric HitContainer const *__restrict__ ptuples, TkSoA const *__restrict__ ptracks, Quality *__restrict__ quality, - uint16_t nmin, + int nmin, bool dupPassThrough, CAHitNtupletGeneratorKernelsGPU::HitToTuple const *__restrict__ phitToTuple) { // quality to mark rejected @@ -712,8 +712,8 @@ __global__ void kernel_sharedHitCleaner(TrackingRecHit2DSOAView const *__restric auto const longTqual = pixelTrack::Quality::highPurity; auto &hitToTuple = *phitToTuple; - auto const &foundNtuplets = *ptuples; - // auto const &tracks = *ptracks; + // auto const &foundNtuplets = *ptuples; + auto const &tracks = *ptracks; auto const &hh = *hhp; int l1end = hh.hitsLayerStart()[1]; @@ -723,31 +723,31 @@ __global__ void kernel_sharedHitCleaner(TrackingRecHit2DSOAView const *__restric if (hitToTuple.size(idx) < 2) continue; - uint32_t maxNh = 0; + int maxNl = 0; - // find maxNh + // find maxNl for (auto it = hitToTuple.begin(idx); it != hitToTuple.end(idx); ++it) { if (quality[*it] < longTqual) continue; - uint32_t nh = foundNtuplets.size(*it); - maxNh = std::max(nh, maxNh); + auto nl = tracks.nLayers(*it); + maxNl = std::max(nl, maxNl); } - if (maxNh < 4) + if (maxNl < 4) continue; // quad pass through (leave for tests) - // maxNh = std::min(4U, maxNh); + // maxNl = std::min(4, maxNl); - // kill all tracks shorter than maxHn (only triplets??? + // kill all tracks shorter than maxHl (only triplets??? for (auto it = hitToTuple.begin(idx); it != hitToTuple.end(idx); ++it) { - uint32_t nh = foundNtuplets.size(*it); + auto nl = tracks.nLayers(*it); //checking if shared hit is on bpix1 and if the tuple is short enough - if (idx < l1end and nh > nmin) + if (idx < l1end and nl > nmin) continue; - if (nh < maxNh && quality[*it] > reject) + if (nl < maxNl && quality[*it] > reject) quality[*it] = reject; } } @@ -766,7 +766,7 @@ __global__ void kernel_tripletCleaner(TrackingRecHit2DSOAView const *__restrict_ auto const good = pixelTrack::Quality::strict; auto &hitToTuple = *phitToTuple; - auto const &foundNtuplets = *ptuples; + // auto const &foundNtuplets = *ptuples; auto const &tracks = *ptracks; int first = blockDim.x * blockIdx.x + threadIdx.x; @@ -776,18 +776,18 @@ __global__ void kernel_tripletCleaner(TrackingRecHit2DSOAView const *__restrict_ float mc = maxScore; uint16_t im = tkNotFound; - uint32_t maxNh = 0; + bool onlyTriplets = true; - // find maxNh + // check if only triplets for (auto it = hitToTuple.begin(idx); it != hitToTuple.end(idx); ++it) { if (quality[*it] <= good) continue; - uint32_t nh = foundNtuplets.size(*it); - maxNh = std::max(nh, maxNh); + onlyTriplets &= tracks.isTriplet(*it); + if (!onlyTriplets) break; } // only triplets - if (maxNh != 3) + if (!onlyTriplets) continue; // for triplets choose best tip! (should we first find best quality???) @@ -826,7 +826,7 @@ __global__ void kernel_simpleTripletCleaner( auto const good = pixelTrack::Quality::loose; auto &hitToTuple = *phitToTuple; - auto const &foundNtuplets = *ptuples; + // auto const &foundNtuplets = *ptuples; auto const &tracks = *ptracks; int first = blockDim.x * blockIdx.x + threadIdx.x; @@ -852,7 +852,7 @@ __global__ void kernel_simpleTripletCleaner( // mark worse ambiguities for (auto ip = hitToTuple.begin(idx); ip != hitToTuple.end(idx); ++ip) { auto const it = *ip; - if (quality[it] > reject && foundNtuplets.size(it) == 3 && it != im) + if (quality[it] > reject && tracks.isTriplet(it) && it != im) quality[it] = reject; //no race: simple assignment of the same constant } From a4a692e8eb748cfaccd286236f01eab7c03f961c Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Wed, 17 Nov 2021 15:54:25 +0100 Subject: [PATCH 057/268] code format --- .../Track/interface/TrackSoAHeterogeneousT.h | 21 ++++++------ .../interface/phase1PixelTopology.h | 32 ++++++++++--------- .../test/phase1PixelTopology_t.cu | 25 +++++---------- .../plugins/CAHitNtupletGeneratorKernels.cc | 3 +- .../plugins/CAHitNtupletGeneratorKernels.cu | 4 +-- .../CAHitNtupletGeneratorKernelsImpl.h | 9 +++--- .../plugins/CAHitNtupletGeneratorOnGPU.cc | 3 +- 7 files changed, 43 insertions(+), 54 deletions(-) diff --git a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h index 36a4c8a9fc54b..b4864aadcb7c7 100644 --- a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h +++ b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h @@ -10,7 +10,6 @@ #include "CUDADataFormats/Common/interface/HeterogeneousSoA.h" - namespace pixelTrack { enum class Quality : uint8_t { bad = 0, edup, dup, loose, strict, tight, highPurity, notQuality }; constexpr uint32_t qualitySize{uint8_t(Quality::notQuality)}; @@ -44,30 +43,28 @@ class TrackSoAHeterogeneousT { // this is chi2/ndof as not necessarely all hits are used in the fit eigenSoA::ScalarSoA chi2; - constexpr int nHits(int i) const { return detIndices.size(i); } // we may store it if faster... constexpr int nLayers(int i) const { return computeNumberOfLayers(i); } // or store this one - constexpr bool isTriplet(int i) const { return nHits(i) ==3 || nLayers(i)==3; } + constexpr bool isTriplet(int i) const { return nHits(i) == 3 || nLayers(i) == 3; } constexpr int computeNumberOfLayers(int32_t i) const { // layers are in order and we assume tracks are either forward or backward - auto pdet=detIndices.begin(i); - int nl=1; + auto pdet = detIndices.begin(i); + int nl = 1; auto ol = phase1PixelTopology::findLayer(*pdet); - for (;pdet=3); + assert(nl >= 3); return nl; } - - // State at the Beam spot // phi,tip,1/pt,cotan(theta),zip diff --git a/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h b/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h index 40235617847b2..29a47bc6a299a 100644 --- a/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h +++ b/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h @@ -31,17 +31,17 @@ namespace phase1PixelTopology { #ifdef __CUDA_ARCH__ __device__ #endif - constexpr uint32_t layerStart[numberOfLayers + 1] = {0, - 96, - 320, - 672, // barrel - 1184, - 1296, - 1408, // positive endcap - 1520, - 1632, - 1744, // negative endcap - numberOfModules}; + constexpr uint32_t layerStart[numberOfLayers + 1] = {0, + 96, + 320, + 672, // barrel + 1184, + 1296, + 1408, // positive endcap + 1520, + 1632, + 1744, // negative endcap + numberOfModules}; constexpr char const* layerName[numberOfLayers] = { "BL1", "BL2", @@ -88,7 +88,7 @@ namespace phase1PixelTopology { constexpr uint32_t maxModuleStride = findMaxModuleStride(); - constexpr uint8_t findLayer(uint32_t detId, uint8_t sl=0) { + constexpr uint8_t findLayer(uint32_t detId, uint8_t sl = 0) { for (uint8_t i = sl; i < std::size(layerStart); ++i) if (detId < layerStart[i + 1]) return i; @@ -107,10 +107,12 @@ namespace phase1PixelTopology { #ifdef __CUDA_ARCH__ __device__ #endif - constexpr std::array layer = map_to_array(findLayerFromCompact); - - constexpr uint8_t getLayer(uint32_t detId) { return phase1PixelTopology::layer[detId / phase1PixelTopology::maxModuleStride];} + constexpr std::array + layer = map_to_array(findLayerFromCompact); + constexpr uint8_t getLayer(uint32_t detId) { + return phase1PixelTopology::layer[detId / phase1PixelTopology::maxModuleStride]; + } constexpr bool validateLayerIndex() { bool res = true; diff --git a/Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cu b/Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cu index 4c482ae2ed80e..7344382de7293 100644 --- a/Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cu +++ b/Geometry/TrackerGeometryBuilder/test/phase1PixelTopology_t.cu @@ -126,30 +126,21 @@ namespace { } // namespace - constexpr void testLayer() { - for (auto i = 0U; i < phase1PixelTopology::numberOfModules; ++i) { uint32_t layer = phase1PixelTopology::getLayer(i); - uint32_t tLayer= phase1PixelTopology::findLayer(i); - assert(tLayer==layer); + uint32_t tLayer = phase1PixelTopology::findLayer(i); + assert(tLayer == layer); //std::cout << "module " << i << ": " << "layer " << layer << ", \"" << phase1PixelTopology::layerName[layer] << "\", [" << phase1PixelTopology::layerStart[layer] << ", " << phase1PixelTopology::layerStart[layer+1] << ")" << std::endl; assert(layer < phase1PixelTopology::numberOfLayers); assert(i >= phase1PixelTopology::layerStart[layer]); assert(i < phase1PixelTopology::layerStart[layer + 1]); } - - } - -__global__ -void kernel_testLayer() { - testLayer(); -} +__global__ void kernel_testLayer() { testLayer(); } int main() { - cms::cudatest::requireDevices(); for (uint16_t ix = 0; ix < 80 * 2; ++ix) { @@ -173,16 +164,16 @@ int main() { for (auto i = 0U; i < phase1PixelTopology::numberOfLayers; ++i) { std::cout << "layer " << i << ", \"" << phase1PixelTopology::layerName[i] << "\", [" << phase1PixelTopology::layerStart[i] << ", " << phase1PixelTopology::layerStart[i + 1] << ") " - << phase1PixelTopology::layerStart[i+1]-phase1PixelTopology::layerStart[i] - << std::endl; + << phase1PixelTopology::layerStart[i + 1] - phase1PixelTopology::layerStart[i] << std::endl; } - std::cout << "maxModuleStide layerIndexSize " << phase1PixelTopology::maxModuleStride << ' ' << phase1PixelTopology::layerIndexSize << std::endl; + std::cout << "maxModuleStide layerIndexSize " << phase1PixelTopology::maxModuleStride << ' ' + << phase1PixelTopology::layerIndexSize << std::endl; testLayer(); - kernel_testLayer<<<1,1>>>(); - cudaCheck(cudaDeviceSynchronize()); + kernel_testLayer<<<1, 1>>>(); + cudaCheck(cudaDeviceSynchronize()); return 0; } diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc index bfdba43df0591..16c36962912e7 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc @@ -128,8 +128,7 @@ void CAHitNtupletGeneratorKernelsCPU::launchKernels(HitsOnCPU const &hh, TkSoA * cms::cuda::finalizeBulk(device_hitTuple_apc_, tuples_d); - kernel_fillHitDetIndices( - tuples_d, hh.view(), detId_d); + kernel_fillHitDetIndices(tuples_d, hh.view(), detId_d); // remove duplicates (tracks that share a doublet) kernel_earlyDuplicateRemover(device_theCells_.get(), device_nCells_, tracks_d, quality_d, params_.dupPassThrough_); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu index e836708484df3..f90747204b6a6 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu @@ -88,11 +88,9 @@ void CAHitNtupletGeneratorKernelsGPU::launchKernels(HitsOnCPU const &hh, TkSoA * numberOfBlocks = (HitContainer::ctNOnes() + blockSize - 1) / blockSize; cms::cuda::finalizeBulk<<>>(device_hitTuple_apc_, tuples_d); - kernel_fillHitDetIndices<<>>( - tuples_d, hh.view(), detId_d); + kernel_fillHitDetIndices<<>>(tuples_d, hh.view(), detId_d); cudaCheck(cudaGetLastError()); - // remove duplicates (tracks that share a doublet) numberOfBlocks = nDoubletBlocks(blockSize); kernel_earlyDuplicateRemover<<>>( diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h index 6ec3457324d1c..036c5120213ef 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h @@ -143,8 +143,7 @@ __global__ void kernel_earlyDuplicateRemover(GPUCACell const *cells, // quality to mark rejected constexpr auto reject = pixelTrack::Quality::edup; /// cannot be loose - auto const& tracks = *ptracks; - + auto const &tracks = *ptracks; assert(nCells); auto first = threadIdx.x + blockIdx.x * blockDim.x; @@ -687,7 +686,8 @@ __global__ void kernel_rejectDuplicate(TrackingRecHit2DSOAView const *__restrict auto dop = nSigma2 * (tracks.stateAtBS.covariance(jt)(9) + e2opi); if ((opi - opj) * (opi - opj) > dop) continue; - auto nlj = tracks.nLayers(jt);; + auto nlj = tracks.nLayers(jt); + ; if (nlj < nli || (nlj == nli && (qj < qi || (qj == qi && score(it, nli) < score(jt, nlj))))) quality[jt] = reject; else { @@ -783,7 +783,8 @@ __global__ void kernel_tripletCleaner(TrackingRecHit2DSOAView const *__restrict_ if (quality[*it] <= good) continue; onlyTriplets &= tracks.isTriplet(*it); - if (!onlyTriplets) break; + if (!onlyTriplets) + break; } // only triplets diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc index ccbf5332c9b82..b28c8783226ef 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc @@ -152,7 +152,8 @@ void CAHitNtupletGeneratorOnGPU::fillDescriptions(edm::ParameterSetDescription& desc.add("minHitsForSharingCut", 10) ->setComment("Maximum number of hits in a tuple to clean also if the shared hit is on bpx1"); desc.add("includeJumpingForwardDoublets", false); - desc.add("fit5as4", false)->setComment("fit only 4 hits out of N");; + desc.add("fit5as4", false)->setComment("fit only 4 hits out of N"); + ; desc.add("doClusterCut", true); desc.add("doZ0Cut", true); desc.add("doPtCut", true); From da552c99d3eecc76c09938a9202570ec7ef73542 Mon Sep 17 00:00:00 2001 From: swmukher Date: Wed, 17 Nov 2021 18:55:09 +0100 Subject: [PATCH 058/268] added supporting text --- .../FixedGridRhoProducerFastjetFromRecHit.cc | 155 +++++++++++------- 1 file changed, 92 insertions(+), 63 deletions(-) diff --git a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc index 7c9d96095830c..71e046f813e28 100644 --- a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc +++ b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc @@ -1,3 +1,18 @@ +/* + +Author: Swagata Mukherjee + +Date: November 2021 + +This producer computes rho from ECAL and HCAL recHits. +The current plan is to use it in egamma and muon HLT, who currently use +the other producer called FixedGridRhoProducerFastjet. +At HLT, FixedGridRhoProducerFastjet takes calotowers as input and computes rho. +But calotowers are expected to be phased out sometime in Run3. +So this recHit-based rho producer, FixedGridRhoProducerFastjetFromRecHit, can be used as an alternative. + +*/ + #include "FWCore/Framework/interface/stream/EDProducer.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -18,15 +33,15 @@ class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { public: - explicit FixedGridRhoProducerFastjetFromRecHit(const edm::ParameterSet& iConfig); + explicit FixedGridRhoProducerFastjetFromRecHit(const edm::ParameterSet &iConfig); ~FixedGridRhoProducerFastjetFromRecHit() override; - static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); + static void fillDescriptions(edm::ConfigurationDescriptions &descriptions); private: - void produce(edm::Event&, const edm::EventSetup&) override; - void getHitP4(const DetId &detId, float hitE, TLorentzVector &hitp4, const CaloGeometry &caloGeometry) ; + void produce(edm::Event &, const edm::EventSetup &) override; + void getHitP4(const DetId &detId, float hitE, TLorentzVector &hitp4, const CaloGeometry &caloGeometry); bool passedHcalNoiseCut(const HBHERecHit &hit); - bool passedEcalNoiseCut(const EcalRecHit &hit,const EcalPFRecHitThresholds *thresholds) ; + bool passedEcalNoiseCut(const EcalRecHit &hit, const EcalPFRecHitThresholds *thresholds); fastjet::GridMedianBackgroundEstimator bge_; edm::EDGetTokenT hbheRecHitsTag_; @@ -36,6 +51,8 @@ class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { const EgammaHcalIsolation::arrayHB eThresHB_; const EgammaHcalIsolation::arrayHE eThresHE_; + //Muon HLT currently use ECAL-only rho for ECAL isolation, + //and HCAL-only rho for HCAL isolation. So, this skipping option is needed. bool skipHCAL_; bool skipECAL_; @@ -43,27 +60,29 @@ class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { const edm::ESGetToken caloGeometryToken_; }; -FixedGridRhoProducerFastjetFromRecHit::FixedGridRhoProducerFastjetFromRecHit(const edm::ParameterSet& iConfig) : - bge_(iConfig.getParameter("maxRapidity"), iConfig.getParameter("gridSpacing")), - hbheRecHitsTag_(consumes(iConfig.getParameter("hbheRecHitsTag"))), - ebRecHitsTag_(consumes(iConfig.getParameter("ebRecHitsTag"))), - eeRecHitsTag_(consumes(iConfig.getParameter("eeRecHitsTag"))), - eThresHB_(iConfig.getParameter("eThresHB")), - eThresHE_(iConfig.getParameter("eThresHE")), - skipHCAL_(iConfig.getParameter("skipHCAL")), - skipECAL_(iConfig.getParameter("skipECAL")), - ecalPFRechitThresholdsToken_{esConsumes()}, - caloGeometryToken_{esConsumes()} { +FixedGridRhoProducerFastjetFromRecHit::FixedGridRhoProducerFastjetFromRecHit(const edm::ParameterSet &iConfig) + : bge_(iConfig.getParameter("maxRapidity"), iConfig.getParameter("gridSpacing")), + hbheRecHitsTag_(consumes(iConfig.getParameter("hbheRecHitsTag"))), + ebRecHitsTag_(consumes(iConfig.getParameter("ebRecHitsTag"))), + eeRecHitsTag_(consumes(iConfig.getParameter("eeRecHitsTag"))), + eThresHB_(iConfig.getParameter("eThresHB")), + eThresHE_(iConfig.getParameter("eThresHE")), + skipHCAL_(iConfig.getParameter("skipHCAL")), + skipECAL_(iConfig.getParameter("skipECAL")), + ecalPFRechitThresholdsToken_{esConsumes()}, + caloGeometryToken_{esConsumes()} { produces(); } -void FixedGridRhoProducerFastjetFromRecHit::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { +void FixedGridRhoProducerFastjetFromRecHit::fillDescriptions(edm::ConfigurationDescriptions &descriptions) { edm::ParameterSetDescription desc; - desc.add(("hbheRecHitsTag"), edm::InputTag("hltHbhereco")); - desc.add(("ebRecHitsTag"), edm::InputTag("hltEcalRecHit","EcalRecHitsEB")); - desc.add(("eeRecHitsTag"), edm::InputTag("hltEcalRecHit","EcalRecHitsEE")); - desc.add(("skipHCAL"), false); - desc.add(("skipECAL"), false); + //We use raw recHits and not the PF recHits, because in Phase1 muon and egamma HLT, + //PF recHit collection is regional, while the full raw recHit collection is available. + desc.add("hbheRecHitsTag", edm::InputTag("hltHbhereco")); + desc.add("ebRecHitsTag", edm::InputTag("hltEcalRecHit", "EcalRecHitsEB")); + desc.add("eeRecHitsTag", edm::InputTag("hltEcalRecHit", "EcalRecHitsEE")); + desc.add("skipHCAL", false); + desc.add("skipECAL", false); //eThresHB/HE are from RecoParticleFlow/PFClusterProducer/python/particleFlowRecHitHBHE_cfi.py desc.add >("eThresHB", {0.1, 0.2, 0.3, 0.3}); desc.add >("eThresHE", {0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2}); @@ -74,40 +93,39 @@ void FixedGridRhoProducerFastjetFromRecHit::fillDescriptions(edm::ConfigurationD FixedGridRhoProducerFastjetFromRecHit::~FixedGridRhoProducerFastjetFromRecHit() {} -void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - +void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event &iEvent, const edm::EventSetup &iSetup) { std::vector inputs; - auto const& thresholds = iSetup.getData(ecalPFRechitThresholdsToken_); + auto const &thresholds = iSetup.getData(ecalPFRechitThresholdsToken_); if (skipHCAL_ && skipECAL_) { throw cms::Exception("FixedGridRhoProducerFastjetFromRecHit") - << "skipHCAL and skipECAL both can't be True. Make at least one of them False."; + << "skipHCAL and skipECAL both can't be True. Make at least one of them False."; } - if ( !skipHCAL_ ) { - for (const auto &hit : iEvent.get(hbheRecHitsTag_) ) { - if (passedHcalNoiseCut(hit) ) { - TLorentzVector hitp4(0,0,0,0); - getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)) ; - inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); + if (!skipHCAL_) { + for (const auto &hit : iEvent.get(hbheRecHitsTag_)) { + if (passedHcalNoiseCut(hit)) { + TLorentzVector hitp4(0, 0, 0, 0); + getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)); + inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); } } } - if ( !skipECAL_ ) { - for (const auto &hit : iEvent.get(ebRecHitsTag_) ) { - if ( passedEcalNoiseCut(hit, &thresholds) ) { - TLorentzVector hitp4(0,0,0,0); - getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)) ; - inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); + if (!skipECAL_) { + for (const auto &hit : iEvent.get(ebRecHitsTag_)) { + if (passedEcalNoiseCut(hit, &thresholds)) { + TLorentzVector hitp4(0, 0, 0, 0); + getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)); + inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); } } - - for (const auto &hit : iEvent.get(eeRecHitsTag_) ) { - if ( passedEcalNoiseCut(hit, &thresholds) ) { - TLorentzVector hitp4(0,0,0,0); - getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)) ; - inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); + + for (const auto &hit : iEvent.get(eeRecHitsTag_)) { + if (passedEcalNoiseCut(hit, &thresholds)) { + TLorentzVector hitp4(0, 0, 0, 0); + getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)); + inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); } } } @@ -116,35 +134,46 @@ void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event& iEvent, const ed iEvent.put(std::make_unique(bge_.rho())); } -void FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, float hitE, TLorentzVector &hitp4, const CaloGeometry &caloGeometry) { - - const CaloSubdetectorGeometry* subDetGeom = caloGeometry.getSubdetectorGeometry(detId); - std::shared_ptr cellGeom = subDetGeom!=nullptr ? subDetGeom->getGeometry(detId) : std::shared_ptr(); - if(cellGeom!=nullptr){ +void FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, + float hitE, + TLorentzVector &hitp4, + const CaloGeometry &caloGeometry) { + const CaloSubdetectorGeometry *subDetGeom = caloGeometry.getSubdetectorGeometry(detId); + std::shared_ptr cellGeom = + subDetGeom != nullptr ? subDetGeom->getGeometry(detId) : std::shared_ptr(); + if (cellGeom != nullptr) { const auto &gpPos = cellGeom->repPos(); - double thispt=hitE/cosh(gpPos.eta()); - double thispx=thispt*cos(gpPos.phi()); - double thispy=thispt*sin(gpPos.phi()); - double thispz=thispt*sinh(gpPos.eta()); - hitp4.SetPxPyPzE(thispx,thispy,thispz,hitE); - }else{ - if(detId.rawId()!=0) edm::LogInfo("FixedGridRhoProducerFastjetFromRecHit") <<"Warning : Geometry not found for a calo hit, setting p4 as (0,0,0,0)" << std::endl; - hitp4.SetPxPyPzE(0,0,0,0); + double thispt = hitE / cosh(gpPos.eta()); + double thispx = thispt * cos(gpPos.phi()); + double thispy = thispt * sin(gpPos.phi()); + double thispz = thispt * sinh(gpPos.eta()); + hitp4.SetPxPyPzE(thispx, thispy, thispz, hitE); + } else { + if (detId.rawId() != 0) + edm::LogInfo("FixedGridRhoProducerFastjetFromRecHit") + << "Warning : Geometry not found for a calo hit, setting p4 as (0,0,0,0)" << std::endl; + hitp4.SetPxPyPzE(0, 0, 0, 0); } } +//HCAL noise cleaning cuts. bool FixedGridRhoProducerFastjetFromRecHit::passedHcalNoiseCut(const HBHERecHit &hit) { - bool passed=false; + bool passed = false; const HcalDetId thisDetId(hit.detid()); const int thisDepth = thisDetId.depth(); - if ( (thisDetId.subdet() == HcalBarrel) && (hit.energy() > eThresHB_[thisDepth-1]) ) passed=true; - else if ( (thisDetId.subdet() == HcalEndcap) && (hit.energy() > eThresHE_[thisDepth-1]) ) passed=true; + if ((thisDetId.subdet() == HcalBarrel) && (hit.energy() > eThresHB_[thisDepth - 1])) + passed = true; + else if ((thisDetId.subdet() == HcalEndcap) && (hit.energy() > eThresHE_[thisDepth - 1])) + passed = true; return passed; } -bool FixedGridRhoProducerFastjetFromRecHit::passedEcalNoiseCut(const EcalRecHit &hit,const EcalPFRecHitThresholds *thresholds) { - bool passed=false; - if ( hit.energy() > (*thresholds)[hit.detid()]) passed=true; +//ECAL noise cleaning cuts using per-crystal PF-recHit thresholds. +bool FixedGridRhoProducerFastjetFromRecHit::passedEcalNoiseCut(const EcalRecHit &hit, + const EcalPFRecHitThresholds *thresholds) { + bool passed = false; + if (hit.energy() > (*thresholds)[hit.detid()]) + passed = true; return passed; } From d943844c4a3869ac87a91ec6fe22b57fdc5c9509 Mon Sep 17 00:00:00 2001 From: Conett Huerta Escamilla Date: Thu, 18 Nov 2021 01:15:29 +0100 Subject: [PATCH 059/268] Python3 syntax upgrade --- Validation/Geometry/test/MaterialBudget.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Validation/Geometry/test/MaterialBudget.py b/Validation/Geometry/test/MaterialBudget.py index 56cdbbf9939af..385332cab3ce6 100644 --- a/Validation/Geometry/test/MaterialBudget.py +++ b/Validation/Geometry/test/MaterialBudget.py @@ -567,7 +567,7 @@ def createPlots_(plot, geometry): # category profiles for label, [num, color, leg] in hist_label_to_num.items(): - if label is 'SUM': continue + if label == 'SUM': continue hist_label = get1DHisto_(subDetector, num + plots[plot].plotNumber, geometry) hist_X0_elements[label] = assignOrAddIfExists_( hist_X0_elements.setdefault(label,None), @@ -643,7 +643,7 @@ def createPlots_(plot, geometry): stack_X0_Materials = THStack("stack_X0",stackTitle_Materials) stack_X0_Materials.Add(hist_X0_detectors["BeamPipe"]) for label, [num, color, leg] in hist_label_to_num.items(): - if label is 'SUM': + if label == 'SUM': continue stack_X0_Materials.Add(hist_X0_elements[label]) @@ -666,7 +666,7 @@ def createPlots_(plot, geometry): theLegend_Materials.AddEntry(hist_X0_detectors["BeamPipe"], "Beam Pipe", "f") for label, [num, color, leg] in hist_label_to_num.items(): - if label is 'SUM': + if label == 'SUM': continue theLegend_Materials.AddEntry(hist_X0_elements[label], leg, "f") theLegend_Materials.Draw() @@ -829,7 +829,7 @@ def setRanges(h): for label, [num, color, leg] in hist_label_to_num.items(): # We don't want the sum to be added as part of the stack - if label is 'SUM': + if label == 'SUM': continue hist_X0_elements[label] = get1DHisto_(detector, num + plots[plot].plotNumber, From 9d0304a18eaca636646e0d5c6e7b2aa37d5d8cb7 Mon Sep 17 00:00:00 2001 From: calderon Date: Thu, 18 Nov 2021 12:04:43 +0100 Subject: [PATCH 060/268] update Muon Offline DQM for Run3 --- DQMOffline/Muon/src/SegmentTrackAnalyzer.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/DQMOffline/Muon/src/SegmentTrackAnalyzer.cc b/DQMOffline/Muon/src/SegmentTrackAnalyzer.cc index 593be2f4eeaef..2cba2e6d75dc2 100644 --- a/DQMOffline/Muon/src/SegmentTrackAnalyzer.cc +++ b/DQMOffline/Muon/src/SegmentTrackAnalyzer.cc @@ -232,6 +232,7 @@ void SegmentTrackAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSet // hits from DT segments if (id.det() == DetId::Muon && id.subdetId() == MuonSubdetId::DT) { ++segmFromDt; + const DTRecSegment4D* seg4D = dynamic_cast((*segment)->hit()); if ((*seg4D).hasPhi()) hitsFromSegmDt += (*seg4D).phiSegment()->specificRecHits().size(); @@ -244,8 +245,15 @@ void SegmentTrackAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSet hitsFromSegmCsc += (*segment)->recHits().size(); segmFromCsc++; } + +#ifdef DEBUG + cout << "[SegmentTrackAnalyzer] # of segments from DT and CSC: " << segmFromDt << ", " << segmFromCsc << endl; + cout << "[SegmentTrackAnalyzer] # of HITS from segments from DT: " << hitsFromSegmDt << endl; + cout << "[SegmentTrackAnalyzer] # of HITS from segments from CSC " << hitsFromSegmCsc << endl; +#endif } + // hits from track for (trackingRecHit_iterator recHit = recoTrack->recHitsBegin(); recHit != recoTrack->recHitsEnd(); ++recHit) { hitsFromTrack++; From 41a544b6d3b5e649a26a097b11b26c4f339d5ba8 Mon Sep 17 00:00:00 2001 From: calderon Date: Thu, 18 Nov 2021 12:08:29 +0100 Subject: [PATCH 061/268] update Muon Offline DQM for Run3 --- DQMOffline/Muon/interface/MuonIsolationDQM.h | 2 -- DQMOffline/Muon/src/EfficiencyPlotter.cc | 3 ++- DQMOffline/Muon/src/MuonIsolationDQM.cc | 3 ++- DQMOffline/Muon/src/SegmentTrackAnalyzer.cc | 9 ++++----- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/DQMOffline/Muon/interface/MuonIsolationDQM.h b/DQMOffline/Muon/interface/MuonIsolationDQM.h index 696f0d863794f..0ecffdb3cee31 100644 --- a/DQMOffline/Muon/interface/MuonIsolationDQM.h +++ b/DQMOffline/Muon/interface/MuonIsolationDQM.h @@ -63,7 +63,6 @@ class MuonIsolationDQM : public DQMEDAnalyzer { typedef edm::Handle MuIsoDepHandle; typedef const reco::IsoDeposit MuIsoDepRef; - public: //---------methods---------------------------- explicit MuonIsolationDQM(const edm::ParameterSet&); @@ -88,7 +87,6 @@ class MuonIsolationDQM : public DQMEDAnalyzer { //----------Static Variables--------------- - int vtxBin_; double vtxMin_; double vtxMax_; diff --git a/DQMOffline/Muon/src/EfficiencyPlotter.cc b/DQMOffline/Muon/src/EfficiencyPlotter.cc index 37a346153d449..d2e235d0e1ab0 100644 --- a/DQMOffline/Muon/src/EfficiencyPlotter.cc +++ b/DQMOffline/Muon/src/EfficiencyPlotter.cc @@ -59,7 +59,8 @@ void EfficiencyPlotter::dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter h_eff_inner_pt_ID = ibooker.book1D("Eff_inner_pt_" + ID_, ID_ + " Eff. vs pt", ptBin, ptMin, ptMax); h_eff_inner_eta_ID = ibooker.book1D("Eff_inner_eta_" + ID_, ID_ + " Eff. vs #eta", etaBin, etaMin, etaMax); h_eff_inner_phi_ID = ibooker.book1D("Eff_inner_phi_" + ID_, ID_ + " Eff. vs #phi", phiBin, phiMin, phiMax); - h_eff_hp_eta_ID = ibooker.book1D("Eff_hp_eta_" + ID_, "High Pt (Pt>20)" + ID_ + " Eff. vs #eta", etaBin, etaMin, etaMax); + h_eff_hp_eta_ID = + ibooker.book1D("Eff_hp_eta_" + ID_, "High Pt (Pt>20)" + ID_ + " Eff. vs #eta", etaBin, etaMin, etaMax); h_eff_phi_ID = ibooker.book1D("Eff_phi_" + ID_, ID_ + " Eff. vs #phi", phiBin, phiMin, phiMax); h_eff_pt_ID = ibooker.book1D("Eff_pt_" + ID_, ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax); h_eff_pt_EB_ID = ibooker.book1D("Eff_pt_EB_" + ID_, "Barrel: " + ID_ + " Eff. vs Pt", ptBin, ptMin, ptMax); diff --git a/DQMOffline/Muon/src/MuonIsolationDQM.cc b/DQMOffline/Muon/src/MuonIsolationDQM.cc index d091407b5f634..a379ecf3cc975 100644 --- a/DQMOffline/Muon/src/MuonIsolationDQM.cc +++ b/DQMOffline/Muon/src/MuonIsolationDQM.cc @@ -783,7 +783,8 @@ void MuonIsolationDQM::bookHistograms(DQMStore::IBooker& ibooker, //----Initialize 2D Histograms for (int var = 0; var < NUM_VARS_2D; var++) { - h_2D[var] = ibooker.bookProfile(names_2D[var] + "_VsPV", titles_2D[var] + " Vs PV", vtxBin_, vtxMin_, vtxMax_, 20, 0.0, 20.0); + h_2D[var] = ibooker.bookProfile( + names_2D[var] + "_VsPV", titles_2D[var] + " Vs PV", vtxBin_, vtxMin_, vtxMax_, 20, 0.0, 20.0); h_2D[var]->setAxisTitle("Number of PV", XAXIS); h_2D[var]->setAxisTitle(titles_2D[var] + " (GeV)", YAXIS); // h_2D[var]->getTH1()->Sumw2(); diff --git a/DQMOffline/Muon/src/SegmentTrackAnalyzer.cc b/DQMOffline/Muon/src/SegmentTrackAnalyzer.cc index 2cba2e6d75dc2..59fb71e98ec3d 100644 --- a/DQMOffline/Muon/src/SegmentTrackAnalyzer.cc +++ b/DQMOffline/Muon/src/SegmentTrackAnalyzer.cc @@ -246,14 +246,13 @@ void SegmentTrackAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSet segmFromCsc++; } -#ifdef DEBUG - cout << "[SegmentTrackAnalyzer] # of segments from DT and CSC: " << segmFromDt << ", " << segmFromCsc << endl; +#ifdef DEBUG + cout << "[SegmentTrackAnalyzer] # of segments from DT and CSC: " << segmFromDt << ", " << segmFromCsc << endl; cout << "[SegmentTrackAnalyzer] # of HITS from segments from DT: " << hitsFromSegmDt << endl; - cout << "[SegmentTrackAnalyzer] # of HITS from segments from CSC " << hitsFromSegmCsc << endl; -#endif + cout << "[SegmentTrackAnalyzer] # of HITS from segments from CSC " << hitsFromSegmCsc << endl; +#endif } - // hits from track for (trackingRecHit_iterator recHit = recoTrack->recHitsBegin(); recHit != recoTrack->recHitsEnd(); ++recHit) { hitsFromTrack++; From e4ae3d2f9523b403c85949b88c269e8bba09e6c5 Mon Sep 17 00:00:00 2001 From: swmukher Date: Thu, 18 Nov 2021 13:31:06 +0100 Subject: [PATCH 062/268] addressed review comments --- .../FixedGridRhoProducerFastjetFromRecHit.cc | 102 +++++++++--------- 1 file changed, 50 insertions(+), 52 deletions(-) diff --git a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc index 71e046f813e28..962f657516a7d 100644 --- a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc +++ b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc @@ -16,20 +16,18 @@ So this recHit-based rho producer, FixedGridRhoProducerFastjetFromRecHit, can be #include "FWCore/Framework/interface/stream/EDProducer.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "fastjet/tools/GridMedianBackgroundEstimator.hh" #include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/View.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" -#include "TLorentzVector.h" +#include "DataFormats/Math/interface/LorentzVector.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" #include "Geometry/CaloGeometry/interface/CaloGeometry.h" #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" #include "Geometry/Records/interface/CaloGeometryRecord.h" -#include "DataFormats/Math/interface/Vector3D.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "RecoEgamma/EgammaIsolationAlgos/interface/EgammaHcalIsolation.h" #include "CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h" #include "CondFormats/DataRecord/interface/EcalPFRecHitThresholdsRcd.h" +#include "fastjet/tools/GridMedianBackgroundEstimator.hh" +#include "RecoEgamma/EgammaIsolationAlgos/interface/EgammaHcalIsolation.h" class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { public: @@ -39,14 +37,14 @@ class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { private: void produce(edm::Event &, const edm::EventSetup &) override; - void getHitP4(const DetId &detId, float hitE, TLorentzVector &hitp4, const CaloGeometry &caloGeometry); + void getHitP4(const DetId &detId, float hitE, math::XYZTLorentzVector &hitp4, const CaloGeometry &caloGeometry); bool passedHcalNoiseCut(const HBHERecHit &hit); - bool passedEcalNoiseCut(const EcalRecHit &hit, const EcalPFRecHitThresholds *thresholds); + bool passedEcalNoiseCut(const EcalRecHit &hit, const EcalPFRecHitThresholds &thresholds); fastjet::GridMedianBackgroundEstimator bge_; - edm::EDGetTokenT hbheRecHitsTag_; - edm::EDGetTokenT ebRecHitsTag_; - edm::EDGetTokenT eeRecHitsTag_; + const edm::EDGetTokenT hbheRecHitsTag_; + const edm::EDGetTokenT ebRecHitsTag_; + const edm::EDGetTokenT eeRecHitsTag_; const EgammaHcalIsolation::arrayHB eThresHB_; const EgammaHcalIsolation::arrayHE eThresHE_; @@ -56,7 +54,7 @@ class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { bool skipHCAL_; bool skipECAL_; - const edm::ESGetToken ecalPFRechitThresholdsToken_; + const edm::ESGetToken ecalPFRecHitThresholdsToken_; const edm::ESGetToken caloGeometryToken_; }; @@ -69,8 +67,12 @@ FixedGridRhoProducerFastjetFromRecHit::FixedGridRhoProducerFastjetFromRecHit(con eThresHE_(iConfig.getParameter("eThresHE")), skipHCAL_(iConfig.getParameter("skipHCAL")), skipECAL_(iConfig.getParameter("skipECAL")), - ecalPFRechitThresholdsToken_{esConsumes()}, + ecalPFRecHitThresholdsToken_{esConsumes()}, caloGeometryToken_{esConsumes()} { + if (skipHCAL_ && skipECAL_) { + throw cms::Exception("FixedGridRhoProducerFastjetFromRecHit") + << "skipHCAL and skipECAL both can't be True. Please make at least one of them False."; + } produces(); } @@ -88,43 +90,45 @@ void FixedGridRhoProducerFastjetFromRecHit::fillDescriptions(edm::ConfigurationD desc.add >("eThresHE", {0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2}); desc.add("maxRapidity", 2.5); desc.add("gridSpacing", 0.55); - descriptions.add("hltFixedGridRhoProducerFastjetFromRecHit", desc); + descriptions.addWithDefaultLabel(desc); } -FixedGridRhoProducerFastjetFromRecHit::~FixedGridRhoProducerFastjetFromRecHit() {} +FixedGridRhoProducerFastjetFromRecHit::~FixedGridRhoProducerFastjetFromRecHit() = default; void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event &iEvent, const edm::EventSetup &iSetup) { std::vector inputs; - auto const &thresholds = iSetup.getData(ecalPFRechitThresholdsToken_); - - if (skipHCAL_ && skipECAL_) { - throw cms::Exception("FixedGridRhoProducerFastjetFromRecHit") - << "skipHCAL and skipECAL both can't be True. Make at least one of them False."; - } + auto const &thresholds = iSetup.getData(ecalPFRecHitThresholdsToken_); + auto const &caloGeometry = iSetup.getData(caloGeometryToken_); if (!skipHCAL_) { - for (const auto &hit : iEvent.get(hbheRecHitsTag_)) { + auto const &hbheRecHits = iEvent.get(hbheRecHitsTag_); + inputs.reserve(inputs.size() + hbheRecHits.size()); + for (const auto &hit : hbheRecHits) { if (passedHcalNoiseCut(hit)) { - TLorentzVector hitp4(0, 0, 0, 0); - getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)); + math::XYZTLorentzVector hitp4(0, 0, 0, 0); + getHitP4(hit.id(), hit.energy(), hitp4, caloGeometry); inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); } } } if (!skipECAL_) { - for (const auto &hit : iEvent.get(ebRecHitsTag_)) { - if (passedEcalNoiseCut(hit, &thresholds)) { - TLorentzVector hitp4(0, 0, 0, 0); - getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)); + auto const &ebRecHits = iEvent.get(ebRecHitsTag_); + inputs.reserve(inputs.size() + ebRecHits.size()); + for (const auto &hit : ebRecHits) { + if (passedEcalNoiseCut(hit, thresholds)) { + math::XYZTLorentzVector hitp4(0, 0, 0, 0); + getHitP4(hit.id(), hit.energy(), hitp4, caloGeometry); inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); } } - for (const auto &hit : iEvent.get(eeRecHitsTag_)) { - if (passedEcalNoiseCut(hit, &thresholds)) { - TLorentzVector hitp4(0, 0, 0, 0); - getHitP4(hit.id(), hit.energy(), hitp4, iSetup.getData(caloGeometryToken_)); + auto const &eeRecHits = iEvent.get(eeRecHitsTag_); + inputs.reserve(inputs.size() + eeRecHits.size()); + for (const auto &hit : eeRecHits) { + if (passedEcalNoiseCut(hit, thresholds)) { + math::XYZTLorentzVector hitp4(0, 0, 0, 0); + getHitP4(hit.id(), hit.energy(), hitp4, caloGeometry); inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); } } @@ -136,13 +140,11 @@ void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event &iEvent, const ed void FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, float hitE, - TLorentzVector &hitp4, + math::XYZTLorentzVector &hitp4, const CaloGeometry &caloGeometry) { const CaloSubdetectorGeometry *subDetGeom = caloGeometry.getSubdetectorGeometry(detId); - std::shared_ptr cellGeom = - subDetGeom != nullptr ? subDetGeom->getGeometry(detId) : std::shared_ptr(); - if (cellGeom != nullptr) { - const auto &gpPos = cellGeom->repPos(); + if (subDetGeom != nullptr) { + const auto &gpPos = subDetGeom->getGeometry(detId)->repPos(); double thispt = hitE / cosh(gpPos.eta()); double thispx = thispt * cos(gpPos.phi()); double thispy = thispt * sin(gpPos.phi()); @@ -150,31 +152,27 @@ void FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, hitp4.SetPxPyPzE(thispx, thispy, thispz, hitE); } else { if (detId.rawId() != 0) - edm::LogInfo("FixedGridRhoProducerFastjetFromRecHit") - << "Warning : Geometry not found for a calo hit, setting p4 as (0,0,0,0)" << std::endl; + edm::LogWarning("FixedGridRhoProducerFastjetFromRecHit") + << "Geometry not found for a calo hit, setting p4 as (0,0,0,0)" << std::endl; hitp4.SetPxPyPzE(0, 0, 0, 0); } } //HCAL noise cleaning cuts. bool FixedGridRhoProducerFastjetFromRecHit::passedHcalNoiseCut(const HBHERecHit &hit) { - bool passed = false; - const HcalDetId thisDetId(hit.detid()); - const int thisDepth = thisDetId.depth(); - if ((thisDetId.subdet() == HcalBarrel) && (hit.energy() > eThresHB_[thisDepth - 1])) - passed = true; - else if ((thisDetId.subdet() == HcalEndcap) && (hit.energy() > eThresHE_[thisDepth - 1])) - passed = true; - return passed; + const auto thisDetId = hit.id(); + const auto thisDepth = thisDetId.depth(); + if (thisDetId.subdet() == HcalBarrel && hit.energy() > eThresHB_[thisDepth - 1]) + return true; + else if (thisDetId.subdet() == HcalEndcap && hit.energy() > eThresHE_[thisDepth - 1]) + return true; + return false; } //ECAL noise cleaning cuts using per-crystal PF-recHit thresholds. bool FixedGridRhoProducerFastjetFromRecHit::passedEcalNoiseCut(const EcalRecHit &hit, - const EcalPFRecHitThresholds *thresholds) { - bool passed = false; - if (hit.energy() > (*thresholds)[hit.detid()]) - passed = true; - return passed; + const EcalPFRecHitThresholds &thresholds) { + return (hit.energy() > thresholds[hit.detid()]); } DEFINE_FWK_MODULE(FixedGridRhoProducerFastjetFromRecHit); From c1ef30cc0249fe69e865bd4f2e311459840657e8 Mon Sep 17 00:00:00 2001 From: Marino Missiroli Date: Thu, 18 Nov 2021 19:31:00 +0100 Subject: [PATCH 063/268] improve robustness of a HLT-customisation for L1T re-emulation --- .../Configuration/python/CustomConfigs.py | 67 ++++++------------- 1 file changed, 19 insertions(+), 48 deletions(-) diff --git a/HLTrigger/Configuration/python/CustomConfigs.py b/HLTrigger/Configuration/python/CustomConfigs.py index c2168dbb28f87..71172f39658a5 100644 --- a/HLTrigger/Configuration/python/CustomConfigs.py +++ b/HLTrigger/Configuration/python/CustomConfigs.py @@ -120,25 +120,28 @@ def HLTDropPrevious(process): return(process) -def L1REPACK(process,sequence="Full"): +def L1REPACK(process, sequence="Full"): from Configuration.Eras.Era_Run3_cff import Run3 - l1repack = cms.Process('L1REPACK',Run3) + l1repack = cms.Process('L1REPACK', Run3) l1repack.load('Configuration.StandardSequences.SimL1EmulatorRepack_'+sequence+'_cff') for module in l1repack.es_sources_(): - if (not hasattr(process,module)): - setattr(process,module,getattr(l1repack,module)) + if not hasattr(process, module): + setattr(process, module, getattr(l1repack, module)) for module in l1repack.es_producers_(): - if (not hasattr(process,module)): - setattr(process,module,getattr(l1repack,module)) + if not hasattr(process, module): + setattr(process, module, getattr(l1repack, module)) for module in l1repack.SimL1Emulator.expandAndClone().moduleNames(): - setattr(process,module,getattr(l1repack,module)) - for task in l1repack.tasks_(): - setattr(process,task,getattr(l1repack,task)) - for sequence in l1repack.sequences_(): - setattr(process,sequence,getattr(l1repack,sequence)) + setattr(process, module, getattr(l1repack, module)) + for taskName, task in l1repack.tasks_().items(): + if l1repack.SimL1Emulator.contains(task): + setattr(process, taskName, task) + for sequenceName, sequence in l1repack.sequences_().items(): + if l1repack.SimL1Emulator.contains(sequence): + setattr(process, sequenceName, sequence) + process.SimL1Emulator = l1repack.SimL1Emulator for path in process.paths_(): @@ -147,43 +150,11 @@ def L1REPACK(process,sequence="Full"): getattr(process,path).insert(0,process.SimL1Emulator) # special L1T cleanup - cleanupL1T = ('SimL1TCalorimeter' - ,'SimL1TCalorimeterTask' - ,'SimL1TMuonCommon' - ,'SimL1TMuonCommonTask' - ,'SimL1TMuon' - ,'SimL1TMuonTask' - ,'SimL1TechnicalTriggers' - ,'SimL1TechnicalTriggersTask' - ,'SimL1EmulatorCore' - ,'SimL1EmulatorCoreTask' - ,'ecalDigiSequence' - ,'ecalDigiTask' - ,'hcalDigiSequence' - ,'hcalDigiTask' - ,'calDigi' - ,'calDigiTask' - ,'me0TriggerPseudoDigis' - ,'me0TriggerPseudoDigiTask' - ,'simMuonGEMPadTask' - ,'hgcalTriggerPrimitives' - ,'hgcalTriggerPrimitivesTask' - ,'hgcalVFE' - ,'hgcalVFEProducer' - ,'hgcalBackEndLayer2' - ,'hgcalBackEndLayer2Producer' - ,'hgcalTowerMap' - ,'hgcalTowerMapProducer' - ,'hgcalConcentrator' - ,'hgcalConcentratorProducer' - ,'hgcalBackEndLayer1' - ,'hgcalBackEndLayer1Producer' - ,'hgcalTower' - ,'hgcalTowerProducer' - ,'hgcalTriggerGeometryESProducer') - for obj in cleanupL1T: - if hasattr(process,obj): - delattr(process,obj) + for obj in [ + 'hgcalTriggerGeometryESProducer', + ]: + if hasattr(process, obj): + delattr(process, obj) return process From fd1563ab037977024c4903eda19c2ab3be00e815 Mon Sep 17 00:00:00 2001 From: yulunmiao <60363605+yulunmiao@users.noreply.github.com> Date: Thu, 18 Nov 2021 15:14:26 -0600 Subject: [PATCH 064/268] Allow geometry D86, argument of flat file --- .../python/testHGCalWaferValidation_cfg.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Validation/HGCalValidation/test/python/testHGCalWaferValidation_cfg.py b/Validation/HGCalValidation/test/python/testHGCalWaferValidation_cfg.py index 5cfa327e1df2d..7eb25a6812e2c 100644 --- a/Validation/HGCalValidation/test/python/testHGCalWaferValidation_cfg.py +++ b/Validation/HGCalValidation/test/python/testHGCalWaferValidation_cfg.py @@ -5,6 +5,12 @@ # Options for geometry D49, D68, D77, D83, D84 # ############################################################################### +############################################################################### +# Modified by Yulun Miao +# Modified at Wed, 17 Nov 2021 +# Details of Modification: +# * Allowing options for geometry D86 +# * Allowing options for flatfile by flatfile=path_to_flat_file, default set to Validation/HGCalValidation/data/geomnew_corrected_360.txt import FWCore.ParameterSet.Config as cms import os, sys, imp, re import FWCore.ParameterSet.VarParsing as VarParsing @@ -17,6 +23,11 @@ VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "geometry of operations: D49, D68, D84, D77, D83") +options.register('flatfile', + "Validation/HGCalValidation/data/geomnew_corrected_360.txt", + VarParsing.VarParsing.multiplicity.singleton, + VarParsing.VarParsing.varType.string, + "path to flat file") ### get and parse the command line arguments options.parseArguments() @@ -41,6 +52,10 @@ from Configuration.Eras.Era_Phase2C11_cff import Phase2C11 process = cms.Process('TEST',Phase2C11) process.load('Configuration.Geometry.GeometryExtended2026D84_cff') +elif (options.geometry == "D86"): + from Configuration.Eras.Era_Phase2C11I13M9_cff import Phase2C11I13M9 + process = cms.Process('TEST',Phase2C11I13M9) + process.load('Configuration.Geometry.GeometryExtended2026D86_cff') else: from Configuration.Eras.Era_Phase2C11M9_cff import Phase2C11M9 process = cms.Process('TEST',Phase2C11M9) @@ -60,6 +75,5 @@ process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(1)) process.load('Validation.HGCalValidation.hgcalWaferValidation_cfi') -process.hgcalWaferValidation.GeometryFileName = "Validation/HGCalValidation/data/geomnew_corrected_360.txt" - +process.hgcalWaferValidation.GeometryFileName = options.flatfile process.p = cms.Path(process.hgcalWaferValidation) From 51d68537648bb124e88446cd201eb4d6f87d5e59 Mon Sep 17 00:00:00 2001 From: yulunmiao <60363605+yulunmiao@users.noreply.github.com> Date: Thu, 18 Nov 2021 15:15:36 -0600 Subject: [PATCH 065/268] Allow reading new flat file format --- .../plugins/HGCalWaferValidation.cc | 102 +++++++++++++++--- 1 file changed, 87 insertions(+), 15 deletions(-) diff --git a/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc b/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc index 54d04df9b36d2..1af42d5bbeaf9 100644 --- a/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc +++ b/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc @@ -21,8 +21,13 @@ // Original Author: Imran Yusuff // Created: Thu, 27 May 2021 19:47:08 GMT // -// - +// Modified by: Yulun Miao +// Modified at: Wed, 17 Nov 2021 21:04:10 UTC +/* + Details of Modification: + * Use the l or h preceding the thickness to determine the type of flat file + * Unified partial wafer information to HGCalTypes.h to allow cross-compare +*/ // system include files #include @@ -87,7 +92,7 @@ class HGCalWaferValidation : public edm::one::EDAnalyzer<> { int thickClass; double x; double y; - std::string shapeCode; + int shapeCode; int rotCode; }; @@ -206,7 +211,20 @@ void HGCalWaferValidation::ProcessWaferLayer(DDCompactView::GraphWalker& walker) rotStr = "0"; const int rotCode(std::stoi(rotStr)); //edm::LogVerbatim(logcat) << "rotStr " << rotStr << " rotCode " << rotCode; - waferInfo.shapeCode = shapeStr; + + // convert shape code to wafer types defined in HGCalTypes.h + waferInfo.shapeCode = 99; + if (shapeStr == "F") waferInfo.shapeCode = 0; + if (shapeStr == "a") waferInfo.shapeCode = 4; + if (shapeStr == "am") waferInfo.shapeCode = 8; + if (shapeStr == "b") waferInfo.shapeCode = 1; + if (shapeStr == "bm") waferInfo.shapeCode = 9; + if (shapeStr == "c") waferInfo.shapeCode = 7; + if (shapeStr == "d") waferInfo.shapeCode = 5; + if (shapeStr == "dm") waferInfo.shapeCode = 6; + if (shapeStr == "g") waferInfo.shapeCode = 2; + if (shapeStr == "gm") waferInfo.shapeCode = 3; + waferInfo.rotCode = rotCode; // populate the map waferData[waferCoord] = waferInfo; @@ -323,15 +341,69 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet nTotalProcessed++; + int waferLayer; + std::string waferShapeStr; + std::string waferDensityStr; + int waferThickness; + double waferX; + double waferY; + int waferRotCode; + int waferU; + int waferV; + int waferShapeCode; // extract wafer info from a textfile line - const int waferLayer(std::stoi(tokens[0])); - const std::string waferShapeCode(tokens[1]); - const int waferThickness(std::stoi(tokens[2])); - const double waferX(std::stod(tokens[3])); - const double waferY(std::stod(tokens[4])); - const int waferRotCode(std::stoi(tokens[5])); - const int waferU(std::stoi(tokens[6])); - const int waferV(std::stoi(tokens[7])); + if ( tokens[2].substr(0,1) == "l" || tokens[2].substr(0,1) == "h" ) { + //if using new format flat file + waferLayer = std::stoi(tokens[0]); + waferShapeStr = tokens[1]; + waferDensityStr = tokens[2].substr(0,1); + waferThickness = std::stoi(tokens[2].substr(1)); + waferX = std::stod(tokens[3]); + waferY = std::stod(tokens[4]); + waferRotCode = std::stoi(tokens[5]); + waferU = std::stoi(tokens[6]); + waferV = std::stoi(tokens[7]); + waferShapeCode = 99; + if ( waferDensityStr == "l" ) { + if( waferShapeStr == "0") waferShapeCode = 0; + if( waferShapeStr == "1") waferShapeCode = 4; + if( waferShapeStr == "2") waferShapeCode = 4; + if( waferShapeStr == "3") waferShapeCode = 5; + if( waferShapeStr == "4") waferShapeCode = 5; + if( waferShapeStr == "5") waferShapeCode = 1; + if( waferShapeStr == "6") waferShapeCode = 7; + } + else if ( waferDensityStr == "h" ) { + if( waferShapeStr == "0") waferShapeCode = 0; + if( waferShapeStr == "1") waferShapeCode = 8; + if( waferShapeStr == "2") waferShapeCode = 3; + if( waferShapeStr == "3") waferShapeCode = 6; + if( waferShapeStr == "4") waferShapeCode = 6; + if( waferShapeStr == "5") waferShapeCode = 9; + } + } + else { + //if using old format flat file + waferLayer = std::stoi(tokens[0]); + waferShapeStr = tokens[1]; + waferThickness = std::stoi(tokens[2]); + waferX = std::stod(tokens[3]); + waferY = std::stod(tokens[4]); + waferRotCode = (std::stoi(tokens[5])); + waferU = std::stoi(tokens[6]); + waferV = std::stoi(tokens[7]); + waferShapeCode = 99; + if (waferShapeStr == "F") waferShapeCode = 0; + if (waferShapeStr == "a") waferShapeCode = 4; + if (waferShapeStr == "am") waferShapeCode = 8; + if (waferShapeStr == "b") waferShapeCode = 1; + if (waferShapeStr == "bm") waferShapeCode = 9; + if (waferShapeStr == "c") waferShapeCode = 7; + if (waferShapeStr == "d") waferShapeCode = 5; + if (waferShapeStr == "dm") waferShapeCode = 6; + if (waferShapeStr == "g") waferShapeCode = 2; + if (waferShapeStr == "gm") waferShapeCode = 3; + } // map index for crosschecking with DD const WaferCoord waferCoord(waferLayer, waferU, waferV); @@ -364,13 +436,13 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet edm::LogVerbatim(logcat) << "POSITION y ERROR: " << strWaferCoord(waferCoord); } - if (waferInfo.shapeCode != waferShapeCode) { + if (waferInfo.shapeCode != waferShapeCode || waferShapeCode == 99) { nShapeError++; edm::LogVerbatim(logcat) << "SHAPE ERROR: " << strWaferCoord(waferCoord); } - if ((waferShapeCode != 'F' && waferInfo.rotCode != waferRotCode) || - (waferShapeCode == 'F' && (waferInfo.rotCode % 2 != waferRotCode % 2))) { + if ((waferShapeCode != 0 && waferInfo.rotCode != waferRotCode) || + (waferShapeCode == 0 && (waferInfo.rotCode % 2 != waferRotCode % 2))) { nRotError++; edm::LogVerbatim(logcat) << "ROTATION ERROR: " << strWaferCoord(waferCoord) << " ( " << waferInfo.rotCode << " != " << waferRotCode << " )"; From 7f14675ea97a47087be1cc465034a2c276430583 Mon Sep 17 00:00:00 2001 From: Kevin Pedro Date: Fri, 19 Nov 2021 15:50:23 +0100 Subject: [PATCH 066/268] add 2021 ttbar pu prodlike to regular matrix --- Configuration/PyReleaseValidation/python/relval_2017.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Configuration/PyReleaseValidation/python/relval_2017.py b/Configuration/PyReleaseValidation/python/relval_2017.py index 1dd7cd8f9c419..c8cce1f30b7c5 100644 --- a/Configuration/PyReleaseValidation/python/relval_2017.py +++ b/Configuration/PyReleaseValidation/python/relval_2017.py @@ -38,6 +38,7 @@ # (Patatrack HCAL-only: TTbar - on CPU) # (TTbar 0T, TTbar PU 0T) # (TTbar PU MLPF) +# (TTbar PU prod-like) # (QCD 1.8TeV DeepCore) # 2023 (TTbar, TTbar PU, TTbar PU premix) # 2024 (TTbar, TTbar PU, TTbar PU premix) @@ -66,6 +67,7 @@ 11634.521, 11634.24,11834.24, 11834.13, + 11834.21, 11723.17, 12434.0,12634.0,12634.99, 12834.0,13034.0,13034.99,] From ee1bf3924d6e115403bc6caac0b404c654b3bb18 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 19 Nov 2021 15:56:39 +0100 Subject: [PATCH 067/268] Make an application to study isotracks using general tracks --- .../plugins/HcalIsoTrkSimAnalyzer.cc | 1334 +++++++++++++++++ .../test/python/isoTrackSimAnalysis_cfg.py | 47 + .../interface/ChargeIsolation.h | 14 + .../IsolatedParticles/src/ChargeIsolation.cc | 63 + 4 files changed, 1458 insertions(+) create mode 100644 Calibration/HcalCalibAlgos/plugins/HcalIsoTrkSimAnalyzer.cc create mode 100644 Calibration/HcalCalibAlgos/test/python/isoTrackSimAnalysis_cfg.py diff --git a/Calibration/HcalCalibAlgos/plugins/HcalIsoTrkSimAnalyzer.cc b/Calibration/HcalCalibAlgos/plugins/HcalIsoTrkSimAnalyzer.cc new file mode 100644 index 0000000000000..1ef1c2899bc74 --- /dev/null +++ b/Calibration/HcalCalibAlgos/plugins/HcalIsoTrkSimAnalyzer.cc @@ -0,0 +1,1334 @@ +// system include files +#include +#include +#include +#include +#include + +// Root objects +#include "TROOT.h" +#include "TSystem.h" +#include "TFile.h" +#include "TProfile.h" +#include "TDirectory.h" +#include "TTree.h" +#include "TLorentzVector.h" +#include "TInterpreter.h" + +#include "DataFormats/CaloTowers/interface/CaloTowerCollection.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" + +// Vertices +#include "DataFormats/VertexReco/interface/VertexFwd.h" +#include "DataFormats/VertexReco/interface/Vertex.h" +#include "DataFormats/BeamSpot/interface/BeamSpot.h" + +//Triggers +#include "DataFormats/Common/interface/TriggerResults.h" +#include "DataFormats/HLTReco/interface/TriggerEvent.h" +#include "DataFormats/HLTReco/interface/TriggerObject.h" +#include "DataFormats/Luminosity/interface/LumiDetails.h" +#include "DataFormats/Math/interface/LorentzVector.h" +#include "DataFormats/Math/interface/deltaR.h" + +#include "L1Trigger/L1TGlobal/interface/L1TGlobalUtil.h" +#include "DataFormats/L1TGlobal/interface/GlobalAlgBlk.h" +#include "DataFormats/L1TGlobal/interface/GlobalExtBlk.h" +#include "DataFormats/L1Trigger/interface/BXVector.h" + +#include "CondFormats/DataRecord/interface/EcalChannelStatusRcd.h" +#include "CondFormats/DataRecord/interface/HcalRespCorrsRcd.h" +#include "CondFormats/HcalObjects/interface/HcalRespCorrs.h" + +//Generator information +#include "DataFormats/HepMCCandidate/interface/GenParticle.h" +#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" +#include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" +#include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h" + +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/ServiceRegistry/interface/Service.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/Common/interface/TriggerNames.h" +#include "CommonTools/UtilAlgos/interface/TFileService.h" +#include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" + +#include "Calibration/IsolatedParticles/interface/CaloPropagateTrack.h" +#include "Calibration/IsolatedParticles/interface/ChargeIsolation.h" +#include "Calibration/IsolatedParticles/interface/eCone.h" +#include "Calibration/IsolatedParticles/interface/eECALMatrix.h" +#include "Calibration/IsolatedParticles/interface/eHCALMatrix.h" + +#include "MagneticField/Engine/interface/MagneticField.h" +#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" +#include "Geometry/CaloGeometry/interface/CaloGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" +#include "Geometry/Records/interface/CaloTopologyRecord.h" +#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" +#include "Geometry/CaloTopology/interface/HcalTopology.h" +#include "Geometry/CaloTopology/interface/CaloTopology.h" +#include "Geometry/HcalCommonData/interface/HcalDDDRecConstants.h" +#include "Geometry/CaloTopology/interface/EcalTrigTowerConstituentsMap.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgo.h" +#include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgoRcd.h" + +//#define EDM_ML_DEBUG + +class HcalIsoTrkSimAnalyzer : public edm::one::EDAnalyzer { +public: + explicit HcalIsoTrkSimAnalyzer(edm::ParameterSet const&); + ~HcalIsoTrkSimAnalyzer() override = default; + + static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); + +private: + void analyze(edm::Event const&, edm::EventSetup const&) override; + void beginJob() override; + void beginRun(edm::Run const&, edm::EventSetup const&) override; + void endRun(edm::Run const&, edm::EventSetup const&) override; + + std::array fillTree(std::vector& vecL1, + std::vector& vecL3, + math::XYZPoint& leadPV, + std::vector& trackIDs, + const CaloGeometry* geo, + const CaloTopology* topo, + const HcalTopology* theHBHETopology, + const EcalChannelStatus* theEcalChStatus, + const EcalSeverityLevelAlgo* theEcalSevlv, + edm::Handle& barrelRecHitsHandle, + edm::Handle& endcapRecHitsHandle, + edm::Handle& hbhe, + edm::Handle& towerHandle, + edm::Handle& genParticles, + const HcalRespCorrs* respCorrs); + double dR(math::XYZTLorentzVector&, math::XYZTLorentzVector&); + double rhoh(const edm::Handle&); + double eThreshold(const DetId& id, const CaloGeometry* geo) const; + DetId newId(const DetId&); + void storeEnergy(int indx, + const HcalRespCorrs* respCorrs, + const std::vector& ids, + std::vector& edet, + double& eHcal, + std::vector* detIds, + std::vector* hitEnergies); + bool notaMuon(const reco::GenParticle* pTrack); + + l1t::L1TGlobalUtil* l1GtUtils_; + edm::Service fs_; + HLTConfigProvider hltConfig_; + const std::vector trigNames_; + const std::string processName_, l1Filter_; + const std::string l2Filter_, l3Filter_; + const double ptMin_, etaMax_; + const double a_coneR_, a_mipR_, a_mipR2_, a_mipR3_; + const double a_mipR4_, a_mipR5_, pTrackMin_, eEcalMax_; + const double maxRestrictionP_, slopeRestrictionP_; + const double hcalScale_, eIsolate1_, eIsolate2_; + const double pTrackLow_, pTrackHigh_; + const int prescaleLow_, prescaleHigh_; + const int useRaw_, dataType_, mode_; + const bool ignoreTrigger_, useL1Trigger_; + const bool unCorrect_, collapseDepth_; + const double hitEthrEB_, hitEthrEE0_, hitEthrEE1_; + const double hitEthrEE2_, hitEthrEE3_; + const double hitEthrEELo_, hitEthrEEHi_; + const edm::InputTag triggerEvent_, theTriggerResultsLabel_; + const std::string labelGenTrack_, labelRecVtx_, labelEB_; + const std::string labelEE_, labelHBHE_, labelTower_, l1TrigName_; + const std::vector oldID_, newDepth_; + const bool hep17_; + unsigned int nRun_, nLow_, nHigh_; + double a_charIsoR_, a_coneR1_, a_coneR2_; + const HcalDDDRecConstants* hdc_; + std::vector etabins_, phibins_; + std::vector oldDet_, oldEta_, oldDepth_; + double etadist_, phidist_, etahalfdist_, phihalfdist_; + edm::EDGetTokenT tok_trigEvt_; + edm::EDGetTokenT tok_trigRes_; + edm::EDGetTokenT tok_parts_; + edm::EDGetTokenT tok_recVtx_; + edm::EDGetTokenT tok_bs_; + edm::EDGetTokenT tok_EB_; + edm::EDGetTokenT tok_EE_; + edm::EDGetTokenT tok_hbhe_; + edm::EDGetTokenT tok_cala_; + edm::EDGetTokenT tok_ew_; + edm::EDGetTokenT > tok_alg_; + + edm::ESGetToken tok_ddrec_; + edm::ESGetToken tok_bFieldH_; + edm::ESGetToken tok_ecalChStatus_; + edm::ESGetToken tok_sevlv_; + edm::ESGetToken tok_geom_; + edm::ESGetToken tok_caloTopology_; + edm::ESGetToken tok_htopo_; + edm::ESGetToken tok_resp_; + edm::ESGetToken tok_pdt_; + + TTree *tree, *tree2; + unsigned int t_RunNo, t_EventNo; + int t_Run, t_Event, t_DataType, t_ieta, t_iphi; + int t_goodPV, t_nVtx, t_nTrk; + double t_EventWeight, t_p, t_pt, t_phi; + double t_l1pt, t_l1eta, t_l1phi; + double t_l3pt, t_l3eta, t_l3phi; + double t_mindR1, t_mindR2; + double t_eMipDR, t_eMipDR2, t_eMipDR3, t_eMipDR4; + double t_eMipDR5, t_hmaxNearP, t_gentrackP; + double t_emaxNearP, t_eAnnular, t_hAnnular; + double t_eHcal, t_eHcal10, t_eHcal30, t_rhoh; + bool t_selectTk, t_qltyFlag, t_qltyMissFlag; + bool t_qltyPVFlag, t_TrigPass, t_TrigPassSel; + std::vector*t_DetIds, *t_DetIds1, *t_DetIds3; + std::vector*t_HitEnergies, *t_HitEnergies1, *t_HitEnergies3; + std::vector*t_trgbits, *t_hltbits; + bool t_L1Bit; + int t_Tracks, t_TracksProp, t_TracksSaved; + int t_TracksLoose, t_TracksTight, t_allvertex; + std::vector*t_ietaAll, *t_ietaGood, *t_trackType; +}; + +HcalIsoTrkSimAnalyzer::HcalIsoTrkSimAnalyzer(const edm::ParameterSet& iConfig) + : trigNames_(iConfig.getParameter >("triggers")), + processName_(iConfig.getParameter("processName")), + l1Filter_(iConfig.getParameter("l1Filter")), + l2Filter_(iConfig.getParameter("l2Filter")), + l3Filter_(iConfig.getParameter("l3Filter")), + ptMin_(iConfig.getParameter("pTMin")), + etaMax_(iConfig.getParameter("maxChargedHadronEta")), + a_coneR_(iConfig.getParameter("coneRadius")), + a_mipR_(iConfig.getParameter("coneRadiusMIP")), + a_mipR2_(iConfig.getParameter("coneRadiusMIP2")), + a_mipR3_(iConfig.getParameter("coneRadiusMIP3")), + a_mipR4_(iConfig.getParameter("coneRadiusMIP4")), + a_mipR5_(iConfig.getParameter("coneRadiusMIP5")), + pTrackMin_(iConfig.getParameter("minimumTrackP")), + eEcalMax_(iConfig.getParameter("maximumEcalEnergy")), + maxRestrictionP_(iConfig.getParameter("maxTrackP")), + slopeRestrictionP_(iConfig.getParameter("slopeTrackP")), + hcalScale_(iConfig.getUntrackedParameter("hHcalScale", 1.0)), + eIsolate1_(iConfig.getParameter("isolationEnergyTight")), + eIsolate2_(iConfig.getParameter("isolationEnergyLoose")), + pTrackLow_(iConfig.getParameter("momentumLow")), + pTrackHigh_(iConfig.getParameter("momentumHigh")), + prescaleLow_(iConfig.getParameter("prescaleLow")), + prescaleHigh_(iConfig.getParameter("prescaleHigh")), + useRaw_(iConfig.getUntrackedParameter("useRaw", 0)), + dataType_(iConfig.getUntrackedParameter("dataType", 0)), + mode_(iConfig.getUntrackedParameter("outMode", 11)), + ignoreTrigger_(iConfig.getUntrackedParameter("ignoreTriggers", false)), + useL1Trigger_(iConfig.getUntrackedParameter("useL1Trigger", false)), + unCorrect_(iConfig.getUntrackedParameter("unCorrect", false)), + collapseDepth_(iConfig.getUntrackedParameter("collapseDepth", false)), + hitEthrEB_(iConfig.getParameter("EBHitEnergyThreshold")), + hitEthrEE0_(iConfig.getParameter("EEHitEnergyThreshold0")), + hitEthrEE1_(iConfig.getParameter("EEHitEnergyThreshold1")), + hitEthrEE2_(iConfig.getParameter("EEHitEnergyThreshold2")), + hitEthrEE3_(iConfig.getParameter("EEHitEnergyThreshold3")), + hitEthrEELo_(iConfig.getParameter("EEHitEnergyThresholdLow")), + hitEthrEEHi_(iConfig.getParameter("EEHitEnergyThresholdHigh")), + triggerEvent_(iConfig.getParameter("labelTriggerEvent")), + theTriggerResultsLabel_(iConfig.getParameter("labelTriggerResult")), + labelGenTrack_(iConfig.getParameter("labelTrack")), + labelRecVtx_(iConfig.getParameter("labelVertex")), + labelEB_(iConfig.getParameter("labelEBRecHit")), + labelEE_(iConfig.getParameter("labelEERecHit")), + labelHBHE_(iConfig.getParameter("labelHBHERecHit")), + labelTower_(iConfig.getParameter("labelCaloTower")), + l1TrigName_(iConfig.getUntrackedParameter("l1TrigName", "L1_SingleJet60")), + oldID_(iConfig.getUntrackedParameter >("oldID")), + newDepth_(iConfig.getUntrackedParameter >("newDepth")), + hep17_(iConfig.getUntrackedParameter("hep17")), + nRun_(0), + nLow_(0), + nHigh_(0), + hdc_(nullptr) { + usesResource(TFileService::kSharedResource); + + //now do whatever initialization is needed + const double isolationRadius(28.9), innerR(10.0), outerR(30.0); + a_charIsoR_ = a_coneR_ + isolationRadius; + a_coneR1_ = a_coneR_ + innerR; + a_coneR2_ = a_coneR_ + outerR; + // Different isolation cuts are described in DN-2016/029 + // Tight cut uses 2 GeV; Loose cut uses 10 GeV + // Eta dependent cut uses (maxRestrictionP_ * exp(|ieta|*log(2.5)/18)) + // with the factor for exponential slopeRestrictionP_ = log(2.5)/18 + // maxRestrictionP_ = 8 GeV as came from a study + std::string labelBS = iConfig.getParameter("labelBeamSpot"); + std::string modnam = iConfig.getUntrackedParameter("moduleName", ""); + std::string prdnam = iConfig.getUntrackedParameter("producerName", ""); + edm::InputTag algTag = iConfig.getParameter("algInputTag"); + edm::InputTag extTag = iConfig.getParameter("extInputTag"); + + for (unsigned int k = 0; k < oldID_.size(); ++k) { + oldDet_.emplace_back((oldID_[k] / 10000) % 10); + oldEta_.emplace_back((oldID_[k] / 100) % 100); + oldDepth_.emplace_back(oldID_[k] % 100); + } + + l1GtUtils_ = new l1t::L1TGlobalUtil(iConfig, consumesCollector(), *this, algTag, extTag, l1t::UseEventSetupIn::Event); + // define tokens for access + tok_trigEvt_ = consumes(triggerEvent_); + tok_trigRes_ = consumes(theTriggerResultsLabel_); + tok_bs_ = consumes(labelBS); + tok_ew_ = consumes(edm::InputTag("generator")); + tok_parts_ = consumes(edm::InputTag("genParticles")); + tok_cala_ = consumes(labelTower_); + tok_alg_ = consumes >(algTag); + + if (modnam.empty()) { + tok_recVtx_ = consumes(labelRecVtx_); + tok_EB_ = consumes(edm::InputTag("ecalRecHit", labelEB_)); + tok_EE_ = consumes(edm::InputTag("ecalRecHit", labelEE_)); + tok_hbhe_ = consumes(labelHBHE_); + edm::LogVerbatim("HcalIsoTrack") << "Labels used " << triggerEvent_ << " " << theTriggerResultsLabel_ << " " + << labelBS << " " << labelRecVtx_ << " " << labelGenTrack_ << " " + << edm::InputTag("ecalRecHit", labelEB_) << " " + << edm::InputTag("ecalRecHit", labelEE_) << " " << labelHBHE_ << " " << labelTower_; + } else { + tok_recVtx_ = consumes(edm::InputTag(modnam, labelRecVtx_, prdnam)); + tok_EB_ = consumes(edm::InputTag(modnam, labelEB_, prdnam)); + tok_EE_ = consumes(edm::InputTag(modnam, labelEE_, prdnam)); + tok_hbhe_ = consumes(edm::InputTag(modnam, labelHBHE_, prdnam)); + edm::LogVerbatim("HcalIsoTrack") << "Labels used " << triggerEvent_ << " " << theTriggerResultsLabel_ << " " + << labelBS << " " << edm::InputTag(modnam, labelRecVtx_, prdnam) << " " + << labelGenTrack_ << " " << edm::InputTag(modnam, labelEB_, prdnam) << " " + << edm::InputTag(modnam, labelEE_, prdnam) << " " + << edm::InputTag(modnam, labelHBHE_, prdnam) << " " << labelTower_; + } + + tok_ddrec_ = esConsumes(); + tok_bFieldH_ = esConsumes(); + tok_ecalChStatus_ = esConsumes(); + tok_sevlv_ = esConsumes(); + tok_geom_ = esConsumes(); + tok_caloTopology_ = esConsumes(); + tok_htopo_ = esConsumes(); + tok_resp_ = esConsumes(); + tok_pdt_ = esConsumes(); + + edm::LogVerbatim("HcalIsoTrack") + << "Parameters read from config file \n" + << "\t minPt " << ptMin_ << "\t etaMax " << etaMax_ << "\t a_coneR " << a_coneR_ << ":" << a_coneR1_ << ":" << a_coneR2_ + << "\t a_charIsoR " << a_charIsoR_ << "\t a_mipR " << a_mipR_ << "\t a_mipR2 " << a_mipR2_ << "\t a_mipR3 " + << a_mipR3_ << "\t a_mipR4 " << a_mipR4_ << "\t a_mipR5 " << a_mipR5_ << "\n pTrackMin_ " << pTrackMin_ + << "\t eEcalMax_ " << eEcalMax_ << "\t maxRestrictionP_ " << maxRestrictionP_ << "\t slopeRestrictionP_ " + << slopeRestrictionP_ << "\t eIsolateStrong_ " << eIsolate1_ << "\t eIsolateSoft_ " << eIsolate2_ + << "\t hcalScale_ " << hcalScale_ << "\n\t momentumLow_ " << pTrackLow_ << "\t prescaleLow_ " << prescaleLow_ + << "\t momentumHigh_ " << pTrackHigh_ << "\t prescaleHigh_ " << prescaleHigh_ << "\n\t useRaw_ " << useRaw_ + << "\t ignoreTrigger_ " << ignoreTrigger_ << "\n\t useL1Trigegr_ " << useL1Trigger_ << "\t dataType_ " + << dataType_ << "\t mode_ " << mode_ << "\t unCorrect_ " << unCorrect_ << "\t collapseDepth_ " + << collapseDepth_ << "\t L1TrigName_ " << l1TrigName_ << "\nThreshold for EB " << hitEthrEB_ << " EE " + << hitEthrEE0_ << ":" << hitEthrEE1_ << ":" << hitEthrEE2_ << ":" << hitEthrEE3_ << ":" << hitEthrEELo_ << ":" + << hitEthrEEHi_; + edm::LogVerbatim("HcalIsoTrack") << "Process " << processName_ << " L1Filter:" << l1Filter_ + << " L2Filter:" << l2Filter_ << " L3Filter:" << l3Filter_; + for (unsigned int k = 0; k < trigNames_.size(); ++k) { + edm::LogVerbatim("HcalIsoTrack") << "Trigger[" << k << "] " << trigNames_[k]; + } + edm::LogVerbatim("HcalIsoTrack") << oldID_.size() << " DetIDs to be corrected with HEP17 flag:" << hep17_; + for (unsigned int k = 0; k < oldID_.size(); ++k) + edm::LogVerbatim("HcalIsoTrack") << "[" << k << "] Det " << oldDet_[k] << " EtaAbs " << oldEta_[k] << " Depth " + << oldDepth_[k] << ":" << newDepth_[k]; + + for (int i = 0; i < 10; i++) + phibins_.push_back(-M_PI + 0.1 * (2 * i + 1) * M_PI); + for (int i = 0; i < 8; ++i) + etabins_.push_back(-2.1 + 0.6 * i); + etadist_ = etabins_[1] - etabins_[0]; + phidist_ = phibins_[1] - phibins_[0]; + etahalfdist_ = 0.5 * etadist_; + phihalfdist_ = 0.5 * phidist_; + edm::LogVerbatim("HcalIsoTrack") << "EtaDist " << etadist_ << " " << etahalfdist_ << " PhiDist " << phidist_ << " " + << phihalfdist_; + unsigned int k1(0), k2(0); + for (auto phi : phibins_) { + edm::LogVerbatim("HcalIsoTrack") << "phibin_[" << k1 << "] " << phi; + ++k1; + } + for (auto eta : etabins_) { + edm::LogVerbatim("HcalIsoTrack") << "etabin_[" << k2 << "] " << eta; + ++k2; + } +} + +void HcalIsoTrkSimAnalyzer::analyze(edm::Event const& iEvent, edm::EventSetup const& iSetup) { + t_Run = iEvent.id().run(); + t_Event = iEvent.id().event(); + t_DataType = dataType_; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "Run " << t_Run << " Event " << t_Event << " type " << t_DataType + << " Luminosity " << iEvent.luminosityBlock() << " Bunch " << iEvent.bunchCrossing(); +#endif + //Get magnetic field and ECAL channel status + const MagneticField* bField = &iSetup.getData(tok_bFieldH_); + const EcalChannelStatus* theEcalChStatus = &iSetup.getData(tok_ecalChStatus_); + const EcalSeverityLevelAlgo* theEcalSevlv = &iSetup.getData(tok_sevlv_); + + // get handles to calogeometry and calotopology + const CaloGeometry* geo = &iSetup.getData(tok_geom_); + const CaloTopology* caloTopology = &iSetup.getData(tok_caloTopology_); + const HcalTopology* theHBHETopology = &iSetup.getData(tok_htopo_); + const HcalRespCorrs* resp = &iSetup.getData(tok_resp_); + HcalRespCorrs* respCorrs = new HcalRespCorrs(*resp); + respCorrs->setTopo(theHBHETopology); + + // get particle data table + const HepPDT::ParticleDataTable *pdt = &iSetup.getData(tok_pdt_); + + //=== genParticle information + bool okC(true); + edm::Handle genParticles = iEvent.getHandle(tok_parts_); + if (!genParticles.isValid()) { + edm::LogWarning("HcalIsoTrack") << "Cannot access the genParticles collection"; + okC = false; + } + + //event weight for FLAT sample + t_EventWeight = 1.0; + edm::Handle genEventInfo = iEvent.getHandle(tok_ew_); + if (genEventInfo.isValid()) + t_EventWeight = genEventInfo->weight(); + + //Define the best vertex and the beamspot + edm::Handle recVtxs = iEvent.getHandle(tok_recVtx_); + edm::Handle beamSpotH = iEvent.getHandle(tok_bs_); + math::XYZPoint leadPV(0, 0, 0); + t_goodPV = t_nVtx = 0; + if (recVtxs.isValid() && !(recVtxs->empty())) { + t_nVtx = recVtxs->size(); + for (unsigned int k = 0; k < recVtxs->size(); ++k) { + if (!((*recVtxs)[k].isFake()) && ((*recVtxs)[k].ndof() > 4)) { + if (t_goodPV == 0) + leadPV = math::XYZPoint((*recVtxs)[k].x(), (*recVtxs)[k].y(), (*recVtxs)[k].z()); + t_goodPV++; + } + } + } + if (t_goodPV == 0 && beamSpotH.isValid()) { + leadPV = beamSpotH->position(); + } + t_allvertex = t_goodPV; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "Primary Vertex " << leadPV << " out of " << t_goodPV << " vertex"; + if (beamSpotH.isValid()) { + edm::LogVerbatim("HcalIsoTrack") << " Beam Spot " << beamSpotH->position(); + } +#endif + // RecHits + edm::Handle barrelRecHitsHandle = iEvent.getHandle(tok_EB_); + if (!barrelRecHitsHandle.isValid()) { + edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelEB_; + okC = false; + } + edm::Handle endcapRecHitsHandle = iEvent.getHandle(tok_EE_); + if (!endcapRecHitsHandle.isValid()) { + edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelEE_; + okC = false; + } + edm::Handle hbhe = iEvent.getHandle(tok_hbhe_); + if (!hbhe.isValid()) { + edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelHBHE_; + okC = false; + } + edm::Handle caloTower = iEvent.getHandle(tok_cala_); + + //Propagate tracks to calorimeter surface) + std::vector trackIDs = + spr::propagateCALO(genParticles, pdt, geo, bField, etaMax_, false); + std::vector vecL1, vecL3; + t_RunNo = iEvent.id().run(); + t_EventNo = iEvent.id().event(); + t_Tracks = (genParticles.product())->size(); + t_TracksProp = trackIDs.size(); + t_ietaAll->clear(); + t_ietaGood->clear(); + t_trackType->clear(); + t_trgbits->clear(); + t_hltbits->clear(); +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "# of propagated tracks " << t_TracksProp << " out of " << t_Tracks + << " with Trigger " << ignoreTrigger_; +#endif + + //Trigger + t_trgbits->assign(trigNames_.size(), false); + t_hltbits->assign(trigNames_.size(), false); + t_TracksSaved = t_TracksLoose = t_TracksTight = 0; + t_L1Bit = true; + t_TrigPass = false; + + edm::Handle triggerResults; + if (!ignoreTrigger_) { + //L1 + l1GtUtils_->retrieveL1(iEvent, iSetup, tok_alg_); + const std::vector >& finalDecisions = l1GtUtils_->decisionsFinal(); + for (const auto& decision : finalDecisions) { + if (decision.first.find(l1TrigName_) != std::string::npos) { + t_L1Bit = decision.second; + break; + } + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "Trigger Information for " << l1TrigName_ << " is " << t_L1Bit + << " from a list of " << finalDecisions.size() << " decisions"; +#endif + + //HLT + iEvent.getByToken(tok_trigRes_, triggerResults); + if (triggerResults.isValid()) { + const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults); + const std::vector& names = triggerNames.triggerNames(); + if (!trigNames_.empty()) { + for (unsigned int iHLT = 0; iHLT < triggerResults->size(); iHLT++) { + int hlt = triggerResults->accept(iHLT); + for (unsigned int i = 0; i < trigNames_.size(); ++i) { + if (names[iHLT].find(trigNames_[i]) != std::string::npos) { + t_trgbits->at(i) = (hlt > 0); + t_hltbits->at(i) = (hlt > 0); + if (hlt > 0) + t_TrigPass = true; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") + << "This trigger " << names[iHLT] << " Flag " << hlt << ":" << t_trgbits->at(i); +#endif + } + } + } + } + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "HLT Information shows " << t_TrigPass << ":" << trigNames_.empty() << ":" + << okC; +#endif + } + + std::array ntksave{{0, 0, 0}}; + if (ignoreTrigger_ || useL1Trigger_) { + t_l1pt = t_l1eta = t_l1phi = 0; + t_l3pt = t_l3eta = t_l3phi = 0; + if (ignoreTrigger_ || t_L1Bit) + ntksave = fillTree(vecL1, + vecL3, + leadPV, + trackIDs, + geo, + caloTopology, + theHBHETopology, + theEcalChStatus, + theEcalSevlv, + barrelRecHitsHandle, + endcapRecHitsHandle, + hbhe, + caloTower, + genParticles, + respCorrs); + t_TracksSaved = ntksave[0]; + t_TracksLoose = ntksave[1]; + t_TracksTight = ntksave[2]; + } else { + trigger::TriggerEvent triggerEvent; + edm::Handle triggerEventHandle = iEvent.getHandle(tok_trigEvt_); + if (!triggerEventHandle.isValid()) { + edm::LogWarning("HcalIsoTrack") << "Error! Can't get the product " << triggerEvent_.label(); + } else if (okC) { + triggerEvent = *(triggerEventHandle.product()); + const trigger::TriggerObjectCollection& TOC(triggerEvent.getObjects()); + bool done(false); + if (triggerResults.isValid()) { + std::vector modules; + const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults); + const std::vector& names = triggerNames.triggerNames(); + for (unsigned int iHLT = 0; iHLT < triggerResults->size(); iHLT++) { + bool ok = (t_TrigPass) || (trigNames_.empty()); + if (ok) { + unsigned int triggerindx = hltConfig_.triggerIndex(names[iHLT]); + const std::vector& moduleLabels(hltConfig_.moduleLabels(triggerindx)); + std::vector vecL2; + vecL1.clear(); + vecL3.clear(); + //loop over all trigger filters in event (i.e. filters passed) + for (unsigned int ifilter = 0; ifilter < triggerEvent.sizeFilters(); ++ifilter) { + std::vector Keys; + std::string label = triggerEvent.filterTag(ifilter).label(); + //loop over keys to objects passing this filter + for (unsigned int imodule = 0; imodule < moduleLabels.size(); imodule++) { + if (label.find(moduleLabels[imodule]) != std::string::npos) { +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "FilterName " << label; +#endif + for (unsigned int ifiltrKey = 0; ifiltrKey < triggerEvent.filterKeys(ifilter).size(); ++ifiltrKey) { + Keys.push_back(triggerEvent.filterKeys(ifilter)[ifiltrKey]); + const trigger::TriggerObject& TO(TOC[Keys[ifiltrKey]]); + math::XYZTLorentzVector v4(TO.px(), TO.py(), TO.pz(), TO.energy()); + if (label.find(l2Filter_) != std::string::npos) { + vecL2.push_back(v4); + } else if (label.find(l3Filter_) != std::string::npos) { + vecL3.push_back(v4); + } else if ((label.find(l1Filter_) != std::string::npos) || (l1Filter_.empty())) { + vecL1.push_back(v4); + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") + << "key " << ifiltrKey << " : pt " << TO.pt() << " eta " << TO.eta() << " phi " << TO.phi() + << " mass " << TO.mass() << " Id " << TO.id(); +#endif + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") + << "sizes " << vecL1.size() << ":" << vecL2.size() << ":" << vecL3.size(); +#endif + } + } + } + //// deta, dphi and dR for leading L1 object with L2 objects + math::XYZTLorentzVector mindRvec1; + double mindR1(999); + for (unsigned int i = 0; i < vecL2.size(); i++) { + double dr = dR(vecL1[0], vecL2[i]); +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "lvl2[" << i << "] dR " << dr; +#endif + if (dr < mindR1) { + mindR1 = dr; + mindRvec1 = vecL2[i]; + } + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "L2 object closest to L1 " << mindRvec1 << " at Dr " << mindR1; +#endif + + if (!vecL1.empty()) { + t_l1pt = vecL1[0].pt(); + t_l1eta = vecL1[0].eta(); + t_l1phi = vecL1[0].phi(); + } else { + t_l1pt = t_l1eta = t_l1phi = 0; + } + if (!vecL3.empty()) { + t_l3pt = vecL3[0].pt(); + t_l3eta = vecL3[0].eta(); + t_l3phi = vecL3[0].phi(); + } else { + t_l3pt = t_l3eta = t_l3phi = 0; + } + // Now fill in the tree for each selected track + if (!done) { + ntksave = fillTree(vecL1, + vecL3, + leadPV, + trackIDs, + geo, + caloTopology, + theHBHETopology, + theEcalChStatus, + theEcalSevlv, + barrelRecHitsHandle, + endcapRecHitsHandle, + hbhe, + caloTower, + genParticles, + respCorrs); + t_TracksSaved += ntksave[0]; + t_TracksLoose += ntksave[1]; + t_TracksTight += ntksave[2]; + done = true; + } + } + } + } + } + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "Final results on selected tracks " << t_TracksSaved << ":" << t_TracksLoose + << ":" << t_TracksTight; +#endif + t_TrigPassSel = (t_TracksSaved > 0); + tree2->Fill(); +} + +void HcalIsoTrkSimAnalyzer::beginJob() { + tree = fs_->make("CalibTree", "CalibTree"); + + tree->Branch("t_Run", &t_Run, "t_Run/I"); + tree->Branch("t_Event", &t_Event, "t_Event/I"); + tree->Branch("t_DataType", &t_DataType, "t_DataType/I"); + tree->Branch("t_ieta", &t_ieta, "t_ieta/I"); + tree->Branch("t_iphi", &t_iphi, "t_iphi/I"); + tree->Branch("t_EventWeight", &t_EventWeight, "t_EventWeight/D"); + tree->Branch("t_nVtx", &t_nVtx, "t_nVtx/I"); + tree->Branch("t_nTrk", &t_nTrk, "t_nTrk/I"); + tree->Branch("t_goodPV", &t_goodPV, "t_goodPV/I"); + tree->Branch("t_l1pt", &t_l1pt, "t_l1pt/D"); + tree->Branch("t_l1eta", &t_l1eta, "t_l1eta/D"); + tree->Branch("t_l1phi", &t_l1phi, "t_l1phi/D"); + tree->Branch("t_l3pt", &t_l3pt, "t_l3pt/D"); + tree->Branch("t_l3eta", &t_l3eta, "t_l3eta/D"); + tree->Branch("t_l3phi", &t_l3phi, "t_l3phi/D"); + tree->Branch("t_p", &t_p, "t_p/D"); + tree->Branch("t_pt", &t_pt, "t_pt/D"); + tree->Branch("t_phi", &t_phi, "t_phi/D"); + tree->Branch("t_mindR1", &t_mindR1, "t_mindR1/D"); + tree->Branch("t_mindR2", &t_mindR2, "t_mindR2/D"); + tree->Branch("t_eMipDR", &t_eMipDR, "t_eMipDR/D"); + tree->Branch("t_eMipDR2", &t_eMipDR2, "t_eMipDR2/D"); + tree->Branch("t_eMipDR3", &t_eMipDR3, "t_eMipDR3/D"); + tree->Branch("t_eMipDR4", &t_eMipDR4, "t_eMipDR4/D"); + tree->Branch("t_eMipDR5", &t_eMipDR5, "t_eMipDR5/D"); + tree->Branch("t_eHcal", &t_eHcal, "t_eHcal/D"); + tree->Branch("t_eHcal10", &t_eHcal10, "t_eHcal10/D"); + tree->Branch("t_eHcal30", &t_eHcal30, "t_eHcal30/D"); + tree->Branch("t_hmaxNearP", &t_hmaxNearP, "t_hmaxNearP/D"); + tree->Branch("t_emaxNearP", &t_emaxNearP, "t_emaxNearP/D"); + tree->Branch("t_eAnnular", &t_eAnnular, "t_eAnnular/D"); + tree->Branch("t_hAnnular", &t_hAnnular, "t_hAnnular/D"); + tree->Branch("t_rhoh", &t_rhoh, "t_rhoh/D"); + tree->Branch("t_selectTk", &t_selectTk, "t_selectTk/O"); + tree->Branch("t_qltyFlag", &t_qltyFlag, "t_qltyFlag/O"); + tree->Branch("t_qltyMissFlag", &t_qltyMissFlag, "t_qltyMissFlag/O"); + tree->Branch("t_qltyPVFlag", &t_qltyPVFlag, "t_qltyPVFlag/O"); + tree->Branch("t_gentrackP", &t_gentrackP, "t_gentrackP/D"); + + t_DetIds = new std::vector(); + t_DetIds1 = new std::vector(); + t_DetIds3 = new std::vector(); + t_HitEnergies = new std::vector(); + t_HitEnergies1 = new std::vector(); + t_HitEnergies3 = new std::vector(); + t_trgbits = new std::vector(); + tree->Branch("t_DetIds", "std::vector", &t_DetIds); + tree->Branch("t_HitEnergies", "std::vector", &t_HitEnergies); + tree->Branch("t_trgbits", "std::vector", &t_trgbits); + tree->Branch("t_DetIds1", "std::vector", &t_DetIds1); + tree->Branch("t_DetIds3", "std::vector", &t_DetIds3); + tree->Branch("t_HitEnergies1", "std::vector", &t_HitEnergies1); + tree->Branch("t_HitEnergies3", "std::vector", &t_HitEnergies3); + + tree2 = fs_->make("EventInfo", "Event Information"); + + tree2->Branch("t_RunNo", &t_RunNo, "t_RunNo/i"); + tree2->Branch("t_EventNo", &t_EventNo, "t_EventNo/i"); + tree2->Branch("t_Tracks", &t_Tracks, "t_Tracks/I"); + tree2->Branch("t_TracksProp", &t_TracksProp, "t_TracksProp/I"); + tree2->Branch("t_TracksSaved", &t_TracksSaved, "t_TracksSaved/I"); + tree2->Branch("t_TracksLoose", &t_TracksLoose, "t_TracksLoose/I"); + tree2->Branch("t_TracksTight", &t_TracksTight, "t_TracksTight/I"); + tree2->Branch("t_TrigPass", &t_TrigPass, "t_TrigPass/O"); + tree2->Branch("t_TrigPassSel", &t_TrigPassSel, "t_TrigPassSel/O"); + tree2->Branch("t_L1Bit", &t_L1Bit, "t_L1Bit/O"); + tree2->Branch("t_allvertex", &t_allvertex, "t_allvertex/I"); + t_hltbits = new std::vector(); + t_ietaAll = new std::vector(); + t_ietaGood = new std::vector(); + t_trackType = new std::vector(); + tree2->Branch("t_ietaAll", "std::vector", &t_ietaAll); + tree2->Branch("t_ietaGood", "std::vector", &t_ietaGood); + tree2->Branch("t_trackType", "std::vector", &t_trackType); + tree2->Branch("t_hltbits", "std::vector", &t_hltbits); +} + +// ------------ method called when starting to processes a run ------------ +void HcalIsoTrkSimAnalyzer::beginRun(edm::Run const& iRun, edm::EventSetup const& iSetup) { + hdc_ = &iSetup.getData(tok_ddrec_); + + bool changed_(true); + bool flag = hltConfig_.init(iRun, iSetup, processName_, changed_); + edm::LogVerbatim("HcalIsoTrack") << "Run[" << nRun_ << "] " << iRun.run() << " process " << processName_ + << " init flag " << flag << " change flag " << changed_; + // check if trigger names in (new) config + if (changed_) { +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "New trigger menu found !!!"; +#endif + const unsigned int n(hltConfig_.size()); + for (unsigned itrig = 0; itrig < trigNames_.size(); itrig++) { + unsigned int triggerindx = hltConfig_.triggerIndex(trigNames_[itrig]); + if (triggerindx >= n) { + edm::LogWarning("HcalIsoTrack") << trigNames_[itrig] << " " << triggerindx << " does not exist in " + << "the current menu"; +#ifdef EDM_ML_DEBUG + } else { + edm::LogVerbatim("HcalIsoTrack") << trigNames_[itrig] << " " << triggerindx << " exists"; +#endif + } + } + } +} + +// ------------ method called when ending the processing of a run ------------ +void HcalIsoTrkSimAnalyzer::endRun(edm::Run const& iRun, edm::EventSetup const&) { + nRun_++; + edm::LogVerbatim("HcalIsoTrack") << "endRun[" << nRun_ << "] " << iRun.run(); +} + +void HcalIsoTrkSimAnalyzer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + edm::ParameterSetDescription desc; + std::vector trig = {"HLT_PFJet40", + "HLT_PFJet60", + "HLT_PFJet80", + "HLT_PFJet140", + "HLT_PFJet200", + "HLT_PFJet260", + "HLT_PFJet320", + "HLT_PFJet400", + "HLT_PFJet450", + "HLT_PFJet500"}; + desc.add >("triggers", trig); + desc.add("processName", "HLT"); + desc.add("l1Filter", ""); + desc.add("l2Filter", "L2Filter"); + desc.add("l3Filter", "Filter"); + desc.add("pTMin", 1.0), + desc.add("maxChargedHadronEta", 3.0); + // Minimum momentum of selected isolated track and signal zone + desc.add("minimumTrackP", 10.0); + desc.add("coneRadius", 34.98); + // signal zone in ECAL and MIP energy cutoff + desc.add("coneRadiusMIP", 14.0); + desc.add("coneRadiusMIP2", 18.0); + desc.add("coneRadiusMIP3", 20.0); + desc.add("coneRadiusMIP4", 22.0); + desc.add("coneRadiusMIP5", 24.0); + desc.add("maximumEcalEnergy", 2.0); + // following 4 parameters are for isolation cuts and described in the code + desc.add("maxTrackP", 8.0); + desc.add("slopeTrackP", 0.05090504066); + desc.add("isolationEnergyTight", 2.0); + desc.add("isolationEnergyLoose", 10.0); + // energy thershold for ECAL (from Egamma group) + desc.add("EBHitEnergyThreshold", 0.08); + desc.add("EEHitEnergyThreshold0", 0.30); + desc.add("EEHitEnergyThreshold1", 0.00); + desc.add("EEHitEnergyThreshold2", 0.00); + desc.add("EEHitEnergyThreshold3", 0.00); + desc.add("EEHitEnergyThresholdLow", 0.30); + desc.add("EEHitEnergyThresholdHigh", 0.30); + // prescale factors + desc.add("momentumLow", 40.0); + desc.add("momentumHigh", 60.0); + desc.add("prescaleLow", 1); + desc.add("prescaleHigh", 1); + // various labels for collections used in the code + desc.add("labelTriggerEvent", edm::InputTag("hltTriggerSummaryAOD", "", "HLT")); + desc.add("labelTriggerResult", edm::InputTag("TriggerResults", "", "HLT")); + desc.add("labelTrack", "generalTracks"); + desc.add("labelVertex", "offlinePrimaryVertices"); + desc.add("labelEBRecHit", "EcalRecHitsEB"); + desc.add("labelEERecHit", "EcalRecHitsEE"); + desc.add("labelHBHERecHit", "hbhereco"); + desc.add("labelBeamSpot", "offlineBeamSpot"); + desc.add("labelCaloTower", "towerMaker"); + desc.add("algInputTag", edm::InputTag("gtStage2Digis")); + desc.add("extInputTag", edm::InputTag("gtStage2Digis")); + desc.addUntracked("moduleName", ""); + desc.addUntracked("producerName", ""); + // Various flags used for selecting tracks, choice of energy Method2/0 + // Data type 0/1 for single jet trigger or others + desc.addUntracked("useRaw", 0); + desc.addUntracked("ignoreTriggers", false); + desc.addUntracked("useL1Trigger", false); + desc.addUntracked("hcalScale", 1.0); + desc.addUntracked("dataType", 0); + desc.addUntracked("unCorrect", false); + desc.addUntracked("collapseDepth", false); + desc.addUntracked("l1TrigName", "L1_SingleJet60"); + desc.addUntracked("outMode", 11); + std::vector dummy; + desc.addUntracked >("oldID", dummy); + desc.addUntracked >("newDepth", dummy); + desc.addUntracked("hep17", false); + descriptions.add("hcalIsoTrkSimAnalyzer", desc); +} + +std::array HcalIsoTrkSimAnalyzer::fillTree(std::vector& vecL1, + std::vector& vecL3, + math::XYZPoint& leadPV, + std::vector& trackIDs, + const CaloGeometry* geo, + const CaloTopology* caloTopology, + const HcalTopology* theHBHETopology, + const EcalChannelStatus* theEcalChStatus, + const EcalSeverityLevelAlgo* theEcalSevlv, + edm::Handle& barrelRecHitsHandle, + edm::Handle& endcapRecHitsHandle, + edm::Handle& hbhe, + edm::Handle& tower, + edm::Handle& genParticles, + const HcalRespCorrs* respCorrs) { + int nSave(0), nLoose(0), nTight(0); + //Loop over tracks + std::vector::const_iterator trkDetItr; + unsigned int nTracks(0), nselTracks(0); + t_nTrk = trackIDs.size(); + t_rhoh = (tower.isValid()) ? rhoh(tower) : 0; + for (trkDetItr = trackIDs.begin(), nTracks = 0; trkDetItr != trackIDs.end(); trkDetItr++, nTracks++) { + const reco::GenParticle* pTrack = &(*(trkDetItr->trkItr)); + math::XYZTLorentzVector v4(pTrack->px(), pTrack->py(), pTrack->pz(), pTrack->p()); +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << pTrack->pt() << "|" + << pTrack->eta() << "|" << pTrack->phi() << "|" << pTrack->p(); +#endif + t_mindR2 = 999; + for (unsigned int k = 0; k < vecL3.size(); ++k) { + double dr = dR(vecL3[k], v4); + if (dr < t_mindR2) { + t_mindR2 = dr; + } + } + t_mindR1 = (!vecL1.empty()) ? dR(vecL1[0], v4) : 999; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "Closest L3 object at dr :" << t_mindR2 << " and from L1 " << t_mindR1; +#endif + t_ieta = t_iphi = 0; + if (trkDetItr->okHCAL) { + HcalDetId detId = (HcalDetId)(trkDetItr->detIdHCAL); + t_ieta = detId.ieta(); + t_iphi = detId.iphi(); + if (t_p > 40.0 && t_p <= 60.0) + t_ietaAll->emplace_back(t_ieta); + } + //Selection of good track + t_selectTk = t_qltyMissFlag = t_qltyPVFlag = true; + double eIsolation = maxRestrictionP_ * exp(slopeRestrictionP_ * std::abs((double)t_ieta)); + if (eIsolation < eIsolate1_) + eIsolation = eIsolate1_; + if (eIsolation < eIsolate2_) + eIsolation = eIsolate2_; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "qltyFlag|okECAL|okHCAL : " << t_qltyFlag << "|" << trkDetItr->okECAL << "|" + << trkDetItr->okHCAL << " eIsolation " << eIsolation; +#endif + t_qltyFlag = (t_selectTk && trkDetItr->okECAL && trkDetItr->okHCAL); + bool notMuon = notaMuon(pTrack); + if (t_qltyFlag && notMuon) { + nselTracks++; + int nNearTRKs(0); + ////////////////////////////////-MIP STUFF-////////////////////////////// + std::vector eIds; + std::vector eHit; + t_eMipDR = spr::eCone_ecal(geo, + barrelRecHitsHandle, + endcapRecHitsHandle, + trkDetItr->pointHCAL, + trkDetItr->pointECAL, + a_mipR_, + trkDetItr->directionECAL, + eIds, + eHit); + double eEcal(0); + for (unsigned int k = 0; k < eIds.size(); ++k) { + if (eHit[k] > eThreshold(eIds[k], geo)) + eEcal += eHit[k]; + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR << ":" << eEcal; +#endif + t_eMipDR = eEcal; + ////////////////////////////////-MIP STUFF-/////////////////////////////// + ////////////////////////////////-MIP STUFF-2////////////////////////////// + std::vector eIds2; + std::vector eHit2; + t_eMipDR2 = spr::eCone_ecal(geo, + barrelRecHitsHandle, + endcapRecHitsHandle, + trkDetItr->pointHCAL, + trkDetItr->pointECAL, + a_mipR2_, + trkDetItr->directionECAL, + eIds2, + eHit2); + double eEcal2(0); + for (unsigned int k = 0; k < eIds2.size(); ++k) { + if (eHit2[k] > eThreshold(eIds2[k], geo)) + eEcal2 += eHit2[k]; + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR2 << ":" << eEcal2; +#endif + t_eMipDR2 = eEcal2; + ////////////////////////////////-MIP STUFF-2///////////////////////////// + ////////////////////////////////-MIP STUFF-3///////////////////////////// + std::vector eIds3; + std::vector eHit3; + t_eMipDR3 = spr::eCone_ecal(geo, + barrelRecHitsHandle, + endcapRecHitsHandle, + trkDetItr->pointHCAL, + trkDetItr->pointECAL, + a_mipR3_, + trkDetItr->directionECAL, + eIds3, + eHit3); + double eEcal3(0); + for (unsigned int k = 0; k < eIds3.size(); ++k) { + if (eHit3[k] > eThreshold(eIds3[k], geo)) + eEcal3 += eHit3[k]; + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR3 << ":" << eEcal3; +#endif + t_eMipDR3 = eEcal3; + ////////////////////////////////-MIP STUFF-3///////////////////////////// + ////////////////////////////////-MIP STUFF-4///////////////////////////// + std::vector eIds4; + std::vector eHit4; + t_eMipDR4 = spr::eCone_ecal(geo, + barrelRecHitsHandle, + endcapRecHitsHandle, + trkDetItr->pointHCAL, + trkDetItr->pointECAL, + a_mipR4_, + trkDetItr->directionECAL, + eIds4, + eHit4); + double eEcal4(0); + for (unsigned int k = 0; k < eIds4.size(); ++k) { + if (eHit4[k] > eThreshold(eIds4[k], geo)) + eEcal4 += eHit4[k]; + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR4 << ":" << eEcal4; +#endif + t_eMipDR4 = eEcal4; + ////////////////////////////////-MIP STUFF-4///////////////////////////// + ////////////////////////////////-MIP STUFF-5///////////////////////////// + std::vector eIds5; + std::vector eHit5; + t_eMipDR5 = spr::eCone_ecal(geo, + barrelRecHitsHandle, + endcapRecHitsHandle, + trkDetItr->pointHCAL, + trkDetItr->pointECAL, + a_mipR5_, + trkDetItr->directionECAL, + eIds5, + eHit5); + double eEcal5(0); + for (unsigned int k = 0; k < eIds5.size(); ++k) { + if (eHit5[k] > eThreshold(eIds5[k], geo)) + eEcal5 += eHit5[k]; + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR5 << ":" << eEcal5; +#endif + t_eMipDR5 = eEcal5; + ////////////////////////////////-MIP STUFF-5///////////////////////////// + + t_emaxNearP = spr::chargeIsolationGenEcal(nTracks, trackIDs, geo, caloTopology, 15, 15); + const DetId cellE(trkDetItr->detIdECAL); + std::pair e11x11P = spr::eECALmatrix(cellE, + barrelRecHitsHandle, + endcapRecHitsHandle, + *theEcalChStatus, + geo, + caloTopology, + theEcalSevlv, + 5, + 5, + -100.0, + -100.0, + -100.0, + 100.0); + std::pair e15x15P = spr::eECALmatrix(cellE, + barrelRecHitsHandle, + endcapRecHitsHandle, + *theEcalChStatus, + geo, + caloTopology, + theEcalSevlv, + 7, + 7, + -100.0, + -100.0, + -100.0, + 100.0); + if (e11x11P.second && e15x15P.second) { + t_eAnnular = (e15x15P.first - e11x11P.first); + } else { + t_eAnnular = -(e15x15P.first - e11x11P.first); + } + t_hmaxNearP = spr::chargeIsolationGenCone(nTracks, trackIDs, a_charIsoR_, nNearTRKs, false); + const DetId cellH(trkDetItr->detIdHCAL); + double h5x5 = spr::eHCALmatrix( + theHBHETopology, cellH, hbhe, 2, 2, false, true, -100.0, -100.0, -100.0, -100.0, -100.0, 100.0); + double h7x7 = spr::eHCALmatrix( + theHBHETopology, cellH, hbhe, 3, 3, false, true, -100.0, -100.0, -100.0, -100.0, -100.0, 100.0); + t_hAnnular = h7x7 - h5x5; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "max p Near (Ecal) " << t_emaxNearP << " (Hcal) " << t_hmaxNearP + << " Annular E (Ecal) " << e11x11P.first << ":" << e15x15P.first << ":" + << t_eAnnular << " (Hcal) " << h5x5 << ":" << h7x7 << ":" << t_hAnnular; +#endif + t_gentrackP = pTrack->p(); + if (t_eMipDR < eEcalMax_ && t_hmaxNearP < eIsolation) { + t_DetIds->clear(); + t_HitEnergies->clear(); + t_DetIds1->clear(); + t_HitEnergies1->clear(); + t_DetIds3->clear(); + t_HitEnergies3->clear(); + int nRecHits(-999), nRecHits1(-999), nRecHits3(-999); + std::vector ids, ids1, ids3; + std::vector edet0, edet1, edet3; + t_eHcal = spr::eCone_hcal(geo, + hbhe, + trkDetItr->pointHCAL, + trkDetItr->pointECAL, + a_coneR_, + trkDetItr->directionHCAL, + nRecHits, + ids, + edet0, + useRaw_); + if (!oldID_.empty()) { + for (unsigned k = 0; k < ids.size(); ++k) + ids[k] = newId(ids[k]); + } + storeEnergy(0, respCorrs, ids, edet0, t_eHcal, t_DetIds, t_HitEnergies); + + //----- hcal energy in the extended cone 1 (a_coneR+10) -------------- + t_eHcal10 = spr::eCone_hcal(geo, + hbhe, + trkDetItr->pointHCAL, + trkDetItr->pointECAL, + a_coneR1_, + trkDetItr->directionHCAL, + nRecHits1, + ids1, + edet1, + useRaw_); + if (!oldID_.empty()) { + for (unsigned k = 0; k < ids1.size(); ++k) + ids1[k] = newId(ids1[k]); + } + storeEnergy(1, respCorrs, ids1, edet1, t_eHcal10, t_DetIds1, t_HitEnergies1); + + //----- hcal energy in the extended cone 3 (a_coneR+30) -------------- + t_eHcal30 = spr::eCone_hcal(geo, + hbhe, + trkDetItr->pointHCAL, + trkDetItr->pointECAL, + a_coneR2_, + trkDetItr->directionHCAL, + nRecHits3, + ids3, + edet3, + useRaw_); + if (!oldID_.empty()) { + for (unsigned k = 0; k < ids3.size(); ++k) + ids3[k] = newId(ids3[k]); + } + storeEnergy(3, respCorrs, ids3, edet3, t_eHcal30, t_DetIds3, t_HitEnergies3); + + t_p = pTrack->p(); + t_pt = pTrack->pt(); + t_phi = pTrack->phi(); + +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << t_pt << "|" + << pTrack->eta() << "|" << t_phi << "|" << t_p << " Generator Level p " + << t_gentrackP; + edm::LogVerbatim("HcalIsoTrack") << "e_MIP " << t_eMipDR << " Chg Isolation " << t_hmaxNearP << " eHcal" + << t_eHcal << " ieta " << t_ieta << " Quality " << t_qltyMissFlag << ":" + << t_qltyPVFlag << ":" << t_selectTk; + for (unsigned int ll = 0; ll < t_DetIds->size(); ll++) { + edm::LogVerbatim("HcalIsoTrack") + << "det id is = " << t_DetIds->at(ll) << " hit enery is = " << t_HitEnergies->at(ll); + } + for (unsigned int ll = 0; ll < t_DetIds1->size(); ll++) { + edm::LogVerbatim("HcalIsoTrack") + << "det id is = " << t_DetIds1->at(ll) << " hit enery is = " << t_HitEnergies1->at(ll); + } + for (unsigned int ll = 0; ll < t_DetIds3->size(); ll++) { + edm::LogVerbatim("HcalIsoTrack") + << "det id is = " << t_DetIds3->at(ll) << " hit enery is = " << t_HitEnergies3->at(ll); + } +#endif + bool accept(false); + if (t_p > pTrackMin_) { + if (t_p < pTrackLow_) { + ++nLow_; + if (prescaleLow_ <= 1) + accept = true; + else if (nLow_ % prescaleLow_ == 1) + accept = true; + } else if (t_p > pTrackHigh_) { + ++nHigh_; + if (prescaleHigh_ <= 1) + accept = true; + else if (nHigh_ % prescaleHigh_ == 1) + accept = true; + } else { + accept = true; + } + } + if (accept) { + tree->Fill(); + nSave++; + int type(0); + if (t_eMipDR < 1.0) { + if (t_hmaxNearP < eIsolate2_) { + ++nLoose; + type = 1; + } + if (t_hmaxNearP < eIsolate1_) { + ++nTight; + type = 2; + } + } + if (t_p > 40.0 && t_p <= 60.0 && t_selectTk) { + t_ietaGood->emplace_back(t_ieta); + t_trackType->emplace_back(type); + } +#ifdef EDM_ML_DEBUG + for (unsigned int k = 0; k < t_trgbits->size(); k++) { + edm::LogVerbatim("HcalIsoTrack") << "trigger bit is = " << t_trgbits->at(k); + } +#endif + } + } + } + } + std::array i3{{nSave, nLoose, nTight}}; + return i3; +} + +double HcalIsoTrkSimAnalyzer::dR(math::XYZTLorentzVector& vec1, math::XYZTLorentzVector& vec2) { + return reco::deltaR(vec1.eta(), vec1.phi(), vec2.eta(), vec2.phi()); +} + +double HcalIsoTrkSimAnalyzer::rhoh(const edm::Handle& tower) { + std::vector sumPFNallSMDQH2; + sumPFNallSMDQH2.reserve(phibins_.size() * etabins_.size()); + + for (auto eta : etabins_) { + for (auto phi : phibins_) { + double hadder = 0; + for (const auto& pf_it : (*tower)) { + if (fabs(eta - pf_it.eta()) > etahalfdist_) + continue; + if (fabs(reco::deltaPhi(phi, pf_it.phi())) > phihalfdist_) + continue; + hadder += pf_it.hadEt(); + } + sumPFNallSMDQH2.emplace_back(hadder); + } + } + + double evt_smdq(0); + std::sort(sumPFNallSMDQH2.begin(), sumPFNallSMDQH2.end()); + if (sumPFNallSMDQH2.size() % 2) + evt_smdq = sumPFNallSMDQH2[(sumPFNallSMDQH2.size() - 1) / 2]; + else + evt_smdq = (sumPFNallSMDQH2[sumPFNallSMDQH2.size() / 2] + sumPFNallSMDQH2[(sumPFNallSMDQH2.size() - 2) / 2]) / 2.; + double rhoh = evt_smdq / (etadist_ * phidist_); +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "Rho " << evt_smdq << ":" << rhoh; +#endif + return rhoh; +} + +double HcalIsoTrkSimAnalyzer::eThreshold(const DetId& id, const CaloGeometry* geo) const { + const GlobalPoint& pos = geo->getPosition(id); + double eta = std::abs(pos.eta()); + double eThr(hitEthrEB_); + if (id.subdetId() != EcalBarrel) { + eThr = (((eta * hitEthrEE3_ + hitEthrEE2_) * eta + hitEthrEE1_) * eta + hitEthrEE0_); + if (eThr < hitEthrEELo_) + eThr = hitEthrEELo_; + else if (eThr > hitEthrEEHi_) + eThr = hitEthrEEHi_; + } + return eThr; +} + +DetId HcalIsoTrkSimAnalyzer::newId(const DetId& id) { + HcalDetId hid(id); + if (hep17_ && ((hid.iphi() < 63) || (hid.iphi() > 66) || (hid.zside() < 0))) + return id; + for (unsigned int k = 0; k < oldID_.size(); ++k) { + if ((hid.subdetId() == oldDet_[k]) && (hid.ietaAbs() == oldEta_[k]) && (hid.depth() == oldDepth_[k])) { + return static_cast(HcalDetId(hid.subdet(), hid.ieta(), hid.iphi(), newDepth_[k])); + } + } + return id; +} + +void HcalIsoTrkSimAnalyzer::storeEnergy(int indx, + const HcalRespCorrs* respCorrs, + const std::vector& ids, + std::vector& edet, + double& eHcal, + std::vector* detIds, + std::vector* hitEnergies) { + double ehcal(0); + if (unCorrect_) { + for (unsigned int k = 0; k < ids.size(); ++k) { + double corr = (respCorrs->getValues(ids[k]))->getValue(); + if (corr != 0) + edet[k] /= corr; + ehcal += edet[k]; + } + } else { + for (const auto& en : edet) + ehcal += en; + } + if ((std::abs(ehcal - eHcal) > 0.001) && (!unCorrect_)) + edm::LogWarning("HcalIsoTrack") << "Check inconsistent energies: " << indx << " " << eHcal << ":" << ehcal + << " from " << ids.size() << " cells"; + eHcal = hcalScale_ * ehcal; + + if (collapseDepth_) { + std::map hitMap; + for (unsigned int k = 0; k < ids.size(); ++k) { + HcalDetId id = hdc_->mergedDepthDetId(HcalDetId(ids[k])); + auto itr = hitMap.find(id); + if (itr == hitMap.end()) { + hitMap[id] = edet[k]; + } else { + (itr->second) += edet[k]; + } + } + detIds->reserve(hitMap.size()); + hitEnergies->reserve(hitMap.size()); + for (const auto& hit : hitMap) { + detIds->emplace_back(hit.first.rawId()); + hitEnergies->emplace_back(hit.second); + } + } else { + detIds->reserve(ids.size()); + hitEnergies->reserve(ids.size()); + for (unsigned int k = 0; k < ids.size(); ++k) { + detIds->emplace_back(ids[k].rawId()); + hitEnergies->emplace_back(edet[k]); + } + } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "Input to storeEnergy with " << ids.size() << " cells"; + for (unsigned int k = 0; k < ids.size(); ++k) + edm::LogVerbatim("HcalIsoTrack") << "Hit [" << k << "] " << HcalDetId(ids[k]) << " E " << edet[k]; + edm::LogVerbatim("HcalIsoTrack") << "Output of storeEnergy with " << detIds->size() << " cells and Etot " << eHcal; + for (unsigned int k = 0; k < detIds->size(); ++k) + edm::LogVerbatim("HcalIsoTrack") << "Hit [" << k << "] " << HcalDetId((*detIds)[k]) << " E " << (*hitEnergies)[k]; +#endif +} + +bool HcalIsoTrkSimAnalyzer::notaMuon(const reco::GenParticle* pTrack) { + int id = pTrack->pdgId(); + bool flag = ((id != 13) && (id != -13) && (pTrack->charge() != 0)); +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HcalIsoTrack") << "notaMuon: ID " << id << " charge " << pTrack->charge() << " Flag " << flag; +#endif + return flag; +} + +//define this as a plug-in +DEFINE_FWK_MODULE(HcalIsoTrkSimAnalyzer); diff --git a/Calibration/HcalCalibAlgos/test/python/isoTrackSimAnalysis_cfg.py b/Calibration/HcalCalibAlgos/test/python/isoTrackSimAnalysis_cfg.py new file mode 100644 index 0000000000000..cdb3920be1c25 --- /dev/null +++ b/Calibration/HcalCalibAlgos/test/python/isoTrackSimAnalysis_cfg.py @@ -0,0 +1,47 @@ +import FWCore.ParameterSet.Config as cms +from Configuration.Eras.Era_Run2_2018_cff import Run2_2018 + +process = cms.Process("ANALYSIS",Run2_2018) + +process.load("FWCore.MessageService.MessageLogger_cfi") +process.load('Configuration.StandardSequences.Services_cff') +process.load("Configuration.StandardSequences.GeometryRecoDB_cff") +process.load("Configuration.StandardSequences.MagneticField_cff") +process.load("RecoLocalCalo.EcalRecAlgos.EcalSeverityLevelESProducer_cfi") +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') +from Configuration.AlCa.autoCond import autoCond +process.GlobalTag.globaltag=autoCond['run2_mc'] + +if 'MessageLogger' in process.__dict__: + process.MessageLogger.HcalIsoTrack=dict() + +process.MessageLogger.cerr.FwkReport.reportEvery = 1 +process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) + +process.load('RecoLocalCalo.CaloTowersCreator.calotowermaker_cfi') +process.towerMakerAll = process.calotowermaker.clone() +process.towerMakerAll.hbheInput = cms.InputTag("hbhereco") +process.towerMakerAll.hoInput = cms.InputTag("none") +process.towerMakerAll.hfInput = cms.InputTag("none") +process.towerMakerAll.ecalInputs = cms.VInputTag(cms.InputTag("ecalRecHit","EcalRecHitsEB"), cms.InputTag("ecalRecHit","EcalRecHitsEE")) +process.towerMakerAll.AllowMissingInputs = True + +process.load('Calibration.HcalCalibAlgos.hcalIsoTrkSimAnalyzer_cfi') +process.hcalIsoTrkSimAnalyzer.triggers = [] +process.hcalIsoTrkSimAnalyzer.useRaw = 0 # 2 for Raw +process.hcalIsoTrkSimAnalyzer.ignoreTriggers = True + +process.source = cms.Source("PoolSource", + fileNames = cms.untracked.vstring( + 'file:/afs/cern.ch/user/h/huwang/work/public/for_Sunanda/RECO_MC.root' + ) +) + +process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10) ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string('output_alca.root') +) + +process.p = cms.Path(process.hcalIsoTrkSimAnalyzer) + diff --git a/Calibration/IsolatedParticles/interface/ChargeIsolation.h b/Calibration/IsolatedParticles/interface/ChargeIsolation.h index 66ab900c815ac..b71c6cf003858 100644 --- a/Calibration/IsolatedParticles/interface/ChargeIsolation.h +++ b/Calibration/IsolatedParticles/interface/ChargeIsolation.h @@ -49,6 +49,14 @@ namespace spr { int iphi, bool debug = false); + double chargeIsolationGenEcal(unsigned int trkIndex, + std::vector& trackIDs, + const CaloGeometry* geo, + const CaloTopology* caloTopology, + int ieta, + int iphi, + bool debug = false); + // Returns the maximum energy of a track within a NxN matrix around the // impact of a given track on the ECAL surface. It extrapolates all tracks // in the collection to the ECAL surface in order to do the tests @@ -112,6 +120,12 @@ namespace spr { int& nNearTRKs, bool debug = false); + double chargeIsolationGenCone(unsigned int trkIndex, + std::vector& trackIDs, + double dR, + int& nNearTRKs, + bool debug = false); + std::pair chargeIsolationCone(unsigned int trkIndex, std::vector& trkDirs, double dR, diff --git a/Calibration/IsolatedParticles/src/ChargeIsolation.cc b/Calibration/IsolatedParticles/src/ChargeIsolation.cc index df5943e481749..0e7a3602b7a19 100644 --- a/Calibration/IsolatedParticles/src/ChargeIsolation.cc +++ b/Calibration/IsolatedParticles/src/ChargeIsolation.cc @@ -44,6 +44,40 @@ namespace spr { return maxNearP; } + double chargeIsolationGenEcal(unsigned int trkIndex, + std::vector& vdetIds, + const CaloGeometry* geo, + const CaloTopology* caloTopology, + int ieta, + int iphi, + bool debug) { + const DetId coreDet = vdetIds[trkIndex].detIdECAL; + if (debug) { + if (coreDet.subdetId() == EcalBarrel) + edm::LogVerbatim("IsoTrack") << "DetId " << (EBDetId)(coreDet) << " Flag " << vdetIds[trkIndex].okECAL; + else + edm::LogVerbatim("IsoTrack") << "DetId " << (EEDetId)(coreDet) << " Flag " << vdetIds[trkIndex].okECAL; + } + double maxNearP = -1.0; + if (vdetIds[trkIndex].okECAL) { + std::vector vdets = spr::matrixECALIds(coreDet, ieta, iphi, geo, caloTopology, debug); + if (debug) + edm::LogVerbatim("IsoTrack") << "chargeIsolationGenEcal:: eta/phi/dets " << ieta << " " << iphi << " " << vdets.size(); + + for (unsigned int indx = 0; indx < vdetIds.size(); ++indx) { + if (indx != trkIndex && vdetIds[indx].ok && vdetIds[indx].okECAL) { + const DetId anyCell = vdetIds[indx].detIdECAL; + if (!spr::chargeIsolation(anyCell, vdets)) { + const reco::GenParticle* pTrack = &(*(vdetIds[indx].trkItr)); + if (maxNearP < pTrack->p()) + maxNearP = pTrack->p(); + } + } + } + } + return maxNearP; + } + double chargeIsolationEcal(const DetId& coreDet, reco::TrackCollection::const_iterator trkItr, edm::Handle trkCollection, @@ -298,6 +332,35 @@ namespace spr { return maxNearP; } + double chargeIsolationGenCone(unsigned int trkIndex, + std::vector& trkDirs, + double dR, + int& nNearTRKs, + bool debug) { + double maxNearP = -1.0; + nNearTRKs = 0; + if (trkDirs[trkIndex].okHCAL) { + if (debug) + edm::LogVerbatim("IsoTrack") << "chargeIsolationCone with " << trkDirs.size() << " tracks "; + for (unsigned int indx = 0; indx < trkDirs.size(); ++indx) { + if (indx != trkIndex && trkDirs[indx].ok && trkDirs[indx].okHCAL) { + int isConeChargedIso = spr::coneChargeIsolation( + trkDirs[trkIndex].pointHCAL, trkDirs[indx].pointHCAL, trkDirs[trkIndex].directionHCAL, dR); + if (isConeChargedIso == 0) { + nNearTRKs++; + const reco::GenParticle* pTrack = &(*(trkDirs[indx].trkItr)); + if (maxNearP < pTrack->p()) + maxNearP = pTrack->p(); + } + } + } + } + + if (debug) + edm::LogVerbatim("IsoTrack") << "chargeIsolationGenCone Track " << trkDirs[trkIndex].okHCAL << " maxNearP " << maxNearP; + return maxNearP; + } + std::pair chargeIsolationCone(unsigned int trkIndex, std::vector& trkDirs, double dR, From c8059237e0136ac7535031f4e88fa6d7593ce979 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 19 Nov 2021 16:22:49 +0100 Subject: [PATCH 068/268] Code check --- .../plugins/HcalIsoTrkSimAnalyzer.cc | 87 ++++++++++--------- .../interface/ChargeIsolation.h | 20 ++--- .../IsolatedParticles/src/ChargeIsolation.cc | 26 +++--- 3 files changed, 69 insertions(+), 64 deletions(-) diff --git a/Calibration/HcalCalibAlgos/plugins/HcalIsoTrkSimAnalyzer.cc b/Calibration/HcalCalibAlgos/plugins/HcalIsoTrkSimAnalyzer.cc index 1ef1c2899bc74..a506aecc9d74f 100644 --- a/Calibration/HcalCalibAlgos/plugins/HcalIsoTrkSimAnalyzer.cc +++ b/Calibration/HcalCalibAlgos/plugins/HcalIsoTrkSimAnalyzer.cc @@ -95,7 +95,7 @@ class HcalIsoTrkSimAnalyzer : public edm::one::EDAnalyzer fillTree(std::vector& vecL1, std::vector& vecL3, math::XYZPoint& leadPV, - std::vector& trackIDs, + std::vector& trackIDs, const CaloGeometry* geo, const CaloTopology* topo, const HcalTopology* theHBHETopology, @@ -292,7 +292,8 @@ HcalIsoTrkSimAnalyzer::HcalIsoTrkSimAnalyzer(const edm::ParameterSet& iConfig) edm::LogVerbatim("HcalIsoTrack") << "Labels used " << triggerEvent_ << " " << theTriggerResultsLabel_ << " " << labelBS << " " << labelRecVtx_ << " " << labelGenTrack_ << " " << edm::InputTag("ecalRecHit", labelEB_) << " " - << edm::InputTag("ecalRecHit", labelEE_) << " " << labelHBHE_ << " " << labelTower_; + << edm::InputTag("ecalRecHit", labelEE_) << " " << labelHBHE_ << " " + << labelTower_; } else { tok_recVtx_ = consumes(edm::InputTag(modnam, labelRecVtx_, prdnam)); tok_EB_ = consumes(edm::InputTag(modnam, labelEB_, prdnam)); @@ -315,20 +316,23 @@ HcalIsoTrkSimAnalyzer::HcalIsoTrkSimAnalyzer(const edm::ParameterSet& iConfig) tok_resp_ = esConsumes(); tok_pdt_ = esConsumes(); - edm::LogVerbatim("HcalIsoTrack") - << "Parameters read from config file \n" - << "\t minPt " << ptMin_ << "\t etaMax " << etaMax_ << "\t a_coneR " << a_coneR_ << ":" << a_coneR1_ << ":" << a_coneR2_ - << "\t a_charIsoR " << a_charIsoR_ << "\t a_mipR " << a_mipR_ << "\t a_mipR2 " << a_mipR2_ << "\t a_mipR3 " - << a_mipR3_ << "\t a_mipR4 " << a_mipR4_ << "\t a_mipR5 " << a_mipR5_ << "\n pTrackMin_ " << pTrackMin_ - << "\t eEcalMax_ " << eEcalMax_ << "\t maxRestrictionP_ " << maxRestrictionP_ << "\t slopeRestrictionP_ " - << slopeRestrictionP_ << "\t eIsolateStrong_ " << eIsolate1_ << "\t eIsolateSoft_ " << eIsolate2_ - << "\t hcalScale_ " << hcalScale_ << "\n\t momentumLow_ " << pTrackLow_ << "\t prescaleLow_ " << prescaleLow_ - << "\t momentumHigh_ " << pTrackHigh_ << "\t prescaleHigh_ " << prescaleHigh_ << "\n\t useRaw_ " << useRaw_ - << "\t ignoreTrigger_ " << ignoreTrigger_ << "\n\t useL1Trigegr_ " << useL1Trigger_ << "\t dataType_ " - << dataType_ << "\t mode_ " << mode_ << "\t unCorrect_ " << unCorrect_ << "\t collapseDepth_ " - << collapseDepth_ << "\t L1TrigName_ " << l1TrigName_ << "\nThreshold for EB " << hitEthrEB_ << " EE " - << hitEthrEE0_ << ":" << hitEthrEE1_ << ":" << hitEthrEE2_ << ":" << hitEthrEE3_ << ":" << hitEthrEELo_ << ":" - << hitEthrEEHi_; + edm::LogVerbatim("HcalIsoTrack") << "Parameters read from config file \n" + << "\t minPt " << ptMin_ << "\t etaMax " << etaMax_ << "\t a_coneR " << a_coneR_ + << ":" << a_coneR1_ << ":" << a_coneR2_ << "\t a_charIsoR " << a_charIsoR_ + << "\t a_mipR " << a_mipR_ << "\t a_mipR2 " << a_mipR2_ << "\t a_mipR3 " << a_mipR3_ + << "\t a_mipR4 " << a_mipR4_ << "\t a_mipR5 " << a_mipR5_ << "\n pTrackMin_ " + << pTrackMin_ << "\t eEcalMax_ " << eEcalMax_ << "\t maxRestrictionP_ " + << maxRestrictionP_ << "\t slopeRestrictionP_ " << slopeRestrictionP_ + << "\t eIsolateStrong_ " << eIsolate1_ << "\t eIsolateSoft_ " << eIsolate2_ + << "\t hcalScale_ " << hcalScale_ << "\n\t momentumLow_ " << pTrackLow_ + << "\t prescaleLow_ " << prescaleLow_ << "\t momentumHigh_ " << pTrackHigh_ + << "\t prescaleHigh_ " << prescaleHigh_ << "\n\t useRaw_ " << useRaw_ + << "\t ignoreTrigger_ " << ignoreTrigger_ << "\n\t useL1Trigegr_ " << useL1Trigger_ + << "\t dataType_ " << dataType_ << "\t mode_ " << mode_ + << "\t unCorrect_ " << unCorrect_ << "\t collapseDepth_ " << collapseDepth_ + << "\t L1TrigName_ " << l1TrigName_ << "\nThreshold for EB " << hitEthrEB_ + << " EE " << hitEthrEE0_ << ":" << hitEthrEE1_ << ":" << hitEthrEE2_ << ":" + << hitEthrEE3_ << ":" << hitEthrEELo_ << ":" << hitEthrEEHi_; edm::LogVerbatim("HcalIsoTrack") << "Process " << processName_ << " L1Filter:" << l1Filter_ << " L2Filter:" << l2Filter_ << " L3Filter:" << l3Filter_; for (unsigned int k = 0; k < trigNames_.size(); ++k) { @@ -382,7 +386,7 @@ void HcalIsoTrkSimAnalyzer::analyze(edm::Event const& iEvent, edm::EventSetup co respCorrs->setTopo(theHBHETopology); // get particle data table - const HepPDT::ParticleDataTable *pdt = &iSetup.getData(tok_pdt_); + const HepPDT::ParticleDataTable* pdt = &iSetup.getData(tok_pdt_); //=== genParticle information bool okC(true); @@ -443,7 +447,7 @@ void HcalIsoTrkSimAnalyzer::analyze(edm::Event const& iEvent, edm::EventSetup co //Propagate tracks to calorimeter surface) std::vector trackIDs = - spr::propagateCALO(genParticles, pdt, geo, bField, etaMax_, false); + spr::propagateCALO(genParticles, pdt, geo, bField, etaMax_, false); std::vector vecL1, vecL3; t_RunNo = iEvent.id().run(); t_EventNo = iEvent.id().event(); @@ -625,7 +629,7 @@ void HcalIsoTrkSimAnalyzer::analyze(edm::Event const& iEvent, edm::EventSetup co ntksave = fillTree(vecL1, vecL3, leadPV, - trackIDs, + trackIDs, geo, caloTopology, theHBHETopology, @@ -786,8 +790,7 @@ void HcalIsoTrkSimAnalyzer::fillDescriptions(edm::ConfigurationDescriptions& des desc.add("l1Filter", ""); desc.add("l2Filter", "L2Filter"); desc.add("l3Filter", "Filter"); - desc.add("pTMin", 1.0), - desc.add("maxChargedHadronEta", 3.0); + desc.add("pTMin", 1.0), desc.add("maxChargedHadronEta", 3.0); // Minimum momentum of selected isolated track and signal zone desc.add("minimumTrackP", 10.0); desc.add("coneRadius", 34.98); @@ -849,20 +852,20 @@ void HcalIsoTrkSimAnalyzer::fillDescriptions(edm::ConfigurationDescriptions& des } std::array HcalIsoTrkSimAnalyzer::fillTree(std::vector& vecL1, - std::vector& vecL3, - math::XYZPoint& leadPV, - std::vector& trackIDs, - const CaloGeometry* geo, - const CaloTopology* caloTopology, - const HcalTopology* theHBHETopology, - const EcalChannelStatus* theEcalChStatus, - const EcalSeverityLevelAlgo* theEcalSevlv, - edm::Handle& barrelRecHitsHandle, - edm::Handle& endcapRecHitsHandle, - edm::Handle& hbhe, - edm::Handle& tower, - edm::Handle& genParticles, - const HcalRespCorrs* respCorrs) { + std::vector& vecL3, + math::XYZPoint& leadPV, + std::vector& trackIDs, + const CaloGeometry* geo, + const CaloTopology* caloTopology, + const HcalTopology* theHBHETopology, + const EcalChannelStatus* theEcalChStatus, + const EcalSeverityLevelAlgo* theEcalSevlv, + edm::Handle& barrelRecHitsHandle, + edm::Handle& endcapRecHitsHandle, + edm::Handle& hbhe, + edm::Handle& tower, + edm::Handle& genParticles, + const HcalRespCorrs* respCorrs) { int nSave(0), nLoose(0), nTight(0); //Loop over tracks std::vector::const_iterator trkDetItr; @@ -896,7 +899,7 @@ std::array HcalIsoTrkSimAnalyzer::fillTree(std::vectoremplace_back(t_ieta); } //Selection of good track - t_selectTk = t_qltyMissFlag = t_qltyPVFlag = true; + t_selectTk = t_qltyMissFlag = t_qltyPVFlag = true; double eIsolation = maxRestrictionP_ * exp(slopeRestrictionP_ * std::abs((double)t_ieta)); if (eIsolation < eIsolate1_) eIsolation = eIsolate1_; @@ -1263,12 +1266,12 @@ DetId HcalIsoTrkSimAnalyzer::newId(const DetId& id) { } void HcalIsoTrkSimAnalyzer::storeEnergy(int indx, - const HcalRespCorrs* respCorrs, - const std::vector& ids, - std::vector& edet, - double& eHcal, - std::vector* detIds, - std::vector* hitEnergies) { + const HcalRespCorrs* respCorrs, + const std::vector& ids, + std::vector& edet, + double& eHcal, + std::vector* detIds, + std::vector* hitEnergies) { double ehcal(0); if (unCorrect_) { for (unsigned int k = 0; k < ids.size(); ++k) { diff --git a/Calibration/IsolatedParticles/interface/ChargeIsolation.h b/Calibration/IsolatedParticles/interface/ChargeIsolation.h index b71c6cf003858..bb9908d88108a 100644 --- a/Calibration/IsolatedParticles/interface/ChargeIsolation.h +++ b/Calibration/IsolatedParticles/interface/ChargeIsolation.h @@ -50,12 +50,12 @@ namespace spr { bool debug = false); double chargeIsolationGenEcal(unsigned int trkIndex, - std::vector& trackIDs, - const CaloGeometry* geo, - const CaloTopology* caloTopology, - int ieta, - int iphi, - bool debug = false); + std::vector& trackIDs, + const CaloGeometry* geo, + const CaloTopology* caloTopology, + int ieta, + int iphi, + bool debug = false); // Returns the maximum energy of a track within a NxN matrix around the // impact of a given track on the ECAL surface. It extrapolates all tracks @@ -121,10 +121,10 @@ namespace spr { bool debug = false); double chargeIsolationGenCone(unsigned int trkIndex, - std::vector& trackIDs, - double dR, - int& nNearTRKs, - bool debug = false); + std::vector& trackIDs, + double dR, + int& nNearTRKs, + bool debug = false); std::pair chargeIsolationCone(unsigned int trkIndex, std::vector& trkDirs, diff --git a/Calibration/IsolatedParticles/src/ChargeIsolation.cc b/Calibration/IsolatedParticles/src/ChargeIsolation.cc index 0e7a3602b7a19..1c4a5b3e98fd4 100644 --- a/Calibration/IsolatedParticles/src/ChargeIsolation.cc +++ b/Calibration/IsolatedParticles/src/ChargeIsolation.cc @@ -45,12 +45,12 @@ namespace spr { } double chargeIsolationGenEcal(unsigned int trkIndex, - std::vector& vdetIds, - const CaloGeometry* geo, - const CaloTopology* caloTopology, - int ieta, - int iphi, - bool debug) { + std::vector& vdetIds, + const CaloGeometry* geo, + const CaloTopology* caloTopology, + int ieta, + int iphi, + bool debug) { const DetId coreDet = vdetIds[trkIndex].detIdECAL; if (debug) { if (coreDet.subdetId() == EcalBarrel) @@ -62,7 +62,8 @@ namespace spr { if (vdetIds[trkIndex].okECAL) { std::vector vdets = spr::matrixECALIds(coreDet, ieta, iphi, geo, caloTopology, debug); if (debug) - edm::LogVerbatim("IsoTrack") << "chargeIsolationGenEcal:: eta/phi/dets " << ieta << " " << iphi << " " << vdets.size(); + edm::LogVerbatim("IsoTrack") << "chargeIsolationGenEcal:: eta/phi/dets " << ieta << " " << iphi << " " + << vdets.size(); for (unsigned int indx = 0; indx < vdetIds.size(); ++indx) { if (indx != trkIndex && vdetIds[indx].ok && vdetIds[indx].okECAL) { @@ -333,10 +334,10 @@ namespace spr { } double chargeIsolationGenCone(unsigned int trkIndex, - std::vector& trkDirs, - double dR, - int& nNearTRKs, - bool debug) { + std::vector& trkDirs, + double dR, + int& nNearTRKs, + bool debug) { double maxNearP = -1.0; nNearTRKs = 0; if (trkDirs[trkIndex].okHCAL) { @@ -357,7 +358,8 @@ namespace spr { } if (debug) - edm::LogVerbatim("IsoTrack") << "chargeIsolationGenCone Track " << trkDirs[trkIndex].okHCAL << " maxNearP " << maxNearP; + edm::LogVerbatim("IsoTrack") << "chargeIsolationGenCone Track " << trkDirs[trkIndex].okHCAL << " maxNearP " + << maxNearP; return maxNearP; } From 3ad73e682f6c47b41a0c6485c5e8de7932472a10 Mon Sep 17 00:00:00 2001 From: yulunmiao <60363605+yulunmiao@users.noreply.github.com> Date: Fri, 19 Nov 2021 09:44:14 -0600 Subject: [PATCH 069/268] Reformatted with scram build code-format --- .../plugins/HGCalWaferValidation.cc | 113 +++++++++++------- 1 file changed, 72 insertions(+), 41 deletions(-) diff --git a/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc b/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc index 1af42d5bbeaf9..75727f1cf3d6d 100644 --- a/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc +++ b/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc @@ -211,19 +211,29 @@ void HGCalWaferValidation::ProcessWaferLayer(DDCompactView::GraphWalker& walker) rotStr = "0"; const int rotCode(std::stoi(rotStr)); //edm::LogVerbatim(logcat) << "rotStr " << rotStr << " rotCode " << rotCode; - + // convert shape code to wafer types defined in HGCalTypes.h waferInfo.shapeCode = 99; - if (shapeStr == "F") waferInfo.shapeCode = 0; - if (shapeStr == "a") waferInfo.shapeCode = 4; - if (shapeStr == "am") waferInfo.shapeCode = 8; - if (shapeStr == "b") waferInfo.shapeCode = 1; - if (shapeStr == "bm") waferInfo.shapeCode = 9; - if (shapeStr == "c") waferInfo.shapeCode = 7; - if (shapeStr == "d") waferInfo.shapeCode = 5; - if (shapeStr == "dm") waferInfo.shapeCode = 6; - if (shapeStr == "g") waferInfo.shapeCode = 2; - if (shapeStr == "gm") waferInfo.shapeCode = 3; + if (shapeStr == "F") + waferInfo.shapeCode = 0; + if (shapeStr == "a") + waferInfo.shapeCode = 4; + if (shapeStr == "am") + waferInfo.shapeCode = 8; + if (shapeStr == "b") + waferInfo.shapeCode = 1; + if (shapeStr == "bm") + waferInfo.shapeCode = 9; + if (shapeStr == "c") + waferInfo.shapeCode = 7; + if (shapeStr == "d") + waferInfo.shapeCode = 5; + if (shapeStr == "dm") + waferInfo.shapeCode = 6; + if (shapeStr == "g") + waferInfo.shapeCode = 2; + if (shapeStr == "gm") + waferInfo.shapeCode = 3; waferInfo.rotCode = rotCode; // populate the map @@ -352,11 +362,11 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet int waferV; int waferShapeCode; // extract wafer info from a textfile line - if ( tokens[2].substr(0,1) == "l" || tokens[2].substr(0,1) == "h" ) { + if (tokens[2].substr(0, 1) == "l" || tokens[2].substr(0, 1) == "h") { //if using new format flat file waferLayer = std::stoi(tokens[0]); waferShapeStr = tokens[1]; - waferDensityStr = tokens[2].substr(0,1); + waferDensityStr = tokens[2].substr(0, 1); waferThickness = std::stoi(tokens[2].substr(1)); waferX = std::stod(tokens[3]); waferY = std::stod(tokens[4]); @@ -364,25 +374,36 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet waferU = std::stoi(tokens[6]); waferV = std::stoi(tokens[7]); waferShapeCode = 99; - if ( waferDensityStr == "l" ) { - if( waferShapeStr == "0") waferShapeCode = 0; - if( waferShapeStr == "1") waferShapeCode = 4; - if( waferShapeStr == "2") waferShapeCode = 4; - if( waferShapeStr == "3") waferShapeCode = 5; - if( waferShapeStr == "4") waferShapeCode = 5; - if( waferShapeStr == "5") waferShapeCode = 1; - if( waferShapeStr == "6") waferShapeCode = 7; - } - else if ( waferDensityStr == "h" ) { - if( waferShapeStr == "0") waferShapeCode = 0; - if( waferShapeStr == "1") waferShapeCode = 8; - if( waferShapeStr == "2") waferShapeCode = 3; - if( waferShapeStr == "3") waferShapeCode = 6; - if( waferShapeStr == "4") waferShapeCode = 6; - if( waferShapeStr == "5") waferShapeCode = 9; + if (waferDensityStr == "l") { + if (waferShapeStr == "0") + waferShapeCode = 0; + if (waferShapeStr == "1") + waferShapeCode = 4; + if (waferShapeStr == "2") + waferShapeCode = 4; + if (waferShapeStr == "3") + waferShapeCode = 5; + if (waferShapeStr == "4") + waferShapeCode = 5; + if (waferShapeStr == "5") + waferShapeCode = 1; + if (waferShapeStr == "6") + waferShapeCode = 7; + } else if (waferDensityStr == "h") { + if (waferShapeStr == "0") + waferShapeCode = 0; + if (waferShapeStr == "1") + waferShapeCode = 8; + if (waferShapeStr == "2") + waferShapeCode = 3; + if (waferShapeStr == "3") + waferShapeCode = 6; + if (waferShapeStr == "4") + waferShapeCode = 6; + if (waferShapeStr == "5") + waferShapeCode = 9; } - } - else { + } else { //if using old format flat file waferLayer = std::stoi(tokens[0]); waferShapeStr = tokens[1]; @@ -393,16 +414,26 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet waferU = std::stoi(tokens[6]); waferV = std::stoi(tokens[7]); waferShapeCode = 99; - if (waferShapeStr == "F") waferShapeCode = 0; - if (waferShapeStr == "a") waferShapeCode = 4; - if (waferShapeStr == "am") waferShapeCode = 8; - if (waferShapeStr == "b") waferShapeCode = 1; - if (waferShapeStr == "bm") waferShapeCode = 9; - if (waferShapeStr == "c") waferShapeCode = 7; - if (waferShapeStr == "d") waferShapeCode = 5; - if (waferShapeStr == "dm") waferShapeCode = 6; - if (waferShapeStr == "g") waferShapeCode = 2; - if (waferShapeStr == "gm") waferShapeCode = 3; + if (waferShapeStr == "F") + waferShapeCode = 0; + if (waferShapeStr == "a") + waferShapeCode = 4; + if (waferShapeStr == "am") + waferShapeCode = 8; + if (waferShapeStr == "b") + waferShapeCode = 1; + if (waferShapeStr == "bm") + waferShapeCode = 9; + if (waferShapeStr == "c") + waferShapeCode = 7; + if (waferShapeStr == "d") + waferShapeCode = 5; + if (waferShapeStr == "dm") + waferShapeCode = 6; + if (waferShapeStr == "g") + waferShapeCode = 2; + if (waferShapeStr == "gm") + waferShapeCode = 3; } // map index for crosschecking with DD From 5e6ff220e808eb7dcda83efa7205c001b4417726 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Fri, 19 Nov 2021 11:27:50 -0600 Subject: [PATCH 070/268] make sure use16GE21_ is set to false by default --- L1Trigger/L1TGEM/plugins/GEMPadDigiProducer.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/L1Trigger/L1TGEM/plugins/GEMPadDigiProducer.cc b/L1Trigger/L1TGEM/plugins/GEMPadDigiProducer.cc index 34bb4f066bf53..a8194c05e4f01 100644 --- a/L1Trigger/L1TGEM/plugins/GEMPadDigiProducer.cc +++ b/L1Trigger/L1TGEM/plugins/GEMPadDigiProducer.cc @@ -57,7 +57,7 @@ class GEMPadDigiProducer : public edm::stream::EDProducer<> { const GEMGeometry* geometry_; }; -GEMPadDigiProducer::GEMPadDigiProducer(const edm::ParameterSet& ps) : geometry_(nullptr) { +GEMPadDigiProducer::GEMPadDigiProducer(const edm::ParameterSet& ps) : use16GE21_(false), geometry_(nullptr) { digis_ = ps.getParameter("InputCollection"); digi_token_ = consumes(digis_); From e4fc61ba180478a7cdd96ef530bc2416daeb61e4 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Fri, 19 Nov 2021 11:41:26 -0600 Subject: [PATCH 071/268] Fix the pad matching for 16-partition GE2/1 geometries by Sifu Luo (@sifulou) --- .../MuonGEMDigis/interface/GEMDigiMatcher.h | 8 +++ Validation/MuonGEMDigis/src/GEMDigiMatcher.cc | 56 ++++++++++++------- 2 files changed, 43 insertions(+), 21 deletions(-) diff --git a/Validation/MuonGEMDigis/interface/GEMDigiMatcher.h b/Validation/MuonGEMDigis/interface/GEMDigiMatcher.h index a043b597fdb9e..67f2be1e92b93 100644 --- a/Validation/MuonGEMDigis/interface/GEMDigiMatcher.h +++ b/Validation/MuonGEMDigis/interface/GEMDigiMatcher.h @@ -110,10 +110,17 @@ class GEMDigiMatcher { std::shared_ptr muonSimHitMatcher() { return muonSimHitMatcher_; } private: + // match digi simlink to a simtrack (based on track Id and particle type) void matchDigisSLToSimTrack(const edm::DetSetVector&); + // match digi to a simtrack (based on BX and strip number) void matchDigisToSimTrack(const GEMDigiCollection&); + // match pad to a simtrack (based on BX and pad number) void matchPadsToSimTrack(const GEMPadDigiCollection&); + // match pad to a simtrack (based on BX and pad number) + void matchPadsInDetId(const GEMDetId& simhitId, const GEMPadDigiCollection&); + // match cluster to a simtrack (based on BX and pad number) void matchClustersToSimTrack(const GEMPadDigiClusterCollection&); + // match copad to a simtrack (based on previously matching pads) void matchCoPadsToSimTrack(const GEMCoPadDigiCollection&); void clear(); @@ -156,6 +163,7 @@ class GEMDigiMatcher { bool matchToSimLink_; + // map of raw GEMDetId to containers std::map detid_to_simLinks_; std::map detid_to_digis_; diff --git a/Validation/MuonGEMDigis/src/GEMDigiMatcher.cc b/Validation/MuonGEMDigis/src/GEMDigiMatcher.cc index 9a44ea17c1b16..5886d2431feba 100644 --- a/Validation/MuonGEMDigis/src/GEMDigiMatcher.cc +++ b/Validation/MuonGEMDigis/src/GEMDigiMatcher.cc @@ -174,13 +174,11 @@ void GEMDigiMatcher::matchDigisToSimTrack(const GEMDigiCollection& digis) { } } void GEMDigiMatcher::matchPadsToSimTrack(const GEMPadDigiCollection& pads) { - const auto& det_ids = muonSimHitMatcher_->detIds(); - for (const auto& id : det_ids) { - GEMDetId p_id(id); - - const auto& pads_in_det = pads.get(p_id); + for (auto it = pads.begin(); it != pads.end(); ++it) { + const GEMDetId& p_id = (*it).first; + const auto& padsvec = (*it).second; - for (auto pad = pads_in_det.first; pad != pads_in_det.second; ++pad) { + for (auto pad = padsvec.first; pad != padsvec.second; ++pad) { // check that the pad BX is within the range if (pad->bx() < minBXPad_ || pad->bx() > maxBXPad_) continue; @@ -188,10 +186,33 @@ void GEMDigiMatcher::matchPadsToSimTrack(const GEMPadDigiCollection& pads) { if (verbosePad_) edm::LogInfo("GEMDigiMatcher") << "GEMPad " << p_id << " " << *pad << endl; - // check that it matches a pad that was hit by SimHits from our track - for (auto digi : detid_to_digis_[p_id.rawId()]) { + auto digivec = detid_to_digis_[p_id.rawId()]; + /* + For GE1/1 and ME0 (and obsolete 8-partition GE2/1) geometries, the matching + is pretty simple. Each simhit is converted to a digi. Two digis in neighboring + strips are ed together into a pad. So for these geometries you just need + to match pads to simtracks that are in the same eta partition (detid) as the + simhit is in. By convention, all pads in the 16-partition GE2/1 geometry are + assigned to odd partition numbers. For the 16-partition GE2/1 geometry, you may + have a track with simhits in eta partition 1 and 2 on the same strip and only + produce 1 pad associated to eta partition 1. Therefore, for pads with odd + partition number N, you need to consider the digis in the even partition number + N+1. + */ + if (p_id.roll() % 2 == 1 && p_id.isGE21() && pad->nPartitions() == GEMPadDigi::GE21SplitStrip) { + // make the GEMDetId for the neighboring partition + GEMDetId p_id2(p_id.region(), p_id.ring(), p_id.station(), p_id.layer(), p_id.chamber(), p_id.roll() + 1); + + // make a temporary container for its digis + auto digivec2 = detid_to_digis_[p_id2.rawId()]; + + // now add it to the container for the digis in the odd partition number + digivec.insert(digivec.end(), digivec2.begin(), digivec2.end()); + } + for (const auto& digi : digivec) { // for 8-partition geometries, the pad number equals the strip number divided by two const bool match8Partition(digi.strip() / 2 == pad->pad()); + // for 16-partition geometries, the pad number is the strip number itself const bool match16Partition(digi.strip() == pad->pad()); @@ -217,19 +238,12 @@ void GEMDigiMatcher::matchPadsToSimTrack(const GEMPadDigiCollection& pads) { } void GEMDigiMatcher::matchClustersToSimTrack(const GEMPadDigiClusterCollection& clusters) { - const auto& det_ids = muonSimHitMatcher_->detIds(); - for (auto id : det_ids) { - GEMDetId p_id(id); - - auto clusters_in_det = clusters.get(p_id); - - for (auto cluster = clusters_in_det.first; cluster != clusters_in_det.second; ++cluster) { + for (auto it = clusters.begin(); it != clusters.end(); ++it) { + const GEMDetId p_id = (*it).first; + const auto clvec = (*it).second; + for (auto cluster = clvec.first; cluster != clvec.second; ++cluster) { bool isMatched = false; - // ignore 16-partition GE2/1 pads - if (p_id.isGE21() and cluster->nPartitions() == GEMPadDigiCluster::GE21SplitStrip) - continue; - // check that the cluster BX is within the range if (cluster->bx() < minBXCluster_ || cluster->bx() > maxBXCluster_) continue; @@ -239,14 +253,14 @@ void GEMDigiMatcher::matchClustersToSimTrack(const GEMPadDigiClusterCollection& // check that at least one pad was hit by the track for (const auto& p : cluster->pads()) { - for (auto pad : detid_to_pads_[id]) { + for (const auto& pad : detid_to_pads_[p_id.rawId()]) { if (pad.pad() == p) { isMatched = true; } } } if (isMatched) { - detid_to_clusters_[id].push_back(*cluster); + detid_to_clusters_[p_id.rawId()].push_back(*cluster); chamber_to_clusters_[p_id.chamberId().rawId()].push_back(*cluster); superchamber_to_clusters_[p_id.superChamberId().rawId()].push_back(*cluster); if (verboseCluster_) From efb70d4aa612db27b63984d5d32c9152a220a555 Mon Sep 17 00:00:00 2001 From: yulunmiao <60363605+yulunmiao@users.noreply.github.com> Date: Fri, 19 Nov 2021 14:00:52 -0600 Subject: [PATCH 072/268] Changes in conditional statements --- .../HGCalValidation/HGCalWaferValidation.cc | 529 ++++++++++++++++++ 1 file changed, 529 insertions(+) create mode 100644 Validation/HGCalValidation/HGCalWaferValidation.cc diff --git a/Validation/HGCalValidation/HGCalWaferValidation.cc b/Validation/HGCalValidation/HGCalWaferValidation.cc new file mode 100644 index 0000000000000..ea5eda8506de1 --- /dev/null +++ b/Validation/HGCalValidation/HGCalWaferValidation.cc @@ -0,0 +1,529 @@ +// -*- C++ -*- +// +// Package: Validation/HGCalValidation +// Class: HGCalWaferValidation +// +/**\class HGCalWaferValidation HGCalWaferValidation.cc Validation/HGCalValidation/plugins/HGCalWaferValidation.cc + + Description: Validates HGCal wafer data inside DD against specifications given in a flat text file. + + Implementation: + * Uses GraphWalker to follow DD hierarchy to find HGCal EE module and the HE modules. + * Search of wafer layers and iterates each wafer found. + * Extract x, y coordinate position from wafer positioning; thickness, u & v coords from copyNo. + Wafer shape and rotation are extracted from given names of wafer logical volumes. + * All extracted wafer info saved into a map indexed by (layer#, u, v). + * Each line in flat text file are compared against wafer information in the map. + Any errors are reported, counted and summarized at the end. + * Unaccounted wafers, which are in DD but not in the flat text file, are also reported and counted. +*/ +// +// Original Author: Imran Yusuff +// Created: Thu, 27 May 2021 19:47:08 GMT +// +// Modified by: Yulun Miao +// Modified at: Wed, 17 Nov 2021 21:04:10 UTC +/* + Details of Modification: + * Use the l or h preceding the thickness to determine the type of flat file + * Unified partial wafer information to HGCalTypes.h to allow cross-compare +*/ +// system include files +#include + +// user include files +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/FileInPath.h" +#include "FWCore/Utilities/interface/InputTag.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + +#include "DetectorDescription/Core/interface/DDCompactView.h" +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/HGCalCommonData/interface/HGCalTypes.h" + +#include +#include + +// +// class declaration +// + +// If the analyzer does not use TFileService, please remove +// the template argument to the base class so the class inherits +// from edm::one::EDAnalyzer<> +// This will improve performance in multithreaded jobs. + +class HGCalWaferValidation : public edm::one::EDAnalyzer<> { +public: + explicit HGCalWaferValidation(const edm::ParameterSet&); + ~HGCalWaferValidation() override; + + static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); + +private: + // This is MessageLogger logging category + const std::string logcat = "HGCalWaferValidation"; + + // wafer coordinate is (layer, u, v), used as index for map + using WaferCoord = std::tuple; + + std::string strWaferCoord(const WaferCoord& coord); + + bool DDFindHGCal(DDCompactView::GraphWalker& walker, std::string targetName); + void DDFindWafers(DDCompactView::GraphWalker& walker); + void ProcessWaferLayer(DDCompactView::GraphWalker& walker); + + void beginJob() override; + void analyze(const edm::Event&, const edm::EventSetup&) override; + void endJob() override; + + // ----------member data --------------------------- + // module parameters + edm::FileInPath geometryFileName_; + + // struct to hold wafer information from DD in map + struct WaferInfo { + int thickClass; + double x; + double y; + int shapeCode; + int rotCode; + }; + + // EDM token to access DD + edm::ESGetToken viewToken_; + + // map holding all wafer properties from DD + std::map waferData; + + // boolean map to keep track of unaccounted DD wafers (not in flat file) + std::map waferValidated; +}; + +// +// constants, enums and typedefs +// + +// +// static data member definitions +// + +// +// constructors and destructor +// +HGCalWaferValidation::HGCalWaferValidation(const edm::ParameterSet& iConfig) + : geometryFileName_(iConfig.getParameter("GeometryFileName")) { + viewToken_ = esConsumes(); + //now do what ever initialization is needed +} + +HGCalWaferValidation::~HGCalWaferValidation() { + // do anything here that needs to be done at desctruction time + // (e.g. close files, deallocate resources etc.) + // + // please remove this method altogether if it would be left empty +} + +// +// member functions +// + +// convert WaferCoord tuple to string representation (i.e. for printing) +std::string HGCalWaferValidation::strWaferCoord(const WaferCoord& coord) { + std::stringstream ss; + ss << "(" << std::get<0>(coord) << "," << std::get<1>(coord) << "," << std::get<2>(coord) << ")"; + return ss.str(); +} + +// ----- find HGCal entry among the DD ----- +bool HGCalWaferValidation::DDFindHGCal(DDCompactView::GraphWalker& walker, std::string targetName) { + if (walker.current().first.name().name() == targetName) { + // target found + return true; + } + if (walker.firstChild()) { + do { + if (DDFindHGCal(walker, targetName)) + // target inside child + return true; + } while (walker.nextSibling()); + walker.parent(); + } + return false; +} + +// ----- find the next wafer, then process the wafer layer ----- +void HGCalWaferValidation::DDFindWafers(DDCompactView::GraphWalker& walker) { + if (walker.current().first.name().fullname().rfind("hgcalwafer:", 0) == 0) { + // first wafer found. Now process the entire layer of wafers. + ProcessWaferLayer(walker); + return; + } + if (walker.firstChild()) { + do { + DDFindWafers(walker); + } while (walker.nextSibling()); + walker.parent(); + } +} + +// ----- process the layer of wafers ----- +void HGCalWaferValidation::ProcessWaferLayer(DDCompactView::GraphWalker& walker) { + static int waferLayer = 0; // layer numbers in DD are assumed to be sequential from 1 + waferLayer++; + edm::LogVerbatim(logcat) << "ProcessWaferLayer: Processing layer " << waferLayer; + do { + if (walker.current().first.name().fullname().rfind("hgcalwafer:", 0) == 0) { + auto wafer = walker.current(); + const std::string waferName(walker.current().first.name().fullname()); + const int copyNo = wafer.second->copyno(); + // extract DD layer properties + const int waferType = HGCalTypes::getUnpackedType(copyNo); + const int waferU = HGCalTypes::getUnpackedU(copyNo); + const int waferV = HGCalTypes::getUnpackedV(copyNo); + const WaferCoord waferCoord(waferLayer, waferU, waferV); // map index + // build struct of DD wafer properties + struct WaferInfo waferInfo; + waferInfo.thickClass = waferType; + waferInfo.x = wafer.second->translation().x(); + waferInfo.y = wafer.second->translation().y(); + const std::string waferNameData = + std::regex_replace(waferName, + std::regex("(HGCal[EH]E)(Wafer[01])(Fine|Coarse[12])([a-z]*)([0-9]*)"), + "$1 $2-$3 $4 $5", + std::regex_constants::format_no_copy); + std::stringstream ss(waferNameData); + std::string EEorHE; + std::string typeStr; + std::string shapeStr; + std::string rotStr; + ss >> EEorHE >> typeStr >> shapeStr >> rotStr; + // assume rotational symmetry of full-sized wafers + if (shapeStr.empty()) + shapeStr = "F"; + if (rotStr.empty()) + rotStr = "0"; + const int rotCode(std::stoi(rotStr)); + //edm::LogVerbatim(logcat) << "rotStr " << rotStr << " rotCode " << rotCode; + + // convert shape code to wafer types defined in HGCalTypes.h + waferInfo.shapeCode = 99; + if (shapeStr == "F") + waferInfo.shapeCode = 0; + else if (shapeStr == "a") + waferInfo.shapeCode = 4; + else if (shapeStr == "am") + waferInfo.shapeCode = 8; + else if (shapeStr == "b") + waferInfo.shapeCode = 1; + else if (shapeStr == "bm") + waferInfo.shapeCode = 9; + else if (shapeStr == "c") + waferInfo.shapeCode = 7; + else if (shapeStr == "d") + waferInfo.shapeCode = 5; + else if (shapeStr == "dm") + waferInfo.shapeCode = 6; + else if (shapeStr == "g") + waferInfo.shapeCode = 2; + else if (shapeStr == "gm") + waferInfo.shapeCode = 3; + + waferInfo.rotCode = rotCode; + // populate the map + waferData[waferCoord] = waferInfo; + waferValidated[waferCoord] = false; + } + } while (walker.nextSibling()); +} + +// ------------ method called for each event ------------ +void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { + using namespace edm; + + // Get the CMS DD + auto viewH = iSetup.getHandle(viewToken_); + + if (!viewH.isValid()) { + edm::LogPrint(logcat) << "Error obtaining geometry handle!"; + return; + } + + edm::LogVerbatim(logcat) << "Root is : " << viewH->root(); + edm::LogVerbatim(logcat) << std::endl; + + // find HGCalEE + auto eeWalker = viewH->walker(); + const bool eeFound = DDFindHGCal(eeWalker, "HGCalEE"); + if (eeFound) { + edm::LogVerbatim(logcat) << "HGCalEE found!"; + edm::LogVerbatim(logcat) << "name = " << eeWalker.current().first.name().name(); + edm::LogVerbatim(logcat) << "fullname = " << eeWalker.current().first.name().fullname(); + } else { + edm::LogPrint(logcat) << "HGCalEE not found!"; + } + edm::LogVerbatim(logcat) << std::endl; + + // find HGCalHEsil + auto hesilWalker = viewH->walker(); + const bool hesilFound = DDFindHGCal(hesilWalker, "HGCalHEsil"); + if (hesilFound) { + edm::LogVerbatim(logcat) << "HGCalHEsil found!"; + edm::LogVerbatim(logcat) << "name = " << hesilWalker.current().first.name().name(); + edm::LogVerbatim(logcat) << "fullname = " << hesilWalker.current().first.name().fullname(); + } else { + edm::LogPrint(logcat) << "HGCalHEsil not found!"; + } + edm::LogVerbatim(logcat) << std::endl; + + // find HGCalHEmix + auto hemixWalker = viewH->walker(); + const bool hemixFound = DDFindHGCal(hemixWalker, "HGCalHEmix"); + if (hemixFound) { + edm::LogVerbatim(logcat) << "HGCalHEmix found!"; + edm::LogVerbatim(logcat) << "name = " << hemixWalker.current().first.name().name(); + edm::LogVerbatim(logcat) << "fullname = " << hemixWalker.current().first.name().fullname(); + } else { + edm::LogPrint(logcat) << "HGCalHEmix not found!"; + } + edm::LogVerbatim(logcat) << std::endl; + + // give up if no HGCal found at all + if (!(eeFound || hesilFound || hemixFound)) { + edm::LogPrint(logcat) << "Nothing found. Giving up."; + return; + } + + // Now walk the HGCalEE walker to find the first wafer on each layer and process them + edm::LogVerbatim(logcat) << "Calling DDFindWafers(eeWalker);"; + DDFindWafers(eeWalker); + + // Walk the HGCalHEsilwalker to find the first wafer on each layer and process them + edm::LogVerbatim(logcat) << "Calling DDFindWafers(hesilWalker);"; + DDFindWafers(hesilWalker); + + // Walk the HGCalHEmix walker to find the first wafer on each layer and process them + edm::LogVerbatim(logcat) << "Calling DDFindWafers(hemixWalker);"; + DDFindWafers(hemixWalker); + + // Confirm all the DD wafers have been read + edm::LogVerbatim(logcat) << "Number of wafers read from DD: " << waferData.size(); + + // Now open the geometry text file + std::string fileName = geometryFileName_.fullPath(); + edm::LogVerbatim(logcat) << "Opening geometry text file: " << fileName; + std::ifstream geoTxtFile(fileName); + + if (!geoTxtFile) { + edm::LogPrint(logcat) << "Cannot open geometry text file."; + return; + } + + // total processed counter + int nTotalProcessed = 0; + + // geometry error counters + int nMissing = 0; + int nThicknessError = 0; + int nPosXError = 0; + int nPosYError = 0; + int nShapeError = 0; + int nRotError = 0; + int nUnaccounted = 0; + + std::string buf; + + // process each line on the text file + while (std::getline(geoTxtFile, buf)) { + std::stringstream ss(buf); + std::vector tokens; + while (ss >> buf) + if (!buf.empty()) + tokens.push_back(buf); + if (tokens.size() != 8) + continue; + + nTotalProcessed++; + + int waferLayer; + std::string waferShapeStr; + std::string waferDensityStr; + int waferThickness; + double waferX; + double waferY; + int waferRotCode; + int waferU; + int waferV; + int waferShapeCode; + // extract wafer info from a textfile line + if (tokens[2].substr(0, 1) == "l" || tokens[2].substr(0, 1) == "h") { + //if using new format flat file + waferLayer = std::stoi(tokens[0]); + waferShapeStr = tokens[1]; + waferDensityStr = tokens[2].substr(0, 1); + waferThickness = std::stoi(tokens[2].substr(1)); + waferX = std::stod(tokens[3]); + waferY = std::stod(tokens[4]); + waferRotCode = std::stoi(tokens[5]); + waferU = std::stoi(tokens[6]); + waferV = std::stoi(tokens[7]); + waferShapeCode = 99; + if (waferDensityStr == "l") { + if (waferShapeStr == "0") + waferShapeCode = 0; + else if (waferShapeStr == "1" || waferShapeStr == "2") + waferShapeCode = 4; + else if (waferShapeStr == "3" || waferShapeStr == "4") + waferShapeCode = 5; + else if (waferShapeStr == "5") + waferShapeCode = 1; + else if (waferShapeStr == "6") + waferShapeCode = 7; + } else if (waferDensityStr == "h") { + if (waferShapeStr == "0") + waferShapeCode = 0; + else if (waferShapeStr == "1") + waferShapeCode = 8; + else if (waferShapeStr == "2") + waferShapeCode = 3; + else if (waferShapeStr == "3" || waferShapeStr == "4") + waferShapeCode = 6; + else if (waferShapeStr == "5") + waferShapeCode = 9; + } + } else { + //if using old format flat file + waferLayer = std::stoi(tokens[0]); + waferShapeStr = tokens[1]; + waferThickness = std::stoi(tokens[2]); + waferX = std::stod(tokens[3]); + waferY = std::stod(tokens[4]); + waferRotCode = (std::stoi(tokens[5])); + waferU = std::stoi(tokens[6]); + waferV = std::stoi(tokens[7]); + waferShapeCode = 99; + if (waferShapeStr == "F") + waferShapeCode = 0; + else if (waferShapeStr == "a") + waferShapeCode = 4; + else if (waferShapeStr == "am") + waferShapeCode = 8; + else if (waferShapeStr == "b") + waferShapeCode = 1; + else if (waferShapeStr == "bm") + waferShapeCode = 9; + else if (waferShapeStr == "c") + waferShapeCode = 7; + else if (waferShapeStr == "d") + waferShapeCode = 5; + else if (waferShapeStr == "dm") + waferShapeCode = 6; + else if (waferShapeStr == "g") + waferShapeCode = 2; + else if (waferShapeStr == "gm") + waferShapeCode = 3; + } + + // map index for crosschecking with DD + const WaferCoord waferCoord(waferLayer, waferU, waferV); + + // now check for (and report) wafer data disagreements + + if (waferData.find(waferCoord) == waferData.end()) { + nMissing++; + edm::LogVerbatim(logcat) << "MISSING: " << strWaferCoord(waferCoord); + continue; + } + + const struct WaferInfo waferInfo = waferData[waferCoord]; + waferValidated[waferCoord] = true; + + if ((waferInfo.thickClass == 0 && waferThickness != 120) || (waferInfo.thickClass == 1 && waferThickness != 200) || + (waferInfo.thickClass == 2 && waferThickness != 300)) { + nThicknessError++; + edm::LogVerbatim(logcat) << "THICKNESS ERROR: " << strWaferCoord(waferCoord); + } + + // it seems that wafer x-coords relative to their layer plane are mirrored... + if (fabs(-waferInfo.x - waferX) > 0.015) { // assuming this much tolerance + nPosXError++; + edm::LogVerbatim(logcat) << "POSITION x ERROR: " << strWaferCoord(waferCoord); + } + + if (fabs(waferInfo.y - waferY) > 0.015) { // assuming this much tolerance + nPosYError++; + edm::LogVerbatim(logcat) << "POSITION y ERROR: " << strWaferCoord(waferCoord); + } + + if (waferInfo.shapeCode != waferShapeCode || waferShapeCode == 99) { + nShapeError++; + edm::LogVerbatim(logcat) << "SHAPE ERROR: " << strWaferCoord(waferCoord); + } + + if ((waferShapeCode != 0 && waferInfo.rotCode != waferRotCode) || + (waferShapeCode == 0 && (waferInfo.rotCode % 2 != waferRotCode % 2))) { + nRotError++; + edm::LogVerbatim(logcat) << "ROTATION ERROR: " << strWaferCoord(waferCoord) << " ( " << waferInfo.rotCode + << " != " << waferRotCode << " )"; + } + } + + geoTxtFile.close(); + + // Find unaccounted DD wafers + for (auto const& accounted : waferValidated) { + if (!accounted.second) { + nUnaccounted++; + edm::LogVerbatim(logcat) << "UNACCOUNTED: " << strWaferCoord(accounted.first); + } + } + + // Print out error counts + edm::LogVerbatim(logcat) << std::endl; + edm::LogVerbatim(logcat) << "*** ERROR COUNTS ***"; + edm::LogVerbatim(logcat) << "Missing : " << nMissing; + edm::LogVerbatim(logcat) << "Thickness error : " << nThicknessError; + edm::LogVerbatim(logcat) << "Pos-x error : " << nPosXError; + edm::LogVerbatim(logcat) << "Pos-y error : " << nPosYError; + edm::LogVerbatim(logcat) << "Shape error : " << nShapeError; + edm::LogVerbatim(logcat) << "Rotation error : " << nRotError; + edm::LogVerbatim(logcat) << "Unaccounted : " << nUnaccounted; + edm::LogVerbatim(logcat) << std::endl; + edm::LogVerbatim(logcat) << "Total wafers processed from geotxtfile = " << nTotalProcessed; + edm::LogVerbatim(logcat) << std::endl; + + // Issue a LogPrint (warning) if there is at least one wafer errors + if (nMissing > 0 || nThicknessError > 0 || nPosXError > 0 || nPosYError > 0 || nShapeError > 0 || nRotError > 0 || + nUnaccounted > 0) { + edm::LogPrint(logcat) << "There are at least one wafer error."; + } +} + +// ------------ method called once each job just before starting event loop ------------ +void HGCalWaferValidation::beginJob() { + // please remove this method if not needed +} + +// ------------ method called once each job just after ending the event loop ------------ +void HGCalWaferValidation::endJob() { + // please remove this method if not needed +} + +// ------------ method fills 'descriptions' with the allowed parameters for the module ------------ +void HGCalWaferValidation::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + //The following says we do not know what parameters are allowed so do no validation + // Please change this to state exactly what you do use, even if it is no parameters + edm::ParameterSetDescription desc; + desc.add("GeometryFileName", + edm::FileInPath("Validation/HGCalValidation/data/geomnew_corrected_360.txt")); + descriptions.add("hgcalWaferValidation", desc); +} + +//define this as a plug-in +DEFINE_FWK_MODULE(HGCalWaferValidation); From f4e8776a24a9349844855bdc1ffc2c345229e24b Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Fri, 19 Nov 2021 23:39:43 +0100 Subject: [PATCH 073/268] Add modules which are not in packages map under key no-package. Shorten template class function calls to calss<>::function --- Utilities/StaticAnalyzers/scripts/callgraph.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Utilities/StaticAnalyzers/scripts/callgraph.py b/Utilities/StaticAnalyzers/scripts/callgraph.py index 6a09e97b0c5e5..eeee1b685eb07 100755 --- a/Utilities/StaticAnalyzers/scripts/callgraph.py +++ b/Utilities/StaticAnalyzers/scripts/callgraph.py @@ -28,7 +28,7 @@ assert(baseclassre.match('edm::ProducerSourceBase')) assert(baseclassre.match('edm::one::OutputModuleBase')) farg = re.compile(r"\(.*?\)") -tmpl = re.compile(r'<.*?>') +tmpl = re.compile(r'<.*?>::') toplevelfuncs = set() getfuncre = re.compile(r"edm::eventsetup::EventSetupRecord::get<") @@ -113,6 +113,7 @@ callstacks.add(cs) report = dict() +csset = set() for key in sorted(set(module2package.keys())): for value in sorted(set(module2package[key])): regex_str = r'\b%s\b'%value @@ -120,6 +121,12 @@ for callstack in sorted(callstacks): if vre.search(callstack): report.setdefault(str(key), {}).setdefault(str(value), []).append(str(callstack)) + else: + shortstack=tmpl.sub(callstack,'<>::') + if shortstack not in csset: + csset.add(shortstack) + report.setdefault('no-package', {}).setdefault('no-package', []).append(str(shortstack)) + r = open('eventsetuprecord-get.yaml', 'w') dump(report, r, width=float("inf")) From b9c007cd46b18a087d16d99b4aeea03bfdb46761 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Sat, 20 Nov 2021 14:15:58 +0100 Subject: [PATCH 074/268] Add generatedparticles to the list of saved objects for IsoTrack AlCaReco --- .../python/ALCARECOHcalCalIsoTrkFilterNoHLT_Output_cff.py | 1 + .../python/ALCARECOHcalCalIsoTrkFilter_Output_cff.py | 1 + .../python/ALCARECOHcalCalIsoTrkNoHLT_Output_cff.py | 1 + .../python/ALCARECOHcalCalIsoTrkProducerFilter_Output_cff.py | 1 + 4 files changed, 4 insertions(+) diff --git a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkFilterNoHLT_Output_cff.py b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkFilterNoHLT_Output_cff.py index a74e55db96a0a..461fd468bc21c 100644 --- a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkFilterNoHLT_Output_cff.py +++ b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkFilterNoHLT_Output_cff.py @@ -18,6 +18,7 @@ 'keep *_generalTracksExtra_*_*', 'keep *_offlinePrimaryVertices_*_*', 'keep *_TkAlIsoProdFilter_*_*', + 'keep *_genParticles_*_*', ) ) diff --git a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkFilter_Output_cff.py b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkFilter_Output_cff.py index b03364d3775ee..9e5dcf460a5f1 100644 --- a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkFilter_Output_cff.py +++ b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkFilter_Output_cff.py @@ -21,6 +21,7 @@ 'keep *_generalTracksExtra_*_*', 'keep *_offlinePrimaryVertices_*_*', 'keep *_TkAlIsoProdFilter_*_*', + 'keep *_genParticles_*_*', ) ) diff --git a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkNoHLT_Output_cff.py b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkNoHLT_Output_cff.py index c6640742ae0a4..54e69ba501fe9 100644 --- a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkNoHLT_Output_cff.py +++ b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkNoHLT_Output_cff.py @@ -19,6 +19,7 @@ 'keep *_hbhereco_*_*', 'keep edmTriggerResults_*_*_*', 'keep triggerTriggerEvent_*_*_*', + 'keep *_genParticles_*_*', ) ) diff --git a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkProducerFilter_Output_cff.py b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkProducerFilter_Output_cff.py index bc8cc438bd64d..bdc73114ab11a 100644 --- a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkProducerFilter_Output_cff.py +++ b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalIsoTrkProducerFilter_Output_cff.py @@ -11,6 +11,7 @@ outputCommands = cms.untracked.vstring( 'keep *_alcaHcalIsotrkProducer_HcalIsoTrack_*', 'keep *_alcaHcalIsotrkProducer_HcalIsoTrackEvent_*', + 'keep *_genParticles_*_*', ) ) From 73db4a665fa360b87d583d675c4718bbf39cfa60 Mon Sep 17 00:00:00 2001 From: swmukher Date: Sat, 20 Nov 2021 14:34:45 +0100 Subject: [PATCH 075/268] Addressed comments from Vincenzo and Joosep --- .../FixedGridRhoProducerFastjetFromRecHit.cc | 50 ++++++++----------- 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc index 962f657516a7d..26440f4eb96f5 100644 --- a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc +++ b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc @@ -37,9 +37,9 @@ class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { private: void produce(edm::Event &, const edm::EventSetup &) override; - void getHitP4(const DetId &detId, float hitE, math::XYZTLorentzVector &hitp4, const CaloGeometry &caloGeometry); - bool passedHcalNoiseCut(const HBHERecHit &hit); - bool passedEcalNoiseCut(const EcalRecHit &hit, const EcalPFRecHitThresholds &thresholds); + std::array getHitP4(const DetId &detId, double hitE, const CaloGeometry &caloGeometry) const; + bool passedHcalNoiseCut(const HBHERecHit &hit) const; + bool passedEcalNoiseCut(const EcalRecHit &hit, const EcalPFRecHitThresholds &thresholds) const; fastjet::GridMedianBackgroundEstimator bge_; const edm::EDGetTokenT hbheRecHitsTag_; @@ -105,9 +105,8 @@ void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event &iEvent, const ed inputs.reserve(inputs.size() + hbheRecHits.size()); for (const auto &hit : hbheRecHits) { if (passedHcalNoiseCut(hit)) { - math::XYZTLorentzVector hitp4(0, 0, 0, 0); - getHitP4(hit.id(), hit.energy(), hitp4, caloGeometry); - inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); + const auto &hitp4 = getHitP4(hit.id(), hit.energy(), caloGeometry); + inputs.emplace_back(fastjet::PseudoJet(hitp4[0], hitp4[1], hitp4[2], hitp4[3])); } } } @@ -117,9 +116,8 @@ void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event &iEvent, const ed inputs.reserve(inputs.size() + ebRecHits.size()); for (const auto &hit : ebRecHits) { if (passedEcalNoiseCut(hit, thresholds)) { - math::XYZTLorentzVector hitp4(0, 0, 0, 0); - getHitP4(hit.id(), hit.energy(), hitp4, caloGeometry); - inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); + const auto &hitp4 = getHitP4(hit.id(), hit.energy(), caloGeometry); + inputs.emplace_back(fastjet::PseudoJet(hitp4[0], hitp4[1], hitp4[2], hitp4[3])); } } @@ -127,9 +125,8 @@ void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event &iEvent, const ed inputs.reserve(inputs.size() + eeRecHits.size()); for (const auto &hit : eeRecHits) { if (passedEcalNoiseCut(hit, thresholds)) { - math::XYZTLorentzVector hitp4(0, 0, 0, 0); - getHitP4(hit.id(), hit.energy(), hitp4, caloGeometry); - inputs.push_back(fastjet::PseudoJet(hitp4.Px(), hitp4.Py(), hitp4.Pz(), hitp4.E())); + const auto &hitp4 = getHitP4(hit.id(), hit.energy(), caloGeometry); + inputs.emplace_back(fastjet::PseudoJet(hitp4[0], hitp4[1], hitp4[2], hitp4[3])); } } } @@ -138,28 +135,21 @@ void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event &iEvent, const ed iEvent.put(std::make_unique(bge_.rho())); } -void FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, - float hitE, - math::XYZTLorentzVector &hitp4, - const CaloGeometry &caloGeometry) { +std::array FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, + double hitE, + const CaloGeometry &caloGeometry) const { const CaloSubdetectorGeometry *subDetGeom = caloGeometry.getSubdetectorGeometry(detId); - if (subDetGeom != nullptr) { const auto &gpPos = subDetGeom->getGeometry(detId)->repPos(); - double thispt = hitE / cosh(gpPos.eta()); - double thispx = thispt * cos(gpPos.phi()); - double thispy = thispt * sin(gpPos.phi()); - double thispz = thispt * sinh(gpPos.eta()); - hitp4.SetPxPyPzE(thispx, thispy, thispz, hitE); - } else { - if (detId.rawId() != 0) - edm::LogWarning("FixedGridRhoProducerFastjetFromRecHit") - << "Geometry not found for a calo hit, setting p4 as (0,0,0,0)" << std::endl; - hitp4.SetPxPyPzE(0, 0, 0, 0); - } + const double thispt = hitE / cosh(gpPos.eta()); + const double thispx = thispt * cos(gpPos.phi()); + const double thispy = thispt * sin(gpPos.phi()); + const double thispz = thispt * sinh(gpPos.eta()); + std::array hitp4{{thispx, thispy, thispz, hitE}}; + return hitp4; } //HCAL noise cleaning cuts. -bool FixedGridRhoProducerFastjetFromRecHit::passedHcalNoiseCut(const HBHERecHit &hit) { +bool FixedGridRhoProducerFastjetFromRecHit::passedHcalNoiseCut(const HBHERecHit &hit) const { const auto thisDetId = hit.id(); const auto thisDepth = thisDetId.depth(); if (thisDetId.subdet() == HcalBarrel && hit.energy() > eThresHB_[thisDepth - 1]) @@ -171,7 +161,7 @@ bool FixedGridRhoProducerFastjetFromRecHit::passedHcalNoiseCut(const HBHERecHit //ECAL noise cleaning cuts using per-crystal PF-recHit thresholds. bool FixedGridRhoProducerFastjetFromRecHit::passedEcalNoiseCut(const EcalRecHit &hit, - const EcalPFRecHitThresholds &thresholds) { + const EcalPFRecHitThresholds &thresholds) const { return (hit.energy() > thresholds[hit.detid()]); } From f10d1614ded3f61777df7a0012be1c3da3c0974a Mon Sep 17 00:00:00 2001 From: swmukher Date: Sat, 20 Nov 2021 14:46:46 +0100 Subject: [PATCH 076/268] code-check --- .../FixedGridRhoProducerFastjetFromRecHit.cc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc index 26440f4eb96f5..2aed6b749a657 100644 --- a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc +++ b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc @@ -136,16 +136,16 @@ void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event &iEvent, const ed } std::array FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, - double hitE, - const CaloGeometry &caloGeometry) const { + double hitE, + const CaloGeometry &caloGeometry) const { const CaloSubdetectorGeometry *subDetGeom = caloGeometry.getSubdetectorGeometry(detId); - const auto &gpPos = subDetGeom->getGeometry(detId)->repPos(); - const double thispt = hitE / cosh(gpPos.eta()); - const double thispx = thispt * cos(gpPos.phi()); - const double thispy = thispt * sin(gpPos.phi()); - const double thispz = thispt * sinh(gpPos.eta()); - std::array hitp4{{thispx, thispy, thispz, hitE}}; - return hitp4; + const auto &gpPos = subDetGeom->getGeometry(detId)->repPos(); + const double thispt = hitE / cosh(gpPos.eta()); + const double thispx = thispt * cos(gpPos.phi()); + const double thispy = thispt * sin(gpPos.phi()); + const double thispz = thispt * sinh(gpPos.eta()); + std::array hitp4{{thispx, thispy, thispz, hitE}}; + return hitp4; } //HCAL noise cleaning cuts. From 0927ad3c0634aceb1b6293b2da787bed8c031eaa Mon Sep 17 00:00:00 2001 From: mmusich Date: Sat, 20 Nov 2021 19:04:19 +0100 Subject: [PATCH 077/268] get rid of CMS deprecation warnings in Calibration/TkAlCaRecoProducers --- .../test/DQMRootFileReader.cc | 24 ++++--------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/Calibration/TkAlCaRecoProducers/test/DQMRootFileReader.cc b/Calibration/TkAlCaRecoProducers/test/DQMRootFileReader.cc index 961cce72642f9..7362a3d253ee1 100644 --- a/Calibration/TkAlCaRecoProducers/test/DQMRootFileReader.cc +++ b/Calibration/TkAlCaRecoProducers/test/DQMRootFileReader.cc @@ -20,12 +20,9 @@ ROOT file #include // user include files -#include "FWCore/Framework/interface/EDAnalyzer.h" - +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/MakerMacros.h" - #include "FWCore/ParameterSet/interface/ParameterSet.h" - #include "DQMServices/Core/interface/DQMStore.h" #include "FWCore/ServiceRegistry/interface/Service.h" @@ -35,19 +32,16 @@ using std::endl; // // class declaration // -class DQMRootFileReader : public edm::EDAnalyzer { +class DQMRootFileReader : public edm::one::EDAnalyzer<> { public: typedef dqm::legacy::DQMStore DQMStore; explicit DQMRootFileReader(const edm::ParameterSet &); - ~DQMRootFileReader(); + ~DQMRootFileReader() override = default; - virtual void analyze(const edm::Event &, const edm::EventSetup &); - - virtual void endJob(void); + void analyze(const edm::Event &, const edm::EventSetup &) override; private: // ----------member data --------------------------- - // back-end interface DQMStore *dbe; std::string filename; @@ -59,19 +53,9 @@ class DQMRootFileReader : public edm::EDAnalyzer { DQMRootFileReader::DQMRootFileReader(const edm::ParameterSet &iConfig) { // get hold of back-end interface dbe = edm::Service().operator->(); - filename = iConfig.getUntrackedParameter("RootFileName", "test_playback.root"); } -DQMRootFileReader::~DQMRootFileReader() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -void DQMRootFileReader::endJob(void) { - // dbe->save("test.root"); -} - // // member functions // From cfc37fb634d09a03e9013e49f10bd388b854cf83 Mon Sep 17 00:00:00 2001 From: mmusich Date: Sat, 20 Nov 2021 19:04:32 +0100 Subject: [PATCH 078/268] get rid of CMS deprecation warnings in CalibTracker/SiStripHitEfficiency --- .../SiStripHitEfficiency/plugins/SiStripHitEffFromCalibTree.cc | 1 - CalibTracker/SiStripHitEfficiency/src/HitEff.cc | 1 - 2 files changed, 2 deletions(-) diff --git a/CalibTracker/SiStripHitEfficiency/plugins/SiStripHitEffFromCalibTree.cc b/CalibTracker/SiStripHitEfficiency/plugins/SiStripHitEffFromCalibTree.cc index 210059ecbcd67..86f3b915d89e0 100644 --- a/CalibTracker/SiStripHitEfficiency/plugins/SiStripHitEffFromCalibTree.cc +++ b/CalibTracker/SiStripHitEfficiency/plugins/SiStripHitEffFromCalibTree.cc @@ -7,7 +7,6 @@ #include #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/ESHandle.h" diff --git a/CalibTracker/SiStripHitEfficiency/src/HitEff.cc b/CalibTracker/SiStripHitEfficiency/src/HitEff.cc index 3c46552092184..acfbd40ae119b 100644 --- a/CalibTracker/SiStripHitEfficiency/src/HitEff.cc +++ b/CalibTracker/SiStripHitEfficiency/src/HitEff.cc @@ -12,7 +12,6 @@ #include #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" From 86b6c2652ceb7ea2896c5c4774d7150e8a8e4c40 Mon Sep 17 00:00:00 2001 From: Martin Date: Wed, 13 Oct 2021 15:54:43 -0500 Subject: [PATCH 079/268] DataFormat for MuonRechitCluster --- .../MuonReco/interface/MuonRecHitCluster.h | 66 +++++ DataFormats/MuonReco/src/MuonRecHitCluster.cc | 26 ++ DataFormats/MuonReco/src/classes.h | 1 + DataFormats/MuonReco/src/classes_def.xml | 6 + .../plugins/BuildFile.xml | 9 + .../plugins/RechitClusterProducer.cc | 268 ++++++++++++++++++ .../python/rechitCluster_cff.py | 18 ++ 7 files changed, 394 insertions(+) create mode 100644 DataFormats/MuonReco/interface/MuonRecHitCluster.h create mode 100644 DataFormats/MuonReco/src/MuonRecHitCluster.cc create mode 100644 RecoMuon/MuonRechitClusterProducer/plugins/BuildFile.xml create mode 100644 RecoMuon/MuonRechitClusterProducer/plugins/RechitClusterProducer.cc create mode 100644 RecoMuon/MuonRechitClusterProducer/python/rechitCluster_cff.py diff --git a/DataFormats/MuonReco/interface/MuonRecHitCluster.h b/DataFormats/MuonReco/interface/MuonRecHitCluster.h new file mode 100644 index 0000000000000..6383cd1b4e9f3 --- /dev/null +++ b/DataFormats/MuonReco/interface/MuonRecHitCluster.h @@ -0,0 +1,66 @@ +#ifndef DataFormats_MuonReco_MuonRecHitCluster_h +#define DataFormats_MuonReco_MuonRecHitCluster_h + +#include +#include "DataFormats/Common/interface/SortedCollection.h" +#include "DataFormats/Math/interface/Vector3D.h" + +namespace reco { + + class MuonRecHitCluster { + public: + //default constructor + MuonRecHitCluster() = default; + + MuonRecHitCluster(const math::RhoEtaPhiVectorF position, + const int size, + const int nStation, + const float avgStation, + const float time, + const float timeSpread, + const int nME11, + const int nME12, + const int nME41, + const int nME42, + const int nMB1, + const int nMB2); + + // + ~MuonRecHitCluster() = default; + + float eta() const { return position_.Eta(); } + float phi() const { return position_.Phi(); } + float x() const { return position_.X(); } + float y() const { return position_.Y(); } + float z() const { return position_.Z(); } + float r() const { return position_.Rho(); } + int size() const { return size_; } + int nStation() const { return nStation_; } + float avgStation() const { return avgStation_; } + int nMB1() const { return nMB1_; } + int nMB2() const { return nMB2_; } + int nME11() const { return nME11_; } + int nME12() const { return nME12_; } + int nME41() const { return nME41_; } + int nME42() const { return nME42_; } + float time() const { return time_; } + float timeSpread() const { return timeSpread_; } + + private: + math::RhoEtaPhiVectorF position_; + int size_; + int nStation_; + float avgStation_; + float time_; + float timeSpread_; + int nME11_; + int nME12_; + int nME41_; + int nME42_; + int nMB1_; + int nMB2_; + }; + + typedef std::vector MuonRecHitClusterCollection; +} // namespace reco +#endif diff --git a/DataFormats/MuonReco/src/MuonRecHitCluster.cc b/DataFormats/MuonReco/src/MuonRecHitCluster.cc new file mode 100644 index 0000000000000..22e96f004e789 --- /dev/null +++ b/DataFormats/MuonReco/src/MuonRecHitCluster.cc @@ -0,0 +1,26 @@ +#include "DataFormats/MuonReco/interface/MuonRecHitCluster.h" + +reco::MuonRecHitCluster::MuonRecHitCluster(const math::RhoEtaPhiVectorF position, + const int size, + const int nStation, + const float avgStation, + const float time, + const float timeSpread, + const int nME11, + const int nME12, + const int nME41, + const int nME42, + const int nMB1, + const int nMB2) + : position_(position), + size_(size), + nStation_(nStation), + avgStation_(avgStation), + time_(time), + timeSpread_(timeSpread), + nME11_(nME11), + nME12_(nME12), + nME41_(nME41), + nME42_(nME42), + nMB1_(nMB1), + nMB2_(nMB2) {} diff --git a/DataFormats/MuonReco/src/classes.h b/DataFormats/MuonReco/src/classes.h index a9b8eb5c5bb17..bfbdebc1a5655 100644 --- a/DataFormats/MuonReco/src/classes.h +++ b/DataFormats/MuonReco/src/classes.h @@ -20,6 +20,7 @@ #include "DataFormats/MuonReco/interface/MuonQuality.h" #include "DataFormats/MuonReco/interface/MuonCosmicCompatibility.h" #include "DataFormats/MuonReco/interface/MuonShower.h" +#include "DataFormats/MuonReco/interface/MuonRecHitCluster.h" #include "DataFormats/MuonReco/interface/MuonToMuonMap.h" #include "DataFormats/TrackReco/interface/Track.h" #include "DataFormats/Common/interface/AssociationMap.h" diff --git a/DataFormats/MuonReco/src/classes_def.xml b/DataFormats/MuonReco/src/classes_def.xml index 1184cdbbd1e46..77e7419873b8a 100644 --- a/DataFormats/MuonReco/src/classes_def.xml +++ b/DataFormats/MuonReco/src/classes_def.xml @@ -164,6 +164,12 @@ initial version number of a class which has never been stored before. + + + + + + diff --git a/RecoMuon/MuonRechitClusterProducer/plugins/BuildFile.xml b/RecoMuon/MuonRechitClusterProducer/plugins/BuildFile.xml new file mode 100644 index 0000000000000..8e4d6eaea8968 --- /dev/null +++ b/RecoMuon/MuonRechitClusterProducer/plugins/BuildFile.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/RecoMuon/MuonRechitClusterProducer/plugins/RechitClusterProducer.cc b/RecoMuon/MuonRechitClusterProducer/plugins/RechitClusterProducer.cc new file mode 100644 index 0000000000000..5751491aa67b5 --- /dev/null +++ b/RecoMuon/MuonRechitClusterProducer/plugins/RechitClusterProducer.cc @@ -0,0 +1,268 @@ +#include +#include + +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/global/EDProducer.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/Utilities/interface/StreamID.h" + +#include "DataFormats/Common/interface/Ptr.h" +#include "DataFormats/Math/interface/deltaPhi.h" +#include "DataFormats/MuonReco/interface/MuonRecHitCluster.h" +#include "Geometry/CSCGeometry/interface/CSCGeometry.h" +#include "Geometry/Records/interface/MuonGeometryRecord.h" +#include "DataFormats/MuonDetId/interface/CSCDetId.h" + +#include "fastjet/JetDefinition.hh" +#include "fastjet/ClusterSequence.hh" +#include "fastjet/PseudoJet.hh" + +#include "Geometry/CSCGeometry/interface/CSCGeometry.h" +#include "Geometry/DTGeometry/interface/DTGeometry.h" +#include "DataFormats/MuonDetId/interface/CSCDetId.h" +#include "DataFormats/Math/interface/Vector3D.h" +#include "DataFormats/Math/interface/PtEtaPhiMass.h" +#include "DataFormats/DTRecHit/interface/DTRecHitCollection.h" +#include "DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h" +#include "DataFormats/MuonReco/interface/MuonRecHitCluster.h" + +typedef std::vector RecHitClusterCollection; + +template +class RechitClusterProducerT : public edm::global::EDProducer<> { + typedef typename Trait::RecHitRef RechitRef; + typedef typename Trait::RecHitRefVector RecHitRefVector; + +public: + explicit RechitClusterProducerT(const edm::ParameterSet&); + ~RechitClusterProducerT() override = default; + + static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); + +private: + void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; + const edm::ESGetToken GeometryToken_; + edm::EDGetTokenT InputToken_; + typedef std::vector RecHitClusterCollection; + + const double rParam_; // distance paramter + const int nRechitMin_; // min number of rechits + const int nStationThres_; // min number of rechits to count towards nStation +}; + +template +RechitClusterProducerT::RechitClusterProducerT(const edm::ParameterSet& iConfig) + : GeometryToken_(esConsumes()), + InputToken_(consumes(iConfig.getParameter("recHitLabel"))), + rParam_(iConfig.getParameter("rParam")), + nRechitMin_(iConfig.getParameter("nRechitMin")), + nStationThres_(iConfig.getParameter("nStationThres")) { + produces(); +} + +// +// member functions +// + +// ------------ method called to produce the data ------------ +template +void RechitClusterProducerT::produce(edm::StreamID, edm::Event& ev, const edm::EventSetup& iSetup) const { + auto const& geo = iSetup.getData(GeometryToken_); + auto const& rechits = ev.get(InputToken_); + + std::vector fjInput; + RecHitRefVector inputs_; + + fastjet::JetDefinition jet_def(fastjet::cambridge_algorithm, rParam_); + + inputs_.clear(); + fjInput.clear(); + + Trait RecHitTrait; + + int recIt = 0; + for (auto const& rechit : rechits) { + LocalPoint RecHitLocalPosition = rechit.localPosition(); + auto detid = RecHitTrait.detid(rechit); + auto thischamber = geo.chamber(detid); + if (thischamber) { + GlobalPoint globalPosition = thischamber->toGlobal(RecHitLocalPosition); + float x = globalPosition.x(); + float y = globalPosition.y(); + float z = globalPosition.z(); + RechitRef ref = RechitRef(&rechits, recIt); + inputs_.push_back(ref); + fjInput.push_back(fastjet::PseudoJet(x, y, z, globalPosition.mag())); + fjInput.back().set_user_index(recIt); + } + recIt++; + } + fastjet::ClusterSequence clus_seq(fjInput, jet_def); + + //keep all the clusters + double ptmin = 0.0; + std::vector fjJets = fastjet::sorted_by_pt(clus_seq.inclusive_jets(ptmin)); + + auto clusters = std::make_unique(); + if (!fjJets.empty()) { + for (unsigned int ijet = 0; ijet < fjJets.size(); ++ijet) { + // get the fastjet jet + const fastjet::PseudoJet& fjJet = fjJets[ijet]; + + // skip if the cluster has too few rechits + if (int(fjJet.constituents().size()) < nRechitMin_) + continue; + // get the constituents from fastjet + RecHitRefVector rechits; + for (unsigned int i = 0; i < fjJet.constituents().size(); i++) { + auto index = fjJet.constituents()[i].user_index(); + if (index >= 0 && static_cast(index) < inputs_.size()) { + rechits.push_back(inputs_[index]); + } + } + + //Derive cluster properties + int nStation = 0; + int totStation = 0; + float avgStation = 0.0; + std::map station_count_map; + for (auto& rechit : rechits) { + station_count_map[RecHitTrait.station(*rechit)]++; + } + //station statistics + std::map::iterator it; + for (auto const& [station, count] : station_count_map) { + if (count >= nStationThres_) { + nStation++; + avgStation += (station) * (count); + totStation += (count); + } + } + if (totStation != 0) { + avgStation = avgStation / totStation; + } + float invN = 1.f / rechits.size(); + // cluster position is the average position of the constituent rechits + float jetX = fjJet.px() * invN; + float jetY = fjJet.py() * invN; + float jetZ = fjJet.pz() * invN; + + math::RhoEtaPhiVectorF position( + std::sqrt(jetX * jetX + jetY * jetY), etaFromXYZ(jetX, jetY, jetZ), std::atan2(jetY, jetX)); + Trait::emplace_back(clusters.get(), position, nStation, avgStation, rechits); + } + } + ev.put(std::move(clusters)); +} + +// ------------ method fills 'descriptions' with the allowed parameters for the module ------------ +template +void RechitClusterProducerT::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + edm::ParameterSetDescription desc; + desc.add("nRechitMin", 50); + desc.add("rParam", 0.4); + desc.add("nStationThres", 10); + desc.add("recHitLabel", edm::InputTag(Trait::recHitLabel())); + descriptions.add(Trait::producerName(), desc); +} +struct DTRecHitTrait { + using GeometryType = DTGeometry; + using InputType = DTRecHitCollection; + using RecHitRef = edm::Ref; + using RecHitRefVector = edm::RefVector; + static std::string recHitLabel() { return "dt1DRecHits"; } + static std::string producerName() { return "DTrechitClusterProducer"; } + + static int station(const DTRecHit1DPair& dtRechit) { return detid(dtRechit).station(); } + static DTChamberId detid(const DTRecHit1DPair& dtRechit) { + DetId geoid = dtRechit.geographicalId(); + DTChamberId dtdetid = DTChamberId(geoid); + return dtdetid; + } + static void emplace_back(RecHitClusterCollection* clusters, + math::RhoEtaPhiVectorF const& position, + int nStation, + float avgStation, + RecHitRefVector const& rechits) { + // compute nMB1, nMB2 + int nMB1 = 0; + int nMB2 = 0; + for (auto& rechit : rechits) { + DetId geoid = rechit->geographicalId(); + DTChamberId dtdetid = DTChamberId(geoid); + if (dtdetid.station() == 1) + nMB1++; + if (dtdetid.station() == 2) + nMB2++; + } + //set time, timespread, nME11,nME12 to 0 + reco::MuonRecHitCluster cls(position, rechits.size(), nStation, avgStation, 0.0, 0.0, 0, 0, 0, 0, nMB1, nMB2); + clusters->emplace_back(cls); + } +}; + +struct CSCRecHitTrait { + using GeometryType = CSCGeometry; + using InputType = CSCRecHit2DCollection; + using RecHitRef = edm::Ref; + using RecHitRefVector = edm::RefVector; + static std::string recHitLabel() { return "csc2DRecHits"; } + static std::string producerName() { return "CSCrechitClusterProducer"; } + + static int station(const CSCRecHit2D& cscRechit) { return CSCDetId::station(detid(cscRechit)); } + static CSCDetId detid(const CSCRecHit2D& cscRechit) { return cscRechit.cscDetId(); } + static void emplace_back(RecHitClusterCollection* clusters, + math::RhoEtaPhiVectorF const& position, + int nStation, + float avgStation, + RecHitRefVector const& rechits) { + int nME11 = 0; + int nME12 = 0; + int nME41 = 0; + int nME42 = 0; + float timeSpread = 0.0; + float time = 0.0; + float time_strip = 0.0; // for timeSpread calculation + for (auto& rechit : rechits) { + CSCDetId cscdetid = rechit->cscDetId(); + int stationRing = (CSCDetId::station(cscdetid) * 10 + CSCDetId::ring(cscdetid)); + if (CSCDetId::ring(cscdetid) == 4) + stationRing = (CSCDetId::station(cscdetid) * 10 + 1); // ME1/a has ring==4 + if (stationRing == 11) + nME11++; + if (stationRing == 12) + nME12++; + if (stationRing == 41) + nME41++; + if (stationRing == 42) + nME42++; + time += (rechit->tpeak() + rechit->wireTime()); + time_strip += rechit->tpeak(); + } + float invN = 1.f / rechits.size(); + time = (time / 2.f) * invN; + time_strip = time_strip * invN; + + //derive cluster statistics + for (auto& rechit : rechits) { + timeSpread += (rechit->tpeak() - time_strip) * (rechit->tpeak() - time_strip); + } + timeSpread = std::sqrt(timeSpread * invN); + + //set nMB1,nMB2 to 0 + reco::MuonRecHitCluster cls( + position, rechits.size(), nStation, avgStation, time, timeSpread, nME11, nME12, nME41, nME42, 0, 0); + clusters->emplace_back(cls); + } +}; + +using DTrechitClusterProducer = RechitClusterProducerT; +using CSCrechitClusterProducer = RechitClusterProducerT; +DEFINE_FWK_MODULE(DTrechitClusterProducer); +DEFINE_FWK_MODULE(CSCrechitClusterProducer); diff --git a/RecoMuon/MuonRechitClusterProducer/python/rechitCluster_cff.py b/RecoMuon/MuonRechitClusterProducer/python/rechitCluster_cff.py new file mode 100644 index 0000000000000..f4dc69e7f77c8 --- /dev/null +++ b/RecoMuon/MuonRechitClusterProducer/python/rechitCluster_cff.py @@ -0,0 +1,18 @@ +import FWCore.ParameterSet.Config as cms + +import RecoMuon.MuonRechitClusterProducer.CSCrechitClusterProducer_cfi as CSCcluster +import RecoMuon.MuonRechitClusterProducer.DTrechitClusterProducer_cfi as DTcluster + +ca4CSCrechitClusters= CSCcluster.CSCrechitClusterProducer.clone( + recHitLabel = "csc2DRecHits", + nRechitMin = 50, + rParam = 0.4, + nStationThres = 10, +) +ca4DTrechitClusters = DTcluster.DTrechitClusterProducer.clone( + recHitLabel = "dt1DRecHits", + nRechitMin = 50, + rParam = 0.4, + nStationThres = 10, +) + From f9d732c07bf54125de3662d5e8fb5439cda19da8 Mon Sep 17 00:00:00 2001 From: Kirill Skovpen Date: Sun, 21 Nov 2021 12:05:00 +0100 Subject: [PATCH 080/268] fix 136 wfs --- .../PyReleaseValidation/python/relval_standard.py | 2 +- .../PyReleaseValidation/python/relval_steps.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Configuration/PyReleaseValidation/python/relval_standard.py b/Configuration/PyReleaseValidation/python/relval_standard.py index 57e8e3d04a129..961941edadb97 100644 --- a/Configuration/PyReleaseValidation/python/relval_standard.py +++ b/Configuration/PyReleaseValidation/python/relval_standard.py @@ -322,7 +322,7 @@ ### run 2017F ### workflows[136.828] = ['',['RunHLTPhy2017F','HLTDR2_2017','RECODR2_2017reHLT_Prompt','HARVEST2017']] -workflows[136.829] = ['',['RunDoubleEG2017F','HLTDR2_2017','RECODR2_2017reHLT_skimDoubleEG_Prompt','HARVEST2017']] +workflows[136.829] = ['',['RunDoubleEG2017F','HLTDR2_2017','RECODR2_2017reHLT_skimDoubleEG_Prompt','HARVEST2017_skimDoubleEG']] workflows[136.830] = ['',['RunDoubleMuon2017F','HLTDR2_2017','RECODR2_2017reHLT_Prompt','HARVEST2017']] workflows[136.831] = ['',['RunJetHT2017F','HLTDR2_2017','RECODR2_2017reHLT_skimJetHT_Prompt','HARVEST2017_skimJetHT']] workflows[136.832] = ['',['RunMET2017F','HLTDR2_2017','RECODR2_2017reHLT_skimMET_Prompt','HARVEST2017_skimMET']] diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index dda188037fff6..2d0c3536a665c 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -2853,7 +2853,7 @@ def gen2021HiMix(fragment,howMuch): steps['HARVESTDreHLT'] = merge([ {'--conditions':'auto:run1_data_%s'%menu}, steps['HARVESTD'] ]) steps['HARVESTDR1reHLT'] = merge([ {'--conditions':'auto:run1_data_%s'%menu}, steps['HARVESTDR1'] ]) steps['HARVESTDR2'] = merge([ {'--conditions':'auto:run2_data_relval'}, steps['HARVESTD'] ]) -steps['HARVESTDR2_skimDoubleEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'}, steps['HARVESTDR2'] ]) +steps['HARVESTDR2_skimDoubleEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma'}, steps['HARVESTDR2'] ]) steps['HARVESTDR2_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVESTDR2'] ]) steps['HARVESTDR2_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVESTDR2'] ]) steps['HARVESTDR2_skimMuonEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVESTDR2'] ]) @@ -2864,7 +2864,7 @@ def gen2021HiMix(fragment,howMuch): steps['HARVEST2016'] = merge([ {'--era':'Run2_2016'}, steps['HARVESTDR2'] ]) steps['HARVEST2016_L1TEgDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'}, steps['HARVEST2016'] ]) steps['HARVEST2016_L1TMuDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@muon+@lumi+@L1TMuon'}, steps['HARVEST2016'] ]) -steps['HARVEST2016_skimDoubleEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'}, steps['HARVEST2016'] ]) +steps['HARVEST2016_skimDoubleEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma'}, steps['HARVEST2016'] ]) steps['HARVEST2016_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2016'] ]) steps['HARVEST2016_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2016'] ]) steps['HARVEST2016_skimMuonEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2016'] ]) @@ -2877,7 +2877,7 @@ def gen2021HiMix(fragment,howMuch): steps['HARVEST2017ZB'] = merge([ {'--conditions':'auto:run2_data_relval','--era':'Run2_2017','--conditions':'auto:run2_data','-s':' HARVESTING:@rerecoZeroBiasFakeHLT+@miniAODDQM'}, steps['HARVESTD'] ]) steps['HARVEST2017_L1TEgDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'}, steps['HARVEST2017'] ]) steps['HARVEST2017_L1TMuDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@muon+@lumi+@L1TMuon'}, steps['HARVEST2017'] ]) -steps['HARVEST2017_skimDoubleEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'}, steps['HARVEST2017'] ]) +steps['HARVEST2017_skimDoubleEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma'}, steps['HARVEST2017'] ]) steps['HARVEST2017_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2017'] ]) steps['HARVEST2017_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2017'] ]) steps['HARVEST2017_skimMuonEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2017'] ]) @@ -2891,9 +2891,9 @@ def gen2021HiMix(fragment,howMuch): steps['HARVEST2018_Prompt'] = merge([ {'--conditions':'auto:run2_data_relval','--era':'Run2_2018','--conditions':'auto:run2_data',}, steps['HARVESTD'] ]) steps['HARVEST2018_PromptZB'] = merge([ {'--conditions':'auto:run2_data_relval','--era':'Run2_2018','--conditions':'auto:run2_data','-s':'HARVESTING:@rerecoZeroBiasFakeHLT+@miniAODDQM'}, steps['HARVESTD'] ]) steps['HARVEST2018_L1TEgDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'}, steps['HARVEST2018'] ]) -steps['HARVEST2018_L1TEgDQM_Prompt'] = merge([ {'-s':'HARVESTING:@standardDQMFakeHLT+@miniAODDQM+@L1TEgamma'}, steps['HARVEST2018_Prompt'] ]) +steps['HARVEST2018_L1TEgDQM_Prompt'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'}, steps['HARVEST2018_Prompt'] ]) steps['HARVEST2018_L1TMuDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@muon+@lumi+@L1TMuon'}, steps['HARVEST2018'] ]) -steps['HARVEST2018_L1TMuDQM_Prompt'] = merge([ {'-s':'HARVESTING:@standardDQMFakeHLT+@miniAODDQM+@L1TMuon'}, steps['HARVEST2018_Prompt'] ]) +steps['HARVEST2018_L1TMuDQM_Prompt'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@muon+@lumi+@L1TMuon'}, steps['HARVEST2018_Prompt'] ]) steps['HARVEST2018_pixelTrackingOnly'] = merge([ {'-s':'HARVESTING:@pixelTrackingOnlyDQM'}, steps['HARVEST2018'] ]) steps['HARVEST2018_ECALOnly'] = merge([ {'-s':'HARVESTING:@ecal'}, steps['HARVEST2018'] ]) steps['HARVEST2018_HCALOnly'] = merge([ {'-s':'HARVESTING:@hcalOnly'}, steps['HARVEST2018'] ]) From 9c3fbeb92adffdbfbffa954df2d2025ba5b53def Mon Sep 17 00:00:00 2001 From: Marino Missiroli Date: Sun, 21 Nov 2021 13:14:49 +0100 Subject: [PATCH 081/268] HLT menu development for 12_2_X --- .../Configuration/python/HLT_FULL_cff.py | 19 ++++++----- .../Configuration/python/HLT_Fake1_cff.py | 4 +-- .../Configuration/python/HLT_Fake2_cff.py | 4 +-- .../Configuration/python/HLT_Fake_cff.py | 4 +-- .../Configuration/python/HLT_GRun_cff.py | 19 ++++++----- .../Configuration/python/HLT_HIon_cff.py | 9 +++-- .../Configuration/python/HLT_PIon_cff.py | 4 +-- .../Configuration/python/HLT_PRef_cff.py | 27 ++++++++------- .../Configuration/test/OnLine_HLT_FULL.py | 25 +++++++------- .../Configuration/test/OnLine_HLT_Fake.py | 4 +-- .../Configuration/test/OnLine_HLT_Fake1.py | 4 +-- .../Configuration/test/OnLine_HLT_Fake2.py | 4 +-- .../Configuration/test/OnLine_HLT_GRun.py | 25 +++++++------- .../Configuration/test/OnLine_HLT_HIon.py | 9 +++-- .../Configuration/test/OnLine_HLT_PIon.py | 4 +-- .../Configuration/test/OnLine_HLT_PRef.py | 33 ++++++++++--------- 16 files changed, 108 insertions(+), 90 deletions(-) diff --git a/HLTrigger/Configuration/python/HLT_FULL_cff.py b/HLTrigger/Configuration/python/HLT_FULL_cff.py index c5b17196dd3dd..ff99f45867877 100644 --- a/HLTrigger/Configuration/python/HLT_FULL_cff.py +++ b/HLTrigger/Configuration/python/HLT_FULL_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/HLT --type FULL -# /dev/CMSSW_12_2_0/HLT/V4 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/HLT/V7 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/HLT/V4') + tableName = cms.string('/dev/CMSSW_12_2_0/HLT/V7') ) fragment.transferSystem = cms.PSet( @@ -3929,8 +3929,8 @@ 'ScoutingPFRun3' ) ) fragment.datasets = cms.PSet( - AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v1' ), - AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v1' ), + AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v2' ), + AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v2' ), AlCaP0 = cms.vstring( 'AlCa_EcalEtaEBonlyForHI_v1', 'AlCa_EcalEtaEBonly_v13', 'AlCa_EcalEtaEEonlyForHI_v1', @@ -9286,6 +9286,7 @@ ErrorMask = cms.uint32( 0 ), UnpackStatusDigis = cms.bool( False ), UseFormatStatus = cms.bool( True ), + useRPCs = cms.bool( False ), useGEMs = cms.bool( False ), useCSCShowers = cms.bool( False ), Debug = cms.untracked.bool( False ), @@ -9294,7 +9295,9 @@ VisualFEDInspect = cms.untracked.bool( False ), VisualFEDShort = cms.untracked.bool( False ), FormatedEventDump = cms.untracked.bool( False ), - SuppressZeroLCT = cms.untracked.bool( True ) + SuppressZeroLCT = cms.untracked.bool( True ), + DisableMappingCheck = cms.untracked.bool( False ), + B904Setup = cms.untracked.bool( False ) ) fragment.hltCsc2DRecHits = cms.EDProducer( "CSCRecHitDProducer", CSCStripPeakThreshold = cms.double( 10.0 ), @@ -124653,8 +124656,8 @@ fragment.HLT_ZeroBias_FirstBXAfterTrain_v3 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sL1ZeroBiasFirstBunchAfterTrain + fragment.hltPreZeroBiasFirstBXAfterTrain + fragment.HLTEndSequence ) fragment.AlCa_RPCMuonNormalisation_v13 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sSingleMu5IorSingleMu14erIorSingleMu16er + fragment.hltPreAlCaRPCMuonNormalisation + fragment.hltRPCMuonNormaL1Filtered0 + fragment.HLTMuonLocalRecoSequence + fragment.HLTEndSequence ) fragment.AlCa_HIRPCMuonNormalisation_v1 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sSingleMu7to30 + fragment.hltPreAlCaHIRPCMuonNormalisation + fragment.hltHIRPCMuonNormaL1Filtered0 + fragment.HLTMuonLocalRecoSequence + fragment.HLTEndSequence ) -fragment.AlCa_LumiPixelsCounts_Random_v1 = cms.Path( fragment.HLTBeginSequenceRandom + fragment.hltScalersRawToDigi + fragment.hltOnlineMetaDataDigis + fragment.hltPixelTrackerHVOn + fragment.hltPreAlCaLumiPixelsCountsRandom + fragment.hltSiPixelDigis + fragment.hltSiPixelClusters + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) -fragment.AlCa_LumiPixelsCounts_ZeroBias_v1 = cms.Path( fragment.HLTBeginSequence + fragment.hltPixelTrackerHVOn + fragment.hltL1sZeroBias + fragment.hltPreAlCaLumiPixelsCountsZeroBias + fragment.hltSiPixelDigis + fragment.hltSiPixelClusters + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) +fragment.AlCa_LumiPixelsCounts_Random_v2 = cms.Path( fragment.HLTBeginSequenceRandom + fragment.hltPreAlCaLumiPixelsCountsRandom + fragment.hltScalersRawToDigi + fragment.hltOnlineMetaDataDigis + fragment.hltPixelTrackerHVOn + fragment.HLTDoLocalPixelSequence + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) +fragment.AlCa_LumiPixelsCounts_ZeroBias_v2 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sZeroBias + fragment.hltPreAlCaLumiPixelsCountsZeroBias + fragment.hltPixelTrackerHVOn + fragment.HLTDoLocalPixelSequence + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) fragment.MC_ReducedIterativeTracking_v12 = cms.Path( fragment.HLTBeginSequence + fragment.hltPreMCReducedIterativeTracking + fragment.HLTRecoJetSequenceAK4PrePF + fragment.HLTDoLocalPixelSequence + fragment.HLTRecopixelvertexingSequence + fragment.HLTDoLocalStripSequence + fragment.HLTIterativeTrackingIter02 + fragment.HLTEndSequence ) fragment.MC_PFMET_v17 = cms.Path( fragment.HLTBeginSequence + fragment.hltPreMCPFMET + fragment.HLTAK4PFJetsSequence + fragment.hltPFMETProducer + fragment.hltPFMETOpenFilter + fragment.HLTEndSequence ) fragment.MC_AK4PFJets_v17 = cms.Path( fragment.HLTBeginSequence + fragment.hltPreMCAK4PFJets + fragment.HLTAK4PFJetsSequence + fragment.hltAK4PFJetCollection20Filter + fragment.HLTEndSequence ) @@ -125467,7 +125470,7 @@ fragment.ScoutingCaloMuonOutput = cms.Path( fragment.hltGtStage2Digis + fragment.hltPreScoutingCaloMuonOutput + fragment.hltFEDSelectorL1 + fragment.hltScoutingCaloPacker + fragment.hltScoutingMuonPackerCalo + fragment.hltScoutingPrimaryVertexPacker + fragment.hltScoutingPrimaryVertexPackerCaloMuon + fragment.hltScoutingTrackPacker ) -fragment.HLTSchedule = cms.Schedule( *(fragment.HLTriggerFirstPath, fragment.HLT_AK8PFJet360_TrimMass30_v18, fragment.HLT_AK8PFJet380_TrimMass30_v11, fragment.HLT_AK8PFJet400_TrimMass30_v12, fragment.HLT_AK8PFJet420_TrimMass30_v11, fragment.HLT_AK8PFHT750_TrimMass50_v12, fragment.HLT_AK8PFHT800_TrimMass50_v12, fragment.HLT_AK8PFHT850_TrimMass50_v11, fragment.HLT_AK8PFHT900_TrimMass50_v11, fragment.HLT_CaloJet10_NoJetID_v3, fragment.HLT_CaloJet20_NoJetID_v3, fragment.HLT_CaloJet50_NoJetID_v3, fragment.HLT_CaloJet500_NoJetID_v12, fragment.HLT_CaloJet550_NoJetID_v7, fragment.HLT_DoubleMu5_Upsilon_DoubleEle3_CaloIdL_TrackIdL_v4, fragment.HLT_DoubleMu3_DoubleEle7p5_CaloIdL_TrackIdL_Upsilon_v4, fragment.HLT_Trimuon5_3p5_2_Upsilon_Muon_v5, fragment.HLT_TrimuonOpen_5_3p5_2_Upsilon_Muon_v3, fragment.HLT_DoubleEle25_CaloIdL_MW_v4, fragment.HLT_DoubleEle27_CaloIdL_MW_v4, fragment.HLT_DoubleEle33_CaloIdL_MW_v17, fragment.HLT_DoubleEle24_eta2p1_WPTight_Gsf_v7, fragment.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350_v20, fragment.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350_v20, fragment.HLT_Ele27_Ele37_CaloIdL_MW_v4, fragment.HLT_Mu27_Ele37_CaloIdL_MW_v5, fragment.HLT_Mu37_Ele27_CaloIdL_MW_v5, fragment.HLT_Mu37_TkMu27_v5, fragment.HLT_DoubleMu4_3_Bs_v14, fragment.HLT_DoubleMu4_3_Jpsi_v2, fragment.HLT_DoubleMu4_JpsiTrk_Displaced_v15, fragment.HLT_DoubleMu4_LowMassNonResonantTrk_Displaced_v15, fragment.HLT_DoubleMu3_Trk_Tau3mu_v12, fragment.HLT_DoubleMu3_TkMu_DsTau3Mu_v4, fragment.HLT_DoubleMu4_PsiPrimeTrk_Displaced_v15, fragment.HLT_DoubleMu4_Mass3p8_DZ_PFHT350_v8, fragment.HLT_Mu3_PFJet40_v16, fragment.HLT_Mu7p5_L2Mu2_Jpsi_v10, fragment.HLT_Mu7p5_L2Mu2_Upsilon_v10, fragment.HLT_Mu7p5_Track2_Jpsi_v11, fragment.HLT_Mu7p5_Track3p5_Jpsi_v11, fragment.HLT_Mu7p5_Track7_Jpsi_v11, fragment.HLT_Mu7p5_Track2_Upsilon_v11, fragment.HLT_Mu7p5_Track3p5_Upsilon_v11, fragment.HLT_Mu7p5_Track7_Upsilon_v11, fragment.HLT_Mu3_L1SingleMu5orSingleMu7_v1, fragment.HLT_DoublePhoton33_CaloIdL_v6, fragment.HLT_DoublePhoton70_v6, fragment.HLT_DoublePhoton85_v14, fragment.HLT_Ele20_WPTight_Gsf_v6, fragment.HLT_Ele15_WPLoose_Gsf_v3, fragment.HLT_Ele17_WPLoose_Gsf_v3, fragment.HLT_Ele20_WPLoose_Gsf_v6, fragment.HLT_Ele20_eta2p1_WPLoose_Gsf_v6, fragment.HLT_DiEle27_WPTightCaloOnly_L1DoubleEG_v4, fragment.HLT_Ele27_WPTight_Gsf_v16, fragment.HLT_Ele28_WPTight_Gsf_v1, fragment.HLT_Ele30_WPTight_Gsf_v1, fragment.HLT_Ele32_WPTight_Gsf_v15, fragment.HLT_Ele35_WPTight_Gsf_v9, fragment.HLT_Ele35_WPTight_Gsf_L1EGMT_v5, fragment.HLT_Ele38_WPTight_Gsf_v9, fragment.HLT_Ele40_WPTight_Gsf_v9, fragment.HLT_Ele32_WPTight_Gsf_L1DoubleEG_v9, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTau30_eta2p1_CrossL1_v13, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_HT450_Beamspot_v11, fragment.HLT_HT300_Beamspot_v11, fragment.HLT_HT60_Beamspot_v1, fragment.HLT_ZeroBias_Beamspot_v4, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTau27_eta2p1_CrossL1_v12, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_CrossL1_v4, fragment.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v4, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS30_Trk1_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu27_LooseChargedIsoPFTau20_Trk1_eta2p1_SingleL1_v5, fragment.HLT_IsoMu27_LooseChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu27_MediumChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu27_TightChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu20_v15, fragment.HLT_IsoMu24_v13, fragment.HLT_IsoMu24_eta2p1_v15, fragment.HLT_IsoMu27_v16, fragment.HLT_IsoMu30_v4, fragment.HLT_UncorrectedJetE30_NoBPTX_v6, fragment.HLT_UncorrectedJetE30_NoBPTX3BX_v6, fragment.HLT_UncorrectedJetE60_NoBPTX3BX_v6, fragment.HLT_UncorrectedJetE70_NoBPTX3BX_v6, fragment.HLT_L1SingleMu18_v3, fragment.HLT_L1SingleMu25_v2, fragment.HLT_L1SingleMuOpen_v2, fragment.HLT_L1SingleMuOpen_DT_v2, fragment.HLT_L1SingleMuCosmics_v1, fragment.HLT_L1SingleMu3_v1, fragment.HLT_L1SingleMu5_v1, fragment.HLT_L1SingleMu7_v1, fragment.HLT_L1DoubleMu0_v1, fragment.HLT_L1SingleEG10_v2, fragment.HLT_L1SingleEG15_v2, fragment.HLT_L1SingleEG18_v1, fragment.HLT_L1SingleJet16_v1, fragment.HLT_L1SingleJet20_v1, fragment.HLT_L1SingleJet35_v1, fragment.HLT_L1SingleJet8erHE_v1, fragment.HLT_L1SingleJet10erHE_v1, fragment.HLT_L1SingleJet12erHE_v1, fragment.HLT_L1SingleJet200_v1, fragment.HLT_L1DoubleJetC50_v2, fragment.HLT_L1EXT_HCAL_LaserMon1_v1, fragment.HLT_L1EXT_HCAL_LaserMon4_v1, fragment.HLT_DQMPixels_SingleMuOpen_v1, fragment.HLT_L2DoubleMu23_NoVertex_v2, fragment.HLT_L2Mu10_v7, fragment.HLT_L2Mu10_NoVertex_NoBPTX3BX_v5, fragment.HLT_L2Mu10_NoVertex_NoBPTX_v6, fragment.HLT_L2Mu45_NoVertex_3Sta_NoBPTX3BX_v4, fragment.HLT_L2Mu40_NoVertex_3Sta_NoBPTX3BX_v5, fragment.HLT_L2Mu50_v2, fragment.HLT_L2Mu23NoVtx_2Cha_v1, fragment.HLT_L2Mu23NoVtx_2Cha_CosmicSeed_v1, fragment.HLT_DoubleL2Mu30NoVtx_2Cha_CosmicSeed_Eta2p4_v2, fragment.HLT_DoubleL2Mu30NoVtx_2Cha_Eta2p4_v2, fragment.HLT_DoubleL2Mu50_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_Eta2p4_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_Eta2p4_v2, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v14, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v15, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v5, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass8_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v5, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass3p8_v3, fragment.HLT_Mu25_TkMu0_Onia_v8, fragment.HLT_Mu30_TkMu0_Psi_v1, fragment.HLT_Mu30_TkMu0_Upsilon_v1, fragment.HLT_Mu20_TkMu0_Phi_v8, fragment.HLT_Mu25_TkMu0_Phi_v8, fragment.HLT_Mu12_v3, fragment.HLT_Mu15_v3, fragment.HLT_Mu20_v12, fragment.HLT_Mu27_v13, fragment.HLT_Mu50_v13, fragment.HLT_Mu55_v3, fragment.HLT_OldMu100_v3, fragment.HLT_TkMu100_v2, fragment.HLT_DiPFJet15_NoCaloMatched_v16, fragment.HLT_DiPFJet25_NoCaloMatched_v16, fragment.HLT_DiPFJet15_FBEta3_NoCaloMatched_v17, fragment.HLT_DiPFJet25_FBEta3_NoCaloMatched_v17, fragment.HLT_DiPFJetAve40_v14, fragment.HLT_DiPFJetAve60_v14, fragment.HLT_DiPFJetAve80_v13, fragment.HLT_DiPFJetAve140_v13, fragment.HLT_DiPFJetAve200_v13, fragment.HLT_DiPFJetAve260_v14, fragment.HLT_DiPFJetAve320_v14, fragment.HLT_DiPFJetAve400_v14, fragment.HLT_DiPFJetAve500_v14, fragment.HLT_DiPFJetAve15_HFJEC_v17, fragment.HLT_DiPFJetAve25_HFJEC_v17, fragment.HLT_DiPFJetAve35_HFJEC_v17, fragment.HLT_DiPFJetAve60_HFJEC_v15, fragment.HLT_DiPFJetAve80_HFJEC_v16, fragment.HLT_DiPFJetAve100_HFJEC_v16, fragment.HLT_DiPFJetAve160_HFJEC_v16, fragment.HLT_DiPFJetAve220_HFJEC_v16, fragment.HLT_DiPFJetAve300_HFJEC_v16, fragment.HLT_AK8PFJet15_v3, fragment.HLT_AK8PFJet25_v3, fragment.HLT_AK8PFJet40_v16, fragment.HLT_AK8PFJet60_v15, fragment.HLT_AK8PFJet80_v15, fragment.HLT_AK8PFJet140_v15, fragment.HLT_AK8PFJet200_v15, fragment.HLT_AK8PFJet260_v16, fragment.HLT_AK8PFJet320_v16, fragment.HLT_AK8PFJet400_v16, fragment.HLT_AK8PFJet450_v16, fragment.HLT_AK8PFJet500_v16, fragment.HLT_AK8PFJet550_v11, fragment.HLT_PFJet15_v3, fragment.HLT_PFJet25_v3, fragment.HLT_PFJet40_v21, fragment.HLT_PFJet60_v21, fragment.HLT_PFJet80_v20, fragment.HLT_PFJet140_v19, fragment.HLT_PFJet200_v19, fragment.HLT_PFJet260_v20, fragment.HLT_PFJet320_v20, fragment.HLT_PFJet400_v20, fragment.HLT_PFJet450_v21, fragment.HLT_PFJet500_v21, fragment.HLT_PFJet550_v11, fragment.HLT_PFJetFwd15_v3, fragment.HLT_PFJetFwd25_v3, fragment.HLT_PFJetFwd40_v19, fragment.HLT_PFJetFwd60_v19, fragment.HLT_PFJetFwd80_v18, fragment.HLT_PFJetFwd140_v18, fragment.HLT_PFJetFwd200_v18, fragment.HLT_PFJetFwd260_v19, fragment.HLT_PFJetFwd320_v19, fragment.HLT_PFJetFwd400_v19, fragment.HLT_PFJetFwd450_v19, fragment.HLT_PFJetFwd500_v19, fragment.HLT_AK8PFJetFwd15_v3, fragment.HLT_AK8PFJetFwd25_v3, fragment.HLT_AK8PFJetFwd40_v15, fragment.HLT_AK8PFJetFwd60_v14, fragment.HLT_AK8PFJetFwd80_v14, fragment.HLT_AK8PFJetFwd140_v14, fragment.HLT_AK8PFJetFwd200_v14, fragment.HLT_AK8PFJetFwd260_v15, fragment.HLT_AK8PFJetFwd320_v15, fragment.HLT_AK8PFJetFwd400_v15, fragment.HLT_AK8PFJetFwd450_v15, fragment.HLT_AK8PFJetFwd500_v15, fragment.HLT_PFHT180_v17, fragment.HLT_PFHT250_v17, fragment.HLT_PFHT370_v17, fragment.HLT_PFHT430_v17, fragment.HLT_PFHT510_v17, fragment.HLT_PFHT590_v17, fragment.HLT_PFHT680_v17, fragment.HLT_PFHT780_v17, fragment.HLT_PFHT890_v17, fragment.HLT_PFHT1050_v18, fragment.HLT_PFHT500_PFMET100_PFMHT100_IDTight_v12, fragment.HLT_PFHT500_PFMET110_PFMHT110_IDTight_v12, fragment.HLT_PFHT700_PFMET85_PFMHT85_IDTight_v12, fragment.HLT_PFHT700_PFMET95_PFMHT95_IDTight_v12, fragment.HLT_PFHT800_PFMET75_PFMHT75_IDTight_v12, fragment.HLT_PFHT800_PFMET85_PFMHT85_IDTight_v12, fragment.HLT_PFMET110_PFMHT110_IDTight_v20, fragment.HLT_PFMET120_PFMHT120_IDTight_v20, fragment.HLT_PFMET130_PFMHT130_IDTight_v20, fragment.HLT_PFMET140_PFMHT140_IDTight_v20, fragment.HLT_PFMET100_PFMHT100_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET110_PFMHT110_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET120_PFMHT120_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET130_PFMHT130_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET140_PFMHT140_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET120_PFMHT120_IDTight_PFHT60_v9, fragment.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne120_PFMHT120_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne110_PFMHT110_IDTight_v12, fragment.HLT_PFMETTypeOne120_PFMHT120_IDTight_v12, fragment.HLT_PFMETTypeOne130_PFMHT130_IDTight_v12, fragment.HLT_PFMETTypeOne140_PFMHT140_IDTight_v11, fragment.HLT_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, fragment.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, fragment.HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, fragment.HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, fragment.HLT_MonoCentralPFJet80_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, fragment.HLT_MonoCentralPFJet80_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, fragment.HLT_MonoCentralPFJet80_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, fragment.HLT_MonoCentralPFJet80_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, fragment.HLT_L1ETMHadSeeds_v2, fragment.HLT_CaloMHT90_v4, fragment.HLT_CaloMET80_NotCleaned_v4, fragment.HLT_CaloMET90_NotCleaned_v4, fragment.HLT_CaloMET100_NotCleaned_v4, fragment.HLT_CaloMET110_NotCleaned_v4, fragment.HLT_CaloMET250_NotCleaned_v4, fragment.HLT_CaloMET300_NotCleaned_v4, fragment.HLT_CaloMET350_NotCleaned_v4, fragment.HLT_PFMET200_NotCleaned_v9, fragment.HLT_PFMET250_NotCleaned_v9, fragment.HLT_PFMET300_NotCleaned_v9, fragment.HLT_PFMET200_BeamHaloCleaned_v9, fragment.HLT_PFMETTypeOne200_BeamHaloCleaned_v9, fragment.HLT_MET105_IsoTrk50_v9, fragment.HLT_MET120_IsoTrk50_v9, fragment.HLT_SingleJet30_Mu12_SinglePFJet40_v11, fragment.HLT_Mu12_DoublePFJets40_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets100_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets200_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets350_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets40MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets54MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets62MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets40_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets100_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets200_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets350_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets116MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets128MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Photon300_NoHE_v12, fragment.HLT_Mu8_TrkIsoVVL_v12, fragment.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_DZ_v18, fragment.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v18, fragment.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ_v19, fragment.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_v19, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v13, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBtagDeepCSV_1p5_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_CaloBtagDeepCSV_1p5_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v11, fragment.HLT_Mu17_TrkIsoVVL_v13, fragment.HLT_Mu19_TrkIsoVVL_v4, fragment.HLT_BTagMu_AK4DiJet20_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet40_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet70_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet110_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet170_Mu5_v12, fragment.HLT_BTagMu_AK4Jet300_Mu5_v12, fragment.HLT_BTagMu_AK8DiJet170_Mu5_v9, fragment.HLT_BTagMu_AK8Jet170_DoubleMu5_v2, fragment.HLT_BTagMu_AK8Jet300_Mu5_v12, fragment.HLT_BTagMu_AK4DiJet20_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet40_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet70_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet110_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet170_Mu5_noalgo_v12, fragment.HLT_BTagMu_AK4Jet300_Mu5_noalgo_v12, fragment.HLT_BTagMu_AK8DiJet170_Mu5_noalgo_v9, fragment.HLT_BTagMu_AK8Jet170_DoubleMu5_noalgo_v2, fragment.HLT_BTagMu_AK8Jet300_Mu5_noalgo_v12, fragment.HLT_Ele15_Ele8_CaloIdL_TrackIdL_IsoVL_v3, fragment.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v19, fragment.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v19, fragment.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v7, fragment.HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_DZ_v10, fragment.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v7, fragment.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.HLT_Mu12_DoublePhoton20_v5, fragment.HLT_TriplePhoton_20_20_20_CaloIdLV2_v3, fragment.HLT_TriplePhoton_20_20_20_CaloIdLV2_R9IdVL_v3, fragment.HLT_TriplePhoton_30_30_10_CaloIdLV2_v4, fragment.HLT_TriplePhoton_30_30_10_CaloIdLV2_R9IdVL_v4, fragment.HLT_TriplePhoton_35_35_5_CaloIdLV2_R9IdVL_v4, fragment.HLT_Photon20_v2, fragment.HLT_Photon22_v2, fragment.HLT_Photon25_v4, fragment.HLT_Photon33_v5, fragment.HLT_Photon50_v13, fragment.HLT_Photon75_v13, fragment.HLT_Photon90_v13, fragment.HLT_Photon120_v13, fragment.HLT_Photon150_v6, fragment.HLT_Photon175_v14, fragment.HLT_Photon200_v13, fragment.HLT_Photon100EB_TightID_TightIso_v2, fragment.HLT_Photon110EB_TightID_TightIso_v2, fragment.HLT_Photon120EB_TightID_TightIso_v2, fragment.HLT_Photon100EBHE10_v2, fragment.HLT_Photon100EEHE10_v2, fragment.HLT_Photon100EE_TightID_TightIso_v2, fragment.HLT_Photon50_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon75_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ300_PFJetsMJJ400DEta3_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ400_PFJetsMJJ600DEta3_v5, fragment.HLT_Photon90_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon120_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon165_R9Id90_HE10_IsoM_v15, fragment.HLT_Photon90_CaloIdL_PFHT700_v16, fragment.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v13, fragment.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v13, fragment.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v15, fragment.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v13, fragment.HLT_Photon35_TwoProngs35_v1, fragment.HLT_IsoMu24_TwoProngs35_v1, fragment.HLT_Dimuon0_Jpsi_L1_NoOS_v7, fragment.HLT_Dimuon0_Jpsi_NoVertexing_NoOS_v7, fragment.HLT_Dimuon0_Jpsi_v8, fragment.HLT_Dimuon0_Jpsi_NoVertexing_v8, fragment.HLT_Dimuon0_Jpsi_L1_4R_0er1p5R_v7, fragment.HLT_Dimuon0_Jpsi_NoVertexing_L1_4R_0er1p5R_v7, fragment.HLT_Dimuon0_Jpsi3p5_Muon2_v5, fragment.HLT_Dimuon0_Upsilon_L1_4p5_v9, fragment.HLT_Dimuon0_Upsilon_L1_5_v9, fragment.HLT_Dimuon0_Upsilon_L1_4p5NoOS_v8, fragment.HLT_Dimuon0_Upsilon_L1_4p5er2p0_v9, fragment.HLT_Dimuon0_Upsilon_L1_4p5er2p0M_v7, fragment.HLT_Dimuon0_Upsilon_NoVertexing_v7, fragment.HLT_Dimuon0_Upsilon_L1_5M_v8, fragment.HLT_Dimuon0_LowMass_L1_0er1p5R_v7, fragment.HLT_Dimuon0_LowMass_L1_0er1p5_v8, fragment.HLT_Dimuon0_LowMass_v8, fragment.HLT_Dimuon0_LowMass_L1_4_v8, fragment.HLT_Dimuon0_LowMass_L1_4R_v7, fragment.HLT_Dimuon0_LowMass_L1_TM530_v6, fragment.HLT_Trimuon2_Upsilon5_Muon_NoL1Mass_v6, fragment.HLT_Dimuon0_Upsilon_Muon_L1_TM0_v6, fragment.HLT_Dimuon0_Upsilon_Muon_NoL1Mass_v6, fragment.HLT_TripleMu_5_3_3_Mass3p8_DZ_v8, fragment.HLT_TripleMu_10_5_5_DZ_v10, fragment.HLT_TripleMu_12_10_5_v10, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_Charge1_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_Charge1_v4, fragment.HLT_DoubleMu3_DZ_PFMET50_PFMHT60_v10, fragment.HLT_DoubleMu3_DZ_PFMET70_PFMHT70_v10, fragment.HLT_DoubleMu3_DZ_PFMET90_PFMHT90_v10, fragment.HLT_DoubleMu3_Trk_Tau3mu_NoL1Mass_v6, fragment.HLT_DoubleMu4_Jpsi_Displaced_v7, fragment.HLT_DoubleMu4_Jpsi_NoVertexing_v7, fragment.HLT_DoubleMu4_JpsiTrkTrk_Displaced_v7, fragment.HLT_DoubleMu43NoFiltersNoVtx_v4, fragment.HLT_DoubleMu48NoFiltersNoVtx_v4, fragment.HLT_Mu43NoFiltersNoVtx_Photon43_CaloIdL_v5, fragment.HLT_Mu48NoFiltersNoVtx_Photon48_CaloIdL_v5, fragment.HLT_Mu38NoFiltersNoVtxDisplaced_Photon38_CaloIdL_v1, fragment.HLT_Mu43NoFiltersNoVtxDisplaced_Photon43_CaloIdL_v1, fragment.HLT_DoubleMu33NoFiltersNoVtxDisplaced_v1, fragment.HLT_DoubleMu40NoFiltersNoVtxDisplaced_v1, fragment.HLT_DoubleMu20_7_Mass0to30_L1_DM4_v7, fragment.HLT_DoubleMu20_7_Mass0to30_L1_DM4EG_v8, fragment.HLT_HT425_v9, fragment.HLT_HT430_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT500_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT430_DisplacedDijet60_DisplacedTrack_v13, fragment.HLT_HT400_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT650_DisplacedDijet60_Inclusive_v13, fragment.HLT_HT550_DisplacedDijet60_Inclusive_v13, fragment.HLT_DiJet110_35_Mjj650_PFMET110_v9, fragment.HLT_DiJet110_35_Mjj650_PFMET120_v9, fragment.HLT_DiJet110_35_Mjj650_PFMET130_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET110_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET120_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET130_v9, fragment.HLT_Ele30_eta2p1_WPTight_Gsf_CentralPFJet35_EleCleaned_v13, fragment.HLT_Ele28_eta2p1_WPTight_Gsf_HT150_v13, fragment.HLT_Ele28_HighEta_SC20_Mass55_v13, fragment.HLT_DoubleMu20_7_Mass0to30_Photon23_v8, fragment.HLT_Ele15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, fragment.HLT_Ele15_IsoVVVL_PFHT450_PFMET50_v16, fragment.HLT_Ele15_IsoVVVL_PFHT450_v16, fragment.HLT_Ele50_IsoVVVL_PFHT450_v16, fragment.HLT_Ele15_IsoVVVL_PFHT600_v20, fragment.HLT_Mu4_TrkIsoVVL_DiPFJet90_40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v15, fragment.HLT_Mu8_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v16, fragment.HLT_Mu10_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT350_PFMETNoMu60_v15, fragment.HLT_Mu15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, fragment.HLT_Mu15_IsoVVVL_PFHT450_PFMET50_v15, fragment.HLT_Mu15_IsoVVVL_PFHT450_v15, fragment.HLT_Mu50_IsoVVVL_PFHT450_v15, fragment.HLT_Mu15_IsoVVVL_PFHT600_v19, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET70_PFMHT70_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET80_PFMHT80_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET90_PFMHT90_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET100_PFMHT100_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu70_PFMHTNoMu70_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu80_PFMHTNoMu80_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu90_PFMHTNoMu90_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu100_PFMHTNoMu100_IDTight_v2, fragment.HLT_Dimuon10_PsiPrime_Barrel_Seagulls_v7, fragment.HLT_Dimuon20_Jpsi_Barrel_Seagulls_v7, fragment.HLT_Dimuon12_Upsilon_y1p4_v2, fragment.HLT_Dimuon14_Phi_Barrel_Seagulls_v7, fragment.HLT_Dimuon18_PsiPrime_v14, fragment.HLT_Dimuon25_Jpsi_v14, fragment.HLT_Dimuon18_PsiPrime_noCorrL1_v6, fragment.HLT_Dimuon24_Upsilon_noCorrL1_v6, fragment.HLT_Dimuon24_Phi_noCorrL1_v6, fragment.HLT_Dimuon25_Jpsi_noCorrL1_v6, fragment.HLT_DiMu4_Ele9_CaloIdL_TrackIdL_DZ_Mass3p8_v17, fragment.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_DZ_v17, fragment.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v17, fragment.HLT_DoubleIsoMu20_eta2p1_v7, fragment.HLT_TrkMu12_DoubleTrkMu5NoFiltersNoVtx_v6, fragment.HLT_TrkMu16_DoubleTrkMu6NoFiltersNoVtx_v12, fragment.HLT_TrkMu17_DoubleTrkMu8NoFiltersNoVtx_v13, fragment.HLT_Mu8_v12, fragment.HLT_Mu17_v13, fragment.HLT_Mu19_v4, fragment.HLT_Mu17_Photon30_IsoCaloId_v6, fragment.HLT_Ele8_CaloIdL_TrackIdL_IsoVL_PFJet30_v16, fragment.HLT_Ele12_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, fragment.HLT_Ele15_CaloIdL_TrackIdL_IsoVL_PFJet30_v3, fragment.HLT_Ele23_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, fragment.HLT_Ele8_CaloIdM_TrackIdM_PFJet30_v18, fragment.HLT_Ele17_CaloIdM_TrackIdM_PFJet30_v16, fragment.HLT_Ele23_CaloIdM_TrackIdM_PFJet30_v18, fragment.HLT_Ele50_CaloIdVT_GsfTrkIdT_PFJet165_v18, fragment.HLT_Ele115_CaloIdVT_GsfTrkIdT_v14, fragment.HLT_Ele135_CaloIdVT_GsfTrkIdT_v7, fragment.HLT_Ele145_CaloIdVT_GsfTrkIdT_v8, fragment.HLT_Ele200_CaloIdVT_GsfTrkIdT_v8, fragment.HLT_Ele250_CaloIdVT_GsfTrkIdT_v13, fragment.HLT_Ele300_CaloIdVT_GsfTrkIdT_v13, fragment.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_TriplePFBTagDeepCSV_4p5_v3, fragment.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_v9, fragment.HLT_PFHT400_SixPFJet32_DoublePFBTagDeepCSV_2p94_v8, fragment.HLT_PFHT400_SixPFJet32_v8, fragment.HLT_PFHT450_SixPFJet36_PFBTagDeepCSV_1p59_v7, fragment.HLT_PFHT450_SixPFJet36_v7, fragment.HLT_PFHT400_FivePFJet_100_100_60_30_30_v8, fragment.HLT_PFHT400_FivePFJet_100_100_60_30_30_DoublePFBTagDeepCSV_4p5_v8, fragment.HLT_PFHT400_FivePFJet_120_120_60_30_30_DoublePFBTagDeepCSV_4p5_v8, fragment.HLT_PFHT350_v19, fragment.HLT_PFHT350MinPFJet15_v9, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_v5, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_v5, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_PFHT350MinPFJet15_v11, fragment.HLT_ECALHT800_v10, fragment.HLT_DiSC30_18_EIso_AND_HE_Mass70_v13, fragment.HLT_L1FatEvents_v2, fragment.HLT_Physics_v7, fragment.HLT_Physics_part0_v7, fragment.HLT_Physics_part1_v7, fragment.HLT_Physics_part2_v7, fragment.HLT_Physics_part3_v7, fragment.HLT_Physics_part4_v7, fragment.HLT_Physics_part5_v7, fragment.HLT_Physics_part6_v7, fragment.HLT_Physics_part7_v7, fragment.DST_Physics_v7, fragment.HLT_Random_v3, fragment.HLT_Random_TOTEM_part0_v1, fragment.HLT_Random_TOTEM_part1_v1, fragment.HLT_Random_TOTEM_part2_v1, fragment.HLT_Random_TOTEM_part3_v1, fragment.HLT_ZeroBias_v6, fragment.HLT_ZeroBias_TOTEM_part0_v1, fragment.HLT_ZeroBias_TOTEM_part1_v1, fragment.HLT_ZeroBias_TOTEM_part2_v1, fragment.HLT_ZeroBias_TOTEM_part3_v1, fragment.HLT_ZeroBias_Alignment_v1, fragment.HLT_ZeroBias_part0_v6, fragment.HLT_ZeroBias_part1_v6, fragment.HLT_ZeroBias_part2_v6, fragment.HLT_ZeroBias_part3_v6, fragment.HLT_ZeroBias_part4_v6, fragment.HLT_ZeroBias_part5_v6, fragment.HLT_ZeroBias_part6_v6, fragment.HLT_ZeroBias_part7_v6, fragment.DST_ZeroBias_v2, fragment.DST_HT250_CaloScouting_v10, fragment.DST_HT250_CaloBTagScouting_v10, fragment.DST_HT410_PFScouting_v16, fragment.DST_HT410_BTagScouting_v16, fragment.DST_ZeroBias_BTagScouting_v15, fragment.DST_ZeroBias_CaloScouting_PFScouting_v14, fragment.DST_CaloJet40_BTagScouting_v15, fragment.DST_CaloJet40_CaloScouting_PFScouting_v15, fragment.DST_CaloJet40_CaloBTagScouting_v14, fragment.DST_L1HTT_BTagScouting_v15, fragment.DST_L1HTT_CaloScouting_PFScouting_v15, fragment.DST_L1HTT_CaloBTagScouting_v14, fragment.DST_L1DoubleMu_BTagScouting_v16, fragment.DST_L1DoubleMu_CaloScouting_PFScouting_v15, fragment.DST_DoubleMu3_noVtx_CaloScouting_Monitoring_v6, fragment.DST_DoubleMu3_noVtx_CaloScouting_v6, fragment.DST_DoubleMu1_noVtx_CaloScouting_v2, fragment.DST_DoubleMu3_noVtx_Mass10_PFScouting_v3, fragment.DST_Run3_PFScoutingPixelTracking_v16, fragment.HLT_AK4CaloJet30_v11, fragment.HLT_AK4CaloJet40_v10, fragment.HLT_AK4CaloJet50_v10, fragment.HLT_AK4CaloJet80_v10, fragment.HLT_AK4CaloJet100_v10, fragment.HLT_AK4CaloJet120_v9, fragment.HLT_AK4PFJet30_v19, fragment.HLT_AK4PFJet50_v19, fragment.HLT_AK4PFJet80_v19, fragment.HLT_AK4PFJet100_v19, fragment.HLT_AK4PFJet120_v18, fragment.HLT_PixelTracks_Multiplicity60ForPPRef_v5, fragment.HLT_PixelTracks_Multiplicity85ForPPRef_v5, fragment.HLT_PixelTracks_Multiplicity110ForPPRef_v5, fragment.HLT_PixelTracks_Multiplicity135ForPPRef_v5, fragment.HLT_PixelTracks_Multiplicity160ForPPRef_v5, fragment.HLT_AK4CaloJet40_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet60_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet80_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet100_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet110_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet120_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet150ForPPRef_v9, fragment.HLT_AK4PFJet40_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet60_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet80_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet100_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet110_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet120_Eta5p1ForPPRef_v16, fragment.HLT_AK4CaloJet80_Jet35_Eta1p1ForPPRef_v9, fragment.HLT_AK4CaloJet80_Jet35_Eta0p7ForPPRef_v9, fragment.HLT_AK4CaloJet100_Jet35_Eta1p1ForPPRef_v9, fragment.HLT_AK4CaloJet100_Jet35_Eta0p7ForPPRef_v9, fragment.HLT_AK4CaloJet80_45_45_Eta2p1ForPPRef_v9, fragment.HLT_SinglePhoton10_Eta3p1ForPPRef_v8, fragment.HLT_SinglePhoton15_Eta3p1ForPPRef_v9, fragment.HLT_SinglePhoton20_Eta3p1ForPPRef_v9, fragment.HLT_SinglePhoton30_Eta3p1ForPPRef_v9, fragment.HLT_SinglePhoton40_Eta3p1ForPPRef_v8, fragment.HLT_SinglePhoton50_Eta3p1ForPPRef_v8, fragment.HLT_SinglePhoton60_Eta3p1ForPPRef_v8, fragment.HLT_Photon20_HoverELoose_v10, fragment.HLT_Photon30_HoverELoose_v10, fragment.HLT_Photon40_HoverELoose_v10, fragment.HLT_Photon50_HoverELoose_v10, fragment.HLT_Photon60_HoverELoose_v10, fragment.HLT_HIL2Mu3Eta2p5_AK4CaloJet40Eta2p1ForPPRef_v11, fragment.HLT_HIL2Mu3Eta2p5_AK4CaloJet60Eta2p1ForPPRef_v11, fragment.HLT_HIL2Mu3Eta2p5_AK4CaloJet80Eta2p1ForPPRef_v11, fragment.HLT_HIL2Mu3Eta2p5_AK4CaloJet100Eta2p1ForPPRef_v11, fragment.HLT_HIL1DoubleMu0ForPPRef_v4, fragment.HLT_HIL1DoubleMu10ForPPRef_v4, fragment.HLT_HIL2DoubleMu0_NHitQForPPRef_v5, fragment.HLT_HIL3DoubleMu0_OS_m2p5to4p5ForPPRef_v6, fragment.HLT_HIL3DoubleMu0_OS_m7to14ForPPRef_v6, fragment.HLT_HIL2Mu3_NHitQ10ForPPRef_v6, fragment.HLT_HIL3Mu3_NHitQ15ForPPRef_v6, fragment.HLT_HIL2Mu5_NHitQ10ForPPRef_v6, fragment.HLT_HIL3Mu5_NHitQ15ForPPRef_v6, fragment.HLT_HIL2Mu7_NHitQ10ForPPRef_v6, fragment.HLT_HIL3Mu7_NHitQ15ForPPRef_v6, fragment.HLT_HIL2Mu15ForPPRef_v6, fragment.HLT_HIL3Mu15ForPPRef_v6, fragment.HLT_HIL2Mu20ForPPRef_v6, fragment.HLT_HIL3Mu20ForPPRef_v6, fragment.HLT_FullTrack18ForPPRef_v11, fragment.HLT_FullTrack24ForPPRef_v11, fragment.HLT_FullTrack34ForPPRef_v11, fragment.HLT_FullTrack45ForPPRef_v11, fragment.HLT_FullTrack53ForPPRef_v11, fragment.HLT_HIL1CastorMediumJetForPPRef_v4, fragment.HLT_HIL1UnpairedBunchBptxMinusForPPRef_v2, fragment.HLT_HIL1UnpairedBunchBptxPlusForPPRef_v2, fragment.HLT_HIL1NotBptxORForPPRef_v2, fragment.HLT_HIHT80_Beamspot_ppRef5TeV_v3, fragment.HLT_HIZeroBias_part0_v6, fragment.HLT_HIZeroBias_part1_v6, fragment.HLT_HIZeroBias_part2_v6, fragment.HLT_HIZeroBias_part3_v6, fragment.HLT_HIZeroBias_part4_v6, fragment.HLT_HIZeroBias_part5_v6, fragment.HLT_HIZeroBias_part6_v6, fragment.HLT_HIZeroBias_part7_v6, fragment.HLT_HIZeroBias_part8_v6, fragment.HLT_HIZeroBias_part9_v6, fragment.HLT_HIZeroBias_part10_v6, fragment.HLT_HIZeroBias_part11_v6, fragment.AlCa_HIEcalPi0EBonly_v1, fragment.AlCa_HIEcalPi0EEonly_v1, fragment.AlCa_HIEcalEtaEBonly_v1, fragment.AlCa_HIEcalEtaEEonly_v1, fragment.HLT_DmesonPPTrackingGlobal_Dpt8ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt15ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt20ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt30ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt40ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt50ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt60ForPPRef_v11, fragment.HLT_AK4PFBJetBCSV60_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFBJetBCSV80_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFDJet60_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFDJet80_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFBJetBSSV60_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFBJetBSSV80_Eta2p1ForPPRef_v16, fragment.HLT_EcalCalibration_v4, fragment.HLT_HcalCalibration_v5, fragment.AlCa_EcalPhiSym_v9, fragment.HLT_L1UnpairedBunchBptxMinus_v2, fragment.HLT_L1UnpairedBunchBptxPlus_v2, fragment.HLT_L1NotBptxOR_v3, fragment.HLT_L1BptxXOR_v1, fragment.HLT_L1TOTEM1_MinBias_v4, fragment.HLT_L1TOTEM2_ZeroBias_v4, fragment.HLT_L1MinimumBiasHF_OR_v3, fragment.HLT_L1MinimumBiasHF_OR_part0_v1, fragment.HLT_L1MinimumBiasHF_OR_part1_v1, fragment.HLT_L1MinimumBiasHF_OR_part2_v1, fragment.HLT_L1MinimumBiasHF_OR_part3_v1, fragment.HLT_L1MinimumBiasHF_OR_part4_v1, fragment.HLT_L1MinimumBiasHF_OR_part5_v1, fragment.HLT_L1MinimumBiasHF_OR_part6_v1, fragment.HLT_L1MinimumBiasHF_OR_part7_v1, fragment.HLT_L1MinimumBiasHF_OR_part8_v1, fragment.HLT_L1MinimumBiasHF_OR_part9_v1, fragment.HLT_L1MinimumBiasHF0OR_v4, fragment.HLT_L1MinimumBiasHF1OR_v4, fragment.HLT_L1MinimumBiasHF2OR_v4, fragment.HLT_L1MinimumBiasHF2ORNoBptxGating_v5, fragment.HLT_L1MinimumBiasHF1AND_v4, fragment.HLT_L1MinimumBiasHF2AND_v4, fragment.HLT_L1_CDC_SingleMu_3_er1p2_TOP120_DPHI2p618_3p142_v2, fragment.HLT_CDC_L2cosmic_10_er1p0_v1, fragment.HLT_CDC_L2cosmic_5p5_er1p0_v1, fragment.HLT_HcalNZS_v13, fragment.HLT_HcalPhiSym_v15, fragment.HLT_HcalIsolatedbunch_v5, fragment.HLT_IsoTrackHB_v4, fragment.HLT_IsoTrackHE_v4, fragment.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, fragment.HLT_ZeroBias_IsolatedBunches_v5, fragment.HLT_ZeroBias_FirstCollisionInTrain_v4, fragment.HLT_ZeroBias_LastCollisionInTrain_v3, fragment.HLT_ZeroBias_FirstBXAfterTrain_v3, fragment.AlCa_RPCMuonNormalisation_v13, fragment.AlCa_HIRPCMuonNormalisation_v1, fragment.AlCa_LumiPixelsCounts_Random_v1, fragment.AlCa_LumiPixelsCounts_ZeroBias_v1, fragment.MC_ReducedIterativeTracking_v12, fragment.MC_PFMET_v17, fragment.MC_AK4PFJets_v17, fragment.MC_PFBTagDeepCSV_v10, fragment.MC_PFHT_v16, fragment.MC_PFMHT_v16, fragment.MC_CaloMET_v8, fragment.MC_CaloMET_JetIdCleaned_v9, fragment.MC_AK4CaloJets_v9, fragment.MC_AK4CaloJetsFromPV_v8, fragment.MC_CaloBTagDeepCSV_v8, fragment.MC_CaloHT_v8, fragment.MC_CaloMHT_v8, fragment.MC_AK8PFJets_v17, fragment.MC_AK8TrimPFJets_v17, fragment.MC_AK8PFHT_v16, fragment.MC_AK8CaloHT_v8, fragment.MC_Diphoton10_10_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass10_v13, fragment.MC_DoubleEle5_CaloIdL_MW_v15, fragment.MC_Ele5_WPTight_Gsf_v8, fragment.MC_Ele15_Ele10_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.MC_IsoMu_v15, fragment.MC_IsoTkMu15_v12, fragment.MC_DoubleMu_TrkIsoVVL_DZ_v11, fragment.MC_DoubleGlbTrkMu_TrkIsoVVL_DZ_v12, fragment.MC_DoubleMuNoFiltersNoVtx_v7, fragment.AlCa_EcalPi0EBonly_v13, fragment.AlCa_EcalPi0EEonly_v13, fragment.AlCa_EcalEtaEBonly_v13, fragment.AlCa_EcalEtaEEonly_v13, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET90_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET100_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET110_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET120_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET130_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET140_v3, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, fragment.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_1pr_v11, fragment.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_MediumChargedIsoPFTau200HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_MediumChargedIsoPFTau220HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v9, fragment.HLT_Rsq0p35_v15, fragment.HLT_Rsq0p40_v15, fragment.HLT_RsqMR300_Rsq0p09_MR200_v15, fragment.HLT_RsqMR320_Rsq0p09_MR200_v15, fragment.HLT_RsqMR300_Rsq0p09_MR200_4jet_v15, fragment.HLT_RsqMR320_Rsq0p09_MR200_4jet_v15, fragment.HLT_L1_DoubleJet30_Mass_Min400_Mu10_v1, fragment.HLT_IsoMu27_MET90_v3, fragment.HLT_DoubleMediumChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, fragment.HLT_DoubleMediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, fragment.HLT_DoubleTightChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, fragment.HLT_DoubleTightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, fragment.HLT_DoubleMediumChargedIsoPFTauHPS30_L1MaxMass_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v4, fragment.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_VBF_DoubleLooseChargedIsoPFTau20_Trk1_eta2p1_v3, fragment.HLT_VBF_DoubleLooseChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_VBF_DoubleMediumChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_VBF_DoubleTightChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_Photon50_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_PFMET50_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ600DEta3_v5, fragment.HLT_PFMET100_PFMHT100_IDTight_PFHT60_v9, fragment.HLT_PFMETNoMu100_PFMHTNoMu100_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne100_PFMHT100_IDTight_PFHT60_v9, fragment.HLT_Mu18_Mu9_SameSign_v4, fragment.HLT_Mu18_Mu9_SameSign_DZ_v4, fragment.HLT_Mu18_Mu9_v4, fragment.HLT_Mu18_Mu9_DZ_v4, fragment.HLT_Mu20_Mu10_SameSign_v4, fragment.HLT_Mu20_Mu10_SameSign_DZ_v4, fragment.HLT_Mu20_Mu10_v4, fragment.HLT_Mu20_Mu10_DZ_v4, fragment.HLT_Mu23_Mu12_SameSign_v4, fragment.HLT_Mu23_Mu12_SameSign_DZ_v4, fragment.HLT_Mu23_Mu12_v4, fragment.HLT_Mu23_Mu12_DZ_v4, fragment.HLT_DoubleMu2_Jpsi_DoubleTrk1_Phi1p05_v6, fragment.HLT_DoubleMu2_Jpsi_DoubleTkMu0_Phi_v5, fragment.HLT_DoubleMu3_DCA_PFMET50_PFMHT60_v10, fragment.HLT_TripleMu_5_3_3_Mass3p8_DCA_v3, fragment.HLT_QuadPFJet98_83_71_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet103_88_75_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet111_90_80_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet98_83_71_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet103_88_75_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet105_88_76_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet111_90_80_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet98_83_71_15_v5, fragment.HLT_QuadPFJet103_88_75_15_v5, fragment.HLT_QuadPFJet105_88_76_15_v5, fragment.HLT_QuadPFJet111_90_80_15_v5, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p17_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p1_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_p02_v3, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np2_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np4_v2, fragment.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_Mass55_v2, fragment.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_v2, fragment.HLT_Mu12_IP6_ToCSCS_v1, fragment.HLT_Mu12_IP6_part0_v2, fragment.HLT_Mu12_IP6_part1_v2, fragment.HLT_Mu12_IP6_part2_v2, fragment.HLT_Mu12_IP6_part3_v2, fragment.HLT_Mu12_IP6_part4_v2, fragment.HLT_Mu9_IP5_ToCSCS_v1, fragment.HLT_Mu9_IP5_part0_v2, fragment.HLT_Mu9_IP5_part1_v2, fragment.HLT_Mu9_IP5_part2_v2, fragment.HLT_Mu9_IP5_part3_v2, fragment.HLT_Mu9_IP5_part4_v2, fragment.HLT_Mu7_IP4_ToCSCS_v1, fragment.HLT_Mu7_IP4_part0_v2, fragment.HLT_Mu7_IP4_part1_v2, fragment.HLT_Mu7_IP4_part2_v2, fragment.HLT_Mu7_IP4_part3_v2, fragment.HLT_Mu7_IP4_part4_v2, fragment.HLT_Mu9_IP4_ToCSCS_v1, fragment.HLT_Mu9_IP4_part0_v2, fragment.HLT_Mu9_IP4_part1_v2, fragment.HLT_Mu9_IP4_part2_v2, fragment.HLT_Mu9_IP4_part3_v2, fragment.HLT_Mu9_IP4_part4_v2, fragment.HLT_Mu8_IP5_ToCSCS_v1, fragment.HLT_Mu8_IP5_part0_v2, fragment.HLT_Mu8_IP5_part1_v2, fragment.HLT_Mu8_IP5_part2_v2, fragment.HLT_Mu8_IP5_part3_v2, fragment.HLT_Mu8_IP5_part4_v2, fragment.HLT_Mu8_IP6_ToCSCS_v1, fragment.HLT_Mu8_IP6_part0_v2, fragment.HLT_Mu8_IP6_part1_v2, fragment.HLT_Mu8_IP6_part2_v2, fragment.HLT_Mu8_IP6_part3_v2, fragment.HLT_Mu8_IP6_part4_v2, fragment.HLT_Mu9_IP6_ToCSCS_v1, fragment.HLT_Mu9_IP6_part0_v3, fragment.HLT_Mu9_IP6_part1_v3, fragment.HLT_Mu9_IP6_part2_v3, fragment.HLT_Mu9_IP6_part3_v3, fragment.HLT_Mu9_IP6_part4_v3, fragment.HLT_Mu8_IP3_ToCSCS_v1, fragment.HLT_Mu8_IP3_part0_v3, fragment.HLT_Mu8_IP3_part1_v3, fragment.HLT_Mu8_IP3_part2_v3, fragment.HLT_Mu8_IP3_part3_v3, fragment.HLT_Mu8_IP3_part4_v3, fragment.HLT_Mu9_IP0_part0_v2, fragment.HLT_Mu9_IP3_part0_v2, fragment.HLT_QuadPFJet105_88_76_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_TrkMu6NoFiltersNoVtx_v1, fragment.HLT_TrkMu16NoFiltersNoVtx_v1, fragment.HLT_DoubleTrkMu_16_6_NoFiltersNoVtx_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, fragment.HLT_L1TOTEM_3_v1, fragment.HLT_L1RomanPot_part0_v1, fragment.HLT_L1RomanPot_part1_v1, fragment.HLT_L1RomanPot_part2_v1, fragment.HLT_L1RomanPot_part3_v1, fragment.HLT_PPSMaxTracksPerArm1_v1, fragment.HLT_PPSMaxTracksPerRP4_v1, fragment.HLT_L1DoubleMu_v1, fragment.HLT_L1SingleMu_v1, fragment.HLT_L1DoubleJet_v1, fragment.HLT_L1DoubleJetANDTotem_v1, fragment.HLT_L1DoubleJet_gap_v1, fragment.HLT_L1HFveto_v1, fragment.HLT_HIPhysics_v1, fragment.HLT_HIPhysicsForZS_v1, fragment.HLT_HIRandom_v1, fragment.AlCa_EcalPhiSymForHI_v1, fragment.HLT_HIHcalNZS_v1, fragment.HLT_HIHcalPhiSym_v1, fragment.AlCa_RPCMuonNormalisationForHI_v1, fragment.AlCa_EcalPi0EBonlyForHI_v1, fragment.AlCa_EcalPi0EEonlyForHI_v1, fragment.AlCa_EcalEtaEBonlyForHI_v1, fragment.AlCa_EcalEtaEEonlyForHI_v1, fragment.HLT_HICentralityVeto_v1, fragment.HLT_HICentralityVeto_Beamspot_v1, fragment.HLT_HICentrality30100_FirstCollisionAfterAbortGap_v1, fragment.HLT_HICentralityTag20100_v1, fragment.HLT_HICentralityTag30100_v1, fragment.HLT_HICentralityTag50100_v1, fragment.HLT_HIZeroBias_v1, fragment.HLT_HIZeroBias_FirstCollisionAfterAbortGap_v1, fragment.HLT_HIMinimumBias_part0_v1, fragment.HLT_HIMinimumBias_part1_v1, fragment.HLT_HIMinimumBias_part2_v1, fragment.HLT_HIMinimumBias_part3_v1, fragment.HLT_HIMinimumBias_part4_v1, fragment.HLT_HIMinimumBias_part5_v1, fragment.HLT_HIMinimumBias_part6_v1, fragment.HLT_HIMinimumBias_part7_v1, fragment.HLT_HIMinimumBias_part8_v1, fragment.HLT_HIMinimumBias_part9_v1, fragment.HLT_HIMinimumBias_part10_v1, fragment.HLT_HIMinimumBias_part11_v1, fragment.HLT_HIMinimumBias_part12_v1, fragment.HLT_HIMinimumBias_part13_v1, fragment.HLT_HIMinimumBias_part14_v1, fragment.HLT_HIMinimumBias_part15_v1, fragment.HLT_HIMinimumBias_part16_v1, fragment.HLT_HIMinimumBias_part17_v1, fragment.HLT_HIMinimumBias_part18_v1, fragment.HLT_HIMinimumBias_part19_v1, fragment.HLT_HIMinimumBiasRF_part0_v1, fragment.HLT_HIMinimumBiasRF_part1_v1, fragment.HLT_HIMinimumBiasRF_part2_v1, fragment.HLT_HIMinimumBiasRF_part3_v1, fragment.HLT_HIMinimumBiasRF_part4_v1, fragment.HLT_HIMinimumBiasRF_part5_v1, fragment.HLT_HIMinimumBiasRF_part6_v1, fragment.HLT_HIMinimumBiasRF_part7_v1, fragment.HLT_HIMinimumBiasRF_part8_v1, fragment.HLT_HIMinimumBiasRF_part9_v1, fragment.HLT_HIMinimumBiasRF_part10_v1, fragment.HLT_HIMinimumBiasRF_part11_v1, fragment.HLT_HIMinimumBiasRF_part12_v1, fragment.HLT_HIMinimumBiasRF_part13_v1, fragment.HLT_HIMinimumBiasRF_part14_v1, fragment.HLT_HIMinimumBiasRF_part15_v1, fragment.HLT_HIMinimumBiasRF_part16_v1, fragment.HLT_HIMinimumBiasRF_part17_v1, fragment.HLT_HIMinimumBiasRF_part18_v1, fragment.HLT_HIMinimumBiasRF_part19_v1, fragment.HLT_HIMinimumBiasRF_part20_v1, fragment.HLT_HIMinimumBiasRF_part21_v1, fragment.HLT_HIMinimumBiasRF_part22_v1, fragment.HLT_HIMinimumBiasRF_part23_v1, fragment.HLT_HIPuAK4CaloJet40Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet60Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet80Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet100Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet120Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet40Eta5p1_Centrality_30_100_v1, fragment.HLT_HIPuAK4CaloJet40Eta5p1_Centrality_50_100_v1, fragment.HLT_HIPuAK4CaloJet60Eta5p1_Centrality_30_100_v1, fragment.HLT_HIPuAK4CaloJet60Eta5p1_Centrality_50_100_v1, fragment.HLT_HIPuAK4CaloJet80Eta5p1_Centrality_30_100_v1, fragment.HLT_HIPuAK4CaloJet80Eta5p1_Centrality_50_100_v1, fragment.HLT_HIPuAK4CaloJet100Eta5p1_Centrality_30_100_v1, fragment.HLT_HIPuAK4CaloJet100Eta5p1_Centrality_50_100_v1, fragment.HLT_HIPuAK4CaloJet80_35_Eta1p1_v1, fragment.HLT_HIPuAK4CaloJet100_35_Eta1p1_v1, fragment.HLT_HIPuAK4CaloJet80_35_Eta0p7_v1, fragment.HLT_HIPuAK4CaloJet100_35_Eta0p7_v1, fragment.HLT_HIPuAK4CaloJet80_45_45_Eta2p1_v1, fragment.HLT_HIPuAK4CaloJet40Fwd_v1, fragment.HLT_HIPuAK4CaloJet60Fwd_v1, fragment.HLT_HIPuAK4CaloJet80Fwd_v1, fragment.HLT_HIPuAK4CaloJet100Fwd_v1, fragment.HLT_HIPuAK4CaloJet120Fwd_v1, fragment.HLT_HIIslandPhoton10_Eta2p4_v1, fragment.HLT_HIIslandPhoton10_Eta1p5_v1, fragment.HLT_HIIslandPhoton20_Eta2p4_v1, fragment.HLT_HIIslandPhoton20_Eta1p5_v1, fragment.HLT_HIIslandPhoton30_Eta2p4_v1, fragment.HLT_HIIslandPhoton30_Eta1p5_v1, fragment.HLT_HIIslandPhoton40_Eta2p4_v1, fragment.HLT_HIIslandPhoton40_Eta1p5_v1, fragment.HLT_HIIslandPhoton50_Eta2p4_v1, fragment.HLT_HIIslandPhoton50_Eta1p5_v1, fragment.HLT_HIIslandPhoton60_Eta2p4_v1, fragment.HLT_HIIslandPhoton60_Eta1p5_v1, fragment.HLT_HIGEDPhoton10_v1, fragment.HLT_HIGEDPhoton20_v1, fragment.HLT_HIGEDPhoton30_v1, fragment.HLT_HIGEDPhoton40_v1, fragment.HLT_HIGEDPhoton50_v1, fragment.HLT_HIGEDPhoton60_v1, fragment.HLT_HIGEDPhoton10_EB_v1, fragment.HLT_HIGEDPhoton20_EB_v1, fragment.HLT_HIGEDPhoton30_EB_v1, fragment.HLT_HIGEDPhoton40_EB_v1, fragment.HLT_HIGEDPhoton50_EB_v1, fragment.HLT_HIGEDPhoton60_EB_v1, fragment.HLT_HIGEDPhoton10_HECut_v1, fragment.HLT_HIGEDPhoton20_HECut_v1, fragment.HLT_HIGEDPhoton30_HECut_v1, fragment.HLT_HIGEDPhoton40_HECut_v1, fragment.HLT_HIGEDPhoton50_HECut_v1, fragment.HLT_HIGEDPhoton60_HECut_v1, fragment.HLT_HIGEDPhoton10_EB_HECut_v1, fragment.HLT_HIGEDPhoton20_EB_HECut_v1, fragment.HLT_HIGEDPhoton30_EB_HECut_v1, fragment.HLT_HIGEDPhoton40_EB_HECut_v1, fragment.HLT_HIGEDPhoton50_EB_HECut_v1, fragment.HLT_HIGEDPhoton60_EB_HECut_v1, fragment.HLT_HIEle10Gsf_v1, fragment.HLT_HIEle15Gsf_v1, fragment.HLT_HIEle20Gsf_v1, fragment.HLT_HIEle30Gsf_v1, fragment.HLT_HIEle40Gsf_v1, fragment.HLT_HIEle50Gsf_v1, fragment.HLT_HIEle15Ele10Gsf_v1, fragment.HLT_HIEle15Ele10GsfMass50_v1, fragment.HLT_HIDoubleEle10Gsf_v1, fragment.HLT_HIDoubleEle10GsfMass50_v1, fragment.HLT_HIDoubleEle15Gsf_v1, fragment.HLT_HIDoubleEle15GsfMass50_v1, fragment.HLT_HIL1Mu3Eta2p5_Ele10Gsf_v1, fragment.HLT_HIL1Mu3Eta2p5_Ele15Gsf_v1, fragment.HLT_HIL1Mu3Eta2p5_Ele20Gsf_v1, fragment.HLT_HIL1Mu5Eta2p5_Ele10Gsf_v1, fragment.HLT_HIL1Mu5Eta2p5_Ele15Gsf_v1, fragment.HLT_HIL1Mu5Eta2p5_Ele20Gsf_v1, fragment.HLT_HIL1Mu7Eta2p5_Ele10Gsf_v1, fragment.HLT_HIL1Mu7Eta2p5_Ele15Gsf_v1, fragment.HLT_HIL1Mu7Eta2p5_Ele20Gsf_v1, fragment.HLT_HIEle10Gsf_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIEle10Gsf_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIEle10Gsf_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIEle10Gsf_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIEle15Gsf_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIEle15Gsf_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIEle15Gsf_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIEle15Gsf_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIEle20Gsf_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIEle20Gsf_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIEle20Gsf_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIEle20Gsf_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt15_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt20_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt30_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt40_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt50_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt60_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt15_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt20_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt30_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt40_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt50_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt60_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt20_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt30_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt40_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt50_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt60_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt20_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt30_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt40_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt50_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt60_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt20_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt30_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt40_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt50_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt60_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt20_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt30_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt40_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt50_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt60_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt18_v1, fragment.HLT_HIFullTracks2018_HighPt24_v1, fragment.HLT_HIFullTracks2018_HighPt34_v1, fragment.HLT_HIFullTracks2018_HighPt45_v1, fragment.HLT_HIFullTracks2018_HighPt56_v1, fragment.HLT_HIFullTracks2018_HighPt60_v1, fragment.HLT_HIFullTracks2018_HighPt18_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt24_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt34_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt45_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt56_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt60_NoIter10_v1, fragment.HLT_HIL1DoubleMuOpen_v1, fragment.HLT_HIL1DoubleMuOpen_Centrality_30_100_v1, fragment.HLT_HIL1DoubleMuOpen_Centrality_40_100_v1, fragment.HLT_HIL1DoubleMuOpen_Centrality_50_100_v1, fragment.HLT_HIL1DoubleMuOpen_er1p6_v1, fragment.HLT_HIL1DoubleMuOpen_OS_er1p6_v1, fragment.HLT_HIL1DoubleMuOpen_OS_Centrality_30_100_v1, fragment.HLT_HIL1DoubleMuOpen_OS_Centrality_40_100_v1, fragment.HLT_HIL1DoubleMu0_v1, fragment.HLT_HIL1DoubleMu10_v1, fragment.HLT_HIL2_L1DoubleMu10_v1, fragment.HLT_HIL3_L1DoubleMu10_v1, fragment.HLT_HIL2DoubleMuOpen_v1, fragment.HLT_HIL3DoubleMuOpen_v1, fragment.HLT_HIL3DoubleMuOpen_M60120_v1, fragment.HLT_HIL3DoubleMuOpen_JpsiPsi_v1, fragment.HLT_HIL3DoubleMuOpen_Upsi_v1, fragment.HLT_HIL3Mu0_L2Mu0_v1, fragment.HLT_HIL3Mu2p5NHitQ10_L2Mu2_v1, fragment.HLT_HIL1MuOpen_Centrality_70_100_v1, fragment.HLT_HIL1MuOpen_Centrality_80_100_v1, fragment.HLT_HIL2Mu3_NHitQ15_v1, fragment.HLT_HIL2Mu5_NHitQ15_v1, fragment.HLT_HIL2Mu7_NHitQ15_v1, fragment.HLT_HIL2Mu3_NHitQ15_tagging_v1, fragment.HLT_HIL2Mu5_NHitQ15_tagging_v1, fragment.HLT_HIL2Mu7_NHitQ15_tagging_v1, fragment.HLT_HIL3Mu2p5_L1DoubleMu0_v1, fragment.HLT_HIL3Mu3_L1DoubleMuOpen_OS_v1, fragment.HLT_HIL3Mu3NHitQ10_L1DoubleMuOpen_v1, fragment.HLT_HIL3Mu3_L1TripleMuOpen_v1, fragment.HLT_HIL3Mu12_v1, fragment.HLT_HIL3Mu15_v1, fragment.HLT_HIL3Mu20_v1, fragment.HLT_HIL3Mu3_NHitQ10_v1, fragment.HLT_HIL3Mu5_NHitQ10_v1, fragment.HLT_HIL3Mu7_NHitQ10_v1, fragment.HLT_HIL3Mu3_NHitQ10_tagging_v1, fragment.HLT_HIL3Mu5_NHitQ10_tagging_v1, fragment.HLT_HIL3Mu7_NHitQ10_tagging_v1, fragment.HLT_HIL3Mu0NHitQ10_L2Mu0_MAXdR3p5_M1to5_v1, fragment.HLT_HIL3Mu2p5NHitQ10_L2Mu2_M7toinf_v1, fragment.HLT_HIL1_ETT8_ETTAsym50_MinimumBiasHF1_OR_BptxAND_v1, fragment.HLT_HIL1_ETT10_ETTAsym50_MinimumBiasHF1_OR_BptxAND_v1, fragment.HLT_HIL1_ETT60_ETTAsym65_MinimumBiasHF2_OR_PixelTracks10_v1, fragment.HLT_HIL1_ETT65_ETTAsym80_MinimumBiasHF2_OR_PixelTracks10_v1, fragment.HLT_HIFullTracks_Multiplicity020_HF1AND_v1, fragment.HLT_HIFullTracks_Multiplicity2040_HF1AND_v1, fragment.HLT_HIFullTracks_Multiplicity4060_v1, fragment.HLT_HIFullTracks_Multiplicity6080_v1, fragment.HLT_HIFullTracks_Multiplicity80100_v1, fragment.HLT_HIFullTracks_Multiplicity020_v1, fragment.HLT_HIFullTracks_Multiplicity020_HF1OR_v1, fragment.HLT_HIFullTracks_Multiplicity020_HF2OR_v1, fragment.HLT_HIFullTracks_Multiplicity2040_v1, fragment.HLT_HIFullTracks_Multiplicity2040_HF1OR_v1, fragment.HLT_HIFullTracks_Multiplicity2040_HF2OR_v1, fragment.HLT_HIFullTracks_Multiplicity335_HF1OR_v1, fragment.HLT_HIUPC_Mu8_Mu13_v1, fragment.HLT_HIUPC_Mu8_Mu13_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMuOpen_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMuOpen_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMuOpen_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMuOpen_NotMBHF2AND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMuOpen_NotMBHF2AND_v1, fragment.HLT_HIUPC_DoubleMuOpen_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMuOpen_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMuOpen_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMu0_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMu0_NotMBHF2AND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMu0_NotMBHF2AND_v1, fragment.HLT_HIUPC_DoubleMu0_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMu0_NotMBHF2AND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMu0_NotMBHF2AND_v1, fragment.HLT_HIUPC_DoubleMu0_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMu0_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMu3_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMu3_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMu0_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMu0_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMu3_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2AND_v1, fragment.HLT_HIUPC_NotMBHF2OR_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_NotMBHF2AND_v1, fragment.HLT_HIUPC_NotMBHF2OR_BptxAND_SinglePixelTrack_v1, fragment.HLT_HIUPC_ZeroBias_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2OR_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2AND_v1, fragment.HLT_HIUPC_DoubleEG5_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2AND_v1, fragment.HLT_HIUPC_SingleEG5_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2AND_v1, fragment.HLT_HIUPC_SingleEG3_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2OR_v1, fragment.HLT_HIUPC_ETT5_Asym50_NotMBHF2OR_v1, fragment.HLT_HIUPC_ETT5_Asym50_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_ZeroBias_MaxPixelCluster_v1, fragment.HLT_HIUPC_SingleEG3_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_BptxAND_MaxPixelTrack_v1, fragment.HLT_HICsAK4PFJet60Eta1p5_v1, fragment.HLT_HICsAK4PFJet80Eta1p5_v1, fragment.HLT_HICsAK4PFJet100Eta1p5_v1, fragment.HLT_HICsAK4PFJet100Eta1p5_Beamspot_v1, fragment.HLT_HICsAK4PFJet120Eta1p5_v1, fragment.HLT_HICsAK4PFJet60Eta1p5_Centrality_30_100_v1, fragment.HLT_HICsAK4PFJet60Eta1p5_Centrality_50_100_v1, fragment.HLT_HICsAK4PFJet80Eta1p5_Centrality_30_100_v1, fragment.HLT_HICsAK4PFJet80Eta1p5_Centrality_50_100_v1, fragment.HLT_HICsAK4PFJet100Eta1p5_Centrality_30_100_v1, fragment.HLT_HICsAK4PFJet100Eta1p5_Centrality_50_100_v1, fragment.HLT_HIL3Mu3_EG10HECut_v1, fragment.HLT_HIL3Mu3_EG15HECut_v1, fragment.HLT_HIL3Mu3_EG20HECut_v1, fragment.HLT_HIL3Mu3_EG30HECut_v1, fragment.HLT_HIL3Mu5_EG10HECut_v1, fragment.HLT_HIL3Mu5_EG15HECut_v1, fragment.HLT_HIL3Mu5_EG20HECut_v1, fragment.HLT_HIL3Mu5_EG30HECut_v1, fragment.HLT_HIL3Mu7_EG10HECut_v1, fragment.HLT_HIL3Mu7_EG15HECut_v1, fragment.HLT_HIL3Mu7_EG20HECut_v1, fragment.HLT_HIL3Mu7_EG30HECut_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet40Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet60Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet80Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet100Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet40Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet60Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet80Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet100Eta2p1_FilterDr_v1, fragment.HLT_HICastor_MediumJet_NotMBHF2AND_v1, fragment.HLT_HICastor_MediumJet_NotMBHF2OR_v1, fragment.HLT_HICastor_MediumJet_MBHF1OR_BptxAND_v1, fragment.HLT_HICastor_MediumJet_SingleMu0_MBHF1OR_BptxAND_v1, fragment.HLT_HICastor_MediumJet_SingleEG5_MBHF1OR_BptxAND_v1, fragment.HLT_HICastor_MediumJet_BptxAND_v1, fragment.HLT_HICastor_MediumJet_v1, fragment.HLT_HICastor_HighJet_v1, fragment.HLT_HICastor_HighJet_BptxAND_v1, fragment.HLT_HICastor_HighJet_MBHF1OR_BptxAND_v1, fragment.HLT_HICastor_HighJet_NotMBHF2OR_v1, fragment.HLT_HICastor_HighJet_NotMBHF2AND_v1, fragment.HLT_HICastor_HighJet_MBHF1AND_BptxAND_v1, fragment.HLT_HICastor_HighJet_MBHF2AND_BptxAND_v1, fragment.HLT_HICastor_Muon_v1, fragment.HLT_HICastor_Muon_BptxAND_v1, fragment.HLT_HIIslandPhoton10_Eta2p4_Cent30_100_v1, fragment.HLT_HIIslandPhoton20_Eta2p4_Cent30_100_v1, fragment.HLT_HIIslandPhoton30_Eta2p4_Cent30_100_v1, fragment.HLT_HIIslandPhoton40_Eta2p4_Cent30_100_v1, fragment.HLT_HIIslandPhoton10_Eta2p4_Cent50_100_v1, fragment.HLT_HIIslandPhoton20_Eta2p4_Cent50_100_v1, fragment.HLT_HIIslandPhoton30_Eta2p4_Cent50_100_v1, fragment.HLT_HIIslandPhoton40_Eta2p4_Cent50_100_v1, fragment.HLT_HIGEDPhoton10_Cent30_100_v1, fragment.HLT_HIGEDPhoton20_Cent30_100_v1, fragment.HLT_HIGEDPhoton30_Cent30_100_v1, fragment.HLT_HIGEDPhoton40_Cent30_100_v1, fragment.HLT_HIGEDPhoton10_Cent50_100_v1, fragment.HLT_HIGEDPhoton20_Cent50_100_v1, fragment.HLT_HIGEDPhoton30_Cent50_100_v1, fragment.HLT_HIGEDPhoton40_Cent50_100_v1, fragment.HLT_HIPuAK4CaloJet60Eta2p4_DeepCSV0p4_v1, fragment.HLT_HIPuAK4CaloJet80Eta2p4_DeepCSV0p4_v1, fragment.HLT_HIPuAK4CaloJet100Eta2p4_DeepCSV0p4_v1, fragment.HLT_HIPuAK4CaloJet60Eta2p4_CSVv2WP0p75_v1, fragment.HLT_HIPuAK4CaloJet80Eta2p4_CSVv2WP0p75_v1, fragment.HLT_HIPuAK4CaloJet100Eta2p4_CSVv2WP0p75_v1, fragment.HLT_HIL1NotBptxOR_v1, fragment.HLT_HIL1UnpairedBunchBptxMinus_v1, fragment.HLT_HIL1UnpairedBunchBptxPlus_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part0_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part1_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part2_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part3_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part4_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part5_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part6_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part7_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part8_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part9_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part10_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part11_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part12_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part13_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part14_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part15_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part16_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part17_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part18_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part19_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part0_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part1_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part2_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part3_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part4_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part5_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part6_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part7_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part8_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part9_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part10_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part11_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part12_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part13_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part14_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part15_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part16_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part17_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part18_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part19_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part20_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part21_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part22_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part23_v1, fragment.HLT_HIL1_ZDC_AND_OR_MinimumBiasHF1_AND_BptxAND_v1, fragment.HLT_HIL1_ZDC_AND_OR_MinimumBiasHF2_AND_BptxAND_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part0_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part1_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part2_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part3_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part4_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part5_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part6_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part7_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part8_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part9_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part10_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part11_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part12_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part13_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part14_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part15_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part16_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part17_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part18_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part19_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part0_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part1_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part2_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part3_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part4_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part5_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part6_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part7_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part8_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part9_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part10_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part11_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part12_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part13_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part14_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part15_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part16_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part17_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part18_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part19_v1, fragment.HLTriggerFinalPath, fragment.HLTAnalyzerEndpath, fragment.ScoutingPFOutput, fragment.ScoutingCaloMuonOutput, )) +fragment.HLTSchedule = cms.Schedule( *(fragment.HLTriggerFirstPath, fragment.HLT_AK8PFJet360_TrimMass30_v18, fragment.HLT_AK8PFJet380_TrimMass30_v11, fragment.HLT_AK8PFJet400_TrimMass30_v12, fragment.HLT_AK8PFJet420_TrimMass30_v11, fragment.HLT_AK8PFHT750_TrimMass50_v12, fragment.HLT_AK8PFHT800_TrimMass50_v12, fragment.HLT_AK8PFHT850_TrimMass50_v11, fragment.HLT_AK8PFHT900_TrimMass50_v11, fragment.HLT_CaloJet10_NoJetID_v3, fragment.HLT_CaloJet20_NoJetID_v3, fragment.HLT_CaloJet50_NoJetID_v3, fragment.HLT_CaloJet500_NoJetID_v12, fragment.HLT_CaloJet550_NoJetID_v7, fragment.HLT_DoubleMu5_Upsilon_DoubleEle3_CaloIdL_TrackIdL_v4, fragment.HLT_DoubleMu3_DoubleEle7p5_CaloIdL_TrackIdL_Upsilon_v4, fragment.HLT_Trimuon5_3p5_2_Upsilon_Muon_v5, fragment.HLT_TrimuonOpen_5_3p5_2_Upsilon_Muon_v3, fragment.HLT_DoubleEle25_CaloIdL_MW_v4, fragment.HLT_DoubleEle27_CaloIdL_MW_v4, fragment.HLT_DoubleEle33_CaloIdL_MW_v17, fragment.HLT_DoubleEle24_eta2p1_WPTight_Gsf_v7, fragment.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350_v20, fragment.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350_v20, fragment.HLT_Ele27_Ele37_CaloIdL_MW_v4, fragment.HLT_Mu27_Ele37_CaloIdL_MW_v5, fragment.HLT_Mu37_Ele27_CaloIdL_MW_v5, fragment.HLT_Mu37_TkMu27_v5, fragment.HLT_DoubleMu4_3_Bs_v14, fragment.HLT_DoubleMu4_3_Jpsi_v2, fragment.HLT_DoubleMu4_JpsiTrk_Displaced_v15, fragment.HLT_DoubleMu4_LowMassNonResonantTrk_Displaced_v15, fragment.HLT_DoubleMu3_Trk_Tau3mu_v12, fragment.HLT_DoubleMu3_TkMu_DsTau3Mu_v4, fragment.HLT_DoubleMu4_PsiPrimeTrk_Displaced_v15, fragment.HLT_DoubleMu4_Mass3p8_DZ_PFHT350_v8, fragment.HLT_Mu3_PFJet40_v16, fragment.HLT_Mu7p5_L2Mu2_Jpsi_v10, fragment.HLT_Mu7p5_L2Mu2_Upsilon_v10, fragment.HLT_Mu7p5_Track2_Jpsi_v11, fragment.HLT_Mu7p5_Track3p5_Jpsi_v11, fragment.HLT_Mu7p5_Track7_Jpsi_v11, fragment.HLT_Mu7p5_Track2_Upsilon_v11, fragment.HLT_Mu7p5_Track3p5_Upsilon_v11, fragment.HLT_Mu7p5_Track7_Upsilon_v11, fragment.HLT_Mu3_L1SingleMu5orSingleMu7_v1, fragment.HLT_DoublePhoton33_CaloIdL_v6, fragment.HLT_DoublePhoton70_v6, fragment.HLT_DoublePhoton85_v14, fragment.HLT_Ele20_WPTight_Gsf_v6, fragment.HLT_Ele15_WPLoose_Gsf_v3, fragment.HLT_Ele17_WPLoose_Gsf_v3, fragment.HLT_Ele20_WPLoose_Gsf_v6, fragment.HLT_Ele20_eta2p1_WPLoose_Gsf_v6, fragment.HLT_DiEle27_WPTightCaloOnly_L1DoubleEG_v4, fragment.HLT_Ele27_WPTight_Gsf_v16, fragment.HLT_Ele28_WPTight_Gsf_v1, fragment.HLT_Ele30_WPTight_Gsf_v1, fragment.HLT_Ele32_WPTight_Gsf_v15, fragment.HLT_Ele35_WPTight_Gsf_v9, fragment.HLT_Ele35_WPTight_Gsf_L1EGMT_v5, fragment.HLT_Ele38_WPTight_Gsf_v9, fragment.HLT_Ele40_WPTight_Gsf_v9, fragment.HLT_Ele32_WPTight_Gsf_L1DoubleEG_v9, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTau30_eta2p1_CrossL1_v13, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_HT450_Beamspot_v11, fragment.HLT_HT300_Beamspot_v11, fragment.HLT_HT60_Beamspot_v1, fragment.HLT_ZeroBias_Beamspot_v4, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTau27_eta2p1_CrossL1_v12, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_CrossL1_v4, fragment.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v4, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS30_Trk1_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu27_LooseChargedIsoPFTau20_Trk1_eta2p1_SingleL1_v5, fragment.HLT_IsoMu27_LooseChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu27_MediumChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu27_TightChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu20_v15, fragment.HLT_IsoMu24_v13, fragment.HLT_IsoMu24_eta2p1_v15, fragment.HLT_IsoMu27_v16, fragment.HLT_IsoMu30_v4, fragment.HLT_UncorrectedJetE30_NoBPTX_v6, fragment.HLT_UncorrectedJetE30_NoBPTX3BX_v6, fragment.HLT_UncorrectedJetE60_NoBPTX3BX_v6, fragment.HLT_UncorrectedJetE70_NoBPTX3BX_v6, fragment.HLT_L1SingleMu18_v3, fragment.HLT_L1SingleMu25_v2, fragment.HLT_L1SingleMuOpen_v2, fragment.HLT_L1SingleMuOpen_DT_v2, fragment.HLT_L1SingleMuCosmics_v1, fragment.HLT_L1SingleMu3_v1, fragment.HLT_L1SingleMu5_v1, fragment.HLT_L1SingleMu7_v1, fragment.HLT_L1DoubleMu0_v1, fragment.HLT_L1SingleEG10_v2, fragment.HLT_L1SingleEG15_v2, fragment.HLT_L1SingleEG18_v1, fragment.HLT_L1SingleJet16_v1, fragment.HLT_L1SingleJet20_v1, fragment.HLT_L1SingleJet35_v1, fragment.HLT_L1SingleJet8erHE_v1, fragment.HLT_L1SingleJet10erHE_v1, fragment.HLT_L1SingleJet12erHE_v1, fragment.HLT_L1SingleJet200_v1, fragment.HLT_L1DoubleJetC50_v2, fragment.HLT_L1EXT_HCAL_LaserMon1_v1, fragment.HLT_L1EXT_HCAL_LaserMon4_v1, fragment.HLT_DQMPixels_SingleMuOpen_v1, fragment.HLT_L2DoubleMu23_NoVertex_v2, fragment.HLT_L2Mu10_v7, fragment.HLT_L2Mu10_NoVertex_NoBPTX3BX_v5, fragment.HLT_L2Mu10_NoVertex_NoBPTX_v6, fragment.HLT_L2Mu45_NoVertex_3Sta_NoBPTX3BX_v4, fragment.HLT_L2Mu40_NoVertex_3Sta_NoBPTX3BX_v5, fragment.HLT_L2Mu50_v2, fragment.HLT_L2Mu23NoVtx_2Cha_v1, fragment.HLT_L2Mu23NoVtx_2Cha_CosmicSeed_v1, fragment.HLT_DoubleL2Mu30NoVtx_2Cha_CosmicSeed_Eta2p4_v2, fragment.HLT_DoubleL2Mu30NoVtx_2Cha_Eta2p4_v2, fragment.HLT_DoubleL2Mu50_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_Eta2p4_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_Eta2p4_v2, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v14, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v15, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v5, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass8_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v5, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass3p8_v3, fragment.HLT_Mu25_TkMu0_Onia_v8, fragment.HLT_Mu30_TkMu0_Psi_v1, fragment.HLT_Mu30_TkMu0_Upsilon_v1, fragment.HLT_Mu20_TkMu0_Phi_v8, fragment.HLT_Mu25_TkMu0_Phi_v8, fragment.HLT_Mu12_v3, fragment.HLT_Mu15_v3, fragment.HLT_Mu20_v12, fragment.HLT_Mu27_v13, fragment.HLT_Mu50_v13, fragment.HLT_Mu55_v3, fragment.HLT_OldMu100_v3, fragment.HLT_TkMu100_v2, fragment.HLT_DiPFJet15_NoCaloMatched_v16, fragment.HLT_DiPFJet25_NoCaloMatched_v16, fragment.HLT_DiPFJet15_FBEta3_NoCaloMatched_v17, fragment.HLT_DiPFJet25_FBEta3_NoCaloMatched_v17, fragment.HLT_DiPFJetAve40_v14, fragment.HLT_DiPFJetAve60_v14, fragment.HLT_DiPFJetAve80_v13, fragment.HLT_DiPFJetAve140_v13, fragment.HLT_DiPFJetAve200_v13, fragment.HLT_DiPFJetAve260_v14, fragment.HLT_DiPFJetAve320_v14, fragment.HLT_DiPFJetAve400_v14, fragment.HLT_DiPFJetAve500_v14, fragment.HLT_DiPFJetAve15_HFJEC_v17, fragment.HLT_DiPFJetAve25_HFJEC_v17, fragment.HLT_DiPFJetAve35_HFJEC_v17, fragment.HLT_DiPFJetAve60_HFJEC_v15, fragment.HLT_DiPFJetAve80_HFJEC_v16, fragment.HLT_DiPFJetAve100_HFJEC_v16, fragment.HLT_DiPFJetAve160_HFJEC_v16, fragment.HLT_DiPFJetAve220_HFJEC_v16, fragment.HLT_DiPFJetAve300_HFJEC_v16, fragment.HLT_AK8PFJet15_v3, fragment.HLT_AK8PFJet25_v3, fragment.HLT_AK8PFJet40_v16, fragment.HLT_AK8PFJet60_v15, fragment.HLT_AK8PFJet80_v15, fragment.HLT_AK8PFJet140_v15, fragment.HLT_AK8PFJet200_v15, fragment.HLT_AK8PFJet260_v16, fragment.HLT_AK8PFJet320_v16, fragment.HLT_AK8PFJet400_v16, fragment.HLT_AK8PFJet450_v16, fragment.HLT_AK8PFJet500_v16, fragment.HLT_AK8PFJet550_v11, fragment.HLT_PFJet15_v3, fragment.HLT_PFJet25_v3, fragment.HLT_PFJet40_v21, fragment.HLT_PFJet60_v21, fragment.HLT_PFJet80_v20, fragment.HLT_PFJet140_v19, fragment.HLT_PFJet200_v19, fragment.HLT_PFJet260_v20, fragment.HLT_PFJet320_v20, fragment.HLT_PFJet400_v20, fragment.HLT_PFJet450_v21, fragment.HLT_PFJet500_v21, fragment.HLT_PFJet550_v11, fragment.HLT_PFJetFwd15_v3, fragment.HLT_PFJetFwd25_v3, fragment.HLT_PFJetFwd40_v19, fragment.HLT_PFJetFwd60_v19, fragment.HLT_PFJetFwd80_v18, fragment.HLT_PFJetFwd140_v18, fragment.HLT_PFJetFwd200_v18, fragment.HLT_PFJetFwd260_v19, fragment.HLT_PFJetFwd320_v19, fragment.HLT_PFJetFwd400_v19, fragment.HLT_PFJetFwd450_v19, fragment.HLT_PFJetFwd500_v19, fragment.HLT_AK8PFJetFwd15_v3, fragment.HLT_AK8PFJetFwd25_v3, fragment.HLT_AK8PFJetFwd40_v15, fragment.HLT_AK8PFJetFwd60_v14, fragment.HLT_AK8PFJetFwd80_v14, fragment.HLT_AK8PFJetFwd140_v14, fragment.HLT_AK8PFJetFwd200_v14, fragment.HLT_AK8PFJetFwd260_v15, fragment.HLT_AK8PFJetFwd320_v15, fragment.HLT_AK8PFJetFwd400_v15, fragment.HLT_AK8PFJetFwd450_v15, fragment.HLT_AK8PFJetFwd500_v15, fragment.HLT_PFHT180_v17, fragment.HLT_PFHT250_v17, fragment.HLT_PFHT370_v17, fragment.HLT_PFHT430_v17, fragment.HLT_PFHT510_v17, fragment.HLT_PFHT590_v17, fragment.HLT_PFHT680_v17, fragment.HLT_PFHT780_v17, fragment.HLT_PFHT890_v17, fragment.HLT_PFHT1050_v18, fragment.HLT_PFHT500_PFMET100_PFMHT100_IDTight_v12, fragment.HLT_PFHT500_PFMET110_PFMHT110_IDTight_v12, fragment.HLT_PFHT700_PFMET85_PFMHT85_IDTight_v12, fragment.HLT_PFHT700_PFMET95_PFMHT95_IDTight_v12, fragment.HLT_PFHT800_PFMET75_PFMHT75_IDTight_v12, fragment.HLT_PFHT800_PFMET85_PFMHT85_IDTight_v12, fragment.HLT_PFMET110_PFMHT110_IDTight_v20, fragment.HLT_PFMET120_PFMHT120_IDTight_v20, fragment.HLT_PFMET130_PFMHT130_IDTight_v20, fragment.HLT_PFMET140_PFMHT140_IDTight_v20, fragment.HLT_PFMET100_PFMHT100_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET110_PFMHT110_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET120_PFMHT120_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET130_PFMHT130_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET140_PFMHT140_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET120_PFMHT120_IDTight_PFHT60_v9, fragment.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne120_PFMHT120_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne110_PFMHT110_IDTight_v12, fragment.HLT_PFMETTypeOne120_PFMHT120_IDTight_v12, fragment.HLT_PFMETTypeOne130_PFMHT130_IDTight_v12, fragment.HLT_PFMETTypeOne140_PFMHT140_IDTight_v11, fragment.HLT_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, fragment.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, fragment.HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, fragment.HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, fragment.HLT_MonoCentralPFJet80_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, fragment.HLT_MonoCentralPFJet80_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, fragment.HLT_MonoCentralPFJet80_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, fragment.HLT_MonoCentralPFJet80_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, fragment.HLT_L1ETMHadSeeds_v2, fragment.HLT_CaloMHT90_v4, fragment.HLT_CaloMET80_NotCleaned_v4, fragment.HLT_CaloMET90_NotCleaned_v4, fragment.HLT_CaloMET100_NotCleaned_v4, fragment.HLT_CaloMET110_NotCleaned_v4, fragment.HLT_CaloMET250_NotCleaned_v4, fragment.HLT_CaloMET300_NotCleaned_v4, fragment.HLT_CaloMET350_NotCleaned_v4, fragment.HLT_PFMET200_NotCleaned_v9, fragment.HLT_PFMET250_NotCleaned_v9, fragment.HLT_PFMET300_NotCleaned_v9, fragment.HLT_PFMET200_BeamHaloCleaned_v9, fragment.HLT_PFMETTypeOne200_BeamHaloCleaned_v9, fragment.HLT_MET105_IsoTrk50_v9, fragment.HLT_MET120_IsoTrk50_v9, fragment.HLT_SingleJet30_Mu12_SinglePFJet40_v11, fragment.HLT_Mu12_DoublePFJets40_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets100_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets200_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets350_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets40MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets54MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets62MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets40_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets100_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets200_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets350_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets116MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets128MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Photon300_NoHE_v12, fragment.HLT_Mu8_TrkIsoVVL_v12, fragment.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_DZ_v18, fragment.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v18, fragment.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ_v19, fragment.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_v19, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v13, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBtagDeepCSV_1p5_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_CaloBtagDeepCSV_1p5_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v11, fragment.HLT_Mu17_TrkIsoVVL_v13, fragment.HLT_Mu19_TrkIsoVVL_v4, fragment.HLT_BTagMu_AK4DiJet20_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet40_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet70_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet110_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet170_Mu5_v12, fragment.HLT_BTagMu_AK4Jet300_Mu5_v12, fragment.HLT_BTagMu_AK8DiJet170_Mu5_v9, fragment.HLT_BTagMu_AK8Jet170_DoubleMu5_v2, fragment.HLT_BTagMu_AK8Jet300_Mu5_v12, fragment.HLT_BTagMu_AK4DiJet20_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet40_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet70_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet110_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet170_Mu5_noalgo_v12, fragment.HLT_BTagMu_AK4Jet300_Mu5_noalgo_v12, fragment.HLT_BTagMu_AK8DiJet170_Mu5_noalgo_v9, fragment.HLT_BTagMu_AK8Jet170_DoubleMu5_noalgo_v2, fragment.HLT_BTagMu_AK8Jet300_Mu5_noalgo_v12, fragment.HLT_Ele15_Ele8_CaloIdL_TrackIdL_IsoVL_v3, fragment.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v19, fragment.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v19, fragment.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v7, fragment.HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_DZ_v10, fragment.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v7, fragment.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.HLT_Mu12_DoublePhoton20_v5, fragment.HLT_TriplePhoton_20_20_20_CaloIdLV2_v3, fragment.HLT_TriplePhoton_20_20_20_CaloIdLV2_R9IdVL_v3, fragment.HLT_TriplePhoton_30_30_10_CaloIdLV2_v4, fragment.HLT_TriplePhoton_30_30_10_CaloIdLV2_R9IdVL_v4, fragment.HLT_TriplePhoton_35_35_5_CaloIdLV2_R9IdVL_v4, fragment.HLT_Photon20_v2, fragment.HLT_Photon22_v2, fragment.HLT_Photon25_v4, fragment.HLT_Photon33_v5, fragment.HLT_Photon50_v13, fragment.HLT_Photon75_v13, fragment.HLT_Photon90_v13, fragment.HLT_Photon120_v13, fragment.HLT_Photon150_v6, fragment.HLT_Photon175_v14, fragment.HLT_Photon200_v13, fragment.HLT_Photon100EB_TightID_TightIso_v2, fragment.HLT_Photon110EB_TightID_TightIso_v2, fragment.HLT_Photon120EB_TightID_TightIso_v2, fragment.HLT_Photon100EBHE10_v2, fragment.HLT_Photon100EEHE10_v2, fragment.HLT_Photon100EE_TightID_TightIso_v2, fragment.HLT_Photon50_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon75_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ300_PFJetsMJJ400DEta3_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ400_PFJetsMJJ600DEta3_v5, fragment.HLT_Photon90_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon120_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon165_R9Id90_HE10_IsoM_v15, fragment.HLT_Photon90_CaloIdL_PFHT700_v16, fragment.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v13, fragment.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v13, fragment.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v15, fragment.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v13, fragment.HLT_Photon35_TwoProngs35_v1, fragment.HLT_IsoMu24_TwoProngs35_v1, fragment.HLT_Dimuon0_Jpsi_L1_NoOS_v7, fragment.HLT_Dimuon0_Jpsi_NoVertexing_NoOS_v7, fragment.HLT_Dimuon0_Jpsi_v8, fragment.HLT_Dimuon0_Jpsi_NoVertexing_v8, fragment.HLT_Dimuon0_Jpsi_L1_4R_0er1p5R_v7, fragment.HLT_Dimuon0_Jpsi_NoVertexing_L1_4R_0er1p5R_v7, fragment.HLT_Dimuon0_Jpsi3p5_Muon2_v5, fragment.HLT_Dimuon0_Upsilon_L1_4p5_v9, fragment.HLT_Dimuon0_Upsilon_L1_5_v9, fragment.HLT_Dimuon0_Upsilon_L1_4p5NoOS_v8, fragment.HLT_Dimuon0_Upsilon_L1_4p5er2p0_v9, fragment.HLT_Dimuon0_Upsilon_L1_4p5er2p0M_v7, fragment.HLT_Dimuon0_Upsilon_NoVertexing_v7, fragment.HLT_Dimuon0_Upsilon_L1_5M_v8, fragment.HLT_Dimuon0_LowMass_L1_0er1p5R_v7, fragment.HLT_Dimuon0_LowMass_L1_0er1p5_v8, fragment.HLT_Dimuon0_LowMass_v8, fragment.HLT_Dimuon0_LowMass_L1_4_v8, fragment.HLT_Dimuon0_LowMass_L1_4R_v7, fragment.HLT_Dimuon0_LowMass_L1_TM530_v6, fragment.HLT_Trimuon2_Upsilon5_Muon_NoL1Mass_v6, fragment.HLT_Dimuon0_Upsilon_Muon_L1_TM0_v6, fragment.HLT_Dimuon0_Upsilon_Muon_NoL1Mass_v6, fragment.HLT_TripleMu_5_3_3_Mass3p8_DZ_v8, fragment.HLT_TripleMu_10_5_5_DZ_v10, fragment.HLT_TripleMu_12_10_5_v10, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_Charge1_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_Charge1_v4, fragment.HLT_DoubleMu3_DZ_PFMET50_PFMHT60_v10, fragment.HLT_DoubleMu3_DZ_PFMET70_PFMHT70_v10, fragment.HLT_DoubleMu3_DZ_PFMET90_PFMHT90_v10, fragment.HLT_DoubleMu3_Trk_Tau3mu_NoL1Mass_v6, fragment.HLT_DoubleMu4_Jpsi_Displaced_v7, fragment.HLT_DoubleMu4_Jpsi_NoVertexing_v7, fragment.HLT_DoubleMu4_JpsiTrkTrk_Displaced_v7, fragment.HLT_DoubleMu43NoFiltersNoVtx_v4, fragment.HLT_DoubleMu48NoFiltersNoVtx_v4, fragment.HLT_Mu43NoFiltersNoVtx_Photon43_CaloIdL_v5, fragment.HLT_Mu48NoFiltersNoVtx_Photon48_CaloIdL_v5, fragment.HLT_Mu38NoFiltersNoVtxDisplaced_Photon38_CaloIdL_v1, fragment.HLT_Mu43NoFiltersNoVtxDisplaced_Photon43_CaloIdL_v1, fragment.HLT_DoubleMu33NoFiltersNoVtxDisplaced_v1, fragment.HLT_DoubleMu40NoFiltersNoVtxDisplaced_v1, fragment.HLT_DoubleMu20_7_Mass0to30_L1_DM4_v7, fragment.HLT_DoubleMu20_7_Mass0to30_L1_DM4EG_v8, fragment.HLT_HT425_v9, fragment.HLT_HT430_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT500_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT430_DisplacedDijet60_DisplacedTrack_v13, fragment.HLT_HT400_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT650_DisplacedDijet60_Inclusive_v13, fragment.HLT_HT550_DisplacedDijet60_Inclusive_v13, fragment.HLT_DiJet110_35_Mjj650_PFMET110_v9, fragment.HLT_DiJet110_35_Mjj650_PFMET120_v9, fragment.HLT_DiJet110_35_Mjj650_PFMET130_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET110_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET120_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET130_v9, fragment.HLT_Ele30_eta2p1_WPTight_Gsf_CentralPFJet35_EleCleaned_v13, fragment.HLT_Ele28_eta2p1_WPTight_Gsf_HT150_v13, fragment.HLT_Ele28_HighEta_SC20_Mass55_v13, fragment.HLT_DoubleMu20_7_Mass0to30_Photon23_v8, fragment.HLT_Ele15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, fragment.HLT_Ele15_IsoVVVL_PFHT450_PFMET50_v16, fragment.HLT_Ele15_IsoVVVL_PFHT450_v16, fragment.HLT_Ele50_IsoVVVL_PFHT450_v16, fragment.HLT_Ele15_IsoVVVL_PFHT600_v20, fragment.HLT_Mu4_TrkIsoVVL_DiPFJet90_40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v15, fragment.HLT_Mu8_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v16, fragment.HLT_Mu10_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT350_PFMETNoMu60_v15, fragment.HLT_Mu15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, fragment.HLT_Mu15_IsoVVVL_PFHT450_PFMET50_v15, fragment.HLT_Mu15_IsoVVVL_PFHT450_v15, fragment.HLT_Mu50_IsoVVVL_PFHT450_v15, fragment.HLT_Mu15_IsoVVVL_PFHT600_v19, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET70_PFMHT70_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET80_PFMHT80_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET90_PFMHT90_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET100_PFMHT100_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu70_PFMHTNoMu70_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu80_PFMHTNoMu80_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu90_PFMHTNoMu90_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu100_PFMHTNoMu100_IDTight_v2, fragment.HLT_Dimuon10_PsiPrime_Barrel_Seagulls_v7, fragment.HLT_Dimuon20_Jpsi_Barrel_Seagulls_v7, fragment.HLT_Dimuon12_Upsilon_y1p4_v2, fragment.HLT_Dimuon14_Phi_Barrel_Seagulls_v7, fragment.HLT_Dimuon18_PsiPrime_v14, fragment.HLT_Dimuon25_Jpsi_v14, fragment.HLT_Dimuon18_PsiPrime_noCorrL1_v6, fragment.HLT_Dimuon24_Upsilon_noCorrL1_v6, fragment.HLT_Dimuon24_Phi_noCorrL1_v6, fragment.HLT_Dimuon25_Jpsi_noCorrL1_v6, fragment.HLT_DiMu4_Ele9_CaloIdL_TrackIdL_DZ_Mass3p8_v17, fragment.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_DZ_v17, fragment.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v17, fragment.HLT_DoubleIsoMu20_eta2p1_v7, fragment.HLT_TrkMu12_DoubleTrkMu5NoFiltersNoVtx_v6, fragment.HLT_TrkMu16_DoubleTrkMu6NoFiltersNoVtx_v12, fragment.HLT_TrkMu17_DoubleTrkMu8NoFiltersNoVtx_v13, fragment.HLT_Mu8_v12, fragment.HLT_Mu17_v13, fragment.HLT_Mu19_v4, fragment.HLT_Mu17_Photon30_IsoCaloId_v6, fragment.HLT_Ele8_CaloIdL_TrackIdL_IsoVL_PFJet30_v16, fragment.HLT_Ele12_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, fragment.HLT_Ele15_CaloIdL_TrackIdL_IsoVL_PFJet30_v3, fragment.HLT_Ele23_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, fragment.HLT_Ele8_CaloIdM_TrackIdM_PFJet30_v18, fragment.HLT_Ele17_CaloIdM_TrackIdM_PFJet30_v16, fragment.HLT_Ele23_CaloIdM_TrackIdM_PFJet30_v18, fragment.HLT_Ele50_CaloIdVT_GsfTrkIdT_PFJet165_v18, fragment.HLT_Ele115_CaloIdVT_GsfTrkIdT_v14, fragment.HLT_Ele135_CaloIdVT_GsfTrkIdT_v7, fragment.HLT_Ele145_CaloIdVT_GsfTrkIdT_v8, fragment.HLT_Ele200_CaloIdVT_GsfTrkIdT_v8, fragment.HLT_Ele250_CaloIdVT_GsfTrkIdT_v13, fragment.HLT_Ele300_CaloIdVT_GsfTrkIdT_v13, fragment.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_TriplePFBTagDeepCSV_4p5_v3, fragment.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_v9, fragment.HLT_PFHT400_SixPFJet32_DoublePFBTagDeepCSV_2p94_v8, fragment.HLT_PFHT400_SixPFJet32_v8, fragment.HLT_PFHT450_SixPFJet36_PFBTagDeepCSV_1p59_v7, fragment.HLT_PFHT450_SixPFJet36_v7, fragment.HLT_PFHT400_FivePFJet_100_100_60_30_30_v8, fragment.HLT_PFHT400_FivePFJet_100_100_60_30_30_DoublePFBTagDeepCSV_4p5_v8, fragment.HLT_PFHT400_FivePFJet_120_120_60_30_30_DoublePFBTagDeepCSV_4p5_v8, fragment.HLT_PFHT350_v19, fragment.HLT_PFHT350MinPFJet15_v9, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_v5, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_v5, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_PFHT350MinPFJet15_v11, fragment.HLT_ECALHT800_v10, fragment.HLT_DiSC30_18_EIso_AND_HE_Mass70_v13, fragment.HLT_L1FatEvents_v2, fragment.HLT_Physics_v7, fragment.HLT_Physics_part0_v7, fragment.HLT_Physics_part1_v7, fragment.HLT_Physics_part2_v7, fragment.HLT_Physics_part3_v7, fragment.HLT_Physics_part4_v7, fragment.HLT_Physics_part5_v7, fragment.HLT_Physics_part6_v7, fragment.HLT_Physics_part7_v7, fragment.DST_Physics_v7, fragment.HLT_Random_v3, fragment.HLT_Random_TOTEM_part0_v1, fragment.HLT_Random_TOTEM_part1_v1, fragment.HLT_Random_TOTEM_part2_v1, fragment.HLT_Random_TOTEM_part3_v1, fragment.HLT_ZeroBias_v6, fragment.HLT_ZeroBias_TOTEM_part0_v1, fragment.HLT_ZeroBias_TOTEM_part1_v1, fragment.HLT_ZeroBias_TOTEM_part2_v1, fragment.HLT_ZeroBias_TOTEM_part3_v1, fragment.HLT_ZeroBias_Alignment_v1, fragment.HLT_ZeroBias_part0_v6, fragment.HLT_ZeroBias_part1_v6, fragment.HLT_ZeroBias_part2_v6, fragment.HLT_ZeroBias_part3_v6, fragment.HLT_ZeroBias_part4_v6, fragment.HLT_ZeroBias_part5_v6, fragment.HLT_ZeroBias_part6_v6, fragment.HLT_ZeroBias_part7_v6, fragment.DST_ZeroBias_v2, fragment.DST_HT250_CaloScouting_v10, fragment.DST_HT250_CaloBTagScouting_v10, fragment.DST_HT410_PFScouting_v16, fragment.DST_HT410_BTagScouting_v16, fragment.DST_ZeroBias_BTagScouting_v15, fragment.DST_ZeroBias_CaloScouting_PFScouting_v14, fragment.DST_CaloJet40_BTagScouting_v15, fragment.DST_CaloJet40_CaloScouting_PFScouting_v15, fragment.DST_CaloJet40_CaloBTagScouting_v14, fragment.DST_L1HTT_BTagScouting_v15, fragment.DST_L1HTT_CaloScouting_PFScouting_v15, fragment.DST_L1HTT_CaloBTagScouting_v14, fragment.DST_L1DoubleMu_BTagScouting_v16, fragment.DST_L1DoubleMu_CaloScouting_PFScouting_v15, fragment.DST_DoubleMu3_noVtx_CaloScouting_Monitoring_v6, fragment.DST_DoubleMu3_noVtx_CaloScouting_v6, fragment.DST_DoubleMu1_noVtx_CaloScouting_v2, fragment.DST_DoubleMu3_noVtx_Mass10_PFScouting_v3, fragment.DST_Run3_PFScoutingPixelTracking_v16, fragment.HLT_AK4CaloJet30_v11, fragment.HLT_AK4CaloJet40_v10, fragment.HLT_AK4CaloJet50_v10, fragment.HLT_AK4CaloJet80_v10, fragment.HLT_AK4CaloJet100_v10, fragment.HLT_AK4CaloJet120_v9, fragment.HLT_AK4PFJet30_v19, fragment.HLT_AK4PFJet50_v19, fragment.HLT_AK4PFJet80_v19, fragment.HLT_AK4PFJet100_v19, fragment.HLT_AK4PFJet120_v18, fragment.HLT_PixelTracks_Multiplicity60ForPPRef_v5, fragment.HLT_PixelTracks_Multiplicity85ForPPRef_v5, fragment.HLT_PixelTracks_Multiplicity110ForPPRef_v5, fragment.HLT_PixelTracks_Multiplicity135ForPPRef_v5, fragment.HLT_PixelTracks_Multiplicity160ForPPRef_v5, fragment.HLT_AK4CaloJet40_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet60_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet80_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet100_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet110_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet120_Eta5p1ForPPRef_v9, fragment.HLT_AK4CaloJet150ForPPRef_v9, fragment.HLT_AK4PFJet40_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet60_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet80_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet100_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet110_Eta5p1ForPPRef_v16, fragment.HLT_AK4PFJet120_Eta5p1ForPPRef_v16, fragment.HLT_AK4CaloJet80_Jet35_Eta1p1ForPPRef_v9, fragment.HLT_AK4CaloJet80_Jet35_Eta0p7ForPPRef_v9, fragment.HLT_AK4CaloJet100_Jet35_Eta1p1ForPPRef_v9, fragment.HLT_AK4CaloJet100_Jet35_Eta0p7ForPPRef_v9, fragment.HLT_AK4CaloJet80_45_45_Eta2p1ForPPRef_v9, fragment.HLT_SinglePhoton10_Eta3p1ForPPRef_v8, fragment.HLT_SinglePhoton15_Eta3p1ForPPRef_v9, fragment.HLT_SinglePhoton20_Eta3p1ForPPRef_v9, fragment.HLT_SinglePhoton30_Eta3p1ForPPRef_v9, fragment.HLT_SinglePhoton40_Eta3p1ForPPRef_v8, fragment.HLT_SinglePhoton50_Eta3p1ForPPRef_v8, fragment.HLT_SinglePhoton60_Eta3p1ForPPRef_v8, fragment.HLT_Photon20_HoverELoose_v10, fragment.HLT_Photon30_HoverELoose_v10, fragment.HLT_Photon40_HoverELoose_v10, fragment.HLT_Photon50_HoverELoose_v10, fragment.HLT_Photon60_HoverELoose_v10, fragment.HLT_HIL2Mu3Eta2p5_AK4CaloJet40Eta2p1ForPPRef_v11, fragment.HLT_HIL2Mu3Eta2p5_AK4CaloJet60Eta2p1ForPPRef_v11, fragment.HLT_HIL2Mu3Eta2p5_AK4CaloJet80Eta2p1ForPPRef_v11, fragment.HLT_HIL2Mu3Eta2p5_AK4CaloJet100Eta2p1ForPPRef_v11, fragment.HLT_HIL1DoubleMu0ForPPRef_v4, fragment.HLT_HIL1DoubleMu10ForPPRef_v4, fragment.HLT_HIL2DoubleMu0_NHitQForPPRef_v5, fragment.HLT_HIL3DoubleMu0_OS_m2p5to4p5ForPPRef_v6, fragment.HLT_HIL3DoubleMu0_OS_m7to14ForPPRef_v6, fragment.HLT_HIL2Mu3_NHitQ10ForPPRef_v6, fragment.HLT_HIL3Mu3_NHitQ15ForPPRef_v6, fragment.HLT_HIL2Mu5_NHitQ10ForPPRef_v6, fragment.HLT_HIL3Mu5_NHitQ15ForPPRef_v6, fragment.HLT_HIL2Mu7_NHitQ10ForPPRef_v6, fragment.HLT_HIL3Mu7_NHitQ15ForPPRef_v6, fragment.HLT_HIL2Mu15ForPPRef_v6, fragment.HLT_HIL3Mu15ForPPRef_v6, fragment.HLT_HIL2Mu20ForPPRef_v6, fragment.HLT_HIL3Mu20ForPPRef_v6, fragment.HLT_FullTrack18ForPPRef_v11, fragment.HLT_FullTrack24ForPPRef_v11, fragment.HLT_FullTrack34ForPPRef_v11, fragment.HLT_FullTrack45ForPPRef_v11, fragment.HLT_FullTrack53ForPPRef_v11, fragment.HLT_HIL1CastorMediumJetForPPRef_v4, fragment.HLT_HIL1UnpairedBunchBptxMinusForPPRef_v2, fragment.HLT_HIL1UnpairedBunchBptxPlusForPPRef_v2, fragment.HLT_HIL1NotBptxORForPPRef_v2, fragment.HLT_HIHT80_Beamspot_ppRef5TeV_v3, fragment.HLT_HIZeroBias_part0_v6, fragment.HLT_HIZeroBias_part1_v6, fragment.HLT_HIZeroBias_part2_v6, fragment.HLT_HIZeroBias_part3_v6, fragment.HLT_HIZeroBias_part4_v6, fragment.HLT_HIZeroBias_part5_v6, fragment.HLT_HIZeroBias_part6_v6, fragment.HLT_HIZeroBias_part7_v6, fragment.HLT_HIZeroBias_part8_v6, fragment.HLT_HIZeroBias_part9_v6, fragment.HLT_HIZeroBias_part10_v6, fragment.HLT_HIZeroBias_part11_v6, fragment.AlCa_HIEcalPi0EBonly_v1, fragment.AlCa_HIEcalPi0EEonly_v1, fragment.AlCa_HIEcalEtaEBonly_v1, fragment.AlCa_HIEcalEtaEEonly_v1, fragment.HLT_DmesonPPTrackingGlobal_Dpt8ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt15ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt20ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt30ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt40ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt50ForPPRef_v11, fragment.HLT_DmesonPPTrackingGlobal_Dpt60ForPPRef_v11, fragment.HLT_AK4PFBJetBCSV60_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFBJetBCSV80_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFDJet60_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFDJet80_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFBJetBSSV60_Eta2p1ForPPRef_v16, fragment.HLT_AK4PFBJetBSSV80_Eta2p1ForPPRef_v16, fragment.HLT_EcalCalibration_v4, fragment.HLT_HcalCalibration_v5, fragment.AlCa_EcalPhiSym_v9, fragment.HLT_L1UnpairedBunchBptxMinus_v2, fragment.HLT_L1UnpairedBunchBptxPlus_v2, fragment.HLT_L1NotBptxOR_v3, fragment.HLT_L1BptxXOR_v1, fragment.HLT_L1TOTEM1_MinBias_v4, fragment.HLT_L1TOTEM2_ZeroBias_v4, fragment.HLT_L1MinimumBiasHF_OR_v3, fragment.HLT_L1MinimumBiasHF_OR_part0_v1, fragment.HLT_L1MinimumBiasHF_OR_part1_v1, fragment.HLT_L1MinimumBiasHF_OR_part2_v1, fragment.HLT_L1MinimumBiasHF_OR_part3_v1, fragment.HLT_L1MinimumBiasHF_OR_part4_v1, fragment.HLT_L1MinimumBiasHF_OR_part5_v1, fragment.HLT_L1MinimumBiasHF_OR_part6_v1, fragment.HLT_L1MinimumBiasHF_OR_part7_v1, fragment.HLT_L1MinimumBiasHF_OR_part8_v1, fragment.HLT_L1MinimumBiasHF_OR_part9_v1, fragment.HLT_L1MinimumBiasHF0OR_v4, fragment.HLT_L1MinimumBiasHF1OR_v4, fragment.HLT_L1MinimumBiasHF2OR_v4, fragment.HLT_L1MinimumBiasHF2ORNoBptxGating_v5, fragment.HLT_L1MinimumBiasHF1AND_v4, fragment.HLT_L1MinimumBiasHF2AND_v4, fragment.HLT_L1_CDC_SingleMu_3_er1p2_TOP120_DPHI2p618_3p142_v2, fragment.HLT_CDC_L2cosmic_10_er1p0_v1, fragment.HLT_CDC_L2cosmic_5p5_er1p0_v1, fragment.HLT_HcalNZS_v13, fragment.HLT_HcalPhiSym_v15, fragment.HLT_HcalIsolatedbunch_v5, fragment.HLT_IsoTrackHB_v4, fragment.HLT_IsoTrackHE_v4, fragment.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, fragment.HLT_ZeroBias_IsolatedBunches_v5, fragment.HLT_ZeroBias_FirstCollisionInTrain_v4, fragment.HLT_ZeroBias_LastCollisionInTrain_v3, fragment.HLT_ZeroBias_FirstBXAfterTrain_v3, fragment.AlCa_RPCMuonNormalisation_v13, fragment.AlCa_HIRPCMuonNormalisation_v1, fragment.AlCa_LumiPixelsCounts_Random_v2, fragment.AlCa_LumiPixelsCounts_ZeroBias_v2, fragment.MC_ReducedIterativeTracking_v12, fragment.MC_PFMET_v17, fragment.MC_AK4PFJets_v17, fragment.MC_PFBTagDeepCSV_v10, fragment.MC_PFHT_v16, fragment.MC_PFMHT_v16, fragment.MC_CaloMET_v8, fragment.MC_CaloMET_JetIdCleaned_v9, fragment.MC_AK4CaloJets_v9, fragment.MC_AK4CaloJetsFromPV_v8, fragment.MC_CaloBTagDeepCSV_v8, fragment.MC_CaloHT_v8, fragment.MC_CaloMHT_v8, fragment.MC_AK8PFJets_v17, fragment.MC_AK8TrimPFJets_v17, fragment.MC_AK8PFHT_v16, fragment.MC_AK8CaloHT_v8, fragment.MC_Diphoton10_10_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass10_v13, fragment.MC_DoubleEle5_CaloIdL_MW_v15, fragment.MC_Ele5_WPTight_Gsf_v8, fragment.MC_Ele15_Ele10_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.MC_IsoMu_v15, fragment.MC_IsoTkMu15_v12, fragment.MC_DoubleMu_TrkIsoVVL_DZ_v11, fragment.MC_DoubleGlbTrkMu_TrkIsoVVL_DZ_v12, fragment.MC_DoubleMuNoFiltersNoVtx_v7, fragment.AlCa_EcalPi0EBonly_v13, fragment.AlCa_EcalPi0EEonly_v13, fragment.AlCa_EcalEtaEBonly_v13, fragment.AlCa_EcalEtaEEonly_v13, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET90_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET100_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET110_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET120_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET130_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET140_v3, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, fragment.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_1pr_v11, fragment.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_MediumChargedIsoPFTau200HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_MediumChargedIsoPFTau220HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v9, fragment.HLT_Rsq0p35_v15, fragment.HLT_Rsq0p40_v15, fragment.HLT_RsqMR300_Rsq0p09_MR200_v15, fragment.HLT_RsqMR320_Rsq0p09_MR200_v15, fragment.HLT_RsqMR300_Rsq0p09_MR200_4jet_v15, fragment.HLT_RsqMR320_Rsq0p09_MR200_4jet_v15, fragment.HLT_L1_DoubleJet30_Mass_Min400_Mu10_v1, fragment.HLT_IsoMu27_MET90_v3, fragment.HLT_DoubleMediumChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, fragment.HLT_DoubleMediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, fragment.HLT_DoubleTightChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, fragment.HLT_DoubleTightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, fragment.HLT_DoubleMediumChargedIsoPFTauHPS30_L1MaxMass_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v4, fragment.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_VBF_DoubleLooseChargedIsoPFTau20_Trk1_eta2p1_v3, fragment.HLT_VBF_DoubleLooseChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_VBF_DoubleMediumChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_VBF_DoubleTightChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_Photon50_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_PFMET50_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ600DEta3_v5, fragment.HLT_PFMET100_PFMHT100_IDTight_PFHT60_v9, fragment.HLT_PFMETNoMu100_PFMHTNoMu100_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne100_PFMHT100_IDTight_PFHT60_v9, fragment.HLT_Mu18_Mu9_SameSign_v4, fragment.HLT_Mu18_Mu9_SameSign_DZ_v4, fragment.HLT_Mu18_Mu9_v4, fragment.HLT_Mu18_Mu9_DZ_v4, fragment.HLT_Mu20_Mu10_SameSign_v4, fragment.HLT_Mu20_Mu10_SameSign_DZ_v4, fragment.HLT_Mu20_Mu10_v4, fragment.HLT_Mu20_Mu10_DZ_v4, fragment.HLT_Mu23_Mu12_SameSign_v4, fragment.HLT_Mu23_Mu12_SameSign_DZ_v4, fragment.HLT_Mu23_Mu12_v4, fragment.HLT_Mu23_Mu12_DZ_v4, fragment.HLT_DoubleMu2_Jpsi_DoubleTrk1_Phi1p05_v6, fragment.HLT_DoubleMu2_Jpsi_DoubleTkMu0_Phi_v5, fragment.HLT_DoubleMu3_DCA_PFMET50_PFMHT60_v10, fragment.HLT_TripleMu_5_3_3_Mass3p8_DCA_v3, fragment.HLT_QuadPFJet98_83_71_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet103_88_75_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet111_90_80_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet98_83_71_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet103_88_75_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet105_88_76_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet111_90_80_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet98_83_71_15_v5, fragment.HLT_QuadPFJet103_88_75_15_v5, fragment.HLT_QuadPFJet105_88_76_15_v5, fragment.HLT_QuadPFJet111_90_80_15_v5, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p17_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p1_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_p02_v3, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np2_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np4_v2, fragment.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_Mass55_v2, fragment.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_v2, fragment.HLT_Mu12_IP6_ToCSCS_v1, fragment.HLT_Mu12_IP6_part0_v2, fragment.HLT_Mu12_IP6_part1_v2, fragment.HLT_Mu12_IP6_part2_v2, fragment.HLT_Mu12_IP6_part3_v2, fragment.HLT_Mu12_IP6_part4_v2, fragment.HLT_Mu9_IP5_ToCSCS_v1, fragment.HLT_Mu9_IP5_part0_v2, fragment.HLT_Mu9_IP5_part1_v2, fragment.HLT_Mu9_IP5_part2_v2, fragment.HLT_Mu9_IP5_part3_v2, fragment.HLT_Mu9_IP5_part4_v2, fragment.HLT_Mu7_IP4_ToCSCS_v1, fragment.HLT_Mu7_IP4_part0_v2, fragment.HLT_Mu7_IP4_part1_v2, fragment.HLT_Mu7_IP4_part2_v2, fragment.HLT_Mu7_IP4_part3_v2, fragment.HLT_Mu7_IP4_part4_v2, fragment.HLT_Mu9_IP4_ToCSCS_v1, fragment.HLT_Mu9_IP4_part0_v2, fragment.HLT_Mu9_IP4_part1_v2, fragment.HLT_Mu9_IP4_part2_v2, fragment.HLT_Mu9_IP4_part3_v2, fragment.HLT_Mu9_IP4_part4_v2, fragment.HLT_Mu8_IP5_ToCSCS_v1, fragment.HLT_Mu8_IP5_part0_v2, fragment.HLT_Mu8_IP5_part1_v2, fragment.HLT_Mu8_IP5_part2_v2, fragment.HLT_Mu8_IP5_part3_v2, fragment.HLT_Mu8_IP5_part4_v2, fragment.HLT_Mu8_IP6_ToCSCS_v1, fragment.HLT_Mu8_IP6_part0_v2, fragment.HLT_Mu8_IP6_part1_v2, fragment.HLT_Mu8_IP6_part2_v2, fragment.HLT_Mu8_IP6_part3_v2, fragment.HLT_Mu8_IP6_part4_v2, fragment.HLT_Mu9_IP6_ToCSCS_v1, fragment.HLT_Mu9_IP6_part0_v3, fragment.HLT_Mu9_IP6_part1_v3, fragment.HLT_Mu9_IP6_part2_v3, fragment.HLT_Mu9_IP6_part3_v3, fragment.HLT_Mu9_IP6_part4_v3, fragment.HLT_Mu8_IP3_ToCSCS_v1, fragment.HLT_Mu8_IP3_part0_v3, fragment.HLT_Mu8_IP3_part1_v3, fragment.HLT_Mu8_IP3_part2_v3, fragment.HLT_Mu8_IP3_part3_v3, fragment.HLT_Mu8_IP3_part4_v3, fragment.HLT_Mu9_IP0_part0_v2, fragment.HLT_Mu9_IP3_part0_v2, fragment.HLT_QuadPFJet105_88_76_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_TrkMu6NoFiltersNoVtx_v1, fragment.HLT_TrkMu16NoFiltersNoVtx_v1, fragment.HLT_DoubleTrkMu_16_6_NoFiltersNoVtx_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, fragment.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, fragment.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, fragment.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, fragment.HLT_L1TOTEM_3_v1, fragment.HLT_L1RomanPot_part0_v1, fragment.HLT_L1RomanPot_part1_v1, fragment.HLT_L1RomanPot_part2_v1, fragment.HLT_L1RomanPot_part3_v1, fragment.HLT_PPSMaxTracksPerArm1_v1, fragment.HLT_PPSMaxTracksPerRP4_v1, fragment.HLT_L1DoubleMu_v1, fragment.HLT_L1SingleMu_v1, fragment.HLT_L1DoubleJet_v1, fragment.HLT_L1DoubleJetANDTotem_v1, fragment.HLT_L1DoubleJet_gap_v1, fragment.HLT_L1HFveto_v1, fragment.HLT_HIPhysics_v1, fragment.HLT_HIPhysicsForZS_v1, fragment.HLT_HIRandom_v1, fragment.AlCa_EcalPhiSymForHI_v1, fragment.HLT_HIHcalNZS_v1, fragment.HLT_HIHcalPhiSym_v1, fragment.AlCa_RPCMuonNormalisationForHI_v1, fragment.AlCa_EcalPi0EBonlyForHI_v1, fragment.AlCa_EcalPi0EEonlyForHI_v1, fragment.AlCa_EcalEtaEBonlyForHI_v1, fragment.AlCa_EcalEtaEEonlyForHI_v1, fragment.HLT_HICentralityVeto_v1, fragment.HLT_HICentralityVeto_Beamspot_v1, fragment.HLT_HICentrality30100_FirstCollisionAfterAbortGap_v1, fragment.HLT_HICentralityTag20100_v1, fragment.HLT_HICentralityTag30100_v1, fragment.HLT_HICentralityTag50100_v1, fragment.HLT_HIZeroBias_v1, fragment.HLT_HIZeroBias_FirstCollisionAfterAbortGap_v1, fragment.HLT_HIMinimumBias_part0_v1, fragment.HLT_HIMinimumBias_part1_v1, fragment.HLT_HIMinimumBias_part2_v1, fragment.HLT_HIMinimumBias_part3_v1, fragment.HLT_HIMinimumBias_part4_v1, fragment.HLT_HIMinimumBias_part5_v1, fragment.HLT_HIMinimumBias_part6_v1, fragment.HLT_HIMinimumBias_part7_v1, fragment.HLT_HIMinimumBias_part8_v1, fragment.HLT_HIMinimumBias_part9_v1, fragment.HLT_HIMinimumBias_part10_v1, fragment.HLT_HIMinimumBias_part11_v1, fragment.HLT_HIMinimumBias_part12_v1, fragment.HLT_HIMinimumBias_part13_v1, fragment.HLT_HIMinimumBias_part14_v1, fragment.HLT_HIMinimumBias_part15_v1, fragment.HLT_HIMinimumBias_part16_v1, fragment.HLT_HIMinimumBias_part17_v1, fragment.HLT_HIMinimumBias_part18_v1, fragment.HLT_HIMinimumBias_part19_v1, fragment.HLT_HIMinimumBiasRF_part0_v1, fragment.HLT_HIMinimumBiasRF_part1_v1, fragment.HLT_HIMinimumBiasRF_part2_v1, fragment.HLT_HIMinimumBiasRF_part3_v1, fragment.HLT_HIMinimumBiasRF_part4_v1, fragment.HLT_HIMinimumBiasRF_part5_v1, fragment.HLT_HIMinimumBiasRF_part6_v1, fragment.HLT_HIMinimumBiasRF_part7_v1, fragment.HLT_HIMinimumBiasRF_part8_v1, fragment.HLT_HIMinimumBiasRF_part9_v1, fragment.HLT_HIMinimumBiasRF_part10_v1, fragment.HLT_HIMinimumBiasRF_part11_v1, fragment.HLT_HIMinimumBiasRF_part12_v1, fragment.HLT_HIMinimumBiasRF_part13_v1, fragment.HLT_HIMinimumBiasRF_part14_v1, fragment.HLT_HIMinimumBiasRF_part15_v1, fragment.HLT_HIMinimumBiasRF_part16_v1, fragment.HLT_HIMinimumBiasRF_part17_v1, fragment.HLT_HIMinimumBiasRF_part18_v1, fragment.HLT_HIMinimumBiasRF_part19_v1, fragment.HLT_HIMinimumBiasRF_part20_v1, fragment.HLT_HIMinimumBiasRF_part21_v1, fragment.HLT_HIMinimumBiasRF_part22_v1, fragment.HLT_HIMinimumBiasRF_part23_v1, fragment.HLT_HIPuAK4CaloJet40Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet60Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet80Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet100Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet120Eta5p1_v1, fragment.HLT_HIPuAK4CaloJet40Eta5p1_Centrality_30_100_v1, fragment.HLT_HIPuAK4CaloJet40Eta5p1_Centrality_50_100_v1, fragment.HLT_HIPuAK4CaloJet60Eta5p1_Centrality_30_100_v1, fragment.HLT_HIPuAK4CaloJet60Eta5p1_Centrality_50_100_v1, fragment.HLT_HIPuAK4CaloJet80Eta5p1_Centrality_30_100_v1, fragment.HLT_HIPuAK4CaloJet80Eta5p1_Centrality_50_100_v1, fragment.HLT_HIPuAK4CaloJet100Eta5p1_Centrality_30_100_v1, fragment.HLT_HIPuAK4CaloJet100Eta5p1_Centrality_50_100_v1, fragment.HLT_HIPuAK4CaloJet80_35_Eta1p1_v1, fragment.HLT_HIPuAK4CaloJet100_35_Eta1p1_v1, fragment.HLT_HIPuAK4CaloJet80_35_Eta0p7_v1, fragment.HLT_HIPuAK4CaloJet100_35_Eta0p7_v1, fragment.HLT_HIPuAK4CaloJet80_45_45_Eta2p1_v1, fragment.HLT_HIPuAK4CaloJet40Fwd_v1, fragment.HLT_HIPuAK4CaloJet60Fwd_v1, fragment.HLT_HIPuAK4CaloJet80Fwd_v1, fragment.HLT_HIPuAK4CaloJet100Fwd_v1, fragment.HLT_HIPuAK4CaloJet120Fwd_v1, fragment.HLT_HIIslandPhoton10_Eta2p4_v1, fragment.HLT_HIIslandPhoton10_Eta1p5_v1, fragment.HLT_HIIslandPhoton20_Eta2p4_v1, fragment.HLT_HIIslandPhoton20_Eta1p5_v1, fragment.HLT_HIIslandPhoton30_Eta2p4_v1, fragment.HLT_HIIslandPhoton30_Eta1p5_v1, fragment.HLT_HIIslandPhoton40_Eta2p4_v1, fragment.HLT_HIIslandPhoton40_Eta1p5_v1, fragment.HLT_HIIslandPhoton50_Eta2p4_v1, fragment.HLT_HIIslandPhoton50_Eta1p5_v1, fragment.HLT_HIIslandPhoton60_Eta2p4_v1, fragment.HLT_HIIslandPhoton60_Eta1p5_v1, fragment.HLT_HIGEDPhoton10_v1, fragment.HLT_HIGEDPhoton20_v1, fragment.HLT_HIGEDPhoton30_v1, fragment.HLT_HIGEDPhoton40_v1, fragment.HLT_HIGEDPhoton50_v1, fragment.HLT_HIGEDPhoton60_v1, fragment.HLT_HIGEDPhoton10_EB_v1, fragment.HLT_HIGEDPhoton20_EB_v1, fragment.HLT_HIGEDPhoton30_EB_v1, fragment.HLT_HIGEDPhoton40_EB_v1, fragment.HLT_HIGEDPhoton50_EB_v1, fragment.HLT_HIGEDPhoton60_EB_v1, fragment.HLT_HIGEDPhoton10_HECut_v1, fragment.HLT_HIGEDPhoton20_HECut_v1, fragment.HLT_HIGEDPhoton30_HECut_v1, fragment.HLT_HIGEDPhoton40_HECut_v1, fragment.HLT_HIGEDPhoton50_HECut_v1, fragment.HLT_HIGEDPhoton60_HECut_v1, fragment.HLT_HIGEDPhoton10_EB_HECut_v1, fragment.HLT_HIGEDPhoton20_EB_HECut_v1, fragment.HLT_HIGEDPhoton30_EB_HECut_v1, fragment.HLT_HIGEDPhoton40_EB_HECut_v1, fragment.HLT_HIGEDPhoton50_EB_HECut_v1, fragment.HLT_HIGEDPhoton60_EB_HECut_v1, fragment.HLT_HIEle10Gsf_v1, fragment.HLT_HIEle15Gsf_v1, fragment.HLT_HIEle20Gsf_v1, fragment.HLT_HIEle30Gsf_v1, fragment.HLT_HIEle40Gsf_v1, fragment.HLT_HIEle50Gsf_v1, fragment.HLT_HIEle15Ele10Gsf_v1, fragment.HLT_HIEle15Ele10GsfMass50_v1, fragment.HLT_HIDoubleEle10Gsf_v1, fragment.HLT_HIDoubleEle10GsfMass50_v1, fragment.HLT_HIDoubleEle15Gsf_v1, fragment.HLT_HIDoubleEle15GsfMass50_v1, fragment.HLT_HIL1Mu3Eta2p5_Ele10Gsf_v1, fragment.HLT_HIL1Mu3Eta2p5_Ele15Gsf_v1, fragment.HLT_HIL1Mu3Eta2p5_Ele20Gsf_v1, fragment.HLT_HIL1Mu5Eta2p5_Ele10Gsf_v1, fragment.HLT_HIL1Mu5Eta2p5_Ele15Gsf_v1, fragment.HLT_HIL1Mu5Eta2p5_Ele20Gsf_v1, fragment.HLT_HIL1Mu7Eta2p5_Ele10Gsf_v1, fragment.HLT_HIL1Mu7Eta2p5_Ele15Gsf_v1, fragment.HLT_HIL1Mu7Eta2p5_Ele20Gsf_v1, fragment.HLT_HIEle10Gsf_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIEle10Gsf_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIEle10Gsf_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIEle10Gsf_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIEle15Gsf_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIEle15Gsf_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIEle15Gsf_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIEle15Gsf_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIEle20Gsf_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIEle20Gsf_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIEle20Gsf_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIEle20Gsf_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt15_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt20_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt30_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt40_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt50_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt60_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt15_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt20_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt30_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt40_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt50_NoIter10_v1, fragment.HLT_HIDmesonPPTrackingGlobal_Dpt60_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt20_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt30_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt40_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt50_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt60_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt20_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt30_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt40_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt50_NoIter10_v1, fragment.HLT_HIDsPPTrackingGlobal_Dpt60_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt20_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt30_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt40_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt50_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt60_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt20_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt30_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt40_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt50_NoIter10_v1, fragment.HLT_HILcPPTrackingGlobal_Dpt60_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt18_v1, fragment.HLT_HIFullTracks2018_HighPt24_v1, fragment.HLT_HIFullTracks2018_HighPt34_v1, fragment.HLT_HIFullTracks2018_HighPt45_v1, fragment.HLT_HIFullTracks2018_HighPt56_v1, fragment.HLT_HIFullTracks2018_HighPt60_v1, fragment.HLT_HIFullTracks2018_HighPt18_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt24_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt34_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt45_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt56_NoIter10_v1, fragment.HLT_HIFullTracks2018_HighPt60_NoIter10_v1, fragment.HLT_HIL1DoubleMuOpen_v1, fragment.HLT_HIL1DoubleMuOpen_Centrality_30_100_v1, fragment.HLT_HIL1DoubleMuOpen_Centrality_40_100_v1, fragment.HLT_HIL1DoubleMuOpen_Centrality_50_100_v1, fragment.HLT_HIL1DoubleMuOpen_er1p6_v1, fragment.HLT_HIL1DoubleMuOpen_OS_er1p6_v1, fragment.HLT_HIL1DoubleMuOpen_OS_Centrality_30_100_v1, fragment.HLT_HIL1DoubleMuOpen_OS_Centrality_40_100_v1, fragment.HLT_HIL1DoubleMu0_v1, fragment.HLT_HIL1DoubleMu10_v1, fragment.HLT_HIL2_L1DoubleMu10_v1, fragment.HLT_HIL3_L1DoubleMu10_v1, fragment.HLT_HIL2DoubleMuOpen_v1, fragment.HLT_HIL3DoubleMuOpen_v1, fragment.HLT_HIL3DoubleMuOpen_M60120_v1, fragment.HLT_HIL3DoubleMuOpen_JpsiPsi_v1, fragment.HLT_HIL3DoubleMuOpen_Upsi_v1, fragment.HLT_HIL3Mu0_L2Mu0_v1, fragment.HLT_HIL3Mu2p5NHitQ10_L2Mu2_v1, fragment.HLT_HIL1MuOpen_Centrality_70_100_v1, fragment.HLT_HIL1MuOpen_Centrality_80_100_v1, fragment.HLT_HIL2Mu3_NHitQ15_v1, fragment.HLT_HIL2Mu5_NHitQ15_v1, fragment.HLT_HIL2Mu7_NHitQ15_v1, fragment.HLT_HIL2Mu3_NHitQ15_tagging_v1, fragment.HLT_HIL2Mu5_NHitQ15_tagging_v1, fragment.HLT_HIL2Mu7_NHitQ15_tagging_v1, fragment.HLT_HIL3Mu2p5_L1DoubleMu0_v1, fragment.HLT_HIL3Mu3_L1DoubleMuOpen_OS_v1, fragment.HLT_HIL3Mu3NHitQ10_L1DoubleMuOpen_v1, fragment.HLT_HIL3Mu3_L1TripleMuOpen_v1, fragment.HLT_HIL3Mu12_v1, fragment.HLT_HIL3Mu15_v1, fragment.HLT_HIL3Mu20_v1, fragment.HLT_HIL3Mu3_NHitQ10_v1, fragment.HLT_HIL3Mu5_NHitQ10_v1, fragment.HLT_HIL3Mu7_NHitQ10_v1, fragment.HLT_HIL3Mu3_NHitQ10_tagging_v1, fragment.HLT_HIL3Mu5_NHitQ10_tagging_v1, fragment.HLT_HIL3Mu7_NHitQ10_tagging_v1, fragment.HLT_HIL3Mu0NHitQ10_L2Mu0_MAXdR3p5_M1to5_v1, fragment.HLT_HIL3Mu2p5NHitQ10_L2Mu2_M7toinf_v1, fragment.HLT_HIL1_ETT8_ETTAsym50_MinimumBiasHF1_OR_BptxAND_v1, fragment.HLT_HIL1_ETT10_ETTAsym50_MinimumBiasHF1_OR_BptxAND_v1, fragment.HLT_HIL1_ETT60_ETTAsym65_MinimumBiasHF2_OR_PixelTracks10_v1, fragment.HLT_HIL1_ETT65_ETTAsym80_MinimumBiasHF2_OR_PixelTracks10_v1, fragment.HLT_HIFullTracks_Multiplicity020_HF1AND_v1, fragment.HLT_HIFullTracks_Multiplicity2040_HF1AND_v1, fragment.HLT_HIFullTracks_Multiplicity4060_v1, fragment.HLT_HIFullTracks_Multiplicity6080_v1, fragment.HLT_HIFullTracks_Multiplicity80100_v1, fragment.HLT_HIFullTracks_Multiplicity020_v1, fragment.HLT_HIFullTracks_Multiplicity020_HF1OR_v1, fragment.HLT_HIFullTracks_Multiplicity020_HF2OR_v1, fragment.HLT_HIFullTracks_Multiplicity2040_v1, fragment.HLT_HIFullTracks_Multiplicity2040_HF1OR_v1, fragment.HLT_HIFullTracks_Multiplicity2040_HF2OR_v1, fragment.HLT_HIFullTracks_Multiplicity335_HF1OR_v1, fragment.HLT_HIUPC_Mu8_Mu13_v1, fragment.HLT_HIUPC_Mu8_Mu13_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMuOpen_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMuOpen_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMuOpen_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMuOpen_NotMBHF2AND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMuOpen_NotMBHF2AND_v1, fragment.HLT_HIUPC_DoubleMuOpen_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMuOpen_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMuOpen_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMu0_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMu0_NotMBHF2AND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMu0_NotMBHF2AND_v1, fragment.HLT_HIUPC_DoubleMu0_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMu0_NotMBHF2AND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMu0_NotMBHF2AND_v1, fragment.HLT_HIUPC_DoubleMu0_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMu0_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMu3_NotMBHF2OR_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMu3_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleMu0_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleMu0_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleMu3_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2AND_v1, fragment.HLT_HIUPC_NotMBHF2OR_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_NotMBHF2AND_v1, fragment.HLT_HIUPC_NotMBHF2OR_BptxAND_SinglePixelTrack_v1, fragment.HLT_HIUPC_ZeroBias_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_NotMBHF2OR_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2AND_v1, fragment.HLT_HIUPC_DoubleEG5_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2AND_v1, fragment.HLT_HIUPC_SingleEG5_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2AND_SinglePixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2AND_v1, fragment.HLT_HIUPC_SingleEG3_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_SingleEG3_NotMBHF2OR_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_NotMBHF2OR_v1, fragment.HLT_HIUPC_ETT5_Asym50_NotMBHF2OR_v1, fragment.HLT_HIUPC_ETT5_Asym50_NotMBHF2OR_SinglePixelTrack_v1, fragment.HLT_HIUPC_ZeroBias_MaxPixelCluster_v1, fragment.HLT_HIUPC_SingleEG3_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_SingleEG5_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG2_BptxAND_MaxPixelTrack_v1, fragment.HLT_HIUPC_DoubleEG5_BptxAND_MaxPixelTrack_v1, fragment.HLT_HICsAK4PFJet60Eta1p5_v1, fragment.HLT_HICsAK4PFJet80Eta1p5_v1, fragment.HLT_HICsAK4PFJet100Eta1p5_v1, fragment.HLT_HICsAK4PFJet100Eta1p5_Beamspot_v1, fragment.HLT_HICsAK4PFJet120Eta1p5_v1, fragment.HLT_HICsAK4PFJet60Eta1p5_Centrality_30_100_v1, fragment.HLT_HICsAK4PFJet60Eta1p5_Centrality_50_100_v1, fragment.HLT_HICsAK4PFJet80Eta1p5_Centrality_30_100_v1, fragment.HLT_HICsAK4PFJet80Eta1p5_Centrality_50_100_v1, fragment.HLT_HICsAK4PFJet100Eta1p5_Centrality_30_100_v1, fragment.HLT_HICsAK4PFJet100Eta1p5_Centrality_50_100_v1, fragment.HLT_HIL3Mu3_EG10HECut_v1, fragment.HLT_HIL3Mu3_EG15HECut_v1, fragment.HLT_HIL3Mu3_EG20HECut_v1, fragment.HLT_HIL3Mu3_EG30HECut_v1, fragment.HLT_HIL3Mu5_EG10HECut_v1, fragment.HLT_HIL3Mu5_EG15HECut_v1, fragment.HLT_HIL3Mu5_EG20HECut_v1, fragment.HLT_HIL3Mu5_EG30HECut_v1, fragment.HLT_HIL3Mu7_EG10HECut_v1, fragment.HLT_HIL3Mu7_EG15HECut_v1, fragment.HLT_HIL3Mu7_EG20HECut_v1, fragment.HLT_HIL3Mu7_EG30HECut_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet40Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet60Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet80Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet100Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet40Eta2p1_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet60Eta2p1_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet80Eta2p1_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet100Eta2p1_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet40Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet60Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet80Eta2p1_FilterDr_v1, fragment.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet100Eta2p1_FilterDr_v1, fragment.HLT_HICastor_MediumJet_NotMBHF2AND_v1, fragment.HLT_HICastor_MediumJet_NotMBHF2OR_v1, fragment.HLT_HICastor_MediumJet_MBHF1OR_BptxAND_v1, fragment.HLT_HICastor_MediumJet_SingleMu0_MBHF1OR_BptxAND_v1, fragment.HLT_HICastor_MediumJet_SingleEG5_MBHF1OR_BptxAND_v1, fragment.HLT_HICastor_MediumJet_BptxAND_v1, fragment.HLT_HICastor_MediumJet_v1, fragment.HLT_HICastor_HighJet_v1, fragment.HLT_HICastor_HighJet_BptxAND_v1, fragment.HLT_HICastor_HighJet_MBHF1OR_BptxAND_v1, fragment.HLT_HICastor_HighJet_NotMBHF2OR_v1, fragment.HLT_HICastor_HighJet_NotMBHF2AND_v1, fragment.HLT_HICastor_HighJet_MBHF1AND_BptxAND_v1, fragment.HLT_HICastor_HighJet_MBHF2AND_BptxAND_v1, fragment.HLT_HICastor_Muon_v1, fragment.HLT_HICastor_Muon_BptxAND_v1, fragment.HLT_HIIslandPhoton10_Eta2p4_Cent30_100_v1, fragment.HLT_HIIslandPhoton20_Eta2p4_Cent30_100_v1, fragment.HLT_HIIslandPhoton30_Eta2p4_Cent30_100_v1, fragment.HLT_HIIslandPhoton40_Eta2p4_Cent30_100_v1, fragment.HLT_HIIslandPhoton10_Eta2p4_Cent50_100_v1, fragment.HLT_HIIslandPhoton20_Eta2p4_Cent50_100_v1, fragment.HLT_HIIslandPhoton30_Eta2p4_Cent50_100_v1, fragment.HLT_HIIslandPhoton40_Eta2p4_Cent50_100_v1, fragment.HLT_HIGEDPhoton10_Cent30_100_v1, fragment.HLT_HIGEDPhoton20_Cent30_100_v1, fragment.HLT_HIGEDPhoton30_Cent30_100_v1, fragment.HLT_HIGEDPhoton40_Cent30_100_v1, fragment.HLT_HIGEDPhoton10_Cent50_100_v1, fragment.HLT_HIGEDPhoton20_Cent50_100_v1, fragment.HLT_HIGEDPhoton30_Cent50_100_v1, fragment.HLT_HIGEDPhoton40_Cent50_100_v1, fragment.HLT_HIPuAK4CaloJet60Eta2p4_DeepCSV0p4_v1, fragment.HLT_HIPuAK4CaloJet80Eta2p4_DeepCSV0p4_v1, fragment.HLT_HIPuAK4CaloJet100Eta2p4_DeepCSV0p4_v1, fragment.HLT_HIPuAK4CaloJet60Eta2p4_CSVv2WP0p75_v1, fragment.HLT_HIPuAK4CaloJet80Eta2p4_CSVv2WP0p75_v1, fragment.HLT_HIPuAK4CaloJet100Eta2p4_CSVv2WP0p75_v1, fragment.HLT_HIL1NotBptxOR_v1, fragment.HLT_HIL1UnpairedBunchBptxMinus_v1, fragment.HLT_HIL1UnpairedBunchBptxPlus_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part0_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part1_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part2_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part3_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part4_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part5_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part6_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part7_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part8_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part9_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part10_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part11_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part12_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part13_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part14_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part15_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part16_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part17_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part18_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_part19_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part0_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part1_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part2_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part3_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part4_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part5_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part6_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part7_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part8_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part9_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part10_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part11_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part12_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part13_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part14_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part15_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part16_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part17_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part18_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part19_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part20_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part21_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part22_v1, fragment.HLT_HIMinimumBiasRF_SinglePixelTrack_part23_v1, fragment.HLT_HIL1_ZDC_AND_OR_MinimumBiasHF1_AND_BptxAND_v1, fragment.HLT_HIL1_ZDC_AND_OR_MinimumBiasHF2_AND_BptxAND_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part0_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part1_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part2_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part3_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part4_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part5_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part6_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part7_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part8_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part9_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part10_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part11_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part12_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part13_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part14_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part15_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part16_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part17_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part18_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part19_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part0_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part1_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part2_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part3_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part4_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part5_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part6_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part7_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part8_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part9_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part10_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part11_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part12_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part13_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part14_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part15_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part16_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part17_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part18_v1, fragment.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part19_v1, fragment.HLTriggerFinalPath, fragment.HLTAnalyzerEndpath, fragment.ScoutingPFOutput, fragment.ScoutingCaloMuonOutput, )) # dummify hltGetConditions in cff's diff --git a/HLTrigger/Configuration/python/HLT_Fake1_cff.py b/HLTrigger/Configuration/python/HLT_Fake1_cff.py index 6fa2e379b4bf0..37eaef8e106ef 100644 --- a/HLTrigger/Configuration/python/HLT_Fake1_cff.py +++ b/HLTrigger/Configuration/python/HLT_Fake1_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/Fake1 --type Fake1 -# /dev/CMSSW_12_2_0/Fake1/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/Fake1/V4 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/Fake1/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/Fake1/V4') ) fragment.streams = cms.PSet( A = cms.vstring( 'InitialPD' ) ) diff --git a/HLTrigger/Configuration/python/HLT_Fake2_cff.py b/HLTrigger/Configuration/python/HLT_Fake2_cff.py index 331c3166b185b..5801ba0941cf2 100644 --- a/HLTrigger/Configuration/python/HLT_Fake2_cff.py +++ b/HLTrigger/Configuration/python/HLT_Fake2_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/Fake2 --type Fake2 -# /dev/CMSSW_12_2_0/Fake2/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/Fake2/V4 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/Fake2/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/Fake2/V4') ) fragment.streams = cms.PSet( A = cms.vstring( 'InitialPD' ) ) diff --git a/HLTrigger/Configuration/python/HLT_Fake_cff.py b/HLTrigger/Configuration/python/HLT_Fake_cff.py index 127a48040d9ed..5d1c17b5e77f1 100644 --- a/HLTrigger/Configuration/python/HLT_Fake_cff.py +++ b/HLTrigger/Configuration/python/HLT_Fake_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/Fake --type Fake -# /dev/CMSSW_12_2_0/Fake/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/Fake/V4 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/Fake/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/Fake/V4') ) fragment.streams = cms.PSet( A = cms.vstring( 'InitialPD' ) ) diff --git a/HLTrigger/Configuration/python/HLT_GRun_cff.py b/HLTrigger/Configuration/python/HLT_GRun_cff.py index 0e67ccd974518..a116b120bfa2d 100644 --- a/HLTrigger/Configuration/python/HLT_GRun_cff.py +++ b/HLTrigger/Configuration/python/HLT_GRun_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/GRun --type GRun -# /dev/CMSSW_12_2_0/GRun/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/GRun/V5 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/GRun/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/GRun/V5') ) fragment.transferSystem = cms.PSet( @@ -3802,8 +3802,8 @@ ScoutingPF = cms.vstring( 'ScoutingPFRun3' ) ) fragment.datasets = cms.PSet( - AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v1' ), - AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v1' ), + AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v2' ), + AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v2' ), AlCaP0 = cms.vstring( 'AlCa_EcalEtaEBonly_v13', 'AlCa_EcalEtaEEonly_v13', 'AlCa_EcalPi0EBonly_v13', @@ -7923,6 +7923,7 @@ ErrorMask = cms.uint32( 0 ), UnpackStatusDigis = cms.bool( False ), UseFormatStatus = cms.bool( True ), + useRPCs = cms.bool( False ), useGEMs = cms.bool( False ), useCSCShowers = cms.bool( False ), Debug = cms.untracked.bool( False ), @@ -7931,7 +7932,9 @@ VisualFEDInspect = cms.untracked.bool( False ), VisualFEDShort = cms.untracked.bool( False ), FormatedEventDump = cms.untracked.bool( False ), - SuppressZeroLCT = cms.untracked.bool( True ) + SuppressZeroLCT = cms.untracked.bool( True ), + DisableMappingCheck = cms.untracked.bool( False ), + B904Setup = cms.untracked.bool( False ) ) fragment.hltCsc2DRecHits = cms.EDProducer( "CSCRecHitDProducer", CSCStripPeakThreshold = cms.double( 10.0 ), @@ -89596,8 +89599,8 @@ fragment.HLT_ZeroBias_LastCollisionInTrain_v3 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sL1ZeroBiasLastBunchInTrain + fragment.hltPreZeroBiasLastCollisionInTrain + fragment.HLTEndSequence ) fragment.HLT_ZeroBias_FirstBXAfterTrain_v3 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sL1ZeroBiasFirstBunchAfterTrain + fragment.hltPreZeroBiasFirstBXAfterTrain + fragment.HLTEndSequence ) fragment.AlCa_RPCMuonNormalisation_v13 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sSingleMu5IorSingleMu14erIorSingleMu16er + fragment.hltPreAlCaRPCMuonNormalisation + fragment.hltRPCMuonNormaL1Filtered0 + fragment.HLTMuonLocalRecoSequence + fragment.HLTEndSequence ) -fragment.AlCa_LumiPixelsCounts_Random_v1 = cms.Path( fragment.HLTBeginSequenceRandom + fragment.hltScalersRawToDigi + fragment.hltOnlineMetaDataDigis + fragment.hltPixelTrackerHVOn + fragment.hltPreAlCaLumiPixelsCountsRandom + fragment.hltSiPixelDigis + fragment.hltSiPixelClusters + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) -fragment.AlCa_LumiPixelsCounts_ZeroBias_v1 = cms.Path( fragment.HLTBeginSequence + fragment.hltPixelTrackerHVOn + fragment.hltL1sZeroBias + fragment.hltPreAlCaLumiPixelsCountsZeroBias + fragment.hltSiPixelDigis + fragment.hltSiPixelClusters + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) +fragment.AlCa_LumiPixelsCounts_Random_v2 = cms.Path( fragment.HLTBeginSequenceRandom + fragment.hltPreAlCaLumiPixelsCountsRandom + fragment.hltScalersRawToDigi + fragment.hltOnlineMetaDataDigis + fragment.hltPixelTrackerHVOn + fragment.HLTDoLocalPixelSequence + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) +fragment.AlCa_LumiPixelsCounts_ZeroBias_v2 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sZeroBias + fragment.hltPreAlCaLumiPixelsCountsZeroBias + fragment.hltPixelTrackerHVOn + fragment.HLTDoLocalPixelSequence + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) fragment.MC_ReducedIterativeTracking_v12 = cms.Path( fragment.HLTBeginSequence + fragment.hltPreMCReducedIterativeTracking + fragment.HLTRecoJetSequenceAK4PrePF + fragment.HLTDoLocalPixelSequence + fragment.HLTRecopixelvertexingSequence + fragment.HLTDoLocalStripSequence + fragment.HLTIterativeTrackingIter02 + fragment.HLTEndSequence ) fragment.MC_PFMET_v17 = cms.Path( fragment.HLTBeginSequence + fragment.hltPreMCPFMET + fragment.HLTAK4PFJetsSequence + fragment.hltPFMETProducer + fragment.hltPFMETOpenFilter + fragment.HLTEndSequence ) fragment.MC_AK4PFJets_v17 = cms.Path( fragment.HLTBeginSequence + fragment.hltPreMCAK4PFJets + fragment.HLTAK4PFJetsSequence + fragment.hltAK4PFJetCollection20Filter + fragment.HLTEndSequence ) @@ -89764,7 +89767,7 @@ fragment.ScoutingPFOutput = cms.Path( fragment.hltGtStage2Digis + fragment.hltPreScoutingPFOutput + fragment.hltFEDSelectorL1 + fragment.HLTPixelOnlyPFScoutingPackingSequence + fragment.hltScoutingPrimaryVertexPacker + fragment.hltScoutingTrackPacker ) -fragment.HLTSchedule = cms.Schedule( *(fragment.HLTriggerFirstPath, fragment.HLT_AK8PFJet360_TrimMass30_v18, fragment.HLT_AK8PFJet380_TrimMass30_v11, fragment.HLT_AK8PFJet400_TrimMass30_v12, fragment.HLT_AK8PFJet420_TrimMass30_v11, fragment.HLT_AK8PFHT750_TrimMass50_v12, fragment.HLT_AK8PFHT800_TrimMass50_v12, fragment.HLT_AK8PFHT850_TrimMass50_v11, fragment.HLT_AK8PFHT900_TrimMass50_v11, fragment.HLT_CaloJet500_NoJetID_v12, fragment.HLT_CaloJet550_NoJetID_v7, fragment.HLT_DoubleMu5_Upsilon_DoubleEle3_CaloIdL_TrackIdL_v4, fragment.HLT_DoubleMu3_DoubleEle7p5_CaloIdL_TrackIdL_Upsilon_v4, fragment.HLT_Trimuon5_3p5_2_Upsilon_Muon_v5, fragment.HLT_TrimuonOpen_5_3p5_2_Upsilon_Muon_v3, fragment.HLT_DoubleEle25_CaloIdL_MW_v4, fragment.HLT_DoubleEle27_CaloIdL_MW_v4, fragment.HLT_DoubleEle33_CaloIdL_MW_v17, fragment.HLT_DoubleEle24_eta2p1_WPTight_Gsf_v7, fragment.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350_v20, fragment.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350_v20, fragment.HLT_Ele27_Ele37_CaloIdL_MW_v4, fragment.HLT_Mu27_Ele37_CaloIdL_MW_v5, fragment.HLT_Mu37_Ele27_CaloIdL_MW_v5, fragment.HLT_Mu37_TkMu27_v5, fragment.HLT_DoubleMu4_3_Bs_v14, fragment.HLT_DoubleMu4_3_Jpsi_v2, fragment.HLT_DoubleMu4_JpsiTrk_Displaced_v15, fragment.HLT_DoubleMu4_LowMassNonResonantTrk_Displaced_v15, fragment.HLT_DoubleMu3_Trk_Tau3mu_v12, fragment.HLT_DoubleMu3_TkMu_DsTau3Mu_v4, fragment.HLT_DoubleMu4_PsiPrimeTrk_Displaced_v15, fragment.HLT_DoubleMu4_Mass3p8_DZ_PFHT350_v8, fragment.HLT_Mu3_PFJet40_v16, fragment.HLT_Mu7p5_L2Mu2_Jpsi_v10, fragment.HLT_Mu7p5_L2Mu2_Upsilon_v10, fragment.HLT_Mu7p5_Track2_Jpsi_v11, fragment.HLT_Mu7p5_Track3p5_Jpsi_v11, fragment.HLT_Mu7p5_Track7_Jpsi_v11, fragment.HLT_Mu7p5_Track2_Upsilon_v11, fragment.HLT_Mu7p5_Track3p5_Upsilon_v11, fragment.HLT_Mu7p5_Track7_Upsilon_v11, fragment.HLT_Mu3_L1SingleMu5orSingleMu7_v1, fragment.HLT_DoublePhoton33_CaloIdL_v6, fragment.HLT_DoublePhoton70_v6, fragment.HLT_DoublePhoton85_v14, fragment.HLT_Ele20_WPTight_Gsf_v6, fragment.HLT_Ele15_WPLoose_Gsf_v3, fragment.HLT_Ele17_WPLoose_Gsf_v3, fragment.HLT_Ele20_WPLoose_Gsf_v6, fragment.HLT_Ele20_eta2p1_WPLoose_Gsf_v6, fragment.HLT_DiEle27_WPTightCaloOnly_L1DoubleEG_v4, fragment.HLT_Ele27_WPTight_Gsf_v16, fragment.HLT_Ele28_WPTight_Gsf_v1, fragment.HLT_Ele30_WPTight_Gsf_v1, fragment.HLT_Ele32_WPTight_Gsf_v15, fragment.HLT_Ele35_WPTight_Gsf_v9, fragment.HLT_Ele35_WPTight_Gsf_L1EGMT_v5, fragment.HLT_Ele38_WPTight_Gsf_v9, fragment.HLT_Ele40_WPTight_Gsf_v9, fragment.HLT_Ele32_WPTight_Gsf_L1DoubleEG_v9, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTau30_eta2p1_CrossL1_v13, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_HT450_Beamspot_v11, fragment.HLT_HT300_Beamspot_v11, fragment.HLT_ZeroBias_Beamspot_v4, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTau27_eta2p1_CrossL1_v12, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_CrossL1_v4, fragment.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v4, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS30_Trk1_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu27_LooseChargedIsoPFTau20_Trk1_eta2p1_SingleL1_v5, fragment.HLT_IsoMu27_LooseChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu27_MediumChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu27_TightChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu20_v15, fragment.HLT_IsoMu24_v13, fragment.HLT_IsoMu24_eta2p1_v15, fragment.HLT_IsoMu27_v16, fragment.HLT_IsoMu30_v4, fragment.HLT_UncorrectedJetE30_NoBPTX_v6, fragment.HLT_UncorrectedJetE30_NoBPTX3BX_v6, fragment.HLT_UncorrectedJetE60_NoBPTX3BX_v6, fragment.HLT_UncorrectedJetE70_NoBPTX3BX_v6, fragment.HLT_L1SingleMu18_v3, fragment.HLT_L1SingleMu25_v2, fragment.HLT_L1SingleMuCosmics_v1, fragment.HLT_L2Mu10_v7, fragment.HLT_L2Mu10_NoVertex_NoBPTX3BX_v5, fragment.HLT_L2Mu10_NoVertex_NoBPTX_v6, fragment.HLT_L2Mu45_NoVertex_3Sta_NoBPTX3BX_v4, fragment.HLT_L2Mu40_NoVertex_3Sta_NoBPTX3BX_v5, fragment.HLT_L2Mu50_v2, fragment.HLT_L2Mu23NoVtx_2Cha_v1, fragment.HLT_L2Mu23NoVtx_2Cha_CosmicSeed_v1, fragment.HLT_DoubleL2Mu30NoVtx_2Cha_CosmicSeed_Eta2p4_v2, fragment.HLT_DoubleL2Mu30NoVtx_2Cha_Eta2p4_v2, fragment.HLT_DoubleL2Mu50_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_Eta2p4_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_Eta2p4_v2, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v14, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v15, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v5, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass8_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v5, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass3p8_v3, fragment.HLT_Mu25_TkMu0_Onia_v8, fragment.HLT_Mu30_TkMu0_Psi_v1, fragment.HLT_Mu30_TkMu0_Upsilon_v1, fragment.HLT_Mu20_TkMu0_Phi_v8, fragment.HLT_Mu25_TkMu0_Phi_v8, fragment.HLT_Mu12_v3, fragment.HLT_Mu15_v3, fragment.HLT_Mu20_v12, fragment.HLT_Mu27_v13, fragment.HLT_Mu50_v13, fragment.HLT_Mu55_v3, fragment.HLT_OldMu100_v3, fragment.HLT_TkMu100_v2, fragment.HLT_DiPFJet15_NoCaloMatched_v16, fragment.HLT_DiPFJet25_NoCaloMatched_v16, fragment.HLT_DiPFJet15_FBEta3_NoCaloMatched_v17, fragment.HLT_DiPFJet25_FBEta3_NoCaloMatched_v17, fragment.HLT_DiPFJetAve40_v14, fragment.HLT_DiPFJetAve60_v14, fragment.HLT_DiPFJetAve80_v13, fragment.HLT_DiPFJetAve140_v13, fragment.HLT_DiPFJetAve200_v13, fragment.HLT_DiPFJetAve260_v14, fragment.HLT_DiPFJetAve320_v14, fragment.HLT_DiPFJetAve400_v14, fragment.HLT_DiPFJetAve500_v14, fragment.HLT_DiPFJetAve15_HFJEC_v17, fragment.HLT_DiPFJetAve25_HFJEC_v17, fragment.HLT_DiPFJetAve35_HFJEC_v17, fragment.HLT_DiPFJetAve60_HFJEC_v15, fragment.HLT_DiPFJetAve80_HFJEC_v16, fragment.HLT_DiPFJetAve100_HFJEC_v16, fragment.HLT_DiPFJetAve160_HFJEC_v16, fragment.HLT_DiPFJetAve220_HFJEC_v16, fragment.HLT_DiPFJetAve300_HFJEC_v16, fragment.HLT_AK8PFJet15_v3, fragment.HLT_AK8PFJet25_v3, fragment.HLT_AK8PFJet40_v16, fragment.HLT_AK8PFJet60_v15, fragment.HLT_AK8PFJet80_v15, fragment.HLT_AK8PFJet140_v15, fragment.HLT_AK8PFJet200_v15, fragment.HLT_AK8PFJet260_v16, fragment.HLT_AK8PFJet320_v16, fragment.HLT_AK8PFJet400_v16, fragment.HLT_AK8PFJet450_v16, fragment.HLT_AK8PFJet500_v16, fragment.HLT_AK8PFJet550_v11, fragment.HLT_PFJet15_v3, fragment.HLT_PFJet25_v3, fragment.HLT_PFJet40_v21, fragment.HLT_PFJet60_v21, fragment.HLT_PFJet80_v20, fragment.HLT_PFJet140_v19, fragment.HLT_PFJet200_v19, fragment.HLT_PFJet260_v20, fragment.HLT_PFJet320_v20, fragment.HLT_PFJet400_v20, fragment.HLT_PFJet450_v21, fragment.HLT_PFJet500_v21, fragment.HLT_PFJet550_v11, fragment.HLT_PFJetFwd15_v3, fragment.HLT_PFJetFwd25_v3, fragment.HLT_PFJetFwd40_v19, fragment.HLT_PFJetFwd60_v19, fragment.HLT_PFJetFwd80_v18, fragment.HLT_PFJetFwd140_v18, fragment.HLT_PFJetFwd200_v18, fragment.HLT_PFJetFwd260_v19, fragment.HLT_PFJetFwd320_v19, fragment.HLT_PFJetFwd400_v19, fragment.HLT_PFJetFwd450_v19, fragment.HLT_PFJetFwd500_v19, fragment.HLT_AK8PFJetFwd15_v3, fragment.HLT_AK8PFJetFwd25_v3, fragment.HLT_AK8PFJetFwd40_v15, fragment.HLT_AK8PFJetFwd60_v14, fragment.HLT_AK8PFJetFwd80_v14, fragment.HLT_AK8PFJetFwd140_v14, fragment.HLT_AK8PFJetFwd200_v14, fragment.HLT_AK8PFJetFwd260_v15, fragment.HLT_AK8PFJetFwd320_v15, fragment.HLT_AK8PFJetFwd400_v15, fragment.HLT_AK8PFJetFwd450_v15, fragment.HLT_AK8PFJetFwd500_v15, fragment.HLT_PFHT180_v17, fragment.HLT_PFHT250_v17, fragment.HLT_PFHT370_v17, fragment.HLT_PFHT430_v17, fragment.HLT_PFHT510_v17, fragment.HLT_PFHT590_v17, fragment.HLT_PFHT680_v17, fragment.HLT_PFHT780_v17, fragment.HLT_PFHT890_v17, fragment.HLT_PFHT1050_v18, fragment.HLT_PFHT500_PFMET100_PFMHT100_IDTight_v12, fragment.HLT_PFHT500_PFMET110_PFMHT110_IDTight_v12, fragment.HLT_PFHT700_PFMET85_PFMHT85_IDTight_v12, fragment.HLT_PFHT700_PFMET95_PFMHT95_IDTight_v12, fragment.HLT_PFHT800_PFMET75_PFMHT75_IDTight_v12, fragment.HLT_PFHT800_PFMET85_PFMHT85_IDTight_v12, fragment.HLT_PFMET110_PFMHT110_IDTight_v20, fragment.HLT_PFMET120_PFMHT120_IDTight_v20, fragment.HLT_PFMET130_PFMHT130_IDTight_v20, fragment.HLT_PFMET140_PFMHT140_IDTight_v20, fragment.HLT_PFMET100_PFMHT100_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET110_PFMHT110_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET120_PFMHT120_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET130_PFMHT130_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET140_PFMHT140_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET120_PFMHT120_IDTight_PFHT60_v9, fragment.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne120_PFMHT120_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne110_PFMHT110_IDTight_v12, fragment.HLT_PFMETTypeOne120_PFMHT120_IDTight_v12, fragment.HLT_PFMETTypeOne130_PFMHT130_IDTight_v12, fragment.HLT_PFMETTypeOne140_PFMHT140_IDTight_v11, fragment.HLT_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, fragment.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, fragment.HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, fragment.HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, fragment.HLT_MonoCentralPFJet80_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, fragment.HLT_MonoCentralPFJet80_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, fragment.HLT_MonoCentralPFJet80_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, fragment.HLT_MonoCentralPFJet80_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, fragment.HLT_L1ETMHadSeeds_v2, fragment.HLT_CaloMHT90_v4, fragment.HLT_CaloMET80_NotCleaned_v4, fragment.HLT_CaloMET90_NotCleaned_v4, fragment.HLT_CaloMET100_NotCleaned_v4, fragment.HLT_CaloMET110_NotCleaned_v4, fragment.HLT_CaloMET250_NotCleaned_v4, fragment.HLT_CaloMET300_NotCleaned_v4, fragment.HLT_CaloMET350_NotCleaned_v4, fragment.HLT_PFMET200_NotCleaned_v9, fragment.HLT_PFMET250_NotCleaned_v9, fragment.HLT_PFMET300_NotCleaned_v9, fragment.HLT_PFMET200_BeamHaloCleaned_v9, fragment.HLT_PFMETTypeOne200_BeamHaloCleaned_v9, fragment.HLT_MET105_IsoTrk50_v9, fragment.HLT_MET120_IsoTrk50_v9, fragment.HLT_SingleJet30_Mu12_SinglePFJet40_v11, fragment.HLT_Mu12_DoublePFJets40_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets100_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets200_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets350_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets40MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets54MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets62MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets40_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets100_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets200_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets350_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets116MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets128MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Photon300_NoHE_v12, fragment.HLT_Mu8_TrkIsoVVL_v12, fragment.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_DZ_v18, fragment.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v18, fragment.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ_v19, fragment.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_v19, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v13, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBtagDeepCSV_1p5_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_CaloBtagDeepCSV_1p5_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v11, fragment.HLT_Mu17_TrkIsoVVL_v13, fragment.HLT_Mu19_TrkIsoVVL_v4, fragment.HLT_BTagMu_AK4DiJet20_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet40_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet70_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet110_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet170_Mu5_v12, fragment.HLT_BTagMu_AK4Jet300_Mu5_v12, fragment.HLT_BTagMu_AK8DiJet170_Mu5_v9, fragment.HLT_BTagMu_AK8Jet170_DoubleMu5_v2, fragment.HLT_BTagMu_AK8Jet300_Mu5_v12, fragment.HLT_BTagMu_AK4DiJet20_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet40_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet70_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet110_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet170_Mu5_noalgo_v12, fragment.HLT_BTagMu_AK4Jet300_Mu5_noalgo_v12, fragment.HLT_BTagMu_AK8DiJet170_Mu5_noalgo_v9, fragment.HLT_BTagMu_AK8Jet170_DoubleMu5_noalgo_v2, fragment.HLT_BTagMu_AK8Jet300_Mu5_noalgo_v12, fragment.HLT_Ele15_Ele8_CaloIdL_TrackIdL_IsoVL_v3, fragment.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v19, fragment.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v19, fragment.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v7, fragment.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v7, fragment.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.HLT_Mu12_DoublePhoton20_v5, fragment.HLT_TriplePhoton_20_20_20_CaloIdLV2_v3, fragment.HLT_TriplePhoton_20_20_20_CaloIdLV2_R9IdVL_v3, fragment.HLT_TriplePhoton_30_30_10_CaloIdLV2_v4, fragment.HLT_TriplePhoton_30_30_10_CaloIdLV2_R9IdVL_v4, fragment.HLT_TriplePhoton_35_35_5_CaloIdLV2_R9IdVL_v4, fragment.HLT_Photon20_v2, fragment.HLT_Photon33_v5, fragment.HLT_Photon50_v13, fragment.HLT_Photon75_v13, fragment.HLT_Photon90_v13, fragment.HLT_Photon120_v13, fragment.HLT_Photon150_v6, fragment.HLT_Photon175_v14, fragment.HLT_Photon200_v13, fragment.HLT_Photon100EB_TightID_TightIso_v2, fragment.HLT_Photon110EB_TightID_TightIso_v2, fragment.HLT_Photon120EB_TightID_TightIso_v2, fragment.HLT_Photon100EBHE10_v2, fragment.HLT_Photon100EEHE10_v2, fragment.HLT_Photon100EE_TightID_TightIso_v2, fragment.HLT_Photon50_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon75_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ300_PFJetsMJJ400DEta3_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ400_PFJetsMJJ600DEta3_v5, fragment.HLT_Photon90_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon120_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon165_R9Id90_HE10_IsoM_v15, fragment.HLT_Photon90_CaloIdL_PFHT700_v16, fragment.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v13, fragment.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v13, fragment.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v15, fragment.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v13, fragment.HLT_Photon35_TwoProngs35_v1, fragment.HLT_IsoMu24_TwoProngs35_v1, fragment.HLT_Dimuon0_Jpsi_L1_NoOS_v7, fragment.HLT_Dimuon0_Jpsi_NoVertexing_NoOS_v7, fragment.HLT_Dimuon0_Jpsi_v8, fragment.HLT_Dimuon0_Jpsi_NoVertexing_v8, fragment.HLT_Dimuon0_Jpsi_L1_4R_0er1p5R_v7, fragment.HLT_Dimuon0_Jpsi_NoVertexing_L1_4R_0er1p5R_v7, fragment.HLT_Dimuon0_Jpsi3p5_Muon2_v5, fragment.HLT_Dimuon0_Upsilon_L1_4p5_v9, fragment.HLT_Dimuon0_Upsilon_L1_5_v9, fragment.HLT_Dimuon0_Upsilon_L1_4p5NoOS_v8, fragment.HLT_Dimuon0_Upsilon_L1_4p5er2p0_v9, fragment.HLT_Dimuon0_Upsilon_L1_4p5er2p0M_v7, fragment.HLT_Dimuon0_Upsilon_NoVertexing_v7, fragment.HLT_Dimuon0_Upsilon_L1_5M_v8, fragment.HLT_Dimuon0_LowMass_L1_0er1p5R_v7, fragment.HLT_Dimuon0_LowMass_L1_0er1p5_v8, fragment.HLT_Dimuon0_LowMass_v8, fragment.HLT_Dimuon0_LowMass_L1_4_v8, fragment.HLT_Dimuon0_LowMass_L1_4R_v7, fragment.HLT_Dimuon0_LowMass_L1_TM530_v6, fragment.HLT_Dimuon0_Upsilon_Muon_L1_TM0_v6, fragment.HLT_Dimuon0_Upsilon_Muon_NoL1Mass_v6, fragment.HLT_TripleMu_5_3_3_Mass3p8_DZ_v8, fragment.HLT_TripleMu_10_5_5_DZ_v10, fragment.HLT_TripleMu_12_10_5_v10, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_Charge1_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_Charge1_v4, fragment.HLT_DoubleMu3_DZ_PFMET50_PFMHT60_v10, fragment.HLT_DoubleMu3_DZ_PFMET70_PFMHT70_v10, fragment.HLT_DoubleMu3_DZ_PFMET90_PFMHT90_v10, fragment.HLT_DoubleMu3_Trk_Tau3mu_NoL1Mass_v6, fragment.HLT_DoubleMu4_Jpsi_Displaced_v7, fragment.HLT_DoubleMu4_Jpsi_NoVertexing_v7, fragment.HLT_DoubleMu4_JpsiTrkTrk_Displaced_v7, fragment.HLT_DoubleMu43NoFiltersNoVtx_v4, fragment.HLT_DoubleMu48NoFiltersNoVtx_v4, fragment.HLT_Mu43NoFiltersNoVtx_Photon43_CaloIdL_v5, fragment.HLT_Mu48NoFiltersNoVtx_Photon48_CaloIdL_v5, fragment.HLT_Mu38NoFiltersNoVtxDisplaced_Photon38_CaloIdL_v1, fragment.HLT_Mu43NoFiltersNoVtxDisplaced_Photon43_CaloIdL_v1, fragment.HLT_DoubleMu33NoFiltersNoVtxDisplaced_v1, fragment.HLT_DoubleMu40NoFiltersNoVtxDisplaced_v1, fragment.HLT_DoubleMu20_7_Mass0to30_L1_DM4_v7, fragment.HLT_DoubleMu20_7_Mass0to30_L1_DM4EG_v8, fragment.HLT_HT425_v9, fragment.HLT_HT430_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT500_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT430_DisplacedDijet60_DisplacedTrack_v13, fragment.HLT_HT400_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT650_DisplacedDijet60_Inclusive_v13, fragment.HLT_HT550_DisplacedDijet60_Inclusive_v13, fragment.HLT_DiJet110_35_Mjj650_PFMET110_v9, fragment.HLT_DiJet110_35_Mjj650_PFMET120_v9, fragment.HLT_DiJet110_35_Mjj650_PFMET130_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET110_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET120_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET130_v9, fragment.HLT_Ele30_eta2p1_WPTight_Gsf_CentralPFJet35_EleCleaned_v13, fragment.HLT_Ele28_eta2p1_WPTight_Gsf_HT150_v13, fragment.HLT_Ele28_HighEta_SC20_Mass55_v13, fragment.HLT_DoubleMu20_7_Mass0to30_Photon23_v8, fragment.HLT_Ele15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, fragment.HLT_Ele15_IsoVVVL_PFHT450_PFMET50_v16, fragment.HLT_Ele15_IsoVVVL_PFHT450_v16, fragment.HLT_Ele50_IsoVVVL_PFHT450_v16, fragment.HLT_Ele15_IsoVVVL_PFHT600_v20, fragment.HLT_Mu4_TrkIsoVVL_DiPFJet90_40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v15, fragment.HLT_Mu8_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v16, fragment.HLT_Mu10_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT350_PFMETNoMu60_v15, fragment.HLT_Mu15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, fragment.HLT_Mu15_IsoVVVL_PFHT450_PFMET50_v15, fragment.HLT_Mu15_IsoVVVL_PFHT450_v15, fragment.HLT_Mu50_IsoVVVL_PFHT450_v15, fragment.HLT_Mu15_IsoVVVL_PFHT600_v19, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET70_PFMHT70_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET80_PFMHT80_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET90_PFMHT90_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET100_PFMHT100_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu70_PFMHTNoMu70_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu80_PFMHTNoMu80_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu90_PFMHTNoMu90_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu100_PFMHTNoMu100_IDTight_v2, fragment.HLT_Dimuon10_PsiPrime_Barrel_Seagulls_v7, fragment.HLT_Dimuon20_Jpsi_Barrel_Seagulls_v7, fragment.HLT_Dimuon12_Upsilon_y1p4_v2, fragment.HLT_Dimuon14_Phi_Barrel_Seagulls_v7, fragment.HLT_Dimuon18_PsiPrime_v14, fragment.HLT_Dimuon25_Jpsi_v14, fragment.HLT_Dimuon18_PsiPrime_noCorrL1_v6, fragment.HLT_Dimuon24_Upsilon_noCorrL1_v6, fragment.HLT_Dimuon24_Phi_noCorrL1_v6, fragment.HLT_Dimuon25_Jpsi_noCorrL1_v6, fragment.HLT_DiMu4_Ele9_CaloIdL_TrackIdL_DZ_Mass3p8_v17, fragment.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_DZ_v17, fragment.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v17, fragment.HLT_DoubleIsoMu20_eta2p1_v7, fragment.HLT_TrkMu12_DoubleTrkMu5NoFiltersNoVtx_v6, fragment.HLT_TrkMu16_DoubleTrkMu6NoFiltersNoVtx_v12, fragment.HLT_TrkMu17_DoubleTrkMu8NoFiltersNoVtx_v13, fragment.HLT_Mu8_v12, fragment.HLT_Mu17_v13, fragment.HLT_Mu19_v4, fragment.HLT_Mu17_Photon30_IsoCaloId_v6, fragment.HLT_Ele8_CaloIdL_TrackIdL_IsoVL_PFJet30_v16, fragment.HLT_Ele12_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, fragment.HLT_Ele15_CaloIdL_TrackIdL_IsoVL_PFJet30_v3, fragment.HLT_Ele23_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, fragment.HLT_Ele8_CaloIdM_TrackIdM_PFJet30_v18, fragment.HLT_Ele17_CaloIdM_TrackIdM_PFJet30_v16, fragment.HLT_Ele23_CaloIdM_TrackIdM_PFJet30_v18, fragment.HLT_Ele50_CaloIdVT_GsfTrkIdT_PFJet165_v18, fragment.HLT_Ele115_CaloIdVT_GsfTrkIdT_v14, fragment.HLT_Ele135_CaloIdVT_GsfTrkIdT_v7, fragment.HLT_Ele145_CaloIdVT_GsfTrkIdT_v8, fragment.HLT_Ele200_CaloIdVT_GsfTrkIdT_v8, fragment.HLT_Ele250_CaloIdVT_GsfTrkIdT_v13, fragment.HLT_Ele300_CaloIdVT_GsfTrkIdT_v13, fragment.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_TriplePFBTagDeepCSV_4p5_v3, fragment.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_v9, fragment.HLT_PFHT400_SixPFJet32_DoublePFBTagDeepCSV_2p94_v8, fragment.HLT_PFHT400_SixPFJet32_v8, fragment.HLT_PFHT450_SixPFJet36_PFBTagDeepCSV_1p59_v7, fragment.HLT_PFHT450_SixPFJet36_v7, fragment.HLT_PFHT400_FivePFJet_100_100_60_30_30_v8, fragment.HLT_PFHT400_FivePFJet_100_100_60_30_30_DoublePFBTagDeepCSV_4p5_v8, fragment.HLT_PFHT400_FivePFJet_120_120_60_30_30_DoublePFBTagDeepCSV_4p5_v8, fragment.HLT_PFHT350_v19, fragment.HLT_PFHT350MinPFJet15_v9, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_v5, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_v5, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_PFHT350MinPFJet15_v11, fragment.HLT_ECALHT800_v10, fragment.HLT_DiSC30_18_EIso_AND_HE_Mass70_v13, fragment.HLT_Physics_v7, fragment.HLT_Physics_part0_v7, fragment.HLT_Physics_part1_v7, fragment.HLT_Physics_part2_v7, fragment.HLT_Physics_part3_v7, fragment.HLT_Physics_part4_v7, fragment.HLT_Physics_part5_v7, fragment.HLT_Physics_part6_v7, fragment.HLT_Physics_part7_v7, fragment.DST_Physics_v7, fragment.HLT_Random_v3, fragment.HLT_ZeroBias_v6, fragment.HLT_ZeroBias_Alignment_v1, fragment.HLT_ZeroBias_part0_v6, fragment.HLT_ZeroBias_part1_v6, fragment.HLT_ZeroBias_part2_v6, fragment.HLT_ZeroBias_part3_v6, fragment.HLT_ZeroBias_part4_v6, fragment.HLT_ZeroBias_part5_v6, fragment.HLT_ZeroBias_part6_v6, fragment.HLT_ZeroBias_part7_v6, fragment.DST_ZeroBias_v2, fragment.DST_Run3_PFScoutingPixelTracking_v16, fragment.HLT_AK4CaloJet30_v11, fragment.HLT_AK4CaloJet40_v10, fragment.HLT_AK4CaloJet50_v10, fragment.HLT_AK4CaloJet80_v10, fragment.HLT_AK4CaloJet100_v10, fragment.HLT_AK4CaloJet120_v9, fragment.HLT_AK4PFJet30_v19, fragment.HLT_AK4PFJet50_v19, fragment.HLT_AK4PFJet80_v19, fragment.HLT_AK4PFJet100_v19, fragment.HLT_AK4PFJet120_v18, fragment.HLT_SinglePhoton10_Eta3p1ForPPRef_v8, fragment.HLT_SinglePhoton20_Eta3p1ForPPRef_v9, fragment.HLT_SinglePhoton30_Eta3p1ForPPRef_v9, fragment.HLT_Photon20_HoverELoose_v10, fragment.HLT_Photon30_HoverELoose_v10, fragment.HLT_EcalCalibration_v4, fragment.HLT_HcalCalibration_v5, fragment.AlCa_EcalPhiSym_v9, fragment.HLT_L1UnpairedBunchBptxMinus_v2, fragment.HLT_L1UnpairedBunchBptxPlus_v2, fragment.HLT_L1NotBptxOR_v3, fragment.HLT_L1_CDC_SingleMu_3_er1p2_TOP120_DPHI2p618_3p142_v2, fragment.HLT_CDC_L2cosmic_10_er1p0_v1, fragment.HLT_CDC_L2cosmic_5p5_er1p0_v1, fragment.HLT_HcalNZS_v13, fragment.HLT_HcalPhiSym_v15, fragment.HLT_HcalIsolatedbunch_v5, fragment.HLT_IsoTrackHB_v4, fragment.HLT_IsoTrackHE_v4, fragment.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, fragment.HLT_ZeroBias_IsolatedBunches_v5, fragment.HLT_ZeroBias_FirstCollisionInTrain_v4, fragment.HLT_ZeroBias_LastCollisionInTrain_v3, fragment.HLT_ZeroBias_FirstBXAfterTrain_v3, fragment.AlCa_RPCMuonNormalisation_v13, fragment.AlCa_LumiPixelsCounts_Random_v1, fragment.AlCa_LumiPixelsCounts_ZeroBias_v1, fragment.MC_ReducedIterativeTracking_v12, fragment.MC_PFMET_v17, fragment.MC_AK4PFJets_v17, fragment.MC_PFBTagDeepCSV_v10, fragment.MC_PFHT_v16, fragment.MC_PFMHT_v16, fragment.MC_CaloMET_v8, fragment.MC_CaloMET_JetIdCleaned_v9, fragment.MC_AK4CaloJets_v9, fragment.MC_AK4CaloJetsFromPV_v8, fragment.MC_CaloBTagDeepCSV_v8, fragment.MC_CaloHT_v8, fragment.MC_CaloMHT_v8, fragment.MC_AK8PFJets_v17, fragment.MC_AK8TrimPFJets_v17, fragment.MC_AK8PFHT_v16, fragment.MC_AK8CaloHT_v8, fragment.MC_Diphoton10_10_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass10_v13, fragment.MC_DoubleEle5_CaloIdL_MW_v15, fragment.MC_Ele5_WPTight_Gsf_v8, fragment.MC_Ele15_Ele10_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.MC_IsoMu_v15, fragment.MC_DoubleMu_TrkIsoVVL_DZ_v11, fragment.MC_DoubleMuNoFiltersNoVtx_v7, fragment.AlCa_EcalPi0EBonly_v13, fragment.AlCa_EcalPi0EEonly_v13, fragment.AlCa_EcalEtaEBonly_v13, fragment.AlCa_EcalEtaEEonly_v13, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET90_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET100_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET110_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET120_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET130_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET140_v3, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, fragment.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_1pr_v11, fragment.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_MediumChargedIsoPFTau200HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_MediumChargedIsoPFTau220HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v9, fragment.HLT_Rsq0p35_v15, fragment.HLT_Rsq0p40_v15, fragment.HLT_RsqMR300_Rsq0p09_MR200_v15, fragment.HLT_RsqMR320_Rsq0p09_MR200_v15, fragment.HLT_RsqMR300_Rsq0p09_MR200_4jet_v15, fragment.HLT_RsqMR320_Rsq0p09_MR200_4jet_v15, fragment.HLT_IsoMu27_MET90_v3, fragment.HLT_DoubleMediumChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, fragment.HLT_DoubleMediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, fragment.HLT_DoubleTightChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, fragment.HLT_DoubleTightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, fragment.HLT_DoubleMediumChargedIsoPFTauHPS30_L1MaxMass_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v4, fragment.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_VBF_DoubleLooseChargedIsoPFTau20_Trk1_eta2p1_v3, fragment.HLT_VBF_DoubleLooseChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_VBF_DoubleMediumChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_VBF_DoubleTightChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_Photon50_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_PFMET50_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ600DEta3_v5, fragment.HLT_PFMET100_PFMHT100_IDTight_PFHT60_v9, fragment.HLT_PFMETNoMu100_PFMHTNoMu100_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne100_PFMHT100_IDTight_PFHT60_v9, fragment.HLT_Mu18_Mu9_SameSign_v4, fragment.HLT_Mu18_Mu9_SameSign_DZ_v4, fragment.HLT_Mu18_Mu9_v4, fragment.HLT_Mu18_Mu9_DZ_v4, fragment.HLT_Mu20_Mu10_SameSign_v4, fragment.HLT_Mu20_Mu10_SameSign_DZ_v4, fragment.HLT_Mu20_Mu10_v4, fragment.HLT_Mu20_Mu10_DZ_v4, fragment.HLT_Mu23_Mu12_SameSign_v4, fragment.HLT_Mu23_Mu12_SameSign_DZ_v4, fragment.HLT_Mu23_Mu12_v4, fragment.HLT_Mu23_Mu12_DZ_v4, fragment.HLT_DoubleMu2_Jpsi_DoubleTrk1_Phi1p05_v6, fragment.HLT_DoubleMu2_Jpsi_DoubleTkMu0_Phi_v5, fragment.HLT_DoubleMu3_DCA_PFMET50_PFMHT60_v10, fragment.HLT_TripleMu_5_3_3_Mass3p8_DCA_v3, fragment.HLT_QuadPFJet98_83_71_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet103_88_75_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet111_90_80_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet98_83_71_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet103_88_75_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet105_88_76_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet111_90_80_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet98_83_71_15_v5, fragment.HLT_QuadPFJet103_88_75_15_v5, fragment.HLT_QuadPFJet105_88_76_15_v5, fragment.HLT_QuadPFJet111_90_80_15_v5, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p17_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p1_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_p02_v3, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np2_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np4_v2, fragment.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_Mass55_v2, fragment.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_v2, fragment.HLT_Mu12_IP6_ToCSCS_v1, fragment.HLT_Mu12_IP6_part0_v2, fragment.HLT_Mu12_IP6_part1_v2, fragment.HLT_Mu12_IP6_part2_v2, fragment.HLT_Mu12_IP6_part3_v2, fragment.HLT_Mu12_IP6_part4_v2, fragment.HLT_Mu9_IP5_ToCSCS_v1, fragment.HLT_Mu9_IP5_part0_v2, fragment.HLT_Mu9_IP5_part1_v2, fragment.HLT_Mu9_IP5_part2_v2, fragment.HLT_Mu9_IP5_part3_v2, fragment.HLT_Mu9_IP5_part4_v2, fragment.HLT_Mu7_IP4_ToCSCS_v1, fragment.HLT_Mu7_IP4_part0_v2, fragment.HLT_Mu7_IP4_part1_v2, fragment.HLT_Mu7_IP4_part2_v2, fragment.HLT_Mu7_IP4_part3_v2, fragment.HLT_Mu7_IP4_part4_v2, fragment.HLT_Mu9_IP4_ToCSCS_v1, fragment.HLT_Mu9_IP4_part0_v2, fragment.HLT_Mu9_IP4_part1_v2, fragment.HLT_Mu9_IP4_part2_v2, fragment.HLT_Mu9_IP4_part3_v2, fragment.HLT_Mu9_IP4_part4_v2, fragment.HLT_Mu8_IP5_ToCSCS_v1, fragment.HLT_Mu8_IP5_part0_v2, fragment.HLT_Mu8_IP5_part1_v2, fragment.HLT_Mu8_IP5_part2_v2, fragment.HLT_Mu8_IP5_part3_v2, fragment.HLT_Mu8_IP5_part4_v2, fragment.HLT_Mu8_IP6_ToCSCS_v1, fragment.HLT_Mu8_IP6_part0_v2, fragment.HLT_Mu8_IP6_part1_v2, fragment.HLT_Mu8_IP6_part2_v2, fragment.HLT_Mu8_IP6_part3_v2, fragment.HLT_Mu8_IP6_part4_v2, fragment.HLT_Mu9_IP6_ToCSCS_v1, fragment.HLT_Mu9_IP6_part0_v3, fragment.HLT_Mu9_IP6_part1_v3, fragment.HLT_Mu9_IP6_part2_v3, fragment.HLT_Mu9_IP6_part3_v3, fragment.HLT_Mu9_IP6_part4_v3, fragment.HLT_Mu8_IP3_ToCSCS_v1, fragment.HLT_Mu8_IP3_part0_v3, fragment.HLT_Mu8_IP3_part1_v3, fragment.HLT_Mu8_IP3_part2_v3, fragment.HLT_Mu8_IP3_part3_v3, fragment.HLT_Mu8_IP3_part4_v3, fragment.HLT_Mu9_IP0_part0_v2, fragment.HLT_Mu9_IP3_part0_v2, fragment.HLT_QuadPFJet105_88_76_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_TrkMu6NoFiltersNoVtx_v1, fragment.HLT_TrkMu16NoFiltersNoVtx_v1, fragment.HLT_DoubleTrkMu_16_6_NoFiltersNoVtx_v1, fragment.HLT_PPSMaxTracksPerArm1_v1, fragment.HLT_PPSMaxTracksPerRP4_v1, fragment.HLTriggerFinalPath, fragment.HLTAnalyzerEndpath, fragment.ScoutingPFOutput, )) +fragment.HLTSchedule = cms.Schedule( *(fragment.HLTriggerFirstPath, fragment.HLT_AK8PFJet360_TrimMass30_v18, fragment.HLT_AK8PFJet380_TrimMass30_v11, fragment.HLT_AK8PFJet400_TrimMass30_v12, fragment.HLT_AK8PFJet420_TrimMass30_v11, fragment.HLT_AK8PFHT750_TrimMass50_v12, fragment.HLT_AK8PFHT800_TrimMass50_v12, fragment.HLT_AK8PFHT850_TrimMass50_v11, fragment.HLT_AK8PFHT900_TrimMass50_v11, fragment.HLT_CaloJet500_NoJetID_v12, fragment.HLT_CaloJet550_NoJetID_v7, fragment.HLT_DoubleMu5_Upsilon_DoubleEle3_CaloIdL_TrackIdL_v4, fragment.HLT_DoubleMu3_DoubleEle7p5_CaloIdL_TrackIdL_Upsilon_v4, fragment.HLT_Trimuon5_3p5_2_Upsilon_Muon_v5, fragment.HLT_TrimuonOpen_5_3p5_2_Upsilon_Muon_v3, fragment.HLT_DoubleEle25_CaloIdL_MW_v4, fragment.HLT_DoubleEle27_CaloIdL_MW_v4, fragment.HLT_DoubleEle33_CaloIdL_MW_v17, fragment.HLT_DoubleEle24_eta2p1_WPTight_Gsf_v7, fragment.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350_v20, fragment.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350_v20, fragment.HLT_Ele27_Ele37_CaloIdL_MW_v4, fragment.HLT_Mu27_Ele37_CaloIdL_MW_v5, fragment.HLT_Mu37_Ele27_CaloIdL_MW_v5, fragment.HLT_Mu37_TkMu27_v5, fragment.HLT_DoubleMu4_3_Bs_v14, fragment.HLT_DoubleMu4_3_Jpsi_v2, fragment.HLT_DoubleMu4_JpsiTrk_Displaced_v15, fragment.HLT_DoubleMu4_LowMassNonResonantTrk_Displaced_v15, fragment.HLT_DoubleMu3_Trk_Tau3mu_v12, fragment.HLT_DoubleMu3_TkMu_DsTau3Mu_v4, fragment.HLT_DoubleMu4_PsiPrimeTrk_Displaced_v15, fragment.HLT_DoubleMu4_Mass3p8_DZ_PFHT350_v8, fragment.HLT_Mu3_PFJet40_v16, fragment.HLT_Mu7p5_L2Mu2_Jpsi_v10, fragment.HLT_Mu7p5_L2Mu2_Upsilon_v10, fragment.HLT_Mu7p5_Track2_Jpsi_v11, fragment.HLT_Mu7p5_Track3p5_Jpsi_v11, fragment.HLT_Mu7p5_Track7_Jpsi_v11, fragment.HLT_Mu7p5_Track2_Upsilon_v11, fragment.HLT_Mu7p5_Track3p5_Upsilon_v11, fragment.HLT_Mu7p5_Track7_Upsilon_v11, fragment.HLT_Mu3_L1SingleMu5orSingleMu7_v1, fragment.HLT_DoublePhoton33_CaloIdL_v6, fragment.HLT_DoublePhoton70_v6, fragment.HLT_DoublePhoton85_v14, fragment.HLT_Ele20_WPTight_Gsf_v6, fragment.HLT_Ele15_WPLoose_Gsf_v3, fragment.HLT_Ele17_WPLoose_Gsf_v3, fragment.HLT_Ele20_WPLoose_Gsf_v6, fragment.HLT_Ele20_eta2p1_WPLoose_Gsf_v6, fragment.HLT_DiEle27_WPTightCaloOnly_L1DoubleEG_v4, fragment.HLT_Ele27_WPTight_Gsf_v16, fragment.HLT_Ele28_WPTight_Gsf_v1, fragment.HLT_Ele30_WPTight_Gsf_v1, fragment.HLT_Ele32_WPTight_Gsf_v15, fragment.HLT_Ele35_WPTight_Gsf_v9, fragment.HLT_Ele35_WPTight_Gsf_L1EGMT_v5, fragment.HLT_Ele38_WPTight_Gsf_v9, fragment.HLT_Ele40_WPTight_Gsf_v9, fragment.HLT_Ele32_WPTight_Gsf_L1DoubleEG_v9, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTau30_eta2p1_CrossL1_v13, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, fragment.HLT_HT450_Beamspot_v11, fragment.HLT_HT300_Beamspot_v11, fragment.HLT_ZeroBias_Beamspot_v4, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTau27_eta2p1_CrossL1_v12, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_CrossL1_v4, fragment.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v4, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS30_Trk1_eta2p1_Reg_CrossL1_v1, fragment.HLT_IsoMu27_LooseChargedIsoPFTau20_Trk1_eta2p1_SingleL1_v5, fragment.HLT_IsoMu27_LooseChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu27_MediumChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu27_TightChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, fragment.HLT_IsoMu20_v15, fragment.HLT_IsoMu24_v13, fragment.HLT_IsoMu24_eta2p1_v15, fragment.HLT_IsoMu27_v16, fragment.HLT_IsoMu30_v4, fragment.HLT_UncorrectedJetE30_NoBPTX_v6, fragment.HLT_UncorrectedJetE30_NoBPTX3BX_v6, fragment.HLT_UncorrectedJetE60_NoBPTX3BX_v6, fragment.HLT_UncorrectedJetE70_NoBPTX3BX_v6, fragment.HLT_L1SingleMu18_v3, fragment.HLT_L1SingleMu25_v2, fragment.HLT_L1SingleMuCosmics_v1, fragment.HLT_L2Mu10_v7, fragment.HLT_L2Mu10_NoVertex_NoBPTX3BX_v5, fragment.HLT_L2Mu10_NoVertex_NoBPTX_v6, fragment.HLT_L2Mu45_NoVertex_3Sta_NoBPTX3BX_v4, fragment.HLT_L2Mu40_NoVertex_3Sta_NoBPTX3BX_v5, fragment.HLT_L2Mu50_v2, fragment.HLT_L2Mu23NoVtx_2Cha_v1, fragment.HLT_L2Mu23NoVtx_2Cha_CosmicSeed_v1, fragment.HLT_DoubleL2Mu30NoVtx_2Cha_CosmicSeed_Eta2p4_v2, fragment.HLT_DoubleL2Mu30NoVtx_2Cha_Eta2p4_v2, fragment.HLT_DoubleL2Mu50_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_Eta2p4_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_v2, fragment.HLT_DoubleL2Mu23NoVtx_2Cha_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_NoL2Matched_v2, fragment.HLT_DoubleL2Mu25NoVtx_2Cha_Eta2p4_v2, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v14, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v15, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v5, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass8_v3, fragment.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v5, fragment.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass3p8_v3, fragment.HLT_Mu25_TkMu0_Onia_v8, fragment.HLT_Mu30_TkMu0_Psi_v1, fragment.HLT_Mu30_TkMu0_Upsilon_v1, fragment.HLT_Mu20_TkMu0_Phi_v8, fragment.HLT_Mu25_TkMu0_Phi_v8, fragment.HLT_Mu12_v3, fragment.HLT_Mu15_v3, fragment.HLT_Mu20_v12, fragment.HLT_Mu27_v13, fragment.HLT_Mu50_v13, fragment.HLT_Mu55_v3, fragment.HLT_OldMu100_v3, fragment.HLT_TkMu100_v2, fragment.HLT_DiPFJet15_NoCaloMatched_v16, fragment.HLT_DiPFJet25_NoCaloMatched_v16, fragment.HLT_DiPFJet15_FBEta3_NoCaloMatched_v17, fragment.HLT_DiPFJet25_FBEta3_NoCaloMatched_v17, fragment.HLT_DiPFJetAve40_v14, fragment.HLT_DiPFJetAve60_v14, fragment.HLT_DiPFJetAve80_v13, fragment.HLT_DiPFJetAve140_v13, fragment.HLT_DiPFJetAve200_v13, fragment.HLT_DiPFJetAve260_v14, fragment.HLT_DiPFJetAve320_v14, fragment.HLT_DiPFJetAve400_v14, fragment.HLT_DiPFJetAve500_v14, fragment.HLT_DiPFJetAve15_HFJEC_v17, fragment.HLT_DiPFJetAve25_HFJEC_v17, fragment.HLT_DiPFJetAve35_HFJEC_v17, fragment.HLT_DiPFJetAve60_HFJEC_v15, fragment.HLT_DiPFJetAve80_HFJEC_v16, fragment.HLT_DiPFJetAve100_HFJEC_v16, fragment.HLT_DiPFJetAve160_HFJEC_v16, fragment.HLT_DiPFJetAve220_HFJEC_v16, fragment.HLT_DiPFJetAve300_HFJEC_v16, fragment.HLT_AK8PFJet15_v3, fragment.HLT_AK8PFJet25_v3, fragment.HLT_AK8PFJet40_v16, fragment.HLT_AK8PFJet60_v15, fragment.HLT_AK8PFJet80_v15, fragment.HLT_AK8PFJet140_v15, fragment.HLT_AK8PFJet200_v15, fragment.HLT_AK8PFJet260_v16, fragment.HLT_AK8PFJet320_v16, fragment.HLT_AK8PFJet400_v16, fragment.HLT_AK8PFJet450_v16, fragment.HLT_AK8PFJet500_v16, fragment.HLT_AK8PFJet550_v11, fragment.HLT_PFJet15_v3, fragment.HLT_PFJet25_v3, fragment.HLT_PFJet40_v21, fragment.HLT_PFJet60_v21, fragment.HLT_PFJet80_v20, fragment.HLT_PFJet140_v19, fragment.HLT_PFJet200_v19, fragment.HLT_PFJet260_v20, fragment.HLT_PFJet320_v20, fragment.HLT_PFJet400_v20, fragment.HLT_PFJet450_v21, fragment.HLT_PFJet500_v21, fragment.HLT_PFJet550_v11, fragment.HLT_PFJetFwd15_v3, fragment.HLT_PFJetFwd25_v3, fragment.HLT_PFJetFwd40_v19, fragment.HLT_PFJetFwd60_v19, fragment.HLT_PFJetFwd80_v18, fragment.HLT_PFJetFwd140_v18, fragment.HLT_PFJetFwd200_v18, fragment.HLT_PFJetFwd260_v19, fragment.HLT_PFJetFwd320_v19, fragment.HLT_PFJetFwd400_v19, fragment.HLT_PFJetFwd450_v19, fragment.HLT_PFJetFwd500_v19, fragment.HLT_AK8PFJetFwd15_v3, fragment.HLT_AK8PFJetFwd25_v3, fragment.HLT_AK8PFJetFwd40_v15, fragment.HLT_AK8PFJetFwd60_v14, fragment.HLT_AK8PFJetFwd80_v14, fragment.HLT_AK8PFJetFwd140_v14, fragment.HLT_AK8PFJetFwd200_v14, fragment.HLT_AK8PFJetFwd260_v15, fragment.HLT_AK8PFJetFwd320_v15, fragment.HLT_AK8PFJetFwd400_v15, fragment.HLT_AK8PFJetFwd450_v15, fragment.HLT_AK8PFJetFwd500_v15, fragment.HLT_PFHT180_v17, fragment.HLT_PFHT250_v17, fragment.HLT_PFHT370_v17, fragment.HLT_PFHT430_v17, fragment.HLT_PFHT510_v17, fragment.HLT_PFHT590_v17, fragment.HLT_PFHT680_v17, fragment.HLT_PFHT780_v17, fragment.HLT_PFHT890_v17, fragment.HLT_PFHT1050_v18, fragment.HLT_PFHT500_PFMET100_PFMHT100_IDTight_v12, fragment.HLT_PFHT500_PFMET110_PFMHT110_IDTight_v12, fragment.HLT_PFHT700_PFMET85_PFMHT85_IDTight_v12, fragment.HLT_PFHT700_PFMET95_PFMHT95_IDTight_v12, fragment.HLT_PFHT800_PFMET75_PFMHT75_IDTight_v12, fragment.HLT_PFHT800_PFMET85_PFMHT85_IDTight_v12, fragment.HLT_PFMET110_PFMHT110_IDTight_v20, fragment.HLT_PFMET120_PFMHT120_IDTight_v20, fragment.HLT_PFMET130_PFMHT130_IDTight_v20, fragment.HLT_PFMET140_PFMHT140_IDTight_v20, fragment.HLT_PFMET100_PFMHT100_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET110_PFMHT110_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET120_PFMHT120_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET130_PFMHT130_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET140_PFMHT140_IDTight_CaloBTagDeepCSV_3p1_v8, fragment.HLT_PFMET120_PFMHT120_IDTight_PFHT60_v9, fragment.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne120_PFMHT120_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne110_PFMHT110_IDTight_v12, fragment.HLT_PFMETTypeOne120_PFMHT120_IDTight_v12, fragment.HLT_PFMETTypeOne130_PFMHT130_IDTight_v12, fragment.HLT_PFMETTypeOne140_PFMHT140_IDTight_v11, fragment.HLT_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, fragment.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, fragment.HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, fragment.HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, fragment.HLT_MonoCentralPFJet80_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, fragment.HLT_MonoCentralPFJet80_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, fragment.HLT_MonoCentralPFJet80_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, fragment.HLT_MonoCentralPFJet80_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, fragment.HLT_L1ETMHadSeeds_v2, fragment.HLT_CaloMHT90_v4, fragment.HLT_CaloMET80_NotCleaned_v4, fragment.HLT_CaloMET90_NotCleaned_v4, fragment.HLT_CaloMET100_NotCleaned_v4, fragment.HLT_CaloMET110_NotCleaned_v4, fragment.HLT_CaloMET250_NotCleaned_v4, fragment.HLT_CaloMET300_NotCleaned_v4, fragment.HLT_CaloMET350_NotCleaned_v4, fragment.HLT_PFMET200_NotCleaned_v9, fragment.HLT_PFMET250_NotCleaned_v9, fragment.HLT_PFMET300_NotCleaned_v9, fragment.HLT_PFMET200_BeamHaloCleaned_v9, fragment.HLT_PFMETTypeOne200_BeamHaloCleaned_v9, fragment.HLT_MET105_IsoTrk50_v9, fragment.HLT_MET120_IsoTrk50_v9, fragment.HLT_SingleJet30_Mu12_SinglePFJet40_v11, fragment.HLT_Mu12_DoublePFJets40_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets100_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets200_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets350_CaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets40MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets54MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Mu12_DoublePFJets62MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets40_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets100_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets200_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets350_CaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets116MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_DoublePFJets128MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, fragment.HLT_Photon300_NoHE_v12, fragment.HLT_Mu8_TrkIsoVVL_v12, fragment.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_DZ_v18, fragment.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v18, fragment.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ_v19, fragment.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_v19, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v13, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBtagDeepCSV_1p5_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_CaloBtagDeepCSV_1p5_v1, fragment.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v11, fragment.HLT_Mu17_TrkIsoVVL_v13, fragment.HLT_Mu19_TrkIsoVVL_v4, fragment.HLT_BTagMu_AK4DiJet20_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet40_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet70_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet110_Mu5_v13, fragment.HLT_BTagMu_AK4DiJet170_Mu5_v12, fragment.HLT_BTagMu_AK4Jet300_Mu5_v12, fragment.HLT_BTagMu_AK8DiJet170_Mu5_v9, fragment.HLT_BTagMu_AK8Jet170_DoubleMu5_v2, fragment.HLT_BTagMu_AK8Jet300_Mu5_v12, fragment.HLT_BTagMu_AK4DiJet20_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet40_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet70_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet110_Mu5_noalgo_v13, fragment.HLT_BTagMu_AK4DiJet170_Mu5_noalgo_v12, fragment.HLT_BTagMu_AK4Jet300_Mu5_noalgo_v12, fragment.HLT_BTagMu_AK8DiJet170_Mu5_noalgo_v9, fragment.HLT_BTagMu_AK8Jet170_DoubleMu5_noalgo_v2, fragment.HLT_BTagMu_AK8Jet300_Mu5_noalgo_v12, fragment.HLT_Ele15_Ele8_CaloIdL_TrackIdL_IsoVL_v3, fragment.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v19, fragment.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v19, fragment.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v7, fragment.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v7, fragment.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.HLT_Mu12_DoublePhoton20_v5, fragment.HLT_TriplePhoton_20_20_20_CaloIdLV2_v3, fragment.HLT_TriplePhoton_20_20_20_CaloIdLV2_R9IdVL_v3, fragment.HLT_TriplePhoton_30_30_10_CaloIdLV2_v4, fragment.HLT_TriplePhoton_30_30_10_CaloIdLV2_R9IdVL_v4, fragment.HLT_TriplePhoton_35_35_5_CaloIdLV2_R9IdVL_v4, fragment.HLT_Photon20_v2, fragment.HLT_Photon33_v5, fragment.HLT_Photon50_v13, fragment.HLT_Photon75_v13, fragment.HLT_Photon90_v13, fragment.HLT_Photon120_v13, fragment.HLT_Photon150_v6, fragment.HLT_Photon175_v14, fragment.HLT_Photon200_v13, fragment.HLT_Photon100EB_TightID_TightIso_v2, fragment.HLT_Photon110EB_TightID_TightIso_v2, fragment.HLT_Photon120EB_TightID_TightIso_v2, fragment.HLT_Photon100EBHE10_v2, fragment.HLT_Photon100EEHE10_v2, fragment.HLT_Photon100EE_TightID_TightIso_v2, fragment.HLT_Photon50_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon75_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ300_PFJetsMJJ400DEta3_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ400_PFJetsMJJ600DEta3_v5, fragment.HLT_Photon90_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon120_R9Id90_HE10_IsoM_v14, fragment.HLT_Photon165_R9Id90_HE10_IsoM_v15, fragment.HLT_Photon90_CaloIdL_PFHT700_v16, fragment.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v13, fragment.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v13, fragment.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v15, fragment.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v13, fragment.HLT_Photon35_TwoProngs35_v1, fragment.HLT_IsoMu24_TwoProngs35_v1, fragment.HLT_Dimuon0_Jpsi_L1_NoOS_v7, fragment.HLT_Dimuon0_Jpsi_NoVertexing_NoOS_v7, fragment.HLT_Dimuon0_Jpsi_v8, fragment.HLT_Dimuon0_Jpsi_NoVertexing_v8, fragment.HLT_Dimuon0_Jpsi_L1_4R_0er1p5R_v7, fragment.HLT_Dimuon0_Jpsi_NoVertexing_L1_4R_0er1p5R_v7, fragment.HLT_Dimuon0_Jpsi3p5_Muon2_v5, fragment.HLT_Dimuon0_Upsilon_L1_4p5_v9, fragment.HLT_Dimuon0_Upsilon_L1_5_v9, fragment.HLT_Dimuon0_Upsilon_L1_4p5NoOS_v8, fragment.HLT_Dimuon0_Upsilon_L1_4p5er2p0_v9, fragment.HLT_Dimuon0_Upsilon_L1_4p5er2p0M_v7, fragment.HLT_Dimuon0_Upsilon_NoVertexing_v7, fragment.HLT_Dimuon0_Upsilon_L1_5M_v8, fragment.HLT_Dimuon0_LowMass_L1_0er1p5R_v7, fragment.HLT_Dimuon0_LowMass_L1_0er1p5_v8, fragment.HLT_Dimuon0_LowMass_v8, fragment.HLT_Dimuon0_LowMass_L1_4_v8, fragment.HLT_Dimuon0_LowMass_L1_4R_v7, fragment.HLT_Dimuon0_LowMass_L1_TM530_v6, fragment.HLT_Dimuon0_Upsilon_Muon_L1_TM0_v6, fragment.HLT_Dimuon0_Upsilon_Muon_NoL1Mass_v6, fragment.HLT_TripleMu_5_3_3_Mass3p8_DZ_v8, fragment.HLT_TripleMu_10_5_5_DZ_v10, fragment.HLT_TripleMu_12_10_5_v10, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_Charge1_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_v4, fragment.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_Charge1_v4, fragment.HLT_DoubleMu3_DZ_PFMET50_PFMHT60_v10, fragment.HLT_DoubleMu3_DZ_PFMET70_PFMHT70_v10, fragment.HLT_DoubleMu3_DZ_PFMET90_PFMHT90_v10, fragment.HLT_DoubleMu3_Trk_Tau3mu_NoL1Mass_v6, fragment.HLT_DoubleMu4_Jpsi_Displaced_v7, fragment.HLT_DoubleMu4_Jpsi_NoVertexing_v7, fragment.HLT_DoubleMu4_JpsiTrkTrk_Displaced_v7, fragment.HLT_DoubleMu43NoFiltersNoVtx_v4, fragment.HLT_DoubleMu48NoFiltersNoVtx_v4, fragment.HLT_Mu43NoFiltersNoVtx_Photon43_CaloIdL_v5, fragment.HLT_Mu48NoFiltersNoVtx_Photon48_CaloIdL_v5, fragment.HLT_Mu38NoFiltersNoVtxDisplaced_Photon38_CaloIdL_v1, fragment.HLT_Mu43NoFiltersNoVtxDisplaced_Photon43_CaloIdL_v1, fragment.HLT_DoubleMu33NoFiltersNoVtxDisplaced_v1, fragment.HLT_DoubleMu40NoFiltersNoVtxDisplaced_v1, fragment.HLT_DoubleMu20_7_Mass0to30_L1_DM4_v7, fragment.HLT_DoubleMu20_7_Mass0to30_L1_DM4EG_v8, fragment.HLT_HT425_v9, fragment.HLT_HT430_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT500_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT430_DisplacedDijet60_DisplacedTrack_v13, fragment.HLT_HT400_DisplacedDijet40_DisplacedTrack_v13, fragment.HLT_HT650_DisplacedDijet60_Inclusive_v13, fragment.HLT_HT550_DisplacedDijet60_Inclusive_v13, fragment.HLT_DiJet110_35_Mjj650_PFMET110_v9, fragment.HLT_DiJet110_35_Mjj650_PFMET120_v9, fragment.HLT_DiJet110_35_Mjj650_PFMET130_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET110_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET120_v9, fragment.HLT_TripleJet110_35_35_Mjj650_PFMET130_v9, fragment.HLT_Ele30_eta2p1_WPTight_Gsf_CentralPFJet35_EleCleaned_v13, fragment.HLT_Ele28_eta2p1_WPTight_Gsf_HT150_v13, fragment.HLT_Ele28_HighEta_SC20_Mass55_v13, fragment.HLT_DoubleMu20_7_Mass0to30_Photon23_v8, fragment.HLT_Ele15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, fragment.HLT_Ele15_IsoVVVL_PFHT450_PFMET50_v16, fragment.HLT_Ele15_IsoVVVL_PFHT450_v16, fragment.HLT_Ele50_IsoVVVL_PFHT450_v16, fragment.HLT_Ele15_IsoVVVL_PFHT600_v20, fragment.HLT_Mu4_TrkIsoVVL_DiPFJet90_40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v15, fragment.HLT_Mu8_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v16, fragment.HLT_Mu10_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT350_PFMETNoMu60_v15, fragment.HLT_Mu15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, fragment.HLT_Mu15_IsoVVVL_PFHT450_PFMET50_v15, fragment.HLT_Mu15_IsoVVVL_PFHT450_v15, fragment.HLT_Mu50_IsoVVVL_PFHT450_v15, fragment.HLT_Mu15_IsoVVVL_PFHT600_v19, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET70_PFMHT70_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET80_PFMHT80_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET90_PFMHT90_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMET100_PFMHT100_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu70_PFMHTNoMu70_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu80_PFMHTNoMu80_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu90_PFMHTNoMu90_IDTight_v2, fragment.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu100_PFMHTNoMu100_IDTight_v2, fragment.HLT_Dimuon10_PsiPrime_Barrel_Seagulls_v7, fragment.HLT_Dimuon20_Jpsi_Barrel_Seagulls_v7, fragment.HLT_Dimuon12_Upsilon_y1p4_v2, fragment.HLT_Dimuon14_Phi_Barrel_Seagulls_v7, fragment.HLT_Dimuon18_PsiPrime_v14, fragment.HLT_Dimuon25_Jpsi_v14, fragment.HLT_Dimuon18_PsiPrime_noCorrL1_v6, fragment.HLT_Dimuon24_Upsilon_noCorrL1_v6, fragment.HLT_Dimuon24_Phi_noCorrL1_v6, fragment.HLT_Dimuon25_Jpsi_noCorrL1_v6, fragment.HLT_DiMu4_Ele9_CaloIdL_TrackIdL_DZ_Mass3p8_v17, fragment.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_DZ_v17, fragment.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v17, fragment.HLT_DoubleIsoMu20_eta2p1_v7, fragment.HLT_TrkMu12_DoubleTrkMu5NoFiltersNoVtx_v6, fragment.HLT_TrkMu16_DoubleTrkMu6NoFiltersNoVtx_v12, fragment.HLT_TrkMu17_DoubleTrkMu8NoFiltersNoVtx_v13, fragment.HLT_Mu8_v12, fragment.HLT_Mu17_v13, fragment.HLT_Mu19_v4, fragment.HLT_Mu17_Photon30_IsoCaloId_v6, fragment.HLT_Ele8_CaloIdL_TrackIdL_IsoVL_PFJet30_v16, fragment.HLT_Ele12_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, fragment.HLT_Ele15_CaloIdL_TrackIdL_IsoVL_PFJet30_v3, fragment.HLT_Ele23_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, fragment.HLT_Ele8_CaloIdM_TrackIdM_PFJet30_v18, fragment.HLT_Ele17_CaloIdM_TrackIdM_PFJet30_v16, fragment.HLT_Ele23_CaloIdM_TrackIdM_PFJet30_v18, fragment.HLT_Ele50_CaloIdVT_GsfTrkIdT_PFJet165_v18, fragment.HLT_Ele115_CaloIdVT_GsfTrkIdT_v14, fragment.HLT_Ele135_CaloIdVT_GsfTrkIdT_v7, fragment.HLT_Ele145_CaloIdVT_GsfTrkIdT_v8, fragment.HLT_Ele200_CaloIdVT_GsfTrkIdT_v8, fragment.HLT_Ele250_CaloIdVT_GsfTrkIdT_v13, fragment.HLT_Ele300_CaloIdVT_GsfTrkIdT_v13, fragment.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_TriplePFBTagDeepCSV_4p5_v3, fragment.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_v9, fragment.HLT_PFHT400_SixPFJet32_DoublePFBTagDeepCSV_2p94_v8, fragment.HLT_PFHT400_SixPFJet32_v8, fragment.HLT_PFHT450_SixPFJet36_PFBTagDeepCSV_1p59_v7, fragment.HLT_PFHT450_SixPFJet36_v7, fragment.HLT_PFHT400_FivePFJet_100_100_60_30_30_v8, fragment.HLT_PFHT400_FivePFJet_100_100_60_30_30_DoublePFBTagDeepCSV_4p5_v8, fragment.HLT_PFHT400_FivePFJet_120_120_60_30_30_DoublePFBTagDeepCSV_4p5_v8, fragment.HLT_PFHT350_v19, fragment.HLT_PFHT350MinPFJet15_v9, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_v5, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_v5, fragment.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_PFHT350MinPFJet15_v11, fragment.HLT_ECALHT800_v10, fragment.HLT_DiSC30_18_EIso_AND_HE_Mass70_v13, fragment.HLT_Physics_v7, fragment.HLT_Physics_part0_v7, fragment.HLT_Physics_part1_v7, fragment.HLT_Physics_part2_v7, fragment.HLT_Physics_part3_v7, fragment.HLT_Physics_part4_v7, fragment.HLT_Physics_part5_v7, fragment.HLT_Physics_part6_v7, fragment.HLT_Physics_part7_v7, fragment.DST_Physics_v7, fragment.HLT_Random_v3, fragment.HLT_ZeroBias_v6, fragment.HLT_ZeroBias_Alignment_v1, fragment.HLT_ZeroBias_part0_v6, fragment.HLT_ZeroBias_part1_v6, fragment.HLT_ZeroBias_part2_v6, fragment.HLT_ZeroBias_part3_v6, fragment.HLT_ZeroBias_part4_v6, fragment.HLT_ZeroBias_part5_v6, fragment.HLT_ZeroBias_part6_v6, fragment.HLT_ZeroBias_part7_v6, fragment.DST_ZeroBias_v2, fragment.DST_Run3_PFScoutingPixelTracking_v16, fragment.HLT_AK4CaloJet30_v11, fragment.HLT_AK4CaloJet40_v10, fragment.HLT_AK4CaloJet50_v10, fragment.HLT_AK4CaloJet80_v10, fragment.HLT_AK4CaloJet100_v10, fragment.HLT_AK4CaloJet120_v9, fragment.HLT_AK4PFJet30_v19, fragment.HLT_AK4PFJet50_v19, fragment.HLT_AK4PFJet80_v19, fragment.HLT_AK4PFJet100_v19, fragment.HLT_AK4PFJet120_v18, fragment.HLT_SinglePhoton10_Eta3p1ForPPRef_v8, fragment.HLT_SinglePhoton20_Eta3p1ForPPRef_v9, fragment.HLT_SinglePhoton30_Eta3p1ForPPRef_v9, fragment.HLT_Photon20_HoverELoose_v10, fragment.HLT_Photon30_HoverELoose_v10, fragment.HLT_EcalCalibration_v4, fragment.HLT_HcalCalibration_v5, fragment.AlCa_EcalPhiSym_v9, fragment.HLT_L1UnpairedBunchBptxMinus_v2, fragment.HLT_L1UnpairedBunchBptxPlus_v2, fragment.HLT_L1NotBptxOR_v3, fragment.HLT_L1_CDC_SingleMu_3_er1p2_TOP120_DPHI2p618_3p142_v2, fragment.HLT_CDC_L2cosmic_10_er1p0_v1, fragment.HLT_CDC_L2cosmic_5p5_er1p0_v1, fragment.HLT_HcalNZS_v13, fragment.HLT_HcalPhiSym_v15, fragment.HLT_HcalIsolatedbunch_v5, fragment.HLT_IsoTrackHB_v4, fragment.HLT_IsoTrackHE_v4, fragment.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, fragment.HLT_ZeroBias_IsolatedBunches_v5, fragment.HLT_ZeroBias_FirstCollisionInTrain_v4, fragment.HLT_ZeroBias_LastCollisionInTrain_v3, fragment.HLT_ZeroBias_FirstBXAfterTrain_v3, fragment.AlCa_RPCMuonNormalisation_v13, fragment.AlCa_LumiPixelsCounts_Random_v2, fragment.AlCa_LumiPixelsCounts_ZeroBias_v2, fragment.MC_ReducedIterativeTracking_v12, fragment.MC_PFMET_v17, fragment.MC_AK4PFJets_v17, fragment.MC_PFBTagDeepCSV_v10, fragment.MC_PFHT_v16, fragment.MC_PFMHT_v16, fragment.MC_CaloMET_v8, fragment.MC_CaloMET_JetIdCleaned_v9, fragment.MC_AK4CaloJets_v9, fragment.MC_AK4CaloJetsFromPV_v8, fragment.MC_CaloBTagDeepCSV_v8, fragment.MC_CaloHT_v8, fragment.MC_CaloMHT_v8, fragment.MC_AK8PFJets_v17, fragment.MC_AK8TrimPFJets_v17, fragment.MC_AK8PFHT_v16, fragment.MC_AK8CaloHT_v8, fragment.MC_Diphoton10_10_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass10_v13, fragment.MC_DoubleEle5_CaloIdL_MW_v15, fragment.MC_Ele5_WPTight_Gsf_v8, fragment.MC_Ele15_Ele10_CaloIdL_TrackIdL_IsoVL_DZ_v15, fragment.MC_IsoMu_v15, fragment.MC_DoubleMu_TrkIsoVVL_DZ_v11, fragment.MC_DoubleMuNoFiltersNoVtx_v7, fragment.AlCa_EcalPi0EBonly_v13, fragment.AlCa_EcalPi0EEonly_v13, fragment.AlCa_EcalEtaEBonly_v13, fragment.AlCa_EcalEtaEEonly_v13, fragment.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET90_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET100_v12, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET110_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET120_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET130_v8, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET140_v3, fragment.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, fragment.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_1pr_v11, fragment.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_MediumChargedIsoPFTau200HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_MediumChargedIsoPFTau220HighPtRelaxedIso_Trk50_eta2p1_v12, fragment.HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v9, fragment.HLT_Rsq0p35_v15, fragment.HLT_Rsq0p40_v15, fragment.HLT_RsqMR300_Rsq0p09_MR200_v15, fragment.HLT_RsqMR320_Rsq0p09_MR200_v15, fragment.HLT_RsqMR300_Rsq0p09_MR200_4jet_v15, fragment.HLT_RsqMR320_Rsq0p09_MR200_4jet_v15, fragment.HLT_IsoMu27_MET90_v3, fragment.HLT_DoubleMediumChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, fragment.HLT_DoubleMediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, fragment.HLT_DoubleTightChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, fragment.HLT_DoubleTightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, fragment.HLT_DoubleMediumChargedIsoPFTauHPS30_L1MaxMass_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v4, fragment.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, fragment.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, fragment.HLT_VBF_DoubleLooseChargedIsoPFTau20_Trk1_eta2p1_v3, fragment.HLT_VBF_DoubleLooseChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_VBF_DoubleMediumChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_VBF_DoubleTightChargedIsoPFTauHPS20_Trk1_eta2p1_v1, fragment.HLT_Photon50_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_PFMET50_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_v5, fragment.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ600DEta3_v5, fragment.HLT_PFMET100_PFMHT100_IDTight_PFHT60_v9, fragment.HLT_PFMETNoMu100_PFMHTNoMu100_IDTight_PFHT60_v9, fragment.HLT_PFMETTypeOne100_PFMHT100_IDTight_PFHT60_v9, fragment.HLT_Mu18_Mu9_SameSign_v4, fragment.HLT_Mu18_Mu9_SameSign_DZ_v4, fragment.HLT_Mu18_Mu9_v4, fragment.HLT_Mu18_Mu9_DZ_v4, fragment.HLT_Mu20_Mu10_SameSign_v4, fragment.HLT_Mu20_Mu10_SameSign_DZ_v4, fragment.HLT_Mu20_Mu10_v4, fragment.HLT_Mu20_Mu10_DZ_v4, fragment.HLT_Mu23_Mu12_SameSign_v4, fragment.HLT_Mu23_Mu12_SameSign_DZ_v4, fragment.HLT_Mu23_Mu12_v4, fragment.HLT_Mu23_Mu12_DZ_v4, fragment.HLT_DoubleMu2_Jpsi_DoubleTrk1_Phi1p05_v6, fragment.HLT_DoubleMu2_Jpsi_DoubleTkMu0_Phi_v5, fragment.HLT_DoubleMu3_DCA_PFMET50_PFMHT60_v10, fragment.HLT_TripleMu_5_3_3_Mass3p8_DCA_v3, fragment.HLT_QuadPFJet98_83_71_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet103_88_75_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet111_90_80_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_QuadPFJet98_83_71_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet103_88_75_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet105_88_76_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet111_90_80_15_PFBTagDeepCSV_1p3_VBF2_v8, fragment.HLT_QuadPFJet98_83_71_15_v5, fragment.HLT_QuadPFJet103_88_75_15_v5, fragment.HLT_QuadPFJet105_88_76_15_v5, fragment.HLT_QuadPFJet111_90_80_15_v5, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p17_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p1_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_p02_v3, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np2_v2, fragment.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np4_v2, fragment.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_Mass55_v2, fragment.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_v2, fragment.HLT_Mu12_IP6_ToCSCS_v1, fragment.HLT_Mu12_IP6_part0_v2, fragment.HLT_Mu12_IP6_part1_v2, fragment.HLT_Mu12_IP6_part2_v2, fragment.HLT_Mu12_IP6_part3_v2, fragment.HLT_Mu12_IP6_part4_v2, fragment.HLT_Mu9_IP5_ToCSCS_v1, fragment.HLT_Mu9_IP5_part0_v2, fragment.HLT_Mu9_IP5_part1_v2, fragment.HLT_Mu9_IP5_part2_v2, fragment.HLT_Mu9_IP5_part3_v2, fragment.HLT_Mu9_IP5_part4_v2, fragment.HLT_Mu7_IP4_ToCSCS_v1, fragment.HLT_Mu7_IP4_part0_v2, fragment.HLT_Mu7_IP4_part1_v2, fragment.HLT_Mu7_IP4_part2_v2, fragment.HLT_Mu7_IP4_part3_v2, fragment.HLT_Mu7_IP4_part4_v2, fragment.HLT_Mu9_IP4_ToCSCS_v1, fragment.HLT_Mu9_IP4_part0_v2, fragment.HLT_Mu9_IP4_part1_v2, fragment.HLT_Mu9_IP4_part2_v2, fragment.HLT_Mu9_IP4_part3_v2, fragment.HLT_Mu9_IP4_part4_v2, fragment.HLT_Mu8_IP5_ToCSCS_v1, fragment.HLT_Mu8_IP5_part0_v2, fragment.HLT_Mu8_IP5_part1_v2, fragment.HLT_Mu8_IP5_part2_v2, fragment.HLT_Mu8_IP5_part3_v2, fragment.HLT_Mu8_IP5_part4_v2, fragment.HLT_Mu8_IP6_ToCSCS_v1, fragment.HLT_Mu8_IP6_part0_v2, fragment.HLT_Mu8_IP6_part1_v2, fragment.HLT_Mu8_IP6_part2_v2, fragment.HLT_Mu8_IP6_part3_v2, fragment.HLT_Mu8_IP6_part4_v2, fragment.HLT_Mu9_IP6_ToCSCS_v1, fragment.HLT_Mu9_IP6_part0_v3, fragment.HLT_Mu9_IP6_part1_v3, fragment.HLT_Mu9_IP6_part2_v3, fragment.HLT_Mu9_IP6_part3_v3, fragment.HLT_Mu9_IP6_part4_v3, fragment.HLT_Mu8_IP3_ToCSCS_v1, fragment.HLT_Mu8_IP3_part0_v3, fragment.HLT_Mu8_IP3_part1_v3, fragment.HLT_Mu8_IP3_part2_v3, fragment.HLT_Mu8_IP3_part3_v3, fragment.HLT_Mu8_IP3_part4_v3, fragment.HLT_Mu9_IP0_part0_v2, fragment.HLT_Mu9_IP3_part0_v2, fragment.HLT_QuadPFJet105_88_76_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, fragment.HLT_TrkMu6NoFiltersNoVtx_v1, fragment.HLT_TrkMu16NoFiltersNoVtx_v1, fragment.HLT_DoubleTrkMu_16_6_NoFiltersNoVtx_v1, fragment.HLT_PPSMaxTracksPerArm1_v1, fragment.HLT_PPSMaxTracksPerRP4_v1, fragment.HLTriggerFinalPath, fragment.HLTAnalyzerEndpath, fragment.ScoutingPFOutput, )) # dummify hltGetConditions in cff's diff --git a/HLTrigger/Configuration/python/HLT_HIon_cff.py b/HLTrigger/Configuration/python/HLT_HIon_cff.py index 9b79756649f0c..4848c88332073 100644 --- a/HLTrigger/Configuration/python/HLT_HIon_cff.py +++ b/HLTrigger/Configuration/python/HLT_HIon_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/HIon --type HIon -# /dev/CMSSW_12_2_0/HIon/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/HIon/V5 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/HIon/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/HIon/V5') ) fragment.transferSystem = cms.PSet( @@ -6682,6 +6682,7 @@ ErrorMask = cms.uint32( 0 ), UnpackStatusDigis = cms.bool( False ), UseFormatStatus = cms.bool( True ), + useRPCs = cms.bool( False ), useGEMs = cms.bool( False ), useCSCShowers = cms.bool( False ), Debug = cms.untracked.bool( False ), @@ -6690,7 +6691,9 @@ VisualFEDInspect = cms.untracked.bool( False ), VisualFEDShort = cms.untracked.bool( False ), FormatedEventDump = cms.untracked.bool( False ), - SuppressZeroLCT = cms.untracked.bool( True ) + SuppressZeroLCT = cms.untracked.bool( True ), + DisableMappingCheck = cms.untracked.bool( False ), + B904Setup = cms.untracked.bool( False ) ) fragment.hltCsc2DRecHits = cms.EDProducer( "CSCRecHitDProducer", CSCStripPeakThreshold = cms.double( 10.0 ), diff --git a/HLTrigger/Configuration/python/HLT_PIon_cff.py b/HLTrigger/Configuration/python/HLT_PIon_cff.py index 6dcc49b15fb60..7488d72ecff43 100644 --- a/HLTrigger/Configuration/python/HLT_PIon_cff.py +++ b/HLTrigger/Configuration/python/HLT_PIon_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/PIon --type PIon -# /dev/CMSSW_12_2_0/PIon/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/PIon/V5 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/PIon/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/PIon/V5') ) fragment.transferSystem = cms.PSet( diff --git a/HLTrigger/Configuration/python/HLT_PRef_cff.py b/HLTrigger/Configuration/python/HLT_PRef_cff.py index 35d47e0cf64f2..cdbb6dc481ce6 100644 --- a/HLTrigger/Configuration/python/HLT_PRef_cff.py +++ b/HLTrigger/Configuration/python/HLT_PRef_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/PRef --type PRef -# /dev/CMSSW_12_2_0/PRef/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/PRef/V5 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/PRef/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/PRef/V5') ) fragment.transferSystem = cms.PSet( @@ -3764,8 +3764,8 @@ RPCMON = cms.vstring( 'RPCMonitor' ) ) fragment.datasets = cms.PSet( - AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v1' ), - AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v1' ), + AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v2' ), + AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v2' ), AlCaP0 = cms.vstring( 'AlCa_HIEcalEtaEBonly_v1', 'AlCa_HIEcalEtaEEonly_v1', 'AlCa_HIEcalPi0EBonly_v1', @@ -6401,6 +6401,7 @@ ErrorMask = cms.uint32( 0 ), UnpackStatusDigis = cms.bool( False ), UseFormatStatus = cms.bool( True ), + useRPCs = cms.bool( False ), useGEMs = cms.bool( False ), useCSCShowers = cms.bool( False ), Debug = cms.untracked.bool( False ), @@ -6409,7 +6410,9 @@ VisualFEDInspect = cms.untracked.bool( False ), VisualFEDShort = cms.untracked.bool( False ), FormatedEventDump = cms.untracked.bool( False ), - SuppressZeroLCT = cms.untracked.bool( True ) + SuppressZeroLCT = cms.untracked.bool( True ), + DisableMappingCheck = cms.untracked.bool( False ), + B904Setup = cms.untracked.bool( False ) ) fragment.hltCsc2DRecHits = cms.EDProducer( "CSCRecHitDProducer", CSCStripPeakThreshold = cms.double( 10.0 ), @@ -11066,16 +11069,16 @@ CentralBxOnly = cms.bool( True ), SelectQualities = cms.vint32( ) ) +fragment.hltPreAlCaLumiPixelsCountsRandom = cms.EDFilter( "HLTPrescaler", + offset = cms.uint32( 0 ), + L1GtReadoutRecordTag = cms.InputTag( "hltGtStage2Digis" ) +) fragment.hltPixelTrackerHVOn = cms.EDFilter( "DetectorStateFilter", DebugOn = cms.untracked.bool( False ), DetectorType = cms.untracked.string( "pixel" ), DcsStatusLabel = cms.untracked.InputTag( "hltScalersRawToDigi" ), DCSRecordLabel = cms.untracked.InputTag( "hltOnlineMetaDataDigis" ) ) -fragment.hltPreAlCaLumiPixelsCountsRandom = cms.EDFilter( "HLTPrescaler", - offset = cms.uint32( 0 ), - L1GtReadoutRecordTag = cms.InputTag( "hltGtStage2Digis" ) -) fragment.hltAlcaPixelClusterCounts = cms.EDProducer( "AlcaPCCEventProducer", pixelClusterLabel = cms.InputTag( "hltSiPixelClusters" ), trigstring = cms.untracked.string( "alcaPCCEvent" ) @@ -11205,13 +11208,13 @@ fragment.AlCa_EcalPhiSym_v9 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sZeroBiasIorAlwaysTrueIorIsolatedBunch + fragment.hltPreAlCaEcalPhiSym + fragment.HLTDoFullUnpackingEgammaEcalSequence + fragment.hltEcalPhiSymFilter + fragment.HLTEndSequence ) fragment.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sL1ZeroBiasFirstCollisionAfterAbortGap + fragment.hltPreZeroBiasFirstCollisionAfterAbortGap + fragment.HLTEndSequence ) fragment.AlCa_HIRPCMuonNormalisation_v1 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sSingleMu7to30 + fragment.hltPreAlCaHIRPCMuonNormalisation + fragment.hltHIRPCMuonNormaL1Filtered0 + fragment.HLTMuonLocalRecoSequence + fragment.HLTEndSequence ) -fragment.AlCa_LumiPixelsCounts_Random_v1 = cms.Path( fragment.HLTBeginSequenceRandom + fragment.hltScalersRawToDigi + fragment.hltOnlineMetaDataDigis + fragment.hltPixelTrackerHVOn + fragment.hltPreAlCaLumiPixelsCountsRandom + fragment.hltSiPixelDigis + fragment.hltSiPixelClusters + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) -fragment.AlCa_LumiPixelsCounts_ZeroBias_v1 = cms.Path( fragment.HLTBeginSequence + fragment.hltPixelTrackerHVOn + fragment.hltL1sZeroBias + fragment.hltPreAlCaLumiPixelsCountsZeroBias + fragment.hltSiPixelDigis + fragment.hltSiPixelClusters + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) +fragment.AlCa_LumiPixelsCounts_Random_v2 = cms.Path( fragment.HLTBeginSequenceRandom + fragment.hltPreAlCaLumiPixelsCountsRandom + fragment.hltScalersRawToDigi + fragment.hltOnlineMetaDataDigis + fragment.hltPixelTrackerHVOn + fragment.HLTDoLocalPixelSequence + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) +fragment.AlCa_LumiPixelsCounts_ZeroBias_v2 = cms.Path( fragment.HLTBeginSequence + fragment.hltL1sZeroBias + fragment.hltPreAlCaLumiPixelsCountsZeroBias + fragment.hltPixelTrackerHVOn + fragment.HLTDoLocalPixelSequence + fragment.hltAlcaPixelClusterCounts + fragment.HLTEndSequence ) fragment.HLTriggerFinalPath = cms.Path( fragment.hltGtStage2Digis + fragment.hltScalersRawToDigi + fragment.hltFEDSelector + fragment.hltTriggerSummaryAOD + fragment.hltTriggerSummaryRAW + fragment.hltBoolFalse ) fragment.HLTAnalyzerEndpath = cms.EndPath( fragment.hltGtStage2Digis + fragment.hltPreHLTAnalyzerEndpath + fragment.hltL1TGlobalSummary + fragment.hltTrigReport ) -fragment.HLTSchedule = cms.Schedule( *(fragment.HLTriggerFirstPath, fragment.HLT_ZeroBias_Beamspot_v4, fragment.HLT_Physics_v7, fragment.DST_Physics_v7, fragment.HLT_Random_v3, fragment.HLT_ZeroBias_v6, fragment.HLT_HIL1UnpairedBunchBptxMinusForPPRef_v2, fragment.HLT_HIL1UnpairedBunchBptxPlusForPPRef_v2, fragment.HLT_HIL1NotBptxORForPPRef_v2, fragment.HLT_HIHT80_Beamspot_ppRef5TeV_v3, fragment.HLT_HIZeroBias_part0_v6, fragment.HLT_HIZeroBias_part1_v6, fragment.HLT_HIZeroBias_part2_v6, fragment.HLT_HIZeroBias_part3_v6, fragment.HLT_HIZeroBias_part4_v6, fragment.HLT_HIZeroBias_part5_v6, fragment.HLT_HIZeroBias_part6_v6, fragment.HLT_HIZeroBias_part7_v6, fragment.HLT_HIZeroBias_part8_v6, fragment.HLT_HIZeroBias_part9_v6, fragment.HLT_HIZeroBias_part10_v6, fragment.HLT_HIZeroBias_part11_v6, fragment.AlCa_HIEcalPi0EBonly_v1, fragment.AlCa_HIEcalPi0EEonly_v1, fragment.AlCa_HIEcalEtaEBonly_v1, fragment.AlCa_HIEcalEtaEEonly_v1, fragment.HLT_EcalCalibration_v4, fragment.HLT_HcalCalibration_v5, fragment.AlCa_EcalPhiSym_v9, fragment.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, fragment.AlCa_HIRPCMuonNormalisation_v1, fragment.AlCa_LumiPixelsCounts_Random_v1, fragment.AlCa_LumiPixelsCounts_ZeroBias_v1, fragment.HLTriggerFinalPath, fragment.HLTAnalyzerEndpath, )) +fragment.HLTSchedule = cms.Schedule( *(fragment.HLTriggerFirstPath, fragment.HLT_ZeroBias_Beamspot_v4, fragment.HLT_Physics_v7, fragment.DST_Physics_v7, fragment.HLT_Random_v3, fragment.HLT_ZeroBias_v6, fragment.HLT_HIL1UnpairedBunchBptxMinusForPPRef_v2, fragment.HLT_HIL1UnpairedBunchBptxPlusForPPRef_v2, fragment.HLT_HIL1NotBptxORForPPRef_v2, fragment.HLT_HIHT80_Beamspot_ppRef5TeV_v3, fragment.HLT_HIZeroBias_part0_v6, fragment.HLT_HIZeroBias_part1_v6, fragment.HLT_HIZeroBias_part2_v6, fragment.HLT_HIZeroBias_part3_v6, fragment.HLT_HIZeroBias_part4_v6, fragment.HLT_HIZeroBias_part5_v6, fragment.HLT_HIZeroBias_part6_v6, fragment.HLT_HIZeroBias_part7_v6, fragment.HLT_HIZeroBias_part8_v6, fragment.HLT_HIZeroBias_part9_v6, fragment.HLT_HIZeroBias_part10_v6, fragment.HLT_HIZeroBias_part11_v6, fragment.AlCa_HIEcalPi0EBonly_v1, fragment.AlCa_HIEcalPi0EEonly_v1, fragment.AlCa_HIEcalEtaEBonly_v1, fragment.AlCa_HIEcalEtaEEonly_v1, fragment.HLT_EcalCalibration_v4, fragment.HLT_HcalCalibration_v5, fragment.AlCa_EcalPhiSym_v9, fragment.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, fragment.AlCa_HIRPCMuonNormalisation_v1, fragment.AlCa_LumiPixelsCounts_Random_v2, fragment.AlCa_LumiPixelsCounts_ZeroBias_v2, fragment.HLTriggerFinalPath, fragment.HLTAnalyzerEndpath, )) # dummify hltGetConditions in cff's diff --git a/HLTrigger/Configuration/test/OnLine_HLT_FULL.py b/HLTrigger/Configuration/test/OnLine_HLT_FULL.py index 34f7de0ad4b97..a4d8067b4ade1 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_FULL.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_FULL.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/HLT --type FULL --unprescale --process HLTFULL --globaltag auto:run3_hlt_FULL --input file:RelVal_Raw_FULL_DATA.root -# /dev/CMSSW_12_2_0/HLT/V4 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/HLT/V7 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTFULL" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/HLT/V4') + tableName = cms.string('/dev/CMSSW_12_2_0/HLT/V7') ) process.transferSystem = cms.PSet( @@ -3929,8 +3929,8 @@ 'ScoutingPFRun3' ) ) process.datasets = cms.PSet( - AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v1' ), - AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v1' ), + AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v2' ), + AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v2' ), AlCaP0 = cms.vstring( 'AlCa_EcalEtaEBonlyForHI_v1', 'AlCa_EcalEtaEBonly_v13', 'AlCa_EcalEtaEEonlyForHI_v1', @@ -9543,6 +9543,7 @@ ErrorMask = cms.uint32( 0 ), UnpackStatusDigis = cms.bool( False ), UseFormatStatus = cms.bool( True ), + useRPCs = cms.bool( False ), useGEMs = cms.bool( False ), useCSCShowers = cms.bool( False ), Debug = cms.untracked.bool( False ), @@ -9551,7 +9552,9 @@ VisualFEDInspect = cms.untracked.bool( False ), VisualFEDShort = cms.untracked.bool( False ), FormatedEventDump = cms.untracked.bool( False ), - SuppressZeroLCT = cms.untracked.bool( True ) + SuppressZeroLCT = cms.untracked.bool( True ), + DisableMappingCheck = cms.untracked.bool( False ), + B904Setup = cms.untracked.bool( False ) ) process.hltCsc2DRecHits = cms.EDProducer( "CSCRecHitDProducer", CSCStripPeakThreshold = cms.double( 10.0 ), @@ -127474,10 +127477,9 @@ filterName = cms.untracked.string( "" ), dataTier = cms.untracked.string( "RAW" ) ), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v1' ) ), + SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v2' ) ), outputCommands = cms.untracked.vstring( 'drop *', 'keep *_hltAlcaPixelClusterCounts_*_*', - 'keep *_hltGtStage2Digis_*_*', 'keep edmTriggerResults_*_*_*' ) ) process.hltOutputALCALumiPixelCountsPrompt = cms.OutputModule( "PoolOutputModule", @@ -127487,10 +127489,9 @@ filterName = cms.untracked.string( "" ), dataTier = cms.untracked.string( "RAW" ) ), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v1' ) ), + SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v2' ) ), outputCommands = cms.untracked.vstring( 'drop *', 'keep *_hltAlcaPixelClusterCounts_*_*', - 'keep *_hltGtStage2Digis_*_*', 'keep edmTriggerResults_*_*_*' ) ) process.hltOutputALCAP0 = cms.OutputModule( "PoolOutputModule", @@ -131376,8 +131377,8 @@ process.HLT_ZeroBias_FirstBXAfterTrain_v3 = cms.Path( process.HLTBeginSequence + process.hltL1sL1ZeroBiasFirstBunchAfterTrain + process.hltPreZeroBiasFirstBXAfterTrain + process.HLTEndSequence ) process.AlCa_RPCMuonNormalisation_v13 = cms.Path( process.HLTBeginSequence + process.hltL1sSingleMu5IorSingleMu14erIorSingleMu16er + process.hltPreAlCaRPCMuonNormalisation + process.hltRPCMuonNormaL1Filtered0 + process.HLTMuonLocalRecoSequence + process.HLTEndSequence ) process.AlCa_HIRPCMuonNormalisation_v1 = cms.Path( process.HLTBeginSequence + process.hltL1sSingleMu7to30 + process.hltPreAlCaHIRPCMuonNormalisation + process.hltHIRPCMuonNormaL1Filtered0 + process.HLTMuonLocalRecoSequence + process.HLTEndSequence ) -process.AlCa_LumiPixelsCounts_Random_v1 = cms.Path( process.HLTBeginSequenceRandom + process.hltScalersRawToDigi + process.hltOnlineMetaDataDigis + process.hltPixelTrackerHVOn + process.hltPreAlCaLumiPixelsCountsRandom + process.hltSiPixelDigis + process.hltSiPixelClusters + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) -process.AlCa_LumiPixelsCounts_ZeroBias_v1 = cms.Path( process.HLTBeginSequence + process.hltPixelTrackerHVOn + process.hltL1sZeroBias + process.hltPreAlCaLumiPixelsCountsZeroBias + process.hltSiPixelDigis + process.hltSiPixelClusters + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) +process.AlCa_LumiPixelsCounts_Random_v2 = cms.Path( process.HLTBeginSequenceRandom + process.hltPreAlCaLumiPixelsCountsRandom + process.hltScalersRawToDigi + process.hltOnlineMetaDataDigis + process.hltPixelTrackerHVOn + process.HLTDoLocalPixelSequence + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) +process.AlCa_LumiPixelsCounts_ZeroBias_v2 = cms.Path( process.HLTBeginSequence + process.hltL1sZeroBias + process.hltPreAlCaLumiPixelsCountsZeroBias + process.hltPixelTrackerHVOn + process.HLTDoLocalPixelSequence + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) process.MC_ReducedIterativeTracking_v12 = cms.Path( process.HLTBeginSequence + process.hltPreMCReducedIterativeTracking + process.HLTRecoJetSequenceAK4PrePF + process.HLTDoLocalPixelSequence + process.HLTRecopixelvertexingSequence + process.HLTDoLocalStripSequence + process.HLTIterativeTrackingIter02 + process.HLTEndSequence ) process.MC_PFMET_v17 = cms.Path( process.HLTBeginSequence + process.hltPreMCPFMET + process.HLTAK4PFJetsSequence + process.hltPFMETProducer + process.hltPFMETOpenFilter + process.HLTEndSequence ) process.MC_AK4PFJets_v17 = cms.Path( process.HLTBeginSequence + process.hltPreMCAK4PFJets + process.HLTAK4PFJetsSequence + process.hltAK4PFJetCollection20Filter + process.HLTEndSequence ) @@ -132327,7 +132328,7 @@ process.PhysicsHIMinimumBias19Output = cms.EndPath( process.hltGtStage2Digis + process.hltPrePhysicsHIMinimumBias19Output + process.hltOutputPhysicsHIMinimumBias19 ) -process.HLTSchedule = cms.Schedule( *(process.HLTriggerFirstPath, process.HLT_AK8PFJet360_TrimMass30_v18, process.HLT_AK8PFJet380_TrimMass30_v11, process.HLT_AK8PFJet400_TrimMass30_v12, process.HLT_AK8PFJet420_TrimMass30_v11, process.HLT_AK8PFHT750_TrimMass50_v12, process.HLT_AK8PFHT800_TrimMass50_v12, process.HLT_AK8PFHT850_TrimMass50_v11, process.HLT_AK8PFHT900_TrimMass50_v11, process.HLT_CaloJet10_NoJetID_v3, process.HLT_CaloJet20_NoJetID_v3, process.HLT_CaloJet50_NoJetID_v3, process.HLT_CaloJet500_NoJetID_v12, process.HLT_CaloJet550_NoJetID_v7, process.HLT_DoubleMu5_Upsilon_DoubleEle3_CaloIdL_TrackIdL_v4, process.HLT_DoubleMu3_DoubleEle7p5_CaloIdL_TrackIdL_Upsilon_v4, process.HLT_Trimuon5_3p5_2_Upsilon_Muon_v5, process.HLT_TrimuonOpen_5_3p5_2_Upsilon_Muon_v3, process.HLT_DoubleEle25_CaloIdL_MW_v4, process.HLT_DoubleEle27_CaloIdL_MW_v4, process.HLT_DoubleEle33_CaloIdL_MW_v17, process.HLT_DoubleEle24_eta2p1_WPTight_Gsf_v7, process.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350_v20, process.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350_v20, process.HLT_Ele27_Ele37_CaloIdL_MW_v4, process.HLT_Mu27_Ele37_CaloIdL_MW_v5, process.HLT_Mu37_Ele27_CaloIdL_MW_v5, process.HLT_Mu37_TkMu27_v5, process.HLT_DoubleMu4_3_Bs_v14, process.HLT_DoubleMu4_3_Jpsi_v2, process.HLT_DoubleMu4_JpsiTrk_Displaced_v15, process.HLT_DoubleMu4_LowMassNonResonantTrk_Displaced_v15, process.HLT_DoubleMu3_Trk_Tau3mu_v12, process.HLT_DoubleMu3_TkMu_DsTau3Mu_v4, process.HLT_DoubleMu4_PsiPrimeTrk_Displaced_v15, process.HLT_DoubleMu4_Mass3p8_DZ_PFHT350_v8, process.HLT_Mu3_PFJet40_v16, process.HLT_Mu7p5_L2Mu2_Jpsi_v10, process.HLT_Mu7p5_L2Mu2_Upsilon_v10, process.HLT_Mu7p5_Track2_Jpsi_v11, process.HLT_Mu7p5_Track3p5_Jpsi_v11, process.HLT_Mu7p5_Track7_Jpsi_v11, process.HLT_Mu7p5_Track2_Upsilon_v11, process.HLT_Mu7p5_Track3p5_Upsilon_v11, process.HLT_Mu7p5_Track7_Upsilon_v11, process.HLT_Mu3_L1SingleMu5orSingleMu7_v1, process.HLT_DoublePhoton33_CaloIdL_v6, process.HLT_DoublePhoton70_v6, process.HLT_DoublePhoton85_v14, process.HLT_Ele20_WPTight_Gsf_v6, process.HLT_Ele15_WPLoose_Gsf_v3, process.HLT_Ele17_WPLoose_Gsf_v3, process.HLT_Ele20_WPLoose_Gsf_v6, process.HLT_Ele20_eta2p1_WPLoose_Gsf_v6, process.HLT_DiEle27_WPTightCaloOnly_L1DoubleEG_v4, process.HLT_Ele27_WPTight_Gsf_v16, process.HLT_Ele28_WPTight_Gsf_v1, process.HLT_Ele30_WPTight_Gsf_v1, process.HLT_Ele32_WPTight_Gsf_v15, process.HLT_Ele35_WPTight_Gsf_v9, process.HLT_Ele35_WPTight_Gsf_L1EGMT_v5, process.HLT_Ele38_WPTight_Gsf_v9, process.HLT_Ele40_WPTight_Gsf_v9, process.HLT_Ele32_WPTight_Gsf_L1DoubleEG_v9, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTau30_eta2p1_CrossL1_v13, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_HT450_Beamspot_v11, process.HLT_HT300_Beamspot_v11, process.HLT_HT60_Beamspot_v1, process.HLT_ZeroBias_Beamspot_v4, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTau27_eta2p1_CrossL1_v12, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_CrossL1_v4, process.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, process.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v4, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS30_Trk1_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu27_LooseChargedIsoPFTau20_Trk1_eta2p1_SingleL1_v5, process.HLT_IsoMu27_LooseChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu27_MediumChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu27_TightChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu20_v15, process.HLT_IsoMu24_v13, process.HLT_IsoMu24_eta2p1_v15, process.HLT_IsoMu27_v16, process.HLT_IsoMu30_v4, process.HLT_UncorrectedJetE30_NoBPTX_v6, process.HLT_UncorrectedJetE30_NoBPTX3BX_v6, process.HLT_UncorrectedJetE60_NoBPTX3BX_v6, process.HLT_UncorrectedJetE70_NoBPTX3BX_v6, process.HLT_L1SingleMu18_v3, process.HLT_L1SingleMu25_v2, process.HLT_L1SingleMuOpen_v2, process.HLT_L1SingleMuOpen_DT_v2, process.HLT_L1SingleMuCosmics_v1, process.HLT_L1SingleMu3_v1, process.HLT_L1SingleMu5_v1, process.HLT_L1SingleMu7_v1, process.HLT_L1DoubleMu0_v1, process.HLT_L1SingleEG10_v2, process.HLT_L1SingleEG15_v2, process.HLT_L1SingleEG18_v1, process.HLT_L1SingleJet16_v1, process.HLT_L1SingleJet20_v1, process.HLT_L1SingleJet35_v1, process.HLT_L1SingleJet8erHE_v1, process.HLT_L1SingleJet10erHE_v1, process.HLT_L1SingleJet12erHE_v1, process.HLT_L1SingleJet200_v1, process.HLT_L1DoubleJetC50_v2, process.HLT_L1EXT_HCAL_LaserMon1_v1, process.HLT_L1EXT_HCAL_LaserMon4_v1, process.HLT_DQMPixels_SingleMuOpen_v1, process.HLT_L2DoubleMu23_NoVertex_v2, process.HLT_L2Mu10_v7, process.HLT_L2Mu10_NoVertex_NoBPTX3BX_v5, process.HLT_L2Mu10_NoVertex_NoBPTX_v6, process.HLT_L2Mu45_NoVertex_3Sta_NoBPTX3BX_v4, process.HLT_L2Mu40_NoVertex_3Sta_NoBPTX3BX_v5, process.HLT_L2Mu50_v2, process.HLT_L2Mu23NoVtx_2Cha_v1, process.HLT_L2Mu23NoVtx_2Cha_CosmicSeed_v1, process.HLT_DoubleL2Mu30NoVtx_2Cha_CosmicSeed_Eta2p4_v2, process.HLT_DoubleL2Mu30NoVtx_2Cha_Eta2p4_v2, process.HLT_DoubleL2Mu50_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_Eta2p4_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_Eta2p4_v2, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v14, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v15, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v5, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass8_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v5, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass3p8_v3, process.HLT_Mu25_TkMu0_Onia_v8, process.HLT_Mu30_TkMu0_Psi_v1, process.HLT_Mu30_TkMu0_Upsilon_v1, process.HLT_Mu20_TkMu0_Phi_v8, process.HLT_Mu25_TkMu0_Phi_v8, process.HLT_Mu12_v3, process.HLT_Mu15_v3, process.HLT_Mu20_v12, process.HLT_Mu27_v13, process.HLT_Mu50_v13, process.HLT_Mu55_v3, process.HLT_OldMu100_v3, process.HLT_TkMu100_v2, process.HLT_DiPFJet15_NoCaloMatched_v16, process.HLT_DiPFJet25_NoCaloMatched_v16, process.HLT_DiPFJet15_FBEta3_NoCaloMatched_v17, process.HLT_DiPFJet25_FBEta3_NoCaloMatched_v17, process.HLT_DiPFJetAve40_v14, process.HLT_DiPFJetAve60_v14, process.HLT_DiPFJetAve80_v13, process.HLT_DiPFJetAve140_v13, process.HLT_DiPFJetAve200_v13, process.HLT_DiPFJetAve260_v14, process.HLT_DiPFJetAve320_v14, process.HLT_DiPFJetAve400_v14, process.HLT_DiPFJetAve500_v14, process.HLT_DiPFJetAve15_HFJEC_v17, process.HLT_DiPFJetAve25_HFJEC_v17, process.HLT_DiPFJetAve35_HFJEC_v17, process.HLT_DiPFJetAve60_HFJEC_v15, process.HLT_DiPFJetAve80_HFJEC_v16, process.HLT_DiPFJetAve100_HFJEC_v16, process.HLT_DiPFJetAve160_HFJEC_v16, process.HLT_DiPFJetAve220_HFJEC_v16, process.HLT_DiPFJetAve300_HFJEC_v16, process.HLT_AK8PFJet15_v3, process.HLT_AK8PFJet25_v3, process.HLT_AK8PFJet40_v16, process.HLT_AK8PFJet60_v15, process.HLT_AK8PFJet80_v15, process.HLT_AK8PFJet140_v15, process.HLT_AK8PFJet200_v15, process.HLT_AK8PFJet260_v16, process.HLT_AK8PFJet320_v16, process.HLT_AK8PFJet400_v16, process.HLT_AK8PFJet450_v16, process.HLT_AK8PFJet500_v16, process.HLT_AK8PFJet550_v11, process.HLT_PFJet15_v3, process.HLT_PFJet25_v3, process.HLT_PFJet40_v21, process.HLT_PFJet60_v21, process.HLT_PFJet80_v20, process.HLT_PFJet140_v19, process.HLT_PFJet200_v19, process.HLT_PFJet260_v20, process.HLT_PFJet320_v20, process.HLT_PFJet400_v20, process.HLT_PFJet450_v21, process.HLT_PFJet500_v21, process.HLT_PFJet550_v11, process.HLT_PFJetFwd15_v3, process.HLT_PFJetFwd25_v3, process.HLT_PFJetFwd40_v19, process.HLT_PFJetFwd60_v19, process.HLT_PFJetFwd80_v18, process.HLT_PFJetFwd140_v18, process.HLT_PFJetFwd200_v18, process.HLT_PFJetFwd260_v19, process.HLT_PFJetFwd320_v19, process.HLT_PFJetFwd400_v19, process.HLT_PFJetFwd450_v19, process.HLT_PFJetFwd500_v19, process.HLT_AK8PFJetFwd15_v3, process.HLT_AK8PFJetFwd25_v3, process.HLT_AK8PFJetFwd40_v15, process.HLT_AK8PFJetFwd60_v14, process.HLT_AK8PFJetFwd80_v14, process.HLT_AK8PFJetFwd140_v14, process.HLT_AK8PFJetFwd200_v14, process.HLT_AK8PFJetFwd260_v15, process.HLT_AK8PFJetFwd320_v15, process.HLT_AK8PFJetFwd400_v15, process.HLT_AK8PFJetFwd450_v15, process.HLT_AK8PFJetFwd500_v15, process.HLT_PFHT180_v17, process.HLT_PFHT250_v17, process.HLT_PFHT370_v17, process.HLT_PFHT430_v17, process.HLT_PFHT510_v17, process.HLT_PFHT590_v17, process.HLT_PFHT680_v17, process.HLT_PFHT780_v17, process.HLT_PFHT890_v17, process.HLT_PFHT1050_v18, process.HLT_PFHT500_PFMET100_PFMHT100_IDTight_v12, process.HLT_PFHT500_PFMET110_PFMHT110_IDTight_v12, process.HLT_PFHT700_PFMET85_PFMHT85_IDTight_v12, process.HLT_PFHT700_PFMET95_PFMHT95_IDTight_v12, process.HLT_PFHT800_PFMET75_PFMHT75_IDTight_v12, process.HLT_PFHT800_PFMET85_PFMHT85_IDTight_v12, process.HLT_PFMET110_PFMHT110_IDTight_v20, process.HLT_PFMET120_PFMHT120_IDTight_v20, process.HLT_PFMET130_PFMHT130_IDTight_v20, process.HLT_PFMET140_PFMHT140_IDTight_v20, process.HLT_PFMET100_PFMHT100_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET110_PFMHT110_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET120_PFMHT120_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET130_PFMHT130_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET140_PFMHT140_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET120_PFMHT120_IDTight_PFHT60_v9, process.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne120_PFMHT120_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne110_PFMHT110_IDTight_v12, process.HLT_PFMETTypeOne120_PFMHT120_IDTight_v12, process.HLT_PFMETTypeOne130_PFMHT130_IDTight_v12, process.HLT_PFMETTypeOne140_PFMHT140_IDTight_v11, process.HLT_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, process.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, process.HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, process.HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, process.HLT_MonoCentralPFJet80_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, process.HLT_MonoCentralPFJet80_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, process.HLT_MonoCentralPFJet80_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, process.HLT_MonoCentralPFJet80_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, process.HLT_L1ETMHadSeeds_v2, process.HLT_CaloMHT90_v4, process.HLT_CaloMET80_NotCleaned_v4, process.HLT_CaloMET90_NotCleaned_v4, process.HLT_CaloMET100_NotCleaned_v4, process.HLT_CaloMET110_NotCleaned_v4, process.HLT_CaloMET250_NotCleaned_v4, process.HLT_CaloMET300_NotCleaned_v4, process.HLT_CaloMET350_NotCleaned_v4, process.HLT_PFMET200_NotCleaned_v9, process.HLT_PFMET250_NotCleaned_v9, process.HLT_PFMET300_NotCleaned_v9, process.HLT_PFMET200_BeamHaloCleaned_v9, process.HLT_PFMETTypeOne200_BeamHaloCleaned_v9, process.HLT_MET105_IsoTrk50_v9, process.HLT_MET120_IsoTrk50_v9, process.HLT_SingleJet30_Mu12_SinglePFJet40_v11, process.HLT_Mu12_DoublePFJets40_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets100_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets200_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets350_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets40MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets54MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets62MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets40_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets100_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets200_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets350_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets116MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets128MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Photon300_NoHE_v12, process.HLT_Mu8_TrkIsoVVL_v12, process.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_DZ_v18, process.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v18, process.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ_v19, process.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_v19, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v13, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBtagDeepCSV_1p5_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_CaloBtagDeepCSV_1p5_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v11, process.HLT_Mu17_TrkIsoVVL_v13, process.HLT_Mu19_TrkIsoVVL_v4, process.HLT_BTagMu_AK4DiJet20_Mu5_v13, process.HLT_BTagMu_AK4DiJet40_Mu5_v13, process.HLT_BTagMu_AK4DiJet70_Mu5_v13, process.HLT_BTagMu_AK4DiJet110_Mu5_v13, process.HLT_BTagMu_AK4DiJet170_Mu5_v12, process.HLT_BTagMu_AK4Jet300_Mu5_v12, process.HLT_BTagMu_AK8DiJet170_Mu5_v9, process.HLT_BTagMu_AK8Jet170_DoubleMu5_v2, process.HLT_BTagMu_AK8Jet300_Mu5_v12, process.HLT_BTagMu_AK4DiJet20_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet40_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet70_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet110_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet170_Mu5_noalgo_v12, process.HLT_BTagMu_AK4Jet300_Mu5_noalgo_v12, process.HLT_BTagMu_AK8DiJet170_Mu5_noalgo_v9, process.HLT_BTagMu_AK8Jet170_DoubleMu5_noalgo_v2, process.HLT_BTagMu_AK8Jet300_Mu5_noalgo_v12, process.HLT_Ele15_Ele8_CaloIdL_TrackIdL_IsoVL_v3, process.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v19, process.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v19, process.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v7, process.HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_DZ_v10, process.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v7, process.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.HLT_Mu12_DoublePhoton20_v5, process.HLT_TriplePhoton_20_20_20_CaloIdLV2_v3, process.HLT_TriplePhoton_20_20_20_CaloIdLV2_R9IdVL_v3, process.HLT_TriplePhoton_30_30_10_CaloIdLV2_v4, process.HLT_TriplePhoton_30_30_10_CaloIdLV2_R9IdVL_v4, process.HLT_TriplePhoton_35_35_5_CaloIdLV2_R9IdVL_v4, process.HLT_Photon20_v2, process.HLT_Photon22_v2, process.HLT_Photon25_v4, process.HLT_Photon33_v5, process.HLT_Photon50_v13, process.HLT_Photon75_v13, process.HLT_Photon90_v13, process.HLT_Photon120_v13, process.HLT_Photon150_v6, process.HLT_Photon175_v14, process.HLT_Photon200_v13, process.HLT_Photon100EB_TightID_TightIso_v2, process.HLT_Photon110EB_TightID_TightIso_v2, process.HLT_Photon120EB_TightID_TightIso_v2, process.HLT_Photon100EBHE10_v2, process.HLT_Photon100EEHE10_v2, process.HLT_Photon100EE_TightID_TightIso_v2, process.HLT_Photon50_R9Id90_HE10_IsoM_v14, process.HLT_Photon75_R9Id90_HE10_IsoM_v14, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ300_PFJetsMJJ400DEta3_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ400_PFJetsMJJ600DEta3_v5, process.HLT_Photon90_R9Id90_HE10_IsoM_v14, process.HLT_Photon120_R9Id90_HE10_IsoM_v14, process.HLT_Photon165_R9Id90_HE10_IsoM_v15, process.HLT_Photon90_CaloIdL_PFHT700_v16, process.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v13, process.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v13, process.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v15, process.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v13, process.HLT_Photon35_TwoProngs35_v1, process.HLT_IsoMu24_TwoProngs35_v1, process.HLT_Dimuon0_Jpsi_L1_NoOS_v7, process.HLT_Dimuon0_Jpsi_NoVertexing_NoOS_v7, process.HLT_Dimuon0_Jpsi_v8, process.HLT_Dimuon0_Jpsi_NoVertexing_v8, process.HLT_Dimuon0_Jpsi_L1_4R_0er1p5R_v7, process.HLT_Dimuon0_Jpsi_NoVertexing_L1_4R_0er1p5R_v7, process.HLT_Dimuon0_Jpsi3p5_Muon2_v5, process.HLT_Dimuon0_Upsilon_L1_4p5_v9, process.HLT_Dimuon0_Upsilon_L1_5_v9, process.HLT_Dimuon0_Upsilon_L1_4p5NoOS_v8, process.HLT_Dimuon0_Upsilon_L1_4p5er2p0_v9, process.HLT_Dimuon0_Upsilon_L1_4p5er2p0M_v7, process.HLT_Dimuon0_Upsilon_NoVertexing_v7, process.HLT_Dimuon0_Upsilon_L1_5M_v8, process.HLT_Dimuon0_LowMass_L1_0er1p5R_v7, process.HLT_Dimuon0_LowMass_L1_0er1p5_v8, process.HLT_Dimuon0_LowMass_v8, process.HLT_Dimuon0_LowMass_L1_4_v8, process.HLT_Dimuon0_LowMass_L1_4R_v7, process.HLT_Dimuon0_LowMass_L1_TM530_v6, process.HLT_Trimuon2_Upsilon5_Muon_NoL1Mass_v6, process.HLT_Dimuon0_Upsilon_Muon_L1_TM0_v6, process.HLT_Dimuon0_Upsilon_Muon_NoL1Mass_v6, process.HLT_TripleMu_5_3_3_Mass3p8_DZ_v8, process.HLT_TripleMu_10_5_5_DZ_v10, process.HLT_TripleMu_12_10_5_v10, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_Charge1_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_Charge1_v4, process.HLT_DoubleMu3_DZ_PFMET50_PFMHT60_v10, process.HLT_DoubleMu3_DZ_PFMET70_PFMHT70_v10, process.HLT_DoubleMu3_DZ_PFMET90_PFMHT90_v10, process.HLT_DoubleMu3_Trk_Tau3mu_NoL1Mass_v6, process.HLT_DoubleMu4_Jpsi_Displaced_v7, process.HLT_DoubleMu4_Jpsi_NoVertexing_v7, process.HLT_DoubleMu4_JpsiTrkTrk_Displaced_v7, process.HLT_DoubleMu43NoFiltersNoVtx_v4, process.HLT_DoubleMu48NoFiltersNoVtx_v4, process.HLT_Mu43NoFiltersNoVtx_Photon43_CaloIdL_v5, process.HLT_Mu48NoFiltersNoVtx_Photon48_CaloIdL_v5, process.HLT_Mu38NoFiltersNoVtxDisplaced_Photon38_CaloIdL_v1, process.HLT_Mu43NoFiltersNoVtxDisplaced_Photon43_CaloIdL_v1, process.HLT_DoubleMu33NoFiltersNoVtxDisplaced_v1, process.HLT_DoubleMu40NoFiltersNoVtxDisplaced_v1, process.HLT_DoubleMu20_7_Mass0to30_L1_DM4_v7, process.HLT_DoubleMu20_7_Mass0to30_L1_DM4EG_v8, process.HLT_HT425_v9, process.HLT_HT430_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT500_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT430_DisplacedDijet60_DisplacedTrack_v13, process.HLT_HT400_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT650_DisplacedDijet60_Inclusive_v13, process.HLT_HT550_DisplacedDijet60_Inclusive_v13, process.HLT_DiJet110_35_Mjj650_PFMET110_v9, process.HLT_DiJet110_35_Mjj650_PFMET120_v9, process.HLT_DiJet110_35_Mjj650_PFMET130_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET110_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET120_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET130_v9, process.HLT_Ele30_eta2p1_WPTight_Gsf_CentralPFJet35_EleCleaned_v13, process.HLT_Ele28_eta2p1_WPTight_Gsf_HT150_v13, process.HLT_Ele28_HighEta_SC20_Mass55_v13, process.HLT_DoubleMu20_7_Mass0to30_Photon23_v8, process.HLT_Ele15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, process.HLT_Ele15_IsoVVVL_PFHT450_PFMET50_v16, process.HLT_Ele15_IsoVVVL_PFHT450_v16, process.HLT_Ele50_IsoVVVL_PFHT450_v16, process.HLT_Ele15_IsoVVVL_PFHT600_v20, process.HLT_Mu4_TrkIsoVVL_DiPFJet90_40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v15, process.HLT_Mu8_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v16, process.HLT_Mu10_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT350_PFMETNoMu60_v15, process.HLT_Mu15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, process.HLT_Mu15_IsoVVVL_PFHT450_PFMET50_v15, process.HLT_Mu15_IsoVVVL_PFHT450_v15, process.HLT_Mu50_IsoVVVL_PFHT450_v15, process.HLT_Mu15_IsoVVVL_PFHT600_v19, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET70_PFMHT70_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET80_PFMHT80_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET90_PFMHT90_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET100_PFMHT100_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu70_PFMHTNoMu70_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu80_PFMHTNoMu80_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu90_PFMHTNoMu90_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu100_PFMHTNoMu100_IDTight_v2, process.HLT_Dimuon10_PsiPrime_Barrel_Seagulls_v7, process.HLT_Dimuon20_Jpsi_Barrel_Seagulls_v7, process.HLT_Dimuon12_Upsilon_y1p4_v2, process.HLT_Dimuon14_Phi_Barrel_Seagulls_v7, process.HLT_Dimuon18_PsiPrime_v14, process.HLT_Dimuon25_Jpsi_v14, process.HLT_Dimuon18_PsiPrime_noCorrL1_v6, process.HLT_Dimuon24_Upsilon_noCorrL1_v6, process.HLT_Dimuon24_Phi_noCorrL1_v6, process.HLT_Dimuon25_Jpsi_noCorrL1_v6, process.HLT_DiMu4_Ele9_CaloIdL_TrackIdL_DZ_Mass3p8_v17, process.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_DZ_v17, process.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v17, process.HLT_DoubleIsoMu20_eta2p1_v7, process.HLT_TrkMu12_DoubleTrkMu5NoFiltersNoVtx_v6, process.HLT_TrkMu16_DoubleTrkMu6NoFiltersNoVtx_v12, process.HLT_TrkMu17_DoubleTrkMu8NoFiltersNoVtx_v13, process.HLT_Mu8_v12, process.HLT_Mu17_v13, process.HLT_Mu19_v4, process.HLT_Mu17_Photon30_IsoCaloId_v6, process.HLT_Ele8_CaloIdL_TrackIdL_IsoVL_PFJet30_v16, process.HLT_Ele12_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, process.HLT_Ele15_CaloIdL_TrackIdL_IsoVL_PFJet30_v3, process.HLT_Ele23_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, process.HLT_Ele8_CaloIdM_TrackIdM_PFJet30_v18, process.HLT_Ele17_CaloIdM_TrackIdM_PFJet30_v16, process.HLT_Ele23_CaloIdM_TrackIdM_PFJet30_v18, process.HLT_Ele50_CaloIdVT_GsfTrkIdT_PFJet165_v18, process.HLT_Ele115_CaloIdVT_GsfTrkIdT_v14, process.HLT_Ele135_CaloIdVT_GsfTrkIdT_v7, process.HLT_Ele145_CaloIdVT_GsfTrkIdT_v8, process.HLT_Ele200_CaloIdVT_GsfTrkIdT_v8, process.HLT_Ele250_CaloIdVT_GsfTrkIdT_v13, process.HLT_Ele300_CaloIdVT_GsfTrkIdT_v13, process.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_TriplePFBTagDeepCSV_4p5_v3, process.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_v9, process.HLT_PFHT400_SixPFJet32_DoublePFBTagDeepCSV_2p94_v8, process.HLT_PFHT400_SixPFJet32_v8, process.HLT_PFHT450_SixPFJet36_PFBTagDeepCSV_1p59_v7, process.HLT_PFHT450_SixPFJet36_v7, process.HLT_PFHT400_FivePFJet_100_100_60_30_30_v8, process.HLT_PFHT400_FivePFJet_100_100_60_30_30_DoublePFBTagDeepCSV_4p5_v8, process.HLT_PFHT400_FivePFJet_120_120_60_30_30_DoublePFBTagDeepCSV_4p5_v8, process.HLT_PFHT350_v19, process.HLT_PFHT350MinPFJet15_v9, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_v5, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_v5, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_PFHT350MinPFJet15_v11, process.HLT_ECALHT800_v10, process.HLT_DiSC30_18_EIso_AND_HE_Mass70_v13, process.HLT_L1FatEvents_v2, process.HLT_Physics_v7, process.HLT_Physics_part0_v7, process.HLT_Physics_part1_v7, process.HLT_Physics_part2_v7, process.HLT_Physics_part3_v7, process.HLT_Physics_part4_v7, process.HLT_Physics_part5_v7, process.HLT_Physics_part6_v7, process.HLT_Physics_part7_v7, process.DST_Physics_v7, process.HLT_Random_v3, process.HLT_Random_TOTEM_part0_v1, process.HLT_Random_TOTEM_part1_v1, process.HLT_Random_TOTEM_part2_v1, process.HLT_Random_TOTEM_part3_v1, process.HLT_ZeroBias_v6, process.HLT_ZeroBias_TOTEM_part0_v1, process.HLT_ZeroBias_TOTEM_part1_v1, process.HLT_ZeroBias_TOTEM_part2_v1, process.HLT_ZeroBias_TOTEM_part3_v1, process.HLT_ZeroBias_Alignment_v1, process.HLT_ZeroBias_part0_v6, process.HLT_ZeroBias_part1_v6, process.HLT_ZeroBias_part2_v6, process.HLT_ZeroBias_part3_v6, process.HLT_ZeroBias_part4_v6, process.HLT_ZeroBias_part5_v6, process.HLT_ZeroBias_part6_v6, process.HLT_ZeroBias_part7_v6, process.DST_ZeroBias_v2, process.DST_HT250_CaloScouting_v10, process.DST_HT250_CaloBTagScouting_v10, process.DST_HT410_PFScouting_v16, process.DST_HT410_BTagScouting_v16, process.DST_ZeroBias_BTagScouting_v15, process.DST_ZeroBias_CaloScouting_PFScouting_v14, process.DST_CaloJet40_BTagScouting_v15, process.DST_CaloJet40_CaloScouting_PFScouting_v15, process.DST_CaloJet40_CaloBTagScouting_v14, process.DST_L1HTT_BTagScouting_v15, process.DST_L1HTT_CaloScouting_PFScouting_v15, process.DST_L1HTT_CaloBTagScouting_v14, process.DST_L1DoubleMu_BTagScouting_v16, process.DST_L1DoubleMu_CaloScouting_PFScouting_v15, process.DST_DoubleMu3_noVtx_CaloScouting_Monitoring_v6, process.DST_DoubleMu3_noVtx_CaloScouting_v6, process.DST_DoubleMu1_noVtx_CaloScouting_v2, process.DST_DoubleMu3_noVtx_Mass10_PFScouting_v3, process.DST_Run3_PFScoutingPixelTracking_v16, process.HLT_AK4CaloJet30_v11, process.HLT_AK4CaloJet40_v10, process.HLT_AK4CaloJet50_v10, process.HLT_AK4CaloJet80_v10, process.HLT_AK4CaloJet100_v10, process.HLT_AK4CaloJet120_v9, process.HLT_AK4PFJet30_v19, process.HLT_AK4PFJet50_v19, process.HLT_AK4PFJet80_v19, process.HLT_AK4PFJet100_v19, process.HLT_AK4PFJet120_v18, process.HLT_PixelTracks_Multiplicity60ForPPRef_v5, process.HLT_PixelTracks_Multiplicity85ForPPRef_v5, process.HLT_PixelTracks_Multiplicity110ForPPRef_v5, process.HLT_PixelTracks_Multiplicity135ForPPRef_v5, process.HLT_PixelTracks_Multiplicity160ForPPRef_v5, process.HLT_AK4CaloJet40_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet60_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet80_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet100_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet110_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet120_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet150ForPPRef_v9, process.HLT_AK4PFJet40_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet60_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet80_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet100_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet110_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet120_Eta5p1ForPPRef_v16, process.HLT_AK4CaloJet80_Jet35_Eta1p1ForPPRef_v9, process.HLT_AK4CaloJet80_Jet35_Eta0p7ForPPRef_v9, process.HLT_AK4CaloJet100_Jet35_Eta1p1ForPPRef_v9, process.HLT_AK4CaloJet100_Jet35_Eta0p7ForPPRef_v9, process.HLT_AK4CaloJet80_45_45_Eta2p1ForPPRef_v9, process.HLT_SinglePhoton10_Eta3p1ForPPRef_v8, process.HLT_SinglePhoton15_Eta3p1ForPPRef_v9, process.HLT_SinglePhoton20_Eta3p1ForPPRef_v9, process.HLT_SinglePhoton30_Eta3p1ForPPRef_v9, process.HLT_SinglePhoton40_Eta3p1ForPPRef_v8, process.HLT_SinglePhoton50_Eta3p1ForPPRef_v8, process.HLT_SinglePhoton60_Eta3p1ForPPRef_v8, process.HLT_Photon20_HoverELoose_v10, process.HLT_Photon30_HoverELoose_v10, process.HLT_Photon40_HoverELoose_v10, process.HLT_Photon50_HoverELoose_v10, process.HLT_Photon60_HoverELoose_v10, process.HLT_HIL2Mu3Eta2p5_AK4CaloJet40Eta2p1ForPPRef_v11, process.HLT_HIL2Mu3Eta2p5_AK4CaloJet60Eta2p1ForPPRef_v11, process.HLT_HIL2Mu3Eta2p5_AK4CaloJet80Eta2p1ForPPRef_v11, process.HLT_HIL2Mu3Eta2p5_AK4CaloJet100Eta2p1ForPPRef_v11, process.HLT_HIL1DoubleMu0ForPPRef_v4, process.HLT_HIL1DoubleMu10ForPPRef_v4, process.HLT_HIL2DoubleMu0_NHitQForPPRef_v5, process.HLT_HIL3DoubleMu0_OS_m2p5to4p5ForPPRef_v6, process.HLT_HIL3DoubleMu0_OS_m7to14ForPPRef_v6, process.HLT_HIL2Mu3_NHitQ10ForPPRef_v6, process.HLT_HIL3Mu3_NHitQ15ForPPRef_v6, process.HLT_HIL2Mu5_NHitQ10ForPPRef_v6, process.HLT_HIL3Mu5_NHitQ15ForPPRef_v6, process.HLT_HIL2Mu7_NHitQ10ForPPRef_v6, process.HLT_HIL3Mu7_NHitQ15ForPPRef_v6, process.HLT_HIL2Mu15ForPPRef_v6, process.HLT_HIL3Mu15ForPPRef_v6, process.HLT_HIL2Mu20ForPPRef_v6, process.HLT_HIL3Mu20ForPPRef_v6, process.HLT_FullTrack18ForPPRef_v11, process.HLT_FullTrack24ForPPRef_v11, process.HLT_FullTrack34ForPPRef_v11, process.HLT_FullTrack45ForPPRef_v11, process.HLT_FullTrack53ForPPRef_v11, process.HLT_HIL1CastorMediumJetForPPRef_v4, process.HLT_HIL1UnpairedBunchBptxMinusForPPRef_v2, process.HLT_HIL1UnpairedBunchBptxPlusForPPRef_v2, process.HLT_HIL1NotBptxORForPPRef_v2, process.HLT_HIHT80_Beamspot_ppRef5TeV_v3, process.HLT_HIZeroBias_part0_v6, process.HLT_HIZeroBias_part1_v6, process.HLT_HIZeroBias_part2_v6, process.HLT_HIZeroBias_part3_v6, process.HLT_HIZeroBias_part4_v6, process.HLT_HIZeroBias_part5_v6, process.HLT_HIZeroBias_part6_v6, process.HLT_HIZeroBias_part7_v6, process.HLT_HIZeroBias_part8_v6, process.HLT_HIZeroBias_part9_v6, process.HLT_HIZeroBias_part10_v6, process.HLT_HIZeroBias_part11_v6, process.AlCa_HIEcalPi0EBonly_v1, process.AlCa_HIEcalPi0EEonly_v1, process.AlCa_HIEcalEtaEBonly_v1, process.AlCa_HIEcalEtaEEonly_v1, process.HLT_DmesonPPTrackingGlobal_Dpt8ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt15ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt20ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt30ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt40ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt50ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt60ForPPRef_v11, process.HLT_AK4PFBJetBCSV60_Eta2p1ForPPRef_v16, process.HLT_AK4PFBJetBCSV80_Eta2p1ForPPRef_v16, process.HLT_AK4PFDJet60_Eta2p1ForPPRef_v16, process.HLT_AK4PFDJet80_Eta2p1ForPPRef_v16, process.HLT_AK4PFBJetBSSV60_Eta2p1ForPPRef_v16, process.HLT_AK4PFBJetBSSV80_Eta2p1ForPPRef_v16, process.HLT_EcalCalibration_v4, process.HLT_HcalCalibration_v5, process.AlCa_EcalPhiSym_v9, process.HLT_L1UnpairedBunchBptxMinus_v2, process.HLT_L1UnpairedBunchBptxPlus_v2, process.HLT_L1NotBptxOR_v3, process.HLT_L1BptxXOR_v1, process.HLT_L1TOTEM1_MinBias_v4, process.HLT_L1TOTEM2_ZeroBias_v4, process.HLT_L1MinimumBiasHF_OR_v3, process.HLT_L1MinimumBiasHF_OR_part0_v1, process.HLT_L1MinimumBiasHF_OR_part1_v1, process.HLT_L1MinimumBiasHF_OR_part2_v1, process.HLT_L1MinimumBiasHF_OR_part3_v1, process.HLT_L1MinimumBiasHF_OR_part4_v1, process.HLT_L1MinimumBiasHF_OR_part5_v1, process.HLT_L1MinimumBiasHF_OR_part6_v1, process.HLT_L1MinimumBiasHF_OR_part7_v1, process.HLT_L1MinimumBiasHF_OR_part8_v1, process.HLT_L1MinimumBiasHF_OR_part9_v1, process.HLT_L1MinimumBiasHF0OR_v4, process.HLT_L1MinimumBiasHF1OR_v4, process.HLT_L1MinimumBiasHF2OR_v4, process.HLT_L1MinimumBiasHF2ORNoBptxGating_v5, process.HLT_L1MinimumBiasHF1AND_v4, process.HLT_L1MinimumBiasHF2AND_v4, process.HLT_L1_CDC_SingleMu_3_er1p2_TOP120_DPHI2p618_3p142_v2, process.HLT_CDC_L2cosmic_10_er1p0_v1, process.HLT_CDC_L2cosmic_5p5_er1p0_v1, process.HLT_HcalNZS_v13, process.HLT_HcalPhiSym_v15, process.HLT_HcalIsolatedbunch_v5, process.HLT_IsoTrackHB_v4, process.HLT_IsoTrackHE_v4, process.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, process.HLT_ZeroBias_IsolatedBunches_v5, process.HLT_ZeroBias_FirstCollisionInTrain_v4, process.HLT_ZeroBias_LastCollisionInTrain_v3, process.HLT_ZeroBias_FirstBXAfterTrain_v3, process.AlCa_RPCMuonNormalisation_v13, process.AlCa_HIRPCMuonNormalisation_v1, process.AlCa_LumiPixelsCounts_Random_v1, process.AlCa_LumiPixelsCounts_ZeroBias_v1, process.MC_ReducedIterativeTracking_v12, process.MC_PFMET_v17, process.MC_AK4PFJets_v17, process.MC_PFBTagDeepCSV_v10, process.MC_PFHT_v16, process.MC_PFMHT_v16, process.MC_CaloMET_v8, process.MC_CaloMET_JetIdCleaned_v9, process.MC_AK4CaloJets_v9, process.MC_AK4CaloJetsFromPV_v8, process.MC_CaloBTagDeepCSV_v8, process.MC_CaloHT_v8, process.MC_CaloMHT_v8, process.MC_AK8PFJets_v17, process.MC_AK8TrimPFJets_v17, process.MC_AK8PFHT_v16, process.MC_AK8CaloHT_v8, process.MC_Diphoton10_10_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass10_v13, process.MC_DoubleEle5_CaloIdL_MW_v15, process.MC_Ele5_WPTight_Gsf_v8, process.MC_Ele15_Ele10_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.MC_IsoMu_v15, process.MC_IsoTkMu15_v12, process.MC_DoubleMu_TrkIsoVVL_DZ_v11, process.MC_DoubleGlbTrkMu_TrkIsoVVL_DZ_v12, process.MC_DoubleMuNoFiltersNoVtx_v7, process.AlCa_EcalPi0EBonly_v13, process.AlCa_EcalPi0EEonly_v13, process.AlCa_EcalEtaEBonly_v13, process.AlCa_EcalEtaEEonly_v13, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET90_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET100_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET110_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET120_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET130_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET140_v3, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, process.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_1pr_v11, process.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_MediumChargedIsoPFTau200HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_MediumChargedIsoPFTau220HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v9, process.HLT_Rsq0p35_v15, process.HLT_Rsq0p40_v15, process.HLT_RsqMR300_Rsq0p09_MR200_v15, process.HLT_RsqMR320_Rsq0p09_MR200_v15, process.HLT_RsqMR300_Rsq0p09_MR200_4jet_v15, process.HLT_RsqMR320_Rsq0p09_MR200_4jet_v15, process.HLT_L1_DoubleJet30_Mass_Min400_Mu10_v1, process.HLT_IsoMu27_MET90_v3, process.HLT_DoubleMediumChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, process.HLT_DoubleMediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, process.HLT_DoubleTightChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, process.HLT_DoubleTightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, process.HLT_DoubleMediumChargedIsoPFTauHPS30_L1MaxMass_Trk1_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v4, process.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, process.HLT_VBF_DoubleLooseChargedIsoPFTau20_Trk1_eta2p1_v3, process.HLT_VBF_DoubleLooseChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_VBF_DoubleMediumChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_VBF_DoubleTightChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_Photon50_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_PFMET50_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ600DEta3_v5, process.HLT_PFMET100_PFMHT100_IDTight_PFHT60_v9, process.HLT_PFMETNoMu100_PFMHTNoMu100_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne100_PFMHT100_IDTight_PFHT60_v9, process.HLT_Mu18_Mu9_SameSign_v4, process.HLT_Mu18_Mu9_SameSign_DZ_v4, process.HLT_Mu18_Mu9_v4, process.HLT_Mu18_Mu9_DZ_v4, process.HLT_Mu20_Mu10_SameSign_v4, process.HLT_Mu20_Mu10_SameSign_DZ_v4, process.HLT_Mu20_Mu10_v4, process.HLT_Mu20_Mu10_DZ_v4, process.HLT_Mu23_Mu12_SameSign_v4, process.HLT_Mu23_Mu12_SameSign_DZ_v4, process.HLT_Mu23_Mu12_v4, process.HLT_Mu23_Mu12_DZ_v4, process.HLT_DoubleMu2_Jpsi_DoubleTrk1_Phi1p05_v6, process.HLT_DoubleMu2_Jpsi_DoubleTkMu0_Phi_v5, process.HLT_DoubleMu3_DCA_PFMET50_PFMHT60_v10, process.HLT_TripleMu_5_3_3_Mass3p8_DCA_v3, process.HLT_QuadPFJet98_83_71_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet103_88_75_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet111_90_80_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet98_83_71_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet103_88_75_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet105_88_76_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet111_90_80_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet98_83_71_15_v5, process.HLT_QuadPFJet103_88_75_15_v5, process.HLT_QuadPFJet105_88_76_15_v5, process.HLT_QuadPFJet111_90_80_15_v5, process.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p17_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p1_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_p02_v3, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np2_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np4_v2, process.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_Mass55_v2, process.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_v2, process.HLT_Mu12_IP6_ToCSCS_v1, process.HLT_Mu12_IP6_part0_v2, process.HLT_Mu12_IP6_part1_v2, process.HLT_Mu12_IP6_part2_v2, process.HLT_Mu12_IP6_part3_v2, process.HLT_Mu12_IP6_part4_v2, process.HLT_Mu9_IP5_ToCSCS_v1, process.HLT_Mu9_IP5_part0_v2, process.HLT_Mu9_IP5_part1_v2, process.HLT_Mu9_IP5_part2_v2, process.HLT_Mu9_IP5_part3_v2, process.HLT_Mu9_IP5_part4_v2, process.HLT_Mu7_IP4_ToCSCS_v1, process.HLT_Mu7_IP4_part0_v2, process.HLT_Mu7_IP4_part1_v2, process.HLT_Mu7_IP4_part2_v2, process.HLT_Mu7_IP4_part3_v2, process.HLT_Mu7_IP4_part4_v2, process.HLT_Mu9_IP4_ToCSCS_v1, process.HLT_Mu9_IP4_part0_v2, process.HLT_Mu9_IP4_part1_v2, process.HLT_Mu9_IP4_part2_v2, process.HLT_Mu9_IP4_part3_v2, process.HLT_Mu9_IP4_part4_v2, process.HLT_Mu8_IP5_ToCSCS_v1, process.HLT_Mu8_IP5_part0_v2, process.HLT_Mu8_IP5_part1_v2, process.HLT_Mu8_IP5_part2_v2, process.HLT_Mu8_IP5_part3_v2, process.HLT_Mu8_IP5_part4_v2, process.HLT_Mu8_IP6_ToCSCS_v1, process.HLT_Mu8_IP6_part0_v2, process.HLT_Mu8_IP6_part1_v2, process.HLT_Mu8_IP6_part2_v2, process.HLT_Mu8_IP6_part3_v2, process.HLT_Mu8_IP6_part4_v2, process.HLT_Mu9_IP6_ToCSCS_v1, process.HLT_Mu9_IP6_part0_v3, process.HLT_Mu9_IP6_part1_v3, process.HLT_Mu9_IP6_part2_v3, process.HLT_Mu9_IP6_part3_v3, process.HLT_Mu9_IP6_part4_v3, process.HLT_Mu8_IP3_ToCSCS_v1, process.HLT_Mu8_IP3_part0_v3, process.HLT_Mu8_IP3_part1_v3, process.HLT_Mu8_IP3_part2_v3, process.HLT_Mu8_IP3_part3_v3, process.HLT_Mu8_IP3_part4_v3, process.HLT_Mu9_IP0_part0_v2, process.HLT_Mu9_IP3_part0_v2, process.HLT_QuadPFJet105_88_76_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_TrkMu6NoFiltersNoVtx_v1, process.HLT_TrkMu16NoFiltersNoVtx_v1, process.HLT_DoubleTrkMu_16_6_NoFiltersNoVtx_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, process.HLT_L1TOTEM_3_v1, process.HLT_L1RomanPot_part0_v1, process.HLT_L1RomanPot_part1_v1, process.HLT_L1RomanPot_part2_v1, process.HLT_L1RomanPot_part3_v1, process.HLT_PPSMaxTracksPerArm1_v1, process.HLT_PPSMaxTracksPerRP4_v1, process.HLT_L1DoubleMu_v1, process.HLT_L1SingleMu_v1, process.HLT_L1DoubleJet_v1, process.HLT_L1DoubleJetANDTotem_v1, process.HLT_L1DoubleJet_gap_v1, process.HLT_L1HFveto_v1, process.HLT_HIPhysics_v1, process.HLT_HIPhysicsForZS_v1, process.HLT_HIRandom_v1, process.AlCa_EcalPhiSymForHI_v1, process.HLT_HIHcalNZS_v1, process.HLT_HIHcalPhiSym_v1, process.AlCa_RPCMuonNormalisationForHI_v1, process.AlCa_EcalPi0EBonlyForHI_v1, process.AlCa_EcalPi0EEonlyForHI_v1, process.AlCa_EcalEtaEBonlyForHI_v1, process.AlCa_EcalEtaEEonlyForHI_v1, process.HLT_HICentralityVeto_v1, process.HLT_HICentralityVeto_Beamspot_v1, process.HLT_HICentrality30100_FirstCollisionAfterAbortGap_v1, process.HLT_HICentralityTag20100_v1, process.HLT_HICentralityTag30100_v1, process.HLT_HICentralityTag50100_v1, process.HLT_HIZeroBias_v1, process.HLT_HIZeroBias_FirstCollisionAfterAbortGap_v1, process.HLT_HIMinimumBias_part0_v1, process.HLT_HIMinimumBias_part1_v1, process.HLT_HIMinimumBias_part2_v1, process.HLT_HIMinimumBias_part3_v1, process.HLT_HIMinimumBias_part4_v1, process.HLT_HIMinimumBias_part5_v1, process.HLT_HIMinimumBias_part6_v1, process.HLT_HIMinimumBias_part7_v1, process.HLT_HIMinimumBias_part8_v1, process.HLT_HIMinimumBias_part9_v1, process.HLT_HIMinimumBias_part10_v1, process.HLT_HIMinimumBias_part11_v1, process.HLT_HIMinimumBias_part12_v1, process.HLT_HIMinimumBias_part13_v1, process.HLT_HIMinimumBias_part14_v1, process.HLT_HIMinimumBias_part15_v1, process.HLT_HIMinimumBias_part16_v1, process.HLT_HIMinimumBias_part17_v1, process.HLT_HIMinimumBias_part18_v1, process.HLT_HIMinimumBias_part19_v1, process.HLT_HIMinimumBiasRF_part0_v1, process.HLT_HIMinimumBiasRF_part1_v1, process.HLT_HIMinimumBiasRF_part2_v1, process.HLT_HIMinimumBiasRF_part3_v1, process.HLT_HIMinimumBiasRF_part4_v1, process.HLT_HIMinimumBiasRF_part5_v1, process.HLT_HIMinimumBiasRF_part6_v1, process.HLT_HIMinimumBiasRF_part7_v1, process.HLT_HIMinimumBiasRF_part8_v1, process.HLT_HIMinimumBiasRF_part9_v1, process.HLT_HIMinimumBiasRF_part10_v1, process.HLT_HIMinimumBiasRF_part11_v1, process.HLT_HIMinimumBiasRF_part12_v1, process.HLT_HIMinimumBiasRF_part13_v1, process.HLT_HIMinimumBiasRF_part14_v1, process.HLT_HIMinimumBiasRF_part15_v1, process.HLT_HIMinimumBiasRF_part16_v1, process.HLT_HIMinimumBiasRF_part17_v1, process.HLT_HIMinimumBiasRF_part18_v1, process.HLT_HIMinimumBiasRF_part19_v1, process.HLT_HIMinimumBiasRF_part20_v1, process.HLT_HIMinimumBiasRF_part21_v1, process.HLT_HIMinimumBiasRF_part22_v1, process.HLT_HIMinimumBiasRF_part23_v1, process.HLT_HIPuAK4CaloJet40Eta5p1_v1, process.HLT_HIPuAK4CaloJet60Eta5p1_v1, process.HLT_HIPuAK4CaloJet80Eta5p1_v1, process.HLT_HIPuAK4CaloJet100Eta5p1_v1, process.HLT_HIPuAK4CaloJet120Eta5p1_v1, process.HLT_HIPuAK4CaloJet40Eta5p1_Centrality_30_100_v1, process.HLT_HIPuAK4CaloJet40Eta5p1_Centrality_50_100_v1, process.HLT_HIPuAK4CaloJet60Eta5p1_Centrality_30_100_v1, process.HLT_HIPuAK4CaloJet60Eta5p1_Centrality_50_100_v1, process.HLT_HIPuAK4CaloJet80Eta5p1_Centrality_30_100_v1, process.HLT_HIPuAK4CaloJet80Eta5p1_Centrality_50_100_v1, process.HLT_HIPuAK4CaloJet100Eta5p1_Centrality_30_100_v1, process.HLT_HIPuAK4CaloJet100Eta5p1_Centrality_50_100_v1, process.HLT_HIPuAK4CaloJet80_35_Eta1p1_v1, process.HLT_HIPuAK4CaloJet100_35_Eta1p1_v1, process.HLT_HIPuAK4CaloJet80_35_Eta0p7_v1, process.HLT_HIPuAK4CaloJet100_35_Eta0p7_v1, process.HLT_HIPuAK4CaloJet80_45_45_Eta2p1_v1, process.HLT_HIPuAK4CaloJet40Fwd_v1, process.HLT_HIPuAK4CaloJet60Fwd_v1, process.HLT_HIPuAK4CaloJet80Fwd_v1, process.HLT_HIPuAK4CaloJet100Fwd_v1, process.HLT_HIPuAK4CaloJet120Fwd_v1, process.HLT_HIIslandPhoton10_Eta2p4_v1, process.HLT_HIIslandPhoton10_Eta1p5_v1, process.HLT_HIIslandPhoton20_Eta2p4_v1, process.HLT_HIIslandPhoton20_Eta1p5_v1, process.HLT_HIIslandPhoton30_Eta2p4_v1, process.HLT_HIIslandPhoton30_Eta1p5_v1, process.HLT_HIIslandPhoton40_Eta2p4_v1, process.HLT_HIIslandPhoton40_Eta1p5_v1, process.HLT_HIIslandPhoton50_Eta2p4_v1, process.HLT_HIIslandPhoton50_Eta1p5_v1, process.HLT_HIIslandPhoton60_Eta2p4_v1, process.HLT_HIIslandPhoton60_Eta1p5_v1, process.HLT_HIGEDPhoton10_v1, process.HLT_HIGEDPhoton20_v1, process.HLT_HIGEDPhoton30_v1, process.HLT_HIGEDPhoton40_v1, process.HLT_HIGEDPhoton50_v1, process.HLT_HIGEDPhoton60_v1, process.HLT_HIGEDPhoton10_EB_v1, process.HLT_HIGEDPhoton20_EB_v1, process.HLT_HIGEDPhoton30_EB_v1, process.HLT_HIGEDPhoton40_EB_v1, process.HLT_HIGEDPhoton50_EB_v1, process.HLT_HIGEDPhoton60_EB_v1, process.HLT_HIGEDPhoton10_HECut_v1, process.HLT_HIGEDPhoton20_HECut_v1, process.HLT_HIGEDPhoton30_HECut_v1, process.HLT_HIGEDPhoton40_HECut_v1, process.HLT_HIGEDPhoton50_HECut_v1, process.HLT_HIGEDPhoton60_HECut_v1, process.HLT_HIGEDPhoton10_EB_HECut_v1, process.HLT_HIGEDPhoton20_EB_HECut_v1, process.HLT_HIGEDPhoton30_EB_HECut_v1, process.HLT_HIGEDPhoton40_EB_HECut_v1, process.HLT_HIGEDPhoton50_EB_HECut_v1, process.HLT_HIGEDPhoton60_EB_HECut_v1, process.HLT_HIEle10Gsf_v1, process.HLT_HIEle15Gsf_v1, process.HLT_HIEle20Gsf_v1, process.HLT_HIEle30Gsf_v1, process.HLT_HIEle40Gsf_v1, process.HLT_HIEle50Gsf_v1, process.HLT_HIEle15Ele10Gsf_v1, process.HLT_HIEle15Ele10GsfMass50_v1, process.HLT_HIDoubleEle10Gsf_v1, process.HLT_HIDoubleEle10GsfMass50_v1, process.HLT_HIDoubleEle15Gsf_v1, process.HLT_HIDoubleEle15GsfMass50_v1, process.HLT_HIL1Mu3Eta2p5_Ele10Gsf_v1, process.HLT_HIL1Mu3Eta2p5_Ele15Gsf_v1, process.HLT_HIL1Mu3Eta2p5_Ele20Gsf_v1, process.HLT_HIL1Mu5Eta2p5_Ele10Gsf_v1, process.HLT_HIL1Mu5Eta2p5_Ele15Gsf_v1, process.HLT_HIL1Mu5Eta2p5_Ele20Gsf_v1, process.HLT_HIL1Mu7Eta2p5_Ele10Gsf_v1, process.HLT_HIL1Mu7Eta2p5_Ele15Gsf_v1, process.HLT_HIL1Mu7Eta2p5_Ele20Gsf_v1, process.HLT_HIEle10Gsf_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIEle10Gsf_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIEle10Gsf_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIEle10Gsf_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIEle15Gsf_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIEle15Gsf_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIEle15Gsf_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIEle15Gsf_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIEle20Gsf_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIEle20Gsf_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIEle20Gsf_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIEle20Gsf_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt15_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt20_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt30_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt40_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt50_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt60_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt15_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt20_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt30_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt40_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt50_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt60_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt20_v1, process.HLT_HIDsPPTrackingGlobal_Dpt30_v1, process.HLT_HIDsPPTrackingGlobal_Dpt40_v1, process.HLT_HIDsPPTrackingGlobal_Dpt50_v1, process.HLT_HIDsPPTrackingGlobal_Dpt60_v1, process.HLT_HIDsPPTrackingGlobal_Dpt20_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt30_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt40_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt50_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt60_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt20_v1, process.HLT_HILcPPTrackingGlobal_Dpt30_v1, process.HLT_HILcPPTrackingGlobal_Dpt40_v1, process.HLT_HILcPPTrackingGlobal_Dpt50_v1, process.HLT_HILcPPTrackingGlobal_Dpt60_v1, process.HLT_HILcPPTrackingGlobal_Dpt20_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt30_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt40_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt50_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt60_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt18_v1, process.HLT_HIFullTracks2018_HighPt24_v1, process.HLT_HIFullTracks2018_HighPt34_v1, process.HLT_HIFullTracks2018_HighPt45_v1, process.HLT_HIFullTracks2018_HighPt56_v1, process.HLT_HIFullTracks2018_HighPt60_v1, process.HLT_HIFullTracks2018_HighPt18_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt24_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt34_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt45_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt56_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt60_NoIter10_v1, process.HLT_HIL1DoubleMuOpen_v1, process.HLT_HIL1DoubleMuOpen_Centrality_30_100_v1, process.HLT_HIL1DoubleMuOpen_Centrality_40_100_v1, process.HLT_HIL1DoubleMuOpen_Centrality_50_100_v1, process.HLT_HIL1DoubleMuOpen_er1p6_v1, process.HLT_HIL1DoubleMuOpen_OS_er1p6_v1, process.HLT_HIL1DoubleMuOpen_OS_Centrality_30_100_v1, process.HLT_HIL1DoubleMuOpen_OS_Centrality_40_100_v1, process.HLT_HIL1DoubleMu0_v1, process.HLT_HIL1DoubleMu10_v1, process.HLT_HIL2_L1DoubleMu10_v1, process.HLT_HIL3_L1DoubleMu10_v1, process.HLT_HIL2DoubleMuOpen_v1, process.HLT_HIL3DoubleMuOpen_v1, process.HLT_HIL3DoubleMuOpen_M60120_v1, process.HLT_HIL3DoubleMuOpen_JpsiPsi_v1, process.HLT_HIL3DoubleMuOpen_Upsi_v1, process.HLT_HIL3Mu0_L2Mu0_v1, process.HLT_HIL3Mu2p5NHitQ10_L2Mu2_v1, process.HLT_HIL1MuOpen_Centrality_70_100_v1, process.HLT_HIL1MuOpen_Centrality_80_100_v1, process.HLT_HIL2Mu3_NHitQ15_v1, process.HLT_HIL2Mu5_NHitQ15_v1, process.HLT_HIL2Mu7_NHitQ15_v1, process.HLT_HIL2Mu3_NHitQ15_tagging_v1, process.HLT_HIL2Mu5_NHitQ15_tagging_v1, process.HLT_HIL2Mu7_NHitQ15_tagging_v1, process.HLT_HIL3Mu2p5_L1DoubleMu0_v1, process.HLT_HIL3Mu3_L1DoubleMuOpen_OS_v1, process.HLT_HIL3Mu3NHitQ10_L1DoubleMuOpen_v1, process.HLT_HIL3Mu3_L1TripleMuOpen_v1, process.HLT_HIL3Mu12_v1, process.HLT_HIL3Mu15_v1, process.HLT_HIL3Mu20_v1, process.HLT_HIL3Mu3_NHitQ10_v1, process.HLT_HIL3Mu5_NHitQ10_v1, process.HLT_HIL3Mu7_NHitQ10_v1, process.HLT_HIL3Mu3_NHitQ10_tagging_v1, process.HLT_HIL3Mu5_NHitQ10_tagging_v1, process.HLT_HIL3Mu7_NHitQ10_tagging_v1, process.HLT_HIL3Mu0NHitQ10_L2Mu0_MAXdR3p5_M1to5_v1, process.HLT_HIL3Mu2p5NHitQ10_L2Mu2_M7toinf_v1, process.HLT_HIL1_ETT8_ETTAsym50_MinimumBiasHF1_OR_BptxAND_v1, process.HLT_HIL1_ETT10_ETTAsym50_MinimumBiasHF1_OR_BptxAND_v1, process.HLT_HIL1_ETT60_ETTAsym65_MinimumBiasHF2_OR_PixelTracks10_v1, process.HLT_HIL1_ETT65_ETTAsym80_MinimumBiasHF2_OR_PixelTracks10_v1, process.HLT_HIFullTracks_Multiplicity020_HF1AND_v1, process.HLT_HIFullTracks_Multiplicity2040_HF1AND_v1, process.HLT_HIFullTracks_Multiplicity4060_v1, process.HLT_HIFullTracks_Multiplicity6080_v1, process.HLT_HIFullTracks_Multiplicity80100_v1, process.HLT_HIFullTracks_Multiplicity020_v1, process.HLT_HIFullTracks_Multiplicity020_HF1OR_v1, process.HLT_HIFullTracks_Multiplicity020_HF2OR_v1, process.HLT_HIFullTracks_Multiplicity2040_v1, process.HLT_HIFullTracks_Multiplicity2040_HF1OR_v1, process.HLT_HIFullTracks_Multiplicity2040_HF2OR_v1, process.HLT_HIFullTracks_Multiplicity335_HF1OR_v1, process.HLT_HIUPC_Mu8_Mu13_v1, process.HLT_HIUPC_Mu8_Mu13_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMuOpen_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMuOpen_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMuOpen_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMuOpen_NotMBHF2AND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMuOpen_NotMBHF2AND_v1, process.HLT_HIUPC_DoubleMuOpen_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMuOpen_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMuOpen_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMu0_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMu0_NotMBHF2AND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMu0_NotMBHF2AND_v1, process.HLT_HIUPC_DoubleMu0_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMu0_NotMBHF2AND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMu0_NotMBHF2AND_v1, process.HLT_HIUPC_DoubleMu0_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMu0_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMu3_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMu3_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMu0_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMu0_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMu3_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2AND_v1, process.HLT_HIUPC_NotMBHF2OR_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_NotMBHF2AND_v1, process.HLT_HIUPC_NotMBHF2OR_BptxAND_SinglePixelTrack_v1, process.HLT_HIUPC_ZeroBias_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG2_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2OR_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2AND_v1, process.HLT_HIUPC_DoubleEG5_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2OR_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2AND_v1, process.HLT_HIUPC_SingleEG5_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2AND_v1, process.HLT_HIUPC_SingleEG3_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2OR_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2OR_v1, process.HLT_HIUPC_ETT5_Asym50_NotMBHF2OR_v1, process.HLT_HIUPC_ETT5_Asym50_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_ZeroBias_MaxPixelCluster_v1, process.HLT_HIUPC_SingleEG3_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG5_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG5_BptxAND_MaxPixelTrack_v1, process.HLT_HICsAK4PFJet60Eta1p5_v1, process.HLT_HICsAK4PFJet80Eta1p5_v1, process.HLT_HICsAK4PFJet100Eta1p5_v1, process.HLT_HICsAK4PFJet100Eta1p5_Beamspot_v1, process.HLT_HICsAK4PFJet120Eta1p5_v1, process.HLT_HICsAK4PFJet60Eta1p5_Centrality_30_100_v1, process.HLT_HICsAK4PFJet60Eta1p5_Centrality_50_100_v1, process.HLT_HICsAK4PFJet80Eta1p5_Centrality_30_100_v1, process.HLT_HICsAK4PFJet80Eta1p5_Centrality_50_100_v1, process.HLT_HICsAK4PFJet100Eta1p5_Centrality_30_100_v1, process.HLT_HICsAK4PFJet100Eta1p5_Centrality_50_100_v1, process.HLT_HIL3Mu3_EG10HECut_v1, process.HLT_HIL3Mu3_EG15HECut_v1, process.HLT_HIL3Mu3_EG20HECut_v1, process.HLT_HIL3Mu3_EG30HECut_v1, process.HLT_HIL3Mu5_EG10HECut_v1, process.HLT_HIL3Mu5_EG15HECut_v1, process.HLT_HIL3Mu5_EG20HECut_v1, process.HLT_HIL3Mu5_EG30HECut_v1, process.HLT_HIL3Mu7_EG10HECut_v1, process.HLT_HIL3Mu7_EG15HECut_v1, process.HLT_HIL3Mu7_EG20HECut_v1, process.HLT_HIL3Mu7_EG30HECut_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet40Eta2p1_FilterDr_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet60Eta2p1_FilterDr_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet80Eta2p1_FilterDr_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet100Eta2p1_FilterDr_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet40Eta2p1_FilterDr_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet60Eta2p1_FilterDr_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet80Eta2p1_FilterDr_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet100Eta2p1_FilterDr_v1, process.HLT_HICastor_MediumJet_NotMBHF2AND_v1, process.HLT_HICastor_MediumJet_NotMBHF2OR_v1, process.HLT_HICastor_MediumJet_MBHF1OR_BptxAND_v1, process.HLT_HICastor_MediumJet_SingleMu0_MBHF1OR_BptxAND_v1, process.HLT_HICastor_MediumJet_SingleEG5_MBHF1OR_BptxAND_v1, process.HLT_HICastor_MediumJet_BptxAND_v1, process.HLT_HICastor_MediumJet_v1, process.HLT_HICastor_HighJet_v1, process.HLT_HICastor_HighJet_BptxAND_v1, process.HLT_HICastor_HighJet_MBHF1OR_BptxAND_v1, process.HLT_HICastor_HighJet_NotMBHF2OR_v1, process.HLT_HICastor_HighJet_NotMBHF2AND_v1, process.HLT_HICastor_HighJet_MBHF1AND_BptxAND_v1, process.HLT_HICastor_HighJet_MBHF2AND_BptxAND_v1, process.HLT_HICastor_Muon_v1, process.HLT_HICastor_Muon_BptxAND_v1, process.HLT_HIIslandPhoton10_Eta2p4_Cent30_100_v1, process.HLT_HIIslandPhoton20_Eta2p4_Cent30_100_v1, process.HLT_HIIslandPhoton30_Eta2p4_Cent30_100_v1, process.HLT_HIIslandPhoton40_Eta2p4_Cent30_100_v1, process.HLT_HIIslandPhoton10_Eta2p4_Cent50_100_v1, process.HLT_HIIslandPhoton20_Eta2p4_Cent50_100_v1, process.HLT_HIIslandPhoton30_Eta2p4_Cent50_100_v1, process.HLT_HIIslandPhoton40_Eta2p4_Cent50_100_v1, process.HLT_HIGEDPhoton10_Cent30_100_v1, process.HLT_HIGEDPhoton20_Cent30_100_v1, process.HLT_HIGEDPhoton30_Cent30_100_v1, process.HLT_HIGEDPhoton40_Cent30_100_v1, process.HLT_HIGEDPhoton10_Cent50_100_v1, process.HLT_HIGEDPhoton20_Cent50_100_v1, process.HLT_HIGEDPhoton30_Cent50_100_v1, process.HLT_HIGEDPhoton40_Cent50_100_v1, process.HLT_HIPuAK4CaloJet60Eta2p4_DeepCSV0p4_v1, process.HLT_HIPuAK4CaloJet80Eta2p4_DeepCSV0p4_v1, process.HLT_HIPuAK4CaloJet100Eta2p4_DeepCSV0p4_v1, process.HLT_HIPuAK4CaloJet60Eta2p4_CSVv2WP0p75_v1, process.HLT_HIPuAK4CaloJet80Eta2p4_CSVv2WP0p75_v1, process.HLT_HIPuAK4CaloJet100Eta2p4_CSVv2WP0p75_v1, process.HLT_HIL1NotBptxOR_v1, process.HLT_HIL1UnpairedBunchBptxMinus_v1, process.HLT_HIL1UnpairedBunchBptxPlus_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part0_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part1_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part2_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part3_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part4_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part5_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part6_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part7_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part8_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part9_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part10_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part11_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part12_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part13_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part14_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part15_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part16_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part17_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part18_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part19_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part0_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part1_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part2_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part3_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part4_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part5_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part6_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part7_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part8_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part9_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part10_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part11_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part12_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part13_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part14_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part15_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part16_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part17_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part18_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part19_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part20_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part21_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part22_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part23_v1, process.HLT_HIL1_ZDC_AND_OR_MinimumBiasHF1_AND_BptxAND_v1, process.HLT_HIL1_ZDC_AND_OR_MinimumBiasHF2_AND_BptxAND_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part0_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part1_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part2_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part3_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part4_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part5_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part6_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part7_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part8_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part9_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part10_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part11_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part12_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part13_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part14_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part15_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part16_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part17_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part18_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part19_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part0_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part1_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part2_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part3_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part4_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part5_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part6_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part7_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part8_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part9_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part10_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part11_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part12_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part13_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part14_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part15_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part16_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part17_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part18_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part19_v1, process.HLTriggerFinalPath, process.HLTAnalyzerEndpath, process.RatesMonitoring, process.DQMHistograms, process.ParkingHLTPhysicsOutput, process.ParkingZeroBiasOutput, process.PhysicsCommissioningOutput, process.PhysicsEGammaOutput, process.PhysicsEndOfFillOutput, process.PhysicsHadronsTausOutput, process.PhysicsMuonsOutput, process.PhysicsTracksOutput, process.PhysicsForwardOutput, process.ParkingBPH1Output, process.ParkingBPH2Output, process.ParkingBPH3Output, process.ParkingBPH4Output, process.ParkingBPH5Output, process.DQMOutput, process.DQMOnlineBeamspotOutput, process.DQMCalibrationOutput, process.DQMEventDisplayOutput, process.HLTMonitorOutput, process.RPCMONOutput, process.CalibrationOutput, process.EcalCalibrationOutput, process.ALCAPHISYMOutput, process.ALCALumiPixelCountsExpressOutput, process.ALCALumiPixelCountsPromptOutput, process.ALCAP0Output, process.ALCAPPSOutput, process.ExpressOutput, process.ExpressCosmicsOutput, process.ExpressAlignmentOutput, process.NanoDSTOutput, process.ScoutingPFOutput, process.ScoutingCaloMuonOutput, process.PhysicsScoutingMonitorOutput, process.PhysicsHLTPhysics1Output, process.PhysicsHLTPhysics2Output, process.PhysicsHLTPhysics3Output, process.PhysicsHLTPhysics4Output, process.PhysicsZeroBias1Output, process.PhysicsZeroBias2Output, process.PhysicsZeroBias3Output, process.PhysicsZeroBias4Output, process.PhysicsHIZeroBias1Output, process.PhysicsHIZeroBias2Output, process.PhysicsHIZeroBias3Output, process.PhysicsHIZeroBias4Output, process.PhysicsHIZeroBias5Output, process.PhysicsHIZeroBias6Output, process.PhysicsTOTEM1part0Output, process.PhysicsTOTEM1part1Output, process.PhysicsTOTEM1part2Output, process.PhysicsTOTEM1part3Output, process.PhysicsTOTEM2part0Output, process.PhysicsTOTEM2part1Output, process.PhysicsTOTEM2part2Output, process.PhysicsTOTEM2part3Output, process.PhysicsTOTEM3Output, process.PhysicsTOTEM4part0Output, process.PhysicsTOTEM4part1Output, process.PhysicsTOTEM4part2Output, process.PhysicsTOTEM4part3Output, process.PhysicsRandomTOTEM1Output, process.PhysicsRandomTOTEM2Output, process.PhysicsRandomTOTEM3Output, process.PhysicsRandomTOTEM4Output, process.PhysicsZeroBiasTOTEM1Output, process.PhysicsZeroBiasTOTEM2Output, process.PhysicsZeroBiasTOTEM3Output, process.PhysicsZeroBiasTOTEM4Output, process.PhysicsMinimumBias0Output, process.PhysicsMinimumBias1Output, process.PhysicsMinimumBias2Output, process.PhysicsMinimumBias3Output, process.PhysicsMinimumBias4Output, process.PhysicsMinimumBias5Output, process.PhysicsMinimumBias6Output, process.PhysicsMinimumBias7Output, process.PhysicsMinimumBias8Output, process.PhysicsMinimumBias9Output, process.PhysicsEGammaCommissioningOutput, process.PhysicsHICommissioningOutput, process.PhysicsHIDoubleMuonOutput, process.PhysicsHISingleMuonOutput, process.PhysicsHIHardProbesOutput, process.PhysicsHIMinimumBiasReducedFormat0Output, process.PhysicsHIMinimumBiasReducedFormat1Output, process.PhysicsHIMinimumBiasReducedFormat2Output, process.PhysicsHIMinimumBiasReducedFormat3Output, process.PhysicsHIMinimumBiasReducedFormat4Output, process.PhysicsHIMinimumBiasReducedFormat5Output, process.PhysicsHIMinimumBiasReducedFormat6Output, process.PhysicsHIMinimumBiasReducedFormat7Output, process.PhysicsHIMinimumBiasReducedFormat8Output, process.PhysicsHIMinimumBiasReducedFormat9Output, process.PhysicsHIMinimumBiasReducedFormat10Output, process.PhysicsHIMinimumBiasReducedFormat11Output, process.PhysicsHITrackerNZSOutput, process.PhysicsHIForwardOutput, process.HIHLTMonitorOutput, process.HIDQMOutput, process.HIDQMEventDisplayOutput, process.HIDQMOnlineBeamspotOutput, process.HIExpressOutput, process.HIExpressAlignmentOutput, process.PhysicsHIHardProbesLowerOutput, process.PhysicsHIHardProbesPeripheralOutput, process.PhysicsHIHeavyFlavorOutput, process.PhysicsHIHighMultiplicityOutput, process.PhysicsHILowMultiplicityOutput, process.PhysicsHILowMultiplicityReducedFormatOutput, process.PhysicsHIMinimumBias0Output, process.PhysicsHIMinimumBias1Output, process.PhysicsHIMinimumBias2Output, process.PhysicsHIMinimumBias3Output, process.PhysicsHIMinimumBias4Output, process.PhysicsHIMinimumBias5Output, process.PhysicsHIMinimumBias6Output, process.PhysicsHIMinimumBias7Output, process.PhysicsHIMinimumBias8Output, process.PhysicsHIMinimumBias9Output, process.PhysicsHIMinimumBias10Output, process.PhysicsHIMinimumBias11Output, process.PhysicsHIMinimumBias12Output, process.PhysicsHIMinimumBias13Output, process.PhysicsHIMinimumBias14Output, process.PhysicsHIMinimumBias15Output, process.PhysicsHIMinimumBias16Output, process.PhysicsHIMinimumBias17Output, process.PhysicsHIMinimumBias18Output, process.PhysicsHIMinimumBias19Output, )) +process.HLTSchedule = cms.Schedule( *(process.HLTriggerFirstPath, process.HLT_AK8PFJet360_TrimMass30_v18, process.HLT_AK8PFJet380_TrimMass30_v11, process.HLT_AK8PFJet400_TrimMass30_v12, process.HLT_AK8PFJet420_TrimMass30_v11, process.HLT_AK8PFHT750_TrimMass50_v12, process.HLT_AK8PFHT800_TrimMass50_v12, process.HLT_AK8PFHT850_TrimMass50_v11, process.HLT_AK8PFHT900_TrimMass50_v11, process.HLT_CaloJet10_NoJetID_v3, process.HLT_CaloJet20_NoJetID_v3, process.HLT_CaloJet50_NoJetID_v3, process.HLT_CaloJet500_NoJetID_v12, process.HLT_CaloJet550_NoJetID_v7, process.HLT_DoubleMu5_Upsilon_DoubleEle3_CaloIdL_TrackIdL_v4, process.HLT_DoubleMu3_DoubleEle7p5_CaloIdL_TrackIdL_Upsilon_v4, process.HLT_Trimuon5_3p5_2_Upsilon_Muon_v5, process.HLT_TrimuonOpen_5_3p5_2_Upsilon_Muon_v3, process.HLT_DoubleEle25_CaloIdL_MW_v4, process.HLT_DoubleEle27_CaloIdL_MW_v4, process.HLT_DoubleEle33_CaloIdL_MW_v17, process.HLT_DoubleEle24_eta2p1_WPTight_Gsf_v7, process.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350_v20, process.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350_v20, process.HLT_Ele27_Ele37_CaloIdL_MW_v4, process.HLT_Mu27_Ele37_CaloIdL_MW_v5, process.HLT_Mu37_Ele27_CaloIdL_MW_v5, process.HLT_Mu37_TkMu27_v5, process.HLT_DoubleMu4_3_Bs_v14, process.HLT_DoubleMu4_3_Jpsi_v2, process.HLT_DoubleMu4_JpsiTrk_Displaced_v15, process.HLT_DoubleMu4_LowMassNonResonantTrk_Displaced_v15, process.HLT_DoubleMu3_Trk_Tau3mu_v12, process.HLT_DoubleMu3_TkMu_DsTau3Mu_v4, process.HLT_DoubleMu4_PsiPrimeTrk_Displaced_v15, process.HLT_DoubleMu4_Mass3p8_DZ_PFHT350_v8, process.HLT_Mu3_PFJet40_v16, process.HLT_Mu7p5_L2Mu2_Jpsi_v10, process.HLT_Mu7p5_L2Mu2_Upsilon_v10, process.HLT_Mu7p5_Track2_Jpsi_v11, process.HLT_Mu7p5_Track3p5_Jpsi_v11, process.HLT_Mu7p5_Track7_Jpsi_v11, process.HLT_Mu7p5_Track2_Upsilon_v11, process.HLT_Mu7p5_Track3p5_Upsilon_v11, process.HLT_Mu7p5_Track7_Upsilon_v11, process.HLT_Mu3_L1SingleMu5orSingleMu7_v1, process.HLT_DoublePhoton33_CaloIdL_v6, process.HLT_DoublePhoton70_v6, process.HLT_DoublePhoton85_v14, process.HLT_Ele20_WPTight_Gsf_v6, process.HLT_Ele15_WPLoose_Gsf_v3, process.HLT_Ele17_WPLoose_Gsf_v3, process.HLT_Ele20_WPLoose_Gsf_v6, process.HLT_Ele20_eta2p1_WPLoose_Gsf_v6, process.HLT_DiEle27_WPTightCaloOnly_L1DoubleEG_v4, process.HLT_Ele27_WPTight_Gsf_v16, process.HLT_Ele28_WPTight_Gsf_v1, process.HLT_Ele30_WPTight_Gsf_v1, process.HLT_Ele32_WPTight_Gsf_v15, process.HLT_Ele35_WPTight_Gsf_v9, process.HLT_Ele35_WPTight_Gsf_L1EGMT_v5, process.HLT_Ele38_WPTight_Gsf_v9, process.HLT_Ele40_WPTight_Gsf_v9, process.HLT_Ele32_WPTight_Gsf_L1DoubleEG_v9, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTau30_eta2p1_CrossL1_v13, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_HT450_Beamspot_v11, process.HLT_HT300_Beamspot_v11, process.HLT_HT60_Beamspot_v1, process.HLT_ZeroBias_Beamspot_v4, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTau27_eta2p1_CrossL1_v12, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_CrossL1_v4, process.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, process.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v4, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS30_Trk1_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu27_LooseChargedIsoPFTau20_Trk1_eta2p1_SingleL1_v5, process.HLT_IsoMu27_LooseChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu27_MediumChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu27_TightChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu20_v15, process.HLT_IsoMu24_v13, process.HLT_IsoMu24_eta2p1_v15, process.HLT_IsoMu27_v16, process.HLT_IsoMu30_v4, process.HLT_UncorrectedJetE30_NoBPTX_v6, process.HLT_UncorrectedJetE30_NoBPTX3BX_v6, process.HLT_UncorrectedJetE60_NoBPTX3BX_v6, process.HLT_UncorrectedJetE70_NoBPTX3BX_v6, process.HLT_L1SingleMu18_v3, process.HLT_L1SingleMu25_v2, process.HLT_L1SingleMuOpen_v2, process.HLT_L1SingleMuOpen_DT_v2, process.HLT_L1SingleMuCosmics_v1, process.HLT_L1SingleMu3_v1, process.HLT_L1SingleMu5_v1, process.HLT_L1SingleMu7_v1, process.HLT_L1DoubleMu0_v1, process.HLT_L1SingleEG10_v2, process.HLT_L1SingleEG15_v2, process.HLT_L1SingleEG18_v1, process.HLT_L1SingleJet16_v1, process.HLT_L1SingleJet20_v1, process.HLT_L1SingleJet35_v1, process.HLT_L1SingleJet8erHE_v1, process.HLT_L1SingleJet10erHE_v1, process.HLT_L1SingleJet12erHE_v1, process.HLT_L1SingleJet200_v1, process.HLT_L1DoubleJetC50_v2, process.HLT_L1EXT_HCAL_LaserMon1_v1, process.HLT_L1EXT_HCAL_LaserMon4_v1, process.HLT_DQMPixels_SingleMuOpen_v1, process.HLT_L2DoubleMu23_NoVertex_v2, process.HLT_L2Mu10_v7, process.HLT_L2Mu10_NoVertex_NoBPTX3BX_v5, process.HLT_L2Mu10_NoVertex_NoBPTX_v6, process.HLT_L2Mu45_NoVertex_3Sta_NoBPTX3BX_v4, process.HLT_L2Mu40_NoVertex_3Sta_NoBPTX3BX_v5, process.HLT_L2Mu50_v2, process.HLT_L2Mu23NoVtx_2Cha_v1, process.HLT_L2Mu23NoVtx_2Cha_CosmicSeed_v1, process.HLT_DoubleL2Mu30NoVtx_2Cha_CosmicSeed_Eta2p4_v2, process.HLT_DoubleL2Mu30NoVtx_2Cha_Eta2p4_v2, process.HLT_DoubleL2Mu50_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_Eta2p4_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_Eta2p4_v2, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v14, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v15, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v5, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass8_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v5, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass3p8_v3, process.HLT_Mu25_TkMu0_Onia_v8, process.HLT_Mu30_TkMu0_Psi_v1, process.HLT_Mu30_TkMu0_Upsilon_v1, process.HLT_Mu20_TkMu0_Phi_v8, process.HLT_Mu25_TkMu0_Phi_v8, process.HLT_Mu12_v3, process.HLT_Mu15_v3, process.HLT_Mu20_v12, process.HLT_Mu27_v13, process.HLT_Mu50_v13, process.HLT_Mu55_v3, process.HLT_OldMu100_v3, process.HLT_TkMu100_v2, process.HLT_DiPFJet15_NoCaloMatched_v16, process.HLT_DiPFJet25_NoCaloMatched_v16, process.HLT_DiPFJet15_FBEta3_NoCaloMatched_v17, process.HLT_DiPFJet25_FBEta3_NoCaloMatched_v17, process.HLT_DiPFJetAve40_v14, process.HLT_DiPFJetAve60_v14, process.HLT_DiPFJetAve80_v13, process.HLT_DiPFJetAve140_v13, process.HLT_DiPFJetAve200_v13, process.HLT_DiPFJetAve260_v14, process.HLT_DiPFJetAve320_v14, process.HLT_DiPFJetAve400_v14, process.HLT_DiPFJetAve500_v14, process.HLT_DiPFJetAve15_HFJEC_v17, process.HLT_DiPFJetAve25_HFJEC_v17, process.HLT_DiPFJetAve35_HFJEC_v17, process.HLT_DiPFJetAve60_HFJEC_v15, process.HLT_DiPFJetAve80_HFJEC_v16, process.HLT_DiPFJetAve100_HFJEC_v16, process.HLT_DiPFJetAve160_HFJEC_v16, process.HLT_DiPFJetAve220_HFJEC_v16, process.HLT_DiPFJetAve300_HFJEC_v16, process.HLT_AK8PFJet15_v3, process.HLT_AK8PFJet25_v3, process.HLT_AK8PFJet40_v16, process.HLT_AK8PFJet60_v15, process.HLT_AK8PFJet80_v15, process.HLT_AK8PFJet140_v15, process.HLT_AK8PFJet200_v15, process.HLT_AK8PFJet260_v16, process.HLT_AK8PFJet320_v16, process.HLT_AK8PFJet400_v16, process.HLT_AK8PFJet450_v16, process.HLT_AK8PFJet500_v16, process.HLT_AK8PFJet550_v11, process.HLT_PFJet15_v3, process.HLT_PFJet25_v3, process.HLT_PFJet40_v21, process.HLT_PFJet60_v21, process.HLT_PFJet80_v20, process.HLT_PFJet140_v19, process.HLT_PFJet200_v19, process.HLT_PFJet260_v20, process.HLT_PFJet320_v20, process.HLT_PFJet400_v20, process.HLT_PFJet450_v21, process.HLT_PFJet500_v21, process.HLT_PFJet550_v11, process.HLT_PFJetFwd15_v3, process.HLT_PFJetFwd25_v3, process.HLT_PFJetFwd40_v19, process.HLT_PFJetFwd60_v19, process.HLT_PFJetFwd80_v18, process.HLT_PFJetFwd140_v18, process.HLT_PFJetFwd200_v18, process.HLT_PFJetFwd260_v19, process.HLT_PFJetFwd320_v19, process.HLT_PFJetFwd400_v19, process.HLT_PFJetFwd450_v19, process.HLT_PFJetFwd500_v19, process.HLT_AK8PFJetFwd15_v3, process.HLT_AK8PFJetFwd25_v3, process.HLT_AK8PFJetFwd40_v15, process.HLT_AK8PFJetFwd60_v14, process.HLT_AK8PFJetFwd80_v14, process.HLT_AK8PFJetFwd140_v14, process.HLT_AK8PFJetFwd200_v14, process.HLT_AK8PFJetFwd260_v15, process.HLT_AK8PFJetFwd320_v15, process.HLT_AK8PFJetFwd400_v15, process.HLT_AK8PFJetFwd450_v15, process.HLT_AK8PFJetFwd500_v15, process.HLT_PFHT180_v17, process.HLT_PFHT250_v17, process.HLT_PFHT370_v17, process.HLT_PFHT430_v17, process.HLT_PFHT510_v17, process.HLT_PFHT590_v17, process.HLT_PFHT680_v17, process.HLT_PFHT780_v17, process.HLT_PFHT890_v17, process.HLT_PFHT1050_v18, process.HLT_PFHT500_PFMET100_PFMHT100_IDTight_v12, process.HLT_PFHT500_PFMET110_PFMHT110_IDTight_v12, process.HLT_PFHT700_PFMET85_PFMHT85_IDTight_v12, process.HLT_PFHT700_PFMET95_PFMHT95_IDTight_v12, process.HLT_PFHT800_PFMET75_PFMHT75_IDTight_v12, process.HLT_PFHT800_PFMET85_PFMHT85_IDTight_v12, process.HLT_PFMET110_PFMHT110_IDTight_v20, process.HLT_PFMET120_PFMHT120_IDTight_v20, process.HLT_PFMET130_PFMHT130_IDTight_v20, process.HLT_PFMET140_PFMHT140_IDTight_v20, process.HLT_PFMET100_PFMHT100_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET110_PFMHT110_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET120_PFMHT120_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET130_PFMHT130_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET140_PFMHT140_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET120_PFMHT120_IDTight_PFHT60_v9, process.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne120_PFMHT120_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne110_PFMHT110_IDTight_v12, process.HLT_PFMETTypeOne120_PFMHT120_IDTight_v12, process.HLT_PFMETTypeOne130_PFMHT130_IDTight_v12, process.HLT_PFMETTypeOne140_PFMHT140_IDTight_v11, process.HLT_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, process.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, process.HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, process.HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, process.HLT_MonoCentralPFJet80_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, process.HLT_MonoCentralPFJet80_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, process.HLT_MonoCentralPFJet80_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, process.HLT_MonoCentralPFJet80_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, process.HLT_L1ETMHadSeeds_v2, process.HLT_CaloMHT90_v4, process.HLT_CaloMET80_NotCleaned_v4, process.HLT_CaloMET90_NotCleaned_v4, process.HLT_CaloMET100_NotCleaned_v4, process.HLT_CaloMET110_NotCleaned_v4, process.HLT_CaloMET250_NotCleaned_v4, process.HLT_CaloMET300_NotCleaned_v4, process.HLT_CaloMET350_NotCleaned_v4, process.HLT_PFMET200_NotCleaned_v9, process.HLT_PFMET250_NotCleaned_v9, process.HLT_PFMET300_NotCleaned_v9, process.HLT_PFMET200_BeamHaloCleaned_v9, process.HLT_PFMETTypeOne200_BeamHaloCleaned_v9, process.HLT_MET105_IsoTrk50_v9, process.HLT_MET120_IsoTrk50_v9, process.HLT_SingleJet30_Mu12_SinglePFJet40_v11, process.HLT_Mu12_DoublePFJets40_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets100_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets200_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets350_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets40MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets54MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets62MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets40_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets100_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets200_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets350_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets116MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets128MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Photon300_NoHE_v12, process.HLT_Mu8_TrkIsoVVL_v12, process.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_DZ_v18, process.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v18, process.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ_v19, process.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_v19, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v13, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBtagDeepCSV_1p5_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_CaloBtagDeepCSV_1p5_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v11, process.HLT_Mu17_TrkIsoVVL_v13, process.HLT_Mu19_TrkIsoVVL_v4, process.HLT_BTagMu_AK4DiJet20_Mu5_v13, process.HLT_BTagMu_AK4DiJet40_Mu5_v13, process.HLT_BTagMu_AK4DiJet70_Mu5_v13, process.HLT_BTagMu_AK4DiJet110_Mu5_v13, process.HLT_BTagMu_AK4DiJet170_Mu5_v12, process.HLT_BTagMu_AK4Jet300_Mu5_v12, process.HLT_BTagMu_AK8DiJet170_Mu5_v9, process.HLT_BTagMu_AK8Jet170_DoubleMu5_v2, process.HLT_BTagMu_AK8Jet300_Mu5_v12, process.HLT_BTagMu_AK4DiJet20_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet40_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet70_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet110_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet170_Mu5_noalgo_v12, process.HLT_BTagMu_AK4Jet300_Mu5_noalgo_v12, process.HLT_BTagMu_AK8DiJet170_Mu5_noalgo_v9, process.HLT_BTagMu_AK8Jet170_DoubleMu5_noalgo_v2, process.HLT_BTagMu_AK8Jet300_Mu5_noalgo_v12, process.HLT_Ele15_Ele8_CaloIdL_TrackIdL_IsoVL_v3, process.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v19, process.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v19, process.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v7, process.HLT_Mu23_TrkIsoVVL_Ele8_CaloIdL_TrackIdL_IsoVL_DZ_v10, process.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v7, process.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.HLT_Mu12_DoublePhoton20_v5, process.HLT_TriplePhoton_20_20_20_CaloIdLV2_v3, process.HLT_TriplePhoton_20_20_20_CaloIdLV2_R9IdVL_v3, process.HLT_TriplePhoton_30_30_10_CaloIdLV2_v4, process.HLT_TriplePhoton_30_30_10_CaloIdLV2_R9IdVL_v4, process.HLT_TriplePhoton_35_35_5_CaloIdLV2_R9IdVL_v4, process.HLT_Photon20_v2, process.HLT_Photon22_v2, process.HLT_Photon25_v4, process.HLT_Photon33_v5, process.HLT_Photon50_v13, process.HLT_Photon75_v13, process.HLT_Photon90_v13, process.HLT_Photon120_v13, process.HLT_Photon150_v6, process.HLT_Photon175_v14, process.HLT_Photon200_v13, process.HLT_Photon100EB_TightID_TightIso_v2, process.HLT_Photon110EB_TightID_TightIso_v2, process.HLT_Photon120EB_TightID_TightIso_v2, process.HLT_Photon100EBHE10_v2, process.HLT_Photon100EEHE10_v2, process.HLT_Photon100EE_TightID_TightIso_v2, process.HLT_Photon50_R9Id90_HE10_IsoM_v14, process.HLT_Photon75_R9Id90_HE10_IsoM_v14, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ300_PFJetsMJJ400DEta3_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ400_PFJetsMJJ600DEta3_v5, process.HLT_Photon90_R9Id90_HE10_IsoM_v14, process.HLT_Photon120_R9Id90_HE10_IsoM_v14, process.HLT_Photon165_R9Id90_HE10_IsoM_v15, process.HLT_Photon90_CaloIdL_PFHT700_v16, process.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v13, process.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v13, process.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v15, process.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v13, process.HLT_Photon35_TwoProngs35_v1, process.HLT_IsoMu24_TwoProngs35_v1, process.HLT_Dimuon0_Jpsi_L1_NoOS_v7, process.HLT_Dimuon0_Jpsi_NoVertexing_NoOS_v7, process.HLT_Dimuon0_Jpsi_v8, process.HLT_Dimuon0_Jpsi_NoVertexing_v8, process.HLT_Dimuon0_Jpsi_L1_4R_0er1p5R_v7, process.HLT_Dimuon0_Jpsi_NoVertexing_L1_4R_0er1p5R_v7, process.HLT_Dimuon0_Jpsi3p5_Muon2_v5, process.HLT_Dimuon0_Upsilon_L1_4p5_v9, process.HLT_Dimuon0_Upsilon_L1_5_v9, process.HLT_Dimuon0_Upsilon_L1_4p5NoOS_v8, process.HLT_Dimuon0_Upsilon_L1_4p5er2p0_v9, process.HLT_Dimuon0_Upsilon_L1_4p5er2p0M_v7, process.HLT_Dimuon0_Upsilon_NoVertexing_v7, process.HLT_Dimuon0_Upsilon_L1_5M_v8, process.HLT_Dimuon0_LowMass_L1_0er1p5R_v7, process.HLT_Dimuon0_LowMass_L1_0er1p5_v8, process.HLT_Dimuon0_LowMass_v8, process.HLT_Dimuon0_LowMass_L1_4_v8, process.HLT_Dimuon0_LowMass_L1_4R_v7, process.HLT_Dimuon0_LowMass_L1_TM530_v6, process.HLT_Trimuon2_Upsilon5_Muon_NoL1Mass_v6, process.HLT_Dimuon0_Upsilon_Muon_L1_TM0_v6, process.HLT_Dimuon0_Upsilon_Muon_NoL1Mass_v6, process.HLT_TripleMu_5_3_3_Mass3p8_DZ_v8, process.HLT_TripleMu_10_5_5_DZ_v10, process.HLT_TripleMu_12_10_5_v10, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_Charge1_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_Charge1_v4, process.HLT_DoubleMu3_DZ_PFMET50_PFMHT60_v10, process.HLT_DoubleMu3_DZ_PFMET70_PFMHT70_v10, process.HLT_DoubleMu3_DZ_PFMET90_PFMHT90_v10, process.HLT_DoubleMu3_Trk_Tau3mu_NoL1Mass_v6, process.HLT_DoubleMu4_Jpsi_Displaced_v7, process.HLT_DoubleMu4_Jpsi_NoVertexing_v7, process.HLT_DoubleMu4_JpsiTrkTrk_Displaced_v7, process.HLT_DoubleMu43NoFiltersNoVtx_v4, process.HLT_DoubleMu48NoFiltersNoVtx_v4, process.HLT_Mu43NoFiltersNoVtx_Photon43_CaloIdL_v5, process.HLT_Mu48NoFiltersNoVtx_Photon48_CaloIdL_v5, process.HLT_Mu38NoFiltersNoVtxDisplaced_Photon38_CaloIdL_v1, process.HLT_Mu43NoFiltersNoVtxDisplaced_Photon43_CaloIdL_v1, process.HLT_DoubleMu33NoFiltersNoVtxDisplaced_v1, process.HLT_DoubleMu40NoFiltersNoVtxDisplaced_v1, process.HLT_DoubleMu20_7_Mass0to30_L1_DM4_v7, process.HLT_DoubleMu20_7_Mass0to30_L1_DM4EG_v8, process.HLT_HT425_v9, process.HLT_HT430_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT500_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT430_DisplacedDijet60_DisplacedTrack_v13, process.HLT_HT400_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT650_DisplacedDijet60_Inclusive_v13, process.HLT_HT550_DisplacedDijet60_Inclusive_v13, process.HLT_DiJet110_35_Mjj650_PFMET110_v9, process.HLT_DiJet110_35_Mjj650_PFMET120_v9, process.HLT_DiJet110_35_Mjj650_PFMET130_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET110_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET120_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET130_v9, process.HLT_Ele30_eta2p1_WPTight_Gsf_CentralPFJet35_EleCleaned_v13, process.HLT_Ele28_eta2p1_WPTight_Gsf_HT150_v13, process.HLT_Ele28_HighEta_SC20_Mass55_v13, process.HLT_DoubleMu20_7_Mass0to30_Photon23_v8, process.HLT_Ele15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, process.HLT_Ele15_IsoVVVL_PFHT450_PFMET50_v16, process.HLT_Ele15_IsoVVVL_PFHT450_v16, process.HLT_Ele50_IsoVVVL_PFHT450_v16, process.HLT_Ele15_IsoVVVL_PFHT600_v20, process.HLT_Mu4_TrkIsoVVL_DiPFJet90_40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v15, process.HLT_Mu8_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v16, process.HLT_Mu10_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT350_PFMETNoMu60_v15, process.HLT_Mu15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, process.HLT_Mu15_IsoVVVL_PFHT450_PFMET50_v15, process.HLT_Mu15_IsoVVVL_PFHT450_v15, process.HLT_Mu50_IsoVVVL_PFHT450_v15, process.HLT_Mu15_IsoVVVL_PFHT600_v19, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET70_PFMHT70_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET80_PFMHT80_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET90_PFMHT90_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET100_PFMHT100_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu70_PFMHTNoMu70_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu80_PFMHTNoMu80_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu90_PFMHTNoMu90_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu100_PFMHTNoMu100_IDTight_v2, process.HLT_Dimuon10_PsiPrime_Barrel_Seagulls_v7, process.HLT_Dimuon20_Jpsi_Barrel_Seagulls_v7, process.HLT_Dimuon12_Upsilon_y1p4_v2, process.HLT_Dimuon14_Phi_Barrel_Seagulls_v7, process.HLT_Dimuon18_PsiPrime_v14, process.HLT_Dimuon25_Jpsi_v14, process.HLT_Dimuon18_PsiPrime_noCorrL1_v6, process.HLT_Dimuon24_Upsilon_noCorrL1_v6, process.HLT_Dimuon24_Phi_noCorrL1_v6, process.HLT_Dimuon25_Jpsi_noCorrL1_v6, process.HLT_DiMu4_Ele9_CaloIdL_TrackIdL_DZ_Mass3p8_v17, process.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_DZ_v17, process.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v17, process.HLT_DoubleIsoMu20_eta2p1_v7, process.HLT_TrkMu12_DoubleTrkMu5NoFiltersNoVtx_v6, process.HLT_TrkMu16_DoubleTrkMu6NoFiltersNoVtx_v12, process.HLT_TrkMu17_DoubleTrkMu8NoFiltersNoVtx_v13, process.HLT_Mu8_v12, process.HLT_Mu17_v13, process.HLT_Mu19_v4, process.HLT_Mu17_Photon30_IsoCaloId_v6, process.HLT_Ele8_CaloIdL_TrackIdL_IsoVL_PFJet30_v16, process.HLT_Ele12_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, process.HLT_Ele15_CaloIdL_TrackIdL_IsoVL_PFJet30_v3, process.HLT_Ele23_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, process.HLT_Ele8_CaloIdM_TrackIdM_PFJet30_v18, process.HLT_Ele17_CaloIdM_TrackIdM_PFJet30_v16, process.HLT_Ele23_CaloIdM_TrackIdM_PFJet30_v18, process.HLT_Ele50_CaloIdVT_GsfTrkIdT_PFJet165_v18, process.HLT_Ele115_CaloIdVT_GsfTrkIdT_v14, process.HLT_Ele135_CaloIdVT_GsfTrkIdT_v7, process.HLT_Ele145_CaloIdVT_GsfTrkIdT_v8, process.HLT_Ele200_CaloIdVT_GsfTrkIdT_v8, process.HLT_Ele250_CaloIdVT_GsfTrkIdT_v13, process.HLT_Ele300_CaloIdVT_GsfTrkIdT_v13, process.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_TriplePFBTagDeepCSV_4p5_v3, process.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_v9, process.HLT_PFHT400_SixPFJet32_DoublePFBTagDeepCSV_2p94_v8, process.HLT_PFHT400_SixPFJet32_v8, process.HLT_PFHT450_SixPFJet36_PFBTagDeepCSV_1p59_v7, process.HLT_PFHT450_SixPFJet36_v7, process.HLT_PFHT400_FivePFJet_100_100_60_30_30_v8, process.HLT_PFHT400_FivePFJet_100_100_60_30_30_DoublePFBTagDeepCSV_4p5_v8, process.HLT_PFHT400_FivePFJet_120_120_60_30_30_DoublePFBTagDeepCSV_4p5_v8, process.HLT_PFHT350_v19, process.HLT_PFHT350MinPFJet15_v9, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_v5, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_v5, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_PFHT350MinPFJet15_v11, process.HLT_ECALHT800_v10, process.HLT_DiSC30_18_EIso_AND_HE_Mass70_v13, process.HLT_L1FatEvents_v2, process.HLT_Physics_v7, process.HLT_Physics_part0_v7, process.HLT_Physics_part1_v7, process.HLT_Physics_part2_v7, process.HLT_Physics_part3_v7, process.HLT_Physics_part4_v7, process.HLT_Physics_part5_v7, process.HLT_Physics_part6_v7, process.HLT_Physics_part7_v7, process.DST_Physics_v7, process.HLT_Random_v3, process.HLT_Random_TOTEM_part0_v1, process.HLT_Random_TOTEM_part1_v1, process.HLT_Random_TOTEM_part2_v1, process.HLT_Random_TOTEM_part3_v1, process.HLT_ZeroBias_v6, process.HLT_ZeroBias_TOTEM_part0_v1, process.HLT_ZeroBias_TOTEM_part1_v1, process.HLT_ZeroBias_TOTEM_part2_v1, process.HLT_ZeroBias_TOTEM_part3_v1, process.HLT_ZeroBias_Alignment_v1, process.HLT_ZeroBias_part0_v6, process.HLT_ZeroBias_part1_v6, process.HLT_ZeroBias_part2_v6, process.HLT_ZeroBias_part3_v6, process.HLT_ZeroBias_part4_v6, process.HLT_ZeroBias_part5_v6, process.HLT_ZeroBias_part6_v6, process.HLT_ZeroBias_part7_v6, process.DST_ZeroBias_v2, process.DST_HT250_CaloScouting_v10, process.DST_HT250_CaloBTagScouting_v10, process.DST_HT410_PFScouting_v16, process.DST_HT410_BTagScouting_v16, process.DST_ZeroBias_BTagScouting_v15, process.DST_ZeroBias_CaloScouting_PFScouting_v14, process.DST_CaloJet40_BTagScouting_v15, process.DST_CaloJet40_CaloScouting_PFScouting_v15, process.DST_CaloJet40_CaloBTagScouting_v14, process.DST_L1HTT_BTagScouting_v15, process.DST_L1HTT_CaloScouting_PFScouting_v15, process.DST_L1HTT_CaloBTagScouting_v14, process.DST_L1DoubleMu_BTagScouting_v16, process.DST_L1DoubleMu_CaloScouting_PFScouting_v15, process.DST_DoubleMu3_noVtx_CaloScouting_Monitoring_v6, process.DST_DoubleMu3_noVtx_CaloScouting_v6, process.DST_DoubleMu1_noVtx_CaloScouting_v2, process.DST_DoubleMu3_noVtx_Mass10_PFScouting_v3, process.DST_Run3_PFScoutingPixelTracking_v16, process.HLT_AK4CaloJet30_v11, process.HLT_AK4CaloJet40_v10, process.HLT_AK4CaloJet50_v10, process.HLT_AK4CaloJet80_v10, process.HLT_AK4CaloJet100_v10, process.HLT_AK4CaloJet120_v9, process.HLT_AK4PFJet30_v19, process.HLT_AK4PFJet50_v19, process.HLT_AK4PFJet80_v19, process.HLT_AK4PFJet100_v19, process.HLT_AK4PFJet120_v18, process.HLT_PixelTracks_Multiplicity60ForPPRef_v5, process.HLT_PixelTracks_Multiplicity85ForPPRef_v5, process.HLT_PixelTracks_Multiplicity110ForPPRef_v5, process.HLT_PixelTracks_Multiplicity135ForPPRef_v5, process.HLT_PixelTracks_Multiplicity160ForPPRef_v5, process.HLT_AK4CaloJet40_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet60_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet80_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet100_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet110_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet120_Eta5p1ForPPRef_v9, process.HLT_AK4CaloJet150ForPPRef_v9, process.HLT_AK4PFJet40_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet60_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet80_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet100_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet110_Eta5p1ForPPRef_v16, process.HLT_AK4PFJet120_Eta5p1ForPPRef_v16, process.HLT_AK4CaloJet80_Jet35_Eta1p1ForPPRef_v9, process.HLT_AK4CaloJet80_Jet35_Eta0p7ForPPRef_v9, process.HLT_AK4CaloJet100_Jet35_Eta1p1ForPPRef_v9, process.HLT_AK4CaloJet100_Jet35_Eta0p7ForPPRef_v9, process.HLT_AK4CaloJet80_45_45_Eta2p1ForPPRef_v9, process.HLT_SinglePhoton10_Eta3p1ForPPRef_v8, process.HLT_SinglePhoton15_Eta3p1ForPPRef_v9, process.HLT_SinglePhoton20_Eta3p1ForPPRef_v9, process.HLT_SinglePhoton30_Eta3p1ForPPRef_v9, process.HLT_SinglePhoton40_Eta3p1ForPPRef_v8, process.HLT_SinglePhoton50_Eta3p1ForPPRef_v8, process.HLT_SinglePhoton60_Eta3p1ForPPRef_v8, process.HLT_Photon20_HoverELoose_v10, process.HLT_Photon30_HoverELoose_v10, process.HLT_Photon40_HoverELoose_v10, process.HLT_Photon50_HoverELoose_v10, process.HLT_Photon60_HoverELoose_v10, process.HLT_HIL2Mu3Eta2p5_AK4CaloJet40Eta2p1ForPPRef_v11, process.HLT_HIL2Mu3Eta2p5_AK4CaloJet60Eta2p1ForPPRef_v11, process.HLT_HIL2Mu3Eta2p5_AK4CaloJet80Eta2p1ForPPRef_v11, process.HLT_HIL2Mu3Eta2p5_AK4CaloJet100Eta2p1ForPPRef_v11, process.HLT_HIL1DoubleMu0ForPPRef_v4, process.HLT_HIL1DoubleMu10ForPPRef_v4, process.HLT_HIL2DoubleMu0_NHitQForPPRef_v5, process.HLT_HIL3DoubleMu0_OS_m2p5to4p5ForPPRef_v6, process.HLT_HIL3DoubleMu0_OS_m7to14ForPPRef_v6, process.HLT_HIL2Mu3_NHitQ10ForPPRef_v6, process.HLT_HIL3Mu3_NHitQ15ForPPRef_v6, process.HLT_HIL2Mu5_NHitQ10ForPPRef_v6, process.HLT_HIL3Mu5_NHitQ15ForPPRef_v6, process.HLT_HIL2Mu7_NHitQ10ForPPRef_v6, process.HLT_HIL3Mu7_NHitQ15ForPPRef_v6, process.HLT_HIL2Mu15ForPPRef_v6, process.HLT_HIL3Mu15ForPPRef_v6, process.HLT_HIL2Mu20ForPPRef_v6, process.HLT_HIL3Mu20ForPPRef_v6, process.HLT_FullTrack18ForPPRef_v11, process.HLT_FullTrack24ForPPRef_v11, process.HLT_FullTrack34ForPPRef_v11, process.HLT_FullTrack45ForPPRef_v11, process.HLT_FullTrack53ForPPRef_v11, process.HLT_HIL1CastorMediumJetForPPRef_v4, process.HLT_HIL1UnpairedBunchBptxMinusForPPRef_v2, process.HLT_HIL1UnpairedBunchBptxPlusForPPRef_v2, process.HLT_HIL1NotBptxORForPPRef_v2, process.HLT_HIHT80_Beamspot_ppRef5TeV_v3, process.HLT_HIZeroBias_part0_v6, process.HLT_HIZeroBias_part1_v6, process.HLT_HIZeroBias_part2_v6, process.HLT_HIZeroBias_part3_v6, process.HLT_HIZeroBias_part4_v6, process.HLT_HIZeroBias_part5_v6, process.HLT_HIZeroBias_part6_v6, process.HLT_HIZeroBias_part7_v6, process.HLT_HIZeroBias_part8_v6, process.HLT_HIZeroBias_part9_v6, process.HLT_HIZeroBias_part10_v6, process.HLT_HIZeroBias_part11_v6, process.AlCa_HIEcalPi0EBonly_v1, process.AlCa_HIEcalPi0EEonly_v1, process.AlCa_HIEcalEtaEBonly_v1, process.AlCa_HIEcalEtaEEonly_v1, process.HLT_DmesonPPTrackingGlobal_Dpt8ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt15ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt20ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt30ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt40ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt50ForPPRef_v11, process.HLT_DmesonPPTrackingGlobal_Dpt60ForPPRef_v11, process.HLT_AK4PFBJetBCSV60_Eta2p1ForPPRef_v16, process.HLT_AK4PFBJetBCSV80_Eta2p1ForPPRef_v16, process.HLT_AK4PFDJet60_Eta2p1ForPPRef_v16, process.HLT_AK4PFDJet80_Eta2p1ForPPRef_v16, process.HLT_AK4PFBJetBSSV60_Eta2p1ForPPRef_v16, process.HLT_AK4PFBJetBSSV80_Eta2p1ForPPRef_v16, process.HLT_EcalCalibration_v4, process.HLT_HcalCalibration_v5, process.AlCa_EcalPhiSym_v9, process.HLT_L1UnpairedBunchBptxMinus_v2, process.HLT_L1UnpairedBunchBptxPlus_v2, process.HLT_L1NotBptxOR_v3, process.HLT_L1BptxXOR_v1, process.HLT_L1TOTEM1_MinBias_v4, process.HLT_L1TOTEM2_ZeroBias_v4, process.HLT_L1MinimumBiasHF_OR_v3, process.HLT_L1MinimumBiasHF_OR_part0_v1, process.HLT_L1MinimumBiasHF_OR_part1_v1, process.HLT_L1MinimumBiasHF_OR_part2_v1, process.HLT_L1MinimumBiasHF_OR_part3_v1, process.HLT_L1MinimumBiasHF_OR_part4_v1, process.HLT_L1MinimumBiasHF_OR_part5_v1, process.HLT_L1MinimumBiasHF_OR_part6_v1, process.HLT_L1MinimumBiasHF_OR_part7_v1, process.HLT_L1MinimumBiasHF_OR_part8_v1, process.HLT_L1MinimumBiasHF_OR_part9_v1, process.HLT_L1MinimumBiasHF0OR_v4, process.HLT_L1MinimumBiasHF1OR_v4, process.HLT_L1MinimumBiasHF2OR_v4, process.HLT_L1MinimumBiasHF2ORNoBptxGating_v5, process.HLT_L1MinimumBiasHF1AND_v4, process.HLT_L1MinimumBiasHF2AND_v4, process.HLT_L1_CDC_SingleMu_3_er1p2_TOP120_DPHI2p618_3p142_v2, process.HLT_CDC_L2cosmic_10_er1p0_v1, process.HLT_CDC_L2cosmic_5p5_er1p0_v1, process.HLT_HcalNZS_v13, process.HLT_HcalPhiSym_v15, process.HLT_HcalIsolatedbunch_v5, process.HLT_IsoTrackHB_v4, process.HLT_IsoTrackHE_v4, process.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, process.HLT_ZeroBias_IsolatedBunches_v5, process.HLT_ZeroBias_FirstCollisionInTrain_v4, process.HLT_ZeroBias_LastCollisionInTrain_v3, process.HLT_ZeroBias_FirstBXAfterTrain_v3, process.AlCa_RPCMuonNormalisation_v13, process.AlCa_HIRPCMuonNormalisation_v1, process.AlCa_LumiPixelsCounts_Random_v2, process.AlCa_LumiPixelsCounts_ZeroBias_v2, process.MC_ReducedIterativeTracking_v12, process.MC_PFMET_v17, process.MC_AK4PFJets_v17, process.MC_PFBTagDeepCSV_v10, process.MC_PFHT_v16, process.MC_PFMHT_v16, process.MC_CaloMET_v8, process.MC_CaloMET_JetIdCleaned_v9, process.MC_AK4CaloJets_v9, process.MC_AK4CaloJetsFromPV_v8, process.MC_CaloBTagDeepCSV_v8, process.MC_CaloHT_v8, process.MC_CaloMHT_v8, process.MC_AK8PFJets_v17, process.MC_AK8TrimPFJets_v17, process.MC_AK8PFHT_v16, process.MC_AK8CaloHT_v8, process.MC_Diphoton10_10_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass10_v13, process.MC_DoubleEle5_CaloIdL_MW_v15, process.MC_Ele5_WPTight_Gsf_v8, process.MC_Ele15_Ele10_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.MC_IsoMu_v15, process.MC_IsoTkMu15_v12, process.MC_DoubleMu_TrkIsoVVL_DZ_v11, process.MC_DoubleGlbTrkMu_TrkIsoVVL_DZ_v12, process.MC_DoubleMuNoFiltersNoVtx_v7, process.AlCa_EcalPi0EBonly_v13, process.AlCa_EcalPi0EEonly_v13, process.AlCa_EcalEtaEBonly_v13, process.AlCa_EcalEtaEEonly_v13, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET90_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET100_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET110_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET120_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET130_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET140_v3, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, process.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_1pr_v11, process.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_MediumChargedIsoPFTau200HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_MediumChargedIsoPFTau220HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v9, process.HLT_Rsq0p35_v15, process.HLT_Rsq0p40_v15, process.HLT_RsqMR300_Rsq0p09_MR200_v15, process.HLT_RsqMR320_Rsq0p09_MR200_v15, process.HLT_RsqMR300_Rsq0p09_MR200_4jet_v15, process.HLT_RsqMR320_Rsq0p09_MR200_4jet_v15, process.HLT_L1_DoubleJet30_Mass_Min400_Mu10_v1, process.HLT_IsoMu27_MET90_v3, process.HLT_DoubleMediumChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, process.HLT_DoubleMediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, process.HLT_DoubleTightChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, process.HLT_DoubleTightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, process.HLT_DoubleMediumChargedIsoPFTauHPS30_L1MaxMass_Trk1_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v4, process.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, process.HLT_VBF_DoubleLooseChargedIsoPFTau20_Trk1_eta2p1_v3, process.HLT_VBF_DoubleLooseChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_VBF_DoubleMediumChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_VBF_DoubleTightChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_Photon50_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_PFMET50_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ600DEta3_v5, process.HLT_PFMET100_PFMHT100_IDTight_PFHT60_v9, process.HLT_PFMETNoMu100_PFMHTNoMu100_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne100_PFMHT100_IDTight_PFHT60_v9, process.HLT_Mu18_Mu9_SameSign_v4, process.HLT_Mu18_Mu9_SameSign_DZ_v4, process.HLT_Mu18_Mu9_v4, process.HLT_Mu18_Mu9_DZ_v4, process.HLT_Mu20_Mu10_SameSign_v4, process.HLT_Mu20_Mu10_SameSign_DZ_v4, process.HLT_Mu20_Mu10_v4, process.HLT_Mu20_Mu10_DZ_v4, process.HLT_Mu23_Mu12_SameSign_v4, process.HLT_Mu23_Mu12_SameSign_DZ_v4, process.HLT_Mu23_Mu12_v4, process.HLT_Mu23_Mu12_DZ_v4, process.HLT_DoubleMu2_Jpsi_DoubleTrk1_Phi1p05_v6, process.HLT_DoubleMu2_Jpsi_DoubleTkMu0_Phi_v5, process.HLT_DoubleMu3_DCA_PFMET50_PFMHT60_v10, process.HLT_TripleMu_5_3_3_Mass3p8_DCA_v3, process.HLT_QuadPFJet98_83_71_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet103_88_75_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet111_90_80_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet98_83_71_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet103_88_75_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet105_88_76_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet111_90_80_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet98_83_71_15_v5, process.HLT_QuadPFJet103_88_75_15_v5, process.HLT_QuadPFJet105_88_76_15_v5, process.HLT_QuadPFJet111_90_80_15_v5, process.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p17_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p1_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_p02_v3, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np2_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np4_v2, process.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_Mass55_v2, process.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_v2, process.HLT_Mu12_IP6_ToCSCS_v1, process.HLT_Mu12_IP6_part0_v2, process.HLT_Mu12_IP6_part1_v2, process.HLT_Mu12_IP6_part2_v2, process.HLT_Mu12_IP6_part3_v2, process.HLT_Mu12_IP6_part4_v2, process.HLT_Mu9_IP5_ToCSCS_v1, process.HLT_Mu9_IP5_part0_v2, process.HLT_Mu9_IP5_part1_v2, process.HLT_Mu9_IP5_part2_v2, process.HLT_Mu9_IP5_part3_v2, process.HLT_Mu9_IP5_part4_v2, process.HLT_Mu7_IP4_ToCSCS_v1, process.HLT_Mu7_IP4_part0_v2, process.HLT_Mu7_IP4_part1_v2, process.HLT_Mu7_IP4_part2_v2, process.HLT_Mu7_IP4_part3_v2, process.HLT_Mu7_IP4_part4_v2, process.HLT_Mu9_IP4_ToCSCS_v1, process.HLT_Mu9_IP4_part0_v2, process.HLT_Mu9_IP4_part1_v2, process.HLT_Mu9_IP4_part2_v2, process.HLT_Mu9_IP4_part3_v2, process.HLT_Mu9_IP4_part4_v2, process.HLT_Mu8_IP5_ToCSCS_v1, process.HLT_Mu8_IP5_part0_v2, process.HLT_Mu8_IP5_part1_v2, process.HLT_Mu8_IP5_part2_v2, process.HLT_Mu8_IP5_part3_v2, process.HLT_Mu8_IP5_part4_v2, process.HLT_Mu8_IP6_ToCSCS_v1, process.HLT_Mu8_IP6_part0_v2, process.HLT_Mu8_IP6_part1_v2, process.HLT_Mu8_IP6_part2_v2, process.HLT_Mu8_IP6_part3_v2, process.HLT_Mu8_IP6_part4_v2, process.HLT_Mu9_IP6_ToCSCS_v1, process.HLT_Mu9_IP6_part0_v3, process.HLT_Mu9_IP6_part1_v3, process.HLT_Mu9_IP6_part2_v3, process.HLT_Mu9_IP6_part3_v3, process.HLT_Mu9_IP6_part4_v3, process.HLT_Mu8_IP3_ToCSCS_v1, process.HLT_Mu8_IP3_part0_v3, process.HLT_Mu8_IP3_part1_v3, process.HLT_Mu8_IP3_part2_v3, process.HLT_Mu8_IP3_part3_v3, process.HLT_Mu8_IP3_part4_v3, process.HLT_Mu9_IP0_part0_v2, process.HLT_Mu9_IP3_part0_v2, process.HLT_QuadPFJet105_88_76_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_TrkMu6NoFiltersNoVtx_v1, process.HLT_TrkMu16NoFiltersNoVtx_v1, process.HLT_DoubleTrkMu_16_6_NoFiltersNoVtx_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult1_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult2_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_Mult3_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult1_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult2_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_Mult3_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult1_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult2_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_Mult3_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, process.HLT_TOTEM_1_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, process.HLT_TOTEM_2_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult1_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult2_part3_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part0_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part1_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part2_v1, process.HLT_TOTEM_4_AND_PixelTrackCounting_BPixOnly_Mult3_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, process.HLT_TOTEM_1_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, process.HLT_TOTEM_2_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay3_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu5NLay4_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay3_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu6NLay4_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay3_part3_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part0_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part1_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part2_v1, process.HLT_TOTEM_4_AND_PixelClusterCounting_BPixNClu7NLay4_part3_v1, process.HLT_L1TOTEM_3_v1, process.HLT_L1RomanPot_part0_v1, process.HLT_L1RomanPot_part1_v1, process.HLT_L1RomanPot_part2_v1, process.HLT_L1RomanPot_part3_v1, process.HLT_PPSMaxTracksPerArm1_v1, process.HLT_PPSMaxTracksPerRP4_v1, process.HLT_L1DoubleMu_v1, process.HLT_L1SingleMu_v1, process.HLT_L1DoubleJet_v1, process.HLT_L1DoubleJetANDTotem_v1, process.HLT_L1DoubleJet_gap_v1, process.HLT_L1HFveto_v1, process.HLT_HIPhysics_v1, process.HLT_HIPhysicsForZS_v1, process.HLT_HIRandom_v1, process.AlCa_EcalPhiSymForHI_v1, process.HLT_HIHcalNZS_v1, process.HLT_HIHcalPhiSym_v1, process.AlCa_RPCMuonNormalisationForHI_v1, process.AlCa_EcalPi0EBonlyForHI_v1, process.AlCa_EcalPi0EEonlyForHI_v1, process.AlCa_EcalEtaEBonlyForHI_v1, process.AlCa_EcalEtaEEonlyForHI_v1, process.HLT_HICentralityVeto_v1, process.HLT_HICentralityVeto_Beamspot_v1, process.HLT_HICentrality30100_FirstCollisionAfterAbortGap_v1, process.HLT_HICentralityTag20100_v1, process.HLT_HICentralityTag30100_v1, process.HLT_HICentralityTag50100_v1, process.HLT_HIZeroBias_v1, process.HLT_HIZeroBias_FirstCollisionAfterAbortGap_v1, process.HLT_HIMinimumBias_part0_v1, process.HLT_HIMinimumBias_part1_v1, process.HLT_HIMinimumBias_part2_v1, process.HLT_HIMinimumBias_part3_v1, process.HLT_HIMinimumBias_part4_v1, process.HLT_HIMinimumBias_part5_v1, process.HLT_HIMinimumBias_part6_v1, process.HLT_HIMinimumBias_part7_v1, process.HLT_HIMinimumBias_part8_v1, process.HLT_HIMinimumBias_part9_v1, process.HLT_HIMinimumBias_part10_v1, process.HLT_HIMinimumBias_part11_v1, process.HLT_HIMinimumBias_part12_v1, process.HLT_HIMinimumBias_part13_v1, process.HLT_HIMinimumBias_part14_v1, process.HLT_HIMinimumBias_part15_v1, process.HLT_HIMinimumBias_part16_v1, process.HLT_HIMinimumBias_part17_v1, process.HLT_HIMinimumBias_part18_v1, process.HLT_HIMinimumBias_part19_v1, process.HLT_HIMinimumBiasRF_part0_v1, process.HLT_HIMinimumBiasRF_part1_v1, process.HLT_HIMinimumBiasRF_part2_v1, process.HLT_HIMinimumBiasRF_part3_v1, process.HLT_HIMinimumBiasRF_part4_v1, process.HLT_HIMinimumBiasRF_part5_v1, process.HLT_HIMinimumBiasRF_part6_v1, process.HLT_HIMinimumBiasRF_part7_v1, process.HLT_HIMinimumBiasRF_part8_v1, process.HLT_HIMinimumBiasRF_part9_v1, process.HLT_HIMinimumBiasRF_part10_v1, process.HLT_HIMinimumBiasRF_part11_v1, process.HLT_HIMinimumBiasRF_part12_v1, process.HLT_HIMinimumBiasRF_part13_v1, process.HLT_HIMinimumBiasRF_part14_v1, process.HLT_HIMinimumBiasRF_part15_v1, process.HLT_HIMinimumBiasRF_part16_v1, process.HLT_HIMinimumBiasRF_part17_v1, process.HLT_HIMinimumBiasRF_part18_v1, process.HLT_HIMinimumBiasRF_part19_v1, process.HLT_HIMinimumBiasRF_part20_v1, process.HLT_HIMinimumBiasRF_part21_v1, process.HLT_HIMinimumBiasRF_part22_v1, process.HLT_HIMinimumBiasRF_part23_v1, process.HLT_HIPuAK4CaloJet40Eta5p1_v1, process.HLT_HIPuAK4CaloJet60Eta5p1_v1, process.HLT_HIPuAK4CaloJet80Eta5p1_v1, process.HLT_HIPuAK4CaloJet100Eta5p1_v1, process.HLT_HIPuAK4CaloJet120Eta5p1_v1, process.HLT_HIPuAK4CaloJet40Eta5p1_Centrality_30_100_v1, process.HLT_HIPuAK4CaloJet40Eta5p1_Centrality_50_100_v1, process.HLT_HIPuAK4CaloJet60Eta5p1_Centrality_30_100_v1, process.HLT_HIPuAK4CaloJet60Eta5p1_Centrality_50_100_v1, process.HLT_HIPuAK4CaloJet80Eta5p1_Centrality_30_100_v1, process.HLT_HIPuAK4CaloJet80Eta5p1_Centrality_50_100_v1, process.HLT_HIPuAK4CaloJet100Eta5p1_Centrality_30_100_v1, process.HLT_HIPuAK4CaloJet100Eta5p1_Centrality_50_100_v1, process.HLT_HIPuAK4CaloJet80_35_Eta1p1_v1, process.HLT_HIPuAK4CaloJet100_35_Eta1p1_v1, process.HLT_HIPuAK4CaloJet80_35_Eta0p7_v1, process.HLT_HIPuAK4CaloJet100_35_Eta0p7_v1, process.HLT_HIPuAK4CaloJet80_45_45_Eta2p1_v1, process.HLT_HIPuAK4CaloJet40Fwd_v1, process.HLT_HIPuAK4CaloJet60Fwd_v1, process.HLT_HIPuAK4CaloJet80Fwd_v1, process.HLT_HIPuAK4CaloJet100Fwd_v1, process.HLT_HIPuAK4CaloJet120Fwd_v1, process.HLT_HIIslandPhoton10_Eta2p4_v1, process.HLT_HIIslandPhoton10_Eta1p5_v1, process.HLT_HIIslandPhoton20_Eta2p4_v1, process.HLT_HIIslandPhoton20_Eta1p5_v1, process.HLT_HIIslandPhoton30_Eta2p4_v1, process.HLT_HIIslandPhoton30_Eta1p5_v1, process.HLT_HIIslandPhoton40_Eta2p4_v1, process.HLT_HIIslandPhoton40_Eta1p5_v1, process.HLT_HIIslandPhoton50_Eta2p4_v1, process.HLT_HIIslandPhoton50_Eta1p5_v1, process.HLT_HIIslandPhoton60_Eta2p4_v1, process.HLT_HIIslandPhoton60_Eta1p5_v1, process.HLT_HIGEDPhoton10_v1, process.HLT_HIGEDPhoton20_v1, process.HLT_HIGEDPhoton30_v1, process.HLT_HIGEDPhoton40_v1, process.HLT_HIGEDPhoton50_v1, process.HLT_HIGEDPhoton60_v1, process.HLT_HIGEDPhoton10_EB_v1, process.HLT_HIGEDPhoton20_EB_v1, process.HLT_HIGEDPhoton30_EB_v1, process.HLT_HIGEDPhoton40_EB_v1, process.HLT_HIGEDPhoton50_EB_v1, process.HLT_HIGEDPhoton60_EB_v1, process.HLT_HIGEDPhoton10_HECut_v1, process.HLT_HIGEDPhoton20_HECut_v1, process.HLT_HIGEDPhoton30_HECut_v1, process.HLT_HIGEDPhoton40_HECut_v1, process.HLT_HIGEDPhoton50_HECut_v1, process.HLT_HIGEDPhoton60_HECut_v1, process.HLT_HIGEDPhoton10_EB_HECut_v1, process.HLT_HIGEDPhoton20_EB_HECut_v1, process.HLT_HIGEDPhoton30_EB_HECut_v1, process.HLT_HIGEDPhoton40_EB_HECut_v1, process.HLT_HIGEDPhoton50_EB_HECut_v1, process.HLT_HIGEDPhoton60_EB_HECut_v1, process.HLT_HIEle10Gsf_v1, process.HLT_HIEle15Gsf_v1, process.HLT_HIEle20Gsf_v1, process.HLT_HIEle30Gsf_v1, process.HLT_HIEle40Gsf_v1, process.HLT_HIEle50Gsf_v1, process.HLT_HIEle15Ele10Gsf_v1, process.HLT_HIEle15Ele10GsfMass50_v1, process.HLT_HIDoubleEle10Gsf_v1, process.HLT_HIDoubleEle10GsfMass50_v1, process.HLT_HIDoubleEle15Gsf_v1, process.HLT_HIDoubleEle15GsfMass50_v1, process.HLT_HIL1Mu3Eta2p5_Ele10Gsf_v1, process.HLT_HIL1Mu3Eta2p5_Ele15Gsf_v1, process.HLT_HIL1Mu3Eta2p5_Ele20Gsf_v1, process.HLT_HIL1Mu5Eta2p5_Ele10Gsf_v1, process.HLT_HIL1Mu5Eta2p5_Ele15Gsf_v1, process.HLT_HIL1Mu5Eta2p5_Ele20Gsf_v1, process.HLT_HIL1Mu7Eta2p5_Ele10Gsf_v1, process.HLT_HIL1Mu7Eta2p5_Ele15Gsf_v1, process.HLT_HIL1Mu7Eta2p5_Ele20Gsf_v1, process.HLT_HIEle10Gsf_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIEle10Gsf_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIEle10Gsf_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIEle10Gsf_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIEle15Gsf_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIEle15Gsf_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIEle15Gsf_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIEle15Gsf_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIEle20Gsf_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIEle20Gsf_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIEle20Gsf_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIEle20Gsf_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt15_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt20_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt30_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt40_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt50_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt60_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt15_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt20_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt30_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt40_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt50_NoIter10_v1, process.HLT_HIDmesonPPTrackingGlobal_Dpt60_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt20_v1, process.HLT_HIDsPPTrackingGlobal_Dpt30_v1, process.HLT_HIDsPPTrackingGlobal_Dpt40_v1, process.HLT_HIDsPPTrackingGlobal_Dpt50_v1, process.HLT_HIDsPPTrackingGlobal_Dpt60_v1, process.HLT_HIDsPPTrackingGlobal_Dpt20_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt30_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt40_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt50_NoIter10_v1, process.HLT_HIDsPPTrackingGlobal_Dpt60_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt20_v1, process.HLT_HILcPPTrackingGlobal_Dpt30_v1, process.HLT_HILcPPTrackingGlobal_Dpt40_v1, process.HLT_HILcPPTrackingGlobal_Dpt50_v1, process.HLT_HILcPPTrackingGlobal_Dpt60_v1, process.HLT_HILcPPTrackingGlobal_Dpt20_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt30_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt40_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt50_NoIter10_v1, process.HLT_HILcPPTrackingGlobal_Dpt60_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt18_v1, process.HLT_HIFullTracks2018_HighPt24_v1, process.HLT_HIFullTracks2018_HighPt34_v1, process.HLT_HIFullTracks2018_HighPt45_v1, process.HLT_HIFullTracks2018_HighPt56_v1, process.HLT_HIFullTracks2018_HighPt60_v1, process.HLT_HIFullTracks2018_HighPt18_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt24_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt34_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt45_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt56_NoIter10_v1, process.HLT_HIFullTracks2018_HighPt60_NoIter10_v1, process.HLT_HIL1DoubleMuOpen_v1, process.HLT_HIL1DoubleMuOpen_Centrality_30_100_v1, process.HLT_HIL1DoubleMuOpen_Centrality_40_100_v1, process.HLT_HIL1DoubleMuOpen_Centrality_50_100_v1, process.HLT_HIL1DoubleMuOpen_er1p6_v1, process.HLT_HIL1DoubleMuOpen_OS_er1p6_v1, process.HLT_HIL1DoubleMuOpen_OS_Centrality_30_100_v1, process.HLT_HIL1DoubleMuOpen_OS_Centrality_40_100_v1, process.HLT_HIL1DoubleMu0_v1, process.HLT_HIL1DoubleMu10_v1, process.HLT_HIL2_L1DoubleMu10_v1, process.HLT_HIL3_L1DoubleMu10_v1, process.HLT_HIL2DoubleMuOpen_v1, process.HLT_HIL3DoubleMuOpen_v1, process.HLT_HIL3DoubleMuOpen_M60120_v1, process.HLT_HIL3DoubleMuOpen_JpsiPsi_v1, process.HLT_HIL3DoubleMuOpen_Upsi_v1, process.HLT_HIL3Mu0_L2Mu0_v1, process.HLT_HIL3Mu2p5NHitQ10_L2Mu2_v1, process.HLT_HIL1MuOpen_Centrality_70_100_v1, process.HLT_HIL1MuOpen_Centrality_80_100_v1, process.HLT_HIL2Mu3_NHitQ15_v1, process.HLT_HIL2Mu5_NHitQ15_v1, process.HLT_HIL2Mu7_NHitQ15_v1, process.HLT_HIL2Mu3_NHitQ15_tagging_v1, process.HLT_HIL2Mu5_NHitQ15_tagging_v1, process.HLT_HIL2Mu7_NHitQ15_tagging_v1, process.HLT_HIL3Mu2p5_L1DoubleMu0_v1, process.HLT_HIL3Mu3_L1DoubleMuOpen_OS_v1, process.HLT_HIL3Mu3NHitQ10_L1DoubleMuOpen_v1, process.HLT_HIL3Mu3_L1TripleMuOpen_v1, process.HLT_HIL3Mu12_v1, process.HLT_HIL3Mu15_v1, process.HLT_HIL3Mu20_v1, process.HLT_HIL3Mu3_NHitQ10_v1, process.HLT_HIL3Mu5_NHitQ10_v1, process.HLT_HIL3Mu7_NHitQ10_v1, process.HLT_HIL3Mu3_NHitQ10_tagging_v1, process.HLT_HIL3Mu5_NHitQ10_tagging_v1, process.HLT_HIL3Mu7_NHitQ10_tagging_v1, process.HLT_HIL3Mu0NHitQ10_L2Mu0_MAXdR3p5_M1to5_v1, process.HLT_HIL3Mu2p5NHitQ10_L2Mu2_M7toinf_v1, process.HLT_HIL1_ETT8_ETTAsym50_MinimumBiasHF1_OR_BptxAND_v1, process.HLT_HIL1_ETT10_ETTAsym50_MinimumBiasHF1_OR_BptxAND_v1, process.HLT_HIL1_ETT60_ETTAsym65_MinimumBiasHF2_OR_PixelTracks10_v1, process.HLT_HIL1_ETT65_ETTAsym80_MinimumBiasHF2_OR_PixelTracks10_v1, process.HLT_HIFullTracks_Multiplicity020_HF1AND_v1, process.HLT_HIFullTracks_Multiplicity2040_HF1AND_v1, process.HLT_HIFullTracks_Multiplicity4060_v1, process.HLT_HIFullTracks_Multiplicity6080_v1, process.HLT_HIFullTracks_Multiplicity80100_v1, process.HLT_HIFullTracks_Multiplicity020_v1, process.HLT_HIFullTracks_Multiplicity020_HF1OR_v1, process.HLT_HIFullTracks_Multiplicity020_HF2OR_v1, process.HLT_HIFullTracks_Multiplicity2040_v1, process.HLT_HIFullTracks_Multiplicity2040_HF1OR_v1, process.HLT_HIFullTracks_Multiplicity2040_HF2OR_v1, process.HLT_HIFullTracks_Multiplicity335_HF1OR_v1, process.HLT_HIUPC_Mu8_Mu13_v1, process.HLT_HIUPC_Mu8_Mu13_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMuOpen_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMuOpen_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMuOpen_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMuOpen_NotMBHF2AND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMuOpen_NotMBHF2AND_v1, process.HLT_HIUPC_DoubleMuOpen_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMuOpen_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMuOpen_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMu0_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMu0_NotMBHF2AND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMu0_NotMBHF2AND_v1, process.HLT_HIUPC_DoubleMu0_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMu0_NotMBHF2AND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMu0_NotMBHF2AND_v1, process.HLT_HIUPC_DoubleMu0_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMu0_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMu3_NotMBHF2OR_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMu3_NotMBHF2OR_v1, process.HLT_HIUPC_SingleMu0_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleMu0_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleMu3_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2AND_v1, process.HLT_HIUPC_NotMBHF2OR_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_NotMBHF2AND_v1, process.HLT_HIUPC_NotMBHF2OR_BptxAND_SinglePixelTrack_v1, process.HLT_HIUPC_ZeroBias_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG2_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG2_NotMBHF2OR_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2AND_v1, process.HLT_HIUPC_DoubleEG5_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_DoubleEG5_NotMBHF2OR_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2AND_v1, process.HLT_HIUPC_SingleEG5_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2OR_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2AND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2AND_SinglePixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2AND_v1, process.HLT_HIUPC_SingleEG3_BptxAND_SinglePixelTrack_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_SingleEG3_NotMBHF2OR_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_SingleEG5_NotMBHF2OR_v1, process.HLT_HIUPC_ETT5_Asym50_NotMBHF2OR_v1, process.HLT_HIUPC_ETT5_Asym50_NotMBHF2OR_SinglePixelTrack_v1, process.HLT_HIUPC_ZeroBias_MaxPixelCluster_v1, process.HLT_HIUPC_SingleEG3_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_SingleEG5_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG2_BptxAND_MaxPixelTrack_v1, process.HLT_HIUPC_DoubleEG5_BptxAND_MaxPixelTrack_v1, process.HLT_HICsAK4PFJet60Eta1p5_v1, process.HLT_HICsAK4PFJet80Eta1p5_v1, process.HLT_HICsAK4PFJet100Eta1p5_v1, process.HLT_HICsAK4PFJet100Eta1p5_Beamspot_v1, process.HLT_HICsAK4PFJet120Eta1p5_v1, process.HLT_HICsAK4PFJet60Eta1p5_Centrality_30_100_v1, process.HLT_HICsAK4PFJet60Eta1p5_Centrality_50_100_v1, process.HLT_HICsAK4PFJet80Eta1p5_Centrality_30_100_v1, process.HLT_HICsAK4PFJet80Eta1p5_Centrality_50_100_v1, process.HLT_HICsAK4PFJet100Eta1p5_Centrality_30_100_v1, process.HLT_HICsAK4PFJet100Eta1p5_Centrality_50_100_v1, process.HLT_HIL3Mu3_EG10HECut_v1, process.HLT_HIL3Mu3_EG15HECut_v1, process.HLT_HIL3Mu3_EG20HECut_v1, process.HLT_HIL3Mu3_EG30HECut_v1, process.HLT_HIL3Mu5_EG10HECut_v1, process.HLT_HIL3Mu5_EG15HECut_v1, process.HLT_HIL3Mu5_EG20HECut_v1, process.HLT_HIL3Mu5_EG30HECut_v1, process.HLT_HIL3Mu7_EG10HECut_v1, process.HLT_HIL3Mu7_EG15HECut_v1, process.HLT_HIL3Mu7_EG20HECut_v1, process.HLT_HIL3Mu7_EG30HECut_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet40Eta2p1_FilterDr_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet60Eta2p1_FilterDr_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet80Eta2p1_FilterDr_v1, process.HLT_HIL3Mu3Eta2p5_PuAK4CaloJet100Eta2p1_FilterDr_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet40Eta2p1_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet60Eta2p1_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet80Eta2p1_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet100Eta2p1_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet40Eta2p1_FilterDr_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet60Eta2p1_FilterDr_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet80Eta2p1_FilterDr_v1, process.HLT_HIL3Mu5Eta2p5_PuAK4CaloJet100Eta2p1_FilterDr_v1, process.HLT_HICastor_MediumJet_NotMBHF2AND_v1, process.HLT_HICastor_MediumJet_NotMBHF2OR_v1, process.HLT_HICastor_MediumJet_MBHF1OR_BptxAND_v1, process.HLT_HICastor_MediumJet_SingleMu0_MBHF1OR_BptxAND_v1, process.HLT_HICastor_MediumJet_SingleEG5_MBHF1OR_BptxAND_v1, process.HLT_HICastor_MediumJet_BptxAND_v1, process.HLT_HICastor_MediumJet_v1, process.HLT_HICastor_HighJet_v1, process.HLT_HICastor_HighJet_BptxAND_v1, process.HLT_HICastor_HighJet_MBHF1OR_BptxAND_v1, process.HLT_HICastor_HighJet_NotMBHF2OR_v1, process.HLT_HICastor_HighJet_NotMBHF2AND_v1, process.HLT_HICastor_HighJet_MBHF1AND_BptxAND_v1, process.HLT_HICastor_HighJet_MBHF2AND_BptxAND_v1, process.HLT_HICastor_Muon_v1, process.HLT_HICastor_Muon_BptxAND_v1, process.HLT_HIIslandPhoton10_Eta2p4_Cent30_100_v1, process.HLT_HIIslandPhoton20_Eta2p4_Cent30_100_v1, process.HLT_HIIslandPhoton30_Eta2p4_Cent30_100_v1, process.HLT_HIIslandPhoton40_Eta2p4_Cent30_100_v1, process.HLT_HIIslandPhoton10_Eta2p4_Cent50_100_v1, process.HLT_HIIslandPhoton20_Eta2p4_Cent50_100_v1, process.HLT_HIIslandPhoton30_Eta2p4_Cent50_100_v1, process.HLT_HIIslandPhoton40_Eta2p4_Cent50_100_v1, process.HLT_HIGEDPhoton10_Cent30_100_v1, process.HLT_HIGEDPhoton20_Cent30_100_v1, process.HLT_HIGEDPhoton30_Cent30_100_v1, process.HLT_HIGEDPhoton40_Cent30_100_v1, process.HLT_HIGEDPhoton10_Cent50_100_v1, process.HLT_HIGEDPhoton20_Cent50_100_v1, process.HLT_HIGEDPhoton30_Cent50_100_v1, process.HLT_HIGEDPhoton40_Cent50_100_v1, process.HLT_HIPuAK4CaloJet60Eta2p4_DeepCSV0p4_v1, process.HLT_HIPuAK4CaloJet80Eta2p4_DeepCSV0p4_v1, process.HLT_HIPuAK4CaloJet100Eta2p4_DeepCSV0p4_v1, process.HLT_HIPuAK4CaloJet60Eta2p4_CSVv2WP0p75_v1, process.HLT_HIPuAK4CaloJet80Eta2p4_CSVv2WP0p75_v1, process.HLT_HIPuAK4CaloJet100Eta2p4_CSVv2WP0p75_v1, process.HLT_HIL1NotBptxOR_v1, process.HLT_HIL1UnpairedBunchBptxMinus_v1, process.HLT_HIL1UnpairedBunchBptxPlus_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part0_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part1_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part2_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part3_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part4_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part5_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part6_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part7_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part8_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part9_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part10_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part11_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part12_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part13_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part14_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part15_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part16_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part17_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part18_v1, process.HLT_HIMinimumBias_SinglePixelTrack_part19_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part0_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part1_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part2_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part3_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part4_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part5_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part6_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part7_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part8_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part9_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part10_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part11_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part12_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part13_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part14_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part15_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part16_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part17_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part18_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part19_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part20_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part21_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part22_v1, process.HLT_HIMinimumBiasRF_SinglePixelTrack_part23_v1, process.HLT_HIL1_ZDC_AND_OR_MinimumBiasHF1_AND_BptxAND_v1, process.HLT_HIL1_ZDC_AND_OR_MinimumBiasHF2_AND_BptxAND_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part0_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part1_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part2_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part3_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part4_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part5_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part6_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part7_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part8_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part9_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part10_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part11_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part12_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part13_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part14_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part15_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part16_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part17_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part18_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixBypass_part19_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part0_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part1_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part2_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part3_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part4_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part5_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part6_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part7_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part8_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part9_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part10_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part11_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part12_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part13_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part14_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part15_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part16_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part17_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part18_v1, process.HLT_HIMinimumBias_SinglePixelTrack_NpixGated_part19_v1, process.HLTriggerFinalPath, process.HLTAnalyzerEndpath, process.RatesMonitoring, process.DQMHistograms, process.ParkingHLTPhysicsOutput, process.ParkingZeroBiasOutput, process.PhysicsCommissioningOutput, process.PhysicsEGammaOutput, process.PhysicsEndOfFillOutput, process.PhysicsHadronsTausOutput, process.PhysicsMuonsOutput, process.PhysicsTracksOutput, process.PhysicsForwardOutput, process.ParkingBPH1Output, process.ParkingBPH2Output, process.ParkingBPH3Output, process.ParkingBPH4Output, process.ParkingBPH5Output, process.DQMOutput, process.DQMOnlineBeamspotOutput, process.DQMCalibrationOutput, process.DQMEventDisplayOutput, process.HLTMonitorOutput, process.RPCMONOutput, process.CalibrationOutput, process.EcalCalibrationOutput, process.ALCAPHISYMOutput, process.ALCALumiPixelCountsExpressOutput, process.ALCALumiPixelCountsPromptOutput, process.ALCAP0Output, process.ALCAPPSOutput, process.ExpressOutput, process.ExpressCosmicsOutput, process.ExpressAlignmentOutput, process.NanoDSTOutput, process.ScoutingPFOutput, process.ScoutingCaloMuonOutput, process.PhysicsScoutingMonitorOutput, process.PhysicsHLTPhysics1Output, process.PhysicsHLTPhysics2Output, process.PhysicsHLTPhysics3Output, process.PhysicsHLTPhysics4Output, process.PhysicsZeroBias1Output, process.PhysicsZeroBias2Output, process.PhysicsZeroBias3Output, process.PhysicsZeroBias4Output, process.PhysicsHIZeroBias1Output, process.PhysicsHIZeroBias2Output, process.PhysicsHIZeroBias3Output, process.PhysicsHIZeroBias4Output, process.PhysicsHIZeroBias5Output, process.PhysicsHIZeroBias6Output, process.PhysicsTOTEM1part0Output, process.PhysicsTOTEM1part1Output, process.PhysicsTOTEM1part2Output, process.PhysicsTOTEM1part3Output, process.PhysicsTOTEM2part0Output, process.PhysicsTOTEM2part1Output, process.PhysicsTOTEM2part2Output, process.PhysicsTOTEM2part3Output, process.PhysicsTOTEM3Output, process.PhysicsTOTEM4part0Output, process.PhysicsTOTEM4part1Output, process.PhysicsTOTEM4part2Output, process.PhysicsTOTEM4part3Output, process.PhysicsRandomTOTEM1Output, process.PhysicsRandomTOTEM2Output, process.PhysicsRandomTOTEM3Output, process.PhysicsRandomTOTEM4Output, process.PhysicsZeroBiasTOTEM1Output, process.PhysicsZeroBiasTOTEM2Output, process.PhysicsZeroBiasTOTEM3Output, process.PhysicsZeroBiasTOTEM4Output, process.PhysicsMinimumBias0Output, process.PhysicsMinimumBias1Output, process.PhysicsMinimumBias2Output, process.PhysicsMinimumBias3Output, process.PhysicsMinimumBias4Output, process.PhysicsMinimumBias5Output, process.PhysicsMinimumBias6Output, process.PhysicsMinimumBias7Output, process.PhysicsMinimumBias8Output, process.PhysicsMinimumBias9Output, process.PhysicsEGammaCommissioningOutput, process.PhysicsHICommissioningOutput, process.PhysicsHIDoubleMuonOutput, process.PhysicsHISingleMuonOutput, process.PhysicsHIHardProbesOutput, process.PhysicsHIMinimumBiasReducedFormat0Output, process.PhysicsHIMinimumBiasReducedFormat1Output, process.PhysicsHIMinimumBiasReducedFormat2Output, process.PhysicsHIMinimumBiasReducedFormat3Output, process.PhysicsHIMinimumBiasReducedFormat4Output, process.PhysicsHIMinimumBiasReducedFormat5Output, process.PhysicsHIMinimumBiasReducedFormat6Output, process.PhysicsHIMinimumBiasReducedFormat7Output, process.PhysicsHIMinimumBiasReducedFormat8Output, process.PhysicsHIMinimumBiasReducedFormat9Output, process.PhysicsHIMinimumBiasReducedFormat10Output, process.PhysicsHIMinimumBiasReducedFormat11Output, process.PhysicsHITrackerNZSOutput, process.PhysicsHIForwardOutput, process.HIHLTMonitorOutput, process.HIDQMOutput, process.HIDQMEventDisplayOutput, process.HIDQMOnlineBeamspotOutput, process.HIExpressOutput, process.HIExpressAlignmentOutput, process.PhysicsHIHardProbesLowerOutput, process.PhysicsHIHardProbesPeripheralOutput, process.PhysicsHIHeavyFlavorOutput, process.PhysicsHIHighMultiplicityOutput, process.PhysicsHILowMultiplicityOutput, process.PhysicsHILowMultiplicityReducedFormatOutput, process.PhysicsHIMinimumBias0Output, process.PhysicsHIMinimumBias1Output, process.PhysicsHIMinimumBias2Output, process.PhysicsHIMinimumBias3Output, process.PhysicsHIMinimumBias4Output, process.PhysicsHIMinimumBias5Output, process.PhysicsHIMinimumBias6Output, process.PhysicsHIMinimumBias7Output, process.PhysicsHIMinimumBias8Output, process.PhysicsHIMinimumBias9Output, process.PhysicsHIMinimumBias10Output, process.PhysicsHIMinimumBias11Output, process.PhysicsHIMinimumBias12Output, process.PhysicsHIMinimumBias13Output, process.PhysicsHIMinimumBias14Output, process.PhysicsHIMinimumBias15Output, process.PhysicsHIMinimumBias16Output, process.PhysicsHIMinimumBias17Output, process.PhysicsHIMinimumBias18Output, process.PhysicsHIMinimumBias19Output, )) # source module (EDM inputs) diff --git a/HLTrigger/Configuration/test/OnLine_HLT_Fake.py b/HLTrigger/Configuration/test/OnLine_HLT_Fake.py index a4d550fa407d5..5e4d4e235bf67 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_Fake.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_Fake.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/Fake --type Fake --unprescale --process HLTFake --globaltag auto:run1_hlt_Fake --input file:RelVal_Raw_Fake_DATA.root -# /dev/CMSSW_12_2_0/Fake/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/Fake/V4 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTFake" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/Fake/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/Fake/V4') ) process.streams = cms.PSet( A = cms.vstring( 'InitialPD' ) ) diff --git a/HLTrigger/Configuration/test/OnLine_HLT_Fake1.py b/HLTrigger/Configuration/test/OnLine_HLT_Fake1.py index 2e7d2da6f0bce..cea00dd97511d 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_Fake1.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_Fake1.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/Fake1 --type Fake1 --unprescale --process HLTFake1 --globaltag auto:run2_hlt_Fake1 --input file:RelVal_Raw_Fake1_DATA.root -# /dev/CMSSW_12_2_0/Fake1/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/Fake1/V4 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTFake1" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/Fake1/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/Fake1/V4') ) process.streams = cms.PSet( A = cms.vstring( 'InitialPD' ) ) diff --git a/HLTrigger/Configuration/test/OnLine_HLT_Fake2.py b/HLTrigger/Configuration/test/OnLine_HLT_Fake2.py index 2b261507ee7c4..ac4adf3e6d7c0 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_Fake2.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_Fake2.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/Fake2 --type Fake2 --unprescale --process HLTFake2 --globaltag auto:run2_hlt_Fake2 --input file:RelVal_Raw_Fake2_DATA.root -# /dev/CMSSW_12_2_0/Fake2/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/Fake2/V4 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTFake2" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/Fake2/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/Fake2/V4') ) process.streams = cms.PSet( A = cms.vstring( 'InitialPD' ) ) diff --git a/HLTrigger/Configuration/test/OnLine_HLT_GRun.py b/HLTrigger/Configuration/test/OnLine_HLT_GRun.py index 24c9bac2a0d77..dd3997662a898 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_GRun.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_GRun.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/GRun --type GRun --unprescale --process HLTGRun --globaltag auto:run3_hlt_GRun --input file:RelVal_Raw_GRun_DATA.root -# /dev/CMSSW_12_2_0/GRun/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/GRun/V5 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTGRun" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/GRun/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/GRun/V5') ) process.transferSystem = cms.PSet( @@ -3802,8 +3802,8 @@ ScoutingPF = cms.vstring( 'ScoutingPFRun3' ) ) process.datasets = cms.PSet( - AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v1' ), - AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v1' ), + AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v2' ), + AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v2' ), AlCaP0 = cms.vstring( 'AlCa_EcalEtaEBonly_v13', 'AlCa_EcalEtaEEonly_v13', 'AlCa_EcalPi0EBonly_v13', @@ -8180,6 +8180,7 @@ ErrorMask = cms.uint32( 0 ), UnpackStatusDigis = cms.bool( False ), UseFormatStatus = cms.bool( True ), + useRPCs = cms.bool( False ), useGEMs = cms.bool( False ), useCSCShowers = cms.bool( False ), Debug = cms.untracked.bool( False ), @@ -8188,7 +8189,9 @@ VisualFEDInspect = cms.untracked.bool( False ), VisualFEDShort = cms.untracked.bool( False ), FormatedEventDump = cms.untracked.bool( False ), - SuppressZeroLCT = cms.untracked.bool( True ) + SuppressZeroLCT = cms.untracked.bool( True ), + DisableMappingCheck = cms.untracked.bool( False ), + B904Setup = cms.untracked.bool( False ) ) process.hltCsc2DRecHits = cms.EDProducer( "CSCRecHitDProducer", CSCStripPeakThreshold = cms.double( 10.0 ), @@ -91220,10 +91223,9 @@ filterName = cms.untracked.string( "" ), dataTier = cms.untracked.string( "RAW" ) ), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v1' ) ), + SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v2' ) ), outputCommands = cms.untracked.vstring( 'drop *', 'keep *_hltAlcaPixelClusterCounts_*_*', - 'keep *_hltGtStage2Digis_*_*', 'keep edmTriggerResults_*_*_*' ) ) process.hltOutputALCALumiPixelCountsPrompt = cms.OutputModule( "PoolOutputModule", @@ -91233,10 +91235,9 @@ filterName = cms.untracked.string( "" ), dataTier = cms.untracked.string( "RAW" ) ), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v1' ) ), + SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v2' ) ), outputCommands = cms.untracked.vstring( 'drop *', 'keep *_hltAlcaPixelClusterCounts_*_*', - 'keep *_hltGtStage2Digis_*_*', 'keep edmTriggerResults_*_*_*' ) ) process.hltOutputALCAP0 = cms.OutputModule( "PoolOutputModule", @@ -92557,8 +92558,8 @@ process.HLT_ZeroBias_LastCollisionInTrain_v3 = cms.Path( process.HLTBeginSequence + process.hltL1sL1ZeroBiasLastBunchInTrain + process.hltPreZeroBiasLastCollisionInTrain + process.HLTEndSequence ) process.HLT_ZeroBias_FirstBXAfterTrain_v3 = cms.Path( process.HLTBeginSequence + process.hltL1sL1ZeroBiasFirstBunchAfterTrain + process.hltPreZeroBiasFirstBXAfterTrain + process.HLTEndSequence ) process.AlCa_RPCMuonNormalisation_v13 = cms.Path( process.HLTBeginSequence + process.hltL1sSingleMu5IorSingleMu14erIorSingleMu16er + process.hltPreAlCaRPCMuonNormalisation + process.hltRPCMuonNormaL1Filtered0 + process.HLTMuonLocalRecoSequence + process.HLTEndSequence ) -process.AlCa_LumiPixelsCounts_Random_v1 = cms.Path( process.HLTBeginSequenceRandom + process.hltScalersRawToDigi + process.hltOnlineMetaDataDigis + process.hltPixelTrackerHVOn + process.hltPreAlCaLumiPixelsCountsRandom + process.hltSiPixelDigis + process.hltSiPixelClusters + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) -process.AlCa_LumiPixelsCounts_ZeroBias_v1 = cms.Path( process.HLTBeginSequence + process.hltPixelTrackerHVOn + process.hltL1sZeroBias + process.hltPreAlCaLumiPixelsCountsZeroBias + process.hltSiPixelDigis + process.hltSiPixelClusters + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) +process.AlCa_LumiPixelsCounts_Random_v2 = cms.Path( process.HLTBeginSequenceRandom + process.hltPreAlCaLumiPixelsCountsRandom + process.hltScalersRawToDigi + process.hltOnlineMetaDataDigis + process.hltPixelTrackerHVOn + process.HLTDoLocalPixelSequence + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) +process.AlCa_LumiPixelsCounts_ZeroBias_v2 = cms.Path( process.HLTBeginSequence + process.hltL1sZeroBias + process.hltPreAlCaLumiPixelsCountsZeroBias + process.hltPixelTrackerHVOn + process.HLTDoLocalPixelSequence + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) process.MC_ReducedIterativeTracking_v12 = cms.Path( process.HLTBeginSequence + process.hltPreMCReducedIterativeTracking + process.HLTRecoJetSequenceAK4PrePF + process.HLTDoLocalPixelSequence + process.HLTRecopixelvertexingSequence + process.HLTDoLocalStripSequence + process.HLTIterativeTrackingIter02 + process.HLTEndSequence ) process.MC_PFMET_v17 = cms.Path( process.HLTBeginSequence + process.hltPreMCPFMET + process.HLTAK4PFJetsSequence + process.hltPFMETProducer + process.hltPFMETOpenFilter + process.HLTEndSequence ) process.MC_AK4PFJets_v17 = cms.Path( process.HLTBeginSequence + process.hltPreMCAK4PFJets + process.HLTAK4PFJetsSequence + process.hltAK4PFJetCollection20Filter + process.HLTEndSequence ) @@ -92768,7 +92769,7 @@ process.PhysicsZeroBias4Output = cms.EndPath( process.hltGtStage2Digis + process.hltPrePhysicsZeroBias4Output + process.hltOutputPhysicsZeroBias4 ) -process.HLTSchedule = cms.Schedule( *(process.HLTriggerFirstPath, process.HLT_AK8PFJet360_TrimMass30_v18, process.HLT_AK8PFJet380_TrimMass30_v11, process.HLT_AK8PFJet400_TrimMass30_v12, process.HLT_AK8PFJet420_TrimMass30_v11, process.HLT_AK8PFHT750_TrimMass50_v12, process.HLT_AK8PFHT800_TrimMass50_v12, process.HLT_AK8PFHT850_TrimMass50_v11, process.HLT_AK8PFHT900_TrimMass50_v11, process.HLT_CaloJet500_NoJetID_v12, process.HLT_CaloJet550_NoJetID_v7, process.HLT_DoubleMu5_Upsilon_DoubleEle3_CaloIdL_TrackIdL_v4, process.HLT_DoubleMu3_DoubleEle7p5_CaloIdL_TrackIdL_Upsilon_v4, process.HLT_Trimuon5_3p5_2_Upsilon_Muon_v5, process.HLT_TrimuonOpen_5_3p5_2_Upsilon_Muon_v3, process.HLT_DoubleEle25_CaloIdL_MW_v4, process.HLT_DoubleEle27_CaloIdL_MW_v4, process.HLT_DoubleEle33_CaloIdL_MW_v17, process.HLT_DoubleEle24_eta2p1_WPTight_Gsf_v7, process.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350_v20, process.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350_v20, process.HLT_Ele27_Ele37_CaloIdL_MW_v4, process.HLT_Mu27_Ele37_CaloIdL_MW_v5, process.HLT_Mu37_Ele27_CaloIdL_MW_v5, process.HLT_Mu37_TkMu27_v5, process.HLT_DoubleMu4_3_Bs_v14, process.HLT_DoubleMu4_3_Jpsi_v2, process.HLT_DoubleMu4_JpsiTrk_Displaced_v15, process.HLT_DoubleMu4_LowMassNonResonantTrk_Displaced_v15, process.HLT_DoubleMu3_Trk_Tau3mu_v12, process.HLT_DoubleMu3_TkMu_DsTau3Mu_v4, process.HLT_DoubleMu4_PsiPrimeTrk_Displaced_v15, process.HLT_DoubleMu4_Mass3p8_DZ_PFHT350_v8, process.HLT_Mu3_PFJet40_v16, process.HLT_Mu7p5_L2Mu2_Jpsi_v10, process.HLT_Mu7p5_L2Mu2_Upsilon_v10, process.HLT_Mu7p5_Track2_Jpsi_v11, process.HLT_Mu7p5_Track3p5_Jpsi_v11, process.HLT_Mu7p5_Track7_Jpsi_v11, process.HLT_Mu7p5_Track2_Upsilon_v11, process.HLT_Mu7p5_Track3p5_Upsilon_v11, process.HLT_Mu7p5_Track7_Upsilon_v11, process.HLT_Mu3_L1SingleMu5orSingleMu7_v1, process.HLT_DoublePhoton33_CaloIdL_v6, process.HLT_DoublePhoton70_v6, process.HLT_DoublePhoton85_v14, process.HLT_Ele20_WPTight_Gsf_v6, process.HLT_Ele15_WPLoose_Gsf_v3, process.HLT_Ele17_WPLoose_Gsf_v3, process.HLT_Ele20_WPLoose_Gsf_v6, process.HLT_Ele20_eta2p1_WPLoose_Gsf_v6, process.HLT_DiEle27_WPTightCaloOnly_L1DoubleEG_v4, process.HLT_Ele27_WPTight_Gsf_v16, process.HLT_Ele28_WPTight_Gsf_v1, process.HLT_Ele30_WPTight_Gsf_v1, process.HLT_Ele32_WPTight_Gsf_v15, process.HLT_Ele35_WPTight_Gsf_v9, process.HLT_Ele35_WPTight_Gsf_L1EGMT_v5, process.HLT_Ele38_WPTight_Gsf_v9, process.HLT_Ele40_WPTight_Gsf_v9, process.HLT_Ele32_WPTight_Gsf_L1DoubleEG_v9, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTau30_eta2p1_CrossL1_v13, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_HT450_Beamspot_v11, process.HLT_HT300_Beamspot_v11, process.HLT_ZeroBias_Beamspot_v4, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTau27_eta2p1_CrossL1_v12, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_CrossL1_v4, process.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, process.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v4, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS30_Trk1_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu27_LooseChargedIsoPFTau20_Trk1_eta2p1_SingleL1_v5, process.HLT_IsoMu27_LooseChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu27_MediumChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu27_TightChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu20_v15, process.HLT_IsoMu24_v13, process.HLT_IsoMu24_eta2p1_v15, process.HLT_IsoMu27_v16, process.HLT_IsoMu30_v4, process.HLT_UncorrectedJetE30_NoBPTX_v6, process.HLT_UncorrectedJetE30_NoBPTX3BX_v6, process.HLT_UncorrectedJetE60_NoBPTX3BX_v6, process.HLT_UncorrectedJetE70_NoBPTX3BX_v6, process.HLT_L1SingleMu18_v3, process.HLT_L1SingleMu25_v2, process.HLT_L1SingleMuCosmics_v1, process.HLT_L2Mu10_v7, process.HLT_L2Mu10_NoVertex_NoBPTX3BX_v5, process.HLT_L2Mu10_NoVertex_NoBPTX_v6, process.HLT_L2Mu45_NoVertex_3Sta_NoBPTX3BX_v4, process.HLT_L2Mu40_NoVertex_3Sta_NoBPTX3BX_v5, process.HLT_L2Mu50_v2, process.HLT_L2Mu23NoVtx_2Cha_v1, process.HLT_L2Mu23NoVtx_2Cha_CosmicSeed_v1, process.HLT_DoubleL2Mu30NoVtx_2Cha_CosmicSeed_Eta2p4_v2, process.HLT_DoubleL2Mu30NoVtx_2Cha_Eta2p4_v2, process.HLT_DoubleL2Mu50_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_Eta2p4_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_Eta2p4_v2, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v14, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v15, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v5, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass8_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v5, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass3p8_v3, process.HLT_Mu25_TkMu0_Onia_v8, process.HLT_Mu30_TkMu0_Psi_v1, process.HLT_Mu30_TkMu0_Upsilon_v1, process.HLT_Mu20_TkMu0_Phi_v8, process.HLT_Mu25_TkMu0_Phi_v8, process.HLT_Mu12_v3, process.HLT_Mu15_v3, process.HLT_Mu20_v12, process.HLT_Mu27_v13, process.HLT_Mu50_v13, process.HLT_Mu55_v3, process.HLT_OldMu100_v3, process.HLT_TkMu100_v2, process.HLT_DiPFJet15_NoCaloMatched_v16, process.HLT_DiPFJet25_NoCaloMatched_v16, process.HLT_DiPFJet15_FBEta3_NoCaloMatched_v17, process.HLT_DiPFJet25_FBEta3_NoCaloMatched_v17, process.HLT_DiPFJetAve40_v14, process.HLT_DiPFJetAve60_v14, process.HLT_DiPFJetAve80_v13, process.HLT_DiPFJetAve140_v13, process.HLT_DiPFJetAve200_v13, process.HLT_DiPFJetAve260_v14, process.HLT_DiPFJetAve320_v14, process.HLT_DiPFJetAve400_v14, process.HLT_DiPFJetAve500_v14, process.HLT_DiPFJetAve15_HFJEC_v17, process.HLT_DiPFJetAve25_HFJEC_v17, process.HLT_DiPFJetAve35_HFJEC_v17, process.HLT_DiPFJetAve60_HFJEC_v15, process.HLT_DiPFJetAve80_HFJEC_v16, process.HLT_DiPFJetAve100_HFJEC_v16, process.HLT_DiPFJetAve160_HFJEC_v16, process.HLT_DiPFJetAve220_HFJEC_v16, process.HLT_DiPFJetAve300_HFJEC_v16, process.HLT_AK8PFJet15_v3, process.HLT_AK8PFJet25_v3, process.HLT_AK8PFJet40_v16, process.HLT_AK8PFJet60_v15, process.HLT_AK8PFJet80_v15, process.HLT_AK8PFJet140_v15, process.HLT_AK8PFJet200_v15, process.HLT_AK8PFJet260_v16, process.HLT_AK8PFJet320_v16, process.HLT_AK8PFJet400_v16, process.HLT_AK8PFJet450_v16, process.HLT_AK8PFJet500_v16, process.HLT_AK8PFJet550_v11, process.HLT_PFJet15_v3, process.HLT_PFJet25_v3, process.HLT_PFJet40_v21, process.HLT_PFJet60_v21, process.HLT_PFJet80_v20, process.HLT_PFJet140_v19, process.HLT_PFJet200_v19, process.HLT_PFJet260_v20, process.HLT_PFJet320_v20, process.HLT_PFJet400_v20, process.HLT_PFJet450_v21, process.HLT_PFJet500_v21, process.HLT_PFJet550_v11, process.HLT_PFJetFwd15_v3, process.HLT_PFJetFwd25_v3, process.HLT_PFJetFwd40_v19, process.HLT_PFJetFwd60_v19, process.HLT_PFJetFwd80_v18, process.HLT_PFJetFwd140_v18, process.HLT_PFJetFwd200_v18, process.HLT_PFJetFwd260_v19, process.HLT_PFJetFwd320_v19, process.HLT_PFJetFwd400_v19, process.HLT_PFJetFwd450_v19, process.HLT_PFJetFwd500_v19, process.HLT_AK8PFJetFwd15_v3, process.HLT_AK8PFJetFwd25_v3, process.HLT_AK8PFJetFwd40_v15, process.HLT_AK8PFJetFwd60_v14, process.HLT_AK8PFJetFwd80_v14, process.HLT_AK8PFJetFwd140_v14, process.HLT_AK8PFJetFwd200_v14, process.HLT_AK8PFJetFwd260_v15, process.HLT_AK8PFJetFwd320_v15, process.HLT_AK8PFJetFwd400_v15, process.HLT_AK8PFJetFwd450_v15, process.HLT_AK8PFJetFwd500_v15, process.HLT_PFHT180_v17, process.HLT_PFHT250_v17, process.HLT_PFHT370_v17, process.HLT_PFHT430_v17, process.HLT_PFHT510_v17, process.HLT_PFHT590_v17, process.HLT_PFHT680_v17, process.HLT_PFHT780_v17, process.HLT_PFHT890_v17, process.HLT_PFHT1050_v18, process.HLT_PFHT500_PFMET100_PFMHT100_IDTight_v12, process.HLT_PFHT500_PFMET110_PFMHT110_IDTight_v12, process.HLT_PFHT700_PFMET85_PFMHT85_IDTight_v12, process.HLT_PFHT700_PFMET95_PFMHT95_IDTight_v12, process.HLT_PFHT800_PFMET75_PFMHT75_IDTight_v12, process.HLT_PFHT800_PFMET85_PFMHT85_IDTight_v12, process.HLT_PFMET110_PFMHT110_IDTight_v20, process.HLT_PFMET120_PFMHT120_IDTight_v20, process.HLT_PFMET130_PFMHT130_IDTight_v20, process.HLT_PFMET140_PFMHT140_IDTight_v20, process.HLT_PFMET100_PFMHT100_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET110_PFMHT110_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET120_PFMHT120_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET130_PFMHT130_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET140_PFMHT140_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET120_PFMHT120_IDTight_PFHT60_v9, process.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne120_PFMHT120_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne110_PFMHT110_IDTight_v12, process.HLT_PFMETTypeOne120_PFMHT120_IDTight_v12, process.HLT_PFMETTypeOne130_PFMHT130_IDTight_v12, process.HLT_PFMETTypeOne140_PFMHT140_IDTight_v11, process.HLT_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, process.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, process.HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, process.HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, process.HLT_MonoCentralPFJet80_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, process.HLT_MonoCentralPFJet80_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, process.HLT_MonoCentralPFJet80_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, process.HLT_MonoCentralPFJet80_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, process.HLT_L1ETMHadSeeds_v2, process.HLT_CaloMHT90_v4, process.HLT_CaloMET80_NotCleaned_v4, process.HLT_CaloMET90_NotCleaned_v4, process.HLT_CaloMET100_NotCleaned_v4, process.HLT_CaloMET110_NotCleaned_v4, process.HLT_CaloMET250_NotCleaned_v4, process.HLT_CaloMET300_NotCleaned_v4, process.HLT_CaloMET350_NotCleaned_v4, process.HLT_PFMET200_NotCleaned_v9, process.HLT_PFMET250_NotCleaned_v9, process.HLT_PFMET300_NotCleaned_v9, process.HLT_PFMET200_BeamHaloCleaned_v9, process.HLT_PFMETTypeOne200_BeamHaloCleaned_v9, process.HLT_MET105_IsoTrk50_v9, process.HLT_MET120_IsoTrk50_v9, process.HLT_SingleJet30_Mu12_SinglePFJet40_v11, process.HLT_Mu12_DoublePFJets40_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets100_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets200_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets350_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets40MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets54MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets62MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets40_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets100_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets200_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets350_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets116MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets128MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Photon300_NoHE_v12, process.HLT_Mu8_TrkIsoVVL_v12, process.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_DZ_v18, process.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v18, process.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ_v19, process.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_v19, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v13, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBtagDeepCSV_1p5_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_CaloBtagDeepCSV_1p5_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v11, process.HLT_Mu17_TrkIsoVVL_v13, process.HLT_Mu19_TrkIsoVVL_v4, process.HLT_BTagMu_AK4DiJet20_Mu5_v13, process.HLT_BTagMu_AK4DiJet40_Mu5_v13, process.HLT_BTagMu_AK4DiJet70_Mu5_v13, process.HLT_BTagMu_AK4DiJet110_Mu5_v13, process.HLT_BTagMu_AK4DiJet170_Mu5_v12, process.HLT_BTagMu_AK4Jet300_Mu5_v12, process.HLT_BTagMu_AK8DiJet170_Mu5_v9, process.HLT_BTagMu_AK8Jet170_DoubleMu5_v2, process.HLT_BTagMu_AK8Jet300_Mu5_v12, process.HLT_BTagMu_AK4DiJet20_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet40_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet70_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet110_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet170_Mu5_noalgo_v12, process.HLT_BTagMu_AK4Jet300_Mu5_noalgo_v12, process.HLT_BTagMu_AK8DiJet170_Mu5_noalgo_v9, process.HLT_BTagMu_AK8Jet170_DoubleMu5_noalgo_v2, process.HLT_BTagMu_AK8Jet300_Mu5_noalgo_v12, process.HLT_Ele15_Ele8_CaloIdL_TrackIdL_IsoVL_v3, process.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v19, process.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v19, process.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v7, process.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v7, process.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.HLT_Mu12_DoublePhoton20_v5, process.HLT_TriplePhoton_20_20_20_CaloIdLV2_v3, process.HLT_TriplePhoton_20_20_20_CaloIdLV2_R9IdVL_v3, process.HLT_TriplePhoton_30_30_10_CaloIdLV2_v4, process.HLT_TriplePhoton_30_30_10_CaloIdLV2_R9IdVL_v4, process.HLT_TriplePhoton_35_35_5_CaloIdLV2_R9IdVL_v4, process.HLT_Photon20_v2, process.HLT_Photon33_v5, process.HLT_Photon50_v13, process.HLT_Photon75_v13, process.HLT_Photon90_v13, process.HLT_Photon120_v13, process.HLT_Photon150_v6, process.HLT_Photon175_v14, process.HLT_Photon200_v13, process.HLT_Photon100EB_TightID_TightIso_v2, process.HLT_Photon110EB_TightID_TightIso_v2, process.HLT_Photon120EB_TightID_TightIso_v2, process.HLT_Photon100EBHE10_v2, process.HLT_Photon100EEHE10_v2, process.HLT_Photon100EE_TightID_TightIso_v2, process.HLT_Photon50_R9Id90_HE10_IsoM_v14, process.HLT_Photon75_R9Id90_HE10_IsoM_v14, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ300_PFJetsMJJ400DEta3_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ400_PFJetsMJJ600DEta3_v5, process.HLT_Photon90_R9Id90_HE10_IsoM_v14, process.HLT_Photon120_R9Id90_HE10_IsoM_v14, process.HLT_Photon165_R9Id90_HE10_IsoM_v15, process.HLT_Photon90_CaloIdL_PFHT700_v16, process.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v13, process.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v13, process.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v15, process.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v13, process.HLT_Photon35_TwoProngs35_v1, process.HLT_IsoMu24_TwoProngs35_v1, process.HLT_Dimuon0_Jpsi_L1_NoOS_v7, process.HLT_Dimuon0_Jpsi_NoVertexing_NoOS_v7, process.HLT_Dimuon0_Jpsi_v8, process.HLT_Dimuon0_Jpsi_NoVertexing_v8, process.HLT_Dimuon0_Jpsi_L1_4R_0er1p5R_v7, process.HLT_Dimuon0_Jpsi_NoVertexing_L1_4R_0er1p5R_v7, process.HLT_Dimuon0_Jpsi3p5_Muon2_v5, process.HLT_Dimuon0_Upsilon_L1_4p5_v9, process.HLT_Dimuon0_Upsilon_L1_5_v9, process.HLT_Dimuon0_Upsilon_L1_4p5NoOS_v8, process.HLT_Dimuon0_Upsilon_L1_4p5er2p0_v9, process.HLT_Dimuon0_Upsilon_L1_4p5er2p0M_v7, process.HLT_Dimuon0_Upsilon_NoVertexing_v7, process.HLT_Dimuon0_Upsilon_L1_5M_v8, process.HLT_Dimuon0_LowMass_L1_0er1p5R_v7, process.HLT_Dimuon0_LowMass_L1_0er1p5_v8, process.HLT_Dimuon0_LowMass_v8, process.HLT_Dimuon0_LowMass_L1_4_v8, process.HLT_Dimuon0_LowMass_L1_4R_v7, process.HLT_Dimuon0_LowMass_L1_TM530_v6, process.HLT_Dimuon0_Upsilon_Muon_L1_TM0_v6, process.HLT_Dimuon0_Upsilon_Muon_NoL1Mass_v6, process.HLT_TripleMu_5_3_3_Mass3p8_DZ_v8, process.HLT_TripleMu_10_5_5_DZ_v10, process.HLT_TripleMu_12_10_5_v10, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_Charge1_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_Charge1_v4, process.HLT_DoubleMu3_DZ_PFMET50_PFMHT60_v10, process.HLT_DoubleMu3_DZ_PFMET70_PFMHT70_v10, process.HLT_DoubleMu3_DZ_PFMET90_PFMHT90_v10, process.HLT_DoubleMu3_Trk_Tau3mu_NoL1Mass_v6, process.HLT_DoubleMu4_Jpsi_Displaced_v7, process.HLT_DoubleMu4_Jpsi_NoVertexing_v7, process.HLT_DoubleMu4_JpsiTrkTrk_Displaced_v7, process.HLT_DoubleMu43NoFiltersNoVtx_v4, process.HLT_DoubleMu48NoFiltersNoVtx_v4, process.HLT_Mu43NoFiltersNoVtx_Photon43_CaloIdL_v5, process.HLT_Mu48NoFiltersNoVtx_Photon48_CaloIdL_v5, process.HLT_Mu38NoFiltersNoVtxDisplaced_Photon38_CaloIdL_v1, process.HLT_Mu43NoFiltersNoVtxDisplaced_Photon43_CaloIdL_v1, process.HLT_DoubleMu33NoFiltersNoVtxDisplaced_v1, process.HLT_DoubleMu40NoFiltersNoVtxDisplaced_v1, process.HLT_DoubleMu20_7_Mass0to30_L1_DM4_v7, process.HLT_DoubleMu20_7_Mass0to30_L1_DM4EG_v8, process.HLT_HT425_v9, process.HLT_HT430_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT500_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT430_DisplacedDijet60_DisplacedTrack_v13, process.HLT_HT400_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT650_DisplacedDijet60_Inclusive_v13, process.HLT_HT550_DisplacedDijet60_Inclusive_v13, process.HLT_DiJet110_35_Mjj650_PFMET110_v9, process.HLT_DiJet110_35_Mjj650_PFMET120_v9, process.HLT_DiJet110_35_Mjj650_PFMET130_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET110_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET120_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET130_v9, process.HLT_Ele30_eta2p1_WPTight_Gsf_CentralPFJet35_EleCleaned_v13, process.HLT_Ele28_eta2p1_WPTight_Gsf_HT150_v13, process.HLT_Ele28_HighEta_SC20_Mass55_v13, process.HLT_DoubleMu20_7_Mass0to30_Photon23_v8, process.HLT_Ele15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, process.HLT_Ele15_IsoVVVL_PFHT450_PFMET50_v16, process.HLT_Ele15_IsoVVVL_PFHT450_v16, process.HLT_Ele50_IsoVVVL_PFHT450_v16, process.HLT_Ele15_IsoVVVL_PFHT600_v20, process.HLT_Mu4_TrkIsoVVL_DiPFJet90_40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v15, process.HLT_Mu8_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v16, process.HLT_Mu10_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT350_PFMETNoMu60_v15, process.HLT_Mu15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, process.HLT_Mu15_IsoVVVL_PFHT450_PFMET50_v15, process.HLT_Mu15_IsoVVVL_PFHT450_v15, process.HLT_Mu50_IsoVVVL_PFHT450_v15, process.HLT_Mu15_IsoVVVL_PFHT600_v19, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET70_PFMHT70_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET80_PFMHT80_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET90_PFMHT90_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET100_PFMHT100_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu70_PFMHTNoMu70_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu80_PFMHTNoMu80_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu90_PFMHTNoMu90_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu100_PFMHTNoMu100_IDTight_v2, process.HLT_Dimuon10_PsiPrime_Barrel_Seagulls_v7, process.HLT_Dimuon20_Jpsi_Barrel_Seagulls_v7, process.HLT_Dimuon12_Upsilon_y1p4_v2, process.HLT_Dimuon14_Phi_Barrel_Seagulls_v7, process.HLT_Dimuon18_PsiPrime_v14, process.HLT_Dimuon25_Jpsi_v14, process.HLT_Dimuon18_PsiPrime_noCorrL1_v6, process.HLT_Dimuon24_Upsilon_noCorrL1_v6, process.HLT_Dimuon24_Phi_noCorrL1_v6, process.HLT_Dimuon25_Jpsi_noCorrL1_v6, process.HLT_DiMu4_Ele9_CaloIdL_TrackIdL_DZ_Mass3p8_v17, process.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_DZ_v17, process.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v17, process.HLT_DoubleIsoMu20_eta2p1_v7, process.HLT_TrkMu12_DoubleTrkMu5NoFiltersNoVtx_v6, process.HLT_TrkMu16_DoubleTrkMu6NoFiltersNoVtx_v12, process.HLT_TrkMu17_DoubleTrkMu8NoFiltersNoVtx_v13, process.HLT_Mu8_v12, process.HLT_Mu17_v13, process.HLT_Mu19_v4, process.HLT_Mu17_Photon30_IsoCaloId_v6, process.HLT_Ele8_CaloIdL_TrackIdL_IsoVL_PFJet30_v16, process.HLT_Ele12_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, process.HLT_Ele15_CaloIdL_TrackIdL_IsoVL_PFJet30_v3, process.HLT_Ele23_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, process.HLT_Ele8_CaloIdM_TrackIdM_PFJet30_v18, process.HLT_Ele17_CaloIdM_TrackIdM_PFJet30_v16, process.HLT_Ele23_CaloIdM_TrackIdM_PFJet30_v18, process.HLT_Ele50_CaloIdVT_GsfTrkIdT_PFJet165_v18, process.HLT_Ele115_CaloIdVT_GsfTrkIdT_v14, process.HLT_Ele135_CaloIdVT_GsfTrkIdT_v7, process.HLT_Ele145_CaloIdVT_GsfTrkIdT_v8, process.HLT_Ele200_CaloIdVT_GsfTrkIdT_v8, process.HLT_Ele250_CaloIdVT_GsfTrkIdT_v13, process.HLT_Ele300_CaloIdVT_GsfTrkIdT_v13, process.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_TriplePFBTagDeepCSV_4p5_v3, process.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_v9, process.HLT_PFHT400_SixPFJet32_DoublePFBTagDeepCSV_2p94_v8, process.HLT_PFHT400_SixPFJet32_v8, process.HLT_PFHT450_SixPFJet36_PFBTagDeepCSV_1p59_v7, process.HLT_PFHT450_SixPFJet36_v7, process.HLT_PFHT400_FivePFJet_100_100_60_30_30_v8, process.HLT_PFHT400_FivePFJet_100_100_60_30_30_DoublePFBTagDeepCSV_4p5_v8, process.HLT_PFHT400_FivePFJet_120_120_60_30_30_DoublePFBTagDeepCSV_4p5_v8, process.HLT_PFHT350_v19, process.HLT_PFHT350MinPFJet15_v9, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_v5, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_v5, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_PFHT350MinPFJet15_v11, process.HLT_ECALHT800_v10, process.HLT_DiSC30_18_EIso_AND_HE_Mass70_v13, process.HLT_Physics_v7, process.HLT_Physics_part0_v7, process.HLT_Physics_part1_v7, process.HLT_Physics_part2_v7, process.HLT_Physics_part3_v7, process.HLT_Physics_part4_v7, process.HLT_Physics_part5_v7, process.HLT_Physics_part6_v7, process.HLT_Physics_part7_v7, process.DST_Physics_v7, process.HLT_Random_v3, process.HLT_ZeroBias_v6, process.HLT_ZeroBias_Alignment_v1, process.HLT_ZeroBias_part0_v6, process.HLT_ZeroBias_part1_v6, process.HLT_ZeroBias_part2_v6, process.HLT_ZeroBias_part3_v6, process.HLT_ZeroBias_part4_v6, process.HLT_ZeroBias_part5_v6, process.HLT_ZeroBias_part6_v6, process.HLT_ZeroBias_part7_v6, process.DST_ZeroBias_v2, process.DST_Run3_PFScoutingPixelTracking_v16, process.HLT_AK4CaloJet30_v11, process.HLT_AK4CaloJet40_v10, process.HLT_AK4CaloJet50_v10, process.HLT_AK4CaloJet80_v10, process.HLT_AK4CaloJet100_v10, process.HLT_AK4CaloJet120_v9, process.HLT_AK4PFJet30_v19, process.HLT_AK4PFJet50_v19, process.HLT_AK4PFJet80_v19, process.HLT_AK4PFJet100_v19, process.HLT_AK4PFJet120_v18, process.HLT_SinglePhoton10_Eta3p1ForPPRef_v8, process.HLT_SinglePhoton20_Eta3p1ForPPRef_v9, process.HLT_SinglePhoton30_Eta3p1ForPPRef_v9, process.HLT_Photon20_HoverELoose_v10, process.HLT_Photon30_HoverELoose_v10, process.HLT_EcalCalibration_v4, process.HLT_HcalCalibration_v5, process.AlCa_EcalPhiSym_v9, process.HLT_L1UnpairedBunchBptxMinus_v2, process.HLT_L1UnpairedBunchBptxPlus_v2, process.HLT_L1NotBptxOR_v3, process.HLT_L1_CDC_SingleMu_3_er1p2_TOP120_DPHI2p618_3p142_v2, process.HLT_CDC_L2cosmic_10_er1p0_v1, process.HLT_CDC_L2cosmic_5p5_er1p0_v1, process.HLT_HcalNZS_v13, process.HLT_HcalPhiSym_v15, process.HLT_HcalIsolatedbunch_v5, process.HLT_IsoTrackHB_v4, process.HLT_IsoTrackHE_v4, process.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, process.HLT_ZeroBias_IsolatedBunches_v5, process.HLT_ZeroBias_FirstCollisionInTrain_v4, process.HLT_ZeroBias_LastCollisionInTrain_v3, process.HLT_ZeroBias_FirstBXAfterTrain_v3, process.AlCa_RPCMuonNormalisation_v13, process.AlCa_LumiPixelsCounts_Random_v1, process.AlCa_LumiPixelsCounts_ZeroBias_v1, process.MC_ReducedIterativeTracking_v12, process.MC_PFMET_v17, process.MC_AK4PFJets_v17, process.MC_PFBTagDeepCSV_v10, process.MC_PFHT_v16, process.MC_PFMHT_v16, process.MC_CaloMET_v8, process.MC_CaloMET_JetIdCleaned_v9, process.MC_AK4CaloJets_v9, process.MC_AK4CaloJetsFromPV_v8, process.MC_CaloBTagDeepCSV_v8, process.MC_CaloHT_v8, process.MC_CaloMHT_v8, process.MC_AK8PFJets_v17, process.MC_AK8TrimPFJets_v17, process.MC_AK8PFHT_v16, process.MC_AK8CaloHT_v8, process.MC_Diphoton10_10_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass10_v13, process.MC_DoubleEle5_CaloIdL_MW_v15, process.MC_Ele5_WPTight_Gsf_v8, process.MC_Ele15_Ele10_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.MC_IsoMu_v15, process.MC_DoubleMu_TrkIsoVVL_DZ_v11, process.MC_DoubleMuNoFiltersNoVtx_v7, process.AlCa_EcalPi0EBonly_v13, process.AlCa_EcalPi0EEonly_v13, process.AlCa_EcalEtaEBonly_v13, process.AlCa_EcalEtaEEonly_v13, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET90_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET100_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET110_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET120_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET130_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET140_v3, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, process.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_1pr_v11, process.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_MediumChargedIsoPFTau200HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_MediumChargedIsoPFTau220HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v9, process.HLT_Rsq0p35_v15, process.HLT_Rsq0p40_v15, process.HLT_RsqMR300_Rsq0p09_MR200_v15, process.HLT_RsqMR320_Rsq0p09_MR200_v15, process.HLT_RsqMR300_Rsq0p09_MR200_4jet_v15, process.HLT_RsqMR320_Rsq0p09_MR200_4jet_v15, process.HLT_IsoMu27_MET90_v3, process.HLT_DoubleMediumChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, process.HLT_DoubleMediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, process.HLT_DoubleTightChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, process.HLT_DoubleTightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, process.HLT_DoubleMediumChargedIsoPFTauHPS30_L1MaxMass_Trk1_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v4, process.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, process.HLT_VBF_DoubleLooseChargedIsoPFTau20_Trk1_eta2p1_v3, process.HLT_VBF_DoubleLooseChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_VBF_DoubleMediumChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_VBF_DoubleTightChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_Photon50_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_PFMET50_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ600DEta3_v5, process.HLT_PFMET100_PFMHT100_IDTight_PFHT60_v9, process.HLT_PFMETNoMu100_PFMHTNoMu100_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne100_PFMHT100_IDTight_PFHT60_v9, process.HLT_Mu18_Mu9_SameSign_v4, process.HLT_Mu18_Mu9_SameSign_DZ_v4, process.HLT_Mu18_Mu9_v4, process.HLT_Mu18_Mu9_DZ_v4, process.HLT_Mu20_Mu10_SameSign_v4, process.HLT_Mu20_Mu10_SameSign_DZ_v4, process.HLT_Mu20_Mu10_v4, process.HLT_Mu20_Mu10_DZ_v4, process.HLT_Mu23_Mu12_SameSign_v4, process.HLT_Mu23_Mu12_SameSign_DZ_v4, process.HLT_Mu23_Mu12_v4, process.HLT_Mu23_Mu12_DZ_v4, process.HLT_DoubleMu2_Jpsi_DoubleTrk1_Phi1p05_v6, process.HLT_DoubleMu2_Jpsi_DoubleTkMu0_Phi_v5, process.HLT_DoubleMu3_DCA_PFMET50_PFMHT60_v10, process.HLT_TripleMu_5_3_3_Mass3p8_DCA_v3, process.HLT_QuadPFJet98_83_71_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet103_88_75_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet111_90_80_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet98_83_71_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet103_88_75_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet105_88_76_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet111_90_80_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet98_83_71_15_v5, process.HLT_QuadPFJet103_88_75_15_v5, process.HLT_QuadPFJet105_88_76_15_v5, process.HLT_QuadPFJet111_90_80_15_v5, process.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p17_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p1_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_p02_v3, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np2_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np4_v2, process.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_Mass55_v2, process.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_v2, process.HLT_Mu12_IP6_ToCSCS_v1, process.HLT_Mu12_IP6_part0_v2, process.HLT_Mu12_IP6_part1_v2, process.HLT_Mu12_IP6_part2_v2, process.HLT_Mu12_IP6_part3_v2, process.HLT_Mu12_IP6_part4_v2, process.HLT_Mu9_IP5_ToCSCS_v1, process.HLT_Mu9_IP5_part0_v2, process.HLT_Mu9_IP5_part1_v2, process.HLT_Mu9_IP5_part2_v2, process.HLT_Mu9_IP5_part3_v2, process.HLT_Mu9_IP5_part4_v2, process.HLT_Mu7_IP4_ToCSCS_v1, process.HLT_Mu7_IP4_part0_v2, process.HLT_Mu7_IP4_part1_v2, process.HLT_Mu7_IP4_part2_v2, process.HLT_Mu7_IP4_part3_v2, process.HLT_Mu7_IP4_part4_v2, process.HLT_Mu9_IP4_ToCSCS_v1, process.HLT_Mu9_IP4_part0_v2, process.HLT_Mu9_IP4_part1_v2, process.HLT_Mu9_IP4_part2_v2, process.HLT_Mu9_IP4_part3_v2, process.HLT_Mu9_IP4_part4_v2, process.HLT_Mu8_IP5_ToCSCS_v1, process.HLT_Mu8_IP5_part0_v2, process.HLT_Mu8_IP5_part1_v2, process.HLT_Mu8_IP5_part2_v2, process.HLT_Mu8_IP5_part3_v2, process.HLT_Mu8_IP5_part4_v2, process.HLT_Mu8_IP6_ToCSCS_v1, process.HLT_Mu8_IP6_part0_v2, process.HLT_Mu8_IP6_part1_v2, process.HLT_Mu8_IP6_part2_v2, process.HLT_Mu8_IP6_part3_v2, process.HLT_Mu8_IP6_part4_v2, process.HLT_Mu9_IP6_ToCSCS_v1, process.HLT_Mu9_IP6_part0_v3, process.HLT_Mu9_IP6_part1_v3, process.HLT_Mu9_IP6_part2_v3, process.HLT_Mu9_IP6_part3_v3, process.HLT_Mu9_IP6_part4_v3, process.HLT_Mu8_IP3_ToCSCS_v1, process.HLT_Mu8_IP3_part0_v3, process.HLT_Mu8_IP3_part1_v3, process.HLT_Mu8_IP3_part2_v3, process.HLT_Mu8_IP3_part3_v3, process.HLT_Mu8_IP3_part4_v3, process.HLT_Mu9_IP0_part0_v2, process.HLT_Mu9_IP3_part0_v2, process.HLT_QuadPFJet105_88_76_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_TrkMu6NoFiltersNoVtx_v1, process.HLT_TrkMu16NoFiltersNoVtx_v1, process.HLT_DoubleTrkMu_16_6_NoFiltersNoVtx_v1, process.HLT_PPSMaxTracksPerArm1_v1, process.HLT_PPSMaxTracksPerRP4_v1, process.HLTriggerFinalPath, process.HLTAnalyzerEndpath, process.ParkingHLTPhysicsOutput, process.ParkingZeroBiasOutput, process.PhysicsCommissioningOutput, process.PhysicsEGammaOutput, process.PhysicsEndOfFillOutput, process.PhysicsHadronsTausOutput, process.PhysicsMuonsOutput, process.ParkingBPH1Output, process.ParkingBPH2Output, process.ParkingBPH3Output, process.ParkingBPH4Output, process.ParkingBPH5Output, process.DQMOutput, process.DQMOnlineBeamspotOutput, process.DQMCalibrationOutput, process.DQMEventDisplayOutput, process.HLTMonitorOutput, process.RPCMONOutput, process.CalibrationOutput, process.EcalCalibrationOutput, process.ALCAPHISYMOutput, process.ALCALumiPixelCountsExpressOutput, process.ALCALumiPixelCountsPromptOutput, process.ALCAP0Output, process.ExpressOutput, process.ExpressAlignmentOutput, process.NanoDSTOutput, process.ScoutingPFOutput, process.PhysicsScoutingMonitorOutput, process.PhysicsHLTPhysics1Output, process.PhysicsHLTPhysics2Output, process.PhysicsHLTPhysics3Output, process.PhysicsHLTPhysics4Output, process.PhysicsZeroBias1Output, process.PhysicsZeroBias2Output, process.PhysicsZeroBias3Output, process.PhysicsZeroBias4Output, )) +process.HLTSchedule = cms.Schedule( *(process.HLTriggerFirstPath, process.HLT_AK8PFJet360_TrimMass30_v18, process.HLT_AK8PFJet380_TrimMass30_v11, process.HLT_AK8PFJet400_TrimMass30_v12, process.HLT_AK8PFJet420_TrimMass30_v11, process.HLT_AK8PFHT750_TrimMass50_v12, process.HLT_AK8PFHT800_TrimMass50_v12, process.HLT_AK8PFHT850_TrimMass50_v11, process.HLT_AK8PFHT900_TrimMass50_v11, process.HLT_CaloJet500_NoJetID_v12, process.HLT_CaloJet550_NoJetID_v7, process.HLT_DoubleMu5_Upsilon_DoubleEle3_CaloIdL_TrackIdL_v4, process.HLT_DoubleMu3_DoubleEle7p5_CaloIdL_TrackIdL_Upsilon_v4, process.HLT_Trimuon5_3p5_2_Upsilon_Muon_v5, process.HLT_TrimuonOpen_5_3p5_2_Upsilon_Muon_v3, process.HLT_DoubleEle25_CaloIdL_MW_v4, process.HLT_DoubleEle27_CaloIdL_MW_v4, process.HLT_DoubleEle33_CaloIdL_MW_v17, process.HLT_DoubleEle24_eta2p1_WPTight_Gsf_v7, process.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_DZ_PFHT350_v20, process.HLT_DoubleEle8_CaloIdM_TrackIdM_Mass8_PFHT350_v20, process.HLT_Ele27_Ele37_CaloIdL_MW_v4, process.HLT_Mu27_Ele37_CaloIdL_MW_v5, process.HLT_Mu37_Ele27_CaloIdL_MW_v5, process.HLT_Mu37_TkMu27_v5, process.HLT_DoubleMu4_3_Bs_v14, process.HLT_DoubleMu4_3_Jpsi_v2, process.HLT_DoubleMu4_JpsiTrk_Displaced_v15, process.HLT_DoubleMu4_LowMassNonResonantTrk_Displaced_v15, process.HLT_DoubleMu3_Trk_Tau3mu_v12, process.HLT_DoubleMu3_TkMu_DsTau3Mu_v4, process.HLT_DoubleMu4_PsiPrimeTrk_Displaced_v15, process.HLT_DoubleMu4_Mass3p8_DZ_PFHT350_v8, process.HLT_Mu3_PFJet40_v16, process.HLT_Mu7p5_L2Mu2_Jpsi_v10, process.HLT_Mu7p5_L2Mu2_Upsilon_v10, process.HLT_Mu7p5_Track2_Jpsi_v11, process.HLT_Mu7p5_Track3p5_Jpsi_v11, process.HLT_Mu7p5_Track7_Jpsi_v11, process.HLT_Mu7p5_Track2_Upsilon_v11, process.HLT_Mu7p5_Track3p5_Upsilon_v11, process.HLT_Mu7p5_Track7_Upsilon_v11, process.HLT_Mu3_L1SingleMu5orSingleMu7_v1, process.HLT_DoublePhoton33_CaloIdL_v6, process.HLT_DoublePhoton70_v6, process.HLT_DoublePhoton85_v14, process.HLT_Ele20_WPTight_Gsf_v6, process.HLT_Ele15_WPLoose_Gsf_v3, process.HLT_Ele17_WPLoose_Gsf_v3, process.HLT_Ele20_WPLoose_Gsf_v6, process.HLT_Ele20_eta2p1_WPLoose_Gsf_v6, process.HLT_DiEle27_WPTightCaloOnly_L1DoubleEG_v4, process.HLT_Ele27_WPTight_Gsf_v16, process.HLT_Ele28_WPTight_Gsf_v1, process.HLT_Ele30_WPTight_Gsf_v1, process.HLT_Ele32_WPTight_Gsf_v15, process.HLT_Ele35_WPTight_Gsf_v9, process.HLT_Ele35_WPTight_Gsf_L1EGMT_v5, process.HLT_Ele38_WPTight_Gsf_v9, process.HLT_Ele40_WPTight_Gsf_v9, process.HLT_Ele32_WPTight_Gsf_L1DoubleEG_v9, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTau30_eta2p1_CrossL1_v13, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_LooseChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_MediumChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_Ele24_eta2p1_WPTight_Gsf_TightChargedIsoPFTauHPS30_eta2p1_TightID_CrossL1_v1, process.HLT_HT450_Beamspot_v11, process.HLT_HT300_Beamspot_v11, process.HLT_ZeroBias_Beamspot_v4, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTau27_eta2p1_CrossL1_v12, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_CrossL1_v4, process.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, process.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_CrossL1_v1, process.HLT_IsoMu20_eta2p1_LooseChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu20_eta2p1_MediumChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu20_eta2p1_TightChargedIsoPFTauHPS27_eta2p1_TightID_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_CrossL1_v12, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_TightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_CrossL1_v4, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTauHPS30_Trk1_eta2p1_Reg_CrossL1_v1, process.HLT_IsoMu27_LooseChargedIsoPFTau20_Trk1_eta2p1_SingleL1_v5, process.HLT_IsoMu27_LooseChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu27_MediumChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu27_TightChargedIsoPFTauHPS20_Trk1_eta2p1_SingleL1_v1, process.HLT_IsoMu20_v15, process.HLT_IsoMu24_v13, process.HLT_IsoMu24_eta2p1_v15, process.HLT_IsoMu27_v16, process.HLT_IsoMu30_v4, process.HLT_UncorrectedJetE30_NoBPTX_v6, process.HLT_UncorrectedJetE30_NoBPTX3BX_v6, process.HLT_UncorrectedJetE60_NoBPTX3BX_v6, process.HLT_UncorrectedJetE70_NoBPTX3BX_v6, process.HLT_L1SingleMu18_v3, process.HLT_L1SingleMu25_v2, process.HLT_L1SingleMuCosmics_v1, process.HLT_L2Mu10_v7, process.HLT_L2Mu10_NoVertex_NoBPTX3BX_v5, process.HLT_L2Mu10_NoVertex_NoBPTX_v6, process.HLT_L2Mu45_NoVertex_3Sta_NoBPTX3BX_v4, process.HLT_L2Mu40_NoVertex_3Sta_NoBPTX3BX_v5, process.HLT_L2Mu50_v2, process.HLT_L2Mu23NoVtx_2Cha_v1, process.HLT_L2Mu23NoVtx_2Cha_CosmicSeed_v1, process.HLT_DoubleL2Mu30NoVtx_2Cha_CosmicSeed_Eta2p4_v2, process.HLT_DoubleL2Mu30NoVtx_2Cha_Eta2p4_v2, process.HLT_DoubleL2Mu50_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_CosmicSeed_Eta2p4_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_v2, process.HLT_DoubleL2Mu23NoVtx_2Cha_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_NoL2Matched_v2, process.HLT_DoubleL2Mu25NoVtx_2Cha_Eta2p4_v2, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v14, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v15, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass8_v5, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass8_v3, process.HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_Mass3p8_v5, process.HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass3p8_v3, process.HLT_Mu25_TkMu0_Onia_v8, process.HLT_Mu30_TkMu0_Psi_v1, process.HLT_Mu30_TkMu0_Upsilon_v1, process.HLT_Mu20_TkMu0_Phi_v8, process.HLT_Mu25_TkMu0_Phi_v8, process.HLT_Mu12_v3, process.HLT_Mu15_v3, process.HLT_Mu20_v12, process.HLT_Mu27_v13, process.HLT_Mu50_v13, process.HLT_Mu55_v3, process.HLT_OldMu100_v3, process.HLT_TkMu100_v2, process.HLT_DiPFJet15_NoCaloMatched_v16, process.HLT_DiPFJet25_NoCaloMatched_v16, process.HLT_DiPFJet15_FBEta3_NoCaloMatched_v17, process.HLT_DiPFJet25_FBEta3_NoCaloMatched_v17, process.HLT_DiPFJetAve40_v14, process.HLT_DiPFJetAve60_v14, process.HLT_DiPFJetAve80_v13, process.HLT_DiPFJetAve140_v13, process.HLT_DiPFJetAve200_v13, process.HLT_DiPFJetAve260_v14, process.HLT_DiPFJetAve320_v14, process.HLT_DiPFJetAve400_v14, process.HLT_DiPFJetAve500_v14, process.HLT_DiPFJetAve15_HFJEC_v17, process.HLT_DiPFJetAve25_HFJEC_v17, process.HLT_DiPFJetAve35_HFJEC_v17, process.HLT_DiPFJetAve60_HFJEC_v15, process.HLT_DiPFJetAve80_HFJEC_v16, process.HLT_DiPFJetAve100_HFJEC_v16, process.HLT_DiPFJetAve160_HFJEC_v16, process.HLT_DiPFJetAve220_HFJEC_v16, process.HLT_DiPFJetAve300_HFJEC_v16, process.HLT_AK8PFJet15_v3, process.HLT_AK8PFJet25_v3, process.HLT_AK8PFJet40_v16, process.HLT_AK8PFJet60_v15, process.HLT_AK8PFJet80_v15, process.HLT_AK8PFJet140_v15, process.HLT_AK8PFJet200_v15, process.HLT_AK8PFJet260_v16, process.HLT_AK8PFJet320_v16, process.HLT_AK8PFJet400_v16, process.HLT_AK8PFJet450_v16, process.HLT_AK8PFJet500_v16, process.HLT_AK8PFJet550_v11, process.HLT_PFJet15_v3, process.HLT_PFJet25_v3, process.HLT_PFJet40_v21, process.HLT_PFJet60_v21, process.HLT_PFJet80_v20, process.HLT_PFJet140_v19, process.HLT_PFJet200_v19, process.HLT_PFJet260_v20, process.HLT_PFJet320_v20, process.HLT_PFJet400_v20, process.HLT_PFJet450_v21, process.HLT_PFJet500_v21, process.HLT_PFJet550_v11, process.HLT_PFJetFwd15_v3, process.HLT_PFJetFwd25_v3, process.HLT_PFJetFwd40_v19, process.HLT_PFJetFwd60_v19, process.HLT_PFJetFwd80_v18, process.HLT_PFJetFwd140_v18, process.HLT_PFJetFwd200_v18, process.HLT_PFJetFwd260_v19, process.HLT_PFJetFwd320_v19, process.HLT_PFJetFwd400_v19, process.HLT_PFJetFwd450_v19, process.HLT_PFJetFwd500_v19, process.HLT_AK8PFJetFwd15_v3, process.HLT_AK8PFJetFwd25_v3, process.HLT_AK8PFJetFwd40_v15, process.HLT_AK8PFJetFwd60_v14, process.HLT_AK8PFJetFwd80_v14, process.HLT_AK8PFJetFwd140_v14, process.HLT_AK8PFJetFwd200_v14, process.HLT_AK8PFJetFwd260_v15, process.HLT_AK8PFJetFwd320_v15, process.HLT_AK8PFJetFwd400_v15, process.HLT_AK8PFJetFwd450_v15, process.HLT_AK8PFJetFwd500_v15, process.HLT_PFHT180_v17, process.HLT_PFHT250_v17, process.HLT_PFHT370_v17, process.HLT_PFHT430_v17, process.HLT_PFHT510_v17, process.HLT_PFHT590_v17, process.HLT_PFHT680_v17, process.HLT_PFHT780_v17, process.HLT_PFHT890_v17, process.HLT_PFHT1050_v18, process.HLT_PFHT500_PFMET100_PFMHT100_IDTight_v12, process.HLT_PFHT500_PFMET110_PFMHT110_IDTight_v12, process.HLT_PFHT700_PFMET85_PFMHT85_IDTight_v12, process.HLT_PFHT700_PFMET95_PFMHT95_IDTight_v12, process.HLT_PFHT800_PFMET75_PFMHT75_IDTight_v12, process.HLT_PFHT800_PFMET85_PFMHT85_IDTight_v12, process.HLT_PFMET110_PFMHT110_IDTight_v20, process.HLT_PFMET120_PFMHT120_IDTight_v20, process.HLT_PFMET130_PFMHT130_IDTight_v20, process.HLT_PFMET140_PFMHT140_IDTight_v20, process.HLT_PFMET100_PFMHT100_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET110_PFMHT110_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET120_PFMHT120_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET130_PFMHT130_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET140_PFMHT140_IDTight_CaloBTagDeepCSV_3p1_v8, process.HLT_PFMET120_PFMHT120_IDTight_PFHT60_v9, process.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne120_PFMHT120_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne110_PFMHT110_IDTight_v12, process.HLT_PFMETTypeOne120_PFMHT120_IDTight_v12, process.HLT_PFMETTypeOne130_PFMHT130_IDTight_v12, process.HLT_PFMETTypeOne140_PFMHT140_IDTight_v11, process.HLT_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, process.HLT_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, process.HLT_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, process.HLT_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, process.HLT_MonoCentralPFJet80_PFMETNoMu110_PFMHTNoMu110_IDTight_v20, process.HLT_MonoCentralPFJet80_PFMETNoMu120_PFMHTNoMu120_IDTight_v20, process.HLT_MonoCentralPFJet80_PFMETNoMu130_PFMHTNoMu130_IDTight_v19, process.HLT_MonoCentralPFJet80_PFMETNoMu140_PFMHTNoMu140_IDTight_v19, process.HLT_L1ETMHadSeeds_v2, process.HLT_CaloMHT90_v4, process.HLT_CaloMET80_NotCleaned_v4, process.HLT_CaloMET90_NotCleaned_v4, process.HLT_CaloMET100_NotCleaned_v4, process.HLT_CaloMET110_NotCleaned_v4, process.HLT_CaloMET250_NotCleaned_v4, process.HLT_CaloMET300_NotCleaned_v4, process.HLT_CaloMET350_NotCleaned_v4, process.HLT_PFMET200_NotCleaned_v9, process.HLT_PFMET250_NotCleaned_v9, process.HLT_PFMET300_NotCleaned_v9, process.HLT_PFMET200_BeamHaloCleaned_v9, process.HLT_PFMETTypeOne200_BeamHaloCleaned_v9, process.HLT_MET105_IsoTrk50_v9, process.HLT_MET120_IsoTrk50_v9, process.HLT_SingleJet30_Mu12_SinglePFJet40_v11, process.HLT_Mu12_DoublePFJets40_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets100_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets200_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets350_CaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets40MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets54MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Mu12_DoublePFJets62MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets40_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets100_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets200_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets350_CaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets116MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_DoublePFJets128MaxDeta1p6_DoubleCaloBTagDeepCSV_p71_v2, process.HLT_Photon300_NoHE_v12, process.HLT_Mu8_TrkIsoVVL_v12, process.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_DZ_v18, process.HLT_Mu8_DiEle12_CaloIdL_TrackIdL_v18, process.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_DZ_v19, process.HLT_Mu8_Ele8_CaloIdM_TrackIdM_Mass8_PFHT350_v19, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v13, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_PFDiJet30_PFBtagDeepCSV_1p5_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_CaloDiJet30_CaloBtagDeepCSV_1p5_v1, process.HLT_Mu8_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v11, process.HLT_Mu17_TrkIsoVVL_v13, process.HLT_Mu19_TrkIsoVVL_v4, process.HLT_BTagMu_AK4DiJet20_Mu5_v13, process.HLT_BTagMu_AK4DiJet40_Mu5_v13, process.HLT_BTagMu_AK4DiJet70_Mu5_v13, process.HLT_BTagMu_AK4DiJet110_Mu5_v13, process.HLT_BTagMu_AK4DiJet170_Mu5_v12, process.HLT_BTagMu_AK4Jet300_Mu5_v12, process.HLT_BTagMu_AK8DiJet170_Mu5_v9, process.HLT_BTagMu_AK8Jet170_DoubleMu5_v2, process.HLT_BTagMu_AK8Jet300_Mu5_v12, process.HLT_BTagMu_AK4DiJet20_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet40_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet70_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet110_Mu5_noalgo_v13, process.HLT_BTagMu_AK4DiJet170_Mu5_noalgo_v12, process.HLT_BTagMu_AK4Jet300_Mu5_noalgo_v12, process.HLT_BTagMu_AK8DiJet170_Mu5_noalgo_v9, process.HLT_BTagMu_AK8Jet170_DoubleMu5_noalgo_v2, process.HLT_BTagMu_AK8Jet300_Mu5_noalgo_v12, process.HLT_Ele15_Ele8_CaloIdL_TrackIdL_IsoVL_v3, process.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v19, process.HLT_Ele23_Ele12_CaloIdL_TrackIdL_IsoVL_v19, process.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.HLT_Mu23_TrkIsoVVL_Ele12_CaloIdL_TrackIdL_IsoVL_v7, process.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_v7, process.HLT_Mu12_TrkIsoVVL_Ele23_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.HLT_Mu12_DoublePhoton20_v5, process.HLT_TriplePhoton_20_20_20_CaloIdLV2_v3, process.HLT_TriplePhoton_20_20_20_CaloIdLV2_R9IdVL_v3, process.HLT_TriplePhoton_30_30_10_CaloIdLV2_v4, process.HLT_TriplePhoton_30_30_10_CaloIdLV2_R9IdVL_v4, process.HLT_TriplePhoton_35_35_5_CaloIdLV2_R9IdVL_v4, process.HLT_Photon20_v2, process.HLT_Photon33_v5, process.HLT_Photon50_v13, process.HLT_Photon75_v13, process.HLT_Photon90_v13, process.HLT_Photon120_v13, process.HLT_Photon150_v6, process.HLT_Photon175_v14, process.HLT_Photon200_v13, process.HLT_Photon100EB_TightID_TightIso_v2, process.HLT_Photon110EB_TightID_TightIso_v2, process.HLT_Photon120EB_TightID_TightIso_v2, process.HLT_Photon100EBHE10_v2, process.HLT_Photon100EEHE10_v2, process.HLT_Photon100EE_TightID_TightIso_v2, process.HLT_Photon50_R9Id90_HE10_IsoM_v14, process.HLT_Photon75_R9Id90_HE10_IsoM_v14, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ300_PFJetsMJJ400DEta3_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_CaloMJJ400_PFJetsMJJ600DEta3_v5, process.HLT_Photon90_R9Id90_HE10_IsoM_v14, process.HLT_Photon120_R9Id90_HE10_IsoM_v14, process.HLT_Photon165_R9Id90_HE10_IsoM_v15, process.HLT_Photon90_CaloIdL_PFHT700_v16, process.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass90_v13, process.HLT_Diphoton30_22_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass95_v13, process.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_PixelVeto_Mass55_v15, process.HLT_Diphoton30PV_18PV_R9Id_AND_IsoCaloId_AND_HE_R9Id_NoPixelVeto_Mass55_v13, process.HLT_Photon35_TwoProngs35_v1, process.HLT_IsoMu24_TwoProngs35_v1, process.HLT_Dimuon0_Jpsi_L1_NoOS_v7, process.HLT_Dimuon0_Jpsi_NoVertexing_NoOS_v7, process.HLT_Dimuon0_Jpsi_v8, process.HLT_Dimuon0_Jpsi_NoVertexing_v8, process.HLT_Dimuon0_Jpsi_L1_4R_0er1p5R_v7, process.HLT_Dimuon0_Jpsi_NoVertexing_L1_4R_0er1p5R_v7, process.HLT_Dimuon0_Jpsi3p5_Muon2_v5, process.HLT_Dimuon0_Upsilon_L1_4p5_v9, process.HLT_Dimuon0_Upsilon_L1_5_v9, process.HLT_Dimuon0_Upsilon_L1_4p5NoOS_v8, process.HLT_Dimuon0_Upsilon_L1_4p5er2p0_v9, process.HLT_Dimuon0_Upsilon_L1_4p5er2p0M_v7, process.HLT_Dimuon0_Upsilon_NoVertexing_v7, process.HLT_Dimuon0_Upsilon_L1_5M_v8, process.HLT_Dimuon0_LowMass_L1_0er1p5R_v7, process.HLT_Dimuon0_LowMass_L1_0er1p5_v8, process.HLT_Dimuon0_LowMass_v8, process.HLT_Dimuon0_LowMass_L1_4_v8, process.HLT_Dimuon0_LowMass_L1_4R_v7, process.HLT_Dimuon0_LowMass_L1_TM530_v6, process.HLT_Dimuon0_Upsilon_Muon_L1_TM0_v6, process.HLT_Dimuon0_Upsilon_Muon_NoL1Mass_v6, process.HLT_TripleMu_5_3_3_Mass3p8_DZ_v8, process.HLT_TripleMu_10_5_5_DZ_v10, process.HLT_TripleMu_12_10_5_v10, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_Tau15_Charge1_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_v4, process.HLT_Tau3Mu_Mu7_Mu1_TkMu1_IsoTau15_Charge1_v4, process.HLT_DoubleMu3_DZ_PFMET50_PFMHT60_v10, process.HLT_DoubleMu3_DZ_PFMET70_PFMHT70_v10, process.HLT_DoubleMu3_DZ_PFMET90_PFMHT90_v10, process.HLT_DoubleMu3_Trk_Tau3mu_NoL1Mass_v6, process.HLT_DoubleMu4_Jpsi_Displaced_v7, process.HLT_DoubleMu4_Jpsi_NoVertexing_v7, process.HLT_DoubleMu4_JpsiTrkTrk_Displaced_v7, process.HLT_DoubleMu43NoFiltersNoVtx_v4, process.HLT_DoubleMu48NoFiltersNoVtx_v4, process.HLT_Mu43NoFiltersNoVtx_Photon43_CaloIdL_v5, process.HLT_Mu48NoFiltersNoVtx_Photon48_CaloIdL_v5, process.HLT_Mu38NoFiltersNoVtxDisplaced_Photon38_CaloIdL_v1, process.HLT_Mu43NoFiltersNoVtxDisplaced_Photon43_CaloIdL_v1, process.HLT_DoubleMu33NoFiltersNoVtxDisplaced_v1, process.HLT_DoubleMu40NoFiltersNoVtxDisplaced_v1, process.HLT_DoubleMu20_7_Mass0to30_L1_DM4_v7, process.HLT_DoubleMu20_7_Mass0to30_L1_DM4EG_v8, process.HLT_HT425_v9, process.HLT_HT430_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT500_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT430_DisplacedDijet60_DisplacedTrack_v13, process.HLT_HT400_DisplacedDijet40_DisplacedTrack_v13, process.HLT_HT650_DisplacedDijet60_Inclusive_v13, process.HLT_HT550_DisplacedDijet60_Inclusive_v13, process.HLT_DiJet110_35_Mjj650_PFMET110_v9, process.HLT_DiJet110_35_Mjj650_PFMET120_v9, process.HLT_DiJet110_35_Mjj650_PFMET130_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET110_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET120_v9, process.HLT_TripleJet110_35_35_Mjj650_PFMET130_v9, process.HLT_Ele30_eta2p1_WPTight_Gsf_CentralPFJet35_EleCleaned_v13, process.HLT_Ele28_eta2p1_WPTight_Gsf_HT150_v13, process.HLT_Ele28_HighEta_SC20_Mass55_v13, process.HLT_DoubleMu20_7_Mass0to30_Photon23_v8, process.HLT_Ele15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, process.HLT_Ele15_IsoVVVL_PFHT450_PFMET50_v16, process.HLT_Ele15_IsoVVVL_PFHT450_v16, process.HLT_Ele50_IsoVVVL_PFHT450_v16, process.HLT_Ele15_IsoVVVL_PFHT600_v20, process.HLT_Mu4_TrkIsoVVL_DiPFJet90_40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v15, process.HLT_Mu8_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT300_PFMETNoMu60_v16, process.HLT_Mu10_TrkIsoVVL_DiPFJet40_DEta3p5_MJJ750_HTT350_PFMETNoMu60_v15, process.HLT_Mu15_IsoVVVL_PFHT450_CaloBTagDeepCSV_4p5_v8, process.HLT_Mu15_IsoVVVL_PFHT450_PFMET50_v15, process.HLT_Mu15_IsoVVVL_PFHT450_v15, process.HLT_Mu50_IsoVVVL_PFHT450_v15, process.HLT_Mu15_IsoVVVL_PFHT600_v19, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET70_PFMHT70_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET80_PFMHT80_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET90_PFMHT90_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMET100_PFMHT100_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu70_PFMHTNoMu70_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu80_PFMHTNoMu80_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu90_PFMHTNoMu90_IDTight_v2, process.HLT_Mu3er1p5_PFJet100er2p5_PFMETNoMu100_PFMHTNoMu100_IDTight_v2, process.HLT_Dimuon10_PsiPrime_Barrel_Seagulls_v7, process.HLT_Dimuon20_Jpsi_Barrel_Seagulls_v7, process.HLT_Dimuon12_Upsilon_y1p4_v2, process.HLT_Dimuon14_Phi_Barrel_Seagulls_v7, process.HLT_Dimuon18_PsiPrime_v14, process.HLT_Dimuon25_Jpsi_v14, process.HLT_Dimuon18_PsiPrime_noCorrL1_v6, process.HLT_Dimuon24_Upsilon_noCorrL1_v6, process.HLT_Dimuon24_Phi_noCorrL1_v6, process.HLT_Dimuon25_Jpsi_noCorrL1_v6, process.HLT_DiMu4_Ele9_CaloIdL_TrackIdL_DZ_Mass3p8_v17, process.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_DZ_v17, process.HLT_DiMu9_Ele9_CaloIdL_TrackIdL_v17, process.HLT_DoubleIsoMu20_eta2p1_v7, process.HLT_TrkMu12_DoubleTrkMu5NoFiltersNoVtx_v6, process.HLT_TrkMu16_DoubleTrkMu6NoFiltersNoVtx_v12, process.HLT_TrkMu17_DoubleTrkMu8NoFiltersNoVtx_v13, process.HLT_Mu8_v12, process.HLT_Mu17_v13, process.HLT_Mu19_v4, process.HLT_Mu17_Photon30_IsoCaloId_v6, process.HLT_Ele8_CaloIdL_TrackIdL_IsoVL_PFJet30_v16, process.HLT_Ele12_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, process.HLT_Ele15_CaloIdL_TrackIdL_IsoVL_PFJet30_v3, process.HLT_Ele23_CaloIdL_TrackIdL_IsoVL_PFJet30_v18, process.HLT_Ele8_CaloIdM_TrackIdM_PFJet30_v18, process.HLT_Ele17_CaloIdM_TrackIdM_PFJet30_v16, process.HLT_Ele23_CaloIdM_TrackIdM_PFJet30_v18, process.HLT_Ele50_CaloIdVT_GsfTrkIdT_PFJet165_v18, process.HLT_Ele115_CaloIdVT_GsfTrkIdT_v14, process.HLT_Ele135_CaloIdVT_GsfTrkIdT_v7, process.HLT_Ele145_CaloIdVT_GsfTrkIdT_v8, process.HLT_Ele200_CaloIdVT_GsfTrkIdT_v8, process.HLT_Ele250_CaloIdVT_GsfTrkIdT_v13, process.HLT_Ele300_CaloIdVT_GsfTrkIdT_v13, process.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_TriplePFBTagDeepCSV_4p5_v3, process.HLT_PFHT330PT30_QuadPFJet_75_60_45_40_v9, process.HLT_PFHT400_SixPFJet32_DoublePFBTagDeepCSV_2p94_v8, process.HLT_PFHT400_SixPFJet32_v8, process.HLT_PFHT450_SixPFJet36_PFBTagDeepCSV_1p59_v7, process.HLT_PFHT450_SixPFJet36_v7, process.HLT_PFHT400_FivePFJet_100_100_60_30_30_v8, process.HLT_PFHT400_FivePFJet_100_100_60_30_30_DoublePFBTagDeepCSV_4p5_v8, process.HLT_PFHT400_FivePFJet_120_120_60_30_30_DoublePFBTagDeepCSV_4p5_v8, process.HLT_PFHT350_v19, process.HLT_PFHT350MinPFJet15_v9, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_v5, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_v5, process.HLT_Photon60_R9Id90_CaloIdL_IsoL_DisplacedIdL_PFHT350MinPFJet15_v11, process.HLT_ECALHT800_v10, process.HLT_DiSC30_18_EIso_AND_HE_Mass70_v13, process.HLT_Physics_v7, process.HLT_Physics_part0_v7, process.HLT_Physics_part1_v7, process.HLT_Physics_part2_v7, process.HLT_Physics_part3_v7, process.HLT_Physics_part4_v7, process.HLT_Physics_part5_v7, process.HLT_Physics_part6_v7, process.HLT_Physics_part7_v7, process.DST_Physics_v7, process.HLT_Random_v3, process.HLT_ZeroBias_v6, process.HLT_ZeroBias_Alignment_v1, process.HLT_ZeroBias_part0_v6, process.HLT_ZeroBias_part1_v6, process.HLT_ZeroBias_part2_v6, process.HLT_ZeroBias_part3_v6, process.HLT_ZeroBias_part4_v6, process.HLT_ZeroBias_part5_v6, process.HLT_ZeroBias_part6_v6, process.HLT_ZeroBias_part7_v6, process.DST_ZeroBias_v2, process.DST_Run3_PFScoutingPixelTracking_v16, process.HLT_AK4CaloJet30_v11, process.HLT_AK4CaloJet40_v10, process.HLT_AK4CaloJet50_v10, process.HLT_AK4CaloJet80_v10, process.HLT_AK4CaloJet100_v10, process.HLT_AK4CaloJet120_v9, process.HLT_AK4PFJet30_v19, process.HLT_AK4PFJet50_v19, process.HLT_AK4PFJet80_v19, process.HLT_AK4PFJet100_v19, process.HLT_AK4PFJet120_v18, process.HLT_SinglePhoton10_Eta3p1ForPPRef_v8, process.HLT_SinglePhoton20_Eta3p1ForPPRef_v9, process.HLT_SinglePhoton30_Eta3p1ForPPRef_v9, process.HLT_Photon20_HoverELoose_v10, process.HLT_Photon30_HoverELoose_v10, process.HLT_EcalCalibration_v4, process.HLT_HcalCalibration_v5, process.AlCa_EcalPhiSym_v9, process.HLT_L1UnpairedBunchBptxMinus_v2, process.HLT_L1UnpairedBunchBptxPlus_v2, process.HLT_L1NotBptxOR_v3, process.HLT_L1_CDC_SingleMu_3_er1p2_TOP120_DPHI2p618_3p142_v2, process.HLT_CDC_L2cosmic_10_er1p0_v1, process.HLT_CDC_L2cosmic_5p5_er1p0_v1, process.HLT_HcalNZS_v13, process.HLT_HcalPhiSym_v15, process.HLT_HcalIsolatedbunch_v5, process.HLT_IsoTrackHB_v4, process.HLT_IsoTrackHE_v4, process.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, process.HLT_ZeroBias_IsolatedBunches_v5, process.HLT_ZeroBias_FirstCollisionInTrain_v4, process.HLT_ZeroBias_LastCollisionInTrain_v3, process.HLT_ZeroBias_FirstBXAfterTrain_v3, process.AlCa_RPCMuonNormalisation_v13, process.AlCa_LumiPixelsCounts_Random_v2, process.AlCa_LumiPixelsCounts_ZeroBias_v2, process.MC_ReducedIterativeTracking_v12, process.MC_PFMET_v17, process.MC_AK4PFJets_v17, process.MC_PFBTagDeepCSV_v10, process.MC_PFHT_v16, process.MC_PFMHT_v16, process.MC_CaloMET_v8, process.MC_CaloMET_JetIdCleaned_v9, process.MC_AK4CaloJets_v9, process.MC_AK4CaloJetsFromPV_v8, process.MC_CaloBTagDeepCSV_v8, process.MC_CaloHT_v8, process.MC_CaloMHT_v8, process.MC_AK8PFJets_v17, process.MC_AK8TrimPFJets_v17, process.MC_AK8PFHT_v16, process.MC_AK8CaloHT_v8, process.MC_Diphoton10_10_R9Id_OR_IsoCaloId_AND_HE_R9Id_Mass10_v13, process.MC_DoubleEle5_CaloIdL_MW_v15, process.MC_Ele5_WPTight_Gsf_v8, process.MC_Ele15_Ele10_CaloIdL_TrackIdL_IsoVL_DZ_v15, process.MC_IsoMu_v15, process.MC_DoubleMu_TrkIsoVVL_DZ_v11, process.MC_DoubleMuNoFiltersNoVtx_v7, process.AlCa_EcalPi0EBonly_v13, process.AlCa_EcalPi0EEonly_v13, process.AlCa_EcalEtaEBonly_v13, process.AlCa_EcalEtaEEonly_v13, process.HLT_IsoMu24_eta2p1_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET90_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET100_v12, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET110_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET120_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET130_v8, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_MET140_v3, process.HLT_MediumChargedIsoPFTau50_Trk30_eta2p1_1pr_v12, process.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_1pr_v11, process.HLT_MediumChargedIsoPFTau180HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_MediumChargedIsoPFTau200HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_MediumChargedIsoPFTau220HighPtRelaxedIso_Trk50_eta2p1_v12, process.HLT_Ele16_Ele12_Ele8_CaloIdL_TrackIdL_v9, process.HLT_Rsq0p35_v15, process.HLT_Rsq0p40_v15, process.HLT_RsqMR300_Rsq0p09_MR200_v15, process.HLT_RsqMR320_Rsq0p09_MR200_v15, process.HLT_RsqMR300_Rsq0p09_MR200_4jet_v15, process.HLT_RsqMR320_Rsq0p09_MR200_4jet_v15, process.HLT_IsoMu27_MET90_v3, process.HLT_DoubleMediumChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, process.HLT_DoubleMediumChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, process.HLT_DoubleTightChargedIsoPFTau35_Trk1_eta2p1_Reg_v12, process.HLT_DoubleTightChargedIsoPFTau35_Trk1_TightID_eta2p1_Reg_v12, process.HLT_DoubleMediumChargedIsoPFTauHPS30_L1MaxMass_Trk1_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS35_Trk1_eta2p1_Reg_v4, process.HLT_DoubleTightChargedIsoPFTauHPS35_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_eta2p1_Reg_v1, process.HLT_DoubleMediumChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, process.HLT_DoubleTightChargedIsoPFTauHPS40_Trk1_TightID_eta2p1_Reg_v1, process.HLT_VBF_DoubleLooseChargedIsoPFTau20_Trk1_eta2p1_v3, process.HLT_VBF_DoubleLooseChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_VBF_DoubleMediumChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_VBF_DoubleTightChargedIsoPFTauHPS20_Trk1_eta2p1_v1, process.HLT_Photon50_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_PFMET50_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ300DEta3_v5, process.HLT_Photon75_R9Id90_HE10_IsoM_EBOnly_PFJetsMJJ600DEta3_v5, process.HLT_PFMET100_PFMHT100_IDTight_PFHT60_v9, process.HLT_PFMETNoMu100_PFMHTNoMu100_IDTight_PFHT60_v9, process.HLT_PFMETTypeOne100_PFMHT100_IDTight_PFHT60_v9, process.HLT_Mu18_Mu9_SameSign_v4, process.HLT_Mu18_Mu9_SameSign_DZ_v4, process.HLT_Mu18_Mu9_v4, process.HLT_Mu18_Mu9_DZ_v4, process.HLT_Mu20_Mu10_SameSign_v4, process.HLT_Mu20_Mu10_SameSign_DZ_v4, process.HLT_Mu20_Mu10_v4, process.HLT_Mu20_Mu10_DZ_v4, process.HLT_Mu23_Mu12_SameSign_v4, process.HLT_Mu23_Mu12_SameSign_DZ_v4, process.HLT_Mu23_Mu12_v4, process.HLT_Mu23_Mu12_DZ_v4, process.HLT_DoubleMu2_Jpsi_DoubleTrk1_Phi1p05_v6, process.HLT_DoubleMu2_Jpsi_DoubleTkMu0_Phi_v5, process.HLT_DoubleMu3_DCA_PFMET50_PFMHT60_v10, process.HLT_TripleMu_5_3_3_Mass3p8_DCA_v3, process.HLT_QuadPFJet98_83_71_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet103_88_75_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet111_90_80_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_QuadPFJet98_83_71_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet103_88_75_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet105_88_76_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet111_90_80_15_PFBTagDeepCSV_1p3_VBF2_v8, process.HLT_QuadPFJet98_83_71_15_v5, process.HLT_QuadPFJet103_88_75_15_v5, process.HLT_QuadPFJet105_88_76_15_v5, process.HLT_QuadPFJet111_90_80_15_v5, process.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p17_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BTagDeepCSV_p1_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_p02_v3, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np2_v2, process.HLT_AK8PFJet330_TrimMass30_PFAK8BoostedDoubleB_np4_v2, process.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_Mass55_v2, process.HLT_Diphoton30_18_R9IdL_AND_HE_AND_IsoCaloId_NoPixelVeto_v2, process.HLT_Mu12_IP6_ToCSCS_v1, process.HLT_Mu12_IP6_part0_v2, process.HLT_Mu12_IP6_part1_v2, process.HLT_Mu12_IP6_part2_v2, process.HLT_Mu12_IP6_part3_v2, process.HLT_Mu12_IP6_part4_v2, process.HLT_Mu9_IP5_ToCSCS_v1, process.HLT_Mu9_IP5_part0_v2, process.HLT_Mu9_IP5_part1_v2, process.HLT_Mu9_IP5_part2_v2, process.HLT_Mu9_IP5_part3_v2, process.HLT_Mu9_IP5_part4_v2, process.HLT_Mu7_IP4_ToCSCS_v1, process.HLT_Mu7_IP4_part0_v2, process.HLT_Mu7_IP4_part1_v2, process.HLT_Mu7_IP4_part2_v2, process.HLT_Mu7_IP4_part3_v2, process.HLT_Mu7_IP4_part4_v2, process.HLT_Mu9_IP4_ToCSCS_v1, process.HLT_Mu9_IP4_part0_v2, process.HLT_Mu9_IP4_part1_v2, process.HLT_Mu9_IP4_part2_v2, process.HLT_Mu9_IP4_part3_v2, process.HLT_Mu9_IP4_part4_v2, process.HLT_Mu8_IP5_ToCSCS_v1, process.HLT_Mu8_IP5_part0_v2, process.HLT_Mu8_IP5_part1_v2, process.HLT_Mu8_IP5_part2_v2, process.HLT_Mu8_IP5_part3_v2, process.HLT_Mu8_IP5_part4_v2, process.HLT_Mu8_IP6_ToCSCS_v1, process.HLT_Mu8_IP6_part0_v2, process.HLT_Mu8_IP6_part1_v2, process.HLT_Mu8_IP6_part2_v2, process.HLT_Mu8_IP6_part3_v2, process.HLT_Mu8_IP6_part4_v2, process.HLT_Mu9_IP6_ToCSCS_v1, process.HLT_Mu9_IP6_part0_v3, process.HLT_Mu9_IP6_part1_v3, process.HLT_Mu9_IP6_part2_v3, process.HLT_Mu9_IP6_part3_v3, process.HLT_Mu9_IP6_part4_v3, process.HLT_Mu8_IP3_ToCSCS_v1, process.HLT_Mu8_IP3_part0_v3, process.HLT_Mu8_IP3_part1_v3, process.HLT_Mu8_IP3_part2_v3, process.HLT_Mu8_IP3_part3_v3, process.HLT_Mu8_IP3_part4_v3, process.HLT_Mu9_IP0_part0_v2, process.HLT_Mu9_IP3_part0_v2, process.HLT_QuadPFJet105_88_76_15_DoublePFBTagDeepCSV_1p3_7p7_VBF1_v8, process.HLT_TrkMu6NoFiltersNoVtx_v1, process.HLT_TrkMu16NoFiltersNoVtx_v1, process.HLT_DoubleTrkMu_16_6_NoFiltersNoVtx_v1, process.HLT_PPSMaxTracksPerArm1_v1, process.HLT_PPSMaxTracksPerRP4_v1, process.HLTriggerFinalPath, process.HLTAnalyzerEndpath, process.ParkingHLTPhysicsOutput, process.ParkingZeroBiasOutput, process.PhysicsCommissioningOutput, process.PhysicsEGammaOutput, process.PhysicsEndOfFillOutput, process.PhysicsHadronsTausOutput, process.PhysicsMuonsOutput, process.ParkingBPH1Output, process.ParkingBPH2Output, process.ParkingBPH3Output, process.ParkingBPH4Output, process.ParkingBPH5Output, process.DQMOutput, process.DQMOnlineBeamspotOutput, process.DQMCalibrationOutput, process.DQMEventDisplayOutput, process.HLTMonitorOutput, process.RPCMONOutput, process.CalibrationOutput, process.EcalCalibrationOutput, process.ALCAPHISYMOutput, process.ALCALumiPixelCountsExpressOutput, process.ALCALumiPixelCountsPromptOutput, process.ALCAP0Output, process.ExpressOutput, process.ExpressAlignmentOutput, process.NanoDSTOutput, process.ScoutingPFOutput, process.PhysicsScoutingMonitorOutput, process.PhysicsHLTPhysics1Output, process.PhysicsHLTPhysics2Output, process.PhysicsHLTPhysics3Output, process.PhysicsHLTPhysics4Output, process.PhysicsZeroBias1Output, process.PhysicsZeroBias2Output, process.PhysicsZeroBias3Output, process.PhysicsZeroBias4Output, )) # source module (EDM inputs) diff --git a/HLTrigger/Configuration/test/OnLine_HLT_HIon.py b/HLTrigger/Configuration/test/OnLine_HLT_HIon.py index 84e18f9e11189..f800963791259 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_HIon.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_HIon.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/HIon --type HIon --unprescale --process HLTHIon --globaltag auto:run3_hlt_HIon --input file:RelVal_Raw_HIon_DATA.root -# /dev/CMSSW_12_2_0/HIon/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/HIon/V5 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTHIon" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/HIon/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/HIon/V5') ) process.transferSystem = cms.PSet( @@ -6939,6 +6939,7 @@ ErrorMask = cms.uint32( 0 ), UnpackStatusDigis = cms.bool( False ), UseFormatStatus = cms.bool( True ), + useRPCs = cms.bool( False ), useGEMs = cms.bool( False ), useCSCShowers = cms.bool( False ), Debug = cms.untracked.bool( False ), @@ -6947,7 +6948,9 @@ VisualFEDInspect = cms.untracked.bool( False ), VisualFEDShort = cms.untracked.bool( False ), FormatedEventDump = cms.untracked.bool( False ), - SuppressZeroLCT = cms.untracked.bool( True ) + SuppressZeroLCT = cms.untracked.bool( True ), + DisableMappingCheck = cms.untracked.bool( False ), + B904Setup = cms.untracked.bool( False ) ) process.hltCsc2DRecHits = cms.EDProducer( "CSCRecHitDProducer", CSCStripPeakThreshold = cms.double( 10.0 ), diff --git a/HLTrigger/Configuration/test/OnLine_HLT_PIon.py b/HLTrigger/Configuration/test/OnLine_HLT_PIon.py index 80e003d41505a..ef26b9729d584 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_PIon.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_PIon.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/PIon --type PIon --unprescale --process HLTPIon --globaltag auto:run3_hlt_PIon --input file:RelVal_Raw_PIon_DATA.root -# /dev/CMSSW_12_2_0/PIon/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/PIon/V5 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTPIon" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/PIon/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/PIon/V5') ) process.transferSystem = cms.PSet( diff --git a/HLTrigger/Configuration/test/OnLine_HLT_PRef.py b/HLTrigger/Configuration/test/OnLine_HLT_PRef.py index d0963610633ab..3eb94658637ca 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_PRef.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_PRef.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/PRef --type PRef --unprescale --process HLTPRef --globaltag auto:run3_hlt_PRef --input file:RelVal_Raw_PRef_DATA.root -# /dev/CMSSW_12_2_0/PRef/V3 (CMSSW_12_2_0_pre1) +# /dev/CMSSW_12_2_0/PRef/V5 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTPRef" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/PRef/V3') + tableName = cms.string('/dev/CMSSW_12_2_0/PRef/V5') ) process.transferSystem = cms.PSet( @@ -3764,8 +3764,8 @@ RPCMON = cms.vstring( 'RPCMonitor' ) ) process.datasets = cms.PSet( - AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v1' ), - AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v1' ), + AlCaLumiPixelCountsExpress = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v2' ), + AlCaLumiPixelCountsPrompt = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v2' ), AlCaP0 = cms.vstring( 'AlCa_HIEcalEtaEBonly_v1', 'AlCa_HIEcalEtaEEonly_v1', 'AlCa_HIEcalPi0EBonly_v1', @@ -6658,6 +6658,7 @@ ErrorMask = cms.uint32( 0 ), UnpackStatusDigis = cms.bool( False ), UseFormatStatus = cms.bool( True ), + useRPCs = cms.bool( False ), useGEMs = cms.bool( False ), useCSCShowers = cms.bool( False ), Debug = cms.untracked.bool( False ), @@ -6666,7 +6667,9 @@ VisualFEDInspect = cms.untracked.bool( False ), VisualFEDShort = cms.untracked.bool( False ), FormatedEventDump = cms.untracked.bool( False ), - SuppressZeroLCT = cms.untracked.bool( True ) + SuppressZeroLCT = cms.untracked.bool( True ), + DisableMappingCheck = cms.untracked.bool( False ), + B904Setup = cms.untracked.bool( False ) ) process.hltCsc2DRecHits = cms.EDProducer( "CSCRecHitDProducer", CSCStripPeakThreshold = cms.double( 10.0 ), @@ -11323,16 +11326,16 @@ CentralBxOnly = cms.bool( True ), SelectQualities = cms.vint32( ) ) +process.hltPreAlCaLumiPixelsCountsRandom = cms.EDFilter( "HLTPrescaler", + offset = cms.uint32( 0 ), + L1GtReadoutRecordTag = cms.InputTag( "hltGtStage2Digis" ) +) process.hltPixelTrackerHVOn = cms.EDFilter( "DetectorStateFilter", DebugOn = cms.untracked.bool( False ), DetectorType = cms.untracked.string( "pixel" ), DcsStatusLabel = cms.untracked.InputTag( "hltScalersRawToDigi" ), DCSRecordLabel = cms.untracked.InputTag( "hltOnlineMetaDataDigis" ) ) -process.hltPreAlCaLumiPixelsCountsRandom = cms.EDFilter( "HLTPrescaler", - offset = cms.uint32( 0 ), - L1GtReadoutRecordTag = cms.InputTag( "hltGtStage2Digis" ) -) process.hltAlcaPixelClusterCounts = cms.EDProducer( "AlcaPCCEventProducer", pixelClusterLabel = cms.InputTag( "hltSiPixelClusters" ), trigstring = cms.untracked.string( "alcaPCCEvent" ) @@ -11752,10 +11755,9 @@ filterName = cms.untracked.string( "" ), dataTier = cms.untracked.string( "RAW" ) ), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v1' ) ), + SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_Random_v2' ) ), outputCommands = cms.untracked.vstring( 'drop *', 'keep *_hltAlcaPixelClusterCounts_*_*', - 'keep *_hltGtStage2Digis_*_*', 'keep edmTriggerResults_*_*_*' ) ) process.hltOutputALCALumiPixelCountsPrompt = cms.OutputModule( "PoolOutputModule", @@ -11765,10 +11767,9 @@ filterName = cms.untracked.string( "" ), dataTier = cms.untracked.string( "RAW" ) ), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v1' ) ), + SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring( 'AlCa_LumiPixelsCounts_ZeroBias_v2' ) ), outputCommands = cms.untracked.vstring( 'drop *', 'keep *_hltAlcaPixelClusterCounts_*_*', - 'keep *_hltGtStage2Digis_*_*', 'keep edmTriggerResults_*_*_*' ) ) process.hltOutputALCAP0 = cms.OutputModule( "PoolOutputModule", @@ -12025,8 +12026,8 @@ process.AlCa_EcalPhiSym_v9 = cms.Path( process.HLTBeginSequence + process.hltL1sZeroBiasIorAlwaysTrueIorIsolatedBunch + process.hltPreAlCaEcalPhiSym + process.HLTDoFullUnpackingEgammaEcalSequence + process.hltEcalPhiSymFilter + process.HLTEndSequence ) process.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5 = cms.Path( process.HLTBeginSequence + process.hltL1sL1ZeroBiasFirstCollisionAfterAbortGap + process.hltPreZeroBiasFirstCollisionAfterAbortGap + process.HLTEndSequence ) process.AlCa_HIRPCMuonNormalisation_v1 = cms.Path( process.HLTBeginSequence + process.hltL1sSingleMu7to30 + process.hltPreAlCaHIRPCMuonNormalisation + process.hltHIRPCMuonNormaL1Filtered0 + process.HLTMuonLocalRecoSequence + process.HLTEndSequence ) -process.AlCa_LumiPixelsCounts_Random_v1 = cms.Path( process.HLTBeginSequenceRandom + process.hltScalersRawToDigi + process.hltOnlineMetaDataDigis + process.hltPixelTrackerHVOn + process.hltPreAlCaLumiPixelsCountsRandom + process.hltSiPixelDigis + process.hltSiPixelClusters + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) -process.AlCa_LumiPixelsCounts_ZeroBias_v1 = cms.Path( process.HLTBeginSequence + process.hltPixelTrackerHVOn + process.hltL1sZeroBias + process.hltPreAlCaLumiPixelsCountsZeroBias + process.hltSiPixelDigis + process.hltSiPixelClusters + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) +process.AlCa_LumiPixelsCounts_Random_v2 = cms.Path( process.HLTBeginSequenceRandom + process.hltPreAlCaLumiPixelsCountsRandom + process.hltScalersRawToDigi + process.hltOnlineMetaDataDigis + process.hltPixelTrackerHVOn + process.HLTDoLocalPixelSequence + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) +process.AlCa_LumiPixelsCounts_ZeroBias_v2 = cms.Path( process.HLTBeginSequence + process.hltL1sZeroBias + process.hltPreAlCaLumiPixelsCountsZeroBias + process.hltPixelTrackerHVOn + process.HLTDoLocalPixelSequence + process.hltAlcaPixelClusterCounts + process.HLTEndSequence ) process.HLTriggerFinalPath = cms.Path( process.hltGtStage2Digis + process.hltScalersRawToDigi + process.hltFEDSelector + process.hltTriggerSummaryAOD + process.hltTriggerSummaryRAW + process.hltBoolFalse ) process.HLTAnalyzerEndpath = cms.EndPath( process.hltGtStage2Digis + process.hltPreHLTAnalyzerEndpath + process.hltL1TGlobalSummary + process.hltTrigReport ) process.PhysicsCommissioningOutput = cms.EndPath( process.hltGtStage2Digis + process.hltPrePhysicsCommissioningOutput + process.hltOutputPhysicsCommissioning ) @@ -12066,7 +12067,7 @@ process.PhysicsHIZeroBias6Output = cms.EndPath( process.hltGtStage2Digis + process.hltPrePhysicsHIZeroBias6Output + process.hltOutputPhysicsHIZeroBias6 ) -process.HLTSchedule = cms.Schedule( *(process.HLTriggerFirstPath, process.HLT_ZeroBias_Beamspot_v4, process.HLT_Physics_v7, process.DST_Physics_v7, process.HLT_Random_v3, process.HLT_ZeroBias_v6, process.HLT_HIL1UnpairedBunchBptxMinusForPPRef_v2, process.HLT_HIL1UnpairedBunchBptxPlusForPPRef_v2, process.HLT_HIL1NotBptxORForPPRef_v2, process.HLT_HIHT80_Beamspot_ppRef5TeV_v3, process.HLT_HIZeroBias_part0_v6, process.HLT_HIZeroBias_part1_v6, process.HLT_HIZeroBias_part2_v6, process.HLT_HIZeroBias_part3_v6, process.HLT_HIZeroBias_part4_v6, process.HLT_HIZeroBias_part5_v6, process.HLT_HIZeroBias_part6_v6, process.HLT_HIZeroBias_part7_v6, process.HLT_HIZeroBias_part8_v6, process.HLT_HIZeroBias_part9_v6, process.HLT_HIZeroBias_part10_v6, process.HLT_HIZeroBias_part11_v6, process.AlCa_HIEcalPi0EBonly_v1, process.AlCa_HIEcalPi0EEonly_v1, process.AlCa_HIEcalEtaEBonly_v1, process.AlCa_HIEcalEtaEEonly_v1, process.HLT_EcalCalibration_v4, process.HLT_HcalCalibration_v5, process.AlCa_EcalPhiSym_v9, process.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, process.AlCa_HIRPCMuonNormalisation_v1, process.AlCa_LumiPixelsCounts_Random_v1, process.AlCa_LumiPixelsCounts_ZeroBias_v1, process.HLTriggerFinalPath, process.HLTAnalyzerEndpath, process.PhysicsCommissioningOutput, process.PhysicsEGammaOutput, process.PhysicsEndOfFillOutput, process.PhysicsHadronsTausOutput, process.PhysicsMuonsOutput, process.PhysicsTracksOutput, process.PhysicsForwardOutput, process.DQMOutput, process.DQMOnlineBeamspotOutput, process.DQMCalibrationOutput, process.DQMEventDisplayOutput, process.HLTMonitorOutput, process.RPCMONOutput, process.CalibrationOutput, process.EcalCalibrationOutput, process.ALCAPHISYMOutput, process.ALCALumiPixelCountsExpressOutput, process.ALCALumiPixelCountsPromptOutput, process.ALCAP0Output, process.ExpressOutput, process.ExpressAlignmentOutput, process.NanoDSTOutput, process.PhysicsHIZeroBias1Output, process.PhysicsHIZeroBias2Output, process.PhysicsHIZeroBias3Output, process.PhysicsHIZeroBias4Output, process.PhysicsHIZeroBias5Output, process.PhysicsHIZeroBias6Output, )) +process.HLTSchedule = cms.Schedule( *(process.HLTriggerFirstPath, process.HLT_ZeroBias_Beamspot_v4, process.HLT_Physics_v7, process.DST_Physics_v7, process.HLT_Random_v3, process.HLT_ZeroBias_v6, process.HLT_HIL1UnpairedBunchBptxMinusForPPRef_v2, process.HLT_HIL1UnpairedBunchBptxPlusForPPRef_v2, process.HLT_HIL1NotBptxORForPPRef_v2, process.HLT_HIHT80_Beamspot_ppRef5TeV_v3, process.HLT_HIZeroBias_part0_v6, process.HLT_HIZeroBias_part1_v6, process.HLT_HIZeroBias_part2_v6, process.HLT_HIZeroBias_part3_v6, process.HLT_HIZeroBias_part4_v6, process.HLT_HIZeroBias_part5_v6, process.HLT_HIZeroBias_part6_v6, process.HLT_HIZeroBias_part7_v6, process.HLT_HIZeroBias_part8_v6, process.HLT_HIZeroBias_part9_v6, process.HLT_HIZeroBias_part10_v6, process.HLT_HIZeroBias_part11_v6, process.AlCa_HIEcalPi0EBonly_v1, process.AlCa_HIEcalPi0EEonly_v1, process.AlCa_HIEcalEtaEBonly_v1, process.AlCa_HIEcalEtaEEonly_v1, process.HLT_EcalCalibration_v4, process.HLT_HcalCalibration_v5, process.AlCa_EcalPhiSym_v9, process.HLT_ZeroBias_FirstCollisionAfterAbortGap_v5, process.AlCa_HIRPCMuonNormalisation_v1, process.AlCa_LumiPixelsCounts_Random_v2, process.AlCa_LumiPixelsCounts_ZeroBias_v2, process.HLTriggerFinalPath, process.HLTAnalyzerEndpath, process.PhysicsCommissioningOutput, process.PhysicsEGammaOutput, process.PhysicsEndOfFillOutput, process.PhysicsHadronsTausOutput, process.PhysicsMuonsOutput, process.PhysicsTracksOutput, process.PhysicsForwardOutput, process.DQMOutput, process.DQMOnlineBeamspotOutput, process.DQMCalibrationOutput, process.DQMEventDisplayOutput, process.HLTMonitorOutput, process.RPCMONOutput, process.CalibrationOutput, process.EcalCalibrationOutput, process.ALCAPHISYMOutput, process.ALCALumiPixelCountsExpressOutput, process.ALCALumiPixelCountsPromptOutput, process.ALCAP0Output, process.ExpressOutput, process.ExpressAlignmentOutput, process.NanoDSTOutput, process.PhysicsHIZeroBias1Output, process.PhysicsHIZeroBias2Output, process.PhysicsHIZeroBias3Output, process.PhysicsHIZeroBias4Output, process.PhysicsHIZeroBias5Output, process.PhysicsHIZeroBias6Output, )) # source module (EDM inputs) From 97d4ff2b3cc169cff3e983369f8fc27ba775c42a Mon Sep 17 00:00:00 2001 From: swmukher Date: Sun, 21 Nov 2021 18:20:12 +0100 Subject: [PATCH 082/268] Address comments from Marino and Vincenzo --- RecoJets/JetProducers/BuildFile.xml | 1 - RecoJets/JetProducers/plugins/BuildFile.xml | 1 + .../FixedGridRhoProducerFastjetFromRecHit.cc | 18 +++++++----------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/RecoJets/JetProducers/BuildFile.xml b/RecoJets/JetProducers/BuildFile.xml index 28d701dbd84f2..6b6bbf6f75077 100644 --- a/RecoJets/JetProducers/BuildFile.xml +++ b/RecoJets/JetProducers/BuildFile.xml @@ -10,7 +10,6 @@ - diff --git a/RecoJets/JetProducers/plugins/BuildFile.xml b/RecoJets/JetProducers/plugins/BuildFile.xml index 882b037a7e489..249a122078ef5 100644 --- a/RecoJets/JetProducers/plugins/BuildFile.xml +++ b/RecoJets/JetProducers/plugins/BuildFile.xml @@ -11,6 +11,7 @@ + diff --git a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc index 2aed6b749a657..9cc16d175ee46 100644 --- a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc +++ b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc @@ -37,7 +37,7 @@ class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { private: void produce(edm::Event &, const edm::EventSetup &) override; - std::array getHitP4(const DetId &detId, double hitE, const CaloGeometry &caloGeometry) const; + std::array getHitP4(const DetId &detId, const double hitE, const CaloGeometry &caloGeometry) const; bool passedHcalNoiseCut(const HBHERecHit &hit) const; bool passedEcalNoiseCut(const EcalRecHit &hit, const EcalPFRecHitThresholds &thresholds) const; @@ -51,8 +51,8 @@ class FixedGridRhoProducerFastjetFromRecHit : public edm::stream::EDProducer<> { //Muon HLT currently use ECAL-only rho for ECAL isolation, //and HCAL-only rho for HCAL isolation. So, this skipping option is needed. - bool skipHCAL_; - bool skipECAL_; + const bool skipHCAL_; + const bool skipECAL_; const edm::ESGetToken ecalPFRecHitThresholdsToken_; const edm::ESGetToken caloGeometryToken_; @@ -136,7 +136,7 @@ void FixedGridRhoProducerFastjetFromRecHit::produce(edm::Event &iEvent, const ed } std::array FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetId &detId, - double hitE, + const double hitE, const CaloGeometry &caloGeometry) const { const CaloSubdetectorGeometry *subDetGeom = caloGeometry.getSubdetectorGeometry(detId); const auto &gpPos = subDetGeom->getGeometry(detId)->repPos(); @@ -144,19 +144,15 @@ std::array FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetI const double thispx = thispt * cos(gpPos.phi()); const double thispy = thispt * sin(gpPos.phi()); const double thispz = thispt * sinh(gpPos.eta()); - std::array hitp4{{thispx, thispy, thispz, hitE}}; - return hitp4; + return std::array {{thispx, thispy, thispz, hitE}}; } //HCAL noise cleaning cuts. bool FixedGridRhoProducerFastjetFromRecHit::passedHcalNoiseCut(const HBHERecHit &hit) const { const auto thisDetId = hit.id(); const auto thisDepth = thisDetId.depth(); - if (thisDetId.subdet() == HcalBarrel && hit.energy() > eThresHB_[thisDepth - 1]) - return true; - else if (thisDetId.subdet() == HcalEndcap && hit.energy() > eThresHE_[thisDepth - 1]) - return true; - return false; + return (thisDetId.subdet() == HcalBarrel && hit.energy() > eThresHB_[thisDepth - 1]) || + (thisDetId.subdet() == HcalEndcap && hit.energy() > eThresHE_[thisDepth - 1]); } //ECAL noise cleaning cuts using per-crystal PF-recHit thresholds. From b4d3d4ff4a44c86558c7d64309d9c2d82a6b1e43 Mon Sep 17 00:00:00 2001 From: swmukher Date: Sun, 21 Nov 2021 18:34:56 +0100 Subject: [PATCH 083/268] code check --- .../plugins/FixedGridRhoProducerFastjetFromRecHit.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc index 9cc16d175ee46..a17a219b8a3e9 100644 --- a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc +++ b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc @@ -144,15 +144,15 @@ std::array FixedGridRhoProducerFastjetFromRecHit::getHitP4(const DetI const double thispx = thispt * cos(gpPos.phi()); const double thispy = thispt * sin(gpPos.phi()); const double thispz = thispt * sinh(gpPos.eta()); - return std::array {{thispx, thispy, thispz, hitE}}; + return std::array{{thispx, thispy, thispz, hitE}}; } //HCAL noise cleaning cuts. bool FixedGridRhoProducerFastjetFromRecHit::passedHcalNoiseCut(const HBHERecHit &hit) const { const auto thisDetId = hit.id(); const auto thisDepth = thisDetId.depth(); - return (thisDetId.subdet() == HcalBarrel && hit.energy() > eThresHB_[thisDepth - 1]) || - (thisDetId.subdet() == HcalEndcap && hit.energy() > eThresHE_[thisDepth - 1]); + return (thisDetId.subdet() == HcalBarrel && hit.energy() > eThresHB_[thisDepth - 1]) || + (thisDetId.subdet() == HcalEndcap && hit.energy() > eThresHE_[thisDepth - 1]); } //ECAL noise cleaning cuts using per-crystal PF-recHit thresholds. From a381a278eb015c949700d03c65ecdfd5d8d7925f Mon Sep 17 00:00:00 2001 From: francescobrivio Date: Sun, 21 Nov 2021 19:41:29 +0100 Subject: [PATCH 084/268] Migrate misc scripts to new `PoolDBOutputService` methods --- .../plugins/CorrPCCProducer.cc | 16 +++++++--------- .../RecoMuonObjects/test/ProduceAgingObject.cc | 14 +++++++------- .../BTau/plugins/BTagCalibrationDbCreator.cc | 8 ++------ .../MomentumScaleCalibration/plugins/DBWriter.cc | 11 +++++------ .../test/testWriteMVAComputerCondDB.cc | 7 +++---- .../plugins/CentralityTableProducer.cc | 12 ++++-------- RecoMuon/GlobalTrackingTools/test/DYTTuner.cc | 9 ++++----- .../test/ProducePFCalibrationObject.cc | 5 ++--- SimGeneral/MixingModule/plugins/Mixing2DB.cc | 6 +++--- 9 files changed, 37 insertions(+), 51 deletions(-) diff --git a/Calibration/LumiAlCaRecoProducers/plugins/CorrPCCProducer.cc b/Calibration/LumiAlCaRecoProducers/plugins/CorrPCCProducer.cc index 7295d4ef88af8..ae52383a8e945 100644 --- a/Calibration/LumiAlCaRecoProducers/plugins/CorrPCCProducer.cc +++ b/Calibration/LumiAlCaRecoProducers/plugins/CorrPCCProducer.cc @@ -125,8 +125,6 @@ class CorrPCCProducer : public DQMOneEDAnalyzer float pedestal_unc; TGraphErrors* pedestalGraph; - LumiCorrections* pccCorrections; - edm::Service poolDbService; }; @@ -567,15 +565,15 @@ void CorrPCCProducer::dqmEndRunProduce(edm::Run const& runSeg, const edm::EventS } //Writing the corrections to SQL lite file for db - pccCorrections = new LumiCorrections(); - pccCorrections->setOverallCorrection(overallCorrection_); - pccCorrections->setType1Fraction(type1Frac); - pccCorrections->setType1Residual(mean_type1_residual); - pccCorrections->setType2Residual(mean_type2_residual); - pccCorrections->setCorrectionsBX(correctionScaleFactors_); + LumiCorrections pccCorrections; + pccCorrections.setOverallCorrection(overallCorrection_); + pccCorrections.setType1Fraction(type1Frac); + pccCorrections.setType1Residual(mean_type1_residual); + pccCorrections.setType2Residual(mean_type2_residual); + pccCorrections.setCorrectionsBX(correctionScaleFactors_); if (poolDbService.isAvailable()) { - poolDbService->writeOne(pccCorrections, thisIOV, "LumiCorrectionsRcd"); + poolDbService->writeOneIOV(pccCorrections, thisIOV, "LumiCorrectionsRcd"); } else { throw std::runtime_error("PoolDBService required."); } diff --git a/CondFormats/RecoMuonObjects/test/ProduceAgingObject.cc b/CondFormats/RecoMuonObjects/test/ProduceAgingObject.cc index 01f9a763b6cb0..4fde187a8c47b 100644 --- a/CondFormats/RecoMuonObjects/test/ProduceAgingObject.cc +++ b/CondFormats/RecoMuonObjects/test/ProduceAgingObject.cc @@ -99,18 +99,18 @@ ProduceAgingObject::~ProduceAgingObject() {} // -- Called for each event -- void ProduceAgingObject::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { - MuonSystemAging* muonAgingObject = new MuonSystemAging(); + MuonSystemAging muonAgingObject; - muonAgingObject->m_DTChambEffs = m_DTChambEffs; - muonAgingObject->m_RPCChambEffs = m_RPCChambEffs; - muonAgingObject->m_CSCChambEffs = m_CSCChambEffs; + muonAgingObject.m_DTChambEffs = m_DTChambEffs; + muonAgingObject.m_RPCChambEffs = m_RPCChambEffs; + muonAgingObject.m_CSCChambEffs = m_CSCChambEffs; - muonAgingObject->m_GEMChambEffs = m_GEMChambEffs; - muonAgingObject->m_ME0ChambEffs = m_ME0ChambEffs; + muonAgingObject.m_GEMChambEffs = m_GEMChambEffs; + muonAgingObject.m_ME0ChambEffs = m_ME0ChambEffs; edm::Service poolDbService; if (poolDbService.isAvailable()) - poolDbService->writeOne(muonAgingObject, poolDbService->currentTime(), "MuonSystemAgingRcd"); + poolDbService->writeOneIOV(muonAgingObject, poolDbService->currentTime(), "MuonSystemAgingRcd"); } // -- Called at the beginning of each run -- diff --git a/CondTools/BTau/plugins/BTagCalibrationDbCreator.cc b/CondTools/BTau/plugins/BTagCalibrationDbCreator.cc index db78618adf47c..faec20a46d161 100644 --- a/CondTools/BTau/plugins/BTagCalibrationDbCreator.cc +++ b/CondTools/BTau/plugins/BTagCalibrationDbCreator.cc @@ -29,14 +29,10 @@ BTagCalibrationDbCreator::BTagCalibrationDbCreator(const edm::ParameterSet& p) tagger_(p.getUntrackedParameter("tagger")) {} void BTagCalibrationDbCreator::beginJob() { - auto calib = new BTagCalibration(tagger_, csvFile_, true); + BTagCalibration calib(tagger_, csvFile_, true); edm::Service s; if (s.isAvailable()) { - if (s->isNewTagRequest(tagger_)) { - s->createNewIOV(calib, s->beginOfTime(), s->endOfTime(), tagger_); - } else { - s->appendSinceTime(calib, 111, tagger_); - } + s->writeOneIOV(calib, s->beginOfTime(), tagger_); } else { std::cout << "ERROR: DB service not available" << std::endl; } diff --git a/MuonAnalysis/MomentumScaleCalibration/plugins/DBWriter.cc b/MuonAnalysis/MomentumScaleCalibration/plugins/DBWriter.cc index 0909f69070d25..9c48e06b49ecd 100644 --- a/MuonAnalysis/MomentumScaleCalibration/plugins/DBWriter.cc +++ b/MuonAnalysis/MomentumScaleCalibration/plugins/DBWriter.cc @@ -39,10 +39,10 @@ DBWriter::~DBWriter() { // ------------ method called to for each event ------------ void DBWriter::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { - MuScleFitDBobject* dbObject = new MuScleFitDBobject; + MuScleFitDBobject dbObject; - dbObject->identifiers = corrector_->identifiers(); - dbObject->parameters = corrector_->parameters(); + dbObject.identifiers = corrector_->identifiers(); + dbObject.parameters = corrector_->parameters(); // if( dbObject->identifiers.size() != dbObject->parameters.size() ) { // std::cout << "Error: size of parameters("<parameters.size()<<") and identifiers("<identifiers.size()<<") don't match" << std::endl; @@ -64,10 +64,9 @@ void DBWriter::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) edm::Service mydbservice; if (mydbservice.isAvailable()) { if (mydbservice->isNewTagRequest("MuScleFitDBobjectRcd")) { - mydbservice->createNewIOV( - dbObject, mydbservice->beginOfTime(), mydbservice->endOfTime(), "MuScleFitDBobjectRcd"); + mydbservice->createOneIOV(dbObject, mydbservice->beginOfTime(), "MuScleFitDBobjectRcd"); } else { - mydbservice->appendSinceTime(dbObject, mydbservice->currentTime(), "MuScleFitDBobjectRcd"); + mydbservice->appendOneIOV(dbObject, mydbservice->currentTime(), "MuScleFitDBobjectRcd"); } } else { edm::LogError("DBWriter") << "Service is unavailable" << std::endl; diff --git a/PhysicsTools/MVAComputer/test/testWriteMVAComputerCondDB.cc b/PhysicsTools/MVAComputer/test/testWriteMVAComputerCondDB.cc index f68f03f6e9574..07f38766c7efe 100644 --- a/PhysicsTools/MVAComputer/test/testWriteMVAComputerCondDB.cc +++ b/PhysicsTools/MVAComputer/test/testWriteMVAComputerCondDB.cc @@ -58,8 +58,8 @@ void testWriteMVAComputerCondDB::endJob() { // * * // *************************************************************************** - MVAComputerContainer* container = new MVAComputerContainer(); - MVAComputer* computer = &container->add("test"); + MVAComputerContainer container; + MVAComputer* computer = &container.add("test"); // vars @@ -204,8 +204,7 @@ void testWriteMVAComputerCondDB::endJob() { if (!dbService.isAvailable()) return; - dbService->createNewIOV( - container, dbService->beginOfTime(), dbService->endOfTime(), "BTauGenericMVAJetTagComputerRcd"); + dbService->createOneIOV(container, dbService->beginOfTime(), "BTauGenericMVAJetTagComputerRcd"); } // define this as a plug-in diff --git a/RecoHI/HiCentralityAlgos/plugins/CentralityTableProducer.cc b/RecoHI/HiCentralityAlgos/plugins/CentralityTableProducer.cc index 04c5c8b0f0835..ab722219b1335 100644 --- a/RecoHI/HiCentralityAlgos/plugins/CentralityTableProducer.cc +++ b/RecoHI/HiCentralityAlgos/plugins/CentralityTableProducer.cc @@ -118,8 +118,8 @@ void CentralityTableProducer::endJob() { // Get values from root file CB = (CentralityBins*)inputTFile_->Get(Form("%s/run%d", rootTag_.data(), runnum_)); cout << rootTag_.data() << endl; - CT = new CentralityTable(); - CT->m_table.reserve(CB->getNbins()); + CentralityTable CT; + CT.m_table.reserve(CB->getNbins()); text_ << "# BinEdge NpartMean NpartVar NcollMean NcollVar NhardMean NhardVar bMean bVar" << endl; for (int j = 0; j < CB->getNbins(); j++) { @@ -134,18 +134,14 @@ void CentralityTableProducer::endJob() { thisBin->b.mean = CB->bMeanOfBin(j); thisBin->b.var = CB->bSigmaOfBin(j); printBin(thisBin); - CT->m_table.push_back(*thisBin); + CT.m_table.push_back(*thisBin); if (thisBin) delete thisBin; } edm::Service pool; if (pool.isAvailable()) { - if (pool->isNewTagRequest("HeavyIonRcd")) { - pool->createNewIOV(CT, pool->beginOfTime(), pool->endOfTime(), "HeavyIonRcd"); - } else { - pool->appendSinceTime(CT, pool->currentTime(), "HeavyIonRcd"); - } + pool->writeOneIOV(CT, pool->currentTime(), "HeavyIonRcd"); } } } diff --git a/RecoMuon/GlobalTrackingTools/test/DYTTuner.cc b/RecoMuon/GlobalTrackingTools/test/DYTTuner.cc index d6c30494c38e5..1aea87fff1290 100644 --- a/RecoMuon/GlobalTrackingTools/test/DYTTuner.cc +++ b/RecoMuon/GlobalTrackingTools/test/DYTTuner.cc @@ -49,7 +49,6 @@ class DYTTuner : public edm::EDAnalyzer { double MinEnVal, MaxEnVal, IntegralCut, MaxEstVal; unsigned int MinNumValues, MaxValPlots, NBinsPlots; bool saveROOTfile; - DYTThrObject* thresholds; std::map > mapId; std::map EstPlots; edm::EDGetTokenT dytInfoToken; @@ -120,7 +119,7 @@ void DYTTuner::beginJob() {} void DYTTuner::endJob() { if (saveROOTfile) writePlots(); - thresholds = new DYTThrObject(); + DYTThrObject thresholds; // Full barrel/endcap computation std::map >::iterator it; @@ -161,17 +160,17 @@ void DYTTuner::endJob() { int station = CSCDetId(id).station(); obj.thr = endcapCut[station - 1]; } - thresholds->thrsVec.push_back(obj); + thresholds.thrsVec.push_back(obj); continue; } obj.thr = doIntegral(estValCh, id); - thresholds->thrsVec.push_back(obj); + thresholds.thrsVec.push_back(obj); } // Writing to DB edm::Service poolDbService; if (poolDbService.isAvailable()) { - poolDbService->writeOne(thresholds, poolDbService->beginOfTime(), "DYTThrObjectRcd"); + poolDbService->writeOneIOV(thresholds, poolDbService->beginOfTime(), "DYTThrObjectRcd"); } else throw cms::Exception("NotAvailable") << "PoolDBOutputService is not available."; } diff --git a/RecoParticleFlow/PFClusterTools/test/ProducePFCalibrationObject.cc b/RecoParticleFlow/PFClusterTools/test/ProducePFCalibrationObject.cc index 0f14c641284e2..0ecfdbeee2867 100644 --- a/RecoParticleFlow/PFClusterTools/test/ProducePFCalibrationObject.cc +++ b/RecoParticleFlow/PFClusterTools/test/ProducePFCalibrationObject.cc @@ -99,13 +99,12 @@ void ProducePFCalibrationObject::beginRun(const edm::Run& run, const edm::EventS PhysicsTFormulaPayload allTFormulas(limitsToWrite, formulasToWrite); // put them in the container - PerformancePayloadFromTFormula* pfCalibrationFormulas = - new PerformancePayloadFromTFormula(resToWrite, binsToWrite, allTFormulas); + PerformancePayloadFromTFormula pfCalibrationFormulas(resToWrite, binsToWrite, allTFormulas); // actually write to DB edm::Service dbOut; if (dbOut.isAvailable()) { - dbOut->writeOne(pfCalibrationFormulas, 1, record); + dbOut->writeOneIOV(pfCalibrationFormulas, 1, record); } } diff --git a/SimGeneral/MixingModule/plugins/Mixing2DB.cc b/SimGeneral/MixingModule/plugins/Mixing2DB.cc index 5dde9703b4e10..3f727780df86e 100644 --- a/SimGeneral/MixingModule/plugins/Mixing2DB.cc +++ b/SimGeneral/MixingModule/plugins/Mixing2DB.cc @@ -48,7 +48,7 @@ void Mixing2DB::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { // ------------ method called once each job just after ending the event loop ------------ void Mixing2DB::endJob() { edm::Service poolDbService; - MixingModuleConfig* config = new MixingModuleConfig(); - config->read(cfi_); - poolDbService->writeOne(config, poolDbService->currentTime(), "MixingRcd"); + MixingModuleConfig config; + config.read(cfi_); + poolDbService->writeOneIOV(config, poolDbService->currentTime(), "MixingRcd"); } From 402711211fad9e5e80783ece2f2df44d126c1079 Mon Sep 17 00:00:00 2001 From: Kirill Skovpen Date: Sun, 21 Nov 2021 20:03:33 +0100 Subject: [PATCH 085/268] use hcalOnly --- .../python/relval_steps.py | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index 2d0c3536a665c..4af3a61514820 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -2372,17 +2372,17 @@ def gen2021HiMix(fragment,howMuch): steps['RECODR2_2016reHLT_skimSingleMu']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:ZMu+MuTau,EI,PAT,ALCA:SiPixelCalSingleMuonLoose+SiPixelCalSingleMuonTight+SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@muon+@lumi+@L1TMuon'},steps['RECODR2_2016reHLT']]) steps['RECODR2_2016reHLT_skimDoubleEG']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:ZElectron,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@ecal+@egamma'},steps['RECODR2_2016reHLT']]) steps['RECODR2_2016reHLT_skimMuonEG']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:TopMuEG,EI,PAT,ALCA:SiPixelCalSingleMuonLoose+SiPixelCalSingleMuonTight+SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT'},steps['RECODR2_2016reHLT']]) -steps['RECODR2_2016reHLT_skimJetHT']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:JetHTJetPlusHOFilter,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcal'},steps['RECODR2_2016reHLT']]) -steps['RECODR2_2016reHLT_skimMET']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:HighMET+EXOMONOPOLE,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcal'},steps['RECODR2_2016reHLT']]) +steps['RECODR2_2016reHLT_skimJetHT']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:JetHTJetPlusHOFilter,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcalOnly'},steps['RECODR2_2016reHLT']]) +steps['RECODR2_2016reHLT_skimMET']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:HighMET+EXOMONOPOLE,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcalOnly'},steps['RECODR2_2016reHLT']]) steps['RECODR2_2016reHLT_skimSinglePh']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:SinglePhotonJetPlusHOFilter+EXOMONOPOLE,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@ecal+@egamma'},steps['RECODR2_2016reHLT']]) steps['RECODR2_2016reHLT_skimMuOnia']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:BPHSkim,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@muon'},steps['RECODR2_2016reHLT']]) steps['RECODR2_2017reHLT_skimSingleMu']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:MuonPOGSkim+ZMu+MuTau,EI,PAT,ALCA:SiPixelCalSingleMuonLoose+SiPixelCalSingleMuonTight+SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@muon+@lumi+@L1TMuon'},steps['RECODR2_2017reHLT']]) steps['RECODR2_2017reHLT_skimDoubleEG']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:ZElectron,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@ecal+@egamma'},steps['RECODR2_2017reHLT']]) steps['RECODR2_2017reHLT_skimMuonEG']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:TopMuEG,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT'},steps['RECODR2_2017reHLT']]) -steps['RECODR2_2017reHLT_skimJetHT']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:JetHTJetPlusHOFilter,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcal'},steps['RECODR2_2017reHLT']]) +steps['RECODR2_2017reHLT_skimJetHT']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:JetHTJetPlusHOFilter,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcalOnly'},steps['RECODR2_2017reHLT']]) steps['RECODR2_2017reHLT_skimDisplacedJet']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:EXODisplacedJet,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT'},steps['RECODR2_2017reHLT']]) -steps['RECODR2_2017reHLT_skimMET']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:HighMET+EXOMONOPOLE,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcal'},steps['RECODR2_2017reHLT']]) +steps['RECODR2_2017reHLT_skimMET']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:HighMET+EXOMONOPOLE,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcalOnly'},steps['RECODR2_2017reHLT']]) steps['RECODR2_2017reHLT_skimSinglePh']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:SinglePhotonJetPlusHOFilter+EXOMONOPOLE,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@ecal+@egamma'},steps['RECODR2_2017reHLT']]) steps['RECODR2_2017reHLT_skimMuOnia']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:BPHSkim,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@muon'},steps['RECODR2_2017reHLT']]) steps['RECODR2_2017reHLT_skimCharmonium']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:MuonPOGJPsiSkim+BPHSkim,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT'},steps['RECODR2_2017reHLT']]) @@ -2391,9 +2391,9 @@ def gen2021HiMix(fragment,howMuch): steps['RECODR2_2018reHLT_skimSingleMu']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:MuonPOGSkim+ZMu+MuTau,EI,PAT,ALCA:SiPixelCalSingleMuonLoose+SiPixelCalSingleMuonTight+SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@muon+@lumi+@L1TMuon'},steps['RECODR2_2018reHLT']]) steps['RECODR2_2018reHLT_skimEGamma_L1TEgDQM']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:ZElectron+SinglePhotonJetPlusHOFilter+EXOMONOPOLE,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'},steps['RECODR2_2018reHLT']]) steps['RECODR2_2018reHLT_skimMuonEG']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:TopMuEG,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT'},steps['RECODR2_2018reHLT']]) -steps['RECODR2_2018reHLT_skimJetHT']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:JetHTJetPlusHOFilter,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcal'},steps['RECODR2_2018reHLT']]) +steps['RECODR2_2018reHLT_skimJetHT']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:JetHTJetPlusHOFilter,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcalOnly'},steps['RECODR2_2018reHLT']]) steps['RECODR2_2018reHLT_skimDisplacedJet']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:EXODisplacedJet,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT'},steps['RECODR2_2018reHLT']]) -steps['RECODR2_2018reHLT_skimMET']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:HighMET+EXOMONOPOLE,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcal'},steps['RECODR2_2018reHLT']]) +steps['RECODR2_2018reHLT_skimMET']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:HighMET+EXOMONOPOLE,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@jetmet+@hcalOnly'},steps['RECODR2_2018reHLT']]) steps['RECODR2_2018reHLT_skimMuOnia']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:BPHSkim,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT+@muon'},steps['RECODR2_2018reHLT']]) steps['RECODR2_2018reHLT_skimCharmonium']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:MuonPOGJPsiSkim+BPHSkim,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT'},steps['RECODR2_2018reHLT']]) steps['RECODR2_2018reHLT_skimParkingBPH']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:SkimBPark,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+SiStripCalSmallBiasScan+TkAlMinBias+EcalESAlign,DQM:@commonFakeHLT','--era':'Run2_2018,bParking'},steps['RECODR2_2018reHLT']]) @@ -2854,8 +2854,8 @@ def gen2021HiMix(fragment,howMuch): steps['HARVESTDR1reHLT'] = merge([ {'--conditions':'auto:run1_data_%s'%menu}, steps['HARVESTDR1'] ]) steps['HARVESTDR2'] = merge([ {'--conditions':'auto:run2_data_relval'}, steps['HARVESTD'] ]) steps['HARVESTDR2_skimDoubleEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma'}, steps['HARVESTDR2'] ]) -steps['HARVESTDR2_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVESTDR2'] ]) -steps['HARVESTDR2_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVESTDR2'] ]) +steps['HARVESTDR2_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVESTDR2'] ]) +steps['HARVESTDR2_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVESTDR2'] ]) steps['HARVESTDR2_skimMuonEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVESTDR2'] ]) steps['HARVESTDR2_skimSinglePh'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma'}, steps['HARVESTDR2'] ]) steps['HARVESTDR2_skimMuOnia'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@muon'}, steps['HARVESTDR2'] ]) @@ -2865,8 +2865,8 @@ def gen2021HiMix(fragment,howMuch): steps['HARVEST2016_L1TEgDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'}, steps['HARVEST2016'] ]) steps['HARVEST2016_L1TMuDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@muon+@lumi+@L1TMuon'}, steps['HARVEST2016'] ]) steps['HARVEST2016_skimDoubleEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma'}, steps['HARVEST2016'] ]) -steps['HARVEST2016_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2016'] ]) -steps['HARVEST2016_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2016'] ]) +steps['HARVEST2016_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVEST2016'] ]) +steps['HARVEST2016_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVEST2016'] ]) steps['HARVEST2016_skimMuonEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2016'] ]) steps['HARVEST2016_skimDisplacedJet'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2016'] ]) steps['HARVEST2016_skimSinglePh'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma'}, steps['HARVEST2016'] ]) @@ -2878,8 +2878,8 @@ def gen2021HiMix(fragment,howMuch): steps['HARVEST2017_L1TEgDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma+@L1TEgamma'}, steps['HARVEST2017'] ]) steps['HARVEST2017_L1TMuDQM'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@muon+@lumi+@L1TMuon'}, steps['HARVEST2017'] ]) steps['HARVEST2017_skimDoubleEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma'}, steps['HARVEST2017'] ]) -steps['HARVEST2017_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2017'] ]) -steps['HARVEST2017_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2017'] ]) +steps['HARVEST2017_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVEST2017'] ]) +steps['HARVEST2017_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVEST2017'] ]) steps['HARVEST2017_skimMuonEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2017'] ]) steps['HARVEST2017_skimDisplacedJet'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2017'] ]) steps['HARVEST2017_skimSinglePh'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@ecal+@egamma'}, steps['HARVEST2017'] ]) @@ -2899,16 +2899,16 @@ def gen2021HiMix(fragment,howMuch): steps['HARVEST2018_HCALOnly'] = merge([ {'-s':'HARVESTING:@hcalOnly'}, steps['HARVEST2018'] ]) steps['HARVEST2018_hBStar'] = merge([ {'--era' : 'Run2_2018_highBetaStar'}, steps['HARVEST2018'] ]) steps['HARVEST2018_HEfail'] = merge([ {'--conditions':'auto:run2_data_HEfail'}, steps['HARVEST2018'] ]) -steps['HARVEST2018_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2018'] ]) -steps['HARVEST2018_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2018'] ]) +steps['HARVEST2018_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVEST2018'] ]) +steps['HARVEST2018_skimMET'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVEST2018'] ]) steps['HARVEST2018_skimMuonEG'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2018'] ]) steps['HARVEST2018_skimMuOnia'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@muon'}, steps['HARVEST2018'] ]) steps['HARVEST2018_skimDisplacedJet'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2018'] ]) steps['HARVEST2018_skimCharmonium'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2018'] ]) steps['HARVEST2018_skimParkingBPH'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2018'] ]) -steps['HARVEST2018_HEfail_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2018_HEfail'] ]) -steps['HARVEST2018_skimJetHT_Prompt'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2018_Prompt'] ]) -steps['HARVEST2018_skimMET_Prompt'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcal'}, steps['HARVEST2018_Prompt'] ]) +steps['HARVEST2018_HEfail_skimJetHT'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVEST2018_HEfail'] ]) +steps['HARVEST2018_skimJetHT_Prompt'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVEST2018_Prompt'] ]) +steps['HARVEST2018_skimMET_Prompt'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@jetmet+@hcalOnly'}, steps['HARVEST2018_Prompt'] ]) steps['HARVEST2018_skimMuonEG_Prompt'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2018_Prompt'] ]) steps['HARVEST2018_skimMuOnia_Prompt'] = merge([ {'-s':'HARVESTING:@commonFakeHLT+@muon'}, steps['HARVEST2018_Prompt'] ]) steps['HARVEST2018_skimDisplacedJet_Prompt'] = merge([ {'-s':'HARVESTING:@commonFakeHLT'}, steps['HARVEST2018_Prompt'] ]) From 0c74cae8ea9a5fd78787529c34a4f0d82dd1e1b4 Mon Sep 17 00:00:00 2001 From: francescobrivio Date: Sun, 21 Nov 2021 23:51:05 +0100 Subject: [PATCH 086/268] Migrate Geometry to new `PoolDBOutputService` methods --- .../Geometry/plugins/CSCRecoIdealDBLoader.cc | 14 ++++++-------- .../Geometry/plugins/DTRecoIdealDBLoader.cc | 9 ++++----- .../Geometry/plugins/GEMRecoIdealDBLoader.cc | 9 ++++----- .../plugins/HcalParametersDBBuilder.cc | 9 ++++----- .../Geometry/plugins/ME0RecoIdealDBLoader.cc | 9 ++++----- .../Geometry/plugins/PGeometricDetBuilder.cc | 19 +++++++++---------- .../plugins/PHGCalParametersDBBuilder.cc | 7 +++---- ...ckerAdditionalParametersPerDetDBBuilder.cc | 9 ++++----- .../plugins/PTrackerParametersDBBuilder.cc | 9 ++++----- .../Geometry/plugins/RPCRecoIdealDBLoader.cc | 9 ++++----- .../Geometry/plugins/XMLGeometryBuilder.cc | 4 ++-- .../DTGeometry/test/DTRecoIdealDBLoader.cc | 9 ++++----- 12 files changed, 52 insertions(+), 64 deletions(-) diff --git a/CondTools/Geometry/plugins/CSCRecoIdealDBLoader.cc b/CondTools/Geometry/plugins/CSCRecoIdealDBLoader.cc index 13d58f7fe997a..bc8d7d917bbcd 100644 --- a/CondTools/Geometry/plugins/CSCRecoIdealDBLoader.cc +++ b/CondTools/Geometry/plugins/CSCRecoIdealDBLoader.cc @@ -43,8 +43,8 @@ CSCRecoIdealDBLoader::CSCRecoIdealDBLoader(const edm::ParameterSet& iC) { void CSCRecoIdealDBLoader::beginRun(const edm::Run&, edm::EventSetup const& es) { edm::LogInfo("CSCRecoIdealDBLoader") << "CSCRecoIdealDBLoader::beginRun"; - RecoIdealGeometry* rig = new RecoIdealGeometry; - CSCRecoDigiParameters* rdp = new CSCRecoDigiParameters; + RecoIdealGeometry rig; + CSCRecoDigiParameters rdp; edm::Service mydbservice; if (!mydbservice.isAvailable()) { edm::LogError("CSCRecoIdealDBLoader") << "PoolDBOutputService unavailable"; @@ -57,22 +57,20 @@ void CSCRecoIdealDBLoader::beginRun(const edm::Run&, edm::EventSetup const& es) if (fromDD4hep_) { auto pDD = es.getTransientHandle(dd4HepCompactViewToken_); const cms::DDCompactView& cpv = *pDD; - cscgp.build(&cpv, *pMNDC, *rig, *rdp); + cscgp.build(&cpv, *pMNDC, rig, rdp); } else { auto pDD = es.getTransientHandle(compactViewToken_); const DDCompactView& cpv = *pDD; - cscgp.build(&cpv, *pMNDC, *rig, *rdp); + cscgp.build(&cpv, *pMNDC, rig, rdp); } if (mydbservice->isNewTagRequest("CSCRecoGeometryRcd")) { - mydbservice->createNewIOV( - rig, mydbservice->beginOfTime(), mydbservice->endOfTime(), "CSCRecoGeometryRcd"); + mydbservice->createOneIOV(rig, mydbservice->beginOfTime(), "CSCRecoGeometryRcd"); } else { edm::LogError("CSCRecoIdealDBLoader") << "CSCRecoGeometryRcd Tag is already present."; } if (mydbservice->isNewTagRequest("CSCRecoDigiParametersRcd")) { - mydbservice->createNewIOV( - rdp, mydbservice->beginOfTime(), mydbservice->endOfTime(), "CSCRecoDigiParametersRcd"); + mydbservice->createOneIOV(rdp, mydbservice->beginOfTime(), "CSCRecoDigiParametersRcd"); } else { edm::LogError("CSCRecoIdealDBLoader") << "CSCRecoDigiParametersRcd Tag is already present."; } diff --git a/CondTools/Geometry/plugins/DTRecoIdealDBLoader.cc b/CondTools/Geometry/plugins/DTRecoIdealDBLoader.cc index 59ef334b2334f..c756e6a5d4b51 100644 --- a/CondTools/Geometry/plugins/DTRecoIdealDBLoader.cc +++ b/CondTools/Geometry/plugins/DTRecoIdealDBLoader.cc @@ -42,7 +42,7 @@ DTRecoIdealDBLoader::DTRecoIdealDBLoader(const edm::ParameterSet& iC) { } void DTRecoIdealDBLoader::beginRun(const edm::Run&, edm::EventSetup const& es) { - RecoIdealGeometry* rig = new RecoIdealGeometry; + RecoIdealGeometry rig; edm::Service mydbservice; if (!mydbservice.isAvailable()) { edm::LogError("DTRecoIdealDBLoader") << "PoolDBOutputService unavailable"; @@ -55,15 +55,14 @@ void DTRecoIdealDBLoader::beginRun(const edm::Run&, edm::EventSetup const& es) { if (fromDD4hep_) { auto pDD = es.getTransientHandle(dd4HepCompactViewToken_); const cms::DDCompactView& cpv = *pDD; - dtgp.build(&cpv, *pMNDC, *rig); + dtgp.build(&cpv, *pMNDC, rig); } else { auto pDD = es.getTransientHandle(compactViewToken_); const DDCompactView& cpv = *pDD; - dtgp.build(&cpv, *pMNDC, *rig); + dtgp.build(&cpv, *pMNDC, rig); } if (mydbservice->isNewTagRequest("DTRecoGeometryRcd")) { - mydbservice->createNewIOV( - rig, mydbservice->beginOfTime(), mydbservice->endOfTime(), "DTRecoGeometryRcd"); + mydbservice->createOneIOV(rig, mydbservice->beginOfTime(), "DTRecoGeometryRcd"); } else { edm::LogError("DTRecoIdealDBLoader") << "DTRecoGeometryRcd Tag is already present."; } diff --git a/CondTools/Geometry/plugins/GEMRecoIdealDBLoader.cc b/CondTools/Geometry/plugins/GEMRecoIdealDBLoader.cc index 599ceda3f6917..f0a16ce7b1762 100644 --- a/CondTools/Geometry/plugins/GEMRecoIdealDBLoader.cc +++ b/CondTools/Geometry/plugins/GEMRecoIdealDBLoader.cc @@ -55,21 +55,20 @@ void GEMRecoIdealDBLoader::beginRun(const edm::Run&, edm::EventSetup const& es) auto pMNDC = es.getHandle(muonGeomConstantsToken_); GEMGeometryParsFromDD rpcpd; - RecoIdealGeometry* rig = new RecoIdealGeometry; + RecoIdealGeometry rig; if (fromDD4hep_) { edm::LogVerbatim("GEMRecoIdealDBLoader") << "(0) GEMRecoIdealDBLoader - DD4hep "; auto pDD = es.getTransientHandle(dd4HepCompactViewToken_); const cms::DDCompactView& cpv = *pDD; - rpcpd.build(&cpv, *pMNDC, *rig); + rpcpd.build(&cpv, *pMNDC, rig); } else { edm::LogVerbatim("GEMRecoIdealDBLoader") << "(0) GEMRecoIdealDBLoader - DDD "; auto pDD = es.getTransientHandle(compactViewToken_); const DDCompactView& cpv = *pDD; - rpcpd.build(&cpv, *pMNDC, *rig); + rpcpd.build(&cpv, *pMNDC, rig); } - mydbservice->createNewIOV( - rig, mydbservice->beginOfTime(), mydbservice->endOfTime(), "GEMRecoGeometryRcd"); + mydbservice->createOneIOV(rig, mydbservice->beginOfTime(), "GEMRecoGeometryRcd"); } else { edm::LogError("GEMRecoIdealDBLoader") << "GEMRecoGeometryRcd Tag is already present"; } diff --git a/CondTools/Geometry/plugins/HcalParametersDBBuilder.cc b/CondTools/Geometry/plugins/HcalParametersDBBuilder.cc index 2f9daab65aa5c..633efe2f2b146 100644 --- a/CondTools/Geometry/plugins/HcalParametersDBBuilder.cc +++ b/CondTools/Geometry/plugins/HcalParametersDBBuilder.cc @@ -47,7 +47,7 @@ void HcalParametersDBBuilder::fillDescriptions(edm::ConfigurationDescriptions& d } void HcalParametersDBBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) { - HcalParameters* php = new HcalParameters; + HcalParameters php; edm::Service mydbservice; if (!mydbservice.isAvailable()) { edm::LogError("HcalParametersDBBuilder") << "PoolDBOutputService unavailable"; @@ -61,18 +61,17 @@ void HcalParametersDBBuilder::beginRun(const edm::Run&, edm::EventSetup const& e edm::LogVerbatim("HCalGeom") << "HcalParametersDBBuilder::Try to access cms::DDCompactView"; #endif auto cpv = es.getTransientHandle(dd4HepCompactViewToken_); - builder.build((*cpv), *php); + builder.build((*cpv), php); } else { #ifdef EDM_ML_DEBUG edm::LogVerbatim("HCalGeom") << "HcalParametersDBBuilder::Try to access DDCompactView"; #endif auto cpv = es.getTransientHandle(compactViewToken_); - builder.build(&(*cpv), *php); + builder.build(&(*cpv), php); } if (mydbservice->isNewTagRequest("HcalParametersRcd")) { - mydbservice->createNewIOV( - php, mydbservice->beginOfTime(), mydbservice->endOfTime(), "HcalParametersRcd"); + mydbservice->createOneIOV(php, mydbservice->beginOfTime(), "HcalParametersRcd"); } else { edm::LogError("HcalParametersDBBuilder") << "HcalParameters and HcalParametersRcd Tag already present"; } diff --git a/CondTools/Geometry/plugins/ME0RecoIdealDBLoader.cc b/CondTools/Geometry/plugins/ME0RecoIdealDBLoader.cc index 89de15af570f1..5f5ab6ace1957 100644 --- a/CondTools/Geometry/plugins/ME0RecoIdealDBLoader.cc +++ b/CondTools/Geometry/plugins/ME0RecoIdealDBLoader.cc @@ -52,20 +52,19 @@ void ME0RecoIdealDBLoader::beginRun(const edm::Run&, edm::EventSetup const& es) if (mydbservice->isNewTagRequest("ME0RecoGeometryRcd")) { auto pMNDC = es.getHandle(muonGeomConstantsToken_); ME0GeometryParsFromDD me0pd; - RecoIdealGeometry* rig = new RecoIdealGeometry; + RecoIdealGeometry rig; if (fromDD4hep_) { edm::LogVerbatim("ME0RecoIdealDBLoader") << "(0) ME0RecoIdealDBLoader - DD4hep "; auto pDD = es.getTransientHandle(dd4HepCompactViewToken_); const cms::DDCompactView& cpv = *pDD; - me0pd.build(&cpv, *pMNDC, *rig); + me0pd.build(&cpv, *pMNDC, rig); } else { edm::LogVerbatim("ME0RecoIdealDBLoader") << "(0) ME0RecoIdealDBLoader - DDD "; auto pDD = es.getTransientHandle(compactViewToken_); const DDCompactView& cpv = *pDD; - me0pd.build(&cpv, *pMNDC, *rig); + me0pd.build(&cpv, *pMNDC, rig); } - mydbservice->createNewIOV( - rig, mydbservice->beginOfTime(), mydbservice->endOfTime(), "ME0RecoGeometryRcd"); + mydbservice->createOneIOV(rig, mydbservice->beginOfTime(), "ME0RecoGeometryRcd"); } else { edm::LogError("ME0RecoIdealDBLoader") << "ME0RecoGeometryRcd Tag is already present"; } diff --git a/CondTools/Geometry/plugins/PGeometricDetBuilder.cc b/CondTools/Geometry/plugins/PGeometricDetBuilder.cc index 5b4ad5d8d4302..d392e01a68aed 100644 --- a/CondTools/Geometry/plugins/PGeometricDetBuilder.cc +++ b/CondTools/Geometry/plugins/PGeometricDetBuilder.cc @@ -45,7 +45,7 @@ PGeometricDetBuilder::PGeometricDetBuilder(const edm::ParameterSet& iConfig) { } void PGeometricDetBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) { - PGeometricDet* pgd = new PGeometricDet; + PGeometricDet pgd; edm::Service mydbservice; if (!mydbservice.isAvailable()) { edm::LogError("PGeometricDetBuilder") << "PoolDBOutputService unavailable"; @@ -59,14 +59,14 @@ void PGeometricDetBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) const GeometricDet* tracker = &es.getData(geometricDetToken_); // so now I have the tracker itself. loop over all its components to store them. - putOne(tracker, pgd, 0); + putOne(tracker, &pgd, 0); std::vector tc = tracker->components(); std::vector::const_iterator git = tc.begin(); std::vector::const_iterator egit = tc.end(); int count = 0; int lev = 1; for (; git != egit; ++git) { // one level below "tracker" - putOne(*git, pgd, lev); + putOne(*git, &pgd, lev); std::vector inone = (*git)->components(); if (inone.empty()) ++count; @@ -74,7 +74,7 @@ void PGeometricDetBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) std::vector::const_iterator egit2 = inone.end(); ++lev; for (; git2 != egit2; ++git2) { // level 2 - putOne(*git2, pgd, lev); + putOne(*git2, &pgd, lev); std::vector intwo = (*git2)->components(); if (intwo.empty()) ++count; @@ -82,7 +82,7 @@ void PGeometricDetBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) std::vector::const_iterator egit3 = intwo.end(); ++lev; for (; git3 != egit3; ++git3) { // level 3 - putOne(*git3, pgd, lev); + putOne(*git3, &pgd, lev); std::vector inthree = (*git3)->components(); if (inthree.empty()) ++count; @@ -90,7 +90,7 @@ void PGeometricDetBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) std::vector::const_iterator egit4 = inthree.end(); ++lev; for (; git4 != egit4; ++git4) { //level 4 - putOne(*git4, pgd, lev); + putOne(*git4, &pgd, lev); std::vector infour = (*git4)->components(); if (infour.empty()) ++count; @@ -98,7 +98,7 @@ void PGeometricDetBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) std::vector::const_iterator egit5 = infour.end(); ++lev; for (; git5 != egit5; ++git5) { // level 5 - putOne(*git5, pgd, lev); + putOne(*git5, &pgd, lev); std::vector infive = (*git5)->components(); if (infive.empty()) ++count; @@ -106,7 +106,7 @@ void PGeometricDetBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) std::vector::const_iterator egit6 = infive.end(); ++lev; for (; git6 != egit6; ++git6) { //level 6 - putOne(*git6, pgd, lev); + putOne(*git6, &pgd, lev); std::vector insix = (*git6)->components(); if (insix.empty()) ++count; @@ -123,8 +123,7 @@ void PGeometricDetBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) } std::vector modules = tracker->deepComponents(); if (mydbservice->isNewTagRequest("IdealGeometryRecord")) { - mydbservice->createNewIOV( - pgd, mydbservice->beginOfTime(), mydbservice->endOfTime(), "IdealGeometryRecord"); + mydbservice->createOneIOV(pgd, mydbservice->beginOfTime(), "IdealGeometryRecord"); } else { edm::LogError("PGeometricDetBuilder") << "PGeometricDetBuilder Tag already present"; } diff --git a/CondTools/Geometry/plugins/PHGCalParametersDBBuilder.cc b/CondTools/Geometry/plugins/PHGCalParametersDBBuilder.cc index f25221f3b4795..86ca0febfc236 100644 --- a/CondTools/Geometry/plugins/PHGCalParametersDBBuilder.cc +++ b/CondTools/Geometry/plugins/PHGCalParametersDBBuilder.cc @@ -63,7 +63,7 @@ void PHGCalParametersDBBuilder::fillDescriptions(edm::ConfigurationDescriptions& } void PHGCalParametersDBBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) { - PHGCalParameters* phgp = new PHGCalParameters; + PHGCalParameters phgp; edm::Service mydbservice; if (!mydbservice.isAvailable()) { edm::LogError("PHGCalParametersDBBuilder") << "PoolDBOutputService unavailable"; @@ -85,12 +85,11 @@ void PHGCalParametersDBBuilder::beginRun(const edm::Run&, edm::EventSetup const& auto cpv = es.getTransientHandle(compactViewToken_); builder.build(cpv.product(), *ptp, name_, namew_, namec_, namet_); } - swapParameters(ptp, phgp); + swapParameters(ptp, &phgp); delete ptp; if (mydbservice->isNewTagRequest("PHGCalParametersRcd")) { - mydbservice->createNewIOV( - phgp, mydbservice->beginOfTime(), mydbservice->endOfTime(), "PHGCalParametersRcd"); + mydbservice->createOneIOV(phgp, mydbservice->beginOfTime(), "PHGCalParametersRcd"); } else { edm::LogError("PHGCalParametersDBBuilder") << "PHGCalParameters and PHGCalParametersRcd Tag already present"; } diff --git a/CondTools/Geometry/plugins/PTrackerAdditionalParametersPerDetDBBuilder.cc b/CondTools/Geometry/plugins/PTrackerAdditionalParametersPerDetDBBuilder.cc index 670dff3696d55..23d9a0d811486 100644 --- a/CondTools/Geometry/plugins/PTrackerAdditionalParametersPerDetDBBuilder.cc +++ b/CondTools/Geometry/plugins/PTrackerAdditionalParametersPerDetDBBuilder.cc @@ -25,7 +25,7 @@ PTrackerAdditionalParametersPerDetDBBuilder::PTrackerAdditionalParametersPerDetD : geomDetToken_(esConsumes()) {} void PTrackerAdditionalParametersPerDetDBBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) { - PTrackerAdditionalParametersPerDet* ptitp = new PTrackerAdditionalParametersPerDet; + PTrackerAdditionalParametersPerDet ptitp; edm::Service mydbservice; if (!mydbservice.isAvailable()) { edm::LogError("PTrackerAdditionalParametersPerDetDBBuilder") << "PoolDBOutputService unavailable"; @@ -38,13 +38,12 @@ void PTrackerAdditionalParametersPerDetDBBuilder::beginRun(const edm::Run&, edm: gd->deepComponents(comp); for (auto& i : comp) { - ptitp->setGeographicalId(i->geographicalId()); - ptitp->setBricked(i->isBricked()); + ptitp.setGeographicalId(i->geographicalId()); + ptitp.setBricked(i->isBricked()); } if (mydbservice->isNewTagRequest("PTrackerAdditionalParametersPerDetRcd")) { - mydbservice->createNewIOV( - ptitp, mydbservice->beginOfTime(), mydbservice->endOfTime(), "PTrackerAdditionalParametersPerDetRcd"); + mydbservice->createOneIOV(ptitp, mydbservice->beginOfTime(), "PTrackerAdditionalParametersPerDetRcd"); } else { edm::LogError("PTrackerAdditionalParametersPerDetDBBuilder") << "PTrackerAdditionalParametersPerDet and PTrackerAdditionalParametersPerDetRcd Tag already present"; diff --git a/CondTools/Geometry/plugins/PTrackerParametersDBBuilder.cc b/CondTools/Geometry/plugins/PTrackerParametersDBBuilder.cc index 7013331e71f41..39f4c1a403c0c 100644 --- a/CondTools/Geometry/plugins/PTrackerParametersDBBuilder.cc +++ b/CondTools/Geometry/plugins/PTrackerParametersDBBuilder.cc @@ -31,7 +31,7 @@ PTrackerParametersDBBuilder::PTrackerParametersDBBuilder(const edm::ParameterSet } void PTrackerParametersDBBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) { - PTrackerParameters* ptp = new PTrackerParameters; + PTrackerParameters ptp; edm::Service mydbservice; if (!mydbservice.isAvailable()) { edm::LogError("PTrackerParametersDBBuilder") << "PoolDBOutputService unavailable"; @@ -42,15 +42,14 @@ void PTrackerParametersDBBuilder::beginRun(const edm::Run&, edm::EventSetup cons if (!fromDD4hep_) { auto cpv = es.getTransientHandle(compactViewToken_); - builder.build(&(*cpv), *ptp); + builder.build(&(*cpv), ptp); } else { auto cpv = es.getTransientHandle(dd4HepCompactViewToken_); - builder.build(&(*cpv), *ptp); + builder.build(&(*cpv), ptp); } if (mydbservice->isNewTagRequest("PTrackerParametersRcd")) { - mydbservice->createNewIOV( - ptp, mydbservice->beginOfTime(), mydbservice->endOfTime(), "PTrackerParametersRcd"); + mydbservice->createOneIOV(ptp, mydbservice->beginOfTime(), "PTrackerParametersRcd"); } else { edm::LogError("PTrackerParametersDBBuilder") << "PTrackerParameters and PTrackerParametersRcd Tag already present"; } diff --git a/CondTools/Geometry/plugins/RPCRecoIdealDBLoader.cc b/CondTools/Geometry/plugins/RPCRecoIdealDBLoader.cc index 82c596be75210..92b6f90e70373 100644 --- a/CondTools/Geometry/plugins/RPCRecoIdealDBLoader.cc +++ b/CondTools/Geometry/plugins/RPCRecoIdealDBLoader.cc @@ -41,7 +41,7 @@ RPCRecoIdealDBLoader::RPCRecoIdealDBLoader(const edm::ParameterSet& iC) { } void RPCRecoIdealDBLoader::beginRun(const edm::Run&, edm::EventSetup const& es) { - RecoIdealGeometry* rig = new RecoIdealGeometry; + RecoIdealGeometry rig; edm::Service mydbservice; if (!mydbservice.isAvailable()) { edm::LogError("RPCRecoIdealDBLoader") << "PoolDBOutputService unavailable"; @@ -54,15 +54,14 @@ void RPCRecoIdealDBLoader::beginRun(const edm::Run&, edm::EventSetup const& es) if (fromDD4hep_) { auto pDD = es.getTransientHandle(dd4HepCompactViewToken_); const cms::DDCompactView& cpv = *pDD; - rpcpd.build(&cpv, *pMNDC, *rig); + rpcpd.build(&cpv, *pMNDC, rig); } else { auto pDD = es.getTransientHandle(compactViewToken_); const DDCompactView& cpv = *pDD; - rpcpd.build(&cpv, *pMNDC, *rig); + rpcpd.build(&cpv, *pMNDC, rig); } if (mydbservice->isNewTagRequest("RPCRecoGeometryRcd")) { - mydbservice->createNewIOV( - rig, mydbservice->beginOfTime(), mydbservice->endOfTime(), "RPCRecoGeometryRcd"); + mydbservice->createOneIOV(rig, mydbservice->beginOfTime(), "RPCRecoGeometryRcd"); } else { edm::LogError("RPCRecoIdealDBLoader") << "RPCRecoGeometryRcd Tag is already present."; } diff --git a/CondTools/Geometry/plugins/XMLGeometryBuilder.cc b/CondTools/Geometry/plugins/XMLGeometryBuilder.cc index 1611fdaf1b380..610afe50951a8 100644 --- a/CondTools/Geometry/plugins/XMLGeometryBuilder.cc +++ b/CondTools/Geometry/plugins/XMLGeometryBuilder.cc @@ -43,10 +43,10 @@ void XMLGeometryBuilder::beginJob() { return; } - FileBlob* pgf = new FileBlob(m_fname, m_zip); + FileBlob pgf(m_fname, m_zip); if (mydbservice->isNewTagRequest(m_record)) { - mydbservice->createNewIOV(pgf, mydbservice->beginOfTime(), mydbservice->endOfTime(), m_record); + mydbservice->createOneIOV(pgf, mydbservice->beginOfTime(), m_record); } else { edm::LogError("XMLGeometryBuilder") << "GeometryFileRcd Tag already exist"; } diff --git a/Geometry/DTGeometry/test/DTRecoIdealDBLoader.cc b/Geometry/DTGeometry/test/DTRecoIdealDBLoader.cc index a3ebef5b2860d..fdc1dd179b0c8 100644 --- a/Geometry/DTGeometry/test/DTRecoIdealDBLoader.cc +++ b/Geometry/DTGeometry/test/DTRecoIdealDBLoader.cc @@ -50,7 +50,7 @@ DTRecoIdealDBLoader::~DTRecoIdealDBLoader() { std::cout << "DTRecoIdealDBLoader: void DTRecoIdealDBLoader::analyze(const edm::Event& evt, const edm::EventSetup& es) { std::cout << "DTRecoIdealDBLoader::beginJob" << std::endl; - RecoIdealGeometry* rig = new RecoIdealGeometry; + RecoIdealGeometry rig; edm::Service mydbservice; if (!mydbservice.isAvailable()) { @@ -62,13 +62,12 @@ void DTRecoIdealDBLoader::analyze(const edm::Event& evt, const edm::EventSetup& const auto& pMNDC = &es.getData(tokDT_); DTGeometryParsFromDD dtgp; - dtgp.build(&cpv, *pMNDC, *rig); - std::cout << "RecoIdealGeometry " << rig->size() << std::endl; + dtgp.build(&cpv, *pMNDC, rig); + std::cout << "RecoIdealGeometry " << rig.size() << std::endl; if (mydbservice->isNewTagRequest("RecoIdealGeometryRcd")) { cout << "mydbservice " << mydbservice->beginOfTime() << " to " << mydbservice->endOfTime() << endl; - mydbservice->createNewIOV( - rig, mydbservice->beginOfTime(), mydbservice->endOfTime(), "RecoIdealGeometryRcd"); + mydbservice->createOneIOV(rig, mydbservice->beginOfTime(), "RecoIdealGeometryRcd"); } else { std::cout << "RecoIdealGeometryRcd Tag is already present." << std::endl; } From 7b483a1d76362f0b10380862e52b8b7060c15750 Mon Sep 17 00:00:00 2001 From: yulunmiao <60363605+yulunmiao@users.noreply.github.com> Date: Sun, 21 Nov 2021 19:29:25 -0600 Subject: [PATCH 087/268] Delete file in wrong folder --- .../HGCalValidation/HGCalWaferValidation.cc | 529 ------------------ 1 file changed, 529 deletions(-) delete mode 100644 Validation/HGCalValidation/HGCalWaferValidation.cc diff --git a/Validation/HGCalValidation/HGCalWaferValidation.cc b/Validation/HGCalValidation/HGCalWaferValidation.cc deleted file mode 100644 index ea5eda8506de1..0000000000000 --- a/Validation/HGCalValidation/HGCalWaferValidation.cc +++ /dev/null @@ -1,529 +0,0 @@ -// -*- C++ -*- -// -// Package: Validation/HGCalValidation -// Class: HGCalWaferValidation -// -/**\class HGCalWaferValidation HGCalWaferValidation.cc Validation/HGCalValidation/plugins/HGCalWaferValidation.cc - - Description: Validates HGCal wafer data inside DD against specifications given in a flat text file. - - Implementation: - * Uses GraphWalker to follow DD hierarchy to find HGCal EE module and the HE modules. - * Search of wafer layers and iterates each wafer found. - * Extract x, y coordinate position from wafer positioning; thickness, u & v coords from copyNo. - Wafer shape and rotation are extracted from given names of wafer logical volumes. - * All extracted wafer info saved into a map indexed by (layer#, u, v). - * Each line in flat text file are compared against wafer information in the map. - Any errors are reported, counted and summarized at the end. - * Unaccounted wafers, which are in DD but not in the flat text file, are also reported and counted. -*/ -// -// Original Author: Imran Yusuff -// Created: Thu, 27 May 2021 19:47:08 GMT -// -// Modified by: Yulun Miao -// Modified at: Wed, 17 Nov 2021 21:04:10 UTC -/* - Details of Modification: - * Use the l or h preceding the thickness to determine the type of flat file - * Unified partial wafer information to HGCalTypes.h to allow cross-compare -*/ -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/one/EDAnalyzer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ParameterSet/interface/FileInPath.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include "DetectorDescription/Core/interface/DDCompactView.h" -#include "Geometry/Records/interface/IdealGeometryRecord.h" -#include "Geometry/HGCalCommonData/interface/HGCalTypes.h" - -#include -#include - -// -// class declaration -// - -// If the analyzer does not use TFileService, please remove -// the template argument to the base class so the class inherits -// from edm::one::EDAnalyzer<> -// This will improve performance in multithreaded jobs. - -class HGCalWaferValidation : public edm::one::EDAnalyzer<> { -public: - explicit HGCalWaferValidation(const edm::ParameterSet&); - ~HGCalWaferValidation() override; - - static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); - -private: - // This is MessageLogger logging category - const std::string logcat = "HGCalWaferValidation"; - - // wafer coordinate is (layer, u, v), used as index for map - using WaferCoord = std::tuple; - - std::string strWaferCoord(const WaferCoord& coord); - - bool DDFindHGCal(DDCompactView::GraphWalker& walker, std::string targetName); - void DDFindWafers(DDCompactView::GraphWalker& walker); - void ProcessWaferLayer(DDCompactView::GraphWalker& walker); - - void beginJob() override; - void analyze(const edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - // ----------member data --------------------------- - // module parameters - edm::FileInPath geometryFileName_; - - // struct to hold wafer information from DD in map - struct WaferInfo { - int thickClass; - double x; - double y; - int shapeCode; - int rotCode; - }; - - // EDM token to access DD - edm::ESGetToken viewToken_; - - // map holding all wafer properties from DD - std::map waferData; - - // boolean map to keep track of unaccounted DD wafers (not in flat file) - std::map waferValidated; -}; - -// -// constants, enums and typedefs -// - -// -// static data member definitions -// - -// -// constructors and destructor -// -HGCalWaferValidation::HGCalWaferValidation(const edm::ParameterSet& iConfig) - : geometryFileName_(iConfig.getParameter("GeometryFileName")) { - viewToken_ = esConsumes(); - //now do what ever initialization is needed -} - -HGCalWaferValidation::~HGCalWaferValidation() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) - // - // please remove this method altogether if it would be left empty -} - -// -// member functions -// - -// convert WaferCoord tuple to string representation (i.e. for printing) -std::string HGCalWaferValidation::strWaferCoord(const WaferCoord& coord) { - std::stringstream ss; - ss << "(" << std::get<0>(coord) << "," << std::get<1>(coord) << "," << std::get<2>(coord) << ")"; - return ss.str(); -} - -// ----- find HGCal entry among the DD ----- -bool HGCalWaferValidation::DDFindHGCal(DDCompactView::GraphWalker& walker, std::string targetName) { - if (walker.current().first.name().name() == targetName) { - // target found - return true; - } - if (walker.firstChild()) { - do { - if (DDFindHGCal(walker, targetName)) - // target inside child - return true; - } while (walker.nextSibling()); - walker.parent(); - } - return false; -} - -// ----- find the next wafer, then process the wafer layer ----- -void HGCalWaferValidation::DDFindWafers(DDCompactView::GraphWalker& walker) { - if (walker.current().first.name().fullname().rfind("hgcalwafer:", 0) == 0) { - // first wafer found. Now process the entire layer of wafers. - ProcessWaferLayer(walker); - return; - } - if (walker.firstChild()) { - do { - DDFindWafers(walker); - } while (walker.nextSibling()); - walker.parent(); - } -} - -// ----- process the layer of wafers ----- -void HGCalWaferValidation::ProcessWaferLayer(DDCompactView::GraphWalker& walker) { - static int waferLayer = 0; // layer numbers in DD are assumed to be sequential from 1 - waferLayer++; - edm::LogVerbatim(logcat) << "ProcessWaferLayer: Processing layer " << waferLayer; - do { - if (walker.current().first.name().fullname().rfind("hgcalwafer:", 0) == 0) { - auto wafer = walker.current(); - const std::string waferName(walker.current().first.name().fullname()); - const int copyNo = wafer.second->copyno(); - // extract DD layer properties - const int waferType = HGCalTypes::getUnpackedType(copyNo); - const int waferU = HGCalTypes::getUnpackedU(copyNo); - const int waferV = HGCalTypes::getUnpackedV(copyNo); - const WaferCoord waferCoord(waferLayer, waferU, waferV); // map index - // build struct of DD wafer properties - struct WaferInfo waferInfo; - waferInfo.thickClass = waferType; - waferInfo.x = wafer.second->translation().x(); - waferInfo.y = wafer.second->translation().y(); - const std::string waferNameData = - std::regex_replace(waferName, - std::regex("(HGCal[EH]E)(Wafer[01])(Fine|Coarse[12])([a-z]*)([0-9]*)"), - "$1 $2-$3 $4 $5", - std::regex_constants::format_no_copy); - std::stringstream ss(waferNameData); - std::string EEorHE; - std::string typeStr; - std::string shapeStr; - std::string rotStr; - ss >> EEorHE >> typeStr >> shapeStr >> rotStr; - // assume rotational symmetry of full-sized wafers - if (shapeStr.empty()) - shapeStr = "F"; - if (rotStr.empty()) - rotStr = "0"; - const int rotCode(std::stoi(rotStr)); - //edm::LogVerbatim(logcat) << "rotStr " << rotStr << " rotCode " << rotCode; - - // convert shape code to wafer types defined in HGCalTypes.h - waferInfo.shapeCode = 99; - if (shapeStr == "F") - waferInfo.shapeCode = 0; - else if (shapeStr == "a") - waferInfo.shapeCode = 4; - else if (shapeStr == "am") - waferInfo.shapeCode = 8; - else if (shapeStr == "b") - waferInfo.shapeCode = 1; - else if (shapeStr == "bm") - waferInfo.shapeCode = 9; - else if (shapeStr == "c") - waferInfo.shapeCode = 7; - else if (shapeStr == "d") - waferInfo.shapeCode = 5; - else if (shapeStr == "dm") - waferInfo.shapeCode = 6; - else if (shapeStr == "g") - waferInfo.shapeCode = 2; - else if (shapeStr == "gm") - waferInfo.shapeCode = 3; - - waferInfo.rotCode = rotCode; - // populate the map - waferData[waferCoord] = waferInfo; - waferValidated[waferCoord] = false; - } - } while (walker.nextSibling()); -} - -// ------------ method called for each event ------------ -void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - - // Get the CMS DD - auto viewH = iSetup.getHandle(viewToken_); - - if (!viewH.isValid()) { - edm::LogPrint(logcat) << "Error obtaining geometry handle!"; - return; - } - - edm::LogVerbatim(logcat) << "Root is : " << viewH->root(); - edm::LogVerbatim(logcat) << std::endl; - - // find HGCalEE - auto eeWalker = viewH->walker(); - const bool eeFound = DDFindHGCal(eeWalker, "HGCalEE"); - if (eeFound) { - edm::LogVerbatim(logcat) << "HGCalEE found!"; - edm::LogVerbatim(logcat) << "name = " << eeWalker.current().first.name().name(); - edm::LogVerbatim(logcat) << "fullname = " << eeWalker.current().first.name().fullname(); - } else { - edm::LogPrint(logcat) << "HGCalEE not found!"; - } - edm::LogVerbatim(logcat) << std::endl; - - // find HGCalHEsil - auto hesilWalker = viewH->walker(); - const bool hesilFound = DDFindHGCal(hesilWalker, "HGCalHEsil"); - if (hesilFound) { - edm::LogVerbatim(logcat) << "HGCalHEsil found!"; - edm::LogVerbatim(logcat) << "name = " << hesilWalker.current().first.name().name(); - edm::LogVerbatim(logcat) << "fullname = " << hesilWalker.current().first.name().fullname(); - } else { - edm::LogPrint(logcat) << "HGCalHEsil not found!"; - } - edm::LogVerbatim(logcat) << std::endl; - - // find HGCalHEmix - auto hemixWalker = viewH->walker(); - const bool hemixFound = DDFindHGCal(hemixWalker, "HGCalHEmix"); - if (hemixFound) { - edm::LogVerbatim(logcat) << "HGCalHEmix found!"; - edm::LogVerbatim(logcat) << "name = " << hemixWalker.current().first.name().name(); - edm::LogVerbatim(logcat) << "fullname = " << hemixWalker.current().first.name().fullname(); - } else { - edm::LogPrint(logcat) << "HGCalHEmix not found!"; - } - edm::LogVerbatim(logcat) << std::endl; - - // give up if no HGCal found at all - if (!(eeFound || hesilFound || hemixFound)) { - edm::LogPrint(logcat) << "Nothing found. Giving up."; - return; - } - - // Now walk the HGCalEE walker to find the first wafer on each layer and process them - edm::LogVerbatim(logcat) << "Calling DDFindWafers(eeWalker);"; - DDFindWafers(eeWalker); - - // Walk the HGCalHEsilwalker to find the first wafer on each layer and process them - edm::LogVerbatim(logcat) << "Calling DDFindWafers(hesilWalker);"; - DDFindWafers(hesilWalker); - - // Walk the HGCalHEmix walker to find the first wafer on each layer and process them - edm::LogVerbatim(logcat) << "Calling DDFindWafers(hemixWalker);"; - DDFindWafers(hemixWalker); - - // Confirm all the DD wafers have been read - edm::LogVerbatim(logcat) << "Number of wafers read from DD: " << waferData.size(); - - // Now open the geometry text file - std::string fileName = geometryFileName_.fullPath(); - edm::LogVerbatim(logcat) << "Opening geometry text file: " << fileName; - std::ifstream geoTxtFile(fileName); - - if (!geoTxtFile) { - edm::LogPrint(logcat) << "Cannot open geometry text file."; - return; - } - - // total processed counter - int nTotalProcessed = 0; - - // geometry error counters - int nMissing = 0; - int nThicknessError = 0; - int nPosXError = 0; - int nPosYError = 0; - int nShapeError = 0; - int nRotError = 0; - int nUnaccounted = 0; - - std::string buf; - - // process each line on the text file - while (std::getline(geoTxtFile, buf)) { - std::stringstream ss(buf); - std::vector tokens; - while (ss >> buf) - if (!buf.empty()) - tokens.push_back(buf); - if (tokens.size() != 8) - continue; - - nTotalProcessed++; - - int waferLayer; - std::string waferShapeStr; - std::string waferDensityStr; - int waferThickness; - double waferX; - double waferY; - int waferRotCode; - int waferU; - int waferV; - int waferShapeCode; - // extract wafer info from a textfile line - if (tokens[2].substr(0, 1) == "l" || tokens[2].substr(0, 1) == "h") { - //if using new format flat file - waferLayer = std::stoi(tokens[0]); - waferShapeStr = tokens[1]; - waferDensityStr = tokens[2].substr(0, 1); - waferThickness = std::stoi(tokens[2].substr(1)); - waferX = std::stod(tokens[3]); - waferY = std::stod(tokens[4]); - waferRotCode = std::stoi(tokens[5]); - waferU = std::stoi(tokens[6]); - waferV = std::stoi(tokens[7]); - waferShapeCode = 99; - if (waferDensityStr == "l") { - if (waferShapeStr == "0") - waferShapeCode = 0; - else if (waferShapeStr == "1" || waferShapeStr == "2") - waferShapeCode = 4; - else if (waferShapeStr == "3" || waferShapeStr == "4") - waferShapeCode = 5; - else if (waferShapeStr == "5") - waferShapeCode = 1; - else if (waferShapeStr == "6") - waferShapeCode = 7; - } else if (waferDensityStr == "h") { - if (waferShapeStr == "0") - waferShapeCode = 0; - else if (waferShapeStr == "1") - waferShapeCode = 8; - else if (waferShapeStr == "2") - waferShapeCode = 3; - else if (waferShapeStr == "3" || waferShapeStr == "4") - waferShapeCode = 6; - else if (waferShapeStr == "5") - waferShapeCode = 9; - } - } else { - //if using old format flat file - waferLayer = std::stoi(tokens[0]); - waferShapeStr = tokens[1]; - waferThickness = std::stoi(tokens[2]); - waferX = std::stod(tokens[3]); - waferY = std::stod(tokens[4]); - waferRotCode = (std::stoi(tokens[5])); - waferU = std::stoi(tokens[6]); - waferV = std::stoi(tokens[7]); - waferShapeCode = 99; - if (waferShapeStr == "F") - waferShapeCode = 0; - else if (waferShapeStr == "a") - waferShapeCode = 4; - else if (waferShapeStr == "am") - waferShapeCode = 8; - else if (waferShapeStr == "b") - waferShapeCode = 1; - else if (waferShapeStr == "bm") - waferShapeCode = 9; - else if (waferShapeStr == "c") - waferShapeCode = 7; - else if (waferShapeStr == "d") - waferShapeCode = 5; - else if (waferShapeStr == "dm") - waferShapeCode = 6; - else if (waferShapeStr == "g") - waferShapeCode = 2; - else if (waferShapeStr == "gm") - waferShapeCode = 3; - } - - // map index for crosschecking with DD - const WaferCoord waferCoord(waferLayer, waferU, waferV); - - // now check for (and report) wafer data disagreements - - if (waferData.find(waferCoord) == waferData.end()) { - nMissing++; - edm::LogVerbatim(logcat) << "MISSING: " << strWaferCoord(waferCoord); - continue; - } - - const struct WaferInfo waferInfo = waferData[waferCoord]; - waferValidated[waferCoord] = true; - - if ((waferInfo.thickClass == 0 && waferThickness != 120) || (waferInfo.thickClass == 1 && waferThickness != 200) || - (waferInfo.thickClass == 2 && waferThickness != 300)) { - nThicknessError++; - edm::LogVerbatim(logcat) << "THICKNESS ERROR: " << strWaferCoord(waferCoord); - } - - // it seems that wafer x-coords relative to their layer plane are mirrored... - if (fabs(-waferInfo.x - waferX) > 0.015) { // assuming this much tolerance - nPosXError++; - edm::LogVerbatim(logcat) << "POSITION x ERROR: " << strWaferCoord(waferCoord); - } - - if (fabs(waferInfo.y - waferY) > 0.015) { // assuming this much tolerance - nPosYError++; - edm::LogVerbatim(logcat) << "POSITION y ERROR: " << strWaferCoord(waferCoord); - } - - if (waferInfo.shapeCode != waferShapeCode || waferShapeCode == 99) { - nShapeError++; - edm::LogVerbatim(logcat) << "SHAPE ERROR: " << strWaferCoord(waferCoord); - } - - if ((waferShapeCode != 0 && waferInfo.rotCode != waferRotCode) || - (waferShapeCode == 0 && (waferInfo.rotCode % 2 != waferRotCode % 2))) { - nRotError++; - edm::LogVerbatim(logcat) << "ROTATION ERROR: " << strWaferCoord(waferCoord) << " ( " << waferInfo.rotCode - << " != " << waferRotCode << " )"; - } - } - - geoTxtFile.close(); - - // Find unaccounted DD wafers - for (auto const& accounted : waferValidated) { - if (!accounted.second) { - nUnaccounted++; - edm::LogVerbatim(logcat) << "UNACCOUNTED: " << strWaferCoord(accounted.first); - } - } - - // Print out error counts - edm::LogVerbatim(logcat) << std::endl; - edm::LogVerbatim(logcat) << "*** ERROR COUNTS ***"; - edm::LogVerbatim(logcat) << "Missing : " << nMissing; - edm::LogVerbatim(logcat) << "Thickness error : " << nThicknessError; - edm::LogVerbatim(logcat) << "Pos-x error : " << nPosXError; - edm::LogVerbatim(logcat) << "Pos-y error : " << nPosYError; - edm::LogVerbatim(logcat) << "Shape error : " << nShapeError; - edm::LogVerbatim(logcat) << "Rotation error : " << nRotError; - edm::LogVerbatim(logcat) << "Unaccounted : " << nUnaccounted; - edm::LogVerbatim(logcat) << std::endl; - edm::LogVerbatim(logcat) << "Total wafers processed from geotxtfile = " << nTotalProcessed; - edm::LogVerbatim(logcat) << std::endl; - - // Issue a LogPrint (warning) if there is at least one wafer errors - if (nMissing > 0 || nThicknessError > 0 || nPosXError > 0 || nPosYError > 0 || nShapeError > 0 || nRotError > 0 || - nUnaccounted > 0) { - edm::LogPrint(logcat) << "There are at least one wafer error."; - } -} - -// ------------ method called once each job just before starting event loop ------------ -void HGCalWaferValidation::beginJob() { - // please remove this method if not needed -} - -// ------------ method called once each job just after ending the event loop ------------ -void HGCalWaferValidation::endJob() { - // please remove this method if not needed -} - -// ------------ method fills 'descriptions' with the allowed parameters for the module ------------ -void HGCalWaferValidation::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { - //The following says we do not know what parameters are allowed so do no validation - // Please change this to state exactly what you do use, even if it is no parameters - edm::ParameterSetDescription desc; - desc.add("GeometryFileName", - edm::FileInPath("Validation/HGCalValidation/data/geomnew_corrected_360.txt")); - descriptions.add("hgcalWaferValidation", desc); -} - -//define this as a plug-in -DEFINE_FWK_MODULE(HGCalWaferValidation); From 81c9bb5df4c5a978ab3682e14c3be59c121cced1 Mon Sep 17 00:00:00 2001 From: yulunmiao <60363605+yulunmiao@users.noreply.github.com> Date: Sun, 21 Nov 2021 19:31:20 -0600 Subject: [PATCH 088/268] Changes in the conditional statements --- .../plugins/HGCalWaferValidation.cc | 58 +++++++++---------- 1 file changed, 26 insertions(+), 32 deletions(-) diff --git a/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc b/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc index 75727f1cf3d6d..ea5eda8506de1 100644 --- a/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc +++ b/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc @@ -216,23 +216,23 @@ void HGCalWaferValidation::ProcessWaferLayer(DDCompactView::GraphWalker& walker) waferInfo.shapeCode = 99; if (shapeStr == "F") waferInfo.shapeCode = 0; - if (shapeStr == "a") + else if (shapeStr == "a") waferInfo.shapeCode = 4; - if (shapeStr == "am") + else if (shapeStr == "am") waferInfo.shapeCode = 8; - if (shapeStr == "b") + else if (shapeStr == "b") waferInfo.shapeCode = 1; - if (shapeStr == "bm") + else if (shapeStr == "bm") waferInfo.shapeCode = 9; - if (shapeStr == "c") + else if (shapeStr == "c") waferInfo.shapeCode = 7; - if (shapeStr == "d") + else if (shapeStr == "d") waferInfo.shapeCode = 5; - if (shapeStr == "dm") + else if (shapeStr == "dm") waferInfo.shapeCode = 6; - if (shapeStr == "g") + else if (shapeStr == "g") waferInfo.shapeCode = 2; - if (shapeStr == "gm") + else if (shapeStr == "gm") waferInfo.shapeCode = 3; waferInfo.rotCode = rotCode; @@ -377,30 +377,24 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet if (waferDensityStr == "l") { if (waferShapeStr == "0") waferShapeCode = 0; - if (waferShapeStr == "1") + else if (waferShapeStr == "1" || waferShapeStr == "2") waferShapeCode = 4; - if (waferShapeStr == "2") - waferShapeCode = 4; - if (waferShapeStr == "3") - waferShapeCode = 5; - if (waferShapeStr == "4") + else if (waferShapeStr == "3" || waferShapeStr == "4") waferShapeCode = 5; - if (waferShapeStr == "5") + else if (waferShapeStr == "5") waferShapeCode = 1; - if (waferShapeStr == "6") + else if (waferShapeStr == "6") waferShapeCode = 7; } else if (waferDensityStr == "h") { if (waferShapeStr == "0") waferShapeCode = 0; - if (waferShapeStr == "1") + else if (waferShapeStr == "1") waferShapeCode = 8; - if (waferShapeStr == "2") + else if (waferShapeStr == "2") waferShapeCode = 3; - if (waferShapeStr == "3") - waferShapeCode = 6; - if (waferShapeStr == "4") + else if (waferShapeStr == "3" || waferShapeStr == "4") waferShapeCode = 6; - if (waferShapeStr == "5") + else if (waferShapeStr == "5") waferShapeCode = 9; } } else { @@ -416,23 +410,23 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet waferShapeCode = 99; if (waferShapeStr == "F") waferShapeCode = 0; - if (waferShapeStr == "a") + else if (waferShapeStr == "a") waferShapeCode = 4; - if (waferShapeStr == "am") + else if (waferShapeStr == "am") waferShapeCode = 8; - if (waferShapeStr == "b") + else if (waferShapeStr == "b") waferShapeCode = 1; - if (waferShapeStr == "bm") + else if (waferShapeStr == "bm") waferShapeCode = 9; - if (waferShapeStr == "c") + else if (waferShapeStr == "c") waferShapeCode = 7; - if (waferShapeStr == "d") + else if (waferShapeStr == "d") waferShapeCode = 5; - if (waferShapeStr == "dm") + else if (waferShapeStr == "dm") waferShapeCode = 6; - if (waferShapeStr == "g") + else if (waferShapeStr == "g") waferShapeCode = 2; - if (waferShapeStr == "gm") + else if (waferShapeStr == "gm") waferShapeCode = 3; } From 027f7b096fa66af6f0e971ecc8bc523568652836 Mon Sep 17 00:00:00 2001 From: Kirill Skovpen Date: Mon, 22 Nov 2021 07:37:04 +0100 Subject: [PATCH 089/268] make relmon py3 compatible --- Utilities/RelMon/python/directories2html.py | 6 +++--- Utilities/RelMon/scripts/ValidationMatrix.py | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Utilities/RelMon/python/directories2html.py b/Utilities/RelMon/python/directories2html.py index d60a94882e560..4da2cc0905f42 100755 --- a/Utilities/RelMon/python/directories2html.py +++ b/Utilities/RelMon/python/directories2html.py @@ -14,7 +14,7 @@ from builtins import range from os import chdir,getcwd,listdir,makedirs from os.path import basename,join,exists -import cgi +import html import sys theargv=sys.argv @@ -508,7 +508,7 @@ def build_gauge(total_success_rate,minrate=.80,small=False,escaped=False): gauge_link+="&chma=10,10,10,0" img_tag= ''%gauge_link if escaped: - img_tag=cgi.escape(img_tag) + img_tag=html.escape(img_tag) return img_tag #------------------------------------------------------------------------------- @@ -624,7 +624,7 @@ def make_categories_summary(dir_dict,aggregation_rules): def make_twiki_table(dir_dict,aggregation_rules): # decide the release - meta= dir_dict.items()[0][1].meta + meta= list(dir_dict.items())[0][1].meta releases=sorted([meta.release1,meta.release2]) latest_release=releases[1].split("-")[0] diff --git a/Utilities/RelMon/scripts/ValidationMatrix.py b/Utilities/RelMon/scripts/ValidationMatrix.py index 5010454dc669d..d4c1087b71f2e 100755 --- a/Utilities/RelMon/scripts/ValidationMatrix.py +++ b/Utilities/RelMon/scripts/ValidationMatrix.py @@ -14,7 +14,7 @@ from optparse import OptionParser import os -import cPickle +import pickle import glob from re import search from subprocess import call,PIPE @@ -253,8 +253,8 @@ def get_filenames_from_pool(all_samples): def get_clean_fileanames(ref_samples,test_samples): # Process the samples starting from the names - ref_filenames=map(lambda s:s.strip(),ref_samples.split(",")) - test_filenames=map(lambda s:s.strip(),test_samples.split(",")) + ref_filenames=list(map(lambda s:s.strip(),ref_samples.split(","))) + test_filenames=list(map(lambda s:s.strip(),test_samples.split(","))) if len(ref_filenames)!=len(test_filenames): print("The numebr of reference and test files does not seem to be the same. Please check.") @@ -325,8 +325,8 @@ def do_comparisons_threaded(options): ref_filenames,test_filenames=get_clean_fileanames(options.ref_samples,options.test_samples) # make the paths absolute - ref_filenames=map(os.path.abspath,ref_filenames) - test_filenames=map(os.path.abspath,test_filenames) + ref_filenames=list(map(os.path.abspath,ref_filenames)) + test_filenames=list(map(os.path.abspath,test_filenames)) samples,cmssw_version1,cmssw_version2=guess_params(ref_filenames,test_filenames) From 044a4fd5d3a72404a78557aff470866a80a76968 Mon Sep 17 00:00:00 2001 From: calderon Date: Mon, 22 Nov 2021 10:44:33 +0100 Subject: [PATCH 090/268] fix code --- .../Muon/python/EfficencyPlotter_cfi.py | 64 ++++++++-------- DQMOffline/Muon/python/muonAnalyzer_cff.py | 4 - .../Muon/python/muonEfficiencyAnalyzer_cfi.py | 75 +++++++++---------- .../Muon/python/muonIsolationDQM_cff.py | 65 ++++++++-------- DQMOffline/Muon/python/muonMonitors_cff.py | 2 - 5 files changed, 99 insertions(+), 111 deletions(-) diff --git a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py index 8c263cc6d6d61..0d9324791c193 100644 --- a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py +++ b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py @@ -110,45 +110,41 @@ effPlotter=cms.Sequence(effPlotterLoose*effPlotterMedium*effPlotterTight) effPlotter_miniAOD=cms.Sequence(effPlotterLooseMiniAOD*effPlotterMediumMiniAOD*effPlotterTightMiniAOD) -effPlotterLoose_Phase2=effPlotterLoose.clone() -effPlotterLoose_Phase2.vtxBin=20 -effPlotterLoose_Phase2.vtxMin=149.5 -effPlotterLoose_Phase2.vtxMax=249.5 - - -effPlotterMedium_Phase2=effPlotterMedium.clone() -effPlotterMedium_Phase2.vtxBin=20 -effPlotterMedium_Phase2.vtxMin=149.5 -effPlotterMedium_Phase2.vtxMax=249.5 - - -effPlotterTight_Phase2=effPlotterTight.clone() -effPlotterTight_Phase2.vtxBin=20 -effPlotterTight_Phase2.vtxMin=149.5 -effPlotterTight_Phase2.vtxMax=249.5 - -effPlotterLooseMiniAOD_Phase2=effPlotterLooseMiniAOD.clone() -effPlotterLooseMiniAOD_Phase2.vtxBin=20 -effPlotterLooseMiniAOD_Phase2.vtxMin=149.5 -effPlotterLooseMiniAOD_Phase2.vtxMax=249.5 - -effPlotterMediumMiniAOD_Phase2=effPlotterMediumMiniAOD.clone() -effPlotterMediumMiniAOD_Phase2.vtxBin=20 -effPlotterMediumMiniAOD_Phase2.vtxMin=149.5 -effPlotterMediumMiniAOD_Phase2.vtxMax=249.5 - -effPlotterTightMiniAOD_Phase2=effPlotterTightMiniAOD.clone() -effPlotterTightMiniAOD_Phase2.vtxBin=20 -effPlotterTightMiniAOD_Phase2.vtxMin=149.5 -effPlotterTightMiniAOD_Phase2.vtxMax=249.5 +effPlotterLoose_Phase2=effPlotterLoose.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) +effPlotterMedium_Phase2=effPlotterMedium.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) +effPlotterTight_Phase2=effPlotterTight.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) +effPlotterLooseMiniAOD_Phase2=effPlotterLooseMiniAOD.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) +effPlotterMediumMiniAOD_Phase2=effPlotterMediumMiniAOD.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) +effPlotterTightMiniAOD_Phase2=effPlotterTightMiniAOD.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) effPlotter_Phase2=cms.Sequence(effPlotterLoose_Phase2*effPlotterMedium_Phase2*effPlotterTight_Phase2) effPlotter_miniAOD_Phase2=cms.Sequence(effPlotterLooseMiniAOD_Phase2*effPlotterMediumMiniAOD_Phase2*effPlotterTightMiniAOD_Phase2) - from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(effPlotter,effPlotter_Phase2) phase2_muon.toReplaceWith(effPlotter_miniAOD,effPlotter_miniAOD_Phase2) - - diff --git a/DQMOffline/Muon/python/muonAnalyzer_cff.py b/DQMOffline/Muon/python/muonAnalyzer_cff.py index 89a3839d725e5..bbf0cdfb5e1f7 100644 --- a/DQMOffline/Muon/python/muonAnalyzer_cff.py +++ b/DQMOffline/Muon/python/muonAnalyzer_cff.py @@ -39,7 +39,3 @@ diMuonHistos* EfficiencyAnalyzer* muonPFsequence) - - - - diff --git a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py index f9ce5a55f2f11..3d650cf90cc37 100644 --- a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py +++ b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py @@ -183,49 +183,46 @@ EfficiencyAnalyzer_miniAOD = cms.Sequence(TightMuonEfficiencyAnalyzer_miniAOD*LooseMuonEfficiencyAnalyzer_miniAOD*MediumMuonEfficiencyAnalyzer_miniAOD) -TightMuonEfficiencyAnalyzer_Phase2=TightMuonEfficiencyAnalyzer.clone() -TightMuonEfficiencyAnalyzer_Phase2.vtxBin=20 -TightMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 -TightMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 - -LooseMuonEfficiencyAnalyzer_Phase2=LooseMuonEfficiencyAnalyzer.clone() -LooseMuonEfficiencyAnalyzer_Phase2.vtxBin=20 -LooseMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 -LooseMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 - -MediumMuonEfficiencyAnalyzer_Phase2=MediumMuonEfficiencyAnalyzer.clone() -MediumMuonEfficiencyAnalyzer_Phase2.vtxBin=20 -MediumMuonEfficiencyAnalyzer_Phase2.vtxMin=149.5 -MediumMuonEfficiencyAnalyzer_Phase2.vtxMax=249.5 - - -TightMuonEfficiencyAnalyzer_miniAOD_Phase2=TightMuonEfficiencyAnalyzer_miniAOD.clone() -TightMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxBin=20 -TightMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMax=249.5 -TightMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMin=149.5 - - -LooseMuonEfficiencyAnalyzer_miniAOD_Phase2=LooseMuonEfficiencyAnalyzer_miniAOD.clone() -LooseMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxBin=20 -LooseMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMin=149.5 -LooseMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMax=249.5 - -MediumMuonEfficiencyAnalyzer_miniAOD_Phase2=MediumMuonEfficiencyAnalyzer.clone() -MediumMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxBin=20 -MediumMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMin=149.5 -MediumMuonEfficiencyAnalyzer_miniAOD_Phase2.vtxMax=249.5 +TightMuonEfficiencyAnalyzer_Phase2=TightMuonEfficiencyAnalyzer.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) + +LooseMuonEfficiencyAnalyzer_Phase2=LooseMuonEfficiencyAnalyzer.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) + +MediumMuonEfficiencyAnalyzer_Phase2=MediumMuonEfficiencyAnalyzer.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) + +TightMuonEfficiencyAnalyzer_miniAOD_Phase2=TightMuonEfficiencyAnalyzer_miniAOD.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) + +LooseMuonEfficiencyAnalyzer_miniAOD_Phase2=LooseMuonEfficiencyAnalyzer_miniAOD.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) + +MediumMuonEfficiencyAnalyzer_miniAOD_Phase2=MediumMuonEfficiencyAnalyzer.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) - EfficiencyAnalyzer_Phase2 = cms.Sequence(TightMuonEfficiencyAnalyzer_Phase2*LooseMuonEfficiencyAnalyzer_Phase2*MediumMuonEfficiencyAnalyzer_Phase2) EfficiencyAnalyzer_miniAOD_Phase2 = cms.Sequence(TightMuonEfficiencyAnalyzer_miniAOD_Phase2*LooseMuonEfficiencyAnalyzer_miniAOD_Phase2*MediumMuonEfficiencyAnalyzer_miniAOD_Phase2) - from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(EfficiencyAnalyzer, EfficiencyAnalyzer_Phase2) -phase2_muon.toReplaceWith(EfficiencyAnalyzer_miniAOD, EfficiencyAnalyzer_miniAOD_Phase2) - - - - - +phase2_muon.toReplaceWith(EfficiencyAnalyzer_miniAOD, EfficiencyAnalyzer_miniAOD_Phase2) diff --git a/DQMOffline/Muon/python/muonIsolationDQM_cff.py b/DQMOffline/Muon/python/muonIsolationDQM_cff.py index 78b85a8dad5ba..6e80b82ab39aa 100644 --- a/DQMOffline/Muon/python/muonIsolationDQM_cff.py +++ b/DQMOffline/Muon/python/muonIsolationDQM_cff.py @@ -56,25 +56,26 @@ ) muIsoDQM_seq = cms.Sequence(MuIsoDQM_trk+MuIsoDQM_sta+MuIsoDQM_glb) - -MuIsoDQM_glb_Phase2=MuIsoDQM_glb.clone() -MuIsoDQM_glb_Phase2.vtxBin=20 -MuIsoDQM_glb_Phase2.vtxMax=249.5 -MuIsoDQM_glb_Phase2.vtxMin=149.5 - -MuIsoDQM_trk_Phase2=MuIsoDQM_trk.clone() -MuIsoDQM_trk_Phase2.vtxBin=20 -MuIsoDQM_trk_Phase2.vtxMax=249.5 -MuIsoDQM_trk_Phase2.vtxMin=149.5 - -MuIsoDQM_sta_Phase2=MuIsoDQM_sta.clone() -MuIsoDQM_sta_Phase2.vtxBin=20 -MuIsoDQM_sta_Phase2.vtxMax=249.5 -MuIsoDQM_sta_Phase2.vtxMin=149.5 +MuIsoDQM_glb_Phase2=MuIsoDQM_glb.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) + +MuIsoDQM_trk_Phase2=MuIsoDQM_trk.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) + +MuIsoDQM_sta_Phase2=MuIsoDQM_sta.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) muIsoDQM_seq_Phase2 = cms.Sequence(MuIsoDQM_trk_Phase2+MuIsoDQM_sta_Phase2+MuIsoDQM_glb_Phase2) - MuIsoDQM_trk_miniAOD = DQMEDAnalyzer('MuonIsolationDQM', Global_Muon_Label = cms.untracked.InputTag("slimmedMuons"), requireTRKMuon = cms.untracked.bool(True), @@ -127,26 +128,26 @@ ) muIsoDQM_seq_miniAOD = cms.Sequence(MuIsoDQM_trk_miniAOD+MuIsoDQM_sta_miniAOD+MuIsoDQM_glb_miniAOD) - -MuIsoDQM_glb_miniAOD_Phase2=MuIsoDQM_glb_miniAOD.clone() -MuIsoDQM_glb_miniAOD_Phase2.vtxBin=20 -MuIsoDQM_glb_miniAOD_Phase2.vtxMax=249.5 -MuIsoDQM_glb_miniAOD_Phase2.vtxMin=149.5 +MuIsoDQM_glb_miniAOD_Phase2=MuIsoDQM_glb_miniAOD.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) -MuIsoDQM_trk_miniAOD_Phase2=MuIsoDQM_trk_miniAOD.clone() -MuIsoDQM_trk_miniAOD_Phase2.vtxBin=20 -MuIsoDQM_trk_miniAOD_Phase2.vtxMax=249.5 -MuIsoDQM_trk_miniAOD_Phase2.vtxMin=149.5 - -MuIsoDQM_sta_miniAOD_Phase2=MuIsoDQM_sta_miniAOD.clone() -MuIsoDQM_sta_miniAOD_Phase2.vtxBin=20 -MuIsoDQM_sta_miniAOD_Phase2.vtxMax=249.5 -MuIsoDQM_sta_miniAOD_Phase2.vtxMin=149.5 +MuIsoDQM_trk_miniAOD_Phase2=MuIsoDQM_trk_miniAOD.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) + +MuIsoDQM_sta_miniAOD_Phase2=MuIsoDQM_sta_miniAOD.clone( + vtxBin=20 + vtxMin=149.5 + vtxMax=249.5 +) muIsoDQM_seq_miniAOD_Phase2 = cms.Sequence(MuIsoDQM_trk_miniAOD_Phase2+MuIsoDQM_sta_miniAOD_Phase2+MuIsoDQM_glb_miniAOD_Phase2) - from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon phase2_muon.toReplaceWith(muIsoDQM_seq, muIsoDQM_seq_Phase2) phase2_muon.toReplaceWith(muIsoDQM_seq_miniAOD, muIsoDQM_seq_miniAOD_Phase2) - diff --git a/DQMOffline/Muon/python/muonMonitors_cff.py b/DQMOffline/Muon/python/muonMonitors_cff.py index 90244d4c3fba5..7067d81c375e7 100644 --- a/DQMOffline/Muon/python/muonMonitors_cff.py +++ b/DQMOffline/Muon/python/muonMonitors_cff.py @@ -34,5 +34,3 @@ muonMonitorsAndQualityTests = cms.Sequence(muonMonitors*muonQualityTests) - - From 39bd65e4ae61ed23e4ee84f59c224a549e666ad2 Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 11:47:00 +0100 Subject: [PATCH 091/268] get rid of CMS deprecation warnings in CalibTracker/SiStripDCS --- CalibTracker/SiStripDCS/plugins/SiStripDetVOffPrinter.cc | 1 - .../SiStripDCS/test/Synchronization/SyncDCSO2O.cc | 7 ++----- CalibTracker/SiStripDCS/test/Synchronization/SyncDCSO2O.h | 8 ++++++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CalibTracker/SiStripDCS/plugins/SiStripDetVOffPrinter.cc b/CalibTracker/SiStripDCS/plugins/SiStripDetVOffPrinter.cc index 86a17d6c149db..da6e9d2e65ef7 100644 --- a/CalibTracker/SiStripDCS/plugins/SiStripDetVOffPrinter.cc +++ b/CalibTracker/SiStripDCS/plugins/SiStripDetVOffPrinter.cc @@ -1,5 +1,4 @@ #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ServiceRegistry/interface/Service.h" diff --git a/CalibTracker/SiStripDCS/test/Synchronization/SyncDCSO2O.cc b/CalibTracker/SiStripDCS/test/Synchronization/SyncDCSO2O.cc index 49ba4f440347f..68ff1c17bfbe3 100644 --- a/CalibTracker/SiStripDCS/test/Synchronization/SyncDCSO2O.cc +++ b/CalibTracker/SiStripDCS/test/Synchronization/SyncDCSO2O.cc @@ -5,8 +5,6 @@ #include "CondFormats/Common/interface/TimeConversions.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "CondFormats/SiStripObjects/interface/SiStripDetVOff.h" -#include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h" #include #include @@ -14,7 +12,7 @@ #include "TFile.h" #include "TCanvas.h" -SyncDCSO2O::SyncDCSO2O(const edm::ParameterSet& iConfig) { +SyncDCSO2O::SyncDCSO2O(const edm::ParameterSet& iConfig) : dcsToken_(esConsumes()) { // get all digi collections digiProducersList_ = iConfig.getParameter("DigiProducersList"); } @@ -88,8 +86,7 @@ SyncDCSO2O::~SyncDCSO2O() { void SyncDCSO2O::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { using namespace edm; - ESHandle detVOff; - iSetup.get().get(detVOff); + const SiStripDetVOff* detVOff = &iSetup.getData(dcsToken_); std::vector detIds; detVOff->getDetIds(detIds); diff --git a/CalibTracker/SiStripDCS/test/Synchronization/SyncDCSO2O.h b/CalibTracker/SiStripDCS/test/Synchronization/SyncDCSO2O.h index 1046903b577de..abf045b399b0f 100644 --- a/CalibTracker/SiStripDCS/test/Synchronization/SyncDCSO2O.h +++ b/CalibTracker/SiStripDCS/test/Synchronization/SyncDCSO2O.h @@ -19,7 +19,7 @@ // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -31,12 +31,15 @@ #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/SiStripDigi/interface/SiStripDigi.h" +#include "CondFormats/SiStripObjects/interface/SiStripDetVOff.h" +#include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h" + #include #include "TH1F.h" #include "TGraph.h" -class SyncDCSO2O : public edm::EDAnalyzer { +class SyncDCSO2O : public edm::one::EDAnalyzer<> { public: explicit SyncDCSO2O(const edm::ParameterSet&); ~SyncDCSO2O(); @@ -51,6 +54,7 @@ class SyncDCSO2O : public edm::EDAnalyzer { TGraph* buildGraph(TH1F* histo, Float_t* timeArray); // ----------member data --------------------------- + const edm::ESGetToken dcsToken_; edm::Handle > digiDetsetVector_[4]; typedef std::vector Parameters; Parameters digiProducersList_; From 2f026c331c8d90c8cd5b88d441596c7a43c712f3 Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 11:47:21 +0100 Subject: [PATCH 092/268] get rid of CMS deprecation warnings in CalibTracker/SiPixelConnectivity --- .../test/SiPixelFedCablingMapWriter.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/CalibTracker/SiPixelConnectivity/test/SiPixelFedCablingMapWriter.cc b/CalibTracker/SiPixelConnectivity/test/SiPixelFedCablingMapWriter.cc index ea608d10459b6..4a6a24069da4a 100644 --- a/CalibTracker/SiPixelConnectivity/test/SiPixelFedCablingMapWriter.cc +++ b/CalibTracker/SiPixelConnectivity/test/SiPixelFedCablingMapWriter.cc @@ -3,7 +3,7 @@ #include // user include files -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ServiceRegistry/interface/Service.h" @@ -19,7 +19,7 @@ using namespace std; using namespace edm; using namespace sipixelobjects; -class SiPixelFedCablingMapWriter : public edm::EDAnalyzer { +class SiPixelFedCablingMapWriter : public edm::one::EDAnalyzer<> { public: explicit SiPixelFedCablingMapWriter(const edm::ParameterSet& cfg); ~SiPixelFedCablingMapWriter(); @@ -50,9 +50,7 @@ SiPixelFedCablingMapWriter::SiPixelFedCablingMapWriter(const edm::ParameterSet& //::putenv(const_cast(std::string("CORAL_AUTH_PASSWORD=none").c_str())); } -SiPixelFedCablingMapWriter::~SiPixelFedCablingMapWriter() { - // delete cabling; -} +SiPixelFedCablingMapWriter::~SiPixelFedCablingMapWriter() = default; void SiPixelFedCablingMapWriter::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { static int first(1); From 030b36ed1b71861cd29a11d2f894e1328886f65b Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 11:47:43 +0100 Subject: [PATCH 093/268] get rid of CMS deprecation warnings in CalibTracker/SiPixelGainCalibration --- .../plugins/SiPixelCalibDigiProducer.h | 4 +- .../plugins/SiPixelGainCalibrationAnalysis.h | 1 - .../SimpleTestPrintOutPixelCalibAnalyzer.cc | 42 +++++-------------- .../SimpleTestPrintOutPixelCalibAnalyzer.h | 15 +++---- 4 files changed, 18 insertions(+), 44 deletions(-) diff --git a/CalibTracker/SiPixelGainCalibration/plugins/SiPixelCalibDigiProducer.h b/CalibTracker/SiPixelGainCalibration/plugins/SiPixelCalibDigiProducer.h index 49fcc7c42088f..18542f7580e3e 100644 --- a/CalibTracker/SiPixelGainCalibration/plugins/SiPixelCalibDigiProducer.h +++ b/CalibTracker/SiPixelGainCalibration/plugins/SiPixelCalibDigiProducer.h @@ -23,7 +23,7 @@ // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" +#include "FWCore/Framework/interface/stream/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -52,7 +52,7 @@ // class decleration // -class SiPixelCalibDigiProducer : public edm::EDProducer { +class SiPixelCalibDigiProducer : public edm::stream::EDProducer<> { public: explicit SiPixelCalibDigiProducer(const edm::ParameterSet& iConfig); ~SiPixelCalibDigiProducer() override; diff --git a/CalibTracker/SiPixelGainCalibration/plugins/SiPixelGainCalibrationAnalysis.h b/CalibTracker/SiPixelGainCalibration/plugins/SiPixelGainCalibrationAnalysis.h index 9264b223ebce7..b3934b09d9f01 100644 --- a/CalibTracker/SiPixelGainCalibration/plugins/SiPixelGainCalibrationAnalysis.h +++ b/CalibTracker/SiPixelGainCalibration/plugins/SiPixelGainCalibrationAnalysis.h @@ -21,7 +21,6 @@ Description: // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "CalibTracker/SiPixelTools/interface/SiPixelOfflineCalibAnalysisBase.h" #include "FWCore/Framework/interface/Event.h" diff --git a/CalibTracker/SiPixelGainCalibration/test/SimpleTestPrintOutPixelCalibAnalyzer.cc b/CalibTracker/SiPixelGainCalibration/test/SimpleTestPrintOutPixelCalibAnalyzer.cc index abc9ddea7be05..a493d5ce5a3e5 100644 --- a/CalibTracker/SiPixelGainCalibration/test/SimpleTestPrintOutPixelCalibAnalyzer.cc +++ b/CalibTracker/SiPixelGainCalibration/test/SimpleTestPrintOutPixelCalibAnalyzer.cc @@ -21,41 +21,23 @@ // user include files #include "FWCore/Framework/interface/EDAnalyzer.h" - #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" - #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/SiPixelDigi/interface/SiPixelCalibDigi.h" - #include "CalibTracker/SiPixelGainCalibration/test/SimpleTestPrintOutPixelCalibAnalyzer.h" -// -// constants, enums and typedefs -// - -// -// static data member definitions -// - // // constructors and destructor // -SimpleTestPrintOutPixelCalibAnalyzer::SimpleTestPrintOutPixelCalibAnalyzer(const edm::ParameterSet& iConfig) - -{ +SimpleTestPrintOutPixelCalibAnalyzer::SimpleTestPrintOutPixelCalibAnalyzer(const edm::ParameterSet& iConfig) { tPixelCalibDigi = consumes >(edm::InputTag("siPixelCalibDigis")); } -SimpleTestPrintOutPixelCalibAnalyzer::~SimpleTestPrintOutPixelCalibAnalyzer() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - // // member functions // -void SimpleTestPrintOutPixelCalibAnalyzer::printInfo(const edm::Event& iEvent, const edm::EventSetup& iSetup) { +void SimpleTestPrintOutPixelCalibAnalyzer::printInfo(const edm::Event& iEvent, const edm::EventSetup& iSetup) const { using namespace edm; Handle > pIn; @@ -66,23 +48,19 @@ void SimpleTestPrintOutPixelCalibAnalyzer::printInfo(const edm::Event& iEvent, c uint32_t detid = digiIter->id; DetSet::const_iterator ipix; for (ipix = digiIter->data.begin(); ipix != digiIter->end(); ++ipix) { - std::cout << std::endl; + edm::LogPrint("SimpleTestPrintOutPixelCalibAnalyzer") << std::endl; for (uint32_t ipoint = 0; ipoint < ipix->getnpoints(); ++ipoint) - std::cout << "\t Det ID " << detid << " row:" << ipix->row() << " col:" << ipix->col() << " point " << ipoint - << " has " << ipix->getnentries(ipoint) << " entries, adc: " << ipix->getsum(ipoint) - << ", adcsq: " << ipix->getsumsquares(ipoint) << std::endl; + edm::LogPrint("SimpleTestPrintOutPixelCalibAnalyzer") + << "\t Det ID " << detid << " row:" << ipix->row() << " col:" << ipix->col() << " point " << ipoint + << " has " << ipix->getnentries(ipoint) << " entries, adc: " << ipix->getsum(ipoint) + << ", adcsq: " << ipix->getsumsquares(ipoint) << std::endl; } } } // ------------ method called to for each event ------------ -void SimpleTestPrintOutPixelCalibAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { +void SimpleTestPrintOutPixelCalibAnalyzer::analyze(edm::StreamID id, + edm::Event const& iEvent, + edm::EventSetup const& iSetup) const { using namespace edm; - printInfo(iEvent, iSetup); } - -// ------------ method called once each job just before starting event loop ------------ -void SimpleTestPrintOutPixelCalibAnalyzer::beginJob() {} - -// ------------ method called once each job just after ending the event loop ------------ -void SimpleTestPrintOutPixelCalibAnalyzer::endJob() {} diff --git a/CalibTracker/SiPixelGainCalibration/test/SimpleTestPrintOutPixelCalibAnalyzer.h b/CalibTracker/SiPixelGainCalibration/test/SimpleTestPrintOutPixelCalibAnalyzer.h index 6346922cf90a5..2dc8c84d646cc 100644 --- a/CalibTracker/SiPixelGainCalibration/test/SimpleTestPrintOutPixelCalibAnalyzer.h +++ b/CalibTracker/SiPixelGainCalibration/test/SimpleTestPrintOutPixelCalibAnalyzer.h @@ -20,7 +20,7 @@ #include // user include files -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -32,18 +32,15 @@ // class decleration // -class SimpleTestPrintOutPixelCalibAnalyzer : public edm::EDAnalyzer { +class SimpleTestPrintOutPixelCalibAnalyzer : public edm::global::EDAnalyzer<> { public: explicit SimpleTestPrintOutPixelCalibAnalyzer(const edm::ParameterSet&); - ~SimpleTestPrintOutPixelCalibAnalyzer(); + ~SimpleTestPrintOutPixelCalibAnalyzer() = default; private: - virtual void beginJob(); - virtual void analyze(const edm::Event&, const edm::EventSetup&); - virtual void printInfo(const edm::Event&, - const edm::EventSetup&); // print method added by Freya, this way the analyzer stays clean - virtual void endJob(); - + virtual void analyze(edm::StreamID, edm::Event const& event, edm::EventSetup const&) const override; + virtual void printInfo(const edm::Event&, const edm::EventSetup&) + const; // print method added by Freya, this way the analyzer stays clean // ----------member data --------------------------- edm::EDGetTokenT > tPixelCalibDigi; }; From 7bc570868cf6b980a9829bdf03771aa6eed150f4 Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 11:48:03 +0100 Subject: [PATCH 094/268] get rid of CMS deprecation warnings in CalibTracker/SiStripChannelGain --- .../SiStripChannelGain/plugins/SiStripGainFromCalibTree.cc | 1 - CalibTracker/SiStripChannelGain/plugins/SiStripGainFromData.cc | 1 - 2 files changed, 2 deletions(-) diff --git a/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromCalibTree.cc b/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromCalibTree.cc index ec0a54cff4ac5..c61246ed5b270 100644 --- a/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromCalibTree.cc +++ b/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromCalibTree.cc @@ -5,7 +5,6 @@ #include #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" diff --git a/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromData.cc b/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromData.cc index a4368a3ba1533..259231d8ddd0b 100644 --- a/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromData.cc +++ b/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromData.cc @@ -4,7 +4,6 @@ #include #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" From 60582f4e9699c3dd77cc6f4b4c290a7995705d96 Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 11:48:26 +0100 Subject: [PATCH 095/268] get rid of CMS deprecation warnings in CalibTracker/SiPixelIsAliveCalibration --- .../SiPixelIsAliveCalibration/src/SiPixelIsAliveCalibration.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/CalibTracker/SiPixelIsAliveCalibration/src/SiPixelIsAliveCalibration.cc b/CalibTracker/SiPixelIsAliveCalibration/src/SiPixelIsAliveCalibration.cc index adc407468d563..1ef6050987fc3 100644 --- a/CalibTracker/SiPixelIsAliveCalibration/src/SiPixelIsAliveCalibration.cc +++ b/CalibTracker/SiPixelIsAliveCalibration/src/SiPixelIsAliveCalibration.cc @@ -21,8 +21,6 @@ #include // user include files -#include "FWCore/Framework/interface/EDAnalyzer.h" - #include "FWCore/Framework/interface/MakerMacros.h" #include "CalibTracker/SiPixelTools/interface/SiPixelOfflineCalibAnalysisBase.h" From f2efd5ed6198dcf49bf73190b74caebf5761a268 Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 11:59:05 +0100 Subject: [PATCH 096/268] get rid of CMS deprecation warnings in AnalysisAlgos/TrackInfoProducer --- .../TrackInfoProducer/test/TrackInfoAnalyzer.cc | 16 ++++++++-------- .../test/TrackInfoAnalyzerExample.cc | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/AnalysisAlgos/TrackInfoProducer/test/TrackInfoAnalyzer.cc b/AnalysisAlgos/TrackInfoProducer/test/TrackInfoAnalyzer.cc index 593b0689511f7..096830f9e28aa 100644 --- a/AnalysisAlgos/TrackInfoProducer/test/TrackInfoAnalyzer.cc +++ b/AnalysisAlgos/TrackInfoProducer/test/TrackInfoAnalyzer.cc @@ -1,6 +1,6 @@ #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" @@ -21,7 +21,7 @@ using namespace edm; -class TrackInfoAnalyzer : public edm::EDAnalyzer { +class TrackInfoAnalyzer : public edm::one::EDAnalyzer<> { public: TrackInfoAnalyzer(const edm::ParameterSet& pset); void beginJob() { @@ -47,9 +47,7 @@ class TrackInfoAnalyzer : public edm::EDAnalyzer { using namespace reco; //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - setup.get().get(tTopoHandle); - const TrackerTopology* const tTopo = tTopoHandle.product(); + const TrackerTopology* const tTopo = &setup.getData(tkTopoToken); //std::cout << "\nEvent ID = "<< event.id() << std::endl ; edm::Handle trackCollection; @@ -124,12 +122,14 @@ class TrackInfoAnalyzer : public edm::EDAnalyzer { TH1F* tib3ext; TH1F* tib4int; TH1F* tib4ext; - std::string filename; - edm::EDGetTokenT trackCollectionToken; + const std::string filename; + const edm::EDGetTokenT trackCollectionToken; + const edm::ESGetToken tkTopoToken; }; TrackInfoAnalyzer::TrackInfoAnalyzer(const edm::ParameterSet& pset) : filename(pset.getParameter("OutFileName")), - trackCollectionToken(consumes(pset.getParameter("TrackInfo"))) {} + trackCollectionToken(consumes(pset.getParameter("TrackInfo"))), + tkTopoToken(esConsumes()) {} DEFINE_FWK_MODULE(TrackInfoAnalyzer); diff --git a/AnalysisAlgos/TrackInfoProducer/test/TrackInfoAnalyzerExample.cc b/AnalysisAlgos/TrackInfoProducer/test/TrackInfoAnalyzerExample.cc index 628843d77cffe..827d7ab13fc3f 100644 --- a/AnalysisAlgos/TrackInfoProducer/test/TrackInfoAnalyzerExample.cc +++ b/AnalysisAlgos/TrackInfoProducer/test/TrackInfoAnalyzerExample.cc @@ -1,6 +1,6 @@ #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -17,7 +17,7 @@ using namespace edm; -class TrackInfoAnalyzerExample : public edm::EDAnalyzer { +class TrackInfoAnalyzerExample : public edm::one::EDAnalyzer<> { edm::EDGetTokenT TItkassociatorCollectionToken; edm::EDGetTokenT tkCollectionToken; From 4e576c1a84c8db6cea9110d4f2f957964b6739a1 Mon Sep 17 00:00:00 2001 From: SohamBhattacharya Date: Mon, 22 Nov 2021 12:16:35 +0100 Subject: [PATCH 097/268] First commit. --- .../plugins/PFClusterFromHGCalTrackster.cc | 8 ++++++++ .../python/particleFlowClusterHGC_cfi.py | 2 ++ 2 files changed, 10 insertions(+) diff --git a/RecoParticleFlow/PFClusterProducer/plugins/PFClusterFromHGCalTrackster.cc b/RecoParticleFlow/PFClusterProducer/plugins/PFClusterFromHGCalTrackster.cc index d27c087a83aac..11dc3f859e707 100644 --- a/RecoParticleFlow/PFClusterProducer/plugins/PFClusterFromHGCalTrackster.cc +++ b/RecoParticleFlow/PFClusterProducer/plugins/PFClusterFromHGCalTrackster.cc @@ -10,8 +10,10 @@ class PFClusterFromHGCalTrackster : public InitialClusteringStepBase { PFClusterFromHGCalTrackster(const edm::ParameterSet& conf, edm::ConsumesCollector& cc) : InitialClusteringStepBase(conf, cc) { filterByTracksterPID_ = conf.getParameter("filterByTracksterPID"); + filterByTracksterIteration_ = conf.getParameter("filterByTracksterIteration"); pid_threshold_ = conf.getParameter("pid_threshold"); filter_on_categories_ = conf.getParameter >("filter_on_categories"); + filter_on_iterations_ = conf.getParameter >("filter_on_iterations"); tracksterToken_ = cc.consumes >(conf.getParameter("tracksterSrc")); clusterToken_ = cc.consumes(conf.getParameter("clusterSrc")); @@ -30,8 +32,10 @@ class PFClusterFromHGCalTrackster : public InitialClusteringStepBase { private: bool filterByTracksterPID_; + bool filterByTracksterIteration_; float pid_threshold_; std::vector filter_on_categories_; + std::vector filter_on_iterations_; edm::EDGetTokenT > tracksterToken_; edm::Handle > trackstersH_; @@ -78,6 +82,10 @@ void PFClusterFromHGCalTrackster::buildClusters(const edm::Handle Date: Mon, 22 Nov 2021 12:32:54 +0100 Subject: [PATCH 098/268] get rid of CMS deprecation warnings in some Cond* packages --- .../SiPixelObjects/test/SiPixelFedCablingMapTestWriter.cc | 4 ++-- CondTools/BeamSpot/plugins/BeamSpotRcdPrinter.cc | 1 - CondTools/SiStrip/plugins/SiStripDetVOffReader.cc | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/CondFormats/SiPixelObjects/test/SiPixelFedCablingMapTestWriter.cc b/CondFormats/SiPixelObjects/test/SiPixelFedCablingMapTestWriter.cc index 0c231b6ed670a..a72acf43f526d 100644 --- a/CondFormats/SiPixelObjects/test/SiPixelFedCablingMapTestWriter.cc +++ b/CondFormats/SiPixelObjects/test/SiPixelFedCablingMapTestWriter.cc @@ -3,7 +3,7 @@ #include // user include files -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "CondFormats/SiPixelObjects/interface/SiPixelFedCablingMap.h" @@ -22,7 +22,7 @@ using namespace std; using namespace edm; using namespace sipixelobjects; -class SiPixelFedCablingMapTestWriter : public edm::EDAnalyzer { +class SiPixelFedCablingMapTestWriter : public edm::one::EDAnalyzer<> { public: explicit SiPixelFedCablingMapTestWriter(const edm::ParameterSet&); ~SiPixelFedCablingMapTestWriter(); diff --git a/CondTools/BeamSpot/plugins/BeamSpotRcdPrinter.cc b/CondTools/BeamSpot/plugins/BeamSpotRcdPrinter.cc index 10f82bb425271..408d00cfca7cb 100644 --- a/CondTools/BeamSpot/plugins/BeamSpotRcdPrinter.cc +++ b/CondTools/BeamSpot/plugins/BeamSpotRcdPrinter.cc @@ -1,5 +1,4 @@ #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ServiceRegistry/interface/Service.h" diff --git a/CondTools/SiStrip/plugins/SiStripDetVOffReader.cc b/CondTools/SiStrip/plugins/SiStripDetVOffReader.cc index 28a9a233be8c8..e2fb11ca2c202 100644 --- a/CondTools/SiStrip/plugins/SiStripDetVOffReader.cc +++ b/CondTools/SiStrip/plugins/SiStripDetVOffReader.cc @@ -6,7 +6,6 @@ // user include files #include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h" #include "CondFormats/SiStripObjects/interface/SiStripDetVOff.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" From 53ccec4638c28f0a71d97949aab1bd21e2fe50b9 Mon Sep 17 00:00:00 2001 From: Marino Missiroli Date: Mon, 22 Nov 2021 12:47:11 +0100 Subject: [PATCH 099/268] HLT menu development for 12_2_X (CMSHLT-2198) --- HLTrigger/Configuration/python/HLT_FULL_cff.py | 4 ++-- HLTrigger/Configuration/python/HLT_GRun_cff.py | 4 ++-- HLTrigger/Configuration/python/HLT_HIon_cff.py | 4 ++-- HLTrigger/Configuration/python/HLT_PIon_cff.py | 4 ++-- HLTrigger/Configuration/python/HLT_PRef_cff.py | 4 ++-- HLTrigger/Configuration/python/Tools/confdb.py | 1 + HLTrigger/Configuration/test/OnLine_HLT_FULL.py | 11 +++++++++-- HLTrigger/Configuration/test/OnLine_HLT_GRun.py | 11 +++++++++-- HLTrigger/Configuration/test/OnLine_HLT_HIon.py | 11 +++++++++-- HLTrigger/Configuration/test/OnLine_HLT_PIon.py | 11 +++++++++-- HLTrigger/Configuration/test/OnLine_HLT_PRef.py | 11 +++++++++-- 11 files changed, 56 insertions(+), 20 deletions(-) diff --git a/HLTrigger/Configuration/python/HLT_FULL_cff.py b/HLTrigger/Configuration/python/HLT_FULL_cff.py index ff99f45867877..3218cbad2efc3 100644 --- a/HLTrigger/Configuration/python/HLT_FULL_cff.py +++ b/HLTrigger/Configuration/python/HLT_FULL_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/HLT --type FULL -# /dev/CMSSW_12_2_0/HLT/V7 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/HLT/V8 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/HLT/V7') + tableName = cms.string('/dev/CMSSW_12_2_0/HLT/V8') ) fragment.transferSystem = cms.PSet( diff --git a/HLTrigger/Configuration/python/HLT_GRun_cff.py b/HLTrigger/Configuration/python/HLT_GRun_cff.py index a116b120bfa2d..8283533a2632d 100644 --- a/HLTrigger/Configuration/python/HLT_GRun_cff.py +++ b/HLTrigger/Configuration/python/HLT_GRun_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/GRun --type GRun -# /dev/CMSSW_12_2_0/GRun/V5 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/GRun/V6 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/GRun/V5') + tableName = cms.string('/dev/CMSSW_12_2_0/GRun/V6') ) fragment.transferSystem = cms.PSet( diff --git a/HLTrigger/Configuration/python/HLT_HIon_cff.py b/HLTrigger/Configuration/python/HLT_HIon_cff.py index 4848c88332073..26e8dc409d7bb 100644 --- a/HLTrigger/Configuration/python/HLT_HIon_cff.py +++ b/HLTrigger/Configuration/python/HLT_HIon_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/HIon --type HIon -# /dev/CMSSW_12_2_0/HIon/V5 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/HIon/V6 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/HIon/V5') + tableName = cms.string('/dev/CMSSW_12_2_0/HIon/V6') ) fragment.transferSystem = cms.PSet( diff --git a/HLTrigger/Configuration/python/HLT_PIon_cff.py b/HLTrigger/Configuration/python/HLT_PIon_cff.py index 7488d72ecff43..0337de79f27f8 100644 --- a/HLTrigger/Configuration/python/HLT_PIon_cff.py +++ b/HLTrigger/Configuration/python/HLT_PIon_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/PIon --type PIon -# /dev/CMSSW_12_2_0/PIon/V5 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/PIon/V6 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/PIon/V5') + tableName = cms.string('/dev/CMSSW_12_2_0/PIon/V6') ) fragment.transferSystem = cms.PSet( diff --git a/HLTrigger/Configuration/python/HLT_PRef_cff.py b/HLTrigger/Configuration/python/HLT_PRef_cff.py index cdbb6dc481ce6..de7899d883e06 100644 --- a/HLTrigger/Configuration/python/HLT_PRef_cff.py +++ b/HLTrigger/Configuration/python/HLT_PRef_cff.py @@ -1,13 +1,13 @@ # hltGetConfiguration --cff --data /dev/CMSSW_12_2_0/PRef --type PRef -# /dev/CMSSW_12_2_0/PRef/V5 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/PRef/V6 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms fragment = cms.ProcessFragment( "HLT" ) fragment.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/PRef/V5') + tableName = cms.string('/dev/CMSSW_12_2_0/PRef/V6') ) fragment.transferSystem = cms.PSet( diff --git a/HLTrigger/Configuration/python/Tools/confdb.py b/HLTrigger/Configuration/python/Tools/confdb.py index 2c4362d91becc..f4c10e4216846 100644 --- a/HLTrigger/Configuration/python/Tools/confdb.py +++ b/HLTrigger/Configuration/python/Tools/confdb.py @@ -800,6 +800,7 @@ def buildOptions(self): self.options['esmodules'].append( "-EcalEndcapGeometryEP" ) self.options['esmodules'].append( "-EcalLaserCorrectionService" ) self.options['esmodules'].append( "-EcalPreshowerGeometryEP" ) + self.options['esmodules'].append( "-GEMGeometryESModule" ) self.options['esmodules'].append( "-HcalHardcodeGeometryEP" ) self.options['esmodules'].append( "-HcalTopologyIdealEP" ) self.options['esmodules'].append( "-MuonNumberingInitialization" ) diff --git a/HLTrigger/Configuration/test/OnLine_HLT_FULL.py b/HLTrigger/Configuration/test/OnLine_HLT_FULL.py index a4d8067b4ade1..1e81118d07884 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_FULL.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_FULL.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/HLT --type FULL --unprescale --process HLTFULL --globaltag auto:run3_hlt_FULL --input file:RelVal_Raw_FULL_DATA.root -# /dev/CMSSW_12_2_0/HLT/V7 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/HLT/V8 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTFULL" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/HLT/V7') + tableName = cms.string('/dev/CMSSW_12_2_0/HLT/V8') ) process.transferSystem = cms.PSet( @@ -6692,6 +6692,13 @@ process.EcalPreshowerGeometryFromDBEP = cms.ESProducer( "EcalPreshowerGeometryFromDBEP", applyAlignment = cms.bool( True ) ) +process.GEMGeometryESModule = cms.ESProducer( "GEMGeometryESModule", + fromDDD = cms.bool( False ), + fromDD4hep = cms.bool( False ), + applyAlignment = cms.bool( False ), + alignmentsLabel = cms.string( "" ), + appendToDataLabel = cms.string( "" ) +) process.GlobalParameters = cms.ESProducer( "StableParametersTrivialProducer", TotalBxInEvent = cms.int32( 5 ), NumberPhysTriggers = cms.uint32( 512 ), diff --git a/HLTrigger/Configuration/test/OnLine_HLT_GRun.py b/HLTrigger/Configuration/test/OnLine_HLT_GRun.py index dd3997662a898..27af40f3041f9 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_GRun.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_GRun.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/GRun --type GRun --unprescale --process HLTGRun --globaltag auto:run3_hlt_GRun --input file:RelVal_Raw_GRun_DATA.root -# /dev/CMSSW_12_2_0/GRun/V5 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/GRun/V6 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTGRun" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/GRun/V5') + tableName = cms.string('/dev/CMSSW_12_2_0/GRun/V6') ) process.transferSystem = cms.PSet( @@ -5329,6 +5329,13 @@ process.EcalPreshowerGeometryFromDBEP = cms.ESProducer( "EcalPreshowerGeometryFromDBEP", applyAlignment = cms.bool( True ) ) +process.GEMGeometryESModule = cms.ESProducer( "GEMGeometryESModule", + fromDDD = cms.bool( False ), + fromDD4hep = cms.bool( False ), + applyAlignment = cms.bool( False ), + alignmentsLabel = cms.string( "" ), + appendToDataLabel = cms.string( "" ) +) process.GlobalParameters = cms.ESProducer( "StableParametersTrivialProducer", TotalBxInEvent = cms.int32( 5 ), NumberPhysTriggers = cms.uint32( 512 ), diff --git a/HLTrigger/Configuration/test/OnLine_HLT_HIon.py b/HLTrigger/Configuration/test/OnLine_HLT_HIon.py index f800963791259..e28210eba0a99 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_HIon.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_HIon.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/HIon --type HIon --unprescale --process HLTHIon --globaltag auto:run3_hlt_HIon --input file:RelVal_Raw_HIon_DATA.root -# /dev/CMSSW_12_2_0/HIon/V5 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/HIon/V6 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTHIon" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/HIon/V5') + tableName = cms.string('/dev/CMSSW_12_2_0/HIon/V6') ) process.transferSystem = cms.PSet( @@ -4492,6 +4492,13 @@ process.EcalPreshowerGeometryFromDBEP = cms.ESProducer( "EcalPreshowerGeometryFromDBEP", applyAlignment = cms.bool( True ) ) +process.GEMGeometryESModule = cms.ESProducer( "GEMGeometryESModule", + fromDDD = cms.bool( False ), + fromDD4hep = cms.bool( False ), + applyAlignment = cms.bool( False ), + alignmentsLabel = cms.string( "" ), + appendToDataLabel = cms.string( "" ) +) process.GlobalParameters = cms.ESProducer( "StableParametersTrivialProducer", TotalBxInEvent = cms.int32( 5 ), NumberPhysTriggers = cms.uint32( 512 ), diff --git a/HLTrigger/Configuration/test/OnLine_HLT_PIon.py b/HLTrigger/Configuration/test/OnLine_HLT_PIon.py index ef26b9729d584..215b4df3dd2ea 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_PIon.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_PIon.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/PIon --type PIon --unprescale --process HLTPIon --globaltag auto:run3_hlt_PIon --input file:RelVal_Raw_PIon_DATA.root -# /dev/CMSSW_12_2_0/PIon/V5 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/PIon/V6 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTPIon" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/PIon/V5') + tableName = cms.string('/dev/CMSSW_12_2_0/PIon/V6') ) process.transferSystem = cms.PSet( @@ -3963,6 +3963,13 @@ process.EcalPreshowerGeometryFromDBEP = cms.ESProducer( "EcalPreshowerGeometryFromDBEP", applyAlignment = cms.bool( True ) ) +process.GEMGeometryESModule = cms.ESProducer( "GEMGeometryESModule", + fromDDD = cms.bool( False ), + fromDD4hep = cms.bool( False ), + applyAlignment = cms.bool( False ), + alignmentsLabel = cms.string( "" ), + appendToDataLabel = cms.string( "" ) +) process.GlobalParameters = cms.ESProducer( "StableParametersTrivialProducer", TotalBxInEvent = cms.int32( 5 ), NumberPhysTriggers = cms.uint32( 512 ), diff --git a/HLTrigger/Configuration/test/OnLine_HLT_PRef.py b/HLTrigger/Configuration/test/OnLine_HLT_PRef.py index 3eb94658637ca..c2bc7c844d8ac 100644 --- a/HLTrigger/Configuration/test/OnLine_HLT_PRef.py +++ b/HLTrigger/Configuration/test/OnLine_HLT_PRef.py @@ -1,13 +1,13 @@ # hltGetConfiguration --full --data /dev/CMSSW_12_2_0/PRef --type PRef --unprescale --process HLTPRef --globaltag auto:run3_hlt_PRef --input file:RelVal_Raw_PRef_DATA.root -# /dev/CMSSW_12_2_0/PRef/V5 (CMSSW_12_2_0_pre2) +# /dev/CMSSW_12_2_0/PRef/V6 (CMSSW_12_2_0_pre2) import FWCore.ParameterSet.Config as cms process = cms.Process( "HLTPRef" ) process.HLTConfigVersion = cms.PSet( - tableName = cms.string('/dev/CMSSW_12_2_0/PRef/V5') + tableName = cms.string('/dev/CMSSW_12_2_0/PRef/V6') ) process.transferSystem = cms.PSet( @@ -4042,6 +4042,13 @@ process.EcalPreshowerGeometryFromDBEP = cms.ESProducer( "EcalPreshowerGeometryFromDBEP", applyAlignment = cms.bool( True ) ) +process.GEMGeometryESModule = cms.ESProducer( "GEMGeometryESModule", + fromDDD = cms.bool( False ), + fromDD4hep = cms.bool( False ), + applyAlignment = cms.bool( False ), + alignmentsLabel = cms.string( "" ), + appendToDataLabel = cms.string( "" ) +) process.GlobalParameters = cms.ESProducer( "StableParametersTrivialProducer", TotalBxInEvent = cms.int32( 5 ), NumberPhysTriggers = cms.uint32( 512 ), From 8521b001d2ae946e117d9669675d9333c7da42d1 Mon Sep 17 00:00:00 2001 From: SohamBhattacharya Date: Mon, 22 Nov 2021 12:52:57 +0100 Subject: [PATCH 100/268] Code checks and formats. --- .../PFClusterProducer/plugins/PFClusterFromHGCalTrackster.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/RecoParticleFlow/PFClusterProducer/plugins/PFClusterFromHGCalTrackster.cc b/RecoParticleFlow/PFClusterProducer/plugins/PFClusterFromHGCalTrackster.cc index 11dc3f859e707..df7cf738cba7a 100644 --- a/RecoParticleFlow/PFClusterProducer/plugins/PFClusterFromHGCalTrackster.cc +++ b/RecoParticleFlow/PFClusterProducer/plugins/PFClusterFromHGCalTrackster.cc @@ -82,7 +82,9 @@ void PFClusterFromHGCalTrackster::buildClusters(const edm::Handle Date: Mon, 22 Nov 2021 15:40:48 +0100 Subject: [PATCH 101/268] use custom inverter, tune grid size --- .../Math/interface/choleskyInversion.h | 80 +++++++++++++- DataFormats/Math/test/BuildFile.xml | 6 + DataFormats/Math/test/CholeskyInvert_t.cu | 5 +- DataFormats/Math/test/simpleCholeskyTest.cu | 103 ++++++++++++++++++ .../TrackerGeometryBuilder/test/BuildFile.xml | 2 +- .../plugins/BrokenLineFitOnGPU.cu | 20 ++-- 6 files changed, 198 insertions(+), 18 deletions(-) create mode 100644 DataFormats/Math/test/simpleCholeskyTest.cu diff --git a/DataFormats/Math/interface/choleskyInversion.h b/DataFormats/Math/interface/choleskyInversion.h index a478614f9a2ac..2b910ef7227c8 100644 --- a/DataFormats/Math/interface/choleskyInversion.h +++ b/DataFormats/Math/interface/choleskyInversion.h @@ -5,7 +5,79 @@ #include -/** +namespace math { + namespace cholesky { + + template +// without this: either does not compile or compiles and then fails silently at runtime +#ifdef __CUDACC__ + __host__ __device__ +#endif + inline constexpr void + invertNN(M1 const& src, M2& dst) { + + // origin: CERNLIB + + using T = typename M2::Scalar; + + T a[N][N]; + for (int i = 0; i < N; ++i) { + a[i][i] = src(i, i); + for (int j = i + 1; j < N; ++j) + // a[i][j] = + a[j][i] = src(i, j); + } + + for (int j = 0; j < N; ++j) { + a[j][j] = T(1.) / a[j][j]; + int jp1 = j + 1; + for (int l = jp1; l < N; ++l) { + a[j][l] = a[j][j] * a[l][j]; + T s1 = -a[l][jp1]; + for (int i = 0; i < jp1; ++i) + s1 += a[l][i] * a[i][jp1]; + a[l][jp1] = -s1; + } + } + + if constexpr (N == 1) { + dst(0, 0) = a[0][0]; + return; + } + a[0][1] = -a[0][1]; + a[1][0] = a[0][1] * a[1][1]; + for (int j = 2; j < N; ++j) { + int jm1 = j - 1; + for (int k = 0; k < jm1; ++k) { + T s31 = a[k][j]; + for (int i = k; i < jm1; ++i) + s31 += a[k][i + 1] * a[i + 1][j]; + a[k][j] = -s31; + a[j][k] = -s31 * a[j][j]; + } + a[jm1][j] = -a[jm1][j]; + a[j][jm1] = a[jm1][j] * a[j][j]; + } + + int j = 0; + while (j < N - 1) { + T s33 = a[j][j]; + for (int i = j + 1; i < N; ++i) + s33 += a[j][i] * a[i][j]; + dst(j, j) = s33; + + ++j; + for (int k = 0; k < j; ++k) { + T s32 = 0; + for (int i = j; i < N; ++i) + s32 += a[k][i] * a[i][j]; + dst(k, j) = dst(j, k) = s32; + } + } + dst(j, j) = a[j][j]; + } + + /** * fully inlined specialized code to perform the inversion of a * positive defined matrix of rank up to 6. * @@ -16,8 +88,6 @@ * * */ -namespace math { - namespace cholesky { template inline constexpr void __attribute__((always_inline)) invert11(M1 const& src, M2& dst) { @@ -338,10 +408,10 @@ namespace math { // Eigen interface template inline constexpr void __attribute__((always_inline)) invert(M1 const& src, M2& dst) { - if constexpr (M2::ColsAtCompileTime < 200) // should be 7 but + if constexpr (M2::ColsAtCompileTime < 7) Inverter::eval(src, dst); else - dst = src.llt().solve(M1::Identity()); // ... this crashes on GPU + invertNN(src, dst); } } // namespace cholesky diff --git a/DataFormats/Math/test/BuildFile.xml b/DataFormats/Math/test/BuildFile.xml index faa85fb2224ad..ad0058fe0dcb9 100644 --- a/DataFormats/Math/test/BuildFile.xml +++ b/DataFormats/Math/test/BuildFile.xml @@ -127,4 +127,10 @@ + + + + + + diff --git a/DataFormats/Math/test/CholeskyInvert_t.cu b/DataFormats/Math/test/CholeskyInvert_t.cu index a06ef7c377a7a..7faf30ee3d54c 100644 --- a/DataFormats/Math/test/CholeskyInvert_t.cu +++ b/DataFormats/Math/test/CholeskyInvert_t.cu @@ -198,14 +198,15 @@ int main() { go<4>(false); go<5>(false); go<6>(false); + go<7>(false); + go<10>(false); go<2>(true); go<3>(true); go<4>(true); go<5>(true); go<6>(true); - - go<10>(false); + go<7>(true); go<10>(true); return 0; } diff --git a/DataFormats/Math/test/simpleCholeskyTest.cu b/DataFormats/Math/test/simpleCholeskyTest.cu new file mode 100644 index 0000000000000..04a8438524276 --- /dev/null +++ b/DataFormats/Math/test/simpleCholeskyTest.cu @@ -0,0 +1,103 @@ +#include "DataFormats/Math/interface/choleskyInversion.h" + +using namespace math::cholesky; + +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "HeterogeneousCore/CUDAUtilities/interface/cudaCheck.h" +#include "HeterogeneousCore/CUDAUtilities/interface/requireDevices.h" + +template +__global__ void invert(M* mm, int n) { + auto i = blockIdx.x * blockDim.x + threadIdx.x; + if (i >= n) + return; + + auto& m = mm[i]; + + printf("before %d %f %f %f\n", N, m(0, 0), m(1, 0), m(1, 1)); + + invertNN(m, m); + + printf("after %d %f %f %f\n", N, m(0, 0), m(1, 0), m(1, 1)); +} + +template +__global__ void invertE(M* mm, int n) { + auto i = blockIdx.x * blockDim.x + threadIdx.x; + if (i >= n) + return; + + auto& m = mm[i]; + + printf("before %d %f %f %f\n", N, m(0, 0), m(1, 0), m(1, 1)); + + m = m.inverse(); + + printf("after %d %f %f %f\n", N, m(0, 0), m(1, 0), m(1, 1)); +} + +// generate matrices +template +void genMatrix(M& m) { + using T = typename std::remove_reference::type; + int n = M::ColsAtCompileTime; + std::mt19937 eng; + // std::mt19937 eng2; + std::uniform_real_distribution rgen(0., 1.); + + // generate first diagonal elemets + for (int i = 0; i < n; ++i) { + double maxVal = i * 10000 / (n - 1) + 1; // max condition is 10^4 + m(i, i) = maxVal * rgen(eng); + } + for (int i = 0; i < n; ++i) { + for (int j = 0; j < i; ++j) { + double v = 0.3 * std::sqrt(m(i, i) * m(j, j)); // this makes the matrix pos defined + m(i, j) = v * rgen(eng); + m(j, i) = m(i, j); + } + } +} + +template +using MXN = Eigen::Matrix; + +int main() { + cms::cudatest::requireDevices(); + + constexpr int DIM = 6; + + using M = MXN; + + M m; + + genMatrix(m); + + printf("on CPU before %d %f %f %f\n", DIM, m(0, 0), m(1, 0), m(1, 1)); + + invertNN(m, m); + + printf("on CPU after %d %f %f %f\n", DIM, m(0, 0), m(1, 0), m(1, 1)); + + double* d; + cudaMalloc(&d, sizeof(M)); + cudaMemcpy(d, &m, sizeof(M), cudaMemcpyHostToDevice); + invert<<<1, 1>>>((M*)d, 1); + cudaCheck(cudaDeviceSynchronize()); + invertE<<<1, 1>>>((M*)d, 1); + cudaCheck(cudaDeviceSynchronize()); + + return 0; +} diff --git a/Geometry/TrackerGeometryBuilder/test/BuildFile.xml b/Geometry/TrackerGeometryBuilder/test/BuildFile.xml index b8ba7beed98a3..238ae24f0f170 100644 --- a/Geometry/TrackerGeometryBuilder/test/BuildFile.xml +++ b/Geometry/TrackerGeometryBuilder/test/BuildFile.xml @@ -2,7 +2,6 @@ - @@ -43,6 +42,7 @@ + diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu index 0b617d8b3b4af..9329792b0d5e1 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu @@ -21,7 +21,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, for (uint32_t offset = 0; offset < maxNumberOfTuples; offset += maxNumberOfConcurrentFits_) { // fit triplets - kernel_BLFastFit<3><<>>(tuples_, + kernel_BLFastFit<3><<>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -33,7 +33,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<3><<>>(tupleMultiplicity_, + kernel_BLFit<3><<>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), @@ -44,7 +44,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, if (fit5as4_) { // fit all as 4 - kernel_BLFastFit<4><<>>(tuples_, + kernel_BLFastFit<4><<>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -56,7 +56,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<4><<>>(tupleMultiplicity_, + kernel_BLFit<4><<>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), @@ -65,7 +65,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, fast_fit_resultsGPU.get()); } else { // fit quads - kernel_BLFastFit<4><<>>(tuples_, + kernel_BLFastFit<4><<>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -77,7 +77,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<4><<>>(tupleMultiplicity_, + kernel_BLFit<4><<>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), @@ -85,7 +85,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, hits_geGPU.get(), fast_fit_resultsGPU.get()); // fit penta (all 5) - kernel_BLFastFit<5><<<1, blockSize, 0, stream>>>(tuples_, + kernel_BLFastFit<5><<>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -97,7 +97,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<5><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, + kernel_BLFit<5><<>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), @@ -106,7 +106,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, fast_fit_resultsGPU.get()); cudaCheck(cudaGetLastError()); // fit sexta and above (as 6) - kernel_BLFastFit<6><<<1, blockSize, 0, stream>>>(tuples_, + kernel_BLFastFit<6><<<4, blockSize, 0, stream>>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -118,7 +118,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<6><<<1, blockSize, 0, stream>>>(tupleMultiplicity_, + kernel_BLFit<6><<<4, blockSize, 0, stream>>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), From 1c58efd4f54196b2bcf2544307134cf0c6087750 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Mon, 22 Nov 2021 16:15:54 +0100 Subject: [PATCH 102/268] use faster layer identification --- .../Track/interface/TrackSoAHeterogeneousT.h | 4 ++-- .../PixelTriplets/plugins/BrokenLineFitOnGPU.cu | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h index b4864aadcb7c7..9007dbb5cb003 100644 --- a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h +++ b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h @@ -55,9 +55,9 @@ class TrackSoAHeterogeneousT { // layers are in order and we assume tracks are either forward or backward auto pdet = detIndices.begin(i); int nl = 1; - auto ol = phase1PixelTopology::findLayer(*pdet); + auto ol = phase1PixelTopology::getLayer(*pdet); for (; pdet < detIndices.end(i); ++pdet) { - auto il = phase1PixelTopology::findLayer(*pdet, ol); + auto il = phase1PixelTopology::getLayer(*pdet); // , ol); if (il != ol) ++nl; ol = il; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu index 9329792b0d5e1..875d89399d4fe 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu @@ -21,7 +21,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, for (uint32_t offset = 0; offset < maxNumberOfTuples; offset += maxNumberOfConcurrentFits_) { // fit triplets - kernel_BLFastFit<3><<>>(tuples_, + kernel_BLFastFit<3><<>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -33,7 +33,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<3><<>>(tupleMultiplicity_, + kernel_BLFit<3><<>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), @@ -44,7 +44,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, if (fit5as4_) { // fit all as 4 - kernel_BLFastFit<4><<>>(tuples_, + kernel_BLFastFit<4><<>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -56,7 +56,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<4><<>>(tupleMultiplicity_, + kernel_BLFit<4><<>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), @@ -65,7 +65,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, fast_fit_resultsGPU.get()); } else { // fit quads - kernel_BLFastFit<4><<>>(tuples_, + kernel_BLFastFit<4><<>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -77,7 +77,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<4><<>>(tupleMultiplicity_, + kernel_BLFit<4><<>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), @@ -97,7 +97,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<5><<>>(tupleMultiplicity_, + kernel_BLFit<5><<<8, blockSize, 0, stream>>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), From 26ded1b0794a6a7ebc47394a6767339446b641ed Mon Sep 17 00:00:00 2001 From: Andrea Perrotta Date: Mon, 22 Nov 2021 16:57:36 +0100 Subject: [PATCH 103/268] Update DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc --- DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc index 78adc376867b7..26e580601afda 100644 --- a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc +++ b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc @@ -300,7 +300,7 @@ void SiPixelPhase1ResidualsExtra::fillMEs(DQMStore::IBooker& iBooker, DQMStore:: MonitorElement* me2_y = iGetter.get( "PixelPhase1/Tracks/ResidualsExtra/PXBarrel/DRnR_y_per_SignedModule_per_SignedLadder_PXLayer_" + layer); - if (me_x == nullptr || me_y == nullptr || me2_x == nullptr || me2_x == nullptr) { + if (me_x == nullptr || me_y == nullptr || me2_x == nullptr || me2_y == nullptr) { edm::LogWarning("SiPixelPhase1ResidualsExtra") << "Residuals plots for Pixel BPIX Layer" << layer << " not found. Skipping ResidualsExtra plots generation."; continue; From 2b13e676ba0e63784ea7cd9205130958d7df1ca7 Mon Sep 17 00:00:00 2001 From: Andrea Perrotta Date: Mon, 22 Nov 2021 16:57:42 +0100 Subject: [PATCH 104/268] Update DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc --- DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc index 26e580601afda..12ffbbd835709 100644 --- a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc +++ b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1ResidualsExtra.cc @@ -396,7 +396,7 @@ void SiPixelPhase1ResidualsExtra::fillMEs(DQMStore::IBooker& iBooker, DQMStore:: MonitorElement* me2_y = iGetter.get( "PixelPhase1/Tracks/ResidualsExtra/PXForward/DRnR_y_per_PXDisk_per_SignedBladePanel_PXRing_" + ring); - if (me_x == nullptr || me_y == nullptr || me2_x == nullptr || me2_x == nullptr) { + if (me_x == nullptr || me_y == nullptr || me2_x == nullptr || me2_y == nullptr) { edm::LogWarning("SiPixelPhase1ResidualsExtra") << "Residuals plots for Pixel FPIX Ring" << ring << " not found. Skipping ResidualsExtra plots generation."; continue; From dc04465922397d3772e6a5834f6e24c262ac409f Mon Sep 17 00:00:00 2001 From: SohamBhattacharya Date: Mon, 22 Nov 2021 17:04:09 +0100 Subject: [PATCH 105/268] Turned on the trackster iteration filter flag. --- .../PFClusterProducer/python/particleFlowClusterHGC_cfi.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RecoParticleFlow/PFClusterProducer/python/particleFlowClusterHGC_cfi.py b/RecoParticleFlow/PFClusterProducer/python/particleFlowClusterHGC_cfi.py index ba2ae47a6571b..2665f12c26d57 100644 --- a/RecoParticleFlow/PFClusterProducer/python/particleFlowClusterHGC_cfi.py +++ b/RecoParticleFlow/PFClusterProducer/python/particleFlowClusterHGC_cfi.py @@ -53,7 +53,7 @@ filterByTracksterPID = cms.bool(False), pid_threshold = cms.double(0.8), filter_on_categories = cms.vint32([0, 1]), - filterByTracksterIteration = cms.bool(False), + filterByTracksterIteration = cms.bool(True), filter_on_iterations = cms.vint32([0, 1]), ) From 24da6adc0e9124aa5c77cc912f4dd18051909356 Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 18:22:50 +0100 Subject: [PATCH 106/268] fix graphics for 2D maps for BPix L1 --- .../OfflineValidation/macros/FitPVResiduals.C | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/Alignment/OfflineValidation/macros/FitPVResiduals.C b/Alignment/OfflineValidation/macros/FitPVResiduals.C index 8b66e965d4502..f08ccf953e8fb 100644 --- a/Alignment/OfflineValidation/macros/FitPVResiduals.C +++ b/Alignment/OfflineValidation/macros/FitPVResiduals.C @@ -2669,7 +2669,7 @@ void arrangeCanvas2D( //meanmaps[i]->Draw("colzsame"); // draw the "color palette" makeNewPairOfAxes(meanmaps[i]); - + pt[i]->Draw("same"); pt2[i]->Draw("same"); pt3[i]->Draw("same"); @@ -2681,7 +2681,7 @@ void arrangeCanvas2D( widthmaps[i]->Draw("colz1"); makeNewPairOfAxes(widthmaps[i]); - + widthmaps[i]->GetZaxis()->SetRangeUser(0., maxwidth); pt[i]->Draw("same"); @@ -4054,13 +4054,29 @@ void makeNewXAxis(TH1F *h) void makeNewPairOfAxes(TH2F *h) /*--------------------------------------------------------------------*/ { - int ndivx = 505; - float axmin = -etaRange; - float axmax = etaRange; - - int ndivy = 510; - float aymin = -TMath::Pi(); - float aymax = TMath::Pi(); + TString myTitle = h->GetName(); + // fake defaults + float axmin = -999; + float axmax = 999.; + float aymin = -999; + float aymax = 999.; + int ndivx = h->GetXaxis()->GetNdivisions(); + int ndivy = h->GetYaxis()->GetNdivisions(); + + if (!myTitle.Contains("L1Map")) { + ndivx = 505; + ndivy = 510; + axmin = -etaRange; + axmax = etaRange; + aymin = -TMath::Pi(); + aymax = TMath::Pi(); + } else { + // this is a L1 map + axmin = 0.5; + axmax = 8.5; + aymin = 0.5; + aymax = 12.5; + } // Remove the current axis h->GetXaxis()->SetLabelOffset(999); From 3b4747af7f207a6552a19e8200088f8d9d1c2bb4 Mon Sep 17 00:00:00 2001 From: Marino Missiroli Date: Mon, 22 Nov 2021 18:46:13 +0100 Subject: [PATCH 107/268] fix for invalid configs caused by L1T printouts --- .../python/SimL1EmulatorRepack_CalouGT_cff.py | 6 +++--- .../python/SimL1EmulatorRepack_Full2015Data_cff.py | 6 +++--- .../python/SimL1EmulatorRepack_FullMC_cff.py | 6 +++--- .../python/SimL1EmulatorRepack_FullSimTP_cff.py | 6 +++--- .../python/SimL1EmulatorRepack_Full_cff.py | 6 +++--- .../StandardSequences/python/SimL1EmulatorRepack_uGT_cff.py | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Configuration/StandardSequences/python/SimL1EmulatorRepack_CalouGT_cff.py b/Configuration/StandardSequences/python/SimL1EmulatorRepack_CalouGT_cff.py index 030a44286178d..99f52f8196b20 100644 --- a/Configuration/StandardSequences/python/SimL1EmulatorRepack_CalouGT_cff.py +++ b/Configuration/StandardSequences/python/SimL1EmulatorRepack_CalouGT_cff.py @@ -6,10 +6,10 @@ from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger def _print(ignored): - print("L1T WARN: L1REPACK:CalouGT (intended for 2016/2017 data) only supports Stage 2 eras for now.") - print("L1T WARN: Use a legacy version of L1REPACK for now.") + print("# L1T WARN: L1REPACK:CalouGT (intended for 2016/2017 data) only supports Stage 2 eras for now.") + print("# L1T WARN: Use a legacy version of L1REPACK for now.") stage2L1Trigger.toModify(None, _print) -(~stage2L1Trigger).toModify(None, lambda x: print("L1T INFO: L1REPACK:CalouGT (intended for 2016/2017 data), reemulates the Calo part, uses unpacked Muons, and reemulates uGT.")) +(~stage2L1Trigger).toModify(None, lambda x: print("# L1T INFO: L1REPACK:CalouGT (intended for 2016/2017 data), reemulates the Calo part, uses unpacked Muons, and reemulates uGT.")) # First, Unpack all inputs to L1: import EventFilter.L1TRawToDigi.bmtfDigis_cfi diff --git a/Configuration/StandardSequences/python/SimL1EmulatorRepack_Full2015Data_cff.py b/Configuration/StandardSequences/python/SimL1EmulatorRepack_Full2015Data_cff.py index 1e489c545bcf3..961b0815944eb 100644 --- a/Configuration/StandardSequences/python/SimL1EmulatorRepack_Full2015Data_cff.py +++ b/Configuration/StandardSequences/python/SimL1EmulatorRepack_Full2015Data_cff.py @@ -6,10 +6,10 @@ from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger def _print(ignored): - print("L1T WARN: L1REPACK:Full2015Data only supports Stage 2 eras for now.") - print("L1T WARN: Use a legacy version of L1REPACK for now.") + print("# L1T WARN: L1REPACK:Full2015Data only supports Stage 2 eras for now.") + print("# L1T WARN: Use a legacy version of L1REPACK for now.") stage2L1Trigger.toModify(None, _print) -(~stage2L1Trigger).toModify(None, lambda x: print("L1T INFO: L1REPACK:Full2015Data will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.")) +(~stage2L1Trigger).toModify(None, lambda x: print("# L1T INFO: L1REPACK:Full2015Data will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.")) # First, Unpack all inputs to L1: import EventFilter.DTTFRawToDigi.dttfunpacker_cfi diff --git a/Configuration/StandardSequences/python/SimL1EmulatorRepack_FullMC_cff.py b/Configuration/StandardSequences/python/SimL1EmulatorRepack_FullMC_cff.py index a24d0ece093f6..828ccfd38a0f6 100644 --- a/Configuration/StandardSequences/python/SimL1EmulatorRepack_FullMC_cff.py +++ b/Configuration/StandardSequences/python/SimL1EmulatorRepack_FullMC_cff.py @@ -6,10 +6,10 @@ from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger def _print(ignored): - print("L1T WARN: L1REPACK:FullMC (intended for MC events with RAW eventcontent) only supports Stage 2 eras for now.") - print("L1T WARN: Use a legacy version of L1REPACK for now.") + print("# L1T WARN: L1REPACK:FullMC (intended for MC events with RAW eventcontent) only supports Stage 2 eras for now.") + print("# L1T WARN: Use a legacy version of L1REPACK for now.") stage2L1Trigger.toModify(None, _print) -(~stage2L1Trigger).toModify(None, lambda x: print("L1T INFO: L1REPACK:FullMC will unpack Calorimetry and Muon L1T inputs, re-emulate L1T (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.")) +(~stage2L1Trigger).toModify(None, lambda x: print("# L1T INFO: L1REPACK:FullMC will unpack Calorimetry and Muon L1T inputs, re-emulate L1T (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.")) # First, Unpack all inputs to L1: diff --git a/Configuration/StandardSequences/python/SimL1EmulatorRepack_FullSimTP_cff.py b/Configuration/StandardSequences/python/SimL1EmulatorRepack_FullSimTP_cff.py index 90f8d42cc5513..bd905384e2958 100644 --- a/Configuration/StandardSequences/python/SimL1EmulatorRepack_FullSimTP_cff.py +++ b/Configuration/StandardSequences/python/SimL1EmulatorRepack_FullSimTP_cff.py @@ -6,10 +6,10 @@ from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger def _print(ignored): - print("L1T WARN: L1REPACK:FullSimTP (intended for 2016 data) only supports Stage 2 eras for now.") - print("L1T WARN: Use a legacy version of L1REPACK for now.") + print("# L1T WARN: L1REPACK:FullSimTP (intended for 2016 data) only supports Stage 2 eras for now.") + print("# L1T WARN: Use a legacy version of L1REPACK for now.") stage2L1Trigger.toModify(None, _print) -(~stage2L1Trigger).toModify(None, lambda x: print("L1T INFO: L1REPACK:FullSimTP (intended for 2016 data) will unpack all L1T inputs, re-emulate Trigger Primitives, re-emulate L1T (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.")) +(~stage2L1Trigger).toModify(None, lambda x: print("# L1T INFO: L1REPACK:FullSimTP (intended for 2016 data) will unpack all L1T inputs, re-emulate Trigger Primitives, re-emulate L1T (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.")) # First, Unpack all inputs to L1: import EventFilter.L1TRawToDigi.bmtfDigis_cfi diff --git a/Configuration/StandardSequences/python/SimL1EmulatorRepack_Full_cff.py b/Configuration/StandardSequences/python/SimL1EmulatorRepack_Full_cff.py index 9c3723eb7f47a..d1d20cd199b1d 100644 --- a/Configuration/StandardSequences/python/SimL1EmulatorRepack_Full_cff.py +++ b/Configuration/StandardSequences/python/SimL1EmulatorRepack_Full_cff.py @@ -8,10 +8,10 @@ from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM def _print(ignored): - print("L1T WARN: L1REPACK:Full (intended for 2016 data) only supports Stage 2 eras for now.") - print("L1T WARN: Use a legacy version of L1REPACK for now.") + print("# L1T WARN: L1REPACK:Full (intended for 2016 data) only supports Stage 2 eras for now.") + print("# L1T WARN: Use a legacy version of L1REPACK for now.") stage2L1Trigger.toModify(None, _print) -(~stage2L1Trigger).toModify(None, lambda x: print("L1T INFO: L1REPACK:Full (intended for 2016 & 2017 data) will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.")) +(~stage2L1Trigger).toModify(None, lambda x: print("# L1T INFO: L1REPACK:Full (intended for 2016 & 2017 data) will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output.")) # First, Unpack all inputs to L1: diff --git a/Configuration/StandardSequences/python/SimL1EmulatorRepack_uGT_cff.py b/Configuration/StandardSequences/python/SimL1EmulatorRepack_uGT_cff.py index 77d42a519bd52..e0340eb7b0ea0 100644 --- a/Configuration/StandardSequences/python/SimL1EmulatorRepack_uGT_cff.py +++ b/Configuration/StandardSequences/python/SimL1EmulatorRepack_uGT_cff.py @@ -6,10 +6,10 @@ from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger def _print(ignored): - print("L1T WARN: L1REPACK:Full (intended for 2016 data) only supports Stage 2 eras for now.") - print("L1T WARN: Use a legacy version of L1REPACK for now.") + print("# L1T WARN: L1REPACK:Full (intended for 2016 data) only supports Stage 2 eras for now.") + print("# L1T WARN: Use a legacy version of L1REPACK for now.") stage2L1Trigger.toModify(None, _print) -(~stage2L1Trigger).toModify(None, lambda x: print("L1T INFO: L1REPACK:uGT (intended for 2016 data) will unpack uGMT and CaloLaye2 outputs and re-emulate uGT")) +(~stage2L1Trigger).toModify(None, lambda x: print("# L1T INFO: L1REPACK:uGT (intended for 2016 data) will unpack uGMT and CaloLaye2 outputs and re-emulate uGT")) # First, inputs to uGT: From 469b45fcf9c5e2189f26b22608d4f5ef79da5b2e Mon Sep 17 00:00:00 2001 From: Kevin Pedro Date: Mon, 22 Nov 2021 20:49:44 +0100 Subject: [PATCH 108/268] retain any other eras in DDD workflow --- .../PyReleaseValidation/python/upgradeWorkflowComponents.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index ea2c39eee079a..e07540d196516 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -1244,7 +1244,11 @@ def condition(self, fragment, stepList, key, hasHarvest): class UpgradeWorkflow_DDDDB(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): if 'Run3' in stepDict[step][k]['--era']: - stepDict[stepName][k] = merge([{'--conditions': 'auto:phase1_2021_realistic_ddd', '--geometry': 'DB:Extended', '--era': 'Run3_DDD'}, stepDict[step][k]]) + # retain any other eras + tmp_eras = stepDict[step][k]['--era'].split(',') + tmp_eras[tmp_eras.index("Run3")] = 'Run3_DDD' + tmp_eras = ','.join(tmp_eras) + stepDict[stepName][k] = merge([{'--conditions': 'auto:phase1_2021_realistic_ddd', '--geometry': 'DB:Extended', '--era': tmp_eras}, stepDict[step][k]]) def condition(self, fragment, stepList, key, hasHarvest): return '2021' in key upgradeWFs['DDDDB'] = UpgradeWorkflow_DDDDB( From f09f348b6431ab6fe728ed44ff899daa2965ab15 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Mon, 22 Nov 2021 21:20:20 +0100 Subject: [PATCH 109/268] Use ESGetToekn in some of the codes in SimTracker/Track(Vertex)Association --- .../plugins/MCTrackMatcher.cc | 1 - .../plugins/TrackAssociatorEDProducer.cc | 2 - .../plugins/TrackMCQuality.cc | 1 - .../src/ParametersDefinerForTP.cc | 1 - .../test/testTrackAssociator.cc | 34 +++++-- .../test/testTrackAssociator.h | 33 ------- .../test/testVertexAssociator.cc | 90 ++++++++++++++++-- .../test/testVertexAssociator.h | 91 ------------------- 8 files changed, 111 insertions(+), 142 deletions(-) delete mode 100644 SimTracker/TrackAssociation/test/testTrackAssociator.h delete mode 100644 SimTracker/VertexAssociation/test/testVertexAssociator.h diff --git a/SimTracker/TrackAssociation/plugins/MCTrackMatcher.cc b/SimTracker/TrackAssociation/plugins/MCTrackMatcher.cc index d9df9dc3cadc4..4f9be145a6b64 100644 --- a/SimTracker/TrackAssociation/plugins/MCTrackMatcher.cc +++ b/SimTracker/TrackAssociation/plugins/MCTrackMatcher.cc @@ -36,7 +36,6 @@ class MCTrackMatcher : public edm::global::EDProducer<> { }; #include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Utilities/interface/EDMException.h" diff --git a/SimTracker/TrackAssociation/plugins/TrackAssociatorEDProducer.cc b/SimTracker/TrackAssociation/plugins/TrackAssociatorEDProducer.cc index 6f0aa9aca6153..950bc2f09b21a 100644 --- a/SimTracker/TrackAssociation/plugins/TrackAssociatorEDProducer.cc +++ b/SimTracker/TrackAssociation/plugins/TrackAssociatorEDProducer.cc @@ -14,8 +14,6 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" - #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "SimDataFormats/Associations/interface/TrackToTrackingParticleAssociator.h" diff --git a/SimTracker/TrackAssociation/plugins/TrackMCQuality.cc b/SimTracker/TrackAssociation/plugins/TrackMCQuality.cc index 0665c663a4489..61856efc3f7e9 100644 --- a/SimTracker/TrackAssociation/plugins/TrackMCQuality.cc +++ b/SimTracker/TrackAssociation/plugins/TrackMCQuality.cc @@ -27,7 +27,6 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "SimDataFormats/Associations/interface/TrackToTrackingParticleAssociator.h" diff --git a/SimTracker/TrackAssociation/src/ParametersDefinerForTP.cc b/SimTracker/TrackAssociation/src/ParametersDefinerForTP.cc index 08f87e3dc8b87..56d82188ec06b 100644 --- a/SimTracker/TrackAssociation/src/ParametersDefinerForTP.cc +++ b/SimTracker/TrackAssociation/src/ParametersDefinerForTP.cc @@ -7,7 +7,6 @@ #include "TrackingTools/PatternTools/interface/TSCBLBuilderNoMaterial.h" #include "TrackingTools/PatternTools/interface/TSCPBuilderNoMaterial.h" #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h" -#include class TrajectoryStateClosestToBeamLineBuilder; ParametersDefinerForTP::ParametersDefinerForTP(const edm::InputTag &beamspot, edm::ConsumesCollector iC) diff --git a/SimTracker/TrackAssociation/test/testTrackAssociator.cc b/SimTracker/TrackAssociation/test/testTrackAssociator.cc index bb1f158d3e0ca..667f79a317e63 100644 --- a/SimTracker/TrackAssociation/test/testTrackAssociator.cc +++ b/SimTracker/TrackAssociation/test/testTrackAssociator.cc @@ -1,22 +1,43 @@ -#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/InputTag.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "MagneticField/Engine/interface/MagneticField.h" #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h" -#include "SimTracker/TrackAssociation/test/testTrackAssociator.h" - #include "DataFormats/TrackReco/interface/TrackFwd.h" #include "SimDataFormats/Associations/interface/TrackToTrackingParticleAssociator.h" #include +#include #include +#include #include // class TrackAssociator; class TrackAssociatorByHits; class TrackerHitAssociator; +namespace reco { + class TrackToTrackingParticleAssociator; +} + +class testTrackAssociator : public edm::one::EDAnalyzer<> { +public: + testTrackAssociator(const edm::ParameterSet &conf); + ~testTrackAssociator() override = default; + void beginJob() override {} + void analyze(const edm::Event &, const edm::EventSetup &) override; + +private: + reco::TrackToTrackingParticleAssociator const *associatorByChi2; + reco::TrackToTrackingParticleAssociator const *associatorByHits; + edm::InputTag tracksTag, tpTag, simtracksTag, simvtxTag; + edm::ESGetToken tokenMF_; +}; + using namespace reco; using namespace std; using namespace edm; @@ -26,13 +47,12 @@ testTrackAssociator::testTrackAssociator(edm::ParameterSet const &conf) { tpTag = conf.getParameter("tpTag"); simtracksTag = conf.getParameter("simtracksTag"); simvtxTag = conf.getParameter("simvtxTag"); -} + tokenMF_ = esConsumes() ; -testTrackAssociator::~testTrackAssociator() {} +} void testTrackAssociator::analyze(const edm::Event &event, const edm::EventSetup &setup) { - edm::ESHandle theMF; - setup.get().get(theMF); + const auto& theMF = setup.getHandle(tokenMF_); edm::Handle theChiAssociator; event.getByLabel("trackAssociatorByChi2", theChiAssociator); associatorByChi2 = theChiAssociator.product(); diff --git a/SimTracker/TrackAssociation/test/testTrackAssociator.h b/SimTracker/TrackAssociation/test/testTrackAssociator.h deleted file mode 100644 index 427339cde1290..0000000000000 --- a/SimTracker/TrackAssociation/test/testTrackAssociator.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef testTrackAssociator_h -#define testTrackAssociator_h - -#include - -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include -#include -#include -#include - -namespace reco { - class TrackToTrackingParticleAssociator; -} - -class testTrackAssociator : public edm::EDAnalyzer { -public: - testTrackAssociator(const edm::ParameterSet &conf); - ~testTrackAssociator() override; - void beginJob() override {} - void analyze(const edm::Event &, const edm::EventSetup &) override; - -private: - reco::TrackToTrackingParticleAssociator const *associatorByChi2; - reco::TrackToTrackingParticleAssociator const *associatorByHits; - edm::InputTag tracksTag, tpTag, simtracksTag, simvtxTag; -}; - -#endif diff --git a/SimTracker/VertexAssociation/test/testVertexAssociator.cc b/SimTracker/VertexAssociation/test/testVertexAssociator.cc index d03f73363d944..0231f51e2bbb9 100644 --- a/SimTracker/VertexAssociation/test/testVertexAssociator.cc +++ b/SimTracker/VertexAssociation/test/testVertexAssociator.cc @@ -1,4 +1,8 @@ -#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" + #include "MagneticField/Engine/interface/MagneticField.h" #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" @@ -9,14 +13,89 @@ #include "SimDataFormats/Associations/interface/VertexToTrackingVertexAssociator.h" #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h" #include "SimDataFormats/TrackingAnalysis/interface/TrackingVertexContainer.h" -#include "SimTracker/VertexAssociation/test/testVertexAssociator.h" #include "CommonTools/Statistics/interface/ChiSquaredProbability.h" #include "DataFormats/Math/interface/Vector.h" +#include "DataFormats/Math/interface/LorentzVector.h" +#include +#include + +#include "TFile.h" +#include "TH1F.h" +#include "TMath.h" +#include "TROOT.h" +#include "TTree.h" +#include #include +#include #include +#include #include +#include + +namespace reco { + class TrackToTrackingParticleAssociator; + class VertexToTrackingVertexAssociator; +} // namespace reco + +class testVertexAssociator : public edm::one::EDAnalyzer { +public: + testVertexAssociator(const edm::ParameterSet &conf); + ~testVertexAssociator() override = default; + void beginJob() override; + void endJob() override; + void analyze(const edm::Event &, const edm::EventSetup &) override; + +private: + const reco::TrackToTrackingParticleAssociator *associatorByChi2; + const reco::TrackToTrackingParticleAssociator *associatorByHits; + const reco::VertexToTrackingVertexAssociator *associatorByTracks; + + edm::InputTag vertexCollection_; + edm::EDGetTokenT associatorByTracksToken; + edm::ESGetToken tokenMF_; + + int n_event_; + int n_rs_vertices_; + int n_rs_vtxassocs_; + int n_sr_vertices_; + int n_sr_vtxassocs_; + + //--------- RecoToSim Histos ----- + + TH1F *rs_resx; + TH1F *rs_resy; + TH1F *rs_resz; + TH1F *rs_pullx; + TH1F *rs_pully; + TH1F *rs_pullz; + TH1F *rs_dist; + TH1F *rs_simz; + TH1F *rs_recz; + TH1F *rs_nrectrk; + TH1F *rs_nsimtrk; + TH1F *rs_qual; + TH1F *rs_chi2norm; + TH1F *rs_chi2prob; + + //--------- SimToReco Histos ----- + + TH1F *sr_resx; + TH1F *sr_resy; + TH1F *sr_resz; + TH1F *sr_pullx; + TH1F *sr_pully; + TH1F *sr_pullz; + TH1F *sr_dist; + TH1F *sr_simz; + TH1F *sr_recz; + TH1F *sr_nrectrk; + TH1F *sr_nsimtrk; + TH1F *sr_qual; + TH1F *sr_chi2norm; + TH1F *sr_chi2prob; +}; // class TrackAssociator; class TrackAssociatorByHits; @@ -29,7 +108,9 @@ using namespace edm; testVertexAssociator::testVertexAssociator(edm::ParameterSet const &conf) : associatorByTracksToken(consumes( conf.getUntrackedParameter("vertexAssociation"))) { + usesResource(TFileService::kSharedResource); vertexCollection_ = conf.getUntrackedParameter("vertexCollection"); + tokenMF_ = esConsumes(); n_event_ = 0; n_rs_vertices_ = 0; @@ -38,8 +119,6 @@ testVertexAssociator::testVertexAssociator(edm::ParameterSet const &conf) n_sr_vtxassocs_ = 0; } -testVertexAssociator::~testVertexAssociator() {} - void testVertexAssociator::beginJob() { edm::Service fs; @@ -91,8 +170,7 @@ void testVertexAssociator::analyze(const edm::Event &event, const edm::EventSetu using namespace edm; using namespace reco; - edm::ESHandle theMF; - setup.get().get(theMF); + const auto & theMF = setup.getHandle(tokenMF_); edm::Handle theTracksAssociator; event.getByToken(associatorByTracksToken, theTracksAssociator); diff --git a/SimTracker/VertexAssociation/test/testVertexAssociator.h b/SimTracker/VertexAssociation/test/testVertexAssociator.h deleted file mode 100644 index 8191b5f7e82b4..0000000000000 --- a/SimTracker/VertexAssociation/test/testVertexAssociator.h +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef testVertexAssociator_h -#define testVertexAssociator_h - -#include - -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "TFile.h" -#include "TH1F.h" - -#include -#include -#include -#include - -#include "TMath.h" -#include "TROOT.h" -#include "TTree.h" -#include - -#include "DataFormats/Math/interface/LorentzVector.h" -#include -#include -#include - -namespace reco { - class TrackToTrackingParticleAssociator; - class VertexToTrackingVertexAssociator; -} // namespace reco - -class testVertexAssociator : public edm::EDAnalyzer { -public: - testVertexAssociator(const edm::ParameterSet &conf); - ~testVertexAssociator() override; - void beginJob() override; - void endJob() override; - void analyze(const edm::Event &, const edm::EventSetup &) override; - -private: - const reco::TrackToTrackingParticleAssociator *associatorByChi2; - const reco::TrackToTrackingParticleAssociator *associatorByHits; - const reco::VertexToTrackingVertexAssociator *associatorByTracks; - - edm::InputTag vertexCollection_; - edm::EDGetTokenT associatorByTracksToken; - - int n_event_; - int n_rs_vertices_; - int n_rs_vtxassocs_; - int n_sr_vertices_; - int n_sr_vtxassocs_; - - //--------- RecoToSim Histos ----- - - TH1F *rs_resx; - TH1F *rs_resy; - TH1F *rs_resz; - TH1F *rs_pullx; - TH1F *rs_pully; - TH1F *rs_pullz; - TH1F *rs_dist; - TH1F *rs_simz; - TH1F *rs_recz; - TH1F *rs_nrectrk; - TH1F *rs_nsimtrk; - TH1F *rs_qual; - TH1F *rs_chi2norm; - TH1F *rs_chi2prob; - - //--------- SimToReco Histos ----- - - TH1F *sr_resx; - TH1F *sr_resy; - TH1F *sr_resz; - TH1F *sr_pullx; - TH1F *sr_pully; - TH1F *sr_pullz; - TH1F *sr_dist; - TH1F *sr_simz; - TH1F *sr_recz; - TH1F *sr_nrectrk; - TH1F *sr_nsimtrk; - TH1F *sr_qual; - TH1F *sr_chi2norm; - TH1F *sr_chi2prob; -}; - -#endif From fd47ed008aab74f7fcaeee1c490b9024731cd85c Mon Sep 17 00:00:00 2001 From: Sunanda Date: Mon, 22 Nov 2021 21:24:09 +0100 Subject: [PATCH 110/268] Modify one of the scripts used in making validation plots --- .../{test => macros}/MakePlots.C | 124 +++++++++++++++++- 1 file changed, 119 insertions(+), 5 deletions(-) rename Validation/HGCalValidation/{test => macros}/MakePlots.C (86%) diff --git a/Validation/HGCalValidation/test/MakePlots.C b/Validation/HGCalValidation/macros/MakePlots.C similarity index 86% rename from Validation/HGCalValidation/test/MakePlots.C rename to Validation/HGCalValidation/macros/MakePlots.C index b25591768e825..2109536217ed8 100644 --- a/Validation/HGCalValidation/test/MakePlots.C +++ b/Validation/HGCalValidation/macros/MakePlots.C @@ -8,6 +8,8 @@ // Plots histograms created by HGCGeometryCheck // void hgcalBHValidPlots(fname, tag, dtype, save, debug) // Plots histograms created by HGCalBHValidation +// void hgcalSiliconAnalysisPlots(fname, tag, dtype, save, debug) +// Plots histograms created by HGCalSiliconValidation // // where // fanme (std::string) Input ROOT file name @@ -17,7 +19,7 @@ // "roots/hgcBHValidD83.root" BHValid) // dirnm (std::string) Directory name // ("hfnoseRecHitStudy" for noseRecHitPlots) -// itype (int) Type: 0 SimHit; 1 Digi; 2 RecHit (0) +// type (int) Type: 0 SimHit; 1 Digi; 2 RecHit (0) // tag (std::string) Name of the tag for the canvas name // ("HFNose" for noseRecHitPlots, // "SimHitD83" for studyPlots, @@ -267,6 +269,7 @@ void hgcalStudyPlots(std::string fname = "roots/hgcSimHitD83tt.root", void hgcalGeomCheckPlots(std::string fname = "roots/hgcGeomCheckD83.root", std::string tag = "GeomChkD83", std::string dtype = "#mu D83", + bool statbox = true, bool save = false, bool debug = false) { std::string dirnm = "hgcGeomCheck"; @@ -283,14 +286,17 @@ void hgcalGeomCheckPlots(std::string fname = "roots/hgcGeomCheckD83.root", "hebzVsLayer", "hebdzVsZ"}; std::string xtitl[9] = { - "Layer", "Layer", "#Delta Z (cm)", "Layer", "Layer", "#Delta Z (cm)", "Layer", "Layer", "#Delta Z (cm)"}; - std::string ytitl[9] = {"R (cm)", "Z (cm)", "Z (cm)", "R (cm)", "Z (cm)", "Z (cm)", "R (cm)", "Z (cm)", "Z (cm)"}; + "Layer", "Layer", "Z (cm)", "Layer", "Layer", "Z (cm)", "Layer", "Layer", "Z (cm)"}; + std::string ytitl[9] = {"R (cm)", "Z (cm)", "#Delta Z (cm)", "R (cm)", "Z (cm)", "#Delta Z (cm)", "R (cm)", "Z (cm)", "#Delta Z (cm)"}; gStyle->SetCanvasBorderMode(0); gStyle->SetCanvasColor(kWhite); gStyle->SetPadColor(kWhite); gStyle->SetFillColor(kWhite); - gStyle->SetOptStat(111110); + if (statbox) + gStyle->SetOptStat(111110); + else + gStyle->SetOptStat(0); if (debug) std::cout << "File " << fname << " Tags " << tag << " : " << dtype << " Save " << save << "\n"; TFile *file = new TFile(fname.c_str()); @@ -451,9 +457,117 @@ void hgcalBHValidPlots(std::string fname = "roots/hgcBHValidD83.root", } } +void hgcalSiliconAnalysisPlots(std::string fname = "roots/hgcSilValidD86.root", + std::string tag = "SilValidD86", + std::string dtype = "ttbar D86", + bool save = false, + bool debug = false) { + std::string dirnm[2] = {"hgcalSiliconAnalysisEE", "hgcalSiliconAnalysisHEF"}; + std::string name0[2] = {"HGCal EE", "HGCal HE Silicon"}; + int nhist = 9; + std::string name2[9] = {"SimHitEn1", + "SimHitEn2", + "SimHitLong", + "SimHitOccup", + "SimHitOccu2", + "SimHitTime", + "DigiLong", + "DigiOccup", + "DigiOccu2"}; + std::string xtitl[9] = {"SimHit Energy (GeV)", + "SimHit Energy (GeV)", + "SimHit Layer #", + "SimHit i#eta", + "SimHit i#eta", + "Digi Layer #", + "Digi i#eta", + "Digi i#eta"}; + std::string ytitl[9] = {"Hits", "Hits", "Energy Sum (GeV)", "i#phi", "Layer #", "Digi Sum", "i#phi", "Layer #"}; + double xmax[9] = {0.05, 0.20, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0}; + int ihty[9] = {1, 1, 1, 2, 2, 1, 1, 2, 2}; + int iaxty[9] = {1, 1, 0, 0, 0, 1, 0, 0, 0}; + int ibin[10] = {0, 0, 0, 0, 0, 10, 0, 0, 0}; + gStyle->SetCanvasBorderMode(0); + gStyle->SetCanvasColor(kWhite); + gStyle->SetPadColor(kWhite); + gStyle->SetFillColor(kWhite); + gStyle->SetOptStat(111110); + if (debug) + std::cout << "File " << fname << " Tags " << tag << " : " << dtype << " Save " << save << "\n"; + TFile *file = new TFile(fname.c_str()); + if (file) { + for (int idir = 0; idir < 2; ++idir) { + char dirx[100]; + sprintf(dirx, "%s", dirnm[idir].c_str()); + TDirectory *dir = (TDirectory *)file->FindObjectAny(dirx); + if (debug) + std::cout << "Directory " << dirx << " : " << dir << std::endl; + if (dir) { + for (int ih = 0; ih < nhist; ++ih) { + char hname[100]; + sprintf(hname, "%s", name2[ih].c_str()); + TH1D *hist1(nullptr); + TH2D *hist2(nullptr); + if (ihty[ih] <= 1) + hist1 = (TH1D *)dir->FindObjectAny(hname); + else + hist2 = (TH2D *)dir->FindObjectAny(hname); + if (debug) + std::cout << "Hist " << hname << " : " << hist1 << ":" << hist2 << " Xtitle " << xtitl[ih] << " Ytitle " + << ytitl[ih] << " xmax " << xmax[ih] << " iaxty " << iaxty[ih] << " ibin " << ibin[ih] << std::endl; + if ((hist1 != nullptr) || (hist2 != nullptr)) { + char name[100], title[100]; + sprintf(name, "%s%s", hname, tag.c_str()); + TCanvas *pad = new TCanvas(name, name, 500, 500); + pad->SetRightMargin(0.10); + pad->SetTopMargin(0.10); + sprintf(title, "%s (%s)", name0[idir].c_str(), dtype.c_str()); + if (debug) + std::cout << "Pad " << name << " : " << pad << "\n"; + if (hist1 != nullptr) { + hist1->GetYaxis()->SetTitle(ytitl[ih].c_str()); + hist1->GetXaxis()->SetTitle(xtitl[ih].c_str()); + hist1->SetTitle(title); + if (xmax[ih] > 0) + hist1->GetXaxis()->SetRangeUser(0, xmax[ih]); + if (iaxty[ih] > 0) + pad->SetLogy(); + if (ibin[ih] > 0) + hist1->Rebin(ibin[ih]); + hist1->GetYaxis()->SetTitleOffset(1.2); + hist1->Draw(); + } else { + hist2->GetYaxis()->SetTitle(ytitl[ih].c_str()); + hist2->GetXaxis()->SetTitle(xtitl[ih].c_str()); + hist2->SetTitle(title); + hist2->GetYaxis()->SetTitleOffset(1.2); + hist2->Draw(); + } + pad->Update(); + TPaveStats *st1 = ((hist1 != nullptr) ? ((TPaveStats *)hist1->GetListOfFunctions()->FindObject("stats")) + : ((TPaveStats *)hist2->GetListOfFunctions()->FindObject("stats"))); + if (st1 != NULL) { + st1->SetY1NDC(0.70); + st1->SetY2NDC(0.90); + st1->SetX1NDC(0.65); + st1->SetX2NDC(0.90); + } + pad->Modified(); + pad->Update(); + if (save) { + sprintf(name, "c_%s.jpg", pad->GetName()); + pad->Print(name); + } + } + } + } + } + } +} + void ehcalPlots(std::string fname = "ecalHitdd4hep.root", std::string dirnm = "EcalSimHitStudy", - std::string tag = "DD4hep", + std::string tag = "DD4Hep", int dets = 2, bool save = false, bool debug = false) { From 07d5f2cf5da1e897d95c9b23bd515262936ba1f9 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Mon, 22 Nov 2021 21:31:20 +0100 Subject: [PATCH 111/268] Code check --- SimTracker/TrackAssociation/test/testTrackAssociator.cc | 5 ++--- SimTracker/VertexAssociation/test/testVertexAssociator.cc | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/SimTracker/TrackAssociation/test/testTrackAssociator.cc b/SimTracker/TrackAssociation/test/testTrackAssociator.cc index 667f79a317e63..22432a6b393d9 100644 --- a/SimTracker/TrackAssociation/test/testTrackAssociator.cc +++ b/SimTracker/TrackAssociation/test/testTrackAssociator.cc @@ -47,12 +47,11 @@ testTrackAssociator::testTrackAssociator(edm::ParameterSet const &conf) { tpTag = conf.getParameter("tpTag"); simtracksTag = conf.getParameter("simtracksTag"); simvtxTag = conf.getParameter("simvtxTag"); - tokenMF_ = esConsumes() ; - + tokenMF_ = esConsumes(); } void testTrackAssociator::analyze(const edm::Event &event, const edm::EventSetup &setup) { - const auto& theMF = setup.getHandle(tokenMF_); + const auto &theMF = setup.getHandle(tokenMF_); edm::Handle theChiAssociator; event.getByLabel("trackAssociatorByChi2", theChiAssociator); associatorByChi2 = theChiAssociator.product(); diff --git a/SimTracker/VertexAssociation/test/testVertexAssociator.cc b/SimTracker/VertexAssociation/test/testVertexAssociator.cc index 0231f51e2bbb9..6ca8cecd1bd6e 100644 --- a/SimTracker/VertexAssociation/test/testVertexAssociator.cc +++ b/SimTracker/VertexAssociation/test/testVertexAssociator.cc @@ -170,7 +170,7 @@ void testVertexAssociator::analyze(const edm::Event &event, const edm::EventSetu using namespace edm; using namespace reco; - const auto & theMF = setup.getHandle(tokenMF_); + const auto &theMF = setup.getHandle(tokenMF_); edm::Handle theTracksAssociator; event.getByToken(associatorByTracksToken, theTracksAssociator); From 7b7cae695e4f66e1595be4cc85c492c73a8a30d7 Mon Sep 17 00:00:00 2001 From: Igor Date: Mon, 22 Nov 2021 21:39:33 +0100 Subject: [PATCH 112/268] Using SOI+1 energy from MAHI as auxEnergy when M3 is not run --- .../HcalRecAlgos/interface/MahiFit.h | 3 +- RecoLocalCalo/HcalRecAlgos/src/MahiFit.cc | 40 ++++++++++++------- .../HcalRecAlgos/src/SimpleHBHEPhase1Algo.cc | 11 +++-- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/RecoLocalCalo/HcalRecAlgos/interface/MahiFit.h b/RecoLocalCalo/HcalRecAlgos/interface/MahiFit.h index 87de80d158536..9bc9cf50e2fa2 100644 --- a/RecoLocalCalo/HcalRecAlgos/interface/MahiFit.h +++ b/RecoLocalCalo/HcalRecAlgos/interface/MahiFit.h @@ -115,13 +115,14 @@ class MahiFit { void phase1Apply(const HBHEChannelInfo& channelData, float& reconstructedEnergy, + float& soiPlusOneEnergy, float& reconstructedTime, bool& useTriple, float& chi2) const; void phase1Debug(const HBHEChannelInfo& channelData, MahiDebugInfo& mdi) const; - void doFit(std::array& correctedOutput, const int nbx) const; + void doFit(std::array& correctedOutput, const int nbx) const; void setPulseShapeTemplate(int pulseShapeId, const HcalPulseShapes& ps, diff --git a/RecoLocalCalo/HcalRecAlgos/src/MahiFit.cc b/RecoLocalCalo/HcalRecAlgos/src/MahiFit.cc index 06578070c340b..95e5ec0ed10b3 100644 --- a/RecoLocalCalo/HcalRecAlgos/src/MahiFit.cc +++ b/RecoLocalCalo/HcalRecAlgos/src/MahiFit.cc @@ -45,16 +45,24 @@ void MahiFit::setParameters(bool iDynamicPed, void MahiFit::phase1Apply(const HBHEChannelInfo& channelData, float& reconstructedEnergy, + float& soiPlusOneEnergy, float& reconstructedTime, bool& useTriple, float& chi2) const { - assert(channelData.nSamples() == 8 || channelData.nSamples() == 10); + const unsigned nSamples = channelData.nSamples(); + const unsigned soi = channelData.soi(); + + // Check some of the assumptions used by the subsequent code + assert(nSamples == 8 || nSamples == 10); + assert(nnlsWork_.tsSize <= nSamples); + assert(soi + 1U < nnlsWork_.tsSize); resetWorkspace(); - nnlsWork_.tsOffset = channelData.soi(); + nnlsWork_.tsOffset = soi; - std::array reconstructedVals{{0.0f, -9999.f, -9999.f}}; + // Packing energy, time, chiSq, soiPlus1Energy, in that order + std::array reconstructedVals{{0.f, -9999.f, -9999.f, 0.f}}; double tsTOT = 0, tstrig = 0; // in GeV for (unsigned int iTS = 0; iTS < nnlsWork_.tsSize; ++iTS) { @@ -77,11 +85,15 @@ void MahiFit::phase1Apply(const HBHEChannelInfo& channelData, nnlsWork_.pedVals.coeffRef(iTS) = pedWidth; tsTOT += amplitude; - if (iTS == nnlsWork_.tsOffset) + if (iTS == soi) tstrig += amplitude; } - tsTOT *= channelData.tsGain(0); - tstrig *= channelData.tsGain(0); + + // This preserves the original Mahi approach but will have to + // change in case we eventually calibrate gains per capId + const float gain0 = channelData.tsGain(0); + tsTOT *= gain0; + tstrig *= gain0; useTriple = false; if (tstrig > ts4Thresh_ && tsTOT > 0) { @@ -108,18 +120,15 @@ void MahiFit::phase1Apply(const HBHEChannelInfo& channelData, doFit(reconstructedVals, 0); useTriple = true; } - } else { - reconstructedVals.at(0) = 0.f; //energy - reconstructedVals.at(1) = -9999.f; //time - reconstructedVals.at(2) = -9999.f; //chi2 } - reconstructedEnergy = reconstructedVals[0] * channelData.tsGain(0); + reconstructedEnergy = reconstructedVals[0] * gain0; + soiPlusOneEnergy = reconstructedVals[3] * gain0; reconstructedTime = reconstructedVals[1]; chi2 = reconstructedVals[2]; } -void MahiFit::doFit(std::array& correctedOutput, int nbx) const { +void MahiFit::doFit(std::array& correctedOutput, int nbx) const { unsigned int bxSize = 1; if (nbx == 1) { @@ -196,7 +205,8 @@ void MahiFit::doFit(std::array& correctedOutput, int nbx) const { } if (foundintime) { - correctedOutput.at(0) = nnlsWork_.ampVec.coeff(ipulseintime); //charge + correctedOutput.at(0) = nnlsWork_.ampVec.coeff(ipulseintime); //charge + correctedOutput.at(3) = nnlsWork_.ampVec.coeff(ipulseintime + 1U); //charge for SOI+1 if (correctedOutput.at(0) != 0) { // fixME store the timeslew float arrivalTime = 0.f; @@ -540,9 +550,9 @@ void MahiFit::nnlsConstrainParameter(Index minratioidx) const { } void MahiFit::phase1Debug(const HBHEChannelInfo& channelData, MahiDebugInfo& mdi) const { - float recoEnergy, recoTime, chi2; + float recoEnergy, soiPlus1Energy, recoTime, chi2; bool use3; - phase1Apply(channelData, recoEnergy, recoTime, use3, chi2); + phase1Apply(channelData, recoEnergy, soiPlus1Energy, recoTime, use3, chi2); mdi.nSamples = channelData.nSamples(); mdi.soi = channelData.soi(); diff --git a/RecoLocalCalo/HcalRecAlgos/src/SimpleHBHEPhase1Algo.cc b/RecoLocalCalo/HcalRecAlgos/src/SimpleHBHEPhase1Algo.cc index da067dfcb228e..8d78bd8163eca 100644 --- a/RecoLocalCalo/HcalRecAlgos/src/SimpleHBHEPhase1Algo.cc +++ b/RecoLocalCalo/HcalRecAlgos/src/SimpleHBHEPhase1Algo.cc @@ -98,7 +98,7 @@ HBHERecHit SimpleHBHEPhase1Algo::reconstruct(const HBHEChannelInfo& info, } // Run Mahi - float m4E = 0.f, m4chi2 = -1.f; + float m4E = 0.f, m4ESOIPlusOne = 0.f, m4chi2 = -1.f; float m4T = 0.f; bool m4UseTriple = false; @@ -107,8 +107,9 @@ HBHERecHit SimpleHBHEPhase1Algo::reconstruct(const HBHEChannelInfo& info, if (mahi) { mahiOOTpuCorr_->setPulseShapeTemplate( info.recoShape(), theHcalPulseShapes_, info.hasTimeInfo(), hcalTimeSlew_delay_, info.nSamples()); - mahi->phase1Apply(info, m4E, m4T, m4UseTriple, m4chi2); + mahi->phase1Apply(info, m4E, m4ESOIPlusOne, m4T, m4UseTriple, m4chi2); m4E *= hbminusCorrectionFactor(channelId, m4E, isData); + m4ESOIPlusOne *= hbminusCorrectionFactor(channelId, m4ESOIPlusOne, isData); } // Finally, construct the rechit @@ -134,7 +135,11 @@ HBHERecHit SimpleHBHEPhase1Algo::reconstruct(const HBHEChannelInfo& info, tdcTime += timeShift_; rh = HBHERecHit(channelId, rhE, rht, tdcTime); rh.setRawEnergy(m0E); - rh.setAuxEnergy(m3E); + if (method3) { + rh.setAuxEnergy(m3E); + } else { + rh.setAuxEnergy(m4ESOIPlusOne); + } rh.setChiSquared(rhX); // Set rechit aux words From 19425e7922d8c255f5691c27c4a8d002f897451e Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 19:18:06 +0100 Subject: [PATCH 113/268] update naming of output file of testAlCaHarvesting to avoid concurrency issues --- .../TkAlCaRecoProducers/test/parseFwkJobReport.py | 9 +++++---- .../TkAlCaRecoProducers/test/testAlCaHarvesting.sh | 3 ++- .../TkAlCaRecoProducers/test/testPCLAlCaHarvesting.py | 5 +++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Calibration/TkAlCaRecoProducers/test/parseFwkJobReport.py b/Calibration/TkAlCaRecoProducers/test/parseFwkJobReport.py index 6b1b78905d609..f579c8ecbfca9 100644 --- a/Calibration/TkAlCaRecoProducers/test/parseFwkJobReport.py +++ b/Calibration/TkAlCaRecoProducers/test/parseFwkJobReport.py @@ -9,7 +9,8 @@ TARGET_DQM_FILES=1 TARGET_DQM_FILENAME='./DQM_V0001_R000325022__Express__PCLTest__ALCAPROMPT.root' TARGET_DB_FILES=12 -TARGET_DB_FILENAME='sqlite_file:promptCalibConditions.db' +TARGET_DB_FILENAME='sqlite_file:testPCLAlCaHarvesting.db' +TARGET_XML_FILENAME='testPCLAlCaHarvesting.xml' TOTAL_TARGET_FILES=TARGET_DQM_FILES+TARGET_DB_FILES #_____________________________________________________ @@ -67,13 +68,13 @@ def parseXML(xmlfile): #_____________________________________________________ def main(): try: - f = open("FrameworkJobReport.xml") + f = open(TARGET_XML_FILENAME) except IOError: - print("FrameworkJobReport.xml is not accessible") + print("%s is not accessible" % TARGET_XML_FILENAME) sys.exit(1) # parse xml file - result = parseXML('FrameworkJobReport.xml') + result = parseXML(TARGET_XML_FILENAME) if(result==0): print("All is fine with the world!") sys.exit(0) diff --git a/Calibration/TkAlCaRecoProducers/test/testAlCaHarvesting.sh b/Calibration/TkAlCaRecoProducers/test/testAlCaHarvesting.sh index ec219c1f42858..2266d5af1a289 100755 --- a/Calibration/TkAlCaRecoProducers/test/testAlCaHarvesting.sh +++ b/Calibration/TkAlCaRecoProducers/test/testAlCaHarvesting.sh @@ -5,10 +5,11 @@ function cleanTheHouse { rm -fr millepede.* rm -fr pede* rm -fr treeFile.root + rm -fr testPCLAlCaHarvesting.db } echo "TESTING Calibration/TkAlCaRecoProducers ..." -cmsRun -e ${LOCAL_TEST_DIR}/testPCLAlCaHarvesting.py || die "Failure running testPCLAlCaHarvesting.py" $? +cmsRun -e -j testPCLAlCaHarvesting.xml ${LOCAL_TEST_DIR}/testPCLAlCaHarvesting.py || die "Failure running testPCLAlCaHarvesting.py" $? cleanTheHouse echo "PARSING Framework Job Report ..." python ${LOCAL_TEST_DIR}/parseFwkJobReport.py diff --git a/Calibration/TkAlCaRecoProducers/test/testPCLAlCaHarvesting.py b/Calibration/TkAlCaRecoProducers/test/testPCLAlCaHarvesting.py index d72de7123bc39..d3108c904b854 100644 --- a/Calibration/TkAlCaRecoProducers/test/testPCLAlCaHarvesting.py +++ b/Calibration/TkAlCaRecoProducers/test/testPCLAlCaHarvesting.py @@ -88,6 +88,11 @@ def findRunStopTime(run_number): process.PoolDBOutputService.toPut.append(process.ALCAHARVESTBeamSpotHPByRun_dbOutput) process.PoolDBOutputService.toPut.append(process.ALCAHARVESTBeamSpotHPByLumi_dbOutput) +## +## change the output sqlite file in order to avoid concurrent writing from other unit tests +## +process.PoolDBOutputService.connect = cms.string('sqlite_file:testPCLAlCaHarvesting.db') + ## ## Define the file metadatas ## From 7208a7b4821fc07ce627c1fe8b830132175639e7 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Mon, 22 Nov 2021 21:42:45 +0100 Subject: [PATCH 114/268] Code check --- Validation/HGCalValidation/macros/MakePlots.C | 131 +++++++++--------- 1 file changed, 66 insertions(+), 65 deletions(-) diff --git a/Validation/HGCalValidation/macros/MakePlots.C b/Validation/HGCalValidation/macros/MakePlots.C index 2109536217ed8..d9f426c21643a 100644 --- a/Validation/HGCalValidation/macros/MakePlots.C +++ b/Validation/HGCalValidation/macros/MakePlots.C @@ -269,7 +269,7 @@ void hgcalStudyPlots(std::string fname = "roots/hgcSimHitD83tt.root", void hgcalGeomCheckPlots(std::string fname = "roots/hgcGeomCheckD83.root", std::string tag = "GeomChkD83", std::string dtype = "#mu D83", - bool statbox = true, + bool statbox = true, bool save = false, bool debug = false) { std::string dirnm = "hgcGeomCheck"; @@ -285,9 +285,9 @@ void hgcalGeomCheckPlots(std::string fname = "roots/hgcGeomCheckD83.root", "hebrVsLayer", "hebzVsLayer", "hebdzVsZ"}; - std::string xtitl[9] = { - "Layer", "Layer", "Z (cm)", "Layer", "Layer", "Z (cm)", "Layer", "Layer", "Z (cm)"}; - std::string ytitl[9] = {"R (cm)", "Z (cm)", "#Delta Z (cm)", "R (cm)", "Z (cm)", "#Delta Z (cm)", "R (cm)", "Z (cm)", "#Delta Z (cm)"}; + std::string xtitl[9] = {"Layer", "Layer", "Z (cm)", "Layer", "Layer", "Z (cm)", "Layer", "Layer", "Z (cm)"}; + std::string ytitl[9] = { + "R (cm)", "Z (cm)", "#Delta Z (cm)", "R (cm)", "Z (cm)", "#Delta Z (cm)", "R (cm)", "Z (cm)", "#Delta Z (cm)"}; gStyle->SetCanvasBorderMode(0); gStyle->SetCanvasColor(kWhite); @@ -458,10 +458,10 @@ void hgcalBHValidPlots(std::string fname = "roots/hgcBHValidD83.root", } void hgcalSiliconAnalysisPlots(std::string fname = "roots/hgcSilValidD86.root", - std::string tag = "SilValidD86", - std::string dtype = "ttbar D86", - bool save = false, - bool debug = false) { + std::string tag = "SilValidD86", + std::string dtype = "ttbar D86", + bool save = false, + bool debug = false) { std::string dirnm[2] = {"hgcalSiliconAnalysisEE", "hgcalSiliconAnalysisHEF"}; std::string name0[2] = {"HGCal EE", "HGCal HE Silicon"}; int nhist = 9; @@ -501,64 +501,65 @@ void hgcalSiliconAnalysisPlots(std::string fname = "roots/hgcSilValidD86.root", sprintf(dirx, "%s", dirnm[idir].c_str()); TDirectory *dir = (TDirectory *)file->FindObjectAny(dirx); if (debug) - std::cout << "Directory " << dirx << " : " << dir << std::endl; + std::cout << "Directory " << dirx << " : " << dir << std::endl; if (dir) { - for (int ih = 0; ih < nhist; ++ih) { - char hname[100]; - sprintf(hname, "%s", name2[ih].c_str()); - TH1D *hist1(nullptr); - TH2D *hist2(nullptr); - if (ihty[ih] <= 1) - hist1 = (TH1D *)dir->FindObjectAny(hname); - else - hist2 = (TH2D *)dir->FindObjectAny(hname); - if (debug) - std::cout << "Hist " << hname << " : " << hist1 << ":" << hist2 << " Xtitle " << xtitl[ih] << " Ytitle " - << ytitl[ih] << " xmax " << xmax[ih] << " iaxty " << iaxty[ih] << " ibin " << ibin[ih] << std::endl; - if ((hist1 != nullptr) || (hist2 != nullptr)) { - char name[100], title[100]; - sprintf(name, "%s%s", hname, tag.c_str()); - TCanvas *pad = new TCanvas(name, name, 500, 500); - pad->SetRightMargin(0.10); - pad->SetTopMargin(0.10); - sprintf(title, "%s (%s)", name0[idir].c_str(), dtype.c_str()); - if (debug) - std::cout << "Pad " << name << " : " << pad << "\n"; - if (hist1 != nullptr) { - hist1->GetYaxis()->SetTitle(ytitl[ih].c_str()); - hist1->GetXaxis()->SetTitle(xtitl[ih].c_str()); - hist1->SetTitle(title); - if (xmax[ih] > 0) - hist1->GetXaxis()->SetRangeUser(0, xmax[ih]); - if (iaxty[ih] > 0) - pad->SetLogy(); - if (ibin[ih] > 0) - hist1->Rebin(ibin[ih]); - hist1->GetYaxis()->SetTitleOffset(1.2); - hist1->Draw(); - } else { - hist2->GetYaxis()->SetTitle(ytitl[ih].c_str()); - hist2->GetXaxis()->SetTitle(xtitl[ih].c_str()); - hist2->SetTitle(title); - hist2->GetYaxis()->SetTitleOffset(1.2); - hist2->Draw(); - } - pad->Update(); - TPaveStats *st1 = ((hist1 != nullptr) ? ((TPaveStats *)hist1->GetListOfFunctions()->FindObject("stats")) - : ((TPaveStats *)hist2->GetListOfFunctions()->FindObject("stats"))); - if (st1 != NULL) { - st1->SetY1NDC(0.70); - st1->SetY2NDC(0.90); - st1->SetX1NDC(0.65); - st1->SetX2NDC(0.90); - } - pad->Modified(); - pad->Update(); - if (save) { - sprintf(name, "c_%s.jpg", pad->GetName()); - pad->Print(name); - } - } + for (int ih = 0; ih < nhist; ++ih) { + char hname[100]; + sprintf(hname, "%s", name2[ih].c_str()); + TH1D *hist1(nullptr); + TH2D *hist2(nullptr); + if (ihty[ih] <= 1) + hist1 = (TH1D *)dir->FindObjectAny(hname); + else + hist2 = (TH2D *)dir->FindObjectAny(hname); + if (debug) + std::cout << "Hist " << hname << " : " << hist1 << ":" << hist2 << " Xtitle " << xtitl[ih] << " Ytitle " + << ytitl[ih] << " xmax " << xmax[ih] << " iaxty " << iaxty[ih] << " ibin " << ibin[ih] + << std::endl; + if ((hist1 != nullptr) || (hist2 != nullptr)) { + char name[100], title[100]; + sprintf(name, "%s%s", hname, tag.c_str()); + TCanvas *pad = new TCanvas(name, name, 500, 500); + pad->SetRightMargin(0.10); + pad->SetTopMargin(0.10); + sprintf(title, "%s (%s)", name0[idir].c_str(), dtype.c_str()); + if (debug) + std::cout << "Pad " << name << " : " << pad << "\n"; + if (hist1 != nullptr) { + hist1->GetYaxis()->SetTitle(ytitl[ih].c_str()); + hist1->GetXaxis()->SetTitle(xtitl[ih].c_str()); + hist1->SetTitle(title); + if (xmax[ih] > 0) + hist1->GetXaxis()->SetRangeUser(0, xmax[ih]); + if (iaxty[ih] > 0) + pad->SetLogy(); + if (ibin[ih] > 0) + hist1->Rebin(ibin[ih]); + hist1->GetYaxis()->SetTitleOffset(1.2); + hist1->Draw(); + } else { + hist2->GetYaxis()->SetTitle(ytitl[ih].c_str()); + hist2->GetXaxis()->SetTitle(xtitl[ih].c_str()); + hist2->SetTitle(title); + hist2->GetYaxis()->SetTitleOffset(1.2); + hist2->Draw(); + } + pad->Update(); + TPaveStats *st1 = ((hist1 != nullptr) ? ((TPaveStats *)hist1->GetListOfFunctions()->FindObject("stats")) + : ((TPaveStats *)hist2->GetListOfFunctions()->FindObject("stats"))); + if (st1 != NULL) { + st1->SetY1NDC(0.70); + st1->SetY2NDC(0.90); + st1->SetX1NDC(0.65); + st1->SetX2NDC(0.90); + } + pad->Modified(); + pad->Update(); + if (save) { + sprintf(name, "c_%s.jpg", pad->GetName()); + pad->Print(name); + } + } } } } From aad6e71c29f47deb0a6de5159e88848246845457 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Mon, 22 Nov 2021 22:37:20 +0100 Subject: [PATCH 115/268] Comment out unused variables --- SimTracker/TrackAssociation/test/testTrackAssociator.cc | 2 +- SimTracker/VertexAssociation/test/testVertexAssociator.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SimTracker/TrackAssociation/test/testTrackAssociator.cc b/SimTracker/TrackAssociation/test/testTrackAssociator.cc index 22432a6b393d9..6117fb5a5ae50 100644 --- a/SimTracker/TrackAssociation/test/testTrackAssociator.cc +++ b/SimTracker/TrackAssociation/test/testTrackAssociator.cc @@ -51,7 +51,7 @@ testTrackAssociator::testTrackAssociator(edm::ParameterSet const &conf) { } void testTrackAssociator::analyze(const edm::Event &event, const edm::EventSetup &setup) { - const auto &theMF = setup.getHandle(tokenMF_); + //const auto &theMF = setup.getHandle(tokenMF_); edm::Handle theChiAssociator; event.getByLabel("trackAssociatorByChi2", theChiAssociator); associatorByChi2 = theChiAssociator.product(); diff --git a/SimTracker/VertexAssociation/test/testVertexAssociator.cc b/SimTracker/VertexAssociation/test/testVertexAssociator.cc index 6ca8cecd1bd6e..4bf37568f66de 100644 --- a/SimTracker/VertexAssociation/test/testVertexAssociator.cc +++ b/SimTracker/VertexAssociation/test/testVertexAssociator.cc @@ -170,7 +170,7 @@ void testVertexAssociator::analyze(const edm::Event &event, const edm::EventSetu using namespace edm; using namespace reco; - const auto &theMF = setup.getHandle(tokenMF_); + //const auto &theMF = setup.getHandle(tokenMF_); edm::Handle theTracksAssociator; event.getByToken(associatorByTracksToken, theTracksAssociator); From eba14a1a5cf47e3c8bec1750eecb334a5254e930 Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 22:54:45 +0100 Subject: [PATCH 116/268] add protection for missing product --- .../plugins/SiPixelPhase1MonitorTrackSoA.cc | 16 +++++++++------- .../plugins/SiPixelPhase1MonitorVertexSoA.cc | 16 +++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/DQM/SiPixelPhase1Heterogeneous/plugins/SiPixelPhase1MonitorTrackSoA.cc b/DQM/SiPixelPhase1Heterogeneous/plugins/SiPixelPhase1MonitorTrackSoA.cc index 850917ae0a586..cd547dd31ae26 100644 --- a/DQM/SiPixelPhase1Heterogeneous/plugins/SiPixelPhase1MonitorTrackSoA.cc +++ b/DQM/SiPixelPhase1Heterogeneous/plugins/SiPixelPhase1MonitorTrackSoA.cc @@ -26,7 +26,7 @@ class SiPixelPhase1MonitorTrackSoA : public DQMEDAnalyzer { public: explicit SiPixelPhase1MonitorTrackSoA(const edm::ParameterSet&); - ~SiPixelPhase1MonitorTrackSoA() override; + ~SiPixelPhase1MonitorTrackSoA() override = default; void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) override; void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override; static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); @@ -57,15 +57,17 @@ SiPixelPhase1MonitorTrackSoA::SiPixelPhase1MonitorTrackSoA(const edm::ParameterS minQuality_ = pixelTrack::qualityByName(iConfig.getParameter("minQuality")); } -SiPixelPhase1MonitorTrackSoA::~SiPixelPhase1MonitorTrackSoA() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - +// // -- Analyze // void SiPixelPhase1MonitorTrackSoA::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { - auto const& tsoa = *iEvent.get(tokenSoATrack_); + const auto& tsoaHandle = iEvent.getHandle(tokenSoATrack_); + if (!tsoaHandle.isValid()) { + edm::LogWarning("SiPixelPhase1MonitorTrackSoA") << "No Track SoA found \n returning!" << std::endl; + return; + } + + auto const& tsoa = *((tsoaHandle.product())->get()); auto maxTracks = tsoa.stride(); auto const* quality = tsoa.qualityData(); int32_t nTracks = 0; diff --git a/DQM/SiPixelPhase1Heterogeneous/plugins/SiPixelPhase1MonitorVertexSoA.cc b/DQM/SiPixelPhase1Heterogeneous/plugins/SiPixelPhase1MonitorVertexSoA.cc index be7ac1eafc3d8..792b92af8ba84 100644 --- a/DQM/SiPixelPhase1Heterogeneous/plugins/SiPixelPhase1MonitorVertexSoA.cc +++ b/DQM/SiPixelPhase1Heterogeneous/plugins/SiPixelPhase1MonitorVertexSoA.cc @@ -28,7 +28,7 @@ class SiPixelPhase1MonitorVertexSoA : public DQMEDAnalyzer { public: using IndToEdm = std::vector; explicit SiPixelPhase1MonitorVertexSoA(const edm::ParameterSet&); - ~SiPixelPhase1MonitorVertexSoA() override; + ~SiPixelPhase1MonitorVertexSoA() override = default; void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) override; void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override; static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); @@ -57,15 +57,17 @@ SiPixelPhase1MonitorVertexSoA::SiPixelPhase1MonitorVertexSoA(const edm::Paramete topFolderName_ = iConfig.getParameter("TopFolderName"); } -SiPixelPhase1MonitorVertexSoA::~SiPixelPhase1MonitorVertexSoA() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - +// // -- Analyze // void SiPixelPhase1MonitorVertexSoA::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { - auto const& vsoa = *(iEvent.get(tokenSoAVertex_).get()); + const auto& vsoaHandle = iEvent.getHandle(tokenSoAVertex_); + if (!vsoaHandle.isValid()) { + edm::LogWarning("SiPixelPhase1MonitorTrackSoA") << "No Vertex SoA found \n returning!" << std::endl; + return; + } + + auto const& vsoa = *((vsoaHandle.product())->get()); int nVertices = vsoa.nvFinal; auto bsHandle = iEvent.getHandle(tokenBeamSpot_); float x0 = 0., y0 = 0., z0 = 0., dxdz = 0., dydz = 0.; From 5f51ec0b49a4301e5121513368f70d84e2f738d7 Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 22 Nov 2021 23:04:20 +0100 Subject: [PATCH 117/268] fix graphics of dz vs phi fit --- .../OfflineValidation/macros/FitPVResiduals.C | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Alignment/OfflineValidation/macros/FitPVResiduals.C b/Alignment/OfflineValidation/macros/FitPVResiduals.C index f08ccf953e8fb..b29e8ef781a19 100644 --- a/Alignment/OfflineValidation/macros/FitPVResiduals.C +++ b/Alignment/OfflineValidation/macros/FitPVResiduals.C @@ -2669,7 +2669,7 @@ void arrangeCanvas2D( //meanmaps[i]->Draw("colzsame"); // draw the "color palette" makeNewPairOfAxes(meanmaps[i]); - + pt[i]->Draw("same"); pt2[i]->Draw("same"); pt3[i]->Draw("same"); @@ -2681,7 +2681,7 @@ void arrangeCanvas2D( widthmaps[i]->Draw("colz1"); makeNewPairOfAxes(widthmaps[i]); - + widthmaps[i]->GetZaxis()->SetRangeUser(0., maxwidth); pt[i]->Draw("same"); @@ -2780,7 +2780,7 @@ void arrangeFitCanvas(TCanvas *canv, TH1F *meanplots[100], Int_t nFiles, TString hnewUp->Draw("same"); makeNewXAxis(hnewUp); } - fright[j]->Draw("sames"); + fright[j]->Draw("same"); fleft[j]->Draw("same"); fall[j]->Draw("same"); } @@ -4061,7 +4061,7 @@ void makeNewPairOfAxes(TH2F *h) float aymin = -999; float aymax = 999.; int ndivx = h->GetXaxis()->GetNdivisions(); - int ndivy = h->GetYaxis()->GetNdivisions(); + int ndivy = h->GetYaxis()->GetNdivisions(); if (!myTitle.Contains("L1Map")) { ndivx = 505; @@ -4069,13 +4069,13 @@ void makeNewPairOfAxes(TH2F *h) axmin = -etaRange; axmax = etaRange; aymin = -TMath::Pi(); - aymax = TMath::Pi(); - } else { + aymax = TMath::Pi(); + } else { // this is a L1 map - axmin = 0.5; - axmax = 8.5; - aymin = 0.5; - aymax = 12.5; + axmin = 0.5; + axmax = nModZ_+0.5; + aymin = 0.5; + aymax = nLadders_+0.5; } // Remove the current axis From 0dbe44d310d46f88f384df2dcaf0f3cb3f23a052 Mon Sep 17 00:00:00 2001 From: francescobrivio Date: Tue, 23 Nov 2021 08:52:43 +0100 Subject: [PATCH 118/268] remove unused line in PGeometricDetBuilder --- CondTools/Geometry/plugins/PGeometricDetBuilder.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/CondTools/Geometry/plugins/PGeometricDetBuilder.cc b/CondTools/Geometry/plugins/PGeometricDetBuilder.cc index d392e01a68aed..f9605332e4459 100644 --- a/CondTools/Geometry/plugins/PGeometricDetBuilder.cc +++ b/CondTools/Geometry/plugins/PGeometricDetBuilder.cc @@ -121,7 +121,6 @@ void PGeometricDetBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) } // level 2 --lev; } - std::vector modules = tracker->deepComponents(); if (mydbservice->isNewTagRequest("IdealGeometryRecord")) { mydbservice->createOneIOV(pgd, mydbservice->beginOfTime(), "IdealGeometryRecord"); } else { From 0842c63b90d2739239e6867b497f50fe5a5b9962 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Tue, 23 Nov 2021 10:37:31 +0100 Subject: [PATCH 119/268] remove redundant id from cell --- .../Track/interface/TrackSoAHeterogeneousT.h | 2 +- .../plugins/BrokenLineFitOnGPU.cu | 28 +++++++++---------- .../CAHitNtupletGeneratorKernelsImpl.h | 3 ++ .../PixelTriplets/plugins/GPUCACell.h | 25 ++++++++--------- .../plugins/gpuPixelDoubletsAlgos.h | 2 +- 5 files changed, 31 insertions(+), 29 deletions(-) diff --git a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h index 9007dbb5cb003..dce8ea1822b88 100644 --- a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h +++ b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h @@ -57,7 +57,7 @@ class TrackSoAHeterogeneousT { int nl = 1; auto ol = phase1PixelTopology::getLayer(*pdet); for (; pdet < detIndices.end(i); ++pdet) { - auto il = phase1PixelTopology::getLayer(*pdet); // , ol); + auto il = phase1PixelTopology::getLayer(*pdet); // , ol); if (il != ol) ++nl; ol = il; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu index 875d89399d4fe..22ab9ac648af5 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu @@ -44,7 +44,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, if (fit5as4_) { // fit all as 4 - kernel_BLFastFit<4><<>>(tuples_, + kernel_BLFastFit<4><<>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -56,7 +56,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<4><<>>(tupleMultiplicity_, + kernel_BLFit<4><<>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), @@ -65,7 +65,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, fast_fit_resultsGPU.get()); } else { // fit quads - kernel_BLFastFit<4><<>>(tuples_, + kernel_BLFastFit<4><<>>(tuples_, tupleMultiplicity_, hv, tkidGPU.get(), @@ -77,7 +77,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - kernel_BLFit<4><<>>(tupleMultiplicity_, + kernel_BLFit<4><<>>(tupleMultiplicity_, bField_, outputSoa_, tkidGPU.get(), @@ -85,16 +85,16 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, hits_geGPU.get(), fast_fit_resultsGPU.get()); // fit penta (all 5) - kernel_BLFastFit<5><<>>(tuples_, - tupleMultiplicity_, - hv, - tkidGPU.get(), - hitsGPU.get(), - hits_geGPU.get(), - fast_fit_resultsGPU.get(), - 5, - 5, - offset); + kernel_BLFastFit<5><<>>(tuples_, + tupleMultiplicity_, + hv, + tkidGPU.get(), + hitsGPU.get(), + hits_geGPU.get(), + fast_fit_resultsGPU.get(), + 5, + 5, + offset); cudaCheck(cudaGetLastError()); kernel_BLFit<5><<<8, blockSize, 0, stream>>>(tupleMultiplicity_, diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h index 036c5120213ef..2e7699c5795ce 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h @@ -159,10 +159,12 @@ __global__ void kernel_earlyDuplicateRemover(GPUCACell const *cells, // find maxNl for (auto it : thisCell.tracks()) { + // if (tracks.nHits(it)==3) continue; auto nl = tracks.nLayers(it); maxNl = std::max(nl, maxNl); } + // if (maxNl<4) continue; // quad pass through (leave it her for tests) // maxNl = std::min(4, maxNl); @@ -729,6 +731,7 @@ __global__ void kernel_sharedHitCleaner(TrackingRecHit2DSOAView const *__restric for (auto it = hitToTuple.begin(idx); it != hitToTuple.end(idx); ++it) { if (quality[*it] < longTqual) continue; + // if (tracks.nHits(*it)==3) continue; auto nl = tracks.nLayers(*it); maxNl = std::max(nl, maxNl); } diff --git a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h index 24f764e85f346..9e1aa72185227 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h @@ -38,20 +38,20 @@ class GPUCACell { using Quality = pixelTrack::Quality; static constexpr auto bad = pixelTrack::Quality::bad; + enum class StatusBit : uint16_t { used = 1, killed = 1 << 15 }; + GPUCACell() = default; __device__ __forceinline__ void init(CellNeighborsVector& cellNeighbors, CellTracksVector& cellTracks, Hits const& hh, int layerPairId, - int doubletId, hindex_type innerHitId, hindex_type outerHitId) { theInnerHitId = innerHitId; theOuterHitId = outerHitId; - theDoubletId_ = doubletId; theLayerPairId_ = layerPairId; - theUsed_ = 0; + theStatus_ = 0; theFishboneId = std::numeric_limits::max(); // optimization that depends on access pattern @@ -131,8 +131,7 @@ class GPUCACell { constexpr unsigned int outer_hit_id() const { return theOuterHitId; } __device__ void print_cell() const { - printf("printing cell: %d, on layerPair: %d, innerHitId: %d, outerHitId: %d \n", - theDoubletId_, + printf("printing cell: on layerPair: %d, innerHitId: %d, outerHitId: %d \n", theLayerPairId_, theInnerHitId, theOuterHitId); @@ -288,12 +287,13 @@ class GPUCACell { // the ntuplets is then saved if the number of hits it contains is greater // than a threshold - tmpNtuplet.push_back_unsafe(theDoubletId_); + auto doubletId = this - cells; + tmpNtuplet.push_back_unsafe(doubletId); assert(tmpNtuplet.size() <= 4); bool last = true; for (unsigned int otherCell : outerNeighbors()) { - if (cells[otherCell].theDoubletId_ < 0) + if (cells[otherCell].isKilled()) continue; // killed by earlyFishbone last = false; cells[otherCell].find_ntuplets( @@ -334,13 +334,13 @@ class GPUCACell { } // Cell status management - __device__ __forceinline__ void kill() { theDoubletId_ = -1; } - __device__ __forceinline__ bool isKilled() const { return theDoubletId_ < 0; } + __device__ __forceinline__ void kill() { theStatus_ |= uint16_t(StatusBit::killed); } + __device__ __forceinline__ bool isKilled() const { return theStatus_ & uint16_t(StatusBit::killed); } __device__ __forceinline__ int16_t layerPairId() const { return theLayerPairId_; } - __device__ __forceinline__ bool unused() const { return 0 == theUsed_; } - __device__ __forceinline__ void setUsedBit(uint16_t bit) { theUsed_ |= bit; } + __device__ __forceinline__ bool unused() const { return 0 == (3 & theStatus_); } + __device__ __forceinline__ void setUsedBit(uint16_t mask) { theStatus_ |= mask; } __device__ __forceinline__ void setFishbone(hindex_type id) { theFishboneId = id; } __device__ __forceinline__ auto fishboneId() const { return theFishboneId; } @@ -352,9 +352,8 @@ class GPUCACell { CellNeighbors* theOuterNeighbors; CellTracks* theTracks; - int32_t theDoubletId_; int16_t theLayerPairId_; - uint16_t theUsed_; // tbd + uint16_t theStatus_; // tbd float theInnerZ; float theInnerR; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/gpuPixelDoubletsAlgos.h b/RecoPixelVertexing/PixelTriplets/plugins/gpuPixelDoubletsAlgos.h index 37970048b3168..80316d24c748b 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/gpuPixelDoubletsAlgos.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/gpuPixelDoubletsAlgos.h @@ -222,7 +222,7 @@ namespace gpuPixelDoublets { break; } // move to SimpleVector?? // int layerPairId, int doubletId, int innerHitId, int outerHitId) - cells[ind].init(*cellNeighbors, *cellTracks, hh, pairLayerId, ind, i, oi); + cells[ind].init(*cellNeighbors, *cellTracks, hh, pairLayerId, i, oi); isOuterHitOfCell[oi].push_back(ind); #ifdef GPU_DEBUG if (isOuterHitOfCell[oi].full()) From 4afbf2cc3bd7d75af316bc705fb11057e2986287 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Tue, 23 Nov 2021 13:30:40 +0100 Subject: [PATCH 120/268] store number of layers --- .../Track/interface/TrackSoAHeterogeneousT.h | 8 +++----- .../PixelTriplets/plugins/BrokenLineFitOnGPU.cc | 2 ++ .../plugins/CAHitNtupletGeneratorKernels.cc | 1 + .../plugins/CAHitNtupletGeneratorKernels.cu | 2 ++ .../plugins/CAHitNtupletGeneratorKernelsImpl.h | 15 +++++++++++++-- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h index dce8ea1822b88..18e7a2686724f 100644 --- a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h +++ b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h @@ -43,13 +43,11 @@ class TrackSoAHeterogeneousT { // this is chi2/ndof as not necessarely all hits are used in the fit eigenSoA::ScalarSoA chi2; - constexpr int nHits(int i) const { return detIndices.size(i); } + eigenSoA::ScalarSoA nLayers; - // we may store it if faster... - constexpr int nLayers(int i) const { return computeNumberOfLayers(i); } + constexpr int nHits(int i) const { return detIndices.size(i); } - // or store this one - constexpr bool isTriplet(int i) const { return nHits(i) == 3 || nLayers(i) == 3; } + constexpr bool isTriplet(int i) const { return nLayers(i) == 3; } constexpr int computeNumberOfLayers(int32_t i) const { // layers are in order and we assume tracks are either forward or backward diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc index 6ebca08a9e82e..6271c5c5fc67c 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc @@ -3,7 +3,9 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hitsInFit, uint32_t maxNumberOfTuples) { assert(tuples_); +#ifdef BROKENLINE_DEBUG setlinebuf(stdout); +#endif // Fit internals auto tkidGPU = std::make_unique(maxNumberOfConcurrentFits_); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc index 16c36962912e7..c3c0c25cb1e38 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc @@ -129,6 +129,7 @@ void CAHitNtupletGeneratorKernelsCPU::launchKernels(HitsOnCPU const &hh, TkSoA * cms::cuda::finalizeBulk(device_hitTuple_apc_, tuples_d); kernel_fillHitDetIndices(tuples_d, hh.view(), detId_d); + kernel_fillNLayers(tracks_d); // remove duplicates (tracks that share a doublet) kernel_earlyDuplicateRemover(device_theCells_.get(), device_nCells_, tracks_d, quality_d, params_.dupPassThrough_); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu index f90747204b6a6..f975b49875439 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu @@ -90,6 +90,8 @@ void CAHitNtupletGeneratorKernelsGPU::launchKernels(HitsOnCPU const &hh, TkSoA * kernel_fillHitDetIndices<<>>(tuples_d, hh.view(), detId_d); cudaCheck(cudaGetLastError()); + kernel_fillNLayers<<>>(tracks_d); + cudaCheck(cudaGetLastError()); // remove duplicates (tracks that share a doublet) numberOfBlocks = nDoubletBlocks(blockSize); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h index 2e7699c5795ce..3b0ae66baccad 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h @@ -155,7 +155,7 @@ __global__ void kernel_earlyDuplicateRemover(GPUCACell const *cells, //if (0==thisCell.theUsed) continue; // if (thisCell.theDoubletId < 0) continue; - int maxNl = 0; + int8_t maxNl = 0; // find maxNl for (auto it : thisCell.tracks()) { @@ -564,6 +564,17 @@ __global__ void kernel_fillHitDetIndices(HitContainer const *__restrict__ tuples } } +__global__ void kernel_fillNLayers(TkSoA *__restrict__ ptracks) { + auto &tracks = *ptracks; + auto first = blockIdx.x * blockDim.x + threadIdx.x; + for (int idx = first, nt = TkSoA::stride(); idx < nt; idx += gridDim.x * blockDim.x) { + auto nHits = tracks.nHits(idx); + if (nHits == 0) + break; // this is a guard: maybe we need to move to nTracks... + tracks.nLayers(idx) = tracks.computeNumberOfLayers(idx); + } +} + __global__ void kernel_doStatsForHitInTracks(CAHitNtupletGeneratorKernelsGPU::HitToTuple const *__restrict__ hitToTuple, CAHitNtupletGeneratorKernelsGPU::Counters *counters) { auto &c = *counters; @@ -725,7 +736,7 @@ __global__ void kernel_sharedHitCleaner(TrackingRecHit2DSOAView const *__restric if (hitToTuple.size(idx) < 2) continue; - int maxNl = 0; + int8_t maxNl = 0; // find maxNl for (auto it = hitToTuple.begin(idx); it != hitToTuple.end(idx); ++it) { From f4232c92dffa44fd3070e5835379f4b0ce902002 Mon Sep 17 00:00:00 2001 From: Suvankar Roy Chowdhury Date: Tue, 23 Nov 2021 14:16:49 +0100 Subject: [PATCH 121/268] remove phase0 pixelCertification module from sequences --- .../python/SiPixelOfflineDQM_client_cff.py | 3 +-- DQM/SiPixelCommon/python/SiPixelP5DQM_client_cff.py | 3 +-- DQMOffline/Configuration/python/DQMOffline_CRT_cff.py | 7 +------ .../python/DQMOffline_Certification_cff.py | 11 +---------- 4 files changed, 4 insertions(+), 20 deletions(-) diff --git a/DQM/SiPixelCommon/python/SiPixelOfflineDQM_client_cff.py b/DQM/SiPixelCommon/python/SiPixelOfflineDQM_client_cff.py index 25489203d4ece..91ad3fbaf39e5 100644 --- a/DQM/SiPixelCommon/python/SiPixelOfflineDQM_client_cff.py +++ b/DQM/SiPixelCommon/python/SiPixelOfflineDQM_client_cff.py @@ -44,8 +44,7 @@ PixelOfflineDQMClientWithDataCertification = cms.Sequence(sipixelQTester+ sipixelEDAClient+ sipixelDaqInfo+ - sipixelDcsInfo+ - sipixelCertification) + sipixelDcsInfo) PixelOfflineDQMClientNoDataCertification = cms.Sequence(sipixelQTester+ sipixelEDAClient) PixelOfflineDQMClientNoDataCertification_cosmics = cms.Sequence(sipixelQTester+ diff --git a/DQM/SiPixelCommon/python/SiPixelP5DQM_client_cff.py b/DQM/SiPixelCommon/python/SiPixelP5DQM_client_cff.py index 12f6644478e47..ab4800d4f4c3e 100644 --- a/DQM/SiPixelCommon/python/SiPixelP5DQM_client_cff.py +++ b/DQM/SiPixelCommon/python/SiPixelP5DQM_client_cff.py @@ -23,5 +23,4 @@ PixelP5DQMClient = cms.Sequence(sipixelEDAClientP5) PixelP5DQMClientWithDataCertification = cms.Sequence(sipixelEDAClientP5+ sipixelDaqInfo+ - sipixelDcsInfo+ - sipixelCertification) + sipixelDcsInfo) diff --git a/DQMOffline/Configuration/python/DQMOffline_CRT_cff.py b/DQMOffline/Configuration/python/DQMOffline_CRT_cff.py index abbd4f84e76f9..1ce3376a84f0f 100644 --- a/DQMOffline/Configuration/python/DQMOffline_CRT_cff.py +++ b/DQMOffline/Configuration/python/DQMOffline_CRT_cff.py @@ -14,7 +14,6 @@ from DQMOffline.Trigger.DQMOffline_Trigger_Cert_cff import * crt_dqmoffline = cms.Sequence( siStripCertificationInfo * - sipixelCertification * ecalCertification * dtCertificationSummary * rpcDataCertification * @@ -25,8 +24,4 @@ egammaDataCertificationTask * dqmOfflineTriggerCert ) -from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel -phase1Pixel.toReplaceWith(crt_dqmoffline, crt_dqmoffline.copyAndExclude([ # FIXME -# dqmOfflineTriggerCert, # No HLT yet for 2017, so no need to run the DQM (avoiding excessive printouts) - sipixelCertification # segfaults with pixel harvesting plots missing -])) + diff --git a/DQMOffline/Configuration/python/DQMOffline_Certification_cff.py b/DQMOffline/Configuration/python/DQMOffline_Certification_cff.py index a4568cfc1b344..836fb5821cee5 100644 --- a/DQMOffline/Configuration/python/DQMOffline_Certification_cff.py +++ b/DQMOffline/Configuration/python/DQMOffline_Certification_cff.py @@ -13,8 +13,7 @@ siStripCertificationInfo) DQMCertTrackerPixel = cms.Sequence(sipixelDaqInfo * - sipixelDcsInfo * - sipixelCertification) + sipixelDcsInfo) DQMCertTracking = cms.Sequence(trackingCertificationInfo) @@ -38,13 +37,5 @@ DQMCertEGamma * DQMCertTrigger) -from DQM.SiPixelPhase1Config.SiPixelPhase1OfflineDQM_harvesting_cff import * -from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel - -phase1Pixel.toReplaceWith(DQMCertTrackerPixel,DQMCertTrackerPixel.copyAndExclude([ # FIXME - sipixelCertification # segfaults when included -])) - - DQMCertCommonFakeHLT = cms.Sequence( DQMCertCommon ) DQMCertCommonFakeHLT.remove( dqmOfflineTriggerCert ) From e8e88b02eb1861bae6249f7e620a0470a2fd0531 Mon Sep 17 00:00:00 2001 From: Andrea Date: Tue, 23 Nov 2021 14:41:50 +0100 Subject: [PATCH 122/268] Fix slope return value in CSCGEMMatcher::calculateGEMCSCBending --- .../CSCTriggerPrimitives/src/CSCGEMMatcher.cc | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMatcher.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMatcher.cc index 20b13ad12bfd1..6a64a7a519ac4 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMatcher.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMatcher.cc @@ -38,6 +38,8 @@ unsigned CSCGEMMatcher::calculateGEMCSCBending(const CSCCLCTDigi& clct, const GE // difference in 1/8-strip number const unsigned diff = std::abs(int(clct.getKeyStrip(8)) - int(cluster.getKeyStrip(8))); + const bool isME1a(station_ == 1 and clct.getKeyStrip() > CSCConstants::MAX_HALF_STRIP_ME1B); + unsigned slope = 0; // need LUT to convert differences in 1/8-strips between GEM and CSC to slope @@ -53,33 +55,31 @@ unsigned CSCGEMMatcher::calculateGEMCSCBending(const CSCCLCTDigi& clct, const GE else slope = lookupTableME21ILT_->es_diff_slope_L2_ME21_odd(diff); } - } - - const bool isME1a(station_ == 1 and clct.getKeyStrip() > CSCConstants::MAX_HALF_STRIP_ME1B); - - if (station_ == 1 and isME1a) { - if (isEven_) { - if (cluster.id().layer() == 1) - slope = lookupTableME11ILT_->es_diff_slope_L1_ME1a_even(diff); - else - slope = lookupTableME11ILT_->es_diff_slope_L2_ME1a_even(diff); - } else { - if (cluster.id().layer() == 1) - slope = lookupTableME11ILT_->es_diff_slope_L1_ME1a_odd(diff); - else - slope = lookupTableME11ILT_->es_diff_slope_L2_ME1a_odd(diff); - } - } else { - if (isEven_) { - if (cluster.id().layer() == 1) - slope = lookupTableME11ILT_->es_diff_slope_L1_ME1b_even(diff); - else - slope = lookupTableME11ILT_->es_diff_slope_L2_ME1b_even(diff); + } else { // station == 1 + if (isME1a) { + if (isEven_) { + if (cluster.id().layer() == 1) + slope = lookupTableME11ILT_->es_diff_slope_L1_ME1a_even(diff); + else + slope = lookupTableME11ILT_->es_diff_slope_L2_ME1a_even(diff); + } else { + if (cluster.id().layer() == 1) + slope = lookupTableME11ILT_->es_diff_slope_L1_ME1a_odd(diff); + else + slope = lookupTableME11ILT_->es_diff_slope_L2_ME1a_odd(diff); + } } else { - if (cluster.id().layer() == 1) - slope = lookupTableME11ILT_->es_diff_slope_L1_ME1b_odd(diff); - else - slope = lookupTableME11ILT_->es_diff_slope_L2_ME1b_odd(diff); + if (isEven_) { + if (cluster.id().layer() == 1) + slope = lookupTableME11ILT_->es_diff_slope_L1_ME1b_even(diff); + else + slope = lookupTableME11ILT_->es_diff_slope_L2_ME1b_even(diff); + } else { + if (cluster.id().layer() == 1) + slope = lookupTableME11ILT_->es_diff_slope_L1_ME1b_odd(diff); + else + slope = lookupTableME11ILT_->es_diff_slope_L2_ME1b_odd(diff); + } } } From 6deb8e0a722265c959bc1ead849a883160f5fcba Mon Sep 17 00:00:00 2001 From: Sunanda Date: Tue, 23 Nov 2021 16:02:21 +0100 Subject: [PATCH 123/268] Remove overlap in muon for M10 version --- Geometry/MuonCommonData/data/mf/2026/v8/mf.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Geometry/MuonCommonData/data/mf/2026/v8/mf.xml b/Geometry/MuonCommonData/data/mf/2026/v8/mf.xml index 3e8a0171d4643..308110a4f92b5 100644 --- a/Geometry/MuonCommonData/data/mf/2026/v8/mf.xml +++ b/Geometry/MuonCommonData/data/mf/2026/v8/mf.xml @@ -14,8 +14,8 @@ - - + + From a8340e1a8932ca8a9431ee37c3312f21a99a8000 Mon Sep 17 00:00:00 2001 From: Matti Kortelainen Date: Tue, 23 Nov 2021 16:03:02 +0100 Subject: [PATCH 124/268] Use noRunLumiSort in non-NANO Merge jobs This should allow files produced by jobs using concurrent LuminosityBlocks be merged with fast cloning. --- Configuration/DataProcessing/python/Merge.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Configuration/DataProcessing/python/Merge.py b/Configuration/DataProcessing/python/Merge.py index bfebdeecbc3c4..e1ca124d2281b 100644 --- a/Configuration/DataProcessing/python/Merge.py +++ b/Configuration/DataProcessing/python/Merge.py @@ -59,6 +59,8 @@ def mergeProcess(*inputFiles, **options): process.source.bypassVersionCheck = CfgTypes.untracked.bool(True) if dropDQM: process.source.inputCommands = CfgTypes.untracked.vstring('keep *','drop *_EDMtoMEConverter_*_*') + if not mergeNANO: + process.source.noRunLumiSort = CfgTypes.untracked.bool(True) process.source.fileNames = CfgTypes.untracked(CfgTypes.vstring()) for entry in inputFiles: process.source.fileNames.append(str(entry)) From 9823a3d4bd18edb1c4dc6d734778ce837d8f869a Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Tue, 23 Nov 2021 10:37:24 -0600 Subject: [PATCH 125/268] Read out the CSC cathode shower in TMB/OTMB --- .../interface/CSCCathodeLCTProcessor.h | 6 ++++++ .../interface/CSCTriggerPrimitivesBuilder.h | 3 ++- .../plugins/CSCTriggerPrimitivesProducer.cc | 6 +++++- .../CSCTriggerPrimitives/src/CSCCathodeLCTProcessor.cc | 8 +++++--- .../src/CSCTriggerPrimitivesBuilder.cc | 6 +++++- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/L1Trigger/CSCTriggerPrimitives/interface/CSCCathodeLCTProcessor.h b/L1Trigger/CSCTriggerPrimitives/interface/CSCCathodeLCTProcessor.h index c32f4a5cba6ad..d1ab3c2d209c1 100644 --- a/L1Trigger/CSCTriggerPrimitives/interface/CSCCathodeLCTProcessor.h +++ b/L1Trigger/CSCTriggerPrimitives/interface/CSCCathodeLCTProcessor.h @@ -33,6 +33,7 @@ #include "DataFormats/CSCDigi/interface/CSCComparatorDigiCollection.h" #include "DataFormats/CSCDigi/interface/CSCCLCTDigi.h" #include "DataFormats/CSCDigi/interface/CSCCLCTPreTriggerDigi.h" +#include "DataFormats/CSCDigi/interface/CSCShowerDigi.h" #include "L1Trigger/CSCTriggerPrimitives/interface/CSCBaseboard.h" #include "L1Trigger/CSCTriggerPrimitives/interface/LCTQualityControl.h" #include "L1Trigger/CSCTriggerPrimitives/interface/ComparatorCodeLUT.h" @@ -89,6 +90,9 @@ class CSCCathodeLCTProcessor : public CSCBaseboard { unsigned getInTimeHMT() const { return inTimeHMT_; } unsigned getOutTimeHMT() const { return outTimeHMT_; } + /** Returns shower bits */ + CSCShowerDigi readoutShower() const; + protected: /** Best LCT in this chamber, as found by the processor. */ CSCCLCTDigi bestCLCT[CSCConstants::MAX_CLCT_TBINS]; @@ -96,6 +100,8 @@ class CSCCathodeLCTProcessor : public CSCBaseboard { /** Second best LCT in this chamber, as found by the processor. */ CSCCLCTDigi secondCLCT[CSCConstants::MAX_CLCT_TBINS]; + CSCShowerDigi shower_; + /** Access routines to comparator digis. */ bool getDigis(const CSCComparatorDigiCollection* compdc); void getDigis(const CSCComparatorDigiCollection* compdc, const CSCDetId& id); diff --git a/L1Trigger/CSCTriggerPrimitives/interface/CSCTriggerPrimitivesBuilder.h b/L1Trigger/CSCTriggerPrimitives/interface/CSCTriggerPrimitivesBuilder.h index ebf6befaf46bf..31432c848b4d1 100644 --- a/L1Trigger/CSCTriggerPrimitives/interface/CSCTriggerPrimitivesBuilder.h +++ b/L1Trigger/CSCTriggerPrimitives/interface/CSCTriggerPrimitivesBuilder.h @@ -81,8 +81,9 @@ class CSCTriggerPrimitivesBuilder { CSCCLCTPreTriggerCollection& oc_pretrig, CSCCorrelatedLCTDigiCollection& oc_lct, CSCCorrelatedLCTDigiCollection& oc_sorted_lct, - CSCShowerDigiCollection& oc_shower, CSCShowerDigiCollection& oc_shower_anode, + CSCShowerDigiCollection& oc_shower_cathode, + CSCShowerDigiCollection& oc_shower, GEMCoPadDigiCollection& oc_gemcopad); /** Max values of trigger labels for all CSCs; used to construct TMB diff --git a/L1Trigger/CSCTriggerPrimitives/plugins/CSCTriggerPrimitivesProducer.cc b/L1Trigger/CSCTriggerPrimitives/plugins/CSCTriggerPrimitivesProducer.cc index 6133a4b6e8c85..0048ff8262a6e 100644 --- a/L1Trigger/CSCTriggerPrimitives/plugins/CSCTriggerPrimitivesProducer.cc +++ b/L1Trigger/CSCTriggerPrimitives/plugins/CSCTriggerPrimitivesProducer.cc @@ -169,6 +169,7 @@ CSCTriggerPrimitivesProducer::CSCTriggerPrimitivesProducer(const edm::ParameterS if (keepShowers_) { produces(); produces("Anode"); + produces("Cathode"); } if (runILT_) { produces(); @@ -268,6 +269,7 @@ void CSCTriggerPrimitivesProducer::produce(edm::Event& ev, const edm::EventSetup std::unique_ptr oc_sorted_lct(new CSCCorrelatedLCTDigiCollection); std::unique_ptr oc_shower(new CSCShowerDigiCollection); std::unique_ptr oc_shower_anode(new CSCShowerDigiCollection); + std::unique_ptr oc_shower_cathode(new CSCShowerDigiCollection); std::unique_ptr oc_gemcopad(new GEMCoPadDigiCollection); if (!wireDigis.isValid()) { @@ -296,8 +298,9 @@ void CSCTriggerPrimitivesProducer::produce(edm::Event& ev, const edm::EventSetup *oc_pretrig, *oc_lct, *oc_sorted_lct, - *oc_shower, *oc_shower_anode, + *oc_shower_cathode, + *oc_shower, *oc_gemcopad); if (!checkBadChambers_) delete temp; @@ -318,6 +321,7 @@ void CSCTriggerPrimitivesProducer::produce(edm::Event& ev, const edm::EventSetup if (keepShowers_) { ev.put(std::move(oc_shower)); ev.put(std::move(oc_shower_anode), "Anode"); + ev.put(std::move(oc_shower_cathode), "Cathode"); } // only put GEM copad collections in the event when the // integrated local triggers are running diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCCathodeLCTProcessor.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCCathodeLCTProcessor.cc index bae26474a5220..6250745f65299 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCCathodeLCTProcessor.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCCathodeLCTProcessor.cc @@ -1166,6 +1166,9 @@ CSCCLCTDigi CSCCathodeLCTProcessor::getSecondCLCT(int bx) const { return lct; } +/** Returns shower bits */ +CSCShowerDigi CSCCathodeLCTProcessor::readoutShower() const { return shower_; } + void CSCCathodeLCTProcessor::encodeHighMultiplicityBits( const std::vector halfstrip[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_HALF_STRIPS_RUN2_TRIGGER]) { inTimeHMT_ = 0; @@ -1225,7 +1228,6 @@ void CSCCathodeLCTProcessor::encodeHighMultiplicityBits( } } - // no shower object is created here. that is done at a later stage - // in the motherboard, where the trigger decisions from - // anode hit counters and cathode hit counters are combined + // create a new object + shower_ = CSCShowerDigi(inTimeHMT_, false, theTrigChamber); } diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCTriggerPrimitivesBuilder.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCTriggerPrimitivesBuilder.cc index 643f3d96b6bd1..c0aed699dabc1 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCTriggerPrimitivesBuilder.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCTriggerPrimitivesBuilder.cc @@ -154,8 +154,9 @@ void CSCTriggerPrimitivesBuilder::build(const CSCBadChambers* badChambers, CSCCLCTPreTriggerCollection& oc_pretrig, CSCCorrelatedLCTDigiCollection& oc_lct, CSCCorrelatedLCTDigiCollection& oc_sorted_lct, - CSCShowerDigiCollection& oc_shower, CSCShowerDigiCollection& oc_shower_anode, + CSCShowerDigiCollection& oc_shower_cathode, + CSCShowerDigiCollection& oc_shower, GEMCoPadDigiCollection& oc_gemcopad) { // CSC geometry. for (int endc = min_endcap; endc <= max_endcap; endc++) { @@ -228,6 +229,7 @@ void CSCTriggerPrimitivesBuilder::build(const CSCBadChambers* badChambers, // showers const CSCShowerDigi& shower = tmb->readoutShower(); const CSCShowerDigi& anodeShower = tmb->alctProc->readoutShower(); + const CSCShowerDigi& cathodeShower = tmb->clctProc->readoutShower(); put(alctV, oc_alct, detid, tmb->getCSCName() + " ALCT digi"); put(clctV, oc_clct, detid, tmb->getCSCName() + " CLCT digi"); @@ -241,6 +243,8 @@ void CSCTriggerPrimitivesBuilder::build(const CSCBadChambers* badChambers, oc_shower.insertDigi(detid, shower); if (anodeShower.isValid()) oc_shower_anode.insertDigi(detid, anodeShower); + if (cathodeShower.isValid()) + oc_shower_cathode.insertDigi(detid, cathodeShower); if (!(alctV.empty() && clctV.empty() && lctV.empty()) and infoV > 1) { LogTrace("L1CSCTrigger") << "CSCTriggerPrimitivesBuilder got results in " << detid; From 503d8b472e157ede782cd5ac691d608bbccec4e5 Mon Sep 17 00:00:00 2001 From: swmukher Date: Tue, 23 Nov 2021 17:41:09 +0100 Subject: [PATCH 126/268] remove unnecessary headers --- .../plugins/FixedGridRhoProducerFastjetFromRecHit.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc index a17a219b8a3e9..1b99e960cfafc 100644 --- a/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc +++ b/RecoJets/JetProducers/plugins/FixedGridRhoProducerFastjetFromRecHit.cc @@ -19,7 +19,6 @@ So this recHit-based rho producer, FixedGridRhoProducerFastjetFromRecHit, can be #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" -#include "DataFormats/Math/interface/LorentzVector.h" #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" #include "Geometry/CaloGeometry/interface/CaloGeometry.h" #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" From bdad5e4931f0d4a8224bd088f9051a1e3a77c9bb Mon Sep 17 00:00:00 2001 From: Marino Missiroli Date: Mon, 22 Nov 2021 17:32:34 +0100 Subject: [PATCH 127/268] update HLT addOnTests for Run-3 Data with 2021 pilot-beam data --- Configuration/HLT/python/addOnTestsHLT.py | 16 ++++++++-------- Configuration/HLT/python/autoCondHLT.py | 20 ++++++++++---------- HLTrigger/Configuration/test/cmsDriver.csh | 20 ++++---------------- 3 files changed, 22 insertions(+), 34 deletions(-) diff --git a/Configuration/HLT/python/addOnTestsHLT.py b/Configuration/HLT/python/addOnTestsHLT.py index dc134db316c88..ae564eb78e273 100644 --- a/Configuration/HLT/python/addOnTestsHLT.py +++ b/Configuration/HLT/python/addOnTestsHLT.py @@ -31,18 +31,18 @@ def addOnTestsHLT(): 'hlt_data_Fake2': ['cmsDriver.py RelVal -s L1REPACK:Full --data --scenario=pp -n 10 --conditions auto:run2_hlt_Fake2 --relval 9000,50 --datatier "RAW" --eventcontent RAW --customise=HLTrigger/Configuration/CustomConfigs.L1T --era Run2_2016 --fileout file:RelVal_Raw_Fake2_DATA.root --filein /store/data/Run2016B/JetHT/RAW/v1/000/272/762/00000/C666CDE2-E013-E611-B15A-02163E011DBE.root', 'HLTrigger/Configuration/test/OnLine_HLT_Fake2.py', 'cmsDriver.py RelVal -s HLT:Fake2,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run2_data_Fake2 --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT --era Run2_2016 --processName=HLTRECO --filein file:RelVal_Raw_Fake2_DATA.root --fileout file:RelVal_Raw_Fake2_DATA_HLT_RECO.root'], - 'hlt_data_GRun' : ['cmsDriver.py RelVal -s L1REPACK:Full --data --scenario=pp -n 10 --conditions auto:run3_hlt_GRun --relval 9000,50 --datatier "RAW" --eventcontent RAW --customise=HLTrigger/Configuration/CustomConfigs.L1T --era Run3 --fileout file:RelVal_Raw_GRun_DATA.root --filein /store/data/Run2018D/EphemeralHLTPhysics1/RAW/v1/000/323/775/00000/2E066536-5CF2-B340-A73B-209640F29FF6.root --customise_commands=\'if hasattr(process,"simMuonGEMPadTask"): setattr(process,"simMuonGEMPadTask",cms.Task())\'', + 'hlt_data_GRun' : ['cmsDriver.py RelVal -s L1REPACK:Full --data --scenario=pp -n 10 --conditions auto:run3_hlt_GRun --relval 9000,50 --datatier "RAW" --eventcontent RAW --customise=HLTrigger/Configuration/CustomConfigs.L1T --era Run3 --fileout file:RelVal_Raw_GRun_DATA.root --filein /store/data/Commissioning2021/MinimumBias1/RAW/v1/000/346/304/00000/0949cd03-66a6-4034-a630-b9fef4dde3d2.root', 'HLTrigger/Configuration/test/OnLine_HLT_GRun.py', - 'cmsDriver.py RelVal -s HLT:GRun,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run3_data_GRun --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT,HLTrigger/Configuration/CustomConfigs.CTPPSRun2Geometry --era Run3 --processName=HLTRECO --filein file:RelVal_Raw_GRun_DATA.root --fileout file:RelVal_Raw_GRun_DATA_HLT_RECO.root'], - 'hlt_data_HIon' : ['cmsDriver.py RelVal -s L1REPACK:Full --data --scenario=pp -n 10 --conditions auto:run3_hlt_HIon --relval 9000,50 --datatier "RAW" --eventcontent RAW --customise=HLTrigger/Configuration/CustomConfigs.L1T --era Run3_pp_on_PbPb --fileout file:RelVal_Raw_HIon_DATA.root --filein /store/data/Run2018D/HIMinimumBias0/RAW/v1/000/325/112/00000/660F62BB-9932-D645-A4A4-0BBBDA3963E8.root --customise_commands=\'if hasattr(process,"simMuonGEMPadTask"): setattr(process,"simMuonGEMPadTask",cms.Task()); from FWCore.ParameterSet.MassReplace import massSearchReplaceAnyInputTag; massSearchReplaceAnyInputTag(process.SimL1Emulator,"rawDataCollector","rawDataRepacker",False,True)\'', + 'cmsDriver.py RelVal -s HLT:GRun,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run3_data_GRun --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT --era Run3 --processName=HLTRECO --filein file:RelVal_Raw_GRun_DATA.root --fileout file:RelVal_Raw_GRun_DATA_HLT_RECO.root'], + 'hlt_data_HIon' : ['cmsDriver.py RelVal -s L1REPACK:Full --data --scenario=pp -n 10 --conditions auto:run3_hlt_HIon --relval 9000,50 --datatier "RAW" --eventcontent RAW --customise=HLTrigger/Configuration/CustomConfigs.L1T --era Run3_pp_on_PbPb --fileout file:RelVal_Raw_HIon_DATA.root --filein /store/data/Commissioning2021/MinimumBias1/RAW/v1/000/346/304/00000/0949cd03-66a6-4034-a630-b9fef4dde3d2.root', # --customise_commands=\'from FWCore.ParameterSet.MassReplace import massSearchReplaceAnyInputTag; massSearchReplaceAnyInputTag(process.SimL1Emulator,"rawDataCollector","rawDataRepacker",False,True)\'', 'HLTrigger/Configuration/test/OnLine_HLT_HIon.py', - 'cmsDriver.py RelVal -s HLT:HIon,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run3_data_HIon --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT,HLTrigger/Configuration/CustomConfigs.CTPPSRun2Geometry --era Run3_pp_on_PbPb --processName=HLTRECO --filein file:RelVal_Raw_HIon_DATA.root --fileout file:RelVal_Raw_HIon_DATA_HLT_RECO.root'], - 'hlt_data_PIon' : ['cmsDriver.py RelVal -s L1REPACK:Full --data --scenario=pp -n 10 --conditions auto:run3_hlt_PIon --relval 9000,50 --datatier "RAW" --customise=HLTrigger/Configuration/CustomConfigs.L1T --era Run3 --eventcontent RAW --fileout file:RelVal_Raw_PIon_DATA.root --filein /store/data/Run2018D/EphemeralHLTPhysics1/RAW/v1/000/323/775/00000/2E066536-5CF2-B340-A73B-209640F29FF6.root --customise_commands=\'if hasattr(process,"simMuonGEMPadTask"): setattr(process,"simMuonGEMPadTask",cms.Task())\'', + 'cmsDriver.py RelVal -s HLT:HIon,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run3_data_HIon --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT --era Run3_pp_on_PbPb --processName=HLTRECO --filein file:RelVal_Raw_HIon_DATA.root --fileout file:RelVal_Raw_HIon_DATA_HLT_RECO.root'], + 'hlt_data_PIon' : ['cmsDriver.py RelVal -s L1REPACK:Full --data --scenario=pp -n 10 --conditions auto:run3_hlt_PIon --relval 9000,50 --datatier "RAW" --customise=HLTrigger/Configuration/CustomConfigs.L1T --era Run3 --eventcontent RAW --fileout file:RelVal_Raw_PIon_DATA.root --filein /store/data/Commissioning2021/MinimumBias1/RAW/v1/000/346/304/00000/0949cd03-66a6-4034-a630-b9fef4dde3d2.root', 'HLTrigger/Configuration/test/OnLine_HLT_PIon.py', - 'cmsDriver.py RelVal -s HLT:PIon,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run3_data_PIon --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT,HLTrigger/Configuration/CustomConfigs.CTPPSRun2Geometry --era Run3 --processName=HLTRECO --filein file:RelVal_Raw_PIon_DATA.root --fileout file:RelVal_Raw_PIon_DATA_HLT_RECO.root'], - 'hlt_data_PRef' : ['cmsDriver.py RelVal -s L1REPACK:Full --data --scenario=pp -n 10 --conditions auto:run3_hlt_PRef --relval 9000,50 --datatier "RAW" --customise=HLTrigger/Configuration/CustomConfigs.L1T --era Run3 --eventcontent RAW --fileout file:RelVal_Raw_PRef_DATA.root --filein /store/data/Run2018D/EphemeralHLTPhysics1/RAW/v1/000/323/775/00000/2E066536-5CF2-B340-A73B-209640F29FF6.root --customise_commands=\'if hasattr(process,"simMuonGEMPadTask"): setattr(process,"simMuonGEMPadTask",cms.Task())\'', + 'cmsDriver.py RelVal -s HLT:PIon,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run3_data_PIon --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT --era Run3 --processName=HLTRECO --filein file:RelVal_Raw_PIon_DATA.root --fileout file:RelVal_Raw_PIon_DATA_HLT_RECO.root'], + 'hlt_data_PRef' : ['cmsDriver.py RelVal -s L1REPACK:Full --data --scenario=pp -n 10 --conditions auto:run3_hlt_PRef --relval 9000,50 --datatier "RAW" --customise=HLTrigger/Configuration/CustomConfigs.L1T --era Run3 --eventcontent RAW --fileout file:RelVal_Raw_PRef_DATA.root --filein /store/data/Commissioning2021/MinimumBias1/RAW/v1/000/346/304/00000/0949cd03-66a6-4034-a630-b9fef4dde3d2.root', 'HLTrigger/Configuration/test/OnLine_HLT_PRef.py', - 'cmsDriver.py RelVal -s HLT:PRef,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run3_data_PRef --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT,HLTrigger/Configuration/CustomConfigs.CTPPSRun2Geometry --era Run3 --processName=HLTRECO --filein file:RelVal_Raw_PRef_DATA.root --fileout file:RelVal_Raw_PRef_DATA_HLT_RECO.root'], + 'cmsDriver.py RelVal -s HLT:PRef,RAW2DIGI,L1Reco,RECO --data --scenario=pp -n 10 --conditions auto:run3_data_PRef --relval 9000,50 --datatier "RAW-HLT-RECO" --eventcontent FEVTDEBUGHLT --customise=HLTrigger/Configuration/CustomConfigs.L1THLT --era Run3 --processName=HLTRECO --filein file:RelVal_Raw_PRef_DATA.root --fileout file:RelVal_Raw_PRef_DATA_HLT_RECO.root'], } return addOnTestsHLT diff --git a/Configuration/HLT/python/autoCondHLT.py b/Configuration/HLT/python/autoCondHLT.py index 242fb3525da1b..3a02420e3b1ac 100644 --- a/Configuration/HLT/python/autoCondHLT.py +++ b/Configuration/HLT/python/autoCondHLT.py @@ -43,21 +43,21 @@ 'run2_hlt_Fake' : ('run2_hlt_relval' ,l1Menus['Fake']), 'run2_hlt_Fake1' : ('run2_hlt_relval' ,l1Menus['Fake1']), 'run2_hlt_Fake2' : ('run2_hlt_relval' ,l1Menus['Fake2']), - 'run3_hlt_FULL' : ('run2_hlt_relval' ,l1Menus['FULL']), - 'run3_hlt_GRun' : ('run2_hlt_relval' ,l1Menus['GRun']), - 'run3_hlt_HIon' : ('run2_hlt_relval' ,l1Menus['HIon']), - 'run3_hlt_PIon' : ('run2_hlt_relval' ,l1Menus['PIon']), - 'run3_hlt_PRef' : ('run2_hlt_relval' ,l1Menus['PRef']), + 'run3_hlt_FULL' : ('run3_hlt' ,l1Menus['FULL']), + 'run3_hlt_GRun' : ('run3_hlt' ,l1Menus['GRun']), + 'run3_hlt_HIon' : ('run3_hlt' ,l1Menus['HIon']), + 'run3_hlt_PIon' : ('run3_hlt' ,l1Menus['PIon']), + 'run3_hlt_PRef' : ('run3_hlt' ,l1Menus['PRef']), 'run1_data_Fake' : ('run1_data' ,l1Menus['Fake']), 'run2_data_Fake' : ('run2_data_relval' ,l1Menus['Fake']), 'run2_data_Fake1' : ('run2_data_relval' ,l1Menus['Fake1']), 'run2_data_Fake2' : ('run2_data_relval' ,l1Menus['Fake2']), - 'run3_data_FULL' : ('run2_data_relval' ,l1Menus['FULL']), - 'run3_data_GRun' : ('run2_data_relval' ,l1Menus['GRun']), - 'run3_data_HIon' : ('run2_data_promptlike_hi' ,l1Menus['HIon']), - 'run3_data_PIon' : ('run2_data_relval' ,l1Menus['PIon']), - 'run3_data_PRef' : ('run2_data_relval' ,l1Menus['PRef']), + 'run3_data_FULL' : ('run3_data_prompt' ,l1Menus['FULL']), + 'run3_data_GRun' : ('run3_data_prompt' ,l1Menus['GRun']), + 'run3_data_HIon' : ('run3_data_prompt' ,l1Menus['HIon']), + 'run3_data_PIon' : ('run3_data_prompt' ,l1Menus['PIon']), + 'run3_data_PRef' : ('run3_data_prompt' ,l1Menus['PRef']), } diff --git a/HLTrigger/Configuration/test/cmsDriver.csh b/HLTrigger/Configuration/test/cmsDriver.csh index 0f77ce781877a..7a3bed163e174 100755 --- a/HLTrigger/Configuration/test/cmsDriver.csh +++ b/HLTrigger/Configuration/test/cmsDriver.csh @@ -33,10 +33,10 @@ set InputGenSimPRef3 = $InputGenSimGRun3 set InputLHCRawGRun0 = root://eoscms.cern.ch//eos/cms/store/data/Run2012A/MuEG/RAW/v1/000/191/718/14932935-E289-E111-830C-5404A6388697.root set InputLHCRawGRun1 = root://eoscms.cern.ch//eos/cms/store/data/Run2015D/MuonEG/RAW/v1/000/256/677/00000/80950A90-745D-E511-92FD-02163E011C5D.root set InputLHCRawGRun2 = root://eoscms.cern.ch//eos/cms/store/data/Run2016B/JetHT/RAW/v1/000/272/762/00000/C666CDE2-E013-E611-B15A-02163E011DBE.root -set InputLHCRawGRun3 = root://eoscms.cern.ch//eos/cms/store/data/Run2018D/EphemeralHLTPhysics1/RAW/v1/000/323/775/00000/2E066536-5CF2-B340-A73B-209640F29FF6.root +set InputLHCRawGRun3 = root://eoscms.cern.ch//eos/cms/store/data/Commissioning2021/MinimumBias1/RAW/v1/000/346/304/00000/0949cd03-66a6-4034-a630-b9fef4dde3d2.root set InputLHCRawHIon1 = root://eoscms.cern.ch//eos/cms/store/hidata/HIRun2015/HIHardProbes/RAW-RECO/HighPtJet-PromptReco-v1/000/263/689/00000/1802CD9A-DDB8-E511-9CF9-02163E0138CA.root #et InputLHCRawHIon3 = root://eoscms.cern.ch//eos/cms/store/hidata/HIRun2018A/HIHardProbes/RAW/v1/000/326/479/00000/853DBE29-53BA-9A44-9FDD-58E4E9064EB1.root -set InputLHCRawHIon3 = root://eoscms.cern.ch//eos/cms/store/data/Run2018D/HIMinimumBias0/RAW/v1/000/325/112/00000/660F62BB-9932-D645-A4A4-0BBBDA3963E8.root +set InputLHCRawHIon3 = root://eoscms.cern.ch//eos/cms/store/data/Commissioning2021/MinimumBias1/RAW/v1/000/346/304/00000/0949cd03-66a6-4034-a630-b9fef4dde3d2.root set InputLHCRawPIon2 = $InputLHCRawGRun2 set InputLHCRawPRef2 = $InputLHCRawGRun2 set InputLHCRawPIon3 = $InputLHCRawGRun3 @@ -253,28 +253,17 @@ foreach gtag ( MC DATA ) continue endif - ## Force CTPPSRun2Geometry if running on Run-2 data using Run3 modifier - if ( $gtag == DATA && ( $Era == $EraRun3HI || $Era == $EraRun3pp) ) then - set Custom = "HLTrigger/Configuration/CustomConfigs.CTPPSRun2Geometry" - endif - if ( $gtag == DATA ) then echo echo "Creating L1RePack $name" if ( $table == HIon ) then - cmsDriver.py RelVal --step=$L1REPACK --conditions=$GTAG --filein=$InputLHCRaw --custom_conditions=$XL1T --fileout=RelVal_L1RePack_$name.root --number=$NN $DATAMC --no_exec --datatier 'GEN-SIM-DIGI-RAW' --eventcontent=RAW --customise=HLTrigger/Configuration/CustomConfigs.L1T $Era --customise=$Custom --scenario=$SCEN --python_filename=RelVal_L1RePack_$name.py --customise=L1Trigger/Configuration/L1Trigger_custom.customiseResetPrescalesAndMasks --customise_commands='from FWCore.ParameterSet.MassReplace import massSearchReplaceAnyInputTag; massSearchReplaceAnyInputTag(process.SimL1Emulator,"rawDataCollector","rawDataRepacker",False,True)' + cmsDriver.py RelVal --step=$L1REPACK --conditions=$GTAG --filein=$InputLHCRaw --custom_conditions=$XL1T --fileout=RelVal_L1RePack_$name.root --number=$NN $DATAMC --no_exec --datatier 'GEN-SIM-DIGI-RAW' --eventcontent=RAW --customise=HLTrigger/Configuration/CustomConfigs.L1T $Era --customise=$Custom --scenario=$SCEN --python_filename=RelVal_L1RePack_$name.py --customise=L1Trigger/Configuration/L1Trigger_custom.customiseResetPrescalesAndMasks #--customise_commands='from FWCore.ParameterSet.MassReplace import massSearchReplaceAnyInputTag; massSearchReplaceAnyInputTag(process.SimL1Emulator,"rawDataCollector","rawDataRepacker",False,True)' else cmsDriver.py RelVal --step=$L1REPACK --conditions=$GTAG --filein=$InputLHCRaw --custom_conditions=$XL1T --fileout=RelVal_L1RePack_$name.root --number=$NN $DATAMC --no_exec --datatier 'GEN-SIM-DIGI-RAW' --eventcontent=RAW --customise=HLTrigger/Configuration/CustomConfigs.L1T $Era --customise=$Custom --scenario=$SCEN --python_filename=RelVal_L1RePack_$name.py --customise=L1Trigger/Configuration/L1Trigger_custom.customiseResetPrescalesAndMasks endif - cat >>RelVal_L1RePack_$name.py< Date: Tue, 23 Nov 2021 11:09:28 -0600 Subject: [PATCH 128/268] Add LCT Type plot to the CSC TP validation --- .../python/cscDigiValidation_cfi.py | 8 ++++---- .../src/CSCCorrelatedLCTDigiValidation.cc | 17 +++++++++++++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Validation/MuonCSCDigis/python/cscDigiValidation_cfi.py b/Validation/MuonCSCDigis/python/cscDigiValidation_cfi.py index bf5b6a176b58e..6e95b916cc90c 100644 --- a/Validation/MuonCSCDigis/python/cscDigiValidation_cfi.py +++ b/Validation/MuonCSCDigis/python/cscDigiValidation_cfi.py @@ -48,14 +48,14 @@ preclctMaxBin = cms.vdouble(7, 224, 16), lctVars = cms.vstring( # For Run-2 eras - "quality", "wiregroup", "halfstrip", "pattern", "bend", "bx", + "quality", "wiregroup", "halfstrip", "pattern", "bend", "bx", "type", # Added in Run-3 eras # The quartstripbit and eighthstripbit are left out to prevent # too many plots being created by the release validation "quartstrip", "eighthstrip", "run3pattern", "slope"), - lctNBin = cms.vuint32(16, 116, 224, 16, 2, 16, 448, 896, 5, 16), - lctMinBin = cms.vdouble(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - lctMaxBin = cms.vdouble(16, 116, 224, 16, 2, 16, 448, 896, 5, 16), + lctNBin = cms.vuint32(16, 116, 224, 16, 2, 16, 8, 448, 896, 5, 16), + lctMinBin = cms.vdouble(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + lctMaxBin = cms.vdouble(16, 116, 224, 16, 2, 16, 8, 448, 896, 5, 16), isRun3 = cms.bool(False), ) diff --git a/Validation/MuonCSCDigis/src/CSCCorrelatedLCTDigiValidation.cc b/Validation/MuonCSCDigis/src/CSCCorrelatedLCTDigiValidation.cc index c609e959b5caa..9a1849533e7b1 100644 --- a/Validation/MuonCSCDigis/src/CSCCorrelatedLCTDigiValidation.cc +++ b/Validation/MuonCSCDigis/src/CSCCorrelatedLCTDigiValidation.cc @@ -47,7 +47,7 @@ void CSCCorrelatedLCTDigiValidation::bookHistograms(DQMStore::IBooker &iBooker) // do not analyze Run-3 properties in Run-1 and Run-2 eras if (!isRun3_) { - lctVars_.resize(6); + lctVars_.resize(7); } // chamber type @@ -58,7 +58,7 @@ void CSCCorrelatedLCTDigiValidation::bookHistograms(DQMStore::IBooker &iBooker) // lct variable for (unsigned iVar = 0; iVar < lctVars_.size(); iVar++) { if (std::find(chambersRun3_.begin(), chambersRun3_.end(), iType) == chambersRun3_.end()) { - if (iVar > 5) + if (iVar > 6) continue; } const std::string key("lct_" + lctVars_[iVar]); @@ -68,6 +68,18 @@ void CSCCorrelatedLCTDigiValidation::bookHistograms(DQMStore::IBooker &iBooker) chamberHistos[iTypeCorrected][key] = iBooker.book1D(histName, histTitle, lctNBin_[iVar], lctMinBin_[iVar], lctMaxBin_[iVar]); chamberHistos[iTypeCorrected][key]->getTH1()->SetMinimum(0); + // set bin labels for the "type" plot. very useful in ME1/1 and ME2/1 + // when the GEM-CSC ILTs will be running + if (lctVars_[iVar] == "type") { + chamberHistos[iTypeCorrected][key]->setBinLabel(1, "CLCTALCT", 1); + chamberHistos[iTypeCorrected][key]->setBinLabel(2, "ALCTCLCT", 1); + chamberHistos[iTypeCorrected][key]->setBinLabel(3, "ALCTCLCTGEM", 1); + chamberHistos[iTypeCorrected][key]->setBinLabel(4, "ALCTCLCT2GEM", 1); + chamberHistos[iTypeCorrected][key]->setBinLabel(5, "ALCT2GEM", 1); + chamberHistos[iTypeCorrected][key]->setBinLabel(6, "CLCT2GEM", 1); + chamberHistos[iTypeCorrected][key]->setBinLabel(7, "CLCTONLY", 1); + chamberHistos[iTypeCorrected][key]->setBinLabel(8, "ALCTONLY", 1); + } } } } @@ -102,6 +114,7 @@ void CSCCorrelatedLCTDigiValidation::analyze(const edm::Event &e, const edm::Eve chamberHistos[typeCorrected]["lct_halfstrip"]->Fill(lct->getStrip()); chamberHistos[typeCorrected]["lct_bend"]->Fill(lct->getBend()); chamberHistos[typeCorrected]["lct_bx"]->Fill(lct->getBX()); + chamberHistos[typeCorrected]["lct_type"]->Fill(lct->getType()); if (isRun3_) { // ignore these fields for chambers that do not enable the Run-3 algorithm if (std::find(chambersRun3_.begin(), chambersRun3_.end(), chamberType - 2) == chambersRun3_.end()) From 312a6bac7d1eac609f177114bd8e11c948d9f9ba Mon Sep 17 00:00:00 2001 From: Markus Seidel Date: Tue, 23 Nov 2021 19:08:36 +0100 Subject: [PATCH 129/268] Apply Slava's suggestions, fix plot for peak in BX+1 --- RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py | 2 +- RecoLocalCalo/HcalRecAlgos/test/plotMahi.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py b/RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py index 7214df0c2c895..aed887b8a4b62 100644 --- a/RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py +++ b/RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py @@ -8,4 +8,4 @@ timeSigmaHPD = method2.m2Parameters.timeSigmaHPD, timeSigmaSiPM = method2.m2Parameters.timeSigmaSiPM), mahi.mahiParameters, - recoLabel = cms.InputTag('hbheprereco@cpu')) + recoLabel = cms.InputTag('hbheprereco')) diff --git a/RecoLocalCalo/HcalRecAlgos/test/plotMahi.py b/RecoLocalCalo/HcalRecAlgos/test/plotMahi.py index 9968e52604c76..b70811c612af5 100755 --- a/RecoLocalCalo/HcalRecAlgos/test/plotMahi.py +++ b/RecoLocalCalo/HcalRecAlgos/test/plotMahi.py @@ -69,7 +69,7 @@ stack.Add(hists[i]) hists['digi'].GetXaxis().SetRangeUser(-0.5, 7.5) - hists['digi'].GetYaxis().SetRangeUser(0, hists['digi'].GetBinContent(4)*1.5) + hists['digi'].GetYaxis().SetRangeUser(0, max(hists['digi'].GetBinContent(4), hists['digi'].GetBinContent(5))*1.5) hists['digi'].Draw('P0') stack.Draw('same') hists['digi'].Draw('P0,same') @@ -101,4 +101,4 @@ c.Print(plotdir+'/'+str(rh.run)+'_'+str(rh.evt)+'_'+str(rh.ieta)+'_'+str(rh.iphi)+'_'+str(rh.depth)+tag+'.pdf') c.Print(plotdir+'/'+str(rh.run)+'_'+str(rh.evt)+'_'+str(rh.ieta)+'_'+str(rh.iphi)+'_'+str(rh.depth)+tag+'.png') - count += 1 \ No newline at end of file + count += 1 From f7b18870a97b1c5cb99c3fe91b4ff565252fe062 Mon Sep 17 00:00:00 2001 From: hyunyong Date: Tue, 16 Nov 2021 21:29:16 +0100 Subject: [PATCH 130/268] rebase --- .../interface/MuonAlignmentInputDB.h | 6 +++--- .../plugins/MuonGeometryDBConverter.cc | 20 ++++++++++++++++++- .../MuonAlignment/src/MuonAlignmentInputDB.cc | 6 +++--- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/Alignment/MuonAlignment/interface/MuonAlignmentInputDB.h b/Alignment/MuonAlignment/interface/MuonAlignmentInputDB.h index 19db1d959c756..728b160491714 100644 --- a/Alignment/MuonAlignment/interface/MuonAlignmentInputDB.h +++ b/Alignment/MuonAlignment/interface/MuonAlignmentInputDB.h @@ -41,10 +41,10 @@ class MuonAlignmentInputDB : public MuonAlignmentInputMethod { const Alignments* dtAlignments, const Alignments* cscAlignments, const Alignments* gemAlignments, - const Alignments* globalPositionRcd, const AlignmentErrorsExtended* dtAlignmentErrorsExtended, const AlignmentErrorsExtended* cscAlignmentErrorsExtended, - const AlignmentErrorsExtended* gemAlignmentErrorsExtended); + const AlignmentErrorsExtended* gemAlignmentErrorsExtended, + const Alignments* globalPositionRcd); ~MuonAlignmentInputDB() override; // ---------- const member functions --------------------- @@ -67,10 +67,10 @@ class MuonAlignmentInputDB : public MuonAlignmentInputMethod { const Alignments* dtAlignments_; const Alignments* cscAlignments_; const Alignments* gemAlignments_; - const Alignments* globalPositionRcd_; const AlignmentErrorsExtended* dtAlignmentErrorsExtended_; const AlignmentErrorsExtended* cscAlignmentErrorsExtended_; const AlignmentErrorsExtended* gemAlignmentErrorsExtended_; + const Alignments* globalPositionRcd_; const bool m_getAPEs; }; diff --git a/Alignment/MuonAlignment/plugins/MuonGeometryDBConverter.cc b/Alignment/MuonAlignment/plugins/MuonGeometryDBConverter.cc index 580b99e1e4774..b0ed1e6e198a3 100644 --- a/Alignment/MuonAlignment/plugins/MuonGeometryDBConverter.cc +++ b/Alignment/MuonAlignment/plugins/MuonGeometryDBConverter.cc @@ -56,7 +56,7 @@ class MuonGeometryDBConverter : public edm::one::EDAnalyzer<> { bool m_done; std::string m_input, m_output; - std::string m_dtLabel, m_cscLabel, m_gemLabel; + std::string m_dtLabel, m_cscLabel, m_gemLabel, m_dtAPELabel, m_cscAPELabel, m_gemAPELabel; double m_shiftErr, m_angleErr; std::string m_fileName; bool m_getAPEs; @@ -76,6 +76,11 @@ class MuonGeometryDBConverter : public edm::one::EDAnalyzer<> { edm::ESGetToken dtAliToken_; edm::ESGetToken cscAliToken_; edm::ESGetToken gemAliToken_; + + edm::ESGetToken dtAPEToken_; + edm::ESGetToken cscAPEToken_; + edm::ESGetToken gemAPEToken_; + const edm::ESGetToken gprToken_; }; @@ -116,6 +121,9 @@ MuonGeometryDBConverter::MuonGeometryDBConverter(const edm::ParameterSet &iConfi m_dtLabel = iConfig.getParameter("dtLabel"); m_cscLabel = iConfig.getParameter("cscLabel"); m_gemLabel = iConfig.getParameter("gemLabel"); + m_dtAPELabel = iConfig.getParameter("dtAPELabel"); + m_cscAPELabel = iConfig.getParameter("cscAPELabel"); + m_gemAPELabel = iConfig.getParameter("gemAPELabel"); m_shiftErr = iConfig.getParameter("shiftErr"); m_angleErr = iConfig.getParameter("angleErr"); m_getAPEs = iConfig.getParameter("getAPEs"); @@ -125,6 +133,10 @@ MuonGeometryDBConverter::MuonGeometryDBConverter(const edm::ParameterSet &iConfi cscAliToken_ = esConsumes(edm::ESInputTag("", m_cscLabel)); gemAliToken_ = esConsumes(edm::ESInputTag("", m_gemLabel)); + dtAPEToken_ = esConsumes(edm::ESInputTag("", m_dtAPELabel)); + cscAPEToken_ = esConsumes(edm::ESInputTag("", m_cscAPELabel)); + gemAPEToken_ = esConsumes(edm::ESInputTag("", m_gemAPELabel)); + dtGeomToken_ = esConsumes(edm::ESInputTag("", idealGeometryLabelForInputXML)); cscGeomToken_ = esConsumes(edm::ESInputTag("", idealGeometryLabelForInputXML)); gemGeomToken_ = esConsumes(edm::ESInputTag("", idealGeometryLabelForInputXML)); @@ -173,6 +185,9 @@ void MuonGeometryDBConverter::analyze(const edm::Event &iEvent, const edm::Event &iSetup.getData(dtAliToken_), &iSetup.getData(cscAliToken_), &iSetup.getData(gemAliToken_), + &iSetup.getData(dtAPEToken_), + &iSetup.getData(cscAPEToken_), + &iSetup.getData(gemAPEToken_), &iSetup.getData(gprToken_)); MuonAlignment *muonAlignment = new MuonAlignment(iSetup, inputMethod); if (m_getAPEs) { @@ -216,6 +231,9 @@ void MuonGeometryDBConverter::fillDescriptions(edm::ConfigurationDescriptions &d desc.add("dtLabel", ""); desc.add("cscLabel", ""); desc.add("gemLabel", ""); + desc.add("dtAPELabel", ""); + desc.add("cscAPELabel", ""); + desc.add("gemAPELabel", ""); desc.add("shiftErr", 1000.0); desc.add("angleErr", 6.28); desc.add("getAPEs", true); diff --git a/Alignment/MuonAlignment/src/MuonAlignmentInputDB.cc b/Alignment/MuonAlignment/src/MuonAlignmentInputDB.cc index 1986b68bbf6a3..cc403072d5b7d 100644 --- a/Alignment/MuonAlignment/src/MuonAlignmentInputDB.cc +++ b/Alignment/MuonAlignment/src/MuonAlignmentInputDB.cc @@ -58,20 +58,20 @@ MuonAlignmentInputDB::MuonAlignmentInputDB(const DTGeometry* dtGeometry, const Alignments* dtAlignments, const Alignments* cscAlignments, const Alignments* gemAlignments, - const Alignments* globalPositionRcd, const AlignmentErrorsExtended* dtAlignmentErrorsExtended, const AlignmentErrorsExtended* cscAlignmentErrorsExtended, - const AlignmentErrorsExtended* gemAlignmentErrorsExtended) + const AlignmentErrorsExtended* gemAlignmentErrorsExtended, + const Alignments* globalPositionRcd) : dtGeometry_(dtGeometry), cscGeometry_(cscGeometry), gemGeometry_(gemGeometry), dtAlignments_(dtAlignments), cscAlignments_(cscAlignments), gemAlignments_(gemAlignments), - globalPositionRcd_(globalPositionRcd), dtAlignmentErrorsExtended_(dtAlignmentErrorsExtended), cscAlignmentErrorsExtended_(cscAlignmentErrorsExtended), gemAlignmentErrorsExtended_(gemAlignmentErrorsExtended), + globalPositionRcd_(globalPositionRcd), m_getAPEs(true) {} // MuonAlignmentInputDB::MuonAlignmentInputDB(const MuonAlignmentInputDB& rhs) From 995b66505fb7da18bbd99f2fdb71fc047e73bfb3 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Tue, 23 Nov 2021 14:40:38 -0600 Subject: [PATCH 131/268] Add 2D CSC TPG summary plots for DQM --- DQM/L1TMonitor/interface/L1TdeCSCTPG.h | 33 +- DQM/L1TMonitor/python/L1TdeCSCTPG_cfi.py | 5 + DQM/L1TMonitor/src/L1TdeCSCTPG.cc | 696 ++++++++++++------ .../interface/L1TdeCSCTPGClient.h | 10 +- DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc | 238 ++++-- 5 files changed, 658 insertions(+), 324 deletions(-) diff --git a/DQM/L1TMonitor/interface/L1TdeCSCTPG.h b/DQM/L1TMonitor/interface/L1TdeCSCTPG.h index 2f1e0bc0918e5..6a1645c92ff14 100644 --- a/DQM/L1TMonitor/interface/L1TdeCSCTPG.h +++ b/DQM/L1TMonitor/interface/L1TdeCSCTPG.h @@ -23,13 +23,9 @@ class L1TdeCSCTPG : public DQMEDAnalyzer { void analyze(const edm::Event&, const edm::EventSetup&) override; private: - // CLCTs and LCTs are considered duplicates if there is an earlier copy - bool isDuplicateCLCT(const CSCCLCTDigi& clct, const std::vector& container) const; - bool isDuplicateLCT(const CSCCorrelatedLCTDigi& lct, const std::vector& container) const; - - // all properties are the same, except for the BX which is off by +1 - bool isCLCTOffByOneBX(const CSCCLCTDigi& lhs, const CSCCLCTDigi& rhs) const; - bool isLCTOffByOneBX(const CSCCorrelatedLCTDigi& lhs, const CSCCorrelatedLCTDigi& rhs) const; + // customized equality function + bool areSameCLCTs(const CSCCLCTDigi& lhs, const CSCCLCTDigi& rhs) const; + bool areSameLCTs(const CSCCorrelatedLCTDigi& lhs, const CSCCorrelatedLCTDigi& rhs) const; edm::EDGetTokenT dataALCT_token_; edm::EDGetTokenT emulALCT_token_; @@ -61,7 +57,7 @@ class L1TdeCSCTPG : public DQMEDAnalyzer { /* When set to True, we assume that the data comes from the Building 904 CSC test-stand. This test-stand is a single - ME1/1 chamber or ME4/2 chamber. + ME1/1 chamber, ME2/1, or ME4/2 chamber. */ bool useB904_; bool useB904ME11_; @@ -69,6 +65,12 @@ class L1TdeCSCTPG : public DQMEDAnalyzer { bool useB904ME234s2_; bool isRun3_; + /* + By default the DQM will make 2D summary plots. Do you also want + the very large number of 1D plots? Would recommend to keep it to + true so that it may help in the debugging process (S.D.) + */ + bool make1DPlots_; // check the data CLCTs and emul CLCTs against emul preCLCTs bool preTriggerAnalysis_; @@ -76,6 +78,21 @@ class L1TdeCSCTPG : public DQMEDAnalyzer { // first key is the chamber number // second key is the variable std::map > chamberHistos; + + // 2D plots + MonitorElement* lctDataSummary_denom_; + MonitorElement* lctDataSummary_num_; + MonitorElement* alctDataSummary_denom_; + MonitorElement* alctDataSummary_num_; + MonitorElement* clctDataSummary_denom_; + MonitorElement* clctDataSummary_num_; + + MonitorElement* lctEmulSummary_denom_; + MonitorElement* lctEmulSummary_num_; + MonitorElement* alctEmulSummary_denom_; + MonitorElement* alctEmulSummary_num_; + MonitorElement* clctEmulSummary_denom_; + MonitorElement* clctEmulSummary_num_; }; #endif diff --git a/DQM/L1TMonitor/python/L1TdeCSCTPG_cfi.py b/DQM/L1TMonitor/python/L1TdeCSCTPG_cfi.py index c7c91ecc0f514..6304c4c822e49 100644 --- a/DQM/L1TMonitor/python/L1TdeCSCTPG_cfi.py +++ b/DQM/L1TMonitor/python/L1TdeCSCTPG_cfi.py @@ -28,10 +28,15 @@ lctNBin = cms.vuint32(16, 116, 224, 16, 2, 448, 896, 5, 16, 2, 2), lctMinBin = cms.vdouble(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), lctMaxBin = cms.vdouble(16, 116, 224, 16, 2, 448, 896, 5, 16, 2, 2), + # options when running on test data from the B904 test-stands useB904ME11 = cms.bool(False), useB904ME21 = cms.bool(False), useB904ME234s2 = cms.bool(False), isRun3 = cms.bool(False), + # B y default the DQM will make 2D summary plots. Do you also want + # the very large number of 1D plots? Would recommend to keep it to + # true so that it may help in the debugging process (S.D.) + make1DPlots = cms.bool(True), preTriggerAnalysis = cms.bool(False) ) diff --git a/DQM/L1TMonitor/src/L1TdeCSCTPG.cc b/DQM/L1TMonitor/src/L1TdeCSCTPG.cc index 0e3a9a9798536..58309babacb6c 100644 --- a/DQM/L1TMonitor/src/L1TdeCSCTPG.cc +++ b/DQM/L1TMonitor/src/L1TdeCSCTPG.cc @@ -1,6 +1,7 @@ #include #include "DQM/L1TMonitor/interface/L1TdeCSCTPG.h" +#include "DataFormats/MuonDetId/interface/CSCTriggerNumbering.h" L1TdeCSCTPG::L1TdeCSCTPG(const edm::ParameterSet& ps) : dataALCT_token_(consumes(ps.getParameter("dataALCT"))), @@ -30,10 +31,12 @@ L1TdeCSCTPG::L1TdeCSCTPG(const edm::ParameterSet& ps) alctMaxBin_(ps.getParameter>("alctMaxBin")), clctMaxBin_(ps.getParameter>("clctMaxBin")), lctMaxBin_(ps.getParameter>("lctMaxBin")), + // options for test stands at B904 useB904ME11_(ps.getParameter("useB904ME11")), useB904ME21_(ps.getParameter("useB904ME21")), useB904ME234s2_(ps.getParameter("useB904ME234s2")), isRun3_(ps.getParameter("isRun3")), + make1DPlots_(ps.getParameter("make1DPlots")), preTriggerAnalysis_(ps.getParameter("preTriggerAnalysis")) { useB904_ = useB904ME11_ or useB904ME21_ or useB904ME234s2_; } @@ -70,41 +73,126 @@ void L1TdeCSCTPG::bookHistograms(DQMStore::IBooker& iBooker, const edm::Run&, co lctVars_.resize(5); } - // chamber type - for (unsigned iType = 0; iType < chambers_.size(); iType++) { - // data vs emulator - for (unsigned iData = 0; iData < dataEmul_.size(); iData++) { - // alct variable - for (unsigned iVar = 0; iVar < alctVars_.size(); iVar++) { - const std::string key("alct_" + alctVars_[iVar] + "_" + dataEmul_[iData]); - const std::string histName(key + "_" + chambers_[iType]); - const std::string histTitle(chambers_[iType] + " ALCT " + alctVars_[iVar] + " (" + dataEmul_[iData] + ") "); - chamberHistos[iType][key] = - iBooker.book1D(histName, histTitle, alctNBin_[iVar], alctMinBin_[iVar], alctMaxBin_[iVar]); - chamberHistos[iType][key]->getTH1()->SetMinimum(0); - } + // 1D plots for experts + if (useB904ME11_ or useB904ME21_ or useB904ME234s2_ or make1DPlots_) { + // chamber type + for (unsigned iType = 0; iType < chambers_.size(); iType++) { + // data vs emulator + for (unsigned iData = 0; iData < dataEmul_.size(); iData++) { + // alct variable + for (unsigned iVar = 0; iVar < alctVars_.size(); iVar++) { + const std::string key("alct_" + alctVars_[iVar] + "_" + dataEmul_[iData]); + const std::string histName(key + "_" + chambers_[iType]); + const std::string histTitle(chambers_[iType] + " ALCT " + alctVars_[iVar] + " (" + dataEmul_[iData] + ") "); + chamberHistos[iType][key] = + iBooker.book1D(histName, histTitle, alctNBin_[iVar], alctMinBin_[iVar], alctMaxBin_[iVar]); + chamberHistos[iType][key]->getTH1()->SetMinimum(0); + } - // clct variable - for (unsigned iVar = 0; iVar < clctVars_.size(); iVar++) { - const std::string key("clct_" + clctVars_[iVar] + "_" + dataEmul_[iData]); - const std::string histName(key + "_" + chambers_[iType]); - const std::string histTitle(chambers_[iType] + " CLCT " + clctVars_[iVar] + " (" + dataEmul_[iData] + ") "); - chamberHistos[iType][key] = - iBooker.book1D(histName, histTitle, clctNBin_[iVar], clctMinBin_[iVar], clctMaxBin_[iVar]); - chamberHistos[iType][key]->getTH1()->SetMinimum(0); - } + // clct variable + for (unsigned iVar = 0; iVar < clctVars_.size(); iVar++) { + const std::string key("clct_" + clctVars_[iVar] + "_" + dataEmul_[iData]); + const std::string histName(key + "_" + chambers_[iType]); + const std::string histTitle(chambers_[iType] + " CLCT " + clctVars_[iVar] + " (" + dataEmul_[iData] + ") "); + chamberHistos[iType][key] = + iBooker.book1D(histName, histTitle, clctNBin_[iVar], clctMinBin_[iVar], clctMaxBin_[iVar]); + chamberHistos[iType][key]->getTH1()->SetMinimum(0); + } - // lct variable - for (unsigned iVar = 0; iVar < lctVars_.size(); iVar++) { - const std::string key("lct_" + lctVars_[iVar] + "_" + dataEmul_[iData]); - const std::string histName(key + "_" + chambers_[iType]); - const std::string histTitle(chambers_[iType] + " LCT " + lctVars_[iVar] + " (" + dataEmul_[iData] + ") "); - chamberHistos[iType][key] = - iBooker.book1D(histName, histTitle, lctNBin_[iVar], lctMinBin_[iVar], lctMaxBin_[iVar]); - chamberHistos[iType][key]->getTH1()->SetMinimum(0); + // lct variable + for (unsigned iVar = 0; iVar < lctVars_.size(); iVar++) { + const std::string key("lct_" + lctVars_[iVar] + "_" + dataEmul_[iData]); + const std::string histName(key + "_" + chambers_[iType]); + const std::string histTitle(chambers_[iType] + " LCT " + lctVars_[iVar] + " (" + dataEmul_[iData] + ") "); + chamberHistos[iType][key] = + iBooker.book1D(histName, histTitle, lctNBin_[iVar], lctMinBin_[iVar], lctMaxBin_[iVar]); + chamberHistos[iType][key]->getTH1()->SetMinimum(0); + } } } } + + // 2D summary plots + + // These plots are for showing the efficiency that the unpacked data are being correctly emulated (having a emulated data counterpart) + lctDataSummary_denom_ = iBooker.book2D("lct_csctp_data_summary_denom", "LCT Summary", 36, 1, 37, 18, 0, 18); + lctDataSummary_num_ = iBooker.book2D("lct_csctp_data_summary_num", "LCT Summary", 36, 1, 37, 18, 0, 18); + alctDataSummary_denom_ = iBooker.book2D("alct_csctp_data_summary_denom", "ALCT Summary", 36, 1, 37, 18, 0, 18); + alctDataSummary_num_ = iBooker.book2D("alct_csctp_data_summary_num", "ALCT Summary", 36, 1, 37, 18, 0, 18); + clctDataSummary_denom_ = iBooker.book2D("clct_csctp_data_summary_denom", "CLCT Summary", 36, 1, 37, 18, 0, 18); + clctDataSummary_num_ = iBooker.book2D("clct_csctp_data_summary_num", "CLCT Summary", 36, 1, 37, 18, 0, 18); + + // These plots are for showing the fraction of emulated data that does not have counterparts in the unpacked data + lctEmulSummary_denom_ = iBooker.book2D("lct_csctp_emul_summary_denom", "LCT Summary", 36, 1, 37, 18, 0, 18); + lctEmulSummary_num_ = iBooker.book2D("lct_csctp_emul_summary_num", "LCT Summary", 36, 1, 37, 18, 0, 18); + alctEmulSummary_denom_ = iBooker.book2D("alct_csctp_emul_summary_denom", "ALCT Summary", 36, 1, 37, 18, 0, 18); + alctEmulSummary_num_ = iBooker.book2D("alct_csctp_emul_summary_num", "ALCT Summary", 36, 1, 37, 18, 0, 18); + clctEmulSummary_denom_ = iBooker.book2D("clct_csctp_emul_summary_denom", "CLCT Summary", 36, 1, 37, 18, 0, 18); + clctEmulSummary_num_ = iBooker.book2D("clct_csctp_emul_summary_num", "CLCT Summary", 36, 1, 37, 18, 0, 18); + + // x labels + lctDataSummary_denom_->setAxisTitle("Chamber", 1); + lctDataSummary_num_->setAxisTitle("Chamber", 1); + alctDataSummary_denom_->setAxisTitle("Chamber", 1); + alctDataSummary_num_->setAxisTitle("Chamber", 1); + clctDataSummary_denom_->setAxisTitle("Chamber", 1); + clctDataSummary_num_->setAxisTitle("Chamber", 1); + + lctEmulSummary_denom_->setAxisTitle("Chamber", 1); + lctEmulSummary_num_->setAxisTitle("Chamber", 1); + alctEmulSummary_denom_->setAxisTitle("Chamber", 1); + alctEmulSummary_num_->setAxisTitle("Chamber", 1); + clctEmulSummary_denom_->setAxisTitle("Chamber", 1); + clctEmulSummary_num_->setAxisTitle("Chamber", 1); + + // plotting option + lctDataSummary_denom_->setOption("colz"); + lctDataSummary_num_->setOption("colz"); + alctDataSummary_denom_->setOption("colz"); + alctDataSummary_num_->setOption("colz"); + clctDataSummary_denom_->setOption("colz"); + clctDataSummary_num_->setOption("colz"); + + lctEmulSummary_denom_->setOption("colz"); + lctEmulSummary_num_->setOption("colz"); + alctEmulSummary_denom_->setOption("colz"); + alctEmulSummary_num_->setOption("colz"); + clctEmulSummary_denom_->setOption("colz"); + clctEmulSummary_num_->setOption("colz"); + + // summary plots + const std::array suffix_label{{"4/2", "4/1", "3/2", "3/1", " 2/2", "2/1", "1/3", "1/2", "1/1"}}; + + // y labels + for (int ybin = 1; ybin <= 9; ++ybin) { + lctDataSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + lctDataSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + alctDataSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + alctDataSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + clctDataSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + clctDataSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + + lctEmulSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + lctEmulSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + alctEmulSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + alctEmulSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + clctEmulSummary_denom_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + clctEmulSummary_num_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + + lctDataSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + lctDataSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + alctDataSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + alctDataSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + clctDataSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + clctDataSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + + lctEmulSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + lctEmulSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + alctEmulSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + alctEmulSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + clctEmulSummary_denom_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + clctEmulSummary_num_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + } } void L1TdeCSCTPG::analyze(const edm::Event& e, const edm::EventSetup& c) { @@ -127,266 +215,394 @@ void L1TdeCSCTPG::analyze(const edm::Event& e, const edm::EventSetup& c) { if (useB904_) e.getByToken(emulpreCLCT_token_, emulpreCLCTs); - for (auto it = dataALCTs->begin(); it != dataALCTs->end(); it++) { - auto range = dataALCTs->get((*it).first); - const CSCDetId& detid((*it).first); - int type = ((*it).first).iChamberType() - 2; - // ignore non-ME1/1 chambers when using B904 test-stand data - if (useB904ME11_ and !(detid.isME11())) - continue; - if (useB904ME21_ and !(detid.isME21())) - continue; - if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) - continue; - // to prevent crashes because you are booking histos for single b904 chamber - if (useB904ME234s2_ or useB904ME21_) - type = 0; - for (auto alct = range.first; alct != range.second; alct++) { - if (alct->isValid()) { - chamberHistos[type]["alct_quality_data"]->Fill(alct->getQuality()); - chamberHistos[type]["alct_wiregroup_data"]->Fill(alct->getKeyWG()); - chamberHistos[type]["alct_bx_data"]->Fill(alct->getBX()); + // 1D plots for experts + if (useB904ME11_ or useB904ME21_ or useB904ME234s2_ or make1DPlots_) { + for (auto it = dataALCTs->begin(); it != dataALCTs->end(); it++) { + auto range = dataALCTs->get((*it).first); + const CSCDetId& detid((*it).first); + int type = ((*it).first).iChamberType() - 2; + // ignore non-ME1/1 chambers when using B904 test-stand data + if (useB904ME11_ and !(detid.isME11())) + continue; + if (useB904ME21_ and !(detid.isME21())) + continue; + if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) + continue; + // to prevent crashes because you are booking histos for single b904 chamber + if (useB904ME234s2_ or useB904ME21_) + type = 0; + for (auto alct = range.first; alct != range.second; alct++) { + if (alct->isValid()) { + chamberHistos[type]["alct_quality_data"]->Fill(alct->getQuality()); + chamberHistos[type]["alct_wiregroup_data"]->Fill(alct->getKeyWG()); + chamberHistos[type]["alct_bx_data"]->Fill(alct->getBX()); + } } } - } - for (auto it = emulALCTs->begin(); it != emulALCTs->end(); it++) { - auto range = emulALCTs->get((*it).first); - const CSCDetId& detid((*it).first); - int type = ((*it).first).iChamberType() - 2; - // ignore non-ME1/1 chambers when using B904 test-stand data - if (useB904ME11_ and !(detid.isME11())) - continue; - if (useB904ME21_ and !(detid.isME21())) - continue; - if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) - continue; - // to prevent crashes because you are booking histos for single b904 chamber - if (useB904ME234s2_ or useB904ME21_) - type = 0; - for (auto alct = range.first; alct != range.second; alct++) { - if (alct->isValid()) { - chamberHistos[type]["alct_quality_emul"]->Fill(alct->getQuality()); - chamberHistos[type]["alct_wiregroup_emul"]->Fill(alct->getKeyWG()); - chamberHistos[type]["alct_bx_emul"]->Fill(alct->getBX()); + for (auto it = emulALCTs->begin(); it != emulALCTs->end(); it++) { + auto range = emulALCTs->get((*it).first); + const CSCDetId& detid((*it).first); + int type = ((*it).first).iChamberType() - 2; + // ignore non-ME1/1 chambers when using B904 test-stand data + if (useB904ME11_ and !(detid.isME11())) + continue; + if (useB904ME21_ and !(detid.isME21())) + continue; + if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) + continue; + // to prevent crashes because you are booking histos for single b904 chamber + if (useB904ME234s2_ or useB904ME21_) + type = 0; + for (auto alct = range.first; alct != range.second; alct++) { + if (alct->isValid()) { + chamberHistos[type]["alct_quality_emul"]->Fill(alct->getQuality()); + chamberHistos[type]["alct_wiregroup_emul"]->Fill(alct->getKeyWG()); + chamberHistos[type]["alct_bx_emul"]->Fill(alct->getBX()); + } } } - } - // temporary containers for B904 analysis - std::vector tempdata; - std::vector tempemul; - - for (auto it = dataCLCTs->begin(); it != dataCLCTs->end(); it++) { - auto range = dataCLCTs->get((*it).first); - const CSCDetId& detid((*it).first); - int type = ((*it).first).iChamberType() - 2; - // ignore non-ME1/1 chambers when using B904 test-stand data - if (useB904ME11_ and !(detid.isME11())) - continue; - if (useB904ME21_ and !(detid.isME21())) - continue; - if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) - continue; - // to prevent crashes because you are booking histos for single b904 chamber - if (useB904ME234s2_ or useB904ME21_) - type = 0; - for (auto clct = range.first; clct != range.second; clct++) { - if (clct->isValid()) { - if (preTriggerAnalysis_) { - tempdata.push_back(*clct); - } - chamberHistos[type]["clct_pattern_data"]->Fill(clct->getPattern()); - chamberHistos[type]["clct_quality_data"]->Fill(clct->getQuality()); - chamberHistos[type]["clct_halfstrip_data"]->Fill(clct->getKeyStrip()); - chamberHistos[type]["clct_bend_data"]->Fill(clct->getBend()); - if (isRun3_) { - chamberHistos[type]["clct_run3pattern_data"]->Fill(clct->getRun3Pattern()); - chamberHistos[type]["clct_quartstrip_data"]->Fill(clct->getKeyStrip(4)); - chamberHistos[type]["clct_eighthstrip_data"]->Fill(clct->getKeyStrip(8)); - chamberHistos[type]["clct_slope_data"]->Fill(clct->getSlope()); - chamberHistos[type]["clct_compcode_data"]->Fill(clct->getCompCode()); - if (useB904_) { - chamberHistos[type]["clct_quartstripbit_data"]->Fill(clct->getQuartStripBit()); - chamberHistos[type]["clct_eighthstripbit_data"]->Fill(clct->getEighthStripBit()); + // temporary containers for B904 analysis + std::vector tempdata; + std::vector tempemul; + + for (auto it = dataCLCTs->begin(); it != dataCLCTs->end(); it++) { + auto range = dataCLCTs->get((*it).first); + const CSCDetId& detid((*it).first); + int type = ((*it).first).iChamberType() - 2; + // ignore non-ME1/1 chambers when using B904 test-stand data + if (useB904ME11_ and !(detid.isME11())) + continue; + if (useB904ME21_ and !(detid.isME21())) + continue; + if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) + continue; + // to prevent crashes because you are booking histos for single b904 chamber + if (useB904ME234s2_ or useB904ME21_) + type = 0; + for (auto clct = range.first; clct != range.second; clct++) { + if (clct->isValid()) { + if (preTriggerAnalysis_) { + tempdata.push_back(*clct); + } + chamberHistos[type]["clct_pattern_data"]->Fill(clct->getPattern()); + chamberHistos[type]["clct_quality_data"]->Fill(clct->getQuality()); + chamberHistos[type]["clct_halfstrip_data"]->Fill(clct->getKeyStrip()); + chamberHistos[type]["clct_bend_data"]->Fill(clct->getBend()); + if (isRun3_) { + chamberHistos[type]["clct_run3pattern_data"]->Fill(clct->getRun3Pattern()); + chamberHistos[type]["clct_quartstrip_data"]->Fill(clct->getKeyStrip(4)); + chamberHistos[type]["clct_eighthstrip_data"]->Fill(clct->getKeyStrip(8)); + chamberHistos[type]["clct_slope_data"]->Fill(clct->getSlope()); + chamberHistos[type]["clct_compcode_data"]->Fill(clct->getCompCode()); + if (useB904_) { + chamberHistos[type]["clct_quartstripbit_data"]->Fill(clct->getQuartStripBit()); + chamberHistos[type]["clct_eighthstripbit_data"]->Fill(clct->getEighthStripBit()); + } } } } } - } - for (auto it = emulCLCTs->begin(); it != emulCLCTs->end(); it++) { - auto range = emulCLCTs->get((*it).first); - const CSCDetId& detid((*it).first); - int type = ((*it).first).iChamberType() - 2; - // ignore non-ME1/1 chambers when using B904 test-stand data - if (useB904ME11_ and !(detid.isME11())) - continue; - if (useB904ME21_ and !(detid.isME21())) - continue; - if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) - continue; - // to prevent crashes because you are booking histos for single b904 chamber - if (useB904ME234s2_ or useB904ME21_) - type = 0; - for (auto clct = range.first; clct != range.second; clct++) { - if (clct->isValid()) { - if (preTriggerAnalysis_) { - tempemul.push_back(*clct); - } - chamberHistos[type]["clct_pattern_emul"]->Fill(clct->getPattern()); - chamberHistos[type]["clct_quality_emul"]->Fill(clct->getQuality()); - chamberHistos[type]["clct_halfstrip_emul"]->Fill(clct->getKeyStrip()); - chamberHistos[type]["clct_bend_emul"]->Fill(clct->getBend()); - if (isRun3_) { - chamberHistos[type]["clct_run3pattern_emul"]->Fill(clct->getRun3Pattern()); - chamberHistos[type]["clct_quartstrip_emul"]->Fill(clct->getKeyStrip(4)); - chamberHistos[type]["clct_eighthstrip_emul"]->Fill(clct->getKeyStrip(8)); - chamberHistos[type]["clct_slope_emul"]->Fill(clct->getSlope()); - chamberHistos[type]["clct_compcode_emul"]->Fill(clct->getCompCode()); - if (useB904_) { - chamberHistos[type]["clct_quartstripbit_emul"]->Fill(clct->getQuartStripBit()); - chamberHistos[type]["clct_eighthstripbit_emul"]->Fill(clct->getEighthStripBit()); + for (auto it = emulCLCTs->begin(); it != emulCLCTs->end(); it++) { + auto range = emulCLCTs->get((*it).first); + const CSCDetId& detid((*it).first); + int type = ((*it).first).iChamberType() - 2; + // ignore non-ME1/1 chambers when using B904 test-stand data + if (useB904ME11_ and !(detid.isME11())) + continue; + if (useB904ME21_ and !(detid.isME21())) + continue; + if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) + continue; + // to prevent crashes because you are booking histos for single b904 chamber + if (useB904ME234s2_ or useB904ME21_) + type = 0; + for (auto clct = range.first; clct != range.second; clct++) { + if (clct->isValid()) { + if (preTriggerAnalysis_) { + tempemul.push_back(*clct); + } + chamberHistos[type]["clct_pattern_emul"]->Fill(clct->getPattern()); + chamberHistos[type]["clct_quality_emul"]->Fill(clct->getQuality()); + chamberHistos[type]["clct_halfstrip_emul"]->Fill(clct->getKeyStrip()); + chamberHistos[type]["clct_bend_emul"]->Fill(clct->getBend()); + if (isRun3_) { + chamberHistos[type]["clct_run3pattern_emul"]->Fill(clct->getRun3Pattern()); + chamberHistos[type]["clct_quartstrip_emul"]->Fill(clct->getKeyStrip(4)); + chamberHistos[type]["clct_eighthstrip_emul"]->Fill(clct->getKeyStrip(8)); + chamberHistos[type]["clct_slope_emul"]->Fill(clct->getSlope()); + chamberHistos[type]["clct_compcode_emul"]->Fill(clct->getCompCode()); + if (useB904_) { + chamberHistos[type]["clct_quartstripbit_emul"]->Fill(clct->getQuartStripBit()); + chamberHistos[type]["clct_eighthstripbit_emul"]->Fill(clct->getEighthStripBit()); + } } } } } - } - // Pre-trigger analysis - if (preTriggerAnalysis_) { - if (tempdata.size() != tempemul.size()) { - for (auto& clct : tempdata) { - edm::LogWarning("L1TdeCSCTPG") << "data" << clct; - } - for (auto& clct : tempemul) { - edm::LogWarning("L1TdeCSCTPG") << "emul" << clct; - } - for (auto it = emulpreCLCTs->begin(); it != emulpreCLCTs->end(); it++) { - auto range = emulpreCLCTs->get((*it).first); - for (auto clct = range.first; clct != range.second; clct++) { - edm::LogWarning("L1TdeCSCTPG") << "emul pre" << *clct; + // Pre-trigger analysis + if (preTriggerAnalysis_) { + if (tempdata.size() != tempemul.size()) { + for (auto& clct : tempdata) { + edm::LogWarning("L1TdeCSCTPG") << "data" << clct; + } + for (auto& clct : tempemul) { + edm::LogWarning("L1TdeCSCTPG") << "emul" << clct; + } + for (auto it = emulpreCLCTs->begin(); it != emulpreCLCTs->end(); it++) { + auto range = emulpreCLCTs->get((*it).first); + for (auto clct = range.first; clct != range.second; clct++) { + edm::LogWarning("L1TdeCSCTPG") << "emul pre" << *clct; + } } } } - } - for (auto it = dataLCTs->begin(); it != dataLCTs->end(); it++) { - auto range = dataLCTs->get((*it).first); - const CSCDetId& detid((*it).first); - int type = ((*it).first).iChamberType() - 2; - // ignore non-ME1/1 chambers when using B904 test-stand data - if (useB904ME11_ and !(detid.isME11())) - continue; - if (useB904ME21_ and !(detid.isME21())) - continue; - if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) - continue; - // to prevent crashes because you are booking histos for single b904 chamber - if (useB904ME234s2_ or useB904ME21_) - type = 0; - for (auto lct = range.first; lct != range.second; lct++) { - if (lct->isValid()) { - chamberHistos[type]["lct_pattern_data"]->Fill(lct->getPattern()); - chamberHistos[type]["lct_quality_data"]->Fill(lct->getQuality()); - chamberHistos[type]["lct_wiregroup_data"]->Fill(lct->getKeyWG()); - chamberHistos[type]["lct_halfstrip_data"]->Fill(lct->getStrip()); - chamberHistos[type]["lct_bend_data"]->Fill(lct->getBend()); - if (isRun3_) { - chamberHistos[type]["lct_run3pattern_data"]->Fill(lct->getRun3Pattern()); - chamberHistos[type]["lct_slope_data"]->Fill(lct->getSlope()); - chamberHistos[type]["lct_quartstrip_data"]->Fill(lct->getStrip(4)); - chamberHistos[type]["lct_eighthstrip_data"]->Fill(lct->getStrip(8)); - if (useB904_) { - chamberHistos[type]["lct_quartstripbit_data"]->Fill(lct->getQuartStripBit()); - chamberHistos[type]["lct_eighthstripbit_data"]->Fill(lct->getEighthStripBit()); + for (auto it = dataLCTs->begin(); it != dataLCTs->end(); it++) { + auto range = dataLCTs->get((*it).first); + const CSCDetId& detid((*it).first); + int type = ((*it).first).iChamberType() - 2; + // ignore non-ME1/1 chambers when using B904 test-stand data + if (useB904ME11_ and !(detid.isME11())) + continue; + if (useB904ME21_ and !(detid.isME21())) + continue; + if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) + continue; + // to prevent crashes because you are booking histos for single b904 chamber + if (useB904ME234s2_ or useB904ME21_) + type = 0; + for (auto lct = range.first; lct != range.second; lct++) { + if (lct->isValid()) { + chamberHistos[type]["lct_pattern_data"]->Fill(lct->getPattern()); + chamberHistos[type]["lct_quality_data"]->Fill(lct->getQuality()); + chamberHistos[type]["lct_wiregroup_data"]->Fill(lct->getKeyWG()); + chamberHistos[type]["lct_halfstrip_data"]->Fill(lct->getStrip()); + chamberHistos[type]["lct_bend_data"]->Fill(lct->getBend()); + if (isRun3_) { + chamberHistos[type]["lct_run3pattern_data"]->Fill(lct->getRun3Pattern()); + chamberHistos[type]["lct_slope_data"]->Fill(lct->getSlope()); + chamberHistos[type]["lct_quartstrip_data"]->Fill(lct->getStrip(4)); + chamberHistos[type]["lct_eighthstrip_data"]->Fill(lct->getStrip(8)); + if (useB904_) { + chamberHistos[type]["lct_quartstripbit_data"]->Fill(lct->getQuartStripBit()); + chamberHistos[type]["lct_eighthstripbit_data"]->Fill(lct->getEighthStripBit()); + } } } } } - } - for (auto it = emulLCTs->begin(); it != emulLCTs->end(); it++) { - auto range = emulLCTs->get((*it).first); - const CSCDetId& detid((*it).first); - int type = ((*it).first).iChamberType() - 2; - // ignore non-ME1/1 chambers when using B904 test-stand data - if (useB904ME11_ and !(detid.isME11())) - continue; - if (useB904ME21_ and !(detid.isME21())) - continue; - if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) - continue; - // to prevent crashes because you are booking histos for single b904 chamber - if (useB904ME234s2_ or useB904ME21_) - type = 0; - for (auto lct = range.first; lct != range.second; lct++) { - if (lct->isValid()) { - chamberHistos[type]["lct_pattern_emul"]->Fill(lct->getPattern()); - chamberHistos[type]["lct_quality_emul"]->Fill(lct->getQuality()); - chamberHistos[type]["lct_wiregroup_emul"]->Fill(lct->getKeyWG()); - chamberHistos[type]["lct_halfstrip_emul"]->Fill(lct->getStrip()); - chamberHistos[type]["lct_bend_emul"]->Fill(lct->getBend()); - if (isRun3_) { - chamberHistos[type]["lct_run3pattern_emul"]->Fill(lct->getRun3Pattern()); - chamberHistos[type]["lct_slope_emul"]->Fill(lct->getSlope()); - chamberHistos[type]["lct_quartstrip_emul"]->Fill(lct->getStrip(4)); - chamberHistos[type]["lct_eighthstrip_emul"]->Fill(lct->getStrip(8)); - if (useB904_) { - chamberHistos[type]["lct_quartstripbit_emul"]->Fill(lct->getQuartStripBit()); - chamberHistos[type]["lct_eighthstripbit_emul"]->Fill(lct->getEighthStripBit()); + for (auto it = emulLCTs->begin(); it != emulLCTs->end(); it++) { + auto range = emulLCTs->get((*it).first); + const CSCDetId& detid((*it).first); + int type = ((*it).first).iChamberType() - 2; + // ignore non-ME1/1 chambers when using B904 test-stand data + if (useB904ME11_ and !(detid.isME11())) + continue; + if (useB904ME21_ and !(detid.isME21())) + continue; + if (useB904ME234s2_ and !(detid.isME22() or detid.isME32() or detid.isME42())) + continue; + // to prevent crashes because you are booking histos for single b904 chamber + if (useB904ME234s2_ or useB904ME21_) + type = 0; + for (auto lct = range.first; lct != range.second; lct++) { + if (lct->isValid()) { + chamberHistos[type]["lct_pattern_emul"]->Fill(lct->getPattern()); + chamberHistos[type]["lct_quality_emul"]->Fill(lct->getQuality()); + chamberHistos[type]["lct_wiregroup_emul"]->Fill(lct->getKeyWG()); + chamberHistos[type]["lct_halfstrip_emul"]->Fill(lct->getStrip()); + chamberHistos[type]["lct_bend_emul"]->Fill(lct->getBend()); + if (isRun3_) { + chamberHistos[type]["lct_run3pattern_emul"]->Fill(lct->getRun3Pattern()); + chamberHistos[type]["lct_slope_emul"]->Fill(lct->getSlope()); + chamberHistos[type]["lct_quartstrip_emul"]->Fill(lct->getStrip(4)); + chamberHistos[type]["lct_eighthstrip_emul"]->Fill(lct->getStrip(8)); + if (useB904_) { + chamberHistos[type]["lct_quartstripbit_emul"]->Fill(lct->getQuartStripBit()); + chamberHistos[type]["lct_eighthstripbit_emul"]->Fill(lct->getEighthStripBit()); + } } } } } } -} -bool L1TdeCSCTPG::isDuplicateCLCT(const CSCCLCTDigi& clct, const std::vector& container) const { - // if the temporary container is empty, the TP cannot be a duplicate - if (container.empty()) - return false; - else { - for (const auto& rhs : container) { - if (isCLCTOffByOneBX(clct, rhs)) - return true; - } - return false; - } -} + // summary plots + const std::map, int> histIndexCSC = {{{1, 1}, 8}, + {{1, 2}, 7}, + {{1, 3}, 6}, + {{2, 1}, 5}, + {{2, 2}, 4}, + {{3, 1}, 3}, + {{3, 2}, 2}, + {{4, 1}, 1}, + {{4, 2}, 0}}; -bool L1TdeCSCTPG::isDuplicateLCT(const CSCCorrelatedLCTDigi& lct, - const std::vector& container) const { - // if the temporary container is empty, the TP cannot be a duplicate - if (container.empty()) - return false; - else { - for (const auto& rhs : container) { - if (isLCTOffByOneBX(lct, rhs)) - return true; + const int min_endcap = CSCDetId::minEndcapId(); + const int max_endcap = CSCDetId::maxEndcapId(); + const int min_station = CSCDetId::minStationId(); + const int max_station = CSCDetId::maxStationId(); + const int min_sector = CSCTriggerNumbering::minTriggerSectorId(); + const int max_sector = CSCTriggerNumbering::maxTriggerSectorId(); + const int min_subsector = CSCTriggerNumbering::minTriggerSubSectorId(); + const int max_subsector = CSCTriggerNumbering::maxTriggerSubSectorId(); + const int min_chamber = CSCTriggerNumbering::minTriggerCscId(); + const int max_chamber = CSCTriggerNumbering::maxTriggerCscId(); + + for (int endc = min_endcap; endc <= max_endcap; endc++) { + // loop on all stations + for (int stat = min_station; stat <= max_station; stat++) { + int numsubs = ((stat == 1) ? max_subsector : 1); + // loop on sectors and subsectors + for (int sect = min_sector; sect <= max_sector; sect++) { + for (int subs = min_subsector; subs <= numsubs; subs++) { + // loop on all chambers + for (int cham = min_chamber; cham <= max_chamber; cham++) { + // extract the ring number + int ring = CSCTriggerNumbering::ringFromTriggerLabels(stat, cham); + + // actual chamber number =/= trigger chamber number + int chid = CSCTriggerNumbering::chamberFromTriggerLabels(sect, subs, stat, cham); + + // 0th layer means whole chamber. + CSCDetId detid(endc, stat, ring, chid, 0); + + int chamber = detid.chamber(); + + int sr = histIndexCSC.at({stat, ring}); + if (endc == 2) + sr = 17 - sr; + + // ALCT analysis + auto range_dataALCT = dataALCTs->get(detid); + auto range_emulALCT = emulALCTs->get(detid); + + for (auto dalct = range_dataALCT.first; dalct != range_dataALCT.second; dalct++) { + if (dalct->isValid()) { + alctDataSummary_denom_->Fill(chamber, sr); + // check for least one matching ALCT + for (auto ealct = range_emulALCT.first; ealct != range_emulALCT.second; ealct++) { + if (ealct->isValid() and *dalct == *ealct) { + alctDataSummary_num_->Fill(chamber, sr); + } + } + } + } + + for (auto ealct = range_emulALCT.first; ealct != range_emulALCT.second; ealct++) { + bool isMatched = false; + if (ealct->isValid()) { + alctEmulSummary_denom_->Fill(chamber, sr); + // check for least one matching ALCT + for (auto dalct = range_dataALCT.first; dalct != range_dataALCT.second; dalct++) { + if (*dalct == *ealct) + isMatched = true; + } + // only fill when it is not matched to an ALCT + // to understand if the emulator is producing too many ALCTs + if (!isMatched) { + alctEmulSummary_num_->Fill(chamber, sr); + } + } + } + + // CLCT analysis + auto range_dataCLCT = dataCLCTs->get(detid); + auto range_emulCLCT = emulCLCTs->get(detid); + + for (auto dclct = range_dataCLCT.first; dclct != range_dataCLCT.second; dclct++) { + if (dclct->isValid()) { + clctDataSummary_denom_->Fill(chamber, sr); + // check for least one matching CLCT + for (auto eclct = range_emulCLCT.first; eclct != range_emulCLCT.second; eclct++) { + if (eclct->isValid() and areSameCLCTs(*dclct, *eclct)) { + clctDataSummary_num_->Fill(chamber, sr); + } + } + } + } + + for (auto eclct = range_emulCLCT.first; eclct != range_emulCLCT.second; eclct++) { + bool isMatched = false; + if (eclct->isValid()) { + clctEmulSummary_denom_->Fill(chamber, sr); + // check for least one matching CLCT + for (auto dclct = range_dataCLCT.first; dclct != range_dataCLCT.second; dclct++) { + if (areSameCLCTs(*dclct, *eclct)) + isMatched = true; + } + // only fill when it is not matched to an CLCT + // to understand if the emulator is producing too many CLCTs + if (!isMatched) { + clctEmulSummary_num_->Fill(chamber, sr); + } + } + } + + // LCT analysis + auto range_dataLCT = dataLCTs->get(detid); + auto range_emulLCT = emulLCTs->get(detid); + + for (auto dlct = range_dataLCT.first; dlct != range_dataLCT.second; dlct++) { + if (dlct->isValid()) { + lctDataSummary_denom_->Fill(chamber, sr); + // check for least one matching LCT + for (auto elct = range_emulLCT.first; elct != range_emulLCT.second; elct++) { + if (elct->isValid() and areSameLCTs(*dlct, *elct)) { + lctDataSummary_num_->Fill(chamber, sr); + } + } + } + } + + for (auto elct = range_emulLCT.first; elct != range_emulLCT.second; elct++) { + bool isMatched = false; + if (elct->isValid()) { + lctEmulSummary_denom_->Fill(chamber, sr); + // check for least one matching LCT + for (auto dlct = range_dataLCT.first; dlct != range_dataLCT.second; dlct++) { + if (areSameLCTs(*dlct, *elct)) + isMatched = true; + } + // only fill when it is not matched to an LCT + // to understand if the emulator is producing too many LCTs + if (!isMatched) { + lctEmulSummary_num_->Fill(chamber, sr); + } + } + } + } + } + } } - return false; } } -bool L1TdeCSCTPG::isCLCTOffByOneBX(const CSCCLCTDigi& lhs, const CSCCLCTDigi& rhs) const { +bool L1TdeCSCTPG::areSameCLCTs(const CSCCLCTDigi& lhs, const CSCCLCTDigi& rhs) const { // because the comparator code is degenerate (several comparator codes can produce the // same slope and position), we leave it out of the comparison + // do not include the BX bool returnValue = false; if (lhs.isValid() == rhs.isValid() && lhs.getQuality() == rhs.getQuality() && lhs.getPattern() == rhs.getPattern() && lhs.getRun3Pattern() == rhs.getRun3Pattern() && lhs.getKeyStrip() == rhs.getKeyStrip() && - lhs.getStripType() == rhs.getStripType() && lhs.getBend() == rhs.getBend() && lhs.getBX() == rhs.getBX() + 1 && + lhs.getStripType() == rhs.getStripType() && lhs.getBend() == rhs.getBend() && lhs.getQuartStripBit() == rhs.getQuartStripBit() && lhs.getEighthStripBit() == rhs.getEighthStripBit()) { returnValue = true; } return returnValue; } -bool L1TdeCSCTPG::isLCTOffByOneBX(const CSCCorrelatedLCTDigi& lhs, const CSCCorrelatedLCTDigi& rhs) const { +bool L1TdeCSCTPG::areSameLCTs(const CSCCorrelatedLCTDigi& lhs, const CSCCorrelatedLCTDigi& rhs) const { + // do not include the BX bool returnValue = false; if (lhs.isValid() == rhs.isValid() && lhs.getQuality() == rhs.getQuality() && lhs.getPattern() == rhs.getPattern() && lhs.getRun3Pattern() == rhs.getRun3Pattern() && lhs.getStrip() == rhs.getStrip() && - lhs.getStripType() == rhs.getStripType() && lhs.getBend() == rhs.getBend() && lhs.getBX() == rhs.getBX() + 1 && + lhs.getStripType() == rhs.getStripType() && lhs.getBend() == rhs.getBend() && lhs.getQuartStripBit() == rhs.getQuartStripBit() && lhs.getEighthStripBit() == rhs.getEighthStripBit() && lhs.getKeyWG() == rhs.getKeyWG()) { returnValue = true; diff --git a/DQM/L1TMonitorClient/interface/L1TdeCSCTPGClient.h b/DQM/L1TMonitorClient/interface/L1TdeCSCTPGClient.h index 4f5a2cdbc7870..76da390921ef5 100644 --- a/DQM/L1TMonitorClient/interface/L1TdeCSCTPGClient.h +++ b/DQM/L1TMonitorClient/interface/L1TdeCSCTPGClient.h @@ -51,7 +51,7 @@ class L1TdeCSCTPGClient : public DQMEDHarvester { /* When set to True, we assume that the data comes from the Building 904 CSC test-stand. This test-stand is a single - ME1/1 chamber. + ME1/1 chamber, ME2/1, or ME4/2 chamber. */ bool useB904_; bool useB904ME11_; @@ -59,10 +59,18 @@ class L1TdeCSCTPGClient : public DQMEDHarvester { bool useB904ME234s2_; bool isRun3_; + bool make1DPlots_; // first key is the chamber number // second key is the variable std::map > chamberHistos_; + + MonitorElement *lctDataSummary_eff_; + MonitorElement *alctDataSummary_eff_; + MonitorElement *clctDataSummary_eff_; + MonitorElement *lctEmulSummary_eff_; + MonitorElement *alctEmulSummary_eff_; + MonitorElement *clctEmulSummary_eff_; }; #endif diff --git a/DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc b/DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc index f3859a33a8f62..a7e1ba76ec99e 100644 --- a/DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc +++ b/DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc @@ -30,7 +30,11 @@ L1TdeCSCTPGClient::L1TdeCSCTPGClient(const edm::ParameterSet &ps) useB904ME11_(ps.getParameter("useB904ME11")), useB904ME21_(ps.getParameter("useB904ME21")), useB904ME234s2_(ps.getParameter("useB904ME234s2")), - isRun3_(ps.getParameter("isRun3")) { + isRun3_(ps.getParameter("isRun3")), + // by default the DQM will make 2D summary plots. Do you also want + // the very large number of 1D plots? Typically only for testing at B904 or + // on select P5 data + make1DPlots_(ps.getParameter("make1DPlots")) { useB904_ = useB904ME11_ or useB904ME21_ or useB904ME234s2_; } @@ -80,104 +84,188 @@ void L1TdeCSCTPGClient::book(DQMStore::IBooker &iBooker) { lctVars_.resize(5); } - // chamber type - for (unsigned iType = 0; iType < chambers_.size(); iType++) { - // alct variable - for (unsigned iVar = 0; iVar < alctVars_.size(); iVar++) { - const std::string key("alct_" + alctVars_[iVar] + "_diff"); - const std::string histName(key + "_" + chambers_[iType]); - const std::string histTitle(chambers_[iType] + " ALCT " + alctVars_[iVar] + " (Emul - Data)"); - if (chamberHistos_[iType][key] == nullptr) - chamberHistos_[iType][key] = - iBooker.book1D(histName, histTitle, alctNBin_[iVar], alctMinBin_[iVar], alctMaxBin_[iVar]); - else - chamberHistos_[iType][key]->Reset(); - } + // 1D plots for experts + if (useB904ME11_ or useB904ME21_ or useB904ME234s2_ or make1DPlots_) { + // chamber type + for (unsigned iType = 0; iType < chambers_.size(); iType++) { + // alct variable + for (unsigned iVar = 0; iVar < alctVars_.size(); iVar++) { + const std::string key("alct_" + alctVars_[iVar] + "_diff"); + const std::string histName(key + "_" + chambers_[iType]); + const std::string histTitle(chambers_[iType] + " ALCT " + alctVars_[iVar] + " (Emul - Data)"); + if (chamberHistos_[iType][key] == nullptr) + chamberHistos_[iType][key] = + iBooker.book1D(histName, histTitle, alctNBin_[iVar], alctMinBin_[iVar], alctMaxBin_[iVar]); + else + chamberHistos_[iType][key]->Reset(); + } - // clct variable - for (unsigned iVar = 0; iVar < clctVars_.size(); iVar++) { - const std::string key("clct_" + clctVars_[iVar] + "_diff"); - const std::string histName(key + "_" + chambers_[iType]); - const std::string histTitle(chambers_[iType] + " CLCT " + clctVars_[iVar] + " (Emul - Data)"); - if (chamberHistos_[iType][key] == nullptr) - chamberHistos_[iType][key] = - iBooker.book1D(histName, histTitle, clctNBin_[iVar], clctMinBin_[iVar], clctMaxBin_[iVar]); - else - chamberHistos_[iType][key]->Reset(); - } + // clct variable + for (unsigned iVar = 0; iVar < clctVars_.size(); iVar++) { + const std::string key("clct_" + clctVars_[iVar] + "_diff"); + const std::string histName(key + "_" + chambers_[iType]); + const std::string histTitle(chambers_[iType] + " CLCT " + clctVars_[iVar] + " (Emul - Data)"); + if (chamberHistos_[iType][key] == nullptr) + chamberHistos_[iType][key] = + iBooker.book1D(histName, histTitle, clctNBin_[iVar], clctMinBin_[iVar], clctMaxBin_[iVar]); + else + chamberHistos_[iType][key]->Reset(); + } - // lct variable - for (unsigned iVar = 0; iVar < lctVars_.size(); iVar++) { - const std::string key("lct_" + lctVars_[iVar] + "_diff"); - const std::string histName(key + "_" + chambers_[iType]); - const std::string histTitle(chambers_[iType] + " LCT " + lctVars_[iVar] + " (Emul - Data)"); - if (chamberHistos_[iType][key] == nullptr) - chamberHistos_[iType][key] = - iBooker.book1D(histName, histTitle, lctNBin_[iVar], lctMinBin_[iVar], lctMaxBin_[iVar]); - else - chamberHistos_[iType][key]->Reset(); + // lct variable + for (unsigned iVar = 0; iVar < lctVars_.size(); iVar++) { + const std::string key("lct_" + lctVars_[iVar] + "_diff"); + const std::string histName(key + "_" + chambers_[iType]); + const std::string histTitle(chambers_[iType] + " LCT " + lctVars_[iVar] + " (Emul - Data)"); + if (chamberHistos_[iType][key] == nullptr) + chamberHistos_[iType][key] = + iBooker.book1D(histName, histTitle, lctNBin_[iVar], lctMinBin_[iVar], lctMaxBin_[iVar]); + else + chamberHistos_[iType][key]->Reset(); + } } } + + // 2D summary plots + lctDataSummary_eff_ = iBooker.book2D( + "lct_csctp_data_summary_eff", "Efficiency of data LCT being correctly emulated", 36, 1, 37, 18, 0, 18); + alctDataSummary_eff_ = iBooker.book2D( + "alct_csctp_data_summary_eff", "Efficiency of data ALCT being correctly emulated", 36, 1, 37, 18, 0, 18); + clctDataSummary_eff_ = iBooker.book2D( + "clct_csctp_data_summary_eff", "Efficiency of data CLCT being correctly emulated", 36, 1, 37, 18, 0, 18); + + lctEmulSummary_eff_ = iBooker.book2D( + "lct_csctp_emul_summary_eff", "Fraction of emulated LCT without matching data LCT", 36, 1, 37, 18, 0, 18); + alctEmulSummary_eff_ = iBooker.book2D( + "alct_csctp_emul_summary_eff", "Fraction of emulated ALCT without matching data ALCT", 36, 1, 37, 18, 0, 18); + clctEmulSummary_eff_ = iBooker.book2D( + "clct_csctp_emul_summary_eff", "Fraction of emulated CLCT without matching data CLCT", 36, 1, 37, 18, 0, 18); + + // x labels + lctDataSummary_eff_->setAxisTitle("Chamber", 1); + alctDataSummary_eff_->setAxisTitle("Chamber", 1); + clctDataSummary_eff_->setAxisTitle("Chamber", 1); + + lctEmulSummary_eff_->setAxisTitle("Chamber", 1); + alctEmulSummary_eff_->setAxisTitle("Chamber", 1); + clctEmulSummary_eff_->setAxisTitle("Chamber", 1); + + // plotting option + lctDataSummary_eff_->setOption("colz"); + alctDataSummary_eff_->setOption("colz"); + clctDataSummary_eff_->setOption("colz"); + + lctEmulSummary_eff_->setOption("colz"); + alctEmulSummary_eff_->setOption("colz"); + clctEmulSummary_eff_->setOption("colz"); + + // summary plots + const std::array suffix_label{{"4/2", "4/1", "3/2", "3/1", " 2/2", "2/1", "1/3", "1/2", "1/1"}}; + + // y labels + for (int ybin = 1; ybin <= 9; ++ybin) { + lctDataSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + alctDataSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + clctDataSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + + lctEmulSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + alctEmulSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + clctEmulSummary_eff_->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); + + lctDataSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + alctDataSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + clctDataSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + + lctEmulSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + alctEmulSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + clctEmulSummary_eff_->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); + } } void L1TdeCSCTPGClient::processHistograms(DQMStore::IGetter &igetter) { MonitorElement *dataMon; MonitorElement *emulMon; - // chamber type - for (unsigned iType = 0; iType < chambers_.size(); iType++) { - // alct variable - for (unsigned iVar = 0; iVar < alctVars_.size(); iVar++) { - const std::string key("alct_" + alctVars_[iVar]); - const std::string histData(key + "_data_" + chambers_[iType]); - const std::string histEmul(key + "_emul_" + chambers_[iType]); + // 1D plots for experts + if (useB904ME11_ or useB904ME21_ or useB904ME234s2_ or make1DPlots_) { + // chamber type + for (unsigned iType = 0; iType < chambers_.size(); iType++) { + // alct variable + for (unsigned iVar = 0; iVar < alctVars_.size(); iVar++) { + const std::string key("alct_" + alctVars_[iVar]); + const std::string histData(key + "_data_" + chambers_[iType]); + const std::string histEmul(key + "_emul_" + chambers_[iType]); - dataMon = igetter.get(monitorDir_ + "/" + histData); - emulMon = igetter.get(monitorDir_ + "/" + histEmul); + dataMon = igetter.get(monitorDir_ + "/" + histData); + emulMon = igetter.get(monitorDir_ + "/" + histEmul); - TH1F *hDiff = chamberHistos_[iType][key + "_diff"]->getTH1F(); + TH1F *hDiff = chamberHistos_[iType][key + "_diff"]->getTH1F(); - if (dataMon && emulMon) { - TH1F *hData = dataMon->getTH1F(); - TH1F *hEmul = emulMon->getTH1F(); - hDiff->Add(hEmul, hData, 1, -1); + if (dataMon && emulMon) { + TH1F *hData = dataMon->getTH1F(); + TH1F *hEmul = emulMon->getTH1F(); + hDiff->Add(hEmul, hData, 1, -1); + } } - } - // clct variable - for (unsigned iVar = 0; iVar < clctVars_.size(); iVar++) { - const std::string key("clct_" + clctVars_[iVar]); - const std::string histData(key + "_data_" + chambers_[iType]); - const std::string histEmul(key + "_emul_" + chambers_[iType]); + // clct variable + for (unsigned iVar = 0; iVar < clctVars_.size(); iVar++) { + const std::string key("clct_" + clctVars_[iVar]); + const std::string histData(key + "_data_" + chambers_[iType]); + const std::string histEmul(key + "_emul_" + chambers_[iType]); - dataMon = igetter.get(monitorDir_ + "/" + histData); - emulMon = igetter.get(monitorDir_ + "/" + histEmul); + dataMon = igetter.get(monitorDir_ + "/" + histData); + emulMon = igetter.get(monitorDir_ + "/" + histEmul); - TH1F *hDiff = chamberHistos_[iType][key + "_diff"]->getTH1F(); + TH1F *hDiff = chamberHistos_[iType][key + "_diff"]->getTH1F(); - if (dataMon && emulMon) { - TH1F *hData = dataMon->getTH1F(); - TH1F *hEmul = emulMon->getTH1F(); - hDiff->Add(hEmul, hData, 1, -1); + if (dataMon && emulMon) { + TH1F *hData = dataMon->getTH1F(); + TH1F *hEmul = emulMon->getTH1F(); + hDiff->Add(hEmul, hData, 1, -1); + } } - } - // lct variable - for (unsigned iVar = 0; iVar < lctVars_.size(); iVar++) { - const std::string key("lct_" + lctVars_[iVar]); - const std::string histData(key + "_data_" + chambers_[iType]); - const std::string histEmul(key + "_emul_" + chambers_[iType]); + // lct variable + for (unsigned iVar = 0; iVar < lctVars_.size(); iVar++) { + const std::string key("lct_" + lctVars_[iVar]); + const std::string histData(key + "_data_" + chambers_[iType]); + const std::string histEmul(key + "_emul_" + chambers_[iType]); - dataMon = igetter.get(monitorDir_ + "/" + histData); - emulMon = igetter.get(monitorDir_ + "/" + histEmul); + dataMon = igetter.get(monitorDir_ + "/" + histData); + emulMon = igetter.get(monitorDir_ + "/" + histEmul); - TH1F *hDiff = chamberHistos_[iType][key + "_diff"]->getTH1F(); + TH1F *hDiff = chamberHistos_[iType][key + "_diff"]->getTH1F(); - if (dataMon && emulMon) { - TH1F *hData = dataMon->getTH1F(); - TH1F *hEmul = emulMon->getTH1F(); - hDiff->Add(hEmul, hData, 1, -1); + if (dataMon && emulMon) { + TH1F *hData = dataMon->getTH1F(); + TH1F *hEmul = emulMon->getTH1F(); + hDiff->Add(hEmul, hData, 1, -1); + } } } } + + // 2D summary plot + MonitorElement *lctDataSummary_denom_ = igetter.get(monitorDir_ + "/lct_csctp_data_summary_denom"); + MonitorElement *lctDataSummary_num_ = igetter.get(monitorDir_ + "/lct_csctp_data_summary_num"); + MonitorElement *alctDataSummary_denom_ = igetter.get(monitorDir_ + "/alct_csctp_data_summary_denom"); + MonitorElement *alctDataSummary_num_ = igetter.get(monitorDir_ + "/alct_csctp_data_summary_num"); + MonitorElement *clctDataSummary_denom_ = igetter.get(monitorDir_ + "/clct_csctp_data_summary_denom"); + MonitorElement *clctDataSummary_num_ = igetter.get(monitorDir_ + "/clct_csctp_data_summary_num"); + + MonitorElement *lctEmulSummary_denom_ = igetter.get(monitorDir_ + "/lct_csctp_emul_summary_denom"); + MonitorElement *lctEmulSummary_num_ = igetter.get(monitorDir_ + "/lct_csctp_emul_summary_num"); + MonitorElement *alctEmulSummary_denom_ = igetter.get(monitorDir_ + "/alct_csctp_emul_summary_denom"); + MonitorElement *alctEmulSummary_num_ = igetter.get(monitorDir_ + "/alct_csctp_emul_summary_num"); + MonitorElement *clctEmulSummary_denom_ = igetter.get(monitorDir_ + "/clct_csctp_emul_summary_denom"); + MonitorElement *clctEmulSummary_num_ = igetter.get(monitorDir_ + "/clct_csctp_emul_summary_num"); + + lctDataSummary_eff_->getTH2F()->Divide(lctDataSummary_num_->getTH2F(), lctDataSummary_denom_->getTH2F(), 1, 1, ""); + alctDataSummary_eff_->getTH2F()->Divide(alctDataSummary_num_->getTH2F(), alctDataSummary_denom_->getTH2F(), 1, 1, ""); + clctDataSummary_eff_->getTH2F()->Divide(clctDataSummary_num_->getTH2F(), clctDataSummary_denom_->getTH2F(), 1, 1, ""); + + lctEmulSummary_eff_->getTH2F()->Divide(lctEmulSummary_num_->getTH2F(), lctEmulSummary_denom_->getTH2F(), 1, 1, ""); + alctEmulSummary_eff_->getTH2F()->Divide(alctEmulSummary_num_->getTH2F(), alctEmulSummary_denom_->getTH2F(), 1, 1, ""); + clctEmulSummary_eff_->getTH2F()->Divide(clctEmulSummary_num_->getTH2F(), clctEmulSummary_denom_->getTH2F(), 1, 1, ""); } From ed2930249a565815762a195b989e10258d0cfd1d Mon Sep 17 00:00:00 2001 From: mmusich Date: Tue, 23 Nov 2021 22:07:39 +0100 Subject: [PATCH 132/268] remove redundant line causing compilation warning --- RecoTracker/TrackProducer/test/BuildFile.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/RecoTracker/TrackProducer/test/BuildFile.xml b/RecoTracker/TrackProducer/test/BuildFile.xml index 73585d6044c98..455ab87444748 100644 --- a/RecoTracker/TrackProducer/test/BuildFile.xml +++ b/RecoTracker/TrackProducer/test/BuildFile.xml @@ -33,6 +33,5 @@ - From 3d014b7eb0ef23b178b0acb1b34c62c19959bfca Mon Sep 17 00:00:00 2001 From: swmukher Date: Tue, 23 Nov 2021 22:11:47 +0100 Subject: [PATCH 133/268] add packages to BuildFile --- RecoJets/JetProducers/plugins/BuildFile.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RecoJets/JetProducers/plugins/BuildFile.xml b/RecoJets/JetProducers/plugins/BuildFile.xml index 249a122078ef5..36f522ba4027c 100644 --- a/RecoJets/JetProducers/plugins/BuildFile.xml +++ b/RecoJets/JetProducers/plugins/BuildFile.xml @@ -3,15 +3,20 @@ + + + + + From 5e39adda96dc59a249668d1c670f4c8596656cf6 Mon Sep 17 00:00:00 2001 From: mmusich Date: Tue, 23 Nov 2021 22:54:28 +0100 Subject: [PATCH 134/268] fix concurrent writing of SiStrip Condition tools output sqlite files --- .../test/python/SiStripBadAPVListBuilder_byHand_cfg.py | 2 +- .../SiStrip/test/SiStripApvSimulationParametersBuilder_cfg.py | 2 +- CondTools/SiStrip/test/SiStripBadChannelBuilder_cfg.py | 2 +- CondTools/SiStrip/test/SiStripBadChannelFromASCIIFile_cfg.py | 2 +- CondTools/SiStrip/test/SiStripBadFiberBuilder_cfg.py | 2 +- CondTools/SiStrip/test/SiStripBadModuleByHandBuilder_cfg.py | 2 +- CondTools/SiStrip/test/SiStripBadStripReader_cfg.py | 2 +- CondTools/SiStrip/test/SiStripCablingTrackerMap_cfg.py | 2 +- CondTools/SiStrip/test/SiStripDetVOffFakeBuilder_cfg.py | 2 +- CondTools/SiStrip/test/SiStripFedCablingBuilder_cfg.py | 2 +- CondTools/SiStrip/test/SiStripFedCablingReader_cfg.py | 2 +- CondTools/SiStrip/test/SiStripNoiseBuilder_cfg.py | 2 +- CondTools/SiStrip/test/SiStripSummaryBuilder_cfg.py | 2 +- CondTools/SiStrip/test/SiStripSummaryReader_cfg.py | 2 +- CondTools/SiStrip/test/SiStripThresholdBuilder_cfg.py | 2 +- CondTools/SiStrip/test/SiStripThresholdReader_cfg.py | 2 +- CondTools/SiStrip/test/testBuildersReaders.sh | 4 ++-- 17 files changed, 18 insertions(+), 18 deletions(-) diff --git a/CalibTracker/SiStripESProducers/test/python/SiStripBadAPVListBuilder_byHand_cfg.py b/CalibTracker/SiStripESProducers/test/python/SiStripBadAPVListBuilder_byHand_cfg.py index 2eec6be9b56d6..69653b0c10467 100644 --- a/CalibTracker/SiStripESProducers/test/python/SiStripBadAPVListBuilder_byHand_cfg.py +++ b/CalibTracker/SiStripESProducers/test/python/SiStripBadAPVListBuilder_byHand_cfg.py @@ -98,7 +98,7 @@ def getFileInPath(rfile): authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripBadComponentsToMask.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripBadStrip'), tag = cms.string('SiStripBadComponentsToMask') diff --git a/CondTools/SiStrip/test/SiStripApvSimulationParametersBuilder_cfg.py b/CondTools/SiStrip/test/SiStripApvSimulationParametersBuilder_cfg.py index 922f8c65f92ed..1e925fd4bdfc1 100644 --- a/CondTools/SiStrip/test/SiStripApvSimulationParametersBuilder_cfg.py +++ b/CondTools/SiStrip/test/SiStripApvSimulationParametersBuilder_cfg.py @@ -15,7 +15,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripApvSimulationParametersRcd'), tag = cms.string('SiStripApvSimulationParameters_2016preVFP_v1') diff --git a/CondTools/SiStrip/test/SiStripBadChannelBuilder_cfg.py b/CondTools/SiStrip/test/SiStripBadChannelBuilder_cfg.py index 52e73e59d8ae7..805bb0066ae06 100644 --- a/CondTools/SiStrip/test/SiStripBadChannelBuilder_cfg.py +++ b/CondTools/SiStrip/test/SiStripBadChannelBuilder_cfg.py @@ -24,7 +24,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripBadStripRcd'), tag = cms.string('SiStripBadChannel_v1') diff --git a/CondTools/SiStrip/test/SiStripBadChannelFromASCIIFile_cfg.py b/CondTools/SiStrip/test/SiStripBadChannelFromASCIIFile_cfg.py index ef60f15573d56..c227d26a9eef6 100644 --- a/CondTools/SiStrip/test/SiStripBadChannelFromASCIIFile_cfg.py +++ b/CondTools/SiStrip/test/SiStripBadChannelFromASCIIFile_cfg.py @@ -17,7 +17,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripBadStrip'), tag = cms.string('SiStripBadChannel_v1') diff --git a/CondTools/SiStrip/test/SiStripBadFiberBuilder_cfg.py b/CondTools/SiStrip/test/SiStripBadFiberBuilder_cfg.py index 55e1bf7b8a59c..18b7679c7a72e 100644 --- a/CondTools/SiStrip/test/SiStripBadFiberBuilder_cfg.py +++ b/CondTools/SiStrip/test/SiStripBadFiberBuilder_cfg.py @@ -24,7 +24,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripBadStrip'), tag = cms.string('SiStripBadFiber_v1') diff --git a/CondTools/SiStrip/test/SiStripBadModuleByHandBuilder_cfg.py b/CondTools/SiStrip/test/SiStripBadModuleByHandBuilder_cfg.py index cc194957585b0..08ed591db4825 100644 --- a/CondTools/SiStrip/test/SiStripBadModuleByHandBuilder_cfg.py +++ b/CondTools/SiStrip/test/SiStripBadModuleByHandBuilder_cfg.py @@ -27,7 +27,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripBadStrip'), tag = cms.string('SiStripBadModule_v1') diff --git a/CondTools/SiStrip/test/SiStripBadStripReader_cfg.py b/CondTools/SiStrip/test/SiStripBadStripReader_cfg.py index 3e0065d72193e..de9359634f039 100644 --- a/CondTools/SiStrip/test/SiStripBadStripReader_cfg.py +++ b/CondTools/SiStrip/test/SiStripBadStripReader_cfg.py @@ -29,7 +29,7 @@ record = cms.string('SiStripBadStripRcd'), tag = cms.string('SiStripBadChannel_v1') )), - connect = cms.string('sqlite_file:dbfile.db') + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db') ) process.prod = cms.EDAnalyzer("SiStripBadStripReader", diff --git a/CondTools/SiStrip/test/SiStripCablingTrackerMap_cfg.py b/CondTools/SiStrip/test/SiStripCablingTrackerMap_cfg.py index 6dfbb88ceef1c..fc321c27c8dfd 100644 --- a/CondTools/SiStrip/test/SiStripCablingTrackerMap_cfg.py +++ b/CondTools/SiStrip/test/SiStripCablingTrackerMap_cfg.py @@ -24,7 +24,7 @@ record = cms.string('SiStripFedCablingRcd'), tag = cms.string('SiStripFedCabling_Fake_30X') )) -process.siStripCond.connect = 'sqlite_file:dbfile.db' +process.siStripCond.connect = 'sqlite_file:SiStripConditionsDBFile.db' process.siStripCond.DBParameters.authenticationPath = '/afs/cern.ch/cms/DB/conddb' process.sistripconn = cms.ESProducer("SiStripConnectivity") diff --git a/CondTools/SiStrip/test/SiStripDetVOffFakeBuilder_cfg.py b/CondTools/SiStrip/test/SiStripDetVOffFakeBuilder_cfg.py index 19d823da4ecc2..dd3473a04f909 100644 --- a/CondTools/SiStrip/test/SiStripDetVOffFakeBuilder_cfg.py +++ b/CondTools/SiStrip/test/SiStripDetVOffFakeBuilder_cfg.py @@ -24,7 +24,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripDetVOffRcd'), tag = cms.string('SiStripDetVOff_v1') diff --git a/CondTools/SiStrip/test/SiStripFedCablingBuilder_cfg.py b/CondTools/SiStrip/test/SiStripFedCablingBuilder_cfg.py index eeb58c337bdb7..c6511bee9f76d 100644 --- a/CondTools/SiStrip/test/SiStripFedCablingBuilder_cfg.py +++ b/CondTools/SiStrip/test/SiStripFedCablingBuilder_cfg.py @@ -27,7 +27,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripFedCablingRcd'), tag = cms.string('SiStripFedCabling_30X') diff --git a/CondTools/SiStrip/test/SiStripFedCablingReader_cfg.py b/CondTools/SiStrip/test/SiStripFedCablingReader_cfg.py index ee3e46110733f..3e9291f75e79e 100644 --- a/CondTools/SiStrip/test/SiStripFedCablingReader_cfg.py +++ b/CondTools/SiStrip/test/SiStripFedCablingReader_cfg.py @@ -25,7 +25,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toGet = cms.VPSet(cms.PSet( record = cms.string('SiStripFedCablingRcd'), tag = cms.string('SiStripFedCabling_30X') diff --git a/CondTools/SiStrip/test/SiStripNoiseBuilder_cfg.py b/CondTools/SiStrip/test/SiStripNoiseBuilder_cfg.py index c7bb77d06bde3..41269b6217947 100644 --- a/CondTools/SiStrip/test/SiStripNoiseBuilder_cfg.py +++ b/CondTools/SiStrip/test/SiStripNoiseBuilder_cfg.py @@ -25,7 +25,7 @@ BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), DBParameters = cms.PSet(authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb')), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet(record = cms.string('SiStripNoisesRcd'), tag = cms.string('SiStripNoise_test') ) diff --git a/CondTools/SiStrip/test/SiStripSummaryBuilder_cfg.py b/CondTools/SiStrip/test/SiStripSummaryBuilder_cfg.py index e69753483f17c..f216003662f33 100644 --- a/CondTools/SiStrip/test/SiStripSummaryBuilder_cfg.py +++ b/CondTools/SiStrip/test/SiStripSummaryBuilder_cfg.py @@ -31,7 +31,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripSummaryRcd'),#different tag = cms.string('SiStripSummary_test1') diff --git a/CondTools/SiStrip/test/SiStripSummaryReader_cfg.py b/CondTools/SiStrip/test/SiStripSummaryReader_cfg.py index 985b01f6e1c65..1297d3b7a2d90 100644 --- a/CondTools/SiStrip/test/SiStripSummaryReader_cfg.py +++ b/CondTools/SiStrip/test/SiStripSummaryReader_cfg.py @@ -34,7 +34,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toGet = cms.VPSet(cms.PSet( record = cms.string('SiStripSummaryRcd'), tag = cms.string('SiStripSummary_test1') diff --git a/CondTools/SiStrip/test/SiStripThresholdBuilder_cfg.py b/CondTools/SiStrip/test/SiStripThresholdBuilder_cfg.py index 9cbc011e7b025..43c7a8748f321 100644 --- a/CondTools/SiStrip/test/SiStripThresholdBuilder_cfg.py +++ b/CondTools/SiStrip/test/SiStripThresholdBuilder_cfg.py @@ -32,7 +32,7 @@ BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), DBParameters = cms.PSet(authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb')), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toPut = cms.VPSet(cms.PSet( record = cms.string('SiStripThresholdRcd'), tag = cms.string('SiStripThreshold_Fake_30X') diff --git a/CondTools/SiStrip/test/SiStripThresholdReader_cfg.py b/CondTools/SiStrip/test/SiStripThresholdReader_cfg.py index f18880ffb3bb2..86daf32b3e3c4 100644 --- a/CondTools/SiStrip/test/SiStripThresholdReader_cfg.py +++ b/CondTools/SiStrip/test/SiStripThresholdReader_cfg.py @@ -33,7 +33,7 @@ authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') ), timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:dbfile.db'), + connect = cms.string('sqlite_file:SiStripConditionsDBFile.db'), toGet = cms.VPSet(cms.PSet( record = cms.string('SiStripThresholdRcd'), tag = cms.string('SiStripThreshold_Fake_30X') diff --git a/CondTools/SiStrip/test/testBuildersReaders.sh b/CondTools/SiStrip/test/testBuildersReaders.sh index 54da323c1f38f..59f932a6a2adc 100755 --- a/CondTools/SiStrip/test/testBuildersReaders.sh +++ b/CondTools/SiStrip/test/testBuildersReaders.sh @@ -2,9 +2,9 @@ function die { echo $1: status $2 ; exit $2; } -if test -f "dbfile.db"; then +if test -f "SiStripConditionsDBFile.db"; then echo "cleaning the local test area" - rm -fr dbfile.db + rm -fr SiStripConditionsDBFile.db fi echo " testing CondTools/SiStrip" From ecde4d1461cba8eaeed10ab4f634f289a2fe2450 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Wed, 24 Nov 2021 08:03:00 +0100 Subject: [PATCH 135/268] SimWatcher thread safe interface --- .../interface/RunManagerMTWorker.h | 22 ++-- SimG4Core/Application/src/RunManagerMT.cc | 2 +- .../Application/src/RunManagerMTWorker.cc | 103 +++++++++++------- SimG4Core/Watcher/interface/SimWatcher.h | 17 +++ 4 files changed, 92 insertions(+), 52 deletions(-) diff --git a/SimG4Core/Application/interface/RunManagerMTWorker.h b/SimG4Core/Application/interface/RunManagerMTWorker.h index 0442175117865..866e503a166ba 100644 --- a/SimG4Core/Application/interface/RunManagerMTWorker.h +++ b/SimG4Core/Application/interface/RunManagerMTWorker.h @@ -87,20 +87,23 @@ class RunManagerMTWorker { void DumpMagneticField(const G4Field*, const std::string&) const; void resetTLS(); - int getThreadIndex() const { return m_thread_index; } + inline int getThreadIndex() const { return m_thread_index; } Generator m_generator; edm::EDGetTokenT m_InToken; edm::EDGetTokenT m_LHCToken; edm::EDGetTokenT m_theLHCTlinkToken; edm::ESGetToken m_MagField; - const MagneticField* m_pMagField = nullptr; + const MagneticField* m_pMagField{nullptr}; - bool m_nonBeam; - bool m_pUseMagneticField; - bool m_hasWatchers; - bool m_LHCTransport; - int m_EvtMgrVerbosity; + bool m_nonBeam{false}; + bool m_pUseMagneticField{true}; + bool m_hasWatchers{false}; + bool m_LHCTransport{false}; + bool m_dumpMF{false}; + + const int m_thread_index{-1}; + int m_EvtMgrVerbosity{0}; edm::ParameterSet m_pField; edm::ParameterSet m_pRunAction; @@ -113,13 +116,10 @@ class RunManagerMTWorker { struct TLSData; TLSData* m_tls{nullptr}; - bool dumpMF{false}; - G4SimEvent* m_simEvent; + G4SimEvent* m_simEvent{nullptr}; std::unique_ptr m_sVerbose; std::unordered_map> m_sdMakers; - - const int m_thread_index{-1}; }; #endif diff --git a/SimG4Core/Application/src/RunManagerMT.cc b/SimG4Core/Application/src/RunManagerMT.cc index 34faa9e82dcab..49b822442ccbf 100644 --- a/SimG4Core/Application/src/RunManagerMT.cc +++ b/SimG4Core/Application/src/RunManagerMT.cc @@ -133,7 +133,7 @@ void RunManagerMT::initG4(const DDCompactView* pDD, } m_kernel->DefineWorldVolume(world, true); m_registry.dddWorldSignal_(m_world.get()); - G4StateManager::GetStateManager()->SetNewState(G4State_PreInit); + m_stateManager->SetNewState(G4State_PreInit); // Create physics list edm::LogVerbatim("SimG4CoreApplication") << "RunManagerMT: create PhysicsList"; diff --git a/SimG4Core/Application/src/RunManagerMTWorker.cc b/SimG4Core/Application/src/RunManagerMTWorker.cc index 35d042e7336d6..bb083701d773a 100644 --- a/SimG4Core/Application/src/RunManagerMTWorker.cc +++ b/SimG4Core/Application/src/RunManagerMTWorker.cc @@ -71,31 +71,42 @@ namespace { int get_new_thread_index() { return thread_counter++; } - void createWatchers(const edm::ParameterSet& iP, + bool createWatchers(const edm::ParameterSet& iP, SimActivityRegistry* iReg, std::vector>& oWatchers, - std::vector>& oProds) { - if (!iP.exists("Watchers")) { - return; + std::vector>& oProds, + int threadID) { + std::vector ws = iP.getParameter>("Watchers"); + if (ws.empty()) { + return false; } - std::vector watchers = iP.getParameter>("Watchers"); - - for (auto& watcher : watchers) { + for (auto& watcher : ws) { std::unique_ptr maker( SimWatcherFactory::get()->create(watcher.getParameter("type"))); if (maker == nullptr) { throw edm::Exception(edm::errors::Configuration) - << "Unable to find the requested Watcher <" << watcher.getParameter("type"); - } - std::shared_ptr watcherTemp; - std::shared_ptr producerTemp; - maker->make(watcher, *(iReg), watcherTemp, producerTemp); - oWatchers.push_back(watcherTemp); - if (producerTemp) { - oProds.push_back(producerTemp); + << "RunManagerMTWorker::createWatchers: " + << "Unable to find the requested Watcher " << watcher.getParameter("type"); + } else { + std::shared_ptr watcherTemp; + std::shared_ptr producerTemp; + maker->make(watcher, *(iReg), watcherTemp, producerTemp); + if (nullptr != watcherTemp) { + if (!watcherTemp->isMT() && 0 < threadID) { + throw edm::Exception(edm::errors::Configuration) + << "RunManagerMTWorker::createWatchers: " + << "Unable to use Watcher " << watcher.getParameter("type") << " if number of threads > 1"; + } else { + oWatchers.push_back(watcherTemp); + if (nullptr != producerTemp) { + oProds.push_back(producerTemp); + } + } + } } } + return (!oWatchers.empty()); } } // namespace @@ -139,6 +150,7 @@ RunManagerMTWorker::RunManagerMTWorker(const edm::ParameterSet& iConfig, edm::Co m_nonBeam(iConfig.getParameter("NonBeamEvent")), m_pUseMagneticField(iConfig.getParameter("UseMagneticField")), m_LHCTransport(iConfig.getParameter("LHCTransport")), + m_thread_index{get_new_thread_index()}, m_EvtMgrVerbosity(iConfig.getUntrackedParameter("G4EventManagerVerbosity", 0)), m_pField(iConfig.getParameter("MagneticField")), m_pRunAction(iConfig.getParameter("RunAction")), @@ -147,16 +159,22 @@ RunManagerMTWorker::RunManagerMTWorker(const edm::ParameterSet& iConfig, edm::Co m_pTrackingAction(iConfig.getParameter("TrackingAction")), m_pSteppingAction(iConfig.getParameter("SteppingAction")), m_pCustomUIsession(iConfig.getUntrackedParameter("CustomUIsession")), - m_p(iConfig), - m_simEvent(nullptr), - m_sVerbose(nullptr), - m_thread_index{get_new_thread_index()} { + m_p(iConfig) { + int thisID = getThreadIndex(); + edm::LogVerbatim("SimG4CoreApplication") << "RunManagerMTWorker for the thread " << thisID; + + // sensitive detectors std::vector onlySDs = iConfig.getParameter>("OnlySDs"); m_sdMakers = sim::sensitiveDetectorMakers(m_p, iC, onlySDs); - std::vector watchers = iConfig.getParameter>("Watchers"); - m_hasWatchers = !watchers.empty(); + + // TLS and watchers initializeTLS(); - int thisID = getThreadIndex(); + if (m_hasWatchers) { + for (auto& watcher : m_tls->watchers) { + watcher->registerConsumes(iC); + } + } + if (m_LHCTransport) { m_LHCToken = iC.consumes(edm::InputTag("LHCTransport")); } @@ -183,6 +201,11 @@ void RunManagerMTWorker::beginRun(edm::EventSetup const& es) { if (m_pUseMagneticField) { m_pMagField = &es.getData(m_MagField); } + if (m_hasWatchers) { + for (auto& watcher : m_tls->watchers) { + watcher->beginRun(es); + } + } } void RunManagerMTWorker::endRun() { @@ -207,26 +230,26 @@ void RunManagerMTWorker::initializeTLS() { m_tls->registry->connect(*otherRegistry); if (thisID > 0) { throw edm::Exception(edm::errors::Configuration) + << "RunManagerMTWorker::initializeTLS : " << "SimActivityRegistry service (i.e. visualization) is not supported for more than 1 thread. " << " \n If this use case is needed, RunManagerMTWorker has to be updated."; } } - if (m_hasWatchers) { - createWatchers(m_p, m_tls->registry.get(), m_tls->watchers, m_tls->producers); - } + m_hasWatchers = createWatchers(m_p, m_tls->registry.get(), m_tls->watchers, m_tls->producers, thisID); } void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm::EventSetup& es) { + if (m_tls->threadInitialized) + return; + G4Timer timer; timer.Start(); // I guess everything initialized here should be in thread_local storage initializeTLS(); - if (m_tls->threadInitialized) - return; int thisID = getThreadIndex(); - edm::LogVerbatim("SimG4CoreApplication") << "RunManagerMTWorker::initializeThread " << thisID << " is started"; + edm::LogVerbatim("SimG4CoreApplication") << "RunManagerMTWorker::initializeG4 in thread " << thisID << " is started"; // Initialize per-thread output G4Threading::G4SetThreadId(thisID); @@ -240,7 +263,7 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: new CustomUIsessionToFile(m_pCustomUIsession.getUntrackedParameter("ThreadFile", ""), thisID); } else { throw edm::Exception(edm::errors::Configuration) - << "Invalid value of CustomUIsession.Type '" << uitype + << "RunManagerMTWorker::initializeG4: Invalid value of CustomUIsession.Type '" << uitype << "', valid are MessageLogger, MessageLoggerThreadPrefix, FilePerThread"; } @@ -278,9 +301,9 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: std::string fieldFile = m_p.getUntrackedParameter("FileNameField", ""); if (!fieldFile.empty()) { - std::call_once(applyOnce, [this]() { dumpMF = true; }); - if (dumpMF) { - edm::LogVerbatim("SimG4CoreApplication") << "RunManagerMTWorker: Dump magnetic field to file " << fieldFile; + std::call_once(applyOnce, [this]() { m_dumpMF = true; }); + if (m_dumpMF) { + edm::LogVerbatim("SimG4CoreApplication") << "RunManagerMTWorker::InitializeG4: Dump magnetic field to file " << fieldFile; DumpMagneticField(tM->GetFieldManager()->GetDetectorField(), fieldFile); } } @@ -294,18 +317,18 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: m_tls->sensCaloDets.swap(sensDets.second); edm::LogVerbatim("SimG4CoreApplication") - << "RunManagerMTWorker: Sensitive Detectors are built in thread " << thisID << " found " + << "RunManagerMTWorker::InitializeG4: Sensitive Detectors are built in thread " << thisID << " found " << m_tls->sensTkDets.size() << " Tk type SD, and " << m_tls->sensCaloDets.size() << " Calo type SD"; // Set the physics list for the worker, share from master PhysicsList* physicsList = runManagerMaster->physicsListForWorker(); edm::LogVerbatim("SimG4CoreApplication") - << "RunManagerMTWorker: start initialisation of PhysicsList for the thread " << thisID; + << "RunManagerMTWorker::InitializeG4: start initialisation of PhysicsList for the thread " << thisID; // Geant4 UI commands in PreInit state if (!runManagerMaster->G4Commands().empty()) { - G4cout << "RunManagerMTWorker: Requested UI commands: " << G4endl; + G4cout << "RunManagerMTWorker::InitializeG4: Requested UI commands: " << G4endl; for (const std::string& command : runManagerMaster->G4Commands()) { G4cout << " " << command << G4endl; G4UImanager::GetUIpointer()->ApplyCommand(command); @@ -319,7 +342,7 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: if (!m_tls->kernel->RunInitialization()) { throw edm::Exception(edm::errors::Configuration) - << "RunManagerMTWorker: Geant4 kernel initialization failed in thread " << thisID; + << "RunManagerMTWorker::InitializeG4: Geant4 kernel initialization failed in thread " << thisID; } //tell all interesting parties that we are beginning the job BeginOfJob aBeginOfJob(&es); @@ -337,11 +360,11 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: initializeUserActions(); G4StateManager::GetStateManager()->SetNewState(G4State_Idle); - m_tls->threadInitialized = true; timer.Stop(); edm::LogVerbatim("SimG4CoreApplication") - << "RunManagerMTWorker::initializeThread done for the thread " << thisID << " " << timer; + << "RunManagerMTWorker::initializeG4 done for the thread " << thisID << " " << timer; + m_tls->threadInitialized = true; } void RunManagerMTWorker::initializeUserActions() { @@ -453,7 +476,7 @@ std::unique_ptr RunManagerMTWorker::produce(const edm::Event& inpevt // Initialize run if (inpevt.id().run() != m_tls->currentRunNumber) { edm::LogVerbatim("SimG4CoreApplication") - << "RunID= " << inpevt.id().run() << " TLS RunID= " << m_tls->currentRunNumber; + << "RunManagerMTWorker::produce: RunID= " << inpevt.id().run() << " TLS RunID= " << m_tls->currentRunNumber; if (m_tls->currentRunNumber != 0 && !m_tls->runTerminated) { // If previous run in this thread was not terminated via endRun() call, // terminate it now @@ -573,7 +596,7 @@ void RunManagerMTWorker::DumpMagneticField(const G4Field* field, const std::stri std::ofstream fout(file.c_str(), std::ios::out); if (fout.fail()) { edm::LogWarning("SimG4CoreApplication") - << " RunManager WARNING : error opening file <" << file << "> for magnetic field"; + << "MTWorker::DumpMagneticField: error opening file <" << file << "> for magnetic field"; } else { // CMS magnetic field volume double rmax = 9000 * mm; diff --git a/SimG4Core/Watcher/interface/SimWatcher.h b/SimG4Core/Watcher/interface/SimWatcher.h index 5d076bfadd57d..ff5da3d123bc0 100644 --- a/SimG4Core/Watcher/interface/SimWatcher.h +++ b/SimG4Core/Watcher/interface/SimWatcher.h @@ -24,13 +24,30 @@ called by the dynamic loading code. // Created: Tue Nov 22 15:35:11 EST 2005 // +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/ConsumesCollector.h" + class SimWatcher { public: SimWatcher() {} virtual ~SimWatcher() {} + // Two methods are needed to be implemented in the thread + // safe watchers and producers + virtual void registerConsumes(edm::ConsumesCollector){}; + virtual void beginRun(edm::EventSetup const &){}; + + bool isMT() const { return applicableForMT; } + SimWatcher(const SimWatcher &) = delete; const SimWatcher &operator=(const SimWatcher &) = delete; + +protected: + // Set "true" for thread safe watchers/producers + void setMT(bool val) { applicableForMT = val; } + +private: + bool applicableForMT{false}; }; #endif From ed342365c51b8a1c1cadbe709af55d48a96d17db Mon Sep 17 00:00:00 2001 From: Vladimir Date: Wed, 24 Nov 2021 08:08:48 +0100 Subject: [PATCH 136/268] code format --- .../Application/src/RunManagerMTWorker.cc | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/SimG4Core/Application/src/RunManagerMTWorker.cc b/SimG4Core/Application/src/RunManagerMTWorker.cc index bb083701d773a..af7ff16e76b00 100644 --- a/SimG4Core/Application/src/RunManagerMTWorker.cc +++ b/SimG4Core/Application/src/RunManagerMTWorker.cc @@ -86,17 +86,17 @@ namespace { SimWatcherFactory::get()->create(watcher.getParameter("type"))); if (maker == nullptr) { throw edm::Exception(edm::errors::Configuration) - << "RunManagerMTWorker::createWatchers: " - << "Unable to find the requested Watcher " << watcher.getParameter("type"); + << "RunManagerMTWorker::createWatchers: " + << "Unable to find the requested Watcher " << watcher.getParameter("type"); } else { - std::shared_ptr watcherTemp; - std::shared_ptr producerTemp; - maker->make(watcher, *(iReg), watcherTemp, producerTemp); + std::shared_ptr watcherTemp; + std::shared_ptr producerTemp; + maker->make(watcher, *(iReg), watcherTemp, producerTemp); if (nullptr != watcherTemp) { if (!watcherTemp->isMT() && 0 < threadID) { throw edm::Exception(edm::errors::Configuration) - << "RunManagerMTWorker::createWatchers: " - << "Unable to use Watcher " << watcher.getParameter("type") << " if number of threads > 1"; + << "RunManagerMTWorker::createWatchers: " + << "Unable to use Watcher " << watcher.getParameter("type") << " if number of threads > 1"; } else { oWatchers.push_back(watcherTemp); if (nullptr != producerTemp) { @@ -230,7 +230,7 @@ void RunManagerMTWorker::initializeTLS() { m_tls->registry->connect(*otherRegistry); if (thisID > 0) { throw edm::Exception(edm::errors::Configuration) - << "RunManagerMTWorker::initializeTLS : " + << "RunManagerMTWorker::initializeTLS : " << "SimActivityRegistry service (i.e. visualization) is not supported for more than 1 thread. " << " \n If this use case is needed, RunManagerMTWorker has to be updated."; } @@ -303,7 +303,8 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: if (!fieldFile.empty()) { std::call_once(applyOnce, [this]() { m_dumpMF = true; }); if (m_dumpMF) { - edm::LogVerbatim("SimG4CoreApplication") << "RunManagerMTWorker::InitializeG4: Dump magnetic field to file " << fieldFile; + edm::LogVerbatim("SimG4CoreApplication") + << "RunManagerMTWorker::InitializeG4: Dump magnetic field to file " << fieldFile; DumpMagneticField(tM->GetFieldManager()->GetDetectorField(), fieldFile); } } From 436a12d6a24f00c06ec4939642469b97722a3e7d Mon Sep 17 00:00:00 2001 From: Marino Missiroli Date: Wed, 24 Nov 2021 08:46:10 +0100 Subject: [PATCH 137/268] updated default "data" GT in Tools/options.py --- HLTrigger/Configuration/python/Tools/options.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HLTrigger/Configuration/python/Tools/options.py b/HLTrigger/Configuration/python/Tools/options.py index beb65e13dab58..a051724466ba4 100644 --- a/HLTrigger/Configuration/python/Tools/options.py +++ b/HLTrigger/Configuration/python/Tools/options.py @@ -8,7 +8,7 @@ 'HIon' : 'auto:run3_mc_HIon', 'PIon' : 'auto:run3_mc_PIon', 'PRef' : 'auto:run3_mc_PRef', - 'data' : 'auto:run2_hlt_relval', + 'data' : 'auto:run3_hlt', } From 1cd5cfd4f78ef6eaa23e6b556983d44cb8dcf971 Mon Sep 17 00:00:00 2001 From: Byeonghak Ko Date: Wed, 24 Nov 2021 09:12:10 +0100 Subject: [PATCH 138/268] Displaying under/overflow bins, modification on r-phi plots --- DQM/GEM/interface/GEMDQMBase.h | 41 +++++++++++++++++++++++++- DQM/GEM/interface/GEMDigiSource.h | 3 ++ DQM/GEM/plugins/GEMDQMHarvester.cc | 46 ++++++++++++++++++++++-------- DQM/GEM/plugins/GEMDigiSource.cc | 29 +++++++++++++++++-- DQM/GEM/plugins/GEMRecHitSource.cc | 27 +++++++++++++----- DQM/GEM/src/GEMDQMBase.cc | 1 + 6 files changed, 124 insertions(+), 23 deletions(-) diff --git a/DQM/GEM/interface/GEMDQMBase.h b/DQM/GEM/interface/GEMDQMBase.h index 024f8e1461107..18a6398bf2432 100644 --- a/DQM/GEM/interface/GEMDQMBase.h +++ b/DQM/GEM/interface/GEMDQMBase.h @@ -100,7 +100,7 @@ class GEMDQMBase : public DQMEDAnalyzer { template class MEMapInfT { public: - MEMapInfT() : bOperating_(false){}; + MEMapInfT() : bOperating_(false), bIsNoUnderOverflowBin_(false){}; MEMapInfT( GEMDQMBase *pDQMBase, TString strName, TString strTitle, TString strTitleX = "", TString strTitleY = "Entries") @@ -126,6 +126,7 @@ class GEMDQMBase : public DQMEDAnalyzer { strTitleY_(strTitleY), bOperating_(true), bIsProfile_(false), + bIsNoUnderOverflowBin_(false), nBinsX_(nBinsX), dXL_(dXL), dXH_(dXH), @@ -145,6 +146,7 @@ class GEMDQMBase : public DQMEDAnalyzer { strTitleY_(strTitleY), bOperating_(true), bIsProfile_(false), + bIsNoUnderOverflowBin_(false), nBinsX_(-1), nBinsY_(-1), log_category_own_(pDQMBase->log_category_) { @@ -170,6 +172,7 @@ class GEMDQMBase : public DQMEDAnalyzer { strTitleY_(strTitleY), bOperating_(true), bIsProfile_(false), + bIsNoUnderOverflowBin_(false), nBinsX_(nBinsX), dXL_(dXL), dXH_(dXH), @@ -200,6 +203,7 @@ class GEMDQMBase : public DQMEDAnalyzer { strTitleY_(strTitleY), bOperating_(true), bIsProfile_(true), + bIsNoUnderOverflowBin_(false), nBinsX_(nBinsX), dXL_(dXL), dXH_(dXH), @@ -223,6 +227,7 @@ class GEMDQMBase : public DQMEDAnalyzer { // strTitleX_(strTitleX), // strTitleY_(strTitleY), // bOperating_(true), + // bIsNoUnderOverflowBin_(false), // nBinsX_(nBinsX), // dXL_(dXL), // dXH_(dXH), @@ -237,6 +242,7 @@ class GEMDQMBase : public DQMEDAnalyzer { void SetOperating(Bool_t bOperating) { bOperating_ = bOperating; }; void TurnOn() { bOperating_ = true; }; void TurnOff() { bOperating_ = false; }; + void SetNoUnderOverflowBin() { bIsNoUnderOverflowBin_ = true; }; Bool_t isProfile() { return bIsProfile_; }; void SetProfile(Bool_t bIsProfile) { bIsProfile_ = bIsProfile; }; @@ -286,10 +292,20 @@ class GEMDQMBase : public DQMEDAnalyzer { dYH_ = dH; }; + void SetPointUOFlow() { + dXU_ = dXL_ + (dXH_ - dXL_) / nBinsX_ * 0.5; + dXO_ = dXL_ + (dXH_ - dXL_) / nBinsX_ * (nBinsX_ - 0.5); + dYU_ = dYL_ + (dYH_ - dYL_) / nBinsY_ * 0.5; + dYO_ = dYL_ + (dYH_ - dYL_) / nBinsY_ * (nBinsY_ - 0.5); + dZU_ = dZL_ + (dZH_ - dZL_) / nBinsZ_ * 0.5; + dZO_ = dZL_ + (dZH_ - dZL_) / nBinsZ_ * (nBinsZ_ - 0.5); + }; + M &map() { return mapHist; } int bookND(BookingHelper &bh, K key) { if (!bOperating_) return 0; + SetPointUOFlow(); if (bIsProfile_) { mapHist[key] = bh.bookProfile2D( strName_, strTitle_, nBinsX_, dXL_, dXH_, nBinsY_, dYL_, dYH_, dZL_, dZH_, strTitleX_, strTitleY_); @@ -364,6 +380,12 @@ class GEMDQMBase : public DQMEDAnalyzer { dqm::impl::MonitorElement *hist = FindHist(key); if (hist == nullptr) return -999; + if (bIsNoUnderOverflowBin_) { + if (x <= dXL_) + x = dXU_; + else if (x >= dXH_) + x = dXO_; + } hist->Fill(x); return 1; }; @@ -374,6 +396,16 @@ class GEMDQMBase : public DQMEDAnalyzer { dqm::impl::MonitorElement *hist = FindHist(key); if (hist == nullptr) return -999; + if (bIsNoUnderOverflowBin_) { + if (x <= dXL_) + x = dXU_; + else if (x >= dXH_) + x = dXO_; + if (y <= dYL_) + y = dYU_; + else if (y >= dYH_) + y = dYO_; + } hist->Fill(x, y, w); return 1; }; @@ -404,13 +436,18 @@ class GEMDQMBase : public DQMEDAnalyzer { TString strName_, strTitle_, strTitleX_, strTitleY_; Bool_t bOperating_; Bool_t bIsProfile_; + Bool_t bIsNoUnderOverflowBin_; std::vector x_binning_; Int_t nBinsX_; Double_t dXL_, dXH_; Int_t nBinsY_; Double_t dYL_, dYH_; + Int_t nBinsZ_; Double_t dZL_, dZH_; + Double_t dXU_, dXO_; + Double_t dYU_, dYO_; + Double_t dZU_, dZO_; std::string log_category_own_; }; @@ -450,6 +487,8 @@ class GEMDQMBase : public DQMEDAnalyzer { Int_t nNumEtaPartitions_; // the number of eta partitions of the chambers Int_t nMaxVFAT_; // the number of all VFATs in each chamber (= # of VFATs in eta partition * nNumEtaPartitions_) Int_t nNumDigi_; // the number of digis of each VFAT + + Float_t fMinPhi_; }; public: diff --git a/DQM/GEM/interface/GEMDigiSource.h b/DQM/GEM/interface/GEMDigiSource.h index fa89c01dfa2fd..75733843052d7 100644 --- a/DQM/GEM/interface/GEMDigiSource.h +++ b/DQM/GEM/interface/GEMDigiSource.h @@ -49,6 +49,7 @@ class GEMDigiSource : public GEMDQMBase { edm::EDGetTokenT lumiScalers_; MEMap3Inf mapTotalDigi_layer_; + MEMap3Inf mapDigiWheel_layer_; MEMap3Inf mapDigiOcc_ieta_; MEMap3Inf mapDigiOcc_phi_; MEMap3Inf mapTotalDigiPerEvtLayer_; @@ -60,6 +61,8 @@ class GEMDigiSource : public GEMDQMBase { MonitorElement* h2SummaryOcc_; Int_t nBXMin_, nBXMax_; + Float_t fRadiusMin_; + Float_t fRadiusMax_; Bool_t bModeRelVal_; }; diff --git a/DQM/GEM/plugins/GEMDQMHarvester.cc b/DQM/GEM/plugins/GEMDQMHarvester.cc index 8ba55f9603bb0..988aa43cbf118 100644 --- a/DQM/GEM/plugins/GEMDQMHarvester.cc +++ b/DQM/GEM/plugins/GEMDQMHarvester.cc @@ -44,16 +44,21 @@ class GEMDQMHarvester : public DQMEDHarvester { MonitorElement *h2Src, std::string strSuffix, MonitorElement *&h2Sum); - Float_t refineSummaryHistogram(MonitorElement *h2Sum, + Float_t refineSummaryHistogram(std::string strName, + MonitorElement *h2Sum, MonitorElement *h2SrcOcc, MonitorElement *h2SrcAllNum, MonitorElement *h2SrcStatusE, MonitorElement *h2SrcStatusW); - Int_t refineSummaryVFAT(MonitorElement *h2Sum, + Int_t refineSummaryVFAT(std::string strName, + MonitorElement *h2Sum, MonitorElement *h2SrcOcc, MonitorElement *h2SrcStatusE, MonitorElement *h2SrcStatusW); - Int_t assessOneBin(Float_t fAll, Float_t fNumOcc, Float_t fNumWarn, Float_t fNumErr); + Int_t assessOneBin( + std::string strName, Int_t nIdxX, Int_t nIdxY, Float_t fAll, Float_t fNumOcc, Float_t fNumWarn, Float_t fNumErr); + + Float_t fCutErr_, fCutWarnErr_, fCutWarn_; Float_t fReportSummary_; std::string strOutFile_; @@ -62,6 +67,9 @@ class GEMDQMHarvester : public DQMEDHarvester { std::string strDirRecHit_; std::string strDirStatus_; + typedef std::vector> TableStatusOcc; + typedef std::vector> TableStatusNum; + std::vector listLayer_; }; @@ -71,6 +79,10 @@ GEMDQMHarvester::GEMDQMHarvester(const edm::ParameterSet &cfg) { strDirSummary_ = "GEM/EventInfo"; strDirRecHit_ = "GEM/RecHits"; strDirStatus_ = "GEM/DAQStatus"; + + fCutErr_ = 0.05; + fCutWarnErr_ = 0.00; + fCutWarn_ = 0.05; } void GEMDQMHarvester::fillDescriptions(edm::ConfigurationDescriptions &descriptions) { @@ -104,10 +116,13 @@ void GEMDQMHarvester::drawSummaryHistogram(edm::Service &store) { MonitorElement *h2SrcStatusW = store->get(strSrcStatusW); MonitorElement *h2SrcStatusE = store->get(strSrcStatusE); + std::string strTitleSummary = "summary"; + if (h2SrcDigiOcc != nullptr && h2SrcStatusA != nullptr && h2SrcStatusW != nullptr && h2SrcStatusE != nullptr) { MonitorElement *h2Sum = nullptr; createSummaryHist(store, h2SrcStatusE, h2Sum, listLayer_); - fReportSummary_ = refineSummaryHistogram(h2Sum, h2SrcDigiOcc, h2SrcStatusA, h2SrcStatusE, h2SrcStatusW); + fReportSummary_ = + refineSummaryHistogram(strTitleSummary, h2Sum, h2SrcDigiOcc, h2SrcStatusA, h2SrcStatusE, h2SrcStatusW); for (const auto &strSuffix : listLayer_) { MonitorElement *h2SrcVFATOcc = store->get(strSrcVFATOcc + strSuffix); @@ -115,9 +130,10 @@ void GEMDQMHarvester::drawSummaryHistogram(edm::Service &store) { MonitorElement *h2SrcVFATStatusE = store->get(strSrcVFATStatusE + strSuffix); if (h2SrcVFATOcc == nullptr || h2SrcVFATStatusW == nullptr || h2SrcVFATStatusE == nullptr) continue; + MonitorElement *h2SumVFAT = nullptr; createSummaryVFAT(store, h2SrcVFATStatusE, strSuffix, h2SumVFAT); - refineSummaryVFAT(h2SumVFAT, h2SrcVFATOcc, h2SrcVFATStatusE, h2SrcVFATStatusW); + refineSummaryVFAT(strSuffix, h2SumVFAT, h2SrcVFATOcc, h2SrcVFATStatusE, h2SrcVFATStatusW); TString strNewTitle = h2SrcVFATStatusE->getTitle(); h2SumVFAT->setTitle((const char *)strNewTitle.ReplaceAll("errors", "errors/warnings")); h2SumVFAT->setXTitle(h2SrcVFATStatusE->getAxisTitle(1)); @@ -178,10 +194,13 @@ void GEMDQMHarvester::createSummaryVFAT(edm::Service &store, copyLabels(h2Src, h2Sum); } -Int_t GEMDQMHarvester::assessOneBin(Float_t fAll, Float_t fNumOcc, Float_t fNumWarn, Float_t fNumErr) { - if (fNumErr > 0.05 * fAll) // The error status criterion +Int_t GEMDQMHarvester::assessOneBin( + std::string strName, Int_t nIdxX, Int_t nIdxY, Float_t fAll, Float_t fNumOcc, Float_t fNumWarn, Float_t fNumErr) { + if (fNumErr > fCutErr_ * fAll) // The error status criterion return 2; - else if (fNumErr > 0.00 * fAll || fNumWarn > 0.05 * fAll) // The warning status criterion + else if (fNumErr > fCutWarnErr_ * fAll) // The low-error status criterion + return 4; + else if (fNumWarn > fCutWarn_ * fAll) // The warning status criterion return 3; else if (fNumOcc > 0) return 1; @@ -190,7 +209,8 @@ Int_t GEMDQMHarvester::assessOneBin(Float_t fAll, Float_t fNumOcc, Float_t fNumW } // FIXME: Need more study about how to summarize -Float_t GEMDQMHarvester::refineSummaryHistogram(MonitorElement *h2Sum, +Float_t GEMDQMHarvester::refineSummaryHistogram(std::string strName, + MonitorElement *h2Sum, MonitorElement *h2SrcOcc, MonitorElement *h2SrcStatusA, MonitorElement *h2SrcStatusE, @@ -207,7 +227,7 @@ Float_t GEMDQMHarvester::refineSummaryHistogram(MonitorElement *h2Sum, Float_t fStatusWarn = h2SrcStatusW->getBinContent(i, j); Float_t fStatusErr = h2SrcStatusE->getBinContent(i, j); - Int_t nRes = assessOneBin(fStatusAll, fOcc, fStatusWarn, fStatusErr); + Int_t nRes = assessOneBin(strName, i, j, fStatusAll, fOcc, fStatusWarn, fStatusErr); if (nRes == 1) nFineBin++; @@ -219,7 +239,8 @@ Float_t GEMDQMHarvester::refineSummaryHistogram(MonitorElement *h2Sum, return ((Float_t)nFineBin) / nAllBin; } -Int_t GEMDQMHarvester::refineSummaryVFAT(MonitorElement *h2Sum, +Int_t GEMDQMHarvester::refineSummaryVFAT(std::string strName, + MonitorElement *h2Sum, MonitorElement *h2SrcOcc, MonitorElement *h2SrcStatusE, MonitorElement *h2SrcStatusW) { @@ -231,7 +252,8 @@ Int_t GEMDQMHarvester::refineSummaryVFAT(MonitorElement *h2Sum, Float_t fStatusWarn = h2SrcStatusW->getBinContent(i, j); Float_t fStatusErr = h2SrcStatusE->getBinContent(i, j); Float_t fStatusAll = fOcc + fStatusWarn + fStatusErr; - Int_t nRes = assessOneBin(fStatusAll, fOcc, fStatusWarn, fStatusErr); + + Int_t nRes = assessOneBin(strName, i, j, fStatusAll, fOcc, fStatusWarn, fStatusErr); h2Sum->setBinContent(i, j, (Float_t)nRes); } } diff --git a/DQM/GEM/plugins/GEMDigiSource.cc b/DQM/GEM/plugins/GEMDigiSource.cc index fda09495c3c4d..0a72655efc12d 100644 --- a/DQM/GEM/plugins/GEMDigiSource.cc +++ b/DQM/GEM/plugins/GEMDigiSource.cc @@ -26,8 +26,14 @@ void GEMDigiSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, nBXMin_ = -10; nBXMax_ = 10; + fRadiusMin_ = 120.0; + fRadiusMax_ = 250.0; + float radS = -5.0 / 180 * 3.141592; + float radL = 355.0 / 180 * 3.141592; mapTotalDigi_layer_ = MEMap3Inf(this, "det", "Digi Occupancy", 36, 0.5, 36.5, 24, -0.5, 24 - 0.5, "Chamber", "VFAT"); + mapDigiWheel_layer_ = MEMap3Inf( + this, "rphi_occ", "Digi R-Phi Occupancy", 360, radS, radL, 8, fRadiusMin_, fRadiusMax_, "#phi (rad)", "R [cm]"); mapDigiOcc_ieta_ = MEMap3Inf(this, "occ_ieta", "Digi iEta Occupancy", 8, 0.5, 8.5, "iEta", "Number of fired digis"); mapDigiOcc_phi_ = MEMap3Inf(this, "occ_phi", "Digi Phi Occupancy", 108, -5, 355, "#phi (degree)", "Number of fired digis"); @@ -39,6 +45,7 @@ void GEMDigiSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, 99.5, "Number of fired digis", "Events"); + mapTotalDigiPerEvtLayer_.SetNoUnderOverflowBin(); mapTotalDigiPerEvtIEta_ = MEMap3Inf(this, "digis_per_ieta", "Total number of digis per event for each eta partitions", @@ -47,6 +54,7 @@ void GEMDigiSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, 99.5, "Number of fired digis", "Events"); + mapTotalDigiPerEvtIEta_.SetNoUnderOverflowBin(); mapBX_ = MEMap2Inf(this, "bx", "Digi Bunch Crossing", 21, nBXMin_ - 0.5, nBXMax_ + 0.5, "Bunch crossing"); @@ -54,6 +62,7 @@ void GEMDigiSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, if (bModeRelVal_) { mapTotalDigi_layer_.TurnOff(); + mapDigiWheel_layer_.TurnOff(); mapDigiOccPerCh_.TurnOff(); } @@ -84,12 +93,20 @@ int GEMDigiSource::ProcessWithMEMap2WithEta(BookingHelper& bh, ME3IdsKey key) { int GEMDigiSource::ProcessWithMEMap3(BookingHelper& bh, ME3IdsKey key) { MEStationInfo& stationInfo = mapStationInfo_[key]; + int nNumVFATPerEta = stationInfo.nMaxVFAT_ / stationInfo.nNumEtaPartitions_; + mapTotalDigi_layer_.SetBinConfX(stationInfo.nNumChambers_); mapTotalDigi_layer_.SetBinConfY(stationInfo.nMaxVFAT_, -0.5); mapTotalDigi_layer_.bookND(bh, key); mapTotalDigi_layer_.SetLabelForChambers(key, 1); mapTotalDigi_layer_.SetLabelForVFATs(key, stationInfo.nNumEtaPartitions_, 2); + mapDigiWheel_layer_.SetBinLowEdgeX(stationInfo.fMinPhi_); + mapDigiWheel_layer_.SetBinHighEdgeX(stationInfo.fMinPhi_ + 2 * 3.141592); + mapDigiWheel_layer_.SetNbinsX(nNumVFATPerEta * stationInfo.nNumChambers_); + mapDigiWheel_layer_.SetNbinsY(stationInfo.nNumEtaPartitions_); + mapDigiWheel_layer_.bookND(bh, key); + mapDigiOcc_ieta_.SetBinConfX(stationInfo.nNumEtaPartitions_); mapDigiOcc_ieta_.bookND(bh, key); mapDigiOcc_ieta_.SetLabelForIEta(key, 1); @@ -130,6 +147,7 @@ void GEMDigiSource::analyze(edm::Event const& event, edm::EventSetup const& even ME4IdsKey key4Ch{gid.region(), gid.station(), gid.layer(), gid.chamber()}; std::map bTagVFAT; bTagVFAT.clear(); + MEStationInfo& stationInfo = mapStationInfo_[key3]; const BoundPlane& surface = GEMGeometry_->idToDet(gid)->surface(); if (total_digi_layer.find(key3) == total_digi_layer.end()) total_digi_layer[key3] = 0; @@ -148,11 +166,16 @@ void GEMDigiSource::analyze(edm::Event const& event, edm::EventSetup const& even mapDigiOcc_ieta_.Fill(key3, eId.ieta()); // Eta (partition) GlobalPoint digi_global_pos = surface.toGlobal(iEta->centreOfStrip(d->strip())); - Float_t fPhiDeg = ((Float_t)digi_global_pos.phi()) * 180.0 / 3.141592; - if (fPhiDeg < -5.0) - fPhiDeg += 360.0; + Float_t fPhi = (Float_t)digi_global_pos.phi(); + Float_t fPhiDeg = fPhi * 180.0 / 3.141592; + fPhiDeg = (fPhi >= -0.5 ? fPhi : fPhi + 360); mapDigiOcc_phi_.Fill(key3, fPhiDeg); // Phi + // Filling of R-Phi occupancy + Float_t fR = fRadiusMin_ + (fRadiusMax_ - fRadiusMin_) * (eId.ieta() - 0.5) / stationInfo.nNumEtaPartitions_; + Float_t fPhiShift = (fPhi >= stationInfo.fMinPhi_ ? fPhi : fPhi + 2 * 3.141592); + mapDigiWheel_layer_.Fill(key3, fPhiShift, fR); + mapDigiOccPerCh_.Fill(key4Ch, d->strip(), eId.ieta()); // Per chamber // For total digis diff --git a/DQM/GEM/plugins/GEMRecHitSource.cc b/DQM/GEM/plugins/GEMRecHitSource.cc index 72442bdd92492..89c54c7950f1a 100644 --- a/DQM/GEM/plugins/GEMRecHitSource.cc +++ b/DQM/GEM/plugins/GEMRecHitSource.cc @@ -43,10 +43,10 @@ void GEMRecHitSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& mapTotalRecHit_layer_ = MEMap3Inf(this, "det", "RecHit Occupancy", 36, 0.5, 36.5, 8, 0.5, 8.5, "Chamber", "iEta"); mapRecHitWheel_layer_ = MEMap3Inf( - this, "rphi_occ", "RecHit R-Phi Occupancy", 108, radS, radL, 8, fRadiusMin_, fRadiusMax_, "#phi (rad)", "R [cm]"); + this, "rphi_occ", "RecHit R-Phi Occupancy", 360, radS, radL, 8, fRadiusMin_, fRadiusMax_, "#phi (rad)", "R [cm]"); mapRecHitOcc_ieta_ = MEMap3Inf(this, "occ_ieta", "RecHit iEta Occupancy", 8, 0.5, 8.5, "iEta", "Number of RecHits"); mapRecHitOcc_phi_ = - MEMap3Inf(this, "occ_phi", "RecHit Phi Occupancy", 108, -5, 355, "#phi (degree)", "Number of RecHits"); + MEMap3Inf(this, "occ_phi", "RecHit Phi Occupancy", 360, -5, 355, "#phi (degree)", "Number of RecHits"); mapTotalRecHitPerEvtLayer_ = MEMap3Inf(this, "rechits_per_layer", "Total number of RecHits per event for each layers", @@ -55,6 +55,7 @@ void GEMRecHitSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& 2000 - 0.5, "Number of RecHits", "Events"); + mapTotalRecHitPerEvtLayer_.SetNoUnderOverflowBin(); mapTotalRecHitPerEvtIEta_ = MEMap3Inf(this, "rechits_per_ieta", "Total number of RecHits per event for each eta partitions", @@ -63,6 +64,7 @@ void GEMRecHitSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& 300 - 0.5, "Number of RecHits", "Events"); + mapTotalRecHitPerEvtIEta_.SetNoUnderOverflowBin(); mapCLSRecHit_ieta_ = MEMap3Inf( this, "cls", "Cluster size of RecHits", nCLSMax_, 0.5, nCLSMax_ + 0.5, "Cluster size", "Number of RecHits"); mapCLSAverage_ = MEMap3Inf(this, // TProfile2D @@ -95,6 +97,16 @@ void GEMRecHitSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& GenerateMEPerChamber(ibooker); } +//int GEMRecHitSource::SetupRPhiPlot(ME3IdsKey key) { +// MEStationInfo& stationInfo = mapStationInfo_[key]; +// +// auto hRPhi = mapRecHitWheel_layer_.FindHist(key); +// +// +// +// return 0; +//} + int GEMRecHitSource::ProcessWithMEMap2WithEta(BookingHelper& bh, ME3IdsKey key) { mapTotalRecHitPerEvtIEta_.bookND(bh, key); @@ -118,11 +130,12 @@ int GEMRecHitSource::ProcessWithMEMap3(BookingHelper& bh, ME3IdsKey key) { mapTotalRecHit_layer_.SetLabelForChambers(key, 1); mapTotalRecHit_layer_.SetLabelForIEta(key, 2); - mapRecHitWheel_layer_.SetBinLowEdgeX(-0.088344); // FIXME: It could be different for other stations... - mapRecHitWheel_layer_.SetBinHighEdgeX(-0.088344 + 2 * 3.141592); + mapRecHitWheel_layer_.SetBinLowEdgeX(stationInfo.fMinPhi_); + mapRecHitWheel_layer_.SetBinHighEdgeX(stationInfo.fMinPhi_ + 2 * 3.141592); mapRecHitWheel_layer_.SetNbinsX(nNumVFATPerEta * stationInfo.nNumChambers_); mapRecHitWheel_layer_.SetNbinsY(stationInfo.nNumEtaPartitions_); mapRecHitWheel_layer_.bookND(bh, key); + //SetupRPhiPlot(key); mapRecHitOcc_ieta_.SetBinConfX(stationInfo.nNumEtaPartitions_); mapRecHitOcc_ieta_.bookND(bh, key); @@ -184,21 +197,21 @@ void GEMRecHitSource::analyze(edm::Event const& event, edm::EventSetup const& ev for (auto hit = gemRecHit; hit != recHitsRange.second; ++hit) { GlobalPoint recHitGP = GEMGeometry_->idToDet(hit->gemId())->surface().toGlobal(hit->localPosition()); Float_t fPhi = recHitGP.phi(); - if (fPhi < -5.0 / 180.0 * 3.141592) - fPhi += 2 * 3.141592; // Filling of RecHit occupancy mapTotalRecHit_layer_.Fill(key3, chamber, eId.ieta()); // Filling of R-Phi occupancy Float_t fR = fRadiusMin_ + (fRadiusMax_ - fRadiusMin_) * (eId.ieta() - 0.5) / stationInfo.nNumEtaPartitions_; - mapRecHitWheel_layer_.Fill(key3, fPhi, fR); + Float_t fPhiShift = (fPhi >= stationInfo.fMinPhi_ ? fPhi : fPhi + 2 * 3.141592); + mapRecHitWheel_layer_.Fill(key3, fPhiShift, fR); // Filling of RecHit (iEta) mapRecHitOcc_ieta_.Fill(key3, eId.ieta()); // Filling of RecHit (phi) Float_t fPhiDeg = fPhi * 180.0 / 3.141592; + fPhiDeg = (fPhi >= -0.5 ? fPhi : fPhi + 360); mapRecHitOcc_phi_.Fill(key3, fPhiDeg); // For total RecHits diff --git a/DQM/GEM/src/GEMDQMBase.cc b/DQM/GEM/src/GEMDQMBase.cc index c2aa3349b4fea..a1f5cf010e4bd 100644 --- a/DQM/GEM/src/GEMDQMBase.cc +++ b/DQM/GEM/src/GEMDQMBase.cc @@ -86,6 +86,7 @@ int GEMDQMBase::loadChambers() { ME3IdsKey key3(region_number, station_number, layer_number); mapStationInfo_[key3] = MEStationInfo(region_number, station_number, layer_number, num_superchambers, num_etas, num_vfat, num_digi); + mapStationInfo_[key3].fMinPhi_ = -0.088344; // FIXME } } } From 3d2cf7f08c50c9369a111b2b283d8faafb22d126 Mon Sep 17 00:00:00 2001 From: Davide Valsecchi Date: Tue, 23 Nov 2021 16:24:19 +0100 Subject: [PATCH 139/268] Added more variables for Electron PFID DNN --- .../src/ElectronDNNEstimator.cc | 95 ++++++++++++++----- 1 file changed, 70 insertions(+), 25 deletions(-) diff --git a/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc b/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc index a9efb07025ac2..37f2c7c957307 100644 --- a/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc +++ b/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc @@ -37,31 +37,51 @@ ElectronDNNEstimator::ElectronDNNEstimator(const egammaTools::DNNConfiguration& std::vector ElectronDNNEstimator::getSessions() const { return dnnHelper_.getSessions(); }; -const std::vector ElectronDNNEstimator::dnnAvaibleInputs = {{"pt", - "eta", - "fbrem", - "abs(deltaEtaSuperClusterTrackAtVtx)", - "abs(deltaPhiSuperClusterTrackAtVtx)", - "full5x5_sigmaIetaIeta", - "full5x5_hcalOverEcal", - "eSuperClusterOverP", - "full5x5_e1x5", - "eEleClusterOverPout", - "closestCtfTrackNormChi2", - "closestCtfTrackNLayers", - "gsfTrack.missing_inner_hits", - "dr03TkSumPt", - "dr03EcalRecHitSumEt", - "dr03HcalTowerSumEt", - "gsfTrack.normalizedChi2", - "superCluster.eta", - "ecalPFClusterIso", - "hcalPFClusterIso", - "numberOfBrems", - "abs(deltaEtaSeedClusterTrackAtCalo)", - "hadronicOverEm", - "full5x5_e2x5Max", - "full5x5_e5x5"}}; +const std::vector ElectronDNNEstimator::dnnAvaibleInputs = { + {"pt", + "eta", + "fbrem", + "abs(deltaEtaSuperClusterTrackAtVtx)", + "abs(deltaPhiSuperClusterTrackAtVtx)", + "full5x5_sigmaIetaIeta", + "full5x5_hcalOverEcal", + "eSuperClusterOverP", + "full5x5_e1x5", + "eEleClusterOverPout", + "closestCtfTrackNormChi2", + "closestCtfTrackNLayers", + "gsfTrack.missing_inner_hits", + "dr03TkSumPt", + "dr03EcalRecHitSumEt", + "dr03HcalTowerSumEt", + "gsfTrack.normalizedChi2", + "superCluster.eta", + "ecalPFClusterIso", + "hcalPFClusterIso", + "numberOfBrems", + "abs(deltaEtaSeedClusterTrackAtCalo)", + "hadronicOverEm", + "full5x5_e2x5Max", + "full5x5_e5x5", + "full5x5_sigmaIphiIphi", + "1_minus_full5x5_e1x5_ratio_full5x5_e5x5", + "full5x5_e1x5_ratio_full5x5_e5x5", + "full5x5_r9", + "gsfTrack.trackerLayersWithMeasurement", + "superCluster.energy", + "superCluster.rawEnergy", + "superClusterFbrem", + "1_ratio_ecalEnergy_minus_1_ratio_trackMomentumAtVtx.R", + "superCluster.preshowerEnergy_ratio_superCluster.rawEnergy", + "convVtxFitProb", + "superCluster.clustersSize", + "ecalEnergyError_ratio_ecalEnergy", + "superClusterFbrem_plus_superCluster.energy", + "superClusterFbrem_plus_superCluster.rawEnergy", + "trackMomentumError", + "trackMomentumError_ratio_pt", + "full5x5_e5x5_ratio_superCluster.rawEnergy", + "full5x5_e5x5_ratio_superCluster.energy"}}; std::map ElectronDNNEstimator::getInputsVars(const reco::GsfElectron& ele) const { // Prepare a map with all the defined variables @@ -94,6 +114,31 @@ std::map ElectronDNNEstimator::getInputsVars(const reco::Gsf variables["hadronicOverEm"] = ele.hcalOverEcalValid() ? ele.hadronicOverEm() : 0; variables["full5x5_e2x5Max"] = ele.full5x5_e2x5Max(); variables["full5x5_e5x5"] = ele.full5x5_e5x5(); + + variables["full5x5_sigmaIphiIphi"] = ele.full5x5_sigmaIphiIphi(); + variables["1_minus_full5x5_e1x5_ratio_full5x5_e5x5"] = 1 - ele.full5x5_e1x5() / ele.full5x5_e5x5(); + variables["full5x5_e1x5_ratio_full5x5_e5x5"] = ele.full5x5_e1x5() / ele.full5x5_e5x5(); + variables["full5x5_r9"] = ele.full5x5_r9(); + variables["gsfTrack.hitPattern.trackerLayersWithMeasurement"] = + (validKF) ? myTrackRef->hitPattern().trackerLayersWithMeasurement() : -1.; + variables["superCluster.energy"] = ele.superCluster()->energy(); + variables["superCluster.rawEnergy"] = ele.superCluster()->rawEnergy(); + variables["superClusterFbrem"] = ele.superClusterFbrem(); + variables["1_ratio_ecalEnergy_minus_1_ratio_trackMomentumAtVtx.R"] = + 1 / ele.ecalEnergy() - 1 / ele.trackMomentumAtVtx().R(); + variables["superCluster.preshowerEnergy_ratio_superCluster.rawEnergy"] = + ele.superCluster()->preshowerEnergy() / ele.superCluster()->rawEnergy(); + variables["convVtxFitProb"] = ele.convVtxFitProb(); + variables["superCluster.clustersSize"] = ele.superCluster()->clustersSize(); + variables["ecalEnergyError_ratio_ecalEnergy"] = ele.ecalEnergyError() / ele.ecalEnergy(); + variables["superClusterFbrem_plus_superCluster.energy"] = ele.superClusterFbrem() + ele.superCluster()->energy(); + variables["superClusterFbrem_plus_superCluster.rawEnergy"] = + ele.superClusterFbrem() + ele.superCluster()->rawEnergy(); + variables["trackMomentumError"] = ele.trackMomentumError(); + variables["trackMomentumError_ratio_pt"] = ele.trackMomentumError() / ele.pt(); + variables["full5x5_e5x5_ratio_superCluster.rawEnergy"] = ele.full5x5_e5x5() / ele.superCluster()->rawEnergy(); + variables["full5x5_e5x5_ratio_superCluster.energy"] = ele.full5x5_e5x5() / ele.superCluster()->energy(); + // Define more variables here and use them directly in the model config! return variables; } From 020e5f2266be4e163a8d2b18b924520a4cc80899 Mon Sep 17 00:00:00 2001 From: Byeonghak Ko Date: Wed, 24 Nov 2021 11:56:41 +0100 Subject: [PATCH 140/268] 3.141592 -> M_PI (Suvanka) --- DQM/GEM/plugins/GEMDigiSource.cc | 10 +++++----- DQM/GEM/plugins/GEMRecHitSource.cc | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/DQM/GEM/plugins/GEMDigiSource.cc b/DQM/GEM/plugins/GEMDigiSource.cc index 0a72655efc12d..f394c49ef2321 100644 --- a/DQM/GEM/plugins/GEMDigiSource.cc +++ b/DQM/GEM/plugins/GEMDigiSource.cc @@ -28,8 +28,8 @@ void GEMDigiSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, nBXMax_ = 10; fRadiusMin_ = 120.0; fRadiusMax_ = 250.0; - float radS = -5.0 / 180 * 3.141592; - float radL = 355.0 / 180 * 3.141592; + float radS = -5.0 / 180 * M_PI; + float radL = 355.0 / 180 * M_PI; mapTotalDigi_layer_ = MEMap3Inf(this, "det", "Digi Occupancy", 36, 0.5, 36.5, 24, -0.5, 24 - 0.5, "Chamber", "VFAT"); mapDigiWheel_layer_ = MEMap3Inf( @@ -102,7 +102,7 @@ int GEMDigiSource::ProcessWithMEMap3(BookingHelper& bh, ME3IdsKey key) { mapTotalDigi_layer_.SetLabelForVFATs(key, stationInfo.nNumEtaPartitions_, 2); mapDigiWheel_layer_.SetBinLowEdgeX(stationInfo.fMinPhi_); - mapDigiWheel_layer_.SetBinHighEdgeX(stationInfo.fMinPhi_ + 2 * 3.141592); + mapDigiWheel_layer_.SetBinHighEdgeX(stationInfo.fMinPhi_ + 2 * M_PI); mapDigiWheel_layer_.SetNbinsX(nNumVFATPerEta * stationInfo.nNumChambers_); mapDigiWheel_layer_.SetNbinsY(stationInfo.nNumEtaPartitions_); mapDigiWheel_layer_.bookND(bh, key); @@ -167,13 +167,13 @@ void GEMDigiSource::analyze(edm::Event const& event, edm::EventSetup const& even GlobalPoint digi_global_pos = surface.toGlobal(iEta->centreOfStrip(d->strip())); Float_t fPhi = (Float_t)digi_global_pos.phi(); - Float_t fPhiDeg = fPhi * 180.0 / 3.141592; + Float_t fPhiDeg = fPhi * 180.0 / M_PI; fPhiDeg = (fPhi >= -0.5 ? fPhi : fPhi + 360); mapDigiOcc_phi_.Fill(key3, fPhiDeg); // Phi // Filling of R-Phi occupancy Float_t fR = fRadiusMin_ + (fRadiusMax_ - fRadiusMin_) * (eId.ieta() - 0.5) / stationInfo.nNumEtaPartitions_; - Float_t fPhiShift = (fPhi >= stationInfo.fMinPhi_ ? fPhi : fPhi + 2 * 3.141592); + Float_t fPhiShift = (fPhi >= stationInfo.fMinPhi_ ? fPhi : fPhi + 2 * M_PI); mapDigiWheel_layer_.Fill(key3, fPhiShift, fR); mapDigiOccPerCh_.Fill(key4Ch, d->strip(), eId.ieta()); // Per chamber diff --git a/DQM/GEM/plugins/GEMRecHitSource.cc b/DQM/GEM/plugins/GEMRecHitSource.cc index 89c54c7950f1a..0e1c26b8ccd20 100644 --- a/DQM/GEM/plugins/GEMRecHitSource.cc +++ b/DQM/GEM/plugins/GEMRecHitSource.cc @@ -38,8 +38,8 @@ void GEMRecHitSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& nCLSMax_ = 10; fRadiusMin_ = 120.0; fRadiusMax_ = 250.0; - float radS = -5.0 / 180 * 3.141592; - float radL = 355.0 / 180 * 3.141592; + float radS = -5.0 / 180 * M_PI; + float radL = 355.0 / 180 * M_PI; mapTotalRecHit_layer_ = MEMap3Inf(this, "det", "RecHit Occupancy", 36, 0.5, 36.5, 8, 0.5, 8.5, "Chamber", "iEta"); mapRecHitWheel_layer_ = MEMap3Inf( @@ -131,7 +131,7 @@ int GEMRecHitSource::ProcessWithMEMap3(BookingHelper& bh, ME3IdsKey key) { mapTotalRecHit_layer_.SetLabelForIEta(key, 2); mapRecHitWheel_layer_.SetBinLowEdgeX(stationInfo.fMinPhi_); - mapRecHitWheel_layer_.SetBinHighEdgeX(stationInfo.fMinPhi_ + 2 * 3.141592); + mapRecHitWheel_layer_.SetBinHighEdgeX(stationInfo.fMinPhi_ + 2 * M_PI); mapRecHitWheel_layer_.SetNbinsX(nNumVFATPerEta * stationInfo.nNumChambers_); mapRecHitWheel_layer_.SetNbinsY(stationInfo.nNumEtaPartitions_); mapRecHitWheel_layer_.bookND(bh, key); @@ -203,14 +203,14 @@ void GEMRecHitSource::analyze(edm::Event const& event, edm::EventSetup const& ev // Filling of R-Phi occupancy Float_t fR = fRadiusMin_ + (fRadiusMax_ - fRadiusMin_) * (eId.ieta() - 0.5) / stationInfo.nNumEtaPartitions_; - Float_t fPhiShift = (fPhi >= stationInfo.fMinPhi_ ? fPhi : fPhi + 2 * 3.141592); + Float_t fPhiShift = (fPhi >= stationInfo.fMinPhi_ ? fPhi : fPhi + 2 * M_PI); mapRecHitWheel_layer_.Fill(key3, fPhiShift, fR); // Filling of RecHit (iEta) mapRecHitOcc_ieta_.Fill(key3, eId.ieta()); // Filling of RecHit (phi) - Float_t fPhiDeg = fPhi * 180.0 / 3.141592; + Float_t fPhiDeg = fPhi * 180.0 / M_PI; fPhiDeg = (fPhi >= -0.5 ? fPhi : fPhi + 360); mapRecHitOcc_phi_.Fill(key3, fPhiDeg); From 3280399f565d649ed8adb5bb55ffde0214fa6292 Mon Sep 17 00:00:00 2001 From: Long Date: Wed, 24 Nov 2021 14:03:44 +0100 Subject: [PATCH 141/268] Removing VME, change TP plots, change average TS time --- DQM/HcalCommon/interface/Utilities.h | 5 +- DQM/HcalCommon/interface/ValueQuantity.h | 5 + DQM/HcalTasks/interface/DigiComparisonTask.h | 72 ----- DQM/HcalTasks/interface/DigiTask.h | 8 +- DQM/HcalTasks/interface/LEDTask.h | 5 - DQM/HcalTasks/interface/LaserTask.h | 5 - DQM/HcalTasks/interface/PedestalTask.h | 14 - DQM/HcalTasks/interface/RawRunSummary.h | 4 +- DQM/HcalTasks/interface/RawTask.h | 4 - DQM/HcalTasks/interface/RecHitTask.h | 6 - DQM/HcalTasks/interface/TPComparisonTask.h | 82 ------ DQM/HcalTasks/interface/TPTask.h | 4 +- DQM/HcalTasks/plugins/DigiComparisonTask.cc | 218 --------------- DQM/HcalTasks/plugins/DigiTask.cc | 140 +++------- DQM/HcalTasks/plugins/LEDTask.cc | 55 +--- DQM/HcalTasks/plugins/LaserTask.cc | 55 +--- DQM/HcalTasks/plugins/PedestalTask.cc | 162 +---------- DQM/HcalTasks/plugins/RawTask.cc | 46 +--- DQM/HcalTasks/plugins/RecHitTask.cc | 93 +------ DQM/HcalTasks/plugins/TPComparisonTask.cc | 252 ------------------ DQM/HcalTasks/plugins/TPTask.cc | 63 ++++- DQM/HcalTasks/python/DigiComparisonTask.py | 14 - DQM/HcalTasks/python/TPComparisonTask.py | 17 -- DQM/HcalTasks/src/RawRunSummary.cc | 44 +-- .../hcalreco_dqm_sourceclient-live_cfg.py | 1 - 25 files changed, 123 insertions(+), 1251 deletions(-) delete mode 100644 DQM/HcalTasks/interface/DigiComparisonTask.h delete mode 100644 DQM/HcalTasks/interface/TPComparisonTask.h delete mode 100644 DQM/HcalTasks/plugins/DigiComparisonTask.cc delete mode 100644 DQM/HcalTasks/plugins/TPComparisonTask.cc delete mode 100644 DQM/HcalTasks/python/DigiComparisonTask.py delete mode 100644 DQM/HcalTasks/python/TPComparisonTask.py diff --git a/DQM/HcalCommon/interface/Utilities.h b/DQM/HcalCommon/interface/Utilities.h index ee58f9adf50ce..5b02cfa58913c 100644 --- a/DQM/HcalCommon/interface/Utilities.h +++ b/DQM/HcalCommon/interface/Utilities.h @@ -46,11 +46,12 @@ namespace hcaldqm { const HcalDetId did, const Digi &digi, unsigned int i_start, - unsigned int i_end) { + unsigned int i_end, + bool dopedsubtr = true) { double sumQ = 0; double sumQT = 0; for (unsigned int i = i_start; i <= i_end; ++i) { - double q = adc2fCDBMinusPedestal(conditions, calo_samples, did, digi, i); + double q = dopedsubtr ? adc2fCDBMinusPedestal(conditions, calo_samples, did, digi, i) : calo_samples[i]; sumQ += q; sumQT += (i + 1) * q; } diff --git a/DQM/HcalCommon/interface/ValueQuantity.h b/DQM/HcalCommon/interface/ValueQuantity.h index d97199f60ba75..f93807595852b 100644 --- a/DQM/HcalCommon/interface/ValueQuantity.h +++ b/DQM/HcalCommon/interface/ValueQuantity.h @@ -68,6 +68,7 @@ namespace hcaldqm { fCapidMinusBXmod4, fBX_36, fADC_256_4, // ADC from 0-255, with 4 ADC granularity + fEtlog2, // scale log2(ET+1) }; const std::map name_value = { {fN, "N"}, @@ -130,6 +131,7 @@ namespace hcaldqm { {fCapidMinusBXmod4, "(CapId - BX) % 4"}, {fBX_36, "BX"}, {fADC_256_4, "ADC"}, + {fEtlog2, "log_{2}(Et+1)"}, }; const std::map min_value = { {fN, -0.05}, @@ -192,6 +194,7 @@ namespace hcaldqm { {fCapidMinusBXmod4, -0.5}, {fBX_36, -0.5}, {fADC_256_4, -0.5}, + {fEtlog2, 0.}, }; const std::map max_value = { {fN, 1000}, @@ -254,6 +257,7 @@ namespace hcaldqm { {fCapidMinusBXmod4, 3.5}, {fBX_36, 3564. - 0.5}, {fADC_256_4, 255}, + {fEtlog2, 9.}, }; const std::map nbins_value = { {fN, 200}, @@ -315,6 +319,7 @@ namespace hcaldqm { {fCapidMinusBXmod4, 4}, {fBX_36, 99}, {fADC_256_4, 64}, + {fEtlog2, 9}, }; class ValueQuantity : public Quantity { public: diff --git a/DQM/HcalTasks/interface/DigiComparisonTask.h b/DQM/HcalTasks/interface/DigiComparisonTask.h deleted file mode 100644 index 1d48e66881a5d..0000000000000 --- a/DQM/HcalTasks/interface/DigiComparisonTask.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef DigiComparisonTask_h -#define DigiComparisonTask_h - -/** - * file: DigiComparisonTask.h - * Author: Viktor Khristenko - * Date: 08.12.2015 - */ - -#include "DQM/HcalCommon/interface/DQTask.h" -#include "DQM/HcalCommon/interface/Utilities.h" -#include "DQM/HcalCommon/interface/Container1D.h" -#include "DQM/HcalCommon/interface/Container2D.h" -#include "DQM/HcalCommon/interface/ContainerProf1D.h" -#include "DQM/HcalCommon/interface/ContainerProf2D.h" -#include "DQM/HcalCommon/interface/ElectronicsMap.h" -#include "DQM/HcalCommon/interface/HashFilter.h" - -class DigiComparisonTask : public hcaldqm::DQTask { -public: - DigiComparisonTask(edm::ParameterSet const&); - ~DigiComparisonTask() override {} - - void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override; - void globalEndLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override; - -protected: - // funcs - void _process(edm::Event const&, edm::EventSetup const&) override; - void _resetMonitors(hcaldqm::UpdateFreq) override; - - // Tags and corresponding Tokens - edm::InputTag _tagHBHE1; - edm::InputTag _tagHBHE2; - edm::EDGetTokenT _tokHBHE1; - edm::EDGetTokenT _tokHBHE2; - edm::ESGetToken hcalDbServiceToken_; - - // emap+hashmap - hcaldqm::electronicsmap::ElectronicsMap _ehashmapuTCA; - hcaldqm::electronicsmap::ElectronicsMap _ehashmapVME; - - // hashes/FED vectors - std::vector _vhashFEDs; - - // Filters - hcaldqm::filter::HashFilter _filter_VME; - hcaldqm::filter::HashFilter _filter_uTCA; - - /** - * Containers - */ - - // ADC - hcaldqm::Container2D _cADC_Subdet[10]; - hcaldqm::Container2D _cADCall_Subdet; - - // Mismatched - hcaldqm::Container2D _cMsm_FEDVME; - hcaldqm::Container2D _cMsm_FEDuTCA; - hcaldqm::Container2D _cMsm_depth; - - // Missing Completely - hcaldqm::Container1D _cADCMsnuTCA_Subdet; - hcaldqm::Container1D _cADCMsnVME_Subdet; - hcaldqm::Container2D _cMsnVME_depth; - hcaldqm::Container2D _cMsnuTCA_depth; - hcaldqm::Container2D _cMsn_FEDVME; - hcaldqm::Container2D _cMsn_FEDuTCA; -}; - -#endif diff --git a/DQM/HcalTasks/interface/DigiTask.h b/DQM/HcalTasks/interface/DigiTask.h index f9cb553bcc196..e13f532ee5a15 100644 --- a/DQM/HcalTasks/interface/DigiTask.h +++ b/DQM/HcalTasks/interface/DigiTask.h @@ -97,9 +97,8 @@ class DigiTask : public hcaldqm::DQTask { // Timing // just filling - no summary! hcaldqm::Container1D _cTimingCut_SubdetPM; - hcaldqm::ContainerProf2D _cTimingCut_FEDVME; + hcaldqm::Container1D _cTimingCutHTH_SubdetPM; hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA; - hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME; hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA; hcaldqm::ContainerProf1D _cTimingCutvsLS_FED; hcaldqm::ContainerProf1D _cTimingCutvsLS_SubdetPM; @@ -112,9 +111,7 @@ class DigiTask : public hcaldqm::DQTask { // Occupancy w/o a Cut - whatever is sitting in the Digi Collection // used to determine Missing Digis => used for Summary! - hcaldqm::Container2D _cOccupancy_FEDVME; hcaldqm::Container2D _cOccupancy_FEDuTCA; - hcaldqm::Container2D _cOccupancy_ElectronicsVME; hcaldqm::Container2D _cOccupancy_ElectronicsuTCA; hcaldqm::Container2D _cOccupancy_Crate; hcaldqm::Container2D _cOccupancy_CrateSlot; @@ -125,9 +122,7 @@ class DigiTask : public hcaldqm::DQTask { // Occupancy w/ a Cut // used to determine if occupancy is symmetric or not. => // used for Summary - hcaldqm::Container2D _cOccupancyCut_FEDVME; hcaldqm::Container2D _cOccupancyCut_FEDuTCA; - hcaldqm::Container2D _cOccupancyCut_ElectronicsVME; hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA; hcaldqm::Container2D _cOccupancyCut_depth; hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM; // online only @@ -172,7 +167,6 @@ class DigiTask : public hcaldqm::DQTask { // (Capid - BX) % 4 hcaldqm::Container1D _cCapidMinusBXmod4_SubdetPM; hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotuTCA[4]; // CrateSlot 2D histograms for each (capid-BX)%4 - hcaldqm::ContainerSingle2D _cCapidMinusBXmod4_CrateSlotVME[4]; // CrateSlot 2D histograms for each (capid-BX)%4 hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLS; hcaldqm::ContainerSingle2D _cCapid_BadvsFEDvsLSmod60; // Same as _cCapid_BadvsFEDvsLS, but only for last 50 LSes (for sound alarm turning off when problem goes away) diff --git a/DQM/HcalTasks/interface/LEDTask.h b/DQM/HcalTasks/interface/LEDTask.h index 88563ca5a232d..737c85e5d0085 100644 --- a/DQM/HcalTasks/interface/LEDTask.h +++ b/DQM/HcalTasks/interface/LEDTask.h @@ -85,18 +85,13 @@ class LEDTask : public hcaldqm::DQTask { hcaldqm::ContainerProf2D _cTimingMean_depth; hcaldqm::ContainerProf2D _cTimingRMS_depth; - hcaldqm::ContainerProf2D _cSignalMean_FEDVME; hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA; - hcaldqm::ContainerProf2D _cTimingMean_FEDVME; hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA; - hcaldqm::ContainerProf2D _cSignalRMS_FEDVME; hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA; - hcaldqm::ContainerProf2D _cTimingRMS_FEDVME; hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA; // Bad Quality and Missing Channels hcaldqm::Container2D _cMissing_depth; - hcaldqm::Container2D _cMissing_FEDVME; hcaldqm::Container2D _cMissing_FEDuTCA; // For hcalcalib online LED diff --git a/DQM/HcalTasks/interface/LaserTask.h b/DQM/HcalTasks/interface/LaserTask.h index 695e0325a7fd9..41734552165d5 100644 --- a/DQM/HcalTasks/interface/LaserTask.h +++ b/DQM/HcalTasks/interface/LaserTask.h @@ -113,18 +113,13 @@ class LaserTask : public hcaldqm::DQTask { hcaldqm::ContainerProf2D _cTimingMean_depth; hcaldqm::ContainerProf2D _cTimingRMS_depth; - hcaldqm::ContainerProf2D _cSignalMean_FEDVME; hcaldqm::ContainerProf2D _cSignalMean_FEDuTCA; - hcaldqm::ContainerProf2D _cTimingMean_FEDVME; hcaldqm::ContainerProf2D _cTimingMean_FEDuTCA; - hcaldqm::ContainerProf2D _cSignalRMS_FEDVME; hcaldqm::ContainerProf2D _cSignalRMS_FEDuTCA; - hcaldqm::ContainerProf2D _cTimingRMS_FEDVME; hcaldqm::ContainerProf2D _cTimingRMS_FEDuTCA; // Bad Quality and Missing Channels hcaldqm::Container2D _cMissing_depth; - hcaldqm::Container2D _cMissing_FEDVME; hcaldqm::Container2D _cMissing_FEDuTCA; // Things for LASERMON diff --git a/DQM/HcalTasks/interface/PedestalTask.h b/DQM/HcalTasks/interface/PedestalTask.h index 95bc93e584658..3ff7b74dcc83e 100644 --- a/DQM/HcalTasks/interface/PedestalTask.h +++ b/DQM/HcalTasks/interface/PedestalTask.h @@ -89,16 +89,12 @@ class PedestalTask : public hcaldqm::DQTask { // 2D actual values hcaldqm::ContainerProf2D _cMean1LS_depth; // 1LS hcaldqm::ContainerProf2D _cRMS1LS_depth; // 1lS - hcaldqm::ContainerProf2D _cMean1LS_FEDVME; // 1ls hcaldqm::ContainerProf2D _cMean1LS_FEDuTCA; // 1ls - hcaldqm::ContainerProf2D _cRMS1LS_FEDVME; // 1ls hcaldqm::ContainerProf2D _cRMS1LS_FEDuTCA; // 1ls hcaldqm::ContainerProf2D _cMeanTotal_depth; hcaldqm::ContainerProf2D _cRMSTotal_depth; - hcaldqm::ContainerProf2D _cMeanTotal_FEDVME; hcaldqm::ContainerProf2D _cMeanTotal_FEDuTCA; - hcaldqm::ContainerProf2D _cRMSTotal_FEDVME; hcaldqm::ContainerProf2D _cRMSTotal_FEDuTCA; // Comparison with DB Conditions @@ -108,16 +104,12 @@ class PedestalTask : public hcaldqm::DQTask { hcaldqm::Container1D _cRMSDBRefTotal_Subdet; hcaldqm::ContainerProf2D _cMeanDBRef1LS_depth; hcaldqm::ContainerProf2D _cRMSDBRef1LS_depth; - hcaldqm::ContainerProf2D _cMeanDBRef1LS_FEDVME; hcaldqm::ContainerProf2D _cMeanDBRef1LS_FEDuTCA; - hcaldqm::ContainerProf2D _cRMSDBRef1LS_FEDVME; hcaldqm::ContainerProf2D _cRMSDBRef1LS_FEDuTCA; hcaldqm::ContainerProf2D _cMeanDBRefTotal_depth; hcaldqm::ContainerProf2D _cRMSDBRefTotal_depth; - hcaldqm::ContainerProf2D _cMeanDBRefTotal_FEDVME; hcaldqm::ContainerProf2D _cMeanDBRefTotal_FEDuTCA; - hcaldqm::ContainerProf2D _cRMSDBRefTotal_FEDVME; hcaldqm::ContainerProf2D _cRMSDBRefTotal_FEDuTCA; // vs LS @@ -131,25 +123,19 @@ class PedestalTask : public hcaldqm::DQTask { // map of missing channels hcaldqm::Container2D _cMissing1LS_depth; - hcaldqm::Container2D _cMissing1LS_FEDVME; hcaldqm::Container2D _cMissing1LS_FEDuTCA; hcaldqm::Container2D _cMissingTotal_depth; - hcaldqm::Container2D _cMissingTotal_FEDVME; hcaldqm::Container2D _cMissingTotal_FEDuTCA; // Mean/RMS Bad Maps hcaldqm::Container2D _cMeanBad1LS_depth; hcaldqm::Container2D _cRMSBad1LS_depth; - hcaldqm::Container2D _cMeanBad1LS_FEDVME; hcaldqm::Container2D _cRMSBad1LS_FEDuTCA; - hcaldqm::Container2D _cRMSBad1LS_FEDVME; hcaldqm::Container2D _cMeanBad1LS_FEDuTCA; hcaldqm::Container2D _cMeanBadTotal_depth; hcaldqm::Container2D _cRMSBadTotal_depth; - hcaldqm::Container2D _cMeanBadTotal_FEDVME; hcaldqm::Container2D _cRMSBadTotal_FEDuTCA; - hcaldqm::Container2D _cRMSBadTotal_FEDVME; hcaldqm::Container2D _cMeanBadTotal_FEDuTCA; hcaldqm::Container1D _cADC_SubdetPM; diff --git a/DQM/HcalTasks/interface/RawRunSummary.h b/DQM/HcalTasks/interface/RawRunSummary.h index 4ee0a44f700c2..c17c81c53a5a6 100644 --- a/DQM/HcalTasks/interface/RawRunSummary.h +++ b/DQM/HcalTasks/interface/RawRunSummary.h @@ -29,8 +29,8 @@ namespace hcaldqm { filter::HashFilter _filter_VME, _filter_uTCA; // Containers to store info for the whole run - Container2D _cEvnMsm_ElectronicsVME, _cEvnMsm_ElectronicsuTCA; - Container2D _cBcnMsm_ElectronicsVME, _cBcnMsm_ElectronicsuTCA; + Container2D _cEvnMsm_ElectronicsuTCA; + Container2D _cBcnMsm_ElectronicsuTCA; Container2D _cBadQuality_depth; bool _booked; diff --git a/DQM/HcalTasks/interface/RawTask.h b/DQM/HcalTasks/interface/RawTask.h index 1553f4794caf6..99b35969afdf6 100644 --- a/DQM/HcalTasks/interface/RawTask.h +++ b/DQM/HcalTasks/interface/RawTask.h @@ -62,7 +62,6 @@ class RawTask : public hcaldqm::DQTask { hcaldqm::filter::HashFilter _filter_FEDsuTCA; // Bad Quality - hcaldqm::Container2D _cBadQuality_FEDVME; hcaldqm::Container2D _cBadQuality_FEDuTCA; hcaldqm::Container2D _cBadQuality_depth; hcaldqm::Container2D _cBadQualityLS_depth; // online only @@ -71,9 +70,6 @@ class RawTask : public hcaldqm::DQTask { hcaldqm::ContainerProf1D _cDataSizevsLS_FED; // online only // Mismatches - hcaldqm::Container2D _cEvnMsm_ElectronicsVME; - hcaldqm::Container2D _cBcnMsm_ElectronicsVME; - hcaldqm::Container2D _cOrnMsm_ElectronicsVME; hcaldqm::Container2D _cEvnMsm_ElectronicsuTCA; hcaldqm::Container2D _cBcnMsm_ElectronicsuTCA; hcaldqm::Container2D _cOrnMsm_ElectronicsuTCA; diff --git a/DQM/HcalTasks/interface/RecHitTask.h b/DQM/HcalTasks/interface/RecHitTask.h index f1a1d4e9f38d3..20aa3af2dc914 100644 --- a/DQM/HcalTasks/interface/RecHitTask.h +++ b/DQM/HcalTasks/interface/RecHitTask.h @@ -82,9 +82,7 @@ class RecHitTask : public hcaldqm::DQTask { // Timing. HBHE Partition is used for TCDS shift monitoring hcaldqm::Container1D _cTimingCut_SubdetPM; hcaldqm::Container1D _cTimingCut_HBHEPartition; - hcaldqm::ContainerProf2D _cTimingCut_FEDVME; hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA; - hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME; hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA; hcaldqm::ContainerProf2D _cTimingCut_depth; hcaldqm::ContainerProf1D _cTimingCutvsLS_FED; @@ -95,18 +93,14 @@ class RecHitTask : public hcaldqm::DQTask { // Occupancy w/o a cut. Used for checking missing channels hcaldqm::Container2D _cOccupancy_depth; - hcaldqm::Container2D _cOccupancy_FEDVME; hcaldqm::Container2D _cOccupancy_FEDuTCA; - hcaldqm::Container2D _cOccupancy_ElectronicsVME; hcaldqm::Container2D _cOccupancy_ElectronicsuTCA; hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet; hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM; // online only hcaldqm::Container1D _cOccupancyvsieta_Subdet; // online only // Occupancy w/ a Cut. - hcaldqm::Container2D _cOccupancyCut_FEDVME; hcaldqm::Container2D _cOccupancyCut_FEDuTCA; - hcaldqm::Container2D _cOccupancyCut_ElectronicsVME; hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA; hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet; // online only hcaldqm::Container2D _cOccupancyCut_depth; diff --git a/DQM/HcalTasks/interface/TPComparisonTask.h b/DQM/HcalTasks/interface/TPComparisonTask.h deleted file mode 100644 index 1f69d9772a976..0000000000000 --- a/DQM/HcalTasks/interface/TPComparisonTask.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef TPComparisonTask_h -#define TPComparisonTask_h - -/** - * file: TPComparisonTask.h - * Author: Viktor Khristenko - * Date: 08.12.2015 - */ - -#include "DQM/HcalCommon/interface/DQTask.h" -#include "DQM/HcalCommon/interface/Utilities.h" -#include "DQM/HcalCommon/interface/Container1D.h" -#include "DQM/HcalCommon/interface/Container2D.h" -#include "DQM/HcalCommon/interface/ContainerProf1D.h" -#include "DQM/HcalCommon/interface/ContainerProf2D.h" -#include "DQM/HcalCommon/interface/ContainerSingle2D.h" -#include "DQM/HcalCommon/interface/HashFilter.h" -#include "DQM/HcalCommon/interface/ElectronicsMap.h" - -class TPComparisonTask : public hcaldqm::DQTask { -public: - TPComparisonTask(edm::ParameterSet const&); - ~TPComparisonTask() override {} - - void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override; - void globalEndLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override; - -protected: - // funcs - void _process(edm::Event const&, edm::EventSetup const&) override; - void _resetMonitors(hcaldqm::UpdateFreq) override; - - // Tags and corresponding Tokens - edm::InputTag _tag1; - edm::InputTag _tag2; - edm::EDGetTokenT _tok1; - edm::EDGetTokenT _tok2; - edm::ESGetToken hcalDbServiceToken_; - - // tmp flags - bool _skip1x1; - - // emap - hcaldqm::electronicsmap::ElectronicsMap _ehashmapuTCA; - hcaldqm::electronicsmap::ElectronicsMap _ehashmapVME; - - // hahses/FED vectors - std::vector _vhashFEDs; - - // Filters - hcaldqm::filter::HashFilter _filter_VME; - hcaldqm::filter::HashFilter _filter_uTCA; - - /** - * hcaldqm::Containers - */ - - // Et - hcaldqm::Container2D _cEt_TTSubdet[4]; - hcaldqm::Container2D _cEtall_TTSubdet; - - // FG - hcaldqm::Container2D _cFG_TTSubdet[4]; - - // Missing - hcaldqm::Container2D _cMsn_FEDVME; - hcaldqm::Container2D _cMsn_FEDuTCA; - hcaldqm::ContainerSingle2D _cMsnVME; - hcaldqm::ContainerSingle2D _cMsnuTCA; - - // mismatches - hcaldqm::Container2D _cEtMsm_FEDVME; - hcaldqm::Container2D _cEtMsm_FEDuTCA; - hcaldqm::Container2D _cFGMsm_FEDVME; - hcaldqm::Container2D _cFGMsm_FEDuTCA; - - // depth like - hcaldqm::ContainerSingle2D _cEtMsm; - hcaldqm::ContainerSingle2D _cFGMsm; -}; - -#endif diff --git a/DQM/HcalTasks/interface/TPTask.h b/DQM/HcalTasks/interface/TPTask.h index 9a93267883caa..c2fea7d5d7c81 100644 --- a/DQM/HcalTasks/interface/TPTask.h +++ b/DQM/HcalTasks/interface/TPTask.h @@ -70,11 +70,12 @@ class TPTask : public hcaldqm::DQTask { hcaldqm::Container1D _cEtEmul_TTSubdet; hcaldqm::Container2D _cEtCorr_TTSubdet; hcaldqm::Container2D _cSOIEtCorr_TTSubdet; + hcaldqm::Container2D _cSOIEtCorrEmulL1_TTSubdet; hcaldqm::Container2D _cEtCorr2x3_TTSubdet; // online only hcaldqm::Container2D _cFGCorr_TTSubdet[hcaldqm::constants::NUM_FGBITS]; hcaldqm::ContainerProf1D _cEtCutDatavsLS_TTSubdet; // online only! hcaldqm::ContainerProf1D _cEtCutEmulvsLS_TTSubdet; // online only! - hcaldqm::ContainerProf1D _cEtCutDatavsBX_TTSubdet; // online only! + hcaldqm::Container2D _cEtCutDatavsBX_TTSubdet; // online only! hcaldqm::ContainerProf1D _cEtCutEmulvsBX_TTSubdet; // online only! hcaldqm::ContainerProf2D _cEtData_ElectronicsuTCA; @@ -163,6 +164,7 @@ class TPTask : public hcaldqm::DQTask { hcaldqm::ContainerSingle1D _cOccupancy_HF_ieta, _cOccupancyNoTDC_HF_ieta; // Container storing matched sent-received TPs + std::vector > _vEmulTPDigis_SentRec; std::vector > _vTPDigis_SentRec; }; diff --git a/DQM/HcalTasks/plugins/DigiComparisonTask.cc b/DQM/HcalTasks/plugins/DigiComparisonTask.cc deleted file mode 100644 index 4306eb96089d5..0000000000000 --- a/DQM/HcalTasks/plugins/DigiComparisonTask.cc +++ /dev/null @@ -1,218 +0,0 @@ - -#include "DQM/HcalTasks/interface/DigiComparisonTask.h" - -using namespace hcaldqm; -using namespace hcaldqm::constants; - -DigiComparisonTask::DigiComparisonTask(edm::ParameterSet const& ps) - : DQTask(ps), hcalDbServiceToken_(esConsumes()) { - // tags and tokens - _tagHBHE1 = ps.getUntrackedParameter("tagHBHE1", edm::InputTag("hcalDigis")); - _tagHBHE2 = ps.getUntrackedParameter("tagHBHE2", edm::InputTag("vmeDigis")); - _tokHBHE1 = consumes(_tagHBHE1); - _tokHBHE2 = consumes(_tagHBHE2); -} -/* virtual */ void DigiComparisonTask::bookHistograms(DQMStore::IBooker& ib, - edm::Run const& r, - edm::EventSetup const& es) { - DQTask::bookHistograms(ib, r, es); - - // GET WHAT YOU NEED - edm::ESHandle dbs = es.getHandle(hcalDbServiceToken_); - _emap = dbs->getHcalMapping(); - if (_ptype != fOffline) { // hidefed2crate - std::vector vFEDs = utilities::getFEDList(_emap); - std::vector vFEDsVME = utilities::getFEDVMEList(_emap); - std::vector vFEDsuTCA = utilities::getFEDuTCAList(_emap); - } - std::vector vhashVME; - std::vector vhashuTCA; - vhashVME.push_back( - HcalElectronicsId(constants::FIBERCH_MIN, constants::FIBER_VME_MIN, SPIGOT_MIN, CRATE_VME_MIN).rawId()); - vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId()); - _filter_VME.initialize(filter::fFilter, hashfunctions::fElectronics, vhashVME); - _filter_uTCA.initialize(filter::fFilter, hashfunctions::fElectronics, vhashuTCA); - - // INITIALIZE - for (unsigned int i = 0; i < 10; i++) { - _cADC_Subdet[i].initialize(_name, - "ADC", - hashfunctions::fSubdet, - new quantity::ValueQuantity(quantity::fADCCorr_128), - new quantity::ValueQuantity(quantity::fADCCorr_128), - new quantity::ValueQuantity(quantity::fN, true), - 0); - } - _cADCall_Subdet.initialize(_name, - "ADC", - hashfunctions::fSubdet, - new quantity::ValueQuantity(quantity::fADCCorr_128), - new quantity::ValueQuantity(quantity::fADCCorr_128), - new quantity::ValueQuantity(quantity::fN, true), - 0); - _cADCMsnuTCA_Subdet.initialize(_name, - "ADCMsnuTCA", - hashfunctions::fSubdet, - new quantity::ValueQuantity(quantity::fADC_128), - new quantity::ValueQuantity(quantity::fN, true), - 0); - _cADCMsnVME_Subdet.initialize(_name, - "ADCMsnVME", - hashfunctions::fSubdet, - new quantity::ValueQuantity(quantity::fADC_128), - new quantity::ValueQuantity(quantity::fN, true), - 0); - _cMsm_depth.initialize(_name, - "Mismatched", - hashfunctions::fdepth, - new quantity::DetectorQuantity(quantity::fieta), - new quantity::DetectorQuantity(quantity::fiphi), - new quantity::ValueQuantity(quantity::fN), - 0); - if (_ptype != fOffline) { // hidefed2crate - _cMsm_FEDVME.initialize(_name, - "Mismatched", - hashfunctions::fFED, - new quantity::ElectronicsQuantity(quantity::fSpigot), - new quantity::ElectronicsQuantity(quantity::fFiberVMEFiberCh), - new quantity::ValueQuantity(quantity::fN), - 0); - _cMsm_FEDuTCA.initialize(_name, - "Mismatched", - hashfunctions::fFED, - new quantity::ElectronicsQuantity(quantity::fSlotuTCA), - new quantity::ElectronicsQuantity(quantity::fFiberuTCAFiberCh), - new quantity::ValueQuantity(quantity::fN), - 0); - } - _cMsnVME_depth.initialize(_name, - "Missing", - hashfunctions::fdepth, - new quantity::DetectorQuantity(quantity::fieta), - new quantity::DetectorQuantity(quantity::fiphi), - new quantity::ValueQuantity(quantity::fN), - 0); - _cMsnuTCA_depth.initialize(_name, - "Missing", - hashfunctions::fdepth, - new quantity::DetectorQuantity(quantity::fieta), - new quantity::DetectorQuantity(quantity::fiphi), - new quantity::ValueQuantity(quantity::fN), - 0); - if (_ptype != fOffline) { // hidefed2crate - _cMsn_FEDVME.initialize(_name, - "Missing", - hashfunctions::fFED, - new quantity::ElectronicsQuantity(quantity::fSpigot), - new quantity::ElectronicsQuantity(quantity::fFiberVMEFiberCh), - new quantity::ValueQuantity(quantity::fN), - 0); - _cMsn_FEDuTCA.initialize(_name, - "Missing", - hashfunctions::fFED, - new quantity::ElectronicsQuantity(quantity::fSlotuTCA), - new quantity::ElectronicsQuantity(quantity::fFiberuTCAFiberCh), - new quantity::ValueQuantity(quantity::fN), - 0); - } - - // BOOK - char aux[20]; - for (unsigned int i = 0; i < 10; i++) { - sprintf(aux, "TS%d", i); - _cADC_Subdet[i].book(ib, _emap, _subsystem, aux); - } - _cADCall_Subdet.book(ib, _emap, _subsystem); - _cADCMsnVME_Subdet.book(ib, _emap, _subsystem); - _cADCMsnuTCA_Subdet.book(ib, _emap, _subsystem); - _cMsm_depth.book(ib, _emap, _subsystem); - _cMsnVME_depth.book(ib, _emap, _subsystem, std::string("VME")); - _cMsnuTCA_depth.book(ib, _emap, _subsystem, std::string("uTCA")); - if (_ptype != fOffline) { // hidefed2crate - _cMsm_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); - _cMsn_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); - _cMsm_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cMsn_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - } - - _ehashmapuTCA.initialize(_emap, hcaldqm::electronicsmap::fD2EHashMap, _filter_VME); - _ehashmapVME.initialize(_emap, hcaldqm::electronicsmap::fD2EHashMap, _filter_uTCA); -} - -/* virtual */ void DigiComparisonTask::_resetMonitors(hcaldqm::UpdateFreq uf) { DQTask::_resetMonitors(uf); } - -/* virtual */ void DigiComparisonTask::_process(edm::Event const& e, edm::EventSetup const& es) { - edm::Handle chbhe1; - edm::Handle chbhe2; - - if (!e.getByToken(_tokHBHE1, chbhe1)) - _logger.dqmthrow("Collection HBHEDigiCollection isn't available" + _tagHBHE1.label() + " " + _tagHBHE1.instance()); - if (!e.getByToken(_tokHBHE2, chbhe2)) - _logger.dqmthrow("Collection HBHEDigiCollection isn't available" + _tagHBHE2.label() + " " + _tagHBHE2.instance()); - - // assume that coll1 is primary(uTCA) and coll2 is secondary(VME) - // uTCA is X and VME is Y axis - for (HBHEDigiCollection::const_iterator it1 = chbhe1->begin(); it1 != chbhe1->end(); ++it1) { - // iterate thru the utca collection - // get the same detid digi from vme collection - // if missing - fill vme missing - // else correlate - HcalDetId did = it1->id(); - HcalElectronicsId eid1 = it1->elecId(); - HBHEDigiCollection::const_iterator it2 = chbhe2->find(did); - - // get the eid for vme by did - HcalElectronicsId eid2 = HcalElectronicsId(_ehashmapVME.lookup(did)); - if (it2 == chbhe2->end()) { - // fill the depth plot - _cMsnVME_depth.fill(did); - if (_ptype != fOffline) { // hidefed2crate - _cMsn_FEDVME.fill(eid2); - } - for (int i = 0; i < it1->size(); i++) { - _cADCMsnVME_Subdet.fill(did, it1->sample(i).adc()); - _cADCall_Subdet.fill(did, it1->sample(i).adc(), -2); - _cADC_Subdet[i].fill(did, it1->sample(i).adc(), -2); - } - } else - for (int i = 0; i < it1->size(); i++) { - _cADCall_Subdet.fill(did, double(it1->sample(i).adc()), double(it2->sample(i).adc())); - _cADC_Subdet[i].fill(did, double(it1->sample(i).adc()), double(it2->sample(i).adc())); - if (it1->sample(i).adc() != it2->sample(i).adc()) { - // fill depth, uTCA and VME as well for which guys - // mismatches happen - _cMsm_depth.fill(did); - if (_ptype != fOffline) { // hidefed2crate - _cMsm_FEDVME.fill(eid2); - _cMsm_FEDuTCA.fill(eid1); - } - } - } - } - for (HBHEDigiCollection::const_iterator it2 = chbhe2->begin(); it2 != chbhe2->end(); ++it2) { - // itearte thru VME - // find utca digi by detid - // check if present or missing - HcalDetId did = it2->id(); - HBHEDigiCollection::const_iterator it1 = chbhe1->find(did); - if (it1 == chbhe1->end()) { - HcalElectronicsId eid1 = HcalElectronicsId(_ehashmapuTCA.lookup(did)); - if (_ptype != fOffline) { // hidefed2crate - _cMsn_FEDuTCA.fill(eid1); - } - for (int i = 0; i < it2->size(); i++) { - _cADCMsnuTCA_Subdet.fill(did, it2->sample(i).adc()); - _cADCall_Subdet.fill(did, -2, it2->sample(i).adc()); - _cADC_Subdet[i].fill(did, -2, it2->sample(i).adc()); - } - } - } -} - -/* virtual */ void DigiComparisonTask::globalEndLuminosityBlock(edm::LuminosityBlock const& lb, - edm::EventSetup const& es) { - // in the end always - DQTask::globalEndLuminosityBlock(lb, es); -} - -DEFINE_FWK_MODULE(DigiComparisonTask); diff --git a/DQM/HcalTasks/plugins/DigiTask.cc b/DQM/HcalTasks/plugins/DigiTask.cc index 988124f088fb0..3782c185b91f3 100644 --- a/DQM/HcalTasks/plugins/DigiTask.cc +++ b/DQM/HcalTasks/plugins/DigiTask.cc @@ -187,6 +187,12 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); + _cTimingCutHTH_SubdetPM.initialize(_name, + "TimingHighCut", + hcaldqm::hashfunctions::fSubdetPM, + new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), + new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), + 0); _cTimingCut_depth.initialize(_name, "TimingCut", hcaldqm::hashfunctions::fdepth, @@ -438,12 +444,6 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) new quantity::ElectronicsQuantity(quantity::fSlotuTCA), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN, true), 0); - _cCapidMinusBXmod4_CrateSlotVME[i].initialize(_name, - "CapID", - new quantity::ElectronicsQuantity(quantity::fCrateVME), - new quantity::ElectronicsQuantity(quantity::fSlotVME), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN, true), - 0); } if (_ptype != fOffline) { // hidefed2crate @@ -494,13 +494,6 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::ffC_10000), 0); - _cTimingCut_FEDVME.initialize(_name, - "TimingCut", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), - 0); _cTimingCut_FEDuTCA.initialize(_name, "TimingCut", hcaldqm::hashfunctions::fFED, @@ -508,13 +501,6 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), 0); - _cTimingCut_ElectronicsVME.initialize(_name, - "TimingCut", - hcaldqm::hashfunctions::fElectronics, - new hcaldqm::quantity::FEDQuantity(vFEDsVME), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), - 0); _cTimingCut_ElectronicsuTCA.initialize(_name, "TimingCut", hcaldqm::hashfunctions::fElectronics, @@ -529,13 +515,6 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), 0); - _cOccupancy_FEDVME.initialize(_name, - "Occupancy", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cOccupancy_FEDuTCA.initialize(_name, "Occupancy", hcaldqm::hashfunctions::fFED, @@ -543,13 +522,6 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cOccupancy_ElectronicsVME.initialize(_name, - "Occupancy", - hcaldqm::hashfunctions::fElectronics, - new hcaldqm::quantity::FEDQuantity(vFEDsVME), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cOccupancy_ElectronicsuTCA.initialize(_name, "Occupancy", hcaldqm::hashfunctions::fElectronics, @@ -558,13 +530,6 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cOccupancyCut_FEDVME.initialize(_name, - "OccupancyCut", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cOccupancyCut_FEDuTCA.initialize(_name, "OccupancyCut", hcaldqm::hashfunctions::fFED, @@ -572,13 +537,6 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cOccupancyCut_ElectronicsVME.initialize(_name, - "OccupancyCut", - hcaldqm::hashfunctions::fElectronics, - new hcaldqm::quantity::FEDQuantity(vFEDsVME), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cOccupancyCut_ElectronicsuTCA.initialize(_name, "OccupancyCut", hcaldqm::hashfunctions::fElectronics, @@ -662,18 +620,12 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) if (_ptype != fOffline) { // hidefed2crate _cShapeCut_FED.book(ib, _emap, _subsystem); - _cTimingCut_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cTimingCut_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cTimingCut_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); _cTimingCut_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); _cTimingCutvsLS_FED.book(ib, _emap, _subsystem); - _cOccupancy_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cOccupancy_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cOccupancy_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); _cOccupancy_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cOccupancyCut_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cOccupancyCut_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cOccupancyCut_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); _cOccupancyCut_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); _cDigiSize_FED.book(ib, _emap, _subsystem); } @@ -683,6 +635,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) } _cTimingCut_SubdetPM.book(ib, _emap, _subsystem); + _cTimingCutHTH_SubdetPM.book(ib, _emap, _subsystem); _cTimingCut_depth.book(ib, _emap, _subsystem); _cTimingCutvsLS_SubdetPM.book(ib, _emap, _subsystem); @@ -712,9 +665,6 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) char aux[kSize]; snprintf(aux, kSize, "%d_uTCA", i); _cCapidMinusBXmod4_CrateSlotuTCA[i].book(ib, _subsystem, aux); - - snprintf(aux, kSize, "%d_VME", i); - _cCapidMinusBXmod4_CrateSlotVME[i].book(ib, _subsystem, aux); } if (_ptype != fLocal) { @@ -950,10 +900,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) _cCapid_BadvsFEDvsLS.fill(eid, _currentLS); _cCapid_BadvsFEDvsLSmod60.fill(eid, _currentLS % 60); } - if (eid.isVMEid()) { - _cCapidMinusBXmod4_CrateSlotVME[this_capidmbx].fill(eid); - - } else { + if (!eid.isVMEid()) { _cCapidMinusBXmod4_CrateSlotuTCA[this_capidmbx].fill(eid); } } @@ -976,10 +923,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) _cDigiSize_Crate.fill(eid, digi.samples()); if (_ptype != fOffline) { // hidefed2crate _cDigiSize_FED.fill(eid, digi.samples()); - if (eid.isVMEid()) { - _cOccupancy_FEDVME.fill(eid); - _cOccupancy_ElectronicsVME.fill(eid); - } else { + if (!eid.isVMEid()) { _cOccupancy_FEDuTCA.fill(eid); _cOccupancy_ElectronicsuTCA.fill(eid); /* @@ -1032,9 +976,14 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) if (sumQ > _cutSumQ_HBHE) { //double timing = hcaldqm::utilities::aveTS_v10(digi, 2.5, 0,digi.samples()-1); + // without pedestal substraction, request from https://gitlab.cern.ch/cmshcal/docs/-/issues/106 double timing = - hcaldqm::utilities::aveTSDB(_dbService, digi_fC, did, digi, 0, digi.samples() - 1); + hcaldqm::utilities::aveTSDB(_dbService, digi_fC, did, digi, 0, digi.samples() - 1, false); _cTimingCut_SubdetPM.fill(did, timing); + // with pedestal substraction for energetic hits + if (sumQ > 100. * _cutSumQ_HBHE) + _cTimingCutHTH_SubdetPM.fill( + did, hcaldqm::utilities::aveTSDB(_dbService, digi_fC, did, digi, 0, digi.samples() - 1)); _cTimingCut_depth.fill(did, timing); _cOccupancyCut_depth.fill(did); _cTimingCutvsLS_SubdetPM.fill(did, _currentLS, timing); @@ -1052,12 +1001,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) _cOccupancyCutvsiphivsLS_SubdetPM.fill(did, _currentLS); } if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) { - _cTimingCut_FEDVME.fill(eid, timing); - _cTimingCut_ElectronicsVME.fill(eid, timing); - _cOccupancyCut_FEDVME.fill(eid); - _cOccupancyCut_ElectronicsVME.fill(eid); - } else { + if (!eid.isVMEid()) { _cTimingCut_FEDuTCA.fill(eid, timing); _cTimingCut_ElectronicsuTCA.fill(eid, timing); _cOccupancyCut_FEDuTCA.fill(eid); @@ -1149,10 +1093,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) _cCapid_BadvsFEDvsLS.fill(eid, _currentLS); _cCapid_BadvsFEDvsLSmod60.fill(eid, _currentLS % 60); } - if (eid.isVMEid()) { - _cCapidMinusBXmod4_CrateSlotVME[this_capidmbx].fill(eid); - - } else { + if (!eid.isVMEid()) { _cCapidMinusBXmod4_CrateSlotuTCA[this_capidmbx].fill(eid); } } @@ -1172,14 +1113,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) _cDigiSize_Crate.fill(eid, it->size()); if (_ptype != fOffline) { // hidefed2crate _cDigiSize_FED.fill(eid, it->size()); - if (eid.isVMEid()) { - _cOccupancy_FEDVME.fill(eid); - _cOccupancy_ElectronicsVME.fill(eid); - /* - if (!it->validate(0, it->size())) - _cCapIdRots_FEDVME.fill(eid, 1); - */ - } else { + if (!eid.isVMEid()) { _cOccupancy_FEDuTCA.fill(eid); _cOccupancy_ElectronicsuTCA.fill(eid); /* @@ -1200,11 +1134,16 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) if (sumQ > _cutSumQ_HO) { //double timing = hcaldqm::utilities::aveTS(*it, 8.5, 0,it->size()-1); - double timing = hcaldqm::utilities::aveTSDB(_dbService, digi_fC, did, *it, 0, it->size() - 1); + // without pedestal substraction, request from https://gitlab.cern.ch/cmshcal/docs/-/issues/106 + double timing = hcaldqm::utilities::aveTSDB(_dbService, digi_fC, did, *it, 0, it->size() - 1, false); _cSumQ_depth.fill(did, sumQ); _cSumQvsLS_SubdetPM.fill(did, _currentLS, sumQ); _cOccupancyCut_depth.fill(did); _cTimingCut_SubdetPM.fill(did, timing); + // with pedestal substraction for energetic hits + if (sumQ > 100. * _cutSumQ_HO) + _cTimingCutHTH_SubdetPM.fill( + did, hcaldqm::utilities::aveTSDB(_dbService, digi_fC, did, *it, 0, it->size() - 1)); _cTimingCut_depth.fill(did, timing); _cTimingCutvsLS_SubdetPM.fill(did, _currentLS, timing); if (_ptype != fOffline) { // hidefed2crate @@ -1219,12 +1158,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) _cOccupancyCutvsiphivsLS_SubdetPM.fill(did, _currentLS); } if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) { - _cTimingCut_FEDVME.fill(eid, timing); - _cTimingCut_ElectronicsVME.fill(eid, timing); - _cOccupancyCut_FEDVME.fill(eid); - _cOccupancyCut_ElectronicsVME.fill(eid); - } else { + if (!eid.isVMEid()) { _cTimingCut_FEDuTCA.fill(eid, timing); _cTimingCut_ElectronicsuTCA.fill(eid, timing); _cOccupancyCut_FEDuTCA.fill(eid); @@ -1324,10 +1258,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) _cCapid_BadvsFEDvsLS.fill(eid, _currentLS); _cCapid_BadvsFEDvsLSmod60.fill(eid, _currentLS % 60); } - if (eid.isVMEid()) { - _cCapidMinusBXmod4_CrateSlotVME[this_capidmbx].fill(eid); - - } else { + if (!eid.isVMEid()) { _cCapidMinusBXmod4_CrateSlotuTCA[this_capidmbx].fill(eid); } } @@ -1351,13 +1282,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) _cDigiSize_Crate.fill(eid, digi.samples()); if (_ptype != fOffline) { // hidefed2crate _cDigiSize_FED.fill(eid, digi.samples()); - if (eid.isVMEid()) { - _cOccupancy_FEDVME.fill(eid); - _cOccupancy_ElectronicsVME.fill(eid); - /* - if (!it->validate(0, it->size())) - _cCapIdRots_FEDVME.fill(eid, 1);*/ - } else { + if (!eid.isVMEid()) { _cOccupancy_FEDuTCA.fill(eid); _cOccupancy_ElectronicsuTCA.fill(eid); /* @@ -1404,7 +1329,9 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) //if (!_filter_QIE1011.filter(did)) { _cSumQvsLS_SubdetPM_QIE1011.fill(did, _currentLS, sumQ); //} - _cTimingCut_SubdetPM.fill(did, timing); + _cTimingCut_SubdetPM.fill(did, hcaldqm::utilities::aveTS_v10(digi, 0., 0, digi.samples() - 1)); + if (sumQ > 100. * _cutSumQ_HF) + _cTimingCutHTH_SubdetPM.fill(did, timing); _cTimingCut_depth.fill(did, timing); _cTimingCutvsLS_SubdetPM.fill(did, _currentLS, timing); if (_ptype == fOnline) { @@ -1427,12 +1354,7 @@ DigiTask::DigiTask(edm::ParameterSet const& ps) if (_ptype == fOnline) _cQ2Q12CutvsLS_FEDHF.fill(eid, _currentLS, q2q12); if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) { - _cTimingCut_FEDVME.fill(eid, timing); - _cTimingCut_ElectronicsVME.fill(eid, timing); - _cOccupancyCut_FEDVME.fill(eid); - _cOccupancyCut_ElectronicsVME.fill(eid); - } else { + if (!eid.isVMEid()) { _cTimingCut_FEDuTCA.fill(eid, timing); _cTimingCut_ElectronicsuTCA.fill(eid, timing); _cOccupancyCut_FEDuTCA.fill(eid); diff --git a/DQM/HcalTasks/plugins/LEDTask.cc b/DQM/HcalTasks/plugins/LEDTask.cc index 99ccb3859251e..789be95e200ab 100644 --- a/DQM/HcalTasks/plugins/LEDTask.cc +++ b/DQM/HcalTasks/plugins/LEDTask.cc @@ -104,13 +104,6 @@ LEDTask::LEDTask(edm::ParameterSet const& ps) 0); if (_ptype == fLocal) { // hidefed2crate - _cSignalMean_FEDVME.initialize(_name, - "SignalMean", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::ffC_generic_400000, true), - 0); _cSignalMean_FEDuTCA.initialize(_name, "SignalMean", hcaldqm::hashfunctions::fFED, @@ -118,13 +111,6 @@ LEDTask::LEDTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::ffC_generic_400000, true), 0); - _cSignalRMS_FEDVME.initialize(_name, - "SignalRMS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::ffC_generic_10000, true), - 0); _cSignalRMS_FEDuTCA.initialize(_name, "SignalRMS", hcaldqm::hashfunctions::fFED, @@ -132,13 +118,6 @@ LEDTask::LEDTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::ffC_generic_10000, true), 0); - _cTimingMean_FEDVME.initialize(_name, - "TimingMean", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), - 0); _cTimingMean_FEDuTCA.initialize(_name, "TimingMean", hcaldqm::hashfunctions::fFED, @@ -146,13 +125,6 @@ LEDTask::LEDTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), 0); - _cTimingRMS_FEDVME.initialize(_name, - "TimingRMS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), - 0); _cTimingRMS_FEDuTCA.initialize(_name, "TimingRMS", hcaldqm::hashfunctions::fFED, @@ -206,13 +178,6 @@ LEDTask::LEDTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); if (_ptype != fOffline) { // hidefed2crate - _cMissing_FEDVME.initialize(_name, - "Missing", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cMissing_FEDuTCA.initialize(_name, "Missing", hcaldqm::hashfunctions::fFED, @@ -295,16 +260,11 @@ LEDTask::LEDTask(edm::ParameterSet const& ps) _cMissing_depth.book(ib, _emap, _subsystem); if (_ptype == fLocal) { // hidefed2crate - _cSignalMean_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cSignalMean_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cSignalRMS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cSignalRMS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cTimingMean_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cTimingMean_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cTimingRMS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cTimingRMS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); _cShapeCut_FEDSlot.book(ib, _emap, _subsystem); - _cMissing_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMissing_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); } if (_ptype == fOnline || _ptype == fLocal) { @@ -345,13 +305,9 @@ LEDTask::LEDTask(edm::ParameterSet const& ps) _cTimingRMS_depth.reset(); if (_ptype == fLocal) { // hidefed2crate - _cSignalMean_FEDVME.reset(); _cSignalMean_FEDuTCA.reset(); - _cSignalRMS_FEDVME.reset(); _cSignalRMS_FEDuTCA.reset(); - _cTimingMean_FEDVME.reset(); _cTimingMean_FEDuTCA.reset(); - _cTimingRMS_FEDVME.reset(); _cTimingRMS_FEDuTCA.reset(); } @@ -371,9 +327,7 @@ LEDTask::LEDTask(edm::ParameterSet const& ps) if (n == 0) { _cMissing_depth.fill(did); if (_ptype == fLocal) { // hidefed2crate - if (eid.isVMEid()) - _cMissing_FEDVME.fill(eid); - else + if (!eid.isVMEid()) _cMissing_FEDuTCA.fill(eid); } continue; @@ -387,12 +341,7 @@ LEDTask::LEDTask(edm::ParameterSet const& ps) _cTimingRMS_Subdet.fill(did, rtim); _cTimingRMS_depth.fill(did, rtim); if (_ptype == fLocal) { // hidefed2crate - if (eid.isVMEid()) { - _cSignalMean_FEDVME.fill(eid, msig); - _cSignalRMS_FEDVME.fill(eid, rsig); - _cTimingMean_FEDVME.fill(eid, mtim); - _cTimingRMS_FEDVME.fill(eid, rtim); - } else { + if (!eid.isVMEid()) { _cSignalMean_FEDuTCA.fill(eid, msig); _cSignalRMS_FEDuTCA.fill(eid, rsig); _cTimingMean_FEDuTCA.fill(eid, mtim); diff --git a/DQM/HcalTasks/plugins/LaserTask.cc b/DQM/HcalTasks/plugins/LaserTask.cc index 46ee7c920e6da..6f60cdef9be7a 100644 --- a/DQM/HcalTasks/plugins/LaserTask.cc +++ b/DQM/HcalTasks/plugins/LaserTask.cc @@ -106,13 +106,6 @@ LaserTask::LaserTask(edm::ParameterSet const& ps) 0); if (_ptype == fLocal) { // hidefed2crate - _cSignalMean_FEDVME.initialize(_name, - "SignalMean", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fQIE10fC_100000Coarse), - 0); _cSignalMean_FEDuTCA.initialize(_name, "SignalMean", hcaldqm::hashfunctions::fFED, @@ -120,13 +113,6 @@ LaserTask::LaserTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fQIE10fC_100000Coarse), 0); - _cSignalRMS_FEDVME.initialize(_name, - "SignalRMS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::ffC_3000), - 0); _cSignalRMS_FEDuTCA.initialize(_name, "SignalRMS", hcaldqm::hashfunctions::fFED, @@ -134,13 +120,6 @@ LaserTask::LaserTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::ffC_3000), 0); - _cTimingMean_FEDVME.initialize(_name, - "TimingMean", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), - 0); _cTimingMean_FEDuTCA.initialize(_name, "TimingMean", hcaldqm::hashfunctions::fFED, @@ -148,13 +127,6 @@ LaserTask::LaserTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), 0); - _cTimingRMS_FEDVME.initialize(_name, - "TimingRMS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), - 0); _cTimingRMS_FEDuTCA.initialize(_name, "TimingRMS", hcaldqm::hashfunctions::fFED, @@ -162,13 +134,6 @@ LaserTask::LaserTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_TS200), 0); - _cMissing_FEDVME.initialize(_name, - "Missing", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cMissing_FEDuTCA.initialize(_name, "Missing", hcaldqm::hashfunctions::fFED, @@ -381,15 +346,10 @@ LaserTask::LaserTask(edm::ParameterSet const& ps) } if (_ptype == fLocal) { // hidefed2crate - _cSignalMean_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cSignalMean_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cSignalRMS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cSignalRMS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cTimingMean_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cTimingMean_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cTimingRMS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cTimingRMS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cMissing_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMissing_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); _cShapeCut_FEDSlot.book(ib, _emap, _subsystem); } @@ -440,13 +400,9 @@ LaserTask::LaserTask(edm::ParameterSet const& ps) _cTimingRMS_depth.reset(); if (_ptype == fLocal) { // hidefed2crate - _cSignalMean_FEDVME.reset(); _cSignalMean_FEDuTCA.reset(); - _cSignalRMS_FEDVME.reset(); _cSignalRMS_FEDuTCA.reset(); - _cTimingMean_FEDVME.reset(); _cTimingMean_FEDuTCA.reset(); - _cTimingRMS_FEDVME.reset(); _cTimingRMS_FEDuTCA.reset(); } if (_ptype != fOffline) { @@ -464,9 +420,7 @@ LaserTask::LaserTask(edm::ParameterSet const& ps) if (n == 0) { _cMissing_depth.fill(did); if (_ptype == fLocal) { // hidefed2crate - if (eid.isVMEid()) - _cMissing_FEDVME.fill(eid); - else + if (!eid.isVMEid()) _cMissing_FEDuTCA.fill(eid); } continue; @@ -488,12 +442,7 @@ LaserTask::LaserTask(edm::ParameterSet const& ps) _cTimingRMS_Subdet.fill(did, rtim); _cTimingRMS_depth.fill(did, rtim); if (_ptype == fLocal) { // hidefed2crate - if (eid.isVMEid()) { - _cSignalMean_FEDVME.fill(eid, msig); - _cSignalRMS_FEDVME.fill(eid, rsig); - _cTimingMean_FEDVME.fill(eid, mtim); - _cTimingRMS_FEDVME.fill(eid, rtim); - } else { + if (!eid.isVMEid()) { _cSignalMean_FEDuTCA.fill(eid, msig); _cSignalRMS_FEDuTCA.fill(eid, rsig); _cTimingMean_FEDuTCA.fill(eid, mtim); diff --git a/DQM/HcalTasks/plugins/PedestalTask.cc b/DQM/HcalTasks/plugins/PedestalTask.cc index 44edb89c8a497..80999a620117f 100644 --- a/DQM/HcalTasks/plugins/PedestalTask.cc +++ b/DQM/HcalTasks/plugins/PedestalTask.cc @@ -90,13 +90,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), 0); if (_ptype != fOffline) { // hidefed2crate - _cMean1LS_FEDVME.initialize(_name, - "Mean1LS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_15), - 0); _cMean1LS_FEDuTCA.initialize(_name, "Mean1LS", hcaldqm::hashfunctions::fFED, @@ -104,13 +97,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_15), 0); - _cRMS1LS_FEDVME.initialize(_name, - "RMS1LS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), - 0); _cRMS1LS_FEDuTCA.initialize(_name, "RMS1LS", hcaldqm::hashfunctions::fFED, @@ -298,13 +284,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) _xNMsn1LS.initialize(hcaldqm::hashfunctions::fFED); _xNBadMean1LS.initialize(hcaldqm::hashfunctions::fFED); _xNBadRMS1LS.initialize(hcaldqm::hashfunctions::fFED); - _cMeanTotal_FEDVME.initialize(_name, - "Mean", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_15), - 0); _cMeanTotal_FEDuTCA.initialize(_name, "Mean", hcaldqm::hashfunctions::fFED, @@ -312,13 +291,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_15), 0); - _cRMSTotal_FEDVME.initialize(_name, - "RMS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), - 0); _cRMSTotal_FEDuTCA.initialize(_name, "RMS", hcaldqm::hashfunctions::fFED, @@ -326,13 +298,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), 0); - _cMeanDBRef1LS_FEDVME.initialize(_name, - "MeanDBRef1LS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), - 0); _cMeanDBRef1LS_FEDuTCA.initialize(_name, "MeanDBRef1LS", hcaldqm::hashfunctions::fFED, @@ -340,13 +305,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), 0); - _cRMSDBRef1LS_FEDVME.initialize(_name, - "RMSDBRef1LS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), - 0); _cRMSDBRef1LS_FEDuTCA.initialize(_name, "RMSDBRef1LS", hcaldqm::hashfunctions::fFED, @@ -354,13 +312,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), 0); - _cMeanDBRefTotal_FEDVME.initialize(_name, - "MeanDBRef", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), - 0); _cMeanDBRefTotal_FEDuTCA.initialize( _name, "MeanDBRef", @@ -369,13 +320,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), 0); - _cRMSDBRefTotal_FEDVME.initialize(_name, - "RMSDBRef", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), - 0); _cRMSDBRefTotal_FEDuTCA.initialize(_name, "RMSDBRef", hcaldqm::hashfunctions::fFED, @@ -383,13 +327,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fADC_5), 0); - _cMissing1LS_FEDVME.initialize(_name, - "Missing1LS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cMissing1LS_FEDuTCA.initialize(_name, "Missing1LS", hcaldqm::hashfunctions::fFED, @@ -397,13 +334,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cMeanBad1LS_FEDVME.initialize(_name, - "MeanBad1LS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cMeanBad1LS_FEDuTCA.initialize(_name, "MeanBad1LS", hcaldqm::hashfunctions::fFED, @@ -411,13 +341,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cRMSBad1LS_FEDVME.initialize(_name, - "RMSBad1LS", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cRMSBad1LS_FEDuTCA.initialize(_name, "RMSBad1LS", hcaldqm::hashfunctions::fFED, @@ -425,13 +348,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cMissingTotal_FEDVME.initialize(_name, - "Missing", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cMissingTotal_FEDuTCA.initialize(_name, "Missing", hcaldqm::hashfunctions::fFED, @@ -439,13 +355,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cMeanBadTotal_FEDVME.initialize(_name, - "MeanBad", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cMeanBadTotal_FEDuTCA.initialize(_name, "MeanBad", hcaldqm::hashfunctions::fFED, @@ -453,13 +362,6 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cRMSBadTotal_FEDVME.initialize(_name, - "RMSBad", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cRMSBadTotal_FEDuTCA.initialize(_name, "RMSBad", hcaldqm::hashfunctions::fFED, @@ -509,34 +411,20 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) _cRMSBadTotal_depth.book(ib, _emap, _subsystem); if (_ptype != fOffline) { // hidefed2crate - _cMean1LS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMean1LS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cRMS1LS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cRMS1LS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cMeanDBRef1LS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMeanDBRef1LS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cRMSDBRef1LS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cRMSDBRef1LS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cMissing1LS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMissing1LS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cRMSBad1LS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cRMSBad1LS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cMeanBad1LS_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMeanBad1LS_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cMeanTotal_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMeanTotal_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cRMSTotal_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cRMSTotal_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cMeanDBRefTotal_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMeanDBRefTotal_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cRMSDBRefTotal_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cRMSDBRefTotal_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cMissingTotal_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMissingTotal_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cRMSBadTotal_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cRMSBadTotal_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cMeanBadTotal_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cMeanBadTotal_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); } @@ -622,9 +510,7 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) _cMean1LS_depth.reset(); _cRMS1LS_depth.reset(); if (_ptype != fOffline) { // hidefed2crate - _cMean1LS_FEDVME.reset(); _cMean1LS_FEDuTCA.reset(); - _cRMS1LS_FEDVME.reset(); _cRMS1LS_FEDuTCA.reset(); } @@ -633,9 +519,7 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) _cMeanTotal_depth.reset(); _cRMSTotal_depth.reset(); if (_ptype != fOffline) { // hidefed2crate - _cMeanTotal_FEDVME.reset(); _cMeanTotal_FEDuTCA.reset(); - _cRMSTotal_FEDVME.reset(); _cRMSTotal_FEDuTCA.reset(); } @@ -651,14 +535,10 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) _cRMSDBRefTotal_depth.reset(); if (_ptype != fOffline) { // hidefed2crate - _cMeanDBRef1LS_FEDVME.reset(); _cMeanDBRef1LS_FEDuTCA.reset(); - _cRMSDBRef1LS_FEDVME.reset(); _cRMSDBRef1LS_FEDuTCA.reset(); - _cMeanDBRefTotal_FEDVME.reset(); _cMeanDBRefTotal_FEDuTCA.reset(); - _cRMSDBRefTotal_FEDVME.reset(); _cRMSDBRefTotal_FEDuTCA.reset(); } @@ -673,18 +553,12 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) // Missing or Bad if (_ptype != fOffline) { // hidefed2crate - _cMissing1LS_FEDVME.reset(); _cMissing1LS_FEDuTCA.reset(); - _cMeanBad1LS_FEDVME.reset(); _cMeanBad1LS_FEDuTCA.reset(); - _cRMSBad1LS_FEDVME.reset(); _cRMSBad1LS_FEDuTCA.reset(); - _cMissingTotal_FEDVME.reset(); _cMissingTotal_FEDuTCA.reset(); - _cMeanBadTotal_FEDVME.reset(); _cMeanBadTotal_FEDuTCA.reset(); - _cRMSBadTotal_FEDVME.reset(); _cRMSBadTotal_FEDuTCA.reset(); // reset some XXX containers @@ -735,7 +609,8 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) _cMissing1LS_depth.fill(did); _cMissingvsLS_Subdet.fill(did, _currentLS); if (_ptype != fOffline) { // hidefed2crate - eid.isVMEid() ? _cMissing1LS_FEDVME.fill(eid) : _cMissing1LS_FEDuTCA.fill(eid); + if (!eid.isVMEid()) + _cMissing1LS_FEDuTCA.fill(eid); _xNMsn1LS.get(eid)++; } // ALSO CHECK @@ -743,7 +618,8 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) if (nTotal == 0) { _cMissingTotal_depth.fill(did); if (_ptype != fOffline) { // hidefed2crate - eid.isVMEid() ? _cMissingTotal_FEDVME.fill(eid) : _cMissingTotal_FEDuTCA.fill(eid); + if (!eid.isVMEid()) + _cMissingTotal_FEDuTCA.fill(eid); } } continue; @@ -794,12 +670,7 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) #endif // FOR THIS LS if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) { - _cMean1LS_FEDVME.fill(eid, sum1LS); - _cRMS1LS_FEDVME.fill(eid, rms1LS); - _cMeanDBRef1LS_FEDVME.fill(eid, diffm1LS); - _cRMSDBRef1LS_FEDVME.fill(eid, diffr1LS); - } else { + if (!eid.isVMEid()) { _cMean1LS_FEDuTCA.fill(eid, sum1LS); _cRMS1LS_FEDuTCA.fill(eid, rms1LS); _cMeanDBRef1LS_FEDuTCA.fill(eid, diffm1LS); @@ -807,12 +678,7 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) } // FOR THE WHOLE RUN - if (eid.isVMEid()) { - _cMeanTotal_FEDVME.fill(eid, sumTotal); - _cRMSTotal_FEDVME.fill(eid, rmsTotal); - _cMeanDBRefTotal_FEDVME.fill(eid, diffmTotal); - _cRMSDBRefTotal_FEDVME.fill(eid, diffrTotal); - } else { + if (!eid.isVMEid()) { _cMeanTotal_FEDuTCA.fill(eid, sumTotal); _cRMSTotal_FEDuTCA.fill(eid, rmsTotal); _cMeanDBRefTotal_FEDuTCA.fill(eid, diffmTotal); @@ -826,9 +692,7 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) _cMeanBad1LS_depth.fill(did); _cNBadMeanvsLS_Subdet.fill(did, _currentLS); if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) - _cMeanBad1LS_FEDVME.fill(eid); - else + if (!eid.isVMEid()) _cMeanBad1LS_FEDuTCA.fill(eid); _xNBadMean1LS.get(eid)++; } @@ -837,9 +701,7 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) _cRMSBad1LS_depth.fill(did); _cNBadRMSvsLS_Subdet.fill(did, _currentLS); if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) - _cRMSBad1LS_FEDVME.fill(eid); - else + if (!eid.isVMEid()) _cRMSBad1LS_FEDuTCA.fill(eid); _xNBadRMS1LS.get(eid)++; } @@ -849,18 +711,14 @@ PedestalTask::PedestalTask(edm::ParameterSet const& ps) if (fabs(diffmTotal) > _thresh_mean) { _cMeanBadTotal_depth.fill(did); if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) - _cMeanBadTotal_FEDVME.fill(eid); - else + if (!eid.isVMEid()) _cMeanBadTotal_FEDuTCA.fill(eid); } } if (fabs(diffrTotal) > _thresh_rms) { _cRMSBadTotal_depth.fill(did); if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) - _cRMSBadTotal_FEDVME.fill(eid); - else + if (!eid.isVMEid()) _cRMSBadTotal_FEDuTCA.fill(eid); } } diff --git a/DQM/HcalTasks/plugins/RawTask.cc b/DQM/HcalTasks/plugins/RawTask.cc index 887ecf08c8008..1206a6a5166e3 100644 --- a/DQM/HcalTasks/plugins/RawTask.cc +++ b/DQM/HcalTasks/plugins/RawTask.cc @@ -81,27 +81,6 @@ RawTask::RawTask(edm::ParameterSet const& ps) _filter_FEDsuTCA.initialize(filter::fPreserver, hcaldqm::hashfunctions::fFED, vhashFEDsuTCA); // INITIALIZE FIRST - _cEvnMsm_ElectronicsVME.initialize(_name, - "EvnMsm", - hcaldqm::hashfunctions::fElectronics, - new hcaldqm::quantity::FEDQuantity(vFEDsVME), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cBcnMsm_ElectronicsVME.initialize(_name, - "BcnMsm", - hcaldqm::hashfunctions::fElectronics, - new hcaldqm::quantity::FEDQuantity(vFEDsVME), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cOrnMsm_ElectronicsVME.initialize(_name, - "OrnMsm", - hcaldqm::hashfunctions::fElectronics, - new hcaldqm::quantity::FEDQuantity(vFEDsVME), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cEvnMsm_ElectronicsuTCA.initialize(_name, "EvnMsm", hcaldqm::hashfunctions::fElectronics, @@ -125,18 +104,11 @@ RawTask::RawTask(edm::ParameterSet const& ps) 0); // Bad Quality - _cBadQuality_FEDVME.initialize(_name, - "BadQuality", - hcaldqm::hashfunctions::fCrate, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cBadQuality_FEDuTCA.initialize(_name, "BadQuality", hcaldqm::hashfunctions::fCrate, new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSlotuTCA), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), + new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCA), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); @@ -171,14 +143,10 @@ RawTask::RawTask(edm::ParameterSet const& ps) // BOOK HISTOGRAMS if (_ptype != fOffline) { - _cEvnMsm_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); - _cBcnMsm_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); - _cOrnMsm_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); _cEvnMsm_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); _cBcnMsm_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); _cOrnMsm_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cBadQuality_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cBadQuality_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); } if (_ptype == fOffline) { @@ -276,11 +244,7 @@ RawTask::RawTask(edm::ParameterSet const& ps) if (_ptype == fOnline) _xBadQLS.get(eid)++; if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) { - if (_filter_FEDsVME.filter(eid)) - continue; - _cBadQuality_FEDVME.fill(eid); - } else { + if (!eid.isVMEid()) { if (_filter_FEDsuTCA.filter(eid)) continue; _cBadQuality_FEDuTCA.fill(eid); @@ -337,20 +301,14 @@ RawTask::RawTask(edm::ParameterSet const& ps) bool qbcn = (htr_bcn != bcn); bool qorn = (htr_orn != orn); if (qevn) { - _cEvnMsm_ElectronicsVME.fill(eid); - if (_ptype == fOnline && is <= constants::SPIGOT_MAX) _xEvnMsmLS.get(eid)++; } if (qorn) { - _cOrnMsm_ElectronicsVME.fill(eid); - if (_ptype == fOnline && is <= constants::SPIGOT_MAX) _xOrnMsmLS.get(eid)++; } if (qbcn) { - _cBcnMsm_ElectronicsVME.fill(eid); - if (_ptype == fOnline && is <= constants::SPIGOT_MAX) _xBcnMsmLS.get(eid)++; } diff --git a/DQM/HcalTasks/plugins/RecHitTask.cc b/DQM/HcalTasks/plugins/RecHitTask.cc index cda33cd8c21d3..a5bfcc3315199 100644 --- a/DQM/HcalTasks/plugins/RecHitTask.cc +++ b/DQM/HcalTasks/plugins/RecHitTask.cc @@ -252,13 +252,6 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) _vhashFEDs.push_back(HcalElectronicsId(cspair.first, cspair.second, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId()); } - _cTimingCut_FEDVME.initialize(_name, - "TimingCut", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_ns), - 0); _cTimingCut_FEDuTCA.initialize(_name, "TimingCut", hcaldqm::hashfunctions::fFED, @@ -272,13 +265,6 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) new hcaldqm::quantity::LumiSection(_maxLS), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_ns), 0); - _cTimingCut_ElectronicsVME.initialize(_name, - "TimingCut", - hcaldqm::hashfunctions::fElectronics, - new hcaldqm::quantity::FEDQuantity(vFEDsVME), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_ns), - 0); _cTimingCut_ElectronicsuTCA.initialize(_name, "TimingCut", hcaldqm::hashfunctions::fElectronics, @@ -287,13 +273,6 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fTiming_ns), 0); - _cOccupancy_FEDVME.initialize(_name, - "Occupancy", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cOccupancy_FEDuTCA.initialize(_name, "Occupancy", hcaldqm::hashfunctions::fFED, @@ -301,13 +280,6 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cOccupancy_ElectronicsVME.initialize(_name, - "Occupancy", - hcaldqm::hashfunctions::fElectronics, - new hcaldqm::quantity::FEDQuantity(vFEDsVME), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cOccupancy_ElectronicsuTCA.initialize(_name, "Occupancy", hcaldqm::hashfunctions::fElectronics, @@ -316,13 +288,6 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cOccupancyCut_FEDVME.initialize(_name, - "OccupancyCut", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberVMEFiberCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cOccupancyCut_FEDuTCA.initialize(_name, "OccupancyCut", hcaldqm::hashfunctions::fFED, @@ -330,13 +295,6 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCAFiberCh), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), 0); - _cOccupancyCut_ElectronicsVME.initialize(_name, - "OccupancyCut", - hcaldqm::hashfunctions::fElectronics, - new hcaldqm::quantity::FEDQuantity(vFEDsVME), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); _cOccupancyCut_ElectronicsuTCA.initialize(_name, "OccupancyCut", hcaldqm::hashfunctions::fElectronics, @@ -378,9 +336,7 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) _cTimingCut_SubdetPM.book(ib, _emap, _subsystem); _cTimingvsEnergy_SubdetPM.book(ib, _emap, _subsystem); if (_ptype != fOffline) { // hidefed2crate - _cTimingCut_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cTimingCut_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cTimingCut_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); _cTimingCut_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); } _cTimingCut_HBHEPartition.book(ib, _emap, _subsystem); @@ -393,17 +349,13 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) // Occupancy _cOccupancy_depth.book(ib, _emap, _subsystem); if (_ptype != fOffline) { // hidefed2crate - _cOccupancy_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cOccupancy_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cOccupancy_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); _cOccupancy_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); } _cOccupancyvsLS_Subdet.book(ib, _emap, _subsystem); _cOccupancyCut_depth.book(ib, _emap, _subsystem); if (_ptype != fOffline) { // hidefed2crate - _cOccupancyCut_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); _cOccupancyCut_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cOccupancyCut_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); _cOccupancyCut_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); } @@ -550,10 +502,7 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) if (_ptype != fOffline) { // hidefed2crate // Also, for these electronics plots, require that the channel was found in the emap. if (rawid != 0) { - if (eid.isVMEid()) { - _cOccupancy_FEDVME.fill(eid); - _cOccupancy_ElectronicsVME.fill(eid); - } else if (eid.isUTCAid()) { + if (!eid.isVMEid()) { _cOccupancy_FEDuTCA.fill(eid); _cOccupancy_ElectronicsuTCA.fill(eid); } @@ -598,21 +547,7 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) _cOccupancyCut_depth.fill(did); if (_ptype != fOffline) { // hidefed2crate if (rawid != 0) { - if (eid.isVMEid()) { - // ONLINE - if (_ptype == fOnline) { - _cTimingCut_FEDVME.fill(eid, timing); - _cTimingCut_ElectronicsVME.fill(eid, timing); - } // ^^^ ONLINE - else { - _cTimingCut_FEDVME.fill(eid, timing); - _cTimingCut_ElectronicsVME.fill(eid, timing); - } - // ^^^ONLINE - - _cOccupancyCut_FEDVME.fill(eid); - _cOccupancyCut_ElectronicsVME.fill(eid); - } else if (eid.isUTCAid()) { + if (eid.isUTCAid()) { if (_ptype == fOnline) { // time constraints are explicit! _cTimingCut_FEDuTCA.fill(eid, timing); @@ -681,10 +616,7 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) // ONLINE ONLY! if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) { - _cOccupancy_FEDVME.fill(eid); - _cOccupancy_ElectronicsVME.fill(eid); - } else { + if (!eid.isVMEid()) { _cOccupancy_FEDuTCA.fill(eid); _cOccupancy_ElectronicsuTCA.fill(eid); } @@ -715,12 +647,7 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) _cOccupancyCut_depth.fill(did); _cTimingCut_depth.fill(did, timing); if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) { - _cTimingCut_FEDVME.fill(eid, timing); - _cTimingCut_ElectronicsVME.fill(eid, timing); - _cOccupancyCut_FEDVME.fill(eid); - _cOccupancyCut_ElectronicsVME.fill(eid); - } else { + if (!eid.isVMEid()) { _cTimingCut_FEDuTCA.fill(eid, timing); _cTimingCut_ElectronicsuTCA.fill(eid, timing); _cOccupancyCut_FEDuTCA.fill(eid); @@ -780,10 +707,7 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) // ONLINE ONLY! if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) { - _cOccupancy_FEDVME.fill(eid); - _cOccupancy_ElectronicsVME.fill(eid); - } else { + if (!eid.isVMEid()) { _cOccupancy_FEDuTCA.fill(eid); _cOccupancy_ElectronicsuTCA.fill(eid); } @@ -816,12 +740,7 @@ RecHitTask::RecHitTask(edm::ParameterSet const& ps) _cOccupancyCut_depth.fill(did); _cTimingCut_depth.fill(did, timing); if (_ptype != fOffline) { // hidefed2crate - if (eid.isVMEid()) { - _cTimingCut_FEDVME.fill(eid, timing); - _cTimingCut_ElectronicsVME.fill(eid, timing); - _cOccupancyCut_FEDVME.fill(eid); - _cOccupancyCut_ElectronicsVME.fill(eid); - } else { + if (!eid.isVMEid()) { _cTimingCut_FEDuTCA.fill(eid, timing); _cTimingCut_ElectronicsuTCA.fill(eid, timing); _cOccupancyCut_FEDuTCA.fill(eid); diff --git a/DQM/HcalTasks/plugins/TPComparisonTask.cc b/DQM/HcalTasks/plugins/TPComparisonTask.cc deleted file mode 100644 index ca75677d4cf86..0000000000000 --- a/DQM/HcalTasks/plugins/TPComparisonTask.cc +++ /dev/null @@ -1,252 +0,0 @@ - -#include "DQM/HcalTasks/interface/TPComparisonTask.h" - -using namespace hcaldqm; -using namespace hcaldqm::constants; -TPComparisonTask::TPComparisonTask(edm::ParameterSet const& ps) - : DQTask(ps), hcalDbServiceToken_(esConsumes()) { - // tags and tokens - _tag1 = ps.getUntrackedParameter("tag1", edm::InputTag("hcalDigis")); - _tag2 = ps.getUntrackedParameter("tag2", edm::InputTag("vmeDigis")); - _tok1 = consumes(_tag1); - _tok2 = consumes(_tag2); - - // tmp flags - _skip1x1 = ps.getUntrackedParameter("skip1x1", true); -} - -/* virtual */ void TPComparisonTask::bookHistograms(DQMStore::IBooker& ib, - edm::Run const& r, - edm::EventSetup const& es) { - DQTask::bookHistograms(ib, r, es); - - // GET WHAT YOU NEED - edm::ESHandle dbs = es.getHandle(hcalDbServiceToken_); - _emap = dbs->getHcalMapping(); - if (_ptype != fOffline) { // hidefed2crate - std::vector vFEDs = hcaldqm::utilities::getFEDList(_emap); - std::vector vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap); - std::vector vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap); - } - std::vector vhashVME; - std::vector vhashuTCA; - vhashVME.push_back( - HcalElectronicsId(constants::FIBERCH_MIN, constants::FIBER_VME_MIN, SPIGOT_MIN, CRATE_VME_MIN).rawId()); - vhashuTCA.push_back(HcalElectronicsId(CRATE_uTCA_MIN, SLOT_uTCA_MIN, FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId()); - _filter_VME.initialize(filter::fFilter, hcaldqm::hashfunctions::fElectronics, vhashVME); - _filter_uTCA.initialize(filter::fFilter, hcaldqm::hashfunctions::fElectronics, vhashuTCA); - - // INTIALIZE CONTAINERS - for (unsigned int i = 0; i < 4; i++) { - _cEt_TTSubdet[i].initialize(_name, - "Et", - hcaldqm::hashfunctions::fTTSubdet, - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtCorr_256), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtCorr_256), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN, true), - 0); - _cFG_TTSubdet[i].initialize(_name, - "FG", - hcaldqm::hashfunctions::fTTSubdet, - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fFG), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fFG), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN, true), - 0); - } - _cEtall_TTSubdet.initialize(_name, - "Et", - hcaldqm::hashfunctions::fTTSubdet, - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtCorr_256), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtCorr_256), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN, true), - 0); - - if (_ptype != fOffline) { // hidefed2crate - _cMsn_FEDVME.initialize(_name, - "Missing", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSLBSLBCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cMsn_FEDuTCA.initialize(_name, - "Missing", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSlotuTCA), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCATPFiberChuTCATP), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cEtMsm_FEDVME.initialize(_name, - "EtMsm", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSLBSLBCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cEtMsm_FEDuTCA.initialize(_name, - "EtMsm", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSlotuTCA), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCATPFiberChuTCATP), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cFGMsm_FEDVME.initialize(_name, - "FGMsm", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSpigot), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSLBSLBCh), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cFGMsm_FEDuTCA.initialize(_name, - "FGMsm", - hcaldqm::hashfunctions::fFED, - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fSlotuTCA), - new hcaldqm::quantity::ElectronicsQuantity(hcaldqm::quantity::fFiberuTCATPFiberChuTCATP), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - } - - _cMsnuTCA.initialize(_name, - "Missing", - new hcaldqm::quantity::TrigTowerQuantity(hcaldqm::quantity::fTTieta), - new hcaldqm::quantity::TrigTowerQuantity(hcaldqm::quantity::fTTiphi), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cMsnVME.initialize(_name, - "Missing", - new hcaldqm::quantity::TrigTowerQuantity(hcaldqm::quantity::fTTieta), - new hcaldqm::quantity::TrigTowerQuantity(hcaldqm::quantity::fTTiphi), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cEtMsm.initialize(_name, - "EtMsm", - new hcaldqm::quantity::TrigTowerQuantity(hcaldqm::quantity::fTTieta), - new hcaldqm::quantity::TrigTowerQuantity(hcaldqm::quantity::fTTiphi), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - _cFGMsm.initialize(_name, - "FGMsm", - new hcaldqm::quantity::TrigTowerQuantity(hcaldqm::quantity::fTTieta), - new hcaldqm::quantity::TrigTowerQuantity(hcaldqm::quantity::fTTiphi), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN), - 0); - - char aux[20]; - for (unsigned int i = 0; i < 4; i++) { - sprintf(aux, "TS%d", i); - _cEt_TTSubdet[i].book(ib, _emap, _subsystem, aux); - _cFG_TTSubdet[i].book(ib, _emap, _subsystem, aux); - } - _cEtall_TTSubdet.book(ib, _emap, _subsystem); - if (_ptype != fOffline) { // hidefed2crate - _cMsn_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); - _cEtMsm_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); - _cFGMsm_FEDVME.book(ib, _emap, _filter_uTCA, _subsystem); - _cMsn_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cEtMsm_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - _cFGMsm_FEDuTCA.book(ib, _emap, _filter_VME, _subsystem); - } - - _cMsnuTCA.book(ib, _subsystem, std::string("uTCA")); - _cMsnVME.book(ib, _subsystem, std::string("VME")); - _cEtMsm.book(ib, _subsystem); - _cFGMsm.book(ib, _subsystem); - - _ehashmapuTCA.initialize(_emap, hcaldqm::electronicsmap::fT2EHashMap, _filter_VME); - _ehashmapVME.initialize(_emap, hcaldqm::electronicsmap::fT2EHashMap, _filter_uTCA); - // _ehashmap.print(); - // _cMsn_depth.book(ib); - // _cEtMsm_depth.book(ib); - // _cFGMsm_depth.book(ib); -} - -/* virtual */ void TPComparisonTask::_resetMonitors(hcaldqm::UpdateFreq uf) { DQTask::_resetMonitors(uf); } - -/* virtual */ void TPComparisonTask::_process(edm::Event const& e, edm::EventSetup const& es) { - edm::Handle coll1; - edm::Handle coll2; - - if (!e.getByToken(_tok1, coll1)) - _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available" + _tag1.label() + " " + _tag1.instance()); - if (!e.getByToken(_tok2, coll2)) - _logger.dqmthrow("Collection HcalTrigPrimDigiCollection isn't available" + _tag2.label() + " " + _tag2.instance()); - - // assume always coll1 is primary (uTCA) and coll2 is secondary(VME) - for (HcalTrigPrimDigiCollection::const_iterator it1 = coll1->begin(); it1 != coll1->end(); ++it1) { - // iterate thru utca collection - // get the same detid digi from vme collection - // if missing - fill vme missing - // else correlate - // tmp - if (_skip1x1) - if (it1->id().version() > 0) - continue; - // \tmp - - HcalTrigTowerDetId tid = it1->id(); - HcalTrigPrimDigiCollection::const_iterator it2 = coll2->find(HcalTrigTowerDetId(tid.ieta(), tid.iphi(), 0)); - HcalElectronicsId eid1 = HcalElectronicsId(_ehashmapuTCA.lookup(tid)); - HcalElectronicsId eid2 = HcalElectronicsId(_ehashmapVME.lookup(tid)); - - if (it2 == coll2->end()) { - // missing from VME collection - _cMsnVME.fill(tid); - if (_ptype != fOffline) { // hidefed2crate - _cMsn_FEDVME.fill(eid2); - } - for (int i = 0; i < it1->size(); i++) { - _cEtall_TTSubdet.fill(tid, it1->sample(i).compressedEt(), -2); - _cEt_TTSubdet[i].fill(tid, it1->sample(i).compressedEt(), -2); - } - } else - for (int i = 0; i < it1->size(); i++) { - _cEtall_TTSubdet.fill(tid, it1->sample(i).compressedEt(), it2->sample(i).compressedEt()); - _cEt_TTSubdet[i].fill(tid, it1->sample(i).compressedEt(), it2->sample(i).compressedEt()); - _cFG_TTSubdet[i].fill(tid, it1->sample(i).fineGrain(), it2->sample(i).fineGrain()); - if (it1->sample(i).compressedEt() != it2->sample(i).compressedEt()) { - if (_ptype != fOffline) { // hidefed2crate - _cEtMsm_FEDuTCA.fill(eid1); - _cEtMsm_FEDVME.fill(eid2); - } - _cEtMsm.fill(tid); - } - if (it1->sample(i).fineGrain() != it2->sample(i).fineGrain()) { - if (_ptype != fOffline) { // hidefed2crate - _cFGMsm_FEDuTCA.fill(eid1); - _cFGMsm_FEDVME.fill(eid2); - } - _cFGMsm.fill(tid); - } - } - } - for (HcalTrigPrimDigiCollection::const_iterator it2 = coll2->begin(); it2 != coll2->end(); ++it2) { - // itearte thru VME - // find utca tp digi by detid - // check if present of missing - HcalTrigTowerDetId tid = it2->id(); - if (_skip1x1) - if (tid.version() > 0) - continue; - - HcalTrigPrimDigiCollection::const_iterator it1 = coll1->find(HcalTrigTowerDetId(tid.ieta(), tid.iphi(), 0)); - if (it1 == coll1->end()) { - HcalElectronicsId eid1 = HcalElectronicsId(_ehashmapuTCA.lookup(tid)); - if (_ptype != fOffline) { // hidefed2crate - _cMsn_FEDuTCA.fill(eid1); - } - _cMsnuTCA.fill(tid); - for (int i = 0; i < it2->size(); i++) { - _cEtall_TTSubdet.fill(tid, -2, it2->sample(i).compressedEt()); - _cEt_TTSubdet[i].fill(tid, -2, it2->sample(i).compressedEt()); - } - } - } -} - -/* virtual */ void TPComparisonTask::globalEndLuminosityBlock(edm::LuminosityBlock const& lb, - edm::EventSetup const& es) { - // in the end always - DQTask::globalEndLuminosityBlock(lb, es); -} - -DEFINE_FWK_MODULE(TPComparisonTask); diff --git a/DQM/HcalTasks/plugins/TPTask.cc b/DQM/HcalTasks/plugins/TPTask.cc index 9513773eb958b..e52d4330d640c 100644 --- a/DQM/HcalTasks/plugins/TPTask.cc +++ b/DQM/HcalTasks/plugins/TPTask.cc @@ -75,12 +75,19 @@ TPTask::TPTask(edm::ParameterSet const& ps) new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN, true), 0); _cSOIEtCorr_TTSubdet.initialize(_name, - "EtCorr", + "EtCorr_EmulvsData", hcaldqm::hashfunctions::fTTSubdetFW, new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtCorr_256), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtCorr_256), new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN, true), 0); + _cSOIEtCorrEmulL1_TTSubdet.initialize(_name, + "EtCorr_EmulvsL1", + hcaldqm::hashfunctions::fTTSubdetFW, + new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtCorr_256), + new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtCorr_256), + new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN, true), + 0); for (uint8_t iii = 0; iii < constants::NUM_FGBITS; iii++) { _cFGCorr_TTSubdet[iii].initialize(_name, "FGCorr", @@ -254,7 +261,8 @@ TPTask::TPTask(edm::ParameterSet const& ps) "EtCutDatavsBX", hcaldqm::hashfunctions::fTTSubdet, new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fBX), - new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtCorr_256), + new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fEtlog2), + new hcaldqm::quantity::ValueQuantity(hcaldqm::quantity::fN, true), 0); _cEtCutEmulvsBX_TTSubdet.initialize(_name, "EtCutEmulvsBX", @@ -553,6 +561,7 @@ TPTask::TPTask(edm::ParameterSet const& ps) _cEtEmul_TTSubdet.book(ib, _emap, _subsystem); _cEtCorr_TTSubdet.book(ib, _emap, _subsystem); _cSOIEtCorr_TTSubdet.book(ib, _emap, _subsystem); + _cSOIEtCorrEmulL1_TTSubdet.book(ib, _emap, _subsystem); if (_ptype != fOffline) { // hidefed2crate _cEtData_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); _cEtEmul_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); @@ -776,7 +785,7 @@ TPTask::TPTask(edm::ParameterSet const& ps) // ONLINE ONLY! if (_ptype == fOnline) { _cEtCutDatavsLS_TTSubdet.fill(tid, _currentLS, soiEt_d); - _cEtCutDatavsBX_TTSubdet.fill(tid, bx, soiEt_d); + _cEtCutDatavsBX_TTSubdet.fill(tid, bx, log2(soiEt_d + 1.)); _xDataTotal.get(eid)++; } // ^^^ONLINE ONLY! @@ -1055,6 +1064,39 @@ TPTask::TPTask(edm::ParameterSet const& ps) // Compare the sent ("uHTR") and received (L1T "layer1") TPs // This algorithm is copied from DQM/L1TMonitor/src/L1TStage2CaloLayer1.cc // ...but it turns out to be extremely useful for detecting uHTR problems + + _vEmulTPDigis_SentRec.clear(); + ComparisonHelper::zip(cemul->begin(), + cemul->end(), + cdataL1Rec->begin(), + cdataL1Rec->end(), + std::inserter(_vEmulTPDigis_SentRec, _vEmulTPDigis_SentRec.begin()), + HcalTrigPrimDigiCollection::key_compare()); + + // comparison between emulation TP and L1 TP + for (const auto& tpPair : _vEmulTPDigis_SentRec) { + const auto& sentTp = tpPair.first; + const auto& recdTp = tpPair.second; + const int ieta = sentTp.id().ieta(); + if (abs(ieta) > 28 && sentTp.id().version() != 1) + continue; + + const bool towerMasked = recdTp.sample(0).raw() & (1 << 13); + const bool linkError = recdTp.sample(0).raw() & (1 << 15); + if (towerMasked || linkError) + continue; + + HcalTrigTowerDetId tid = sentTp.id(); + uint32_t rawid = _ehashmap.lookup(tid); + if (rawid == 0) { + continue; + } + HcalElectronicsId const& eid(rawid); + + _cSOIEtCorrEmulL1_TTSubdet.fill(tid, eid, recdTp.SOI_compressedEt(), sentTp.SOI_compressedEt()); + } + + // comparison between sent data TP and L1 TP _vTPDigis_SentRec.clear(); ComparisonHelper::zip(cdata->begin(), cdata->end(), @@ -1079,6 +1121,14 @@ TPTask::TPTask(edm::ParameterSet const& ps) // Do not compare if known to be bad continue; } + + HcalTrigTowerDetId tid = sentTp.id(); + uint32_t rawid = _ehashmap.lookup(tid); + if (rawid == 0) { + continue; + } + HcalElectronicsId const& eid(rawid); + const bool HetAgreement = sentTp.SOI_compressedEt() == recdTp.SOI_compressedEt(); const bool Hfb1Agreement = sentTp.SOI_fineGrain() == recdTp.SOI_fineGrain(); // Ignore minBias (FB2) bit if we receieve 0 ET, which means it is likely zero-suppressed on HCal readout side @@ -1086,13 +1136,6 @@ TPTask::TPTask(edm::ParameterSet const& ps) (abs(ieta) < 29) ? true : (recdTp.SOI_compressedEt() == 0 || (sentTp.SOI_fineGrain(1) == recdTp.SOI_fineGrain(1))); if (!(HetAgreement && Hfb1Agreement && Hfb2Agreement)) { - HcalTrigTowerDetId tid = sentTp.id(); - uint32_t rawid = _ehashmap.lookup(tid); - if (rawid == 0) { - continue; - } - HcalElectronicsId const& eid(rawid); - _cEtMsm_uHTR_L1T_depthlike.fill(tid); _cEtMsm_uHTR_L1T_LS.fill(_currentLS); _xSentRecL1Msm.get(eid)++; diff --git a/DQM/HcalTasks/python/DigiComparisonTask.py b/DQM/HcalTasks/python/DigiComparisonTask.py deleted file mode 100644 index 79271e8c3018f..0000000000000 --- a/DQM/HcalTasks/python/DigiComparisonTask.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer -digiComparisonTask = DQMEDAnalyzer( - "DigiComparisonTask", - - name = cms.untracked.string("DigiComparisonTask"), - debug = cms.untracked.int32(0), - runkeyVal = cms.untracked.int32(0), - runkeyName = cms.untracked.string("pp_run"), - - tagHBHE1 = cms.untracked.InputTag("hcalDigis"), - tagHBHE2 = cms.untracked.InputTag("uHBHEDigis") -) diff --git a/DQM/HcalTasks/python/TPComparisonTask.py b/DQM/HcalTasks/python/TPComparisonTask.py deleted file mode 100644 index aea22e7afaf48..0000000000000 --- a/DQM/HcalTasks/python/TPComparisonTask.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer -tpComparisonTask = DQMEDAnalyzer( - "TPComparisonTask", - - name = cms.untracked.string("TPComparisonTask"), - debug = cms.untracked.int32(0), - runkeyVal = cms.untracked.int32(0), - runkeyName = cms.untracked.string("pp_run"), - - tag1 = cms.untracked.InputTag("hcalDigis"), - tag2 = cms.untracked.InputTag("uHBHEDigis"), - - # tmp - _skip1x1 = cms.untracked.bool(True) -) diff --git a/DQM/HcalTasks/src/RawRunSummary.cc b/DQM/HcalTasks/src/RawRunSummary.cc index 8c446a8b24eb9..b3d25596416d8 100644 --- a/DQM/HcalTasks/src/RawRunSummary.cc +++ b/DQM/HcalTasks/src/RawRunSummary.cc @@ -25,20 +25,6 @@ namespace hcaldqm { _vhashuTCA); // filter out uTCA // INTIALIZE CONTAINERS ACTING AS HOLDERS OF RUN INFORAMTION - _cEvnMsm_ElectronicsVME.initialize(_name, - "EvnMsm", - hashfunctions::fElectronics, - new quantity::FEDQuantity(_vFEDsVME), - new quantity::ElectronicsQuantity(quantity::fSpigot), - new quantity::ValueQuantity(quantity::fN), - 0); - _cBcnMsm_ElectronicsVME.initialize(_name, - "BcnMsm", - hashfunctions::fElectronics, - new quantity::FEDQuantity(_vFEDsVME), - new quantity::ElectronicsQuantity(quantity::fSpigot), - new quantity::ValueQuantity(quantity::fN), - 0); _cEvnMsm_ElectronicsuTCA.initialize(_name, "EvnMsm", hashfunctions::fElectronics, @@ -97,23 +83,9 @@ namespace hcaldqm { _xBadQ.reset(); // INITIALIZE LUMI BASED HISTOGRAMS - Container2D cEvnMsm_ElectronicsVME, cEvnMsm_ElectronicsuTCA; - Container2D cBcnMsm_ElectronicsVME, cBcnMsm_ElectronicsuTCA; + Container2D cEvnMsm_ElectronicsuTCA; + Container2D cBcnMsm_ElectronicsuTCA; Container2D cBadQuality_depth; - cEvnMsm_ElectronicsVME.initialize(_taskname, - "EvnMsm", - hashfunctions::fElectronics, - new quantity::FEDQuantity(_vFEDsVME), - new quantity::ElectronicsQuantity(quantity::fSpigot), - new quantity::ValueQuantity(quantity::fN), - 0); - cBcnMsm_ElectronicsVME.initialize(_taskname, - "BcnMsm", - hashfunctions::fElectronics, - new quantity::FEDQuantity(_vFEDsVME), - new quantity::ElectronicsQuantity(quantity::fSpigot), - new quantity::ValueQuantity(quantity::fN), - 0); cEvnMsm_ElectronicsuTCA.initialize(_taskname, "EvnMsm", hashfunctions::fElectronics, @@ -137,8 +109,6 @@ namespace hcaldqm { 0); // LOAD LUMI BASED HISTOGRAMS - cEvnMsm_ElectronicsVME.load(ig, _emap, _filter_uTCA, _subsystem); - cBcnMsm_ElectronicsVME.load(ig, _emap, _filter_uTCA, _subsystem); cEvnMsm_ElectronicsuTCA.load(ig, _emap, _filter_VME, _subsystem); cBcnMsm_ElectronicsuTCA.load(ig, _emap, _filter_VME, _subsystem); cBadQuality_depth.load(ig, _emap, _subsystem); @@ -147,8 +117,6 @@ namespace hcaldqm { // BOOK for the very first time if (!_booked) { - _cEvnMsm_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); - _cBcnMsm_ElectronicsVME.book(ib, _emap, _filter_uTCA, _subsystem); _cEvnMsm_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); _cBcnMsm_ElectronicsuTCA.book(ib, _emap, _filter_VME, _subsystem); _cBadQuality_depth.book(ib, _emap, _subsystem); @@ -166,13 +134,7 @@ namespace hcaldqm { _xBadQ.get(eid) += cBadQuality_depth.getBinContent(did); _cBadQuality_depth.fill(did, cBadQuality_depth.getBinContent(did)); - if (eid.isVMEid()) { - _xEvn.get(eid) += cEvnMsm_ElectronicsVME.getBinContent(eid); - _xBcn.get(eid) += cBcnMsm_ElectronicsVME.getBinContent(eid); - - _cEvnMsm_ElectronicsVME.fill(eid, cEvnMsm_ElectronicsVME.getBinContent(eid)); - _cBcnMsm_ElectronicsVME.fill(eid, cBcnMsm_ElectronicsVME.getBinContent(eid)); - } else { + if (!eid.isVMEid()) { _xEvn.get(eid) += cEvnMsm_ElectronicsuTCA.getBinContent(eid); _xBcn.get(eid) += cBcnMsm_ElectronicsuTCA.getBinContent(eid); diff --git a/DQM/Integration/python/clients/hcalreco_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/hcalreco_dqm_sourceclient-live_cfg.py index a0367c856fc72..aff9deaa17d77 100644 --- a/DQM/Integration/python/clients/hcalreco_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/hcalreco_dqm_sourceclient-live_cfg.py @@ -118,7 +118,6 @@ #------------------------------------- process.load('DQM.HcalTasks.RecHitTask') process.load('DQM.HcalTasks.HcalOnlineHarvesting') -process.load('DQM.HcalTasks.DigiComparisonTask') #------------------------------------- # To force using uTCA From 712c0ab03af2f6a505c7b17c2d95af34a8475865 Mon Sep 17 00:00:00 2001 From: Andrea Date: Wed, 24 Nov 2021 14:45:44 +0100 Subject: [PATCH 142/268] A few fixes for L1TGT and L1TRate --- DQM/L1TMonitor/src/L1TGT.cc | 6 ++---- DQM/L1TMonitor/src/L1TRate.cc | 11 +++++------ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/DQM/L1TMonitor/src/L1TGT.cc b/DQM/L1TMonitor/src/L1TGT.cc index a2eb8a0a1b4f8..5fde7ec5f4112 100644 --- a/DQM/L1TMonitor/src/L1TGT.cc +++ b/DQM/L1TMonitor/src/L1TGT.cc @@ -747,13 +747,12 @@ void L1TGT::countPfsIndicesPerLs() { // count the number of pairs (lsNumber, pfIndex) per Ls // there are no duplicate entries, and pairs are sorted after both members // ... and fill again the histogram + int pfsIndicesPerLs = 1; for (CItVecPair cIt = m_pairLsNumberPfIndex.begin(); cIt != m_pairLsNumberPfIndex.end(); ++cIt) { - int pfsIndicesPerLs = 1; - if ((*cIt).first == previousLsNumber) { if ((*cIt).second != previousPfsIndex) { - pfsIndicesPerLs++; previousPfsIndex = (*cIt).second; + pfsIndicesPerLs++; } } else { @@ -765,7 +764,6 @@ void L1TGT::countPfsIndicesPerLs() { // new Ls previousLsNumber = (*cIt).first; previousPfsIndex = (*cIt).second; - pfsIndicesPerLs = 1; } } diff --git a/DQM/L1TMonitor/src/L1TRate.cc b/DQM/L1TMonitor/src/L1TRate.cc index 459edccee0272..282bb36eeb230 100644 --- a/DQM/L1TMonitor/src/L1TRate.cc +++ b/DQM/L1TMonitor/src/L1TRate.cc @@ -495,12 +495,11 @@ bool L1TRate::getXSexFitsPython(const edm::ParameterSet& ps) { foundFit = true; break; } - - if (!foundFit) { - noError = false; - string eName = "WARNING_PY_MISSING_FIT"; - m_ErrorMonitor->Fill(eName); - } + } + if (!foundFit) { + noError = false; + string eName = "WARNING_PY_MISSING_FIT"; + m_ErrorMonitor->Fill(eName); } } } From 78d09abae0f6a0291d773ed5437cb46a4e302d0e Mon Sep 17 00:00:00 2001 From: Sergio Lo Meo Date: Wed, 24 Nov 2021 15:06:06 +0100 Subject: [PATCH 143/268] Restored the ShieldingME4 and fixed all the overlaps present inside the Muon System for 2026D86 Geometry --- .../dd4hep/cmsExtendedGeometry2026D86.xml | 2 +- .../data/muonYoke/2026/v2/muonYoke.xml | 4507 +++++++++++++++++ 2 files changed, 4508 insertions(+), 1 deletion(-) create mode 100644 Geometry/MuonCommonData/data/muonYoke/2026/v2/muonYoke.xml diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml index d014f9a63c8f8..6108fd5a282eb 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml @@ -72,7 +72,7 @@ - + diff --git a/Geometry/MuonCommonData/data/muonYoke/2026/v2/muonYoke.xml b/Geometry/MuonCommonData/data/muonYoke/2026/v2/muonYoke.xml new file mode 100644 index 0000000000000..8902a1bb76852 --- /dev/null +++ b/Geometry/MuonCommonData/data/muonYoke/2026/v2/muonYoke.xml @@ -0,0 +1,4507 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 6.5900*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 6.885*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 7.099*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 7.62*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 7.565*m + 0*deg, 0.*deg, 0*deg + + + + + + + + + + + 0, 0, 8.2425*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 8.870*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 8.82*m + 0*deg, 0.*deg, 0*deg + + + + + + + + + + + 0, 0, 9.4975*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 9.950*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 9.9*m - 0.495*cm + 0*deg, 0.*deg, 0*deg + + + + + + + + + + + 0, 0, 10.4075*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 10.7175*m + 0.455*cm + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 10.7425*m + 0.455*cm + 0*deg, 0.*deg, 0*deg + + + + + + + + + + + + + + + 0, 0, 6.5900*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 6.885*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 7.099*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 7.62*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 7.565*m + 0*deg, 0.*deg, 0*deg + + + + + + + + + + + 0, 0, 8.2425*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 8.870*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 8.82*m + 0*deg, 0.*deg, 0*deg + + + + + + + + + + + 0, 0, 9.4975*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 9.950*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 9.9*m - 0.495*cm + 0*deg, 0.*deg, 0*deg + + + + + + + + + + + 0, 0, 10.4075*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 10.7175*m + 0.455*cm + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 10.7425*m + 0.455*cm + 0.*deg, 0*deg, 0.*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -102.7713*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -102.7713*deg + + + + + + + + + + + 0, 0, 0.62495*m + 0.*deg, 0.*deg, -90.8778*deg + + + + + + + + + + + 0, 0, -0.62495*m + 0.*deg, 0.*deg, -90.8778*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -78.0664*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -102.7713*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -102.7713*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -97.9027*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -97.9027*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -94.294*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -94.294*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -94.294*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -85.706*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, 94.294*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, 94.294*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -82.9603*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, 97.0397*deg + + + + + + + + + + + 0, 0, 0.186*m + 0.*deg, 0.*deg, -90.8778*deg + + + + + + + + + + + 0, 0, -0.186*m + 0.*deg, 0.*deg, -90.8778*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -78.0664*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -78.0664*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -102.7713*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -102.7713*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90.8778*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90.8778*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -78.0664*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -78.0664*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.073*m + 0.*deg, 0.*deg, -100.132*deg + + + + + + + + + + + 0, 0, 1.073*m + 0.*deg, 0.*deg, -100.132*deg + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -94.1649*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -94.1649*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -94.1649*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -85.8351*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -85.8351*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -85.8351*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -79.8677*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -79.8677*deg + + + + + + + + + + + 0, 0, 0.195*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -0.195*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 0.63405*m + 0.*deg, 0.*deg, -102.776*deg + + + + + + + + + + + 0, 0, -0.63405*m + 0.*deg, 0.*deg, -102.776*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -102.776*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -102.776*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -102.776*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -102.776*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -103.0847*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -103.0847*deg + + + + + + + + + + + 0, 0, 0.62495*m + 0.*deg, 0.*deg, -89.6287*deg + + + + + + + + + + + 0, 0, -0.62495*m + 0.*deg, 0.*deg, -89.6287*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -76.5635*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -76.5635*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.0847*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.0847*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -97.8748*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -97.8748*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -93.7125*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -93.7125*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -93.7125*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -86.2875*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -86.2875*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -86.2875*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -81.7612*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -81.7612*deg + + + + + + + + + + + 0, 0, 0.186*m + 0.*deg, 0.*deg, -89.6287*deg + + + + + + + + + + + 0, 0, -0.186*m + 0.*deg, 0.*deg, -89.6287*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.5635*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.5635*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.0847*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.0847*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -89.6287*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -89.6287*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.5635*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.5635*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -99.7567*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -99.7567*deg + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -93.5375*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -93.5375*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -93.5375*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -86.4625*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -86.4625*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -86.4625*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -80.2433*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -80.2433*deg + + + + + + + + + + + 0, 0, 0.195*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -0.195*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -103.3987*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -103.3987*deg + + + + + + + + + + + 0, 0, 0.62495*m + 0.*deg, 0.*deg, -90.5026*deg + + + + + + + + + + + 0, 0, -0.62495*m + 0.*deg, 0.*deg, -90.5026*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -77.0779*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -77.0779*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.3987*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.3987*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -97.9976*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -97.9976*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -93.3782*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -93.3782*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -93.3782*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -86.6218*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -86.6218*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -86.6218*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -82.4959*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -82.4959*deg + + + + + + + + + + + 0, 0, 0.186*m + 0.*deg, 0.*deg, -90.5026*deg + + + + + + + + + + + 0, 0, -0.186*m + 0.*deg, 0.*deg, -90.5026*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -77.0779*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -77.0779*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.3987*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.3987*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90.5026*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90.5026*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -77.0779*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -77.0779*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -76.8409*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -76.8409*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.8409*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.8409*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.8409*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.8409*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -103.5332*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -103.5332*deg + + + + + + + + + + + 0, 0, 0.62495*m + 0.*deg, 0.*deg, -90.2228*deg + + + + + + + + + + + 0, 0, -0.62495*m + 0.*deg, 0.*deg, -90.2228*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -76.6776*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -76.6776*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.5332*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.5332*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -97.9814*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -97.9814*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -93.1208*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -93.1208*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -93.1208*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -86.8792*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -86.8792*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -86.8792*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -82.2371*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -82.2371*deg + + + + + + + + + + + 0, 0, 0.186*m + 0.*deg, 0.*deg, -90.2228*deg + + + + + + + + + + + 0, 0, -0.186*m + 0.*deg, 0.*deg, -90.2228*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.6776*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.6776*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.5332*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.5332*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90.2234*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90.2234*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.6782*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.6782*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -99.4324*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -99.4324*deg + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -92.9962*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -92.9962*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -92.9962*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -87.0038*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -87.0038*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -87.0038*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0729*m + 0.*deg, 0.*deg, -80.5676*deg + + + + + + + + + + + 0, 0, 1.0729*m + 0.*deg, 0.*deg, -80.5676*deg + + + + + + + + + + + 0, 0, 0.195*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -0.195*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -103.0516*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -103.0516*deg + + + + + + + + + + + 0, 0, 0.62495*m + 0.*deg, 0.*deg, -89.3702*deg + + + + + + + + + + + 0, 0, -0.62495*m + 0.*deg, 0.*deg, -89.3702*deg + + + + + + + + + + + 0, 0, 0.63395*m + 0.*deg, 0.*deg, -76.3521*deg + + + + + + + + + + + 0, 0, -0.63395*m + 0.*deg, 0.*deg, -76.3521*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.0516*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.0516*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -97.337*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -97.337*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -92.8811*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -92.8811*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -92.8811*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -90*deg + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -87.1189*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -87.1189*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -87.1189*deg + + + + + + + + + + + + + + + + + 0, 0, -1.0639*m + 0.*deg, 0.*deg, -82.0437*deg + + + + + + + + + + + 0, 0, 1.0639*m + 0.*deg, 0.*deg, -82.0437*deg + + + + + + + + + + + 0, 0, 0.186*m + 0.*deg, 0.*deg, -89.3696*deg + + + + + + + + + + + 0, 0, -0.186*m + 0.*deg, 0.*deg, -89.3696*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.3516*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.3516*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.0516*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -103.0516*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -89.3696*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -89.3696*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.3516*deg + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, -76.3516*deg + + + + + + + + + + + + 0, 0, 0.*m + 0.*deg, 0.*deg, 270.00*deg + + + From acc4357480ff41309b1b2c0769fcf71bd76152fc Mon Sep 17 00:00:00 2001 From: Byeonghak Ko Date: Wed, 24 Nov 2021 16:50:05 +0100 Subject: [PATCH 144/268] Fixed cunfusions between degree and rad --- DQM/GEM/plugins/GEMDigiSource.cc | 2 +- DQM/GEM/plugins/GEMRecHitSource.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DQM/GEM/plugins/GEMDigiSource.cc b/DQM/GEM/plugins/GEMDigiSource.cc index f394c49ef2321..5b99c1b01956e 100644 --- a/DQM/GEM/plugins/GEMDigiSource.cc +++ b/DQM/GEM/plugins/GEMDigiSource.cc @@ -168,7 +168,7 @@ void GEMDigiSource::analyze(edm::Event const& event, edm::EventSetup const& even GlobalPoint digi_global_pos = surface.toGlobal(iEta->centreOfStrip(d->strip())); Float_t fPhi = (Float_t)digi_global_pos.phi(); Float_t fPhiDeg = fPhi * 180.0 / M_PI; - fPhiDeg = (fPhi >= -0.5 ? fPhi : fPhi + 360); + fPhiDeg = (fPhiDeg >= -0.5 ? fPhiDeg : fPhiDeg + 360); mapDigiOcc_phi_.Fill(key3, fPhiDeg); // Phi // Filling of R-Phi occupancy diff --git a/DQM/GEM/plugins/GEMRecHitSource.cc b/DQM/GEM/plugins/GEMRecHitSource.cc index 0e1c26b8ccd20..301b9961712c4 100644 --- a/DQM/GEM/plugins/GEMRecHitSource.cc +++ b/DQM/GEM/plugins/GEMRecHitSource.cc @@ -211,7 +211,7 @@ void GEMRecHitSource::analyze(edm::Event const& event, edm::EventSetup const& ev // Filling of RecHit (phi) Float_t fPhiDeg = fPhi * 180.0 / M_PI; - fPhiDeg = (fPhi >= -0.5 ? fPhi : fPhi + 360); + fPhiDeg = (fPhiDeg >= -0.5 ? fPhiDeg : fPhiDeg + 360); mapRecHitOcc_phi_.Fill(key3, fPhiDeg); // For total RecHits From c775a2cff968aa5c74dc5f864aa4f97ba70487d0 Mon Sep 17 00:00:00 2001 From: mmusich Date: Tue, 23 Nov 2021 19:44:51 +0100 Subject: [PATCH 145/268] several fixes in the binning of SplitVertexResolution --- .../OfflineValidation/macros/FitPVResiduals.C | 4 +- .../macros/FitPVResolution.C | 19 ++--- .../plugins/SplitVertexResolution.cc | 78 ++++++++++++++----- .../src/PVValidationHelpers.cc | 8 +- 4 files changed, 77 insertions(+), 32 deletions(-) diff --git a/Alignment/OfflineValidation/macros/FitPVResiduals.C b/Alignment/OfflineValidation/macros/FitPVResiduals.C index b29e8ef781a19..c348aba0f6870 100644 --- a/Alignment/OfflineValidation/macros/FitPVResiduals.C +++ b/Alignment/OfflineValidation/macros/FitPVResiduals.C @@ -4073,9 +4073,9 @@ void makeNewPairOfAxes(TH2F *h) } else { // this is a L1 map axmin = 0.5; - axmax = nModZ_+0.5; + axmax = nModZ_ + 0.5; aymin = 0.5; - aymax = nLadders_+0.5; + aymax = nLadders_ + 0.5; } // Remove the current axis diff --git a/Alignment/OfflineValidation/macros/FitPVResolution.C b/Alignment/OfflineValidation/macros/FitPVResolution.C index 331acfe653d6b..a84f02c6d464e 100644 --- a/Alignment/OfflineValidation/macros/FitPVResolution.C +++ b/Alignment/OfflineValidation/macros/FitPVResolution.C @@ -32,8 +32,8 @@ float SUMPTMIN = 1.; float SUMPTMAX = 1e3; -int TRACKBINS = 60; -int VTXBINS = 40; +int TRACKBINS = 120; +int VTXBINS = 60; /* This is an auxilliary class to store the list of files @@ -257,9 +257,9 @@ void FitPVResolution(TString namesandlabels, TString theDate = "", bool isStrict std::cout << "File n. " << i << " getting the default minimum sum pT range: " << theSumPtMin_[i] << std::endl; theSumPtMax_[i] = 1e3; std::cout << "File n. " << i << " getting the default maxmum sum pT range: " << theSumPtMax_[i] << std::endl; - theTrackBINS_[i] = 60.; + theTrackBINS_[i] = 120.; std::cout << "File n. " << i << " getting the default number of tracks bins: " << theTrackBINS_[i] << std::endl; - theTrackBINS_[i] = 40.; + theTrackBINS_[i] = 60.; std::cout << "File n. " << i << " getting the default number of vertices bins: " << theVtxBINS_[i] << std::endl; } } @@ -335,17 +335,17 @@ void FitPVResolution(TString namesandlabels, TString theDate = "", bool isStrict } // max vertices - const int max_n_vertices = std::min(40, VTXBINS); // take the minimum to avoid overflow + const int max_n_vertices = std::min(60, VTXBINS); // take the minimum to avoid overflow std::vector myNVtx_bins_; for (float i = 0; i <= max_n_vertices; i++) { - myNVtx_bins_.push_back(1. + i); + myNVtx_bins_.push_back(i - 0.5f); } // max track - const int max_n_tracks = std::min(60, TRACKBINS); // take the minimum to avoid overflow + const int max_n_tracks = std::min(120, TRACKBINS); // take the minimum to avoid overflow std::vector myNTrack_bins_; for (float i = 0; i <= max_n_tracks; i++) { - myNTrack_bins_.push_back(1 + i * 2); + myNTrack_bins_.push_back(i - 0.5f); } // max sumPt @@ -988,7 +988,7 @@ void fillTrendPlotByIndex(TH1F* trendPlot, std::smatch match; if (std::regex_search(iterator.first, match, toMatch) && match.size() > 1) { result = match.str(1); - bin = std::stoi(result); + bin = std::stoi(result) + 1; } else { result = std::string(""); continue; @@ -1131,6 +1131,7 @@ void setPVResolStyle() { writeExtraText = true; // if extra text lumi_13TeV = "p-p collisions"; + lumi_0p9TeV = "p-p collisions"; extraText = "Internal"; TH1::StatOverflows(kTRUE); diff --git a/Alignment/OfflineValidation/plugins/SplitVertexResolution.cc b/Alignment/OfflineValidation/plugins/SplitVertexResolution.cc index c36049a1d5ae5..1944cf1e39aea 100644 --- a/Alignment/OfflineValidation/plugins/SplitVertexResolution.cc +++ b/Alignment/OfflineValidation/plugins/SplitVertexResolution.cc @@ -19,6 +19,7 @@ #include #include #include +#include #include // ROOT include files @@ -255,11 +256,11 @@ class SplitVertexResolution : public edm::one::EDAnalyzer mypT_bins_; - static const int nTrackBins_ = 60; + static const int nTrackBins_ = 120; const double nVisTrackBins_; // will be configured std::array myNTrack_bins_; - static const int nVtxBins_ = 40; + static const int nVtxBins_ = 60; const double nVisVtxBins_; // will be configured std::array myNVtx_bins_; @@ -285,8 +286,8 @@ SplitVertexResolution::SplitVertexResolution(const edm::ParameterSet& iConfig) // binning sumpTStartScale_(iConfig.getUntrackedParameter("sumpTStartScale", 1.)), sumpTEndScale_(iConfig.getUntrackedParameter("sumpTEndScale", 1e3)), - nVisTrackBins_(iConfig.getUntrackedParameter("nTrackBins", 60.)), - nVisVtxBins_(iConfig.getUntrackedParameter("nVtxBins", 40.)) { + nVisTrackBins_(iConfig.getUntrackedParameter("nTrackBins", 120.)), + nVisVtxBins_(iConfig.getUntrackedParameter("nVtxBins", 60.)) { usesResource(TFileService::kSharedResource); std::vector defaultRuns; @@ -295,12 +296,55 @@ SplitVertexResolution::SplitVertexResolution(const edm::ParameterSet& iConfig) mypT_bins_ = PVValHelper::makeLogBins(sumpTStartScale_, sumpTEndScale_); - std::vector vect = PVValHelper::generateBins(nTrackBins_ + 1, 1., 120.); + // IMPORTANT + // first argument is start, second argument is the range so it's [-0.5;nTracksBins_-0.5] + std::vector vect = PVValHelper::generateBins(nTrackBins_ + 1, -0.5, nTrackBins_); std::copy(vect.begin(), vect.begin() + nTrackBins_ + 1, myNTrack_bins_.begin()); vect.clear(); - vect = PVValHelper::generateBins(nVtxBins_ + 1, 1., 40.); + + // IMPORTANT + // first argument is start, second argument is the range so it's [-0.5;nVtxBins_-0.5] + vect = PVValHelper::generateBins(nVtxBins_ + 1, -0.5, nVtxBins_); std::copy(vect.begin(), vect.begin() + nVtxBins_ + 1, myNVtx_bins_.begin()); + + if (debug_) { + std::string toOutput = ""; + for (const auto& pTbin : mypT_bins_ | boost::adaptors::indexed(1)) { + if (pTbin.index() != 1) { + toOutput += " "; + } + toOutput += fmt::sprintf("%.2f", pTbin.value()); + if (pTbin.index() != nPtBins_ + 1) { + toOutput += ","; + } + } + edm::LogVerbatim("SplitVertexResolution") << "sum(pT) bins = [" << toOutput << "] \n"; + + toOutput.clear(); + for (const auto& tkbin : myNTrack_bins_ | boost::adaptors::indexed(1)) { + if (tkbin.index() != 1) { + toOutput += " "; + } + toOutput += fmt::sprintf("%.1f", tkbin.value()); + if (tkbin.index() != nTrackBins_ + 1) { + toOutput += ","; + } + } + edm::LogVerbatim("SplitVertexResolution") << "n. track bins = [" << toOutput << "] \n"; + + toOutput.clear(); + for (const auto& vtxbin : myNVtx_bins_ | boost::adaptors::indexed(1)) { + if (vtxbin.index() != 1) { + toOutput += " "; + } + toOutput += fmt::sprintf("%.1f", vtxbin.value()); + if (vtxbin.index() != nVtxBins_ + 1) { + toOutput += ","; + } + } + edm::LogVerbatim("SplitVertexResolution") << "n. vertices bins = [" << toOutput << "] \n"; + } } SplitVertexResolution::~SplitVertexResolution() = default; @@ -539,8 +583,8 @@ void SplitVertexResolution::analyze(const edm::Event& iEvent, const edm::EventSe for (int inTrackBin = 0; inTrackBin < nTrackBins_; inTrackBin++) { float nTrackF = myNTrack_bins_[inTrackBin]; float nTrackL = myNTrack_bins_[inTrackBin + 1]; - if (ntrks >= nTrackF && ntrks < nTrackL) { + //if (ntrks == inTrackBin) { PVValHelper::fillByIndex(h_resolX_Ntracks_, inTrackBin, resX * cmToUm, "7"); PVValHelper::fillByIndex(h_resolY_Ntracks_, inTrackBin, resY * cmToUm, "8"); PVValHelper::fillByIndex(h_resolZ_Ntracks_, inTrackBin, resZ * cmToUm, "9"); @@ -554,13 +598,10 @@ void SplitVertexResolution::analyze(const edm::Event& iEvent, const edm::EventSe // filling the vertex multeplicity binned distributions for (int inVtxBin = 0; inVtxBin < nVtxBins_; inVtxBin++) { - /* - float nVtxF = myNVtx_bins_[inVtxBin]; - float nVtxL = myNVtx_bins_[inVtxBin+1]; - if(nOfflineVtx >= nVtxF && nOfflineVtx < nVtxL){ - */ - - if (nOfflineVtx == inVtxBin) { + float nVtxF = myNVtx_bins_[inVtxBin]; + float nVtxL = myNVtx_bins_[inVtxBin + 1]; + if (nOfflineVtx >= nVtxF && nOfflineVtx < nVtxL) { + //if (nOfflineVtx == inVtxBin) { PVValHelper::fillByIndex(h_resolX_Nvtx_, inVtxBin, deltaX * cmToUm, "7"); PVValHelper::fillByIndex(h_resolY_Nvtx_, inVtxBin, deltaY * cmToUm, "8"); PVValHelper::fillByIndex(h_resolZ_Nvtx_, inVtxBin, deltaZ * cmToUm, "9"); @@ -1064,8 +1105,8 @@ void SplitVertexResolution::fillDescriptions(edm::ConfigurationDescriptions& des desc.addUntracked>("runControlNumber", {}); desc.addUntracked("sumpTStartScale", 1.); desc.addUntracked("sumpTEndScale", 1e3); - desc.addUntracked("nTrackBins", 60.); - desc.addUntracked("nVtxBins", 40.); + desc.addUntracked("nTrackBins", 120.); + desc.addUntracked("nVtxBins", 60.); descriptions.addWithDefaultLabel(desc); } @@ -1075,7 +1116,8 @@ std::pair SplitVertexResolution::getRunTime(const edm::Eve { const auto& runInfo = iSetup.getData(runInfoToken_); if (debug_) { - edm::LogInfo("SplitVertexResolution") << runInfo.m_start_time_str << " " << runInfo.m_stop_time_str << std::endl; + edm::LogInfo("SplitVertexResolution") + << "start time: " << runInfo.m_start_time_str << " - stop time: " << runInfo.m_stop_time_str << std::endl; } return std::make_pair(runInfo.m_start_time_ll, runInfo.m_stop_time_ll); } @@ -1085,7 +1127,7 @@ void SplitVertexResolution::fillTrendPlotByIndex(TH1F* trendPlot, std::vector PVValHelper::generateBins(int n, float start, float range) float interval = range / (n - 1); std::iota(v.begin(), v.end(), 1.); - //std::cout<<" interval:"< Date: Wed, 24 Nov 2021 18:57:55 +0100 Subject: [PATCH 146/268] Restored cmsExtendedGeometry2026D86.xml --- .../CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml index 6108fd5a282eb..d014f9a63c8f8 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml @@ -72,7 +72,7 @@ - + From 3225e475107076479ab7f98f7cd344604232f0e3 Mon Sep 17 00:00:00 2001 From: Wei Wei Date: Wed, 17 Nov 2021 08:02:51 +0100 Subject: [PATCH 147/268] Modify calculations for the Lorentz angle --- .../src/SiPixelLorentzAnglePCLHarvester.cc | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc b/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc index 97adca6e609d1..cadb2b307f6a4 100644 --- a/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc +++ b/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc @@ -214,7 +214,8 @@ void SiPixelLorentzAnglePCLHarvester::dqmEndJob(DQMStore::IBooker& iBooker, DQMS << "p4" << "\t" << "e4" << "\t" << "p5" << "\t" << "e5" << "\t" << "chi2" << "\t" << "prob" << "\t" - << "newDetId" << std::endl; + << "newDetId" << "\t" << "tan(LA)" << "\t" + << "Error(LA)" << std::endl; // clang-format on std::unique_ptr LorentzAngle = std::make_unique(); @@ -228,6 +229,7 @@ void SiPixelLorentzAnglePCLHarvester::dqmEndJob(DQMStore::IBooker& iBooker, DQMS f1->SetParName(5, "quintic term"); double p1_simul_newmodule = 0.294044; + double half_width = 0.0285 / 2 * 10000; // pixel width in units of micro meter for (int j = 0; j < (int)hists.BPixnewDetIds_.size(); j++) { int new_index = j + 1 + hists.nModules_[hists.nlay - 1] + (hists.nlay - 1) * hists.nModules_[hists.nlay - 1]; @@ -268,12 +270,25 @@ void SiPixelLorentzAnglePCLHarvester::dqmEndJob(DQMStore::IBooker& iBooker, DQMS double chi2 = f1->GetChisquare(); double prob = f1->GetProb(); + double f1_halfwidth = p0 + p1 * half_width + p2 * pow(half_width, 2) + p3 * pow(half_width, 3) + + p4 * pow(half_width, 4) + p5 * pow(half_width, 5); + + double f1_zerowidth = p0; + + double tan_LA = + (f1_halfwidth - f1_zerowidth) / half_width; // tan_LA = (f1(x = half_width) - f1(x = 0)) / (half_width - 0) + double errsq_LA = (pow(e1, 2) + pow((half_width * e2), 2) + pow((half_width * half_width * e3), 2) + + pow((half_width * half_width * half_width * e4), 2) + + pow((half_width * half_width * half_width * half_width * e5), 2)) * + pow(tan_LA, 2); // Propagation of uncertainty + double error_LA = sqrt(errsq_LA); + edm::LogPrint("LorentzAngle") << std::setprecision(4) << hists.BPixnewModule_[j] << "\t" << hists.BPixnewLayer_[j] << "\t" << p0 << "\t" << e0 << "\t" << p1 << std::setprecision(3) << "\t" << e1 << "\t" << e1 / p1 * 100. << "\t" << (p1 - p1_simul_newmodule) / e1 << "\t" << p2 << "\t" << e2 << "\t" << p3 << "\t" << e3 << "\t" << p4 << "\t" << e4 << "\t" << p5 << "\t" << e5 << "\t" << chi2 << "\t" << prob << "\t" << hists.BPixnewDetIds_[j] - << std::endl; + << "\t" << tan_LA << "\t" << error_LA << std::endl; } double p1_simul[hists.nlay][hists.nModules_[hists.nlay - 1]]; @@ -335,12 +350,26 @@ void SiPixelLorentzAnglePCLHarvester::dqmEndJob(DQMStore::IBooker& iBooker, DQMS double chi2 = f1->GetChisquare(); double prob = f1->GetProb(); + double f1_halfwidth = p0 + p1 * half_width + p2 * pow(half_width, 2) + p3 * pow(half_width, 3) + + p4 * pow(half_width, 4) + p5 * pow(half_width, 5); + + double f1_zerowidth = p0; + + double tan_LA = + (f1_halfwidth - f1_zerowidth) / half_width; // tan_LA = (f1(x = half_width) - f1(x = 0)) / (half_width - 0) + double errsq_LA = (pow(e1, 2) + pow((half_width * e2), 2) + pow((half_width * half_width * e3), 2) + + pow((half_width * half_width * half_width * e4), 2) + + pow((half_width * half_width * half_width * half_width * e5), 2)) * + pow(tan_LA, 2); // Propagation of uncertainty + double error_LA = sqrt(errsq_LA); + edm::LogPrint("LorentzAngle") << std::setprecision(4) << i_module << "\t" << i_layer << "\t" << p0 << "\t" << e0 << "\t" << p1 << std::setprecision(3) << "\t" << e1 << "\t" << e1 / p1 * 100. << "\t" << (p1 - p1_simul[i_layer - 1][i_module - 1]) / e1 << "\t" << p2 << "\t" << e2 << "\t" << p3 << "\t" << e3 << "\t" << p4 << "\t" << e4 << "\t" << p5 << "\t" << e5 << "\t" << chi2 << "\t" << prob << "\t" - << "null" << std::endl; + << "null" + << "\t" << tan_LA << "\t" << error_LA << std::endl; const auto& detIdsToFill = hists.detIdsList.at(i_index); @@ -351,7 +380,7 @@ void SiPixelLorentzAnglePCLHarvester::dqmEndJob(DQMStore::IBooker& iBooker, DQMS // if the fit quality is OK if (prob > fitProbCut_) { for (const auto& id : detIdsToFill) { - bPixLorentzAnglePerTesla_ = p1 / theMagField; + bPixLorentzAnglePerTesla_ = tan_LA / theMagField; if (!LorentzAngle->putLorentzAngle(id, bPixLorentzAnglePerTesla_)) { edm::LogError("SiPixelLorentzAnglePCLHarvester") << "[SiPixelLorentzAnglePCLHarvester::dqmEndRun] detid already exists" << std::endl; From 74a7d41cfbdf87afed13395ea1576d696f6fd8cf Mon Sep 17 00:00:00 2001 From: Wei Wei Date: Fri, 19 Nov 2021 06:15:35 +0100 Subject: [PATCH 148/268] Remove magic numbers --- .../src/SiPixelLorentzAnglePCLHarvester.cc | 10 +++++----- .../src/SiPixelLorentzAnglePCLWorker.cc | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc b/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc index cadb2b307f6a4..df6d8deb6aeeb 100644 --- a/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc +++ b/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc @@ -44,6 +44,7 @@ class SiPixelLorentzAnglePCLHarvester : public DQMEDHarvester { const double fitProbCut_; const std::string recordName_; std::unique_ptr f1; + float width_; SiPixelLorentzAngleCalibrationHistograms hists; const SiPixelLorentzAngle* currentLorentzAngle; @@ -106,6 +107,7 @@ void SiPixelLorentzAnglePCLHarvester::beginRun(const edm::Run& iRun, const edm:: for (auto det : geom->detsPXB()) { const PixelGeomDetUnit* pixelDet = dynamic_cast(det); + width_ = pixelDet->surface().bounds().thickness(); const auto& layer = tTopo->pxbLayer(pixelDet->geographicalId()); const auto& module = tTopo->pxbModule(pixelDet->geographicalId()); int i_index = module + (layer - 1) * hists.nModules_[layer - 1]; @@ -229,7 +231,7 @@ void SiPixelLorentzAnglePCLHarvester::dqmEndJob(DQMStore::IBooker& iBooker, DQMS f1->SetParName(5, "quintic term"); double p1_simul_newmodule = 0.294044; - double half_width = 0.0285 / 2 * 10000; // pixel width in units of micro meter + double half_width = width_ * 10000 / 2; // pixel half thickness in units of micro meter for (int j = 0; j < (int)hists.BPixnewDetIds_.size(); j++) { int new_index = j + 1 + hists.nModules_[hists.nlay - 1] + (hists.nlay - 1) * hists.nModules_[hists.nlay - 1]; @@ -279,8 +281,7 @@ void SiPixelLorentzAnglePCLHarvester::dqmEndJob(DQMStore::IBooker& iBooker, DQMS (f1_halfwidth - f1_zerowidth) / half_width; // tan_LA = (f1(x = half_width) - f1(x = 0)) / (half_width - 0) double errsq_LA = (pow(e1, 2) + pow((half_width * e2), 2) + pow((half_width * half_width * e3), 2) + pow((half_width * half_width * half_width * e4), 2) + - pow((half_width * half_width * half_width * half_width * e5), 2)) * - pow(tan_LA, 2); // Propagation of uncertainty + pow((half_width * half_width * half_width * half_width * e5), 2)); // Propagation of uncertainty double error_LA = sqrt(errsq_LA); edm::LogPrint("LorentzAngle") << std::setprecision(4) << hists.BPixnewModule_[j] << "\t" << hists.BPixnewLayer_[j] @@ -359,8 +360,7 @@ void SiPixelLorentzAnglePCLHarvester::dqmEndJob(DQMStore::IBooker& iBooker, DQMS (f1_halfwidth - f1_zerowidth) / half_width; // tan_LA = (f1(x = half_width) - f1(x = 0)) / (half_width - 0) double errsq_LA = (pow(e1, 2) + pow((half_width * e2), 2) + pow((half_width * half_width * e3), 2) + pow((half_width * half_width * half_width * e4), 2) + - pow((half_width * half_width * half_width * half_width * e5), 2)) * - pow(tan_LA, 2); // Propagation of uncertainty + pow((half_width * half_width * half_width * half_width * e5), 2)); // Propagation of uncertainty double error_LA = sqrt(errsq_LA); edm::LogPrint("LorentzAngle") << std::setprecision(4) << i_module << "\t" << i_layer << "\t" << p0 << "\t" << e0 diff --git a/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLWorker.cc b/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLWorker.cc index 9e2c352e21333..3b51bbc2db87a 100644 --- a/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLWorker.cc +++ b/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLWorker.cc @@ -379,7 +379,7 @@ void SiPixelLorentzAnglePCLWorker::analyze(edm::Event const& iEvent, edm::EventS const PixelTopology* topol = &(theGeomDet->specificTopology()); float ypitch_ = topol->pitch().second; - float width_ = 0.0285; + float width_ = theGeomDet->surface().bounds().thickness(); if (!topol) continue; From b51d358a8bd9aa920d065cd33e1e58a5566f5097 Mon Sep 17 00:00:00 2001 From: mmusich Date: Wed, 24 Nov 2021 21:08:46 +0100 Subject: [PATCH 149/268] code-format --- .../src/SiPixelLorentzAnglePCLHarvester.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc b/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc index df6d8deb6aeeb..c73b0e9f1e289 100644 --- a/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc +++ b/CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc @@ -358,9 +358,10 @@ void SiPixelLorentzAnglePCLHarvester::dqmEndJob(DQMStore::IBooker& iBooker, DQMS double tan_LA = (f1_halfwidth - f1_zerowidth) / half_width; // tan_LA = (f1(x = half_width) - f1(x = 0)) / (half_width - 0) - double errsq_LA = (pow(e1, 2) + pow((half_width * e2), 2) + pow((half_width * half_width * e3), 2) + - pow((half_width * half_width * half_width * e4), 2) + - pow((half_width * half_width * half_width * half_width * e5), 2)); // Propagation of uncertainty + double errsq_LA = + (pow(e1, 2) + pow((half_width * e2), 2) + pow((half_width * half_width * e3), 2) + + pow((half_width * half_width * half_width * e4), 2) + + pow((half_width * half_width * half_width * half_width * e5), 2)); // Propagation of uncertainty double error_LA = sqrt(errsq_LA); edm::LogPrint("LorentzAngle") << std::setprecision(4) << i_module << "\t" << i_layer << "\t" << p0 << "\t" << e0 From 51db201f343068277d5b9ac43ef481668fee8d12 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Wed, 24 Nov 2021 22:02:54 +0100 Subject: [PATCH 150/268] Use ESGetToken in RecoHI/HiTracking --- .../HiTracking/plugins/HIBestVertexProducer.cc | 1 - .../HiTracking/plugins/HIMultiTrackSelector.cc | 1 - .../plugins/HIPixelMedianVtxProducer.cc | 1 - .../plugins/HIProtoTrackFilterProducer.cc | 1 - .../plugins/HITrackingRegionProducer.h | 1 - .../src/HICaloCompatibleTrackSelector.cc | 1 - .../test/HIPixelClusterVtxAnalyzer.cc | 18 +++++++++--------- 7 files changed, 9 insertions(+), 15 deletions(-) diff --git a/RecoHI/HiTracking/plugins/HIBestVertexProducer.cc b/RecoHI/HiTracking/plugins/HIBestVertexProducer.cc index 60c053fa17051..0c78836e547e1 100644 --- a/RecoHI/HiTracking/plugins/HIBestVertexProducer.cc +++ b/RecoHI/HiTracking/plugins/HIBestVertexProducer.cc @@ -1,7 +1,6 @@ #include "RecoHI/HiTracking/interface/HIBestVertexProducer.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" diff --git a/RecoHI/HiTracking/plugins/HIMultiTrackSelector.cc b/RecoHI/HiTracking/plugins/HIMultiTrackSelector.cc index ea0a9df4858db..1722cdbd7ddcd 100644 --- a/RecoHI/HiTracking/plugins/HIMultiTrackSelector.cc +++ b/RecoHI/HiTracking/plugins/HIMultiTrackSelector.cc @@ -4,7 +4,6 @@ #include "DataFormats/Common/interface/ValueMap.h" #include "CondFormats/DataRecord/interface/GBRWrapperRcd.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include #include diff --git a/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.cc b/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.cc index fc338002d4279..dda1fb055fe8b 100644 --- a/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.cc +++ b/RecoHI/HiTracking/plugins/HIPixelMedianVtxProducer.cc @@ -1,7 +1,6 @@ #include "HIPixelMedianVtxProducer.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/Event.h" diff --git a/RecoHI/HiTracking/plugins/HIProtoTrackFilterProducer.cc b/RecoHI/HiTracking/plugins/HIProtoTrackFilterProducer.cc index 89df6fd9cf337..acb6ba508ea27 100644 --- a/RecoHI/HiTracking/plugins/HIProtoTrackFilterProducer.cc +++ b/RecoHI/HiTracking/plugins/HIProtoTrackFilterProducer.cc @@ -10,7 +10,6 @@ #include "FWCore/Utilities/interface/InputTag.h" #include "FWCore/Utilities/interface/EDGetToken.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "RecoPixelVertexing/PixelTrackFitting/interface/PixelTrackFilter.h" #include "RecoHI/HiTracking/interface/HIProtoTrackFilter.h" diff --git a/RecoHI/HiTracking/plugins/HITrackingRegionProducer.h b/RecoHI/HiTracking/plugins/HITrackingRegionProducer.h index 5c57d4e181bbe..54332778a3690 100644 --- a/RecoHI/HiTracking/plugins/HITrackingRegionProducer.h +++ b/RecoHI/HiTracking/plugins/HITrackingRegionProducer.h @@ -9,7 +9,6 @@ #include "RecoTracker/TkTrackingRegions/interface/RectangularEtaPhiTrackingRegion.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" diff --git a/RecoHI/HiTracking/src/HICaloCompatibleTrackSelector.cc b/RecoHI/HiTracking/src/HICaloCompatibleTrackSelector.cc index e551dc97a5712..3717eb33cefe9 100644 --- a/RecoHI/HiTracking/src/HICaloCompatibleTrackSelector.cc +++ b/RecoHI/HiTracking/src/HICaloCompatibleTrackSelector.cc @@ -18,7 +18,6 @@ #include "RecoHI/HiTracking/interface/HICaloCompatibleTrackSelector.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "DataFormats/Math/interface/deltaR.h" #include diff --git a/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc b/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc index efb56e2bf9f8f..38ef8a7a21fed 100644 --- a/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc +++ b/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc @@ -1,12 +1,11 @@ #include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/Event.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "CommonTools/UtilAlgos/interface/TFileService.h" #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" #include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/Event.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" @@ -43,20 +42,22 @@ class HIPixelClusterVtxAnalyzer : public edm::EDAnalyzer { virtual void analyze(const edm::Event &ev, const edm::EventSetup &es); int getContainedHits(const std::vector &hits, double z0, double &chi); - edm::EDGetTokenT srcPixels_; //pixel rec hits + const edm::EDGetTokenT srcPixels_; //pixel rec hits + const edm::ESGetToken trackerToken_; - double minZ_; - double maxZ_; - double zStep_; + const double minZ_; + const double maxZ_; + const double zStep_; + const int maxHists_; edm::Service fs; - int maxHists_; int counter; }; /*****************************************************************************/ HIPixelClusterVtxAnalyzer::HIPixelClusterVtxAnalyzer(const edm::ParameterSet &ps) : srcPixels_(consumes(ps.getParameter("pixelRecHits"))), + trackerToken_(esConsumes()), minZ_(ps.getParameter("minZ")), maxZ_(ps.getParameter("maxZ")), zStep_(ps.getParameter("zStep")), @@ -90,8 +91,7 @@ void HIPixelClusterVtxAnalyzer::analyze(const edm::Event &ev, const edm::EventSe // get tracker geometry if (hRecHits.isValid()) { - edm::ESHandle trackerHandle; - es.get().get(trackerHandle); + const auto& trackerHandle = es.getHandle(trackerToken_); const TrackerGeometry *tgeo = trackerHandle.product(); const SiPixelRecHitCollection *hits = hRecHits.product(); From 51816aa7dec76498daefe40ad724db85e8c0c746 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Wed, 24 Nov 2021 22:20:49 +0100 Subject: [PATCH 151/268] Code check --- RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc b/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc index 38ef8a7a21fed..c1d216974b9d9 100644 --- a/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc +++ b/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc @@ -6,7 +6,6 @@ #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" #include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h" - #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" #include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" @@ -91,7 +90,7 @@ void HIPixelClusterVtxAnalyzer::analyze(const edm::Event &ev, const edm::EventSe // get tracker geometry if (hRecHits.isValid()) { - const auto& trackerHandle = es.getHandle(trackerToken_); + const auto &trackerHandle = es.getHandle(trackerToken_); const TrackerGeometry *tgeo = trackerHandle.product(); const SiPixelRecHitCollection *hits = hRecHits.product(); From 10c3665dbfe18fafc0c897ad5e96c627a7612774 Mon Sep 17 00:00:00 2001 From: Davide Valsecchi Date: Wed, 24 Nov 2021 19:04:41 +0100 Subject: [PATCH 152/268] Model files and thresholds for PFID with DNN trained in Run3Summer21 --- .../plugins/GsfElectronProducer.cc | 12 ++++++------ .../python/gedGsfElectrons_cfi.py | 15 ++++++++------- .../python/gedPhotonSequence_cff.py | 9 +++++---- .../python/gedPhotons_cfi.py | 8 ++++---- .../python/photons_cfi.py | 10 +++++----- .../src/ElectronDNNEstimator.cc | 2 +- .../src/PhotonDNNEstimator.cc | 8 ++++---- .../PFProducer/python/particleFlow_cff.py | 18 +++++++++++++----- 8 files changed, 46 insertions(+), 36 deletions(-) diff --git a/RecoEgamma/EgammaElectronProducers/plugins/GsfElectronProducer.cc b/RecoEgamma/EgammaElectronProducers/plugins/GsfElectronProducer.cc index eb9b0d2f7d901..f62b011a1ed4b 100644 --- a/RecoEgamma/EgammaElectronProducers/plugins/GsfElectronProducer.cc +++ b/RecoEgamma/EgammaElectronProducers/plugins/GsfElectronProducer.cc @@ -294,14 +294,14 @@ void GsfElectronProducer::fillDescriptions(edm::ConfigurationDescriptions& descr psd1.add("outputDim", 5); // Number of output nodes of DNN psd1.add>( "modelsFiles", - {"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/lowpT/lowpT_modelDNN.pb", - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEB/highpTEB_modelDNN.pb", - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEE/highpTEE_modelDNN.pb"}); + {"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/lowpT/lowpT_modelDNN.pb", + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/highpTEB/highpTEB_modelDNN.pb", + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/highpTEE/highpTEE_modelDNN.pb"}); psd1.add>( "scalersFiles", - {"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/lowpT/lowpT_scaler.txt", - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEB/highpTEB_scaler.txt", - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEE/highpTEE_scaler.txt"}); + {"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/lowpT/lowpT_scaler.txt", + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/highpTEB/highpTEB_scaler.txt", + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/highpTEE/highpTEE_scaler.txt"}); psd1.add("useEBModelInGap", true); // preselection parameters desc.add("EleDNNPFid", psd1); diff --git a/RecoEgamma/EgammaElectronProducers/python/gedGsfElectrons_cfi.py b/RecoEgamma/EgammaElectronProducers/python/gedGsfElectrons_cfi.py index 9769315525ee6..d34de96cdf179 100644 --- a/RecoEgamma/EgammaElectronProducers/python/gedGsfElectrons_cfi.py +++ b/RecoEgamma/EgammaElectronProducers/python/gedGsfElectrons_cfi.py @@ -20,17 +20,18 @@ "gedelectron_EEUncertainty_offline_v1"], combinationRegressionWeightLabels = ["gedelectron_p4combination_offline"], - #Activate the evaluation of Egamma PFID DNN + #Egamma PFID DNN model configuration EleDNNPFid= dict( + outputTensorName = "sequential_1/FinalLayer/Softmax", modelsFiles = [ - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/lowpT/lowpT_modelDNN.pb", - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEB/highpTEB_modelDNN.pb", - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEE/highpTEE_modelDNN.pb" + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/lowpT/lowpT_modelDNN.pb", + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/EB_highpT/barrel_highpT_modelDNN.pb", + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/EE_highpT/endcap_highpT_modelDNN.pb" ], scalersFiles = [ - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/lowpT/lowpT_scaler.txt", - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEB/highpTEB_scaler.txt", - "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/highpTEE/highpTEE_scaler.txt" + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/lowpT/lowpT_scaler.txt", + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/EB_highpT/barrel_highpT_scaler.txt", + "RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/EE_highpT/endcap_highpT_scaler.txt" ] ) ) diff --git a/RecoEgamma/EgammaPhotonProducers/python/gedPhotonSequence_cff.py b/RecoEgamma/EgammaPhotonProducers/python/gedPhotonSequence_cff.py index 0718d38d2b983..8918503bf849a 100644 --- a/RecoEgamma/EgammaPhotonProducers/python/gedPhotonSequence_cff.py +++ b/RecoEgamma/EgammaPhotonProducers/python/gedPhotonSequence_cff.py @@ -14,12 +14,13 @@ candidateP4type = "fromEcalEnergy", outputPhotonCollection = "", reconstructionStep = "tmp", + #Photon PFID DNN model configuration PhotonDNNPFid = dict( - modelsFiles = [ "RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/EB/EB_modelDNN.pb", - "RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/EE/EE_modelDNN.pb"], + modelsFiles = [ "RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/Run3Summer21_120X/EB/barrel_modelDNN.pb", + "RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/Run3Summer21_120X/EE/endcap_modelDNN.pb"], scalersFiles = [ - "RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/EB/EB_scaler.txt", - "RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/EE/EE_scaler.txt"] + "RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/Run3Summer21_120X/EB/barrel_scaler.txt", + "RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/Run3Summer21_120X/EE/endcap_scaler.txt"] ) ) del gedPhotonsTmp.regressionConfig diff --git a/RecoEgamma/EgammaPhotonProducers/python/gedPhotons_cfi.py b/RecoEgamma/EgammaPhotonProducers/python/gedPhotons_cfi.py index 4b89499cb2aec..d8d6f7b86e32f 100644 --- a/RecoEgamma/EgammaPhotonProducers/python/gedPhotons_cfi.py +++ b/RecoEgamma/EgammaPhotonProducers/python/gedPhotons_cfi.py @@ -104,11 +104,11 @@ inputTensorName = cms.string("FirstLayer_input"), outputTensorName = cms.string("sequential/FinalLayer/Sigmoid"), modelsFiles = cms.vstring( - 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/EB/EB_modelDNN.pb', - 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/EE/EE_modelDNN.pb'), + 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/v1/EB/EB_modelDNN.pb', + 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/v1/EE/EE_modelDNN.pb'), scalersFiles = cms.vstring( - 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/EB/EB_scaler.txt', - 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/EE/EE_scaler.txt' + 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/v1/EB/EB_scaler.txt', + 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/v1/EE/EE_scaler.txt' ), outputDim = cms.uint32(1), useEBModelInGap = cms.bool(True) diff --git a/RecoEgamma/EgammaPhotonProducers/python/photons_cfi.py b/RecoEgamma/EgammaPhotonProducers/python/photons_cfi.py index 7b8e9c69bbc35..1ffac6650827f 100644 --- a/RecoEgamma/EgammaPhotonProducers/python/photons_cfi.py +++ b/RecoEgamma/EgammaPhotonProducers/python/photons_cfi.py @@ -93,13 +93,13 @@ PhotonDNNPFid = cms.PSet( enabled = cms.bool(False), inputTensorName = cms.string("FirstLayer_input"), - outputTensorName = cms.string("sequential/LastLayer/Softmax"), + outputTensorName = cms.string("sequential/FinalLayer/Sigmoid"), modelsFiles = cms.vstring( - 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/model_barrel.pb', - 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/model_endcap.pb'), + 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/v1/EB/EB_modelDNN.pb', + 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/v1/EE/EE_modelDNN.pb'), scalersFiles = cms.vstring( - 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/PhotonDNNScaler.txt', - 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/PhotonDNNScaler.txt' + 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/v1/EB/EB_scaler.txt', + 'RecoEgamma/PhotonIdentification/data/Photon_PFID_dnn/v1/EE/EE_scaler.txt' ), outputDim = cms.uint32(1), useEBModelInGap = cms.bool(True) diff --git a/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc b/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc index 37f2c7c957307..d90e7af7c676f 100644 --- a/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc +++ b/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc @@ -119,7 +119,7 @@ std::map ElectronDNNEstimator::getInputsVars(const reco::Gsf variables["1_minus_full5x5_e1x5_ratio_full5x5_e5x5"] = 1 - ele.full5x5_e1x5() / ele.full5x5_e5x5(); variables["full5x5_e1x5_ratio_full5x5_e5x5"] = ele.full5x5_e1x5() / ele.full5x5_e5x5(); variables["full5x5_r9"] = ele.full5x5_r9(); - variables["gsfTrack.hitPattern.trackerLayersWithMeasurement"] = + variables["gsfTrack.trackerLayersWithMeasurement"] = (validKF) ? myTrackRef->hitPattern().trackerLayersWithMeasurement() : -1.; variables["superCluster.energy"] = ele.superCluster()->energy(); variables["superCluster.rawEnergy"] = ele.superCluster()->rawEnergy(); diff --git a/RecoEgamma/PhotonIdentification/src/PhotonDNNEstimator.cc b/RecoEgamma/PhotonIdentification/src/PhotonDNNEstimator.cc index 0207282ad822a..75d7d582908f2 100644 --- a/RecoEgamma/PhotonIdentification/src/PhotonDNNEstimator.cc +++ b/RecoEgamma/PhotonIdentification/src/PhotonDNNEstimator.cc @@ -34,10 +34,10 @@ std::vector PhotonDNNEstimator::getSessions() const { retu const std::vector PhotonDNNEstimator::dnnAvaibleInputs = {{"pt", "eta", "hadTowOverEm", - "TrkSumPtHollow", + "trkSumPtHollowConeDR03", "EcalRecHit", "SigmaIetaIeta", - "SigmaIEtaIEtaFull5x5", + "SigmaIetaIetaFull5x5", "SigmaIEtaIPhiFull5x5", "EcalPFClusterIso", "HcalPFClusterIso", @@ -51,10 +51,10 @@ std::map PhotonDNNEstimator::getInputsVars(const reco::Photo variables["pt"] = photon.pt(); variables["eta"] = photon.eta(); variables["hadTowOverEm"] = photon.hadTowOverEmValid() ? photon.hadTowOverEm() : 0; - variables["TrkSumPtHollow"] = photon.trkSumPtHollowConeDR03(); + variables["trkSumPtHollowConeDR03"] = photon.trkSumPtHollowConeDR03(); variables["EcalRecHit"] = photon.ecalRecHitSumEtConeDR03(); variables["SigmaIetaIeta"] = photon.sigmaIetaIeta(); - variables["SigmaIEtaIEtaFull5x5"] = photon.full5x5_sigmaIetaIeta(); + variables["SigmaIetaIetaFull5x5"] = photon.full5x5_sigmaIetaIeta(); variables["SigmaIEtaIPhiFull5x5"] = photon.full5x5_showerShapeVariables().sigmaIetaIphi; variables["EcalPFClusterIso"] = photon.ecalPFClusterIso(); variables["HcalPFClusterIso"] = photon.hcalPFClusterIso(); diff --git a/RecoParticleFlow/PFProducer/python/particleFlow_cff.py b/RecoParticleFlow/PFProducer/python/particleFlow_cff.py index 944b01ac41989..3e120e6b1b907 100644 --- a/RecoParticleFlow/PFProducer/python/particleFlow_cff.py +++ b/RecoParticleFlow/PFProducer/python/particleFlow_cff.py @@ -15,14 +15,22 @@ particleFlowTmp.PFEGammaFiltersParameters.allowEEEinPF = cms.bool(False) # Thresholds for e/gamma PFID DNN +# Thresholds for electron: Sig_isolated+Sig_nonIsolated particleFlowTmp.PFEGammaFiltersParameters.electronDnnThresholds = cms.PSet( - electronDnnHighPtBarrelThr = cms.double(0.122), - electronDnnHighPtEndcapThr = cms.double(0.072), - electronDnnLowPtThr = cms.double(0.081) + electronDnnHighPtBarrelThr = cms.double(0.068), + electronDnnHighPtEndcapThr = cms.double(0.056), + electronDnnLowPtThr = cms.double(0.075) ) +# Thresholds for electron: Bkg_nonIsolated +particleFlowTmp.PFEGammaFiltersParameters.electronDnnBkgThresholds = cms.PSet( + electronDnnBkgHighPtBarrelThr = cms.double(0.8), + electronDnnBkgHighPtEndcapThr = cms.double(0.75), + electronDnnBkgLowPtThr = cms.double(0.75) + ) +# Thresholds for photons particleFlowTmp.PFEGammaFiltersParameters.photonDnnThresholds = cms.PSet( - photonDnnBarrelThr = cms.double(0.70), - photonDnnEndcapThr = cms.double(0.79) + photonDnnBarrelThr = cms.double(0.22), + photonDnnEndcapThr = cms.double(0.35) ) from Configuration.Eras.Modifier_pf_badHcalMitigationOff_cff import pf_badHcalMitigationOff From 943101c980aecf815af984924ce856ee22074cd4 Mon Sep 17 00:00:00 2001 From: francescobrivio Date: Wed, 24 Nov 2021 23:13:14 +0100 Subject: [PATCH 153/268] remove one forgotten class member that is not used anymore --- RecoHI/HiCentralityAlgos/plugins/CentralityTableProducer.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/RecoHI/HiCentralityAlgos/plugins/CentralityTableProducer.cc b/RecoHI/HiCentralityAlgos/plugins/CentralityTableProducer.cc index ab722219b1335..9c3fddc632ba6 100644 --- a/RecoHI/HiCentralityAlgos/plugins/CentralityTableProducer.cc +++ b/RecoHI/HiCentralityAlgos/plugins/CentralityTableProducer.cc @@ -59,7 +59,6 @@ class CentralityTableProducer : public edm::EDAnalyzer { string rootTag_; ofstream text_; - CentralityTable* CT; const CentralityBins* CB; unsigned int runnum_; From c4cda605173109d22033014c3e931195080357f6 Mon Sep 17 00:00:00 2001 From: Tamas Date: Thu, 25 Nov 2021 00:02:40 +0100 Subject: [PATCH 154/268] Add LA harvester to 1001.2 wf --- .../PyReleaseValidation/python/relval_production.py | 2 +- Configuration/PyReleaseValidation/python/relval_steps.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Configuration/PyReleaseValidation/python/relval_production.py b/Configuration/PyReleaseValidation/python/relval_production.py index 452907378db3c..506a379a28eb4 100644 --- a/Configuration/PyReleaseValidation/python/relval_production.py +++ b/Configuration/PyReleaseValidation/python/relval_production.py @@ -12,7 +12,7 @@ ## data production test workflows[1000] = [ '',['RunMinBias2011A','TIER0','SKIMD','HARVESTDfst2','ALCASPLIT']] workflows[1001] = [ '',['RunMinBias2011A','TIER0EXP','ALCAEXP','ALCAHARVDSIPIXELCALRUN1','ALCAHARVD1','ALCAHARVD2','ALCAHARVD3','ALCAHARVD4','ALCAHARVD5','ALCAHARVD7']] -workflows[1001.2] = [ '',['RunZeroBias2017F','TIER0EXPRUN2','ALCAEXPRUN2','ALCAHARVDSIPIXELCAL']] +workflows[1001.2] = [ '',['RunZeroBias2017F','TIER0EXPRUN2','ALCAEXPRUN2','ALCAHARVDSIPIXELCAL','ALCAHARVDSIPIXELCALLA']] workflows[1002]=['RRD',['RunMinBias2011A','RECODR1','COPYPASTE']] workflows[1003]=['', ['RunMinBias2012A','RECODDQM','HARVESTDDQM']] diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index 793153bdf6d58..aaafd9af112f1 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -2203,6 +2203,13 @@ def lhegensim2018ml(fragment,howMuch): '--data':'', '--filein':'file:PromptCalibProdSiPixel.root'} +steps['ALCAHARVDSIPIXELCALLA']={'-s':'ALCAHARVEST:%s'%(autoPCL['PromptCalibProdSiPixelLorentzAngle']), + '--conditions':'auto:run3_data_express', + '--scenario':'pp', + '--data':'', + '--era':'Run2_2017', + '--filein':'file:PromptCalibProdSiPixelLorentzAngle.root'} + steps['ALCAHARVDPPSCAL']={'-s':'ALCAHARVEST:%s'%(autoPCL['PromptCalibProdPPS']), '--conditions':'auto:run3_data_express', '--scenario':'pp', From bd77b89c22ed56efaf74fcaef401ac18fb5812f2 Mon Sep 17 00:00:00 2001 From: Mario Masciovecchio Date: Wed, 24 Nov 2021 14:30:49 -0800 Subject: [PATCH 155/268] Define constant ids for subdetector layers in mkFit geometry --- .../plugins/MkFitIterationConfigESProducer.cc | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc b/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc index 930c9c4da6342..5f876e95bfff0 100644 --- a/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc +++ b/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc @@ -36,11 +36,17 @@ namespace { const LayerInfo &outer_brl = trk_info.outer_barrel_layer(); - const LayerInfo &tib1 = trk_info.m_layers[4]; - const LayerInfo &tob1 = trk_info.m_layers[10]; + // Define first (mkFit) layer IDs for each strip subdetector. + constexpr int tib1_id = 4; + constexpr int tob1_id = 10; + constexpr int tecp1_id = 27; + constexpr int tecn1_id = 54; - const LayerInfo &tecp1 = trk_info.m_layers[27]; - const LayerInfo &tecn1 = trk_info.m_layers[54]; + const LayerInfo &tib1 = trk_info.m_layers[tib1_id]; + const LayerInfo &tob1 = trk_info.m_layers[tob1_id]; + + const LayerInfo &tecp1 = trk_info.m_layers[tecp1_id]; + const LayerInfo &tecn1 = trk_info.m_layers[tecn1_id]; const LayerInfo &tec_first = z_dir_pos ? tecp1 : tecn1; @@ -87,26 +93,34 @@ namespace { const TrackVec &in_seeds, const EventOfHits &eoh, IterationSeedPartition &part) { - const LayerInfo &tib1 = trk_info.m_layers[4]; - const LayerInfo &tob1 = trk_info.m_layers[10]; + // Define first (mkFit) layer IDs for each strip subdetector. + constexpr int tib1_id = 4; + constexpr int tob1_id = 10; + constexpr int tidp1_id = 21; + constexpr int tidn1_id = 48; + constexpr int tecp1_id = 27; + constexpr int tecn1_id = 54; + + const LayerInfo &tib1 = trk_info.m_layers[tib1_id]; + const LayerInfo &tob1 = trk_info.m_layers[tob1_id]; - const LayerInfo &tidp1 = trk_info.m_layers[21]; - const LayerInfo &tidn1 = trk_info.m_layers[48]; + const LayerInfo &tidp1 = trk_info.m_layers[tidp1_id]; + const LayerInfo &tidn1 = trk_info.m_layers[tidn1_id]; - const LayerInfo &tecp1 = trk_info.m_layers[27]; - const LayerInfo &tecn1 = trk_info.m_layers[54]; + const LayerInfo &tecp1 = trk_info.m_layers[tecp1_id]; + const LayerInfo &tecn1 = trk_info.m_layers[tecn1_id]; // Merge first two layers to account for mono/stereo coverage. // TrackerInfo could hold joint limits for sub-detectors. const auto &L = trk_info.m_layers; - const float tidp_rin = std::min(L[21].m_rin, L[22].m_rin); - const float tidp_rout = std::max(L[21].m_rout, L[22].m_rout); - const float tecp_rin = std::min(L[27].m_rin, L[28].m_rin); - const float tecp_rout = std::max(L[27].m_rout, L[28].m_rout); - const float tidn_rin = std::min(L[48].m_rin, L[49].m_rin); - const float tidn_rout = std::max(L[48].m_rout, L[49].m_rout); - const float tecn_rin = std::min(L[54].m_rin, L[55].m_rin); - const float tecn_rout = std::max(L[54].m_rout, L[55].m_rout); + const float tidp_rin = std::min(L[tidp1_id].m_rin, L[tidp1_id + 1].m_rin); + const float tidp_rout = std::max(L[tidp1_id].m_rout, L[tidp1_id + 1].m_rout); + const float tecp_rin = std::min(L[tecp1_id].m_rin, L[tecp1_id + 1].m_rin); + const float tecp_rout = std::max(L[tecp1_id].m_rout, L[tecp1_id + 1].m_rout); + const float tidn_rin = std::min(L[tidn1_id].m_rin, L[tidn1_id + 1].m_rin); + const float tidn_rout = std::max(L[tidn1_id].m_rout, L[tidn1_id + 1].m_rout); + const float tecn_rin = std::min(L[tecn1_id].m_rin, L[tecn1_id + 1].m_rin); + const float tecn_rout = std::max(L[tecn1_id].m_rout, L[tecn1_id + 1].m_rout); // Bias towards more aggressive transition-region assignemnts. // With current tunning it seems to make things a bit worse. From a12778d45a33c8cc53da1f24672be8a65e0e1615 Mon Sep 17 00:00:00 2001 From: Tamas Date: Sun, 14 Nov 2021 00:37:31 +0100 Subject: [PATCH 156/268] Add epsilon in comparison of probabilities Change printout to 1+prob-1 for better visibility --- .../interface/SiPixelRecHitQuality.h | 15 ++++++++++++--- .../TrackerRecHit2D/src/SiPixelRecHitQuality.cc | 16 ++++++++-------- .../SiPixelRecHits/src/SiPixelTemplateReco2D.cc | 2 +- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h b/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h index e8bdbc26e3a30..373e0817da660 100644 --- a/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h +++ b/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h @@ -1,7 +1,6 @@ #ifndef DataFormats_SiPixelRecHitQuality_h #define DataFormats_SiPixelRecHitQuality_h 1 -//--- pow(): #include class SiPixelRecHitQuality { @@ -110,7 +109,12 @@ class SiPixelRecHitQuality { //------------------------------------------------------ // inline void setProbabilityXY(float prob, QualWordType& qualWord) const { - if (prob < 0 || prob > 1) { + if (prob < 0.0f) { + warningOutOfBoundProb("XY", prob, qualWord); + prob = 0; + } else if (prob > 1.0f && prob < 1.0f + std::numeric_limits::epsilon()) { + prob = 1; + } else if (prob > 1.0f + std::numeric_limits::epsilon()) { warningOutOfBoundProb("XY", prob, qualWord); prob = 0; } @@ -120,7 +124,12 @@ class SiPixelRecHitQuality { qualWord |= ((raw & probX_mask) << probX_shift); } inline void setProbabilityQ(float prob, QualWordType& qualWord) const { - if (prob < 0 || prob > 1) { + if (prob < 0.0f) { + warningOutOfBoundProb("Q", prob, qualWord); + prob = 0; + } else if (prob > 1.0f && prob < 1.0f + std::numeric_limits::epsilon()) { + prob = 1; + } else if (prob > 1.0f + std::numeric_limits::epsilon()) { warningOutOfBoundProb("Q", prob, qualWord); prob = 0; } diff --git a/DataFormats/TrackerRecHit2D/src/SiPixelRecHitQuality.cc b/DataFormats/TrackerRecHit2D/src/SiPixelRecHitQuality.cc index 422b916667f74..d6b4565b1ab84 100644 --- a/DataFormats/TrackerRecHit2D/src/SiPixelRecHitQuality.cc +++ b/DataFormats/TrackerRecHit2D/src/SiPixelRecHitQuality.cc @@ -59,18 +59,18 @@ void SiPixelRecHitQuality::warningObsolete() { } void SiPixelRecHitQuality::warningOutOfBoundQbin(int iValue, QualWordType const& iQualWord) { - edm::LogWarning("OutOfBounds") << "Qbin outside the bounds of the quality word. Defaulting to Qbin=0. Qbin = " - << iValue << " QualityWord = " << iQualWord; + edm::LogWarning("OutOfBounds") << "Qbin outside the bounds of the quality word: Qbin = " << iValue + << " and QualityWord = " << iQualWord << " --> Now defaulting to Qbin = 0.0"; } void SiPixelRecHitQuality::warningOutOfBoundProb(const char* iName, float iProb, QualWordType const& iQualWord) { - edm::LogWarning("OutOfBounds") << "Prob " << iName - << " outside the bounds of the quality word. Defaulting to Prob=0. Prob = " << iProb - << " QualityWord = " << iQualWord; + edm::LogWarning("OutOfBounds") << "Prob" << iName << " outside the bounds of the quality word: Prob" << iName + << " = 1+" << iProb - 1 << " and QualityWord = " << iQualWord + << " --> Now defaulting to Prob" << iName << " = 0.0"; } void SiPixelRecHitQuality::warningOutOfBoundRaw(const char* iName, int iRaw, QualWordType const& iQualWord) { - edm::LogWarning("OutOfBounds") << "Probability " << iName - << " outside the bounds of the quality word. Defaulting to Prob=0. Raw = " << iRaw - << " QualityWord = " << iQualWord; + edm::LogWarning("OutOfBounds") << "Probability" << iName << " outside the bounds of the quality word: Raw = " << iRaw + << " and QualityWord = " << iQualWord << " --> Now defaulting to Prob" << iName + << " = 0.0"; } diff --git a/RecoLocalTracker/SiPixelRecHits/src/SiPixelTemplateReco2D.cc b/RecoLocalTracker/SiPixelRecHits/src/SiPixelTemplateReco2D.cc index a67867b0f1c7e..b8cf90678b2ce 100644 --- a/RecoLocalTracker/SiPixelRecHits/src/SiPixelTemplateReco2D.cc +++ b/RecoLocalTracker/SiPixelRecHits/src/SiPixelTemplateReco2D.cc @@ -681,7 +681,7 @@ int SiPixelTemplateReco2D::PixelTempReco2D(int id, } else { sigmay = 10000.f; } - if (id > 0) { + if (id >= 0) { //if id < 0 bypass interpolation (used in calibration) // Do chi2 probability calculation double meanxy = (double)(npixel * templ2D.chi2ppix()); double chi2scale = (double)templ2D.chi2scale(); From 2325db7894721e0dd67f7fde9fe09e3321a8a7a5 Mon Sep 17 00:00:00 2001 From: Davide Valsecchi Date: Thu, 25 Nov 2021 10:35:16 +0100 Subject: [PATCH 157/268] Fixed ElectronDNNEstimator gsfTrack variables --- .../ElectronIdentification/src/ElectronDNNEstimator.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc b/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc index d90e7af7c676f..6e46019bf7d97 100644 --- a/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc +++ b/RecoEgamma/ElectronIdentification/src/ElectronDNNEstimator.cc @@ -1,6 +1,7 @@ #include "RecoEgamma/ElectronIdentification/interface/ElectronDNNEstimator.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/Utilities/interface/FileInPath.h" +#include "DataFormats/GsfTrackReco/interface/GsfTrack.h" #include #include @@ -86,8 +87,6 @@ const std::vector ElectronDNNEstimator::dnnAvaibleInputs = { std::map ElectronDNNEstimator::getInputsVars(const reco::GsfElectron& ele) const { // Prepare a map with all the defined variables std::map variables; - reco::TrackRef myTrackRef = ele.closestCtfTrackRef(); - bool validKF = (myTrackRef.isNonnull() && myTrackRef.isAvailable()); variables["pt"] = ele.pt(); variables["eta"] = ele.eta(); variables["fbrem"] = ele.fbrem(); @@ -101,11 +100,11 @@ std::map ElectronDNNEstimator::getInputsVars(const reco::Gsf variables["closestCtfTrackNormChi2"] = ele.closestCtfTrackNormChi2(); variables["closestCtfTrackNLayers"] = ele.closestCtfTrackNLayers(); variables["gsfTrack.missing_inner_hits"] = - (validKF) ? myTrackRef->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS) : -1.; + ele.gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS); variables["dr03TkSumPt"] = ele.dr03TkSumPt(); variables["dr03EcalRecHitSumEt"] = ele.dr03EcalRecHitSumEt(); variables["dr03HcalTowerSumEt"] = ele.dr03HcalTowerSumEt(); - variables["gsfTrack.normalizedChi2"] = (validKF) ? myTrackRef->normalizedChi2() : 0; + variables["gsfTrack.normalizedChi2"] = ele.gsfTrack()->normalizedChi2(); variables["superCluster.eta"] = ele.superCluster()->eta(); variables["ecalPFClusterIso"] = ele.ecalPFClusterIso(); variables["hcalPFClusterIso"] = ele.hcalPFClusterIso(); @@ -119,8 +118,7 @@ std::map ElectronDNNEstimator::getInputsVars(const reco::Gsf variables["1_minus_full5x5_e1x5_ratio_full5x5_e5x5"] = 1 - ele.full5x5_e1x5() / ele.full5x5_e5x5(); variables["full5x5_e1x5_ratio_full5x5_e5x5"] = ele.full5x5_e1x5() / ele.full5x5_e5x5(); variables["full5x5_r9"] = ele.full5x5_r9(); - variables["gsfTrack.trackerLayersWithMeasurement"] = - (validKF) ? myTrackRef->hitPattern().trackerLayersWithMeasurement() : -1.; + variables["gsfTrack.trackerLayersWithMeasurement"] = ele.gsfTrack()->hitPattern().trackerLayersWithMeasurement(); variables["superCluster.energy"] = ele.superCluster()->energy(); variables["superCluster.rawEnergy"] = ele.superCluster()->rawEnergy(); variables["superClusterFbrem"] = ele.superClusterFbrem(); From 59c4851c994dd8de10a51a2e27c03a341c8c5660 Mon Sep 17 00:00:00 2001 From: Tatjana Date: Thu, 25 Nov 2021 13:58:07 +0100 Subject: [PATCH 158/268] Add label for SiPixelQuality used in RawToDigi --- .../plugins/SiPixelQualityESProducer.cc | 2 +- .../SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc | 5 +++-- .../SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py | 11 +++++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CalibTracker/SiPixelESProducers/plugins/SiPixelQualityESProducer.cc b/CalibTracker/SiPixelESProducers/plugins/SiPixelQualityESProducer.cc index 86bfe02e9be15..d7681db11148c 100644 --- a/CalibTracker/SiPixelESProducers/plugins/SiPixelQualityESProducer.cc +++ b/CalibTracker/SiPixelESProducers/plugins/SiPixelQualityESProducer.cc @@ -79,7 +79,7 @@ SiPixelQualityESProducer::SiPixelQualityESProducer(const edm::ParameterSet& conf auto label = conf_.exists("siPixelQualityLabel") ? conf_.getParameter("siPixelQualityLabel") : std::string{}; - if (label == "forDigitizer") { + if (label == "forDigitizer" || label == "forRawToDigi") { labelTokens_ = Tokens(setWhatProduced(this, &SiPixelQualityESProducer::produceWithLabel, edm::es::Label(label)), label); } diff --git a/EventFilter/SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc b/EventFilter/SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc index 168729a6894bc..4baab7b552dc5 100644 --- a/EventFilter/SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc +++ b/EventFilter/SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc @@ -107,7 +107,7 @@ SiPixelRawToDigi::SiPixelRawToDigi(const edm::ParameterSet& conf) { if (useQuality_) { - siPixelQualityToken_ = esConsumes(); + siPixelQualityToken_ = esConsumes(edm::ESInputTag("", config_.getParameter("SiPixelQualityLabel"))); } // Products @@ -164,7 +164,8 @@ void SiPixelRawToDigi::fillDescriptions(edm::ConfigurationDescriptions& descript desc.add("UsePilotBlade", false)->setComment("## Use pilot blades"); desc.add("UsePhase1", false)->setComment("## Use phase1"); desc.add("CablingMapLabel", "")->setComment("CablingMap label"); //Tav - descriptions.add("siPixelRawToDigi", desc); + desc.add("SiPixelQualityLabel", "")->setComment("SiPixelQuality label"); + descriptions.add("siPixelRawToDigi", desc); } // ----------------------------------------------------------------------------- diff --git a/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py b/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py index 13fff5e0e1600..f046e5e634a55 100644 --- a/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py +++ b/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py @@ -14,6 +14,17 @@ UsePhase1 = True ) +from Configuration.ProcessModifiers.siPixelQualityRawToDigi_cff import siPixelQualityRawToDigi +siPixelQualityRawToDigi.toModify(siPixelDigis.cpu, + UseQualityInfo = True, + SiPixelQualityLabel = 'forRawToDigi', +) +from CalibTracker.SiPixelESProducers.SiPixelQualityESProducer_cfi import siPixelQualityESProducer +siPixelQualityRawToDigi.toModify(siPixelQualityESProducer, + siPixelQualityLabel = 'forRawToDigi', +) + + # SwitchProducer wrapping the legacy pixel digis producer or an alias combining the pixel digis information converted from SoA gpu.toModify(siPixelDigis, cuda = cms.EDAlias( From 8ac62d4e79fb3bf969dd34a064056259a022a212 Mon Sep 17 00:00:00 2001 From: Tatjana Date: Thu, 25 Nov 2021 14:06:14 +0100 Subject: [PATCH 159/268] Add process modifier --- .../ProcessModifiers/python/siPixelQualityRawToDigi_cff.py | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 Configuration/ProcessModifiers/python/siPixelQualityRawToDigi_cff.py diff --git a/Configuration/ProcessModifiers/python/siPixelQualityRawToDigi_cff.py b/Configuration/ProcessModifiers/python/siPixelQualityRawToDigi_cff.py new file mode 100644 index 0000000000000..b174bea38912e --- /dev/null +++ b/Configuration/ProcessModifiers/python/siPixelQualityRawToDigi_cff.py @@ -0,0 +1,4 @@ +import FWCore.ParameterSet.Config as cms + +# This modifier is to run the SiPixelQualityRawToDigi +siPixelQualityRawToDigi = cms.Modifier() From d9fe520c85d339ce11afccd953f5afed699b62ab Mon Sep 17 00:00:00 2001 From: Markus Seidel Date: Thu, 25 Nov 2021 14:21:58 +0100 Subject: [PATCH 160/268] Move cfi to python/test --- .../HcalRecAlgos/python/{ => test}/mahiDebugger_cfi.py | 0 .../HcalRecAlgos/test/run_mahidebugger_run3data_cfg.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename RecoLocalCalo/HcalRecAlgos/python/{ => test}/mahiDebugger_cfi.py (100%) diff --git a/RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py b/RecoLocalCalo/HcalRecAlgos/python/test/mahiDebugger_cfi.py similarity index 100% rename from RecoLocalCalo/HcalRecAlgos/python/mahiDebugger_cfi.py rename to RecoLocalCalo/HcalRecAlgos/python/test/mahiDebugger_cfi.py diff --git a/RecoLocalCalo/HcalRecAlgos/test/run_mahidebugger_run3data_cfg.py b/RecoLocalCalo/HcalRecAlgos/test/run_mahidebugger_run3data_cfg.py index 8045cadaff122..a65d9f4f873ee 100755 --- a/RecoLocalCalo/HcalRecAlgos/test/run_mahidebugger_run3data_cfg.py +++ b/RecoLocalCalo/HcalRecAlgos/test/run_mahidebugger_run3data_cfg.py @@ -63,7 +63,7 @@ process.hbheprereco.cpu.saveInfos = cms.bool(True) -process.load("RecoLocalCalo.HcalRecAlgos.mahiDebugger_cfi") +process.load("RecoLocalCalo.HcalRecAlgos.test.mahiDebugger_cfi") # Path and EndPath definitions process.raw2digi_step = cms.Path(process.hcalDigis) From fdde0d130796d38114720b39fbd8d9555f232d0b Mon Sep 17 00:00:00 2001 From: Sunanda Date: Thu, 25 Nov 2021 15:44:04 +0100 Subject: [PATCH 161/268] Use ESGetToken in the test example of PhysicsTools/HepMCCandAlgos --- .../interface/FlavorHistoryProducer.h | 1 - .../HepMCCandAlgos/test/DummyHepMCAnalyzer.cc | 15 ++++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PhysicsTools/HepMCCandAlgos/interface/FlavorHistoryProducer.h b/PhysicsTools/HepMCCandAlgos/interface/FlavorHistoryProducer.h index 54141c957f0d5..3f8d2016d3588 100644 --- a/PhysicsTools/HepMCCandAlgos/interface/FlavorHistoryProducer.h +++ b/PhysicsTools/HepMCCandAlgos/interface/FlavorHistoryProducer.h @@ -44,7 +44,6 @@ #include "DataFormats/HepMCCandidate/interface/FlavorHistory.h" #include "DataFormats/HepMCCandidate/interface/FlavorHistoryEvent.h" #include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Utilities/interface/EDMException.h" diff --git a/PhysicsTools/HepMCCandAlgos/test/DummyHepMCAnalyzer.cc b/PhysicsTools/HepMCCandAlgos/test/DummyHepMCAnalyzer.cc index 75cdca1737147..38ae20d9266f2 100644 --- a/PhysicsTools/HepMCCandAlgos/test/DummyHepMCAnalyzer.cc +++ b/PhysicsTools/HepMCCandAlgos/test/DummyHepMCAnalyzer.cc @@ -13,17 +13,19 @@ class DummyHepMCAnalyzer : public edm::one::EDAnalyzer<> { private: - bool dumpHepMC_; - bool dumpPDF_; - bool checkPDG_; - edm::EDGetTokenT srcToken_; + const bool dumpHepMC_; + const bool dumpPDF_; + const bool checkPDG_; + const edm::EDGetTokenT srcToken_; + const edm::ESGetToken pdtToken_; public: explicit DummyHepMCAnalyzer(const edm::ParameterSet& cfg) : dumpHepMC_(cfg.getUntrackedParameter("dumpHepMC")), dumpPDF_(cfg.getUntrackedParameter("dumpPDF")), checkPDG_(cfg.getUntrackedParameter("checkPDG")), - srcToken_(consumes(cfg.getParameter("src"))) {} + srcToken_(consumes(cfg.getParameter("src"))), + pdtToken_(esConsumes()) {} static void fillDescriptions(edm::ConfigurationDescriptions& descriptions) { edm::ParameterSetDescription desc; @@ -50,8 +52,7 @@ class DummyHepMCAnalyzer : public edm::one::EDAnalyzer<> { } if (checkPDG_) { - edm::ESHandle fPDGTable; - es.getData(fPDGTable); + const auto& fPDGTable = es.getHandle(pdtToken_); for (HepMC::GenEvent::particle_const_iterator part = mc->particles_begin(); part != mc->particles_end(); ++part) { const HepPDT::ParticleData* PData = fPDGTable->particle(HepPDT::ParticleID((*part)->pdg_id())); if (!PData) { From 0d04967086b48c5253ed7719279c7e2bd9003a31 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Thu, 25 Nov 2021 15:57:53 +0100 Subject: [PATCH 162/268] Code check --- PhysicsTools/HepMCCandAlgos/test/DummyHepMCAnalyzer.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PhysicsTools/HepMCCandAlgos/test/DummyHepMCAnalyzer.cc b/PhysicsTools/HepMCCandAlgos/test/DummyHepMCAnalyzer.cc index 38ae20d9266f2..26ca2d87bed07 100644 --- a/PhysicsTools/HepMCCandAlgos/test/DummyHepMCAnalyzer.cc +++ b/PhysicsTools/HepMCCandAlgos/test/DummyHepMCAnalyzer.cc @@ -25,7 +25,7 @@ class DummyHepMCAnalyzer : public edm::one::EDAnalyzer<> { dumpPDF_(cfg.getUntrackedParameter("dumpPDF")), checkPDG_(cfg.getUntrackedParameter("checkPDG")), srcToken_(consumes(cfg.getParameter("src"))), - pdtToken_(esConsumes()) {} + pdtToken_(esConsumes()) {} static void fillDescriptions(edm::ConfigurationDescriptions& descriptions) { edm::ParameterSetDescription desc; From fa3bdc4c732be08c5ba4a240be620e79c615a164 Mon Sep 17 00:00:00 2001 From: Shahzad Malik Muzaffar Date: Thu, 25 Nov 2021 16:04:46 +0100 Subject: [PATCH 163/268] set NO_TEST_PREFIX flag for ASAN IB --- DQM/Integration/test/BuildFile.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/DQM/Integration/test/BuildFile.xml b/DQM/Integration/test/BuildFile.xml index 157ab636e88b7..9962270a31921 100644 --- a/DQM/Integration/test/BuildFile.xml +++ b/DQM/Integration/test/BuildFile.xml @@ -1,3 +1,6 @@ + + + From 26d49852e8068c0c46201a2019b12e9519bacf41 Mon Sep 17 00:00:00 2001 From: Byeonghak Ko Date: Thu, 25 Nov 2021 18:37:42 +0100 Subject: [PATCH 164/268] Comments of Andrea (@perrotta) --- DQM/GEM/interface/GEMDQMBase.h | 8 ++++++- DQM/GEM/plugins/GEMDQMHarvester.cc | 35 +++++++++++++----------------- DQM/GEM/plugins/GEMDigiSource.cc | 13 ++++++----- DQM/GEM/plugins/GEMRecHitSource.cc | 8 ++++--- 4 files changed, 35 insertions(+), 29 deletions(-) diff --git a/DQM/GEM/interface/GEMDQMBase.h b/DQM/GEM/interface/GEMDQMBase.h index 18a6398bf2432..0623447858c24 100644 --- a/DQM/GEM/interface/GEMDQMBase.h +++ b/DQM/GEM/interface/GEMDQMBase.h @@ -500,7 +500,6 @@ class GEMDQMBase : public DQMEDAnalyzer { protected: int initGeometry(edm::EventSetup const &iSetup); int loadChambers(); - int readRadiusEtaPartition(int nRegion, int nStation); int GenerateMEPerChamber(DQMStore::IBooker &ibooker); virtual int ProcessWithMEMap2(BookingHelper &bh, ME2IdsKey key) { return 0; }; // must be overrided @@ -546,6 +545,7 @@ class GEMDQMBase : public DQMEDAnalyzer { inline int getIEtaFromVFATGE11(const int vfat); inline int getMaxVFAT(const int); inline int getDetOccXBin(const int, const int, const int); + inline Float_t restrictAngle(const Float_t fTheta, const Float_t fStart); const GEMGeometry *GEMGeometry_; edm::ESGetToken geomToken_; @@ -615,4 +615,10 @@ inline int GEMDQMBase::getDetOccXBin(const int chamber, const int layer, const i return n_chambers * (chamber - 1) + layer; } +inline Float_t GEMDQMBase::restrictAngle(const Float_t fTheta, const Float_t fStart) { + Float_t fLoop = (fTheta - fStart) / (2 * M_PI); + int nLoop = (fLoop >= 0 ? (int)fLoop : (int)fLoop - 1); + return fTheta - nLoop * 2 * M_PI; +} + #endif // DQM_GEM_INTERFACE_GEMDQMBase_h diff --git a/DQM/GEM/plugins/GEMDQMHarvester.cc b/DQM/GEM/plugins/GEMDQMHarvester.cc index 988aa43cbf118..9c1aef1b1b9c7 100644 --- a/DQM/GEM/plugins/GEMDQMHarvester.cc +++ b/DQM/GEM/plugins/GEMDQMHarvester.cc @@ -58,14 +58,11 @@ class GEMDQMHarvester : public DQMEDHarvester { Int_t assessOneBin( std::string strName, Int_t nIdxX, Int_t nIdxY, Float_t fAll, Float_t fNumOcc, Float_t fNumWarn, Float_t fNumErr); - Float_t fCutErr_, fCutWarnErr_, fCutWarn_; + Float_t fCutErr_, fCutLowErr_, fCutWarn_; - Float_t fReportSummary_; - std::string strOutFile_; - - std::string strDirSummary_; - std::string strDirRecHit_; - std::string strDirStatus_; + const std::string strDirSummary_ = "GEM/EventInfo"; + const std::string strDirRecHit_ = "GEM/RecHits"; + const std::string strDirStatus_ = "GEM/DAQStatus"; typedef std::vector> TableStatusOcc; typedef std::vector> TableStatusNum; @@ -74,20 +71,16 @@ class GEMDQMHarvester : public DQMEDHarvester { }; GEMDQMHarvester::GEMDQMHarvester(const edm::ParameterSet &cfg) { - fReportSummary_ = -1.0; - strOutFile_ = cfg.getParameter("fromFile"); - strDirSummary_ = "GEM/EventInfo"; - strDirRecHit_ = "GEM/RecHits"; - strDirStatus_ = "GEM/DAQStatus"; - - fCutErr_ = 0.05; - fCutWarnErr_ = 0.00; - fCutWarn_ = 0.05; + fCutErr_ = cfg.getParameter("cutErr"); + fCutLowErr_ = cfg.getParameter("cutLowErr"); + fCutWarn_ = cfg.getParameter("cutWarn"); } void GEMDQMHarvester::fillDescriptions(edm::ConfigurationDescriptions &descriptions) { edm::ParameterSetDescription desc; - desc.add("fromFile", ""); + desc.add("cutErr", 0.05); + desc.add("cutLowErr", 0.00); + desc.add("cutWarn", 0.05); descriptions.add("GEMDQMHarvester", desc); } @@ -100,6 +93,8 @@ void GEMDQMHarvester::dqmEndLuminosityBlock(DQMStore::IBooker &, } void GEMDQMHarvester::drawSummaryHistogram(edm::Service &store) { + Float_t fReportSummary = -1.0; + std::string strSrcDigiOcc = "GEM/Digis/summaryOccDigi"; std::string strSrcStatusA = "GEM/DAQStatus/chamberAllStatus"; std::string strSrcStatusW = "GEM/DAQStatus/chamberWarnings"; @@ -121,7 +116,7 @@ void GEMDQMHarvester::drawSummaryHistogram(edm::Service &store) { if (h2SrcDigiOcc != nullptr && h2SrcStatusA != nullptr && h2SrcStatusW != nullptr && h2SrcStatusE != nullptr) { MonitorElement *h2Sum = nullptr; createSummaryHist(store, h2SrcStatusE, h2Sum, listLayer_); - fReportSummary_ = + fReportSummary = refineSummaryHistogram(strTitleSummary, h2Sum, h2SrcDigiOcc, h2SrcStatusA, h2SrcStatusE, h2SrcStatusW); for (const auto &strSuffix : listLayer_) { @@ -141,7 +136,7 @@ void GEMDQMHarvester::drawSummaryHistogram(edm::Service &store) { } } - store->bookFloat("reportSummary")->Fill(fReportSummary_); + store->bookFloat("reportSummary")->Fill(fReportSummary); } void GEMDQMHarvester::copyLabels(MonitorElement *h2Src, MonitorElement *h2Dst) { @@ -198,7 +193,7 @@ Int_t GEMDQMHarvester::assessOneBin( std::string strName, Int_t nIdxX, Int_t nIdxY, Float_t fAll, Float_t fNumOcc, Float_t fNumWarn, Float_t fNumErr) { if (fNumErr > fCutErr_ * fAll) // The error status criterion return 2; - else if (fNumErr > fCutWarnErr_ * fAll) // The low-error status criterion + else if (fNumErr > fCutLowErr_ * fAll) // The low-error status criterion return 4; else if (fNumWarn > fCutWarn_ * fAll) // The warning status criterion return 3; diff --git a/DQM/GEM/plugins/GEMDigiSource.cc b/DQM/GEM/plugins/GEMDigiSource.cc index 5b99c1b01956e..07fdc6fecddb4 100644 --- a/DQM/GEM/plugins/GEMDigiSource.cc +++ b/DQM/GEM/plugins/GEMDigiSource.cc @@ -8,6 +8,8 @@ GEMDigiSource::GEMDigiSource(const edm::ParameterSet& cfg) : GEMDQMBase(cfg) { lumiScalers_ = consumes( cfg.getUntrackedParameter("lumiCollection", edm::InputTag("scalersRawToDigi"))); bModeRelVal_ = cfg.getParameter("modeRelVal"); + nBXMin_ = cfg.getParameter("bxMin"); + nBXMax_ = cfg.getParameter("bxMax"); } void GEMDigiSource::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { @@ -15,6 +17,8 @@ void GEMDigiSource::fillDescriptions(edm::ConfigurationDescriptions& description desc.add("digisInputLabel", edm::InputTag("muonGEMDigis", "")); desc.addUntracked("logCategory", "GEMDigiSource"); desc.add("modeRelVal", false); + desc.add("bxMin", -10); + desc.add("bxMax", 10); descriptions.add("GEMDigiSource", desc); } @@ -24,8 +28,6 @@ void GEMDigiSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, return; loadChambers(); - nBXMin_ = -10; - nBXMax_ = 10; fRadiusMin_ = 120.0; fRadiusMax_ = 250.0; float radS = -5.0 / 180 * M_PI; @@ -111,6 +113,8 @@ int GEMDigiSource::ProcessWithMEMap3(BookingHelper& bh, ME3IdsKey key) { mapDigiOcc_ieta_.bookND(bh, key); mapDigiOcc_ieta_.SetLabelForIEta(key, 1); + mapDigiOcc_phi_.SetBinLowEdgeX(stationInfo.fMinPhi_ * 180 / M_PI); + mapDigiOcc_phi_.SetBinHighEdgeX(stationInfo.fMinPhi_ * 180 / M_PI + 360); mapDigiOcc_phi_.bookND(bh, key); mapTotalDigiPerEvtLayer_.bookND(bh, key); @@ -167,13 +171,12 @@ void GEMDigiSource::analyze(edm::Event const& event, edm::EventSetup const& even GlobalPoint digi_global_pos = surface.toGlobal(iEta->centreOfStrip(d->strip())); Float_t fPhi = (Float_t)digi_global_pos.phi(); - Float_t fPhiDeg = fPhi * 180.0 / M_PI; - fPhiDeg = (fPhiDeg >= -0.5 ? fPhiDeg : fPhiDeg + 360); + Float_t fPhiShift = restrictAngle(fPhi, stationInfo.fMinPhi_); + Float_t fPhiDeg = fPhiShift * 180.0 / M_PI; mapDigiOcc_phi_.Fill(key3, fPhiDeg); // Phi // Filling of R-Phi occupancy Float_t fR = fRadiusMin_ + (fRadiusMax_ - fRadiusMin_) * (eId.ieta() - 0.5) / stationInfo.nNumEtaPartitions_; - Float_t fPhiShift = (fPhi >= stationInfo.fMinPhi_ ? fPhi : fPhi + 2 * M_PI); mapDigiWheel_layer_.Fill(key3, fPhiShift, fR); mapDigiOccPerCh_.Fill(key4Ch, d->strip(), eId.ieta()); // Per chamber diff --git a/DQM/GEM/plugins/GEMRecHitSource.cc b/DQM/GEM/plugins/GEMRecHitSource.cc index 301b9961712c4..2ee24ea483789 100644 --- a/DQM/GEM/plugins/GEMRecHitSource.cc +++ b/DQM/GEM/plugins/GEMRecHitSource.cc @@ -141,7 +141,10 @@ int GEMRecHitSource::ProcessWithMEMap3(BookingHelper& bh, ME3IdsKey key) { mapRecHitOcc_ieta_.bookND(bh, key); mapRecHitOcc_ieta_.SetLabelForIEta(key, 1); + mapRecHitOcc_phi_.SetBinLowEdgeX(stationInfo.fMinPhi_ * 180 / M_PI); + mapRecHitOcc_phi_.SetBinHighEdgeX(stationInfo.fMinPhi_ * 180 / M_PI + 360); mapRecHitOcc_phi_.bookND(bh, key); + mapTotalRecHitPerEvtLayer_.bookND(bh, key); mapCLSAverage_.bookND(bh, key); @@ -203,15 +206,14 @@ void GEMRecHitSource::analyze(edm::Event const& event, edm::EventSetup const& ev // Filling of R-Phi occupancy Float_t fR = fRadiusMin_ + (fRadiusMax_ - fRadiusMin_) * (eId.ieta() - 0.5) / stationInfo.nNumEtaPartitions_; - Float_t fPhiShift = (fPhi >= stationInfo.fMinPhi_ ? fPhi : fPhi + 2 * M_PI); + Float_t fPhiShift = restrictAngle(fPhi, stationInfo.fMinPhi_); + Float_t fPhiDeg = fPhiShift * 180.0 / M_PI; mapRecHitWheel_layer_.Fill(key3, fPhiShift, fR); // Filling of RecHit (iEta) mapRecHitOcc_ieta_.Fill(key3, eId.ieta()); // Filling of RecHit (phi) - Float_t fPhiDeg = fPhi * 180.0 / M_PI; - fPhiDeg = (fPhiDeg >= -0.5 ? fPhiDeg : fPhiDeg + 360); mapRecHitOcc_phi_.Fill(key3, fPhiDeg); // For total RecHits From db2970409dae7b7df73f748dc62e24094a1c4a9f Mon Sep 17 00:00:00 2001 From: Byeonghak Ko Date: Thu, 25 Nov 2021 19:08:21 +0100 Subject: [PATCH 165/268] One more fix --- DQM/GEM/plugins/GEMRecHitSource.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DQM/GEM/plugins/GEMRecHitSource.cc b/DQM/GEM/plugins/GEMRecHitSource.cc index 2ee24ea483789..e3acba014ed73 100644 --- a/DQM/GEM/plugins/GEMRecHitSource.cc +++ b/DQM/GEM/plugins/GEMRecHitSource.cc @@ -7,6 +7,7 @@ GEMRecHitSource::GEMRecHitSource(const edm::ParameterSet& cfg) : GEMDQMBase(cfg) tagRecHit_ = consumes(cfg.getParameter("recHitsInputLabel")); nIdxFirstDigi_ = cfg.getParameter("idxFirstDigi"); + nCLSMax_ = cfg.getParameter("clsMax"); nClusterSizeBinNum_ = cfg.getParameter("ClusterSizeBinNum"); bModeRelVal_ = cfg.getParameter("modeRelVal"); } @@ -16,6 +17,7 @@ void GEMRecHitSource::fillDescriptions(edm::ConfigurationDescriptions& descripti desc.add("recHitsInputLabel", edm::InputTag("gemRecHits", "")); desc.add("idxFirstDigi", 0); + desc.add("clsMax", 10); desc.add("ClusterSizeBinNum", 9); desc.add("modeRelVal", false); @@ -35,7 +37,6 @@ void GEMRecHitSource::bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& ibooker.cd(); ibooker.setCurrentFolder("GEM/RecHits"); - nCLSMax_ = 10; fRadiusMin_ = 120.0; fRadiusMax_ = 250.0; float radS = -5.0 / 180 * M_PI; From 80c7644842460605efe74cb9ae78b286f48e9c5f Mon Sep 17 00:00:00 2001 From: Byeonghak Ko Date: Thu, 25 Nov 2021 20:13:21 +0100 Subject: [PATCH 166/268] Issue reported by the static analyzer (Perrotta) --- DQM/GEM/plugins/GEMDQMHarvester.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/DQM/GEM/plugins/GEMDQMHarvester.cc b/DQM/GEM/plugins/GEMDQMHarvester.cc index 9c1aef1b1b9c7..43cba47203f89 100644 --- a/DQM/GEM/plugins/GEMDQMHarvester.cc +++ b/DQM/GEM/plugins/GEMDQMHarvester.cc @@ -213,8 +213,7 @@ Float_t GEMDQMHarvester::refineSummaryHistogram(std::string strName, Int_t nBinY = h2Sum->getNbinsY(); Int_t nAllBin = 0, nFineBin = 0; for (Int_t j = 1; j <= nBinY; j++) { - Int_t nBinX = h2Sum->getNbinsX(); - nBinX = (Int_t)(h2SrcOcc->getBinContent(0, j) + 0.5); + Int_t nBinX = (Int_t)(h2SrcOcc->getBinContent(0, j) + 0.5); h2Sum->setBinContent(0, j, nBinX); for (Int_t i = 1; i <= nBinX; i++) { Float_t fOcc = h2SrcOcc->getBinContent(i, j); From e67a6569b2983b832ceb2dd1a78f00f372ed2039 Mon Sep 17 00:00:00 2001 From: Tatjana Date: Fri, 26 Nov 2021 11:09:40 +0100 Subject: [PATCH 167/268] Apply code_checks --- EventFilter/SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/EventFilter/SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc b/EventFilter/SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc index 4baab7b552dc5..99bf3382453f3 100644 --- a/EventFilter/SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc +++ b/EventFilter/SiPixelRawToDigi/plugins/SiPixelRawToDigi.cc @@ -107,7 +107,8 @@ SiPixelRawToDigi::SiPixelRawToDigi(const edm::ParameterSet& conf) { if (useQuality_) { - siPixelQualityToken_ = esConsumes(edm::ESInputTag("", config_.getParameter("SiPixelQualityLabel"))); + siPixelQualityToken_ = esConsumes( + edm::ESInputTag("", config_.getParameter("SiPixelQualityLabel"))); } // Products @@ -165,7 +166,7 @@ void SiPixelRawToDigi::fillDescriptions(edm::ConfigurationDescriptions& descript desc.add("UsePhase1", false)->setComment("## Use phase1"); desc.add("CablingMapLabel", "")->setComment("CablingMap label"); //Tav desc.add("SiPixelQualityLabel", "")->setComment("SiPixelQuality label"); - descriptions.add("siPixelRawToDigi", desc); + descriptions.add("siPixelRawToDigi", desc); } // ----------------------------------------------------------------------------- From b2bdc8ac807769e4963852e95411d947ec55e878 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Fri, 26 Nov 2021 14:49:53 +0100 Subject: [PATCH 168/268] improve code quality, clean interfaces --- .../Track/interface/TrackSoAHeterogeneousT.h | 1 - .../Math/interface/choleskyInversion.h | 1 - .../plugins/BrokenLineFitOnGPU.cc | 2 +- .../plugins/BrokenLineFitOnGPU.cu | 2 +- .../PixelTriplets/plugins/CAConstants.h | 3 +- .../plugins/CAHitNtupletGeneratorKernels.cc | 32 ++++------------ .../plugins/CAHitNtupletGeneratorKernels.cu | 32 ++++------------ .../plugins/CAHitNtupletGeneratorKernels.h | 6 +-- .../CAHitNtupletGeneratorKernelsImpl.h | 38 ++++++------------- .../plugins/CAHitNtupletGeneratorOnGPU.cc | 9 ++--- .../PixelTriplets/plugins/GPUCACell.h | 10 ++--- .../PixelTriplets/plugins/HelixFitOnGPU.h | 4 +- .../PixelTriplets/plugins/RiemannFitOnGPU.cc | 2 +- .../PixelTriplets/plugins/RiemannFitOnGPU.cu | 2 +- 14 files changed, 48 insertions(+), 96 deletions(-) diff --git a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h index 18e7a2686724f..483b3e838c267 100644 --- a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h +++ b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h @@ -60,7 +60,6 @@ class TrackSoAHeterogeneousT { ++nl; ol = il; } - assert(nl >= 3); return nl; } diff --git a/DataFormats/Math/interface/choleskyInversion.h b/DataFormats/Math/interface/choleskyInversion.h index 2b910ef7227c8..90d9262957376 100644 --- a/DataFormats/Math/interface/choleskyInversion.h +++ b/DataFormats/Math/interface/choleskyInversion.h @@ -24,7 +24,6 @@ namespace math { for (int i = 0; i < N; ++i) { a[i][i] = src(i, i); for (int j = i + 1; j < N; ++j) - // a[i][j] = a[j][i] = src(i, j); } diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc index 6271c5c5fc67c..1523640e2ef8f 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cc @@ -37,7 +37,7 @@ void HelixFitOnGPU::launchBrokenLineKernelsOnCPU(HitsView const* hv, uint32_t hi hits_geGPU.get(), fast_fit_resultsGPU.get()); - if (fit5as4_) { + if (fitNas4_) { // fit all as 4 kernel_BLFastFit<4>(tuples_, tupleMultiplicity_, diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu index 22ab9ac648af5..d99a96b705451 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.cu @@ -42,7 +42,7 @@ void HelixFitOnGPU::launchBrokenLineKernels(HitsView const *hv, fast_fit_resultsGPU.get()); cudaCheck(cudaGetLastError()); - if (fit5as4_) { + if (fitNas4_) { // fit all as 4 kernel_BLFastFit<4><<>>(tuples_, tupleMultiplicity_, diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAConstants.h b/RecoPixelVertexing/PixelTriplets/plugins/CAConstants.h index 2a00572c759b1..127831e0e2eb7 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAConstants.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAConstants.h @@ -44,6 +44,7 @@ namespace caConstants { constexpr uint32_t maxNumberOfLayerPairs = 20; constexpr uint32_t maxNumberOfLayers = 10; constexpr uint32_t maxTuples = maxNumberOfTuples; + constexpr int32_t maxHitsOnTrack = 10; // Modules constants constexpr uint32_t max_ladder_bpx0 = 12; @@ -76,7 +77,7 @@ namespace caConstants { using OuterHitOfCellContainer = cms::cuda::VecArray; using TuplesContainer = cms::cuda::OneToManyAssoc; using HitToTuple = cms::cuda::OneToManyAssoc; // 3.5 should be enough - using TupleMultiplicity = cms::cuda::OneToManyAssoc; + using TupleMultiplicity = cms::cuda::OneToManyAssoc; struct OuterHitOfCell { OuterHitOfCellContainer* container; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc index c3c0c25cb1e38..bd8151a2a816a 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cc @@ -124,7 +124,7 @@ void CAHitNtupletGeneratorKernelsCPU::launchKernels(HitsOnCPU const &hh, TkSoA * quality_d, params_.minHitsPerNtuplet_); if (params_.doStats_) - kernel_mark_used(hh.view(), device_theCells_.get(), device_nCells_); + kernel_mark_used(device_theCells_.get(), device_nCells_); cms::cuda::finalizeBulk(device_hitTuple_apc_, tuples_d); @@ -159,7 +159,7 @@ void CAHitNtupletGeneratorKernelsCPU::classifyTuples(HitsOnCPU const &hh, TkSoA } // remove duplicates (tracks that share a doublet) - kernel_fastDuplicateRemover(device_theCells_.get(), device_nCells_, tuples_d, tracks_d, params_.dupPassThrough_); + kernel_fastDuplicateRemover(device_theCells_.get(), device_nCells_, tracks_d, params_.dupPassThrough_); // fill hit->track "map" if (params_.doSharedHitCut_ || params_.doStats_) { @@ -170,37 +170,21 @@ void CAHitNtupletGeneratorKernelsCPU::classifyTuples(HitsOnCPU const &hh, TkSoA // remove duplicates (tracks that share at least one hit) if (params_.doSharedHitCut_) { - kernel_rejectDuplicate(hh.view(), - tuples_d, - tracks_d, - quality_d, - params_.minHitsForSharingCut_, - params_.dupPassThrough_, - device_hitToTuple_.get()); + kernel_rejectDuplicate( + tracks_d, quality_d, params_.minHitsForSharingCut_, params_.dupPassThrough_, device_hitToTuple_.get()); kernel_sharedHitCleaner(hh.view(), - tuples_d, tracks_d, quality_d, params_.minHitsForSharingCut_, params_.dupPassThrough_, device_hitToTuple_.get()); if (params_.useSimpleTripletCleaner_) { - kernel_simpleTripletCleaner(hh.view(), - tuples_d, - tracks_d, - quality_d, - params_.minHitsForSharingCut_, - params_.dupPassThrough_, - device_hitToTuple_.get()); + kernel_simpleTripletCleaner( + tracks_d, quality_d, params_.minHitsForSharingCut_, params_.dupPassThrough_, device_hitToTuple_.get()); } else { - kernel_tripletCleaner(hh.view(), - tuples_d, - tracks_d, - quality_d, - params_.minHitsForSharingCut_, - params_.dupPassThrough_, - device_hitToTuple_.get()); + kernel_tripletCleaner( + tracks_d, quality_d, params_.minHitsForSharingCut_, params_.dupPassThrough_, device_hitToTuple_.get()); } } diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu index f975b49875439..689cc0afd052b 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.cu @@ -76,7 +76,7 @@ void CAHitNtupletGeneratorKernelsGPU::launchKernels(HitsOnCPU const &hh, TkSoA * cudaCheck(cudaGetLastError()); if (params_.doStats_) - kernel_mark_used<<>>(hh.view(), device_theCells_.get(), device_nCells_); + kernel_mark_used<<>>(device_theCells_.get(), device_nCells_); cudaCheck(cudaGetLastError()); #ifdef GPU_DEBUG @@ -246,7 +246,7 @@ void CAHitNtupletGeneratorKernelsGPU::classifyTuples(HitsOnCPU const &hh, TkSoA // mark duplicates (tracks that share a doublet) numberOfBlocks = nDoubletBlocks(blockSize); kernel_fastDuplicateRemover<<>>( - device_theCells_.get(), device_nCells_, tuples_d, tracks_d, params_.dupPassThrough_); + device_theCells_.get(), device_nCells_, tracks_d, params_.dupPassThrough_); cudaCheck(cudaGetLastError()); #ifdef GPU_DEBUG cudaCheck(cudaDeviceSynchronize()); @@ -274,16 +274,10 @@ void CAHitNtupletGeneratorKernelsGPU::classifyTuples(HitsOnCPU const &hh, TkSoA // mark duplicates (tracks that share at least one hit) numberOfBlocks = (hitToTupleView_.offSize + blockSize - 1) / blockSize; - kernel_rejectDuplicate<<>>(hh.view(), - tuples_d, - tracks_d, - quality_d, - params_.minHitsForSharingCut_, - params_.dupPassThrough_, - device_hitToTuple_.get()); + kernel_rejectDuplicate<<>>( + tracks_d, quality_d, params_.minHitsForSharingCut_, params_.dupPassThrough_, device_hitToTuple_.get()); kernel_sharedHitCleaner<<>>(hh.view(), - tuples_d, tracks_d, quality_d, params_.minHitsForSharingCut_, @@ -291,21 +285,11 @@ void CAHitNtupletGeneratorKernelsGPU::classifyTuples(HitsOnCPU const &hh, TkSoA device_hitToTuple_.get()); if (params_.useSimpleTripletCleaner_) { - kernel_simpleTripletCleaner<<>>(hh.view(), - tuples_d, - tracks_d, - quality_d, - params_.minHitsForSharingCut_, - params_.dupPassThrough_, - device_hitToTuple_.get()); + kernel_simpleTripletCleaner<<>>( + tracks_d, quality_d, params_.minHitsForSharingCut_, params_.dupPassThrough_, device_hitToTuple_.get()); } else { - kernel_tripletCleaner<<>>(hh.view(), - tuples_d, - tracks_d, - quality_d, - params_.minHitsForSharingCut_, - params_.dupPassThrough_, - device_hitToTuple_.get()); + kernel_tripletCleaner<<>>( + tracks_d, quality_d, params_.minHitsForSharingCut_, params_.dupPassThrough_, device_hitToTuple_.get()); } cudaCheck(cudaGetLastError()); #ifdef GPU_DEBUG diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.h index 0f3e5552836c0..10a02309185a3 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernels.h @@ -59,7 +59,7 @@ namespace cAHitNtupletGenerator { uint32_t maxNumberOfDoublets, uint16_t minHitsForSharingCuts, bool useRiemannFit, - bool fit5as4, + bool fitNas4, bool includeJumpingForwardDoublets, bool earlyFishbone, bool lateFishbone, @@ -84,7 +84,7 @@ namespace cAHitNtupletGenerator { maxNumberOfDoublets_(maxNumberOfDoublets), minHitsForSharingCut_(minHitsForSharingCuts), useRiemannFit_(useRiemannFit), - fit5as4_(fit5as4), + fitNas4_(fitNas4), includeJumpingForwardDoublets_(includeJumpingForwardDoublets), earlyFishbone_(earlyFishbone), lateFishbone_(lateFishbone), @@ -109,7 +109,7 @@ namespace cAHitNtupletGenerator { const uint32_t maxNumberOfDoublets_; const uint16_t minHitsForSharingCut_; const bool useRiemannFit_; - const bool fit5as4_; + const bool fitNas4_; const bool includeJumpingForwardDoublets_; const bool earlyFishbone_; const bool lateFishbone_; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h index 3b0ae66baccad..6372ce2f6f282 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h @@ -78,9 +78,9 @@ __global__ void kernel_checkOverflows(HitContainer const *foundNtuplets, } for (int idx = first, nt = foundNtuplets->nOnes(); idx < nt; idx += gridDim.x * blockDim.x) { - if (foundNtuplets->size(idx) > 5) + if (foundNtuplets->size(idx) > 7) // current real limit printf("ERROR %d, %d\n", idx, foundNtuplets->size(idx)); - assert(foundNtuplets->size(idx) < 6); + assert(foundNtuplets->size(idx) <= caConstants::maxHitsOnTrack); for (auto ih = foundNtuplets->begin(idx); ih != foundNtuplets->end(idx); ++ih) assert(int(*ih) < nHits); } @@ -178,7 +178,6 @@ __global__ void kernel_earlyDuplicateRemover(GPUCACell const *cells, // assume the above (so, short tracks already removed) __global__ void kernel_fastDuplicateRemover(GPUCACell const *__restrict__ cells, uint32_t const *__restrict__ nCells, - HitContainer const *__restrict__ foundNtuplets, TkSoA *__restrict__ tracks, bool dupPassThrough) { // quality to mark rejected @@ -199,7 +198,7 @@ __global__ void kernel_fastDuplicateRemover(GPUCACell const *__restrict__ cells, /* chi2 penalize higher-pt tracks (try rescale it?) auto score = [&](auto it) { - return foundNtuplets->size(it) < 4 ? + return tracks->nHits(it) < 4 ? std::abs(tracks->tip(it)) : // tip for triplets tracks->chi2(it); //chi2 for quads }; @@ -333,8 +332,8 @@ __global__ void kernel_connect(cms::cuda::AtomicPairCounter *apc1, : dcaCutOuterTriplet, hardCurvCut)) { // FIXME tune cuts oc.addOuterNeighbor(cellIndex, *cellNeighbors); - thisCell.setUsedBit(1); - oc.setUsedBit(1); + thisCell.setStatusBits(GPUCACell::StatusBit::kUsed); + oc.setStatusBits(GPUCACell::StatusBit::kUsed); } } // loop on inner cells } // loop on outer cells @@ -372,14 +371,12 @@ __global__ void kernel_find_ntuplets(GPUCACell::Hits const *__restrict__ hhp, } } -__global__ void kernel_mark_used(GPUCACell::Hits const *__restrict__ hhp, - GPUCACell *__restrict__ cells, - uint32_t const *nCells) { +__global__ void kernel_mark_used(GPUCACell *__restrict__ cells, uint32_t const *nCells) { auto first = threadIdx.x + blockIdx.x * blockDim.x; for (int idx = first, nt = (*nCells); idx < nt; idx += gridDim.x * blockDim.x) { auto &thisCell = cells[idx]; if (!thisCell.tracks().empty()) - thisCell.setUsedBit(2); + thisCell.setStatusBits(GPUCACell::StatusBit::kInTrack); } } @@ -394,9 +391,9 @@ __global__ void kernel_countMultiplicity(HitContainer const *__restrict__ foundN if (quality[it] == pixelTrack::Quality::edup) continue; assert(quality[it] == pixelTrack::Quality::bad); - if (nhits > 7) + if (nhits > 7) // current limit printf("wrong mult %d %d\n", it, nhits); - assert(nhits < 8); + assert(nhits <= caConstants::maxHitsOnTrack); tupleMultiplicity->count(nhits); } } @@ -414,7 +411,7 @@ __global__ void kernel_fillMultiplicity(HitContainer const *__restrict__ foundNt assert(quality[it] == pixelTrack::Quality::bad); if (nhits > 7) printf("wrong mult %d %d\n", it, nhits); - assert(nhits < 8); + assert(nhits <= caConstants::maxHitsOnTrack); tupleMultiplicity->fill(nhits, it); } } @@ -648,9 +645,7 @@ __global__ void kernel_markSharedHit(int const *__restrict__ nshared, } // mostly for very forward triplets..... -__global__ void kernel_rejectDuplicate(TrackingRecHit2DSOAView const *__restrict__ hhp, - HitContainer const *__restrict__ ptuples, - TkSoA const *__restrict__ ptracks, +__global__ void kernel_rejectDuplicate(TkSoA const *__restrict__ ptracks, Quality *__restrict__ quality, uint16_t nmin, bool dupPassThrough, @@ -659,7 +654,6 @@ __global__ void kernel_rejectDuplicate(TrackingRecHit2DSOAView const *__restrict auto const reject = dupPassThrough ? pixelTrack::Quality::loose : pixelTrack::Quality::dup; auto &hitToTuple = *phitToTuple; - // auto const &foundNtuplets = *ptuples; auto const &tracks = *ptracks; int first = blockDim.x * blockIdx.x + threadIdx.x; @@ -713,7 +707,6 @@ __global__ void kernel_rejectDuplicate(TrackingRecHit2DSOAView const *__restrict } __global__ void kernel_sharedHitCleaner(TrackingRecHit2DSOAView const *__restrict__ hhp, - HitContainer const *__restrict__ ptuples, TkSoA const *__restrict__ ptracks, Quality *__restrict__ quality, int nmin, @@ -725,7 +718,6 @@ __global__ void kernel_sharedHitCleaner(TrackingRecHit2DSOAView const *__restric auto const longTqual = pixelTrack::Quality::highPurity; auto &hitToTuple = *phitToTuple; - // auto const &foundNtuplets = *ptuples; auto const &tracks = *ptracks; auto const &hh = *hhp; @@ -767,9 +759,7 @@ __global__ void kernel_sharedHitCleaner(TrackingRecHit2DSOAView const *__restric } } -__global__ void kernel_tripletCleaner(TrackingRecHit2DSOAView const *__restrict__ hhp, - HitContainer const *__restrict__ ptuples, - TkSoA const *__restrict__ ptracks, +__global__ void kernel_tripletCleaner(TkSoA const *__restrict__ ptracks, Quality *__restrict__ quality, uint16_t nmin, bool dupPassThrough, @@ -780,7 +770,6 @@ __global__ void kernel_tripletCleaner(TrackingRecHit2DSOAView const *__restrict_ auto const good = pixelTrack::Quality::strict; auto &hitToTuple = *phitToTuple; - // auto const &foundNtuplets = *ptuples; auto const &tracks = *ptracks; int first = blockDim.x * blockIdx.x + threadIdx.x; @@ -828,8 +817,6 @@ __global__ void kernel_tripletCleaner(TrackingRecHit2DSOAView const *__restrict_ } __global__ void kernel_simpleTripletCleaner( - TrackingRecHit2DSOAView const *__restrict__ hhp, - HitContainer const *__restrict__ ptuples, TkSoA const *__restrict__ ptracks, Quality *__restrict__ quality, uint16_t nmin, @@ -841,7 +828,6 @@ __global__ void kernel_simpleTripletCleaner( auto const good = pixelTrack::Quality::loose; auto &hitToTuple = *phitToTuple; - // auto const &foundNtuplets = *ptuples; auto const &tracks = *ptracks; int first = blockDim.x * blockIdx.x + threadIdx.x; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc index b28c8783226ef..d03e5e88b5699 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorOnGPU.cc @@ -63,7 +63,7 @@ CAHitNtupletGeneratorOnGPU::CAHitNtupletGeneratorOnGPU(const edm::ParameterSet& cfg.getParameter("maxNumberOfDoublets"), cfg.getParameter("minHitsForSharingCut"), cfg.getParameter("useRiemannFit"), - cfg.getParameter("fit5as4"), + cfg.getParameter("fitNas4"), cfg.getParameter("includeJumpingForwardDoublets"), cfg.getParameter("earlyFishbone"), cfg.getParameter("lateFishbone"), @@ -152,8 +152,7 @@ void CAHitNtupletGeneratorOnGPU::fillDescriptions(edm::ParameterSetDescription& desc.add("minHitsForSharingCut", 10) ->setComment("Maximum number of hits in a tuple to clean also if the shared hit is on bpx1"); desc.add("includeJumpingForwardDoublets", false); - desc.add("fit5as4", false)->setComment("fit only 4 hits out of N"); - ; + desc.add("fitNas4", false)->setComment("fit only 4 hits out of N"); desc.add("doClusterCut", true); desc.add("doZ0Cut", true); desc.add("doPtCut", true); @@ -196,7 +195,7 @@ PixelTrackHeterogeneous CAHitNtupletGeneratorOnGPU::makeTuplesAsync(TrackingRecH kernels.buildDoublets(hits_d, stream); kernels.launchKernels(hits_d, soa, stream); - HelixFitOnGPU fitter(bfield, m_params.fit5as4_); + HelixFitOnGPU fitter(bfield, m_params.fitNas4_); fitter.allocateOnGPU(&(soa->hitIndices), kernels.tupleMultiplicity(), soa); if (m_params.useRiemannFit_) { fitter.launchRiemannKernels(hits_d.view(), hits_d.nHits(), caConstants::maxNumberOfQuadruplets, stream); @@ -231,7 +230,7 @@ PixelTrackHeterogeneous CAHitNtupletGeneratorOnGPU::makeTuples(TrackingRecHit2DC return tracks; // now fit - HelixFitOnGPU fitter(bfield, m_params.fit5as4_); + HelixFitOnGPU fitter(bfield, m_params.fitNas4_); fitter.allocateOnGPU(&(soa->hitIndices), kernels.tupleMultiplicity(), soa); if (m_params.useRiemannFit_) { diff --git a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h index 9e1aa72185227..efc6de5d5aefd 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h @@ -38,7 +38,7 @@ class GPUCACell { using Quality = pixelTrack::Quality; static constexpr auto bad = pixelTrack::Quality::bad; - enum class StatusBit : uint16_t { used = 1, killed = 1 << 15 }; + enum class StatusBit : uint16_t { kUsed = 1, kInTrack = 2, kKilled = 1 << 15 }; GPUCACell() = default; @@ -318,7 +318,7 @@ class GPUCACell { hits[nh++] = cells[c].theFishboneId; // fishbone hit is always outer than inner hit } } - assert(nh < 8); + assert(nh < caConstants::maxHitsOnTrack); hits[nh] = theOuterHitId; auto it = foundNtuplets.bulkFill(apc, hits, nh + 1); if (it >= 0) { // if negative is overflow.... @@ -334,13 +334,13 @@ class GPUCACell { } // Cell status management - __device__ __forceinline__ void kill() { theStatus_ |= uint16_t(StatusBit::killed); } - __device__ __forceinline__ bool isKilled() const { return theStatus_ & uint16_t(StatusBit::killed); } + __device__ __forceinline__ void kill() { theStatus_ |= uint16_t(StatusBit::kKilled); } + __device__ __forceinline__ bool isKilled() const { return theStatus_ & uint16_t(StatusBit::kKilled); } __device__ __forceinline__ int16_t layerPairId() const { return theLayerPairId_; } __device__ __forceinline__ bool unused() const { return 0 == (3 & theStatus_); } - __device__ __forceinline__ void setUsedBit(uint16_t mask) { theStatus_ |= mask; } + __device__ __forceinline__ void setStatusBits(StatusBit mask) { theStatus_ |= uint16_t(mask); } __device__ __forceinline__ void setFishbone(hindex_type id) { theFishboneId = id; } __device__ __forceinline__ auto fishboneId() const { return theFishboneId; } diff --git a/RecoPixelVertexing/PixelTriplets/plugins/HelixFitOnGPU.h b/RecoPixelVertexing/PixelTriplets/plugins/HelixFitOnGPU.h index 938994840f8c0..9a9c85970af33 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/HelixFitOnGPU.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/HelixFitOnGPU.h @@ -40,7 +40,7 @@ class HelixFitOnGPU { using TupleMultiplicity = caConstants::TupleMultiplicity; - explicit HelixFitOnGPU(float bf, bool fit5as4) : bField_(bf), fit5as4_(fit5as4) {} + explicit HelixFitOnGPU(float bf, bool fitNas4) : bField_(bf), fitNas4_(fitNas4) {} ~HelixFitOnGPU() { deallocateOnGPU(); } void setBField(double bField) { bField_ = bField; } @@ -62,7 +62,7 @@ class HelixFitOnGPU { OutputSoA *outputSoa_; float bField_; - const bool fit5as4_; + const bool fitNas4_; }; #endif // RecoPixelVertexing_PixelTriplets_plugins_HelixFitOnGPU_h diff --git a/RecoPixelVertexing/PixelTriplets/plugins/RiemannFitOnGPU.cc b/RecoPixelVertexing/PixelTriplets/plugins/RiemannFitOnGPU.cc index 491dd0df2004f..13d665b597b13 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/RiemannFitOnGPU.cc +++ b/RecoPixelVertexing/PixelTriplets/plugins/RiemannFitOnGPU.cc @@ -61,7 +61,7 @@ void HelixFitOnGPU::launchRiemannKernelsOnCPU(HitsView const *hv, uint32_t nhits circle_fit_resultsGPU, offset); - if (fit5as4_) { + if (fitNas4_) { // penta kernel_FastFit<4>( tuples_, tupleMultiplicity_, 5, hv, hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), offset); diff --git a/RecoPixelVertexing/PixelTriplets/plugins/RiemannFitOnGPU.cu b/RecoPixelVertexing/PixelTriplets/plugins/RiemannFitOnGPU.cu index 90af2ac13730b..d8530bac964c1 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/RiemannFitOnGPU.cu +++ b/RecoPixelVertexing/PixelTriplets/plugins/RiemannFitOnGPU.cu @@ -74,7 +74,7 @@ void HelixFitOnGPU::launchRiemannKernels(HitsView const *hv, offset); cudaCheck(cudaGetLastError()); - if (fit5as4_) { + if (fitNas4_) { // penta kernel_FastFit<4><<>>( tuples_, tupleMultiplicity_, 5, hv, hitsGPU.get(), hits_geGPU.get(), fast_fit_resultsGPU.get(), offset); From f383597277d5a32aded48caf5248a15999ae53bf Mon Sep 17 00:00:00 2001 From: Abe Tishelman-Charny Date: Fri, 26 Nov 2021 17:08:40 +0100 Subject: [PATCH 169/268] Making first pass at updating deprecated ECAL modules --- .../EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc | 4 ++-- .../EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h | 13 +++++++------ .../EcalLaserSorting/interface/LaserSorter.h | 8 ++++---- .../EcalPedestalOffsets/interface/testChannel.h | 4 ++-- .../plugins/EcalTPGParamReaderFromDB.cc | 10 +++------- .../EcalTPGTools/plugins/testEcalTPGScale.h | 4 ++-- 6 files changed, 20 insertions(+), 23 deletions(-) diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc index c49194ed42af9..46259d9dc6af7 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc @@ -76,8 +76,8 @@ void EcalStatusAnalyzer::beginJob() { } //======================================================================== -void EcalStatusAnalyzer::analyze(edm::StreamID,const edm::Event & e, const edm::EventSetup& c) const { -// void EcalStatusAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& c) { +//void EcalStatusAnalyzer::analyze(edm::StreamID,const edm::Event & e, const edm::EventSetup& c) const { +void EcalStatusAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& c) { //======================================================================== ++iEvent; diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h index ecac5dc0645f3..585c0557a304b 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h @@ -4,19 +4,20 @@ #include #include -#include +#include class Timestamp; -class EcalStatusAnalyzer : public edm::global::EDAnalyzer<> { +class EcalStatusAnalyzer : public edm::stream::EDAnalyzer<> { public: explicit EcalStatusAnalyzer(const edm::ParameterSet& iConfig); ~EcalStatusAnalyzer() override; - // void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) override; - void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override ; - void beginJob() override; - void endJob() override; + void analyze(const edm::Event& e, const edm::EventSetup& c); + //void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c); + //void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override ; + void beginJob(); + void endJob(); enum EcalLaserColorType { iBLUE = 0, diff --git a/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h b/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h index 90511706b4f7f..7c344978aa267 100644 --- a/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h +++ b/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h @@ -15,7 +15,7 @@ #include #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include #include "FWCore/Utilities/interface/InputTag.h" #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" @@ -41,7 +41,7 @@ * the each output file.Once a file is completed (see above), it is renamed * without the enclosing .part suffix. */ -class LaserSorter : public edm::EDAnalyzer { +class LaserSorter : public edm::stream::EDAnalyzer<> { //inner classes private: struct IndexRecord { @@ -121,8 +121,8 @@ class LaserSorter : public edm::EDAnalyzer { //methods public: void analyze(const edm::Event&, const edm::EventSetup&) override; - void endJob() override; - void beginJob() override; + void endJob() ; + void beginJob() ; void beginRun(edm::Run const&, edm::EventSetup const&) override; private: diff --git a/CalibCalorimetry/EcalPedestalOffsets/interface/testChannel.h b/CalibCalorimetry/EcalPedestalOffsets/interface/testChannel.h index c20e1d8a47712..16df1d5d9dfce 100644 --- a/CalibCalorimetry/EcalPedestalOffsets/interface/testChannel.h +++ b/CalibCalorimetry/EcalPedestalOffsets/interface/testChannel.h @@ -12,7 +12,7 @@ #include "CalibCalorimetry/EcalPedestalOffsets/interface/TPedResult.h" #include "CalibCalorimetry/EcalPedestalOffsets/interface/TPedValues.h" #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include @@ -33,7 +33,7 @@ #include #include -class testChannel : public edm::EDAnalyzer { +class testChannel : public edm::one::EDAnalyzer<> { public: //! Constructor testChannel(const edm::ParameterSet &ps); diff --git a/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc b/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc index f214705ea2e57..789bda843e01d 100644 --- a/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc +++ b/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc @@ -3,7 +3,7 @@ // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -12,14 +12,14 @@ using namespace std; -class EcalTPGParamReaderFromDB : public edm::EDAnalyzer { +class EcalTPGParamReaderFromDB : public edm::one::EDAnalyzer<> { public: explicit EcalTPGParamReaderFromDB(const edm::ParameterSet&); ~EcalTPGParamReaderFromDB() override; private: void beginJob() override; - void analyze(const edm::Event&, const edm::EventSetup&) override; + void analyze(const edm::Event&, const edm::EventSetup&); void endJob() override; std::string host; @@ -48,10 +48,6 @@ EcalTPGParamReaderFromDB::~EcalTPGParamReaderFromDB() {} void EcalTPGParamReaderFromDB::analyze(const edm::Event& ev, const edm::EventSetup& es) { EcalTPGDBApp app(sid, user, pass); - //int i ; - //app.readTPGPedestals(i); - //app.writeTPGLUT(); - //app.writeTPGWeights(); } void EcalTPGParamReaderFromDB::beginJob() {} diff --git a/CalibCalorimetry/EcalTPGTools/plugins/testEcalTPGScale.h b/CalibCalorimetry/EcalTPGTools/plugins/testEcalTPGScale.h index 5b8aa1343471e..b1ce3640ac20c 100644 --- a/CalibCalorimetry/EcalTPGTools/plugins/testEcalTPGScale.h +++ b/CalibCalorimetry/EcalTPGTools/plugins/testEcalTPGScale.h @@ -9,7 +9,7 @@ // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -28,7 +28,7 @@ class CaloSubdetectorGeometry; -class testEcalTPGScale : public edm::EDAnalyzer { +class testEcalTPGScale : public edm::one::EDAnalyzer<> { public: explicit testEcalTPGScale(edm::ParameterSet const& pSet); void analyze(const edm::Event& evt, const edm::EventSetup& evtSetup) override; From 5eb112a548c9580a3e8063d078718b11d55d9dc5 Mon Sep 17 00:00:00 2001 From: Sam Harper Date: Fri, 26 Nov 2021 17:38:50 +0100 Subject: [PATCH 170/268] adjusting minimal event content to include the L1 --- HLTrigger/Configuration/python/Tools/confdb.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/HLTrigger/Configuration/python/Tools/confdb.py b/HLTrigger/Configuration/python/Tools/confdb.py index 2c4362d91becc..6c10ab1fa4aad 100644 --- a/HLTrigger/Configuration/python/Tools/confdb.py +++ b/HLTrigger/Configuration/python/Tools/confdb.py @@ -492,7 +492,16 @@ def overrideOutput(self): ), outputCommands = cms.untracked.vstring( 'drop *', 'keep edmTriggerResults_*_*_*', - 'keep triggerTriggerEvent_*_*_*' + 'keep triggerTriggerEvent_*_*_*', + 'keep GlobalAlgBlkBXVector_*_*_*', + 'keep GlobalExtBlkBXVector_*_*_*', + 'keep l1tEGammaBXVector_*_EGamma_*', + 'keep l1tEtSumBXVector_*_EtSum_*', + 'keep l1tJetBXVector_*_Jet_*', + 'keep l1tMuonBXVector_*_Muon_*', + 'keep l1tTauBXVector_*_Tau_*', + + ) ) %(process)s.MinimalOutput = cms.EndPath( %(process)s.hltOutputMinimal ) From c4de13505148f9cf14e350cd951bb15a22fa0007 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 26 Nov 2021 18:54:22 +0100 Subject: [PATCH 171/268] Make use of ESGetToken in SimProducer class of Validation/HGCalValidation --- .../plugins/SimG4HGCalValidation.cc | 91 ++++++++++--------- 1 file changed, 50 insertions(+), 41 deletions(-) diff --git a/Validation/HGCalValidation/plugins/SimG4HGCalValidation.cc b/Validation/HGCalValidation/plugins/SimG4HGCalValidation.cc index c8ec4008e2822..c531871354d55 100644 --- a/Validation/HGCalValidation/plugins/SimG4HGCalValidation.cc +++ b/Validation/HGCalValidation/plugins/SimG4HGCalValidation.cc @@ -49,14 +49,15 @@ #include class SimG4HGCalValidation : public SimProducer, - public Observer, public Observer, public Observer { public: SimG4HGCalValidation(const edm::ParameterSet& p); ~SimG4HGCalValidation() override; + void registerConsumes(edm::ConsumesCollector) override; void produce(edm::Event&, const edm::EventSetup&) override; + void beginRun(edm::EventSetup const &) override; private: SimG4HGCalValidation(const SimG4HGCalValidation&); // stop default @@ -65,7 +66,6 @@ class SimG4HGCalValidation : public SimProducer, void init(); // observer classes - void update(const BeginOfJob* job) override; void update(const BeginOfEvent* evt) override; void update(const G4Step* step) override; @@ -75,6 +75,7 @@ class SimG4HGCalValidation : public SimProducer, private: //HGCal numbering scheme + std::vector > ddconsToken_; std::vector hgcNumbering_; std::vector hgcalNumbering_; @@ -82,6 +83,7 @@ class SimG4HGCalValidation : public SimProducer, std::vector names_; std::vector types_, detTypes_, subdet_; std::string labelLayer_; + std::vector nameXs_; // parameters from geometry int levelT1_, levelT2_; @@ -123,16 +125,8 @@ SimG4HGCalValidation::~SimG4HGCalValidation() { delete number; } -void SimG4HGCalValidation::produce(edm::Event& e, const edm::EventSetup&) { - std::unique_ptr productLayer(new PHGCalValidInfo); - layerAnalysis(*productLayer); - e.put(std::move(productLayer), labelLayer_); -} - -void SimG4HGCalValidation::update(const BeginOfJob* job) { - const edm::EventSetup* es = (*job)(); +void SimG4HGCalValidation::registerConsumes(edm::ConsumesCollector cc) { for (unsigned int type = 0; type < types_.size(); ++type) { - int layers(0); int detType = detTypes_[type]; G4String nameX = "HGCal"; if (types_[type] <= 1) { @@ -145,7 +139,7 @@ void SimG4HGCalValidation::update(const BeginOfJob* job) { else dets_.emplace_back((int)(DetId::HGCalHSc)); } else { - dets_.push_back((unsigned int)(DetId::Forward)); + dets_.emplace_back((unsigned int)(DetId::Forward)); if (detType == 0) subdet_.emplace_back((int)(ForwardSubdetector::HGCEE)); else if (detType == 1) @@ -159,42 +153,57 @@ void SimG4HGCalValidation::update(const BeginOfJob* job) { nameX = "HGCalHESiliconSensitive"; else nameX = "HGCalHEScintillatorSensitive"; - edm::ESHandle hdc; - es->get().get(nameX, hdc); - if (hdc.isValid()) { - levelT1_ = hdc->levelTop(0); - levelT2_ = hdc->levelTop(1); - if (hdc->tileTrapezoid()) { - types_[type] = -1; - hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameX)); - } else if (hdc->waferHexagon6()) { - types_[type] = 1; - hgcNumbering_.push_back(new HGCNumberingScheme(*hdc, nameX)); - } else { - types_[type] = 0; - hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameX)); - } - layers = hdc->layers(false); - } else { - edm::LogError("ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameX; - throw cms::Exception("Unknown", "ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameX << "\n"; - } + nameXs_.emplace_back(nameX); + ddconsToken_.emplace_back(cc.esConsumes(edm::ESInputTag{"", nameX})); + edm::LogVerbatim("ValidHGCal") << "Defines ESGetToken for type " << type << ":" << dets_.back() << ":" << subdet_.back() << ":" << nameX; } else { edm::LogError("ValidHGCal") << "Wrong Type " << types_[type]; throw cms::Exception("Unknown", "ValidHGCal") << "Wrong Type " << types_[type] << "\n"; } + } +} + +void SimG4HGCalValidation::produce(edm::Event& e, const edm::EventSetup&) { + std::unique_ptr productLayer(new PHGCalValidInfo); + layerAnalysis(*productLayer); + e.put(std::move(productLayer), labelLayer_); +} + +void SimG4HGCalValidation::beginRun(edm::EventSetup const& es) { + for (unsigned int type = 0; type < types_.size(); ++type) { + int layers(0); + int detType = detTypes_[type]; + edm::ESHandle hdc = es.getHandle(ddconsToken_[type]); + if (hdc.isValid()) { + levelT1_ = hdc->levelTop(0); + levelT2_ = hdc->levelTop(1); + if (hdc->tileTrapezoid()) { + types_[type] = -1; + hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameXs_[type])); + } else if (hdc->waferHexagon6()) { + types_[type] = 1; + hgcNumbering_.emplace_back(new HGCNumberingScheme(*hdc, nameXs_[type])); + } else { + types_[type] = 0; + hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameXs_[type])); + } + layers = hdc->layers(false); + } else { + edm::LogError("ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameXs_[type]; + throw cms::Exception("Unknown", "ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameXs_[type] << "\n"; + } if (detType == 0) { for (int i = 0; i < layers; ++i) - hgcEEedep_.push_back(0); + hgcEEedep_.emplace_back(0); } else if (detType == 1) { for (int i = 0; i < layers; ++i) - hgcHEFedep_.push_back(0); + hgcHEFedep_.emplace_back(0); } else { for (int i = 0; i < layers; ++i) - hgcHEBedep_.push_back(0); + hgcHEBedep_.emplace_back(0); } if (verbosity_ > 0) - edm::LogVerbatim("ValidHGCal") << "[" << type << "]: " << nameX << " det " << dets_[type] << " subdet " + edm::LogVerbatim("ValidHGCal") << "[" << type << "]: " << nameXs_[type] << " det " << dets_[type] << " subdet " << subdet_[type] << " with " << layers << " layers"; } } @@ -305,11 +314,11 @@ void SimG4HGCalValidation::update(const G4Step* aStep) { if (nextVolume.c_str() != name.c_str()) { //save hit when it exits cell if (std::find(hgchitIndex_.begin(), hgchitIndex_.end(), index) == hgchitIndex_.end()) { - hgchitDets_.push_back(dets_[type]); - hgchitIndex_.push_back(index); - hgchitX_.push_back(hitPoint.x()); - hgchitY_.push_back(hitPoint.y()); - hgchitZ_.push_back(hitPoint.z()); + hgchitDets_.emplace_back(dets_[type]); + hgchitIndex_.emplace_back(index); + hgchitX_.emplace_back(hitPoint.x()); + hgchitY_.emplace_back(hitPoint.y()); + hgchitZ_.emplace_back(hitPoint.z()); } } } // it is right type of SD From 625265da4ea67f13eda88949d7bb932879ac8322 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 26 Nov 2021 19:15:18 +0100 Subject: [PATCH 172/268] Code check --- .../plugins/SimG4HGCalValidation.cc | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Validation/HGCalValidation/plugins/SimG4HGCalValidation.cc b/Validation/HGCalValidation/plugins/SimG4HGCalValidation.cc index c531871354d55..a1f4f2d70e90d 100644 --- a/Validation/HGCalValidation/plugins/SimG4HGCalValidation.cc +++ b/Validation/HGCalValidation/plugins/SimG4HGCalValidation.cc @@ -48,16 +48,14 @@ #include #include -class SimG4HGCalValidation : public SimProducer, - public Observer, - public Observer { +class SimG4HGCalValidation : public SimProducer, public Observer, public Observer { public: SimG4HGCalValidation(const edm::ParameterSet& p); ~SimG4HGCalValidation() override; void registerConsumes(edm::ConsumesCollector) override; void produce(edm::Event&, const edm::EventSetup&) override; - void beginRun(edm::EventSetup const &) override; + void beginRun(edm::EventSetup const&) override; private: SimG4HGCalValidation(const SimG4HGCalValidation&); // stop default @@ -154,8 +152,10 @@ void SimG4HGCalValidation::registerConsumes(edm::ConsumesCollector cc) { else nameX = "HGCalHEScintillatorSensitive"; nameXs_.emplace_back(nameX); - ddconsToken_.emplace_back(cc.esConsumes(edm::ESInputTag{"", nameX})); - edm::LogVerbatim("ValidHGCal") << "Defines ESGetToken for type " << type << ":" << dets_.back() << ":" << subdet_.back() << ":" << nameX; + ddconsToken_.emplace_back( + cc.esConsumes(edm::ESInputTag{"", nameX})); + edm::LogVerbatim("ValidHGCal") << "Defines ESGetToken for type " << type << ":" << dets_.back() << ":" + << subdet_.back() << ":" << nameX; } else { edm::LogError("ValidHGCal") << "Wrong Type " << types_[type]; throw cms::Exception("Unknown", "ValidHGCal") << "Wrong Type " << types_[type] << "\n"; @@ -178,14 +178,14 @@ void SimG4HGCalValidation::beginRun(edm::EventSetup const& es) { levelT1_ = hdc->levelTop(0); levelT2_ = hdc->levelTop(1); if (hdc->tileTrapezoid()) { - types_[type] = -1; - hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameXs_[type])); + types_[type] = -1; + hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameXs_[type])); } else if (hdc->waferHexagon6()) { - types_[type] = 1; - hgcNumbering_.emplace_back(new HGCNumberingScheme(*hdc, nameXs_[type])); + types_[type] = 1; + hgcNumbering_.emplace_back(new HGCNumberingScheme(*hdc, nameXs_[type])); } else { - types_[type] = 0; - hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameXs_[type])); + types_[type] = 0; + hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameXs_[type])); } layers = hdc->layers(false); } else { From 575be7dca827046c120566cb0d9d61237f6597b7 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 26 Nov 2021 20:40:32 +0100 Subject: [PATCH 173/268] Use of ESGetToken in the SiwWatcher codes in Validation/HcalHits --- .../HcalHits/src/SimG4HcalValidation.cc | 25 +++++++++++-------- Validation/HcalHits/test/run_HB_cfg.py | 2 ++ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Validation/HcalHits/src/SimG4HcalValidation.cc b/Validation/HcalHits/src/SimG4HcalValidation.cc index 98c3006e948be..eff9cefd119fd 100644 --- a/Validation/HcalHits/src/SimG4HcalValidation.cc +++ b/Validation/HcalHits/src/SimG4HcalValidation.cc @@ -21,7 +21,6 @@ #include "SimG4CMS/Calo/interface/HCalSD.h" #include "SimG4CMS/Calo/interface/HcalTestNumberingScheme.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" @@ -48,7 +47,6 @@ using namespace geant_units::operators; class SimG4HcalValidation : public SimProducer, - public Observer, public Observer, public Observer, public Observer, @@ -59,13 +57,14 @@ class SimG4HcalValidation : public SimProducer, const SimG4HcalValidation &operator=(const SimG4HcalValidation &) = delete; ~SimG4HcalValidation() override; - void produce(edm::Event &, const edm::EventSetup &) override; + void registerConsumes(edm::ConsumesCollector) override; + void produce(edm::Event&, const edm::EventSetup&) override; + void beginRun(edm::EventSetup const &) override; private: void init(); // observer classes - void update(const BeginOfJob *job) override; void update(const BeginOfRun *run) override; void update(const BeginOfEvent *evt) override; void update(const G4Step *step) override; @@ -82,6 +81,8 @@ class SimG4HcalValidation : public SimProducer, double getHcalScale(std::string, int) const; private: + edm::ESGetToken ddconsToken_; + // Keep parameters to instantiate Jet finder later SimG4HcalHitJetFinder *jetf; @@ -144,7 +145,7 @@ SimG4HcalValidation::SimG4HcalValidation(const edm::ParameterSet &p) if (infolevel > 1) produces(labelJets); - edm::LogVerbatim("ValidHcal") << "HcalTestAnalysis:: Initialised as observer of begin/end events and " + edm::LogVerbatim("ValidHcal") << "HcalTestAnalysis:: Initialized as observer of begin/end events and " << "of G4step with Parameter values: \n\tInfoLevel = " << infolevel << "\n\thcalOnly = " << hcalOnly << "\n\tapplySampling = " << applySampling << "\n\tconeSize = " << coneSize << "\n\tehitThreshold = " << ehitThreshold @@ -172,6 +173,11 @@ SimG4HcalValidation::~SimG4HcalValidation() { } } +void SimG4HcalValidation::registerConsumes(edm::ConsumesCollector cc) { + ddconsToken_ = cc.esConsumes(); + edm::LogVerbatim("ValidHcal") << "SimG4HcalValidation::Initialize ESGetToken for HcalDDDSimConstants"; +} + void SimG4HcalValidation::produce(edm::Event &e, const edm::EventSetup &) { std::unique_ptr productLayer(new PHcalValidInfoLayer); layerAnalysis(*productLayer); @@ -223,13 +229,10 @@ void SimG4HcalValidation::init() { count = 0; } -void SimG4HcalValidation::update(const BeginOfJob *job) { +void SimG4HcalValidation::beginRun(edm::EventSetup const& es) { // Numbering From DDD - edm::ESHandle hdc; - (*job)()->get().get(hdc); - const HcalDDDSimConstants *hcons = hdc.product(); - edm::LogVerbatim("ValidHcal") << "HcalTestAnalysis:: Initialise " - << "HcalNumberingFromDDD"; + const HcalDDDSimConstants *hcons = &es.getData(ddconsToken_); + edm::LogVerbatim("ValidHcal") << "HcalTestAnalysis:: Initialise HcalNumberingFromDDD"; numberingFromDDD = new HcalNumberingFromDDD(hcons); // Numbering scheme diff --git a/Validation/HcalHits/test/run_HB_cfg.py b/Validation/HcalHits/test/run_HB_cfg.py index dfd55097d8445..6dfd458552283 100644 --- a/Validation/HcalHits/test/run_HB_cfg.py +++ b/Validation/HcalHits/test/run_HB_cfg.py @@ -20,7 +20,9 @@ process.load("FWCore.MessageService.MessageLogger_cfi") #if 'MessageLogger' in process.__dict__: +# process.MessageLogger.ValidHcal=dict() # process.MessageLogger.HcalHitValid=dict() + process.MessageLogger.cerr.FwkReport.reportEvery = 1000 process.maxEvents = cms.untracked.PSet( From b3e10e0f0e9c321eef05c3b49eeee6578d41febe Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 26 Nov 2021 21:09:12 +0100 Subject: [PATCH 174/268] Code check --- Validation/HcalHits/src/SimG4HcalValidation.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Validation/HcalHits/src/SimG4HcalValidation.cc b/Validation/HcalHits/src/SimG4HcalValidation.cc index eff9cefd119fd..f6a339743657f 100644 --- a/Validation/HcalHits/src/SimG4HcalValidation.cc +++ b/Validation/HcalHits/src/SimG4HcalValidation.cc @@ -58,7 +58,7 @@ class SimG4HcalValidation : public SimProducer, ~SimG4HcalValidation() override; void registerConsumes(edm::ConsumesCollector) override; - void produce(edm::Event&, const edm::EventSetup&) override; + void produce(edm::Event &, const edm::EventSetup &) override; void beginRun(edm::EventSetup const &) override; private: @@ -229,7 +229,7 @@ void SimG4HcalValidation::init() { count = 0; } -void SimG4HcalValidation::beginRun(edm::EventSetup const& es) { +void SimG4HcalValidation::beginRun(edm::EventSetup const &es) { // Numbering From DDD const HcalDDDSimConstants *hcons = &es.getData(ddconsToken_); edm::LogVerbatim("ValidHcal") << "HcalTestAnalysis:: Initialise HcalNumberingFromDDD"; From 9c3a2133369afb3a7b7f516ba19196a117f6d9f9 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 26 Nov 2021 21:32:08 +0100 Subject: [PATCH 175/268] Make D86 version with the new muonYoke file and to make a new scenario 2026D88 with the new MTD version --- Configuration/Geometry/README.md | 5 +- .../GeometryDD4hepExtended2026D88Reco_cff.py | 60 ++++++++ .../GeometryDD4hepExtended2026D88_cff.py | 16 +++ .../python/GeometryExtended2026D88Reco_cff.py | 60 ++++++++ .../python/GeometryExtended2026D88_cff.py | 14 ++ .../Geometry/python/dict2026Geometry.py | 3 +- .../PyReleaseValidation/python/relval_2026.py | 1 + .../python/upgradeWorkflowComponents.py | 9 ++ .../StandardSequences/python/GeometryConf.py | 1 + .../dd4hep/cmsExtendedGeometry2026D86.xml | 2 +- .../dd4hep/cmsExtendedGeometry2026D88.xml | 127 +++++++++++++++++ .../cmsExtendedGeometry2026D86XML_cfi.py | 2 +- .../cmsExtendedGeometry2026D88XML_cfi.py | 131 ++++++++++++++++++ 13 files changed, 426 insertions(+), 5 deletions(-) create mode 100644 Configuration/Geometry/python/GeometryDD4hepExtended2026D88Reco_cff.py create mode 100644 Configuration/Geometry/python/GeometryDD4hepExtended2026D88_cff.py create mode 100644 Configuration/Geometry/python/GeometryExtended2026D88Reco_cff.py create mode 100644 Configuration/Geometry/python/GeometryExtended2026D88_cff.py create mode 100644 Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D88.xml create mode 100644 Geometry/CMSCommonData/python/cmsExtendedGeometry2026D88XML_cfi.py diff --git a/Configuration/Geometry/README.md b/Configuration/Geometry/README.md index 7e1bf81a28e1c..a5c4a58c137f9 100644 --- a/Configuration/Geometry/README.md +++ b/Configuration/Geometry/README.md @@ -75,7 +75,7 @@ Calorimeters: * C14: HGCal (v14 version reading the input from the flat file and uses it to create geometry, still using masking to define partial wafers) + Phase2 HCAL and EB (used in 2026D76-81, 2026D85, 2026D87) * C15: HGCal (as in C14) + HFNose with corrected wafer size + Phase2 HCAL and EB (used in 2026D82) * C16: HGCal (v15 version of HGCal geometry created using real full and partial silicon modules using the constants of the flat file) + Phase2 HCAL and EB (used in 2026D83) -* C17: HGCal (v16 version of HGCal geometry created with new longitudinal structure having 47 layers and new definition of partial wafers using the constants of the flat file) + Phase2 HCAL and EB (used in 2026D86) +* C17: HGCal (v16 version of HGCal geometry created with new longitudinal structure having 47 layers and new definition of partial wafers using the constants of the flat file) + Phase2 HCAL and EB (used in 2026D86, 2025D88) Muon system: * M4: Phase2 muon system for TDR w/ GE2/1, ME0, RE3/1, RE4/1 (incl. granularity in ME0, staggered GE2/1), 96 iRPC strips, no overlaps, MB4Shields @@ -83,7 +83,7 @@ Muon system: * M7: same as M6 with further ajustment of ME0 for boundaries * M8: same as M7 with changed number of strips for GE21 * M9: same as M8 with GE0 replacing ME0 -* M10: same as M9 but with a realistic support structure for GE0 +* M10: same as M9 but with a realistic support structure for GE0, Shield structure modified in muonYoke Fast Timing system: * I10: Fast Timing detector (LYSO barrel (bars along phi flat), silicon endcap), w/ passive materials, ETL in position defined in O4, material adjustments @@ -125,3 +125,4 @@ Several detector combinations have been generated: * D85 = T24+C14+M9+I14+O7+F6 * D86 = T24+C17+M10+I14+O8+F6 * D87 = T27+C14+M9+I13+O7+F6 +* D88 = T24+C17+M10+I15+O9+F6 diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D88Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D88Reco_cff.py new file mode 100644 index 0000000000000..c69dbccaa7c37 --- /dev/null +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D88Reco_cff.py @@ -0,0 +1,60 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Configuration.Geometry.GeometryDD4hepExtended2026D88_cff import * + +# tracker +from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * +from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * +from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * +from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * +from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * +trackerGeometry.applyAlignment = cms.bool(False) + +# calo +from Geometry.CaloEventSetup.HGCalV9Topology_cfi import * +from Geometry.HGCalGeometry.HGCalGeometryESProducer_cfi import * +from Geometry.CaloEventSetup.CaloTopology_cfi import * +from Geometry.CaloEventSetup.CaloGeometryBuilder_cfi import * +CaloGeometryBuilder = cms.ESProducer("CaloGeometryBuilder", + SelectedCalos = cms.vstring("HCAL", + "ZDC", + "EcalBarrel", + "TOWER", + "HGCalEESensitive", + "HGCalHESiliconSensitive", + "HGCalHEScintillatorSensitive" + ) +) +from Geometry.EcalAlgo.EcalBarrelGeometry_cfi import * +from Geometry.HcalEventSetup.HcalGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerTopology_cfi import * +from Geometry.HcalCommonData.hcalDDDRecConstants_cfi import * +from Geometry.HcalEventSetup.hcalTopologyIdeal_cfi import * +from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * +from Geometry.EcalMapping.EcalMapping_cfi import * +from Geometry.EcalMapping.EcalMappingRecord_cfi import * + +# muon +from Geometry.MuonNumbering.muonNumberingInitialization_cfi import * +from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import * +from Geometry.GEMGeometryBuilder.gemGeometry_cfi import * +from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import * +from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import * + +# forward +from Geometry.ForwardGeometry.ForwardGeometry_cfi import * + +# timing +from RecoMTD.DetLayers.mtdDetLayerGeometry_cfi import * +from Geometry.MTDGeometryBuilder.mtdParameters_cff import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cff import * +from Geometry.MTDNumberingBuilder.mtdTopology_cfi import * +from Geometry.MTDGeometryBuilder.mtdGeometry_cfi import * +from Geometry.MTDGeometryBuilder.idealForDigiMTDGeometry_cff import * +mtdGeometry.applyAlignment = cms.bool(False) + diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D88_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D88_cff.py new file mode 100644 index 0000000000000..6e4c1eba6519d --- /dev/null +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D88_cff.py @@ -0,0 +1,16 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Configuration.Geometry.GeometryDD4hep_cff import * +DDDetectorESProducer.confGeomXMLFiles = cms.FileInPath("Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D88.xml") + +from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cff import * +from Geometry.EcalCommonData.ecalSimulationParameters_cff import * +from Geometry.HcalCommonData.hcalDDDSimConstants_cff import * +from Geometry.HGCalCommonData.hgcalV15ParametersInitialization_cfi import * +from Geometry.HGCalCommonData.hgcalNumberingInitialization_cfi import * +from Geometry.MuonNumbering.muonGeometryConstants_cff import * +from Geometry.MuonNumbering.muonOffsetESProducer_cff import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D88Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D88Reco_cff.py new file mode 100644 index 0000000000000..9df608ab17829 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2026D88Reco_cff.py @@ -0,0 +1,60 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Configuration.Geometry.GeometryExtended2026D88_cff import * + +# tracker +from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * +from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * +from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * +from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * +from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * +trackerGeometry.applyAlignment = cms.bool(False) + +# calo +from Geometry.CaloEventSetup.HGCalV9Topology_cfi import * +from Geometry.HGCalGeometry.HGCalGeometryESProducer_cfi import * +from Geometry.CaloEventSetup.CaloTopology_cfi import * +from Geometry.CaloEventSetup.CaloGeometryBuilder_cfi import * +CaloGeometryBuilder = cms.ESProducer("CaloGeometryBuilder", + SelectedCalos = cms.vstring("HCAL", + "ZDC", + "EcalBarrel", + "TOWER", + "HGCalEESensitive", + "HGCalHESiliconSensitive", + "HGCalHEScintillatorSensitive" + ) +) +from Geometry.EcalAlgo.EcalBarrelGeometry_cfi import * +from Geometry.HcalEventSetup.HcalGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerTopology_cfi import * +from Geometry.HcalCommonData.hcalDDDRecConstants_cfi import * +from Geometry.HcalEventSetup.hcalTopologyIdeal_cfi import * +from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * +from Geometry.EcalMapping.EcalMapping_cfi import * +from Geometry.EcalMapping.EcalMappingRecord_cfi import * + +# muon +from Geometry.MuonNumbering.muonNumberingInitialization_cfi import * +from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import * +from Geometry.GEMGeometryBuilder.gemGeometry_cfi import * +from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import * +from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import * + +# forward +from Geometry.ForwardGeometry.ForwardGeometry_cfi import * + +# timing +from RecoMTD.DetLayers.mtdDetLayerGeometry_cfi import * +from Geometry.MTDGeometryBuilder.mtdParameters_cff import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cff import * +from Geometry.MTDNumberingBuilder.mtdTopology_cfi import * +from Geometry.MTDGeometryBuilder.mtdGeometry_cfi import * +from Geometry.MTDGeometryBuilder.idealForDigiMTDGeometry_cff import * +mtdGeometry.applyAlignment = cms.bool(False) + diff --git a/Configuration/Geometry/python/GeometryExtended2026D88_cff.py b/Configuration/Geometry/python/GeometryExtended2026D88_cff.py new file mode 100644 index 0000000000000..83884b02f2267 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2026D88_cff.py @@ -0,0 +1,14 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Geometry.CMSCommonData.cmsExtendedGeometry2026D88XML_cfi import * +from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cff import * +from Geometry.EcalCommonData.ecalSimulationParameters_cff import * +from Geometry.HcalCommonData.hcalDDDSimConstants_cff import * +from Geometry.HGCalCommonData.hgcalV15ParametersInitialization_cfi import * +from Geometry.HGCalCommonData.hgcalNumberingInitialization_cfi import * +from Geometry.MuonNumbering.muonGeometryConstants_cff import * +from Geometry.MuonNumbering.muonOffsetESProducer_cff import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cff import * diff --git a/Configuration/Geometry/python/dict2026Geometry.py b/Configuration/Geometry/python/dict2026Geometry.py index 4d502d30ccce0..970818d3c7c08 100644 --- a/Configuration/Geometry/python/dict2026Geometry.py +++ b/Configuration/Geometry/python/dict2026Geometry.py @@ -1277,7 +1277,7 @@ 'Geometry/MuonCommonData/data/mb3/2015/v2/mb3.xml', 'Geometry/MuonCommonData/data/mb4/2015/v2/mb4.xml', 'Geometry/MuonCommonData/data/mb4Shield/2021/v1/mb4Shield.xml', - 'Geometry/MuonCommonData/data/muonYoke/2026/v1/muonYoke.xml', + 'Geometry/MuonCommonData/data/muonYoke/2026/v2/muonYoke.xml', 'Geometry/MuonCommonData/data/mf/2026/v8/mf.xml', 'Geometry/MuonCommonData/data/csc/2021/v2/csc.xml', 'Geometry/MuonCommonData/data/rpcf/2026/v3/rpcf.xml', @@ -1616,6 +1616,7 @@ ("O7","T24","C14","M9","F6","I14") : "D85", ("O8","T24","C17","M10","F6","I14") : "D86", ("O7","T27","C14","M9","F6","I13") : "D87", + ("O9","T24","C17","M10","F6","I15") : "D88", } deprecatedDets = set([ "D1", "D2", "D3", "D5", "D6" , "D7", "D4", "D8" , "D9", "D12", "D13", "D15", "D10", "D11", "D14", "D16", "D17", "D18", "D19", "D20", "D21", "D22", "D23", "D24", "D25", "D26", "D27", "D28", "D29", "D30", "D31", "D32", "D33", "D34", "D36", "D37", "D38", "D39", "D40", "D42", "D35", "D41", "D43", "D44", "D45", "D46", "D48", "D47", "D50", "D51", "D52", "D53", "D54", "D55", "D56", "D57", "D58", "D59", "D61", "D62", "D63", "D64", "D65", "D66", "D67", "D69", "D71", "D72", "D73", "D74", "D75"]) diff --git a/Configuration/PyReleaseValidation/python/relval_2026.py b/Configuration/PyReleaseValidation/python/relval_2026.py index 63b1b0b72ea0a..6945052181791 100644 --- a/Configuration/PyReleaseValidation/python/relval_2026.py +++ b/Configuration/PyReleaseValidation/python/relval_2026.py @@ -39,6 +39,7 @@ numWFIB.extend([38234.0]) #2026D85 numWFIB.extend([38634.0]) #2026D86 numWFIB.extend([39034.0]) #2026D87 +numWFIB.extend([39434.0]) #2026D88 for numWF in numWFIB: workflows[numWF] = _upgrade_workflows[numWF] diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index c18e59bcf4ff5..8c9793ef6845d 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -59,6 +59,8 @@ '2026D86PU', '2026D87', '2026D87PU', + '2026D88', + '2026D88PU', ] # pre-generation of WF numbers @@ -1466,6 +1468,13 @@ def condition(self, fragment, stepList, key, hasHarvest): 'Era' : 'Phase2C11I13T27M9', # customized for bricked pixels and Muon M9 'ScenToRun' : ['GenSimHLBeamSpot','DigiTrigger','RecoGlobal', 'HARVESTGlobal'], }, + '2026D88' : { + 'Geom' : 'Extended2026D88', + 'HLTmenu': '@fake2', + 'GT' : 'auto:phase2_realistic_T21', + 'Era' : 'Phase2C11I13M9', + 'ScenToRun' : ['GenSimHLBeamSpot','DigiTrigger','RecoGlobal', 'HARVESTGlobal'], + }, } # standard PU sequences diff --git a/Configuration/StandardSequences/python/GeometryConf.py b/Configuration/StandardSequences/python/GeometryConf.py index ac1f6fb5df72c..b1ed218cf8c6e 100644 --- a/Configuration/StandardSequences/python/GeometryConf.py +++ b/Configuration/StandardSequences/python/GeometryConf.py @@ -66,4 +66,5 @@ 'Extended2026D85' : 'Extended2026D85,Extended2026D85Reco', 'Extended2026D86' : 'Extended2026D86,Extended2026D86Reco', 'Extended2026D87' : 'Extended2026D87,Extended2026D87Reco', + 'Extended2026D88' : 'Extended2026D88,Extended2026D88Reco', } diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml index d014f9a63c8f8..6108fd5a282eb 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D86.xml @@ -72,7 +72,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D88.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D88.xml new file mode 100644 index 0000000000000..fee515f1ac7fa --- /dev/null +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D88.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D86XML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D86XML_cfi.py index 965b77ff33df9..9cda328bc4724 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D86XML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D86XML_cfi.py @@ -73,7 +73,7 @@ 'Geometry/MuonCommonData/data/mb3/2015/v2/mb3.xml', 'Geometry/MuonCommonData/data/mb4/2015/v2/mb4.xml', 'Geometry/MuonCommonData/data/mb4Shield/2021/v1/mb4Shield.xml', - 'Geometry/MuonCommonData/data/muonYoke/2026/v1/muonYoke.xml', + 'Geometry/MuonCommonData/data/muonYoke/2026/v2/muonYoke.xml', 'Geometry/MuonCommonData/data/mf/2026/v8/mf.xml', 'Geometry/MuonCommonData/data/csc/2021/v2/csc.xml', 'Geometry/MuonCommonData/data/rpcf/2026/v3/rpcf.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D88XML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D88XML_cfi.py new file mode 100644 index 0000000000000..3d6bb5b808242 --- /dev/null +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D88XML_cfi.py @@ -0,0 +1,131 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = cms.vstring( + 'Geometry/CMSCommonData/data/materials/2021/v1/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/v2/cmsextent.xml', + 'Geometry/CMSCommonData/data/cavernData/2021/v1/cavernData.xml', + 'Geometry/CMSCommonData/data/cms/2026/v5/cms.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/eta3/etaMax.xml', + 'Geometry/CMSCommonData/data/cmsTracker.xml', + 'Geometry/CMSCommonData/data/caloBase/2026/v7/caloBase.xml', + 'Geometry/CMSCommonData/data/cmsCalo.xml', + 'Geometry/CMSCommonData/data/muonBase/2026/v5/muonBase.xml', + 'Geometry/CMSCommonData/data/cmsMuon.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/CMSCommonData/data/beampipe/2026/v3/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam/2026/v1/cmsBeam.xml', + 'Geometry/CMSCommonData/data/muonMB.xml', + 'Geometry/CMSCommonData/data/muonMagnet.xml', + 'Geometry/CMSCommonData/data/cavern/2021/v1/cavern.xml', + 'Geometry/CMSCommonData/data/cavernFloor/2017/v1/cavernFloor.xml', + 'Geometry/TrackerCommonData/data/PhaseII/trackerParameters.xml', + 'Geometry/TrackerCommonData/data/pixfwdCommon.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/pixfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseII/OuterTracker616_2020_04/pixbar.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseII/OuterTracker616_2020_04/otst.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/tracker.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/pixel.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerbar.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackerStructureTopology.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/pixelStructureTopology.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackersens.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/pixelsens.xml', + 'Geometry/TrackerRecoData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackerRecoMaterial.xml', + 'SimTracker/TrackerMaterialAnalysis/data/trackingMaterialGroups_ForPhaseII/v1/trackingMaterialGroups_ForPhaseII.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackerProdCuts.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/pixelProdCuts.xml', + 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', + 'Geometry/EcalCommonData/data/eregalgo/2026/v2/eregalgo.xml', + 'Geometry/EcalCommonData/data/ectkcable/2026/v1/ectkcable.xml', + 'Geometry/EcalCommonData/data/ectkcablemat/2026/v2/ectkcablemat.xml', + 'Geometry/EcalCommonData/data/ebalgo.xml', + 'Geometry/EcalCommonData/data/ebcon/2021/v1/ebcon.xml', + 'Geometry/EcalCommonData/data/ebrot.xml', + 'Geometry/HcalCommonData/data/hcalrotations.xml', + 'Geometry/HcalCommonData/data/hcal/v2/hcalalgo.xml', + 'Geometry/HcalCommonData/data/hcalbarrelalgo.xml', + 'Geometry/HcalCommonData/data/hcalcablealgo/v2/hcalcablealgo.xml', + 'Geometry/HcalCommonData/data/hcalouteralgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardalgo.xml', + 'Geometry/HcalCommonData/data/hcalSimNumbering/NoHE/hcalSimNumbering.xml', + 'Geometry/HcalCommonData/data/hcalRecNumbering/NoHE/hcalRecNumbering.xml', + 'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml', + 'Geometry/HGCalCommonData/data/hgcalMaterial/v2/hgcalMaterial.xml', + 'Geometry/HGCalCommonData/data/hgcal/v16/hgcal.xml', + 'Geometry/HGCalCommonData/data/hgcalcell/v16/hgcalcell.xml', + 'Geometry/HGCalCommonData/data/hgcalwafer/v16/hgcalwafer.xml', + 'Geometry/HGCalCommonData/data/hgcalEE/v16/hgcalEE.xml', + 'Geometry/HGCalCommonData/data/hgcalHEsil/v16/hgcalHEsil.xml', + 'Geometry/HGCalCommonData/data/hgcalHEmix/v16/hgcalHEmix.xml', + 'Geometry/HGCalCommonData/data/hgcalCons/v16/hgcalCons.xml', + 'Geometry/HGCalCommonData/data/hgcalConsData/v16/hgcalConsData.xml', + 'Geometry/MuonCommonData/data/mbCommon/2021/v1/mbCommon.xml', + 'Geometry/MuonCommonData/data/mb1/2015/v2/mb1.xml', + 'Geometry/MuonCommonData/data/mb2/2015/v2/mb2.xml', + 'Geometry/MuonCommonData/data/mb3/2015/v2/mb3.xml', + 'Geometry/MuonCommonData/data/mb4/2015/v2/mb4.xml', + 'Geometry/MuonCommonData/data/mb4Shield/2021/v1/mb4Shield.xml', + 'Geometry/MuonCommonData/data/muonYoke/2026/v2/muonYoke.xml', + 'Geometry/MuonCommonData/data/mf/2026/v8/mf.xml', + 'Geometry/MuonCommonData/data/csc/2021/v2/csc.xml', + 'Geometry/MuonCommonData/data/rpcf/2026/v3/rpcf.xml', + 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', + 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', + 'Geometry/MuonCommonData/data/gem21/TDR_Eta16/gem21.xml', + 'Geometry/MuonCommonData/data/mfshield/2026/v6/mfshield.xml', + 'Geometry/MuonCommonData/data/ge0/TDR_Dev/v4/ge0.xml', + 'Geometry/MuonCommonData/data/ge0shield/2026/v1/ge0shield.xml', + 'Geometry/ForwardCommonData/data/forwardshield/2026/v4/forwardshield.xml', + 'Geometry/ForwardCommonData/data/brmrotations.xml', + 'Geometry/ForwardCommonData/data/brm/2026/v1/brm.xml', + 'Geometry/ForwardCommonData/data/zdcmaterials.xml', + 'Geometry/ForwardCommonData/data/lumimaterials.xml', + 'Geometry/ForwardCommonData/data/zdcrotations.xml', + 'Geometry/ForwardCommonData/data/lumirotations.xml', + 'Geometry/ForwardCommonData/data/zdc.xml', + 'Geometry/ForwardCommonData/data/zdclumi.xml', + 'Geometry/ForwardCommonData/data/cmszdc.xml', + 'Geometry/MTDCommonData/data/mtdMaterial/v3/mtdMaterial.xml', + 'Geometry/MTDCommonData/data/btl/v1/btl.xml', + 'Geometry/MTDCommonData/data/etl/v7/etl.xml', + 'Geometry/MTDCommonData/data/mtdParameters/v3/mtdStructureTopology.xml', + 'Geometry/MTDCommonData/data/mtdParameters/v2/mtdParameters.xml', + )+ + cms.vstring( + 'Geometry/MuonCommonData/data/muonNumbering/TDR_DeV/v5/muonNumbering.xml', + 'Geometry/EcalSimData/data/PhaseII/ecalsens.xml', + 'Geometry/HcalCommonData/data/hcalsens/NoHE/hcalsenspmf.xml', + 'Geometry/HcalSimData/data/hf.xml', + 'Geometry/HcalSimData/data/hfpmt.xml', + 'Geometry/HcalSimData/data/hffibrebundle.xml', + 'Geometry/HcalSimData/data/CaloUtil/2026/v2c/CaloUtil.xml', + 'Geometry/HGCalSimData/data/hgcsensv15.xml', + 'Geometry/MuonSimData/data/PhaseII/v2/muonSens.xml', + 'Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/2026/v1/RPCSpecs.xml', + 'Geometry/GEMGeometryBuilder/data/v12/GEMSpecsFilter.xml', + 'Geometry/GEMGeometryBuilder/data/v12/GEMSpecs.xml', + 'Geometry/ForwardCommonData/data/brmsens.xml', + 'Geometry/ForwardSimData/data/zdcsens.xml', + 'Geometry/MTDSimData/data/v2/mtdsens.xml', + 'Geometry/HcalSimData/data/HcalProdCuts/2021/v1/HcalProdCuts.xml', + 'Geometry/EcalSimData/data/EcalProdCuts.xml', + 'Geometry/HGCalSimData/data/hgcProdCutsv15.xml', + 'Geometry/MuonSimData/data/muonProdCuts/2026/v2/muonProdCuts.xml', + 'Geometry/ForwardSimData/data/zdcProdCuts.xml', + 'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml', + 'Geometry/MTDSimData/data/v2/mtdProdCuts.xml', + 'Geometry/CMSCommonData/data/FieldParameters.xml', + ), + rootNodeName = cms.string('cms:OCMS') +) From f3098275c776b86b81c2c6742d4e8d30993a02cb Mon Sep 17 00:00:00 2001 From: mmusich Date: Thu, 25 Nov 2021 18:38:59 +0100 Subject: [PATCH 176/268] make SiPixelFakeLorentzAngleESSource fully configurable --- .../SiPixelFakeLorentzAngleESSource.h | 20 +- .../SiPixelESProducers/plugins/BuildFile.xml | 1 + .../SiPixelFakeLorentzAngleESSource.cc | 242 ++++++++++++++++-- .../SiPixelESProducers/test/BuildFile.xml | 7 + .../testSiPixelFakeLorentzAngleESSource.cpp | 2 + .../testSiPixelFakeLorentzAngleESSource.sh | 17 ++ ...testSiPixelFakeLorentzAngleESSource_cfg.py | 182 +++++++++++++ 7 files changed, 447 insertions(+), 24 deletions(-) create mode 100644 CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource.cpp create mode 100755 CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource.sh create mode 100644 CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py diff --git a/CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h b/CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h index f2776894f187b..6007f773f7e1c 100644 --- a/CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h +++ b/CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h @@ -27,7 +27,7 @@ #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" #include "CondFormats/SiPixelObjects/interface/SiPixelLorentzAngle.h" #include "CondFormats/DataRecord/interface/SiPixelLorentzAngleRcd.h" -// #include "CondTools/SiPixel/interface/SiPixelGainCalibrationService.h" +#include "CalibTracker/StandaloneTrackerTopology/interface/StandaloneTrackerTopology.h" // // class decleration // @@ -35,18 +35,28 @@ class SiPixelFakeLorentzAngleESSource : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder { public: SiPixelFakeLorentzAngleESSource(const edm::ParameterSet &); - ~SiPixelFakeLorentzAngleESSource() override; - - // typedef edm::ESProducts<> ReturnType; - + ~SiPixelFakeLorentzAngleESSource() override = default; virtual std::unique_ptr produce(const SiPixelLorentzAngleRcd &); + static void fillDescriptions(edm::ConfigurationDescriptions &descriptions); + protected: void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override; private: + int HVgroup(int panel, int module); + + // data members edm::FileInPath fp_; + edm::FileInPath t_topo_fp_; + typedef std::vector Parameters; + Parameters BPixParameters_; + Parameters FPixParameters_; + Parameters ModuleParameters_; + + float bPixLorentzAnglePerTesla_; + float fPixLorentzAnglePerTesla_; }; #endif diff --git a/CalibTracker/SiPixelESProducers/plugins/BuildFile.xml b/CalibTracker/SiPixelESProducers/plugins/BuildFile.xml index a7c2406fcdba1..05446593b6229 100644 --- a/CalibTracker/SiPixelESProducers/plugins/BuildFile.xml +++ b/CalibTracker/SiPixelESProducers/plugins/BuildFile.xml @@ -1,6 +1,7 @@ + diff --git a/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc b/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc index ad34931435941..cb14cdf4d0165 100644 --- a/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc +++ b/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc @@ -18,28 +18,33 @@ // user include files -#include "CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h" #include "CalibTracker/SiPixelESProducers/interface/SiPixelDetInfoFileReader.h" -#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" +#include "CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h" +#include "DataFormats/TrackerCommon/interface/PixelBarrelName.h" +#include "DataFormats/TrackerCommon/interface/PixelEndcapName.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" +#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" + // // constructors and destructor // SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource(const edm::ParameterSet& conf_) - : fp_(conf_.getParameter("file")) { + : fp_(conf_.getParameter("file")), + t_topo_fp_(conf_.getParameter("topologyInput")), + BPixParameters_(conf_.getParameter("BPixParameters")), + FPixParameters_(conf_.getParameter("FPixParameters")), + ModuleParameters_(conf_.getParameter("ModuleParameters")), + bPixLorentzAnglePerTesla_((float)conf_.getUntrackedParameter("bPixLorentzAnglePerTesla", -9999.)), + fPixLorentzAnglePerTesla_((float)conf_.getUntrackedParameter("fPixLorentzAnglePerTesla", -9999.)) { edm::LogInfo("SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource"); - //the following line is needed to tell the framework what - // data is being produced + // the following line is needed to tell the framework what data is being produced setWhatProduced(this); findingRecord(); } -SiPixelFakeLorentzAngleESSource::~SiPixelFakeLorentzAngleESSource() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - std::unique_ptr SiPixelFakeLorentzAngleESSource::produce(const SiPixelLorentzAngleRcd&) { using namespace edm::es; unsigned int nmodules = 0; @@ -47,18 +52,160 @@ std::unique_ptr SiPixelFakeLorentzAngleESSource::produce(co SiPixelDetInfoFileReader reader(fp_.fullPath()); const std::vector& DetIds = reader.getAllDetIds(); + TrackerTopology tTopo = StandaloneTrackerTopology::fromTrackerParametersXMLFile(t_topo_fp_.fullPath()); + // Loop over detectors - for (std::vector::const_iterator detit = DetIds.begin(); detit != DetIds.end(); detit++) { + for (const auto& detit : DetIds) { nmodules++; - float langle = 0.106; - //std::cout << "detid " << (*detit) << std::endl; + const DetId detid(detit); + auto rawId = detid.rawId(); + int found = 0; + int side = tTopo.side(detid); // 1:-z 2:+z for fpix, for bpix gives 0 - if (!obj->putLorentzAngle(*detit, langle)) - edm::LogError("SiPixelFakeLorentzAngleESSource") - << "[SiPixelFakeLorentzAngleESSource::produce] detid already exists" << std::endl; - } + // fill bpix values for LA + if (detid.subdetId() == static_cast(PixelSubdetector::PixelBarrel)) { + int layer = tTopo.pxbLayer(detid); + // Barrel ladder id 1-20,32,44. + int ladder = tTopo.pxbLadder(detid); + // Barrel Z-index=1,8 + int module = tTopo.pxbModule(detid); + if (module < 5) { + side = 1; + } else { + side = 2; + } + + LogDebug("SiPixelFakeLorentzAngleESSource") << " pixel barrel:" + << " layer=" << layer << " ladder=" << ladder << " module=" << module + << " rawId=" << rawId << " side " << side; + + // use a commmon value (e.g. for MC) + if (bPixLorentzAnglePerTesla_ != -9999.) { // use common value for all + edm::LogInfo("SiPixelFakeLorentzAngleESSource") + << " LA = " << bPixLorentzAnglePerTesla_ << " common for all bpix" << std::endl; + if (!obj->putLorentzAngle(detid.rawId(), bPixLorentzAnglePerTesla_)) + edm::LogError("SiPixelFakeLorentzAngleESSource") + << "ERROR!: detid " << rawId << " already exists" << std::endl; + } else { + //first individuals are put + for (const auto& it : ModuleParameters_) { + if (it.getParameter("rawid") == detid.rawId()) { + float lorentzangle = (float)it.getParameter("angle"); + if (!found) { + obj->putLorentzAngle(detid.rawId(), lorentzangle); + edm::LogInfo("SiPixelFakeLorentzAngleESSource") + << " LA= " << lorentzangle << " individual value " << detid.rawId() << std::endl; + found = 1; + } else + edm::LogError("SiPixelFakeLorentzAngleESSource") << "ERROR!: detid already exists" << std::endl; + } + } + + //modules already put are automatically skipped + for (const auto& it : BPixParameters_) { + if (it.exists("layer")) + if (it.getParameter("layer") != layer) + continue; + if (it.exists("ladder")) + if (it.getParameter("ladder") != ladder) + continue; + if (it.exists("module")) + if (it.getParameter("module") != module) + continue; + if (it.exists("side")) + if (it.getParameter("side") != side) + continue; + if (!found) { + float lorentzangle = (float)it.getParameter("angle"); + obj->putLorentzAngle(detid.rawId(), lorentzangle); + edm::LogInfo("SiPixelFakeLorentzAngleESSource") << " LA= " << lorentzangle << std::endl; + found = 2; + } else if (found == 1) { + edm::LogWarning("SiPixelFakeLorentzAngleESSource") + << "detid already given in ModuleParameters, skipping ..." << std::endl; + } else + edm::LogError("SiPixelFakeLorentzAngleESSource") + << " ERROR!: detid " << rawId << " already exists" << std::endl; + } + } + } else if (detid.subdetId() == static_cast(PixelSubdetector::PixelEndcap)) { + // fill fpix values for LA (for phase2 fpix & epix) + + // For fpix we also need to find the ring number which is not available from topology + // Convert to online + PixelEndcapName pen(detid, &tTopo, true); // use det-id phaseq - //std::cout << "Modules = " << nmodules << std::endl; + //PixelEndcapName::HalfCylinder sh = pen.halfCylinder(); //enum + //string nameF = pen.name(); + //int plaquetteName = pen.plaquetteName(); + int disk = pen.diskName(); + int blade = pen.bladeName(); + int panel = pen.pannelName(); + int ring = pen.ringName(); + + LogDebug("SiPixelFakeLorentzAngleESSource") << " pixel endcap:" + << " side=" << side << " disk=" << disk << " blade =" << blade + << " pannel=" << panel << " ring=" << ring << " rawId=" << rawId; + + // use a commmon value (e.g. for MC) + if (fPixLorentzAnglePerTesla_ != -9999.) { // use common value for all + edm::LogInfo("SiPixelFakeLorentzAngleESSource") + << " LA = " << fPixLorentzAnglePerTesla_ << " common for all fpix" << std::endl; + if (!obj->putLorentzAngle(detid.rawId(), fPixLorentzAnglePerTesla_)) + edm::LogError("SiPixelFakeLorentzAngleESSource") << " ERROR! detid already exists" << std::endl; + } else { + //first individuals are put + for (const auto& it : ModuleParameters_) { + if (it.getParameter("rawid") == detid.rawId()) { + float lorentzangle = (float)it.getParameter("angle"); + if (!found) { + obj->putLorentzAngle(detid.rawId(), lorentzangle); + edm::LogInfo("SiPixelFakeLorentzAngleESSource") + << " LA= " << lorentzangle << " individual value " << detid.rawId() << std::endl; + found = 1; + } else + edm::LogError("SiPixelFakeLorentzAngleESSource") + << "ERROR!: detid " << rawId << " already exists" << std::endl; + } // if + } // for + + //modules already put are automatically skipped + for (const auto& it : FPixParameters_) { + if (it.exists("side")) + if (it.getParameter("side") != side) + continue; + if (it.exists("disk")) + if (it.getParameter("disk") != disk) + continue; + if (it.exists("ring")) + if (it.getParameter("ring") != ring) + continue; + if (it.exists("blade")) + if (it.getParameter("blade") != blade) + continue; + if (it.exists("panel")) + if (it.getParameter("panel") != panel) + continue; + if (it.exists("HVgroup")) + if (it.getParameter("HVgroup") != HVgroup(panel, ring)) + continue; + if (!found) { + float lorentzangle = (float)it.getParameter("angle"); + obj->putLorentzAngle(detid.rawId(), lorentzangle); + edm::LogInfo("SiPixelFakeLorentzAngleESSource") << " LA= " << lorentzangle << std::endl; + found = 2; + } else if (found == 1) { + edm::LogWarning("SiPixelFakeLorentzAngleESSource") + << " detid " << rawId << " already given in ModuleParameters, skipping ..." << std::endl; + } else + edm::LogError("SiPixelFakeLorentzAngleESSource") + << "ERROR!: detid" << rawId << "already exists" << std::endl; + } // for + } // if + } // bpix/fpix + } // iterate on detids + + edm::LogInfo("SiPixelFakeLorentzAngleESSource") << "Modules = " << nmodules << std::endl; return std::unique_ptr(obj); } @@ -69,3 +216,60 @@ void SiPixelFakeLorentzAngleESSource::setIntervalFor(const edm::eventsetup::Even edm::ValidityInterval infinity(iosv.beginOfTime(), iosv.endOfTime()); oValidity = infinity; } + +int SiPixelFakeLorentzAngleESSource::HVgroup(int panel, int module) { + if (1 == panel && (1 == module || 2 == module)) { + return 1; + } else if (1 == panel && (3 == module || 4 == module)) { + return 2; + } else if (2 == panel && 1 == module) { + return 1; + } else if (2 == panel && (2 == module || 3 == module)) { + return 2; + } else { + edm::LogError("SiPixelFakeLorentzAngleESSource") + << " ERROR! in SiPixelFakeLorentzAngleESSource::HVgroup(...), panel = " << panel + << ", module = " << module << std::endl; + return 0; + } +} + +void SiPixelFakeLorentzAngleESSource::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + edm::ParameterSetDescription desc; + desc.setComment("ESSource to supply per-module SiPixelLorentzAngle payloads in the EventSetup"); + + desc.add( + "file", edm::FileInPath("SLHCUpgradeSimulations/Geometry/data/PhaseI/PixelSkimmedGeometry_phase1.txt")); + desc.add("topologyInput", + edm::FileInPath("Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml")); + desc.addUntracked("bPixLorentzAnglePerTesla", -9999.); + desc.addUntracked("fPixLorentzAnglePerTesla", -9999.); + + edm::ParameterSetDescription desc_BPixParameters; + desc_BPixParameters.addOptional("layer"); + desc_BPixParameters.addOptional("ladder"); + desc_BPixParameters.addOptional("module"); + desc_BPixParameters.addOptional("side"); + desc_BPixParameters.add("angle"); + std::vector default_BPixParametersToAdd; + desc.addVPSet("BPixParameters", desc_BPixParameters, default_BPixParametersToAdd); + + edm::ParameterSetDescription desc_FPixParameters; + desc_FPixParameters.addOptional("side"); + desc_FPixParameters.addOptional("disk"); + desc_FPixParameters.addOptional("ring"); + desc_FPixParameters.addOptional("blade"); + desc_FPixParameters.addOptional("panel"); + desc_FPixParameters.addOptional("HVgroup"); + desc_FPixParameters.add("angle"); + std::vector default_FPixParametersToAdd; + desc.addVPSet("FPixParameters", desc_FPixParameters, default_FPixParametersToAdd); + + edm::ParameterSetDescription desc_ModuleParameters; + desc_ModuleParameters.add("rawid"); + desc_ModuleParameters.add("angle"); + std::vector default_ModuleParametersToAdd; + desc.addVPSet("ModuleParameters", desc_ModuleParameters, default_ModuleParametersToAdd); + + descriptions.addWithDefaultLabel(desc); +} diff --git a/CalibTracker/SiPixelESProducers/test/BuildFile.xml b/CalibTracker/SiPixelESProducers/test/BuildFile.xml index eb13367b7c0c8..2a47d8d476c54 100644 --- a/CalibTracker/SiPixelESProducers/test/BuildFile.xml +++ b/CalibTracker/SiPixelESProducers/test/BuildFile.xml @@ -8,3 +8,10 @@ + + + + + + + diff --git a/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource.cpp b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource.cpp new file mode 100644 index 0000000000000..2f0e0c40064da --- /dev/null +++ b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource.cpp @@ -0,0 +1,2 @@ +#include "FWCore/Utilities/interface/TestHelper.h" +RUNTEST() diff --git a/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource.sh b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource.sh new file mode 100755 index 0000000000000..c3fe2f6b11037 --- /dev/null +++ b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +function die { echo $1: status $2 ; exit $2; } + +echo "TESTING Fake Pixel Conditions Sources ..." + +printf "TESTING SiPixelFakeLorentzAngleESSource (BPix) ...\n\n" +cmsRun ${LOCAL_TEST_DIR}/testSiPixelFakeLorentzAngleESSource_cfg.py isBPix=True || die "Failure testing SiPixelFakeLorentzAngleESSource (BPix)" $? + +printf "TESTING SiPixelFakeLorentzAngleESSource (FPix) ...\n\n" +cmsRun ${LOCAL_TEST_DIR}/testSiPixelFakeLorentzAngleESSource_cfg.py isFPix=True || die "Failure testing SiPixelFakeLorentzAngleESSource (FPix)" $? + +printf "TESTING SiPixelFakeLorentzAngleESSource (By Module) ...\n\n" +cmsRun ${LOCAL_TEST_DIR}/testSiPixelFakeLorentzAngleESSource_cfg.py isByModule=True || die "Failure testing SiPixelFakeLorentzAngleESSource (By Module)" $? + +printf "TESTING SiPixelFakeLorentzAngleESSource (Phase-2) ...\n\n" +cmsRun ${LOCAL_TEST_DIR}/testSiPixelFakeLorentzAngleESSource_cfg.py isPhase2=True || die "Failure testing SiPixelFakeLorentzAngleESSource (Phase-2) " $? diff --git a/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py new file mode 100644 index 0000000000000..7de0563ec0c34 --- /dev/null +++ b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py @@ -0,0 +1,182 @@ +from __future__ import print_function +import FWCore.ParameterSet.Config as cms +import FWCore.ParameterSet.VarParsing as VarParsing + +process = cms.Process("Test") +options = VarParsing.VarParsing() +options.register('isPhase2', + False, # default value + VarParsing.VarParsing.multiplicity.singleton, # singleton or list + VarParsing.VarParsing.varType.bool, # string, int, or float + "change for phase2") +options.register('isBPix', + False, # default value + VarParsing.VarParsing.multiplicity.singleton, # singleton or list + VarParsing.VarParsing.varType.bool, # string, int, or float + "switch for BPix") +options.register('isFPix', + False, # default value + VarParsing.VarParsing.multiplicity.singleton, # singleton or list + VarParsing.VarParsing.varType.bool, # string, int, or float + "switch for FPix") +options.register('isByModule', + False, # default value + VarParsing.VarParsing.multiplicity.singleton, # singleton or list + VarParsing.VarParsing.varType.bool, # string, int, or float + "switch for by Module") +options.parseArguments() + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(1) +) +process.source = cms.Source("EmptySource", + firstRun = cms.untracked.uint32(1) + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string("siPixelLorentzAngle_histo.root") + ) + +process.MessageLogger = cms.Service("MessageLogger", + cerr = cms.untracked.PSet( + enable = cms.untracked.bool(False) + ), + cout = cms.untracked.PSet( + enable = cms.untracked.bool(True), + threshold = cms.untracked.string('WARNING') + ) +) + +process.Timing = cms.Service("Timing") + + +## import the ESSource +from CalibTracker.SiPixelESProducers.siPixelFakeLorentzAngleESSource_cfi import siPixelFakeLorentzAngleESSource + +BPIX_LAYER1=0.0595 +BPIX_LAYER_2_MODULE_1_4 = 0.0765 +BPIX_LAYER_2_MODULE_5_8 = 0.0805 +BPIX_LAYER_3_MODULE_1_4 = 0.0864 +BPIX_LAYER_3_MODULE_5_8 = 0.0929 +BPIX_LAYER_4_MODULE_1_4 = 0.0961 +BPIX_LAYER_4_MODULE_5_8 = 0.1036 + +FPix_300V_RNG1_PNL1 = 0.0805 +FPix_300V_RNG1_PNL2 = 0.0788 +FPix_300V_RNG2_PNL1 = 0.0756 +FPix_300V_RNG2_PNL2 = 0.0736 + +process.SiPixelFakeLorentzAngleESSource = siPixelFakeLorentzAngleESSource.clone() + +if(options.isPhase2): + print(" ========> Testing Phase-2") + process.SiPixelFakeLorentzAngleESSource.bPixLorentzAnglePerTesla = cms.untracked.double(0.106) + process.SiPixelFakeLorentzAngleESSource.fPixLorentzAnglePerTesla = cms.untracked.double(0.106) + process.SiPixelFakeLorentzAngleESSource.file = 'SLHCUpgradeSimulations/Geometry/data/PhaseII/Tilted/PixelSkimmedGeometryT14.txt' + process.SiPixelFakeLorentzAngleESSource.topologyInput = 'Geometry/TrackerCommonData/data/PhaseII/trackerParameters.xml' +else: + if(options.isBPix): + print(" ========> Testing BPix parameters") + process.SiPixelFakeLorentzAngleESSource.BPixParameters = cms.VPSet( + cms.PSet(layer = cms.int32(1), angle = cms.double(BPIX_LAYER1)), + cms.PSet(layer = cms.int32(2), module = cms.int32(1), angle = cms.double(BPIX_LAYER_2_MODULE_1_4)), + cms.PSet(layer = cms.int32(2), module = cms.int32(2), angle = cms.double(BPIX_LAYER_2_MODULE_1_4)), + cms.PSet(layer = cms.int32(2), module = cms.int32(3), angle = cms.double(BPIX_LAYER_2_MODULE_1_4)), + cms.PSet(layer = cms.int32(2), module = cms.int32(4), angle = cms.double(BPIX_LAYER_2_MODULE_1_4)), + cms.PSet(layer = cms.int32(2), module = cms.int32(5), angle = cms.double(BPIX_LAYER_2_MODULE_5_8)), + cms.PSet(layer = cms.int32(2), module = cms.int32(6), angle = cms.double(BPIX_LAYER_2_MODULE_5_8)), + cms.PSet(layer = cms.int32(2), module = cms.int32(7), angle = cms.double(BPIX_LAYER_2_MODULE_5_8)), + cms.PSet(layer = cms.int32(2), module = cms.int32(8), angle = cms.double(BPIX_LAYER_2_MODULE_5_8)), + cms.PSet(layer = cms.int32(3), module = cms.int32(1), angle = cms.double(BPIX_LAYER_3_MODULE_1_4)), + cms.PSet(layer = cms.int32(3), module = cms.int32(2), angle = cms.double(BPIX_LAYER_3_MODULE_1_4)), + cms.PSet(layer = cms.int32(3), module = cms.int32(3), angle = cms.double(BPIX_LAYER_3_MODULE_1_4)), + cms.PSet(layer = cms.int32(3), module = cms.int32(4), angle = cms.double(BPIX_LAYER_3_MODULE_1_4)), + cms.PSet(layer = cms.int32(3), module = cms.int32(5), angle = cms.double(BPIX_LAYER_3_MODULE_5_8)), + cms.PSet(layer = cms.int32(3), module = cms.int32(6), angle = cms.double(BPIX_LAYER_3_MODULE_5_8)), + cms.PSet(layer = cms.int32(3), module = cms.int32(7), angle = cms.double(BPIX_LAYER_3_MODULE_5_8)), + cms.PSet(layer = cms.int32(3), module = cms.int32(8), angle = cms.double(BPIX_LAYER_3_MODULE_5_8)), + cms.PSet(layer = cms.int32(4), module = cms.int32(1), angle = cms.double(BPIX_LAYER_4_MODULE_1_4)), + cms.PSet(layer = cms.int32(4), module = cms.int32(2), angle = cms.double(BPIX_LAYER_4_MODULE_1_4)), + cms.PSet(layer = cms.int32(4), module = cms.int32(3), angle = cms.double(BPIX_LAYER_4_MODULE_1_4)), + cms.PSet(layer = cms.int32(4), module = cms.int32(4), angle = cms.double(BPIX_LAYER_4_MODULE_1_4)), + cms.PSet(layer = cms.int32(4), module = cms.int32(5), angle = cms.double(BPIX_LAYER_4_MODULE_5_8)), + cms.PSet(layer = cms.int32(4), module = cms.int32(6), angle = cms.double(BPIX_LAYER_4_MODULE_5_8)), + cms.PSet(layer = cms.int32(4), module = cms.int32(7), angle = cms.double(BPIX_LAYER_4_MODULE_5_8)), + cms.PSet(layer = cms.int32(4), module = cms.int32(8), angle = cms.double(BPIX_LAYER_4_MODULE_5_8)), + ) + elif(options.isFPix): + print(" ========> Testing FPix parameters") + process.SiPixelFakeLorentzAngleESSource.FPixParameters = cms.VPSet( + cms.PSet( + ring = cms.int32(1), + panel = cms.int32(1), + angle = cms.double(0.0805) + ), + cms.PSet( + ring = cms.int32(1), + panel = cms.int32(2), + angle = cms.double(0.0788) + ), + cms.PSet( + ring = cms.int32(2), + panel = cms.int32(1), + angle = cms.double(0.0756) + ), + cms.PSet( + ring = cms.int32(2), + panel = cms.int32(2), + angle = cms.double(0.0736) + ) + ) + elif(options.isByModule): + print(" ========> Testing byModule") + process.SiPixelFakeLorentzAngleESSource.ModuleParameters = cms.VPSet( + cms.PSet( rawid=cms.uint32(352588804), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352592900), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352596996), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352601092), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352605188), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352609284), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352658436), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352662532), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352666628), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352670724), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352674820), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(344749060), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(344753156), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(344757252), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(344781828), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(344785924), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(344790020), angle=cms.double(FPix_300V_RNG1_PNL1) ), + cms.PSet( rawid=cms.uint32(352589828), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352593924), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352598020), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352602116), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352606212), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352610308), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352659460), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352663556), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352667652), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352671748), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(352675844), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(344750084), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(344754180), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(344758276), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(344782852), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(344786948), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(344791044), angle=cms.double(FPix_300V_RNG1_PNL2) ), + cms.PSet( rawid=cms.uint32(344851460), angle=cms.double(FPix_300V_RNG2_PNL1) ), + cms.PSet( rawid=cms.uint32(344855556), angle=cms.double(FPix_300V_RNG2_PNL1) ), + cms.PSet( rawid=cms.uint32(344859652), angle=cms.double(FPix_300V_RNG2_PNL1) ), + cms.PSet( rawid=cms.uint32(344863748), angle=cms.double(FPix_300V_RNG2_PNL1) ), + cms.PSet( rawid=cms.uint32(344852484), angle=cms.double(FPix_300V_RNG2_PNL2) ), + cms.PSet( rawid=cms.uint32(344856580), angle=cms.double(FPix_300V_RNG2_PNL2) ), + cms.PSet( rawid=cms.uint32(344860676), angle=cms.double(FPix_300V_RNG2_PNL2) ) + ) + +process.LorentzAngleReader = cms.EDAnalyzer("SiPixelLorentzAngleReader", + printDebug = cms.untracked.bool(True), + useSimRcd = cms.bool(False) + ) + +process.p = cms.Path(process.LorentzAngleReader) From bd8132cbf7ee416cc43a4f68d6ce6bc692aab7eb Mon Sep 17 00:00:00 2001 From: mmusich Date: Fri, 26 Nov 2021 22:19:25 +0100 Subject: [PATCH 177/268] fix printDebug in SiPixelLorentzAngleReader --- CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc b/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc index 3388e20fadfc2..18d187e982bb8 100644 --- a/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc +++ b/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc @@ -75,8 +75,9 @@ void SiPixelLorentzAngleReader::analyze(const edm::Event& e, const edm::EventSet std::map detid_la = SiPixelLorentzAngle_->getLorentzAngles(); std::map::const_iterator it; for (it = detid_la.begin(); it != detid_la.end(); it++) { - // edm::LogPrint("SiPixelLorentzAngleReader") << "detid " << it->first << " \t" << " Lorentz angle " << it->second << std::endl; - //edm::LogInfo("SiPixelLorentzAngleReader") << "detid " << it->first << " \t" << " Lorentz angle " << it->second; + if(printdebug_){ + edm::LogPrint("SiPixelLorentzAngleReader") << "detid " << it->first << " \t" << " Lorentz angle " << it->second << std::endl; + } unsigned int subdet = DetId(it->first).subdetId(); if (subdet == static_cast(PixelSubdetector::PixelBarrel)) { LorentzAngleBarrel_->Fill(it->second); From ac0787548cfe26ab120ea641c37b9f8cd4553011 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Sat, 27 Nov 2021 10:50:30 +0100 Subject: [PATCH 178/268] use enum --- RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h index efc6de5d5aefd..2bcfbf401fb14 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/GPUCACell.h @@ -339,7 +339,7 @@ class GPUCACell { __device__ __forceinline__ int16_t layerPairId() const { return theLayerPairId_; } - __device__ __forceinline__ bool unused() const { return 0 == (3 & theStatus_); } + __device__ __forceinline__ bool unused() const { return 0 == (uint16_t(StatusBit::kUsed) & theStatus_); } __device__ __forceinline__ void setStatusBits(StatusBit mask) { theStatus_ |= uint16_t(mask); } __device__ __forceinline__ void setFishbone(hindex_type id) { theFishboneId = id; } From 39688c6e864d8db84a931ab333bcb0147192b580 Mon Sep 17 00:00:00 2001 From: mmusich Date: Sat, 27 Nov 2021 12:37:39 +0100 Subject: [PATCH 179/268] code-check & format --- .../plugins/SiPixelFakeLorentzAngleESSource.cc | 6 +++--- CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc b/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc index cb14cdf4d0165..6b79d262f622b 100644 --- a/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc +++ b/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc @@ -192,7 +192,7 @@ std::unique_ptr SiPixelFakeLorentzAngleESSource::produce(co if (!found) { float lorentzangle = (float)it.getParameter("angle"); obj->putLorentzAngle(detid.rawId(), lorentzangle); - edm::LogInfo("SiPixelFakeLorentzAngleESSource") << " LA= " << lorentzangle << std::endl; + edm::LogInfo("SiPixelFakeLorentzAngleESSource") << " LA= " << lorentzangle << std::endl; found = 2; } else if (found == 1) { edm::LogWarning("SiPixelFakeLorentzAngleESSource") @@ -228,8 +228,8 @@ int SiPixelFakeLorentzAngleESSource::HVgroup(int panel, int module) { return 2; } else { edm::LogError("SiPixelFakeLorentzAngleESSource") - << " ERROR! in SiPixelFakeLorentzAngleESSource::HVgroup(...), panel = " << panel - << ", module = " << module << std::endl; + << " ERROR! in SiPixelFakeLorentzAngleESSource::HVgroup(...), panel = " << panel << ", module = " << module + << std::endl; return 0; } } diff --git a/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc b/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc index 18d187e982bb8..044bbe4f49936 100644 --- a/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc +++ b/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc @@ -75,8 +75,9 @@ void SiPixelLorentzAngleReader::analyze(const edm::Event& e, const edm::EventSet std::map detid_la = SiPixelLorentzAngle_->getLorentzAngles(); std::map::const_iterator it; for (it = detid_la.begin(); it != detid_la.end(); it++) { - if(printdebug_){ - edm::LogPrint("SiPixelLorentzAngleReader") << "detid " << it->first << " \t" << " Lorentz angle " << it->second << std::endl; + if (printdebug_) { + edm::LogPrint("SiPixelLorentzAngleReader") << "detid " << it->first << " \t" + << " Lorentz angle " << it->second << std::endl; } unsigned int subdet = DetId(it->first).subdetId(); if (subdet == static_cast(PixelSubdetector::PixelBarrel)) { From b880d3cd3ac66a79d198472553f4c8a5605e9f22 Mon Sep 17 00:00:00 2001 From: Tamas Date: Sat, 27 Nov 2021 18:18:04 +0100 Subject: [PATCH 180/268] More concise conditions --- .../interface/SiPixelRecHitQuality.h | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h b/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h index 373e0817da660..ff56be02a0ef6 100644 --- a/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h +++ b/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h @@ -109,12 +109,9 @@ class SiPixelRecHitQuality { //------------------------------------------------------ // inline void setProbabilityXY(float prob, QualWordType& qualWord) const { - if (prob < 0.0f) { - warningOutOfBoundProb("XY", prob, qualWord); - prob = 0; - } else if (prob > 1.0f && prob < 1.0f + std::numeric_limits::epsilon()) { + if (prob > 1.0f && prob <= 1.0f + std::numeric_limits::epsilon()) { prob = 1; - } else if (prob > 1.0f + std::numeric_limits::epsilon()) { + } else if (prob < 0.0f || prob > 1.0f + std::numeric_limits::epsilon()) { warningOutOfBoundProb("XY", prob, qualWord); prob = 0; } @@ -124,12 +121,9 @@ class SiPixelRecHitQuality { qualWord |= ((raw & probX_mask) << probX_shift); } inline void setProbabilityQ(float prob, QualWordType& qualWord) const { - if (prob < 0.0f) { - warningOutOfBoundProb("Q", prob, qualWord); - prob = 0; - } else if (prob > 1.0f && prob < 1.0f + std::numeric_limits::epsilon()) { + if (prob > 1.0f && prob <= 1.0f + std::numeric_limits::epsilon()) { prob = 1; - } else if (prob > 1.0f + std::numeric_limits::epsilon()) { + } else if (prob < 0.0f || prob > 1.0f + std::numeric_limits::epsilon()) { warningOutOfBoundProb("Q", prob, qualWord); prob = 0; } From 06541826cb83caadaeaa5de957be9ea145fb081f Mon Sep 17 00:00:00 2001 From: Javier Date: Sat, 27 Nov 2021 18:51:39 +0100 Subject: [PATCH 181/268] Fix bug in call to vector --- DQM/DTMonitorClient/src/DTLocalTriggerTest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DQM/DTMonitorClient/src/DTLocalTriggerTest.cc b/DQM/DTMonitorClient/src/DTLocalTriggerTest.cc index 671dd739476a1..b516fa15dc27f 100644 --- a/DQM/DTMonitorClient/src/DTLocalTriggerTest.cc +++ b/DQM/DTMonitorClient/src/DTLocalTriggerTest.cc @@ -449,7 +449,7 @@ void DTLocalTriggerTest::fillGlobalSummary(DQMStore::IGetter& igetter) { } (corr < 5 || second < 5) && nSecReadout++; int errcode = ((corr < 5 ? corr : 4) + (second < 5 ? second : 4) + (lut < 5 ? lut : 4)); - errcode = min(int((errcode / maxErr + 0.01) * 5), 5); + errcode = min(int((errcode / maxErr + 0.01) * 4), 4); cmsME.find("TrigGlbSummary")->second->setBinContent(sect, wh + wheelArrayShift, glbPerc[errcode]); } } From c3837a51601316a3ca2f0c42fc323f5c0c283ce6 Mon Sep 17 00:00:00 2001 From: Javier Date: Sat, 27 Nov 2021 18:52:00 +0100 Subject: [PATCH 182/268] Fix bug in maximum loop number --- DQM/DTMonitorClient/src/DTOccupancyTestML.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/DQM/DTMonitorClient/src/DTOccupancyTestML.cc b/DQM/DTMonitorClient/src/DTOccupancyTestML.cc index 18a6612106d3b..63663f4529678 100644 --- a/DQM/DTMonitorClient/src/DTOccupancyTestML.cc +++ b/DQM/DTMonitorClient/src/DTOccupancyTestML.cc @@ -355,7 +355,9 @@ std::vector DTOccupancyTestML::interpolateLayers(std::vector const float step = static_cast(size) / targetSize; std::vector reshapedInput(targetSize); - for (int i = 0; i < targetSize; i++) { + int limitInLoop=inputs.size(); + limitInLoop = std::min(limitInLoop,targetSize)-1; + for (int i = 0; i < limitInLoop; i++) { interpolationFloor = static_cast(std::floor(interpolationPoint)); // Interpolating here reshapedInput.at(i) = From 4f92cb6c5456636c759e969b42593ec6d4abc2d9 Mon Sep 17 00:00:00 2001 From: Javier Date: Sat, 27 Nov 2021 18:52:17 +0100 Subject: [PATCH 183/268] Remove ulimit in UnitTest --- DQMServices/Demo/test/runtests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DQMServices/Demo/test/runtests.sh b/DQMServices/Demo/test/runtests.sh index 6c94d32c7b88c..364266b63ce3b 100755 --- a/DQMServices/Demo/test/runtests.sh +++ b/DQMServices/Demo/test/runtests.sh @@ -82,9 +82,9 @@ cmp <($LOCAL_TEST_DIR/dqmiodumpentries.py multirun.root -r 1 -l 1 | grep -v fill cmp <($LOCAL_TEST_DIR/dqmiodumpentries.py multirun.root -r 1 -l 2) <($LOCAL_TEST_DIR/dqmiodumpentries.py merged.root -r 1 -l 2) # 6. A load test. -( if [[ `uname -m` != aarch64 ]] ; then ulimit -v 4000000 ; fi # limit available virtual memory +#( if [[ `uname -m` != aarch64 ]] ; then ulimit -v 4000000 ; fi # limit available virtual memory cmsRun $LOCAL_TEST_DIR/run_analyzers_cfg.py outfile=huge.root numberEventsInRun=300 numberEventsInLuminosityBlock=100 nEvents=600 nThreads=10 nConcurrent=2 howmany=1000 nolegacy=True -) +#) # 7. Try writing a TDirectory file. From 5b73c3439ce20091997914fc4e2ef0a80816272f Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 23 Nov 2021 14:55:24 -0600 Subject: [PATCH 184/268] add HLT filter --- .../MuonReco/interface/MuonRecHitCluster.h | 1 - HLTrigger/special/plugins/BuildFile.xml | 1 + .../plugins/HLTMuonRecHitClusterFilter.cc | 106 +++++++++++ .../plugins/RechitClusterProducer.cc | 173 +++++++++--------- .../python/rechitCluster_cff.py | 8 +- 5 files changed, 197 insertions(+), 92 deletions(-) create mode 100644 HLTrigger/special/plugins/HLTMuonRecHitClusterFilter.cc diff --git a/DataFormats/MuonReco/interface/MuonRecHitCluster.h b/DataFormats/MuonReco/interface/MuonRecHitCluster.h index 6383cd1b4e9f3..a792e11cd79a9 100644 --- a/DataFormats/MuonReco/interface/MuonRecHitCluster.h +++ b/DataFormats/MuonReco/interface/MuonRecHitCluster.h @@ -2,7 +2,6 @@ #define DataFormats_MuonReco_MuonRecHitCluster_h #include -#include "DataFormats/Common/interface/SortedCollection.h" #include "DataFormats/Math/interface/Vector3D.h" namespace reco { diff --git a/HLTrigger/special/plugins/BuildFile.xml b/HLTrigger/special/plugins/BuildFile.xml index 335f4c61ac7bf..8ddc513c461f2 100644 --- a/HLTrigger/special/plugins/BuildFile.xml +++ b/HLTrigger/special/plugins/BuildFile.xml @@ -25,6 +25,7 @@ + diff --git a/HLTrigger/special/plugins/HLTMuonRecHitClusterFilter.cc b/HLTrigger/special/plugins/HLTMuonRecHitClusterFilter.cc new file mode 100644 index 0000000000000..86f0c0a8db3f5 --- /dev/null +++ b/HLTrigger/special/plugins/HLTMuonRecHitClusterFilter.cc @@ -0,0 +1,106 @@ +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/Framework/interface/global/EDFilter.h" +#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "FWCore/Utilities/interface/EDGetToken.h" +#include "FWCore/Utilities/interface/InputTag.h" +#include "FWCore/Utilities/interface/StreamID.h" +#include "DataFormats/MuonReco/interface/MuonRecHitCluster.h" + +class HLTMuonRecHitClusterFilter : public edm::global::EDFilter<> { +public: + explicit HLTMuonRecHitClusterFilter(const edm::ParameterSet&); + ~HLTMuonRecHitClusterFilter() override = default; + static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); + +private: + bool filter(edm::StreamID, edm::Event&, edm::EventSetup const&) const override; + const edm::EDGetTokenT cluster_token_; + const int min_N_; + const int min_Size_; + const int min_SizeMinusMB1_; + const int max_nMB1_; + const int max_nMB2_; + const int max_nME11_; + const int max_nME12_; + const int max_nME41_; + const int max_nME42_; + const int min_Nstation_; + const double min_AvgStation_; + const double min_Time_; + const double max_Time_; + const double min_Eta_; + const double max_Eta_; + const double max_TimeSpread_; +}; +// +// constructors and destructor +// +HLTMuonRecHitClusterFilter::HLTMuonRecHitClusterFilter(const edm::ParameterSet& iConfig) + : cluster_token_(consumes(iConfig.getParameter("ClusterTag"))), + min_N_(iConfig.getParameter("MinN")), + min_Size_(iConfig.getParameter("MinSize")), + min_SizeMinusMB1_(iConfig.getParameter("MinSizeMinusMB1")), + max_nMB1_(iConfig.getParameter("Max_nMB1")), + max_nMB2_(iConfig.getParameter("Max_nMB2")), + max_nME11_(iConfig.getParameter("Max_nME11")), + max_nME12_(iConfig.getParameter("Max_nME12")), + max_nME41_(iConfig.getParameter("Max_nME41")), + max_nME42_(iConfig.getParameter("Max_nME42")), + min_Nstation_(iConfig.getParameter("MinNstation")), + min_AvgStation_(iConfig.getParameter("MinAvgStation")), + min_Time_(iConfig.getParameter("MinTime")), + max_Time_(iConfig.getParameter("MaxTime")), + min_Eta_(iConfig.getParameter("MinEta")), + max_Eta_(iConfig.getParameter("MaxEta")), + max_TimeSpread_(iConfig.getParameter("MaxTimeSpread")) {} + +void HLTMuonRecHitClusterFilter::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + edm::ParameterSetDescription desc; + desc.add("ClusterTag", edm::InputTag("hltCSCrechitClusters")); + desc.add("MinN", 1); + desc.add("MinSize", 50); + desc.add("MinSizeMinusMB1", 0); + desc.add("Max_nMB1", 0); + desc.add("Max_nMB2", 0); + desc.add("Max_nME11", 0); + desc.add("Max_nME12", 0); + desc.add("Max_nME41", 0); + desc.add("Max_nME42", 0); + desc.add("MinNstation", 0); + desc.add("MinAvgStation", 0.0); + desc.add("MinTime", -999); + desc.add("MaxTime", 999); + desc.add("MinEta", -1.0); + desc.add("MaxEta", -1.0); + desc.add("MaxTimeSpread", 999); + descriptions.addWithDefaultLabel(desc); +} + +// +// member functions +// + +// ------------ method called on each new Event ------------ +bool HLTMuonRecHitClusterFilter::filter(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const { + int nClusterPassed = 0; + + auto const& rechitClusters = iEvent.get(cluster_token_); + + for (auto const& cluster : rechitClusters) { + if ((cluster.size() >= min_Size_) && ((cluster.size() - cluster.nMB1()) >= min_SizeMinusMB1_) && + (cluster.nMB1() <= max_nMB1_) && (cluster.nMB2() <= max_nMB2_) && (cluster.nME11() <= max_nME11_) && + (cluster.nME12() <= max_nME12_) && (cluster.nME41() <= max_nME41_) && (cluster.nME42() <= max_nME42_) && + (cluster.nStation() >= min_Nstation_) && (cluster.avgStation() >= min_AvgStation_) && + ((min_Eta_ < 0.0) || (std::abs(cluster.eta()) >= min_Eta_)) && + ((max_Eta_ < 0.0) || (std::abs(cluster.eta()) <= max_Eta_)) && (cluster.time() > min_Time_) && + (cluster.time() <= max_Time_) && (cluster.timeSpread() <= max_TimeSpread_)) { + nClusterPassed++; + } + } + + return (nClusterPassed >= min_N_); +} + +DEFINE_FWK_MODULE(HLTMuonRecHitClusterFilter); diff --git a/RecoMuon/MuonRechitClusterProducer/plugins/RechitClusterProducer.cc b/RecoMuon/MuonRechitClusterProducer/plugins/RechitClusterProducer.cc index 5751491aa67b5..2b06cbda6d25b 100644 --- a/RecoMuon/MuonRechitClusterProducer/plugins/RechitClusterProducer.cc +++ b/RecoMuon/MuonRechitClusterProducer/plugins/RechitClusterProducer.cc @@ -1,37 +1,44 @@ +#include #include -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/global/EDProducer.h" - +#include +#include +#include +#include "DataFormats/CSCRecHit/interface/CSCRecHit2D.h" +#include "DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h" +#include "DataFormats/Common/interface/RangeMap.h" +#include "DataFormats/Common/interface/Ref.h" +#include "DataFormats/Common/interface/RefVector.h" +#include "DataFormats/Common/interface/RefVectorIterator.h" +#include "DataFormats/DTRecHit/interface/DTRecHit1DPair.h" +#include "DataFormats/DTRecHit/interface/DTRecHitCollection.h" +#include "DataFormats/DetId/interface/DetId.h" +#include "DataFormats/GeometryVector/interface/GlobalPoint.h" +#include "DataFormats/GeometryVector/interface/LocalPoint.h" +#include "DataFormats/Math/interface/PtEtaPhiMass.h" +#include "DataFormats/Math/interface/Vector3D.h" +#include "DataFormats/MuonDetId/interface/CSCDetId.h" +#include "DataFormats/MuonDetId/interface/DTChamberId.h" +#include "DataFormats/MuonReco/interface/MuonRecHitCluster.h" +#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - +#include "FWCore/Framework/interface/global/EDProducer.h" +#include "FWCore/Framework/interface/maker/WorkerMaker.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescriptionFiller.h" +#include "FWCore/Utilities/interface/EDGetToken.h" +#include "FWCore/Utilities/interface/ESGetToken.h" +#include "FWCore/Utilities/interface/InputTag.h" #include "FWCore/Utilities/interface/StreamID.h" - -#include "DataFormats/Common/interface/Ptr.h" -#include "DataFormats/Math/interface/deltaPhi.h" -#include "DataFormats/MuonReco/interface/MuonRecHitCluster.h" +#include "FWCore/Utilities/interface/typelookup.h" #include "Geometry/CSCGeometry/interface/CSCGeometry.h" +#include "Geometry/DTGeometry/interface/DTGeometry.h" #include "Geometry/Records/interface/MuonGeometryRecord.h" -#include "DataFormats/MuonDetId/interface/CSCDetId.h" - -#include "fastjet/JetDefinition.hh" #include "fastjet/ClusterSequence.hh" +#include "fastjet/JetDefinition.hh" #include "fastjet/PseudoJet.hh" -#include "Geometry/CSCGeometry/interface/CSCGeometry.h" -#include "Geometry/DTGeometry/interface/DTGeometry.h" -#include "DataFormats/MuonDetId/interface/CSCDetId.h" -#include "DataFormats/Math/interface/Vector3D.h" -#include "DataFormats/Math/interface/PtEtaPhiMass.h" -#include "DataFormats/DTRecHit/interface/DTRecHitCollection.h" -#include "DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h" -#include "DataFormats/MuonReco/interface/MuonRecHitCluster.h" - typedef std::vector RecHitClusterCollection; template @@ -47,8 +54,8 @@ class RechitClusterProducerT : public edm::global::EDProducer<> { private: void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; - const edm::ESGetToken GeometryToken_; - edm::EDGetTokenT InputToken_; + const edm::ESGetToken geometryToken_; + edm::EDGetTokenT inputToken_; typedef std::vector RecHitClusterCollection; const double rParam_; // distance paramter @@ -58,8 +65,8 @@ class RechitClusterProducerT : public edm::global::EDProducer<> { template RechitClusterProducerT::RechitClusterProducerT(const edm::ParameterSet& iConfig) - : GeometryToken_(esConsumes()), - InputToken_(consumes(iConfig.getParameter("recHitLabel"))), + : geometryToken_(esConsumes()), + inputToken_(consumes(iConfig.getParameter("recHitLabel"))), rParam_(iConfig.getParameter("rParam")), nRechitMin_(iConfig.getParameter("nRechitMin")), nStationThres_(iConfig.getParameter("nStationThres")) { @@ -73,31 +80,28 @@ RechitClusterProducerT::RechitClusterProducerT(const edm::ParameterSet& i // ------------ method called to produce the data ------------ template void RechitClusterProducerT::produce(edm::StreamID, edm::Event& ev, const edm::EventSetup& iSetup) const { - auto const& geo = iSetup.getData(GeometryToken_); - auto const& rechits = ev.get(InputToken_); + auto const& geo = iSetup.getData(geometryToken_); + auto const& rechits = ev.get(inputToken_); std::vector fjInput; - RecHitRefVector inputs_; + RecHitRefVector inputs; fastjet::JetDefinition jet_def(fastjet::cambridge_algorithm, rParam_); - inputs_.clear(); - fjInput.clear(); - - Trait RecHitTrait; + Trait recHitTrait; int recIt = 0; for (auto const& rechit : rechits) { - LocalPoint RecHitLocalPosition = rechit.localPosition(); - auto detid = RecHitTrait.detid(rechit); + LocalPoint recHitLocalPosition = rechit.localPosition(); + auto detid = recHitTrait.detid(rechit); auto thischamber = geo.chamber(detid); if (thischamber) { - GlobalPoint globalPosition = thischamber->toGlobal(RecHitLocalPosition); + GlobalPoint globalPosition = thischamber->toGlobal(recHitLocalPosition); float x = globalPosition.x(); float y = globalPosition.y(); float z = globalPosition.z(); RechitRef ref = RechitRef(&rechits, recIt); - inputs_.push_back(ref); + inputs.push_back(ref); fjInput.push_back(fastjet::PseudoJet(x, y, z, globalPosition.mag())); fjInput.back().set_user_index(recIt); } @@ -107,56 +111,51 @@ void RechitClusterProducerT::produce(edm::StreamID, edm::Event& ev, const //keep all the clusters double ptmin = 0.0; - std::vector fjJets = fastjet::sorted_by_pt(clus_seq.inclusive_jets(ptmin)); + std::vector fjJets = clus_seq.inclusive_jets(ptmin); auto clusters = std::make_unique(); - if (!fjJets.empty()) { - for (unsigned int ijet = 0; ijet < fjJets.size(); ++ijet) { - // get the fastjet jet - const fastjet::PseudoJet& fjJet = fjJets[ijet]; - - // skip if the cluster has too few rechits - if (int(fjJet.constituents().size()) < nRechitMin_) - continue; - // get the constituents from fastjet - RecHitRefVector rechits; - for (unsigned int i = 0; i < fjJet.constituents().size(); i++) { - auto index = fjJet.constituents()[i].user_index(); - if (index >= 0 && static_cast(index) < inputs_.size()) { - rechits.push_back(inputs_[index]); - } + for (auto const& fjJet : fjJets) { + // skip if the cluster has too few rechits + if (int(fjJet.constituents().size()) < nRechitMin_) + continue; + // get the constituents from fastjet + RecHitRefVector rechits; + for (auto const& constituent : fjJet.constituents()) { + auto index = constituent.user_index(); + if (index >= 0 && static_cast(index) < inputs.size()) { + rechits.push_back(inputs[index]); } + } - //Derive cluster properties - int nStation = 0; - int totStation = 0; - float avgStation = 0.0; - std::map station_count_map; - for (auto& rechit : rechits) { - station_count_map[RecHitTrait.station(*rechit)]++; - } - //station statistics - std::map::iterator it; - for (auto const& [station, count] : station_count_map) { - if (count >= nStationThres_) { - nStation++; - avgStation += (station) * (count); - totStation += (count); - } - } - if (totStation != 0) { - avgStation = avgStation / totStation; + //Derive cluster properties + int nStation = 0; + int totStation = 0; + float avgStation = 0.0; + std::map station_count_map; + for (auto const& rechit : rechits) { + station_count_map[recHitTrait.station(*rechit)]++; + } + //station statistics + std::map::iterator it; + for (auto const& [station, count] : station_count_map) { + if (count >= nStationThres_) { + nStation++; + avgStation += station * count; + totStation += count; } - float invN = 1.f / rechits.size(); - // cluster position is the average position of the constituent rechits - float jetX = fjJet.px() * invN; - float jetY = fjJet.py() * invN; - float jetZ = fjJet.pz() * invN; - - math::RhoEtaPhiVectorF position( - std::sqrt(jetX * jetX + jetY * jetY), etaFromXYZ(jetX, jetY, jetZ), std::atan2(jetY, jetX)); - Trait::emplace_back(clusters.get(), position, nStation, avgStation, rechits); } + if (totStation != 0) { + avgStation = avgStation / totStation; + } + float invN = 1.f / rechits.size(); + // cluster position is the average position of the constituent rechits + float jetX = fjJet.px() * invN; + float jetY = fjJet.py() * invN; + float jetZ = fjJet.pz() * invN; + + math::RhoEtaPhiVectorF position( + std::sqrt(jetX * jetX + jetY * jetY), etaFromXYZ(jetX, jetY, jetZ), std::atan2(jetY, jetX)); + Trait::emplace_back(clusters.get(), position, nStation, avgStation, rechits); } ev.put(std::move(clusters)); } @@ -177,7 +176,7 @@ struct DTRecHitTrait { using RecHitRef = edm::Ref; using RecHitRefVector = edm::RefVector; static std::string recHitLabel() { return "dt1DRecHits"; } - static std::string producerName() { return "DTrechitClusterProducer"; } + static std::string producerName() { return "dtRechitClusterProducer"; } static int station(const DTRecHit1DPair& dtRechit) { return detid(dtRechit).station(); } static DTChamberId detid(const DTRecHit1DPair& dtRechit) { @@ -193,7 +192,7 @@ struct DTRecHitTrait { // compute nMB1, nMB2 int nMB1 = 0; int nMB2 = 0; - for (auto& rechit : rechits) { + for (auto const& rechit : rechits) { DetId geoid = rechit->geographicalId(); DTChamberId dtdetid = DTChamberId(geoid); if (dtdetid.station() == 1) @@ -213,7 +212,7 @@ struct CSCRecHitTrait { using RecHitRef = edm::Ref; using RecHitRefVector = edm::RefVector; static std::string recHitLabel() { return "csc2DRecHits"; } - static std::string producerName() { return "CSCrechitClusterProducer"; } + static std::string producerName() { return "cscRechitClusterProducer"; } static int station(const CSCRecHit2D& cscRechit) { return CSCDetId::station(detid(cscRechit)); } static CSCDetId detid(const CSCRecHit2D& cscRechit) { return cscRechit.cscDetId(); } @@ -229,7 +228,7 @@ struct CSCRecHitTrait { float timeSpread = 0.0; float time = 0.0; float time_strip = 0.0; // for timeSpread calculation - for (auto& rechit : rechits) { + for (auto const& rechit : rechits) { CSCDetId cscdetid = rechit->cscDetId(); int stationRing = (CSCDetId::station(cscdetid) * 10 + CSCDetId::ring(cscdetid)); if (CSCDetId::ring(cscdetid) == 4) diff --git a/RecoMuon/MuonRechitClusterProducer/python/rechitCluster_cff.py b/RecoMuon/MuonRechitClusterProducer/python/rechitCluster_cff.py index f4dc69e7f77c8..bdc5ebd08aca1 100644 --- a/RecoMuon/MuonRechitClusterProducer/python/rechitCluster_cff.py +++ b/RecoMuon/MuonRechitClusterProducer/python/rechitCluster_cff.py @@ -1,15 +1,15 @@ import FWCore.ParameterSet.Config as cms -import RecoMuon.MuonRechitClusterProducer.CSCrechitClusterProducer_cfi as CSCcluster -import RecoMuon.MuonRechitClusterProducer.DTrechitClusterProducer_cfi as DTcluster +import RecoMuon.MuonRechitClusterProducer.cscRechitClusterProducer_cfi as CSCcluster +import RecoMuon.MuonRechitClusterProducer.dtRechitClusterProducer_cfi as DTcluster -ca4CSCrechitClusters= CSCcluster.CSCrechitClusterProducer.clone( +ca4CSCrechitClusters= CSCcluster.cscRechitClusterProducer.clone( recHitLabel = "csc2DRecHits", nRechitMin = 50, rParam = 0.4, nStationThres = 10, ) -ca4DTrechitClusters = DTcluster.DTrechitClusterProducer.clone( +ca4DTrechitClusters = DTcluster.dtRechitClusterProducer.clone( recHitLabel = "dt1DRecHits", nRechitMin = 50, rParam = 0.4, From 6dfdb695bbdfe3dc30fe3fbb9b986a971b249f68 Mon Sep 17 00:00:00 2001 From: Javier Date: Sat, 27 Nov 2021 19:17:12 +0100 Subject: [PATCH 185/268] Fixed range in vector --- DQM/PixelLumi/plugins/PixelLumiDQM.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DQM/PixelLumi/plugins/PixelLumiDQM.cc b/DQM/PixelLumi/plugins/PixelLumiDQM.cc index 6ce7046875a7e..a1bf7283a546f 100644 --- a/DQM/PixelLumi/plugins/PixelLumiDQM.cc +++ b/DQM/PixelLumi/plugins/PixelLumiDQM.cc @@ -550,7 +550,7 @@ void PixelLumiDQM::endLuminosityBlock(edm::LuminosityBlock const &lumiBlock, edm unsigned int PixelLumiDQM::calculateBunchMask(MonitorElement *e, std::vector &mask) { unsigned int nbins = e->getNbinsX(); - std::vector ar(nbins, 0.); + std::vector ar(nbins+1, 0.); for (unsigned int i = 1; i <= nbins; i++) { ar[i] = e->getBinContent(i); } From cadde1871a899791c19faee6d48e2539e5cec5e2 Mon Sep 17 00:00:00 2001 From: Javier Date: Sat, 27 Nov 2021 19:30:46 +0100 Subject: [PATCH 186/268] code format --- DQM/DTMonitorClient/src/DTOccupancyTestML.cc | 4 ++-- DQM/PixelLumi/plugins/PixelLumiDQM.cc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DQM/DTMonitorClient/src/DTOccupancyTestML.cc b/DQM/DTMonitorClient/src/DTOccupancyTestML.cc index 63663f4529678..87c5d4b13950a 100644 --- a/DQM/DTMonitorClient/src/DTOccupancyTestML.cc +++ b/DQM/DTMonitorClient/src/DTOccupancyTestML.cc @@ -355,8 +355,8 @@ std::vector DTOccupancyTestML::interpolateLayers(std::vector const float step = static_cast(size) / targetSize; std::vector reshapedInput(targetSize); - int limitInLoop=inputs.size(); - limitInLoop = std::min(limitInLoop,targetSize)-1; + int limitInLoop = inputs.size(); + limitInLoop = std::min(limitInLoop, targetSize) - 1; for (int i = 0; i < limitInLoop; i++) { interpolationFloor = static_cast(std::floor(interpolationPoint)); // Interpolating here diff --git a/DQM/PixelLumi/plugins/PixelLumiDQM.cc b/DQM/PixelLumi/plugins/PixelLumiDQM.cc index a1bf7283a546f..4495ebe6a11ac 100644 --- a/DQM/PixelLumi/plugins/PixelLumiDQM.cc +++ b/DQM/PixelLumi/plugins/PixelLumiDQM.cc @@ -550,7 +550,7 @@ void PixelLumiDQM::endLuminosityBlock(edm::LuminosityBlock const &lumiBlock, edm unsigned int PixelLumiDQM::calculateBunchMask(MonitorElement *e, std::vector &mask) { unsigned int nbins = e->getNbinsX(); - std::vector ar(nbins+1, 0.); + std::vector ar(nbins + 1, 0.); for (unsigned int i = 1; i <= nbins; i++) { ar[i] = e->getBinContent(i); } From f281b0bf8af8a664c802669b09b0dcb7dacb02bb Mon Sep 17 00:00:00 2001 From: Sunanda Date: Sun, 28 Nov 2021 18:10:57 +0100 Subject: [PATCH 187/268] Avoid deletion of pointers by making use of unqique_ptr in Validation/HcalHits --- .../HcalHits/src/SimG4HcalValidation.cc | 32 ++++++------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/Validation/HcalHits/src/SimG4HcalValidation.cc b/Validation/HcalHits/src/SimG4HcalValidation.cc index f6a339743657f..1f341503c45cd 100644 --- a/Validation/HcalHits/src/SimG4HcalValidation.cc +++ b/Validation/HcalHits/src/SimG4HcalValidation.cc @@ -84,13 +84,13 @@ class SimG4HcalValidation : public SimProducer, edm::ESGetToken ddconsToken_; // Keep parameters to instantiate Jet finder later - SimG4HcalHitJetFinder *jetf; + std::unique_ptr jetf; // Keep reference to instantiate HcalNumberingFromDDD later - HcalNumberingFromDDD *numberingFromDDD; + std::unique_ptr numberingFromDDD; // Keep parameters to instantiate HcalTestNumberingScheme later - HcalTestNumberingScheme *org; + std::unique_ptr org; // Hit cache for cluster analysis std::vector hitcache; // e, eta, phi, time, layer, calo type @@ -120,8 +120,7 @@ class SimG4HcalValidation : public SimProducer, double vhitec, vhithc, enEcal, enHcal; }; -SimG4HcalValidation::SimG4HcalValidation(const edm::ParameterSet &p) - : jetf(nullptr), numberingFromDDD(nullptr), org(nullptr) { +SimG4HcalValidation::SimG4HcalValidation(const edm::ParameterSet &p) { edm::ParameterSet m_Anal = p.getParameter("SimG4HcalValidation"); infolevel = m_Anal.getParameter("InfoLevel"); hcalOnly = m_Anal.getParameter("HcalClusterOnly"); @@ -159,18 +158,7 @@ SimG4HcalValidation::SimG4HcalValidation(const edm::ParameterSet &p) SimG4HcalValidation::~SimG4HcalValidation() { edm::LogVerbatim("ValidHcal") << "\n --------> Total number of selected entries" - << " : " << count << "\nPointers:: JettFinder " << jetf << ", Numbering Scheme " << org - << " and FromDDD " << numberingFromDDD; - if (jetf) { - edm::LogVerbatim("ValidHcal") << "Delete Jetfinder"; - delete jetf; - jetf = nullptr; - } - if (numberingFromDDD) { - edm::LogVerbatim("ValidHcal") << "Delete HcalNumberingFromDDD"; - delete numberingFromDDD; - numberingFromDDD = nullptr; - } + << " : " << count; } void SimG4HcalValidation::registerConsumes(edm::ConsumesCollector cc) { @@ -223,7 +211,7 @@ void SimG4HcalValidation::init() { } // jetfinder conse size setting - jetf = new SimG4HcalHitJetFinder(coneSize); + jetf = std::make_unique(coneSize); // counter count = 0; @@ -233,10 +221,10 @@ void SimG4HcalValidation::beginRun(edm::EventSetup const &es) { // Numbering From DDD const HcalDDDSimConstants *hcons = &es.getData(ddconsToken_); edm::LogVerbatim("ValidHcal") << "HcalTestAnalysis:: Initialise HcalNumberingFromDDD"; - numberingFromDDD = new HcalNumberingFromDDD(hcons); + numberingFromDDD = std::make_unique(hcons); // Numbering scheme - org = new HcalTestNumberingScheme(false); + org = std::make_unique(false); } void SimG4HcalValidation::update(const BeginOfRun *run) { @@ -256,8 +244,8 @@ void SimG4HcalValidation::update(const BeginOfRun *run) { HCalSD *theCaloSD = dynamic_cast(aSD); edm::LogVerbatim("ValidHcal") << "SimG4HcalValidation::beginOfRun: Finds SD with name " << theCaloSD->GetName() << " in this Setup"; - if (org) { - theCaloSD->setNumberingScheme(org); + if (org.get()) { + theCaloSD->setNumberingScheme(org.get()); edm::LogVerbatim("ValidHcal") << "SimG4HcalValidation::beginOfRun: set a new numbering scheme"; } } From 6240a81e6db793388763d9c19eca2781a518cf44 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Sun, 28 Nov 2021 20:42:44 +0100 Subject: [PATCH 188/268] Use ESGetToken in the SimWatcher classes of SimG4Core/PrintGeomInfo --- .../plugins/PrintGeomInfoAction.cc | 36 +++++++++------ .../PrintGeomInfo/plugins/PrintGeomSolids.cc | 4 +- .../PrintGeomInfo/plugins/PrintGeomSummary.cc | 46 ++++++++++--------- .../test/python/g4OverlapCheckBigXML_cfg.py | 4 +- .../test/python/g4OverlapCheck_cfg.py | 4 +- .../test/python/runDDDBigXML_cfg.py | 4 +- .../PrintGeomInfo/test/python/runDDDDB_cfg.py | 4 +- .../test/python/runDDDXML_cfg.py | 4 +- .../test/python/runMaterialBudgeInfo_cfg.py | 4 +- .../test/python/runPrintSolid_cfg.py | 4 +- .../PrintGeomInfo/test/python/runSens_cfg.py | 4 +- .../test/python/runSummary_cfg.py | 4 +- 12 files changed, 66 insertions(+), 56 deletions(-) diff --git a/SimG4Core/PrintGeomInfo/plugins/PrintGeomInfoAction.cc b/SimG4Core/PrintGeomInfo/plugins/PrintGeomInfoAction.cc index 310773729535b..bb93ffc2068c0 100644 --- a/SimG4Core/PrintGeomInfo/plugins/PrintGeomInfoAction.cc +++ b/SimG4Core/PrintGeomInfo/plugins/PrintGeomInfoAction.cc @@ -1,10 +1,8 @@ -#include "SimG4Core/Notification/interface/BeginOfJob.h" #include "SimG4Core/Notification/interface/BeginOfRun.h" #include "SimG4Core/Notification/interface/Observer.h" #include "SimG4Core/Watcher/interface/SimWatcher.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESTransientHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "DataFormats/Math/interface/angle_units.h" #include "Geometry/Records/interface/IdealGeometryRecord.h" @@ -44,16 +42,16 @@ using angle_units::operators::convertRadToDeg; typedef std::multimap > mmlvpv; -class PrintGeomInfoAction : public SimWatcher, - public Observer, - public Observer { +class PrintGeomInfoAction : public SimWatcher, public Observer { public: PrintGeomInfoAction(edm::ParameterSet const &p); - ~PrintGeomInfoAction() override; + ~PrintGeomInfoAction() override = default; + + void registerConsumes(edm::ConsumesCollector) override; + void beginRun(edm::EventSetup const &) override; private: - void update(const BeginOfJob *job) override; - void update(const BeginOfRun *run) override; + void update(const BeginOfRun* run) override; void dumpSummary(std::ostream &out = G4cout); void dumpG4LVList(std::ostream &out = G4cout); void dumpG4LVTree(std::ostream &out = G4cout); @@ -74,6 +72,9 @@ class PrintGeomInfoAction : public SimWatcher, G4LogicalVolume *getTopLV(); private: + edm::ESGetToken dd4hepToken_; + edm::ESGetToken dddToken_; + bool dumpSummary_, dumpLVTree_, dumpLVList_, dumpMaterial_; bool dumpLV_, dumpSolid_, dumpAtts_, dumpPV_; bool dumpRotation_, dumpReplica_, dumpTouch_; @@ -128,13 +129,20 @@ PrintGeomInfoAction::PrintGeomInfoAction(const edm::ParameterSet &p) { G4cout << G4endl; } -PrintGeomInfoAction::~PrintGeomInfoAction() {} +void PrintGeomInfoAction::registerConsumes(edm::ConsumesCollector cc) { + if (dd4hep_) { + dd4hepToken_ = cc.esConsumes(); + G4cout << "PrintGeomInfoAction::Initialize ESGetToken for cms::DDCompactView" << G4endl; + } else { + dddToken_ = cc.esConsumes(); + G4cout << "PrintGeomInfoAction::Initialize ESGetToken for DDCompactView" << G4endl; + } +} -void PrintGeomInfoAction::update(const BeginOfJob *job) { +void PrintGeomInfoAction::beginRun(edm::EventSetup const &es) { if (dumpSense_) { if (dd4hep_) { - edm::ESTransientHandle pDD; - (*job)()->get().get(pDD); + const cms::DDCompactView* pDD = &es.getData(dd4hepToken_); G4cout << "PrintGeomInfoAction::Get Printout of Sensitive Volumes " << "for " << names_.size() << " Readout Units" << G4endl; @@ -160,8 +168,7 @@ void PrintGeomInfoAction::update(const BeginOfJob *job) { } } } else { - edm::ESTransientHandle pDD; - (*job)()->get().get(pDD); + const DDCompactView* pDD = &es.getData(dddToken_); G4cout << "PrintGeomInfoAction::Get Printout of Sensitive Volumes " << "for " << names_.size() << " Readout Units" << G4endl; @@ -196,6 +203,7 @@ void PrintGeomInfoAction::update(const BeginOfJob *job) { } void PrintGeomInfoAction::update(const BeginOfRun *run) { + //Now take action theTopPV_ = getTopPV(); if (dumpSummary_) diff --git a/SimG4Core/PrintGeomInfo/plugins/PrintGeomSolids.cc b/SimG4Core/PrintGeomInfo/plugins/PrintGeomSolids.cc index 9b615cee1d568..1b20c1ecb0928 100644 --- a/SimG4Core/PrintGeomInfo/plugins/PrintGeomSolids.cc +++ b/SimG4Core/PrintGeomInfo/plugins/PrintGeomSolids.cc @@ -58,7 +58,7 @@ void PrintGeomSolids::fillDescriptions(edm::ConfigurationDescriptions& descripti void PrintGeomSolids::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { int solids(0); if (fromDD4hep_) { - edm::ESTransientHandle cpv = iSetup.getTransientHandle(cpvTokenDD4hep_); + const cms::DDCompactView* cpv = &iSetup.getData(cpvTokenDD4hep_); const cms::DDDetector* det = cpv->detector(); TGeoManager const& geom = det->description()->manager(); TGeoIterator next(geom.GetTopVolume()); @@ -77,7 +77,7 @@ void PrintGeomSolids::analyze(const edm::Event& iEvent, const edm::EventSetup& i } } else { - edm::ESTransientHandle cpv = iSetup.getTransientHandle(cpvTokenDDD_); + const DDCompactView* cpv = &iSetup.getData(cpvTokenDDD_); const auto& gra = cpv->graph(); for (DDCompactView::Graph::const_adj_iterator git = gra.begin(); git != gra.end(); ++git) { const DDLogicalPart& ddLP = gra.nodeData(git); diff --git a/SimG4Core/PrintGeomInfo/plugins/PrintGeomSummary.cc b/SimG4Core/PrintGeomInfo/plugins/PrintGeomSummary.cc index 7a839100e5ca6..a2c106c1ef770 100644 --- a/SimG4Core/PrintGeomInfo/plugins/PrintGeomSummary.cc +++ b/SimG4Core/PrintGeomInfo/plugins/PrintGeomSummary.cc @@ -1,10 +1,8 @@ -#include "SimG4Core/Notification/interface/BeginOfJob.h" #include "SimG4Core/Notification/interface/BeginOfRun.h" #include "SimG4Core/Notification/interface/Observer.h" #include "SimG4Core/Watcher/interface/SimWatcher.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESTransientHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "Geometry/Records/interface/IdealGeometryRecord.h" #include "DetectorDescription/Core/interface/DDCompactView.h" @@ -36,13 +34,15 @@ #include #include -class PrintGeomSummary : public SimWatcher, public Observer, public Observer { +class PrintGeomSummary : public SimWatcher, public Observer { public: PrintGeomSummary(edm::ParameterSet const& p); - ~PrintGeomSummary() override; + ~PrintGeomSummary() override = default; + + void registerConsumes(edm::ConsumesCollector) override; + void beginRun(edm::EventSetup const &) override; private: - void update(const BeginOfJob* job) override; void update(const BeginOfRun* run) override; void addSolid(const DDLogicalPart& part); void fillLV(G4LogicalVolume* lv); @@ -53,6 +53,7 @@ class PrintGeomSummary : public SimWatcher, public Observer, void printSummary(std::ostream& out); private: + edm::ESGetToken ddcompToken_; std::vector nodeNames_; std::map solidShape_; std::map solidMap_; @@ -92,12 +93,13 @@ PrintGeomSummary::PrintGeomSummary(const edm::ParameterSet& p) : theTopPV_(nullp solidShape_[DDSolidShape::dd_not_init] = "Unknown"; } -PrintGeomSummary::~PrintGeomSummary() {} +void PrintGeomSummary::registerConsumes(edm::ConsumesCollector cc) { + ddcompToken_ = cc.esConsumes(); + G4cout << "PrintGeomSummary::Initialize ESGetToken for DDCompactView" << G4endl; +} -void PrintGeomSummary::update(const BeginOfJob* job) { - edm::ESTransientHandle pDD; - (*job)()->get().get(pDD); - const DDCompactView* cpv = &(*pDD); +void PrintGeomSummary::beginRun(edm::EventSetup const &es) { + const DDCompactView* cpv = &es.getData(ddcompToken_ ); const auto& gra = cpv->graph(); @@ -120,18 +122,7 @@ void PrintGeomSummary::update(const BeginOfJob* job) { } G4cout << "Finds " << solidMap_.size() << " different solids in the tree" << G4endl; } - -void PrintGeomSummary::addSolid(const DDLogicalPart& part) { - const DDSolid& solid = part.solid(); - std::map::iterator it = solidShape_.find(solid.shape()); - std::string name = solid.name().name(); - if (it == solidShape_.end()) - solidMap_[name] = DDSolidShape::dd_not_init; - else - solidMap_[name] = it->first; - //G4cout << "Solid " << name << " is of shape " << solidMap_[name] << G4endl; -} - + void PrintGeomSummary::update(const BeginOfRun* run) { theTopPV_ = getTopPV(); if (theTopPV_) { @@ -171,6 +162,17 @@ void PrintGeomSummary::update(const BeginOfRun* run) { } } +void PrintGeomSummary::addSolid(const DDLogicalPart& part) { + const DDSolid& solid = part.solid(); + std::map::iterator it = solidShape_.find(solid.shape()); + std::string name = solid.name().name(); + if (it == solidShape_.end()) + solidMap_[name] = DDSolidShape::dd_not_init; + else + solidMap_[name] = it->first; + //G4cout << "Solid " << name << " is of shape " << solidMap_[name] << G4endl; +} + void PrintGeomSummary::fillLV(G4LogicalVolume* lv) { if (std::find(lvs_.begin(), lvs_.end(), lv) == lvs_.end()) lvs_.push_back(lv); diff --git a/SimG4Core/PrintGeomInfo/test/python/g4OverlapCheckBigXML_cfg.py b/SimG4Core/PrintGeomInfo/test/python/g4OverlapCheckBigXML_cfg.py index 02a427bc5db68..9c7e6a210c17c 100644 --- a/SimG4Core/PrintGeomInfo/test/python/g4OverlapCheckBigXML_cfg.py +++ b/SimG4Core/PrintGeomInfo/test/python/g4OverlapCheckBigXML_cfg.py @@ -1,8 +1,8 @@ import FWCore.ParameterSet.Config as cms import FWCore.ParameterSet.VarParsing as VarParsing -from Configuration.Eras.Era_Run3_cff import Run3 -process = cms.Process('SIM',Run3) +from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD +process = cms.Process('SIM',Run3_DDD) process.load('SimG4Core.PrintGeomInfo.cmsExtendedGeometry2021_cfi') process.load("Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cff") process.load("Geometry.EcalCommonData.ecalSimulationParameters_cff") diff --git a/SimG4Core/PrintGeomInfo/test/python/g4OverlapCheck_cfg.py b/SimG4Core/PrintGeomInfo/test/python/g4OverlapCheck_cfg.py index 81d6b5789a228..d4aa9c6853a96 100644 --- a/SimG4Core/PrintGeomInfo/test/python/g4OverlapCheck_cfg.py +++ b/SimG4Core/PrintGeomInfo/test/python/g4OverlapCheck_cfg.py @@ -7,8 +7,8 @@ #process.load('Configuration.Geometry.GeometryExtended2015Reco_cff') #process.load('Configuration.Geometry.GeometryExtended2017Reco_cff') -from Configuration.Eras.Era_Run3_cff import Run3 -process = cms.Process('SIM',Run3) +from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD +process = cms.Process('SIM',Run3_DDD) process.load('Configuration.Geometry.GeometryExtended2021Reco_cff') process.load('FWCore.MessageService.MessageLogger_cfi') diff --git a/SimG4Core/PrintGeomInfo/test/python/runDDDBigXML_cfg.py b/SimG4Core/PrintGeomInfo/test/python/runDDDBigXML_cfg.py index 26d9255eddaaa..d70210deec354 100644 --- a/SimG4Core/PrintGeomInfo/test/python/runDDDBigXML_cfg.py +++ b/SimG4Core/PrintGeomInfo/test/python/runDDDBigXML_cfg.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms -from Configuration.Eras.Era_Run3_cff import Run3 -process = cms.Process('G4PrintGeometry',Run3) +from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD +process = cms.Process('G4PrintGeometry',Run3_DDD) process.load('SimG4Core.PrintGeomInfo.cmsExtendedGeometry2021_cfi') process.load("Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cff") process.load("Geometry.EcalCommonData.ecalSimulationParameters_cff") diff --git a/SimG4Core/PrintGeomInfo/test/python/runDDDDB_cfg.py b/SimG4Core/PrintGeomInfo/test/python/runDDDDB_cfg.py index 14b720bf108c0..021a3eaf16369 100644 --- a/SimG4Core/PrintGeomInfo/test/python/runDDDDB_cfg.py +++ b/SimG4Core/PrintGeomInfo/test/python/runDDDDB_cfg.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms -from Configuration.Eras.Era_Run3_cff import Run3 -process = cms.Process('G4PrintGeometry',Run3) +from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD +process = cms.Process('G4PrintGeometry',Run3_DDD) process.load('Configuration.StandardSequences.GeometryRecoDB_cff') process.load('Configuration.StandardSequences.GeometrySimDB_cff') process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') diff --git a/SimG4Core/PrintGeomInfo/test/python/runDDDXML_cfg.py b/SimG4Core/PrintGeomInfo/test/python/runDDDXML_cfg.py index b72ebf1cf3db0..9963707031c50 100644 --- a/SimG4Core/PrintGeomInfo/test/python/runDDDXML_cfg.py +++ b/SimG4Core/PrintGeomInfo/test/python/runDDDXML_cfg.py @@ -5,8 +5,8 @@ #process.load('Configuration.Geometry.GeometryExtended2015Reco_cff') #process.load('Configuration.Geometry.GeometryExtended2017Reco_cff') -from Configuration.Eras.Era_Run3_cff import Run3 -process = cms.Process('G4PrintGeometry',Run3) +from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD +process = cms.Process('G4PrintGeometry',Run3_DDD) process.load('Configuration.Geometry.GeometryExtended2021Reco_cff') #from Configuration.Eras.Era_Phase2C11_cff import Phase2C11 diff --git a/SimG4Core/PrintGeomInfo/test/python/runMaterialBudgeInfo_cfg.py b/SimG4Core/PrintGeomInfo/test/python/runMaterialBudgeInfo_cfg.py index bb51c83453fc0..5347263aeacf2 100644 --- a/SimG4Core/PrintGeomInfo/test/python/runMaterialBudgeInfo_cfg.py +++ b/SimG4Core/PrintGeomInfo/test/python/runMaterialBudgeInfo_cfg.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms -from Configuration.Eras.Era_Run3_cff import Run3 -process = cms.Process("PrintMaterialBudget",Run3) +from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD +process = cms.Process("PrintMaterialBudget",Run3_DDD) process.load('Configuration.Geometry.GeometryExtended2021Reco_cff') #from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep diff --git a/SimG4Core/PrintGeomInfo/test/python/runPrintSolid_cfg.py b/SimG4Core/PrintGeomInfo/test/python/runPrintSolid_cfg.py index bb9e7a06455f3..85d94b987544c 100644 --- a/SimG4Core/PrintGeomInfo/test/python/runPrintSolid_cfg.py +++ b/SimG4Core/PrintGeomInfo/test/python/runPrintSolid_cfg.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms -from Configuration.Eras.Era_Run3_cff import Run3 -process = cms.Process('G4PrintGeometry',Run3) +from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD +process = cms.Process('G4PrintGeometry',Run3_DDD) process.load('Configuration.Geometry.GeometryExtended2021Reco_cff') #from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep diff --git a/SimG4Core/PrintGeomInfo/test/python/runSens_cfg.py b/SimG4Core/PrintGeomInfo/test/python/runSens_cfg.py index 9b29754b4e39b..c3c161f1d77db 100644 --- a/SimG4Core/PrintGeomInfo/test/python/runSens_cfg.py +++ b/SimG4Core/PrintGeomInfo/test/python/runSens_cfg.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms -from Configuration.Eras.Era_Run3_cff import Run3 -process = cms.Process('PrintGeometry',Run3) +from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD +process = cms.Process('PrintGeometry',Run3_DDD) process.load('Configuration.Geometry.GeometryExtended2021Reco_cff') #from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep diff --git a/SimG4Core/PrintGeomInfo/test/python/runSummary_cfg.py b/SimG4Core/PrintGeomInfo/test/python/runSummary_cfg.py index d29709419a4ad..54bf33112d7f4 100644 --- a/SimG4Core/PrintGeomInfo/test/python/runSummary_cfg.py +++ b/SimG4Core/PrintGeomInfo/test/python/runSummary_cfg.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms -from Configuration.Eras.Era_Run3_cff import Run3 -process = cms.Process('PrintGeometry',Run3) +from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD +process = cms.Process('PrintGeometry',Run3_DDD) process.load('Configuration.Geometry.GeometryExtended2021Reco_cff') #from Configuration.Eras.Era_Phase2C11_cff import Phase2C11 From 1dbca51ca69922fb2e0c53f9482fead8c4331bc4 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Sun, 28 Nov 2021 21:09:13 +0100 Subject: [PATCH 189/268] Code check --- SimG4Core/PrintGeomInfo/plugins/PrintGeomInfoAction.cc | 8 ++++---- SimG4Core/PrintGeomInfo/plugins/PrintGeomSummary.cc | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/SimG4Core/PrintGeomInfo/plugins/PrintGeomInfoAction.cc b/SimG4Core/PrintGeomInfo/plugins/PrintGeomInfoAction.cc index bb93ffc2068c0..86c450029458b 100644 --- a/SimG4Core/PrintGeomInfo/plugins/PrintGeomInfoAction.cc +++ b/SimG4Core/PrintGeomInfo/plugins/PrintGeomInfoAction.cc @@ -42,7 +42,7 @@ using angle_units::operators::convertRadToDeg; typedef std::multimap > mmlvpv; -class PrintGeomInfoAction : public SimWatcher, public Observer { +class PrintGeomInfoAction : public SimWatcher, public Observer { public: PrintGeomInfoAction(edm::ParameterSet const &p); ~PrintGeomInfoAction() override = default; @@ -51,7 +51,7 @@ class PrintGeomInfoAction : public SimWatcher, public Observer { ~PrintGeomSummary() override = default; void registerConsumes(edm::ConsumesCollector) override; - void beginRun(edm::EventSetup const &) override; + void beginRun(edm::EventSetup const&) override; private: void update(const BeginOfRun* run) override; @@ -98,8 +98,8 @@ void PrintGeomSummary::registerConsumes(edm::ConsumesCollector cc) { G4cout << "PrintGeomSummary::Initialize ESGetToken for DDCompactView" << G4endl; } -void PrintGeomSummary::beginRun(edm::EventSetup const &es) { - const DDCompactView* cpv = &es.getData(ddcompToken_ ); +void PrintGeomSummary::beginRun(edm::EventSetup const& es) { + const DDCompactView* cpv = &es.getData(ddcompToken_); const auto& gra = cpv->graph(); @@ -122,7 +122,7 @@ void PrintGeomSummary::beginRun(edm::EventSetup const &es) { } G4cout << "Finds " << solidMap_.size() << " different solids in the tree" << G4endl; } - + void PrintGeomSummary::update(const BeginOfRun* run) { theTopPV_ = getTopPV(); if (theTopPV_) { From 04b2f5b5cc41de2c40043a7738407eadb2b3381e Mon Sep 17 00:00:00 2001 From: "A.R.Sahasransu" Date: Mon, 29 Nov 2021 09:11:50 +0100 Subject: [PATCH 190/268] Add option for dimuon min-DeltaR cut in HLTMuonDimuonL3Filter --- .../Muon/plugins/HLTMuonDimuonL3Filter.cc | 69 +++++++++++-------- .../Muon/plugins/HLTMuonDimuonL3Filter.h | 48 ++++++------- 2 files changed, 65 insertions(+), 52 deletions(-) diff --git a/HLTrigger/Muon/plugins/HLTMuonDimuonL3Filter.cc b/HLTrigger/Muon/plugins/HLTMuonDimuonL3Filter.cc index 874914426e16f..5c969da1e8b4c 100644 --- a/HLTrigger/Muon/plugins/HLTMuonDimuonL3Filter.cc +++ b/HLTrigger/Muon/plugins/HLTMuonDimuonL3Filter.cc @@ -75,6 +75,9 @@ HLTMuonDimuonL3Filter::HLTMuonDimuonL3Filter(const edm::ParameterSet& iConfig) max_PtMin_(iConfig.getParameter >("MaxPtMin")), min_InvMass_(iConfig.getParameter >("MinInvMass")), max_InvMass_(iConfig.getParameter >("MaxInvMass")), + applyMinDiMuonDeltaR2Cut_(iConfig.getParameter("MinDiMuonDeltaR") > 0.), + min_DiMuonDeltaR2_(iConfig.getParameter("MinDiMuonDeltaR") * + iConfig.getParameter("MinDiMuonDeltaR")), min_Acop_(iConfig.getParameter("MinAcop")), max_Acop_(iConfig.getParameter("MaxAcop")), min_PtBalance_(iConfig.getParameter("MinPtBalance")), @@ -88,14 +91,42 @@ HLTMuonDimuonL3Filter::HLTMuonDimuonL3Filter(const edm::ParameterSet& iConfig) L1MatchingdR_(iConfig.getParameter("L1MatchingdR")), matchPreviousCand_(iConfig.getParameter("MatchToPreviousCand")), MuMass2_(0.106 * 0.106) { - LogDebug("HLTMuonDimuonL3Filter") << " CandTag/MinN/MaxEta/MinNhits/MaxDr/MaxDz/MinPt1/MinPt2/MinInvMass/MaxInvMass/" + // check consistency of parameters for mass-window cuts + if (min_InvMass_.size() != min_PtPair_.size()) { + throw cms::Exception("Configuration") << "size of \"MinInvMass\" (" << min_InvMass_.size() + << ") and \"MinPtPair\" (" << min_PtPair_.size() << ") differ"; + } + if (min_InvMass_.size() != max_PtPair_.size()) { + throw cms::Exception("Configuration") << "size of \"MinInvMass\" (" << min_InvMass_.size() + << ") and \"MaxPtPair\" (" << max_PtPair_.size() << ") differ"; + } + if (min_InvMass_.size() != min_PtMax_.size()) { + throw cms::Exception("Configuration") << "size of \"MinInvMass\" (" << min_InvMass_.size() << ") and \"MinPtMax\" (" + << min_PtMax_.size() << ") differ"; + } + if (min_InvMass_.size() != min_PtMin_.size()) { + throw cms::Exception("Configuration") << "size of \"MinInvMass\" (" << min_InvMass_.size() << ") and \"MinPtMin\" (" + << min_PtMin_.size() << ") differ"; + } + if (min_InvMass_.size() != max_PtMin_.size()) { + throw cms::Exception("Configuration") << "size of \"MinInvMass\" (" << min_InvMass_.size() << ") and \"MaxPtMin\" (" + << max_PtMin_.size() << ") differ"; + } + if (min_InvMass_.size() != max_InvMass_.size()) { + throw cms::Exception("Configuration") << "size of \"MinInvMass\" (" << min_InvMass_.size() + << ") and \"MaxInvMass\" (" << max_InvMass_.size() << ") differ"; + } + + LogDebug("HLTMuonDimuonL3Filter") << " CandTag/FastAccept/MinN/MaxEta/MinNhits/MaxDr/MaxDz/MinPt1/MinPt2/MinInvMass/" + "MaxInvMass/applyMinDiMuonDeltaRCut/MinDiMuonDeltaR" "MinAcop/MaxAcop/MinPtBalance/MaxPtBalance/NSigmaPt/MaxDzMuMu/MaxRapidityPair : " << candTag_.encode() << " " << fast_Accept_ << " " << min_N_ << " " << max_Eta_ << " " << min_Nhits_ << " " << max_Dr_ << " " << max_Dz_ << " " << chargeOpt_ << " " << Out(min_PtPair_) << " " << Out(min_PtMax_) << " " << Out(min_PtMin_) << " " - << Out(min_InvMass_) << " " << Out(max_InvMass_) << " " << min_Acop_ << " " - << max_Acop_ << " " << min_PtBalance_ << " " << max_PtBalance_ << " " << nsigma_Pt_ - << " " << max_DCAMuMu_ << " " << max_YPair_; + << Out(min_InvMass_) << " " << Out(max_InvMass_) << " " << applyMinDiMuonDeltaR2Cut_ + << " " << sqrt(min_DiMuonDeltaR2_) << " " << min_Acop_ << " " << max_Acop_ << " " + << min_PtBalance_ << " " << max_PtBalance_ << " " << nsigma_Pt_ << " " + << max_DCAMuMu_ << " " << max_YPair_; } HLTMuonDimuonL3Filter::~HLTMuonDimuonL3Filter() = default; @@ -138,6 +169,7 @@ void HLTMuonDimuonL3Filter::fillDescriptions(edm::ConfigurationDescriptions& des desc.add >("MaxPtMin", v5); desc.add >("MinInvMass", v6); desc.add >("MaxInvMass", v7); + desc.add("MinDiMuonDeltaR", -1.); desc.add("MinAcop", -1.0); desc.add("MaxAcop", 3.15); desc.add("MinPtBalance", -1.0); @@ -160,31 +192,6 @@ void HLTMuonDimuonL3Filter::fillDescriptions(edm::ConfigurationDescriptions& des bool HLTMuonDimuonL3Filter::hltFilter(edm::Event& iEvent, const edm::EventSetup& iSetup, trigger::TriggerFilterObjectWithRefs& filterproduct) const { - if (min_InvMass_.size() != min_PtPair_.size()) { - cout << "ERROR!!! Vector sizes don't match!" << endl; - return false; - } - if (min_InvMass_.size() != max_PtPair_.size()) { - cout << "ERROR!!! Vector sizes don't match!" << endl; - return false; - } - if (min_InvMass_.size() != min_PtMax_.size()) { - cout << "ERROR!!! Vector sizes don't match!" << endl; - return false; - } - if (min_InvMass_.size() != min_PtMin_.size()) { - cout << "ERROR!!! Vector sizes don't match!" << endl; - return false; - } - if (min_InvMass_.size() != max_PtMin_.size()) { - cout << "ERROR!!! Vector sizes don't match!" << endl; - return false; - } - if (min_InvMass_.size() != max_InvMass_.size()) { - cout << "ERROR!!! Vector sizes don't match!" << endl; - return false; - } - // All HLT filters must create and fill an HLT filter object, // recording any reconstructed physics objects satisfying (or not) // this HLT filter, and place it in the Event. @@ -595,6 +602,10 @@ bool HLTMuonDimuonL3Filter::applyDiMuonSelection(const RecoChargedCandidateRef& double pt12 = p.pt(); LogDebug("HLTMuonDimuonL3Filter") << " ... 1-2 pt12= " << pt12; + // Angle between the muons + if (applyMinDiMuonDeltaR2Cut_ and reco::deltaR2(p1, p2) < min_DiMuonDeltaR2_) + return false; + double ptLx1 = cand1->pt(); double ptLx2 = cand2->pt(); double invmass = abs(p.mass()); diff --git a/HLTrigger/Muon/plugins/HLTMuonDimuonL3Filter.h b/HLTrigger/Muon/plugins/HLTMuonDimuonL3Filter.h index a84b54119c1b8..a3d5a421b0a42 100644 --- a/HLTrigger/Muon/plugins/HLTMuonDimuonL3Filter.h +++ b/HLTrigger/Muon/plugins/HLTMuonDimuonL3Filter.h @@ -59,29 +59,31 @@ class HLTMuonDimuonL3Filter : public HLTFilter { const edm::InputTag recoMuTag_; // input tag identifying reco muons const edm::EDGetTokenT recoMuToken_; // token identifying product contains reco muons bool previousCandIsL2_; - bool fast_Accept_; // flag to save time: stop processing after identification of the first valid pair - int min_N_; // minimum number of muons to fire the trigger - double max_Eta_; // Eta cut - int min_Nhits_; // threshold on number of hits on muon - double max_Dr_; // impact parameter cut - double max_Dz_; // dz cut - int chargeOpt_; // Charge option (0:nothing; +1:same charge, -1:opposite charge) - std::vector min_PtPair_; // minimum Pt for the dimuon system - std::vector max_PtPair_; // miaximum Pt for the dimuon system - std::vector min_PtMax_; // minimum Pt for muon with max Pt in pair - std::vector min_PtMin_; // minimum Pt for muon with min Pt in pair - std::vector max_PtMin_; // maximum Pt for muon with min Pt in pair - std::vector min_InvMass_; // minimum invariant mass of pair - std::vector max_InvMass_; // maximum invariant mass of pair - double min_Acop_; // minimum acoplanarity - double max_Acop_; // maximum acoplanarity - double min_PtBalance_; // minimum Pt difference - double max_PtBalance_; // maximum Pt difference - double nsigma_Pt_; // pt uncertainty margin (in number of sigmas) - double max_DCAMuMu_; // DCA between the two muons - double max_YPair_; // |rapidity| of pair - bool cutCowboys_; ///< if true, reject muon-track pairs that bend towards each other - const edm::InputTag theL3LinksLabel; //Needed to iterL3 + const bool fast_Accept_; // flag to save time: stop processing after identification of the first valid pair + const int min_N_; // minimum number of muons to fire the trigger + const double max_Eta_; // Eta cut + const int min_Nhits_; // threshold on number of hits on muon + const double max_Dr_; // impact parameter cut + const double max_Dz_; // dz cut + const int chargeOpt_; // Charge option (0:nothing; +1:same charge, -1:opposite charge) + const std::vector min_PtPair_; // minimum Pt for the dimuon system + const std::vector max_PtPair_; // miaximum Pt for the dimuon system + const std::vector min_PtMax_; // minimum Pt for muon with max Pt in pair + const std::vector min_PtMin_; // minimum Pt for muon with min Pt in pair + const std::vector max_PtMin_; // maximum Pt for muon with min Pt in pair + const std::vector min_InvMass_; // minimum invariant mass of pair + const std::vector max_InvMass_; // maximum invariant mass of pair + const bool applyMinDiMuonDeltaR2Cut_; // apply cut on minimum Delta-R^2 distance between the muons + const double min_DiMuonDeltaR2_; // minimum Delta-R^2 distance between the muons + const double min_Acop_; // minimum acoplanarity + const double max_Acop_; // maximum acoplanarity + const double min_PtBalance_; // minimum Pt difference + const double max_PtBalance_; // maximum Pt difference + const double nsigma_Pt_; // pt uncertainty margin (in number of sigmas) + const double max_DCAMuMu_; // DCA between the two muons + const double max_YPair_; // |rapidity| of pair + const bool cutCowboys_; ///< if true, reject muon-track pairs that bend towards each other + const edm::InputTag theL3LinksLabel; //Needed to iterL3 const edm::EDGetTokenT linkToken_; //Needed to iterL3 const double L1MatchingdR_; const bool matchPreviousCand_; From 4cb6f4535c62fbf3eda498cf904d8c379dbed6a3 Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 29 Nov 2021 11:14:09 +0100 Subject: [PATCH 191/268] First version of nanoDQMIO content --- .../Core/python/nanoDQMIO_perLSoutput_cff.py | 305 +++++++++++++++++- 1 file changed, 303 insertions(+), 2 deletions(-) diff --git a/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py b/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py index 0bb609c36941b..8b205d8c745ec 100644 --- a/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py +++ b/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py @@ -19,8 +19,309 @@ MEsToSave = cms.untracked.vstring(*( #Using tuple to avoid python limit of 255 arguments #as suggested in: #https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuidePoolInputSources#Example_3_More_than_255_input_fi - 'Muons/MuonRecoAnalyzer/', #Folder and its subfolders - 'Muons/MuonIdDQM/GlobalMuons/hDT1Pullx' #particular ME + + #Examples: + #'Muons/MuonRecoAnalyzer/', #Folder and its subfolders + #'Muons/MuonIdDQM/GlobalMuons/hDT1Pullx' #particular ME + + #Version 0.1 for nanoDQMIO in CMSSW_12_1_0 ReReco of Pilot Test Runs taken in Autumn 2021 + + #ECAL + 'EcalBarrel/EBOccupancyTask/EBOT digi occupancy', + 'EcalEndcap/EEOccupancyTask/EEOT digi occupancy EE -', + 'EcalEndcap/EEOccupancyTask/EEOT digi occupancy EE +', + + #Muon POG + 'Muons/MuonRecoAnalyzer/', + 'Muons/MuonIdDQM/GlobalMuons/', + + #Tracker/Tracking + #2D (PixelPhase1) histograms: +'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusterposition_zphi_PXLayer_1', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusterposition_zphi_PXLayer_2', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusterposition_zphi_PXLayer_3', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusterposition_zphi_PXLayer_4', +'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_+1', +'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_+2', +'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_+3', +'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_-1', +'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_-2', +'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_-3', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusters_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_1', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusters_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_2', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusters_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_3', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusters_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_4', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/digi_occupancy_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_1', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/digi_occupancy_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_2', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/digi_occupancy_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_3', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/digi_occupancy_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_4', +'PixelPhase1/Phase1_MechanicalView/PXForward/clusters_per_SignedDiskCoord_per_SignedBladePanelCoord_PXRing_1', +'PixelPhase1/Phase1_MechanicalView/PXForward/clusters_per_SignedDiskCoord_per_SignedBladePanelCoord_PXRing_2', +'PixelPhase1/Phase1_MechanicalView/PXForward/digi_occupancy_per_SignedDiskCoord_per_SignedBladePanelCoord_PXRing_1', +'PixelPhase1/Phase1_MechanicalView/PXForward/digi_occupancy_per_SignedDiskCoord_per_SignedBladePanelCoord_PXRing_2', +'PixelPhase1/Tracks/PXBarrel/clusterposition_zphi_ontrack_PXLayer_1', +'PixelPhase1/Tracks/PXBarrel/clusterposition_zphi_ontrack_PXLayer_2', +'PixelPhase1/Tracks/PXBarrel/clusterposition_zphi_ontrack_PXLayer_3', +'PixelPhase1/Tracks/PXBarrel/clusterposition_zphi_ontrack_PXLayer_4', +'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_+1', +'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_+2', +'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_+3', +'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_-1', +'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_-2', +'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_-3', + +#1D (PixelPhase1) histograms: +'PixelPhase1/Phase1_MechanicalView/PXBarrel/charge_PXLayer_1', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/charge_PXLayer_2', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/charge_PXLayer_3', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/charge_PXLayer_4', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/size_PXLayer_1', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/size_PXLayer_2', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/size_PXLayer_3', +'PixelPhase1/Phase1_MechanicalView/PXBarrel/size_PXLayer_4', +'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_-1', +'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_-2', +'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_-3', +'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_+1', +'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_+2', +'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_+3', +'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_-1', +'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_-2', +'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_-3', +'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_+1', +'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_+2', +'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_+3', +'PixelPhase1/Tracks/num_clusters_ontrack_PXBarrel', +'PixelPhase1/Tracks/num_clusters_ontrack_PXForward', +'PixelPhase1/Tracks/PXBarrel/adc_PXLayer_1', +'PixelPhase1/Tracks/PXBarrel/adc_PXLayer_2', +'PixelPhase1/Tracks/PXBarrel/adc_PXLayer_3', +'PixelPhase1/Tracks/PXBarrel/adc_PXLayer_4', +'PixelPhase1/Tracks/PXBarrel/chargeInner_PXLayer_1', +'PixelPhase1/Tracks/PXBarrel/chargeInner_PXLayer_2', +'PixelPhase1/Tracks/PXBarrel/chargeInner_PXLayer_3', +'PixelPhase1/Tracks/PXBarrel/chargeInner_PXLayer_4', +'PixelPhase1/Tracks/PXBarrel/chargeOuter_PXLayer_1', +'PixelPhase1/Tracks/PXBarrel/chargeOuter_PXLayer_2', +'PixelPhase1/Tracks/PXBarrel/chargeOuter_PXLayer_3', +'PixelPhase1/Tracks/PXBarrel/chargeOuter_PXLayer_4', +'PixelPhase1/Tracks/PXBarrel/charge_PXLayer_1', +'PixelPhase1/Tracks/PXBarrel/charge_PXLayer_2', +'PixelPhase1/Tracks/PXBarrel/charge_PXLayer_3', +'PixelPhase1/Tracks/PXBarrel/charge_PXLayer_4', +'PixelPhase1/Tracks/PXBarrel/size_PXLayer_1', +'PixelPhase1/Tracks/PXBarrel/size_PXLayer_2', +'PixelPhase1/Tracks/PXBarrel/size_PXLayer_3', +'PixelPhase1/Tracks/PXBarrel/size_PXLayer_4', +'PixelPhase1/Tracks/PXForward/adc_PXDisk_+1', +'PixelPhase1/Tracks/PXForward/adc_PXDisk_+2', +'PixelPhase1/Tracks/PXForward/adc_PXDisk_+3', +'PixelPhase1/Tracks/PXForward/adc_PXDisk_-1', +'PixelPhase1/Tracks/PXForward/adc_PXDisk_-2', +'PixelPhase1/Tracks/PXForward/adc_PXDisk_-3', +'PixelPhase1/Tracks/PXForward/charge_PXDisk_-1', +'PixelPhase1/Tracks/PXForward/charge_PXDisk_-2', +'PixelPhase1/Tracks/PXForward/charge_PXDisk_-3', +'PixelPhase1/Tracks/PXForward/charge_PXDisk_+1', +'PixelPhase1/Tracks/PXForward/charge_PXDisk_+2', +'PixelPhase1/Tracks/PXForward/charge_PXDisk_+3', +'PixelPhase1/Tracks/PXForward/size_PXDisk_-1', +'PixelPhase1/Tracks/PXForward/size_PXDisk_-2', +'PixelPhase1/Tracks/PXForward/size_PXDisk_-3', +'PixelPhase1/Tracks/PXForward/size_PXDisk_+1', +'PixelPhase1/Tracks/PXForward/size_PXDisk_+2', +'PixelPhase1/Tracks/PXForward/size_PXDisk_+3', + +#1D (SiStrip) histograms: +'SiStrip/MechanicalView/MainDiagonal Position', +'SiStrip/MechanicalView/NumberOfClustersInPixel', +'SiStrip/MechanicalView/NumberOfClustersInStrip', +'SiStrip/MechanicalView/TEC/MINUS/wheel_1/NormalizedHitResiduals_TEC__wheel__1', +'SiStrip/MechanicalView/TEC/MINUS/wheel_1/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__1', +'SiStrip/MechanicalView/TEC/MINUS/wheel_2/NormalizedHitResiduals_TEC__wheel__2', +'SiStrip/MechanicalView/TEC/MINUS/wheel_2/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__2', +'SiStrip/MechanicalView/TEC/MINUS/wheel_3/NormalizedHitResiduals_TEC__wheel__3', +'SiStrip/MechanicalView/TEC/MINUS/wheel_3/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__3', +'SiStrip/MechanicalView/TEC/MINUS/wheel_4/NormalizedHitResiduals_TEC__wheel__4', +'SiStrip/MechanicalView/TEC/MINUS/wheel_4/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__4', +'SiStrip/MechanicalView/TEC/MINUS/wheel_5/NormalizedHitResiduals_TEC__wheel__5', +'SiStrip/MechanicalView/TEC/MINUS/wheel_5/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__5', +'SiStrip/MechanicalView/TEC/MINUS/wheel_6/NormalizedHitResiduals_TEC__wheel__6', +'SiStrip/MechanicalView/TEC/MINUS/wheel_6/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__6', +'SiStrip/MechanicalView/TEC/MINUS/wheel_7/NormalizedHitResiduals_TEC__wheel__7', +'SiStrip/MechanicalView/TEC/MINUS/wheel_7/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__7', +'SiStrip/MechanicalView/TEC/MINUS/wheel_8/NormalizedHitResiduals_TEC__wheel__8', +'SiStrip/MechanicalView/TEC/MINUS/wheel_8/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__8', +'SiStrip/MechanicalView/TEC/MINUS/wheel_9/NormalizedHitResiduals_TEC__wheel__9', +'SiStrip/MechanicalView/TEC/MINUS/wheel_9/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__9', +'SiStrip/MechanicalView/TEC/PLUS/wheel_1/NormalizedHitResiduals_TEC__wheel__1', +'SiStrip/MechanicalView/TEC/PLUS/wheel_1/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__1', +'SiStrip/MechanicalView/TEC/PLUS/wheel_2/NormalizedHitResiduals_TEC__wheel__2', +'SiStrip/MechanicalView/TEC/PLUS/wheel_2/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__2', +'SiStrip/MechanicalView/TEC/PLUS/wheel_3/NormalizedHitResiduals_TEC__wheel__3', +'SiStrip/MechanicalView/TEC/PLUS/wheel_3/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__3', +'SiStrip/MechanicalView/TEC/PLUS/wheel_4/NormalizedHitResiduals_TEC__wheel__4', +'SiStrip/MechanicalView/TEC/PLUS/wheel_4/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__4', +'SiStrip/MechanicalView/TEC/PLUS/wheel_5/NormalizedHitResiduals_TEC__wheel__5', +'SiStrip/MechanicalView/TEC/PLUS/wheel_5/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__5', +'SiStrip/MechanicalView/TEC/PLUS/wheel_6/NormalizedHitResiduals_TEC__wheel__6', +'SiStrip/MechanicalView/TEC/PLUS/wheel_6/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__6', +'SiStrip/MechanicalView/TEC/PLUS/wheel_7/NormalizedHitResiduals_TEC__wheel__7', +'SiStrip/MechanicalView/TEC/PLUS/wheel_7/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__7', +'SiStrip/MechanicalView/TEC/PLUS/wheel_8/NormalizedHitResiduals_TEC__wheel__8', +'SiStrip/MechanicalView/TEC/PLUS/wheel_8/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__8', +'SiStrip/MechanicalView/TEC/PLUS/wheel_9/NormalizedHitResiduals_TEC__wheel__9', +'SiStrip/MechanicalView/TEC/PLUS/wheel_9/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__9', +'SiStrip/MechanicalView/TIB/layer_1/NormalizedHitResiduals_TIB__Layer__1', +'SiStrip/MechanicalView/TIB/layer_1/Summary_ClusterStoNCorr__OnTrack__TIB__layer__1', +'SiStrip/MechanicalView/TIB/layer_2/NormalizedHitResiduals_TIB__Layer__2', +'SiStrip/MechanicalView/TIB/layer_2/Summary_ClusterStoNCorr__OnTrack__TIB__layer__2', +'SiStrip/MechanicalView/TIB/layer_3/NormalizedHitResiduals_TIB__Layer__3', +'SiStrip/MechanicalView/TIB/layer_3/Summary_ClusterStoNCorr__OnTrack__TIB__layer__3', +'SiStrip/MechanicalView/TIB/layer_4/NormalizedHitResiduals_TIB__Layer__4', +'SiStrip/MechanicalView/TIB/layer_4/Summary_ClusterStoNCorr__OnTrack__TIB__layer__4', +'SiStrip/MechanicalView/TID/MINUS/wheel_1/NormalizedHitResiduals_TID__wheel__1', +'SiStrip/MechanicalView/TID/MINUS/wheel_1/Summary_ClusterStoNCorr__OnTrack__TID__MINUS__wheel__1', +'SiStrip/MechanicalView/TID/MINUS/wheel_2/NormalizedHitResiduals_TID__wheel__2', +'SiStrip/MechanicalView/TID/MINUS/wheel_2/Summary_ClusterStoNCorr__OnTrack__TID__MINUS__wheel__2', +'SiStrip/MechanicalView/TID/MINUS/wheel_3/NormalizedHitResiduals_TID__wheel__3', +'SiStrip/MechanicalView/TID/MINUS/wheel_3/Summary_ClusterStoNCorr__OnTrack__TID__MINUS__wheel__3', +'SiStrip/MechanicalView/TID/PLUS/wheel_1/NormalizedHitResiduals_TID__wheel__1', +'SiStrip/MechanicalView/TID/PLUS/wheel_1/Summary_ClusterStoNCorr__OnTrack__TID__PLUS__wheel__1', +'SiStrip/MechanicalView/TID/PLUS/wheel_2/NormalizedHitResiduals_TID__wheel__2', +'SiStrip/MechanicalView/TID/PLUS/wheel_2/Summary_ClusterStoNCorr__OnTrack__TID__PLUS__wheel__2', +'SiStrip/MechanicalView/TID/PLUS/wheel_3/NormalizedHitResiduals_TID__wheel__3', +'SiStrip/MechanicalView/TID/PLUS/wheel_3/Summary_ClusterStoNCorr__OnTrack__TID__PLUS__wheel__3', +'SiStrip/MechanicalView/TOB/layer_1/NormalizedHitResiduals_TOB__Layer__1', +'SiStrip/MechanicalView/TOB/layer_1/Summary_ClusterStoNCorr__OnTrack__TOB__layer__1', +'SiStrip/MechanicalView/TOB/layer_2/NormalizedHitResiduals_TOB__Layer__2', +'SiStrip/MechanicalView/TOB/layer_2/Summary_ClusterStoNCorr__OnTrack__TOB__layer__2', +'SiStrip/MechanicalView/TOB/layer_3/,NormalizedHitResiduals_TOB__Layer__3', +'SiStrip/MechanicalView/TOB/layer_3/,Summary_ClusterStoNCorr__OnTrack__TOB__layer__3', +'SiStrip/MechanicalView/TOB/layer_4/,NormalizedHitResiduals_TOB__Layer__4', +'SiStrip/MechanicalView/TOB/layer_4/,Summary_ClusterStoNCorr__OnTrack__TOB__layer__4', +'SiStrip/MechanicalView/TOB/layer_5/,NormalizedHitResiduals_TOB__Layer__5', +'SiStrip/MechanicalView/TOB/layer_5/,Summary_ClusterStoNCorr__OnTrack__TOB__layer__5', +'SiStrip/MechanicalView/TOB/layer_6/,NormalizedHitResiduals_TOB__Layer__6', +'SiStrip/MechanicalView/TOB/layer_6/,Summary_ClusterStoNCorr__OnTrack__TOB__layer__6', +'SiStrip/MechanicalView/TEC/MINUS/wheel_1/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__1', +'SiStrip/MechanicalView/TEC/MINUS/wheel_2/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__2', +'SiStrip/MechanicalView/TEC/MINUS/wheel_3/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__3', +'SiStrip/MechanicalView/TEC/MINUS/wheel_4/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__4', +'SiStrip/MechanicalView/TEC/MINUS/wheel_5/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__5', +'SiStrip/MechanicalView/TEC/MINUS/wheel_6/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__6', +'SiStrip/MechanicalView/TEC/MINUS/wheel_7/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__7', +'SiStrip/MechanicalView/TEC/MINUS/wheel_8/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__8', +'SiStrip/MechanicalView/TEC/MINUS/wheel_9/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__9', +'SiStrip/MechanicalView/TED/PLUS/wheel_1/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__1', +'SiStrip/MechanicalView/TED/PLUS/wheel_2/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__2', +'SiStrip/MechanicalView/TED/PLUS/wheel_3/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__3', +'SiStrip/MechanicalView/TED/PLUS/wheel_4/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__4', +'SiStrip/MechanicalView/TED/PLUS/wheel_5/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__5', +'SiStrip/MechanicalView/TED/PLUS/wheel_6/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__6', +'SiStrip/MechanicalView/TED/PLUS/wheel_7/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__7', +'SiStrip/MechanicalView/TED/PLUS/wheel_8/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__8', +'SiStrip/MechanicalView/TED/PLUS/wheel_9/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__9', +'SiStrip/MechanicalView/TIB/layer_1/Summary_TotalNumberOfDigis__TIB__layer__1', +'SiStrip/MechanicalView/TIB/layer_2/Summary_TotalNumberOfDigis__TIB__layer__2', +'SiStrip/MechanicalView/TIB/layer_3/Summary_TotalNumberOfDigis__TIB__layer__3', +'SiStrip/MechanicalView/TIB/layer_4/Summary_TotalNumberOfDigis__TIB__layer__4', +'SiStrip/MechanicalView/TID/MINUS/wheel_1/Summary_TotalNumberOfDigis__TID__MINUS__wheel__1', +'SiStrip/MechanicalView/TID/MINUS/wheel_2/Summary_TotalNumberOfDigis__TID__MINUS__wheel__2', +'SiStrip/MechanicalView/TID/MINUS/wheel_3/Summary_TotalNumberOfDigis__TID__MINUS__wheel__3', +'SiStrip/MechanicalView/TID/PLUS/wheel_1/Summary_TotalNumberOfDigis__TID__PLUS__wheel__1', +'SiStrip/MechanicalView/TID/PLUS/wheel_2/Summary_TotalNumberOfDigis__TID__PLUS__wheel__2', +'SiStrip/MechanicalView/TID/PLUS/wheel_3/Summary_TotalNumberOfDigis__TID__PLUS__wheel__3', +'SiStrip/MechanicalView/TOB/layer_1/Summary_TotalNumberOfDigis__TOB__layer__1', +'SiStrip/MechanicalView/TOB/layer_2/Summary_TotalNumberOfDigis__TOB__layer__2', +'SiStrip/MechanicalView/TOB/layer_3/Summary_TotalNumberOfDigis__TOB__layer__3', +'SiStrip/MechanicalView/TOB/layer_4/Summary_TotalNumberOfDigis__TOB__layer__4', +'SiStrip/MechanicalView/TOB/layer_5/Summary_TotalNumberOfDigis__TOB__layer__5', +'SiStrip/MechanicalView/TOB/layer_6/Summary_TotalNumberOfDigis__TOB__layer__6', + +#2D (SiStrip) histograms: +'SiStrip/MechanicalView/StripClusVsPixClus', +'SiStrip/MechanicalView/TEC/MINUS/wheel_1/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__1', +'SiStrip/MechanicalView/TEC/MINUS/wheel_2/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__2', +'SiStrip/MechanicalView/TEC/MINUS/wheel_3/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__3', +'SiStrip/MechanicalView/TEC/MINUS/wheel_4/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__4', +'SiStrip/MechanicalView/TEC/MINUS/wheel_5/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__5', +'SiStrip/MechanicalView/TEC/MINUS/wheel_6/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__6', +'SiStrip/MechanicalView/TEC/MINUS/wheel_7/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__7', +'SiStrip/MechanicalView/TEC/MINUS/wheel_8/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__8', +'SiStrip/MechanicalView/TEC/MINUS/wheel_9/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__9', +'SiStrip/MechanicalView/TEC/PLUS/wheel_1/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__1', +'SiStrip/MechanicalView/TEC/PLUS/wheel_2/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__2', +'SiStrip/MechanicalView/TEC/PLUS/wheel_3/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__3', +'SiStrip/MechanicalView/TEC/PLUS/wheel_4/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__4', +'SiStrip/MechanicalView/TEC/PLUS/wheel_5/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__5', +'SiStrip/MechanicalView/TEC/PLUS/wheel_6/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__6', +'SiStrip/MechanicalView/TEC/PLUS/wheel_7/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__7', +'SiStrip/MechanicalView/TEC/PLUS/wheel_8/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__8', +'SiStrip/MechanicalView/TEC/PLUS/wheel_9/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__9', +'SiStrip/MechanicalView/TIB/layer_1/Summary_ClusterPosition2D__OnTrack__TIB__layer__1', +'SiStrip/MechanicalView/TIB/layer_2/Summary_ClusterPosition2D__OnTrack__TIB__layer__2', +'SiStrip/MechanicalView/TIB/layer_3/Summary_ClusterPosition2D__OnTrack__TIB__layer__3', +'SiStrip/MechanicalView/TIB/layer_4/Summary_ClusterPosition2D__OnTrack__TIB__layer__4', +'SiStrip/MechanicalView/TID/MINUS/wheel_1/Summary_ClusterPosition2D__OnTrack__TID__MINUS__wheel__1', +'SiStrip/MechanicalView/TID/MINUS/wheel_2/Summary_ClusterPosition2D__OnTrack__TID__MINUS__wheel__2', +'SiStrip/MechanicalView/TID/MINUS/wheel_3/Summary_ClusterPosition2D__OnTrack__TID__MINUS__wheel__3', +'SiStrip/MechanicalView/TID/PLUS/wheel_1/Summary_ClusterPosition2D__OnTrack__TID__PLUS__wheel__1', +'SiStrip/MechanicalView/TID/PLUS/wheel_2/Summary_ClusterPosition2D__OnTrack__TID__PLUS__wheel__2', +'SiStrip/MechanicalView/TID/PLUS/wheel_3/Summary_ClusterPosition2D__OnTrack__TID__PLUS__wheel__3', +'SiStrip/MechanicalView/TOB/layer_1/Summary_ClusterPosition2D__OnTrack__TOB__layer__1', +'SiStrip/MechanicalView/TOB/layer_2/Summary_ClusterPosition2D__OnTrack__TOB__layer__2', +'SiStrip/MechanicalView/TOB/layer_3/Summary_ClusterPosition2D__OnTrack__TOB__layer__3', +'SiStrip/MechanicalView/TOB/layer_4/Summary_ClusterPosition2D__OnTrack__TOB__layer__4', +'SiStrip/MechanicalView/TOB/layer_5/Summary_ClusterPosition2D__OnTrack__TOB__layer__5', +'SiStrip/MechanicalView/TOB/layer_6/Summary_ClusterPosition2D__OnTrack__TOB__layer__6', + +#1D (Tracking) histograms: +'Tracking/PrimaryVertices/highPurityTracks/pt_0to1/offline/NumberOfGoodPVtx_offline', +'Tracking/TrackParameters/generalTracks/LSanalysis/Chi2oNDF_lumiFlag_GenTk', +'Tracking/TrackParameters/generalTracks/LSanalysis/NumberOfRecHitsPerTrack_lumiFlag_GenTk', +'Tracking/TrackParameters/generalTracks/LSanalysis/NumberOfTracks_lumiFlag_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_0to1/LSanalysis/Chi2oNDF_lumiFlag_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_0to1/LSanalysis/NumberOfRecHitsPerTrack_lumiFlag_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_0to1/LSanalysis/NumberOfTracks_lumiFlag_GenTk', +'Tracking/TrackParameters/generalTracks/GeneralProperties/DistanceOfClosestApproachErrorVsDxy_GenTk', +'Tracking/TrackParameters/generalTracks/GeneralProperties/SIPDxyToBS_GenTk', +'Tracking/TrackParameters/generalTracks/GeneralProperties/SIPDxyToPV_GenTk', +'Tracking/TrackParameters/generalTracks/GeneralProperties/Chi2Prob_GenTk', +'Tracking/TrackParameters/generalTracks/GeneralProperties/Chi2oNDF_GenTk', +'Tracking/TrackParameters/generalTracks/GeneralProperties/NumberOfMeanLayersPerTrack_GenTk', +'Tracking/TrackParameters/generalTracks/GeneralProperties/NumberOfMeanRecHitsPerTrack_GenTk', +'Tracking/TrackParameters/generalTracks/GeneralProperties/TrackEtaErr_ImpactPoint_GenTk', +'Tracking/TrackParameters/generalTracks/GeneralProperties/TrackPtErr_ImpactPoint_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/DistanceOfClosestApproachErrorVsDxy_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/SIPDxyToBS_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/SIPDxyToPV_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/Chi2Prob_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/Chi2oNDF_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/NumberOfMeanLayersPerTrack_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/NumberOfMeanRecHitsPerTrack_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/TrackEtaErr_ImpactPoint_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/TrackPtErr_ImpactPoint_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/DistanceOfClosestApproachErrorVsDxy_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/SIPDxyToBS_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/SIPDxyToPV_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/Chi2Prob_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/Chi2oNDF_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/NumberOfMeanLayersPerTrack_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/NumberOfMeanRecHitsPerTrack_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/TrackEtaErr_ImpactPoint_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/TrackPtErr_ImpactPoint_GenTk', +'Tracking/TrackParameters/generalTracks/HitProperties/NumberMIRecHitsPerTrackVsPt_GenTk', +'Tracking/TrackParameters/generalTracks/HitProperties/NumberMORecHitsPerTrackVsPt_GenTk', +'Tracking/TrackParameters/generalTracks/HitProperties/NumberOf3DLayersPerTrack_GenTk', +'Tracking/TrackParameters/generalTracks/HitProperties/NumberOfValidRecHitPerTrack_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/NumberMIRecHitsPerTrackVsPt_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/NumberMORecHitsPerTrackVsPt_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/NumberOf3DLayersPerTrack_GenTk', +'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/NumberOfValidRecHitPerTrack_GenTk', + +#All the MEs (96) in: +'Tracking/TrackParameters/generalTracks/GeneralProperties/' ) ) ) From a29b9620408754970bce3947e7c952b414404c3a Mon Sep 17 00:00:00 2001 From: Abe Tishelman-Charny Date: Mon, 29 Nov 2021 13:12:39 +0100 Subject: [PATCH 192/268] Responding to first set of comments on https://github.com/thomreis/cmssw/pull/33 --- .../interface/EcnaAnalyzer.h | 4 ++-- .../src/EcnaAnalyzer.cc | 1 - .../EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc | 1 - .../EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h | 12 +++++------- .../EcalLaserSorting/interface/LaserSorter.h | 10 +++++----- CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc | 2 -- .../EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc | 2 +- .../EcalCalibAlgos/interface/ECALpedestalPCLworker.h | 2 +- .../ElectronRecalibSuperClusterAssociator.h | 4 ++-- .../EcalCalibAlgos/src/ECALpedestalPCLworker.cc | 2 +- Calibration/EcalCalibAlgos/src/miscalibExample.cc | 1 + CondTools/Ecal/plugins/EcalPedestalHistory.h | 2 +- 12 files changed, 19 insertions(+), 24 deletions(-) diff --git a/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/interface/EcnaAnalyzer.h b/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/interface/EcnaAnalyzer.h index 7a570baf19d30..b8b29c76ba307 100644 --- a/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/interface/EcnaAnalyzer.h +++ b/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/interface/EcnaAnalyzer.h @@ -44,7 +44,7 @@ // CMSSW include files #include "CondCore/CondDB/interface/Time.h" #include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/stream/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" @@ -130,7 +130,7 @@ // class declaration // -class EcnaAnalyzer : public edm::stream::EDAnalyzer<> { +class EcnaAnalyzer : public edm::one::EDAnalyzer<> { public: enum { kChannels = 1700, kGains = 3, kFirstGainId = 1 }; diff --git a/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/src/EcnaAnalyzer.cc b/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/src/EcnaAnalyzer.cc index 0eff18b2c0632..745181ccd34a8 100644 --- a/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/src/EcnaAnalyzer.cc +++ b/CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/src/EcnaAnalyzer.cc @@ -23,7 +23,6 @@ //#include #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisModules/interface/EcnaAnalyzer.h" -//#include //-------------------------------------- // EcnaAnalyzer.cc diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc index 46259d9dc6af7..dbda35c76204f 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.cc @@ -76,7 +76,6 @@ void EcalStatusAnalyzer::beginJob() { } //======================================================================== -//void EcalStatusAnalyzer::analyze(edm::StreamID,const edm::Event & e, const edm::EventSetup& c) const { void EcalStatusAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& c) { //======================================================================== diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h index 585c0557a304b..589ebd9003a0b 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h @@ -4,20 +4,18 @@ #include #include -#include +#include class Timestamp; -class EcalStatusAnalyzer : public edm::stream::EDAnalyzer<> { +class EcalStatusAnalyzer : public edm::one::EDAnalyzer<> { public: explicit EcalStatusAnalyzer(const edm::ParameterSet& iConfig); ~EcalStatusAnalyzer() override; - void analyze(const edm::Event& e, const edm::EventSetup& c); - //void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c); - //void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override ; - void beginJob(); - void endJob(); + void analyze(const edm::Event& e, const edm::EventSetup& c) ; + void beginJob() override; + void endJob() override; enum EcalLaserColorType { iBLUE = 0, diff --git a/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h b/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h index 7c344978aa267..7a3eb735f21f0 100644 --- a/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h +++ b/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h @@ -15,7 +15,7 @@ #include #include "FWCore/Framework/interface/Frameworkfwd.h" -#include +#include #include "FWCore/Utilities/interface/InputTag.h" #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" @@ -41,7 +41,7 @@ * the each output file.Once a file is completed (see above), it is renamed * without the enclosing .part suffix. */ -class LaserSorter : public edm::stream::EDAnalyzer<> { +class LaserSorter : public edm::one::EDAnalyzer<> { //inner classes private: struct IndexRecord { @@ -121,9 +121,9 @@ class LaserSorter : public edm::stream::EDAnalyzer<> { //methods public: void analyze(const edm::Event&, const edm::EventSetup&) override; - void endJob() ; - void beginJob() ; - void beginRun(edm::Run const&, edm::EventSetup const&) override; + void endJob() override; + void beginJob() override; + void beginRun(edm::Run const&, edm::EventSetup const&); private: int dcc2Lme(int dccNum, int dccSide); diff --git a/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc b/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc index 59b1742c39406..660a7528a5447 100644 --- a/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc +++ b/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc @@ -10,9 +10,7 @@ #include "CalibCalorimetry/EcalLaserSorting/src/Majority.h" #include -//#include #include -//#include #include #include #include diff --git a/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc b/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc index 789bda843e01d..946bedd2bba2f 100644 --- a/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc +++ b/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc @@ -19,7 +19,7 @@ class EcalTPGParamReaderFromDB : public edm::one::EDAnalyzer<> { private: void beginJob() override; - void analyze(const edm::Event&, const edm::EventSetup&); + void analyze(const edm::Event&, const edm::EventSetup&) override; void endJob() override; std::string host; diff --git a/Calibration/EcalCalibAlgos/interface/ECALpedestalPCLworker.h b/Calibration/EcalCalibAlgos/interface/ECALpedestalPCLworker.h index 2dc10a29a8577..a5ade8314bf19 100644 --- a/Calibration/EcalCalibAlgos/interface/ECALpedestalPCLworker.h +++ b/Calibration/EcalCalibAlgos/interface/ECALpedestalPCLworker.h @@ -34,7 +34,7 @@ class ECALpedestalPCLworker : public DQMEDAnalyzer { public: - explicit ECALpedestalPCLworker(const edm::ParameterSet &); + explicit ECALpedestalPCLworker(const edm::ParameterSet &, const DQMEDAnalyzerGlobalCache*); static void fillDescriptions(edm::ConfigurationDescriptions &descriptions); diff --git a/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h b/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h index 796bbff1a9b58..e68dacb1f2969 100644 --- a/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h +++ b/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h @@ -7,7 +7,7 @@ // // Description: -#include "FWCore/Framework/interface/one/EDProducer.h" +#include "FWCore/Framework/interface/stream/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/EventSetup.h" @@ -20,7 +20,7 @@ #include -class ElectronRecalibSuperClusterAssociator : public edm::one::EDProducer<> { +class ElectronRecalibSuperClusterAssociator : public edm::stream::EDProducer<> { public: explicit ElectronRecalibSuperClusterAssociator(const edm::ParameterSet& conf); diff --git a/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc b/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc index e90fcfbbf8427..6f0a2ec39739c 100644 --- a/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc +++ b/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc @@ -5,7 +5,7 @@ #include "FWCore/Framework/interface/EventSetup.h" #include -ECALpedestalPCLworker::ECALpedestalPCLworker(const edm::ParameterSet& iConfig) +ECALpedestalPCLworker::ECALpedestalPCLworker(const edm::ParameterSet& iConfig, const DQMEDAnalyzerGlobalCache*) : pedestalToken_(esConsumes()) { edm::InputTag digiTagEB = iConfig.getParameter("BarrelDigis"); edm::InputTag digiTagEE = iConfig.getParameter("EndcapDigis"); diff --git a/Calibration/EcalCalibAlgos/src/miscalibExample.cc b/Calibration/EcalCalibAlgos/src/miscalibExample.cc index 66651a5531dd2..6d43e81cbd9ed 100644 --- a/Calibration/EcalCalibAlgos/src/miscalibExample.cc +++ b/Calibration/EcalCalibAlgos/src/miscalibExample.cc @@ -59,6 +59,7 @@ void miscalibExample::endJob() { scEnergy->Write(); f.Close(); + scEnergy->~TH1(); } //================================================================================= diff --git a/CondTools/Ecal/plugins/EcalPedestalHistory.h b/CondTools/Ecal/plugins/EcalPedestalHistory.h index 4b543b884ccb3..ad879869da5d9 100644 --- a/CondTools/Ecal/plugins/EcalPedestalHistory.h +++ b/CondTools/Ecal/plugins/EcalPedestalHistory.h @@ -46,7 +46,7 @@ class EcalPedestalHistory : public edm::one::EDAnalyzer<> { explicit EcalPedestalHistory(const edm::ParameterSet&); ~EcalPedestalHistory() override; void analyze(const edm::Event&, const edm::EventSetup&) override; - void beginRun(edm::Run const&, edm::EventSetup const&); // no need to override beginRun when inheriting from one::EDAnalyzer + void beginRun(edm::Run const&, edm::EventSetup const&); void beginJob() override; void endJob() override; EcalCondDBInterface* econn; From 561d7db501c4cec59caf3ee5534917ed4b44bd62 Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 29 Nov 2021 13:15:40 +0100 Subject: [PATCH 193/268] Fixed missing CTPPS modifier --- DQM/CTPPS/python/ctppsDQM_cff.py | 1 + DQM/CTPPS/python/diamondSampicDQMSource_cfi.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/DQM/CTPPS/python/ctppsDQM_cff.py b/DQM/CTPPS/python/ctppsDQM_cff.py index f8e1a0980914c..bdd22a9eca588 100644 --- a/DQM/CTPPS/python/ctppsDQM_cff.py +++ b/DQM/CTPPS/python/ctppsDQM_cff.py @@ -56,6 +56,7 @@ dqmPerLSsaving.toModify(ctppsDiamondDQMSource, perLSsaving=True) dqmPerLSsaving.toModify(diamondSampicDQMSourceOffline, perLSsaving=True) dqmPerLSsaving.toModify(ctppsCommonDQMSourceOffline, perLSsaving=True) +dqmPerLSsaving.toModify(ctppsDiamondDQMOfflineSource, perLSsaving=True) _ctppsDQMOfflineSource = cms.Sequence( ctppsPixelDQMOfflineSource diff --git a/DQM/CTPPS/python/diamondSampicDQMSource_cfi.py b/DQM/CTPPS/python/diamondSampicDQMSource_cfi.py index e4bb2a48a6d1c..2604c4e9362b7 100644 --- a/DQM/CTPPS/python/diamondSampicDQMSource_cfi.py +++ b/DQM/CTPPS/python/diamondSampicDQMSource_cfi.py @@ -23,6 +23,8 @@ samplesForNoise = cms.untracked.uint32(6), + perLSsaving = cms.untracked.bool(False), #driven by DQMServices/Core/python/DQMStore_cfi.py + verbosity = cms.untracked.uint32(10), plotOnline=cms.untracked.bool(False) ) From 1f1bb728979b406e4429a255654943e94f1b7633 Mon Sep 17 00:00:00 2001 From: maria Date: Mon, 29 Nov 2021 14:31:52 +0100 Subject: [PATCH 194/268] add scripts/haddnano.py --- PhysicsTools/NanoAOD/scripts/haddnano.py | 105 +++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 PhysicsTools/NanoAOD/scripts/haddnano.py diff --git a/PhysicsTools/NanoAOD/scripts/haddnano.py b/PhysicsTools/NanoAOD/scripts/haddnano.py new file mode 100644 index 0000000000000..335d41eca81c9 --- /dev/null +++ b/PhysicsTools/NanoAOD/scripts/haddnano.py @@ -0,0 +1,105 @@ +#!/bin/env python +import ROOT +import numpy +import sys + +if len(sys.argv) < 3: + print("Syntax: haddnano.py out.root input1.root input2.root ...") +ofname = sys.argv[1] +files = sys.argv[2:] + + +def zeroFill(tree, brName, brObj, allowNonBool=False): + # typename: (numpy type code, root type code) + branch_type_dict = {'Bool_t': ('?', 'O'), 'Float_t': ('f4', 'F'), 'UInt_t': ( + 'u4', 'i'), 'Long64_t': ('i8', 'L'), 'Double_t': ('f8', 'D')} + brType = brObj.GetLeaf(brName).GetTypeName() + if (not allowNonBool) and (brType != "Bool_t"): + print(("Did not expect to back fill non-boolean branches", tree, brName, brObj.GetLeaf(br).GetTypeName())) + else: + if brType not in branch_type_dict: + raise RuntimeError('Impossible to backfill branch of type %s' % brType) + buff = numpy.zeros(1, dtype=numpy.dtype(branch_type_dict[brType][0])) + b = tree.Branch(brName, buff, brName + "/" + + branch_type_dict[brType][1]) + # be sure we do not trigger flushing + b.SetBasketSize(tree.GetEntries() * 2) + for x in range(0, tree.GetEntries()): + b.Fill() + b.ResetAddress() + + +fileHandles = [] +goFast = True +for fn in files: + print("Adding file" + str(fn)) + fileHandles.append(ROOT.TFile.Open(fn)) + if fileHandles[-1].GetCompressionSettings() != fileHandles[0].GetCompressionSettings(): + goFast = False + print("Disabling fast merging as inputs have different compressions") +of = ROOT.TFile(ofname, "recreate") +if goFast: + of.SetCompressionSettings(fileHandles[0].GetCompressionSettings()) +of.cd() + +for e in fileHandles[0].GetListOfKeys(): + name = e.GetName() + print("Merging" + str(name)) + obj = e.ReadObj() + cl = ROOT.TClass.GetClass(e.GetClassName()) + inputs = ROOT.TList() + isTree = obj.IsA().InheritsFrom(ROOT.TTree.Class()) + if isTree: + obj = obj.CloneTree(-1, "fast" if goFast else "") + branchNames = set([x.GetName() for x in obj.GetListOfBranches()]) + for fh in fileHandles[1:]: + otherObj = fh.GetListOfKeys().FindObject(name).ReadObj() + inputs.Add(otherObj) + if isTree and obj.GetName() == 'Events': + otherObj.SetAutoFlush(0) + otherBranches = set([x.GetName() + for x in otherObj.GetListOfBranches()]) + missingBranches = list(branchNames - otherBranches) + additionalBranches = list(otherBranches - branchNames) + print("missing: " + str(missingBranches) + "\n Additional:" + str(additionalBranches)) + for br in missingBranches: + # fill "Other" + zeroFill(otherObj, br, obj.GetListOfBranches().FindObject(br)) + for br in additionalBranches: + # fill main + branchNames.add(br) + zeroFill(obj, br, otherObj.GetListOfBranches().FindObject(br)) + # merge immediately for trees + if isTree and obj.GetName() == 'Runs': + otherObj.SetAutoFlush(0) + otherBranches = set([x.GetName() + for x in otherObj.GetListOfBranches()]) + missingBranches = list(branchNames - otherBranches) + additionalBranches = list(otherBranches - branchNames) + print("missing: " + str(missingBranches) + "\n Additional:" + str(additionalBranches)) + for br in missingBranches: + # fill "Other" + zeroFill(otherObj, br, obj.GetListOfBranches( + ).FindObject(br), allowNonBool=True) + for br in additionalBranches: + # fill main + branchNames.add(br) + zeroFill(obj, br, otherObj.GetListOfBranches( + ).FindObject(br), allowNonBool=True) + # merge immediately for trees + if isTree: + obj.Merge(inputs, "fast" if goFast else "") + inputs.Clear() + + if isTree: + obj.Write() + elif obj.IsA().InheritsFrom(ROOT.TH1.Class()): + obj.Merge(inputs) + obj.Write() + elif obj.IsA().InheritsFrom(ROOT.TObjString.Class()): + for st in inputs: + if st.GetString() != obj.GetString(): + print("Strings are not matching") + obj.Write() + else: + print("Cannot handle " + str(obj.IsA().GetName())) From b00d40f7deb76fe767a6c22ad5ded13a4a6abdfd Mon Sep 17 00:00:00 2001 From: Sam Harper Date: Mon, 29 Nov 2021 14:34:13 +0100 Subject: [PATCH 195/268] Update HLTrigger/Configuration/python/Tools/confdb.py Co-authored-by: Marino Missiroli --- HLTrigger/Configuration/python/Tools/confdb.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/HLTrigger/Configuration/python/Tools/confdb.py b/HLTrigger/Configuration/python/Tools/confdb.py index 6c10ab1fa4aad..357eb66cf5e22 100644 --- a/HLTrigger/Configuration/python/Tools/confdb.py +++ b/HLTrigger/Configuration/python/Tools/confdb.py @@ -500,8 +500,6 @@ def overrideOutput(self): 'keep l1tJetBXVector_*_Jet_*', 'keep l1tMuonBXVector_*_Muon_*', 'keep l1tTauBXVector_*_Tau_*', - - ) ) %(process)s.MinimalOutput = cms.EndPath( %(process)s.hltOutputMinimal ) From 3309eae805282cc79d4715dda67b22667cd3c532 Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Mon, 29 Nov 2021 15:25:27 +0100 Subject: [PATCH 196/268] Fix assert in prefixScan_t.cu --- HeterogeneousCore/CUDAUtilities/test/prefixScan_t.cu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HeterogeneousCore/CUDAUtilities/test/prefixScan_t.cu b/HeterogeneousCore/CUDAUtilities/test/prefixScan_t.cu index 897d7036d01d1..5e4a943f5c069 100644 --- a/HeterogeneousCore/CUDAUtilities/test/prefixScan_t.cu +++ b/HeterogeneousCore/CUDAUtilities/test/prefixScan_t.cu @@ -39,7 +39,7 @@ __global__ void testPrefixScan(uint32_t size) { printf(format_traits::failed_msg, size, i, blockDim.x, c[i], c[i - 1]); assert(c[i] == c[i - 1] + 1); assert(c[i] == i + 1); - assert(c[i] = co[i]); + assert(c[i] == co[i]); } } From 97137456f14265878ee223005b5e059a2debb1c3 Mon Sep 17 00:00:00 2001 From: Dan Riley Date: Mon, 29 Nov 2021 11:13:52 -0500 Subject: [PATCH 197/268] Fix assertion comparisons found by gcc11 --- FWCore/Integration/test/TestInterProcessProd.cc | 2 +- FWCore/Integration/test/TestInterProcessRandomProd.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FWCore/Integration/test/TestInterProcessProd.cc b/FWCore/Integration/test/TestInterProcessProd.cc index 382b824887fd5..2cc54c7083c86 100644 --- a/FWCore/Integration/test/TestInterProcessProd.cc +++ b/FWCore/Integration/test/TestInterProcessProd.cc @@ -42,7 +42,7 @@ namespace testinter { { auto nlines = std::to_string(std::count(iConfig.begin(), iConfig.end(), '\n')); auto result = fwrite(nlines.data(), sizeof(char), nlines.size(), pipe_); - assert(result = nlines.size()); + assert(result == nlines.size()); result = fwrite(iConfig.data(), sizeof(char), iConfig.size(), pipe_); assert(result == iConfig.size()); fflush(pipe_); diff --git a/FWCore/Integration/test/TestInterProcessRandomProd.cc b/FWCore/Integration/test/TestInterProcessRandomProd.cc index 8cd9164f3c9b2..c1595acda274f 100644 --- a/FWCore/Integration/test/TestInterProcessRandomProd.cc +++ b/FWCore/Integration/test/TestInterProcessRandomProd.cc @@ -54,7 +54,7 @@ namespace testinter { { auto nlines = std::to_string(std::count(iConfig.begin(), iConfig.end(), '\n')); auto result = fwrite(nlines.data(), sizeof(char), nlines.size(), pipe_); - assert(result = nlines.size()); + assert(result == nlines.size()); result = fwrite(iConfig.data(), sizeof(char), iConfig.size(), pipe_); assert(result == iConfig.size()); fflush(pipe_); From 02de84fad0e86068cad2e96ee7801f9a265c8164 Mon Sep 17 00:00:00 2001 From: Tatjana Date: Mon, 29 Nov 2021 17:41:57 +0100 Subject: [PATCH 198/268] Move code to the proper place --- .../python/SiPixelQualityESProducer_cfi.py | 6 ++++++ EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py | 4 ---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CalibTracker/SiPixelESProducers/python/SiPixelQualityESProducer_cfi.py b/CalibTracker/SiPixelESProducers/python/SiPixelQualityESProducer_cfi.py index efe48337ad6fb..3fee493a246c6 100644 --- a/CalibTracker/SiPixelESProducers/python/SiPixelQualityESProducer_cfi.py +++ b/CalibTracker/SiPixelESProducers/python/SiPixelQualityESProducer_cfi.py @@ -3,3 +3,9 @@ siPixelQualityESProducer = cms.ESProducer("SiPixelQualityESProducer", siPixelQualityLabel = cms.string(""), ) + +from Configuration.ProcessModifiers.siPixelQualityRawToDigi_cff import siPixelQualityRawToDigi +siPixelQualityRawToDigi.toModify(siPixelQualityESProducer, + siPixelQualityLabel = 'forRawToDigi', +) + diff --git a/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py b/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py index f046e5e634a55..757991e4ec605 100644 --- a/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py +++ b/EventFilter/SiPixelRawToDigi/python/SiPixelRawToDigi_cfi.py @@ -19,10 +19,6 @@ UseQualityInfo = True, SiPixelQualityLabel = 'forRawToDigi', ) -from CalibTracker.SiPixelESProducers.SiPixelQualityESProducer_cfi import siPixelQualityESProducer -siPixelQualityRawToDigi.toModify(siPixelQualityESProducer, - siPixelQualityLabel = 'forRawToDigi', -) # SwitchProducer wrapping the legacy pixel digis producer or an alias combining the pixel digis information converted from SoA From 2111fb14c71cd3e33f615fdef91a909d299079c8 Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Mon, 29 Nov 2021 10:59:47 -0600 Subject: [PATCH 199/268] Properly import from containers Fixed python 3 deprecation warning --- FWCore/ParameterSet/python/OrderedSet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FWCore/ParameterSet/python/OrderedSet.py b/FWCore/ParameterSet/python/OrderedSet.py index dd5115f42ecfe..d98e7460f2103 100644 --- a/FWCore/ParameterSet/python/OrderedSet.py +++ b/FWCore/ParameterSet/python/OrderedSet.py @@ -24,9 +24,9 @@ # Copied from URL http://code.activestate.com/recipes/576694-orderedset/ # on 15 November 2016 -import collections +import collections.abc -class OrderedSet(collections.MutableSet): +class OrderedSet(collections.abc.MutableSet): def __init__(self, iterable=None): self.end = end = [] From e29fccd1d85642f9bedbfb6cb4e96bf7fff4ddac Mon Sep 17 00:00:00 2001 From: minxi Date: Mon, 29 Nov 2021 18:08:49 +0100 Subject: [PATCH 200/268] update working point for new DNN --- .../python/dnnQualityCuts.py | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/RecoTracker/IterativeTracking/python/dnnQualityCuts.py b/RecoTracker/IterativeTracking/python/dnnQualityCuts.py index 735267410a4d3..7cfa427c59f7f 100644 --- a/RecoTracker/IterativeTracking/python/dnnQualityCuts.py +++ b/RecoTracker/IterativeTracking/python/dnnQualityCuts.py @@ -1,17 +1,17 @@ # https://indico.cern.ch/event/947686/contributions/3981867/attachments/2090510/3512658/TrackingDNN_24_8_2020.pdf import FWCore.ParameterSet.Config as cms qualityCutDictionary = cms.PSet( - InitialStep = cms.vdouble(-0.48, 0.03, 0.25), - LowPtQuadStep = cms.vdouble(-0.33, 0.18, 0.41), - HighPtTripletStep = cms.vdouble(0.48, 0.55, 0.62), - LowPtTripletStep = cms.vdouble(-0.21, 0.17, 0.41), - DetachedQuadStep = cms.vdouble(-0.62, -0.09 ,0.50), - DetachedTripletStep = cms.vdouble(-0.52, 0.04, 0.76), - PixelPairStep = cms.vdouble(-0.47, -0.33, -0.05), - MixedTripletStep = cms.vdouble(-0.87, -0.61 ,-0.13), - PixelLessStep = cms.vdouble(-0.20, -0.10, 0.40), - TobTecStep = cms.vdouble(-0.44, -0.26, -0.14), - JetCoreRegionalStep = cms.vdouble(-0.14, 0.13, 0.61) + InitialStep = cms.vdouble(-0.56, -0.08, 0.17), + LowPtQuadStep = cms.vdouble(-0.35, 0.13, 0.36), + HighPtTripletStep = cms.vdouble(0.41, 0.49, 0.57), + LowPtTripletStep = cms.vdouble(-0.29, 0.09, 0.36), + DetachedQuadStep = cms.vdouble(-0.63, -0.14, 0.49), + DetachedTripletStep = cms.vdouble(-0.32, 0.24, 0.81), + PixelPairStep = cms.vdouble(-0.38, -0.23, 0.04), + MixedTripletStep = cms.vdouble(-0.83, -0.63, -0.38), + PixelLessStep = cms.vdouble(-0.6, -0.5, -0.4), + TobTecStep = cms.vdouble(-0.71, -0.58, -0.46), + JetCoreRegionalStep = cms.vdouble(-0.53, -0.33, 0.18) ) From 8acbb16f790faf17a1d7ff50829cb2145ece8a75 Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 29 Nov 2021 19:32:13 +0100 Subject: [PATCH 201/268] Fixed another ME --- DQM/CTPPS/plugins/CTPPSDiamondDQMSource.cc | 30 ++++++++++++++-------- DQM/CTPPS/python/ctppsDQM_cff.py | 1 + 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/DQM/CTPPS/plugins/CTPPSDiamondDQMSource.cc b/DQM/CTPPS/plugins/CTPPSDiamondDQMSource.cc index 1d6afd266755a..ffb949752dfc4 100644 --- a/DQM/CTPPS/plugins/CTPPSDiamondDQMSource.cc +++ b/DQM/CTPPS/plugins/CTPPSDiamondDQMSource.cc @@ -103,6 +103,8 @@ class CTPPSDiamondDQMSource : public DQMOneEDAnalyzer ctppsLhcInfoToken_; bool excludeMultipleHits_; - bool perLSsaving_; //to avoid nanoDQMIO crashing, driven by DQMServices/Core/python/DQMStore_cfi.py const bool extract_digi_info_; struct DiamondShifts { double global, withPixels; @@ -273,8 +279,12 @@ CTPPSDiamondDQMSource::SectorPlots::SectorPlots(DQMStore::IBooker& ibooker, unsi } //---------------------------------------------------------------------------------------------------- -CTPPSDiamondDQMSource::PotPlots::PotPlots( - DQMStore::IBooker& ibooker, unsigned int id, unsigned int windowsNum, bool plotOnline, bool plotOffline) +CTPPSDiamondDQMSource::PotPlots::PotPlots(DQMStore::IBooker& ibooker, + unsigned int id, + unsigned int windowsNum, + bool plotOnline, + bool plotOffline, + bool perLSsaving) : HitCounter(0), MHCounter(0), LeadingOnlyCounter(0), @@ -328,7 +338,7 @@ CTPPSDiamondDQMSource::PotPlots::PotPlots( 13); } - if (plotOffline) { + if (plotOffline && !perLSsaving) { ibooker.setCurrentFolder(path + "/timing_profiles"); // TOTVsLS=ibooker.book2D("ToT vs LS",title +" ToT vs LS;LS;ToT(ns)",4000,0,4000, 200,5,25); // trackTimeVsLS=ibooker.book2D("track time vs LS",title+" track time vs LS;LS;track_time(ns)",4000,0,4000, 500, -25, 25); @@ -576,7 +586,8 @@ CTPPSDiamondDQMSource::ChannelPlots::ChannelPlots(DQMStore::IBooker& ibooker, un //---------------------------------------------------------------------------------------------------- CTPPSDiamondDQMSource::CTPPSDiamondDQMSource(const edm::ParameterSet& ps) - : tokenPixelTrack_( + : perLSsaving_(ps.getUntrackedParameter("perLSsaving", false)), + tokenPixelTrack_( consumes>(ps.getParameter("tagPixelLocalTracks"))), tokenDiamondHit_( consumes>(ps.getParameter("tagDiamondRecHits"))), @@ -586,7 +597,6 @@ CTPPSDiamondDQMSource::CTPPSDiamondDQMSource(const edm::ParameterSet& ps) ctppsGeometryEventToken_(esConsumes()), // ctppsLhcInfoToken_(esConsumes()), excludeMultipleHits_(ps.getParameter("excludeMultipleHits")), - perLSsaving_(ps.getUntrackedParameter("perLSsaving", false)), extract_digi_info_(ps.getParameter("extractDigiInfo")), centralOOT_(-999), verbosity_(ps.getUntrackedParameter("verbosity", 0)), @@ -660,7 +670,7 @@ void CTPPSDiamondDQMSource::bookHistograms(DQMStore::IBooker& ibooker, const edm // per-pot plots const CTPPSDiamondDetId rpId(chId.rpId()); if (potPlots_.count(rpId) == 0) - potPlots_[rpId] = PotPlots(ibooker, rpId, windowsNum_, plotOnline_, plotOffline_); + potPlots_[rpId] = PotPlots(ibooker, rpId, windowsNum_, plotOnline_, plotOffline_, perLSsaving_); // per-sector plots const CTPPSDiamondDetId secId(chId.armId()); @@ -969,7 +979,7 @@ void CTPPSDiamondDQMSource::analyze(const edm::Event& event, const edm::EventSet for (int i = 0; i < numOfBins; ++i) trackHistoInTimeTmp->Fill(trackHistoInTimeTmp->GetBinCenter(startBin + i)); } - if (plotOffline_) { + if (plotOffline_ && !perLSsaving_) { // potPlots_[detId_pot].trackTimeVsLS->Fill(event.luminosityBlock(),track.time()); potPlots_[detId_pot].trackTimeVsBX->Fill(event.bunchCrossing(), track.time()); //potPlots_[detId_pot].trackTimeVsXAngle->Fill(hLhcInfo->crossingAngle(), track.time()); @@ -1360,7 +1370,7 @@ void CTPPSDiamondDQMSource::checkEventNumber(const CTPPSDiamondDetId& detId, //---------------------------------------------------------------------------------------------------- void CTPPSDiamondDQMSource::dqmEndRun(edm::Run const&, edm::EventSetup const&) { - if (plotOffline_) + if (plotOffline_ && !perLSsaving_) for (const auto& rpPlots : potPlots_) { auto plots = rpPlots.second; // *(plots.TOTVsLSProfile->getTProfile())=*plots.TOTVsLS->getTH2F()->ProfileX(); diff --git a/DQM/CTPPS/python/ctppsDQM_cff.py b/DQM/CTPPS/python/ctppsDQM_cff.py index bdd22a9eca588..b44cb02db3d11 100644 --- a/DQM/CTPPS/python/ctppsDQM_cff.py +++ b/DQM/CTPPS/python/ctppsDQM_cff.py @@ -57,6 +57,7 @@ dqmPerLSsaving.toModify(diamondSampicDQMSourceOffline, perLSsaving=True) dqmPerLSsaving.toModify(ctppsCommonDQMSourceOffline, perLSsaving=True) dqmPerLSsaving.toModify(ctppsDiamondDQMOfflineSource, perLSsaving=True) +dqmPerLSsaving.toModify(totemTimingDQMSource, perLSsaving=True) _ctppsDQMOfflineSource = cms.Sequence( ctppsPixelDQMOfflineSource From d99169535e92b0d6c35b3cdf122256f2c5740d45 Mon Sep 17 00:00:00 2001 From: mmusich Date: Mon, 29 Nov 2021 14:51:39 +0100 Subject: [PATCH 202/268] add labels to SiPixelFakeLorentzAngleESSource and SiPixelLorentzAngleReader --- .../SiPixelFakeLorentzAngleESSource.h | 5 ++-- .../SiPixelFakeLorentzAngleESSource.cc | 24 ++++++++++----- ...testSiPixelFakeLorentzAngleESSource_cfg.py | 11 +++++-- .../plugins/SiPixelLorentzAngleReader.cc | 30 +++++++++++++++---- .../test/SiPixelLorentzAngleReader_cfg.py | 13 ++++---- 5 files changed, 59 insertions(+), 24 deletions(-) diff --git a/CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h b/CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h index 6007f773f7e1c..03a46fe409c07 100644 --- a/CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h +++ b/CalibTracker/SiPixelESProducers/interface/SiPixelFakeLorentzAngleESSource.h @@ -49,8 +49,9 @@ class SiPixelFakeLorentzAngleESSource : public edm::ESProducer, public edm::Even int HVgroup(int panel, int module); // data members - edm::FileInPath fp_; - edm::FileInPath t_topo_fp_; + const edm::FileInPath fp_; + const edm::FileInPath t_topo_fp_; + const std::string myLabel_; typedef std::vector Parameters; Parameters BPixParameters_; Parameters FPixParameters_; diff --git a/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc b/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc index 6b79d262f622b..1b2830e2bae18 100644 --- a/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc +++ b/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc @@ -34,6 +34,7 @@ SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource(const edm::ParameterSet& conf_) : fp_(conf_.getParameter("file")), t_topo_fp_(conf_.getParameter("topologyInput")), + myLabel_(conf_.getParameter("label")), BPixParameters_(conf_.getParameter("BPixParameters")), FPixParameters_(conf_.getParameter("FPixParameters")), ModuleParameters_(conf_.getParameter("ModuleParameters")), @@ -41,7 +42,7 @@ SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource(const edm::Para fPixLorentzAnglePerTesla_((float)conf_.getUntrackedParameter("fPixLorentzAnglePerTesla", -9999.)) { edm::LogInfo("SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource"); // the following line is needed to tell the framework what data is being produced - setWhatProduced(this); + setWhatProduced(this, myLabel_); findingRecord(); } @@ -239,11 +240,15 @@ void SiPixelFakeLorentzAngleESSource::fillDescriptions(edm::ConfigurationDescrip desc.setComment("ESSource to supply per-module SiPixelLorentzAngle payloads in the EventSetup"); desc.add( - "file", edm::FileInPath("SLHCUpgradeSimulations/Geometry/data/PhaseI/PixelSkimmedGeometry_phase1.txt")); + "file", edm::FileInPath("SLHCUpgradeSimulations/Geometry/data/PhaseI/PixelSkimmedGeometry_phase1.txt")) + ->setComment("Tracker skimmed geometry"); desc.add("topologyInput", - edm::FileInPath("Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml")); - desc.addUntracked("bPixLorentzAnglePerTesla", -9999.); - desc.addUntracked("fPixLorentzAnglePerTesla", -9999.); + edm::FileInPath("Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml")) + ->setComment("Tracker Topology"); + + desc.add("label", "")->setComment("label to which write the data"); + desc.addUntracked("bPixLorentzAnglePerTesla", -9999.)->setComment("LA value for all BPix"); + desc.addUntracked("fPixLorentzAnglePerTesla", -9999.)->setComment("LA value for all FPix"); edm::ParameterSetDescription desc_BPixParameters; desc_BPixParameters.addOptional("layer"); @@ -252,7 +257,8 @@ void SiPixelFakeLorentzAngleESSource::fillDescriptions(edm::ConfigurationDescrip desc_BPixParameters.addOptional("side"); desc_BPixParameters.add("angle"); std::vector default_BPixParametersToAdd; - desc.addVPSet("BPixParameters", desc_BPixParameters, default_BPixParametersToAdd); + desc.addVPSet("BPixParameters", desc_BPixParameters, default_BPixParametersToAdd) + ->setComment("LA values for given BPix regions"); edm::ParameterSetDescription desc_FPixParameters; desc_FPixParameters.addOptional("side"); @@ -263,13 +269,15 @@ void SiPixelFakeLorentzAngleESSource::fillDescriptions(edm::ConfigurationDescrip desc_FPixParameters.addOptional("HVgroup"); desc_FPixParameters.add("angle"); std::vector default_FPixParametersToAdd; - desc.addVPSet("FPixParameters", desc_FPixParameters, default_FPixParametersToAdd); + desc.addVPSet("FPixParameters", desc_FPixParameters, default_FPixParametersToAdd) + ->setComment("LA values for given FPix regions"); edm::ParameterSetDescription desc_ModuleParameters; desc_ModuleParameters.add("rawid"); desc_ModuleParameters.add("angle"); std::vector default_ModuleParametersToAdd; - desc.addVPSet("ModuleParameters", desc_ModuleParameters, default_ModuleParametersToAdd); + desc.addVPSet("ModuleParameters", desc_ModuleParameters, default_ModuleParametersToAdd) + ->setComment("LA values for given modules"); descriptions.addWithDefaultLabel(desc); } diff --git a/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py index 7de0563ec0c34..3e381e020d842 100644 --- a/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py +++ b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py @@ -70,6 +70,7 @@ if(options.isPhase2): print(" ========> Testing Phase-2") + process.SiPixelFakeLorentzAngleESSource.label = cms.string("forPhase2") process.SiPixelFakeLorentzAngleESSource.bPixLorentzAnglePerTesla = cms.untracked.double(0.106) process.SiPixelFakeLorentzAngleESSource.fPixLorentzAnglePerTesla = cms.untracked.double(0.106) process.SiPixelFakeLorentzAngleESSource.file = 'SLHCUpgradeSimulations/Geometry/data/PhaseII/Tilted/PixelSkimmedGeometryT14.txt' @@ -174,9 +175,13 @@ cms.PSet( rawid=cms.uint32(344860676), angle=cms.double(FPix_300V_RNG2_PNL2) ) ) +## +## SiPixelLorentzAngleReader (from Event Setup) +## process.LorentzAngleReader = cms.EDAnalyzer("SiPixelLorentzAngleReader", - printDebug = cms.untracked.bool(True), - useSimRcd = cms.bool(False) - ) + printDebug = cms.untracked.uint32(10), + useSimRcd = cms.bool(False), + recoLabel = cms.string("forPhase2" if options.isPhase2 else "") # test the label + ) process.p = cms.Path(process.LorentzAngleReader) diff --git a/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc b/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc index 044bbe4f49936..fe3f0501d6cb6 100644 --- a/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc +++ b/CondTools/SiPixel/plugins/SiPixelLorentzAngleReader.cc @@ -16,7 +16,9 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" @@ -35,14 +37,16 @@ class SiPixelLorentzAngleReader : public edm::one::EDAnalyzer siPixelLAToken_; const edm::ESGetToken siPixelSimLAToken_; - const bool printdebug_; + const std::string siPixelLALabel_; + const std::string siPixelSimLALabel_; + const uint32_t printdebug_; const bool useSimRcd_; - TH1F* LorentzAngleBarrel_; TH1F* LorentzAngleForward_; }; @@ -50,9 +54,9 @@ class SiPixelLorentzAngleReader : public edm::one::EDAnalyzer("printDebug", false)), + : siPixelLAToken_(esConsumes(edm::ESInputTag("", iConfig.getParameter("recoLabel")))), + siPixelSimLAToken_(esConsumes((edm::ESInputTag("", iConfig.getParameter("simLabel"))))), + printdebug_(iConfig.getUntrackedParameter("printDebug", 10)), useSimRcd_(iConfig.getParameter("useSimRcd")) { usesResource(TFileService::kSharedResource); } @@ -74,8 +78,10 @@ void SiPixelLorentzAngleReader::analyze(const edm::Event& e, const edm::EventSet LorentzAngleForward_ = fs->make("LorentzAngleForwardPixel", "LorentzAngleForwardPixel", 150, 0, 0.15); std::map detid_la = SiPixelLorentzAngle_->getLorentzAngles(); std::map::const_iterator it; + unsigned int count = 0; for (it = detid_la.begin(); it != detid_la.end(); it++) { - if (printdebug_) { + count++; + if (count <= printdebug_) { edm::LogPrint("SiPixelLorentzAngleReader") << "detid " << it->first << " \t" << " Lorentz angle " << it->second << std::endl; } @@ -86,6 +92,18 @@ void SiPixelLorentzAngleReader::analyze(const edm::Event& e, const edm::EventSet LorentzAngleForward_->Fill(it->second); } } + edm::LogPrint("SiPixelLorentzAngleReader") + << "SiPixelLorentzAngleReader::" << __FUNCTION__ << "(...) :examined " << count << " DetIds" << std::endl; +} + +void SiPixelLorentzAngleReader::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + edm::ParameterSetDescription desc; + desc.setComment("EDAnalyzer to read per-module SiPixelLorentzAngle payloads in the EventSetup"); + desc.add("recoLabel", "")->setComment("label for the reconstruction tags"); + desc.add("simLabel", "")->setComment("label for the simulation tags"); + desc.addUntracked("printDebug", 10); + desc.add("useSimRcd", false); + descriptions.addWithDefaultLabel(desc); } #include "FWCore/Framework/interface/MakerMacros.h" diff --git a/CondTools/SiPixel/test/SiPixelLorentzAngleReader_cfg.py b/CondTools/SiPixel/test/SiPixelLorentzAngleReader_cfg.py index 00cadb169352a..b1197d86b6372 100644 --- a/CondTools/SiPixel/test/SiPixelLorentzAngleReader_cfg.py +++ b/CondTools/SiPixel/test/SiPixelLorentzAngleReader_cfg.py @@ -67,14 +67,17 @@ process.es_prefer_QualityReader = cms.ESPrefer("PoolDBESSource","QualityReader") process.LorentzAngleReader = cms.EDAnalyzer("SiPixelLorentzAngleReader", - printDebug = cms.untracked.bool(False), - useSimRcd = cms.bool(False) + printDebug = cms.untracked.uint32(10), + useSimRcd = cms.bool(False), + recoLabel = cms.string(""), + simLabel = cms.string("") ) process.LorentzAngleSimReader = cms.EDAnalyzer("SiPixelLorentzAngleReader", - printDebug = cms.untracked.bool(False), - useSimRcd = cms.bool(True) - + printDebug = cms.untracked.uint32(10), + useSimRcd = cms.bool(True), + recoLabel = cms.string(""), + simLabel = cms.string("") ) From 062c2c96ec70a94d37a14ee2325459aa3e0e102a Mon Sep 17 00:00:00 2001 From: Sunanda Date: Mon, 29 Nov 2021 20:29:21 +0100 Subject: [PATCH 203/268] Make use of ESGetToken in examples for SimG4CMS/Calo --- SimG4CMS/Calo/interface/ECalSD.h | 2 +- SimG4CMS/Calo/plugins/CaloSteppingAction.cc | 22 ++++++++++++--------- SimG4CMS/Calo/plugins/HcalTestAnalysis.cc | 18 +++++++++-------- SimG4CMS/Calo/src/CaloSD.cc | 1 - SimG4CMS/Calo/src/ECalSD.cc | 12 +++++------ 5 files changed, 29 insertions(+), 26 deletions(-) diff --git a/SimG4CMS/Calo/interface/ECalSD.h b/SimG4CMS/Calo/interface/ECalSD.h index 9a9f5791bfe22..db9851c9e0c34 100644 --- a/SimG4CMS/Calo/interface/ECalSD.h +++ b/SimG4CMS/Calo/interface/ECalSD.h @@ -57,7 +57,7 @@ class ECalSD : public CaloSD { // initialised before run const EcalSimulationParameters *ecalSimParameters_; - EcalNumberingScheme *numberingScheme_; + std::unique_ptr numberingScheme_; bool useWeight, storeTrack, storeRL, storeLayerTimeSim; bool useBirk, useBirkL3; double birk1, birk2, birk3, birkSlope, birkCut; diff --git a/SimG4CMS/Calo/plugins/CaloSteppingAction.cc b/SimG4CMS/Calo/plugins/CaloSteppingAction.cc index 02af73acc6c5b..3254a40d177d1 100644 --- a/SimG4CMS/Calo/plugins/CaloSteppingAction.cc +++ b/SimG4CMS/Calo/plugins/CaloSteppingAction.cc @@ -9,7 +9,6 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Utilities/interface/isFinite.h" @@ -35,7 +34,6 @@ #include "SimG4Core/Notification/interface/G4TrackToParticleID.h" #include "SimG4Core/Notification/interface/Observer.h" -#include "SimG4Core/Notification/interface/BeginOfJob.h" #include "SimG4Core/Notification/interface/BeginOfRun.h" #include "SimG4Core/Notification/interface/BeginOfEvent.h" #include "SimG4Core/Notification/interface/EndOfEvent.h" @@ -67,7 +65,6 @@ #include class CaloSteppingAction : public SimProducer, - public Observer, public Observer, public Observer, public Observer, @@ -76,13 +73,14 @@ class CaloSteppingAction : public SimProducer, CaloSteppingAction(const edm::ParameterSet& p); ~CaloSteppingAction() override; + void registerConsumes(edm::ConsumesCollector) override; void produce(edm::Event&, const edm::EventSetup&) override; + void beginRun(edm::EventSetup const &) override; private: void fillHits(edm::PCaloHitContainer& cc, int type); void fillPassiveHits(edm::PassiveHitContainer& cc); // observer classes - void update(const BeginOfJob* job) override; void update(const BeginOfRun* run) override; void update(const BeginOfEvent* evt) override; void update(const G4Step* step) override; @@ -102,6 +100,7 @@ class CaloSteppingAction : public SimProducer, std::unique_ptr eeNumberingScheme_; std::unique_ptr hcNumberingPS_; #ifdef HcalNumberingTest + edm::ESGetToken ddconsToken_; std::unique_ptr hcNumbering_; #endif std::unique_ptr hcNumberingScheme_; @@ -177,6 +176,13 @@ CaloSteppingAction::~CaloSteppingAction() { << "selected entries : " << count_; } +void CaloSteppingAction::registerConsumes(edm::ConsumesCollector cc) { +#ifdef HcalNumberingTest + ddconsToken_ = cc.esConsumes(); + edm::LogVerbatim("Step") << "CaloSteppingAction::Initialize ESGetToken for HcalDDDSimConstants"; +#endif +} + void CaloSteppingAction::produce(edm::Event& e, const edm::EventSetup&) { for (int k = 0; k < CaloSteppingAction::nSD_; ++k) { saveHits(k); @@ -220,14 +226,12 @@ void CaloSteppingAction::fillPassiveHits(edm::PassiveHitContainer& cc) { } } -void CaloSteppingAction::update(const BeginOfJob* job) { - edm::LogVerbatim("Step") << "CaloSteppingAction:: Enter BeginOfJob"; +void CaloSteppingAction::beginRun(edm::EventSetup const &es) { + edm::LogVerbatim("Step") << "CaloSteppingAction:: Enter BeginOfRun"; #ifdef HcalNumberingTest // Numbering From DDD - edm::ESHandle hdc; - (*job)()->get().get(hdc); - const HcalDDDSimConstants* hcons_ = hdc.product(); + const HcalDDDSimConstants* hcons_ = &es.getData(ddconsToken_); edm::LogVerbatim("Step") << "CaloSteppingAction:: Initialise " << "HcalNumberingFromDDD"; hcNumbering_ = std::make_unique(hcons_); diff --git a/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc b/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc index 4b33805e37be2..19430b6379e04 100644 --- a/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc +++ b/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc @@ -1,4 +1,3 @@ -#include "SimG4Core/Notification/interface/BeginOfJob.h" #include "SimG4Core/Notification/interface/BeginOfRun.h" #include "SimG4Core/Notification/interface/BeginOfEvent.h" #include "SimG4Core/Notification/interface/EndOfEvent.h" @@ -13,7 +12,6 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "Geometry/HcalCommonData/interface/HcalNumberingFromDDD.h" #include "Geometry/HcalCommonData/interface/HcalDDDSimConstants.h" @@ -42,7 +40,6 @@ #include class HcalTestAnalysis : public SimProducer, - public Observer, public Observer, public Observer, public Observer, @@ -51,11 +48,12 @@ class HcalTestAnalysis : public SimProducer, HcalTestAnalysis(const edm::ParameterSet& p); ~HcalTestAnalysis() override; + void registerConsumes(edm::ConsumesCollector) override; void produce(edm::Event&, const edm::EventSetup&) override; + void beginRun(edm::EventSetup const &) override; private: // observer classes - void update(const BeginOfJob* run) override; void update(const BeginOfRun* run) override; void update(const BeginOfEvent* evt) override; void update(const EndOfEvent* evt) override; @@ -81,6 +79,7 @@ class HcalTestAnalysis : public SimProducer, std::unique_ptr tuples_; // Numbering scheme + edm::ESGetToken ddconsToken_; std::unique_ptr numberingFromDDD_; const HcalDDDSimConstants* hcons_; HcalTestNumberingScheme* org_; @@ -139,6 +138,11 @@ HcalTestAnalysis::~HcalTestAnalysis() { edm::LogVerbatim("HcalSim") << "HcalTestAnalysis: Pointers:: Numbering Scheme " << org_; } +void HcalTestAnalysis::registerConsumes(edm::ConsumesCollector cc) { + ddconsToken_ = cc.esConsumes(); + edm::LogVerbatim("HcalSim") << "HcalTestAnalysis::Initialize ESGetToken for HcalDDDSimConstants"; +} + void HcalTestAnalysis::produce(edm::Event& e, const edm::EventSetup&) { e.put(std::move(tuples_)); tuples_.reset(nullptr); @@ -214,11 +218,9 @@ std::vector HcalTestAnalysis::towersToAdd(int centre, int nadd) { //==================================================================== per JOB -void HcalTestAnalysis::update(const BeginOfJob* job) { +void HcalTestAnalysis::beginRun(edm::EventSetup const &es) { // Numbering From DDD - edm::ESHandle hdc; - (*job)()->get().get(hdc); - hcons_ = hdc.product(); + hcons_ = &es.getData(ddconsToken_); edm::LogVerbatim("HcalSim") << "HcalTestAnalysis:: Initialise HcalNumberingFromDDD for " << names_[0]; numberingFromDDD_ = std::make_unique(hcons_); diff --git a/SimG4CMS/Calo/src/CaloSD.cc b/SimG4CMS/Calo/src/CaloSD.cc index 385f89c5b48ad..e3449046b2ef7 100644 --- a/SimG4CMS/Calo/src/CaloSD.cc +++ b/SimG4CMS/Calo/src/CaloSD.cc @@ -8,7 +8,6 @@ #include "SimG4Core/Notification/interface/TrackInformation.h" #include "SimG4Core/Notification/interface/G4TrackToParticleID.h" #include "SimG4Core/Notification/interface/SimTrackManager.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Utilities/interface/Exception.h" diff --git a/SimG4CMS/Calo/src/ECalSD.cc b/SimG4CMS/Calo/src/ECalSD.cc index a7e445a8ad8bd..3ba083fea6d0c 100644 --- a/SimG4CMS/Calo/src/ECalSD.cc +++ b/SimG4CMS/Calo/src/ECalSD.cc @@ -49,8 +49,8 @@ ECalSD::ECalSD(const std::string& name, manager, (float)(p.getParameter("ECalSD").getParameter("TimeSliceUnit")), p.getParameter("ECalSD").getParameter("IgnoreTrackID")), - ecalSimParameters_(ecpar), - numberingScheme_(nullptr) { + ecalSimParameters_(ecpar) { + numberingScheme_.reset(nullptr); // static SimpleConfigurable on1(false, "ECalSD:UseBirkLaw"); // static SimpleConfigurable bk1(0.00463,"ECalSD:BirkC1"); // static SimpleConfigurable bk2(-0.03, "ECalSD:BirkC2"); @@ -175,7 +175,7 @@ ECalSD::ECalSD(const std::string& name, } } -ECalSD::~ECalSD() { delete numberingScheme_; } +ECalSD::~ECalSD() {} double ECalSD::getEnergyDeposit(const G4Step* aStep) { const G4StepPoint* preStepPoint = aStep->GetPreStepPoint(); @@ -316,7 +316,7 @@ uint16_t ECalSD::getLayerIDForTimeSim() { } uint32_t ECalSD::setDetUnitId(const G4Step* aStep) { - if (numberingScheme_ == nullptr) { + if (numberingScheme_.get() == nullptr) { return EBDetId(1, 1)(); } else { getBaseNumber(aStep); @@ -327,9 +327,7 @@ uint32_t ECalSD::setDetUnitId(const G4Step* aStep) { void ECalSD::setNumberingScheme(EcalNumberingScheme* scheme) { if (scheme != nullptr) { edm::LogVerbatim("EcalSim") << "EcalSD: updates numbering scheme for " << GetName(); - if (numberingScheme_) - delete numberingScheme_; - numberingScheme_ = scheme; + numberingScheme_.reset(scheme); } } From 56a83103dd9ae728e085cb5a12486538e70ab2d0 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Mon, 29 Nov 2021 21:05:34 +0100 Subject: [PATCH 204/268] Code check --- SimG4CMS/Calo/plugins/CaloSteppingAction.cc | 4 ++-- SimG4CMS/Calo/plugins/HcalTestAnalysis.cc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SimG4CMS/Calo/plugins/CaloSteppingAction.cc b/SimG4CMS/Calo/plugins/CaloSteppingAction.cc index 3254a40d177d1..55c54701e6dbe 100644 --- a/SimG4CMS/Calo/plugins/CaloSteppingAction.cc +++ b/SimG4CMS/Calo/plugins/CaloSteppingAction.cc @@ -75,7 +75,7 @@ class CaloSteppingAction : public SimProducer, void registerConsumes(edm::ConsumesCollector) override; void produce(edm::Event&, const edm::EventSetup&) override; - void beginRun(edm::EventSetup const &) override; + void beginRun(edm::EventSetup const&) override; private: void fillHits(edm::PCaloHitContainer& cc, int type); @@ -226,7 +226,7 @@ void CaloSteppingAction::fillPassiveHits(edm::PassiveHitContainer& cc) { } } -void CaloSteppingAction::beginRun(edm::EventSetup const &es) { +void CaloSteppingAction::beginRun(edm::EventSetup const& es) { edm::LogVerbatim("Step") << "CaloSteppingAction:: Enter BeginOfRun"; #ifdef HcalNumberingTest diff --git a/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc b/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc index 19430b6379e04..8d9376c714a83 100644 --- a/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc +++ b/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc @@ -50,7 +50,7 @@ class HcalTestAnalysis : public SimProducer, void registerConsumes(edm::ConsumesCollector) override; void produce(edm::Event&, const edm::EventSetup&) override; - void beginRun(edm::EventSetup const &) override; + void beginRun(edm::EventSetup const&) override; private: // observer classes @@ -218,7 +218,7 @@ std::vector HcalTestAnalysis::towersToAdd(int centre, int nadd) { //==================================================================== per JOB -void HcalTestAnalysis::beginRun(edm::EventSetup const &es) { +void HcalTestAnalysis::beginRun(edm::EventSetup const& es) { // Numbering From DDD hcons_ = &es.getData(ddconsToken_); edm::LogVerbatim("HcalSim") << "HcalTestAnalysis:: Initialise HcalNumberingFromDDD for " << names_[0]; From 79a0d1c00e5f0ecda71c81e91e94c174c82e2a76 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Mon, 29 Nov 2021 22:57:33 +0100 Subject: [PATCH 205/268] Make use of ESGetToken in some of the classes in SimG4Core/HelpfulWatchers --- .../interface/MonopoleSteppingAction.h | 8 +++-- .../src/MonopoleSteppingAction.cc | 34 +++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/SimG4Core/HelpfulWatchers/interface/MonopoleSteppingAction.h b/SimG4Core/HelpfulWatchers/interface/MonopoleSteppingAction.h index 869f8efd35bfd..7ce17d09be95b 100644 --- a/SimG4Core/HelpfulWatchers/interface/MonopoleSteppingAction.h +++ b/SimG4Core/HelpfulWatchers/interface/MonopoleSteppingAction.h @@ -4,28 +4,30 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "SimG4Core/Notification/interface/Observer.h" #include "SimG4Core/Watcher/interface/SimWatcher.h" +#include "MagneticField/Engine/interface/MagneticField.h" +#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" #include "G4Step.hh" #include -class BeginOfJob; class BeginOfRun; class BeginOfTrack; class MonopoleSteppingAction : public SimWatcher, - public Observer, public Observer, public Observer, public Observer { public: MonopoleSteppingAction(edm::ParameterSet const &p); ~MonopoleSteppingAction() override; - void update(const BeginOfJob *) override; + void registerConsumes(edm::ConsumesCollector) override; + void beginRun(edm::EventSetup const &) override; void update(const BeginOfRun *) override; void update(const BeginOfTrack *) override; void update(const G4Step *) override; private: + edm::ESGetToken tok_bFieldH_; bool mode, actOnTrack; std::vector pdgCode; double eStart, pxStart, pyStart, pzStart; diff --git a/SimG4Core/HelpfulWatchers/src/MonopoleSteppingAction.cc b/SimG4Core/HelpfulWatchers/src/MonopoleSteppingAction.cc index f7a5d07d512df..32e91fccd33a9 100644 --- a/SimG4Core/HelpfulWatchers/src/MonopoleSteppingAction.cc +++ b/SimG4Core/HelpfulWatchers/src/MonopoleSteppingAction.cc @@ -1,6 +1,5 @@ #include "SimG4Core/HelpfulWatchers/interface/MonopoleSteppingAction.h" -#include "SimG4Core/Notification/interface/BeginOfJob.h" #include "SimG4Core/Notification/interface/BeginOfRun.h" #include "SimG4Core/Notification/interface/BeginOfTrack.h" #include "SimG4Core/Physics/interface/Monopole.h" @@ -9,9 +8,6 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "MagneticField/Engine/interface/MagneticField.h" -#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" - #include "G4Event.hh" #include "G4ParticleTable.hh" #include "G4Run.hh" @@ -22,21 +18,23 @@ MonopoleSteppingAction::MonopoleSteppingAction(edm::ParameterSet const &p) : actOnTrack(false), bZ(0) { mode = p.getUntrackedParameter("ChangeFromFirstStep", true); - edm::LogInfo("SimG4CoreWatcher") << "MonopoleSeppingAction set mode for" - << " start at first step to " << mode; + edm::LogVerbatim("SimG4CoreWatcher") << "MonopoleSeppingAction set mode for" + << " start at first step to " << mode; } MonopoleSteppingAction::~MonopoleSteppingAction() {} -void MonopoleSteppingAction::update(const BeginOfJob *job) { - const edm::EventSetup *iSetup = (*job)(); - edm::ESHandle bFieldH; - iSetup->get().get(bFieldH); - const MagneticField *bField = bFieldH.product(); +void MonopoleSteppingAction::registerConsumes(edm::ConsumesCollector cc) { + tok_bFieldH_ = cc.esConsumes(); + edm::LogVerbatim("SimG4CoreWatcher") << "MonopoleSteppingAction::Initialize ESGetToken for MagneticField"; +} + +void MonopoleSteppingAction::beginRun(edm::EventSetup const &es) { + const MagneticField *bField = &es.getData(tok_bFieldH_); const GlobalPoint p(0, 0, 0); bZ = (bField->inTesla(p)).z(); - edm::LogInfo("SimG4CoreWatcher") << "Magnetic Field (X): " << (bField->inTesla(p)).x() - << " Y: " << (bField->inTesla(p)).y() << " Z: " << bZ; + edm::LogVerbatim("SimG4CoreWatcher") << "Magnetic Field (X): " << (bField->inTesla(p)).x() + << " Y: " << (bField->inTesla(p)).y() << " Z: " << bZ; } void MonopoleSteppingAction::update(const BeginOfRun *) { @@ -50,16 +48,16 @@ void MonopoleSteppingAction::update(const BeginOfRun *) { pdgCode.push_back(particle->GetPDGEncoding()); } } - edm::LogInfo("SimG4CoreWatcher") << "MonopoleSeppingAction Finds " << pdgCode.size() << " candidates"; + edm::LogVerbatim("SimG4CoreWatcher") << "MonopoleSeppingAction Finds " << pdgCode.size() << " candidates"; for (unsigned int ii = 0; ii < pdgCode.size(); ++ii) { - edm::LogInfo("SimG4CoreWatcher") << "PDG Code[" << ii << "] = " << pdgCode[ii]; + edm::LogVerbatim("SimG4CoreWatcher") << "PDG Code[" << ii << "] = " << pdgCode[ii]; } cMevToJ = CLHEP::e_SI / CLHEP::eV; cMeVToKgMByS = CLHEP::e_SI * CLHEP::meter / (CLHEP::eV * CLHEP::c_light * CLHEP::second); cInMByS = CLHEP::c_light * CLHEP::second / CLHEP::meter; - edm::LogInfo("SimG4CoreWatcher") << "MonopoleSeppingAction Constants:" - << " MevToJoules = " << cMevToJ << ", MevToKgm/s = " << cMeVToKgMByS - << ", c in m/s = " << cInMByS << ", mag. charge = " << magCharge; + edm::LogVerbatim("SimG4CoreWatcher") << "MonopoleSeppingAction Constants:" + << " MevToJoules = " << cMevToJ << ", MevToKgm/s = " << cMeVToKgMByS + << ", c in m/s = " << cInMByS << ", mag. charge = " << magCharge; } void MonopoleSteppingAction::update(const BeginOfTrack *trk) { From 6694c62dcff3beed798ab0612296bd134db83182 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Mon, 29 Nov 2021 23:19:34 +0100 Subject: [PATCH 206/268] code check --- SimG4Core/HelpfulWatchers/src/MonopoleSteppingAction.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SimG4Core/HelpfulWatchers/src/MonopoleSteppingAction.cc b/SimG4Core/HelpfulWatchers/src/MonopoleSteppingAction.cc index 32e91fccd33a9..5d0aff4a6cb7b 100644 --- a/SimG4Core/HelpfulWatchers/src/MonopoleSteppingAction.cc +++ b/SimG4Core/HelpfulWatchers/src/MonopoleSteppingAction.cc @@ -19,7 +19,7 @@ MonopoleSteppingAction::MonopoleSteppingAction(edm::ParameterSet const &p) : actOnTrack(false), bZ(0) { mode = p.getUntrackedParameter("ChangeFromFirstStep", true); edm::LogVerbatim("SimG4CoreWatcher") << "MonopoleSeppingAction set mode for" - << " start at first step to " << mode; + << " start at first step to " << mode; } MonopoleSteppingAction::~MonopoleSteppingAction() {} @@ -34,7 +34,7 @@ void MonopoleSteppingAction::beginRun(edm::EventSetup const &es) { const GlobalPoint p(0, 0, 0); bZ = (bField->inTesla(p)).z(); edm::LogVerbatim("SimG4CoreWatcher") << "Magnetic Field (X): " << (bField->inTesla(p)).x() - << " Y: " << (bField->inTesla(p)).y() << " Z: " << bZ; + << " Y: " << (bField->inTesla(p)).y() << " Z: " << bZ; } void MonopoleSteppingAction::update(const BeginOfRun *) { @@ -56,8 +56,8 @@ void MonopoleSteppingAction::update(const BeginOfRun *) { cMeVToKgMByS = CLHEP::e_SI * CLHEP::meter / (CLHEP::eV * CLHEP::c_light * CLHEP::second); cInMByS = CLHEP::c_light * CLHEP::second / CLHEP::meter; edm::LogVerbatim("SimG4CoreWatcher") << "MonopoleSeppingAction Constants:" - << " MevToJoules = " << cMevToJ << ", MevToKgm/s = " << cMeVToKgMByS - << ", c in m/s = " << cInMByS << ", mag. charge = " << magCharge; + << " MevToJoules = " << cMevToJ << ", MevToKgm/s = " << cMeVToKgMByS + << ", c in m/s = " << cInMByS << ", mag. charge = " << magCharge; } void MonopoleSteppingAction::update(const BeginOfTrack *trk) { From 73de00132362cced6c078c59110db4f7e483d4b3 Mon Sep 17 00:00:00 2001 From: Wagner Carvalho Date: Tue, 30 Nov 2021 00:37:55 +0100 Subject: [PATCH 207/268] Fix the data type being passed to writeOneIOV --- CondTools/CTPPS/plugins/WritePPSAssociationCuts.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CondTools/CTPPS/plugins/WritePPSAssociationCuts.cc b/CondTools/CTPPS/plugins/WritePPSAssociationCuts.cc index 6d2dbe84b2409..26cf7b5560adc 100644 --- a/CondTools/CTPPS/plugins/WritePPSAssociationCuts.cc +++ b/CondTools/CTPPS/plugins/WritePPSAssociationCuts.cc @@ -41,7 +41,7 @@ void WritePPSAssociationCuts::analyze(const edm::Event &iEvent, const edm::Event // store the data in a DB object edm::Service poolDbService; if (poolDbService.isAvailable()) { - poolDbService->writeOneIOV(&ppsAssociationCuts, poolDbService->currentTime(), "PPSAssociationCutsRcd"); + poolDbService->writeOneIOV(ppsAssociationCuts, poolDbService->currentTime(), "PPSAssociationCutsRcd"); } else { throw cms::Exception("WritePPSAssociationCuts") << "PoolDBService required."; } From c1a33898a633cbd3fe6bde9b6e906463722500cd Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Thu, 28 Oct 2021 12:32:49 -0500 Subject: [PATCH 208/268] Put ALCT-CLCT matching in a separate function, so it can be reused in the CSCGEMMotherboard class --- .../interface/CSCGEMMotherboard.h | 7 +- .../interface/CSCMotherboard.h | 17 ++ .../interface/GEMClusterProcessor.h | 11 +- .../python/params/tmbParams.py | 2 + .../src/CSCGEMMotherboard.cc | 223 +++++++++--------- .../src/CSCMotherboard.cc | 16 +- .../src/GEMClusterProcessor.cc | 21 +- 7 files changed, 164 insertions(+), 133 deletions(-) diff --git a/L1Trigger/CSCTriggerPrimitives/interface/CSCGEMMotherboard.h b/L1Trigger/CSCTriggerPrimitives/interface/CSCGEMMotherboard.h index 798089af923e3..8975cf8122412 100644 --- a/L1Trigger/CSCTriggerPrimitives/interface/CSCGEMMotherboard.h +++ b/L1Trigger/CSCTriggerPrimitives/interface/CSCGEMMotherboard.h @@ -53,9 +53,12 @@ class CSCGEMMotherboard : public CSCMotherboard { void setGEMGeometry(const GEMGeometry* g) { gem_g = g; } private: - // match ALCT-CLCT-GEM pairs + // match ALCT-CLCT-(2)GEM pairs void matchALCTCLCTGEM(bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS]); + // match ALCT-CLCT pairs + void matchALCTCLCT(bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS]); + // match CLCT-2GEM pairs. The GEM coincidence cluster BX is considered the // reference void matchCLCT2GEM(bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS]); @@ -141,6 +144,8 @@ class CSCGEMMotherboard : public CSCMotherboard { bool drop_low_quality_clct_no_gems_; // build LCT from ALCT/CLCT and GEM in ME1/b or ME2/1 + bool build_lct_from_alct_clct_2gem_; + bool build_lct_from_alct_clct_1gem_; bool build_lct_from_alct_gem_; bool build_lct_from_clct_gem_; diff --git a/L1Trigger/CSCTriggerPrimitives/interface/CSCMotherboard.h b/L1Trigger/CSCTriggerPrimitives/interface/CSCMotherboard.h index a496c021a48bf..b7b6dfe79a63d 100644 --- a/L1Trigger/CSCTriggerPrimitives/interface/CSCMotherboard.h +++ b/L1Trigger/CSCTriggerPrimitives/interface/CSCMotherboard.h @@ -181,6 +181,23 @@ class CSCMotherboard : public CSCBaseboard { /** Make sure that the parameter values are within the allowed range. */ void checkConfigParameters(); + /* + For valid ALCTs in the trigger time window, look for CLCTs within the + match-time window. Valid CLCTs are matched in-time. If a match was found + for the best ALCT and best CLCT, also the second best ALCT and second + best CLCT are sent to a correlation function "correlateLCTs" that will + make the best-best pair and second-second pair (if applicable). This + "matchALCTCLCT" function used to be directly in the "run" function, but + was put in a separate procedure so it can be reused for the GEM-CSC + motherboards. The argument is a mask, which plays no role for regular + CSC motherboards (TMB or OTMB). It does play a role in the GEM-CSC + motherboard. Different kinds of LCTs can be made there (see + CSCGEMMotherboard class), and the matching follows a sequence of priority + (first ALCT-CLCT-(2)GEM, then ALCT-CLCT, then CLCT-2GEM, then ALCT-2GEM). + At each step bunch crossings are masked where at least one LCT was found. + */ + void matchALCTCLCT(bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS]); + /* This function matches maximum two ALCTs with maximum two CLCTs in a bunch crossing. The best ALCT is considered the one with the highest diff --git a/L1Trigger/CSCTriggerPrimitives/interface/GEMClusterProcessor.h b/L1Trigger/CSCTriggerPrimitives/interface/GEMClusterProcessor.h index f61663044fd16..2878d150c46b5 100644 --- a/L1Trigger/CSCTriggerPrimitives/interface/GEMClusterProcessor.h +++ b/L1Trigger/CSCTriggerPrimitives/interface/GEMClusterProcessor.h @@ -27,11 +27,12 @@ class GEMClusterProcessor { /** Runs the CoPad processor code. */ void run(const GEMPadDigiClusterCollection*); - /* Returns clusters for a given BX */ - std::vector getClusters(int bx) const; - - /* Returns clusters around deltaBX for a given BX */ - std::vector getClusters(int bx, int deltaBX) const; + /* Returns clusters around deltaBX for a given BX + The parameter option determines which clusters should be returned + 1: single and coincidence, 2: only coincidence, 3: only single + */ + enum ClusterTypes { AllClusters = 1, SingleClusters = 2, CoincidenceClusters = 3 }; + std::vector getClusters(int bx, int deltaBX = 0, ClusterTypes option = AllClusters) const; /* Returns coincidence clusters for a given BX */ std::vector getCoincidenceClusters(int bx) const; diff --git a/L1Trigger/CSCTriggerPrimitives/python/params/tmbParams.py b/L1Trigger/CSCTriggerPrimitives/python/params/tmbParams.py index a3eb50be5b0e6..880d952744e03 100644 --- a/L1Trigger/CSCTriggerPrimitives/python/params/tmbParams.py +++ b/L1Trigger/CSCTriggerPrimitives/python/params/tmbParams.py @@ -66,6 +66,8 @@ # efficiency recovery switches dropLowQualityALCTsNoGEMs = cms.bool(False), dropLowQualityCLCTsNoGEMs = cms.bool(True), + buildLCTfromALCTCLCTand2GEM = cms.bool(True), + buildLCTfromALCTCLCTand1GEM = cms.bool(True), buildLCTfromALCTandGEM = cms.bool(True), buildLCTfromCLCTandGEM = cms.bool(True), # assign GEM-CSC bending angle. Works only for diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMotherboard.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMotherboard.cc index b987b1657432c..9bb8be3d18b16 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMotherboard.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMotherboard.cc @@ -10,6 +10,8 @@ CSCGEMMotherboard::CSCGEMMotherboard(unsigned endcap, : CSCMotherboard(endcap, station, sector, subsector, chamber, conf), drop_low_quality_alct_no_gems_(tmbParams_.getParameter("dropLowQualityALCTsNoGEMs")), drop_low_quality_clct_no_gems_(tmbParams_.getParameter("dropLowQualityCLCTsNoGEMs")), + build_lct_from_alct_clct_2gem_(tmbParams_.getParameter("buildLCTfromALCTCLCTand2GEM")), + build_lct_from_alct_clct_1gem_(tmbParams_.getParameter("buildLCTfromALCTCLCTand1GEM")), build_lct_from_alct_gem_(tmbParams_.getParameter("buildLCTfromALCTandGEM")), build_lct_from_clct_gem_(tmbParams_.getParameter("buildLCTfromCLCTandGEM")) { // case for ME1/1 @@ -104,32 +106,47 @@ void CSCGEMMotherboard::run(const CSCWireDigiCollection* wiredc, /* Mask for bunch crossings were LCTs were previously found - If LCTs were found in BXi for ALCT-CLCT-2GEM, ALCT-CLCT-1GEM - or ALCT-CLCT matches, we do not consider BXi in the future. This is - because we consider ALCT-CLCT-2GEM, ALCT-CLCT-1GEM, ALCT-CLCT of - higher quality than CLCT-2GEM and ALCT-2GEM LCTs. The mask is passsed - from one function to the next. + If LCTs were found in BXi for ALCT-CLCT-2GEM or ALCT-CLCT-1GEM, + we do not consider BXi in the future. This is + because we consider ALCT-CLCT-2GEM > ALCT-CLCT-1GEM > ALCT-CLCT + > CLCT-2GEM > ALCT-2GEM. The mask is passsed from one function to the next. */ bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS] = {false}; - // Step 4: ALCT-centric matching - matchALCTCLCTGEM(bunch_crossing_mask); + // Step 4: ALCT-CLCT-2GEM and ALCT-CLCT-1GEM matching + if (build_lct_from_alct_clct_2gem_ or build_lct_from_alct_clct_1gem_) { + matchALCTCLCTGEM(bunch_crossing_mask); + } + + // Step 5: regular ALCT-CLCT matching (always enabled) + CSCMotherboard::matchALCTCLCT(bunch_crossing_mask); - // Step 5: CLCT-2GEM matching for BX's that were not previously masked + // Step 6: CLCT-2GEM matching for BX's that were not previously masked if (build_lct_from_clct_gem_) { matchCLCT2GEM(bunch_crossing_mask); } - // Step 6: ALCT-2GEM matching for BX's that were not previously masked + // Step 7: ALCT-2GEM matching for BX's that were not previously masked if (build_lct_from_alct_gem_) { matchALCT2GEM(bunch_crossing_mask); } - // Step 7: Select at most 2 LCTs per BX + // Step 8: Select at most 2 LCTs per BX selectLCTs(); } void CSCGEMMotherboard::matchALCTCLCTGEM(bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS]) { + // no matching is done for GE2/1 geometries with 8 eta partitions + if (isME21_ and !hasGE21Geometry16Partitions_) + return; + + // check if we can build LCTs with exclusively 1 GEM, exclusive 2 GEM, + // or inclusively 1 or 2 GEM hits + GEMClusterProcessor::ClusterTypes option = GEMClusterProcessor::AllClusters; + ; + if (!build_lct_from_alct_clct_2gem_) + option = GEMClusterProcessor::CoincidenceClusters; + // array to mask CLCTs bool used_clct_mask[CSCConstants::MAX_CLCT_TBINS] = {false}; @@ -157,7 +174,7 @@ void CSCGEMMotherboard::matchALCTCLCTGEM(bool bunch_crossing_mask[CSCConstants:: alctProc->getSecondALCT(bx_alct), clctProc->getBestCLCT(bx_clct), clctProc->getSecondCLCT(bx_clct), - clusterProc_->getClusters(bx_alct, max_delta_bx_alct_gem_), + clusterProc_->getClusters(bx_alct, max_delta_bx_alct_gem_, option), allLCTs_(bx_alct, mbx, 0), allLCTs_(bx_alct, mbx, 1)); @@ -292,116 +309,102 @@ void CSCGEMMotherboard::correlateLCTsGEM(const CSCALCTDigi& bALCT, const GEMInternalClusters& clusters, CSCCorrelatedLCTDigi& lct1, CSCCorrelatedLCTDigi& lct2) const { - if (isME21_ and !hasGE21Geometry16Partitions_) { - // This is an 8-eta partition GE2/1 geometry for which the GE2/1-ME2/1 integrated - // local trigger is not configured. Matching only ALCTs with CLCTs in ME2/1. + // case where there no valid clusters + if (clusters.empty()) + return; - // do regular ALCT-CLCT correlation - CSCMotherboard::correlateLCTs(bALCT, sALCT, bCLCT, sCLCT, lct1, lct2, CSCCorrelatedLCTDigi::ALCTCLCT); - } else { - // temporary container - std::vector lcts; + // temporary container + std::vector lcts; - CSCALCTDigi bestALCT = bALCT; - CSCALCTDigi secondALCT = sALCT; - CSCCLCTDigi bestCLCT = bCLCT; - CSCCLCTDigi secondCLCT = sCLCT; + CSCALCTDigi bestALCT = bALCT; + CSCALCTDigi secondALCT = sALCT; + CSCCLCTDigi bestCLCT = bCLCT; + CSCCLCTDigi secondCLCT = sCLCT; - if (!bestALCT.isValid()) { - edm::LogError("CSCGEMMotherboard") << "Best ALCT invalid in correlateLCTsGEM!"; - return; - } + // Sanity checks on the ALCT and CLCT + if (!bestALCT.isValid()) { + edm::LogError("CSCGEMMotherboard") << "Best ALCT invalid in correlateLCTsGEM!"; + return; + } - if (!bestCLCT.isValid()) { - edm::LogError("CSCGEMMotherboard") << "Best CLCT invalid in correlateLCTsGEM!"; - return; - } + if (!bestCLCT.isValid()) { + edm::LogError("CSCGEMMotherboard") << "Best CLCT invalid in correlateLCTsGEM!"; + return; + } - // case where there no valid clusters - if (clusters.empty()) { - // drop the low-quality ALCTs and CLCTs - dropLowQualityALCTNoClusters(bestALCT, GEMInternalCluster()); - dropLowQualityALCTNoClusters(secondALCT, GEMInternalCluster()); - dropLowQualityCLCTNoClusters(bestCLCT, GEMInternalCluster()); - dropLowQualityCLCTNoClusters(secondCLCT, GEMInternalCluster()); + // at this point, we have at least one valid cluster, and we're either dealing + // wit GE1/1 or GE2/1 with 16 partitions, both are OK for GEM-CSC trigger - // do regular ALCT-CLCT correlation - CSCMotherboard::correlateLCTs(bALCT, sALCT, bCLCT, sCLCT, lct1, lct2, CSCCorrelatedLCTDigi::ALCTCLCT); - } - // case with at least one valid cluster - else { - // before matching ALCT-CLCT pairs with clusters, we check if we need - // to drop particular low quality ALCTs or CLCTs without matching clusters - // drop low quality CLCTs if no clusters and flags are set - GEMInternalCluster bestALCTCluster, secondALCTCluster; - GEMInternalCluster bestCLCTCluster, secondCLCTCluster; - cscGEMMatcher_->bestClusterBXLoc(bestALCT, clusters, bestALCTCluster); - cscGEMMatcher_->bestClusterBXLoc(secondALCT, clusters, secondALCTCluster); - cscGEMMatcher_->bestClusterBXLoc(bestCLCT, clusters, bestCLCTCluster); - cscGEMMatcher_->bestClusterBXLoc(secondCLCT, clusters, secondCLCTCluster); - - dropLowQualityALCTNoClusters(bestALCT, bestALCTCluster); - dropLowQualityALCTNoClusters(secondALCT, secondALCTCluster); - dropLowQualityCLCTNoClusters(bestCLCT, bestCLCTCluster); - dropLowQualityCLCTNoClusters(secondCLCT, secondCLCTCluster); - - // check which ALCTs and CLCTs are valid after dropping the low-quality ones - copyValidToInValid(bestALCT, secondALCT, bestCLCT, secondCLCT); - - // We can now check possible triplets and construct all LCTs with - // valid ALCT, valid CLCTs and coincidence clusters - GEMInternalCluster bbCluster, bsCluster, sbCluster, ssCluster; - cscGEMMatcher_->bestClusterBXLoc(bestALCT, bestCLCT, clusters, bbCluster); - cscGEMMatcher_->bestClusterBXLoc(bestALCT, secondCLCT, clusters, bsCluster); - cscGEMMatcher_->bestClusterBXLoc(secondALCT, bestCLCT, clusters, sbCluster); - cscGEMMatcher_->bestClusterBXLoc(secondALCT, secondCLCT, clusters, ssCluster); - - // At this point it is still possible that certain pairs with high-quality - // ALCTs and CLCTs do not have matching clusters. In that case we construct - // a regular ALCT-CLCT type LCT. For instance, it could be that two muons went - // through the chamber, produced 2 ALCTs, 2 CLCTs, but only 1 GEM cluster - because - // GEM cluster efficiency is not 100% (closer to 95%). So we don't require - // all clusters to be valid. If they are valid, the LCTs is constructed accordingly. - // But we do require that the ALCT and CLCT are valid for each pair. - CSCCorrelatedLCTDigi lctbb, lctbs, lctsb, lctss; - if (bestALCT.isValid() and bestCLCT.isValid()) { - constructLCTsGEM(bestALCT, bestCLCT, bbCluster, lctbb); - lcts.push_back(lctbb); - } - if (bestALCT.isValid() and secondCLCT.isValid() and (secondCLCT != bestCLCT)) { - constructLCTsGEM(bestALCT, secondCLCT, bsCluster, lctbs); - lcts.push_back(lctbs); - } - if (bestCLCT.isValid() and secondALCT.isValid() and (secondALCT != bestALCT)) { - constructLCTsGEM(secondALCT, bestCLCT, sbCluster, lctsb); - lcts.push_back(lctsb); - } - if (secondALCT.isValid() and secondCLCT.isValid() and (secondALCT != bestALCT) and (secondCLCT != bestCLCT)) { - constructLCTsGEM(secondALCT, secondCLCT, ssCluster, lctss); - lcts.push_back(lctss); - } + // before matching ALCT-CLCT pairs with clusters, we check if we need + // to drop particular low quality ALCTs or CLCTs without matching clusters + // drop low quality CLCTs if no clusters and flags are set + GEMInternalCluster bestALCTCluster, secondALCTCluster; + GEMInternalCluster bestCLCTCluster, secondCLCTCluster; + cscGEMMatcher_->bestClusterBXLoc(bestALCT, clusters, bestALCTCluster); + cscGEMMatcher_->bestClusterBXLoc(secondALCT, clusters, secondALCTCluster); + cscGEMMatcher_->bestClusterBXLoc(bestCLCT, clusters, bestCLCTCluster); + cscGEMMatcher_->bestClusterBXLoc(secondCLCT, clusters, secondCLCTCluster); + + dropLowQualityALCTNoClusters(bestALCT, bestALCTCluster); + dropLowQualityALCTNoClusters(secondALCT, secondALCTCluster); + dropLowQualityCLCTNoClusters(bestCLCT, bestCLCTCluster); + dropLowQualityCLCTNoClusters(secondCLCT, secondCLCTCluster); + + // check which ALCTs and CLCTs are valid after dropping the low-quality ones + copyValidToInValid(bestALCT, secondALCT, bestCLCT, secondCLCT); + + // We can now check possible triplets and construct all LCTs with + // valid ALCT, valid CLCTs and coincidence clusters + GEMInternalCluster bbCluster, bsCluster, sbCluster, ssCluster; + cscGEMMatcher_->bestClusterBXLoc(bestALCT, bestCLCT, clusters, bbCluster); + cscGEMMatcher_->bestClusterBXLoc(bestALCT, secondCLCT, clusters, bsCluster); + cscGEMMatcher_->bestClusterBXLoc(secondALCT, bestCLCT, clusters, sbCluster); + cscGEMMatcher_->bestClusterBXLoc(secondALCT, secondCLCT, clusters, ssCluster); + + // At this point it is still possible that certain pairs with high-quality + // ALCTs and CLCTs do not have matching clusters. In that case we construct + // a regular ALCT-CLCT type LCT. For instance, it could be that two muons went + // through the chamber, produced 2 ALCTs, 2 CLCTs, but only 1 GEM cluster - because + // GEM cluster efficiency is not 100% (closer to 95%). So we don't require + // all clusters to be valid. If they are valid, the LCTs is constructed accordingly. + // But we do require that the ALCT and CLCT are valid for each pair. + CSCCorrelatedLCTDigi lctbb, lctbs, lctsb, lctss; + if (bestALCT.isValid() and bestCLCT.isValid()) { + constructLCTsGEM(bestALCT, bestCLCT, bbCluster, lctbb); + lcts.push_back(lctbb); + } + if (bestALCT.isValid() and secondCLCT.isValid() and (secondCLCT != bestCLCT)) { + constructLCTsGEM(bestALCT, secondCLCT, bsCluster, lctbs); + lcts.push_back(lctbs); + } + if (bestCLCT.isValid() and secondALCT.isValid() and (secondALCT != bestALCT)) { + constructLCTsGEM(secondALCT, bestCLCT, sbCluster, lctsb); + lcts.push_back(lctsb); + } + if (secondALCT.isValid() and secondCLCT.isValid() and (secondALCT != bestALCT) and (secondCLCT != bestCLCT)) { + constructLCTsGEM(secondALCT, secondCLCT, ssCluster, lctss); + lcts.push_back(lctss); + } - // no LCTs - if (lcts.empty()) - return; + // no LCTs + if (lcts.empty()) + return; - // sort by bending angle - sortLCTsByBending(lcts); + // sort by bending angle + sortLCTsByBending(lcts); - // retain best two - lcts.resize(CSCConstants::MAX_LCTS_PER_CSC); + // retain best two + lcts.resize(CSCConstants::MAX_LCTS_PER_CSC); - // assign and set the track number - if (lcts[0].isValid()) { - lct1 = lcts[0]; - lct1.setTrknmb(1); - } + // assign the track number + if (lcts[0].isValid()) { + lct1 = lcts[0]; + lct1.setTrknmb(1); + } - if (lcts[1].isValid()) { - lct2 = lcts[1]; - lct2.setTrknmb(2); - } - } + if (lcts[1].isValid()) { + lct2 = lcts[1]; + lct2.setTrknmb(2); } } diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc index 21dc0b62f7eb7..f0ff4154bf74a 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc @@ -159,6 +159,17 @@ void CSCMotherboard::run(const CSCWireDigiCollection* wiredc, const CSCComparato if (alctV.empty() and clctV.empty()) return; + // step 3: match the ALCTs to the CLCTs + // note that the bunch_crossing_mask is irrelevant for regular ALCT-CLCT + // matching + bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS] = {false}; + matchALCTCLCT(bunch_crossing_mask); + + // Step 4: Select at most 2 LCTs per BX + selectLCTs(); +} + +void CSCMotherboard::matchALCTCLCT(bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS]) { // array to mask CLCTs bool used_clct_mask[CSCConstants::MAX_CLCT_TBINS] = {false}; @@ -207,6 +218,8 @@ void CSCMotherboard::run(const CSCWireDigiCollection* wiredc, const CSCComparato if (allLCTs_(bx_alct, mbx, 0).isValid()) { is_matched = true; used_clct_mask[bx_clct] = true; + bunch_crossing_mask[bx_alct] = true; + bx_clct_matched = bx_clct; if (match_earliest_clct_only_) break; } @@ -249,9 +262,6 @@ void CSCMotherboard::run(const CSCWireDigiCollection* wiredc, const CSCComparato } } } - - // Step 4: Select at most 2 LCTs per BX - selectLCTs(); } // Returns vector of read-out correlated LCTs, if any. Starts with diff --git a/L1Trigger/CSCTriggerPrimitives/src/GEMClusterProcessor.cc b/L1Trigger/CSCTriggerPrimitives/src/GEMClusterProcessor.cc index 215076bb6fe23..27da41868abce 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/GEMClusterProcessor.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/GEMClusterProcessor.cc @@ -51,25 +51,18 @@ void GEMClusterProcessor::run(const GEMPadDigiClusterCollection* in_clusters) { doCoordinateConversion(); } -std::vector GEMClusterProcessor::getClusters(int bx) const { - std::vector output; - - for (const auto& cl : clusters_) { - // valid single clusters with the right BX - if (cl.bx() == bx and cl.isValid()) { - output.push_back(cl); - } - } - - return output; -} - -std::vector GEMClusterProcessor::getClusters(int bx, int deltaBX) const { +std::vector GEMClusterProcessor::getClusters(int bx, int deltaBX, ClusterTypes option) const { std::vector output; for (const auto& cl : clusters_) { // valid single clusters with the right BX if (std::abs(cl.bx() - bx) <= deltaBX and cl.isValid()) { + // ignore the single clusters + if (option == SingleClusters and !cl.isCoincidence()) + continue; + // ignore the coincidence clusters + if (option == CoincidenceClusters and cl.isCoincidence()) + continue; output.push_back(cl); } } From 16e4352231dec6e2fb8d46acb7591b09ee82deda Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Fri, 5 Nov 2021 21:07:11 -0500 Subject: [PATCH 209/268] Clarify option --- .../CSCTriggerPrimitives/src/CSCGEMMotherboard.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMotherboard.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMotherboard.cc index 9bb8be3d18b16..813034549af82 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMotherboard.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMotherboard.cc @@ -137,15 +137,15 @@ void CSCGEMMotherboard::run(const CSCWireDigiCollection* wiredc, void CSCGEMMotherboard::matchALCTCLCTGEM(bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS]) { // no matching is done for GE2/1 geometries with 8 eta partitions + // this has been superseded by 16-eta partition geometries if (isME21_ and !hasGE21Geometry16Partitions_) return; - // check if we can build LCTs with exclusively 1 GEM, exclusive 2 GEM, - // or inclusively 1 or 2 GEM hits + // by default we will try to match with both single clusters and coincidence clusters + // if we do not build ALCT-CLCT-2GEM type LCTs, consider only single clusters GEMClusterProcessor::ClusterTypes option = GEMClusterProcessor::AllClusters; - ; if (!build_lct_from_alct_clct_2gem_) - option = GEMClusterProcessor::CoincidenceClusters; + option = GEMClusterProcessor::SingleClusters; // array to mask CLCTs bool used_clct_mask[CSCConstants::MAX_CLCT_TBINS] = {false}; @@ -195,6 +195,7 @@ void CSCGEMMotherboard::matchALCTCLCTGEM(bool bunch_crossing_mask[CSCConstants:: void CSCGEMMotherboard::matchCLCT2GEM(bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS]) { // no matching is done for GE2/1 geometries with 8 eta partitions + // this has been superseded by 16-eta partition geometries if (isME21_ and !hasGE21Geometry16Partitions_) return; @@ -253,6 +254,7 @@ void CSCGEMMotherboard::matchCLCT2GEM(bool bunch_crossing_mask[CSCConstants::MAX void CSCGEMMotherboard::matchALCT2GEM(bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS]) { // no matching is done for GE2/1 geometries with 8 eta partitions + // this has been superseded by 16-eta partition geometries if (isME21_ and !hasGE21Geometry16Partitions_) return; From 143a507b53ab0b574874a550d3a464add8ad567a Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Mon, 8 Nov 2021 22:14:54 -0600 Subject: [PATCH 210/268] Fix typo --- L1Trigger/CSCTriggerPrimitives/src/GEMClusterProcessor.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/L1Trigger/CSCTriggerPrimitives/src/GEMClusterProcessor.cc b/L1Trigger/CSCTriggerPrimitives/src/GEMClusterProcessor.cc index 27da41868abce..18cb610258e76 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/GEMClusterProcessor.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/GEMClusterProcessor.cc @@ -57,11 +57,11 @@ std::vector GEMClusterProcessor::getClusters(int bx, int del for (const auto& cl : clusters_) { // valid single clusters with the right BX if (std::abs(cl.bx() - bx) <= deltaBX and cl.isValid()) { - // ignore the single clusters - if (option == SingleClusters and !cl.isCoincidence()) - continue; // ignore the coincidence clusters - if (option == CoincidenceClusters and cl.isCoincidence()) + if (option == SingleClusters and cl.isCoincidence()) + continue; + // ignore the single clusters + if (option == CoincidenceClusters and !cl.isCoincidence()) continue; output.push_back(cl); } From 61fa337c8c498fe946eef4e2c60b979d6df023c4 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Thu, 11 Nov 2021 13:50:14 -0600 Subject: [PATCH 211/268] Make the config run without crashing on more recent CMSSW_12_2_X releases with CCLUT split up for TMBs and OTMBs --- .../test/runCSCTriggerPrimitiveProducer_cfg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py b/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py index cd3cc0c21b39e..53386b2f6bbb8 100644 --- a/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py +++ b/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py @@ -120,7 +120,7 @@ ## l1 emulator l1csc = process.cscTriggerPrimitiveDigis if options.l1: - l1csc.commonParam.runCCLUT = options.runCCLUT + l1csc.commonParam.runCCLUT = cms.bool(options.runCCLUT) l1csc.commonParam.runCCLUT_OTMB = cms.bool(options.runCCLUTOTMB) l1csc.commonParam.runCCLUT_TMB = cms.bool(options.runCCLUTTMB) l1csc.commonParam.runME11ILT = options.runME11ILT From e1b31fc72b7f2fa13207b2f68050201ae38d68b5 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Wed, 17 Nov 2021 14:05:21 -0600 Subject: [PATCH 212/268] Remove deprecated option runCCLUT Remove deprecated option runCCLUT in the L1 CSC test configuration --- .../test/runCSCTriggerPrimitiveProducer_cfg.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py b/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py index 53386b2f6bbb8..f42adf89988e1 100644 --- a/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py +++ b/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py @@ -28,8 +28,6 @@ "Set to True when using B904 ME1/1 data (also works for MEX/2 and ME1/3).") options.register("run3", True, VarParsing.multiplicity.singleton, VarParsing.varType.bool, "Set to True when using Run-3 data.") -options.register("runCCLUT", False, VarParsing.multiplicity.singleton, VarParsing.varType.bool, - "Set to True when using the CCLUT algorithm (to be superseded soon).") options.register("runCCLUTOTMB", False, VarParsing.multiplicity.singleton, VarParsing.varType.bool, "Set to True when using the CCLUT OTMB algorithm.") options.register("runCCLUTTMB", False, VarParsing.multiplicity.singleton, VarParsing.varType.bool, @@ -120,7 +118,6 @@ ## l1 emulator l1csc = process.cscTriggerPrimitiveDigis if options.l1: - l1csc.commonParam.runCCLUT = cms.bool(options.runCCLUT) l1csc.commonParam.runCCLUT_OTMB = cms.bool(options.runCCLUTOTMB) l1csc.commonParam.runCCLUT_TMB = cms.bool(options.runCCLUTTMB) l1csc.commonParam.runME11ILT = options.runME11ILT From fdcda93234eb4c85aae12842da7c77e6da1a3540 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Mon, 29 Nov 2021 11:53:58 -0600 Subject: [PATCH 213/268] Mask bunch crossing in ALCT-CLCT finding, when GEM-CSC ILTs were previously found in that bunch crossing --- L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc index f0ff4154bf74a..85c3401a8b4a0 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc @@ -160,8 +160,6 @@ void CSCMotherboard::run(const CSCWireDigiCollection* wiredc, const CSCComparato return; // step 3: match the ALCTs to the CLCTs - // note that the bunch_crossing_mask is irrelevant for regular ALCT-CLCT - // matching bool bunch_crossing_mask[CSCConstants::MAX_ALCT_TBINS] = {false}; matchALCTCLCT(bunch_crossing_mask); @@ -176,6 +174,15 @@ void CSCMotherboard::matchALCTCLCT(bool bunch_crossing_mask[CSCConstants::MAX_AL // Step 3: ALCT-centric ALCT-to-CLCT matching int bx_clct_matched = 0; // bx of last matched CLCT for (int bx_alct = 0; bx_alct < CSCConstants::MAX_ALCT_TBINS; bx_alct++) { + + // do not consider LCT building in this BX if the mask was set + // this check should have no effect on the regular LCT finding + // it does play a role in the LCT finding for GEM-CSC ILTs + // namely, if a GEM-CSC ILT was found a bunch crossing, the + // algorithm would skip the bunch crossing for regular LCT finding + if (bunch_crossing_mask[bx_alct]) + continue; + // There should be at least one valid CLCT or ALCT for a // correlated LCT to be formed. Decision on whether to reject // non-complete LCTs (and if yes of which type) is made further From fa02475e5e9db1b27ab0220575d99345c3575699 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Mon, 29 Nov 2021 11:54:26 -0600 Subject: [PATCH 214/268] Extra check on the minimum number of layers for CLCTs in regular ALCT-CLCT matching --- .../CSCTriggerPrimitives/src/CSCMotherboard.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc index 85c3401a8b4a0..259e3bb01a99f 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc @@ -207,6 +207,12 @@ void CSCMotherboard::matchALCTCLCT(bool bunch_crossing_mask[CSCConstants::MAX_AL // do not consider previously matched CLCTs if (drop_used_clcts && used_clct_mask[bx_clct]) continue; + // only consider >=4 layer CLCTs for ALCT-CLCT type LCTs + // this condition is lowered to >=3 layers for CLCTs in the + // matchALCTCLCTGEM function + if (clctProc->getBestCLCT(bx_clct).getQuality() <= 3) + continue; + // a valid CLCT with sufficient layers! if (clctProc->getBestCLCT(bx_clct).isValid()) { if (infoV > 1) LogTrace("CSCMotherboard") << "Successful ALCT-CLCT match: bx_alct = " << bx_alct @@ -381,7 +387,18 @@ void CSCMotherboard::correlateLCTs(const CSCALCTDigi& bALCT, CSCCLCTDigi bestCLCT = bCLCT; CSCCLCTDigi secondCLCT = sCLCT; + // extra check to make sure that both CLCTs have at least 4 layers + // for regular ALCT-CLCT type LCTs. A check was already done on the + // best CLCT, but not yet on the second best CLCT. The check on best + // CLCT is repeated for completeness + if (bestCLCT.getQuality() <= 3) + bestCLCT.clear(); + if (secondCLCT.getQuality() <= 3) + secondCLCT.clear(); + // check which ALCTs and CLCTs are valid + // if the best ALCT/CLCT is valid, but the second ALCT/CLCT is not, + // the information is copied over copyValidToInValid(bestALCT, secondALCT, bestCLCT, secondCLCT); // ALCT-only LCTs From 67ead6675102f700f129c94a1b8ea037b72980b8 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Mon, 29 Nov 2021 11:57:52 -0600 Subject: [PATCH 215/268] Code format --- L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc index 259e3bb01a99f..b17c72a572bdf 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc @@ -174,7 +174,6 @@ void CSCMotherboard::matchALCTCLCT(bool bunch_crossing_mask[CSCConstants::MAX_AL // Step 3: ALCT-centric ALCT-to-CLCT matching int bx_clct_matched = 0; // bx of last matched CLCT for (int bx_alct = 0; bx_alct < CSCConstants::MAX_ALCT_TBINS; bx_alct++) { - // do not consider LCT building in this BX if the mask was set // this check should have no effect on the regular LCT finding // it does play a role in the LCT finding for GEM-CSC ILTs From 4976e20e1382cee654e9dd45f3c14b7160cc7518 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Mon, 29 Nov 2021 19:30:52 -0600 Subject: [PATCH 216/268] Update test configuration with selection of chambers after the unpacking step --- .../runCSCTriggerPrimitiveProducer_cfg.py | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py b/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py index f42adf89988e1..09d9e55f102ad 100644 --- a/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py +++ b/L1Trigger/CSCTriggerPrimitives/test/runCSCTriggerPrimitiveProducer_cfg.py @@ -6,6 +6,12 @@ options = VarParsing('analysis') options.register("unpack", False, VarParsing.multiplicity.singleton, VarParsing.varType.bool, "Set to True when you want to unpack the CSC DAQ data.") +options.register("selectCSCs", False, VarParsing.multiplicity.singleton, VarParsing.varType.bool, + "Set to True when you want to (un)select certain CSCs.") +options.register("maskedChambers", "", VarParsing.multiplicity.list, VarParsing.varType.string, + "Chambers you want to explicitly mask.") +options.register("selectedChambers", "", VarParsing.multiplicity.list, VarParsing.varType.string, + "Chambers you want to explicitly mask.") options.register("unpackGEM", False, VarParsing.multiplicity.singleton, VarParsing.varType.bool, "Set to True when you want to unpack the GEM DAQ data.") options.register("l1", False, VarParsing.multiplicity.singleton, VarParsing.varType.bool, @@ -192,6 +198,36 @@ ## schedule and path definition process.unpacksequence = cms.Sequence(process.muonCSCDigis) + +## when unpacking data only from select chambers... +if options.selectCSCs: + + from EventFilter.CSCRawToDigi.cscDigiFilterDef_cfi import cscDigiFilterDef + + # clone the original producer + process.preCSCDigis = process.muonCSCDigis.clone() + + # now apply the filter + process.muonCSCDigis = cscDigiFilterDef.clone( + stripDigiTag = "preCSCDigis:MuonCSCStripDigi", + wireDigiTag = "preCSCDigis:MuonCSCWireDigi", + compDigiTag = "preCSCDigis:MuonCSCComparatorDigi", + alctDigiTag = "preCSCDigis:MuonCSCALCTDigi", + clctDigiTag = "preCSCDigis:MuonCSCCLCTDigi", + lctDigiTag = "preCSCDigis:MuonCSCCorrelatedLCTDigi", + showerDigiTag = "preCSCDigis:MuonCSCShowerDigi", + gemPadClusterDigiTag = "preCSCDigis:MuonGEMPadDigiCluster", + maskedChambers = options.maskedChambers, + selectedChambers = options.selectedChambers + ) + + # these 3 chambers had Phase-2 firmware loaded partially during Run-2 + # https://twiki.cern.ch/twiki/bin/viewauth/CMS/CSCOTMB2018 + process.muonCSCDigis.maskedChambers = [ + "ME+1/1/9", "ME+1/1/10", "ME+1/1/11"] + + process.unpacksequence = cms.Sequence(process.preCSCDigis * process.muonCSCDigis) + if options.unpackGEM: ## unpack GEM strip digis process.unpacksequence += process.muonGEMDigis From 2e967d9498009065e79a0f7e6558e7dd8ef47034 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Mon, 29 Nov 2021 21:54:50 -0600 Subject: [PATCH 217/268] set minima to 0.95 so the contrast comes out better --- DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc b/DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc index a7e1ba76ec99e..71472c7fc6a65 100644 --- a/DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc +++ b/DQM/L1TMonitorClient/src/L1TdeCSCTPGClient.cc @@ -268,4 +268,9 @@ void L1TdeCSCTPGClient::processHistograms(DQMStore::IGetter &igetter) { lctEmulSummary_eff_->getTH2F()->Divide(lctEmulSummary_num_->getTH2F(), lctEmulSummary_denom_->getTH2F(), 1, 1, ""); alctEmulSummary_eff_->getTH2F()->Divide(alctEmulSummary_num_->getTH2F(), alctEmulSummary_denom_->getTH2F(), 1, 1, ""); clctEmulSummary_eff_->getTH2F()->Divide(clctEmulSummary_num_->getTH2F(), clctEmulSummary_denom_->getTH2F(), 1, 1, ""); + + // set minima to 0.95 so the contrast comes out better! + lctDataSummary_eff_->getTH2F()->GetZaxis()->SetRangeUser(0.95, 1); + alctDataSummary_eff_->getTH2F()->GetZaxis()->SetRangeUser(0.95, 1); + clctDataSummary_eff_->getTH2F()->GetZaxis()->SetRangeUser(0.95, 1); } From 37f8e158948f9f5047b063575ff6afee30e175f9 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Mon, 29 Nov 2021 22:20:15 -0600 Subject: [PATCH 218/268] Add 2D Plots to summary presentation --- .../test/CSCTriggerPrimitivesAnalyzer.cc | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/L1Trigger/CSCTriggerPrimitives/test/CSCTriggerPrimitivesAnalyzer.cc b/L1Trigger/CSCTriggerPrimitives/test/CSCTriggerPrimitivesAnalyzer.cc index 550ba7cf2a188..4e8a0f3b03be2 100644 --- a/L1Trigger/CSCTriggerPrimitives/test/CSCTriggerPrimitivesAnalyzer.cc +++ b/L1Trigger/CSCTriggerPrimitives/test/CSCTriggerPrimitivesAnalyzer.cc @@ -20,6 +20,7 @@ #include "CommonTools/UtilAlgos/interface/TFileService.h" #include "TH1F.h" +#include "TH2F.h" #include "TPostScript.h" #include "TCanvas.h" #include "TFile.h" @@ -57,6 +58,8 @@ class CSCTriggerPrimitivesAnalyzer : public edm::one::EDAnalyzerGet("lct_csctp_data_summary_eff"); + make2DPlot(h_lctDataSummary_eff, ps, c1); + TH2F *h_alctDataSummary_eff = (TH2F *)directory->Get("alct_csctp_data_summary_eff"); + make2DPlot(h_alctDataSummary_eff, ps, c1); + TH2F *h_clctDataSummary_eff = (TH2F *)directory->Get("clct_csctp_data_summary_eff"); + make2DPlot(h_clctDataSummary_eff, ps, c1); + + TH2F *h_lctEmulSummary_eff = (TH2F *)directory->Get("lct_csctp_emul_summary_eff"); + make2DPlot(h_lctEmulSummary_eff, ps, c1); + TH2F *h_alctEmulSummary_eff = (TH2F *)directory->Get("alct_csctp_emul_summary_eff"); + make2DPlot(h_alctEmulSummary_eff, ps, c1); + TH2F *h_clctEmulSummary_eff = (TH2F *)directory->Get("clct_csctp_emul_summary_eff"); + make2DPlot(h_clctEmulSummary_eff, ps, c1); + } + ps->Close(); // close the DQM file theFile->Close(); @@ -265,4 +284,16 @@ void CSCTriggerPrimitivesAnalyzer::makePlot(TH1F *dataMon, c1->Update(); } +void CSCTriggerPrimitivesAnalyzer::make2DPlot(TH2F *effMon, TPostScript *ps, TCanvas *c1) const { + ps->NewPage(); + + TString runTitle = "(CMS Run " + std::to_string(runNumber_) + ")"; + if (useB904_) + runTitle = "(B904 Cosmic Run " + TString(B904RunNumber_) + ")"; + gStyle->SetOptStat(0); + effMon->SetTitle(effMon->GetTitle() + runTitle); + effMon->Draw("colz"); + c1->Update(); +} + DEFINE_FWK_MODULE(CSCTriggerPrimitivesAnalyzer); From d1fc873ec22737d0947e94bc7a2803c7e64c105c Mon Sep 17 00:00:00 2001 From: Pierre Depasse Date: Tue, 30 Nov 2021 10:09:30 +0100 Subject: [PATCH 219/268] Corrections in the code : ThreadSafety, Dead store --- .../Ecal/interface/EcalChannelStatusHandler.h | 1 + CondTools/Ecal/interface/EcalErrorMask.h | 42 ++-- .../Ecal/src/EcalChannelStatusHandler.cc | 10 +- CondTools/Ecal/src/EcalDAQHandler.cc | 222 +++++++++--------- CondTools/Ecal/src/EcalDCSHandler.cc | 24 +- CondTools/Ecal/src/EcalErrorMask.cc | 35 +-- CondTools/Ecal/src/EcalTPGBadStripHandler.cc | 2 +- CondTools/Ecal/src/EcalTPGBadTTHandler.cc | 2 +- CondTools/Ecal/src/EcalTPGBadXTHandler.cc | 2 +- .../src/EcalTPGFineGrainEBGroupHandler.cc | 2 +- .../src/EcalTPGFineGrainEBIdMapHandler.cc | 2 +- .../src/EcalTPGFineGrainStripEEHandler.cc | 2 +- .../src/EcalTPGFineGrainTowerEEHandler.cc | 2 +- CondTools/Ecal/src/EcalTPGLinConstHandler.cc | 2 +- CondTools/Ecal/src/EcalTPGLutGroupHandler.cc | 2 +- CondTools/Ecal/src/EcalTPGLutIdMapHandler.cc | 2 +- .../Ecal/src/EcalTPGOddWeightGroupHandler.cc | 2 +- .../Ecal/src/EcalTPGOddWeightIdMapHandler.cc | 2 +- CondTools/Ecal/src/EcalTPGPedestalsHandler.cc | 2 +- .../Ecal/src/EcalTPGPhysicsConstHandler.cc | 2 +- .../Ecal/src/EcalTPGSlidingWindowHandler.cc | 2 +- .../Ecal/src/EcalTPGSpikeThresholdHandler.cc | 2 +- CondTools/Ecal/src/EcalTPGTPModeHandler.cc | 2 +- .../Ecal/src/EcalTPGWeightGroupHandler.cc | 2 +- .../Ecal/src/EcalTPGWeightIdMapHandler.cc | 2 +- 25 files changed, 180 insertions(+), 192 deletions(-) diff --git a/CondTools/Ecal/interface/EcalChannelStatusHandler.h b/CondTools/Ecal/interface/EcalChannelStatusHandler.h index 899fbf09517d2..e02391844342d 100644 --- a/CondTools/Ecal/interface/EcalChannelStatusHandler.h +++ b/CondTools/Ecal/interface/EcalChannelStatusHandler.h @@ -125,6 +125,7 @@ namespace popcon { bool isEERef1[18][2]; bool isEERef2[18][2]; + EcalErrorMask ecalErrorMask_; EcalElectronicsMapping ecalElectronicsMap_; std::ofstream *ResFileEB; diff --git a/CondTools/Ecal/interface/EcalErrorMask.h b/CondTools/Ecal/interface/EcalErrorMask.h index da5580b0121e2..d73707ff017e2 100644 --- a/CondTools/Ecal/interface/EcalErrorMask.h +++ b/CondTools/Ecal/interface/EcalErrorMask.h @@ -1,38 +1,36 @@ -#ifndef EcalErrorMask_H -#define EcalErrorMask_H +#ifndef CondTools_Ecal_EcalErrorMask_H +#define CondTools_Ecal_EcalErrorMask_H #include #include +#include "OnlineDB/EcalCondDB/interface/RunCrystalErrorsDat.h" +#include "OnlineDB/EcalCondDB/interface/RunTTErrorsDat.h" +#include "OnlineDB/EcalCondDB/interface/RunPNErrorsDat.h" +#include "OnlineDB/EcalCondDB/interface/RunMemChErrorsDat.h" +#include "OnlineDB/EcalCondDB/interface/RunMemTTErrorsDat.h" class EcalCondDBInterface; - class EcalLogicID; - -class RunCrystalErrorsDat; -class RunTTErrorsDat; -class RunPNErrorsDat; -class RunMemChErrorsDat; -class RunMemTTErrorsDat; class RunIOV; class EcalErrorMask { public: - static void readDB(EcalCondDBInterface* eConn, RunIOV* runIOV) noexcept(false); + void readDB(EcalCondDBInterface* eConn, RunIOV* runIOV) noexcept(false); - static void fetchDataSet(std::map* fillMap); - static void fetchDataSet(std::map* fillMap); - static void fetchDataSet(std::map* fillMap); - static void fetchDataSet(std::map* fillMap); - static void fetchDataSet(std::map* fillMap); + void fetchDataSet(std::map* fillMap); + void fetchDataSet(std::map* fillMap); + void fetchDataSet(std::map* fillMap); + void fetchDataSet(std::map* fillMap); + void fetchDataSet(std::map* fillMap); private: - static int runNb_; + int runNb_; - static std::map mapCrystalErrors_; - static std::map mapTTErrors_; - static std::map mapPNErrors_; - static std::map mapMemChErrors_; - static std::map mapMemTTErrors_; + std::map mapCrystalErrors_; + std::map mapTTErrors_; + std::map mapPNErrors_; + std::map mapMemChErrors_; + std::map mapMemTTErrors_; }; -#endif // EcalErrorMask_H +#endif // CondTools_Ecal_EcalErrorMask_H diff --git a/CondTools/Ecal/src/EcalChannelStatusHandler.cc b/CondTools/Ecal/src/EcalChannelStatusHandler.cc index 51ddee387b974..603c762b8c77b 100644 --- a/CondTools/Ecal/src/EcalChannelStatusHandler.cc +++ b/CondTools/Ecal/src/EcalChannelStatusHandler.cc @@ -262,7 +262,7 @@ void popcon::EcalChannelStatusHandler::pedOnlineMasking() { bits03 |= EcalErrorDictionary::getMask("PEDESTAL_ONLINE_HIGH_GAIN_RMS_ERROR"); std::map theMask; - EcalErrorMask::fetchDataSet(&theMask); + ecalErrorMask_.fetchDataSet(&theMask); if (!theMask.empty()) { std::map::const_iterator m; @@ -303,7 +303,7 @@ void popcon::EcalChannelStatusHandler::pedMasking() { bits03 |= EcalErrorDictionary::getMask("PEDESTAL_HIGH_GAIN_RMS_ERROR"); std::map theMask; - EcalErrorMask::fetchDataSet(&theMask); + ecalErrorMask_.fetchDataSet(&theMask); if (!theMask.empty()) { std::map::const_iterator m; @@ -338,7 +338,7 @@ void popcon::EcalChannelStatusHandler::laserMasking() { bits03 |= EcalErrorDictionary::getMask("LASER_RMS_TIMING_WARNING"); std::map theMask; - EcalErrorMask::fetchDataSet(&theMask); + ecalErrorMask_.fetchDataSet(&theMask); if (!theMask.empty()) { std::map::const_iterator m; @@ -369,7 +369,7 @@ void popcon::EcalChannelStatusHandler::physicsMasking() { bits03 |= EcalErrorDictionary::getMask("PHYSICS_BAD_CHANNEL_ERROR"); std::map theMask; - EcalErrorMask::fetchDataSet(&theMask); + ecalErrorMask_.fetchDataSet(&theMask); if (!theMask.empty()) { std::map::const_iterator m; @@ -1996,7 +1996,7 @@ void popcon::EcalChannelStatusHandler::getNewObjects() { // here we read the list of masked channel in the DB for this run and create masked channels std::maps std::cout << "Fetching masked channels from DB" << std::endl; - EcalErrorMask::readDB(econn, &runiov_prime); + ecalErrorMask_.readDB(econn, &runiov_prime); // ----------------------------------------------------------------------------------- // here we do all the different types of analyses diff --git a/CondTools/Ecal/src/EcalDAQHandler.cc b/CondTools/Ecal/src/EcalDAQHandler.cc index 134a54d096690..bd5ddf6f1d11f 100644 --- a/CondTools/Ecal/src/EcalDAQHandler.cc +++ b/CondTools/Ecal/src/EcalDAQHandler.cc @@ -10,7 +10,7 @@ // ixx and iyy[FEDid][iTT - 1][3] where FEDid -= 601 if FEDid < 610, FEDid -= 637 else // pos = 0/2 filled when needed. ixx/iyy = 0 if unused -int iphiEB[36][68] = { +const int iphiEB[36][68] = { {1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4}, {5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, @@ -115,115 +115,115 @@ int iphiEB[36][68] = { {72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69, 72, 71, 70, 69}}; -int ietaEB[36][68] = {{1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, - {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, - 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, - 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}}; -int ixx[18][41][3] = { +const int ietaEB[36][68] = {{1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}, + {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, + 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, + 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17}}; +const int ixx[18][41][3] = { {{19, 0, 0}, {20, 0, 0}, {14, 0, 0}, {15, 0, 0}, {16, 0, 0}, {17, 0, 0}, {18, 0, 0}, {19, 0, 0}, {20, 0, 0}, {13, 0, 0}, {14, 0, 0}, {15, 0, 0}, {16, 0, 0}, {17, 0, 0}, {18, 0, 0}, {19, 0, 0}, {20, 0, 0}, {14, 0, 0}, {15, 0, 0}, {16, 0, 0}, {17, 0, 0}, {18, 0, 0}, {19, 0, 0}, {20, 0, 0}, {15, 0, 0}, {16, 0, 0}, {17, 0, 0}, @@ -314,7 +314,7 @@ int ixx[18][41][3] = { {17, 0, 0}, {18, 0, 0}, {16, 17, 0}, {13, 0, 0}, {14, 0, 0}, {15, 0, 0}, {16, 0, 0}, {17, 0, 0}, {16, 0, 0}, {14, 0, 0}, {14, 0, 0}, {15, 0, 0}, {15, 0, 0}, {12, 0, 0}, {12, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}}; -int iyy[18][41][3] = { +const int iyy[18][41][3] = { {{12, 0, 0}, {12, 0, 0}, {11, 0, 0}, {11, 0, 0}, {11, 0, 0}, {11, 0, 0}, {11, 0, 0}, {11, 0, 0}, {11, 0, 0}, {10, 0, 0}, {10, 0, 0}, {10, 0, 0}, {10, 0, 0}, {10, 0, 0}, {10, 0, 0}, {10, 0, 0}, {10, 0, 0}, {9, 0, 0}, {9, 0, 0}, {9, 0, 0}, {9, 0, 0}, {9, 0, 0}, {9, 0, 0}, {9, 0, 0}, {8, 0, 0}, {8, 0, 0}, {8, 0, 0}, diff --git a/CondTools/Ecal/src/EcalDCSHandler.cc b/CondTools/Ecal/src/EcalDCSHandler.cc index 231e21d9efa5e..676d093c8cda8 100644 --- a/CondTools/Ecal/src/EcalDCSHandler.cc +++ b/CondTools/Ecal/src/EcalDCSHandler.cc @@ -133,12 +133,12 @@ uint16_t popcon::EcalDCSHandler::updateLV(RunDCSLVDat* lv, uint16_t dbStatus) co if (lv->getStatus() == RunDCSLVDat::LVOFF) lv_on_dbstatus = 1; - uint16_t lv_off_dbstatus = (dbStatus & (1 << EcalDCSTowerStatusHelper::LVSTATUS)); - uint16_t lv_nomi_off_dbstatus = (dbStatus & (1 << EcalDCSTowerStatusHelper::LVNOMINALSTATUS)); - if (lv_off_dbstatus > 0) - lv_off_dbstatus = 1; - if (lv_nomi_off_dbstatus > 0) - lv_nomi_off_dbstatus = 1; + // uint16_t lv_off_dbstatus = (dbStatus & (1 << EcalDCSTowerStatusHelper::LVSTATUS)); + // uint16_t lv_nomi_off_dbstatus = (dbStatus & (1 << EcalDCSTowerStatusHelper::LVNOMINALSTATUS)); + // if (lv_off_dbstatus > 0) + // lv_off_dbstatus = 1; + // if (lv_nomi_off_dbstatus > 0) + // lv_nomi_off_dbstatus = 1; uint16_t temp = 0; for (int i = 0; i < 16; i++) { @@ -272,6 +272,8 @@ bool popcon::EcalDCSHandler::insertHVDataSetToOffline(const std::map -int EcalErrorMask::runNb_ = -1; -std::map EcalErrorMask::mapCrystalErrors_; -std::map EcalErrorMask::mapTTErrors_; -std::map EcalErrorMask::mapPNErrors_; -std::map EcalErrorMask::mapMemChErrors_; -std::map EcalErrorMask::mapMemTTErrors_; - void EcalErrorMask::readDB(EcalCondDBInterface* eConn, RunIOV* runIOV) noexcept(false) { if (eConn) { RunIOV validIOV; @@ -33,7 +20,7 @@ void EcalErrorMask::readDB(EcalCondDBInterface* eConn, RunIOV* runIOV) noexcept( std::cout << std::endl; std::cout << " RunCrystalErrorsDat: "; try { - eConn->fetchValidDataSet(&EcalErrorMask::mapCrystalErrors_, &validIOV, location, runIOV->getRunNumber()); + eConn->fetchValidDataSet(&mapCrystalErrors_, &validIOV, location, runIOV->getRunNumber()); std::cout << "found" << std::endl; } catch (std::runtime_error& e) { std::cout << "not found" << std::endl; @@ -41,32 +28,32 @@ void EcalErrorMask::readDB(EcalCondDBInterface* eConn, RunIOV* runIOV) noexcept( } // use the IOV for CrystalErrors as reference - EcalErrorMask::runNb_ = validIOV.getRunNumber(); + runNb_ = validIOV.getRunNumber(); std::cout << " RunTTErrorsDat: "; try { - eConn->fetchValidDataSet(&EcalErrorMask::mapTTErrors_, &validIOV, location, runIOV->getRunNumber()); + eConn->fetchValidDataSet(&mapTTErrors_, &validIOV, location, runIOV->getRunNumber()); std::cout << "found" << std::endl; } catch (std::runtime_error& e) { std::cout << "not found" << std::endl; } std::cout << " RunPNErrorsDat: "; try { - eConn->fetchValidDataSet(&EcalErrorMask::mapPNErrors_, &validIOV, location, runIOV->getRunNumber()); + eConn->fetchValidDataSet(&mapPNErrors_, &validIOV, location, runIOV->getRunNumber()); std::cout << "found" << std::endl; } catch (std::runtime_error& e) { std::cout << "not found" << std::endl; } std::cout << " RunMemChErrorsDat: "; try { - eConn->fetchValidDataSet(&EcalErrorMask::mapMemChErrors_, &validIOV, location, runIOV->getRunNumber()); + eConn->fetchValidDataSet(&mapMemChErrors_, &validIOV, location, runIOV->getRunNumber()); std::cout << "found" << std::endl; } catch (std::runtime_error& e) { std::cout << "not found" << std::endl; } std::cout << " RunMemTTErrorsDat: "; try { - eConn->fetchValidDataSet(&EcalErrorMask::mapMemTTErrors_, &validIOV, location, runIOV->getRunNumber()); + eConn->fetchValidDataSet(&mapMemTTErrors_, &validIOV, location, runIOV->getRunNumber()); std::cout << "found" << std::endl; } catch (std::runtime_error& e) { std::cout << "not found" << std::endl; @@ -78,30 +65,30 @@ void EcalErrorMask::readDB(EcalCondDBInterface* eConn, RunIOV* runIOV) noexcept( void EcalErrorMask::fetchDataSet(std::map* fillMap) { fillMap->clear(); - *fillMap = EcalErrorMask::mapCrystalErrors_; + *fillMap = mapCrystalErrors_; return; } void EcalErrorMask::fetchDataSet(std::map* fillMap) { fillMap->clear(); - *fillMap = EcalErrorMask::mapTTErrors_; + *fillMap = mapTTErrors_; return; } void EcalErrorMask::fetchDataSet(std::map* fillMap) { fillMap->clear(); - *fillMap = EcalErrorMask::mapPNErrors_; + *fillMap = mapPNErrors_; return; } void EcalErrorMask::fetchDataSet(std::map* fillMap) { fillMap->clear(); - *fillMap = EcalErrorMask::mapMemChErrors_; + *fillMap = mapMemChErrors_; return; } void EcalErrorMask::fetchDataSet(std::map* fillMap) { fillMap->clear(); - *fillMap = EcalErrorMask::mapMemTTErrors_; + *fillMap = mapMemTTErrors_; return; } diff --git a/CondTools/Ecal/src/EcalTPGBadStripHandler.cc b/CondTools/Ecal/src/EcalTPGBadStripHandler.cc index 50c9d8dcfa379..5698dc8b5669f 100644 --- a/CondTools/Ecal/src/EcalTPGBadStripHandler.cc +++ b/CondTools/Ecal/src/EcalTPGBadStripHandler.cc @@ -72,7 +72,7 @@ void popcon::EcalTPGBadStripHandler::getNewObjects() { readFromFile("last_tpg_badStrip_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGBadTTHandler.cc b/CondTools/Ecal/src/EcalTPGBadTTHandler.cc index 895dfd776b4a6..d40bf89022d91 100644 --- a/CondTools/Ecal/src/EcalTPGBadTTHandler.cc +++ b/CondTools/Ecal/src/EcalTPGBadTTHandler.cc @@ -72,7 +72,7 @@ void popcon::EcalTPGBadTTHandler::getNewObjects() { readFromFile("last_tpg_badTT_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGBadXTHandler.cc b/CondTools/Ecal/src/EcalTPGBadXTHandler.cc index c5ee9908af68b..5f1f67ec7766a 100644 --- a/CondTools/Ecal/src/EcalTPGBadXTHandler.cc +++ b/CondTools/Ecal/src/EcalTPGBadXTHandler.cc @@ -73,7 +73,7 @@ void popcon::EcalTPGBadXTHandler::getNewObjects() { readFromFile("last_tpg_badXT_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGFineGrainEBGroupHandler.cc b/CondTools/Ecal/src/EcalTPGFineGrainEBGroupHandler.cc index 6ea5fbaca4936..f7d2b8b5d8036 100644 --- a/CondTools/Ecal/src/EcalTPGFineGrainEBGroupHandler.cc +++ b/CondTools/Ecal/src/EcalTPGFineGrainEBGroupHandler.cc @@ -83,7 +83,7 @@ void popcon::EcalTPGFineGrainEBGroupHandler::getNewObjects() { readFromFile("last_tpg_fgrGroup_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGFineGrainEBIdMapHandler.cc b/CondTools/Ecal/src/EcalTPGFineGrainEBIdMapHandler.cc index 68fcb84d68068..48f1bc1357c3d 100644 --- a/CondTools/Ecal/src/EcalTPGFineGrainEBIdMapHandler.cc +++ b/CondTools/Ecal/src/EcalTPGFineGrainEBIdMapHandler.cc @@ -85,7 +85,7 @@ void popcon::EcalTPGFineGrainEBIdMapHandler::getNewObjects() { readFromFile("last_tpg_fgrIdMap_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGFineGrainStripEEHandler.cc b/CondTools/Ecal/src/EcalTPGFineGrainStripEEHandler.cc index 52746a8ce8001..19b876bb82f2d 100644 --- a/CondTools/Ecal/src/EcalTPGFineGrainStripEEHandler.cc +++ b/CondTools/Ecal/src/EcalTPGFineGrainStripEEHandler.cc @@ -86,7 +86,7 @@ void popcon::EcalTPGFineGrainStripEEHandler::getNewObjects() { readFromFile("last_tpg_fgrStripEE_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGFineGrainTowerEEHandler.cc b/CondTools/Ecal/src/EcalTPGFineGrainTowerEEHandler.cc index d37c59b50c7c1..81f267504418d 100644 --- a/CondTools/Ecal/src/EcalTPGFineGrainTowerEEHandler.cc +++ b/CondTools/Ecal/src/EcalTPGFineGrainTowerEEHandler.cc @@ -74,7 +74,7 @@ void popcon::EcalTPGFineGrainTowerEEHandler::getNewObjects() { readFromFile("last_tpg_fgrTTEE_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGLinConstHandler.cc b/CondTools/Ecal/src/EcalTPGLinConstHandler.cc index b8658d63d05b1..d8cdbd584b8d2 100644 --- a/CondTools/Ecal/src/EcalTPGLinConstHandler.cc +++ b/CondTools/Ecal/src/EcalTPGLinConstHandler.cc @@ -80,7 +80,7 @@ void popcon::EcalTPGLinConstHandler::getNewObjects() { readFromFile("last_tpg_lin_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; // we have to add 1 to the last transferred one diff --git a/CondTools/Ecal/src/EcalTPGLutGroupHandler.cc b/CondTools/Ecal/src/EcalTPGLutGroupHandler.cc index 9f762e9085222..0358034a50a08 100644 --- a/CondTools/Ecal/src/EcalTPGLutGroupHandler.cc +++ b/CondTools/Ecal/src/EcalTPGLutGroupHandler.cc @@ -119,7 +119,7 @@ void popcon::EcalTPGLutGroupHandler::getNewObjects() { readFromFile("last_tpg_lutGroup_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGLutIdMapHandler.cc b/CondTools/Ecal/src/EcalTPGLutIdMapHandler.cc index 2303b00f34983..9a5aa1bc224e1 100644 --- a/CondTools/Ecal/src/EcalTPGLutIdMapHandler.cc +++ b/CondTools/Ecal/src/EcalTPGLutIdMapHandler.cc @@ -82,7 +82,7 @@ void popcon::EcalTPGLutIdMapHandler::getNewObjects() { readFromFile("last_tpg_lutIdMap_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGOddWeightGroupHandler.cc b/CondTools/Ecal/src/EcalTPGOddWeightGroupHandler.cc index ab3ea70e69ce1..94ad9a22b7f93 100644 --- a/CondTools/Ecal/src/EcalTPGOddWeightGroupHandler.cc +++ b/CondTools/Ecal/src/EcalTPGOddWeightGroupHandler.cc @@ -98,7 +98,7 @@ void popcon::EcalTPGOddWeightGroupHandler::getNewObjects() { readFromFile("last_tpg_OddweightGroup_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGOddWeightIdMapHandler.cc b/CondTools/Ecal/src/EcalTPGOddWeightIdMapHandler.cc index d273829021fd8..3738cb7ee5762 100644 --- a/CondTools/Ecal/src/EcalTPGOddWeightIdMapHandler.cc +++ b/CondTools/Ecal/src/EcalTPGOddWeightIdMapHandler.cc @@ -90,7 +90,7 @@ void popcon::EcalTPGOddWeightIdMapHandler::getNewObjects() { readFromFile("last_tpg_OddweightIdMap_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGPedestalsHandler.cc b/CondTools/Ecal/src/EcalTPGPedestalsHandler.cc index 75324eb21fc4c..52ebecc2d38d6 100644 --- a/CondTools/Ecal/src/EcalTPGPedestalsHandler.cc +++ b/CondTools/Ecal/src/EcalTPGPedestalsHandler.cc @@ -81,7 +81,7 @@ void popcon::EcalTPGPedestalsHandler::getNewObjects() { readFromFile("last_tpg_ped_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGPhysicsConstHandler.cc b/CondTools/Ecal/src/EcalTPGPhysicsConstHandler.cc index b383ec92263f1..5b555ecf8482c 100644 --- a/CondTools/Ecal/src/EcalTPGPhysicsConstHandler.cc +++ b/CondTools/Ecal/src/EcalTPGPhysicsConstHandler.cc @@ -75,7 +75,7 @@ void popcon::EcalTPGPhysicsConstHandler::getNewObjects() { readFromFile("last_tpg_physC_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGSlidingWindowHandler.cc b/CondTools/Ecal/src/EcalTPGSlidingWindowHandler.cc index 91bd665d8b02e..c9a3766bfc424 100644 --- a/CondTools/Ecal/src/EcalTPGSlidingWindowHandler.cc +++ b/CondTools/Ecal/src/EcalTPGSlidingWindowHandler.cc @@ -89,7 +89,7 @@ void popcon::EcalTPGSlidingWindowHandler::getNewObjects() { readFromFile("last_tpg_sliding_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; // we have to add 1 to the last transferred one } else { diff --git a/CondTools/Ecal/src/EcalTPGSpikeThresholdHandler.cc b/CondTools/Ecal/src/EcalTPGSpikeThresholdHandler.cc index ee37996090e69..b06b51ca0fb3f 100644 --- a/CondTools/Ecal/src/EcalTPGSpikeThresholdHandler.cc +++ b/CondTools/Ecal/src/EcalTPGSpikeThresholdHandler.cc @@ -99,7 +99,7 @@ void popcon::EcalTPGSpikeThresholdHandler::getNewObjects() { readFromFile("last_tpg_spikeThreshold_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGTPModeHandler.cc b/CondTools/Ecal/src/EcalTPGTPModeHandler.cc index d4910456e19a5..a492f3470961e 100644 --- a/CondTools/Ecal/src/EcalTPGTPModeHandler.cc +++ b/CondTools/Ecal/src/EcalTPGTPModeHandler.cc @@ -90,7 +90,7 @@ void popcon::EcalTPGTPModeHandler::getNewObjects() { readFromFile("last_tpg_TPMode_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGWeightGroupHandler.cc b/CondTools/Ecal/src/EcalTPGWeightGroupHandler.cc index d3eda97807aab..51b6e40b51c1b 100644 --- a/CondTools/Ecal/src/EcalTPGWeightGroupHandler.cc +++ b/CondTools/Ecal/src/EcalTPGWeightGroupHandler.cc @@ -98,7 +98,7 @@ void popcon::EcalTPGWeightGroupHandler::getNewObjects() { readFromFile("last_tpg_weightGroup_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; diff --git a/CondTools/Ecal/src/EcalTPGWeightIdMapHandler.cc b/CondTools/Ecal/src/EcalTPGWeightIdMapHandler.cc index 67aba5bdc1dc4..d8077784bf8d7 100644 --- a/CondTools/Ecal/src/EcalTPGWeightIdMapHandler.cc +++ b/CondTools/Ecal/src/EcalTPGWeightIdMapHandler.cc @@ -90,7 +90,7 @@ void popcon::EcalTPGWeightIdMapHandler::getNewObjects() { readFromFile("last_tpg_weightIdMap_settings.txt"); - unsigned int min_run = m_i_run_number + 1; + unsigned int min_run; if (m_firstRun < m_i_run_number) { min_run = m_i_run_number + 1; From e2f07b649e2a179fa623d1f6d3f3010a7bdd505a Mon Sep 17 00:00:00 2001 From: Davide Valsecchi Date: Tue, 30 Nov 2021 10:15:34 +0100 Subject: [PATCH 220/268] Bugfix: cutting now on correct dnn output --- RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc b/RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc index 0c75e300808c5..d7d8ec6c59d80 100644 --- a/RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc +++ b/RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc @@ -183,10 +183,10 @@ bool PFEGammaFilters::passElectronSelection(const reco::GsfElectron& electron, if (eleEta <= etaThreshold) { passEleSelection = (dnn_sig > ele_dnnHighPtBarrelThr_) && (dnn_bkg < ele_dnnBkgHighPtBarrelThr_); } else if (eleEta > etaThreshold) { - passEleSelection = (dnn_sig > ele_dnnHighPtEndcapThr_) && (dnn_sig < ele_dnnBkgHighPtEndcapThr_); + passEleSelection = (dnn_sig > ele_dnnHighPtEndcapThr_) && (dnn_bkg < ele_dnnBkgHighPtEndcapThr_); } } else { // pt < ele_iso_pt_ - passEleSelection = (dnn_sig > ele_dnnLowPtThr_) && (dnn_sig < ele_dnnBkgLowPtThr_); + passEleSelection = (dnn_sig > ele_dnnLowPtThr_) && (dnn_bkg < ele_dnnBkgLowPtThr_); } // TODO: For the moment do not evaluate further conditions on isolation and HCAL cleaning.. // To be understood if they are needed From eaa9260234c6a662fc38584b0bb3ab4f15fe3370 Mon Sep 17 00:00:00 2001 From: Vincenzo Innocente Date: Tue, 30 Nov 2021 11:00:57 +0100 Subject: [PATCH 221/268] adress comments on code quality --- CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h | 2 +- .../TrackerGeometryBuilder/interface/phase1PixelTopology.h | 1 - .../PixelTriplets/plugins/BrokenLineFitOnGPU.h | 3 --- .../PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h | 5 ----- 4 files changed, 1 insertion(+), 10 deletions(-) diff --git a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h index 483b3e838c267..100766324a424 100644 --- a/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h +++ b/CUDADataFormats/Track/interface/TrackSoAHeterogeneousT.h @@ -55,7 +55,7 @@ class TrackSoAHeterogeneousT { int nl = 1; auto ol = phase1PixelTopology::getLayer(*pdet); for (; pdet < detIndices.end(i); ++pdet) { - auto il = phase1PixelTopology::getLayer(*pdet); // , ol); + auto il = phase1PixelTopology::getLayer(*pdet); if (il != ol) ++nl; ol = il; diff --git a/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h b/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h index 29a47bc6a299a..27f5b8b573ea7 100644 --- a/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h +++ b/Geometry/TrackerGeometryBuilder/interface/phase1PixelTopology.h @@ -3,7 +3,6 @@ #include #include -// #include "HeterogeneousCore/CUDAUtilities/interface/cudaCompat.h" namespace phase1PixelTopology { diff --git a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h index b7f06191cd952..6ec6afb83cba1 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/BrokenLineFitOnGPU.h @@ -101,13 +101,10 @@ __global__ void kernel_BLFastFit(Tuples const *__restrict__ foundNtuplets, float incr = std::max(1.f, float(nHits) / float(hitsInFit)); float n = 0; - // int jold = -1; for (uint32_t i = 0; i < hitsInFit; ++i) { int j = int(n + 0.5f); // round if (hitsInFit - 1 == i) j = nHits - 1; // force last hit to ensure max lever arm. - // assert(j>jold); - // jold=j; assert(j < int(nHits)); n += incr; auto hit = hitId[j]; diff --git a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h index 6372ce2f6f282..86d7ab8b5a1a6 100644 --- a/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h +++ b/RecoPixelVertexing/PixelTriplets/plugins/CAHitNtupletGeneratorKernelsImpl.h @@ -152,14 +152,11 @@ __global__ void kernel_earlyDuplicateRemover(GPUCACell const *cells, if (thisCell.tracks().size() < 2) continue; - //if (0==thisCell.theUsed) continue; - // if (thisCell.theDoubletId < 0) continue; int8_t maxNl = 0; // find maxNl for (auto it : thisCell.tracks()) { - // if (tracks.nHits(it)==3) continue; auto nl = tracks.nLayers(it); maxNl = std::max(nl, maxNl); } @@ -191,7 +188,6 @@ __global__ void kernel_fastDuplicateRemover(GPUCACell const *__restrict__ cells, auto const &thisCell = cells[idx]; if (thisCell.tracks().size() < 2) continue; - // if (thisCell.theDoubletId < 0) continue; float mc = maxScore; uint16_t im = tkNotFound; @@ -694,7 +690,6 @@ __global__ void kernel_rejectDuplicate(TkSoA const *__restrict__ ptracks, if ((opi - opj) * (opi - opj) > dop) continue; auto nlj = tracks.nLayers(jt); - ; if (nlj < nli || (nlj == nli && (qj < qi || (qj == qi && score(it, nli) < score(jt, nlj))))) quality[jt] = reject; else { From 43b6a1ad3ffa1e1ab3a9076c5ed9a6e7c8c5e364 Mon Sep 17 00:00:00 2001 From: calderon Date: Tue, 30 Nov 2021 11:04:08 +0100 Subject: [PATCH 222/268] fix code --- .../Muon/python/EfficencyPlotter_cfi.py | 26 +++++++++---------- .../Muon/python/muonEfficiencyAnalyzer_cfi.py | 24 ++++++++--------- .../Muon/python/muonIsolationDQM_cff.py | 24 ++++++++--------- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py index 0d9324791c193..04327adc4bc14 100644 --- a/DQMOffline/Muon/python/EfficencyPlotter_cfi.py +++ b/DQMOffline/Muon/python/EfficencyPlotter_cfi.py @@ -111,33 +111,33 @@ effPlotter_miniAOD=cms.Sequence(effPlotterLooseMiniAOD*effPlotterMediumMiniAOD*effPlotterTightMiniAOD) effPlotterLoose_Phase2=effPlotterLoose.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 -) + ) effPlotterMedium_Phase2=effPlotterMedium.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) effPlotterTight_Phase2=effPlotterTight.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) effPlotterLooseMiniAOD_Phase2=effPlotterLooseMiniAOD.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) effPlotterMediumMiniAOD_Phase2=effPlotterMediumMiniAOD.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) effPlotterTightMiniAOD_Phase2=effPlotterTightMiniAOD.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) diff --git a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py index 3d650cf90cc37..c7e889b20f34b 100644 --- a/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py +++ b/DQMOffline/Muon/python/muonEfficiencyAnalyzer_cfi.py @@ -184,38 +184,38 @@ EfficiencyAnalyzer_miniAOD = cms.Sequence(TightMuonEfficiencyAnalyzer_miniAOD*LooseMuonEfficiencyAnalyzer_miniAOD*MediumMuonEfficiencyAnalyzer_miniAOD) TightMuonEfficiencyAnalyzer_Phase2=TightMuonEfficiencyAnalyzer.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) LooseMuonEfficiencyAnalyzer_Phase2=LooseMuonEfficiencyAnalyzer.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) MediumMuonEfficiencyAnalyzer_Phase2=MediumMuonEfficiencyAnalyzer.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) TightMuonEfficiencyAnalyzer_miniAOD_Phase2=TightMuonEfficiencyAnalyzer_miniAOD.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) LooseMuonEfficiencyAnalyzer_miniAOD_Phase2=LooseMuonEfficiencyAnalyzer_miniAOD.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) MediumMuonEfficiencyAnalyzer_miniAOD_Phase2=MediumMuonEfficiencyAnalyzer.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) diff --git a/DQMOffline/Muon/python/muonIsolationDQM_cff.py b/DQMOffline/Muon/python/muonIsolationDQM_cff.py index 6e80b82ab39aa..d2de9fc1aff13 100644 --- a/DQMOffline/Muon/python/muonIsolationDQM_cff.py +++ b/DQMOffline/Muon/python/muonIsolationDQM_cff.py @@ -57,20 +57,20 @@ muIsoDQM_seq = cms.Sequence(MuIsoDQM_trk+MuIsoDQM_sta+MuIsoDQM_glb) MuIsoDQM_glb_Phase2=MuIsoDQM_glb.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) MuIsoDQM_trk_Phase2=MuIsoDQM_trk.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) MuIsoDQM_sta_Phase2=MuIsoDQM_sta.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) @@ -129,20 +129,20 @@ muIsoDQM_seq_miniAOD = cms.Sequence(MuIsoDQM_trk_miniAOD+MuIsoDQM_sta_miniAOD+MuIsoDQM_glb_miniAOD) MuIsoDQM_glb_miniAOD_Phase2=MuIsoDQM_glb_miniAOD.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) MuIsoDQM_trk_miniAOD_Phase2=MuIsoDQM_trk_miniAOD.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) MuIsoDQM_sta_miniAOD_Phase2=MuIsoDQM_sta_miniAOD.clone( - vtxBin=20 - vtxMin=149.5 + vtxBin=20, + vtxMin=149.5, vtxMax=249.5 ) From 5fd2aef2f7a809dd41a141256b32508a6ea6934d Mon Sep 17 00:00:00 2001 From: francescobrivio Date: Tue, 30 Nov 2021 11:38:00 +0100 Subject: [PATCH 223/268] Remove unused `transDelay` option from BeamSpot DQM clients --- .../python/clients/beam_dqm_sourceclient-live_cfg.py | 2 -- .../python/clients/beamfake_dqm_sourceclient-live_cfg.py | 2 -- .../python/clients/beamhlt_dqm_sourceclient-live_cfg.py | 2 -- .../python/clients/beamhltfake_dqm_sourceclient-live_cfg.py | 2 -- .../clients/onlinebeammonitor_dqm_sourceclient-live_cfg.py | 6 ------ DQM/Integration/python/config/fileinputsource_cfi.py | 6 ------ DQM/Integration/python/config/inputsource_cfi.py | 6 ------ DQM/Integration/python/config/unittestinputsource_cfi.py | 6 ------ 8 files changed, 32 deletions(-) diff --git a/DQM/Integration/python/clients/beam_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/beam_dqm_sourceclient-live_cfg.py index 0e2fcf55a9737..e7fbaaaf16060 100644 --- a/DQM/Integration/python/clients/beam_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/beam_dqm_sourceclient-live_cfg.py @@ -385,7 +385,6 @@ runNumber = cms.untracked.uint64(options.runNumber), omsServiceUrl = cms.untracked.string(BSOnlineOmsServiceUrl), - writeTransactionDelay = cms.untracked.uint32(options.transDelay), latency = cms.untracked.uint32(2), autoCommit = cms.untracked.bool(True), saveLogsOnDB = cms.untracked.bool(True), @@ -412,7 +411,6 @@ preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineLegacy.db'), runNumber = cms.untracked.uint64(options.runNumber), lastLumiFile = cms.untracked.string('last_lumi.txt'), - writeTransactionDelay = cms.untracked.uint32(options.transDelay), latency = cms.untracked.uint32(2), autoCommit = cms.untracked.bool(True), toPut = cms.VPSet(cms.PSet( diff --git a/DQM/Integration/python/clients/beamfake_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/beamfake_dqm_sourceclient-live_cfg.py index 29a851aed72dc..99f89846de6e5 100644 --- a/DQM/Integration/python/clients/beamfake_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/beamfake_dqm_sourceclient-live_cfg.py @@ -155,7 +155,6 @@ runNumber = cms.untracked.uint64(options.runNumber), omsServiceUrl = cms.untracked.string(BSOnlineOmsServiceUrl), - writeTransactionDelay = cms.untracked.uint32(options.transDelay), latency = cms.untracked.uint32(2), autoCommit = cms.untracked.bool(True), saveLogsOnDB = cms.untracked.bool(True), @@ -182,7 +181,6 @@ preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineLegacy.db'), runNumber = cms.untracked.uint64(options.runNumber), lastLumiFile = cms.untracked.string('last_lumi.txt'), - writeTransactionDelay = cms.untracked.uint32(options.transDelay), latency = cms.untracked.uint32(2), autoCommit = cms.untracked.bool(True), toPut = cms.VPSet(cms.PSet( diff --git a/DQM/Integration/python/clients/beamhlt_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/beamhlt_dqm_sourceclient-live_cfg.py index 362d557b14954..00925f2320f23 100644 --- a/DQM/Integration/python/clients/beamhlt_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/beamhlt_dqm_sourceclient-live_cfg.py @@ -189,7 +189,6 @@ preLoadConnectionString = cms.untracked.string('frontier://FrontierProd/CMS_CONDITIONS'), runNumber = cms.untracked.uint64(options.runNumber), omsServiceUrl = cms.untracked.string(BSOnlineOmsServiceUrl), - writeTransactionDelay = cms.untracked.uint32(options.transDelay), latency = cms.untracked.uint32(2), autoCommit = cms.untracked.bool(True), saveLogsOnDB = cms.untracked.bool(True), @@ -215,7 +214,6 @@ preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineHLT.db'), runNumber = cms.untracked.uint64(options.runNumber), lastLumiFile = cms.untracked.string('last_lumi.txt'), - writeTransactionDelay = cms.untracked.uint32(options.transDelay), latency = cms.untracked.uint32(2), autoCommit = cms.untracked.bool(True), toPut = cms.VPSet(cms.PSet( diff --git a/DQM/Integration/python/clients/beamhltfake_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/beamhltfake_dqm_sourceclient-live_cfg.py index 5efd2fac34e5c..c71c646247c73 100644 --- a/DQM/Integration/python/clients/beamhltfake_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/beamhltfake_dqm_sourceclient-live_cfg.py @@ -127,7 +127,6 @@ preLoadConnectionString = cms.untracked.string('frontier://FrontierProd/CMS_CONDITIONS'), runNumber = cms.untracked.uint64(options.runNumber), omsServiceUrl = cms.untracked.string(BSOnlineOmsServiceUrl), - writeTransactionDelay = cms.untracked.uint32(options.transDelay), latency = cms.untracked.uint32(2), autoCommit = cms.untracked.bool(True), saveLogsOnDB = cms.untracked.bool(True), @@ -154,7 +153,6 @@ runNumber = cms.untracked.uint64(options.runNumber), lastLumiFile = cms.untracked.string('last_lumi.txt'), - writeTransactionDelay = cms.untracked.uint32(options.transDelay), latency = cms.untracked.uint32(2), autoCommit = cms.untracked.bool(True), toPut = cms.VPSet(cms.PSet( diff --git a/DQM/Integration/python/clients/onlinebeammonitor_dqm_sourceclient-live_cfg.py b/DQM/Integration/python/clients/onlinebeammonitor_dqm_sourceclient-live_cfg.py index 8ded75cfe036a..e18842d9f71ea 100644 --- a/DQM/Integration/python/clients/onlinebeammonitor_dqm_sourceclient-live_cfg.py +++ b/DQM/Integration/python/clients/onlinebeammonitor_dqm_sourceclient-live_cfg.py @@ -76,12 +76,6 @@ VarParsing.VarParsing.varType.int, "This number of last events in each lumisection will be processed.") - options.register('transDelay', - 0, #default value, int limit -3 - VarParsing.VarParsing.multiplicity.singleton, - VarParsing.VarParsing.varType.int, - "delay in seconds for the commit of the db transaction") - # This is used only by the online clients themselves. # We need to register it here because otherwise an error occurs saying that there is an unidentified option. options.register('unitTest', diff --git a/DQM/Integration/python/config/fileinputsource_cfi.py b/DQM/Integration/python/config/fileinputsource_cfi.py index e8312a9bc7cba..62a1787242a9d 100644 --- a/DQM/Integration/python/config/fileinputsource_cfi.py +++ b/DQM/Integration/python/config/fileinputsource_cfi.py @@ -59,12 +59,6 @@ VarParsing.VarParsing.varType.string, "Dataset name like '/ExpressPhysicsPA/PARun2016D-Express-v1/FEVT', or 'auto' to guess it with a DAS query. A dataset_cfi.py that defines 'readFiles' and 'secFiles' (like a DAS Python snippet) will override this, to avoid DAS queries.") -options.register('transDelay', - 0, #default value, int limit -3 - VarParsing.VarParsing.multiplicity.singleton, - VarParsing.VarParsing.varType.int, - "delay in seconds for the commit of the db transaction") - options.register('noDB', True, # default value VarParsing.VarParsing.multiplicity.singleton, diff --git a/DQM/Integration/python/config/inputsource_cfi.py b/DQM/Integration/python/config/inputsource_cfi.py index 359839d70193a..e13137db514f3 100644 --- a/DQM/Integration/python/config/inputsource_cfi.py +++ b/DQM/Integration/python/config/inputsource_cfi.py @@ -33,12 +33,6 @@ VarParsing.VarParsing.varType.bool, "Skip (and ignore the minEventsPerLumi parameter) for the files which have been available at the begining of the processing. ") -options.register('transDelay', - 0, #default value, int limit -3 - VarParsing.VarParsing.multiplicity.singleton, - VarParsing.VarParsing.varType.int, - "delay in seconds for the commit of the db transaction") - options.register('noDB', True, # default value VarParsing.VarParsing.multiplicity.singleton, diff --git a/DQM/Integration/python/config/unittestinputsource_cfi.py b/DQM/Integration/python/config/unittestinputsource_cfi.py index bfa2bb6596c9b..16a7899832b7b 100644 --- a/DQM/Integration/python/config/unittestinputsource_cfi.py +++ b/DQM/Integration/python/config/unittestinputsource_cfi.py @@ -67,12 +67,6 @@ VarParsing.VarParsing.varType.int, "This number of last events in each lumisection will be processed.") -options.register('transDelay', - 0, #default value, int limit -3 - VarParsing.VarParsing.multiplicity.singleton, - VarParsing.VarParsing.varType.int, - "delay in seconds for the commit of the db transaction") - # This is used only by the online clients themselves. # We need to register it here because otherwise an error occurs saying that there is an unidentified option. options.register('unitTest', From 1049c4cc10c6d34d6cab4d180bacf451017e4ced Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 30 Nov 2021 12:23:23 +0100 Subject: [PATCH 224/268] Updated SimWatcher interface --- Validation/EcalHits/src/EcalSimHitsValidProducer.cc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Validation/EcalHits/src/EcalSimHitsValidProducer.cc b/Validation/EcalHits/src/EcalSimHitsValidProducer.cc index d24b3538e36a9..58989483a11dc 100644 --- a/Validation/EcalHits/src/EcalSimHitsValidProducer.cc +++ b/Validation/EcalHits/src/EcalSimHitsValidProducer.cc @@ -55,6 +55,7 @@ EcalSimHitsValidProducer::EcalSimHitsValidProducer(const edm::ParameterSet &iPSe eBX0[i] = 0.0; eEX0[i] = 0.0; } + setMT(true); } EcalSimHitsValidProducer::~EcalSimHitsValidProducer() {} @@ -249,16 +250,11 @@ void EcalSimHitsValidProducer::update(const EndOfEvent *evt) { double pz = thePrim->GetPz(); theMomentum.SetCoordinates(px, py, pz, 0.); - pInit = sqrt(pow(px, 2.) + pow(py, 2.) + pow(pz, 2.)); + pInit = std::sqrt(px*px + py*py + pz*pz); if (pInit == 0) edm::LogWarning("EcalSimHitsValidProducer") << " Primary has p = 0 ; "; else { theMomentum.SetE(pInit); - // double costheta = pz/pInit; // UNUSED - // double theta = acos(std::min(std::max(costheta, -1.),1.)); // UNUSED - // etaInit = -log(tan(theta/2)); // UNUSED - - // if ( px != 0 || py != 0) phiInit = atan2(py,px); // UNUSED } thePID = thePrim->GetPDGcode(); From 94a0abffe9b2f2a91d3a5a7f24890e0bb23e297c Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 30 Nov 2021 12:25:52 +0100 Subject: [PATCH 225/268] use InputTag instead of string --- .../EcalHits/interface/EcalPreshowerSimHitsValidation.h | 1 - Validation/EcalHits/interface/EcalSimHitsValidation.h | 1 - .../EcalHits/python/ecalPreshowerSimHitsValidation_cfi.py | 2 +- Validation/EcalHits/python/ecalSimHitsValidation_cfi.py | 2 +- Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc | 6 ++---- Validation/EcalHits/src/EcalSimHitsValidation.cc | 2 +- 6 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Validation/EcalHits/interface/EcalPreshowerSimHitsValidation.h b/Validation/EcalHits/interface/EcalPreshowerSimHitsValidation.h index 8217f2c9fc453..ed766b55e37c2 100644 --- a/Validation/EcalHits/interface/EcalPreshowerSimHitsValidation.h +++ b/Validation/EcalHits/interface/EcalPreshowerSimHitsValidation.h @@ -45,7 +45,6 @@ class EcalPreshowerSimHitsValidation : public DQMEDAnalyzer { void analyze(const edm::Event &e, const edm::EventSetup &c) override; private: - std::string HepMCLabel; std::string g4InfoLabel; std::string EEHitsCollection; std::string ESHitsCollection; diff --git a/Validation/EcalHits/interface/EcalSimHitsValidation.h b/Validation/EcalHits/interface/EcalSimHitsValidation.h index 55abc8ed3351e..05c1f8a1aad1c 100644 --- a/Validation/EcalHits/interface/EcalSimHitsValidation.h +++ b/Validation/EcalHits/interface/EcalSimHitsValidation.h @@ -11,7 +11,6 @@ #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/MakerMacros.h" diff --git a/Validation/EcalHits/python/ecalPreshowerSimHitsValidation_cfi.py b/Validation/EcalHits/python/ecalPreshowerSimHitsValidation_cfi.py index bbcb6bb870760..961592c336426 100644 --- a/Validation/EcalHits/python/ecalPreshowerSimHitsValidation_cfi.py +++ b/Validation/EcalHits/python/ecalPreshowerSimHitsValidation_cfi.py @@ -6,7 +6,7 @@ ESHitsCollection = cms.string('EcalHitsES'), moduleLabelG4 = cms.string('g4SimHits'), verbose = cms.untracked.bool(False), - moduleLabelMC = cms.string('generatorSmeared') + moduleLabelMC = cms.InputTag('generatorSmeared') ) diff --git a/Validation/EcalHits/python/ecalSimHitsValidation_cfi.py b/Validation/EcalHits/python/ecalSimHitsValidation_cfi.py index 9f4c0ef538032..99d2f89731a20 100644 --- a/Validation/EcalHits/python/ecalSimHitsValidation_cfi.py +++ b/Validation/EcalHits/python/ecalSimHitsValidation_cfi.py @@ -4,7 +4,7 @@ ecalSimHitsValidation = DQMEDAnalyzer("EcalSimHitsValidation", ESHitsCollection = cms.string('EcalHitsES'), verbose = cms.untracked.bool(False), - moduleLabelMC = cms.string('generatorSmeared'), + moduleLabelMC = cms.InputTag('generatorSmeared'), EBHitsCollection = cms.string('EcalHitsEB'), EEHitsCollection = cms.string('EcalHitsEE'), moduleLabelG4 = cms.string('g4SimHits') diff --git a/Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc b/Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc index 79ccc7c9f0782..4421f1b9965bf 100644 --- a/Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc +++ b/Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc @@ -17,12 +17,10 @@ using namespace std; EcalPreshowerSimHitsValidation::EcalPreshowerSimHitsValidation(const edm::ParameterSet &ps) : - - HepMCLabel(ps.getParameter("moduleLabelMC")), g4InfoLabel(ps.getParameter("moduleLabelG4")), EEHitsCollection(ps.getParameter("EEHitsCollection")), - ESHitsCollection(ps.getParameter("ESHitsCollection")) { - HepMCToken = consumes(HepMCLabel); + ESHitsCollection(ps.getParameter("ESHitsCollection")), + HepMCToken(consumes(ps.getParameter("moduleLabelMC"))) { EEHitsToken = consumes(edm::InputTag(std::string(g4InfoLabel), std::string(EEHitsCollection))); ESHitsToken = diff --git a/Validation/EcalHits/src/EcalSimHitsValidation.cc b/Validation/EcalHits/src/EcalSimHitsValidation.cc index 77b54ebabb516..8a4c9e999b7dd 100644 --- a/Validation/EcalHits/src/EcalSimHitsValidation.cc +++ b/Validation/EcalHits/src/EcalSimHitsValidation.cc @@ -19,7 +19,7 @@ using namespace std; EcalSimHitsValidation::EcalSimHitsValidation(const edm::ParameterSet &ps) : g4InfoLabel(ps.getParameter("moduleLabelG4")), - HepMCToken(consumes(ps.getParameter("moduleLabelMC"))) { + HepMCToken(consumes(ps.getParameter("moduleLabelMC"))) { EBHitsCollectionToken = consumes(edm::InputTag(g4InfoLabel, ps.getParameter("EBHitsCollection"))); EEHitsCollectionToken = From 6b18362f2bb55c080819d2ad9ba9b7b2ca8baa66 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 30 Nov 2021 12:29:00 +0100 Subject: [PATCH 226/268] code-checks --- Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc | 3 +-- Validation/EcalHits/src/EcalSimHitsValidProducer.cc | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc b/Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc index 4421f1b9965bf..b2a9c39c07a5c 100644 --- a/Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc +++ b/Validation/EcalHits/src/EcalPreshowerSimHitsValidation.cc @@ -16,8 +16,7 @@ using namespace edm; using namespace std; EcalPreshowerSimHitsValidation::EcalPreshowerSimHitsValidation(const edm::ParameterSet &ps) - : - g4InfoLabel(ps.getParameter("moduleLabelG4")), + : g4InfoLabel(ps.getParameter("moduleLabelG4")), EEHitsCollection(ps.getParameter("EEHitsCollection")), ESHitsCollection(ps.getParameter("ESHitsCollection")), HepMCToken(consumes(ps.getParameter("moduleLabelMC"))) { diff --git a/Validation/EcalHits/src/EcalSimHitsValidProducer.cc b/Validation/EcalHits/src/EcalSimHitsValidProducer.cc index 58989483a11dc..ec1ed0acece46 100644 --- a/Validation/EcalHits/src/EcalSimHitsValidProducer.cc +++ b/Validation/EcalHits/src/EcalSimHitsValidProducer.cc @@ -250,7 +250,7 @@ void EcalSimHitsValidProducer::update(const EndOfEvent *evt) { double pz = thePrim->GetPz(); theMomentum.SetCoordinates(px, py, pz, 0.); - pInit = std::sqrt(px*px + py*py + pz*pz); + pInit = std::sqrt(px * px + py * py + pz * pz); if (pInit == 0) edm::LogWarning("EcalSimHitsValidProducer") << " Primary has p = 0 ; "; else { From 6c01f6acf706bf5d69484d10d0e4d4422846ba89 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 30 Nov 2021 13:15:48 +0100 Subject: [PATCH 227/268] Fast Geant4 method for overlap check --- SimG4Core/Geometry/interface/CMSG4CheckOverlap.h | 2 +- SimG4Core/Geometry/src/CMSG4CheckOverlap.cc | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/SimG4Core/Geometry/interface/CMSG4CheckOverlap.h b/SimG4Core/Geometry/interface/CMSG4CheckOverlap.h index 2e687672134d9..d76c7e89f37c9 100644 --- a/SimG4Core/Geometry/interface/CMSG4CheckOverlap.h +++ b/SimG4Core/Geometry/interface/CMSG4CheckOverlap.h @@ -11,7 +11,7 @@ class G4VPhysicalVolume; class CMSG4CheckOverlap { public: CMSG4CheckOverlap(edm::ParameterSet const& p, std::string& regFile, CustomUIsession*, G4VPhysicalVolume* world); - ~CMSG4CheckOverlap(); + ~CMSG4CheckOverlap() = default; private: void makeReportForMaterials(std::ofstream& fout); diff --git a/SimG4Core/Geometry/src/CMSG4CheckOverlap.cc b/SimG4Core/Geometry/src/CMSG4CheckOverlap.cc index 62966f12af3b0..d1cb7c0a3f99b 100644 --- a/SimG4Core/Geometry/src/CMSG4CheckOverlap.cc +++ b/SimG4Core/Geometry/src/CMSG4CheckOverlap.cc @@ -179,8 +179,6 @@ void CMSG4CheckOverlap::makeReportForOverlaps(std::ofstream& fout, const edm::Pa bool regionFlag = p.getParameter("RegionFlag"); bool gdmlFlag = p.getParameter("gdmlFlag"); int nPrints = p.getParameter("ErrorThreshold"); - int level = p.getParameter("Level"); - int depth = p.getParameter("Depth"); const G4RegionStore* regStore = G4RegionStore::GetInstance(); @@ -211,7 +209,7 @@ void CMSG4CheckOverlap::makeReportForOverlaps(std::ofstream& fout, const edm::Pa G4VPhysicalVolume* pv = pvs->GetVolume("DDDWorld"); G4GeomTestVolume test(pv, tolerance, nPoints, verbose); test.SetErrorsThreshold(nPrints); - test.TestRecursiveOverlap(level, depth); + test.TestOverlapInTree(); } else if (regionFlag) { fout << "---------------------------------------------------------------" << "\n"; @@ -255,7 +253,7 @@ void CMSG4CheckOverlap::makeReportForOverlaps(std::ofstream& fout, const edm::Pa } G4GeomTestVolume test(((*pvs)[i]), tolerance, nPoints, verbose); test.SetErrorsThreshold(nPrints); - test.TestRecursiveOverlap(level, depth); + test.TestOverlapInTree(); } } } @@ -264,7 +262,7 @@ void CMSG4CheckOverlap::makeReportForOverlaps(std::ofstream& fout, const edm::Pa G4VPhysicalVolume* pv = pvs->GetVolume((G4String)nodeNames[ii]); G4GeomTestVolume test(pv, tolerance, nPoints, verbose); test.SetErrorsThreshold(nPrints); - test.TestRecursiveOverlap(level, depth); + test.TestOverlapInTree(); } } } @@ -312,5 +310,3 @@ void CMSG4CheckOverlap::makeReportForOverlaps(std::ofstream& fout, const edm::Pa fout << "---------------- End of overlap checks ---------------------" << "\n"; } - -CMSG4CheckOverlap::~CMSG4CheckOverlap() {} From 7208105c5fa3f0060fe23a41bb6cac3f65dccc07 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Tue, 30 Nov 2021 14:43:12 +0100 Subject: [PATCH 228/268] Make use of unqiue_ptr in the analysis code --- SimG4CMS/Calo/plugins/HcalTestAnalysis.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc b/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc index 8d9376c714a83..d653f4df4dc8a 100644 --- a/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc +++ b/SimG4CMS/Calo/plugins/HcalTestAnalysis.cc @@ -82,7 +82,7 @@ class HcalTestAnalysis : public SimProducer, edm::ESGetToken ddconsToken_; std::unique_ptr numberingFromDDD_; const HcalDDDSimConstants* hcons_; - HcalTestNumberingScheme* org_; + std::unique_ptr org_; // Hits for qie analysis std::vector caloHitCache_; @@ -101,7 +101,8 @@ class HcalTestAnalysis : public SimProducer, double mudist_[20]; // Distance of muon from central part }; -HcalTestAnalysis::HcalTestAnalysis(const edm::ParameterSet& p) : addTower_(3), hcons_(nullptr), org_(nullptr) { +HcalTestAnalysis::HcalTestAnalysis(const edm::ParameterSet& p) : addTower_(3), hcons_(nullptr) { + org_.reset(nullptr); edm::ParameterSet m_Anal = p.getParameter("HcalTestAnalysis"); eta0_ = m_Anal.getParameter("Eta0"); phi0_ = m_Anal.getParameter("Phi0"); @@ -135,7 +136,7 @@ HcalTestAnalysis::HcalTestAnalysis(const edm::ParameterSet& p) : addTower_(3), h HcalTestAnalysis::~HcalTestAnalysis() { edm::LogVerbatim("HcalSim") << "HcalTestAnalysis: --------> Total number of selected entries : " << count_; - edm::LogVerbatim("HcalSim") << "HcalTestAnalysis: Pointers:: Numbering Scheme " << org_; + edm::LogVerbatim("HcalSim") << "HcalTestAnalysis: Pointers:: Numbering Scheme " << org_.get(); } void HcalTestAnalysis::registerConsumes(edm::ConsumesCollector cc) { @@ -225,7 +226,7 @@ void HcalTestAnalysis::beginRun(edm::EventSetup const& es) { numberingFromDDD_ = std::make_unique(hcons_); // Numbering scheme - org_ = new HcalTestNumberingScheme(false); + org_ = std::make_unique(false); } //==================================================================== per RUN @@ -276,8 +277,8 @@ void HcalTestAnalysis::update(const BeginOfRun* run) { HCalSD* theCaloSD = dynamic_cast(aSD); edm::LogVerbatim("HcalSim") << "HcalTestAnalysis::beginOfRun: Finds SD with name " << theCaloSD->GetName() << " in this Setup"; - if (org_) { - theCaloSD->setNumberingScheme(org_); + if (org_.get()) { + theCaloSD->setNumberingScheme(org_.get()); edm::LogVerbatim("HcalSim") << "HcalTestAnalysis::beginOfRun: set a new numbering scheme"; } } From f813b5dc00d58faa9d7edaa768f86130515174f1 Mon Sep 17 00:00:00 2001 From: Andrea Date: Tue, 30 Nov 2021 15:02:05 +0100 Subject: [PATCH 229/268] Code adjustments: do not consider other stations beyond 1 and 2 --- L1Trigger/CSCTriggerPrimitives/src/CSCGEMMatcher.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMatcher.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMatcher.cc index 6a64a7a519ac4..1d57e5171d504 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMatcher.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCGEMMatcher.cc @@ -38,8 +38,6 @@ unsigned CSCGEMMatcher::calculateGEMCSCBending(const CSCCLCTDigi& clct, const GE // difference in 1/8-strip number const unsigned diff = std::abs(int(clct.getKeyStrip(8)) - int(cluster.getKeyStrip(8))); - const bool isME1a(station_ == 1 and clct.getKeyStrip() > CSCConstants::MAX_HALF_STRIP_ME1B); - unsigned slope = 0; // need LUT to convert differences in 1/8-strips between GEM and CSC to slope @@ -55,8 +53,8 @@ unsigned CSCGEMMatcher::calculateGEMCSCBending(const CSCCLCTDigi& clct, const GE else slope = lookupTableME21ILT_->es_diff_slope_L2_ME21_odd(diff); } - } else { // station == 1 - if (isME1a) { + } else if (station_ == 1) { + if (clct.getKeyStrip() > CSCConstants::MAX_HALF_STRIP_ME1B) { //is in ME1a if (isEven_) { if (cluster.id().layer() == 1) slope = lookupTableME11ILT_->es_diff_slope_L1_ME1a_even(diff); From 9e198b2a1a48c2d49ed8252d4cd96dd53c234575 Mon Sep 17 00:00:00 2001 From: Abe Tishelman-Charny Date: Tue, 30 Nov 2021 16:47:48 +0100 Subject: [PATCH 230/268] Second iteration of https://github.com/thomreis/cmssw/pull/33 comments --- .../EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h | 2 +- .../EcalLaserSorting/interface/LaserSorter.h | 7 ++++--- CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc | 6 +++++- .../EcalCalibAlgos/interface/ECALpedestalPCLworker.h | 2 +- .../interface/ElectronRecalibSuperClusterAssociator.h | 4 ++-- .../EcalCalibAlgos/interface/miscalibExample.h | 7 +++++++ Calibration/EcalCalibAlgos/plugins/SealModule.cc | 2 +- .../python/electronRecalibSCAssociator_cfi.py | 4 ---- .../EcalCalibAlgos/src/ECALpedestalPCLworker.cc | 2 +- Calibration/EcalCalibAlgos/src/miscalibExample.cc | 11 +++++++---- CondTools/Ecal/plugins/EcalPedestalHistory.cc | 8 ++++++++ CondTools/Ecal/plugins/EcalPedestalHistory.h | 5 +++-- 12 files changed, 40 insertions(+), 20 deletions(-) diff --git a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h index 589ebd9003a0b..b02a6e6e92a74 100644 --- a/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h +++ b/CalibCalorimetry/EcalLaserAnalyzer/plugins/EcalStatusAnalyzer.h @@ -13,7 +13,7 @@ class EcalStatusAnalyzer : public edm::one::EDAnalyzer<> { explicit EcalStatusAnalyzer(const edm::ParameterSet& iConfig); ~EcalStatusAnalyzer() override; - void analyze(const edm::Event& e, const edm::EventSetup& c) ; + void analyze(const edm::Event& e, const edm::EventSetup& c) override; void beginJob() override; void endJob() override; diff --git a/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h b/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h index 7a3eb735f21f0..67f9a19d29eb9 100644 --- a/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h +++ b/CalibCalorimetry/EcalLaserSorting/interface/LaserSorter.h @@ -15,7 +15,7 @@ #include #include "FWCore/Framework/interface/Frameworkfwd.h" -#include +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Utilities/interface/InputTag.h" #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" @@ -41,7 +41,7 @@ * the each output file.Once a file is completed (see above), it is renamed * without the enclosing .part suffix. */ -class LaserSorter : public edm::one::EDAnalyzer<> { +class LaserSorter : public edm::one::EDAnalyzer { //inner classes private: struct IndexRecord { @@ -123,7 +123,8 @@ class LaserSorter : public edm::one::EDAnalyzer<> { void analyze(const edm::Event&, const edm::EventSetup&) override; void endJob() override; void beginJob() override; - void beginRun(edm::Run const&, edm::EventSetup const&); + void beginRun(edm::Run const&, edm::EventSetup const&) override; + void endRun(edm::Run const&, edm::EventSetup const&) override; private: int dcc2Lme(int dccNum, int dccSide); diff --git a/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc b/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc index 660a7528a5447..65e7ddd33b820 100644 --- a/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc +++ b/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc @@ -1155,5 +1155,9 @@ void LaserSorter::restoreStreamsOfLumiBlock(int lumiBlock) { } void LaserSorter::beginRun(edm::Run const& run, edm::EventSetup const& es) { - // cout << "Run starts at :" << run.runAuxiliary().beginTime().value() << "\n"; + +} + +void LaserSorter::endRun(edm::Run const& run, edm::EventSetup const& es) { + } diff --git a/Calibration/EcalCalibAlgos/interface/ECALpedestalPCLworker.h b/Calibration/EcalCalibAlgos/interface/ECALpedestalPCLworker.h index a5ade8314bf19..2dc10a29a8577 100644 --- a/Calibration/EcalCalibAlgos/interface/ECALpedestalPCLworker.h +++ b/Calibration/EcalCalibAlgos/interface/ECALpedestalPCLworker.h @@ -34,7 +34,7 @@ class ECALpedestalPCLworker : public DQMEDAnalyzer { public: - explicit ECALpedestalPCLworker(const edm::ParameterSet &, const DQMEDAnalyzerGlobalCache*); + explicit ECALpedestalPCLworker(const edm::ParameterSet &); static void fillDescriptions(edm::ConfigurationDescriptions &descriptions); diff --git a/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h b/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h index e68dacb1f2969..796bbff1a9b58 100644 --- a/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h +++ b/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h @@ -7,7 +7,7 @@ // // Description: -#include "FWCore/Framework/interface/stream/EDProducer.h" +#include "FWCore/Framework/interface/one/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/EventSetup.h" @@ -20,7 +20,7 @@ #include -class ElectronRecalibSuperClusterAssociator : public edm::stream::EDProducer<> { +class ElectronRecalibSuperClusterAssociator : public edm::one::EDProducer<> { public: explicit ElectronRecalibSuperClusterAssociator(const edm::ParameterSet& conf); diff --git a/Calibration/EcalCalibAlgos/interface/miscalibExample.h b/Calibration/EcalCalibAlgos/interface/miscalibExample.h index 7b8be4abfbf51..67fe45bb8d9aa 100644 --- a/Calibration/EcalCalibAlgos/interface/miscalibExample.h +++ b/Calibration/EcalCalibAlgos/interface/miscalibExample.h @@ -23,6 +23,9 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "DataFormats/EgammaReco/interface/SuperCluster.h" +#include "DataFormats/EgammaReco/interface/SuperClusterFwd.h" + #include #include "TH1.h" #include "TFile.h" @@ -48,6 +51,10 @@ class miscalibExample : public edm::one::EDAnalyzer<> { std::string ecalHitsProducer_; int read_events; + edm::EDGetTokenT > correctedHybridSuperClusterToken_; + + + TH1F* scEnergy; }; diff --git a/Calibration/EcalCalibAlgos/plugins/SealModule.cc b/Calibration/EcalCalibAlgos/plugins/SealModule.cc index dde44481e6765..a4f5497b4c1cc 100644 --- a/Calibration/EcalCalibAlgos/plugins/SealModule.cc +++ b/Calibration/EcalCalibAlgos/plugins/SealModule.cc @@ -10,7 +10,7 @@ #include "Calibration/EcalCalibAlgos/interface/ECALpedestalPCLHarvester.h" DEFINE_FWK_MODULE(miscalibExample); -//DEFINE_FWK_MODULE(ElectronRecalibSuperClusterAssociator); +DEFINE_FWK_MODULE(ElectronRecalibSuperClusterAssociator); DEFINE_FWK_MODULE(PhiSymmetryCalibration); DEFINE_FWK_LOOPER(Pi0FixedMassWindowCalibration); DEFINE_FWK_LOOPER(ZeeCalibration); diff --git a/Calibration/EcalCalibAlgos/python/electronRecalibSCAssociator_cfi.py b/Calibration/EcalCalibAlgos/python/electronRecalibSCAssociator_cfi.py index 282596ddf0703..ca27c66e2061c 100644 --- a/Calibration/EcalCalibAlgos/python/electronRecalibSCAssociator_cfi.py +++ b/Calibration/EcalCalibAlgos/python/electronRecalibSCAssociator_cfi.py @@ -1,12 +1,8 @@ import FWCore.ParameterSet.Config as cms electronRecalibSCAssociator = cms.EDProducer("ElectronRecalibSuperClusterAssociator", -# superClusterCollectionEB = cms.InputTag('correctedHybridSuperClusters'), -# superClusterCollectionEE = cms.InputTag('correctedMulti5x5SuperClustersWithPreshower'), superClusterCollectionEB = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALBarrel"), superClusterCollectionEE = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALEndcapWithPreshower"), electronSrc = cms.InputTag('gedGsfElectrons'), outputLabel = cms.string('recalibSC') ) - - diff --git a/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc b/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc index 6f0a2ec39739c..4448a8f83fa20 100644 --- a/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc +++ b/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc @@ -5,7 +5,7 @@ #include "FWCore/Framework/interface/EventSetup.h" #include -ECALpedestalPCLworker::ECALpedestalPCLworker(const edm::ParameterSet& iConfig, const DQMEDAnalyzerGlobalCache*) +ECALpedestalPCLworker::ECALpedestalPCLworker(const edm::ParameterSet& iConfig) : pedestalToken_(esConsumes()) { edm::InputTag digiTagEB = iConfig.getParameter("BarrelDigis"); edm::InputTag digiTagEE = iConfig.getParameter("EndcapDigis"); diff --git a/Calibration/EcalCalibAlgos/src/miscalibExample.cc b/Calibration/EcalCalibAlgos/src/miscalibExample.cc index 6d43e81cbd9ed..cae71db92bb37 100644 --- a/Calibration/EcalCalibAlgos/src/miscalibExample.cc +++ b/Calibration/EcalCalibAlgos/src/miscalibExample.cc @@ -32,7 +32,9 @@ miscalibExample::miscalibExample(const edm::ParameterSet& iConfig) { rootfile_ = iConfig.getUntrackedParameter("rootfile", "ecalSimpleTBanalysis.root"); correctedHybridSuperClusterProducer_ = iConfig.getParameter("correctedHybridSuperClusterProducer"); - correctedHybridSuperClusterCollection_ = iConfig.getParameter("correctedHybridSuperClusterCollection"); + edm::InputTag correctedHybridSuperClusterTag_ = iConfig.getParameter("correctedHybridSuperClusterCollection"); + correctedHybridSuperClusterToken_ = consumes >(correctedHybridSuperClusterTag_); + } miscalibExample::~miscalibExample() {} @@ -59,7 +61,7 @@ void miscalibExample::endJob() { scEnergy->Write(); f.Close(); - scEnergy->~TH1(); + delete scEnergy; } //================================================================================= @@ -73,8 +75,9 @@ void miscalibExample::analyze(const edm::Event& iEvent, const edm::EventSetup& i // Get hybrid super clusters after energy correction Handle pCorrectedHybridSuperClusters; - iEvent.getByLabel( - correctedHybridSuperClusterProducer_, correctedHybridSuperClusterCollection_, pCorrectedHybridSuperClusters); + + iEvent.getByToken(correctedHybridSuperClusterToken_, pCorrectedHybridSuperClusters); + if (!pCorrectedHybridSuperClusters.isValid()) { LogError("EgammaSimpleAnalyzer") << "Error! can't get collection with label " << correctedHybridSuperClusterCollection_.c_str(); diff --git a/CondTools/Ecal/plugins/EcalPedestalHistory.cc b/CondTools/Ecal/plugins/EcalPedestalHistory.cc index 109567163eb85..d037e8450359b 100644 --- a/CondTools/Ecal/plugins/EcalPedestalHistory.cc +++ b/CondTools/Ecal/plugins/EcalPedestalHistory.cc @@ -354,6 +354,14 @@ void EcalPedestalHistory::beginRun(edm::Run const&, edm::EventSetup const& c) { } //beginRun +//======================================================================== +void EcalPedestalHistory::endRun(edm::Run const&, edm::EventSetup const& c) { + //======================================================================== + + cout << "Entering endRun" << endl; + cout << "Exiting endRun" << endl; +} //endRun + //======================================================================== void EcalPedestalHistory::beginJob() { ///======================================================================== diff --git a/CondTools/Ecal/plugins/EcalPedestalHistory.h b/CondTools/Ecal/plugins/EcalPedestalHistory.h index ad879869da5d9..4ecad97dc2d72 100644 --- a/CondTools/Ecal/plugins/EcalPedestalHistory.h +++ b/CondTools/Ecal/plugins/EcalPedestalHistory.h @@ -41,12 +41,13 @@ #include #include -class EcalPedestalHistory : public edm::one::EDAnalyzer<> { +class EcalPedestalHistory : public edm::one::EDAnalyzer { public: explicit EcalPedestalHistory(const edm::ParameterSet&); ~EcalPedestalHistory() override; void analyze(const edm::Event&, const edm::EventSetup&) override; - void beginRun(edm::Run const&, edm::EventSetup const&); + void beginRun(edm::Run const&, edm::EventSetup const&) override; + void endRun(edm::Run const&, edm::EventSetup const&) override; void beginJob() override; void endJob() override; EcalCondDBInterface* econn; From b474817bb671839f4ced3d8f427e0d096b3eed84 Mon Sep 17 00:00:00 2001 From: Pierre Depasse Date: Tue, 30 Nov 2021 16:49:22 +0100 Subject: [PATCH 231/268] Corrections in the code : ThreadSafety, Dead store --- CondTools/Ecal/src/EcalDCSHandler.cc | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/CondTools/Ecal/src/EcalDCSHandler.cc b/CondTools/Ecal/src/EcalDCSHandler.cc index 676d093c8cda8..a813fb9a4f8be 100644 --- a/CondTools/Ecal/src/EcalDCSHandler.cc +++ b/CondTools/Ecal/src/EcalDCSHandler.cc @@ -3,6 +3,7 @@ #include "DataFormats/EcalDetId/interface/EcalSubdetector.h" #include "FWCore/ParameterSet/interface/ParameterSetfwd.h" +#include "FWCore/Utilities/interface/Exception.h" #include @@ -133,13 +134,6 @@ uint16_t popcon::EcalDCSHandler::updateLV(RunDCSLVDat* lv, uint16_t dbStatus) co if (lv->getStatus() == RunDCSLVDat::LVOFF) lv_on_dbstatus = 1; - // uint16_t lv_off_dbstatus = (dbStatus & (1 << EcalDCSTowerStatusHelper::LVSTATUS)); - // uint16_t lv_nomi_off_dbstatus = (dbStatus & (1 << EcalDCSTowerStatusHelper::LVNOMINALSTATUS)); - // if (lv_off_dbstatus > 0) - // lv_off_dbstatus = 1; - // if (lv_nomi_off_dbstatus > 0) - // lv_nomi_off_dbstatus = 1; - uint16_t temp = 0; for (int i = 0; i < 16; i++) { if (i != EcalDCSTowerStatusHelper::LVSTATUS && i != EcalDCSTowerStatusHelper::LVNOMINALSTATUS) { @@ -273,7 +267,7 @@ bool popcon::EcalDCSHandler::insertHVDataSetToOffline(const std::map Date: Tue, 30 Nov 2021 17:07:21 +0100 Subject: [PATCH 232/268] update pixelLess working point --- RecoTracker/IterativeTracking/python/dnnQualityCuts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RecoTracker/IterativeTracking/python/dnnQualityCuts.py b/RecoTracker/IterativeTracking/python/dnnQualityCuts.py index 7cfa427c59f7f..487fe6bc492b1 100644 --- a/RecoTracker/IterativeTracking/python/dnnQualityCuts.py +++ b/RecoTracker/IterativeTracking/python/dnnQualityCuts.py @@ -9,7 +9,7 @@ DetachedTripletStep = cms.vdouble(-0.32, 0.24, 0.81), PixelPairStep = cms.vdouble(-0.38, -0.23, 0.04), MixedTripletStep = cms.vdouble(-0.83, -0.63, -0.38), - PixelLessStep = cms.vdouble(-0.6, -0.5, -0.4), + PixelLessStep = cms.vdouble(-0.60, -0.40, 0.02), TobTecStep = cms.vdouble(-0.71, -0.58, -0.46), JetCoreRegionalStep = cms.vdouble(-0.53, -0.33, 0.18) From d3a116f242029cf5e8bdc8cb0119d43d1ea2828c Mon Sep 17 00:00:00 2001 From: sbein Date: Tue, 30 Nov 2021 17:18:50 +0100 Subject: [PATCH 233/268] taking @perrotta's suggestion and reducing repetition of calculations --- .../SimplifiedGeometryPropagator/src/ParticleManager.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc index 31337abe23c88..afe144d60c654 100644 --- a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc +++ b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc @@ -216,7 +216,8 @@ std::unique_ptr fastsim::ParticleManager::nextGenParticle() { } // particles which do not descend from exotics must be produced within the beampipe int exoticRelativeId = 0; - if (productionVertex->position().perp2() * lengthUnitConversionFactor2_ > beamPipeRadius2_) // + const bool producedWithinBeamPipe = productionVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_; + if (producedWithinBeamPipe) { exoticRelativesChecker(productionVertex, exoticRelativeId, 0); if (!isExotic(exoticRelativeId)) { @@ -225,13 +226,13 @@ std::unique_ptr fastsim::ParticleManager::nextGenParticle() { } // FastSim will not make hits out of particles that decay before reaching the beam pipe - if (endVertex && endVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_) { + const bool decayedWithinBeamPipe = endVertex && endVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_; + if (decayedWithinBeamPipe) { continue; } // SM particles that descend from exotics and cross the beam pipe radius should make hits but not be decayed - if (productionVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_ && endVertex && - endVertex->position().perp2() * lengthUnitConversionFactor2_ > beamPipeRadius2_) { + if (producedWithinBeamPipe && !decayedWithinBeamPipe) { exoticRelativesChecker(productionVertex, exoticRelativeId, 0); } From 8f985538fdcbdfc4360470aa2119e0b73761dba6 Mon Sep 17 00:00:00 2001 From: Helena Date: Tue, 30 Nov 2021 17:52:04 +0100 Subject: [PATCH 234/268] Add new PF Calibration to mcRun3 and mcRun4 GTs --- Configuration/AlCa/python/autoCond.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Configuration/AlCa/python/autoCond.py b/Configuration/AlCa/python/autoCond.py index 3ee91c1919fbd..9a68b2f5a5344 100644 --- a/Configuration/AlCa/python/autoCond.py +++ b/Configuration/AlCa/python/autoCond.py @@ -64,19 +64,19 @@ # GlobalTag for MC production (cosmics) with realistic conditions for full Phase1 2018 detector, Strip tracker in PEAK mode 'phase1_2018_cosmics_peak' : '122X_upgrade2018cosmics_realistic_peak_v1', # GlobalTag for MC production with perfectly aligned and calibrated detector for Phase1 2021 - 'phase1_2021_design' : '122X_mcRun3_2021_design_v1', + 'phase1_2021_design' : '122X_mcRun3_2021_design_v2', # GlobalTag for MC production with realistic conditions for Phase1 2021 - 'phase1_2021_realistic' : '122X_mcRun3_2021_realistic_v1', + 'phase1_2021_realistic' : '122X_mcRun3_2021_realistic_v2', # GlobalTag for MC production (cosmics) with realistic conditions for Phase1 2021, Strip tracker in DECO mode - 'phase1_2021_cosmics' : '122X_mcRun3_2021cosmics_realistic_deco_v1', + 'phase1_2021_cosmics' : '122X_mcRun3_2021cosmics_realistic_deco_v2', # GlobalTag for MC production with realistic conditions for Phase1 2021 detector for Heavy Ion - 'phase1_2021_realistic_hi' : '122X_mcRun3_2021_realistic_HI_v1', + 'phase1_2021_realistic_hi' : '122X_mcRun3_2021_realistic_HI_v2', # GlobalTag for MC production with realistic conditions for Phase1 2023 - 'phase1_2023_realistic' : '122X_mcRun3_2023_realistic_v1', + 'phase1_2023_realistic' : '122X_mcRun3_2023_realistic_v2', # GlobalTag for MC production with realistic conditions for Phase1 2024 - 'phase1_2024_realistic' : '122X_mcRun3_2024_realistic_v1', + 'phase1_2024_realistic' : '122X_mcRun3_2024_realistic_v2', # GlobalTag for MC production with realistic conditions for Phase2 - 'phase2_realistic' : '122X_mcRun4_realistic_v1' + 'phase2_realistic' : '122X_mcRun4_realistic_v2' } aliases = { From c78c0d697345fd934da3eebcc35117ca765f90dd Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Tue, 30 Nov 2021 11:11:13 -0600 Subject: [PATCH 235/268] Modernize modules in CondFormats/CSCObjects - moved to thread friendly module types - use esConsumes - switch to MessageLogger --- CondFormats/CSCObjects/test/CSCGainsStudy.cc | 8 +- CondFormats/CSCObjects/test/CSCGainsStudy.h | 5 +- .../CSCChipSpeedCorrectionDBReadAnalyzer.cc | 26 ++--- .../test/stubs/CSCCrossTalkDBReadAnalyzer.cc | 26 +++-- .../test/stubs/CSCCrossTalkReadAnalyzer.cc | 32 +++--- .../test/stubs/CSCGainsDBReadAnalyzer.cc | 26 +++-- .../test/stubs/CSCGainsReadAnalyzer.cc | 33 +++--- .../stubs/CSCNoiseMatrixDBReadAnalyzer.cc | 31 +++--- .../test/stubs/CSCNoiseMatrixReadAnalyzer.cc | 32 +++--- .../test/stubs/CSCPedestalDBReadAnalyzer.cc | 26 +++-- .../test/stubs/CSCPedestalReadAnalyzer.cc | 40 +++---- .../test/stubs/CSCReadBadChambersAnalyzer.cc | 48 ++++---- .../test/stubs/CSCReadBadStripsAnalyzer.cc | 55 +++++---- .../test/stubs/CSCReadBadWiresAnalyzer.cc | 50 +++++---- .../CSCReadChamberIndexValuesAnalyzer.cc | 100 ++++++++--------- .../stubs/CSCReadChamberMapValuesAnalyzer.cc | 104 +++++++++--------- .../stubs/CSCReadChamberTimeCorrAnalyzer.cc | 50 +++++---- .../CSCReadChamberTimeCorrectionsAnalyzer.cc | 48 ++++---- .../stubs/CSCReadCrateMapValuesAnalyzer.cc | 102 ++++++++--------- .../test/stubs/CSCReadDCSDataAnalyzer.cc | 59 +++++----- .../test/stubs/CSCReadDDUMapValuesAnalyzer.cc | 95 ++++++++-------- .../test/stubs/CSCReadoutMapTest.cc | 49 +++++---- 22 files changed, 537 insertions(+), 508 deletions(-) diff --git a/CondFormats/CSCObjects/test/CSCGainsStudy.cc b/CondFormats/CSCObjects/test/CSCGainsStudy.cc index 2bda4bd70f9fb..1805636d896b6 100644 --- a/CondFormats/CSCObjects/test/CSCGainsStudy.cc +++ b/CondFormats/CSCObjects/test/CSCGainsStudy.cc @@ -21,7 +21,7 @@ using namespace std; using namespace edm; // Constructor -CSCGainsStudy::CSCGainsStudy(const ParameterSet& pset) { +CSCGainsStudy::CSCGainsStudy(const ParameterSet& pset) : gainsToken{esConsumes()} { // Get the various input parameters debug = pset.getUntrackedParameter("debug"); rootFileName = pset.getUntrackedParameter("rootFileName"); @@ -136,6 +136,8 @@ CSCGainsStudy::~CSCGainsStudy() { theFile->Close(); if (debug) cout << "************* Finished writing histograms to file" << endl; + + delete theFile; } /* analyze @@ -143,9 +145,7 @@ CSCGainsStudy::~CSCGainsStudy() { */ void CSCGainsStudy::analyze(const Event& event, const EventSetup& eventSetup) { // Get the gains and compute global gain average to store for later use in strip calibration - edm::ESHandle hGains; - eventSetup.get().get(hGains); - const CSCGains* hGains_ = &*hGains.product(); + const CSCGains* hGains_ = &eventSetup.getData(gainsToken); // Store so it can be used in member functions pGains = hGains_; diff --git a/CondFormats/CSCObjects/test/CSCGainsStudy.h b/CondFormats/CSCObjects/test/CSCGainsStudy.h index 7c0691a657786..ae2e8e89bf680 100644 --- a/CondFormats/CSCObjects/test/CSCGainsStudy.h +++ b/CondFormats/CSCObjects/test/CSCGainsStudy.h @@ -11,7 +11,7 @@ * */ -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "DataFormats/Common/interface/Handle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -36,7 +36,7 @@ namespace edm { class TFile; -class CSCGainsStudy : public edm::EDAnalyzer { +class CSCGainsStudy : public edm::one::EDAnalyzer<> { public: /// configurable parameters explicit CSCGainsStudy(const edm::ParameterSet& p); @@ -112,6 +112,7 @@ class CSCGainsStudy : public edm::EDAnalyzer { std::string rootFileName; // Store in memory the Gains + const edm::ESGetToken gainsToken; const CSCGains* pGains; }; diff --git a/CondFormats/CSCObjects/test/stubs/CSCChipSpeedCorrectionDBReadAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCChipSpeedCorrectionDBReadAnalyzer.cc index c049bf46ff6b1..c43de455467d3 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCChipSpeedCorrectionDBReadAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCChipSpeedCorrectionDBReadAnalyzer.cc @@ -6,28 +6,28 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include -#include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/Utilities/interface/ESGetToken.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCDBChipSpeedCorrection.h" #include "CondFormats/DataRecord/interface/CSCDBChipSpeedCorrectionRcd.h" namespace edmtest { - class CSCChipSpeedCorrectionDBReadAnalyzer : public edm::EDAnalyzer { + class CSCChipSpeedCorrectionDBReadAnalyzer : public edm::one::EDAnalyzer<> { public: - explicit CSCChipSpeedCorrectionDBReadAnalyzer(edm::ParameterSet const& p) {} - explicit CSCChipSpeedCorrectionDBReadAnalyzer(int i) {} - virtual ~CSCChipSpeedCorrectionDBReadAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCChipSpeedCorrectionDBReadAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCChipSpeedCorrectionDBReadAnalyzer() override {} + void analyze(const edm::Event& e, const edm::EventSetup& c) override; private: + edm::ESGetToken token_; }; void CSCChipSpeedCorrectionDBReadAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { @@ -38,12 +38,12 @@ namespace edmtest { std::ofstream DBChipSpeedCorrectionFile("dbChipSpeedCorrection.dat", std::ios::out); int counter = 0; - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pChipCorr; - context.get().get(pChipCorr); + edm::LogSystem log("CSCDBChipSpeedCorrection"); - const CSCDBChipSpeedCorrection* myChipCorr = pChipCorr.product(); + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCDBChipSpeedCorrection* myChipCorr = &context.getData(token_); CSCDBChipSpeedCorrection::ChipSpeedContainer::const_iterator it; for (it = myChipCorr->chipSpeedCorr.begin(); it != myChipCorr->chipSpeedCorr.end(); ++it) { diff --git a/CondFormats/CSCObjects/test/stubs/CSCCrossTalkDBReadAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCCrossTalkDBReadAnalyzer.cc index 0c65626c36cb1..6967ee508065e 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCCrossTalkDBReadAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCCrossTalkDBReadAnalyzer.cc @@ -9,38 +9,40 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + #include "CondFormats/CSCObjects/interface/CSCDBCrosstalk.h" #include "CondFormats/DataRecord/interface/CSCDBCrosstalkRcd.h" namespace edmtest { - class CSCCrossTalkDBReadAnalyzer : public edm::EDAnalyzer { + class CSCCrossTalkDBReadAnalyzer : public edm::one::EDAnalyzer<> { public: - explicit CSCCrossTalkDBReadAnalyzer(edm::ParameterSet const& p) {} - explicit CSCCrossTalkDBReadAnalyzer(int i) {} - virtual ~CSCCrossTalkDBReadAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCCrossTalkDBReadAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCCrossTalkDBReadAnalyzer() override {} + void analyze(const edm::Event& e, const edm::EventSetup& c) override; private: + edm::ESGetToken token_; }; void CSCCrossTalkDBReadAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { std::ofstream DBXtalkFile("dbxtalk.dat", std::ios::out); int counter = 0; using namespace edm::eventsetup; - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pcrosstalk; - context.get().get(pcrosstalk); - const CSCDBCrosstalk* mycrosstalk = pcrosstalk.product(); + edm::LogInfo log("CSCDBCrosstalk"); + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCDBCrosstalk* mycrosstalk = &context.getData(token_); std::vector::const_iterator it; for (it = mycrosstalk->crosstalk.begin(); it != mycrosstalk->crosstalk.end(); ++it) { counter++; diff --git a/CondFormats/CSCObjects/test/stubs/CSCCrossTalkReadAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCCrossTalkReadAnalyzer.cc index 82c061c516fba..8a43addeed020 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCCrossTalkReadAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCCrossTalkReadAnalyzer.cc @@ -9,12 +9,15 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" + +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCcrosstalk.h" #include "CondFormats/DataRecord/interface/CSCcrosstalkRcd.h" @@ -22,32 +25,31 @@ Toy EDProducers and EDProducts for testing purposes only. using namespace std; namespace edmtest { - class CSCCrossTalkReadAnalyzer : public edm::EDAnalyzer { + class CSCCrossTalkReadAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCCrossTalkReadAnalyzer(edm::ParameterSet const& p) {} - explicit CSCCrossTalkReadAnalyzer(int i) {} - virtual ~CSCCrossTalkReadAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCCrossTalkReadAnalyzer(edm::ParameterSet const& p) : crosstalkToken_{esConsumes()} {} + ~CSCCrossTalkReadAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken crosstalkToken_; }; - void CSCCrossTalkReadAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCCrossTalkReadAnalyzer::analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& context) const { using namespace edm::eventsetup; // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pcrosstalk; - context.get().get(pcrosstalk); + edm::LogSystem log("CSCCrossTalk"); + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; - const CSCcrosstalk* mycrosstalk = pcrosstalk.product(); + const CSCcrosstalk* mycrosstalk = &context.getData(crosstalkToken_); std::map >::const_iterator it; for (it = mycrosstalk->crosstalk.begin(); it != mycrosstalk->crosstalk.end(); ++it) { - std::cout << "layer id found " << it->first << std::endl; + log << "layer id found " << it->first << std::endl; std::vector::const_iterator crosstalkit; for (crosstalkit = it->second.begin(); crosstalkit != it->second.end(); ++crosstalkit) { - std::cout << " crosstalk_slope_right: " << crosstalkit->xtalk_slope_right - << " crosstalk_intercept_right: " << crosstalkit->xtalk_intercept_right << std::endl; + log << " crosstalk_slope_right: " << crosstalkit->xtalk_slope_right + << " crosstalk_intercept_right: " << crosstalkit->xtalk_intercept_right << std::endl; } } } diff --git a/CondFormats/CSCObjects/test/stubs/CSCGainsDBReadAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCGainsDBReadAnalyzer.cc index 170c356e068c7..29a41d56bbc8d 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCGainsDBReadAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCGainsDBReadAnalyzer.cc @@ -8,38 +8,40 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + #include "CondFormats/CSCObjects/interface/CSCDBGains.h" #include "CondFormats/DataRecord/interface/CSCDBGainsRcd.h" namespace edmtest { - class CSCGainsDBReadAnalyzer : public edm::EDAnalyzer { + class CSCGainsDBReadAnalyzer : public edm::one::EDAnalyzer<> { public: - explicit CSCGainsDBReadAnalyzer(edm::ParameterSet const& p) {} - explicit CSCGainsDBReadAnalyzer(int i) {} - virtual ~CSCGainsDBReadAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCGainsDBReadAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCGainsDBReadAnalyzer() override {} + void analyze(const edm::Event& e, const edm::EventSetup& c) override; private: + edm::ESGetToken token_; }; void CSCGainsDBReadAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { using namespace edm::eventsetup; std::ofstream DBGainsFile("dbgains.dat", std::ios::out); int counter = 0; - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pGains; - context.get().get(pGains); - const CSCDBGains* mygains = pGains.product(); + edm::LogInfo log("CSCDBGains"); + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCDBGains* mygains = &context.getData(token_); std::vector::const_iterator it; for (it = mygains->gains.begin(); it != mygains->gains.end(); ++it) { diff --git a/CondFormats/CSCObjects/test/stubs/CSCGainsReadAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCGainsReadAnalyzer.cc index 43f04acfa74ba..90efb094f3373 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCGainsReadAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCGainsReadAnalyzer.cc @@ -6,15 +6,17 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include -#include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" + +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCGains.h" #include "CondFormats/DataRecord/interface/CSCGainsRcd.h" @@ -22,31 +24,30 @@ Toy EDProducers and EDProducts for testing purposes only. using namespace std; namespace edmtest { - class CSCGainsReadAnalyzer : public edm::EDAnalyzer { + class CSCGainsReadAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCGainsReadAnalyzer(edm::ParameterSet const& p) {} - explicit CSCGainsReadAnalyzer(int i) {} - virtual ~CSCGainsReadAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCGainsReadAnalyzer(edm::ParameterSet const& p) : gainsToken_{esConsumes()} {} + ~CSCGainsReadAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken gainsToken_; }; - void CSCGainsReadAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCGainsReadAnalyzer::analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& context) const { using namespace edm::eventsetup; - // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pGains; - context.get().get(pGains); - const CSCGains* mygains = pGains.product(); + edm::LogSystem log("CSCGains"); + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCGains* mygains = &context.getData(gainsToken_); std::map >::const_iterator it; for (it = mygains->gains.begin(); it != mygains->gains.end(); ++it) { - std::cout << "layer id found " << it->first << std::endl; + log << "layer id found " << it->first << std::endl; std::vector::const_iterator gainsit; for (gainsit = it->second.begin(); gainsit != it->second.end(); ++gainsit) { - std::cout << " gains: " << gainsit->gain_slope << " intercept: " << gainsit->gain_intercept << std::endl; + log << " gains: " << gainsit->gain_slope << " intercept: " << gainsit->gain_intercept << std::endl; } } } diff --git a/CondFormats/CSCObjects/test/stubs/CSCNoiseMatrixDBReadAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCNoiseMatrixDBReadAnalyzer.cc index d93b3a1088263..e1bd59feb8487 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCNoiseMatrixDBReadAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCNoiseMatrixDBReadAnalyzer.cc @@ -2,41 +2,44 @@ #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + #include "CondFormats/CSCObjects/interface/CSCDBNoiseMatrix.h" #include "CondFormats/DataRecord/interface/CSCDBNoiseMatrixRcd.h" #include "DataFormats/MuonDetId/interface/CSCIndexer.h" namespace edmtest { - class CSCNoiseMatrixDBReadAnalyzer : public edm::EDAnalyzer { + class CSCNoiseMatrixDBReadAnalyzer : public edm::one::EDAnalyzer<> { public: - explicit CSCNoiseMatrixDBReadAnalyzer(edm::ParameterSet const& p) {} - explicit CSCNoiseMatrixDBReadAnalyzer(int i) {} - virtual ~CSCNoiseMatrixDBReadAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCNoiseMatrixDBReadAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCNoiseMatrixDBReadAnalyzer() override {} + void analyze(const edm::Event& e, const edm::EventSetup& c) override; private: + edm::ESGetToken token_; }; void CSCNoiseMatrixDBReadAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { std::ofstream DBNoiseMatrixFile("dbmatrix.dat", std::ios::out); int counter = 0; using namespace edm::eventsetup; - std::cout << " Run# " << e.id().run() << std::endl; - std::cout << " Event# " << e.id().event() << std::endl; - std::cout << " Matrix values are written to file dbmatrix.dat & errors are written to cerr." << std::endl; - edm::ESHandle pNoiseMatrix; - context.get().get(pNoiseMatrix); - const CSCDBNoiseMatrix* myNoiseMatrix = pNoiseMatrix.product(); - std::cout << " Scale factor for conversion to int was " << myNoiseMatrix->factor_noise << std::endl; + edm::LogSystem log("CSCDBNoiseMatrix"); + + log << " Run# " << e.id().run() << std::endl; + log << " Event# " << e.id().event() << std::endl; + log << " Matrix values are written to file dbmatrix.dat & errors are written to cerr." << std::endl; + + const CSCDBNoiseMatrix* myNoiseMatrix = &context.getData(token_); + log << " Scale factor for conversion to int was " << myNoiseMatrix->factor_noise << std::endl; CSCIndexer indexer; diff --git a/CondFormats/CSCObjects/test/stubs/CSCNoiseMatrixReadAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCNoiseMatrixReadAnalyzer.cc index a6a1ca320444c..5df6a8fce60d7 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCNoiseMatrixReadAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCNoiseMatrixReadAnalyzer.cc @@ -6,15 +6,17 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include -#include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" + +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCNoiseMatrix.h" #include "CondFormats/DataRecord/interface/CSCNoiseMatrixRcd.h" @@ -22,31 +24,29 @@ Toy EDProducers and EDProducts for testing purposes only. using namespace std; namespace edmtest { - class CSCNoiseMatrixReadAnalyzer : public edm::EDAnalyzer { + class CSCNoiseMatrixReadAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCNoiseMatrixReadAnalyzer(edm::ParameterSet const& p) {} - explicit CSCNoiseMatrixReadAnalyzer(int i) {} - virtual ~CSCNoiseMatrixReadAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCNoiseMatrixReadAnalyzer(edm::ParameterSet const& p) : noiseToken_{esConsumes()} {} + ~CSCNoiseMatrixReadAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken noiseToken_; }; - void CSCNoiseMatrixReadAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCNoiseMatrixReadAnalyzer::analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& context) const { using namespace edm::eventsetup; - // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pNoiseMatrix; - context.get().get(pNoiseMatrix); + edm::LogSystem log("CSCNoiseMatrix"); + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; - const CSCNoiseMatrix* myNoiseMatrix = pNoiseMatrix.product(); + const CSCNoiseMatrix* myNoiseMatrix = &context.getData(noiseToken_); std::map >::const_iterator it; for (it = myNoiseMatrix->matrix.begin(); it != myNoiseMatrix->matrix.end(); ++it) { - std::cout << "layer id found " << it->first << std::endl; + log << "layer id found " << it->first << std::endl; std::vector::const_iterator matrixit; for (matrixit = it->second.begin(); matrixit != it->second.end(); ++matrixit) { - std::cout << " matrix elem33: " << matrixit->elem33 << " matrix elem34: " << matrixit->elem34 << std::endl; + log << " matrix elem33: " << matrixit->elem33 << " matrix elem34: " << matrixit->elem34 << std::endl; } } } diff --git a/CondFormats/CSCObjects/test/stubs/CSCPedestalDBReadAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCPedestalDBReadAnalyzer.cc index b526ac951bb09..56ee4bd32f38a 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCPedestalDBReadAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCPedestalDBReadAnalyzer.cc @@ -8,26 +8,28 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + #include "CondFormats/CSCObjects/interface/CSCDBPedestals.h" #include "CondFormats/DataRecord/interface/CSCDBPedestalsRcd.h" namespace edmtest { - class CSCPedestalDBReadAnalyzer : public edm::EDAnalyzer { + class CSCPedestalDBReadAnalyzer : public edm::one::EDAnalyzer<> { public: - explicit CSCPedestalDBReadAnalyzer(edm::ParameterSet const& p) {} - explicit CSCPedestalDBReadAnalyzer(int i) {} - virtual ~CSCPedestalDBReadAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCPedestalDBReadAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCPedestalDBReadAnalyzer() override {} + void analyze(const edm::Event& e, const edm::EventSetup& c) override; private: + edm::ESGetToken token_; }; void CSCPedestalDBReadAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { @@ -37,12 +39,12 @@ namespace edmtest { std::ofstream DBPedestalFile("dbpeds.dat", std::ios::out); int counter = 0; - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pPeds; - context.get().get(pPeds); + edm::LogSystem log("CSCDBPedestals"); + + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; - const CSCDBPedestals* myped = pPeds.product(); + const CSCDBPedestals* myped = &context.getData(token_); CSCDBPedestals::PedestalContainer::const_iterator it; for (it = myped->pedestals.begin(); it != myped->pedestals.end(); ++it) { diff --git a/CondFormats/CSCObjects/test/stubs/CSCPedestalReadAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCPedestalReadAnalyzer.cc index b7b4034999d99..8d2949961e1f3 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCPedestalReadAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCPedestalReadAnalyzer.cc @@ -9,12 +9,14 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" + +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCPedestals.h" #include "CondFormats/DataRecord/interface/CSCPedestalsRcd.h" @@ -22,23 +24,23 @@ Toy EDProducers and EDProducts for testing purposes only. using namespace std; namespace edmtest { - class CSCPedestalReadAnalyzer : public edm::EDAnalyzer { + class CSCPedestalReadAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCPedestalReadAnalyzer(edm::ParameterSet const& p) {} - explicit CSCPedestalReadAnalyzer(int i) {} - virtual ~CSCPedestalReadAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCPedestalReadAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCPedestalReadAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken token_; }; - void CSCPedestalReadAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCPedestalReadAnalyzer::analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& context) const { using namespace edm::eventsetup; - // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pPeds; - context.get().get(pPeds); + + edm::LogSystem log("CSCPedestals"); + + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; //call tracker code // @@ -47,23 +49,23 @@ namespace edmtest { //CSCPedestals* myped=const_cast(pPeds.product()); const CSCPedestals* myped=pPeds.product(); std::map >::const_iterator it=myped->pedestals.find(layerID); - std::cout << "looking for CSC layer: " << layerID<pedestals.end() ){ - std::cout<<"layer id found "<first<first<::const_iterator pedit; for( pedit=it->second.begin(); pedit!=it->second.end(); ++pedit ){ - std::cout << " ped: " <ped << " rms: " << pedit->rms + log << " ped: " <ped << " rms: " << pedit->rms << std::endl; } } */ - const CSCPedestals* myped = pPeds.product(); + const CSCPedestals* myped = &context.getData(token_); std::map >::const_iterator it; for (it = myped->pedestals.begin(); it != myped->pedestals.end(); ++it) { - std::cout << "layer id found " << it->first << std::endl; + log << "layer id found " << it->first << std::endl; std::vector::const_iterator pedit; for (pedit = it->second.begin(); pedit != it->second.end(); ++pedit) { - std::cout << " ped: " << pedit->ped << " rms: " << pedit->rms << std::endl; + log << " ped: " << pedit->ped << " rms: " << pedit->rms << std::endl; } } } diff --git a/CondFormats/CSCObjects/test/stubs/CSCReadBadChambersAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCReadBadChambersAnalyzer.cc index 76187326ee193..5e6192f3e35a8 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCReadBadChambersAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCReadBadChambersAnalyzer.cc @@ -6,13 +6,15 @@ #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCBadChambers.h" #include "CondFormats/DataRecord/interface/CSCBadChambersRcd.h" @@ -20,46 +22,42 @@ #include "DataFormats/MuonDetId/interface/CSCIndexer.h" namespace edmtest { - class CSCReadBadChambersAnalyzer : public edm::EDAnalyzer { + class CSCReadBadChambersAnalyzer : public edm::one::EDAnalyzer<> { public: explicit CSCReadBadChambersAnalyzer(edm::ParameterSet const& ps) - : outputToFile_(ps.getParameter("outputToFile")), + : chambersToken_{esConsumes()}, + outputToFile_(ps.getParameter("outputToFile")), readBadChambers_(ps.getParameter("readBadChambers")), me42installed_(ps.getParameter("me42installed")) {} - explicit CSCReadBadChambersAnalyzer(int i) {} + ~CSCReadBadChambersAnalyzer() override {} - virtual ~CSCReadBadChambersAnalyzer() {} - - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); - - /// did we request reading bad channel info from db? - bool readBadChambers() const { return readBadChambers_; } + void analyze(const edm::Event& e, const edm::EventSetup& c) override; private: - bool outputToFile_; - bool readBadChambers_; // flag whether or not to even attempt reading bad channel info from db - bool me42installed_; // flag whether ME42 chambers are installed in the geometry - const CSCBadChambers* theBadChambers; + const edm::ESGetToken chambersToken_; + const bool outputToFile_; + const bool readBadChambers_; // flag whether or not to even attempt reading bad channel info from db + const bool me42installed_; // flag whether ME42 chambers are installed in the geometry }; void CSCReadBadChambersAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { using namespace edm::eventsetup; + edm::LogSystem log("CSCBadChambers"); + int counter = 0; - std::cout << " RUN# " << e.id().run() << std::endl; - std::cout << " EVENT# " << e.id().event() << std::endl; - edm::ESHandle pBad; - context.get().get(pBad); + log << " RUN# " << e.id().run() << std::endl; + log << " EVENT# " << e.id().event() << std::endl; - theBadChambers = pBad.product(); + auto theBadChambers = &context.getData(chambersToken_); CSCIndexer indexer; // just to build a CSCDetId from chamber index - std::cout << "Bad Chambers:" << std::endl; + log << "Bad Chambers:" << std::endl; int nbad = theBadChambers->numberOfChambers(); - std::cout << "No. in list = " << nbad << std::endl; + log << "No. in list = " << nbad << std::endl; // Iterate over all chambers via their linear index @@ -85,12 +83,12 @@ namespace edmtest { } else { ++countgood; } - std::cout << counter << " " << indexc << " " << id << " In bad list? " << bbads << std::endl; + log << counter << " " << indexc << " " << id << " In bad list? " << bbads << std::endl; } - std::cout << "Total number of chambers = " << counter << std::endl; - std::cout << "Total number of good chambers = " << countgood << std::endl; - std::cout << "Total number of bad chambers = " << countbad << std::endl; + log << "Total number of chambers = " << counter << std::endl; + log << "Total number of good chambers = " << countgood << std::endl; + log << "Total number of bad chambers = " << countbad << std::endl; if (outputToFile_) { std::ofstream BadChamberFile("dbBadChamber.dat", std::ios::app); diff --git a/CondFormats/CSCObjects/test/stubs/CSCReadBadStripsAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCReadBadStripsAnalyzer.cc index 4cf872ed81a2e..a51f4bdf3a876 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCReadBadStripsAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCReadBadStripsAnalyzer.cc @@ -1,17 +1,17 @@ #include #include -#include #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCBadStrips.h" #include "CondFormats/DataRecord/interface/CSCBadStripsRcd.h" @@ -19,24 +19,24 @@ #include "DataFormats/MuonDetId/interface/CSCIndexer.h" namespace edmtest { - class CSCReadBadStripsAnalyzer : public edm::EDAnalyzer { + class CSCReadBadStripsAnalyzer : public edm::one::EDAnalyzer<> { public: explicit CSCReadBadStripsAnalyzer(edm::ParameterSet const& ps) : outputToFile(ps.getParameter("outputToFile")), - readBadChannels_(ps.getParameter("readBadChannels")) { + readBadChannels_(ps.getParameter("readBadChannels")), + badStripsToken_{esConsumes()} { badStripWords.resize(3240, 0); } - explicit CSCReadBadStripsAnalyzer(int i) {} - virtual ~CSCReadBadStripsAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + ~CSCReadBadStripsAnalyzer() override {} + void analyze(const edm::Event& e, const edm::EventSetup& c) override; // Test code from CSCConditions /// did we request reading bad channel info from db? bool readBadChannels() const { return readBadChannels_; } - void fillBadStripWords(); + void fillBadStripWords(edm::LogSystem&); /// return bad channel words per CSCLayer - 1 bit per channel const std::bitset<80>& badStripWord(const CSCDetId& id) const; @@ -44,6 +44,7 @@ namespace edmtest { private: bool outputToFile; bool readBadChannels_; // flag whether or not to even attempt reading bad channel info from db + const edm::ESGetToken badStripsToken_; const CSCBadStrips* theBadStrips; std::vector > badStripWords; @@ -51,24 +52,23 @@ namespace edmtest { void CSCReadBadStripsAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { using namespace edm::eventsetup; + edm::LogSystem log("CSCBadStrips"); int counter = 0; - std::cout << " RUN# " << e.id().run() << std::endl; - std::cout << " EVENT# " << e.id().event() << std::endl; - edm::ESHandle pBadStrip; - context.get().get(pBadStrip); + log << " RUN# " << e.id().run() << std::endl; + log << " EVENT# " << e.id().event() << std::endl; - theBadStrips = pBadStrip.product(); + theBadStrips = &context.getData(badStripsToken_); // Create the vectors of bitsets, one per layer, as done in CSCConditions - fillBadStripWords(); // code from CSCConditions pasted into this file! + fillBadStripWords(log); // code from CSCConditions pasted into this file! CSCIndexer indexer; // just to build a CSCDetId from chamber index std::vector::const_iterator itcham; std::vector::const_iterator itchan; - std::cout << "Bad Chambers:" << std::endl; + log << "Bad Chambers:" << std::endl; int ibad = 0; int ifailed = 0; @@ -80,8 +80,8 @@ namespace edmtest { int indexc = itcham->chamber_index; int badstart = itcham->pointer; int nbad = itcham->bad_channels; - std::cout << counter << " " << itcham->chamber_index << " " << itcham->pointer << " " << itcham->bad_channels - << std::endl; + log << counter << " " << itcham->chamber_index << " " << itcham->pointer << " " << itcham->bad_channels + << std::endl; CSCDetId id = indexer.detIdFromChamberIndex(indexc); // Iterate over the bad channels in this chamber @@ -96,21 +96,20 @@ namespace edmtest { // Test whether this bad channel has indeed been flagged in the badStripWord if (ibits.test(chan - 1)) { - std::cout << "count " << ++ibad << " found bad channel " << chan << " in layer " << id2 << std::endl; + log << "count " << ++ibad << " found bad channel " << chan << " in layer " << id2 << std::endl; } else { - std::cout << "count " << +ifailed << " failed to see bad channel " << chan << " in layer " << id2 - << std::endl; + log << "count " << +ifailed << " failed to see bad channel " << chan << " in layer " << id2 << std::endl; } } } /* - std::cout<< "Bad Channels:" << std::endl; + log<< "Bad Channels:" << std::endl; counter = 0; // reset it! for( itchan=theBadStrips->channels.begin();itchan!=theBadStrips->channels.end(); ++itchan ){ counter++; - std::cout<layer<<" "<channel<<" "<flag1<layer<<" "<channel<<" "<flag1< { public: explicit CSCReadBadWiresAnalyzer(edm::ParameterSet const& ps) : outputToFile(ps.getParameter("outputToFile")), - readBadChannels_(ps.getParameter("readBadChannels")) { + readBadChannels_(ps.getParameter("readBadChannels")), + badWiresToken_{esConsumes()} { badWireWords.resize(3240, 0); // incl. ME42 } @@ -36,7 +38,7 @@ namespace edmtest { /// did we request reading bad channel info from db? bool readBadChannels() const { return readBadChannels_; } - void fillBadWireWords(); + void fillBadWireWords(edm::LogSystem&); /// return bad channel words per CSCLayer - 1 bit per channel const std::bitset<112>& badWireWord(const CSCDetId& id) const; @@ -44,6 +46,7 @@ namespace edmtest { private: bool outputToFile; bool readBadChannels_; // flag whether or not to even attempt reading bad channel info from db + const edm::ESGetToken badWiresToken_; const CSCBadWires* theBadWires; std::vector > badWireWords; @@ -52,23 +55,23 @@ namespace edmtest { void CSCReadBadWiresAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { using namespace edm::eventsetup; + edm::LogSystem log("CSCBadWires"); + int counter = 0; - std::cout << " RUN# " << e.id().run() << std::endl; - std::cout << " EVENT# " << e.id().event() << std::endl; - edm::ESHandle pBadWire; - context.get().get(pBadWire); + log << " RUN# " << e.id().run() << std::endl; + log << " EVENT# " << e.id().event() << std::endl; - theBadWires = pBadWire.product(); + theBadWires = &context.getData(badWiresToken_); // Create the vectors of bitsets, one per layer, as done in CSCConditions - fillBadWireWords(); // code from CSCConditions pasted into this file! + fillBadWireWords(log); // code from CSCConditions pasted into this file! CSCIndexer indexer; // just to build a CSCDetId from chamber index std::vector::const_iterator itcham; std::vector::const_iterator itchan; - std::cout << "Bad Chambers:" << std::endl; + log << "Bad Chambers:" << std::endl; int ibad = 0; int ifailed = 0; @@ -80,8 +83,8 @@ namespace edmtest { int indexc = itcham->chamber_index; int badstart = itcham->pointer; int nbad = itcham->bad_channels; - std::cout << counter << " " << itcham->chamber_index << " " << itcham->pointer << " " << itcham->bad_channels - << std::endl; + log << counter << " " << itcham->chamber_index << " " << itcham->pointer << " " << itcham->bad_channels + << std::endl; CSCDetId id = indexer.detIdFromChamberIndex(indexc); // Iterate over the bad channels in this chamber @@ -96,21 +99,20 @@ namespace edmtest { // Test whether this bad channel has indeed been flagged in the badWireWord if (ibits.test(chan - 1)) { - std::cout << "count " << ++ibad << " found bad channel " << chan << " in layer " << id2 << std::endl; + log << "count " << ++ibad << " found bad channel " << chan << " in layer " << id2 << std::endl; } else { - std::cout << "count " << +ifailed << " failed to see bad channel " << chan << " in layer " << id2 - << std::endl; + log << "count " << +ifailed << " failed to see bad channel " << chan << " in layer " << id2 << std::endl; } } } /* - std::cout<< "Bad Channels:" << std::endl; + log<< "Bad Channels:" << std::endl; counter = 0; // reset it! for( itchan=theBadWires->channels.begin();itchan!=theBadWires->channels.end(); ++itchan ){ counter++; - std::cout<layer<<" "<channel<<" "<flag1<layer<<" "<channel<<" "<flag1< { public: - explicit CSCReadChamberIndexValuesAnalyzer(edm::ParameterSet const& p) {} - explicit CSCReadChamberIndexValuesAnalyzer(int i) {} - virtual ~CSCReadChamberIndexValuesAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCReadChamberIndexValuesAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCReadChamberIndexValuesAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken token_; }; - void CSCReadChamberIndexValuesAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCReadChamberIndexValuesAnalyzer::analyze(edm::StreamID, + const edm::Event& e, + const edm::EventSetup& context) const { using namespace edm::eventsetup; - // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pChIndex; - context.get().get(pChIndex); - const CSCChamberIndex* myChIndex = pChIndex.product(); + edm::LogSystem log("CSCChamberIndex"); + + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCChamberIndex* myChIndex = &context.getData(token_); std::vector::const_iterator it; @@ -51,39 +53,39 @@ namespace edmtest { for (it = myChIndex->ch_index.begin(); it != myChIndex->ch_index.end(); ++it) { count++; - std::cout << count << ") "; - std::cout << it->chamberLabel << " "; - std::cout << it->chamberId << " "; - std::cout << it->endcap << " "; - std::cout << it->station << " "; - std::cout << it->ring << " "; - std::cout << it->chamber << " "; - std::cout << it->cscIndex << " "; - std::cout << it->layerIndex << " "; - std::cout << it->stripIndex << " "; - std::cout << it->anodeIndex << " "; - std::cout << it->strips << " "; - std::cout << it->anodes << " "; - std::cout << it->crateLabel << " "; - std::cout << it->crateid << " "; - std::cout << it->sector << " "; - std::cout << it->trig_sector << " "; - std::cout << it->dmb << " "; - std::cout << it->cscid << " "; - std::cout << it->ddu << " "; - std::cout << it->ddu_input << " "; - std::cout << it->slink << " "; - std::cout << it->fed_crate << " " - << " "; - std::cout << it->ddu_slot << " " - << " "; - std::cout << it->dcc_fifo << " " - << " "; - std::cout << it->fiber_crate << " " - << " "; - std::cout << it->fiber_pos << " " - << " "; - std::cout << it->fiber_socket << " " << std::endl; + log << count << ") "; + log << it->chamberLabel << " "; + log << it->chamberId << " "; + log << it->endcap << " "; + log << it->station << " "; + log << it->ring << " "; + log << it->chamber << " "; + log << it->cscIndex << " "; + log << it->layerIndex << " "; + log << it->stripIndex << " "; + log << it->anodeIndex << " "; + log << it->strips << " "; + log << it->anodes << " "; + log << it->crateLabel << " "; + log << it->crateid << " "; + log << it->sector << " "; + log << it->trig_sector << " "; + log << it->dmb << " "; + log << it->cscid << " "; + log << it->ddu << " "; + log << it->ddu_input << " "; + log << it->slink << " "; + log << it->fed_crate << " " + << " "; + log << it->ddu_slot << " " + << " "; + log << it->dcc_fifo << " " + << " "; + log << it->fiber_crate << " " + << " "; + log << it->fiber_pos << " " + << " "; + log << it->fiber_socket << " " << std::endl; } } DEFINE_FWK_MODULE(CSCReadChamberIndexValuesAnalyzer); diff --git a/CondFormats/CSCObjects/test/stubs/CSCReadChamberMapValuesAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCReadChamberMapValuesAnalyzer.cc index c1a47c1729310..a85571c54595c 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCReadChamberMapValuesAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCReadChamberMapValuesAnalyzer.cc @@ -4,20 +4,19 @@ Toy EDProducers and EDProducts for testing purposes only. ----------------------------------------------------------------------*/ -#include #include -#include -#include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + #include "CondFormats/CSCObjects/interface/CSCChamberMap.h" #include "CondFormats/DataRecord/interface/CSCChamberMapRcd.h" #include "CondFormats/CSCObjects/interface/CSCMapItem.h" @@ -27,66 +26,67 @@ Toy EDProducers and EDProducts for testing purposes only. using namespace std; namespace edmtest { - class CSCReadChamberMapValuesAnalyzer : public edm::EDAnalyzer { + class CSCReadChamberMapValuesAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCReadChamberMapValuesAnalyzer(edm::ParameterSet const& p) {} - explicit CSCReadChamberMapValuesAnalyzer(int i) {} - virtual ~CSCReadChamberMapValuesAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCReadChamberMapValuesAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCReadChamberMapValuesAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken token_; }; - void CSCReadChamberMapValuesAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCReadChamberMapValuesAnalyzer::analyze(edm::StreamID, + const edm::Event& e, + const edm::EventSetup& context) const { using namespace edm::eventsetup; - // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pChMap; - context.get().get(pChMap); - const CSCChamberMap* myChMap = pChMap.product(); + edm::LogSystem log("CSCChamberMap"); + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCChamberMap* myChMap = &context.getData(token_); std::map::const_iterator it; int count = 0; for (it = myChMap->ch_map.begin(); it != myChMap->ch_map.end(); ++it) { count = count + 1; - std::cout << "Key: chamber " << it->first << std::endl; - - std::cout << count << ") "; - std::cout << it->second.chamberLabel << " "; - std::cout << it->second.chamberId << " "; - std::cout << it->second.endcap << " "; - std::cout << it->second.station << " "; - std::cout << it->second.ring << " "; - std::cout << it->second.chamber << " "; - std::cout << it->second.cscIndex << " "; - std::cout << it->second.layerIndex << " "; - std::cout << it->second.stripIndex << " "; - std::cout << it->second.anodeIndex << " "; - std::cout << it->second.strips << " "; - std::cout << it->second.anodes << " "; - std::cout << it->second.crateLabel << " "; - std::cout << it->second.crateid << " "; - std::cout << it->second.sector << " "; - std::cout << it->second.trig_sector << " "; - std::cout << it->second.dmb << " "; - std::cout << it->second.cscid << " "; - std::cout << it->second.ddu << " "; - std::cout << it->second.ddu_input << " "; - std::cout << it->second.slink << " "; - std::cout << it->second.fed_crate << " " - << " "; - std::cout << it->second.ddu_slot << " " - << " "; - std::cout << it->second.dcc_fifo << " " - << " "; - std::cout << it->second.fiber_crate << " " - << " "; - std::cout << it->second.fiber_pos << " " - << " "; - std::cout << it->second.fiber_socket << " " << std::endl; + log << "Key: chamber " << it->first << std::endl; + + log << count << ") "; + log << it->second.chamberLabel << " "; + log << it->second.chamberId << " "; + log << it->second.endcap << " "; + log << it->second.station << " "; + log << it->second.ring << " "; + log << it->second.chamber << " "; + log << it->second.cscIndex << " "; + log << it->second.layerIndex << " "; + log << it->second.stripIndex << " "; + log << it->second.anodeIndex << " "; + log << it->second.strips << " "; + log << it->second.anodes << " "; + log << it->second.crateLabel << " "; + log << it->second.crateid << " "; + log << it->second.sector << " "; + log << it->second.trig_sector << " "; + log << it->second.dmb << " "; + log << it->second.cscid << " "; + log << it->second.ddu << " "; + log << it->second.ddu_input << " "; + log << it->second.slink << " "; + log << it->second.fed_crate << " " + << " "; + log << it->second.ddu_slot << " " + << " "; + log << it->second.dcc_fifo << " " + << " "; + log << it->second.fiber_crate << " " + << " "; + log << it->second.fiber_pos << " " + << " "; + log << it->second.fiber_socket << " " << std::endl; } } DEFINE_FWK_MODULE(CSCReadChamberMapValuesAnalyzer); diff --git a/CondFormats/CSCObjects/test/stubs/CSCReadChamberTimeCorrAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCReadChamberTimeCorrAnalyzer.cc index 6ab4130ed5d38..56595493644de 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCReadChamberTimeCorrAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCReadChamberTimeCorrAnalyzer.cc @@ -10,13 +10,15 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCChamberTimeCorrections.h" #include "CondFormats/DataRecord/interface/CSCChamberTimeCorrectionsRcd.h" @@ -26,25 +28,27 @@ Toy EDProducers and EDProducts for testing purposes only. using namespace std; namespace edmtest { - class CSCReadChamberTimeCorrAnalyzer : public edm::EDAnalyzer { + class CSCReadChamberTimeCorrAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCReadChamberTimeCorrAnalyzer(edm::ParameterSet const& p) {} - explicit CSCReadChamberTimeCorrAnalyzer(int i) {} - virtual ~CSCReadChamberTimeCorrAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCReadChamberTimeCorrAnalyzer(edm::ParameterSet const& p) : corrToken_{esConsumes()} {} + ~CSCReadChamberTimeCorrAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken corrToken_; }; - void CSCReadChamberTimeCorrAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCReadChamberTimeCorrAnalyzer::analyze(edm::StreamID, + const edm::Event& e, + const edm::EventSetup& context) const { using namespace edm::eventsetup; - // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pCorr; - context.get().get(pCorr); - const CSCChamberTimeCorrections* myCorr = pCorr.product(); + edm::LogSystem log("CSCCamberTimeCorrections"); + + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCChamberTimeCorrections* myCorr = &context.getData(corrToken_); // std::map::const_iterator it; std::vector::const_iterator it; @@ -52,17 +56,17 @@ namespace edmtest { int count = 0; for (it = myCorr->chamberCorrections.begin(); it != myCorr->chamberCorrections.end(); ++it) { count = count + 1; - // std::cout<<"Key: ddu_crate*10+ddu_input "<first<first<chamber_label<<" "; - std::cout << it->cfeb_length << " "; - std::cout << it->cfeb_rev << " "; - std::cout << it->alct_length << " "; - std::cout << it->alct_rev << " "; - std::cout << it->cfeb_tmb_skew_delay << " "; - std::cout << it->anode_bx_offset << " "; - std::cout << it->cfeb_timing_corr << " " << std::endl; + log << count << ") "; + // log<chamber_label<<" "; + log << it->cfeb_length << " "; + log << it->cfeb_rev << " "; + log << it->alct_length << " "; + log << it->alct_rev << " "; + log << it->cfeb_tmb_skew_delay << " "; + log << it->anode_bx_offset << " "; + log << it->cfeb_timing_corr << " " << std::endl; } } DEFINE_FWK_MODULE(CSCReadChamberTimeCorrAnalyzer); diff --git a/CondFormats/CSCObjects/test/stubs/CSCReadChamberTimeCorrectionsAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCReadChamberTimeCorrectionsAnalyzer.cc index a3888fe652abc..190c821fcd639 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCReadChamberTimeCorrectionsAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCReadChamberTimeCorrectionsAnalyzer.cc @@ -10,39 +10,43 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + #include "CondFormats/CSCObjects/interface/CSCChamberTimeCorrections.h" #include "CondFormats/DataRecord/interface/CSCChamberTimeCorrectionsRcd.h" using namespace std; namespace edmtest { - class CSCReadChamberTimeCorrectionsValuesAnalyzer : public edm::EDAnalyzer { + class CSCReadChamberTimeCorrectionsValuesAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCReadChamberTimeCorrectionsValuesAnalyzer(edm::ParameterSet const& p) {} + explicit CSCReadChamberTimeCorrectionsValuesAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} explicit CSCReadChamberTimeCorrectionsValuesAnalyzer(int i) {} - virtual ~CSCReadChamberTimeCorrectionsValuesAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + ~CSCReadChamberTimeCorrectionsValuesAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken token_; }; - void CSCReadChamberTimeCorrectionsValuesAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCReadChamberTimeCorrectionsValuesAnalyzer::analyze(edm::StreamID, + const edm::Event& e, + const edm::EventSetup& context) const { using namespace edm::eventsetup; - // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pChamberTimeCorrections; - context.get().get(pChamberTimeCorrections); - const CSCChamberTimeCorrections* myChamberTimeCorrections = pChamberTimeCorrections.product(); + edm::LogSystem log("CSCChamberTimeCorrections"); + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCChamberTimeCorrections* myChamberTimeCorrections = &context.getData(token_); // std::map::const_iterator it; std::vector::const_iterator it; @@ -52,16 +56,16 @@ namespace edmtest { it != myChamberTimeCorrections->chamberCorrections.end(); ++it) { count = count + 1; - // std::cout<<"Key: ddu_crate*10+ddu_input "<first<first<chamber_label<<" "; - std::cout << it->cfeb_length * 1. / myChamberTimeCorrections->factor_precision << " "; - std::cout << it->cfeb_rev << " "; - std::cout << it->alct_length * 1. / myChamberTimeCorrections->factor_precision << " "; - std::cout << it->cfeb_tmb_skew_delay * 1. / myChamberTimeCorrections->factor_precision << " "; - std::cout << it->cfeb_timing_corr * 1. / myChamberTimeCorrections->factor_precision << " "; - std::cout << "delay " << it->cfeb_cable_delay << std::endl; + log << count << ") "; + // log<chamber_label<<" "; + log << it->cfeb_length * 1. / myChamberTimeCorrections->factor_precision << " "; + log << it->cfeb_rev << " "; + log << it->alct_length * 1. / myChamberTimeCorrections->factor_precision << " "; + log << it->cfeb_tmb_skew_delay * 1. / myChamberTimeCorrections->factor_precision << " "; + log << it->cfeb_timing_corr * 1. / myChamberTimeCorrections->factor_precision << " "; + log << "delay " << it->cfeb_cable_delay << std::endl; } } DEFINE_FWK_MODULE(CSCReadChamberTimeCorrectionsValuesAnalyzer); diff --git a/CondFormats/CSCObjects/test/stubs/CSCReadCrateMapValuesAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCReadCrateMapValuesAnalyzer.cc index 6891c34898a79..e241776357802 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCReadCrateMapValuesAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCReadCrateMapValuesAnalyzer.cc @@ -10,81 +10,85 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + #include "CondFormats/CSCObjects/interface/CSCCrateMap.h" #include "CondFormats/DataRecord/interface/CSCCrateMapRcd.h" #include "CondFormats/CSCObjects/interface/CSCMapItem.h" using namespace std; namespace edmtest { - class CSCReadCrateMapValuesAnalyzer : public edm::EDAnalyzer { + class CSCReadCrateMapValuesAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCReadCrateMapValuesAnalyzer(edm::ParameterSet const& p) {} - explicit CSCReadCrateMapValuesAnalyzer(int i) {} - virtual ~CSCReadCrateMapValuesAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCReadCrateMapValuesAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCReadCrateMapValuesAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + const edm::ESGetToken token_; }; - void CSCReadCrateMapValuesAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCReadCrateMapValuesAnalyzer::analyze(edm::StreamID, + const edm::Event& e, + const edm::EventSetup& context) const { using namespace edm::eventsetup; - // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pCrateMap; - context.get().get(pCrateMap); - const CSCCrateMap* myCrateMap = pCrateMap.product(); + edm::LogSystem log("CSCCrateMap"); + + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCCrateMap* myCrateMap = &context.getData(token_); std::map::const_iterator it; int count = 0; for (it = myCrateMap->crate_map.begin(); it != myCrateMap->crate_map.end(); ++it) { count = count + 1; - std::cout << "Key: crate " << it->first << std::endl; + log << "Key: crate " << it->first << std::endl; - std::cout << count << ") "; - std::cout << it->second.chamberLabel << " "; - std::cout << it->second.chamberId << " "; - std::cout << it->second.endcap << " "; - std::cout << it->second.station << " "; - std::cout << it->second.ring << " "; - std::cout << it->second.chamber << " "; - std::cout << it->second.cscIndex << " "; - std::cout << it->second.layerIndex << " "; - std::cout << it->second.stripIndex << " "; - std::cout << it->second.anodeIndex << " "; - std::cout << it->second.strips << " "; - std::cout << it->second.anodes << " "; - std::cout << it->second.crateLabel << " "; - std::cout << it->second.crateid << " "; - std::cout << it->second.sector << " "; - std::cout << it->second.trig_sector << " "; - std::cout << it->second.dmb << " "; - std::cout << it->second.cscid << " "; - std::cout << it->second.ddu << " "; - std::cout << it->second.ddu_input << " "; - std::cout << it->second.slink << " " - << " "; - std::cout << it->second.fed_crate << " " - << " "; - std::cout << it->second.ddu_slot << " " - << " "; - std::cout << it->second.dcc_fifo << " " - << " "; - std::cout << it->second.fiber_crate << " " - << " "; - std::cout << it->second.fiber_pos << " " - << " "; - std::cout << it->second.fiber_socket << " " << std::endl; + log << count << ") "; + log << it->second.chamberLabel << " "; + log << it->second.chamberId << " "; + log << it->second.endcap << " "; + log << it->second.station << " "; + log << it->second.ring << " "; + log << it->second.chamber << " "; + log << it->second.cscIndex << " "; + log << it->second.layerIndex << " "; + log << it->second.stripIndex << " "; + log << it->second.anodeIndex << " "; + log << it->second.strips << " "; + log << it->second.anodes << " "; + log << it->second.crateLabel << " "; + log << it->second.crateid << " "; + log << it->second.sector << " "; + log << it->second.trig_sector << " "; + log << it->second.dmb << " "; + log << it->second.cscid << " "; + log << it->second.ddu << " "; + log << it->second.ddu_input << " "; + log << it->second.slink << " " + << " "; + log << it->second.fed_crate << " " + << " "; + log << it->second.ddu_slot << " " + << " "; + log << it->second.dcc_fifo << " " + << " "; + log << it->second.fiber_crate << " " + << " "; + log << it->second.fiber_pos << " " + << " "; + log << it->second.fiber_socket << " " << std::endl; } } DEFINE_FWK_MODULE(CSCReadCrateMapValuesAnalyzer); diff --git a/CondFormats/CSCObjects/test/stubs/CSCReadDCSDataAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCReadDCSDataAnalyzer.cc index 06eb142dbe5a1..b3596304d27e3 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCReadDCSDataAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCReadDCSDataAnalyzer.cc @@ -1,15 +1,14 @@ -#include #include -#include -#include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" + +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCDQM_DCSData.h" #include "CondFormats/DataRecord/interface/CSCDCSDataRcd.h" @@ -18,49 +17,49 @@ using namespace std; namespace edmtest { - class CSCReadDCSDataAnalyzer : public edm::EDAnalyzer { + class CSCReadDCSDataAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCReadDCSDataAnalyzer(edm::ParameterSet const& p) {} - explicit CSCReadDCSDataAnalyzer(int i) {} - virtual ~CSCReadDCSDataAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCReadDCSDataAnalyzer(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCReadDCSDataAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken token_; }; - void CSCReadDCSDataAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCReadDCSDataAnalyzer::analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& context) const { using namespace edm::eventsetup; - std::cout << "+===================+" << std::endl; - std::cout << "| CSCReadDCSDataAnalyzer |" << std::endl; - std::cout << "+===================+" << std::endl; + edm::LogSystem log("DCSData"); + + log << "+===================+" << std::endl; + log << "| CSCReadDCSDataAnalyzer |" << std::endl; + log << "+===================+" << std::endl; - std::cout << "run " << e.id().run() << std::endl; - std::cout << "event " << e.id().event() << std::endl; + log << "run " << e.id().run() << std::endl; + log << "event " << e.id().event() << std::endl; - edm::ESHandle hcrate; - context.get().get(hcrate); - const cscdqm::DCSData* data = hcrate.product(); + const cscdqm::DCSData* data = &context.getData(token_); - std::cout << "Temp mode = " << data->temp_mode << std::endl; + log << "Temp mode = " << data->temp_mode << std::endl; for (unsigned int i = 0; i < data->temp_meas.size(); i++) - std::cout << data->temp_meas.at(i) << std::endl; + log << data->temp_meas.at(i) << std::endl; - std::cout << "HV V mode = " << data->hvv_mode << std::endl; + log << "HV V mode = " << data->hvv_mode << std::endl; for (unsigned int i = 0; i < data->hvv_meas.size(); i++) - std::cout << data->hvv_meas.at(i) << std::endl; + log << data->hvv_meas.at(i) << std::endl; - std::cout << "LV V mode = " << data->lvv_mode << std::endl; + log << "LV V mode = " << data->lvv_mode << std::endl; for (unsigned int i = 0; i < data->lvv_meas.size(); i++) - std::cout << data->lvv_meas.at(i) << std::endl; + log << data->lvv_meas.at(i) << std::endl; - std::cout << "LV I mode = " << data->lvi_mode << std::endl; + log << "LV I mode = " << data->lvi_mode << std::endl; for (unsigned int i = 0; i < data->lvi_meas.size(); i++) - std::cout << data->lvi_meas.at(i) << std::endl; + log << data->lvi_meas.at(i) << std::endl; - std::cout << "+==========================+" << std::endl; - std::cout << "| End of CSCReadDCSDataAnalyzer |" << std::endl; - std::cout << "+==========================+" << std::endl; + log << "+==========================+" << std::endl; + log << "| End of CSCReadDCSDataAnalyzer |" << std::endl; + log << "+==========================+" << std::endl; } DEFINE_FWK_MODULE(CSCReadDCSDataAnalyzer); diff --git a/CondFormats/CSCObjects/test/stubs/CSCReadDDUMapValuesAnalyzer.cc b/CondFormats/CSCObjects/test/stubs/CSCReadDDUMapValuesAnalyzer.cc index ca0365f4c37c6..cba30a1f54bc5 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCReadDDUMapValuesAnalyzer.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCReadDDUMapValuesAnalyzer.cc @@ -10,13 +10,15 @@ Toy EDProducers and EDProducts for testing purposes only. #include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCDDUMap.h" #include "CondFormats/DataRecord/interface/CSCDDUMapRcd.h" @@ -25,66 +27,65 @@ Toy EDProducers and EDProducts for testing purposes only. using namespace std; namespace edmtest { - class CSCReadDDUMapValuesAnalyzer : public edm::EDAnalyzer { + class CSCReadDDUMapValuesAnalyzer : public edm::global::EDAnalyzer<> { public: - explicit CSCReadDDUMapValuesAnalyzer(edm::ParameterSet const& p) {} - explicit CSCReadDDUMapValuesAnalyzer(int i) {} - virtual ~CSCReadDDUMapValuesAnalyzer() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCReadDDUMapValuesAnalyzer(edm::ParameterSet const& p) : mapToken_{esConsumes()} {} + ~CSCReadDDUMapValuesAnalyzer() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken mapToken_; }; - void CSCReadDDUMapValuesAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCReadDDUMapValuesAnalyzer::analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& context) const { using namespace edm::eventsetup; - // Context is not used. - std::cout << " I AM IN RUN NUMBER " << e.id().run() << std::endl; - std::cout << " ---EVENT NUMBER " << e.id().event() << std::endl; - edm::ESHandle pDDUMap; - context.get().get(pDDUMap); - const CSCDDUMap* myDDUMap = pDDUMap.product(); + edm::LogSystem log("CSCDDUMap"); + log << " I AM IN RUN NUMBER " << e.id().run() << std::endl; + log << " ---EVENT NUMBER " << e.id().event() << std::endl; + + const CSCDDUMap* myDDUMap = &context.getData(mapToken_); std::map::const_iterator it; int count = 0; for (it = myDDUMap->ddu_map.begin(); it != myDDUMap->ddu_map.end(); ++it) { count = count + 1; - std::cout << "Key: ddu_crate*10+ddu_input " << it->first << std::endl; + log << "Key: ddu_crate*10+ddu_input " << it->first << std::endl; - std::cout << count << ") "; - std::cout << it->second.chamberLabel << " "; - std::cout << it->second.chamberId << " "; - std::cout << it->second.endcap << " "; - std::cout << it->second.station << " "; - std::cout << it->second.ring << " "; - std::cout << it->second.chamber << " "; - std::cout << it->second.cscIndex << " "; - std::cout << it->second.layerIndex << " "; - std::cout << it->second.stripIndex << " "; - std::cout << it->second.anodeIndex << " "; - std::cout << it->second.strips << " "; - std::cout << it->second.anodes << " "; - std::cout << it->second.crateLabel << " "; - std::cout << it->second.crateid << " "; - std::cout << it->second.sector << " "; - std::cout << it->second.trig_sector << " "; - std::cout << it->second.dmb << " "; - std::cout << it->second.cscid << " "; - std::cout << it->second.ddu << " "; - std::cout << it->second.ddu_input << " "; - std::cout << it->second.slink << " "; - std::cout << it->second.fed_crate << " " - << " "; - std::cout << it->second.ddu_slot << " " - << " "; - std::cout << it->second.dcc_fifo << " " - << " "; - std::cout << it->second.fiber_crate << " " - << " "; - std::cout << it->second.fiber_pos << " " - << " "; - std::cout << it->second.fiber_socket << " " << std::endl; + log << count << ") "; + log << it->second.chamberLabel << " "; + log << it->second.chamberId << " "; + log << it->second.endcap << " "; + log << it->second.station << " "; + log << it->second.ring << " "; + log << it->second.chamber << " "; + log << it->second.cscIndex << " "; + log << it->second.layerIndex << " "; + log << it->second.stripIndex << " "; + log << it->second.anodeIndex << " "; + log << it->second.strips << " "; + log << it->second.anodes << " "; + log << it->second.crateLabel << " "; + log << it->second.crateid << " "; + log << it->second.sector << " "; + log << it->second.trig_sector << " "; + log << it->second.dmb << " "; + log << it->second.cscid << " "; + log << it->second.ddu << " "; + log << it->second.ddu_input << " "; + log << it->second.slink << " "; + log << it->second.fed_crate << " " + << " "; + log << it->second.ddu_slot << " " + << " "; + log << it->second.dcc_fifo << " " + << " "; + log << it->second.fiber_crate << " " + << " "; + log << it->second.fiber_pos << " " + << " "; + log << it->second.fiber_socket << " " << std::endl; } } DEFINE_FWK_MODULE(CSCReadDDUMapValuesAnalyzer); diff --git a/CondFormats/CSCObjects/test/stubs/CSCReadoutMapTest.cc b/CondFormats/CSCObjects/test/stubs/CSCReadoutMapTest.cc index 2ad3d6cf3557a..00b0773b61e4d 100644 --- a/CondFormats/CSCObjects/test/stubs/CSCReadoutMapTest.cc +++ b/CondFormats/CSCObjects/test/stubs/CSCReadoutMapTest.cc @@ -1,15 +1,16 @@ #include #include #include -#include #include #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/global/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Utilities/interface/ESGetToken.h" + +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CondFormats/CSCObjects/interface/CSCCrateMap.h" #include "CondFormats/DataRecord/interface/CSCCrateMapRcd.h" @@ -20,29 +21,29 @@ using namespace std; namespace edmtest { - class CSCReadoutMapTest : public edm::EDAnalyzer { + class CSCReadoutMapTest : public edm::global::EDAnalyzer<> { public: - explicit CSCReadoutMapTest(edm::ParameterSet const& p) {} - explicit CSCReadoutMapTest(int i) {} - virtual ~CSCReadoutMapTest() {} - virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + explicit CSCReadoutMapTest(edm::ParameterSet const& p) : token_{esConsumes()} {} + ~CSCReadoutMapTest() override {} + void analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& c) const override; private: + edm::ESGetToken token_; }; - void CSCReadoutMapTest::analyze(const edm::Event& e, const edm::EventSetup& context) { + void CSCReadoutMapTest::analyze(edm::StreamID, const edm::Event& e, const edm::EventSetup& context) const { using namespace edm::eventsetup; - std::cout << "+===================+" << std::endl; - std::cout << "| CSCReadoutMapTest |" << std::endl; - std::cout << "+===================+" << std::endl; + edm::LogSystem log("CSCCrateMap"); + + log << "+===================+" << std::endl; + log << "| CSCReadoutMapTest |" << std::endl; + log << "+===================+" << std::endl; - std::cout << "run " << e.id().run() << std::endl; - std::cout << "event " << e.id().event() << std::endl; + log << "run " << e.id().run() << std::endl; + log << "event " << e.id().event() << std::endl; - edm::ESHandle hcrate; - context.get().get(hcrate); - const CSCCrateMap* pcrate = hcrate.product(); + const CSCCrateMap* pcrate = &context.getData(token_); const int ncrates = 60; const int ndmb = 10; @@ -69,27 +70,27 @@ namespace edmtest { if (it != (pcrate->crate_map).end()) { ++count; CSCDetId id = pcrate->detId(jcrate, jdmb, jcfeb); // *** TEST THE detId BUILDER FOR CHAMBER *** - std::cout << "Built CSCDetId for chamber # " << count << " id= " << id << " count " << countall << std::endl; + log << "Built CSCDetId for chamber # " << count << " id= " << id << " count " << countall << std::endl; if (id.station() == 1 && id.ring() == 1) { jcfeb = 4; // Split off ME1a CSCDetId id = pcrate->detId(jcrate, jdmb, jcfeb); // *** TEST THE detId BUILDER FOR CHAMBER ME1a *** - std::cout << "Built CSCDetId for ME1a, id= " << id << " count " << countall << std::endl; + log << "Built CSCDetId for ME1a, id= " << id << " count " << countall << std::endl; } for (int il = 1; il != 7; ++il) { CSCDetId id = pcrate->detId(jcrate, jdmb, jcfeb, il); // *** TEST THE detId BUILDER FOR LAYER *** - std::cout << "Built CSCDetId for layer # " << il << " id= " << id << std::endl; + log << "Built CSCDetId for layer # " << il << " id= " << id << std::endl; } } else { - std::cout << "no chamber at count = " << countall << std::endl; + log << "no chamber at count = " << countall << std::endl; } } } - std::cout << "+==========================+" << std::endl; - std::cout << "| End of CSCReadoutMapTest |" << std::endl; - std::cout << "+==========================+" << std::endl; + log << "+==========================+" << std::endl; + log << "| End of CSCReadoutMapTest |" << std::endl; + log << "+==========================+" << std::endl; } // namespace DEFINE_FWK_MODULE(CSCReadoutMapTest); From fa9ff4b65b1e71245330b1e0c5dbb51ff27d73d2 Mon Sep 17 00:00:00 2001 From: Carl Vuosalo Date: Thu, 18 Nov 2021 00:01:06 +0100 Subject: [PATCH 236/268] Remove unused PPS materials --- .../Geometry/python/dict2021Geometry.py | 1 - .../data/dd4hep/cmsExtendedGeometry2021.xml | 1 - ...ExtendedGeometry2021FlatMinus05Percent.xml | 1 - ...ExtendedGeometry2021FlatMinus10Percent.xml | 1 - ...sExtendedGeometry2021FlatPlus05Percent.xml | 1 - ...sExtendedGeometry2021FlatPlus10Percent.xml | 1 - .../cmsExtendedGeometry2021ZeroMaterial.xml | 1 - ...edGeometry2021FlatMinus05PercentXML_cfi.py | 1 - ...edGeometry2021FlatMinus10PercentXML_cfi.py | 1 - ...dedGeometry2021FlatPlus05PercentXML_cfi.py | 1 - ...dedGeometry2021FlatPlus10PercentXML_cfi.py | 1 - .../python/cmsExtendedGeometry2021XML_cfi.py | 1 - ...ExtendedGeometry2021ZeroMaterialXML_cfi.py | 1 - .../data/dd4hep/cmsExtendedGeometry2021.xml | 1 - .../data/dd4hep/v5/geometryRPFromDD_2021.xml | 126 ++++++++++++++++++ .../dd4hep/v4/geometryRPFromDD_2021_cfi.py | 2 +- 16 files changed, 127 insertions(+), 15 deletions(-) create mode 100644 Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml diff --git a/Configuration/Geometry/python/dict2021Geometry.py b/Configuration/Geometry/python/dict2021Geometry.py index 6a43b1d5aab58..16e59f63abdf0 100644 --- a/Configuration/Geometry/python/dict2021Geometry.py +++ b/Configuration/Geometry/python/dict2021Geometry.py @@ -1562,7 +1562,6 @@ 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_022.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_122.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_Sensitive_Dets_TimingHits.xml', - 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/ppstrackerMaterials.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v3/PPS_Pixel_Module_2x2_Run3.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/PPS_Pixel_Sens.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_003.xml', diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021.xml index 57d0ba2299d62..cadab3e7f6f6e 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021.xml @@ -342,7 +342,6 @@ - diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml index a295e10805eea..356a0ea8dc311 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml @@ -342,7 +342,6 @@ - diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml index 8d7ba94b1dc85..506e7c862b683 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml @@ -342,7 +342,6 @@ - diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml index 6a1d00958fc75..2bd7d6333db0b 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml @@ -342,7 +342,6 @@ - diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml index 55ea8f2ec60d2..76fff3ab2cc2e 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml @@ -342,7 +342,6 @@ - diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml index bdd32ecb4a858..920fbaa0cdbf4 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml @@ -342,7 +342,6 @@ - diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py index 8abb62f66bc9b..73c09fd4ac1d7 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py @@ -345,7 +345,6 @@ 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_022.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_122.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_Sensitive_Dets_TimingHits.xml', - 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/ppstrackerMaterials.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v3/PPS_Pixel_Module_2x2_Run3.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/PPS_Pixel_Sens.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_003.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py index bf61575a0ec8b..dc91f29b99a57 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py @@ -345,7 +345,6 @@ 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_022.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_122.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_Sensitive_Dets_TimingHits.xml', - 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/ppstrackerMaterials.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v3/PPS_Pixel_Module_2x2_Run3.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/PPS_Pixel_Sens.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_003.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py index 51a38ae1f2200..00703fd779af0 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py @@ -345,7 +345,6 @@ 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_022.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_122.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_Sensitive_Dets_TimingHits.xml', - 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/ppstrackerMaterials.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v3/PPS_Pixel_Module_2x2_Run3.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/PPS_Pixel_Sens.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_003.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py index 318a483eab00c..13b6bc01a522a 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py @@ -345,7 +345,6 @@ 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_022.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_122.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_Sensitive_Dets_TimingHits.xml', - 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/ppstrackerMaterials.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v3/PPS_Pixel_Module_2x2_Run3.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/PPS_Pixel_Sens.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_003.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021XML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021XML_cfi.py index 76a88e9751770..649ad67bbfe5b 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021XML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021XML_cfi.py @@ -345,7 +345,6 @@ 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_022.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_122.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_Sensitive_Dets_TimingHits.xml', - 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/ppstrackerMaterials.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v3/PPS_Pixel_Module_2x2_Run3.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/PPS_Pixel_Sens.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_003.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py index 40359f9fe79af..6d07e4c7a20ff 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py @@ -345,7 +345,6 @@ 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_022.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Simu/v1/CTPPS_Detectors_Assembly_122.xml', 'Geometry/VeryForwardData/data/CTPPS_Diamond_Sensitive_Dets_TimingHits.xml', - 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/ppstrackerMaterials.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v3/PPS_Pixel_Module_2x2_Run3.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/PPS_Pixel_Sens.xml', 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_003.xml', diff --git a/Geometry/VeryForwardData/data/dd4hep/cmsExtendedGeometry2021.xml b/Geometry/VeryForwardData/data/dd4hep/cmsExtendedGeometry2021.xml index e4ac6d75f7536..c5be009dfb916 100644 --- a/Geometry/VeryForwardData/data/dd4hep/cmsExtendedGeometry2021.xml +++ b/Geometry/VeryForwardData/data/dd4hep/cmsExtendedGeometry2021.xml @@ -342,7 +342,6 @@ - diff --git a/Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml b/Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml new file mode 100644 index 0000000000000..57eeb7c0ad9d8 --- /dev/null +++ b/Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml @@ -0,0 +1,126 @@ + + + + + + + # common and strip files + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # diamond files + + + + + + + + + + + + + + + + + + + + + + + + + + + + # Totem Timing files + + + + + + + # pixel files + + + + + + + + # RP distance + + + + diff --git a/Geometry/VeryForwardGeometry/python/dd4hep/v4/geometryRPFromDD_2021_cfi.py b/Geometry/VeryForwardGeometry/python/dd4hep/v4/geometryRPFromDD_2021_cfi.py index da66eb51b2092..014cd2966fc35 100644 --- a/Geometry/VeryForwardGeometry/python/dd4hep/v4/geometryRPFromDD_2021_cfi.py +++ b/Geometry/VeryForwardGeometry/python/dd4hep/v4/geometryRPFromDD_2021_cfi.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms DDDetectorESProducer = cms.ESSource("DDDetectorESProducer", - confGeomXMLFiles = cms.FileInPath('Geometry/VeryForwardGeometry/data/dd4hep/v4/geometryRPFromDD_2021.xml'), + confGeomXMLFiles = cms.FileInPath('Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml'), appendToDataLabel = cms.string('XMLIdealGeometryESSource_CTPPS') ) From 29e7b7f7c0d446afcbd8afe0077f65e78c14062e Mon Sep 17 00:00:00 2001 From: Carl Vuosalo Date: Thu, 18 Nov 2021 19:12:43 +0100 Subject: [PATCH 237/268] Also remove unused PPS_Epoxy --- .../Geometry/python/dict2021Geometry.py | 2 +- .../data/dd4hep/cmsExtendedGeometry2021.xml | 2 +- ...ExtendedGeometry2021FlatMinus05Percent.xml | 2 +- ...ExtendedGeometry2021FlatMinus10Percent.xml | 2 +- ...sExtendedGeometry2021FlatPlus05Percent.xml | 2 +- ...sExtendedGeometry2021FlatPlus10Percent.xml | 2 +- .../cmsExtendedGeometry2021ZeroMaterial.xml | 2 +- ...edGeometry2021FlatMinus05PercentXML_cfi.py | 2 +- ...edGeometry2021FlatMinus10PercentXML_cfi.py | 2 +- ...dedGeometry2021FlatPlus05PercentXML_cfi.py | 2 +- ...dedGeometry2021FlatPlus10PercentXML_cfi.py | 2 +- .../python/cmsExtendedGeometry2021XML_cfi.py | 2 +- ...ExtendedGeometry2021ZeroMaterialXML_cfi.py | 2 +- .../data/RP_Materials/v5/RP_Materials.xml | 68 +++++++++++++++++++ .../data/dd4hep/cmsExtendedGeometry2021.xml | 2 +- .../data/dd4hep/v5/geometryRPFromDD_2021.xml | 2 +- 16 files changed, 83 insertions(+), 15 deletions(-) create mode 100644 Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml diff --git a/Configuration/Geometry/python/dict2021Geometry.py b/Configuration/Geometry/python/dict2021Geometry.py index 16e59f63abdf0..03a129a210ab6 100644 --- a/Configuration/Geometry/python/dict2021Geometry.py +++ b/Configuration/Geometry/python/dict2021Geometry.py @@ -1507,7 +1507,7 @@ 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_124.xml', 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_125.xml', 'Geometry/VeryForwardData/data/RP_Hybrid/v2/RP_Hybrid.xml', - 'Geometry/VeryForwardData/data/RP_Materials/v4/RP_Materials.xml', + 'Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml', 'Geometry/VeryForwardData/data/RP_Transformations.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_000.xml', diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021.xml index cadab3e7f6f6e..c9ab5a6f110dc 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021.xml @@ -287,7 +287,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml index 356a0ea8dc311..98f97c7c97bcb 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml @@ -287,7 +287,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml index 506e7c862b683..cc168ec63a58d 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml @@ -287,7 +287,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml index 2bd7d6333db0b..c20dfccde7ed2 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml @@ -287,7 +287,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml index 76fff3ab2cc2e..a14329c38a93f 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml @@ -287,7 +287,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml index 920fbaa0cdbf4..ee5ba2e936bff 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml @@ -287,7 +287,7 @@ - + diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py index 73c09fd4ac1d7..a12c2cb94e353 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py @@ -290,7 +290,7 @@ 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_124.xml', 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_125.xml', 'Geometry/VeryForwardData/data/RP_Hybrid/v2/RP_Hybrid.xml', - 'Geometry/VeryForwardData/data/RP_Materials/v4/RP_Materials.xml', + 'Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml', 'Geometry/VeryForwardData/data/RP_Transformations.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_000.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py index dc91f29b99a57..51099189ba5a5 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py @@ -290,7 +290,7 @@ 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_124.xml', 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_125.xml', 'Geometry/VeryForwardData/data/RP_Hybrid/v2/RP_Hybrid.xml', - 'Geometry/VeryForwardData/data/RP_Materials/v4/RP_Materials.xml', + 'Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml', 'Geometry/VeryForwardData/data/RP_Transformations.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_000.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py index 00703fd779af0..2ea493e341063 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py @@ -290,7 +290,7 @@ 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_124.xml', 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_125.xml', 'Geometry/VeryForwardData/data/RP_Hybrid/v2/RP_Hybrid.xml', - 'Geometry/VeryForwardData/data/RP_Materials/v4/RP_Materials.xml', + 'Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml', 'Geometry/VeryForwardData/data/RP_Transformations.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_000.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py index 13b6bc01a522a..1497b7bdfea86 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py @@ -290,7 +290,7 @@ 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_124.xml', 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_125.xml', 'Geometry/VeryForwardData/data/RP_Hybrid/v2/RP_Hybrid.xml', - 'Geometry/VeryForwardData/data/RP_Materials/v4/RP_Materials.xml', + 'Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml', 'Geometry/VeryForwardData/data/RP_Transformations.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_000.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021XML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021XML_cfi.py index 649ad67bbfe5b..dfc942b730aac 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021XML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021XML_cfi.py @@ -290,7 +290,7 @@ 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_124.xml', 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_125.xml', 'Geometry/VeryForwardData/data/RP_Hybrid/v2/RP_Hybrid.xml', - 'Geometry/VeryForwardData/data/RP_Materials/v4/RP_Materials.xml', + 'Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml', 'Geometry/VeryForwardData/data/RP_Transformations.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_000.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py index 6d07e4c7a20ff..a0c9fdf32c795 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py @@ -290,7 +290,7 @@ 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_124.xml', 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_125.xml', 'Geometry/VeryForwardData/data/RP_Hybrid/v2/RP_Hybrid.xml', - 'Geometry/VeryForwardData/data/RP_Materials/v4/RP_Materials.xml', + 'Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml', 'Geometry/VeryForwardData/data/RP_Transformations.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly.xml', 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_000.xml', diff --git a/Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml b/Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml new file mode 100644 index 0000000000000..d1fd9313994cd --- /dev/null +++ b/Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/VeryForwardData/data/dd4hep/cmsExtendedGeometry2021.xml b/Geometry/VeryForwardData/data/dd4hep/cmsExtendedGeometry2021.xml index c5be009dfb916..c7f76f90d4bbc 100644 --- a/Geometry/VeryForwardData/data/dd4hep/cmsExtendedGeometry2021.xml +++ b/Geometry/VeryForwardData/data/dd4hep/cmsExtendedGeometry2021.xml @@ -287,7 +287,7 @@ - + diff --git a/Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml b/Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml index 57eeb7c0ad9d8..1a2824670d25e 100644 --- a/Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml +++ b/Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml @@ -44,7 +44,7 @@ - + From 72af1fc8b24108ff15ca6a60573283d8ab15ffd5 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Fri, 19 Nov 2021 12:41:47 +0100 Subject: [PATCH 238/268] updating DD files with v5 after removing PPS materials --- .../python/geometryRPFromDD_2021_cfi.py | 2 +- .../python/geometryRPFromDD_2022_cfi.py | 2 +- .../python/v3/geometryRPFromDD_2021_cfi.py | 141 ++++++++++++++++++ .../python/v3/geometryRPFromDD_2022_cfi.py | 141 ++++++++++++++++++ 4 files changed, 284 insertions(+), 2 deletions(-) create mode 100644 Geometry/VeryForwardGeometry/python/v3/geometryRPFromDD_2021_cfi.py create mode 100644 Geometry/VeryForwardGeometry/python/v3/geometryRPFromDD_2022_cfi.py diff --git a/Geometry/VeryForwardGeometry/python/geometryRPFromDD_2021_cfi.py b/Geometry/VeryForwardGeometry/python/geometryRPFromDD_2021_cfi.py index 346635d88520f..76504c27f9f14 100644 --- a/Geometry/VeryForwardGeometry/python/geometryRPFromDD_2021_cfi.py +++ b/Geometry/VeryForwardGeometry/python/geometryRPFromDD_2021_cfi.py @@ -1 +1 @@ -from Geometry.VeryForwardGeometry.v2.geometryRPFromDD_2021_cfi import * +from Geometry.VeryForwardGeometry.v3.geometryRPFromDD_2021_cfi import * diff --git a/Geometry/VeryForwardGeometry/python/geometryRPFromDD_2022_cfi.py b/Geometry/VeryForwardGeometry/python/geometryRPFromDD_2022_cfi.py index 493d0cd1ee551..22d1549f8e45e 100644 --- a/Geometry/VeryForwardGeometry/python/geometryRPFromDD_2022_cfi.py +++ b/Geometry/VeryForwardGeometry/python/geometryRPFromDD_2022_cfi.py @@ -1 +1 @@ -from Geometry.VeryForwardGeometry.v2.geometryRPFromDD_2022_cfi import * +from Geometry.VeryForwardGeometry.v3.geometryRPFromDD_2022_cfi import * diff --git a/Geometry/VeryForwardGeometry/python/v3/geometryRPFromDD_2021_cfi.py b/Geometry/VeryForwardGeometry/python/v3/geometryRPFromDD_2021_cfi.py new file mode 100644 index 0000000000000..c3a2b82db86dd --- /dev/null +++ b/Geometry/VeryForwardGeometry/python/v3/geometryRPFromDD_2021_cfi.py @@ -0,0 +1,141 @@ +import FWCore.ParameterSet.Config as cms + +# common and strip files +totemGeomXMLFiles = cms.vstring( + 'Geometry/CMSCommonData/data/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/cmsextent.xml', + 'Geometry/CMSCommonData/data/cms/2017/v1/cms.xml', + 'Geometry/CMSCommonData/data/beampipe/2017/v1/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/TrackerCommonData/data/trackermaterial/2021/v1/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/pixfwdMaterials/2021/v2/pixfwdMaterials.xml', + 'Geometry/ForwardCommonData/data/forward.xml', + 'Geometry/ForwardCommonData/data/totemRotations.xml', + 'Geometry/ForwardCommonData/data/totemMaterials.xml', + 'Geometry/VeryForwardData/data/RP_Box.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_000.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_001.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_002.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_003.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_004.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_005.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_020.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_021.xml', +# 'Geometry/VeryForwardData/data/RP_Boxv3//RP_Box_022.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_023.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_024.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_025.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_100.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_101.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_102.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_103.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_104.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_105.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_120.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_121.xml', +# 'Geometry/VeryForwardData/data/RP_Boxv3//RP_Box_122.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_123.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_124.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_125.xml', + 'Geometry/VeryForwardData/data/RP_Hybrid/v2/RP_Hybrid.xml', + 'Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml', + 'Geometry/VeryForwardData/data/RP_Transformations.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_000.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_001.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_002.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_004.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_005.xml', +# 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_022.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_024.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_025.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_100.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_101.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_102.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_104.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_105.xml', +# 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_122.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_124.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_125.xml', + 'Geometry/VeryForwardData/data/RP_Device.xml', + 'Geometry/VeryForwardData/data/RP_Vertical_Device/2021/Reco/v2/RP_Vertical_Device.xml', + 'Geometry/VeryForwardData/data/RP_Horizontal_Device/2021/Reco/v2/RP_Horizontal_Device.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v2/RP_220_Right_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v2/RP_210_Right_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v2/RP_220_Left_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v2/RP_210_Left_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v1/RP_Stations_Assembly.xml', + + 'Geometry/VeryForwardData/data/RP_Sensitive_Dets.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Cuts_Per_Region/Reco/v1/RP_Cuts_Per_Region.xml', + + 'Geometry/VeryForwardData/data/CTPPS_2021/RP_Param_Beam_Region/v1/RP_Param_Beam_Region.xml' + ) + +# diamond files +ctppsDiamondGeomXMLFiles = cms.vstring( + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Materials.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Transformations.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_X_Distance.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Parameters.xml', + 'Geometry/VeryForwardData/data/CTPPS_Timing_Station_Parameters.xml', + 'Geometry/VeryForwardData/data/CTPPS_Timing_Horizontal_Pot/v2/CTPPS_Timing_Horizontal_Pot.xml', + 'Geometry/VeryForwardData/data/CTPPS_Timing_Positive_Station/v1/CTPPS_Timing_Positive_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_Timing_Negative_Station/v1/CTPPS_Timing_Negative_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Reco/v1/CTPPS_Timing_Stations_Assembly.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern1_Segment1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern2_Segment1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern2_Segment2.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern3_Segment1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern3_Segment2.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern3_Segment3.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern3_Segment4.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment2.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment3.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment4.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment5.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Planes/CTPPS_Diamond_Plane1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Planes/CTPPS_Diamond_Plane2.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Planes/CTPPS_Diamond_Plane3.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Planes/CTPPS_Diamond_Plane4.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Detector_Assembly/v1/CTPPS_Diamond_Detector_Assembly.xml' + ) + + +# Totem Timing files +totemTimingGeomXMLFiles = cms.vstring( + # UFSDetectors + 'Geometry/VeryForwardData/data/TotemTiming/TotemTiming_Dist_Beam_Cent.xml', + 'Geometry/VeryForwardData/data/TotemTiming/TotemTiming_DetectorAssembly.xml', + 'Geometry/VeryForwardData/data/TotemTiming/TotemTiming_Parameters.xml', + 'Geometry/VeryForwardData/data/TotemTiming/TotemTiming_Plane.xml', + 'Geometry/VeryForwardData/data/TotemTiming/v1/TotemTiming_Station.xml', + ) + +# pixel files +ctppsPixelGeomXMLFiles = cms.vstring( + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v3/PPS_Pixel_Module_2x2_Run3.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/PPS_Pixel_Sens.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_003.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_023.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_103.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_123.xml' + ) + +XMLIdealGeometryESSource_CTPPS = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = totemGeomXMLFiles + ctppsDiamondGeomXMLFiles + totemTimingGeomXMLFiles + ctppsPixelGeomXMLFiles, + rootNodeName = cms.string('cms:CMSE') + ) + +# position of RPs +XMLIdealGeometryESSource_CTPPS.geomXMLFiles.append("Geometry/VeryForwardData/data/CTPPS_2021/RP_Dist_Beam_Cent/Reco/v1/RP_Dist_Beam_Cent.xml") + +ctppsGeometryESModule = cms.ESProducer("CTPPSGeometryESModule", + verbosity = cms.untracked.uint32(1), + isRun2 = cms.bool(False), + compactViewTag = cms.string('XMLIdealGeometryESSource_CTPPS') +) diff --git a/Geometry/VeryForwardGeometry/python/v3/geometryRPFromDD_2022_cfi.py b/Geometry/VeryForwardGeometry/python/v3/geometryRPFromDD_2022_cfi.py new file mode 100644 index 0000000000000..c3a2b82db86dd --- /dev/null +++ b/Geometry/VeryForwardGeometry/python/v3/geometryRPFromDD_2022_cfi.py @@ -0,0 +1,141 @@ +import FWCore.ParameterSet.Config as cms + +# common and strip files +totemGeomXMLFiles = cms.vstring( + 'Geometry/CMSCommonData/data/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/cmsextent.xml', + 'Geometry/CMSCommonData/data/cms/2017/v1/cms.xml', + 'Geometry/CMSCommonData/data/beampipe/2017/v1/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/TrackerCommonData/data/trackermaterial/2021/v1/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/pixfwdMaterials/2021/v2/pixfwdMaterials.xml', + 'Geometry/ForwardCommonData/data/forward.xml', + 'Geometry/ForwardCommonData/data/totemRotations.xml', + 'Geometry/ForwardCommonData/data/totemMaterials.xml', + 'Geometry/VeryForwardData/data/RP_Box.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_000.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_001.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_002.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_003.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_004.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_005.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_020.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_021.xml', +# 'Geometry/VeryForwardData/data/RP_Boxv3//RP_Box_022.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_023.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_024.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_025.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_100.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_101.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_102.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_103.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_104.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_105.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_120.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_121.xml', +# 'Geometry/VeryForwardData/data/RP_Boxv3//RP_Box_122.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_123.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_124.xml', + 'Geometry/VeryForwardData/data/RP_Box/v3/RP_Box_125.xml', + 'Geometry/VeryForwardData/data/RP_Hybrid/v2/RP_Hybrid.xml', + 'Geometry/VeryForwardData/data/RP_Materials/v5/RP_Materials.xml', + 'Geometry/VeryForwardData/data/RP_Transformations.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_000.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_001.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_002.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_004.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_005.xml', +# 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_022.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_024.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_025.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_100.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_101.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_102.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_104.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_105.xml', +# 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_122.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_124.xml', + 'Geometry/VeryForwardData/data/RP_Detectors_Assembly/RP_Detectors_Assembly_125.xml', + 'Geometry/VeryForwardData/data/RP_Device.xml', + 'Geometry/VeryForwardData/data/RP_Vertical_Device/2021/Reco/v2/RP_Vertical_Device.xml', + 'Geometry/VeryForwardData/data/RP_Horizontal_Device/2021/Reco/v2/RP_Horizontal_Device.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v2/RP_220_Right_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v2/RP_210_Right_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v2/RP_220_Left_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v2/RP_210_Left_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Stations/Reco/v1/RP_Stations_Assembly.xml', + + 'Geometry/VeryForwardData/data/RP_Sensitive_Dets.xml', + 'Geometry/VeryForwardData/data/CTPPS_2021/Cuts_Per_Region/Reco/v1/RP_Cuts_Per_Region.xml', + + 'Geometry/VeryForwardData/data/CTPPS_2021/RP_Param_Beam_Region/v1/RP_Param_Beam_Region.xml' + ) + +# diamond files +ctppsDiamondGeomXMLFiles = cms.vstring( + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Materials.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Transformations.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_X_Distance.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Parameters.xml', + 'Geometry/VeryForwardData/data/CTPPS_Timing_Station_Parameters.xml', + 'Geometry/VeryForwardData/data/CTPPS_Timing_Horizontal_Pot/v2/CTPPS_Timing_Horizontal_Pot.xml', + 'Geometry/VeryForwardData/data/CTPPS_Timing_Positive_Station/v1/CTPPS_Timing_Positive_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_Timing_Negative_Station/v1/CTPPS_Timing_Negative_Station.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/Reco/v1/CTPPS_Timing_Stations_Assembly.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern1_Segment1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern2_Segment1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern2_Segment2.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern3_Segment1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern3_Segment2.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern3_Segment3.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern3_Segment4.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment2.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment3.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment4.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_Segments/CTPPS_Diamond_Pattern4_Segment5.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Planes/CTPPS_Diamond_Plane1.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Planes/CTPPS_Diamond_Plane2.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Planes/CTPPS_Diamond_Plane3.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Planes/CTPPS_Diamond_Plane4.xml', + 'Geometry/VeryForwardData/data/CTPPS_Diamond_2021/CTPPS_Diamond_Detector_Assembly/v1/CTPPS_Diamond_Detector_Assembly.xml' + ) + + +# Totem Timing files +totemTimingGeomXMLFiles = cms.vstring( + # UFSDetectors + 'Geometry/VeryForwardData/data/TotemTiming/TotemTiming_Dist_Beam_Cent.xml', + 'Geometry/VeryForwardData/data/TotemTiming/TotemTiming_DetectorAssembly.xml', + 'Geometry/VeryForwardData/data/TotemTiming/TotemTiming_Parameters.xml', + 'Geometry/VeryForwardData/data/TotemTiming/TotemTiming_Plane.xml', + 'Geometry/VeryForwardData/data/TotemTiming/v1/TotemTiming_Station.xml', + ) + +# pixel files +ctppsPixelGeomXMLFiles = cms.vstring( + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v3/PPS_Pixel_Module_2x2_Run3.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Modules/v2/PPS_Pixel_Sens.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_003.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_023.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_103.xml', + 'Geometry/VeryForwardData/data/CTPPS_Pixel_2021/Assembly/v2/CTPPS_Pixel_Assembly_Box_Real_123.xml' + ) + +XMLIdealGeometryESSource_CTPPS = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = totemGeomXMLFiles + ctppsDiamondGeomXMLFiles + totemTimingGeomXMLFiles + ctppsPixelGeomXMLFiles, + rootNodeName = cms.string('cms:CMSE') + ) + +# position of RPs +XMLIdealGeometryESSource_CTPPS.geomXMLFiles.append("Geometry/VeryForwardData/data/CTPPS_2021/RP_Dist_Beam_Cent/Reco/v1/RP_Dist_Beam_Cent.xml") + +ctppsGeometryESModule = cms.ESProducer("CTPPSGeometryESModule", + verbosity = cms.untracked.uint32(1), + isRun2 = cms.bool(False), + compactViewTag = cms.string('XMLIdealGeometryESSource_CTPPS') +) From 28eccbe76bba47e68736b0e71013be16fe5e5229 Mon Sep 17 00:00:00 2001 From: Tamas Almos Vami Date: Tue, 30 Nov 2021 11:55:42 -0600 Subject: [PATCH 239/268] Modernize CalibMuon/CSCCalibration --- .../test/stubs/CSCIndexerAnalyzer.cc | 26 ++++++------------- .../test/stubs/CSCIndexerAnalyzer2.cc | 23 ++++++++-------- .../test/stubs/CSCMapperTestPostls1.cc | 10 +++---- .../test/stubs/CSCMapperTestStartup.cc | 18 ++++++------- 4 files changed, 32 insertions(+), 45 deletions(-) diff --git a/CalibMuon/CSCCalibration/test/stubs/CSCIndexerAnalyzer.cc b/CalibMuon/CSCCalibration/test/stubs/CSCIndexerAnalyzer.cc index a28c0a3afc0a7..3cb79c50be177 100644 --- a/CalibMuon/CSCCalibration/test/stubs/CSCIndexerAnalyzer.cc +++ b/CalibMuon/CSCCalibration/test/stubs/CSCIndexerAnalyzer.cc @@ -1,6 +1,6 @@ #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -10,24 +10,21 @@ #include "CalibMuon/CSCCalibration/interface/CSCIndexerRecord.h" #include -class CSCIndexerAnalyzer : public edm::EDAnalyzer { +class CSCIndexerAnalyzer : public edm::one::EDAnalyzer<> { public: explicit CSCIndexerAnalyzer(const edm::ParameterSet &); - ~CSCIndexerAnalyzer(); + ~CSCIndexerAnalyzer() override = default; private: - virtual void beginJob(); - virtual void analyze(const edm::Event &, const edm::EventSetup &); - virtual void endJob(); + virtual void analyze(const edm::Event &, const edm::EventSetup &) override; + const edm::ESGetToken theCSCIndexerToken_; std::string algoName; }; -CSCIndexerAnalyzer::CSCIndexerAnalyzer(const edm::ParameterSet &pset) {} +CSCIndexerAnalyzer::CSCIndexerAnalyzer(const edm::ParameterSet &pset) : theCSCIndexerToken_(esConsumes()) {} -CSCIndexerAnalyzer::~CSCIndexerAnalyzer() {} - -void CSCIndexerAnalyzer::analyze(const edm::Event &ev, const edm::EventSetup &esu) { +void CSCIndexerAnalyzer::analyze(const edm::Event &ev, const edm::EventSetup &iSetup) { const int evalues[10] = {1, 2, 1, 2, 1, 2, 1, 2, 1, 2}; // endcap 1=+z, 2=-z const int svalues[10] = {1, 1, 1, 1, 4, 4, 4, 4, 4, 4}; // station 1-4 const int rvalues[10] = {1, 1, 4, 4, 2, 2, 2, 2, 2, 2}; // ring 1-4 @@ -35,10 +32,7 @@ void CSCIndexerAnalyzer::analyze(const edm::Event &ev, const edm::EventSetup &es const int lvalues[10] = {1, 1, 1, 1, 1, 1, 1, 1, 6, 6}; // layer 1-6 const int tvalues[10] = {1, 1, 1, 1, 1, 1, 1, 1, 80, 80}; // strip 1-80 (16, 48 64) - const CSCIndexerRecord &irec = esu.get(); - edm::ESHandle indexer_; - irec.get(indexer_); - + const auto indexer_ = &iSetup.getData(theCSCIndexerToken_); algoName = indexer_->name(); std::cout << "CSCIndexerAnalyzer: analyze sees algorithm " << algoName << " in Event Setup" << std::endl; @@ -57,9 +51,5 @@ void CSCIndexerAnalyzer::analyze(const edm::Event &ev, const edm::EventSetup &es } } -void CSCIndexerAnalyzer::beginJob() {} - -void CSCIndexerAnalyzer::endJob() {} - // define this as a plug-in DEFINE_FWK_MODULE(CSCIndexerAnalyzer); diff --git a/CalibMuon/CSCCalibration/test/stubs/CSCIndexerAnalyzer2.cc b/CalibMuon/CSCCalibration/test/stubs/CSCIndexerAnalyzer2.cc index d523693c51c39..7384a4cf49639 100644 --- a/CalibMuon/CSCCalibration/test/stubs/CSCIndexerAnalyzer2.cc +++ b/CalibMuon/CSCCalibration/test/stubs/CSCIndexerAnalyzer2.cc @@ -1,6 +1,6 @@ // Test CSCIndexer 22.11.2012 ptc -#include +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include #include #include @@ -20,10 +20,10 @@ #include #include -class CSCIndexerAnalyzer2 : public edm::EDAnalyzer { +class CSCIndexerAnalyzer2 : public edm::one::EDAnalyzer<> { public: explicit CSCIndexerAnalyzer2(const edm::ParameterSet &); - ~CSCIndexerAnalyzer2(); + ~CSCIndexerAnalyzer2() = default; virtual void analyze(const edm::Event &, const edm::EventSetup &); @@ -36,13 +36,18 @@ class CSCIndexerAnalyzer2 : public edm::EDAnalyzer { const std::string myName_; std::string algoName_; + + const edm::ESGetToken theCSCGeometryToken_; + const edm::ESGetToken theCSCIndexerToken_; }; CSCIndexerAnalyzer2::CSCIndexerAnalyzer2(const edm::ParameterSet &iConfig) : dashedLineWidth_(146), dashedLine_(std::string(dashedLineWidth_, '-')), myName_("CSCIndexerAnalyzer2"), - algoName_("UNKNOWN") { + algoName_("UNKNOWN"), + theCSCGeometryToken_(esConsumes()), + theCSCIndexerToken_(esConsumes()) { std::cout << dashedLine_ << std::endl; std::cout << "Welcome to " << myName_ << std::endl; std::cout << dashedLine_ << std::endl; @@ -74,8 +79,6 @@ CSCIndexerAnalyzer2::CSCIndexerAnalyzer2(const edm::ParameterSet &iConfig) std::cout << dashedLine_ << std::endl; } -CSCIndexerAnalyzer2::~CSCIndexerAnalyzer2() {} - void CSCIndexerAnalyzer2::analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) { CSCDetId testCSCDetId; @@ -86,8 +89,7 @@ void CSCIndexerAnalyzer2::analyze(const edm::Event &iEvent, const edm::EventSetu std::cout << dashedLine_ << std::endl; std::cout << "pi = " << dPi << ", radToDeg = " << radToDeg << std::endl; - edm::ESHandle pDD; - iSetup.get().get(pDD); + auto const pDD = &iSetup.getData(theCSCGeometryToken_); std::cout << " Geometry node for CSCGeom is " << &(*pDD) << std::endl; std::cout << " I have " << pDD->detTypes().size() << " detTypes" << std::endl; @@ -97,10 +99,7 @@ void CSCIndexerAnalyzer2::analyze(const edm::Event &iEvent, const edm::EventSetu std::cout << " I have " << pDD->chambers().size() << " chambers" << std::endl; // Get the CSCIndexer algorithm from EventSetup - - edm::ESHandle theIndexer; - iSetup.get().get(theIndexer); - + const auto theIndexer = &iSetup.getData(theCSCIndexerToken_); algoName_ = theIndexer->name(); std::cout << dashedLine_ << std::endl; diff --git a/CalibMuon/CSCCalibration/test/stubs/CSCMapperTestPostls1.cc b/CalibMuon/CSCCalibration/test/stubs/CSCMapperTestPostls1.cc index 2c25a8ace1974..4edcebd504b09 100644 --- a/CalibMuon/CSCCalibration/test/stubs/CSCMapperTestPostls1.cc +++ b/CalibMuon/CSCCalibration/test/stubs/CSCMapperTestPostls1.cc @@ -21,13 +21,15 @@ class CSCMapperTestPostls1 : public edm::EDAnalyzer { virtual void endJob(); std::string algoName; + + const edm::ESGetToken theCSCChannelMapperToken_; }; -CSCMapperTestPostls1::CSCMapperTestPostls1(const edm::ParameterSet &pset) {} +CSCMapperTestPostls1::CSCMapperTestPostls1(const edm::ParameterSet &pset) : theCSCChannelMapperToken_(esConsumes()) {} CSCMapperTestPostls1::~CSCMapperTestPostls1() {} -void CSCMapperTestPostls1::analyze(const edm::Event &ev, const edm::EventSetup &esu) { +void CSCMapperTestPostls1::analyze(const edm::Event &ev, const edm::EventSetup &iSetup) { const int egeo[] = {1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2}; // endcap 1=+z, 2=-z const int sgeo[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; // station 1-4 const int rgeo[] = {1, 1, 1, 4, 4, 4, 1, 1, 1, 4, 4, 4}; // ring 1-4 @@ -55,9 +57,7 @@ void CSCMapperTestPostls1::analyze(const edm::Event &ev, const edm::EventSetup & const int cdetid[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; // chamber 1-18/36 const int ldetid[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; // layer 1-6 - const CSCChannelMapperRecord &irec = esu.get(); - edm::ESHandle mapper_; - irec.get(mapper_); + const auto mapper_ = &iSetup.getData(theCSCChannelMapperToken_); algoName = mapper_->name(); diff --git a/CalibMuon/CSCCalibration/test/stubs/CSCMapperTestStartup.cc b/CalibMuon/CSCCalibration/test/stubs/CSCMapperTestStartup.cc index e539653f08b82..62aa1c49f2f53 100644 --- a/CalibMuon/CSCCalibration/test/stubs/CSCMapperTestStartup.cc +++ b/CalibMuon/CSCCalibration/test/stubs/CSCMapperTestStartup.cc @@ -1,6 +1,6 @@ #include -#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -10,10 +10,10 @@ #include "CalibMuon/CSCCalibration/interface/CSCChannelMapperRecord.h" #include -class CSCMapperTestStartup : public edm::EDAnalyzer { +class CSCMapperTestStartup : public edm::one::EDAnalyzer<> { public: explicit CSCMapperTestStartup(const edm::ParameterSet &); - ~CSCMapperTestStartup(); + ~CSCMapperTestStartup() = default; private: virtual void beginJob(); @@ -21,13 +21,13 @@ class CSCMapperTestStartup : public edm::EDAnalyzer { virtual void endJob(); std::string algoName; -}; -CSCMapperTestStartup::CSCMapperTestStartup(const edm::ParameterSet &pset) {} + const edm::ESGetToken theCSCChannelMapperToken_; +}; -CSCMapperTestStartup::~CSCMapperTestStartup() {} +CSCMapperTestStartup::CSCMapperTestStartup(const edm::ParameterSet &pset) : theCSCChannelMapperToken_(esConsumes()) {} -void CSCMapperTestStartup::analyze(const edm::Event &ev, const edm::EventSetup &esu) { +void CSCMapperTestStartup::analyze(const edm::Event &ev, const edm::EventSetup &iSetup) { const int egeo[] = {1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2}; // endcap 1=+z, 2=-z const int sgeo[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; // station 1-4 const int rgeo[] = {1, 1, 1, 4, 4, 4, 1, 1, 1, 4, 4, 4}; // ring 1-4 @@ -55,9 +55,7 @@ void CSCMapperTestStartup::analyze(const edm::Event &ev, const edm::EventSetup & const int cdetid[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; // chamber 1-18/36 const int ldetid[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; // layer 1-6 - const CSCChannelMapperRecord &irec = esu.get(); - edm::ESHandle mapper_; - irec.get(mapper_); + const auto mapper_ = &iSetup.getData(theCSCChannelMapperToken_); algoName = mapper_->name(); From c40be2f47359b910248144c46368c4b6ec9c0cce Mon Sep 17 00:00:00 2001 From: jfernan2 Date: Tue, 30 Nov 2021 19:54:56 +0100 Subject: [PATCH 240/268] Fixed version --- .../Core/python/nanoDQMIO_perLSoutput_cff.py | 311 ++---------------- 1 file changed, 27 insertions(+), 284 deletions(-) diff --git a/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py b/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py index 8b205d8c745ec..39e4b268d40bc 100644 --- a/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py +++ b/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py @@ -36,292 +36,35 @@ 'Muons/MuonIdDQM/GlobalMuons/', #Tracker/Tracking - #2D (PixelPhase1) histograms: -'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusterposition_zphi_PXLayer_1', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusterposition_zphi_PXLayer_2', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusterposition_zphi_PXLayer_3', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusterposition_zphi_PXLayer_4', -'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_+1', -'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_+2', -'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_+3', -'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_-1', -'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_-2', -'PixelPhase1/Phase1_MechanicalView/PXForward/clusterposition_xy_PXDisk_-3', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusters_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_1', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusters_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_2', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusters_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_3', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/clusters_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_4', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/digi_occupancy_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_1', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/digi_occupancy_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_2', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/digi_occupancy_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_3', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/digi_occupancy_per_SignedModuleCoord_per_SignedLadderCoord_PXLayer_4', -'PixelPhase1/Phase1_MechanicalView/PXForward/clusters_per_SignedDiskCoord_per_SignedBladePanelCoord_PXRing_1', -'PixelPhase1/Phase1_MechanicalView/PXForward/clusters_per_SignedDiskCoord_per_SignedBladePanelCoord_PXRing_2', -'PixelPhase1/Phase1_MechanicalView/PXForward/digi_occupancy_per_SignedDiskCoord_per_SignedBladePanelCoord_PXRing_1', -'PixelPhase1/Phase1_MechanicalView/PXForward/digi_occupancy_per_SignedDiskCoord_per_SignedBladePanelCoord_PXRing_2', -'PixelPhase1/Tracks/PXBarrel/clusterposition_zphi_ontrack_PXLayer_1', -'PixelPhase1/Tracks/PXBarrel/clusterposition_zphi_ontrack_PXLayer_2', -'PixelPhase1/Tracks/PXBarrel/clusterposition_zphi_ontrack_PXLayer_3', -'PixelPhase1/Tracks/PXBarrel/clusterposition_zphi_ontrack_PXLayer_4', -'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_+1', -'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_+2', -'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_+3', -'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_-1', -'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_-2', -'PixelPhase1/Tracks/PXForward/clusterposition_xy_ontrack_PXDisk_-3', + #PixelPhase1 + 'PixelPhase1/Phase1_MechanicalView/', + 'PixelPhase1/Tracks/', -#1D (PixelPhase1) histograms: -'PixelPhase1/Phase1_MechanicalView/PXBarrel/charge_PXLayer_1', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/charge_PXLayer_2', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/charge_PXLayer_3', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/charge_PXLayer_4', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/size_PXLayer_1', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/size_PXLayer_2', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/size_PXLayer_3', -'PixelPhase1/Phase1_MechanicalView/PXBarrel/size_PXLayer_4', -'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_-1', -'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_-2', -'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_-3', -'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_+1', -'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_+2', -'PixelPhase1/Phase1_MechanicalView/PXForward/charge_PXDisk_+3', -'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_-1', -'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_-2', -'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_-3', -'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_+1', -'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_+2', -'PixelPhase1/Phase1_MechanicalView/PXForward/size_PXDisk_+3', -'PixelPhase1/Tracks/num_clusters_ontrack_PXBarrel', -'PixelPhase1/Tracks/num_clusters_ontrack_PXForward', -'PixelPhase1/Tracks/PXBarrel/adc_PXLayer_1', -'PixelPhase1/Tracks/PXBarrel/adc_PXLayer_2', -'PixelPhase1/Tracks/PXBarrel/adc_PXLayer_3', -'PixelPhase1/Tracks/PXBarrel/adc_PXLayer_4', -'PixelPhase1/Tracks/PXBarrel/chargeInner_PXLayer_1', -'PixelPhase1/Tracks/PXBarrel/chargeInner_PXLayer_2', -'PixelPhase1/Tracks/PXBarrel/chargeInner_PXLayer_3', -'PixelPhase1/Tracks/PXBarrel/chargeInner_PXLayer_4', -'PixelPhase1/Tracks/PXBarrel/chargeOuter_PXLayer_1', -'PixelPhase1/Tracks/PXBarrel/chargeOuter_PXLayer_2', -'PixelPhase1/Tracks/PXBarrel/chargeOuter_PXLayer_3', -'PixelPhase1/Tracks/PXBarrel/chargeOuter_PXLayer_4', -'PixelPhase1/Tracks/PXBarrel/charge_PXLayer_1', -'PixelPhase1/Tracks/PXBarrel/charge_PXLayer_2', -'PixelPhase1/Tracks/PXBarrel/charge_PXLayer_3', -'PixelPhase1/Tracks/PXBarrel/charge_PXLayer_4', -'PixelPhase1/Tracks/PXBarrel/size_PXLayer_1', -'PixelPhase1/Tracks/PXBarrel/size_PXLayer_2', -'PixelPhase1/Tracks/PXBarrel/size_PXLayer_3', -'PixelPhase1/Tracks/PXBarrel/size_PXLayer_4', -'PixelPhase1/Tracks/PXForward/adc_PXDisk_+1', -'PixelPhase1/Tracks/PXForward/adc_PXDisk_+2', -'PixelPhase1/Tracks/PXForward/adc_PXDisk_+3', -'PixelPhase1/Tracks/PXForward/adc_PXDisk_-1', -'PixelPhase1/Tracks/PXForward/adc_PXDisk_-2', -'PixelPhase1/Tracks/PXForward/adc_PXDisk_-3', -'PixelPhase1/Tracks/PXForward/charge_PXDisk_-1', -'PixelPhase1/Tracks/PXForward/charge_PXDisk_-2', -'PixelPhase1/Tracks/PXForward/charge_PXDisk_-3', -'PixelPhase1/Tracks/PXForward/charge_PXDisk_+1', -'PixelPhase1/Tracks/PXForward/charge_PXDisk_+2', -'PixelPhase1/Tracks/PXForward/charge_PXDisk_+3', -'PixelPhase1/Tracks/PXForward/size_PXDisk_-1', -'PixelPhase1/Tracks/PXForward/size_PXDisk_-2', -'PixelPhase1/Tracks/PXForward/size_PXDisk_-3', -'PixelPhase1/Tracks/PXForward/size_PXDisk_+1', -'PixelPhase1/Tracks/PXForward/size_PXDisk_+2', -'PixelPhase1/Tracks/PXForward/size_PXDisk_+3', + #SiStrip + 'SiStrip/MechanicalView/', -#1D (SiStrip) histograms: -'SiStrip/MechanicalView/MainDiagonal Position', -'SiStrip/MechanicalView/NumberOfClustersInPixel', -'SiStrip/MechanicalView/NumberOfClustersInStrip', -'SiStrip/MechanicalView/TEC/MINUS/wheel_1/NormalizedHitResiduals_TEC__wheel__1', -'SiStrip/MechanicalView/TEC/MINUS/wheel_1/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__1', -'SiStrip/MechanicalView/TEC/MINUS/wheel_2/NormalizedHitResiduals_TEC__wheel__2', -'SiStrip/MechanicalView/TEC/MINUS/wheel_2/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__2', -'SiStrip/MechanicalView/TEC/MINUS/wheel_3/NormalizedHitResiduals_TEC__wheel__3', -'SiStrip/MechanicalView/TEC/MINUS/wheel_3/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__3', -'SiStrip/MechanicalView/TEC/MINUS/wheel_4/NormalizedHitResiduals_TEC__wheel__4', -'SiStrip/MechanicalView/TEC/MINUS/wheel_4/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__4', -'SiStrip/MechanicalView/TEC/MINUS/wheel_5/NormalizedHitResiduals_TEC__wheel__5', -'SiStrip/MechanicalView/TEC/MINUS/wheel_5/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__5', -'SiStrip/MechanicalView/TEC/MINUS/wheel_6/NormalizedHitResiduals_TEC__wheel__6', -'SiStrip/MechanicalView/TEC/MINUS/wheel_6/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__6', -'SiStrip/MechanicalView/TEC/MINUS/wheel_7/NormalizedHitResiduals_TEC__wheel__7', -'SiStrip/MechanicalView/TEC/MINUS/wheel_7/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__7', -'SiStrip/MechanicalView/TEC/MINUS/wheel_8/NormalizedHitResiduals_TEC__wheel__8', -'SiStrip/MechanicalView/TEC/MINUS/wheel_8/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__8', -'SiStrip/MechanicalView/TEC/MINUS/wheel_9/NormalizedHitResiduals_TEC__wheel__9', -'SiStrip/MechanicalView/TEC/MINUS/wheel_9/Summary_ClusterStoNCorr__OnTrack__TEC__MINUS__wheel__9', -'SiStrip/MechanicalView/TEC/PLUS/wheel_1/NormalizedHitResiduals_TEC__wheel__1', -'SiStrip/MechanicalView/TEC/PLUS/wheel_1/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__1', -'SiStrip/MechanicalView/TEC/PLUS/wheel_2/NormalizedHitResiduals_TEC__wheel__2', -'SiStrip/MechanicalView/TEC/PLUS/wheel_2/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__2', -'SiStrip/MechanicalView/TEC/PLUS/wheel_3/NormalizedHitResiduals_TEC__wheel__3', -'SiStrip/MechanicalView/TEC/PLUS/wheel_3/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__3', -'SiStrip/MechanicalView/TEC/PLUS/wheel_4/NormalizedHitResiduals_TEC__wheel__4', -'SiStrip/MechanicalView/TEC/PLUS/wheel_4/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__4', -'SiStrip/MechanicalView/TEC/PLUS/wheel_5/NormalizedHitResiduals_TEC__wheel__5', -'SiStrip/MechanicalView/TEC/PLUS/wheel_5/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__5', -'SiStrip/MechanicalView/TEC/PLUS/wheel_6/NormalizedHitResiduals_TEC__wheel__6', -'SiStrip/MechanicalView/TEC/PLUS/wheel_6/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__6', -'SiStrip/MechanicalView/TEC/PLUS/wheel_7/NormalizedHitResiduals_TEC__wheel__7', -'SiStrip/MechanicalView/TEC/PLUS/wheel_7/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__7', -'SiStrip/MechanicalView/TEC/PLUS/wheel_8/NormalizedHitResiduals_TEC__wheel__8', -'SiStrip/MechanicalView/TEC/PLUS/wheel_8/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__8', -'SiStrip/MechanicalView/TEC/PLUS/wheel_9/NormalizedHitResiduals_TEC__wheel__9', -'SiStrip/MechanicalView/TEC/PLUS/wheel_9/Summary_ClusterStoNCorr__OnTrack__TEC__PLUS__wheel__9', -'SiStrip/MechanicalView/TIB/layer_1/NormalizedHitResiduals_TIB__Layer__1', -'SiStrip/MechanicalView/TIB/layer_1/Summary_ClusterStoNCorr__OnTrack__TIB__layer__1', -'SiStrip/MechanicalView/TIB/layer_2/NormalizedHitResiduals_TIB__Layer__2', -'SiStrip/MechanicalView/TIB/layer_2/Summary_ClusterStoNCorr__OnTrack__TIB__layer__2', -'SiStrip/MechanicalView/TIB/layer_3/NormalizedHitResiduals_TIB__Layer__3', -'SiStrip/MechanicalView/TIB/layer_3/Summary_ClusterStoNCorr__OnTrack__TIB__layer__3', -'SiStrip/MechanicalView/TIB/layer_4/NormalizedHitResiduals_TIB__Layer__4', -'SiStrip/MechanicalView/TIB/layer_4/Summary_ClusterStoNCorr__OnTrack__TIB__layer__4', -'SiStrip/MechanicalView/TID/MINUS/wheel_1/NormalizedHitResiduals_TID__wheel__1', -'SiStrip/MechanicalView/TID/MINUS/wheel_1/Summary_ClusterStoNCorr__OnTrack__TID__MINUS__wheel__1', -'SiStrip/MechanicalView/TID/MINUS/wheel_2/NormalizedHitResiduals_TID__wheel__2', -'SiStrip/MechanicalView/TID/MINUS/wheel_2/Summary_ClusterStoNCorr__OnTrack__TID__MINUS__wheel__2', -'SiStrip/MechanicalView/TID/MINUS/wheel_3/NormalizedHitResiduals_TID__wheel__3', -'SiStrip/MechanicalView/TID/MINUS/wheel_3/Summary_ClusterStoNCorr__OnTrack__TID__MINUS__wheel__3', -'SiStrip/MechanicalView/TID/PLUS/wheel_1/NormalizedHitResiduals_TID__wheel__1', -'SiStrip/MechanicalView/TID/PLUS/wheel_1/Summary_ClusterStoNCorr__OnTrack__TID__PLUS__wheel__1', -'SiStrip/MechanicalView/TID/PLUS/wheel_2/NormalizedHitResiduals_TID__wheel__2', -'SiStrip/MechanicalView/TID/PLUS/wheel_2/Summary_ClusterStoNCorr__OnTrack__TID__PLUS__wheel__2', -'SiStrip/MechanicalView/TID/PLUS/wheel_3/NormalizedHitResiduals_TID__wheel__3', -'SiStrip/MechanicalView/TID/PLUS/wheel_3/Summary_ClusterStoNCorr__OnTrack__TID__PLUS__wheel__3', -'SiStrip/MechanicalView/TOB/layer_1/NormalizedHitResiduals_TOB__Layer__1', -'SiStrip/MechanicalView/TOB/layer_1/Summary_ClusterStoNCorr__OnTrack__TOB__layer__1', -'SiStrip/MechanicalView/TOB/layer_2/NormalizedHitResiduals_TOB__Layer__2', -'SiStrip/MechanicalView/TOB/layer_2/Summary_ClusterStoNCorr__OnTrack__TOB__layer__2', -'SiStrip/MechanicalView/TOB/layer_3/,NormalizedHitResiduals_TOB__Layer__3', -'SiStrip/MechanicalView/TOB/layer_3/,Summary_ClusterStoNCorr__OnTrack__TOB__layer__3', -'SiStrip/MechanicalView/TOB/layer_4/,NormalizedHitResiduals_TOB__Layer__4', -'SiStrip/MechanicalView/TOB/layer_4/,Summary_ClusterStoNCorr__OnTrack__TOB__layer__4', -'SiStrip/MechanicalView/TOB/layer_5/,NormalizedHitResiduals_TOB__Layer__5', -'SiStrip/MechanicalView/TOB/layer_5/,Summary_ClusterStoNCorr__OnTrack__TOB__layer__5', -'SiStrip/MechanicalView/TOB/layer_6/,NormalizedHitResiduals_TOB__Layer__6', -'SiStrip/MechanicalView/TOB/layer_6/,Summary_ClusterStoNCorr__OnTrack__TOB__layer__6', -'SiStrip/MechanicalView/TEC/MINUS/wheel_1/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__1', -'SiStrip/MechanicalView/TEC/MINUS/wheel_2/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__2', -'SiStrip/MechanicalView/TEC/MINUS/wheel_3/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__3', -'SiStrip/MechanicalView/TEC/MINUS/wheel_4/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__4', -'SiStrip/MechanicalView/TEC/MINUS/wheel_5/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__5', -'SiStrip/MechanicalView/TEC/MINUS/wheel_6/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__6', -'SiStrip/MechanicalView/TEC/MINUS/wheel_7/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__7', -'SiStrip/MechanicalView/TEC/MINUS/wheel_8/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__8', -'SiStrip/MechanicalView/TEC/MINUS/wheel_9/Summary_TotalNumberOfDigis__TEC__MINUS__wheel__9', -'SiStrip/MechanicalView/TED/PLUS/wheel_1/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__1', -'SiStrip/MechanicalView/TED/PLUS/wheel_2/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__2', -'SiStrip/MechanicalView/TED/PLUS/wheel_3/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__3', -'SiStrip/MechanicalView/TED/PLUS/wheel_4/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__4', -'SiStrip/MechanicalView/TED/PLUS/wheel_5/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__5', -'SiStrip/MechanicalView/TED/PLUS/wheel_6/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__6', -'SiStrip/MechanicalView/TED/PLUS/wheel_7/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__7', -'SiStrip/MechanicalView/TED/PLUS/wheel_8/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__8', -'SiStrip/MechanicalView/TED/PLUS/wheel_9/Summary_TotalNumberOfDigis__TEC__PLUS__wheel__9', -'SiStrip/MechanicalView/TIB/layer_1/Summary_TotalNumberOfDigis__TIB__layer__1', -'SiStrip/MechanicalView/TIB/layer_2/Summary_TotalNumberOfDigis__TIB__layer__2', -'SiStrip/MechanicalView/TIB/layer_3/Summary_TotalNumberOfDigis__TIB__layer__3', -'SiStrip/MechanicalView/TIB/layer_4/Summary_TotalNumberOfDigis__TIB__layer__4', -'SiStrip/MechanicalView/TID/MINUS/wheel_1/Summary_TotalNumberOfDigis__TID__MINUS__wheel__1', -'SiStrip/MechanicalView/TID/MINUS/wheel_2/Summary_TotalNumberOfDigis__TID__MINUS__wheel__2', -'SiStrip/MechanicalView/TID/MINUS/wheel_3/Summary_TotalNumberOfDigis__TID__MINUS__wheel__3', -'SiStrip/MechanicalView/TID/PLUS/wheel_1/Summary_TotalNumberOfDigis__TID__PLUS__wheel__1', -'SiStrip/MechanicalView/TID/PLUS/wheel_2/Summary_TotalNumberOfDigis__TID__PLUS__wheel__2', -'SiStrip/MechanicalView/TID/PLUS/wheel_3/Summary_TotalNumberOfDigis__TID__PLUS__wheel__3', -'SiStrip/MechanicalView/TOB/layer_1/Summary_TotalNumberOfDigis__TOB__layer__1', -'SiStrip/MechanicalView/TOB/layer_2/Summary_TotalNumberOfDigis__TOB__layer__2', -'SiStrip/MechanicalView/TOB/layer_3/Summary_TotalNumberOfDigis__TOB__layer__3', -'SiStrip/MechanicalView/TOB/layer_4/Summary_TotalNumberOfDigis__TOB__layer__4', -'SiStrip/MechanicalView/TOB/layer_5/Summary_TotalNumberOfDigis__TOB__layer__5', -'SiStrip/MechanicalView/TOB/layer_6/Summary_TotalNumberOfDigis__TOB__layer__6', - -#2D (SiStrip) histograms: -'SiStrip/MechanicalView/StripClusVsPixClus', -'SiStrip/MechanicalView/TEC/MINUS/wheel_1/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__1', -'SiStrip/MechanicalView/TEC/MINUS/wheel_2/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__2', -'SiStrip/MechanicalView/TEC/MINUS/wheel_3/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__3', -'SiStrip/MechanicalView/TEC/MINUS/wheel_4/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__4', -'SiStrip/MechanicalView/TEC/MINUS/wheel_5/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__5', -'SiStrip/MechanicalView/TEC/MINUS/wheel_6/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__6', -'SiStrip/MechanicalView/TEC/MINUS/wheel_7/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__7', -'SiStrip/MechanicalView/TEC/MINUS/wheel_8/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__8', -'SiStrip/MechanicalView/TEC/MINUS/wheel_9/Summary_ClusterPosition2D__OnTrack__TEC__MINUS__wheel__9', -'SiStrip/MechanicalView/TEC/PLUS/wheel_1/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__1', -'SiStrip/MechanicalView/TEC/PLUS/wheel_2/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__2', -'SiStrip/MechanicalView/TEC/PLUS/wheel_3/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__3', -'SiStrip/MechanicalView/TEC/PLUS/wheel_4/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__4', -'SiStrip/MechanicalView/TEC/PLUS/wheel_5/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__5', -'SiStrip/MechanicalView/TEC/PLUS/wheel_6/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__6', -'SiStrip/MechanicalView/TEC/PLUS/wheel_7/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__7', -'SiStrip/MechanicalView/TEC/PLUS/wheel_8/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__8', -'SiStrip/MechanicalView/TEC/PLUS/wheel_9/Summary_ClusterPosition2D__OnTrack__TEC__PLUS__wheel__9', -'SiStrip/MechanicalView/TIB/layer_1/Summary_ClusterPosition2D__OnTrack__TIB__layer__1', -'SiStrip/MechanicalView/TIB/layer_2/Summary_ClusterPosition2D__OnTrack__TIB__layer__2', -'SiStrip/MechanicalView/TIB/layer_3/Summary_ClusterPosition2D__OnTrack__TIB__layer__3', -'SiStrip/MechanicalView/TIB/layer_4/Summary_ClusterPosition2D__OnTrack__TIB__layer__4', -'SiStrip/MechanicalView/TID/MINUS/wheel_1/Summary_ClusterPosition2D__OnTrack__TID__MINUS__wheel__1', -'SiStrip/MechanicalView/TID/MINUS/wheel_2/Summary_ClusterPosition2D__OnTrack__TID__MINUS__wheel__2', -'SiStrip/MechanicalView/TID/MINUS/wheel_3/Summary_ClusterPosition2D__OnTrack__TID__MINUS__wheel__3', -'SiStrip/MechanicalView/TID/PLUS/wheel_1/Summary_ClusterPosition2D__OnTrack__TID__PLUS__wheel__1', -'SiStrip/MechanicalView/TID/PLUS/wheel_2/Summary_ClusterPosition2D__OnTrack__TID__PLUS__wheel__2', -'SiStrip/MechanicalView/TID/PLUS/wheel_3/Summary_ClusterPosition2D__OnTrack__TID__PLUS__wheel__3', -'SiStrip/MechanicalView/TOB/layer_1/Summary_ClusterPosition2D__OnTrack__TOB__layer__1', -'SiStrip/MechanicalView/TOB/layer_2/Summary_ClusterPosition2D__OnTrack__TOB__layer__2', -'SiStrip/MechanicalView/TOB/layer_3/Summary_ClusterPosition2D__OnTrack__TOB__layer__3', -'SiStrip/MechanicalView/TOB/layer_4/Summary_ClusterPosition2D__OnTrack__TOB__layer__4', -'SiStrip/MechanicalView/TOB/layer_5/Summary_ClusterPosition2D__OnTrack__TOB__layer__5', -'SiStrip/MechanicalView/TOB/layer_6/Summary_ClusterPosition2D__OnTrack__TOB__layer__6', - -#1D (Tracking) histograms: -'Tracking/PrimaryVertices/highPurityTracks/pt_0to1/offline/NumberOfGoodPVtx_offline', -'Tracking/TrackParameters/generalTracks/LSanalysis/Chi2oNDF_lumiFlag_GenTk', -'Tracking/TrackParameters/generalTracks/LSanalysis/NumberOfRecHitsPerTrack_lumiFlag_GenTk', -'Tracking/TrackParameters/generalTracks/LSanalysis/NumberOfTracks_lumiFlag_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_0to1/LSanalysis/Chi2oNDF_lumiFlag_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_0to1/LSanalysis/NumberOfRecHitsPerTrack_lumiFlag_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_0to1/LSanalysis/NumberOfTracks_lumiFlag_GenTk', -'Tracking/TrackParameters/generalTracks/GeneralProperties/DistanceOfClosestApproachErrorVsDxy_GenTk', -'Tracking/TrackParameters/generalTracks/GeneralProperties/SIPDxyToBS_GenTk', -'Tracking/TrackParameters/generalTracks/GeneralProperties/SIPDxyToPV_GenTk', -'Tracking/TrackParameters/generalTracks/GeneralProperties/Chi2Prob_GenTk', -'Tracking/TrackParameters/generalTracks/GeneralProperties/Chi2oNDF_GenTk', -'Tracking/TrackParameters/generalTracks/GeneralProperties/NumberOfMeanLayersPerTrack_GenTk', -'Tracking/TrackParameters/generalTracks/GeneralProperties/NumberOfMeanRecHitsPerTrack_GenTk', -'Tracking/TrackParameters/generalTracks/GeneralProperties/TrackEtaErr_ImpactPoint_GenTk', -'Tracking/TrackParameters/generalTracks/GeneralProperties/TrackPtErr_ImpactPoint_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/DistanceOfClosestApproachErrorVsDxy_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/SIPDxyToBS_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/SIPDxyToPV_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/Chi2Prob_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/Chi2oNDF_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/NumberOfMeanLayersPerTrack_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/NumberOfMeanRecHitsPerTrack_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/TrackEtaErr_ImpactPoint_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/TrackPtErr_ImpactPoint_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/DistanceOfClosestApproachErrorVsDxy_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/SIPDxyToBS_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/SIPDxyToPV_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/Chi2Prob_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/Chi2oNDF_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/NumberOfMeanLayersPerTrack_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/NumberOfMeanRecHitsPerTrack_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/TrackEtaErr_ImpactPoint_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/dzPV0p1/GeneralProperties/TrackPtErr_ImpactPoint_GenTk', -'Tracking/TrackParameters/generalTracks/HitProperties/NumberMIRecHitsPerTrackVsPt_GenTk', -'Tracking/TrackParameters/generalTracks/HitProperties/NumberMORecHitsPerTrackVsPt_GenTk', -'Tracking/TrackParameters/generalTracks/HitProperties/NumberOf3DLayersPerTrack_GenTk', -'Tracking/TrackParameters/generalTracks/HitProperties/NumberOfValidRecHitPerTrack_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/NumberMIRecHitsPerTrackVsPt_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/NumberMORecHitsPerTrackVsPt_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/NumberOf3DLayersPerTrack_GenTk', -'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/NumberOfValidRecHitPerTrack_GenTk', - -#All the MEs (96) in: -'Tracking/TrackParameters/generalTracks/GeneralProperties/' + #Tracking histograms: + 'Tracking/PrimaryVertices/highPurityTracks/pt_0to1/offline/', + 'Tracking/TrackParameters/generalTracks/LSanalysis/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/LSanalysis/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/LSanalysis/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/LSanalysis/', + 'Tracking/TrackParameters/generalTracks/GeneralProperties/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/GeneralProperties/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/GeneralProperties/', + 'Tracking/TrackParameters/generalTracks/HitProperties/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/HitProperties/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/HitProperties/', + 'Tracking/TrackParameters/generalTracks/HitProperties/Pixel/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/Pixel/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/HitProperties/Pixel/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/HitProperties/Pixel/', + 'Tracking/TrackParameters/generalTracks/HitProperties/Strip/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/Strip/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/HitProperties/Strip/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/HitProperties/Strip/' ) ) ) From 7c97a1c90e85bc766f3a575e4813ceae3783e105 Mon Sep 17 00:00:00 2001 From: yulunmiao <60363605+yulunmiao@users.noreply.github.com> Date: Tue, 30 Nov 2021 13:24:02 -0600 Subject: [PATCH 241/268] use the names in HGCalTypes.h --- .../plugins/HGCalWaferValidation.cc | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc b/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc index ea5eda8506de1..430ea823efa4f 100644 --- a/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc +++ b/Validation/HGCalValidation/plugins/HGCalWaferValidation.cc @@ -213,27 +213,27 @@ void HGCalWaferValidation::ProcessWaferLayer(DDCompactView::GraphWalker& walker) //edm::LogVerbatim(logcat) << "rotStr " << rotStr << " rotCode " << rotCode; // convert shape code to wafer types defined in HGCalTypes.h - waferInfo.shapeCode = 99; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferOut; if (shapeStr == "F") - waferInfo.shapeCode = 0; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferFull; else if (shapeStr == "a") - waferInfo.shapeCode = 4; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferHalf; else if (shapeStr == "am") - waferInfo.shapeCode = 8; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferHalf2; else if (shapeStr == "b") - waferInfo.shapeCode = 1; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferFive; else if (shapeStr == "bm") - waferInfo.shapeCode = 9; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferFive2; else if (shapeStr == "c") - waferInfo.shapeCode = 7; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferThree; else if (shapeStr == "d") - waferInfo.shapeCode = 5; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferSemi; else if (shapeStr == "dm") - waferInfo.shapeCode = 6; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferSemi2; else if (shapeStr == "g") - waferInfo.shapeCode = 2; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferChopTwo; else if (shapeStr == "gm") - waferInfo.shapeCode = 3; + waferInfo.shapeCode = HGCalTypes::WaferPartialType::WaferChopTwoM; waferInfo.rotCode = rotCode; // populate the map @@ -373,29 +373,29 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet waferRotCode = std::stoi(tokens[5]); waferU = std::stoi(tokens[6]); waferV = std::stoi(tokens[7]); - waferShapeCode = 99; + waferShapeCode = HGCalTypes::WaferPartialType::WaferOut; if (waferDensityStr == "l") { if (waferShapeStr == "0") - waferShapeCode = 0; + waferShapeCode = HGCalTypes::WaferPartialType::WaferFull; else if (waferShapeStr == "1" || waferShapeStr == "2") - waferShapeCode = 4; + waferShapeCode = HGCalTypes::WaferPartialType::WaferHalf; else if (waferShapeStr == "3" || waferShapeStr == "4") - waferShapeCode = 5; + waferShapeCode = HGCalTypes::WaferPartialType::WaferSemi; else if (waferShapeStr == "5") - waferShapeCode = 1; + waferShapeCode = HGCalTypes::WaferPartialType::WaferFive; else if (waferShapeStr == "6") - waferShapeCode = 7; + waferShapeCode = HGCalTypes::WaferPartialType::WaferThree; } else if (waferDensityStr == "h") { if (waferShapeStr == "0") - waferShapeCode = 0; + waferShapeCode = HGCalTypes::WaferPartialType::WaferFull; else if (waferShapeStr == "1") - waferShapeCode = 8; + waferShapeCode = HGCalTypes::WaferPartialType::WaferHalf2; else if (waferShapeStr == "2") - waferShapeCode = 3; + waferShapeCode = HGCalTypes::WaferPartialType::WaferChopTwoM; else if (waferShapeStr == "3" || waferShapeStr == "4") - waferShapeCode = 6; + waferShapeCode = HGCalTypes::WaferPartialType::WaferSemi2; else if (waferShapeStr == "5") - waferShapeCode = 9; + waferShapeCode = HGCalTypes::WaferPartialType::WaferFive2; } } else { //if using old format flat file @@ -407,27 +407,27 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet waferRotCode = (std::stoi(tokens[5])); waferU = std::stoi(tokens[6]); waferV = std::stoi(tokens[7]); - waferShapeCode = 99; + waferShapeCode = HGCalTypes::WaferPartialType::WaferOut; if (waferShapeStr == "F") - waferShapeCode = 0; + waferShapeCode = HGCalTypes::WaferPartialType::WaferFull; else if (waferShapeStr == "a") - waferShapeCode = 4; + waferShapeCode = HGCalTypes::WaferPartialType::WaferHalf; else if (waferShapeStr == "am") - waferShapeCode = 8; + waferShapeCode = HGCalTypes::WaferPartialType::WaferHalf2; else if (waferShapeStr == "b") - waferShapeCode = 1; + waferShapeCode = HGCalTypes::WaferPartialType::WaferFive; else if (waferShapeStr == "bm") - waferShapeCode = 9; + waferShapeCode = HGCalTypes::WaferPartialType::WaferFive2; else if (waferShapeStr == "c") - waferShapeCode = 7; + waferShapeCode = HGCalTypes::WaferPartialType::WaferThree; else if (waferShapeStr == "d") - waferShapeCode = 5; + waferShapeCode = HGCalTypes::WaferPartialType::WaferSemi; else if (waferShapeStr == "dm") - waferShapeCode = 6; + waferShapeCode = HGCalTypes::WaferPartialType::WaferSemi2; else if (waferShapeStr == "g") - waferShapeCode = 2; + waferShapeCode = HGCalTypes::WaferPartialType::WaferChopTwo; else if (waferShapeStr == "gm") - waferShapeCode = 3; + waferShapeCode = HGCalTypes::WaferPartialType::WaferChopTwoM; } // map index for crosschecking with DD @@ -461,13 +461,13 @@ void HGCalWaferValidation::analyze(const edm::Event& iEvent, const edm::EventSet edm::LogVerbatim(logcat) << "POSITION y ERROR: " << strWaferCoord(waferCoord); } - if (waferInfo.shapeCode != waferShapeCode || waferShapeCode == 99) { + if (waferInfo.shapeCode != waferShapeCode || waferShapeCode == HGCalTypes::WaferPartialType::WaferOut) { nShapeError++; edm::LogVerbatim(logcat) << "SHAPE ERROR: " << strWaferCoord(waferCoord); } - if ((waferShapeCode != 0 && waferInfo.rotCode != waferRotCode) || - (waferShapeCode == 0 && (waferInfo.rotCode % 2 != waferRotCode % 2))) { + if ((waferShapeCode != HGCalTypes::WaferPartialType::WaferFull && waferInfo.rotCode != waferRotCode) || + (waferShapeCode == HGCalTypes::WaferPartialType::WaferFull && (waferInfo.rotCode % 2 != waferRotCode % 2))) { nRotError++; edm::LogVerbatim(logcat) << "ROTATION ERROR: " << strWaferCoord(waferCoord) << " ( " << waferInfo.rotCode << " != " << waferRotCode << " )"; From 19e7054825e6b18873ca6b3567a34c0fae5ee14b Mon Sep 17 00:00:00 2001 From: Carl Vuosalo Date: Tue, 30 Nov 2021 20:46:39 +0100 Subject: [PATCH 242/268] Add v5 of geometryRPFromDD_2021_cfi --- .../python/dd4hep/geometryRPFromDD_2021_cfi.py | 2 +- .../dd4hep/v4/geometryRPFromDD_2021_cfi.py | 2 +- .../dd4hep/v5/geometryRPFromDD_2021_cfi.py | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 Geometry/VeryForwardGeometry/python/dd4hep/v5/geometryRPFromDD_2021_cfi.py diff --git a/Geometry/VeryForwardGeometry/python/dd4hep/geometryRPFromDD_2021_cfi.py b/Geometry/VeryForwardGeometry/python/dd4hep/geometryRPFromDD_2021_cfi.py index fb5adb97ce8dc..2960f549fc004 100644 --- a/Geometry/VeryForwardGeometry/python/dd4hep/geometryRPFromDD_2021_cfi.py +++ b/Geometry/VeryForwardGeometry/python/dd4hep/geometryRPFromDD_2021_cfi.py @@ -1 +1 @@ -from Geometry.VeryForwardGeometry.dd4hep.v4.geometryRPFromDD_2021_cfi import * +from Geometry.VeryForwardGeometry.dd4hep.v5.geometryRPFromDD_2021_cfi import * diff --git a/Geometry/VeryForwardGeometry/python/dd4hep/v4/geometryRPFromDD_2021_cfi.py b/Geometry/VeryForwardGeometry/python/dd4hep/v4/geometryRPFromDD_2021_cfi.py index 014cd2966fc35..da66eb51b2092 100644 --- a/Geometry/VeryForwardGeometry/python/dd4hep/v4/geometryRPFromDD_2021_cfi.py +++ b/Geometry/VeryForwardGeometry/python/dd4hep/v4/geometryRPFromDD_2021_cfi.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms DDDetectorESProducer = cms.ESSource("DDDetectorESProducer", - confGeomXMLFiles = cms.FileInPath('Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml'), + confGeomXMLFiles = cms.FileInPath('Geometry/VeryForwardGeometry/data/dd4hep/v4/geometryRPFromDD_2021.xml'), appendToDataLabel = cms.string('XMLIdealGeometryESSource_CTPPS') ) diff --git a/Geometry/VeryForwardGeometry/python/dd4hep/v5/geometryRPFromDD_2021_cfi.py b/Geometry/VeryForwardGeometry/python/dd4hep/v5/geometryRPFromDD_2021_cfi.py new file mode 100644 index 0000000000000..014cd2966fc35 --- /dev/null +++ b/Geometry/VeryForwardGeometry/python/dd4hep/v5/geometryRPFromDD_2021_cfi.py @@ -0,0 +1,18 @@ +import FWCore.ParameterSet.Config as cms + +DDDetectorESProducer = cms.ESSource("DDDetectorESProducer", + confGeomXMLFiles = cms.FileInPath('Geometry/VeryForwardGeometry/data/dd4hep/v5/geometryRPFromDD_2021.xml'), + appendToDataLabel = cms.string('XMLIdealGeometryESSource_CTPPS') +) + +DDCompactViewESProducer = cms.ESProducer("DDCompactViewESProducer", + appendToDataLabel = cms.string('XMLIdealGeometryESSource_CTPPS') +) + +ctppsGeometryESModule = cms.ESProducer("CTPPSGeometryESModule", + fromDD4hep = cms.untracked.bool(True), + isRun2 = cms.bool(False), + verbosity = cms.untracked.uint32(1), + compactViewTag = cms.string('XMLIdealGeometryESSource_CTPPS') +) + From b5d4f10bec39f67f602808147ae2cbcfeac599de Mon Sep 17 00:00:00 2001 From: Carl Vuosalo Date: Tue, 30 Nov 2021 22:15:00 +0100 Subject: [PATCH 243/268] Fix misordered materials in reduced material scenarios --- .../Geometry/python/dict2021Geometry.py | 10 +- ...ExtendedGeometry2021FlatMinus05Percent.xml | 2 +- ...ExtendedGeometry2021FlatMinus10Percent.xml | 2 +- ...sExtendedGeometry2021FlatPlus05Percent.xml | 2 +- ...sExtendedGeometry2021FlatPlus10Percent.xml | 2 +- .../cmsExtendedGeometry2021ZeroMaterial.xml | 2 +- ...edGeometry2021FlatMinus05PercentXML_cfi.py | 2 +- ...edGeometry2021FlatMinus10PercentXML_cfi.py | 2 +- ...dedGeometry2021FlatPlus05PercentXML_cfi.py | 2 +- ...dedGeometry2021FlatPlus10PercentXML_cfi.py | 2 +- ...ExtendedGeometry2021ZeroMaterialXML_cfi.py | 2 +- .../2021/v1/pixbarmaterial.xml | 826 ++++++++++++++++++ .../2021/v1/pixbarmaterial.xml | 826 ++++++++++++++++++ .../2021/v1/pixbarmaterial.xml | 826 ++++++++++++++++++ .../2021/v1/pixbarmaterial.xml | 826 ++++++++++++++++++ .../zeroMaterial/2021/v2/pixbarmaterial.xml | 795 +++++++++++++++++ 16 files changed, 4114 insertions(+), 15 deletions(-) create mode 100644 Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v1/pixbarmaterial.xml create mode 100644 Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v1/pixbarmaterial.xml create mode 100644 Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v1/pixbarmaterial.xml create mode 100644 Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v1/pixbarmaterial.xml create mode 100644 Geometry/TrackerCommonData/data/zeroMaterial/2021/v2/pixbarmaterial.xml diff --git a/Configuration/Geometry/python/dict2021Geometry.py b/Configuration/Geometry/python/dict2021Geometry.py index 03a129a210ab6..25f9a0e5082dd 100644 --- a/Configuration/Geometry/python/dict2021Geometry.py +++ b/Configuration/Geometry/python/dict2021Geometry.py @@ -313,7 +313,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdbladeInnerZminus.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdbladeOuterZplus.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdbladeOuterZminus.xml', - 'Geometry/TrackerCommonData/data/zeroMaterial/2021/v1/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/zeroMaterial/2021/v2/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixbarladder.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixbarladderfull0.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixbarladderfull1.xml', @@ -504,7 +504,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v2/trackermaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/pixfwdMaterials.xml', - 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v1/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v2/tibtidcommonmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v2/tibmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v2/tidmaterial.xml', @@ -708,7 +708,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v2/trackermaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/pixfwdMaterials.xml', - 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v1/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v2/tibtidcommonmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v2/tibmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v2/tidmaterial.xml', @@ -912,7 +912,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v2/trackermaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/pixfwdMaterials.xml', - 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v1/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v2/tibtidcommonmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v2/tibmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v2/tidmaterial.xml', @@ -1116,7 +1116,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v2/trackermaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/pixfwdMaterials.xml', - 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v1/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v2/tibtidcommonmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v2/tibmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v2/tidmaterial.xml', diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml index 98f97c7c97bcb..6122793dc7cd4 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus05Percent.xml @@ -26,7 +26,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml index cc168ec63a58d..0287d5430d5a9 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatMinus10Percent.xml @@ -26,7 +26,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml index c20dfccde7ed2..1dbf474b99dfb 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus05Percent.xml @@ -26,7 +26,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml index a14329c38a93f..c9908aa3bf6b7 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021FlatPlus10Percent.xml @@ -26,7 +26,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml index ee5ba2e936bff..90d3f30806745 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2021ZeroMaterial.xml @@ -39,7 +39,7 @@ - + diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py index a12c2cb94e353..d89971bddd431 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus05PercentXML_cfi.py @@ -27,7 +27,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v2/trackermaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/pixfwdMaterials.xml', - 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v1/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v2/tibtidcommonmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v2/tibmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v2/tidmaterial.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py index 51099189ba5a5..b2bf4c03e339f 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatMinus10PercentXML_cfi.py @@ -27,7 +27,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v2/trackermaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/pixfwdMaterials.xml', - 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v1/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v2/tibtidcommonmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v2/tibmaterial.xml', 'Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v2/tidmaterial.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py index 2ea493e341063..e7f366a250a8b 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus05PercentXML_cfi.py @@ -27,7 +27,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v2/trackermaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/pixfwdMaterials.xml', - 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v1/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v2/tibtidcommonmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v2/tibmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v2/tidmaterial.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py index 1497b7bdfea86..f57cf99712e52 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021FlatPlus10PercentXML_cfi.py @@ -27,7 +27,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v2/trackermaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/pixfwdMaterials.xml', - 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v1/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v2/tibtidcommonmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v2/tibmaterial.xml', 'Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v2/tidmaterial.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py index a0c9fdf32c795..3db629af4380a 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2021ZeroMaterialXML_cfi.py @@ -40,7 +40,7 @@ 'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdbladeInnerZminus.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdbladeOuterZplus.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdbladeOuterZminus.xml', - 'Geometry/TrackerCommonData/data/zeroMaterial/2021/v1/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/zeroMaterial/2021/v2/pixbarmaterial.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixbarladder.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixbarladderfull0.xml', 'Geometry/TrackerCommonData/data/PhaseI/v2/pixbarladderfull1.xml', diff --git a/Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v1/pixbarmaterial.xml b/Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v1/pixbarmaterial.xml new file mode 100644 index 0000000000000..a2aff62d98622 --- /dev/null +++ b/Geometry/TrackerCommonData/data/FlatMinus05Percent/2021/v1/pixbarmaterial.xml @@ -0,0 +1,826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v1/pixbarmaterial.xml b/Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v1/pixbarmaterial.xml new file mode 100644 index 0000000000000..e41d2116ad0a4 --- /dev/null +++ b/Geometry/TrackerCommonData/data/FlatMinus10Percent/2021/v1/pixbarmaterial.xml @@ -0,0 +1,826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v1/pixbarmaterial.xml b/Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v1/pixbarmaterial.xml new file mode 100644 index 0000000000000..e6d2e9809a4bd --- /dev/null +++ b/Geometry/TrackerCommonData/data/FlatPlus05Percent/2021/v1/pixbarmaterial.xml @@ -0,0 +1,826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v1/pixbarmaterial.xml b/Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v1/pixbarmaterial.xml new file mode 100644 index 0000000000000..eaf9a1ecef177 --- /dev/null +++ b/Geometry/TrackerCommonData/data/FlatPlus10Percent/2021/v1/pixbarmaterial.xml @@ -0,0 +1,826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/TrackerCommonData/data/zeroMaterial/2021/v2/pixbarmaterial.xml b/Geometry/TrackerCommonData/data/zeroMaterial/2021/v2/pixbarmaterial.xml new file mode 100644 index 0000000000000..f4304b0099d7c --- /dev/null +++ b/Geometry/TrackerCommonData/data/zeroMaterial/2021/v2/pixbarmaterial.xml @@ -0,0 +1,795 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 2fe14d6b98fa4c99cf0ecd947dd9614d7507a2f0 Mon Sep 17 00:00:00 2001 From: sbein Date: Wed, 1 Dec 2021 00:12:51 +0100 Subject: [PATCH 244/268] ran formatting again --- .../SimplifiedGeometryPropagator/src/ParticleManager.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc index afe144d60c654..509ef1cee4df6 100644 --- a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc +++ b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc @@ -216,9 +216,9 @@ std::unique_ptr fastsim::ParticleManager::nextGenParticle() { } // particles which do not descend from exotics must be produced within the beampipe int exoticRelativeId = 0; - const bool producedWithinBeamPipe = productionVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_; - if (producedWithinBeamPipe) - { + const bool producedWithinBeamPipe = + productionVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_; + if (producedWithinBeamPipe) { exoticRelativesChecker(productionVertex, exoticRelativeId, 0); if (!isExotic(exoticRelativeId)) { continue; @@ -226,7 +226,8 @@ std::unique_ptr fastsim::ParticleManager::nextGenParticle() { } // FastSim will not make hits out of particles that decay before reaching the beam pipe - const bool decayedWithinBeamPipe = endVertex && endVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_; + const bool decayedWithinBeamPipe = + endVertex && endVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_; if (decayedWithinBeamPipe) { continue; } From c055434f23a8577ebf22652843023d3c7416d609 Mon Sep 17 00:00:00 2001 From: Kevin Pedro Date: Wed, 1 Dec 2021 00:40:07 +0100 Subject: [PATCH 245/268] fix handling of nano steps in GPU workflows --- .../PyReleaseValidation/python/upgradeWorkflowComponents.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index e07540d196516..fb9e069a79324 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -467,9 +467,9 @@ def condition(self, fragment, stepList, key, hasHarvest): ] result = any(selected) and hasHarvest - # skip ALCA and Nano steps + # skip ALCA and Nano steps (but not RecoNano or HARVESTNano for Run3) for skip in copy(stepList): - if ("ALCA" in skip) or ("Nano" in skip): + if ("ALCA" in skip) or ("Nano"==skip): stepList.remove(skip) return result From 236de97c74c34b7c1beeb2ece118ef96e7620d62 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Wed, 1 Dec 2021 05:05:02 +0100 Subject: [PATCH 246/268] Remove callstack from callstacks if the module maps to package, then print remaining modules under no-package --- .../StaticAnalyzers/scripts/callgraph.py | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/Utilities/StaticAnalyzers/scripts/callgraph.py b/Utilities/StaticAnalyzers/scripts/callgraph.py index eeee1b685eb07..e2819324c23e4 100755 --- a/Utilities/StaticAnalyzers/scripts/callgraph.py +++ b/Utilities/StaticAnalyzers/scripts/callgraph.py @@ -113,20 +113,18 @@ callstacks.add(cs) report = dict() -csset = set() -for key in sorted(set(module2package.keys())): - for value in sorted(set(module2package[key])): +csset = set(callstacks) +for callstack in sorted(list(callstacks)): + for key in module2package.keys(): + for value in module2package.get(key): regex_str = r'\b%s\b'%value vre=re.compile(regex_str) - for callstack in sorted(callstacks): - if vre.search(callstack): - report.setdefault(str(key), {}).setdefault(str(value), []).append(str(callstack)) - else: - shortstack=tmpl.sub(callstack,'<>::') - if shortstack not in csset: - csset.add(shortstack) - report.setdefault('no-package', {}).setdefault('no-package', []).append(str(shortstack)) + if vre.search(callstack): + report.setdefault(str(key), {}).setdefault(str(value), []).append(str(callstack)) + csset.discard(callstack) +report['no-package']=dict() +report['no-package']['no-package']=sorted(list(csset)) r = open('eventsetuprecord-get.yaml', 'w') dump(report, r, width=float("inf")) From 64b9edfa8ff9c78143b332a61f3bcb5ebf89b231 Mon Sep 17 00:00:00 2001 From: Abe Tishelman-Charny Date: Wed, 1 Dec 2021 08:44:53 +0100 Subject: [PATCH 247/268] Further updates to deprecated class issue --- .../interface/ElectronRecalibSuperClusterAssociator.h | 4 ++-- Calibration/EcalCalibAlgos/interface/miscalibExample.h | 6 +----- Calibration/EcalCalibAlgos/plugins/SealModule.cc | 2 -- .../src/ElectronRecalibSuperClusterAssociator.cc | 2 -- Calibration/EcalCalibAlgos/src/miscalibExample.cc | 4 ++-- CondTools/Ecal/plugins/EcalPedestalHistory.cc | 8 -------- 6 files changed, 5 insertions(+), 21 deletions(-) diff --git a/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h b/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h index 796bbff1a9b58..e68dacb1f2969 100644 --- a/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h +++ b/Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h @@ -7,7 +7,7 @@ // // Description: -#include "FWCore/Framework/interface/one/EDProducer.h" +#include "FWCore/Framework/interface/stream/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/EventSetup.h" @@ -20,7 +20,7 @@ #include -class ElectronRecalibSuperClusterAssociator : public edm::one::EDProducer<> { +class ElectronRecalibSuperClusterAssociator : public edm::stream::EDProducer<> { public: explicit ElectronRecalibSuperClusterAssociator(const edm::ParameterSet& conf); diff --git a/Calibration/EcalCalibAlgos/interface/miscalibExample.h b/Calibration/EcalCalibAlgos/interface/miscalibExample.h index 67fe45bb8d9aa..d6e2aed013702 100644 --- a/Calibration/EcalCalibAlgos/interface/miscalibExample.h +++ b/Calibration/EcalCalibAlgos/interface/miscalibExample.h @@ -47,13 +47,9 @@ class miscalibExample : public edm::one::EDAnalyzer<> { std::string rootfile_; std::string correctedHybridSuperClusterProducer_; std::string correctedHybridSuperClusterCollection_; - std::string BarrelHitsCollection_; - std::string ecalHitsProducer_; int read_events; - edm::EDGetTokenT > correctedHybridSuperClusterToken_; - - + edm::EDGetTokenT correctedHybridSuperClusterToken_; TH1F* scEnergy; }; diff --git a/Calibration/EcalCalibAlgos/plugins/SealModule.cc b/Calibration/EcalCalibAlgos/plugins/SealModule.cc index a4f5497b4c1cc..b1ce700d8dc01 100644 --- a/Calibration/EcalCalibAlgos/plugins/SealModule.cc +++ b/Calibration/EcalCalibAlgos/plugins/SealModule.cc @@ -3,14 +3,12 @@ #include "Calibration/EcalCalibAlgos/interface/InvRingCalib.h" #include "Calibration/EcalCalibAlgos/interface/miscalibExample.h" #include "Calibration/EcalCalibAlgos/interface/ZeeCalibration.h" -#include "Calibration/EcalCalibAlgos/interface/ElectronRecalibSuperClusterAssociator.h" #include "Calibration/EcalCalibAlgos/interface/PhiSymmetryCalibration.h" #include "Calibration/EcalCalibAlgos/interface/Pi0FixedMassWindowCalibration.h" #include "Calibration/EcalCalibAlgos/interface/ECALpedestalPCLworker.h" #include "Calibration/EcalCalibAlgos/interface/ECALpedestalPCLHarvester.h" DEFINE_FWK_MODULE(miscalibExample); -DEFINE_FWK_MODULE(ElectronRecalibSuperClusterAssociator); DEFINE_FWK_MODULE(PhiSymmetryCalibration); DEFINE_FWK_LOOPER(Pi0FixedMassWindowCalibration); DEFINE_FWK_LOOPER(ZeeCalibration); diff --git a/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc b/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc index 759b181894ac1..7c9f75b1188c5 100644 --- a/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc +++ b/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc @@ -1,6 +1,4 @@ // -*- C++ -*- -// -// // user include files #include "FWCore/Framework/interface/MakerMacros.h" diff --git a/Calibration/EcalCalibAlgos/src/miscalibExample.cc b/Calibration/EcalCalibAlgos/src/miscalibExample.cc index cae71db92bb37..838e7fce9e718 100644 --- a/Calibration/EcalCalibAlgos/src/miscalibExample.cc +++ b/Calibration/EcalCalibAlgos/src/miscalibExample.cc @@ -33,8 +33,8 @@ miscalibExample::miscalibExample(const edm::ParameterSet& iConfig) { rootfile_ = iConfig.getUntrackedParameter("rootfile", "ecalSimpleTBanalysis.root"); correctedHybridSuperClusterProducer_ = iConfig.getParameter("correctedHybridSuperClusterProducer"); edm::InputTag correctedHybridSuperClusterTag_ = iConfig.getParameter("correctedHybridSuperClusterCollection"); - correctedHybridSuperClusterToken_ = consumes >(correctedHybridSuperClusterTag_); - + correctedHybridSuperClusterCollection_ = iConfig.getParameter("correctedHybridSuperClusterCollection"); + correctedHybridSuperClusterToken_ = consumes(edm::InputTag(correctedHybridSuperClusterProducer_, correctedHybridSuperClusterCollection_)); } miscalibExample::~miscalibExample() {} diff --git a/CondTools/Ecal/plugins/EcalPedestalHistory.cc b/CondTools/Ecal/plugins/EcalPedestalHistory.cc index d037e8450359b..2547e182c7784 100644 --- a/CondTools/Ecal/plugins/EcalPedestalHistory.cc +++ b/CondTools/Ecal/plugins/EcalPedestalHistory.cc @@ -358,25 +358,18 @@ void EcalPedestalHistory::beginRun(edm::Run const&, edm::EventSetup const& c) { void EcalPedestalHistory::endRun(edm::Run const&, edm::EventSetup const& c) { //======================================================================== - cout << "Entering endRun" << endl; - cout << "Exiting endRun" << endl; } //endRun //======================================================================== void EcalPedestalHistory::beginJob() { ///======================================================================== - cout << "Entering beginJob" << endl; - - cout << "Exiting beginJob" << endl; } //beginJob //======================================================================== void EcalPedestalHistory::endJob() { //======================================================================== - cout << "Entering endJob" << endl; - cout << "Exiting endJob" << endl; } //endJob // @@ -409,7 +402,6 @@ void EcalPedestalHistory::analyze(const edm::Event& iEvent, const edm::EventSetu } cnt_evt_++; - cout << "Exiting analyze" << endl; } //analyze //define this as a plug-in From 549d14831930ebf1324187b2f35d6932a8f3f451 Mon Sep 17 00:00:00 2001 From: Abe Tishelman-Charny Date: Wed, 1 Dec 2021 10:21:26 +0100 Subject: [PATCH 248/268] Setting Ecal miscalib example variables to const --- .../EcalCalibAlgos/interface/miscalibExample.h | 6 +++--- Calibration/EcalCalibAlgos/src/miscalibExample.cc | 13 ++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Calibration/EcalCalibAlgos/interface/miscalibExample.h b/Calibration/EcalCalibAlgos/interface/miscalibExample.h index d6e2aed013702..ea51b03e0f62d 100644 --- a/Calibration/EcalCalibAlgos/interface/miscalibExample.h +++ b/Calibration/EcalCalibAlgos/interface/miscalibExample.h @@ -44,9 +44,9 @@ class miscalibExample : public edm::one::EDAnalyzer<> { private: // ----------member data --------------------------- - std::string rootfile_; - std::string correctedHybridSuperClusterProducer_; - std::string correctedHybridSuperClusterCollection_; + const std::string rootfile_; + const std::string correctedHybridSuperClusterProducer_; + const std::string correctedHybridSuperClusterCollection_; int read_events; edm::EDGetTokenT correctedHybridSuperClusterToken_; diff --git a/Calibration/EcalCalibAlgos/src/miscalibExample.cc b/Calibration/EcalCalibAlgos/src/miscalibExample.cc index 838e7fce9e718..d612c9154f8fe 100644 --- a/Calibration/EcalCalibAlgos/src/miscalibExample.cc +++ b/Calibration/EcalCalibAlgos/src/miscalibExample.cc @@ -29,13 +29,12 @@ #include #include -miscalibExample::miscalibExample(const edm::ParameterSet& iConfig) { - rootfile_ = iConfig.getUntrackedParameter("rootfile", "ecalSimpleTBanalysis.root"); - correctedHybridSuperClusterProducer_ = iConfig.getParameter("correctedHybridSuperClusterProducer"); - edm::InputTag correctedHybridSuperClusterTag_ = iConfig.getParameter("correctedHybridSuperClusterCollection"); - correctedHybridSuperClusterCollection_ = iConfig.getParameter("correctedHybridSuperClusterCollection"); - correctedHybridSuperClusterToken_ = consumes(edm::InputTag(correctedHybridSuperClusterProducer_, correctedHybridSuperClusterCollection_)); -} +miscalibExample::miscalibExample(const edm::ParameterSet& iConfig) : + rootfile_{iConfig.getUntrackedParameter("rootfile", "ecalSimpleTBanalysis.root")}, + correctedHybridSuperClusterProducer_{iConfig.getParameter("correctedHybridSuperClusterProducer")}, + correctedHybridSuperClusterCollection_{iConfig.getParameter("correctedHybridSuperClusterCollection")}, + correctedHybridSuperClusterToken_{consumes(edm::InputTag(correctedHybridSuperClusterProducer_, correctedHybridSuperClusterCollection_))} + {} miscalibExample::~miscalibExample() {} From f2fa2cc7f776ae24bce115250a647b5a4ee2f959 Mon Sep 17 00:00:00 2001 From: Andrea Date: Wed, 1 Dec 2021 10:34:50 +0100 Subject: [PATCH 249/268] Avoid nested dead assignments, as reported by the static analyzer --- .../src/EcalBarrelSimHitsValidation.cc | 26 +++++++++---------- .../src/EcalEndcapSimHitsValidation.cc | 26 +++++++++---------- .../EcalHits/src/EcalSimHitsValidProducer.cc | 26 +++++++++---------- 3 files changed, 36 insertions(+), 42 deletions(-) diff --git a/Validation/EcalHits/src/EcalBarrelSimHitsValidation.cc b/Validation/EcalHits/src/EcalBarrelSimHitsValidation.cc index 5b7eaf18043c0..7df63269fa88b 100644 --- a/Validation/EcalHits/src/EcalBarrelSimHitsValidation.cc +++ b/Validation/EcalHits/src/EcalBarrelSimHitsValidation.cc @@ -364,16 +364,15 @@ float EcalBarrelSimHitsValidation::eCluster2x2(MapType &themap) { float e258 = themap[2] + themap[5] + themap[8]; if ((e012 > e678 || e012 == e678) && (e036 > e258 || e036 == e258)) - return E22 = themap[0] + themap[1] + themap[3] + themap[4]; + E22 = themap[0] + themap[1] + themap[3] + themap[4]; else if ((e012 > e678 || e012 == e678) && (e036 < e258 || e036 == e258)) - return E22 = themap[1] + themap[2] + themap[4] + themap[5]; + E22 = themap[1] + themap[2] + themap[4] + themap[5]; else if ((e012 < e678 || e012 == e678) && (e036 > e258 || e036 == e258)) - return E22 = themap[3] + themap[4] + themap[6] + themap[7]; + E22 = themap[3] + themap[4] + themap[6] + themap[7]; else if ((e012 < e678 || e012 == e678) && (e036 < e258 || e036 == e258)) - return E22 = themap[4] + themap[5] + themap[7] + themap[8]; - else { - return E22; - } + E22 = themap[4] + themap[5] + themap[7] + themap[8]; + + return E22; } float EcalBarrelSimHitsValidation::eCluster4x4(float e33, MapType &themap) { @@ -384,16 +383,15 @@ float EcalBarrelSimHitsValidation::eCluster4x4(float e33, MapType &themap) { float e0_24 = themap[20] + themap[21] + themap[22] + themap[23] + themap[24]; if ((e0_4 > e0_24 || e0_4 == e0_24) && (e0_20 > e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[0] + themap[1] + themap[2] + themap[3] + themap[5] + themap[10] + themap[15]; + E44 = e33 + themap[0] + themap[1] + themap[2] + themap[3] + themap[5] + themap[10] + themap[15]; else if ((e0_4 > e0_24 || e0_4 == e0_24) && (e0_20 < e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[1] + themap[2] + themap[3] + themap[4] + themap[9] + themap[14] + themap[19]; + E44 = e33 + themap[1] + themap[2] + themap[3] + themap[4] + themap[9] + themap[14] + themap[19]; else if ((e0_4 < e0_24 || e0_4 == e0_24) && (e0_20 > e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[5] + themap[10] + themap[15] + themap[20] + themap[21] + themap[22] + themap[23]; + E44 = e33 + themap[5] + themap[10] + themap[15] + themap[20] + themap[21] + themap[22] + themap[23]; else if ((e0_4 < e0_24 || e0_4 == e0_24) && (e0_20 < e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[21] + themap[22] + themap[23] + themap[24] + themap[9] + themap[14] + themap[19]; - else { - return E44; - } + E44 = e33 + themap[21] + themap[22] + themap[23] + themap[24] + themap[9] + themap[14] + themap[19]; + + return E44; } uint32_t EcalBarrelSimHitsValidation::getUnitWithMaxEnergy(MapType &themap) { diff --git a/Validation/EcalHits/src/EcalEndcapSimHitsValidation.cc b/Validation/EcalHits/src/EcalEndcapSimHitsValidation.cc index 6e3659879d0af..8b232cba630cd 100644 --- a/Validation/EcalHits/src/EcalEndcapSimHitsValidation.cc +++ b/Validation/EcalHits/src/EcalEndcapSimHitsValidation.cc @@ -374,16 +374,15 @@ float EcalEndcapSimHitsValidation::eCluster2x2(MapType &themap) { float e258 = themap[2] + themap[5] + themap[8]; if ((e012 > e678 || e012 == e678) && (e036 > e258 || e036 == e258)) - return E22 = themap[0] + themap[1] + themap[3] + themap[4]; + E22 = themap[0] + themap[1] + themap[3] + themap[4]; else if ((e012 > e678 || e012 == e678) && (e036 < e258 || e036 == e258)) - return E22 = themap[1] + themap[2] + themap[4] + themap[5]; + E22 = themap[1] + themap[2] + themap[4] + themap[5]; else if ((e012 < e678 || e012 == e678) && (e036 > e258 || e036 == e258)) - return E22 = themap[3] + themap[4] + themap[6] + themap[7]; + E22 = themap[3] + themap[4] + themap[6] + themap[7]; else if ((e012 < e678 || e012 == e678) && (e036 < e258 || e036 == e258)) - return E22 = themap[4] + themap[5] + themap[7] + themap[8]; - else { - return E22; - } + E22 = themap[4] + themap[5] + themap[7] + themap[8]; + + return E22; } float EcalEndcapSimHitsValidation::eCluster4x4(float e33, MapType &themap) { @@ -394,16 +393,15 @@ float EcalEndcapSimHitsValidation::eCluster4x4(float e33, MapType &themap) { float e0_24 = themap[20] + themap[21] + themap[22] + themap[23] + themap[24]; if ((e0_4 > e0_24 || e0_4 == e0_24) && (e0_20 > e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[0] + themap[1] + themap[2] + themap[3] + themap[5] + themap[10] + themap[15]; + E44 = e33 + themap[0] + themap[1] + themap[2] + themap[3] + themap[5] + themap[10] + themap[15]; else if ((e0_4 > e0_24 || e0_4 == e0_24) && (e0_20 < e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[1] + themap[2] + themap[3] + themap[4] + themap[9] + themap[14] + themap[19]; + E44 = e33 + themap[1] + themap[2] + themap[3] + themap[4] + themap[9] + themap[14] + themap[19]; else if ((e0_4 < e0_24 || e0_4 == e0_24) && (e0_20 > e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[5] + themap[10] + themap[15] + themap[20] + themap[21] + themap[22] + themap[23]; + E44 = e33 + themap[5] + themap[10] + themap[15] + themap[20] + themap[21] + themap[22] + themap[23]; else if ((e0_4 < e0_24 || e0_4 == e0_24) && (e0_20 < e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[21] + themap[22] + themap[23] + themap[24] + themap[9] + themap[14] + themap[19]; - else { - return E44; - } + E44 = e33 + themap[21] + themap[22] + themap[23] + themap[24] + themap[9] + themap[14] + themap[19]; + + return E44; } uint32_t EcalEndcapSimHitsValidation::getUnitWithMaxEnergy(MapType &themap) { diff --git a/Validation/EcalHits/src/EcalSimHitsValidProducer.cc b/Validation/EcalHits/src/EcalSimHitsValidProducer.cc index d24b3538e36a9..2b07cbc567c19 100644 --- a/Validation/EcalHits/src/EcalSimHitsValidProducer.cc +++ b/Validation/EcalHits/src/EcalSimHitsValidProducer.cc @@ -513,16 +513,15 @@ float EcalSimHitsValidProducer::eCluster2x2(MapType &themap) { float e258 = themap[2] + themap[5] + themap[8]; if ((e012 > e678 || e012 == e678) && (e036 > e258 || e036 == e258)) - return E22 = themap[0] + themap[1] + themap[3] + themap[4]; + E22 = themap[0] + themap[1] + themap[3] + themap[4]; else if ((e012 > e678 || e012 == e678) && (e036 < e258 || e036 == e258)) - return E22 = themap[1] + themap[2] + themap[4] + themap[5]; + E22 = themap[1] + themap[2] + themap[4] + themap[5]; else if ((e012 < e678 || e012 == e678) && (e036 > e258 || e036 == e258)) - return E22 = themap[3] + themap[4] + themap[6] + themap[7]; + E22 = themap[3] + themap[4] + themap[6] + themap[7]; else if ((e012 < e678 || e012 == e678) && (e036 < e258 || e036 == e258)) - return E22 = themap[4] + themap[5] + themap[7] + themap[8]; - else { - return E22; - } + E22 = themap[4] + themap[5] + themap[7] + themap[8]; + + return E22; } float EcalSimHitsValidProducer::eCluster4x4(float e33, MapType &themap) { @@ -533,16 +532,15 @@ float EcalSimHitsValidProducer::eCluster4x4(float e33, MapType &themap) { float e0_24 = themap[20] + themap[21] + themap[22] + themap[23] + themap[24]; if ((e0_4 > e0_24 || e0_4 == e0_24) && (e0_20 > e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[0] + themap[1] + themap[2] + themap[3] + themap[5] + themap[10] + themap[15]; + E44 = e33 + themap[0] + themap[1] + themap[2] + themap[3] + themap[5] + themap[10] + themap[15]; else if ((e0_4 > e0_24 || e0_4 == e0_24) && (e0_20 < e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[1] + themap[2] + themap[3] + themap[4] + themap[9] + themap[14] + themap[19]; + E44 = e33 + themap[1] + themap[2] + themap[3] + themap[4] + themap[9] + themap[14] + themap[19]; else if ((e0_4 < e0_24 || e0_4 == e0_24) && (e0_20 > e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[5] + themap[10] + themap[15] + themap[20] + themap[21] + themap[22] + themap[23]; + E44 = e33 + themap[5] + themap[10] + themap[15] + themap[20] + themap[21] + themap[22] + themap[23]; else if ((e0_4 < e0_24 || e0_4 == e0_24) && (e0_20 < e4_24 || e0_20 == e4_24)) - return E44 = e33 + themap[21] + themap[22] + themap[23] + themap[24] + themap[9] + themap[14] + themap[19]; - else { - return E44; - } + E44 = e33 + themap[21] + themap[22] + themap[23] + themap[24] + themap[9] + themap[14] + themap[19]; + + return E44; } float EcalSimHitsValidProducer::energyInEEMatrix( From b7bb3b750d201d9b7c16fd256b206feada60a606 Mon Sep 17 00:00:00 2001 From: Abe Tishelman-Charny Date: Wed, 1 Dec 2021 11:51:48 +0100 Subject: [PATCH 250/268] Ran code checks and code format --- .../EcalLaserSorting/src/LaserSorter.cc | 8 ++------ .../plugins/EcalTPGParamReaderFromDB.cc | 1 - .../EcalCalibAlgos/interface/miscalibExample.h | 2 +- .../EcalCalibAlgos/src/ECALpedestalPCLworker.cc | 2 +- .../ElectronRecalibSuperClusterAssociator.cc | 3 +-- .../EcalCalibAlgos/src/miscalibExample.cc | 17 +++++++++-------- 6 files changed, 14 insertions(+), 19 deletions(-) diff --git a/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc b/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc index 65e7ddd33b820..f7781a4846de1 100644 --- a/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc +++ b/CalibCalorimetry/EcalLaserSorting/src/LaserSorter.cc @@ -1154,10 +1154,6 @@ void LaserSorter::restoreStreamsOfLumiBlock(int lumiBlock) { } } -void LaserSorter::beginRun(edm::Run const& run, edm::EventSetup const& es) { +void LaserSorter::beginRun(edm::Run const& run, edm::EventSetup const& es) {} -} - -void LaserSorter::endRun(edm::Run const& run, edm::EventSetup const& es) { - -} +void LaserSorter::endRun(edm::Run const& run, edm::EventSetup const& es) {} diff --git a/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc b/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc index 946bedd2bba2f..1681b1658a47c 100644 --- a/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc +++ b/CalibCalorimetry/EcalTPGTools/plugins/EcalTPGParamReaderFromDB.cc @@ -47,7 +47,6 @@ EcalTPGParamReaderFromDB::~EcalTPGParamReaderFromDB() {} void EcalTPGParamReaderFromDB::analyze(const edm::Event& ev, const edm::EventSetup& es) { EcalTPGDBApp app(sid, user, pass); - } void EcalTPGParamReaderFromDB::beginJob() {} diff --git a/Calibration/EcalCalibAlgos/interface/miscalibExample.h b/Calibration/EcalCalibAlgos/interface/miscalibExample.h index ea51b03e0f62d..341bc58d7afd0 100644 --- a/Calibration/EcalCalibAlgos/interface/miscalibExample.h +++ b/Calibration/EcalCalibAlgos/interface/miscalibExample.h @@ -49,7 +49,7 @@ class miscalibExample : public edm::one::EDAnalyzer<> { const std::string correctedHybridSuperClusterCollection_; int read_events; - edm::EDGetTokenT correctedHybridSuperClusterToken_; + edm::EDGetTokenT correctedHybridSuperClusterToken_; TH1F* scEnergy; }; diff --git a/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc b/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc index 4448a8f83fa20..e90fcfbbf8427 100644 --- a/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc +++ b/Calibration/EcalCalibAlgos/src/ECALpedestalPCLworker.cc @@ -5,7 +5,7 @@ #include "FWCore/Framework/interface/EventSetup.h" #include -ECALpedestalPCLworker::ECALpedestalPCLworker(const edm::ParameterSet& iConfig) +ECALpedestalPCLworker::ECALpedestalPCLworker(const edm::ParameterSet& iConfig) : pedestalToken_(esConsumes()) { edm::InputTag digiTagEB = iConfig.getParameter("BarrelDigis"); edm::InputTag digiTagEE = iConfig.getParameter("EndcapDigis"); diff --git a/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc b/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc index 7c9f75b1188c5..8d578948f72d6 100644 --- a/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc +++ b/Calibration/EcalCalibAlgos/src/ElectronRecalibSuperClusterAssociator.cc @@ -134,7 +134,7 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev pOutEleCore->push_back(*eleIt->core()); // clone the old core and add to the collection of new cores reco::GsfElectronCoreRef newEleCoreRef(rEleCore, idxEleCore++); // reference to the new electron core in the new collection - reco::GsfElectronCore& newEleCore = pOutEleCore->back(); // pick the clone + reco::GsfElectronCore& newEleCore = pOutEleCore->back(); // pick the clone reco::SuperClusterRef scRef(reco::SuperClusterRef(superClusterEBHandle, iscRef)); // Reference to the new SC #ifndef CMSSW_5_3_X newEleCore.setParentSuperCluster(scRef); // mustache @@ -200,7 +200,6 @@ void ElectronRecalibSuperClusterAssociator::produce(edm::Event& e, const edm::Ev e.put(std::move(pOutEle)); e.put(std::move(pOutEleCore)); - } DEFINE_FWK_MODULE(ElectronRecalibSuperClusterAssociator); diff --git a/Calibration/EcalCalibAlgos/src/miscalibExample.cc b/Calibration/EcalCalibAlgos/src/miscalibExample.cc index d612c9154f8fe..8b7a5a8a60ec2 100644 --- a/Calibration/EcalCalibAlgos/src/miscalibExample.cc +++ b/Calibration/EcalCalibAlgos/src/miscalibExample.cc @@ -29,12 +29,13 @@ #include #include -miscalibExample::miscalibExample(const edm::ParameterSet& iConfig) : - rootfile_{iConfig.getUntrackedParameter("rootfile", "ecalSimpleTBanalysis.root")}, - correctedHybridSuperClusterProducer_{iConfig.getParameter("correctedHybridSuperClusterProducer")}, - correctedHybridSuperClusterCollection_{iConfig.getParameter("correctedHybridSuperClusterCollection")}, - correctedHybridSuperClusterToken_{consumes(edm::InputTag(correctedHybridSuperClusterProducer_, correctedHybridSuperClusterCollection_))} - {} +miscalibExample::miscalibExample(const edm::ParameterSet& iConfig) + : rootfile_{iConfig.getUntrackedParameter("rootfile", "ecalSimpleTBanalysis.root")}, + correctedHybridSuperClusterProducer_{iConfig.getParameter("correctedHybridSuperClusterProducer")}, + correctedHybridSuperClusterCollection_{ + iConfig.getParameter("correctedHybridSuperClusterCollection")}, + correctedHybridSuperClusterToken_{consumes( + edm::InputTag(correctedHybridSuperClusterProducer_, correctedHybridSuperClusterCollection_))} {} miscalibExample::~miscalibExample() {} @@ -60,7 +61,7 @@ void miscalibExample::endJob() { scEnergy->Write(); f.Close(); - delete scEnergy; + delete scEnergy; } //================================================================================= @@ -75,7 +76,7 @@ void miscalibExample::analyze(const edm::Event& iEvent, const edm::EventSetup& i Handle pCorrectedHybridSuperClusters; - iEvent.getByToken(correctedHybridSuperClusterToken_, pCorrectedHybridSuperClusters); + iEvent.getByToken(correctedHybridSuperClusterToken_, pCorrectedHybridSuperClusters); if (!pCorrectedHybridSuperClusters.isValid()) { LogError("EgammaSimpleAnalyzer") << "Error! can't get collection with label " From c3d2a3218041b3de169093b1c1df2d337fe1d74d Mon Sep 17 00:00:00 2001 From: Vladimir Date: Wed, 1 Dec 2021 12:58:32 +0100 Subject: [PATCH 251/268] Fixed static Analysis warnings in SimG4Core --- .../interface/GFlashEMShowerModel.h | 2 +- .../Application/interface/RunManagerMT.h | 7 +- .../Application/src/GFlashEMShowerModel.cc | 24 +----- .../src/GFlashHadronShowerModel.cc | 54 ++++-------- SimG4Core/Application/src/RunManagerMT.cc | 2 + .../Application/src/RunManagerMTWorker.cc | 8 +- .../interface/CustomParticleFactory.h | 8 +- .../src/CustomParticleFactory.cc | 55 ++++++------- .../CustomPhysics/src/CustomPhysicsList.cc | 2 +- .../CustomPhysics/src/CustomPhysicsListSS.cc | 2 +- .../CustomPhysics/src/G4ProcessHelper.cc | 2 +- .../GFlash/interface/GflashEMShowerModel.h | 2 +- SimG4Core/GFlash/src/GflashEMShowerModel.cc | 82 +------------------ .../GFlash/src/GflashHadronShowerModel.cc | 25 +++--- .../Geometry/interface/CustomUIsession.h | 4 - SimG4Core/Geometry/src/CustomUIsession.cc | 12 +-- SimG4Core/MagneticField/src/Field.cc | 11 ++- .../src/MonopoleTransportation.cc | 4 +- 18 files changed, 90 insertions(+), 216 deletions(-) diff --git a/SimG4Core/Application/interface/GFlashEMShowerModel.h b/SimG4Core/Application/interface/GFlashEMShowerModel.h index 890ac69a4d5f7..ee91e2796a361 100644 --- a/SimG4Core/Application/interface/GFlashEMShowerModel.h +++ b/SimG4Core/Application/interface/GFlashEMShowerModel.h @@ -46,7 +46,7 @@ class GFlashEMShowerModel : public G4VFastSimulationModel { GflashEMShowerProfile* theProfile; - const G4Region* theRegion; + G4Region* theRegion; G4Step* theGflashStep; G4Navigator* theGflashNavigator; diff --git a/SimG4Core/Application/interface/RunManagerMT.h b/SimG4Core/Application/interface/RunManagerMT.h index f4951faaadc56..c07d6121e994b 100644 --- a/SimG4Core/Application/interface/RunManagerMT.h +++ b/SimG4Core/Application/interface/RunManagerMT.h @@ -64,8 +64,8 @@ class RunManagerMT { void Connect(RunAction*); // Keep this to keep ExceptionHandler to compile, probably removed - // later (or functionality moved to RunManagerMTWorker) - inline void abortRun(bool softAbort = false) {} + // later (or functionality moved to RunManagerMTWorker). + // inline void abortRun(bool softAbort = false) {} inline const DDDWorld& world() const { return *m_world; } @@ -74,8 +74,7 @@ class RunManagerMT { inline const std::vector& G4Commands() const { return m_G4Commands; } // In order to share the physics list with the worker threads, we - // need a non-const pointer. Thread-safety is handled inside Geant4 - // with TLS. + // need a non-const pointer. Thread-safety is handled inside Geant4. inline PhysicsList* physicsListForWorker() const { return m_physicsList.get(); } private: diff --git a/SimG4Core/Application/src/GFlashEMShowerModel.cc b/SimG4Core/Application/src/GFlashEMShowerModel.cc index 11226f689c1a6..1cabda9ce637e 100644 --- a/SimG4Core/Application/src/GFlashEMShowerModel.cc +++ b/SimG4Core/Application/src/GFlashEMShowerModel.cc @@ -29,7 +29,7 @@ GFlashEMShowerModel::GFlashEMShowerModel(const G4String& modelName, theWatcherOn = parSet.getParameter("watcherOn"); theProfile = new GflashEMShowerProfile(parSet); - theRegion = const_cast(envelope); + theRegion = reinterpret_cast(envelope); theGflashStep = new G4Step(); theGflashTouchableHandle = new G4TouchableHistory(); @@ -69,18 +69,6 @@ G4bool GFlashEMShowerModel::ModelTrigger(const G4FastTrack& fastTrack) { if (lv->GetRegion() != theRegion) { return false; } - //std::cout << "GFlashEMShowerModel::ModelTrigger: LV " - // << lv->GetRegion()->GetName() << std::endl; - - // The parameterization starts inside crystals - //std::size_t pos1 = lv->GetName().find("EBRY"); - //std::size_t pos2 = lv->GetName().find("EFRY"); - - //std::size_t pos3 = lv->GetName().find("HVQ"); - //std::size_t pos4 = lv->GetName().find("HF"); - //if(pos1 == std::string::npos && pos2 == std::string::npos && - // pos3 == std::string::npos && pos4 == std::string::npos) return false; - return true; } @@ -122,7 +110,7 @@ void GFlashEMShowerModel::makeHits(const G4FastTrack& fastTrack) { std::vector::const_iterator spotIter = gflashHitList.begin(); std::vector::const_iterator spotIterEnd = gflashHitList.end(); - for (; spotIter != spotIterEnd; spotIter++) { + for (; spotIter != spotIterEnd; ++spotIter) { // Put touchable for each hit so that touchable history // keeps track of each step. theGflashNavigator->LocateGlobalPointAndUpdateTouchableHandle( @@ -170,16 +158,10 @@ void GFlashEMShowerModel::updateGflashStep(const G4ThreeVector& spotPosition, G4 // --------------------------------------------------------------------------- G4bool GFlashEMShowerModel::excludeDetectorRegion(const G4FastTrack& fastTrack) { - G4bool isExcluded = false; - //exclude regions where geometry are complicated //+- one supermodule around the EB/EE boundary: 1.479 +- 0.0174*5 G4double eta = fastTrack.GetPrimaryTrack()->GetPosition().pseudoRapidity(); - if (std::fabs(eta) > 1.392 && std::fabs(eta) < 1.566) { - return true; - } - - return isExcluded; + return (std::fabs(eta) > 1.392 && std::fabs(eta) < 1.566); } // --------------------------------------------------------------------------- diff --git a/SimG4Core/Application/src/GFlashHadronShowerModel.cc b/SimG4Core/Application/src/GFlashHadronShowerModel.cc index 6ed7f313b9f44..acda221f0678b 100644 --- a/SimG4Core/Application/src/GFlashHadronShowerModel.cc +++ b/SimG4Core/Application/src/GFlashHadronShowerModel.cc @@ -10,7 +10,6 @@ #include "SimGeneral/GFlash/interface/GflashProtonShowerProfile.h" #include "SimGeneral/GFlash/interface/GflashAntiProtonShowerProfile.h" #include "SimGeneral/GFlash/interface/GflashNameSpace.h" -//#include "SimGeneral/GFlash/interface/GflashHistogram.h" #include "SimGeneral/GFlash/interface/GflashHit.h" #include "G4FastSimulationManager.hh" @@ -44,9 +43,8 @@ GFlashHadronShowerModel::GFlashHadronShowerModel(G4String modelName, theKaonMinusProfile = new GflashKaonMinusShowerProfile(parSet); theProtonProfile = new GflashProtonShowerProfile(parSet); theAntiProtonProfile = new GflashAntiProtonShowerProfile(parSet); - //theHisto = GflashHistogram::instance(); - theRegion = const_cast(envelope); + theRegion = reinterpret_cast(envelope); theGflashStep = new G4Step(); theGflashTouchableHandle = new G4TouchableHistory(); @@ -78,33 +76,23 @@ G4bool GFlashHadronShowerModel::ModelTrigger(const G4FastTrack& fastTrack) { // requires to modify a geant source code of stepping (G4SteppingManager2) // mininum energy cutoff to parameterize - if (fastTrack.GetPrimaryTrack()->GetKineticEnergy() < GeV * Gflash::energyCutOff) { + if (fastTrack.GetPrimaryTrack()->GetKineticEnergy() < CLHEP::GeV * Gflash::energyCutOff) { return false; } // This will be changed accordingly when the way // dealing with CaloRegion changes later. - G4TouchableHistory* touch = (G4TouchableHistory*)(fastTrack.GetPrimaryTrack()->GetTouchable()); - G4VPhysicalVolume* pCurrentVolume = touch->GetVolume(); + const G4VPhysicalVolume* pCurrentVolume = + fastTrack.GetPrimaryTrack()->GetTouchable()->GetVolume(); if (pCurrentVolume == nullptr) { return false; } - G4LogicalVolume* lv = pCurrentVolume->GetLogicalVolume(); + const G4LogicalVolume* lv = pCurrentVolume->GetLogicalVolume(); if (lv->GetRegion() != theRegion) { return false; } - - // check whether this is called from the normal GPIL or the wrapper process GPIL - //if(fastTrack.GetPrimaryTrack()->GetTrackStatus() == fPostponeToNextEvent ) { - - // Shower pameterization start at the first inelastic interaction point - //if(isFirstInelasticInteraction(fastTrack) && excludeDetectorRegion(fastTrack)) - if (excludeDetectorRegion(fastTrack)) { - return false; - } - - return true; + return !(excludeDetectorRegion(fastTrack)); } void GFlashHadronShowerModel::DoIt(const G4FastTrack& fastTrack, G4FastStep& fastStep) { @@ -240,24 +228,12 @@ G4bool GFlashHadronShowerModel::isFirstInelasticInteraction(const G4FastTrack& f if ((preStep->GetTotalEnergy() != 0) && (leadingEnergy / preStep->GetTotalEnergy() < Gflash::QuasiElasticLike)) isFirst = true; - - //Fill debugging histograms and check information on secondaries - - //remove after final implimentation - /* - if(theHisto->getStoreFlag()) { - theHisto->preStepPosition->Fill(preStep->GetPosition().getRho()/cm); - theHisto->postStepPosition->Fill(postStep->GetPosition().getRho()/cm); - theHisto->deltaStep->Fill((postStep->GetPosition() - preStep->GetPosition()).getRho()/cm); - theHisto->kineticEnergy->Fill(fastTrack.GetPrimaryTrack()->GetKineticEnergy()/GeV); - theHisto->energyLoss->Fill(fabs(fastTrack.GetPrimaryTrack()->GetStep()->GetDeltaEnergy()/GeV)); - theHisto->energyRatio->Fill(leadingEnergy/preStep->GetTotalEnergy()); - } - */ } return isFirst; } G4bool GFlashHadronShowerModel::excludeDetectorRegion(const G4FastTrack& fastTrack) { + const double invcm = 1.0/CLHEP::cm; G4bool isExcluded = false; int verbosity = theParSet.getUntrackedParameter("Verbosity"); @@ -266,18 +242,18 @@ G4bool GFlashHadronShowerModel::excludeDetectorRegion(const G4FastTrack& fastTra G4double eta = fastTrack.GetPrimaryTrack()->GetPosition().pseudoRapidity(); if (std::fabs(eta) > 1.392 && std::fabs(eta) < 1.566) { if (verbosity > 0) { - edm::LogInfo("SimG4CoreApplication") << "GFlashHadronShowerModel: excluding region of eta = " << eta; + edm::LogVerbatim("SimG4CoreApplication") << "GFlashHadronShowerModel: excluding region of eta = " << eta; } return true; } else { G4StepPoint* postStep = fastTrack.GetPrimaryTrack()->GetStep()->GetPostStepPoint(); - Gflash::CalorimeterNumber kCalor = Gflash::getCalorimeterNumber(postStep->GetPosition() / cm); + Gflash::CalorimeterNumber kCalor = Gflash::getCalorimeterNumber(postStep->GetPosition()*invcm); G4double distOut = 9999.0; //exclude the region where the shower starting point is inside the preshower if (std::fabs(eta) > Gflash::EtaMin[Gflash::kENCA] && - std::fabs((postStep->GetPosition()).getZ() / cm) < Gflash::Zmin[Gflash::kENCA]) { + std::fabs((postStep->GetPosition()).getZ()*invcm) < Gflash::Zmin[Gflash::kENCA]) { return true; } @@ -286,21 +262,21 @@ G4bool GFlashHadronShowerModel::excludeDetectorRegion(const G4FastTrack& fastTra //the hadronic envelopes (may need to be optimized further!) //@@@if we extend parameterization including Magnet/HO, we need to change this strategy if (kCalor == Gflash::kHB) { - distOut = Gflash::Rmax[Gflash::kHB] - postStep->GetPosition().getRho() / cm; + distOut = Gflash::Rmax[Gflash::kHB] - postStep->GetPosition().getRho()*invcm; if (distOut < Gflash::MinDistanceToOut) isExcluded = true; } else if (kCalor == Gflash::kHE) { - distOut = Gflash::Zmax[Gflash::kHE] - std::fabs(postStep->GetPosition().getZ() / cm); + distOut = Gflash::Zmax[Gflash::kHE] - std::fabs(postStep->GetPosition().getZ()*invcm); if (distOut < Gflash::MinDistanceToOut) isExcluded = true; } //@@@remove this print statement later if (isExcluded && verbosity > 0) { - edm::LogInfo("SimG4CoreApplication") + edm::LogVerbatim("SimG4CoreApplication") << "GFlashHadronShowerModel: skipping kCalor = " << kCalor << " DistanceToOut " << distOut << " from (" - << (postStep->GetPosition()).getRho() / cm << ":" << (postStep->GetPosition()).getZ() / cm - << ") of KE = " << fastTrack.GetPrimaryTrack()->GetKineticEnergy() / GeV; + << (postStep->GetPosition()).getRho()*invcm << ":" << (postStep->GetPosition()).getZ()*invcm + << ") of KE = " << fastTrack.GetPrimaryTrack()->GetKineticEnergy() / CLHEP::GeV; } } diff --git a/SimG4Core/Application/src/RunManagerMT.cc b/SimG4Core/Application/src/RunManagerMT.cc index 49b822442ccbf..9707d2fd6bcef 100644 --- a/SimG4Core/Application/src/RunManagerMT.cc +++ b/SimG4Core/Application/src/RunManagerMT.cc @@ -112,6 +112,8 @@ void RunManagerMT::initG4(const DDCompactView* pDD, G4Timer timer; timer.Start(); + G4UImanager::GetMasterUIpointer()->SetCoutDestination(m_UIsession); + m_world = std::make_unique(pDD, pDD4hep, m_catalog, verb, cuts, protonCut); G4VPhysicalVolume* world = m_world.get()->GetWorldVolume(); diff --git a/SimG4Core/Application/src/RunManagerMTWorker.cc b/SimG4Core/Application/src/RunManagerMTWorker.cc index af7ff16e76b00..b9b41a4cfba41 100644 --- a/SimG4Core/Application/src/RunManagerMTWorker.cc +++ b/SimG4Core/Application/src/RunManagerMTWorker.cc @@ -255,17 +255,19 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: G4Threading::G4SetThreadId(thisID); G4UImanager::GetUIpointer()->SetUpForAThread(thisID); const std::string& uitype = m_pCustomUIsession.getUntrackedParameter("Type", "MessageLogger"); + CustomUIsession* ui = nullptr; if (uitype == "MessageLogger") { - new CustomUIsession(); + ui = new CustomUIsession(); } else if (uitype == "MessageLoggerThreadPrefix") { - new CustomUIsessionThreadPrefix(m_pCustomUIsession.getUntrackedParameter("ThreadPrefix", ""), thisID); + ui = new CustomUIsessionThreadPrefix(m_pCustomUIsession.getUntrackedParameter("ThreadPrefix", ""), thisID); } else if (uitype == "FilePerThread") { - new CustomUIsessionToFile(m_pCustomUIsession.getUntrackedParameter("ThreadFile", ""), thisID); + ui = new CustomUIsessionToFile(m_pCustomUIsession.getUntrackedParameter("ThreadFile", ""), thisID); } else { throw edm::Exception(edm::errors::Configuration) << "RunManagerMTWorker::initializeG4: Invalid value of CustomUIsession.Type '" << uitype << "', valid are MessageLogger, MessageLoggerThreadPrefix, FilePerThread"; } + G4UImanager::GetUIpointer()->SetCoutDestination(ui); // Initialize worker part of shared resources (geometry, physics) G4WorkerThread::BuildGeometryAndPhysicsVector(); diff --git a/SimG4Core/CustomPhysics/interface/CustomParticleFactory.h b/SimG4Core/CustomPhysics/interface/CustomParticleFactory.h index cfe56da4c27ad..b4b7effe85e0d 100644 --- a/SimG4Core/CustomPhysics/interface/CustomParticleFactory.h +++ b/SimG4Core/CustomPhysics/interface/CustomParticleFactory.h @@ -12,10 +12,10 @@ class G4ParticleDefinition; class CustomParticleFactory { public: explicit CustomParticleFactory(); - ~CustomParticleFactory(); + ~CustomParticleFactory() = default; - void loadCustomParticles(const std::string &filePath); - const std::vector &GetCustomParticles(); + void loadCustomParticles(const std::string& filePath); + const std::vector& getCustomParticles(); private: void addCustomParticle(int pdgCode, double mass, const std::string &name); @@ -25,7 +25,7 @@ class CustomParticleFactory { std::string ToLower(std::string str); static bool loaded; - static std::vector m_particles; + static std::vector m_particles; #ifdef G4MULTITHREADED static G4Mutex customParticleFactoryMutex; #endif diff --git a/SimG4Core/CustomPhysics/src/CustomParticleFactory.cc b/SimG4Core/CustomPhysics/src/CustomParticleFactory.cc index a153dc1d609fc..b89d112a8f628 100644 --- a/SimG4Core/CustomPhysics/src/CustomParticleFactory.cc +++ b/SimG4Core/CustomPhysics/src/CustomParticleFactory.cc @@ -20,7 +20,7 @@ #include bool CustomParticleFactory::loaded = false; -std::vector CustomParticleFactory::m_particles; +std::vector CustomParticleFactory::m_particles; #ifdef G4MULTITHREADED G4Mutex CustomParticleFactory::customParticleFactoryMutex = G4MUTEX_INITIALIZER; @@ -28,8 +28,6 @@ G4Mutex CustomParticleFactory::customParticleFactoryMutex = G4MUTEX_INITIALIZER; CustomParticleFactory::CustomParticleFactory() {} -CustomParticleFactory::~CustomParticleFactory() {} - void CustomParticleFactory::loadCustomParticles(const std::string &filePath) { if (loaded) { return; @@ -46,8 +44,8 @@ void CustomParticleFactory::loadCustomParticles(const std::string &filePath) { std::ifstream configFile(filePath.c_str()); std::string line; - edm::LogInfo("SimG4CoreCustomPhysics") << "CustomParticleFactory: Reading Custom Particle and G4DecayTable from \n" - << filePath; + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: Reading Custom Particle and G4DecayTable from \n" + << filePath; // This should be compatible IMO to SLHA G4ParticleTable *theParticleTable = G4ParticleTable::GetParticleTable(); while (getline(configFile, line)) { @@ -57,7 +55,7 @@ void CustomParticleFactory::loadCustomParticles(const std::string &filePath) { } // Skip blank lines and comments. // The mass table begins with a line containing "BLOCK MASS" if (ToLower(line).find("block") < line.npos && ToLower(line).find("mass") < line.npos) { - edm::LogInfo("SimG4CoreCustomPhysics") << "CustomParticleFactory: Retrieving mass table."; + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: Retrieving mass table."; getMassTable(&configFile); } if (line.find("DECAY") < line.npos) { @@ -67,10 +65,10 @@ void CustomParticleFactory::loadCustomParticles(const std::string &filePath) { std::stringstream lineStream(line); lineStream >> tmpString >> pdgId >> width; // assume SLHA format, e.g.: DECAY 1000021 5.50675438E+00 # gluino decays - edm::LogInfo("SimG4CoreCustomPhysics") + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: entry to G4DecayTable: pdgID, width " << pdgId << ", " << width; G4ParticleDefinition *aParticle = theParticleTable->FindParticle(pdgId); - if (!aParticle || width == 0.0) { + if (nullptr == aParticle || width == 0.0) { continue; } G4DecayTable *aDecayTable = getDecayTable(&configFile, pdgId); @@ -78,7 +76,7 @@ void CustomParticleFactory::loadCustomParticles(const std::string &filePath) { aParticle->SetPDGStable(false); aParticle->SetPDGLifeTime(1.0 / (width * CLHEP::GeV) * 6.582122e-22 * CLHEP::MeV * CLHEP::s); G4ParticleDefinition *aAntiParticle = theParticleTable->FindAntiParticle(pdgId); - if (aAntiParticle && aAntiParticle->GetPDGEncoding() != pdgId) { + if (nullptr != aAntiParticle && aAntiParticle->GetPDGEncoding() != pdgId) { aAntiParticle->SetDecayTable(getAntiDecayTable(pdgId, aDecayTable)); aAntiParticle->SetPDGStable(false); aAntiParticle->SetPDGLifeTime(1.0 / (width * CLHEP::GeV) * 6.582122e-22 * CLHEP::MeV * CLHEP::s); @@ -202,7 +200,7 @@ void CustomParticleFactory::addCustomParticle(int pdgCode, double mass, const st particle->SetCloud(tmpParticle); particle->SetSpectator(spectator); - edm::LogInfo("SimG4CoreCustomPhysics") + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: " << name << " being assigned spectator" << spectator->GetParticleName() << " and cloud " << cloudname << "\n" << " Masses: " << mass << " Gev, " << spectatormass / CLHEP::GeV << " GeV and " @@ -224,7 +222,7 @@ void CustomParticleFactory::addCustomParticle(int pdgCode, double mass, const st edm::LogError("SimG4CoreCustomPhysics") << "CustomParticleFactory: Cannot find spectator parton"; } } - if (spectator) { + if (nullptr != spectator) { spectatormass = spectator->GetPDGMass(); } G4double cloudmass = massGeV - spectatormass; @@ -233,7 +231,7 @@ void CustomParticleFactory::addCustomParticle(int pdgCode, double mass, const st particle->SetCloud(tmpParticle); particle->SetSpectator(spectator); - if (spectator) + if (nullptr != spectator) edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: " << name << " being assigned spectator" << spectator->GetParticleName() << " and cloud " << cloudname << "\n" @@ -270,7 +268,7 @@ void CustomParticleFactory::getMassTable(std::ifstream *configFile) { continue; } - edm::LogInfo("SimG4CoreCustomPhysics") + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: Calling addCustomParticle for pdgId: " << pdgId << ", mass " << mass << " GeV " << name << ", isgluinoHadron: " << CustomPDGParser::s_isgluinoHadron(pdgId) << ", isstopHadron: " << CustomPDGParser::s_isstopHadron(pdgId) @@ -281,29 +279,30 @@ void CustomParticleFactory::getMassTable(std::ifstream *configFile) { int pdgIdPartner = pdgId % 100; G4ParticleDefinition *aParticle = theParticleTable->FindParticle(pdgIdPartner); //Add antiparticles for SUSY particles only, not for rHadrons. - if (aParticle) { - edm::LogInfo("SimG4CoreCustomPhysics") + if (nullptr != aParticle) { + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: Found partner particle for " << " pdgId= " << pdgId << ", pdgIdPartner= " << pdgIdPartner << " " << aParticle->GetParticleName(); } - if (aParticle && !CustomPDGParser::s_isgluinoHadron(pdgId) && !CustomPDGParser::s_isstopHadron(pdgId) && + if (nullptr != aParticle && !CustomPDGParser::s_isgluinoHadron(pdgId) && !CustomPDGParser::s_isstopHadron(pdgId) && !CustomPDGParser::s_isSIMP(pdgId) && pdgId != 1000006 && pdgId != -1000006 && pdgId != 25 && pdgId != 35 && pdgId != 36 && pdgId != 37) { int sign = aParticle->GetAntiPDGEncoding() / pdgIdPartner; - edm::LogInfo("SimG4CoreCustomPhysics") + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: For " << aParticle->GetParticleName() << " pdg= " << pdgIdPartner << ", GetAntiPDGEncoding() " << aParticle->GetAntiPDGEncoding() << " sign= " << sign; if (std::abs(sign) != 1) { - edm::LogInfo("SimG4CoreCustomPhysics") << "CustomParticleFactory: sign= " << sign - << " a: " << aParticle->GetAntiPDGEncoding() << " b: " << pdgIdPartner; + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: sign= " << sign + << " a: " << aParticle->GetAntiPDGEncoding() + << " b: " << pdgIdPartner; aParticle->DumpTable(); } if (sign == -1 && pdgId != 25 && pdgId != 35 && pdgId != 36 && pdgId != 37 && pdgId != 1000039) { tmp = "anti_" + name; - if (!theParticleTable->FindParticle(-pdgId)) { - edm::LogInfo("SimG4CoreCustomPhysics") + if (nullptr != theParticleTable->FindParticle(-pdgId)) { + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: Calling addCustomParticle for antiparticle with pdgId: " << -pdgId << ", mass " << mass << " GeV, name " << tmp; addCustomParticle(-pdgId, mass, tmp); @@ -318,7 +317,7 @@ void CustomParticleFactory::getMassTable(std::ifstream *configFile) { if (pdgId == 1000024 || pdgId == 1000037 || pdgId == 37) { tmp = "anti_" + name; if (!theParticleTable->FindParticle(-pdgId)) { - edm::LogInfo("SimG4CoreCustomPhysics") + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: Calling addCustomParticle for antiparticle (2) with pdgId: " << -pdgId << ", mass " << mass << " GeV, name " << tmp; addCustomParticle(-pdgId, mass, tmp); @@ -327,7 +326,7 @@ void CustomParticleFactory::getMassTable(std::ifstream *configFile) { } if (pdgId == 9000006) { tmp = name + "bar"; - edm::LogInfo("CustomPhysics") << "Calling addCustomParticle for antiparticle with pdgId: " << -pdgId << ", mass " + edm::LogVerbatim("CustomPhysics") << "Calling addCustomParticle for antiparticle with pdgId: " << -pdgId << ", mass " << mass << ", name " << tmp; addCustomParticle(-pdgId, mass, tmp); theParticleTable->FindParticle(pdgId)->SetAntiPDGEncoding(-pdgId); @@ -388,7 +387,7 @@ G4DecayTable *CustomParticleFactory::getDecayTable(std::ifstream *configFile, in G4PhaseSpaceDecayChannel *aDecayChannel = new G4PhaseSpaceDecayChannel(parentName, br, nDaughters, name[0], name[1], name[2], name[3]); decaytable->Insert(aDecayChannel); - edm::LogInfo("SimG4CoreCustomPhysics") + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: inserted decay channel " << " for pdgID= " << pdgId << " " << parentName << " BR= " << br << " Daughters: " << name[0] << " " << name[1] << " " << name[2] << " " << name[3]; @@ -408,8 +407,8 @@ G4DecayTable *CustomParticleFactory::getAntiDecayTable(int pdgId, G4DecayTable * int nd = std::min(4, theDecayChannel->GetNumberOfDaughters()); for (int j = 0; j < nd; ++j) { int id = theDecayChannel->GetDaughter(j)->GetAntiPDGEncoding(); - const G4ParticleDefinition *part = theParticleTable->FindParticle(id); - if (!part) { + G4ParticleDefinition *part = theParticleTable->FindParticle(id); + if (nullptr == part) { edm::LogWarning("SimG4CoreCustomPhysics") << "CustomParticleFactory: antiparticle with PDG code" << id << " not found!"; continue; @@ -419,7 +418,7 @@ G4DecayTable *CustomParticleFactory::getAntiDecayTable(int pdgId, G4DecayTable * G4PhaseSpaceDecayChannel *aDecayChannel = new G4PhaseSpaceDecayChannel(parentName, theDecayChannel->GetBR(), nd, name[0], name[1], name[2], name[3]); decaytable->Insert(aDecayChannel); - edm::LogInfo("SimG4CoreCustomPhysics") + edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: inserted decay channel " << " for pdgID= " << -pdgId << " " << parentName << " BR= " << theDecayChannel->GetBR() << " Daughters: " << name[0] << " " << name[1] << " " << name[2] << " " << name[3]; @@ -434,4 +433,4 @@ std::string CustomParticleFactory::ToLower(std::string str) { return str; } -const std::vector &CustomParticleFactory::GetCustomParticles() { return m_particles; } +const std::vector& CustomParticleFactory::getCustomParticles() { return m_particles; } diff --git a/SimG4Core/CustomPhysics/src/CustomPhysicsList.cc b/SimG4Core/CustomPhysics/src/CustomPhysicsList.cc index c1992ac45b0da..0992e0fed1333 100644 --- a/SimG4Core/CustomPhysics/src/CustomPhysicsList.cc +++ b/SimG4Core/CustomPhysics/src/CustomPhysicsList.cc @@ -58,7 +58,7 @@ void CustomPhysicsList::ConstructProcess() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - for (auto particle : fParticleFactory.get()->GetCustomParticles()) { + for (auto particle : fParticleFactory.get()->getCustomParticles()) { if (particle->GetParticleType() == "simp") { G4ProcessManager* pmanager = particle->GetProcessManager(); if (pmanager) { diff --git a/SimG4Core/CustomPhysics/src/CustomPhysicsListSS.cc b/SimG4Core/CustomPhysics/src/CustomPhysicsListSS.cc index f88e4f09184c5..01e9f39fa461d 100644 --- a/SimG4Core/CustomPhysics/src/CustomPhysicsListSS.cc +++ b/SimG4Core/CustomPhysics/src/CustomPhysicsListSS.cc @@ -55,7 +55,7 @@ void CustomPhysicsListSS::ConstructProcess() { G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); - for (auto particle : fParticleFactory.get()->GetCustomParticles()) { + for (auto particle : fParticleFactory.get()->getCustomParticles()) { CustomParticle* cp = dynamic_cast(particle); if (cp) { G4ProcessManager* pmanager = particle->GetProcessManager(); diff --git a/SimG4Core/CustomPhysics/src/G4ProcessHelper.cc b/SimG4Core/CustomPhysics/src/G4ProcessHelper.cc index 663cfdcd69811..0ef112a709431 100644 --- a/SimG4Core/CustomPhysics/src/G4ProcessHelper.cc +++ b/SimG4Core/CustomPhysics/src/G4ProcessHelper.cc @@ -94,7 +94,7 @@ G4ProcessHelper::G4ProcessHelper(const edm::ParameterSet& p, CustomParticleFacto process_stream.close(); - for (auto part : fParticleFactory->GetCustomParticles()) { + for (auto part : fParticleFactory->getCustomParticles()) { CustomParticle* particle = dynamic_cast(part); if (particle) { edm::LogInfo("SimG4CoreCustomPhysics") << "ProcessHelper: Lifetime of " << part->GetParticleName() << " set to " diff --git a/SimG4Core/GFlash/interface/GflashEMShowerModel.h b/SimG4Core/GFlash/interface/GflashEMShowerModel.h index 19cdc0016004c..753f48c90380a 100644 --- a/SimG4Core/GFlash/interface/GflashEMShowerModel.h +++ b/SimG4Core/GFlash/interface/GflashEMShowerModel.h @@ -44,7 +44,7 @@ class GflashEMShowerModel : public G4VFastSimulationModel { GflashEMShowerProfile *theProfile; - const G4Region *theRegion; + G4Region *theRegion; G4Step *theGflashStep; G4Navigator *theGflashNavigator; diff --git a/SimG4Core/GFlash/src/GflashEMShowerModel.cc b/SimG4Core/GFlash/src/GflashEMShowerModel.cc index df4e364dc6d1e..57a9646f8e7f4 100644 --- a/SimG4Core/GFlash/src/GflashEMShowerModel.cc +++ b/SimG4Core/GFlash/src/GflashEMShowerModel.cc @@ -25,7 +25,7 @@ GflashEMShowerModel::GflashEMShowerModel(const G4String &modelName, const edm::ParameterSet &parSet) : G4VFastSimulationModel(modelName, envelope), theParSet(parSet) { theProfile = new GflashEMShowerProfile(parSet); - theRegion = const_cast(envelope); + theRegion = reinterpret_cast(envelope); theGflashStep = new G4Step(); theGflashTouchableHandle = new G4TouchableHistory(); @@ -55,12 +55,12 @@ G4bool GflashEMShowerModel::ModelTrigger(const G4FastTrack &fastTrack) { // This will be changed accordingly when the way // dealing with CaloRegion changes later. - G4VPhysicalVolume *pCurrentVolume = (fastTrack.GetPrimaryTrack()->GetTouchable())->GetVolume(); + const G4VPhysicalVolume *pCurrentVolume = (fastTrack.GetPrimaryTrack()->GetTouchable())->GetVolume(); if (pCurrentVolume == nullptr) { return false; } - G4LogicalVolume *lv = pCurrentVolume->GetLogicalVolume(); + const G4LogicalVolume *lv = pCurrentVolume->GetLogicalVolume(); if (lv->GetRegion() != theRegion) { return false; } @@ -141,83 +141,9 @@ void GflashEMShowerModel::updateGflashStep(const G4ThreeVector &spotPosition, G4 // ----------------------------------------------------------------------------------- G4bool GflashEMShowerModel::excludeDetectorRegion(const G4FastTrack &fastTrack) { - G4bool isExcluded = false; - // exclude regions where geometry are complicated //+- one supermodule around the EB/EE boundary: 1.479 +- 0.0174*5 G4double eta = fastTrack.GetPrimaryTrack()->GetPosition().pseudoRapidity(); - if (std::fabs(eta) > 1.392 && std::fabs(eta) < 1.566) { - return true; - } - - return isExcluded; + return (std::fabs(eta) > 1.392 && std::fabs(eta) < 1.566); } -/* -G4int GflashEMShowerModel::findShowerType(const G4FastTrack& fastTrack) -{ - // Initialization of longitudinal and lateral parameters for - // hadronic showers. Simulation of the intrinsic fluctuations - - // type of hadron showers subject to the shower starting point (ssp) - // showerType = -1 : default (invalid) - // showerType = 0 : ssp before EBRY (barrel crystal) - // showerType = 1 : ssp inside EBRY - // showerType = 2 : ssp after EBRY before HB - // showerType = 3 : ssp inside HB - // showerType = 4 : ssp before EFRY (endcap crystal) - // showerType = 5 : ssp inside EFRY - // showerType = 6 : ssp after EFRY before HE - // showerType = 7 : ssp inside HE - - G4TouchableHistory* touch = -(G4TouchableHistory*)(fastTrack.GetPrimaryTrack()->GetTouchable()); - G4LogicalVolume* lv = touch->GetVolume()->GetLogicalVolume(); - - std::size_t pos1 = lv->GetName().find("EBRY"); - std::size_t pos11 = lv->GetName().find("EWAL"); - std::size_t pos12 = lv->GetName().find("EWRA"); - std::size_t pos2 = lv->GetName().find("EFRY"); - - G4ThreeVector position = fastTrack.GetPrimaryTrack()->GetPosition()/cm; - Gflash::CalorimeterNumber kCalor = Gflash::getCalorimeterNumber(position); - - G4int showerType = -1; - - //central - if (kCalor == Gflash::kESPM || kCalor == Gflash::kHB ) { - - G4double posRho = position.getRho(); - - if(pos1 != std::string::npos || pos11 != std::string::npos || pos12 != -std::string::npos ) { showerType = 1; - } - else { - if(kCalor == Gflash::kESPM) { - showerType = 2; - if( posRho < Gflash::Rmin[Gflash::kESPM]+ Gflash::ROffCrystalEB ) -showerType = 0; - } - else showerType = 3; - } - - } - //forward - else if (kCalor == Gflash::kENCA || kCalor == Gflash::kHE) { - if(pos2 != std::string::npos) { - showerType = 5; - } - else { - if(kCalor == Gflash::kENCA) { - showerType = 6; - if(fabs(position.getZ()) < Gflash::Zmin[Gflash::kENCA] + -Gflash::ZOffCrystalEE) showerType = 4; - } - else showerType = 7; - } - //@@@need z-dependent correction on the mean energy reponse - } - - return showerType; -} -*/ diff --git a/SimG4Core/GFlash/src/GflashHadronShowerModel.cc b/SimG4Core/GFlash/src/GflashHadronShowerModel.cc index 9e055b10a8eea..a011d5729e58b 100644 --- a/SimG4Core/GFlash/src/GflashHadronShowerModel.cc +++ b/SimG4Core/GFlash/src/GflashHadronShowerModel.cc @@ -75,7 +75,7 @@ G4bool GflashHadronShowerModel::ModelTrigger(const G4FastTrack &fastTrack) { G4bool trigger = false; // mininum energy cutoff to parameterize - if (fastTrack.GetPrimaryTrack()->GetKineticEnergy() / GeV < Gflash::energyCutOff) + if (fastTrack.GetPrimaryTrack()->GetKineticEnergy() < Gflash::energyCutOff*CLHEP::GeV) return trigger; // check whether this is called from the normal GPIL or the wrapper process @@ -144,11 +144,11 @@ void GflashHadronShowerModel::makeHits(const G4FastTrack &fastTrack) { spotIter->getPosition(), G4ThreeVector(0, 0, 0), theGflashTouchableHandle, false); updateGflashStep(spotIter->getPosition(), spotIter->getTime()); - G4VPhysicalVolume *aCurrentVolume = theGflashStep->GetPreStepPoint()->GetPhysicalVolume(); + const G4VPhysicalVolume *aCurrentVolume = theGflashStep->GetPreStepPoint()->GetPhysicalVolume(); if (aCurrentVolume == nullptr) continue; - G4LogicalVolume *lv = aCurrentVolume->GetLogicalVolume(); + const G4LogicalVolume *lv = aCurrentVolume->GetLogicalVolume(); if (lv->GetRegion()->GetName() != "CaloRegion") continue; @@ -237,6 +237,7 @@ G4bool GflashHadronShowerModel::isFirstInelasticInteraction(const G4FastTrack &f } G4bool GflashHadronShowerModel::excludeDetectorRegion(const G4FastTrack &fastTrack) { + const double invcm = 1.0/CLHEP::cm; G4bool isExcluded = false; int verbosity = theParSet.getUntrackedParameter("Verbosity"); @@ -245,19 +246,19 @@ G4bool GflashHadronShowerModel::excludeDetectorRegion(const G4FastTrack &fastTra G4double eta = fastTrack.GetPrimaryTrack()->GetPosition().pseudoRapidity(); if (std::fabs(eta) > 1.392 && std::fabs(eta) < 1.566) { if (verbosity > 0) { - edm::LogInfo("SimGeneralGFlash") << "GflashHadronShowerModel: excluding region of eta = " << eta; + edm::LogVerbatim("SimGeneralGFlash") << "GflashHadronShowerModel: excluding region of eta = " << eta; } return true; } else { - G4StepPoint *postStep = fastTrack.GetPrimaryTrack()->GetStep()->GetPostStepPoint(); + const G4StepPoint *postStep = fastTrack.GetPrimaryTrack()->GetStep()->GetPostStepPoint(); - Gflash::CalorimeterNumber kCalor = Gflash::getCalorimeterNumber(postStep->GetPosition() / cm); + Gflash::CalorimeterNumber kCalor = Gflash::getCalorimeterNumber(postStep->GetPosition()*invcm); G4double distOut = 9999.0; // exclude the region where the shower starting point is inside the // preshower if (std::fabs(eta) > Gflash::EtaMin[Gflash::kENCA] && - std::fabs((postStep->GetPosition()).getZ() / cm) < Gflash::Zmin[Gflash::kENCA]) { + std::fabs((postStep->GetPosition()).getZ() / CLHEP::cm) < Gflash::Zmin[Gflash::kENCA]) { return true; } @@ -267,20 +268,20 @@ G4bool GflashHadronShowerModel::excludeDetectorRegion(const G4FastTrack &fastTra //@@@if we extend parameterization including Magnet/HO, we need to change // this strategy if (kCalor == Gflash::kHB) { - distOut = Gflash::Rmax[Gflash::kHB] - postStep->GetPosition().getRho() / cm; + distOut = Gflash::Rmax[Gflash::kHB] - postStep->GetPosition().getRho()*invcm; if (distOut < Gflash::MinDistanceToOut) isExcluded = true; } else if (kCalor == Gflash::kHE) { - distOut = Gflash::Zmax[Gflash::kHE] - std::fabs(postStep->GetPosition().getZ() / cm); + distOut = Gflash::Zmax[Gflash::kHE] - std::fabs(postStep->GetPosition().getZ()*invcm); if (distOut < Gflash::MinDistanceToOut) isExcluded = true; } //@@@remove this print statement later if (isExcluded && verbosity > 0) { - std::cout << "GflashHadronShowerModel: skipping kCalor = " << kCalor << " DistanceToOut " << distOut << " from (" - << (postStep->GetPosition()).getRho() / cm << ":" << (postStep->GetPosition()).getZ() / cm - << ") of KE = " << fastTrack.GetPrimaryTrack()->GetKineticEnergy() / GeV << std::endl; + G4cout << "GflashHadronShowerModel: skipping kCalor = " << kCalor << " DistanceToOut " << distOut << " from (" + << (postStep->GetPosition()).getRho()*invcm << ":" << (postStep->GetPosition()).getZ()*invcm + << ") of KE = " << fastTrack.GetPrimaryTrack()->GetKineticEnergy() / CLHEP::GeV << G4endl; } } diff --git a/SimG4Core/Geometry/interface/CustomUIsession.h b/SimG4Core/Geometry/interface/CustomUIsession.h index 452164fcd3ae5..3143778f6855c 100644 --- a/SimG4Core/Geometry/interface/CustomUIsession.h +++ b/SimG4Core/Geometry/interface/CustomUIsession.h @@ -2,12 +2,8 @@ #define SimG4Core_CustomUIsession_H #include "G4UIsession.hh" -#include "G4UImanager.hh" - #include "FWCore/MessageLogger/interface/MessageLogger.h" -//#include -//#include #include class CustomUIsession : public G4UIsession { diff --git a/SimG4Core/Geometry/src/CustomUIsession.cc b/SimG4Core/Geometry/src/CustomUIsession.cc index 9e7989ed0291c..9cd7420339b3b 100644 --- a/SimG4Core/Geometry/src/CustomUIsession.cc +++ b/SimG4Core/Geometry/src/CustomUIsession.cc @@ -1,17 +1,10 @@ #include "SimG4Core/Geometry/interface/CustomUIsession.h" -CustomUIsession::CustomUIsession() : fout(nullptr) { - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->SetCoutDestination(this); -} +CustomUIsession::CustomUIsession() : fout(nullptr) {} -CustomUIsession::~CustomUIsession() { - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->SetCoutDestination(nullptr); -} +CustomUIsession::~CustomUIsession() {} G4int CustomUIsession::ReceiveG4cout(const G4String& coutString) { - //std::cout << coutString << std::flush; if (fout) { (*fout) << trim(coutString) << "\n"; } else { @@ -21,7 +14,6 @@ G4int CustomUIsession::ReceiveG4cout(const G4String& coutString) { } G4int CustomUIsession::ReceiveG4cerr(const G4String& cerrString) { - //std::cerr << cerrString << std::flush; edm::LogWarning("G4cerr") << trim(cerrString); return 0; } diff --git a/SimG4Core/MagneticField/src/Field.cc b/SimG4Core/MagneticField/src/Field.cc index 606e320170ce8..3b656078c1312 100644 --- a/SimG4Core/MagneticField/src/Field.cc +++ b/SimG4Core/MagneticField/src/Field.cc @@ -2,7 +2,6 @@ #include "SimG4Core/MagneticField/interface/Field.h" #include "DataFormats/GeometryVector/interface/GlobalPoint.h" -#include "G4Mag_UsualEqRhs.hh" #include "CLHEP/Units/GlobalSystemOfUnits.h" @@ -20,14 +19,14 @@ Field::~Field() {} void Field::GetFieldValue(const G4double xyz[4], G4double bfield[3]) const { if (std::abs(oldx[0] - xyz[0]) > theDelta || std::abs(oldx[1] - xyz[1]) > theDelta || std::abs(oldx[2] - xyz[2]) > theDelta) { - static const float lunit = (float)(1.0 / CLHEP::cm); + static const float lunit = (1.0 / CLHEP::cm); GlobalPoint ggg((float)(xyz[0]) * lunit, (float)(xyz[1]) * lunit, (float)(xyz[2]) * lunit); GlobalVector v = theCMSMagneticField->inTesla(ggg); - static const float btesla = (float)CLHEP::tesla; - oldb[0] = (G4double)(v.x() * btesla); - oldb[1] = (G4double)(v.y() * btesla); - oldb[2] = (G4double)(v.z() * btesla); + static const float btesla = CLHEP::tesla; + oldb[0] = (v.x() * btesla); + oldb[1] = (v.y() * btesla); + oldb[2] = (v.z() * btesla); oldx[0] = xyz[0]; oldx[1] = xyz[1]; oldx[2] = xyz[2]; diff --git a/SimG4Core/PhysicsLists/src/MonopoleTransportation.cc b/SimG4Core/PhysicsLists/src/MonopoleTransportation.cc index 6bae870e51fae..e6e741dcf75ac 100644 --- a/SimG4Core/PhysicsLists/src/MonopoleTransportation.cc +++ b/SimG4Core/PhysicsLists/src/MonopoleTransportation.cc @@ -255,7 +255,7 @@ G4double MonopoleTransportation::AlongStepGetPhysicalInteractionLength(const G4T geometryStepLength = currentMinimumStep; } } else { - geometryStepLength = lengthAlongCurve = 0.0; + geometryStepLength = 0.0; fGeometryLimitedStep = false; } @@ -481,7 +481,7 @@ G4VParticleChange* MonopoleTransportation::PostStepDoIt(const G4Track& track, co const G4VPhysicalVolume* pNewVol = retCurrentTouchable->GetVolume(); const G4Material* pNewMaterial = nullptr; - const G4VSensitiveDetector* pNewSensitiveDetector = nullptr; + G4VSensitiveDetector* pNewSensitiveDetector = nullptr; if (pNewVol != nullptr) { pNewMaterial = pNewVol->GetLogicalVolume()->GetMaterial(); From d9927842bb8d717952690bb55cdc642836fc5552 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Wed, 1 Dec 2021 13:05:11 +0100 Subject: [PATCH 252/268] code format --- .../src/GFlashHadronShowerModel.cc | 15 +++++++-------- .../Application/src/RunManagerMTWorker.cc | 3 ++- .../interface/CustomParticleFactory.h | 6 +++--- .../src/CustomParticleFactory.cc | 19 ++++++++++--------- SimG4Core/GFlash/src/GflashEMShowerModel.cc | 3 +-- .../GFlash/src/GflashHadronShowerModel.cc | 14 +++++++------- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/SimG4Core/Application/src/GFlashHadronShowerModel.cc b/SimG4Core/Application/src/GFlashHadronShowerModel.cc index acda221f0678b..1b52af762ffa9 100644 --- a/SimG4Core/Application/src/GFlashHadronShowerModel.cc +++ b/SimG4Core/Application/src/GFlashHadronShowerModel.cc @@ -82,8 +82,7 @@ G4bool GFlashHadronShowerModel::ModelTrigger(const G4FastTrack& fastTrack) { // This will be changed accordingly when the way // dealing with CaloRegion changes later. - const G4VPhysicalVolume* pCurrentVolume = - fastTrack.GetPrimaryTrack()->GetTouchable()->GetVolume(); + const G4VPhysicalVolume* pCurrentVolume = fastTrack.GetPrimaryTrack()->GetTouchable()->GetVolume(); if (pCurrentVolume == nullptr) { return false; } @@ -233,7 +232,7 @@ G4bool GFlashHadronShowerModel::isFirstInelasticInteraction(const G4FastTrack& f } G4bool GFlashHadronShowerModel::excludeDetectorRegion(const G4FastTrack& fastTrack) { - const double invcm = 1.0/CLHEP::cm; + const double invcm = 1.0 / CLHEP::cm; G4bool isExcluded = false; int verbosity = theParSet.getUntrackedParameter("Verbosity"); @@ -248,12 +247,12 @@ G4bool GFlashHadronShowerModel::excludeDetectorRegion(const G4FastTrack& fastTra } else { G4StepPoint* postStep = fastTrack.GetPrimaryTrack()->GetStep()->GetPostStepPoint(); - Gflash::CalorimeterNumber kCalor = Gflash::getCalorimeterNumber(postStep->GetPosition()*invcm); + Gflash::CalorimeterNumber kCalor = Gflash::getCalorimeterNumber(postStep->GetPosition() * invcm); G4double distOut = 9999.0; //exclude the region where the shower starting point is inside the preshower if (std::fabs(eta) > Gflash::EtaMin[Gflash::kENCA] && - std::fabs((postStep->GetPosition()).getZ()*invcm) < Gflash::Zmin[Gflash::kENCA]) { + std::fabs((postStep->GetPosition()).getZ() * invcm) < Gflash::Zmin[Gflash::kENCA]) { return true; } @@ -262,11 +261,11 @@ G4bool GFlashHadronShowerModel::excludeDetectorRegion(const G4FastTrack& fastTra //the hadronic envelopes (may need to be optimized further!) //@@@if we extend parameterization including Magnet/HO, we need to change this strategy if (kCalor == Gflash::kHB) { - distOut = Gflash::Rmax[Gflash::kHB] - postStep->GetPosition().getRho()*invcm; + distOut = Gflash::Rmax[Gflash::kHB] - postStep->GetPosition().getRho() * invcm; if (distOut < Gflash::MinDistanceToOut) isExcluded = true; } else if (kCalor == Gflash::kHE) { - distOut = Gflash::Zmax[Gflash::kHE] - std::fabs(postStep->GetPosition().getZ()*invcm); + distOut = Gflash::Zmax[Gflash::kHE] - std::fabs(postStep->GetPosition().getZ() * invcm); if (distOut < Gflash::MinDistanceToOut) isExcluded = true; } @@ -275,7 +274,7 @@ G4bool GFlashHadronShowerModel::excludeDetectorRegion(const G4FastTrack& fastTra if (isExcluded && verbosity > 0) { edm::LogVerbatim("SimG4CoreApplication") << "GFlashHadronShowerModel: skipping kCalor = " << kCalor << " DistanceToOut " << distOut << " from (" - << (postStep->GetPosition()).getRho()*invcm << ":" << (postStep->GetPosition()).getZ()*invcm + << (postStep->GetPosition()).getRho() * invcm << ":" << (postStep->GetPosition()).getZ() * invcm << ") of KE = " << fastTrack.GetPrimaryTrack()->GetKineticEnergy() / CLHEP::GeV; } } diff --git a/SimG4Core/Application/src/RunManagerMTWorker.cc b/SimG4Core/Application/src/RunManagerMTWorker.cc index b9b41a4cfba41..f234e2ccf9c24 100644 --- a/SimG4Core/Application/src/RunManagerMTWorker.cc +++ b/SimG4Core/Application/src/RunManagerMTWorker.cc @@ -259,7 +259,8 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: if (uitype == "MessageLogger") { ui = new CustomUIsession(); } else if (uitype == "MessageLoggerThreadPrefix") { - ui = new CustomUIsessionThreadPrefix(m_pCustomUIsession.getUntrackedParameter("ThreadPrefix", ""), thisID); + ui = new CustomUIsessionThreadPrefix(m_pCustomUIsession.getUntrackedParameter("ThreadPrefix", ""), + thisID); } else if (uitype == "FilePerThread") { ui = new CustomUIsessionToFile(m_pCustomUIsession.getUntrackedParameter("ThreadFile", ""), thisID); } else { diff --git a/SimG4Core/CustomPhysics/interface/CustomParticleFactory.h b/SimG4Core/CustomPhysics/interface/CustomParticleFactory.h index b4b7effe85e0d..7c47c2cf76f77 100644 --- a/SimG4Core/CustomPhysics/interface/CustomParticleFactory.h +++ b/SimG4Core/CustomPhysics/interface/CustomParticleFactory.h @@ -14,8 +14,8 @@ class CustomParticleFactory { explicit CustomParticleFactory(); ~CustomParticleFactory() = default; - void loadCustomParticles(const std::string& filePath); - const std::vector& getCustomParticles(); + void loadCustomParticles(const std::string &filePath); + const std::vector &getCustomParticles(); private: void addCustomParticle(int pdgCode, double mass, const std::string &name); @@ -25,7 +25,7 @@ class CustomParticleFactory { std::string ToLower(std::string str); static bool loaded; - static std::vector m_particles; + static std::vector m_particles; #ifdef G4MULTITHREADED static G4Mutex customParticleFactoryMutex; #endif diff --git a/SimG4Core/CustomPhysics/src/CustomParticleFactory.cc b/SimG4Core/CustomPhysics/src/CustomParticleFactory.cc index b89d112a8f628..b5ec6163942a4 100644 --- a/SimG4Core/CustomPhysics/src/CustomParticleFactory.cc +++ b/SimG4Core/CustomPhysics/src/CustomParticleFactory.cc @@ -20,7 +20,7 @@ #include bool CustomParticleFactory::loaded = false; -std::vector CustomParticleFactory::m_particles; +std::vector CustomParticleFactory::m_particles; #ifdef G4MULTITHREADED G4Mutex CustomParticleFactory::customParticleFactoryMutex = G4MUTEX_INITIALIZER; @@ -44,8 +44,9 @@ void CustomParticleFactory::loadCustomParticles(const std::string &filePath) { std::ifstream configFile(filePath.c_str()); std::string line; - edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: Reading Custom Particle and G4DecayTable from \n" - << filePath; + edm::LogVerbatim("SimG4CoreCustomPhysics") + << "CustomParticleFactory: Reading Custom Particle and G4DecayTable from \n" + << filePath; // This should be compatible IMO to SLHA G4ParticleTable *theParticleTable = G4ParticleTable::GetParticleTable(); while (getline(configFile, line)) { @@ -294,9 +295,9 @@ void CustomParticleFactory::getMassTable(std::ifstream *configFile) { << ", GetAntiPDGEncoding() " << aParticle->GetAntiPDGEncoding() << " sign= " << sign; if (std::abs(sign) != 1) { - edm::LogVerbatim("SimG4CoreCustomPhysics") << "CustomParticleFactory: sign= " << sign - << " a: " << aParticle->GetAntiPDGEncoding() - << " b: " << pdgIdPartner; + edm::LogVerbatim("SimG4CoreCustomPhysics") + << "CustomParticleFactory: sign= " << sign << " a: " << aParticle->GetAntiPDGEncoding() + << " b: " << pdgIdPartner; aParticle->DumpTable(); } if (sign == -1 && pdgId != 25 && pdgId != 35 && pdgId != 36 && pdgId != 37 && pdgId != 1000039) { @@ -326,8 +327,8 @@ void CustomParticleFactory::getMassTable(std::ifstream *configFile) { } if (pdgId == 9000006) { tmp = name + "bar"; - edm::LogVerbatim("CustomPhysics") << "Calling addCustomParticle for antiparticle with pdgId: " << -pdgId << ", mass " - << mass << ", name " << tmp; + edm::LogVerbatim("CustomPhysics") << "Calling addCustomParticle for antiparticle with pdgId: " << -pdgId + << ", mass " << mass << ", name " << tmp; addCustomParticle(-pdgId, mass, tmp); theParticleTable->FindParticle(pdgId)->SetAntiPDGEncoding(-pdgId); } @@ -433,4 +434,4 @@ std::string CustomParticleFactory::ToLower(std::string str) { return str; } -const std::vector& CustomParticleFactory::getCustomParticles() { return m_particles; } +const std::vector &CustomParticleFactory::getCustomParticles() { return m_particles; } diff --git a/SimG4Core/GFlash/src/GflashEMShowerModel.cc b/SimG4Core/GFlash/src/GflashEMShowerModel.cc index 57a9646f8e7f4..044e8997baa4f 100644 --- a/SimG4Core/GFlash/src/GflashEMShowerModel.cc +++ b/SimG4Core/GFlash/src/GflashEMShowerModel.cc @@ -25,7 +25,7 @@ GflashEMShowerModel::GflashEMShowerModel(const G4String &modelName, const edm::ParameterSet &parSet) : G4VFastSimulationModel(modelName, envelope), theParSet(parSet) { theProfile = new GflashEMShowerProfile(parSet); - theRegion = reinterpret_cast(envelope); + theRegion = reinterpret_cast(envelope); theGflashStep = new G4Step(); theGflashTouchableHandle = new G4TouchableHistory(); @@ -146,4 +146,3 @@ G4bool GflashEMShowerModel::excludeDetectorRegion(const G4FastTrack &fastTrack) G4double eta = fastTrack.GetPrimaryTrack()->GetPosition().pseudoRapidity(); return (std::fabs(eta) > 1.392 && std::fabs(eta) < 1.566); } - diff --git a/SimG4Core/GFlash/src/GflashHadronShowerModel.cc b/SimG4Core/GFlash/src/GflashHadronShowerModel.cc index a011d5729e58b..61f7fd32fd4e7 100644 --- a/SimG4Core/GFlash/src/GflashHadronShowerModel.cc +++ b/SimG4Core/GFlash/src/GflashHadronShowerModel.cc @@ -75,7 +75,7 @@ G4bool GflashHadronShowerModel::ModelTrigger(const G4FastTrack &fastTrack) { G4bool trigger = false; // mininum energy cutoff to parameterize - if (fastTrack.GetPrimaryTrack()->GetKineticEnergy() < Gflash::energyCutOff*CLHEP::GeV) + if (fastTrack.GetPrimaryTrack()->GetKineticEnergy() < Gflash::energyCutOff * CLHEP::GeV) return trigger; // check whether this is called from the normal GPIL or the wrapper process @@ -237,7 +237,7 @@ G4bool GflashHadronShowerModel::isFirstInelasticInteraction(const G4FastTrack &f } G4bool GflashHadronShowerModel::excludeDetectorRegion(const G4FastTrack &fastTrack) { - const double invcm = 1.0/CLHEP::cm; + const double invcm = 1.0 / CLHEP::cm; G4bool isExcluded = false; int verbosity = theParSet.getUntrackedParameter("Verbosity"); @@ -252,7 +252,7 @@ G4bool GflashHadronShowerModel::excludeDetectorRegion(const G4FastTrack &fastTra } else { const G4StepPoint *postStep = fastTrack.GetPrimaryTrack()->GetStep()->GetPostStepPoint(); - Gflash::CalorimeterNumber kCalor = Gflash::getCalorimeterNumber(postStep->GetPosition()*invcm); + Gflash::CalorimeterNumber kCalor = Gflash::getCalorimeterNumber(postStep->GetPosition() * invcm); G4double distOut = 9999.0; // exclude the region where the shower starting point is inside the @@ -268,11 +268,11 @@ G4bool GflashHadronShowerModel::excludeDetectorRegion(const G4FastTrack &fastTra //@@@if we extend parameterization including Magnet/HO, we need to change // this strategy if (kCalor == Gflash::kHB) { - distOut = Gflash::Rmax[Gflash::kHB] - postStep->GetPosition().getRho()*invcm; + distOut = Gflash::Rmax[Gflash::kHB] - postStep->GetPosition().getRho() * invcm; if (distOut < Gflash::MinDistanceToOut) isExcluded = true; } else if (kCalor == Gflash::kHE) { - distOut = Gflash::Zmax[Gflash::kHE] - std::fabs(postStep->GetPosition().getZ()*invcm); + distOut = Gflash::Zmax[Gflash::kHE] - std::fabs(postStep->GetPosition().getZ() * invcm); if (distOut < Gflash::MinDistanceToOut) isExcluded = true; } @@ -280,8 +280,8 @@ G4bool GflashHadronShowerModel::excludeDetectorRegion(const G4FastTrack &fastTra //@@@remove this print statement later if (isExcluded && verbosity > 0) { G4cout << "GflashHadronShowerModel: skipping kCalor = " << kCalor << " DistanceToOut " << distOut << " from (" - << (postStep->GetPosition()).getRho()*invcm << ":" << (postStep->GetPosition()).getZ()*invcm - << ") of KE = " << fastTrack.GetPrimaryTrack()->GetKineticEnergy() / CLHEP::GeV << G4endl; + << (postStep->GetPosition()).getRho() * invcm << ":" << (postStep->GetPosition()).getZ() * invcm + << ") of KE = " << fastTrack.GetPrimaryTrack()->GetKineticEnergy() / CLHEP::GeV << G4endl; } } From c703efd51d74bf82f754137832c7009ba815fd90 Mon Sep 17 00:00:00 2001 From: Abe Tishelman-Charny Date: Wed, 1 Dec 2021 13:20:05 +0100 Subject: [PATCH 253/268] Added one more const variable and reran code checks and code format --- Calibration/EcalCalibAlgos/interface/miscalibExample.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Calibration/EcalCalibAlgos/interface/miscalibExample.h b/Calibration/EcalCalibAlgos/interface/miscalibExample.h index 341bc58d7afd0..f744a41799c3f 100644 --- a/Calibration/EcalCalibAlgos/interface/miscalibExample.h +++ b/Calibration/EcalCalibAlgos/interface/miscalibExample.h @@ -48,8 +48,7 @@ class miscalibExample : public edm::one::EDAnalyzer<> { const std::string correctedHybridSuperClusterProducer_; const std::string correctedHybridSuperClusterCollection_; int read_events; - - edm::EDGetTokenT correctedHybridSuperClusterToken_; + const edm::EDGetTokenT correctedHybridSuperClusterToken_; TH1F* scEnergy; }; From 61a8f90adfbf5aaae051daa7548f562af0ea8636 Mon Sep 17 00:00:00 2001 From: Valeria D'Amante Date: Thu, 11 Nov 2021 14:32:06 +0100 Subject: [PATCH 254/268] fixed issue with nv==0 code checks --- RecoTauTag/HLTProducers/src/L2TauTagNNProducer.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RecoTauTag/HLTProducers/src/L2TauTagNNProducer.cc b/RecoTauTag/HLTProducers/src/L2TauTagNNProducer.cc index 93c6e10e56ca7..47c40da4fd7d7 100644 --- a/RecoTauTag/HLTProducers/src/L2TauTagNNProducer.cc +++ b/RecoTauTag/HLTProducers/src/L2TauTagNNProducer.cc @@ -572,6 +572,8 @@ std::vector L2TauNNProducer::selectGoodVertices(const ZVertexSoA& patavtx_s auto maxTracks = patatracks_tsoa.stride(); const int nv = patavtx_soa.nvFinal; std::vector VtxGood; + if (nv == 0) + return VtxGood; VtxGood.reserve(nv); std::vector maxChi2_; From aa324b04feed484e84adbe1949f379262dbfb839 Mon Sep 17 00:00:00 2001 From: sbein Date: Wed, 1 Dec 2021 19:10:10 +0100 Subject: [PATCH 255/268] adding ! to fix typo caught by Carlos --- .../SimplifiedGeometryPropagator/src/ParticleManager.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc index 509ef1cee4df6..33a66044cb67c 100644 --- a/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc +++ b/FastSimulation/SimplifiedGeometryPropagator/src/ParticleManager.cc @@ -218,7 +218,7 @@ std::unique_ptr fastsim::ParticleManager::nextGenParticle() { int exoticRelativeId = 0; const bool producedWithinBeamPipe = productionVertex->position().perp2() * lengthUnitConversionFactor2_ < beamPipeRadius2_; - if (producedWithinBeamPipe) { + if (!producedWithinBeamPipe) { exoticRelativesChecker(productionVertex, exoticRelativeId, 0); if (!isExotic(exoticRelativeId)) { continue; From 64d72639b09d73627b27d9643cc5d8034b2b40c8 Mon Sep 17 00:00:00 2001 From: francescobrivio Date: Wed, 1 Dec 2021 19:36:37 +0100 Subject: [PATCH 256/268] Update Run3 offline data GT and mcRun3 GTs --- Configuration/AlCa/python/autoCond.py | 14 ++++---- .../AlCa/python/autoCondModifiers.py | 34 ++++++++++--------- .../python/relval_steps.py | 6 ++-- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/Configuration/AlCa/python/autoCond.py b/Configuration/AlCa/python/autoCond.py index 9a68b2f5a5344..c4458f0adb517 100644 --- a/Configuration/AlCa/python/autoCond.py +++ b/Configuration/AlCa/python/autoCond.py @@ -40,7 +40,7 @@ # GlobalTag for Run3 data relvals 'run3_data_prompt' : '122X_dataRun3_Prompt_v1', # GlobalTag for Run3 offline data reprocessing - 'run3_data' : '122X_dataRun3_v1', + 'run3_data' : '122X_dataRun3_v2', # GlobalTag for MC production with perfectly aligned and calibrated detector for Phase1 2017 (and 0,0,~0-centred beamspot) 'phase1_2017_design' : '122X_mc2017_design_v1', # GlobalTag for MC production with realistic conditions for Phase1 2017 detector @@ -64,17 +64,17 @@ # GlobalTag for MC production (cosmics) with realistic conditions for full Phase1 2018 detector, Strip tracker in PEAK mode 'phase1_2018_cosmics_peak' : '122X_upgrade2018cosmics_realistic_peak_v1', # GlobalTag for MC production with perfectly aligned and calibrated detector for Phase1 2021 - 'phase1_2021_design' : '122X_mcRun3_2021_design_v2', + 'phase1_2021_design' : '122X_mcRun3_2021_design_v3', # GlobalTag for MC production with realistic conditions for Phase1 2021 - 'phase1_2021_realistic' : '122X_mcRun3_2021_realistic_v2', + 'phase1_2021_realistic' : '122X_mcRun3_2021_realistic_v3', # GlobalTag for MC production (cosmics) with realistic conditions for Phase1 2021, Strip tracker in DECO mode - 'phase1_2021_cosmics' : '122X_mcRun3_2021cosmics_realistic_deco_v2', + 'phase1_2021_cosmics' : '122X_mcRun3_2021cosmics_realistic_deco_v3', # GlobalTag for MC production with realistic conditions for Phase1 2021 detector for Heavy Ion - 'phase1_2021_realistic_hi' : '122X_mcRun3_2021_realistic_HI_v2', + 'phase1_2021_realistic_hi' : '122X_mcRun3_2021_realistic_HI_v3', # GlobalTag for MC production with realistic conditions for Phase1 2023 - 'phase1_2023_realistic' : '122X_mcRun3_2023_realistic_v2', + 'phase1_2023_realistic' : '122X_mcRun3_2023_realistic_v3', # GlobalTag for MC production with realistic conditions for Phase1 2024 - 'phase1_2024_realistic' : '122X_mcRun3_2024_realistic_v2', + 'phase1_2024_realistic' : '122X_mcRun3_2024_realistic_v3', # GlobalTag for MC production with realistic conditions for Phase2 'phase2_realistic' : '122X_mcRun4_realistic_v2' } diff --git a/Configuration/AlCa/python/autoCondModifiers.py b/Configuration/AlCa/python/autoCondModifiers.py index a3bfa964e7e25..40f49613a008b 100644 --- a/Configuration/AlCa/python/autoCondModifiers.py +++ b/Configuration/AlCa/python/autoCondModifiers.py @@ -35,21 +35,22 @@ def autoCondDDD(autoCond): GlobalTagsDDD = {} # substitute the DD4hep geometry tags with DDD ones - CSCRECODIGI_Geometry_ddd = ','.join( ['CSCRECODIGI_Geometry_112YV2' , "CSCRecoDigiParametersRcd", connectionString, "", "2021-09-28 12:00:00.000"] ) - CSCRECO_Geometry_ddd = ','.join( ['CSCRECO_Geometry_112YV2' , "CSCRecoGeometryRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - DTRECO_Geometry_ddd = ','.join( ['DTRECO_Geometry_112YV2' , "DTRecoGeometryRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - GEMRECO_Geometry_ddd = ','.join( ['GEMRECO_Geometry_113YV4' , "GEMRecoGeometryRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - XMLFILE_Geometry_ddd = ','.join( ['XMLFILE_Geometry_121YV1_Extended2021_mc', "GeometryFileRcd" , connectionString, "Extended", "2021-09-28 12:00:00.000"] ) - HCALParameters_Geometry_ddd = ','.join( ['HCALParameters_Geometry_112YV2' , "HcalParametersRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - TKRECO_Geometry_ddd = ','.join( ['TKRECO_Geometry_120YV2' , "IdealGeometryRecord" , connectionString, "", "2021-09-28 12:00:00.000"] ) - CTRECO_Geometry_ddd = ','.join( ['CTRECO_Geometry_112YV2' , "PCaloTowerRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - EBRECO_Geometry_ddd = ','.join( ['EBRECO_Geometry_112YV2' , "PEcalBarrelRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - EERECO_Geometry_ddd = ','.join( ['EERECO_Geometry_112YV2' , "PEcalEndcapRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - EPRECO_Geometry_ddd = ','.join( ['EPRECO_Geometry_112YV2' , "PEcalPreshowerRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - HCALRECO_Geometry_ddd = ','.join( ['HCALRECO_Geometry_112YV2' , "PHcalRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - TKParameters_Geometry_ddd = ','.join( ['TKParameters_Geometry_112YV2' , "PTrackerParametersRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - ZDCRECO_Geometry_ddd = ','.join( ['ZDCRECO_Geometry_112YV2' , "PZdcRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) - RPCRECO_Geometry_ddd = ','.join( ['RPCRECO_Geometry_112YV2' , "RPCRecoGeometryRcd" , connectionString, "", "2021-09-28 12:00:00.000"] ) + CSCRECODIGI_Geometry_ddd = ','.join( ['CSCRECODIGI_Geometry_112YV2' , "CSCRecoDigiParametersRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + CSCRECO_Geometry_ddd = ','.join( ['CSCRECO_Geometry_112YV2' , "CSCRecoGeometryRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + DTRECO_Geometry_ddd = ','.join( ['DTRECO_Geometry_112YV2' , "DTRecoGeometryRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + GEMRECO_Geometry_ddd = ','.join( ['GEMRECO_Geometry_113YV4' , "GEMRecoGeometryRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + XMLFILE_Geometry_ddd = ','.join( ['XMLFILE_Geometry_121YV1_Extended2021_mc', "GeometryFileRcd" , connectionString, "Extended", "2021-09-28 12:00:00.000"] ) + HCALParameters_Geometry_ddd = ','.join( ['HCALParameters_Geometry_112YV2' , "HcalParametersRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + TKRECO_Geometry_ddd = ','.join( ['TKRECO_Geometry_120YV2' , "IdealGeometryRecord" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + CTRECO_Geometry_ddd = ','.join( ['CTRECO_Geometry_112YV2' , "PCaloTowerRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + EBRECO_Geometry_ddd = ','.join( ['EBRECO_Geometry_112YV2' , "PEcalBarrelRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + EERECO_Geometry_ddd = ','.join( ['EERECO_Geometry_112YV2' , "PEcalEndcapRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + EPRECO_Geometry_ddd = ','.join( ['EPRECO_Geometry_112YV2' , "PEcalPreshowerRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + HCALRECO_Geometry_ddd = ','.join( ['HCALRECO_Geometry_112YV2' , "PHcalRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + TKParameters_Geometry_ddd = ','.join( ['TKParameters_Geometry_112YV2' , "PTrackerParametersRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + ZDCRECO_Geometry_ddd = ','.join( ['ZDCRECO_Geometry_112YV2' , "PZdcRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + RPCRECO_Geometry_ddd = ','.join( ['RPCRECO_Geometry_112YV2' , "RPCRecoGeometryRcd" , connectionString, "" , "2021-09-28 12:00:00.000"] ) + PPSRECO_Geometry_ddd = ','.join( ['PPSRECO_Geometry_121YV2_2021_mc' , "VeryForwardIdealGeometryRecord", connectionString, "" , "2021-12-02 12:00:00.000"] ) for key,val in autoCond.items(): if 'phase1_202' in key: # modification of the DDD relval GT @@ -68,7 +69,8 @@ def autoCondDDD(autoCond): HCALRECO_Geometry_ddd, TKParameters_Geometry_ddd, ZDCRECO_Geometry_ddd, - RPCRECO_Geometry_ddd) + RPCRECO_Geometry_ddd, + PPSRECO_Geometry_ddd) autoCond.update(GlobalTagsDDD) return autoCond diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index 407ff347ada01..bdfca7ad6c077 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -2531,9 +2531,9 @@ def gen2021HiMix(fragment,howMuch): #Run3 reco steps['RECODR3_2021']=merge([{'--scenario':'pp','--conditions':'auto:run3_data','--era':'Run3','--customise':'Configuration/DataProcessing/RecoTLR.customisePostEra_Run3'},dataReco]) -steps['RECODR3_MinBiasOffline']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,ALCA:SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonSiStripZeroBias+@ExtraHLT+@miniAODDQM'},steps['RECODR3_2021']]) -steps['RECODR3_ZBOffline']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@rerecoZeroBias+@ExtraHLT+@miniAODDQM'},steps['RECODR3_2021']]) -steps['RECODR3_HLTPhysics_Offline']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,ALCA:TkAlMinBias+HcalCalIterativePhiSym+HcalCalIsoTrkFilter+HcalCalHO+HcalCalHBHEMuonFilter,DQM:@commonReduced+@miniAODDQM'},steps['RECODR3_2021']]) +steps['RECODR3_MinBiasOffline']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,ALCA:SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@commonSiStripZeroBias+@ExtraHLT+@miniAODDQM','--procModifiers':'siPixelQualityRawToDigi'},steps['RECODR3_2021']]) +steps['RECODR3_ZBOffline']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,ALCA:SiStripCalZeroBias+SiStripCalMinBias+TkAlMinBias+EcalESAlign,DQM:@rerecoZeroBias+@ExtraHLT+@miniAODDQM','--procModifiers':'siPixelQualityRawToDigi'},steps['RECODR3_2021']]) +steps['RECODR3_HLTPhysics_Offline']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,EI,PAT,ALCA:TkAlMinBias+HcalCalIterativePhiSym+HcalCalIsoTrkFilter+HcalCalHO+HcalCalHBHEMuonFilter,DQM:@commonReduced+@miniAODDQM','--procModifiers':'siPixelQualityRawToDigi'},steps['RECODR3_2021']]) steps['RECODR3_AlCaTkCosmics_Offline']=merge([{'-s':'RAW2DIGI,L1Reco,RECO,SKIM:EXONoBPTXSkim,EI,PAT,ALCA:TkAlCosmicsInCollisions,DQM:@standardDQMFakeHLT+@miniAODDQM'},steps['RECODR3_2021']]) # mask away - to be removed once we'll migrate the matrix to be fully unscheduled for RECO step From 2b4ddce1b58f36ed6d8d77b6c9789df9cebcccb0 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Wed, 1 Dec 2021 16:17:50 -0600 Subject: [PATCH 257/268] Flip the two endcaps on the y-axis --- DQM/L1TMonitor/src/L1TStage2Shower.cc | 2 +- DQM/L1TMonitor/src/L1TdeCSCTPG.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DQM/L1TMonitor/src/L1TStage2Shower.cc b/DQM/L1TMonitor/src/L1TStage2Shower.cc index 94fc93e959377..83fd9cf6bcab4 100644 --- a/DQM/L1TMonitor/src/L1TStage2Shower.cc +++ b/DQM/L1TMonitor/src/L1TStage2Shower.cc @@ -97,7 +97,7 @@ void L1TStage2Shower::analyze(const edm::Event& e, const edm::EventSetup& c) { int ring = detId.ring(); int chamber = detId.chamber(); int sr = histIndexCSC.at({station, ring}); - if (endcap == -1) + if (endcap == 1) sr = 17 - sr; float evt_wgt = (station > 1 && ring == 1) ? 0.5 : 1.0; diff --git a/DQM/L1TMonitor/src/L1TdeCSCTPG.cc b/DQM/L1TMonitor/src/L1TdeCSCTPG.cc index 58309babacb6c..99ef0b8c80bee 100644 --- a/DQM/L1TMonitor/src/L1TdeCSCTPG.cc +++ b/DQM/L1TMonitor/src/L1TdeCSCTPG.cc @@ -475,7 +475,7 @@ void L1TdeCSCTPG::analyze(const edm::Event& e, const edm::EventSetup& c) { int chamber = detid.chamber(); int sr = histIndexCSC.at({stat, ring}); - if (endc == 2) + if (endc == 1) sr = 17 - sr; // ALCT analysis From e5606e5d592a900a8bb9f5cfa6ed65bdd50f89fa Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Thu, 2 Dec 2021 02:06:17 +0100 Subject: [PATCH 258/268] Use the class name for the module name for modules not matched to packages: --- Utilities/StaticAnalyzers/scripts/callgraph.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Utilities/StaticAnalyzers/scripts/callgraph.py b/Utilities/StaticAnalyzers/scripts/callgraph.py index e2819324c23e4..c66564cec746e 100755 --- a/Utilities/StaticAnalyzers/scripts/callgraph.py +++ b/Utilities/StaticAnalyzers/scripts/callgraph.py @@ -28,7 +28,7 @@ assert(baseclassre.match('edm::ProducerSourceBase')) assert(baseclassre.match('edm::one::OutputModuleBase')) farg = re.compile(r"\(.*?\)") -tmpl = re.compile(r'<.*?>::') +tmpl = re.compile(r'<(.*)>') toplevelfuncs = set() getfuncre = re.compile(r"edm::eventsetup::EventSetupRecord::get<") @@ -124,7 +124,9 @@ csset.discard(callstack) report['no-package']=dict() -report['no-package']['no-package']=sorted(list(csset)) +for cs in sorted(list(csset)): + key=tmpl.split(topfuncre.split(cs)[0])[0] + report['no-package'].setdefault(key,[]).append(str(cs)) r = open('eventsetuprecord-get.yaml', 'w') dump(report, r, width=float("inf")) From 7b15bb66e6f338f39a3738822e916d8c51ea4a24 Mon Sep 17 00:00:00 2001 From: jfernan2 Date: Thu, 2 Dec 2021 09:28:11 +0100 Subject: [PATCH 259/268] Changes to bring in sincro master with PR 36308 --- DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py b/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py index 39e4b268d40bc..d6a897572e580 100644 --- a/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py +++ b/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py @@ -25,7 +25,9 @@ #'Muons/MuonIdDQM/GlobalMuons/hDT1Pullx' #particular ME #Version 0.1 for nanoDQMIO in CMSSW_12_1_0 ReReco of Pilot Test Runs taken in Autumn 2021 - + #DT + 'DT/02-Segments/03-MeanT0/T0MeanAllWheels', + #ECAL 'EcalBarrel/EBOccupancyTask/EBOT digi occupancy', 'EcalEndcap/EEOccupancyTask/EEOT digi occupancy EE -', From 61ac101a89bcd84675ed2b9c05454496b2007a40 Mon Sep 17 00:00:00 2001 From: mmusich Date: Thu, 2 Dec 2021 09:33:43 +0100 Subject: [PATCH 260/268] SiPixelFakeLorentzAngleESSource: use built-in appendToDataLabel mechanism --- .../plugins/SiPixelFakeLorentzAngleESSource.cc | 6 +++--- .../test/testSiPixelFakeLorentzAngleESSource_cfg.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc b/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc index 1b2830e2bae18..7ad8f1df0f0a1 100644 --- a/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc +++ b/CalibTracker/SiPixelESProducers/plugins/SiPixelFakeLorentzAngleESSource.cc @@ -34,7 +34,7 @@ SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource(const edm::ParameterSet& conf_) : fp_(conf_.getParameter("file")), t_topo_fp_(conf_.getParameter("topologyInput")), - myLabel_(conf_.getParameter("label")), + myLabel_(conf_.getParameter("appendToDataLabel")), BPixParameters_(conf_.getParameter("BPixParameters")), FPixParameters_(conf_.getParameter("FPixParameters")), ModuleParameters_(conf_.getParameter("ModuleParameters")), @@ -42,7 +42,7 @@ SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource(const edm::Para fPixLorentzAnglePerTesla_((float)conf_.getUntrackedParameter("fPixLorentzAnglePerTesla", -9999.)) { edm::LogInfo("SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource"); // the following line is needed to tell the framework what data is being produced - setWhatProduced(this, myLabel_); + setWhatProduced(this); findingRecord(); } @@ -246,7 +246,7 @@ void SiPixelFakeLorentzAngleESSource::fillDescriptions(edm::ConfigurationDescrip edm::FileInPath("Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml")) ->setComment("Tracker Topology"); - desc.add("label", "")->setComment("label to which write the data"); + desc.add("appendToDataLabel", "")->setComment("label to which write the data"); desc.addUntracked("bPixLorentzAnglePerTesla", -9999.)->setComment("LA value for all BPix"); desc.addUntracked("fPixLorentzAnglePerTesla", -9999.)->setComment("LA value for all FPix"); diff --git a/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py index 3e381e020d842..826ac423d11d2 100644 --- a/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py +++ b/CalibTracker/SiPixelESProducers/test/testSiPixelFakeLorentzAngleESSource_cfg.py @@ -70,7 +70,7 @@ if(options.isPhase2): print(" ========> Testing Phase-2") - process.SiPixelFakeLorentzAngleESSource.label = cms.string("forPhase2") + process.SiPixelFakeLorentzAngleESSource.appendToDataLabel = cms.string("forPhase2") process.SiPixelFakeLorentzAngleESSource.bPixLorentzAnglePerTesla = cms.untracked.double(0.106) process.SiPixelFakeLorentzAngleESSource.fPixLorentzAnglePerTesla = cms.untracked.double(0.106) process.SiPixelFakeLorentzAngleESSource.file = 'SLHCUpgradeSimulations/Geometry/data/PhaseII/Tilted/PixelSkimmedGeometryT14.txt' From ede17d032ae569405a73f916794f2199bcfb9d71 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Thu, 2 Dec 2021 10:43:39 +0100 Subject: [PATCH 261/268] fixed UI and geometry --- .../Application/interface/RunManagerMTWorker.h | 4 ++-- SimG4Core/Application/src/RunManagerMT.cc | 7 +++++-- SimG4Core/Application/src/RunManagerMTWorker.cc | 17 ++++++++--------- SimG4Core/Geometry/src/DDDWorld.cc | 8 ++++---- SimG4Core/Geometry/src/DDG4ProductionCuts.cc | 8 +++++--- 5 files changed, 24 insertions(+), 20 deletions(-) diff --git a/SimG4Core/Application/interface/RunManagerMTWorker.h b/SimG4Core/Application/interface/RunManagerMTWorker.h index 866e503a166ba..05add792fe294 100644 --- a/SimG4Core/Application/interface/RunManagerMTWorker.h +++ b/SimG4Core/Application/interface/RunManagerMTWorker.h @@ -30,6 +30,7 @@ class G4Event; class G4SimEvent; class G4Run; class SimTrackManager; +class CustomUIsession; class RunAction; class EventAction; @@ -77,7 +78,6 @@ class RunManagerMTWorker { private: void initializeTLS(); void initializeUserActions(); - void initializeRun(); void terminateRun(); @@ -86,7 +86,6 @@ class RunManagerMTWorker { void DumpMagneticField(const G4Field*, const std::string&) const; - void resetTLS(); inline int getThreadIndex() const { return m_thread_index; } Generator m_generator; @@ -117,6 +116,7 @@ class RunManagerMTWorker { struct TLSData; TLSData* m_tls{nullptr}; + CustomUIsession* m_UIsession{nullptr}; G4SimEvent* m_simEvent{nullptr}; std::unique_ptr m_sVerbose; std::unordered_map> m_sdMakers; diff --git a/SimG4Core/Application/src/RunManagerMT.cc b/SimG4Core/Application/src/RunManagerMT.cc index 9707d2fd6bcef..4a3facc86e4c7 100644 --- a/SimG4Core/Application/src/RunManagerMT.cc +++ b/SimG4Core/Application/src/RunManagerMT.cc @@ -90,7 +90,9 @@ RunManagerMT::RunManagerMT(edm::ParameterSet const& p) m_check = p.getUntrackedParameter("CheckGeometry", false); } -RunManagerMT::~RunManagerMT() {} +RunManagerMT::~RunManagerMT() { + delete m_UIsession; +} void RunManagerMT::initG4(const DDCompactView* pDD, const cms::DDCompactView* pDD4hep, @@ -112,7 +114,8 @@ void RunManagerMT::initG4(const DDCompactView* pDD, G4Timer timer; timer.Start(); - G4UImanager::GetMasterUIpointer()->SetCoutDestination(m_UIsession); + G4UImanager::GetUIpointer()->SetCoutDestination(m_UIsession); + G4UImanager::GetUIpointer()->SetMasterUIManager(true); m_world = std::make_unique(pDD, pDD4hep, m_catalog, verb, cuts, protonCut); G4VPhysicalVolume* world = m_world.get()->GetWorldVolume(); diff --git a/SimG4Core/Application/src/RunManagerMTWorker.cc b/SimG4Core/Application/src/RunManagerMTWorker.cc index f234e2ccf9c24..e2feef2c79359 100644 --- a/SimG4Core/Application/src/RunManagerMTWorker.cc +++ b/SimG4Core/Application/src/RunManagerMTWorker.cc @@ -190,9 +190,10 @@ RunManagerMTWorker::RunManagerMTWorker(const edm::ParameterSet& iConfig, edm::Co edm::LogVerbatim("SimG4CoreApplication") << "SD[" << k << "] " << itr->first; } -RunManagerMTWorker::~RunManagerMTWorker() { resetTLS(); } - -void RunManagerMTWorker::resetTLS() { m_tls = nullptr; } +RunManagerMTWorker::~RunManagerMTWorker() { + m_tls = nullptr; + delete m_UIsession; +} void RunManagerMTWorker::beginRun(edm::EventSetup const& es) { for (auto& maker : m_sdMakers) { @@ -255,20 +256,18 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: G4Threading::G4SetThreadId(thisID); G4UImanager::GetUIpointer()->SetUpForAThread(thisID); const std::string& uitype = m_pCustomUIsession.getUntrackedParameter("Type", "MessageLogger"); - CustomUIsession* ui = nullptr; if (uitype == "MessageLogger") { - ui = new CustomUIsession(); + m_UIsession = new CustomUIsession(); } else if (uitype == "MessageLoggerThreadPrefix") { - ui = new CustomUIsessionThreadPrefix(m_pCustomUIsession.getUntrackedParameter("ThreadPrefix", ""), - thisID); + m_UIsession = new CustomUIsessionThreadPrefix(m_pCustomUIsession.getUntrackedParameter("ThreadPrefix", ""), thisID); } else if (uitype == "FilePerThread") { - ui = new CustomUIsessionToFile(m_pCustomUIsession.getUntrackedParameter("ThreadFile", ""), thisID); + m_UIsession = new CustomUIsessionToFile(m_pCustomUIsession.getUntrackedParameter("ThreadFile", ""), thisID); } else { throw edm::Exception(edm::errors::Configuration) << "RunManagerMTWorker::initializeG4: Invalid value of CustomUIsession.Type '" << uitype << "', valid are MessageLogger, MessageLoggerThreadPrefix, FilePerThread"; } - G4UImanager::GetUIpointer()->SetCoutDestination(ui); + G4UImanager::GetUIpointer()->SetCoutDestination(m_UIsession); // Initialize worker part of shared resources (geometry, physics) G4WorkerThread::BuildGeometryAndPhysicsVector(); diff --git a/SimG4Core/Geometry/src/DDDWorld.cc b/SimG4Core/Geometry/src/DDDWorld.cc index 4c56c05cce178..d66bd5c6277aa 100644 --- a/SimG4Core/Geometry/src/DDDWorld.cc +++ b/SimG4Core/Geometry/src/DDDWorld.cc @@ -27,25 +27,25 @@ DDDWorld::DDDWorld(const DDCompactView *pDD, bool cuts, bool pcut) { LogVerbatim("SimG4CoreApplication") << "+++ DDDWorld: initialisation of Geant4 geometry"; - if (pDD4hep) { + if (nullptr != pDD4hep) { // DD4hep const cms::DDDetector *det = pDD4hep->detector(); dd4hep::sim::Geant4GeometryMaps::VolumeMap lvMap; cms::DDG4Builder theBuilder(pDD4hep, lvMap, false); m_world = theBuilder.BuildGeometry(catalog); - LogVerbatim("SimG4CoreApplication") << "DDDWorld: worldLV: " << m_world->GetName(); + LogVerbatim("SimG4CoreApplication") << "DDDWorld: DD4hep worldLV: " << m_world->GetName(); if (cuts) { DDG4ProductionCuts pcuts(&det->specpars(), &lvMap, verb, pcut); } catalog.printMe(); } else { - // old DD code + // old DDD code G4LogicalVolumeToDDLogicalPartMap lvMap; DDG4Builder theBuilder(pDD, lvMap, false); G4LogicalVolume *world = theBuilder.BuildGeometry(catalog); - LogVerbatim("SimG4CoreApplication") << "DDDWorld: worldLV: " << world->GetName(); + LogVerbatim("SimG4CoreApplication") << "DDDWorld: DDD worldLV: " << world->GetName(); m_world = new G4PVPlacement(nullptr, G4ThreeVector(), world, "DDDWorld", nullptr, false, 0); if (cuts) { DDG4ProductionCuts pcuts(&lvMap, verb, pcut); diff --git a/SimG4Core/Geometry/src/DDG4ProductionCuts.cc b/SimG4Core/Geometry/src/DDG4ProductionCuts.cc index fe3c068f84a31..981042024c7f2 100644 --- a/SimG4Core/Geometry/src/DDG4ProductionCuts.cc +++ b/SimG4Core/Geometry/src/DDG4ProductionCuts.cc @@ -88,14 +88,16 @@ void DDG4ProductionCuts::initialize() { << store->size(); if (num != 1) { throw cms::Exception("SimG4CoreGeometry", " DDG4ProductionCuts::initialize: Problem with Region tags."); - } + return; + } if (regionName != curName) { edm::LogVerbatim("Geometry") << "DDG4ProductionCuts : regionName " << regionName << ", the store of size " << store->size(); region = store->FindOrCreateRegion(regionName); edm::LogVerbatim("Geometry") << "DDG4ProductionCuts : region " << region->GetName(); - if (!region) { + if (nullptr == region) { throw cms::Exception("SimG4CoreGeometry", " DDG4ProductionCuts::initialize: Problem with Region tags."); + return; } curName = regionName; edm::LogVerbatim("Geometry") << "DDG4ProductionCuts : new G4Region " << vv.first->GetName(); @@ -225,7 +227,7 @@ void DDG4ProductionCuts::setProdCuts(const DDLogicalPart lpart, G4Region* region // Create and fill production cuts // G4ProductionCuts* prodCuts = region->GetProductionCuts(); - if (!prodCuts) { + if (nullptr == prodCuts) { prodCuts = new G4ProductionCuts(); region->SetProductionCuts(prodCuts); } From 740798ac92226a9700e11fd6635cfadf0f2e1305 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Thu, 2 Dec 2021 10:46:49 +0100 Subject: [PATCH 262/268] code format --- SimG4Core/Application/src/RunManagerMT.cc | 4 +--- SimG4Core/Application/src/RunManagerMTWorker.cc | 6 ++++-- SimG4Core/Geometry/src/DDG4ProductionCuts.cc | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/SimG4Core/Application/src/RunManagerMT.cc b/SimG4Core/Application/src/RunManagerMT.cc index 4a3facc86e4c7..2195e5741dba0 100644 --- a/SimG4Core/Application/src/RunManagerMT.cc +++ b/SimG4Core/Application/src/RunManagerMT.cc @@ -90,9 +90,7 @@ RunManagerMT::RunManagerMT(edm::ParameterSet const& p) m_check = p.getUntrackedParameter("CheckGeometry", false); } -RunManagerMT::~RunManagerMT() { - delete m_UIsession; -} +RunManagerMT::~RunManagerMT() { delete m_UIsession; } void RunManagerMT::initG4(const DDCompactView* pDD, const cms::DDCompactView* pDD4hep, diff --git a/SimG4Core/Application/src/RunManagerMTWorker.cc b/SimG4Core/Application/src/RunManagerMTWorker.cc index e2feef2c79359..ff1bd1f761f6e 100644 --- a/SimG4Core/Application/src/RunManagerMTWorker.cc +++ b/SimG4Core/Application/src/RunManagerMTWorker.cc @@ -259,9 +259,11 @@ void RunManagerMTWorker::initializeG4(RunManagerMT* runManagerMaster, const edm: if (uitype == "MessageLogger") { m_UIsession = new CustomUIsession(); } else if (uitype == "MessageLoggerThreadPrefix") { - m_UIsession = new CustomUIsessionThreadPrefix(m_pCustomUIsession.getUntrackedParameter("ThreadPrefix", ""), thisID); + m_UIsession = new CustomUIsessionThreadPrefix( + m_pCustomUIsession.getUntrackedParameter("ThreadPrefix", ""), thisID); } else if (uitype == "FilePerThread") { - m_UIsession = new CustomUIsessionToFile(m_pCustomUIsession.getUntrackedParameter("ThreadFile", ""), thisID); + m_UIsession = + new CustomUIsessionToFile(m_pCustomUIsession.getUntrackedParameter("ThreadFile", ""), thisID); } else { throw edm::Exception(edm::errors::Configuration) << "RunManagerMTWorker::initializeG4: Invalid value of CustomUIsession.Type '" << uitype diff --git a/SimG4Core/Geometry/src/DDG4ProductionCuts.cc b/SimG4Core/Geometry/src/DDG4ProductionCuts.cc index 981042024c7f2..a82f010d635bb 100644 --- a/SimG4Core/Geometry/src/DDG4ProductionCuts.cc +++ b/SimG4Core/Geometry/src/DDG4ProductionCuts.cc @@ -89,7 +89,7 @@ void DDG4ProductionCuts::initialize() { if (num != 1) { throw cms::Exception("SimG4CoreGeometry", " DDG4ProductionCuts::initialize: Problem with Region tags."); return; - } + } if (regionName != curName) { edm::LogVerbatim("Geometry") << "DDG4ProductionCuts : regionName " << regionName << ", the store of size " << store->size(); @@ -97,7 +97,7 @@ void DDG4ProductionCuts::initialize() { edm::LogVerbatim("Geometry") << "DDG4ProductionCuts : region " << region->GetName(); if (nullptr == region) { throw cms::Exception("SimG4CoreGeometry", " DDG4ProductionCuts::initialize: Problem with Region tags."); - return; + return; } curName = regionName; edm::LogVerbatim("Geometry") << "DDG4ProductionCuts : new G4Region " << vv.first->GetName(); From daab356b388632e98d9eb63e371b5ba33a381b35 Mon Sep 17 00:00:00 2001 From: mmusich Date: Sat, 27 Nov 2021 14:21:03 +0100 Subject: [PATCH 263/268] SiStripNoisesFromDBMiscalibrator: put SiStripNoises object on the stack, add printDebug statements --- .../SiStripNoisesFromDBMiscalibrator.cc | 62 +++++++++++-------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/CondTools/SiStrip/plugins/SiStripNoisesFromDBMiscalibrator.cc b/CondTools/SiStrip/plugins/SiStripNoisesFromDBMiscalibrator.cc index 7d6d8fdf1ce3f..1c1ec6af8538a 100644 --- a/CondTools/SiStrip/plugins/SiStripNoisesFromDBMiscalibrator.cc +++ b/CondTools/SiStrip/plugins/SiStripNoisesFromDBMiscalibrator.cc @@ -51,19 +51,19 @@ class SiStripNoisesFromDBMiscalibrator : public edm::one::EDAnalyzer<> { public: explicit SiStripNoisesFromDBMiscalibrator(const edm::ParameterSet&); - ~SiStripNoisesFromDBMiscalibrator() override; + ~SiStripNoisesFromDBMiscalibrator() override = default; static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); private: - void beginJob() override; void analyze(const edm::Event&, const edm::EventSetup&) override; - std::unique_ptr getNewObject(const std::map, float>& theMap); - std::unique_ptr getNewObject_withDefaults(const std::map, float>& theMap, - const float theDefault); + SiStripNoises getNewObject(const std::map, float>& theMap); + SiStripNoises getNewObject_withDefaults(const std::map, float>& theMap, + const float theDefault); void endJob() override; // ----------member data --------------------------- + const uint32_t m_printdebug; const bool m_fillDefaults; const bool m_saveMaps; const std::vector m_parameters; @@ -83,7 +83,8 @@ class SiStripNoisesFromDBMiscalibrator : public edm::one::EDAnalyzer<> { // constructors and destructor // SiStripNoisesFromDBMiscalibrator::SiStripNoisesFromDBMiscalibrator(const edm::ParameterSet& iConfig) - : m_fillDefaults{iConfig.getUntrackedParameter("fillDefaults", false)}, + : m_printdebug{iConfig.getUntrackedParameter("printDebug", 1)}, + m_fillDefaults{iConfig.getUntrackedParameter("fillDefaults", false)}, m_saveMaps{iConfig.getUntrackedParameter("saveMaps", true)}, m_parameters{iConfig.getParameter >("params")}, fp_{iConfig.getUntrackedParameter("file", @@ -119,8 +120,6 @@ SiStripNoisesFromDBMiscalibrator::SiStripNoisesFromDBMiscalibrator(const edm::Pa } } -SiStripNoisesFromDBMiscalibrator::~SiStripNoisesFromDBMiscalibrator() {} - // // member functions // @@ -213,7 +212,7 @@ void SiStripNoisesFromDBMiscalibrator::analyze(const edm::Event& iEvent, const e } // loop over APVs } // loop over DetIds - std::unique_ptr theSiStripNoises; + SiStripNoises theSiStripNoises{}; if (!m_fillDefaults) { theSiStripNoises = this->getNewObject(theMap); } else { @@ -225,6 +224,7 @@ void SiStripNoisesFromDBMiscalibrator::analyze(const edm::Event& iEvent, const e SiStripMiscalibrate::Entry noise_ratio; SiStripMiscalibrate::Entry o_noise; SiStripMiscalibrate::Entry n_noise; + unsigned int countDetIds(0); // count DetIds to print for (const auto& element : theMap) { uint32_t DetId = element.first.first; int nstrip = element.first.second; @@ -242,6 +242,16 @@ void SiStripNoisesFromDBMiscalibrator::analyze(const edm::Event& iEvent, const e noise_ratio.reset(); o_noise.reset(); n_noise.reset(); + countDetIds++; + } + + // printout for debug + if (countDetIds < m_printdebug) { + edm::LogPrint("SiStripNoisesFromDBMiscalibrator") + << "SiStripNoisesFromDBMiscalibrator" + << "::" << __FUNCTION__ << " detid " << DetId << " \t" + << " strip " << nstrip << " \t new noise: " << std::setw(5) << std::setprecision(2) << new_noise + << " \t old noise: " << old_noise << " \t" << std::endl; } cachedId = DetId; @@ -253,15 +263,17 @@ void SiStripNoisesFromDBMiscalibrator::analyze(const edm::Event& iEvent, const e // write out the SiStripNoises record edm::Service poolDbService; - if (poolDbService.isAvailable()) - poolDbService->writeOneIOV(*theSiStripNoises, poolDbService->currentTime(), "SiStripNoisesRcd"); - else + if (poolDbService.isAvailable()) { + if (poolDbService->isNewTagRequest("SiStripNoisesRcd")) { + poolDbService->createOneIOV(theSiStripNoises, poolDbService->currentTime(), "SiStripNoisesRcd"); + } else { + poolDbService->appendOneIOV(theSiStripNoises, poolDbService->currentTime(), "SiStripNoisesRcd"); + } + } else { throw std::runtime_error("PoolDBService required."); + } } -// ------------ method called once each job just before starting event loop ------------ -void SiStripNoisesFromDBMiscalibrator::beginJob() {} - // ------------ method called once each job just after ending the event loop ------------ void SiStripNoisesFromDBMiscalibrator::endJob() { if (m_saveMaps) { @@ -292,9 +304,9 @@ void SiStripNoisesFromDBMiscalibrator::endJob() { } //********************************************************************************// -std::unique_ptr SiStripNoisesFromDBMiscalibrator::getNewObject_withDefaults( +SiStripNoises SiStripNoisesFromDBMiscalibrator::getNewObject_withDefaults( const std::map, float>& theMap, const float theDefault) { - std::unique_ptr obj = std::make_unique(); + SiStripNoises obj{}; std::vector missingDetIds; @@ -315,18 +327,18 @@ std::unique_ptr SiStripNoisesFromDBMiscalibrator::getNewObject_wi << " not found" << std::endl; isMissing = true; - obj->setData(theDefault, theSiStripVector); + obj.setData(theDefault, theSiStripVector); } else { float noise = theMap.at(index); - obj->setData(noise, theSiStripVector); + obj.setData(noise, theSiStripVector); } } if (isMissing) missingDetIds.push_back(it.first); - if (!obj->put(it.first, theSiStripVector)) { + if (!obj.put(it.first, theSiStripVector)) { edm::LogError("SiStripNoisesFromDBMiscalibrator") << "[SiStripNoisesFromDBMiscalibrator::analyze] detid already exists" << std::endl; } @@ -353,9 +365,8 @@ std::unique_ptr SiStripNoisesFromDBMiscalibrator::getNewObject_wi } //********************************************************************************// -std::unique_ptr SiStripNoisesFromDBMiscalibrator::getNewObject( - const std::map, float>& theMap) { - std::unique_ptr obj = std::make_unique(); +SiStripNoises SiStripNoisesFromDBMiscalibrator::getNewObject(const std::map, float>& theMap) { + SiStripNoises obj{}; uint32_t PreviousDetId = 0; SiStripNoises::InputVector theSiStripVector; @@ -365,7 +376,7 @@ std::unique_ptr SiStripNoisesFromDBMiscalibrator::getNewObject( if (DetId != PreviousDetId) { if (!theSiStripVector.empty()) { - if (!obj->put(PreviousDetId, theSiStripVector)) { + if (!obj.put(PreviousDetId, theSiStripVector)) { edm::LogError("SiStripNoisesFromDBMiscalibrator") << "[SiStripNoisesFromDBMiscalibrator::analyze] detid already exists" << std::endl; } @@ -374,7 +385,7 @@ std::unique_ptr SiStripNoisesFromDBMiscalibrator::getNewObject( theSiStripVector.clear(); PreviousDetId = DetId; } - obj->setData(noise, theSiStripVector); + obj.setData(noise, theSiStripVector); } return obj; } @@ -399,6 +410,7 @@ void SiStripNoisesFromDBMiscalibrator::fillDescriptions(edm::ConfigurationDescri descScaler.add("smearFactor", 1.0); desc.addVPSet("params", descScaler, std::vector(1)); + desc.addUntracked("printDebug", 1); desc.addUntracked("fillDefaults", false); desc.addUntracked("saveMaps", true); From f4a93a70db9f3b257ab3d78165971f8d8a23d598 Mon Sep 17 00:00:00 2001 From: mmusich Date: Thu, 2 Dec 2021 13:22:11 +0100 Subject: [PATCH 264/268] SiStripChannelGainFromDBMiscalibrator: put SiStripApvGain object on the stack, add printDebug statements --- .../SiStripChannelGainFromDBMiscalibrator.cc | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/CondTools/SiStrip/plugins/SiStripChannelGainFromDBMiscalibrator.cc b/CondTools/SiStrip/plugins/SiStripChannelGainFromDBMiscalibrator.cc index ea27e03174a16..4a39646482000 100644 --- a/CondTools/SiStrip/plugins/SiStripChannelGainFromDBMiscalibrator.cc +++ b/CondTools/SiStrip/plugins/SiStripChannelGainFromDBMiscalibrator.cc @@ -55,12 +55,12 @@ class SiStripChannelGainFromDBMiscalibrator : public edm::one::EDAnalyzer<> { static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); private: - void beginJob() override; void analyze(const edm::Event&, const edm::EventSetup&) override; - std::unique_ptr getNewObject(const std::map, float>& theMap); + SiStripApvGain getNewObject(const std::map, float>& theMap); void endJob() override; // ----------member data --------------------------- + const uint32_t m_printdebug; const std::string m_Record; const uint32_t m_gainType; const bool m_saveMaps; @@ -79,7 +79,8 @@ class SiStripChannelGainFromDBMiscalibrator : public edm::one::EDAnalyzer<> { // constructors and destructor // SiStripChannelGainFromDBMiscalibrator::SiStripChannelGainFromDBMiscalibrator(const edm::ParameterSet& iConfig) - : m_Record{iConfig.getUntrackedParameter("record", "SiStripApvGainRcd")}, + : m_printdebug{iConfig.getUntrackedParameter("printDebug", 1)}, + m_Record{iConfig.getUntrackedParameter("record", "SiStripApvGainRcd")}, m_gainType{iConfig.getUntrackedParameter("gainType", 1)}, m_saveMaps{iConfig.getUntrackedParameter("saveMaps", true)}, m_parameters{iConfig.getParameter >("params")}, @@ -110,7 +111,7 @@ SiStripChannelGainFromDBMiscalibrator::SiStripChannelGainFromDBMiscalibrator(con old_payload_map->setPalette(1); } -SiStripChannelGainFromDBMiscalibrator::~SiStripChannelGainFromDBMiscalibrator() {} +SiStripChannelGainFromDBMiscalibrator::~SiStripChannelGainFromDBMiscalibrator() = default; // // member functions @@ -203,13 +204,14 @@ void SiStripChannelGainFromDBMiscalibrator::analyze(const edm::Event& iEvent, co } // loop over APVs } // loop over DetIds - std::unique_ptr theAPVGains = this->getNewObject(theMap); + SiStripApvGain theAPVGains = this->getNewObject(theMap); // make the payload ratio map uint32_t cachedId(0); SiStripMiscalibrate::Entry gain_ratio; SiStripMiscalibrate::Entry o_gain; SiStripMiscalibrate::Entry n_gain; + unsigned int countDetIds(0); // count DetIds to print for (const auto& element : theMap) { uint32_t DetId = element.first.first; int nAPV = element.first.second; @@ -227,6 +229,15 @@ void SiStripChannelGainFromDBMiscalibrator::analyze(const edm::Event& iEvent, co gain_ratio.reset(); o_gain.reset(); n_gain.reset(); + countDetIds++; + } + + // printout for debug + if (countDetIds < m_printdebug) { + edm::LogPrint("SiStripChannelGainFromDBMiscalibrator") + << "SiStripChannelGainFromDBMiscalibrator" + << "::" << __FUNCTION__ << " detid " << DetId << " \t" + << " APV " << nAPV << " \t new gain: " << new_gain << " \t old gain: " << old_gain << " \t" << std::endl; } cachedId = DetId; @@ -238,15 +249,17 @@ void SiStripChannelGainFromDBMiscalibrator::analyze(const edm::Event& iEvent, co // write out the APVGains record edm::Service poolDbService; - if (poolDbService.isAvailable()) - poolDbService->writeOneIOV(*theAPVGains, poolDbService->currentTime(), m_Record); - else + if (poolDbService.isAvailable()) { + if (poolDbService->isNewTagRequest(m_Record)) { + poolDbService->createOneIOV(theAPVGains, poolDbService->currentTime(), m_Record); + } else { + poolDbService->appendOneIOV(theAPVGains, poolDbService->currentTime(), m_Record); + } + } else { throw std::runtime_error("PoolDBService required."); + } } -// ------------ method called once each job just before starting event loop ------------ -void SiStripChannelGainFromDBMiscalibrator::beginJob() {} - // ------------ method called once each job just after ending the event loop ------------ void SiStripChannelGainFromDBMiscalibrator::endJob() { if (m_saveMaps) { @@ -274,9 +287,9 @@ void SiStripChannelGainFromDBMiscalibrator::endJob() { } //********************************************************************************// -std::unique_ptr SiStripChannelGainFromDBMiscalibrator::getNewObject( +SiStripApvGain SiStripChannelGainFromDBMiscalibrator::getNewObject( const std::map, float>& theMap) { - std::unique_ptr obj = std::make_unique(); + SiStripApvGain obj{}; std::vector theSiStripVector; uint32_t PreviousDetId = 0; @@ -285,7 +298,7 @@ std::unique_ptr SiStripChannelGainFromDBMiscalibrator::getNewObj if (DetId != PreviousDetId) { if (!theSiStripVector.empty()) { SiStripApvGain::Range range(theSiStripVector.begin(), theSiStripVector.end()); - if (!obj->put(PreviousDetId, range)) + if (!obj.put(PreviousDetId, range)) printf("Bug to put detId = %i\n", PreviousDetId); } theSiStripVector.clear(); @@ -299,7 +312,7 @@ std::unique_ptr SiStripChannelGainFromDBMiscalibrator::getNewObj if (!theSiStripVector.empty()) { SiStripApvGain::Range range(theSiStripVector.begin(), theSiStripVector.end()); - if (!obj->put(PreviousDetId, range)) + if (!obj.put(PreviousDetId, range)) printf("Bug to put detId = %i\n", PreviousDetId); } @@ -326,6 +339,7 @@ void SiStripChannelGainFromDBMiscalibrator::fillDescriptions(edm::ConfigurationD descScaler.add("smearFactor", 1.0); desc.addVPSet("params", descScaler, std::vector(1)); + desc.addUntracked("printDebug", 1); desc.addUntracked("record", "SiStripApvGainRcd"); desc.addUntracked("gainType", 1); desc.addUntracked("saveMaps", true); From 00f3faf1c6fb8b8b75af07791c879834c5c81614 Mon Sep 17 00:00:00 2001 From: mmusich Date: Thu, 2 Dec 2021 13:23:50 +0100 Subject: [PATCH 265/268] change names of output sqlite files --- .../SiStrip/test/SiStripChannelGainFromDBMiscalibrator_cfg.py | 2 +- CondTools/SiStrip/test/SiStripNoiseFromDBMiscalibrator_cfg.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CondTools/SiStrip/test/SiStripChannelGainFromDBMiscalibrator_cfg.py b/CondTools/SiStrip/test/SiStripChannelGainFromDBMiscalibrator_cfg.py index 0a2f3c6193b73..134227d76e511 100644 --- a/CondTools/SiStrip/test/SiStripChannelGainFromDBMiscalibrator_cfg.py +++ b/CondTools/SiStrip/test/SiStripChannelGainFromDBMiscalibrator_cfg.py @@ -157,7 +157,7 @@ ## ## Output database (in this case local sqlite file) ## -process.CondDB.connect = 'sqlite_file:modifiedGains_'+ process.GlobalTag.globaltag._value+'_IOV_'+str(options.runNumber)+".db" +process.CondDB.connect = 'sqlite_file:modifiedSiStripGains_'+ process.GlobalTag.globaltag._value+'_IOV_'+str(options.runNumber)+".db" process.PoolDBOutputService = cms.Service("PoolDBOutputService", process.CondDB, timetype = cms.untracked.string('runnumber'), diff --git a/CondTools/SiStrip/test/SiStripNoiseFromDBMiscalibrator_cfg.py b/CondTools/SiStrip/test/SiStripNoiseFromDBMiscalibrator_cfg.py index c7cb014443985..a86ab2576b488 100644 --- a/CondTools/SiStrip/test/SiStripNoiseFromDBMiscalibrator_cfg.py +++ b/CondTools/SiStrip/test/SiStripNoiseFromDBMiscalibrator_cfg.py @@ -33,7 +33,7 @@ process.MessageLogger.cout = cms.untracked.PSet( enable = cms.untracked.bool(True), enableStatistics = cms.untracked.bool(True), - threshold = cms.untracked.string("INFO"), + threshold = cms.untracked.string("WARNING"), default = cms.untracked.PSet(limit = cms.untracked.int32(0)), FwkReport = cms.untracked.PSet(limit = cms.untracked.int32(-1), reportEvery = cms.untracked.int32(1000) @@ -224,7 +224,7 @@ ## ## Output database (in this case local sqlite file) ## -process.CondDB.connect = 'sqlite_file:modifiedNoise_'+ process.GlobalTag.globaltag._value+'_IOV_'+str(options.runNumber)+".db" +process.CondDB.connect = 'sqlite_file:modifiedSiStripNoise_'+ process.GlobalTag.globaltag._value+'_IOV_'+str(options.runNumber)+".db" process.PoolDBOutputService = cms.Service("PoolDBOutputService", process.CondDB, timetype = cms.untracked.string('runnumber'), From aff7f8569b5186035fc50c2fcb2ebf3b14f31506 Mon Sep 17 00:00:00 2001 From: mmusich Date: Thu, 2 Dec 2021 13:24:14 +0100 Subject: [PATCH 266/268] remove upfront files to be written from miscalibrator tools --- CondTools/SiStrip/test/testBuildersReaders.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CondTools/SiStrip/test/testBuildersReaders.sh b/CondTools/SiStrip/test/testBuildersReaders.sh index 59f932a6a2adc..7c3ec271b8fb7 100755 --- a/CondTools/SiStrip/test/testBuildersReaders.sh +++ b/CondTools/SiStrip/test/testBuildersReaders.sh @@ -4,7 +4,8 @@ function die { echo $1: status $2 ; exit $2; } if test -f "SiStripConditionsDBFile.db"; then echo "cleaning the local test area" - rm -fr SiStripConditionsDBFile.db + rm -fr SiStripConditionsDBFile.db # builders test + rm -fr modifiedSiStrip*.db # miscalibrator tests fi echo " testing CondTools/SiStrip" From 3ed8836fa0ce7b93d9baa2ad14eda9e3feef8892 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Thu, 2 Dec 2021 11:49:12 -0800 Subject: [PATCH 267/268] empty line cleanup in /IterativeTracking dnnQualityCuts.py (#36340) --- RecoTracker/IterativeTracking/python/dnnQualityCuts.py | 1 - 1 file changed, 1 deletion(-) diff --git a/RecoTracker/IterativeTracking/python/dnnQualityCuts.py b/RecoTracker/IterativeTracking/python/dnnQualityCuts.py index 487fe6bc492b1..921c5f5d159ae 100644 --- a/RecoTracker/IterativeTracking/python/dnnQualityCuts.py +++ b/RecoTracker/IterativeTracking/python/dnnQualityCuts.py @@ -12,7 +12,6 @@ PixelLessStep = cms.vdouble(-0.60, -0.40, 0.02), TobTecStep = cms.vdouble(-0.71, -0.58, -0.46), JetCoreRegionalStep = cms.vdouble(-0.53, -0.33, 0.18) - ) from Configuration.ProcessModifiers.trackdnn_CKF_cff import trackdnn_CKF From 1b3930f64a03cfc1c1f1a1fd04f90352a1229fc0 Mon Sep 17 00:00:00 2001 From: Kevin Pedro Date: Thu, 2 Dec 2021 22:03:05 +0100 Subject: [PATCH 268/268] implement step skipping more consistently --- .../python/upgradeWorkflowComponents.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index fb9e069a79324..54cc1c763eef3 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -446,6 +446,8 @@ def __init__(self, digi = {}, reco = {}, harvest = {}, **kwargs): 'HARVESTGlobal', 'RecoNano', 'HARVESTNano', + 'Nano', + 'ALCA', ], PU = [], **kwargs) @@ -467,14 +469,13 @@ def condition(self, fragment, stepList, key, hasHarvest): ] result = any(selected) and hasHarvest - # skip ALCA and Nano steps (but not RecoNano or HARVESTNano for Run3) - for skip in copy(stepList): - if ("ALCA" in skip) or ("Nano"==skip): - stepList.remove(skip) return result def setup_(self, step, stepName, stepDict, k, properties): - if 'Digi' in step: + # skip ALCA and Nano steps (but not RecoNano or HARVESTNano for Run3) + if 'ALCA' in step or 'Nano'==step: + stepDict[stepName][k] = None + elif 'Digi' in step: if self.__digi is None: stepDict[stepName][k] = None else: