diff --git a/Configuration/AlCa/python/autoCond.py b/Configuration/AlCa/python/autoCond.py index 06320b383eb6c..3e0d8af7ddc1d 100644 --- a/Configuration/AlCa/python/autoCond.py +++ b/Configuration/AlCa/python/autoCond.py @@ -2,29 +2,27 @@ ### NEW KEYS ### # GlobalTag for MC production with perfectly aligned and calibrated detector for Run1 - 'run1_design' : '113X_mcRun1_design_v3', + 'run1_design' : '120X_mcRun1_design_v1', # GlobalTag for MC production (pp collisions) with realistic alignment and calibrations for Run1 - 'run1_mc' : '113X_mcRun1_realistic_v3', + 'run1_mc' : '120X_mcRun1_realistic_v1', # GlobalTag for MC production (Heavy Ions collisions) with realistic alignment and calibrations for Run1 - 'run1_mc_hi' : '113X_mcRun1_HeavyIon_v3', - # GlobalTag for MC production (p-Pb collisions) with realistic alignment and calibrations for Run1 - 'run1_mc_pa' : '113X_mcRun1_pA_v3', + 'run1_mc_hi' : '120X_mcRun1_HeavyIon_v1', # GlobalTag for MC production with pessimistic alignment and calibrations for Run2 - 'run2_mc_50ns' : '113X_mcRun2_startup_v3', + 'run2_mc_50ns' : '120X_mcRun2_startup_v1', # GlobalTag for MC production (2015 L1 Trigger Stage1) with startup-like alignment and calibrations for Run2, L1 trigger in Stage1 mode - 'run2_mc_l1stage1' : '113X_mcRun2_asymptotic_l1stage1_v4', + 'run2_mc_l1stage1' : '120X_mcRun2_asymptotic_l1stage1_v1', # GlobalTag for MC production with perfectly aligned and calibrated detector for Run2 - 'run2_design' : '113X_mcRun2_design_v4', + 'run2_design' : '120X_mcRun2_design_v1', #GlobalTag for MC production with optimistic alignment and calibrations for 2016, prior to VFP change - 'run2_mc_pre_vfp' : '120X_mcRun2_asymptotic_preVFP_v1', + 'run2_mc_pre_vfp' : '120X_mcRun2_asymptotic_preVFP_v2', #GlobalTag for MC production with optimistic alignment and calibrations for 2016, after VFP change - 'run2_mc' : '120X_mcRun2_asymptotic_v1', + 'run2_mc' : '120X_mcRun2_asymptotic_v2', # GlobalTag for MC production (cosmics) with starup-like alignment and calibrations for Run2, Strip tracker in peak mode - 'run2_mc_cosmics' : '113X_mcRun2cosmics_asymptotic_deco_v4', + 'run2_mc_cosmics' : '120X_mcRun2cosmics_asymptotic_deco_v1', # GlobalTag for MC production (Heavy Ions collisions) with optimistic alignment and calibrations for Run2 - 'run2_mc_hi' : '113X_mcRun2_HeavyIon_v4', + 'run2_mc_hi' : '120X_mcRun2_HeavyIon_v1', # GlobalTag for MC production (p-Pb collisions) with realistic alignment and calibrations for Run2 - 'run2_mc_pa' : '113X_mcRun2_pA_v4', + 'run2_mc_pa' : '120X_mcRun2_pA_v1', # GlobalTag for Run2 data reprocessing 'run2_data' : '120X_dataRun2_v2', # GlobalTag for Run2 data 2018B relvals only: HEM-15-16 fail @@ -42,41 +40,41 @@ # GlobalTag for Run3 data relvals 'run3_data_prompt' : '113X_dataRun3_Prompt_v3', # GlobalTag for MC production with perfectly aligned and calibrated detector for Phase1 2017 (and 0,0,~0-centred beamspot) - 'phase1_2017_design' : '113X_mc2017_design_v5', + 'phase1_2017_design' : '120X_mc2017_design_v1', # GlobalTag for MC production with realistic conditions for Phase1 2017 detector - 'phase1_2017_realistic' : '113X_mc2017_realistic_v5', + 'phase1_2017_realistic' : '120X_mc2017_realistic_v1', # GlobalTag for MC production with realistic conditions for Phase1 2017 detector, for PP reference run - 'phase1_2017_realistic_ppref' : '120X_mc2017_realistic_forppRef5TeV_v1', + 'phase1_2017_realistic_ppref' : '120X_mc2017_realistic_forppRef5TeV_v2', # GlobalTag for MC production (cosmics) with realistic alignment and calibrations for Phase1 2017 detector, Strip tracker in DECO mode - 'phase1_2017_cosmics' : '113X_mc2017cosmics_realistic_deco_v5', + 'phase1_2017_cosmics' : '120X_mc2017cosmics_realistic_deco_v1', # GlobalTag for MC production (cosmics) with realistic alignment and calibrations for Phase1 2017 detector, Strip tracker in PEAK mode - 'phase1_2017_cosmics_peak' : '113X_mc2017cosmics_realistic_peak_v5', + 'phase1_2017_cosmics_peak' : '120X_mc2017cosmics_realistic_peak_v1', # GlobalTag for MC production with perfectly aligned and calibrated detector for full Phase1 2018 (and 0,0,0-centred beamspot) - 'phase1_2018_design' : '113X_upgrade2018_design_v5', + 'phase1_2018_design' : '120X_upgrade2018_design_v1', # GlobalTag for MC production with realistic conditions for full Phase1 2018 detector - 'phase1_2018_realistic' : '113X_upgrade2018_realistic_v5', + 'phase1_2018_realistic' : '120X_upgrade2018_realistic_v1', # GlobalTag for MC production with realistic run-dependent (RD) conditions for full Phase1 2018 detector - 'phase1_2018_realistic_rd' : '113X_upgrade2018_realistic_RD_v4', + 'phase1_2018_realistic_rd' : '113X_upgrade2018_realistic_RD_v5', # GlobalTag for MC production with realistic conditions for full Phase1 2018 detector for Heavy Ion - 'phase1_2018_realistic_hi' : '113X_upgrade2018_realistic_HI_v5', + 'phase1_2018_realistic_hi' : '120X_upgrade2018_realistic_HI_v1', # GlobalTag for MC production with realistic conditions for full Phase1 2018 detector: HEM-15-16 fail - 'phase1_2018_realistic_HEfail' : '113X_upgrade2018_realistic_HEfail_v5', + 'phase1_2018_realistic_HEfail' : '120X_upgrade2018_realistic_HEfail_v1', # GlobalTag for MC production (cosmics) with realistic conditions for full Phase1 2018 detector, Strip tracker in DECO mode - 'phase1_2018_cosmics' : '113X_upgrade2018cosmics_realistic_deco_v5', + 'phase1_2018_cosmics' : '120X_upgrade2018cosmics_realistic_deco_v1', # GlobalTag for MC production (cosmics) with realistic conditions for full Phase1 2018 detector, Strip tracker in PEAK mode - 'phase1_2018_cosmics_peak' : '113X_upgrade2018cosmics_realistic_peak_v5', + 'phase1_2018_cosmics_peak' : '120X_upgrade2018cosmics_realistic_peak_v1', # GlobalTag for MC production with perfectly aligned and calibrated detector for Phase1 2021 - 'phase1_2021_design' : '120X_mcRun3_2021_design_v2', # GT containing design conditions for Phase1 2021 + 'phase1_2021_design' : '120X_mcRun3_2021_design_v3', # GT containing design conditions for Phase1 2021 # GlobalTag for MC production with realistic conditions for Phase1 2021 - 'phase1_2021_realistic' : '120X_mcRun3_2021_realistic_v3', # GT containing realistic conditions for Phase1 2021 + 'phase1_2021_realistic' : '120X_mcRun3_2021_realistic_v4', # GT containing realistic conditions for Phase1 2021 # GlobalTag for MC production (cosmics) with realistic conditions for Phase1 2021, Strip tracker in DECO mode - 'phase1_2021_cosmics' : '120X_mcRun3_2021cosmics_realistic_deco_v2', + 'phase1_2021_cosmics' : '120X_mcRun3_2021cosmics_realistic_deco_v3', # GlobalTag for MC production with realistic conditions for Phase1 2021 detector for Heavy Ion - 'phase1_2021_realistic_hi' : '120X_mcRun3_2021_realistic_HI_v2', + 'phase1_2021_realistic_hi' : '120X_mcRun3_2021_realistic_HI_v3', # GlobalTag for MC production with realistic conditions for Phase1 2023 - 'phase1_2023_realistic' : '120X_mcRun3_2023_realistic_v3', # GT containing realistic conditions for Phase1 2023 + 'phase1_2023_realistic' : '120X_mcRun3_2023_realistic_v4', # GT containing realistic conditions for Phase1 2023 # GlobalTag for MC production with realistic conditions for Phase1 2024 - 'phase1_2024_realistic' : '120X_mcRun3_2024_realistic_v3', # GT containing realistic conditions for Phase1 2024 + 'phase1_2024_realistic' : '120X_mcRun3_2024_realistic_v4', # GT containing realistic conditions for Phase1 2024 # GlobalTag for MC production with realistic conditions for Phase2 'phase2_realistic' : '113X_mcRun4_realistic_v7' } @@ -115,8 +113,6 @@ autoCond['startup'] = ( autoCond['run1_mc'] ) # GlobalTag for MC production of Heavy Ions events with realistic alignment and calibrations autoCond['starthi'] = ( autoCond['run1_mc_hi'] ) - # GlobalTag for MC production of p-Pb events with realistic alignment and calibrations -autoCond['startpa'] = ( autoCond['run1_mc_pa'] ) # GlobalTag for data reprocessing autoCond['com10'] = ( autoCond['run1_data'] ) # GlobalTag for running HLT on recent data: it points to the online GT (remove the snapshot!) diff --git a/SimTracker/SiPixelDigitizer/plugins/PreMixingSiPixelWorker.cc b/SimTracker/SiPixelDigitizer/plugins/PreMixingSiPixelWorker.cc index bdd9c8caee2ed..2d3dcd99d9dfb 100644 --- a/SimTracker/SiPixelDigitizer/plugins/PreMixingSiPixelWorker.cc +++ b/SimTracker/SiPixelDigitizer/plugins/PreMixingSiPixelWorker.cc @@ -265,7 +265,7 @@ void PreMixingSiPixelWorker::put(edm::Event& e, // Load inefficiency constants (1st pass), set pileup information. if (firstFinalizeEvent_) { - digitizer_.init_DynIneffDB(iSetup, bs); + digitizer_.init_DynIneffDB(iSetup); firstFinalizeEvent_ = false; } diff --git a/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizer.cc b/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizer.cc index f78fb35d0a190..9fb181c255840 100644 --- a/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizer.cc +++ b/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizer.cc @@ -250,8 +250,7 @@ namespace cms { std::vector > theDigiLinkVector; if (firstFinalizeEvent_) { - const unsigned int bunchspace = PileupInfo_->getMix_bunchSpacing(); - _pixeldigialgo->init_DynIneffDB(iSetup, bunchspace); + _pixeldigialgo->init_DynIneffDB(iSetup); firstFinalizeEvent_ = false; } _pixeldigialgo->calculateInstlumiFactor(PileupInfo_.get()); diff --git a/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizerAlgorithm.cc b/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizerAlgorithm.cc index 3cada30b7d997..68a12192b6487 100644 --- a/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizerAlgorithm.cc +++ b/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizerAlgorithm.cc @@ -329,7 +329,6 @@ SiPixelDigitizerAlgorithm::SiPixelDigitizerAlgorithm(const edm::ParameterSet& co // invent something new (similar to mayConsume in the ESProducer // side). So for now, let's consume both payloads. SiPixelDynamicInefficiencyToken_ = iC.esConsumes(); - SiPixelDynamicInefficiencyToken50ns_ = iC.esConsumes(edm::ESInputTag("", "50ns")); } if (KillBadFEDChannels) { scenarioProbabilityToken_ = iC.esConsumes(); @@ -596,12 +595,11 @@ SiPixelDigitizerAlgorithm::PixelEfficiencies::PixelEfficiencies(const edm::Param } // Read DynIneff Scale factors from DB -void SiPixelDigitizerAlgorithm::init_DynIneffDB(const edm::EventSetup& es, const unsigned int& bunchspace) { +void SiPixelDigitizerAlgorithm::init_DynIneffDB(const edm::EventSetup& es) { + LogDebug("PixelDigitizer ") << " In SiPixelDigitizerAlgorithm::init_DynIneffDB " << AddPixelInefficiency << " " + << pixelEfficiencies_.FromConfig << "\n"; if (AddPixelInefficiency && !pixelEfficiencies_.FromConfig) { - if (bunchspace == 50) - SiPixelDynamicInefficiency_ = &es.getData(SiPixelDynamicInefficiencyToken50ns_); - else - SiPixelDynamicInefficiency_ = &es.getData(SiPixelDynamicInefficiencyToken_); + SiPixelDynamicInefficiency_ = &es.getData(SiPixelDynamicInefficiencyToken_); pixelEfficiencies_.init_from_db(geom_, SiPixelDynamicInefficiency_); } } @@ -631,8 +629,12 @@ void SiPixelDigitizerAlgorithm::PixelEfficiencies::init_from_db( // ROC level inefficiency for phase 1 (disentangle scale factors for big and std size pixels) std::map PixelGeomFactorsDB; + LogDebug("PixelDigitizer ") << " Check PixelEfficiencies -- PixelGeomFactorsDBIn " + << "\n"; if (geom->isThere(GeomDetEnumerators::P1PXB) || geom->isThere(GeomDetEnumerators::P1PXEC)) { for (auto db_factor : PixelGeomFactorsDBIn) { + LogDebug("PixelDigitizer ") << " db_factor " << db_factor.first << " " << db_factor.second << "\n"; + int shift = DetId(db_factor.first).subdetId() == static_cast(PixelSubdetector::PixelBarrel) ? BPixRocIdShift : FPixRocIdShift; unsigned int rocMask = rocIdMaskBits << shift; @@ -664,27 +666,47 @@ void SiPixelDigitizerAlgorithm::PixelEfficiencies::init_from_db( PixelGeomFactorsDB = PixelGeomFactorsDBIn; } + LogDebug("PixelDigitizer ") + << " Check PixelEfficiencies -- Loop on all modules and store module level geometrical scale factors " + << "\n"; // Loop on all modules, store module level geometrical scale factors for (const auto& it_module : geom->detUnits()) { if (dynamic_cast(it_module) == nullptr) continue; const DetId detid = it_module->geographicalId(); uint32_t rawid = detid.rawId(); - for (auto db_factor : PixelGeomFactorsDB) + for (auto db_factor : PixelGeomFactorsDB) { + LogDebug("PixelDigitizer ") << " db_factor PixelGeomFactorsDB " << db_factor.first << " " + << db_factor.second << "\n"; if (matches(detid, DetId(db_factor.first), DetIdmasks)) PixelGeomFactors[rawid] *= db_factor.second; - for (auto db_factor : ColGeomFactorsDB) + } + for (auto db_factor : ColGeomFactorsDB) { + LogDebug("PixelDigitizer ") << " db_factor ColGeomFactorsDB " << db_factor.first << " " << db_factor.second + << "\n"; if (matches(detid, DetId(db_factor.first), DetIdmasks)) ColGeomFactors[rawid] *= db_factor.second; - for (auto db_factor : ChipGeomFactorsDB) + } + for (auto db_factor : ChipGeomFactorsDB) { + LogDebug("PixelDigitizer ") << " db_factor ChipGeomFactorsDB " << db_factor.first << " " + << db_factor.second << "\n"; if (matches(detid, DetId(db_factor.first), DetIdmasks)) ChipGeomFactors[rawid] *= db_factor.second; + } } // piluep scale factors are calculated once per event // therefore vector index is stored in a map for each module that matches to a db_id size_t i = 0; + LogDebug("PixelDigitizer ") << " Check PixelEfficiencies -- PUFactors " + << "\n"; for (const auto& factor : PUFactors) { + // + LogDebug("PixelDigitizer ") << " factor " << factor.first << " " << factor.second.size() << "\n"; + for (size_t i = 0, n = factor.second.size(); i < n; i++) { + LogDebug("PixelDigitizer ") << " print factor.second for " << i << " " << factor.second[i] << "\n"; + } + // const DetId db_id = DetId(factor.first); for (const auto& it_module : geom->detUnits()) { if (dynamic_cast(it_module) == nullptr) diff --git a/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizerAlgorithm.h b/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizerAlgorithm.h index c4fccabc271f7..e1ae27c35def6 100644 --- a/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizerAlgorithm.h +++ b/SimTracker/SiPixelDigitizer/plugins/SiPixelDigitizerAlgorithm.h @@ -78,7 +78,7 @@ class SiPixelDigitizerAlgorithm { const TrackerTopology* tTopo, CLHEP::HepRandomEngine*); void calculateInstlumiFactor(PileupMixingContent* puInfo); - void init_DynIneffDB(const edm::EventSetup&, const unsigned int&); + void init_DynIneffDB(const edm::EventSetup&); std::unique_ptr chooseScenario(PileupMixingContent* puInfo, CLHEP::HepRandomEngine*); // for premixing @@ -162,7 +162,6 @@ class SiPixelDigitizerAlgorithm { // Get Dynamic Inefficiency scale factors from DB edm::ESGetToken SiPixelDynamicInefficiencyToken_; - edm::ESGetToken SiPixelDynamicInefficiencyToken50ns_; const SiPixelDynamicInefficiency* SiPixelDynamicInefficiency_ = nullptr; // For BadFEDChannel simulation