diff --git a/CalibCalorimetry/HcalAlgos/interface/HcalPedestalAnalysis.h b/CalibCalorimetry/HcalAlgos/interface/HcalPedestalAnalysis.h index ea94353b875b7..6594c0748af1a 100644 --- a/CalibCalorimetry/HcalAlgos/interface/HcalPedestalAnalysis.h +++ b/CalibCalorimetry/HcalAlgos/interface/HcalPedestalAnalysis.h @@ -13,6 +13,7 @@ #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h" #include "CondFormats/HcalObjects/interface/AllObjects.h" +#include "Geometry/CaloTopology/interface/HcalTopology.h" #include "TH1F.h" #include "TF1.h" @@ -44,13 +45,13 @@ class HcalPedestalAnalysis{ ~HcalPedestalAnalysis(); void setup(const std::string& m_outputFileROOT); - + void setTopology(const HcalTopology* topo) {fTopology = (HcalTopology*)(topo);} void SampleAnalysis(); int done(const HcalPedestals* fInputPedestals, - const HcalPedestalWidths* fInputWidths, - HcalPedestals* fOutputPedestals, - HcalPedestalWidths* fOutputWidths); + const HcalPedestalWidths* fInputWidths, + HcalPedestals* fOutputPedestals, + HcalPedestalWidths* fOutputWidths); void processEvent(const HBHEDigiCollection& hbhe, const HODigiCollection& ho, @@ -62,11 +63,11 @@ class HcalPedestalAnalysis{ // N>0 : mod(N,100000) drifts + width changes // int(N/100000) missing channels static int HcalPedVal(int nstat[4], const HcalPedestals* fRefPedestals, - const HcalPedestalWidths* fRefPedestalWidths, - HcalPedestals* fRawPedestals, - HcalPedestalWidths* fRawPedestalWidths, - HcalPedestals* fValPedestals, - HcalPedestalWidths* fValPedestalWidths); + const HcalPedestalWidths* fRefPedestalWidths, + HcalPedestals* fRawPedestals, + HcalPedestalWidths* fRawPedestalWidths, + HcalPedestals* fValPedestals, + HcalPedestalWidths* fValPedestalWidths); protected: diff --git a/CalibCalorimetry/HcalAlgos/src/HcalPedestalAnalysis.cc b/CalibCalorimetry/HcalAlgos/src/HcalPedestalAnalysis.cc index 098ed9b1bdb39..a1777d777d412 100644 --- a/CalibCalorimetry/HcalAlgos/src/HcalPedestalAnalysis.cc +++ b/CalibCalorimetry/HcalAlgos/src/HcalPedestalAnalysis.cc @@ -19,9 +19,9 @@ HcalPedestalAnalysis::HcalPedestalAnalysis(const edm::ParameterSet& ps) fRawPedestals (0), fRawPedestalWidths (0), fValPedestals (0), - fValPedestalWidths (0) -{ - fTopology=0; + fValPedestalWidths (0), + fTopology (0) { + m_coder = 0; m_shape = 0; evt=0; @@ -31,18 +31,18 @@ HcalPedestalAnalysis::HcalPedestalAnalysis(const edm::ParameterSet& ps) for(int i=0; i<4; i++) m_stat[i]=0; for(int k=0;k<4;k++) state.push_back(true); -// user cfg parameters + // user cfg parameters m_outputFileMean = ps.getUntrackedParameter("outputFileMeans", ""); if ( m_outputFileMean.size() != 0 ) { - cout << "Hcal pedestal means will be saved to " << m_outputFileMean.c_str() << endl; + std::cout << "Hcal pedestal means will be saved to " << m_outputFileMean.c_str() << std::endl; } m_outputFileWidth = ps.getUntrackedParameter("outputFileWidths", ""); if ( m_outputFileWidth.size() != 0 ) { - cout << "Hcal pedestal widths will be saved to " << m_outputFileWidth.c_str() << endl; + std::cout << "Hcal pedestal widths will be saved to " << m_outputFileWidth.c_str() << std::endl; } m_outputFileROOT = ps.getUntrackedParameter("outputFileHist", ""); if ( m_outputFileROOT.size() != 0 ) { - cout << "Hcal pedestal histograms will be saved to " << m_outputFileROOT.c_str() << endl; + std::cout << "Hcal pedestal histograms will be saved to " << m_outputFileROOT.c_str() << std::endl; } m_nevtsample = ps.getUntrackedParameter("nevtsample",0); // for compatibility with previous versions @@ -52,8 +52,8 @@ HcalPedestalAnalysis::HcalPedestalAnalysis(const edm::ParameterSet& ps) m_pedValflag = ps.getUntrackedParameter("pedValflag",0); if(m_pedValflag<0) m_pedValflag=0; if (m_nevtsample>0 && m_pedValflag>0) { - cout<<"WARNING - incompatible cfg options: nevtsample = "<1) m_pedValflag=1; @@ -61,7 +61,7 @@ HcalPedestalAnalysis::HcalPedestalAnalysis(const edm::ParameterSet& ps) if(m_startTS<0) m_startTS=0; m_endTS = ps.getUntrackedParameter("lastTS", 9); - fTopology=new HcalTopology(HcalTopologyMode::LHC,2,3); +// fTopology=new HcalTopology(HcalTopologyMode::LHC,2,3); // m_logFile.open("HcalPedestalAnalysis.log"); @@ -506,11 +506,11 @@ void HcalPedestalAnalysis::GetPedConst(map > &toolT int HcalPedestalAnalysis::done(const HcalPedestals* fInputPedestals, const HcalPedestalWidths* fInputPedestalWidths, HcalPedestals* fOutputPedestals, - HcalPedestalWidths* fOutputPedestalWidths) -{ - int nstat[4]; + HcalPedestalWidths* fOutputPedestalWidths) { -// Pedestal objects + int nstat[4]; + + // Pedestal objects // inputs... fRefPedestals = fInputPedestals; fRefPedestalWidths = fInputPedestalWidths; @@ -521,8 +521,7 @@ int HcalPedestalAnalysis::done(const HcalPedestals* fInputPedestals, fValPedestalWidths = fOutputPedestalWidths; fRawPedestals = new HcalPedestals(fTopology,m_pedsinADC); fRawPedestalWidths = new HcalPedestalWidths(fTopology,m_pedsinADC); - } - else { + } else { fRawPedestals = fOutputPedestals; fRawPedestalWidths = fOutputPedestalWidths; fValPedestals = new HcalPedestals(fTopology,m_pedsinADC); @@ -590,7 +589,7 @@ int HcalPedestalAnalysis::done(const HcalPedestals* fInputPedestals, hfHists.PEDMEAN->Write(); m_file->Close(); - cout << "Hcal histograms written to " << m_outputFileROOT.c_str() << endl; + std::cout << "Hcal histograms written to " << m_outputFileROOT.c_str() << std::endl; return (int)m_AllPedsOK; } diff --git a/CalibCalorimetry/HcalStandardModules/src/HcalPedestalAnalyzer.cc b/CalibCalorimetry/HcalStandardModules/src/HcalPedestalAnalyzer.cc index 759648db0ec2a..c1a0ef7b773b0 100644 --- a/CalibCalorimetry/HcalStandardModules/src/HcalPedestalAnalyzer.cc +++ b/CalibCalorimetry/HcalStandardModules/src/HcalPedestalAnalyzer.cc @@ -218,6 +218,7 @@ void HcalPedestalAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& e edm::ESHandle topology; eventSetup.get().get( topology ); m_topo=new HcalTopology(*topology); + m_pedAnal->setTopology(m_topo); } diff --git a/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p1_64_cff.py b/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p1_64_cff.py new file mode 100644 index 0000000000000..d5483f2b21eb9 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p1_64_cff.py @@ -0,0 +1,33 @@ +import FWCore.ParameterSet.Config as cms + +# Ideal geometry, needed for transient ECAL alignement +from Configuration.Geometry.GeometryExtended2023RPCUpscope_2p1_64_cff import * + + + +# Reconstruction geometry services +# Tracking Geometry +#bah - well, this is not a cfi! +from Geometry.CommonDetUnit.globalTrackingSLHCGeometry_cfi import * + +#Tracker +from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerNumberingBuilder.trackerTopologyConstants_cfi import * + +#Muon +from Geometry.MuonNumbering.muonNumberingInitialization_cfi import * +from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import * + +# Alignment +from Geometry.TrackerGeometryBuilder.idealForDigiTrackerSLHCGeometry_cff import * +from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import * +from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import * +trackerSLHCGeometry.applyAlignment = cms.bool(False) + +# Calorimeters +from Geometry.CaloEventSetup.CaloTopology_cfi import * +from Geometry.CaloEventSetup.CaloGeometry_cff import * +from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * +from Geometry.EcalMapping.EcalMapping_cfi import * +from Geometry.EcalMapping.EcalMappingRecord_cfi import * + diff --git a/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p4_192_cff.py b/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p4_192_cff.py new file mode 100644 index 0000000000000..c039b221913ae --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p4_192_cff.py @@ -0,0 +1,33 @@ +import FWCore.ParameterSet.Config as cms + +# Ideal geometry, needed for transient ECAL alignement +from Configuration.Geometry.GeometryExtended2023RPCUpscope_2p4_192_cff import * + + + +# Reconstruction geometry services +# Tracking Geometry +#bah - well, this is not a cfi! +from Geometry.CommonDetUnit.globalTrackingSLHCGeometry_cfi import * + +#Tracker +from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerNumberingBuilder.trackerTopologyConstants_cfi import * + +#Muon +from Geometry.MuonNumbering.muonNumberingInitialization_cfi import * +from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import * + +# Alignment +from Geometry.TrackerGeometryBuilder.idealForDigiTrackerSLHCGeometry_cff import * +from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import * +from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import * +trackerSLHCGeometry.applyAlignment = cms.bool(False) + +# Calorimeters +from Geometry.CaloEventSetup.CaloTopology_cfi import * +from Geometry.CaloEventSetup.CaloGeometry_cff import * +from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * +from Geometry.EcalMapping.EcalMapping_cfi import * +from Geometry.EcalMapping.EcalMappingRecord_cfi import * + diff --git a/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p4_256_cff.py b/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p4_256_cff.py new file mode 100644 index 0000000000000..c0d8136ef2054 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p4_256_cff.py @@ -0,0 +1,33 @@ +import FWCore.ParameterSet.Config as cms + +# Ideal geometry, needed for transient ECAL alignement +from Configuration.Geometry.GeometryExtended2023RPCUpscope_2p4_256_cff import * + + + +# Reconstruction geometry services +# Tracking Geometry +#bah - well, this is not a cfi! +from Geometry.CommonDetUnit.globalTrackingSLHCGeometry_cfi import * + +#Tracker +from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerNumberingBuilder.trackerTopologyConstants_cfi import * + +#Muon +from Geometry.MuonNumbering.muonNumberingInitialization_cfi import * +from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import * + +# Alignment +from Geometry.TrackerGeometryBuilder.idealForDigiTrackerSLHCGeometry_cff import * +from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import * +from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import * +trackerSLHCGeometry.applyAlignment = cms.bool(False) + +# Calorimeters +from Geometry.CaloEventSetup.CaloTopology_cfi import * +from Geometry.CaloEventSetup.CaloGeometry_cff import * +from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * +from Geometry.EcalMapping.EcalMapping_cfi import * +from Geometry.EcalMapping.EcalMappingRecord_cfi import * + diff --git a/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p4_64_cff.py b/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p4_64_cff.py new file mode 100644 index 0000000000000..0f345ec2ab3f8 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2023RPCUpscopeReco_2p4_64_cff.py @@ -0,0 +1,33 @@ +import FWCore.ParameterSet.Config as cms + +# Ideal geometry, needed for transient ECAL alignement +from Configuration.Geometry.GeometryExtended2023RPCUpscope_2p4_64_cff import * + + + +# Reconstruction geometry services +# Tracking Geometry +#bah - well, this is not a cfi! +from Geometry.CommonDetUnit.globalTrackingSLHCGeometry_cfi import * + +#Tracker +from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerNumberingBuilder.trackerTopologyConstants_cfi import * + +#Muon +from Geometry.MuonNumbering.muonNumberingInitialization_cfi import * +from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import * + +# Alignment +from Geometry.TrackerGeometryBuilder.idealForDigiTrackerSLHCGeometry_cff import * +from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import * +from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import * +trackerSLHCGeometry.applyAlignment = cms.bool(False) + +# Calorimeters +from Geometry.CaloEventSetup.CaloTopology_cfi import * +from Geometry.CaloEventSetup.CaloGeometry_cff import * +from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * +from Geometry.EcalMapping.EcalMapping_cfi import * +from Geometry.EcalMapping.EcalMappingRecord_cfi import * + diff --git a/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p1_64_cff.py b/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p1_64_cff.py new file mode 100644 index 0000000000000..8e8fca486153f --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p1_64_cff.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +# +# Geometry master configuration +# +# Ideal geometry, needed for simulation +from Geometry.CMSCommonData.cmsExtendedGeometry2023RPCUpscopeXML_2p1_64_cfi import * +from Geometry.TrackerNumberingBuilder.trackerNumberingSLHCGeometry_cfi import * diff --git a/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p4_192_cff.py b/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p4_192_cff.py new file mode 100644 index 0000000000000..0d7de58e7ae48 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p4_192_cff.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +# +# Geometry master configuration +# +# Ideal geometry, needed for simulation +from Geometry.CMSCommonData.cmsExtendedGeometry2023RPCUpscopeXML_2p4_192_cfi import * +from Geometry.TrackerNumberingBuilder.trackerNumberingSLHCGeometry_cfi import * diff --git a/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p4_256_cff.py b/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p4_256_cff.py new file mode 100644 index 0000000000000..d1f92c391a6c7 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p4_256_cff.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +# +# Geometry master configuration +# +# Ideal geometry, needed for simulation +from Geometry.CMSCommonData.cmsExtendedGeometry2023RPCUpscopeXML_2p4_256_cfi import * +from Geometry.TrackerNumberingBuilder.trackerNumberingSLHCGeometry_cfi import * diff --git a/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p4_64_cff.py b/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p4_64_cff.py new file mode 100644 index 0000000000000..5f1c9d5136cb0 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2023RPCUpscope_2p4_64_cff.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +# +# Geometry master configuration +# +# Ideal geometry, needed for simulation +from Geometry.CMSCommonData.cmsExtendedGeometry2023RPCUpscopeXML_2p4_64_cfi import * +from Geometry.TrackerNumberingBuilder.trackerNumberingSLHCGeometry_cfi import * diff --git a/Configuration/Geometry/python/GeometryExtended2023Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2023Reco_cff.py index ebc2bc8ae9ebc..dbb9e68d263f4 100644 --- a/Configuration/Geometry/python/GeometryExtended2023Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2023Reco_cff.py @@ -43,5 +43,5 @@ from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * from Geometry.EcalMapping.EcalMapping_cfi import * from Geometry.EcalMapping.EcalMappingRecord_cfi import * -from Geometry.HcalCommonData.hcalSimNumberingInitialization_cfi import * +from Geometry.HcalCommonData.hcalNumberingInitialization_cfi import * diff --git a/Configuration/Geometry/python/GeometrySLHCRecoDB_cff.py b/Configuration/Geometry/python/GeometrySLHCRecoDB_cff.py index f2f2f512e835e..afa2b818f9060 100644 --- a/Configuration/Geometry/python/GeometrySLHCRecoDB_cff.py +++ b/Configuration/Geometry/python/GeometrySLHCRecoDB_cff.py @@ -6,7 +6,6 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * from Geometry.TrackerNumberingBuilder.trackerNumberingSLHCGeometryDB_cfi import * -from Geometry.HcalCommonData.hcalSimNumberingInitialization_cfi import * trackerSLHCGeometryDB.applyAlignment = cms.bool(False) # # When there will be an alignment, perhaps, it will use a label diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index aa4bb8b8dca4c..45df55787a94f 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -2535,7 +2535,7 @@ def genvalid(fragment,d,suffix='all',fi=''): '--conditions':'auto:upgrade2019', '--mc':'', '--magField' : '38T_PostLS1', - '--customise' : 'SLHCUpgradeSimulations/Configuration/phase1TkCustoms.customise', + '--customise' : 'SLHCUpgradeSimulations/Configuration/combinedCustoms.cust_2019', '--geometry' : 'Extended2019' } @@ -2643,7 +2643,7 @@ def genvalid(fragment,d,suffix='all',fi=''): '--conditions':'W19_300_62E2::All', '--mc':'', '--magField' : '38T_PostLS1', - '--customise' : 'SLHCUpgradeSimulations/Configuration/phase1TkCustoms.customise', + '--customise' : 'SLHCUpgradeSimulations/Configuration/combinedCustoms.cust_2019,SLHCUpgradeSimulations/Configuration/aging.customise_aging_300', '--geometry' : 'Extended2019' } diff --git a/DQM/DTMonitorModule/src/DTChamberEfficiency.cc b/DQM/DTMonitorModule/src/DTChamberEfficiency.cc index ac1981715442b..63f97c8501403 100644 --- a/DQM/DTMonitorModule/src/DTChamberEfficiency.cc +++ b/DQM/DTMonitorModule/src/DTChamberEfficiency.cc @@ -82,7 +82,7 @@ DTChamberEfficiency::DTChamberEfficiency(const ParameterSet& pSet) thecscSegments = pSet.getParameter("cscSegments"); theMeasurementExtractor = new MuonDetLayerMeasurements(thedt4DSegments,thecscSegments, - labelRPCRecHits,true,false,false); + labelRPCRecHits,InputTag(),true,false,false,false); theNavigationType = pSet.getParameter("NavigationType"); diff --git a/DQM/RPCMonitorDigi/test/rpcmonitordigi_cfg.py b/DQM/RPCMonitorDigi/test/rpcmonitordigi_cfg.py index 4b0635b08bc5a..ce71352696312 100644 --- a/DQM/RPCMonitorDigi/test/rpcmonitordigi_cfg.py +++ b/DQM/RPCMonitorDigi/test/rpcmonitordigi_cfg.py @@ -6,20 +6,23 @@ ############# Source File ################# process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring('/store/data/Run2010A/Mu/RECO/v4/000/143/727/2EB74417-51AF-DF11-8773-001617E30D00.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/4420AAFC-3BAF-DF11-8457-0019B9F72BAA.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/58BD28DA-4CAF-DF11-912A-001617E30D00.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/5E4D5A83-54AF-DF11-9580-001D09F24934.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/6C72A6E0-40AF-DF11-B657-001D09F252F3.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/7A94925E-4CAF-DF11-9C5E-001D09F2960F.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/8A10CC2F-47AF-DF11-BB2F-0030487A17B8.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/8CAFACF6-49AF-DF11-861A-003048F118AC.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/9A3E9521-53AF-DF11-84AC-001D09F24934.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/BEE0AAB1-37AF-DF11-9FB8-0030487C60AE.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/C4EF4794-48AF-DF11-AC6B-003048F117EA.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/D2381722-53AF-DF11-8D77-001D09F2906A.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/E4185ADF-4CAF-DF11-BA63-0030487CD906.root', - '/store/data/Run2010A/Mu/RECO/v4/000/143/727/FE2C2F5F-4CAF-DF11-AA49-0030487A3C9A.root') + fileNames = cms.untracked.vstring( + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/2EB74417-51AF-DF11-8773-001617E30D00.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/4420AAFC-3BAF-DF11-8457-0019B9F72BAA.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/58BD28DA-4CAF-DF11-912A-001617E30D00.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/5E4D5A83-54AF-DF11-9580-001D09F24934.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/6C72A6E0-40AF-DF11-B657-001D09F252F3.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/7A94925E-4CAF-DF11-9C5E-001D09F2960F.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/8A10CC2F-47AF-DF11-BB2F-0030487A17B8.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/8CAFACF6-49AF-DF11-861A-003048F118AC.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/9A3E9521-53AF-DF11-84AC-001D09F24934.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/BEE0AAB1-37AF-DF11-9FB8-0030487C60AE.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/C4EF4794-48AF-DF11-AC6B-003048F117EA.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/D2381722-53AF-DF11-8D77-001D09F2906A.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/E4185ADF-4CAF-DF11-BA63-0030487CD906.root', + # '/store/data/Run2010A/Mu/RECO/v4/000/143/727/FE2C2F5F-4CAF-DF11-AA49-0030487A3C9A.root', + 'file:/build/piet/Upgrade/Eta_2p4_Releases/CMSSW_6_2_0_SLHC5/src/MyCmsDriverCommands/SingleMuPt100_1p6_2p4_cfi_RECO.root' + ) ) process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(10)) @@ -29,7 +32,8 @@ ############ Geometry ###################### process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi") -process.load("Geometry.MuonCommonData.muonIdealGeometryXML_cfi") +# process.load("Geometry.MuonCommonData.muonIdealGeometryXML_cfi") +process.load("Geometry.CMSCommonData.cmsExtendedGeometry2023RPCEtaUpscopeXML_cfi") process.load("Geometry.RPCGeometry.rpcGeometry_cfi") process.load("Configuration.StandardSequences.MagneticField_cff") @@ -68,7 +72,8 @@ ############### Output Module ############## process.out = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('/tmp/cimmino/RPCDQM.root'), + # fileName = cms.untracked.string('/tmp/cimmino/RPCDQM.root'), + fileName = cms.untracked.string('/tmp/piet/RPCDQM.root'), outputCommands = cms.untracked.vstring("keep *") ) diff --git a/DataFormats/MuonDetId/interface/RPCDetId.h b/DataFormats/MuonDetId/interface/RPCDetId.h index e75d963044e0a..00c14f1a5fd20 100644 --- a/DataFormats/MuonDetId/interface/RPCDetId.h +++ b/DataFormats/MuonDetId/interface/RPCDetId.h @@ -165,7 +165,7 @@ class RPCDetId :public DetId { static const int maxSubSectorForwardId= 6; static const int minRollId= 0; - static const int maxRollId= 4; + static const int maxRollId= 5; private: diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023CFCalXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023CFCalXML_cfi.py index 8df7a2d8e4665..5ad0d5fa37018 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023CFCalXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023CFCalXML_cfi.py @@ -111,7 +111,7 @@ 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', 'Geometry/RPCGeometryBuilder/data/RPCSpecs.xml', - 'Geometry/GEMGeometryBuilder/data/v4/GEMSpecs.xml', + 'Geometry/GEMGeometryBuilder/data/v5/GEMSpecs.xml', 'Geometry/ForwardCommonData/data/brmsens.xml', 'Geometry/ForwardSimData/data/castorsens.xml', 'Geometry/ForwardSimData/data/zdcsens.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p1_64_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p1_64_cfi.py new file mode 100644 index 0000000000000..d177598a0fda0 --- /dev/null +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p1_64_cfi.py @@ -0,0 +1,129 @@ +import FWCore.ParameterSet.Config as cms + +## 2015 + new phase 1 pixel detector + Tracker BarrelEndcap5Dv(described as a pixel detector before the detid migration) + +XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/cmsextent.xml', + 'Geometry/CMSCommonData/data/PhaseI/cms.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/cmsTracker.xml', + 'Geometry/CMSCommonData/data/caloBase.xml', + 'Geometry/CMSCommonData/data/cmsCalo.xml', + 'Geometry/CMSCommonData/data/muonBase.xml', + 'Geometry/CMSCommonData/data/cmsMuon.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/CMSCommonData/data/PhaseI/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam.xml', + 'Geometry/CMSCommonData/data/muonMB.xml', + 'Geometry/CMSCommonData/data/muonMagnet.xml', + 'Geometry/CMSCommonData/data/cavern.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdMaterials.xml', + 'Geometry/TrackerCommonData/data/pixfwdCommon.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdCylinder.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/pixfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdDisks.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladder.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer3.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/pixbar.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/tracker.xml', + 'Geometry/TrackerCommonData/data/trackerpixbar.xml', + 'Geometry/TrackerCommonData/data/PhaseI/trackerpixfwd.xml', + 'Geometry/EcalCommonData/data/eregalgo.xml', + 'Geometry/EcalCommonData/data/ebalgo.xml', + 'Geometry/EcalCommonData/data/ebcon.xml', + 'Geometry/EcalCommonData/data/ebrot.xml', + 'Geometry/EcalCommonData/data/eecon.xml', + 'Geometry/EcalCommonData/data/eefixed.xml', + 'Geometry/EcalCommonData/data/eehier.xml', + 'Geometry/EcalCommonData/data/eealgo.xml', + 'Geometry/EcalCommonData/data/escon.xml', + 'Geometry/EcalCommonData/data/esalgo.xml', + 'Geometry/EcalCommonData/data/eeF.xml', + 'Geometry/EcalCommonData/data/eeB.xml', + 'Geometry/HcalCommonData/data/hcalrotations.xml', + 'Geometry/HcalCommonData/data/hcalalgo.xml', + 'Geometry/HcalCommonData/data/hcalbarrelalgo.xml', + 'Geometry/HcalCommonData/data/hcalendcapalgo.xml', + 'Geometry/HcalCommonData/data/hcalouteralgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardalgo.xml', + 'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml', + 'Geometry/MuonCommonData/data/v1/mbCommon.xml', + 'Geometry/MuonCommonData/data/v1/mb1.xml', + 'Geometry/MuonCommonData/data/v1/mb2.xml', + 'Geometry/MuonCommonData/data/v1/mb3.xml', + 'Geometry/MuonCommonData/data/v1/mb4.xml', + 'Geometry/MuonCommonData/data/design/muonYoke.xml', + 'Geometry/MuonCommonData/data/upscope/2.1Eta/mf.xml', + 'Geometry/MuonCommonData/data/upscope/2.1Eta/rpcf.xml', + 'Geometry/MuonCommonData/data/v2/csc.xml', + 'Geometry/MuonCommonData/data/v2/mfshield.xml', + 'Geometry/ForwardCommonData/data/forward.xml', + 'Geometry/ForwardCommonData/data/v2/forwardshield.xml', + 'Geometry/ForwardCommonData/data/brmrotations.xml', + 'Geometry/ForwardCommonData/data/brm.xml', + 'Geometry/ForwardCommonData/data/totemMaterials.xml', + 'Geometry/ForwardCommonData/data/totemRotations.xml', + 'Geometry/ForwardCommonData/data/totemt1.xml', + 'Geometry/ForwardCommonData/data/totemt2.xml', + 'Geometry/ForwardCommonData/data/ionpump.xml', + 'Geometry/ForwardCommonData/data/castor.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')+cms.vstring( + 'Geometry/MuonCommonData/data/upscope/2.1Eta/muonNumbering.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/trackerStructureTopology.xml', + 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackersens.xml', + 'Geometry/TrackerRecoData/data/PhaseII/BarrelEndcap5D/trackerRecoMaterial.xml', + 'Geometry/EcalSimData/data/ecalsens.xml', + 'Geometry/HcalCommonData/data/hcalsenspmf.xml', + 'Geometry/HcalSimData/data/hf.xml', + 'Geometry/HcalSimData/data/hfpmt.xml', + 'Geometry/HcalSimData/data/hffibrebundle.xml', + 'Geometry/HcalSimData/data/CaloUtil.xml', + 'Geometry/MuonSimData/data/PhaseII/muonSens.xml', + 'Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/upscope/64strips/RPCSpecs.xml', + 'Geometry/ForwardCommonData/data/brmsens.xml', + 'Geometry/ForwardSimData/data/castorsens.xml', + 'Geometry/ForwardSimData/data/zdcsens.xml', + 'Geometry/HcalSimData/data/HcalProdCuts.xml', + 'Geometry/EcalSimData/data/EcalProdCuts.xml', + 'Geometry/EcalSimData/data/ESProdCuts.xml', + 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackerProdCuts.xml', + 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', + 'Geometry/MuonSimData/data/muonProdCuts.xml', + 'Geometry/ForwardSimData/data/CastorProdCuts.xml', + 'Geometry/ForwardSimData/data/zdcProdCuts.xml', + 'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml', + 'Geometry/CMSCommonData/data/FieldParameters.xml'), + rootNodeName = cms.string('cms:OCMS') +) + + diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p4_192_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p4_192_cfi.py new file mode 100644 index 0000000000000..7ca6fbeadfaea --- /dev/null +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p4_192_cfi.py @@ -0,0 +1,129 @@ +import FWCore.ParameterSet.Config as cms + +## 2015 + new phase 1 pixel detector + Tracker BarrelEndcap5Dv(described as a pixel detector before the detid migration) + +XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/cmsextent.xml', + 'Geometry/CMSCommonData/data/PhaseI/cms.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/cmsTracker.xml', + 'Geometry/CMSCommonData/data/caloBase.xml', + 'Geometry/CMSCommonData/data/cmsCalo.xml', + 'Geometry/CMSCommonData/data/muonBase.xml', + 'Geometry/CMSCommonData/data/cmsMuon.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/CMSCommonData/data/PhaseI/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam.xml', + 'Geometry/CMSCommonData/data/muonMB.xml', + 'Geometry/CMSCommonData/data/muonMagnet.xml', + 'Geometry/CMSCommonData/data/cavern.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdMaterials.xml', + 'Geometry/TrackerCommonData/data/pixfwdCommon.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdCylinder.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/pixfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdDisks.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladder.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer3.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/pixbar.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/tracker.xml', + 'Geometry/TrackerCommonData/data/trackerpixbar.xml', + 'Geometry/TrackerCommonData/data/PhaseI/trackerpixfwd.xml', + 'Geometry/EcalCommonData/data/eregalgo.xml', + 'Geometry/EcalCommonData/data/ebalgo.xml', + 'Geometry/EcalCommonData/data/ebcon.xml', + 'Geometry/EcalCommonData/data/ebrot.xml', + 'Geometry/EcalCommonData/data/eecon.xml', + 'Geometry/EcalCommonData/data/eefixed.xml', + 'Geometry/EcalCommonData/data/eehier.xml', + 'Geometry/EcalCommonData/data/eealgo.xml', + 'Geometry/EcalCommonData/data/escon.xml', + 'Geometry/EcalCommonData/data/esalgo.xml', + 'Geometry/EcalCommonData/data/eeF.xml', + 'Geometry/EcalCommonData/data/eeB.xml', + 'Geometry/HcalCommonData/data/hcalrotations.xml', + 'Geometry/HcalCommonData/data/hcalalgo.xml', + 'Geometry/HcalCommonData/data/hcalbarrelalgo.xml', + 'Geometry/HcalCommonData/data/hcalendcapalgo.xml', + 'Geometry/HcalCommonData/data/hcalouteralgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardalgo.xml', + 'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml', + 'Geometry/MuonCommonData/data/v1/mbCommon.xml', + 'Geometry/MuonCommonData/data/v1/mb1.xml', + 'Geometry/MuonCommonData/data/v1/mb2.xml', + 'Geometry/MuonCommonData/data/v1/mb3.xml', + 'Geometry/MuonCommonData/data/v1/mb4.xml', + 'Geometry/MuonCommonData/data/design/muonYoke.xml', + 'Geometry/MuonCommonData/data/upscope/2.4Eta/mf.xml', + 'Geometry/MuonCommonData/data/upscope/2.4Eta/rpcf.xml', + 'Geometry/MuonCommonData/data/v2/csc.xml', + 'Geometry/MuonCommonData/data/v2/mfshield.xml', + 'Geometry/ForwardCommonData/data/forward.xml', + 'Geometry/ForwardCommonData/data/v2/forwardshield.xml', + 'Geometry/ForwardCommonData/data/brmrotations.xml', + 'Geometry/ForwardCommonData/data/brm.xml', + 'Geometry/ForwardCommonData/data/totemMaterials.xml', + 'Geometry/ForwardCommonData/data/totemRotations.xml', + 'Geometry/ForwardCommonData/data/totemt1.xml', + 'Geometry/ForwardCommonData/data/totemt2.xml', + 'Geometry/ForwardCommonData/data/ionpump.xml', + 'Geometry/ForwardCommonData/data/castor.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')+cms.vstring( + 'Geometry/MuonCommonData/data/upscope/2.4Eta/muonNumbering.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/trackerStructureTopology.xml', + 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackersens.xml', + 'Geometry/TrackerRecoData/data/PhaseII/BarrelEndcap5D/trackerRecoMaterial.xml', + 'Geometry/EcalSimData/data/ecalsens.xml', + 'Geometry/HcalCommonData/data/hcalsenspmf.xml', + 'Geometry/HcalSimData/data/hf.xml', + 'Geometry/HcalSimData/data/hfpmt.xml', + 'Geometry/HcalSimData/data/hffibrebundle.xml', + 'Geometry/HcalSimData/data/CaloUtil.xml', + 'Geometry/MuonSimData/data/PhaseII/muonSens.xml', + 'Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/upscope/192strips/RPCSpecs.xml', + 'Geometry/ForwardCommonData/data/brmsens.xml', + 'Geometry/ForwardSimData/data/castorsens.xml', + 'Geometry/ForwardSimData/data/zdcsens.xml', + 'Geometry/HcalSimData/data/HcalProdCuts.xml', + 'Geometry/EcalSimData/data/EcalProdCuts.xml', + 'Geometry/EcalSimData/data/ESProdCuts.xml', + 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackerProdCuts.xml', + 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', + 'Geometry/MuonSimData/data/muonProdCuts.xml', + 'Geometry/ForwardSimData/data/CastorProdCuts.xml', + 'Geometry/ForwardSimData/data/zdcProdCuts.xml', + 'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml', + 'Geometry/CMSCommonData/data/FieldParameters.xml'), + rootNodeName = cms.string('cms:OCMS') +) + + diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p4_256_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p4_256_cfi.py new file mode 100644 index 0000000000000..0f83dce5df868 --- /dev/null +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p4_256_cfi.py @@ -0,0 +1,129 @@ +import FWCore.ParameterSet.Config as cms + +## 2015 + new phase 1 pixel detector + Tracker BarrelEndcap5Dv(described as a pixel detector before the detid migration) + +XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/cmsextent.xml', + 'Geometry/CMSCommonData/data/PhaseI/cms.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/cmsTracker.xml', + 'Geometry/CMSCommonData/data/caloBase.xml', + 'Geometry/CMSCommonData/data/cmsCalo.xml', + 'Geometry/CMSCommonData/data/muonBase.xml', + 'Geometry/CMSCommonData/data/cmsMuon.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/CMSCommonData/data/PhaseI/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam.xml', + 'Geometry/CMSCommonData/data/muonMB.xml', + 'Geometry/CMSCommonData/data/muonMagnet.xml', + 'Geometry/CMSCommonData/data/cavern.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdMaterials.xml', + 'Geometry/TrackerCommonData/data/pixfwdCommon.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdCylinder.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/pixfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdDisks.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladder.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer3.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/pixbar.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/tracker.xml', + 'Geometry/TrackerCommonData/data/trackerpixbar.xml', + 'Geometry/TrackerCommonData/data/PhaseI/trackerpixfwd.xml', + 'Geometry/EcalCommonData/data/eregalgo.xml', + 'Geometry/EcalCommonData/data/ebalgo.xml', + 'Geometry/EcalCommonData/data/ebcon.xml', + 'Geometry/EcalCommonData/data/ebrot.xml', + 'Geometry/EcalCommonData/data/eecon.xml', + 'Geometry/EcalCommonData/data/eefixed.xml', + 'Geometry/EcalCommonData/data/eehier.xml', + 'Geometry/EcalCommonData/data/eealgo.xml', + 'Geometry/EcalCommonData/data/escon.xml', + 'Geometry/EcalCommonData/data/esalgo.xml', + 'Geometry/EcalCommonData/data/eeF.xml', + 'Geometry/EcalCommonData/data/eeB.xml', + 'Geometry/HcalCommonData/data/hcalrotations.xml', + 'Geometry/HcalCommonData/data/hcalalgo.xml', + 'Geometry/HcalCommonData/data/hcalbarrelalgo.xml', + 'Geometry/HcalCommonData/data/hcalendcapalgo.xml', + 'Geometry/HcalCommonData/data/hcalouteralgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardalgo.xml', + 'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml', + 'Geometry/MuonCommonData/data/v1/mbCommon.xml', + 'Geometry/MuonCommonData/data/v1/mb1.xml', + 'Geometry/MuonCommonData/data/v1/mb2.xml', + 'Geometry/MuonCommonData/data/v1/mb3.xml', + 'Geometry/MuonCommonData/data/v1/mb4.xml', + 'Geometry/MuonCommonData/data/design/muonYoke.xml', + 'Geometry/MuonCommonData/data/upscope/2.4Eta/mf.xml', + 'Geometry/MuonCommonData/data/upscope/2.4Eta/rpcf.xml', + 'Geometry/MuonCommonData/data/v2/csc.xml', + 'Geometry/MuonCommonData/data/v2/mfshield.xml', + 'Geometry/ForwardCommonData/data/forward.xml', + 'Geometry/ForwardCommonData/data/v2/forwardshield.xml', + 'Geometry/ForwardCommonData/data/brmrotations.xml', + 'Geometry/ForwardCommonData/data/brm.xml', + 'Geometry/ForwardCommonData/data/totemMaterials.xml', + 'Geometry/ForwardCommonData/data/totemRotations.xml', + 'Geometry/ForwardCommonData/data/totemt1.xml', + 'Geometry/ForwardCommonData/data/totemt2.xml', + 'Geometry/ForwardCommonData/data/ionpump.xml', + 'Geometry/ForwardCommonData/data/castor.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')+cms.vstring( + 'Geometry/MuonCommonData/data/upscope/2.4Eta/muonNumbering.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/trackerStructureTopology.xml', + 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackersens.xml', + 'Geometry/TrackerRecoData/data/PhaseII/BarrelEndcap5D/trackerRecoMaterial.xml', + 'Geometry/EcalSimData/data/ecalsens.xml', + 'Geometry/HcalCommonData/data/hcalsenspmf.xml', + 'Geometry/HcalSimData/data/hf.xml', + 'Geometry/HcalSimData/data/hfpmt.xml', + 'Geometry/HcalSimData/data/hffibrebundle.xml', + 'Geometry/HcalSimData/data/CaloUtil.xml', + 'Geometry/MuonSimData/data/PhaseII/muonSens.xml', + 'Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/upscope/256strips/RPCSpecs.xml', + 'Geometry/ForwardCommonData/data/brmsens.xml', + 'Geometry/ForwardSimData/data/castorsens.xml', + 'Geometry/ForwardSimData/data/zdcsens.xml', + 'Geometry/HcalSimData/data/HcalProdCuts.xml', + 'Geometry/EcalSimData/data/EcalProdCuts.xml', + 'Geometry/EcalSimData/data/ESProdCuts.xml', + 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackerProdCuts.xml', + 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', + 'Geometry/MuonSimData/data/muonProdCuts.xml', + 'Geometry/ForwardSimData/data/CastorProdCuts.xml', + 'Geometry/ForwardSimData/data/zdcProdCuts.xml', + 'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml', + 'Geometry/CMSCommonData/data/FieldParameters.xml'), + rootNodeName = cms.string('cms:OCMS') +) + + diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p4_64_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p4_64_cfi.py new file mode 100644 index 0000000000000..f2c556eb85156 --- /dev/null +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023RPCUpscopeXML_2p4_64_cfi.py @@ -0,0 +1,129 @@ +import FWCore.ParameterSet.Config as cms + +## 2015 + new phase 1 pixel detector + Tracker BarrelEndcap5Dv(described as a pixel detector before the detid migration) + +XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/cmsextent.xml', + 'Geometry/CMSCommonData/data/PhaseI/cms.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/cmsTracker.xml', + 'Geometry/CMSCommonData/data/caloBase.xml', + 'Geometry/CMSCommonData/data/cmsCalo.xml', + 'Geometry/CMSCommonData/data/muonBase.xml', + 'Geometry/CMSCommonData/data/cmsMuon.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/CMSCommonData/data/PhaseI/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam.xml', + 'Geometry/CMSCommonData/data/muonMB.xml', + 'Geometry/CMSCommonData/data/muonMagnet.xml', + 'Geometry/CMSCommonData/data/cavern.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdMaterials.xml', + 'Geometry/TrackerCommonData/data/pixfwdCommon.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdCylinder.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/pixfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdDisks.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladder.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer3.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/pixbar.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/tracker.xml', + 'Geometry/TrackerCommonData/data/trackerpixbar.xml', + 'Geometry/TrackerCommonData/data/PhaseI/trackerpixfwd.xml', + 'Geometry/EcalCommonData/data/eregalgo.xml', + 'Geometry/EcalCommonData/data/ebalgo.xml', + 'Geometry/EcalCommonData/data/ebcon.xml', + 'Geometry/EcalCommonData/data/ebrot.xml', + 'Geometry/EcalCommonData/data/eecon.xml', + 'Geometry/EcalCommonData/data/eefixed.xml', + 'Geometry/EcalCommonData/data/eehier.xml', + 'Geometry/EcalCommonData/data/eealgo.xml', + 'Geometry/EcalCommonData/data/escon.xml', + 'Geometry/EcalCommonData/data/esalgo.xml', + 'Geometry/EcalCommonData/data/eeF.xml', + 'Geometry/EcalCommonData/data/eeB.xml', + 'Geometry/HcalCommonData/data/hcalrotations.xml', + 'Geometry/HcalCommonData/data/hcalalgo.xml', + 'Geometry/HcalCommonData/data/hcalbarrelalgo.xml', + 'Geometry/HcalCommonData/data/hcalendcapalgo.xml', + 'Geometry/HcalCommonData/data/hcalouteralgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardalgo.xml', + 'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml', + 'Geometry/MuonCommonData/data/v1/mbCommon.xml', + 'Geometry/MuonCommonData/data/v1/mb1.xml', + 'Geometry/MuonCommonData/data/v1/mb2.xml', + 'Geometry/MuonCommonData/data/v1/mb3.xml', + 'Geometry/MuonCommonData/data/v1/mb4.xml', + 'Geometry/MuonCommonData/data/design/muonYoke.xml', + 'Geometry/MuonCommonData/data/upscope/2.4Eta/mf.xml', + 'Geometry/MuonCommonData/data/upscope/2.4Eta/rpcf.xml', + 'Geometry/MuonCommonData/data/v2/csc.xml', + 'Geometry/MuonCommonData/data/v2/mfshield.xml', + 'Geometry/ForwardCommonData/data/forward.xml', + 'Geometry/ForwardCommonData/data/v2/forwardshield.xml', + 'Geometry/ForwardCommonData/data/brmrotations.xml', + 'Geometry/ForwardCommonData/data/brm.xml', + 'Geometry/ForwardCommonData/data/totemMaterials.xml', + 'Geometry/ForwardCommonData/data/totemRotations.xml', + 'Geometry/ForwardCommonData/data/totemt1.xml', + 'Geometry/ForwardCommonData/data/totemt2.xml', + 'Geometry/ForwardCommonData/data/ionpump.xml', + 'Geometry/ForwardCommonData/data/castor.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')+cms.vstring( + 'Geometry/MuonCommonData/data/upscope/2.4Eta/muonNumbering.xml', + 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/trackerStructureTopology.xml', + 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackersens.xml', + 'Geometry/TrackerRecoData/data/PhaseII/BarrelEndcap5D/trackerRecoMaterial.xml', + 'Geometry/EcalSimData/data/ecalsens.xml', + 'Geometry/HcalCommonData/data/hcalsenspmf.xml', + 'Geometry/HcalSimData/data/hf.xml', + 'Geometry/HcalSimData/data/hfpmt.xml', + 'Geometry/HcalSimData/data/hffibrebundle.xml', + 'Geometry/HcalSimData/data/CaloUtil.xml', + 'Geometry/MuonSimData/data/PhaseII/muonSens.xml', + 'Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/upscope/64strips/RPCSpecs.xml', + 'Geometry/ForwardCommonData/data/brmsens.xml', + 'Geometry/ForwardSimData/data/castorsens.xml', + 'Geometry/ForwardSimData/data/zdcsens.xml', + 'Geometry/HcalSimData/data/HcalProdCuts.xml', + 'Geometry/EcalSimData/data/EcalProdCuts.xml', + 'Geometry/EcalSimData/data/ESProdCuts.xml', + 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackerProdCuts.xml', + 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', + 'Geometry/MuonSimData/data/muonProdCuts.xml', + 'Geometry/ForwardSimData/data/CastorProdCuts.xml', + 'Geometry/ForwardSimData/data/zdcProdCuts.xml', + 'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml', + 'Geometry/CMSCommonData/data/FieldParameters.xml'), + rootNodeName = cms.string('cms:OCMS') +) + + diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023SHCal4EtaXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023SHCal4EtaXML_cfi.py index 61cb209be304e..d91b62e372732 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023SHCal4EtaXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023SHCal4EtaXML_cfi.py @@ -111,7 +111,6 @@ 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', 'Geometry/RPCGeometryBuilder/data/RPCSpecs.xml', - 'Geometry/GEMGeometryBuilder/data/v4/GEMSpecs.xml', 'Geometry/ForwardCommonData/data/brmsens.xml', 'Geometry/ForwardSimData/data/castorsens.xml', 'Geometry/ForwardSimData/data/zdcsens.xml', diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023XML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023XML_cfi.py index dadf2ce2c3e6d..b5f1ea6002804 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2023XML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2023XML_cfi.py @@ -11,7 +11,7 @@ 'Geometry/CMSCommonData/data/cmsTracker.xml', 'Geometry/CMSCommonData/data/caloBase.xml', 'Geometry/CMSCommonData/data/cmsCalo.xml', - 'Geometry/CMSCommonData/data/muonBase.xml', + 'Geometry/CMSCommonData/data/PhaseII/muonBase.xml', 'Geometry/CMSCommonData/data/cmsMuon.xml', 'Geometry/CMSCommonData/data/mgnt.xml', 'Geometry/CMSCommonData/data/PhaseI/beampipe.xml', @@ -74,10 +74,15 @@ 'Geometry/MuonCommonData/data/v1/mb3.xml', 'Geometry/MuonCommonData/data/v1/mb4.xml', 'Geometry/MuonCommonData/data/design/muonYoke.xml', - 'Geometry/MuonCommonData/data/v2/mf.xml', - 'Geometry/MuonCommonData/data/v2/rpcf.xml', + # 'Geometry/MuonCommonData/data/v7/mf.xml', + 'Geometry/MuonCommonData/data/PhaseII/v3/mf.xml', + 'Geometry/MuonCommonData/data/PhaseII/v3/rpcf.xml', + 'Geometry/MuonCommonData/data/v2/gemf.xml', + 'Geometry/MuonCommonData/data/v5/gem11.xml', + 'Geometry/MuonCommonData/data/v6/gem21.xml', 'Geometry/MuonCommonData/data/v2/csc.xml', - 'Geometry/MuonCommonData/data/v2/mfshield.xml', + # 'Geometry/MuonCommonData/data/v2/mfshield.xml', + 'Geometry/MuonCommonData/data/PhaseII/v3/mfshield.xml', 'Geometry/ForwardCommonData/data/forward.xml', 'Geometry/ForwardCommonData/data/v2/forwardshield.xml', 'Geometry/ForwardCommonData/data/brmrotations.xml', @@ -95,7 +100,7 @@ 'Geometry/ForwardCommonData/data/zdc.xml', 'Geometry/ForwardCommonData/data/zdclumi.xml', 'Geometry/ForwardCommonData/data/cmszdc.xml')+cms.vstring( - 'Geometry/MuonCommonData/data/v2/muonNumbering.xml', + 'Geometry/MuonCommonData/data/PhaseII/v3/muonNumbering.xml', 'Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/trackerStructureTopology.xml', 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackersens.xml', 'Geometry/TrackerRecoData/data/PhaseII/BarrelEndcap5D/trackerRecoMaterial.xml', @@ -105,11 +110,12 @@ 'Geometry/HcalSimData/data/hfpmt.xml', 'Geometry/HcalSimData/data/hffibrebundle.xml', 'Geometry/HcalSimData/data/CaloUtil.xml', - 'Geometry/MuonSimData/data/muonSens.xml', + 'Geometry/MuonSimData/data/PhaseII/v3/muonSens.xml', 'Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml', 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', - 'Geometry/RPCGeometryBuilder/data/RPCSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/PhaseII/RPCSpecs.xml', + 'Geometry/GEMGeometryBuilder/data/v5/GEMSpecs.xml', 'Geometry/ForwardCommonData/data/brmsens.xml', 'Geometry/ForwardSimData/data/castorsens.xml', 'Geometry/ForwardSimData/data/zdcsens.xml', @@ -118,7 +124,7 @@ 'Geometry/EcalSimData/data/ESProdCuts.xml', 'Geometry/TrackerSimData/data/PhaseII/BarrelEndcap5D/trackerProdCuts.xml', 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', - 'Geometry/MuonSimData/data/muonProdCuts.xml', + 'Geometry/MuonSimData/data/PhaseII/v3/muonProdCuts.xml', 'Geometry/ForwardSimData/data/CastorProdCuts.xml', 'Geometry/ForwardSimData/data/zdcProdCuts.xml', 'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml', diff --git a/Geometry/GEMGeometry/python/gemGeometryCustoms.py b/Geometry/GEMGeometry/python/gemGeometryCustoms.py index 6d3ea4dacd590..355a0d38f1233 100644 --- a/Geometry/GEMGeometry/python/gemGeometryCustoms.py +++ b/Geometry/GEMGeometry/python/gemGeometryCustoms.py @@ -9,7 +9,7 @@ def custom_GE11_6partitions_v1(process): process.XMLIdealGeometryESSource.geomXMLFiles.insert(mynum,'Geometry/MuonCommonData/data/v2/gem11.xml') return process -def custom_GE11_8partitions_v1(process): +def custom_GE11_9and10partitions_v1(process): mynum = process.XMLIdealGeometryESSource.geomXMLFiles.index('Geometry/MuonCommonData/data/v5/gem11.xml') process.XMLIdealGeometryESSource.geomXMLFiles.remove('Geometry/MuonCommonData/data/v5/gem11.xml') process.XMLIdealGeometryESSource.geomXMLFiles.insert(mynum,'Geometry/MuonCommonData/data/v4/gem11.xml') diff --git a/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc b/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc index e700ad2d3cc2c..7d6180c606ef3 100644 --- a/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc +++ b/Geometry/GEMGeometry/test/GEMGeometryAnalyzer.cc @@ -220,13 +220,13 @@ GEMGeometryAnalyzer::analyze( const edm::Event& /*iEvent*/, const edm::EventSetu double deta(abs(beta - teta)); const bool printDetails(true); if (printDetails) - ofos << " \tType: " << type << endl - << " \tDimensions[cm]: b = " << bottomEdge << ", B = " << topEdge << ", h = " << height << endl - << " \tnStrips = " << nStrips << ", nPads = " << nPads << endl - << " \tcenter(x,y,z) = " << cx << " " << cy << " " << cz << ", center(eta,phi) = " << ceta << " " << cphi << endl - << " \ttop(x,y,z) = " << tx << " " << ty << " " << tz << ", top(eta,phi) = " << teta << " " << tphi << endl - << " \tbottom(x,y,z) = " << bx << " " << by << " " << bz << ", bottom(eta,phi) = " << beta << " " << bphi << endl - << " \tpith (top,center,bottom) = " << topPitch << " " << pitch << " " << bottomPitch << ", dEta = " << deta << ", dPhi = " << dphi << endl; + ofos << " \t\tType: " << type << endl + << " \t\tDimensions[cm]: b = " << bottomEdge << ", B = " << topEdge << ", h = " << height << endl + << " \t\tnStrips = " << nStrips << ", nPads = " << nPads << endl + << " \t\tcenter(x,y,z) = " << cx << " " << cy << " " << cz << ", center(eta,phi) = " << ceta << " " << cphi << endl + << " \t\ttop(x,y,z) = " << tx << " " << ty << " " << tz << ", top(eta,phi) = " << teta << " " << tphi << endl + << " \t\tbottom(x,y,z) = " << bx << " " << by << " " << bz << ", bottom(eta,phi) = " << beta << " " << bphi << endl + << " \t\tpitch (top,center,bottom) = " << topPitch << " " << pitch << " " << bottomPitch << ", dEta = " << deta << ", dPhi = " << dphi << endl; ++k; } diff --git a/Geometry/MuonCommonData/data/PhaseII/v2/muonNumbering.xml b/Geometry/MuonCommonData/data/PhaseII/v2/muonNumbering.xml index 07c2d92393423..2b2e76ebb9d05 100644 --- a/Geometry/MuonCommonData/data/PhaseII/v2/muonNumbering.xml +++ b/Geometry/MuonCommonData/data/PhaseII/v2/muonNumbering.xml @@ -251,12 +251,15 @@ + + + @@ -340,6 +343,21 @@ + + + + + + + + + + + + + + + @@ -350,6 +368,21 @@ + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/PhaseII/v3/mf.xml b/Geometry/MuonCommonData/data/PhaseII/v3/mf.xml new file mode 100644 index 0000000000000..8d712152fe073 --- /dev/null +++ b/Geometry/MuonCommonData/data/PhaseII/v3/mf.xml @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/PhaseII/v3/mfshield.xml b/Geometry/MuonCommonData/data/PhaseII/v3/mfshield.xml new file mode 100644 index 0000000000000..3f2ba444ced76 --- /dev/null +++ b/Geometry/MuonCommonData/data/PhaseII/v3/mfshield.xml @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/PhaseII/v3/mfshieldPiet.xml b/Geometry/MuonCommonData/data/PhaseII/v3/mfshieldPiet.xml new file mode 100644 index 0000000000000..3f2ba444ced76 --- /dev/null +++ b/Geometry/MuonCommonData/data/PhaseII/v3/mfshieldPiet.xml @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/PhaseII/v3/mfshieldRelease.xml b/Geometry/MuonCommonData/data/PhaseII/v3/mfshieldRelease.xml new file mode 100644 index 0000000000000..4dedc07d28440 --- /dev/null +++ b/Geometry/MuonCommonData/data/PhaseII/v3/mfshieldRelease.xml @@ -0,0 +1,598 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/PhaseII/v3/muonNumbering.xml b/Geometry/MuonCommonData/data/PhaseII/v3/muonNumbering.xml new file mode 100644 index 0000000000000..2b2e76ebb9d05 --- /dev/null +++ b/Geometry/MuonCommonData/data/PhaseII/v3/muonNumbering.xml @@ -0,0 +1,519 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/PhaseII/v3/muonNumbering.xml~ b/Geometry/MuonCommonData/data/PhaseII/v3/muonNumbering.xml~ new file mode 100644 index 0000000000000..5799ffd6b82cc --- /dev/null +++ b/Geometry/MuonCommonData/data/PhaseII/v3/muonNumbering.xml~ @@ -0,0 +1,492 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/PhaseII/v3/muonNumberingPiet.xml b/Geometry/MuonCommonData/data/PhaseII/v3/muonNumberingPiet.xml new file mode 100644 index 0000000000000..0384505e4480f --- /dev/null +++ b/Geometry/MuonCommonData/data/PhaseII/v3/muonNumberingPiet.xml @@ -0,0 +1,461 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/PhaseII/v3/rpcf.xml b/Geometry/MuonCommonData/data/PhaseII/v3/rpcf.xml new file mode 100644 index 0000000000000..131443d3f8308 --- /dev/null +++ b/Geometry/MuonCommonData/data/PhaseII/v3/rpcf.xml @@ -0,0 +1,746 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/upscope/2.1Eta/mf.xml b/Geometry/MuonCommonData/data/upscope/2.1Eta/mf.xml new file mode 100644 index 0000000000000..7391879216f64 --- /dev/null +++ b/Geometry/MuonCommonData/data/upscope/2.1Eta/mf.xml @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/upscope/2.1Eta/mfshield.xml b/Geometry/MuonCommonData/data/upscope/2.1Eta/mfshield.xml new file mode 100644 index 0000000000000..3f2ba444ced76 --- /dev/null +++ b/Geometry/MuonCommonData/data/upscope/2.1Eta/mfshield.xml @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/upscope/2.1Eta/muonNumbering.xml b/Geometry/MuonCommonData/data/upscope/2.1Eta/muonNumbering.xml new file mode 100644 index 0000000000000..18c06163b21fd --- /dev/null +++ b/Geometry/MuonCommonData/data/upscope/2.1Eta/muonNumbering.xml @@ -0,0 +1,431 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/upscope/2.1Eta/rpcf.xml b/Geometry/MuonCommonData/data/upscope/2.1Eta/rpcf.xml new file mode 100644 index 0000000000000..04c47313bcf58 --- /dev/null +++ b/Geometry/MuonCommonData/data/upscope/2.1Eta/rpcf.xml @@ -0,0 +1,686 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/upscope/2.4Eta/mf.xml b/Geometry/MuonCommonData/data/upscope/2.4Eta/mf.xml new file mode 100644 index 0000000000000..7391879216f64 --- /dev/null +++ b/Geometry/MuonCommonData/data/upscope/2.4Eta/mf.xml @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/upscope/2.4Eta/mfshield.xml b/Geometry/MuonCommonData/data/upscope/2.4Eta/mfshield.xml new file mode 100644 index 0000000000000..3f2ba444ced76 --- /dev/null +++ b/Geometry/MuonCommonData/data/upscope/2.4Eta/mfshield.xml @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/upscope/2.4Eta/muonNumbering.xml b/Geometry/MuonCommonData/data/upscope/2.4Eta/muonNumbering.xml new file mode 100644 index 0000000000000..0384505e4480f --- /dev/null +++ b/Geometry/MuonCommonData/data/upscope/2.4Eta/muonNumbering.xml @@ -0,0 +1,461 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonCommonData/data/upscope/2.4Eta/rpcf.xml b/Geometry/MuonCommonData/data/upscope/2.4Eta/rpcf.xml new file mode 100644 index 0000000000000..131443d3f8308 --- /dev/null +++ b/Geometry/MuonCommonData/data/upscope/2.4Eta/rpcf.xml @@ -0,0 +1,746 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonSimData/data/PhaseII/muonSens.xml b/Geometry/MuonSimData/data/PhaseII/muonSens.xml index 54adca729aec8..ee8c265153cef 100644 --- a/Geometry/MuonSimData/data/PhaseII/muonSens.xml +++ b/Geometry/MuonSimData/data/PhaseII/muonSens.xml @@ -12,18 +12,7 @@ - - - - - - - - - - - - + diff --git a/Geometry/MuonSimData/data/PhaseII/v3/muonProdCuts.xml b/Geometry/MuonSimData/data/PhaseII/v3/muonProdCuts.xml new file mode 100644 index 0000000000000..0354e8ada9cef --- /dev/null +++ b/Geometry/MuonSimData/data/PhaseII/v3/muonProdCuts.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MuonSimData/data/v3/muonSens.xml b/Geometry/MuonSimData/data/PhaseII/v3/muonSens.xml similarity index 80% rename from Geometry/MuonSimData/data/v3/muonSens.xml rename to Geometry/MuonSimData/data/PhaseII/v3/muonSens.xml index 8755c5e806b37..f6d45883cafb5 100644 --- a/Geometry/MuonSimData/data/v3/muonSens.xml +++ b/Geometry/MuonSimData/data/PhaseII/v3/muonSens.xml @@ -12,18 +12,7 @@ - - - - - - - - - - - - + diff --git a/Geometry/MuonSimData/data/muonProdCuts.xml b/Geometry/MuonSimData/data/muonProdCuts.xml index cbe1b193373c2..3cb68a7d5b65e 100644 --- a/Geometry/MuonSimData/data/muonProdCuts.xml +++ b/Geometry/MuonSimData/data/muonProdCuts.xml @@ -58,8 +58,8 @@ - - + + diff --git a/Geometry/MuonSimData/data/muonSens.xml b/Geometry/MuonSimData/data/muonSens.xml index 54adca729aec8..ee8c265153cef 100644 --- a/Geometry/MuonSimData/data/muonSens.xml +++ b/Geometry/MuonSimData/data/muonSens.xml @@ -12,18 +12,7 @@ - - - - - - - - - - - - + diff --git a/Geometry/RPCGeometry/src/RPCGeomServ.cc b/Geometry/RPCGeometry/src/RPCGeomServ.cc index 23984db26f625..7e928318bd50f 100644 --- a/Geometry/RPCGeometry/src/RPCGeomServ.cc +++ b/Geometry/RPCGeometry/src/RPCGeomServ.cc @@ -110,6 +110,8 @@ RPCGeomServ::name( void ) os << "_C"; else if( roll == 4 ) os << "_D"; + else if( roll == 5 ) + os << "_E"; } _n = os.str(); } diff --git a/Geometry/RPCGeometry/test/RPCGEO.cc b/Geometry/RPCGeometry/test/RPCGEO.cc index baf47874c41f5..0151dc906c1b9 100644 --- a/Geometry/RPCGeometry/test/RPCGEO.cc +++ b/Geometry/RPCGeometry/test/RPCGEO.cc @@ -99,9 +99,10 @@ RPCGEO::analyze(const edm::Event& /*iEvent*/, const edm::EventSetup& iSetup) { using namespace edm; - std::cout <<" Getting the RPC Geometry"< rpcGeo; iSetup.get().get(rpcGeo); + std::cout <<" RPCGEO :: analyze :: Got the RPC Geometry"<dets().begin();itdets().end();it++){ if( dynamic_cast< RPCChamber* >( *it ) != 0 ){ RPCChamber* ch = dynamic_cast< RPCChamber* >( *it ); @@ -207,12 +208,13 @@ RPCGEO::analyze(const edm::Event& /*iEvent*/, const edm::EventSetup& iSetup) } } + std::cout <<" RPCGEO :: analyze :: Loop over RPC Rolls"<::const_iterator r = roles.begin();r != roles.end(); ++r){ RPCDetId rpcId = (*r)->id(); - int stripsinthisroll=(*r)->nstrips(); + int n_strips=(*r)->nstrips(); RPCGeomServ rpcsrv(rpcId); - //std::cout<surface(); GlobalPoint FirstStripCenterPointInGlobal = RPCSurface.toGlobal(top_->localPosition(s1)); GlobalPoint LastStripCenterPointInGlobal = RPCSurface.toGlobal(top_->localPosition(sLast)); @@ -391,7 +406,7 @@ RPCGEO::analyze(const edm::Event& /*iEvent*/, const edm::EventSetup& iSetup) - for(int strip=1;strip<=stripsinthisroll;++strip){ + for(int strip=1;strip<=n_strips;++strip){ //LocalPoint lCentre=(*r)->centreOfStrip(strip); //const BoundSurface& bSurface = (*r)->surface(); //GlobalPoint gCentre = bSurface.toGlobal(lCentre); diff --git a/Geometry/RPCGeometry/test/rpcgeo.py b/Geometry/RPCGeometry/test/rpcgeo.py index d0a142cadc5a0..9e9f08ded6cd3 100644 --- a/Geometry/RPCGeometry/test/rpcgeo.py +++ b/Geometry/RPCGeometry/test/rpcgeo.py @@ -1,11 +1,21 @@ import FWCore.ParameterSet.Config as cms process = cms.Process("Demo") -process.load("Geometry.MuonCommonData.muonIdealGeometryXML_cfi") +# process.load("Geometry.MuonCommonData.muonIdealGeometryXML_cfi") +# process.load("Geometry.RPCGeometry.rpcGeometry_cfi") +# process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi") -process.load("Geometry.RPCGeometry.rpcGeometry_cfi") +process.load("Configuration.Geometry.GeometryExtended2023_cff") +process.load("Configuration.Geometry.GeometryExtended2023Reco_cff") +# process.load("Configuration.Geometry.GeometryExtended2023RPCUpscope_2p4_192_cff") +# process.load('Configuration.Geometry.GeometryExtended2023RPCUpscopeReco_2p4_192_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') +#process.load('Geometry.CommonDetUnit.globalTrackingGeometry_cfi') +#process.load('Geometry.MuonNumbering.muonNumberingInitialization_cfi') + +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:upgrade2019', '') -process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi") process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1) diff --git a/Geometry/RPCGeometry/test/testRPCGeometry_cfg.py b/Geometry/RPCGeometry/test/testRPCGeometry_cfg.py index b2c5404432aa7..5ede2a77af2cf 100644 --- a/Geometry/RPCGeometry/test/testRPCGeometry_cfg.py +++ b/Geometry/RPCGeometry/test/testRPCGeometry_cfg.py @@ -1,11 +1,31 @@ import FWCore.ParameterSet.Config as cms process = cms.Process("Demo") -process.load('Configuration.Geometry.GeometryExtended2023HGCalMuon_cff') -process.load('Configuration.Geometry.GeometryExtended2023HGCalMuonReco_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') +# process.load('Configuration.Geometry.GeometryExtended2023_cff') +# process.load('Geometry.CommonDetUnit.globalTrackingGeometry_cfi') +# process.load('Geometry.MuonNumbering.muonNumberingInitialization_cfi') + +# process.load('Configuration.Geometry.GeometryExtended2023HGCalMuon_cff') +# process.load('Configuration.Geometry.GeometryExtended2023HGCalMuonReco_cff') +# process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +# process.load('Configuration.Geometry.GeometryExtended_cff') +# process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') +# process.load('Geometry.CommonDetUnit.globalTrackingGeometry_cfi') +# process.load('Geometry.MuonNumbering.muonNumberingInitialization_cfi') + +# from Configuration.AlCa.autoCond import autoCond +# process.GlobalTag.globaltag = autoCond['mc'] -process.load('FWCore.MessageLogger.MessageLogger_cfi') + +process.load('Configuration.Geometry.GeometryExtended2023_cff') +process.load('Configuration.Geometry.GeometryExtended2023Reco_cff') + +# process.load('Configuration.Geometry.GeometryExtended2023RPCUpscopeReco_2p4_192_cff') +# process.load("Configuration.Geometry.GeometryExtended2023RPCUpscope_2p4_192_cff") +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') +#process.load('Geometry.CommonDetUnit.globalTrackingGeometry_cfi') +#process.load('Geometry.MuonNumbering.muonNumberingInitialization_cfi') from Configuration.AlCa.GlobalTag import GlobalTag process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:upgrade2019', '') @@ -16,7 +36,12 @@ process.source = cms.Source("EmptySource") process.MessageLogger = cms.Service("MessageLogger") - +# process.MessageLogger = cms.Service("MessageLogger", +# debugModules = cms.untracked.vstring('*'), +# cout = cms.untracked.PSet(threshold = cms.untracked.string('INFO')), +# # cout = cms.untracked.PSet(threshold = cms.untracked.string('DEBUG')), +# destinations = cms.untracked.vstring('cout') +# ) process.test1 = cms.EDAnalyzer("RPCGEO") process.test2 = cms.EDAnalyzer("RPCGeometryAnalyzer") diff --git a/Geometry/RPCGeometryBuilder/data/PhaseII-192/RPCSpecs.xml b/Geometry/RPCGeometryBuilder/data/PhaseII-192/RPCSpecs.xml new file mode 100644 index 0000000000000..b3060503c1a47 --- /dev/null +++ b/Geometry/RPCGeometryBuilder/data/PhaseII-192/RPCSpecs.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/RPCGeometryBuilder/data/PhaseII-192/RPCSpecs.xml~ b/Geometry/RPCGeometryBuilder/data/PhaseII-192/RPCSpecs.xml~ new file mode 100644 index 0000000000000..9c71a4462c74f --- /dev/null +++ b/Geometry/RPCGeometryBuilder/data/PhaseII-192/RPCSpecs.xml~ @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/RPCGeometryBuilder/data/PhaseII/RPCSpecs.xml b/Geometry/RPCGeometryBuilder/data/PhaseII/RPCSpecs.xml new file mode 100644 index 0000000000000..c5e2b696757dd --- /dev/null +++ b/Geometry/RPCGeometryBuilder/data/PhaseII/RPCSpecs.xml @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/RPCGeometryBuilder/data/PhaseII/RPCSpecs.xml~ b/Geometry/RPCGeometryBuilder/data/PhaseII/RPCSpecs.xml~ new file mode 100644 index 0000000000000..3269297f5d4dc --- /dev/null +++ b/Geometry/RPCGeometryBuilder/data/PhaseII/RPCSpecs.xml~ @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/RPCGeometryBuilder/data/upscope/192strips/RPCSpecs.xml b/Geometry/RPCGeometryBuilder/data/upscope/192strips/RPCSpecs.xml new file mode 100644 index 0000000000000..b3060503c1a47 --- /dev/null +++ b/Geometry/RPCGeometryBuilder/data/upscope/192strips/RPCSpecs.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/RPCGeometryBuilder/data/upscope/256strips/RPCSpecs.xml b/Geometry/RPCGeometryBuilder/data/upscope/256strips/RPCSpecs.xml new file mode 100644 index 0000000000000..9c71a4462c74f --- /dev/null +++ b/Geometry/RPCGeometryBuilder/data/upscope/256strips/RPCSpecs.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/RPCGeometryBuilder/data/upscope/64strips/RPCSpecs.xml b/Geometry/RPCGeometryBuilder/data/upscope/64strips/RPCSpecs.xml new file mode 100644 index 0000000000000..c65f5fcf419a1 --- /dev/null +++ b/Geometry/RPCGeometryBuilder/data/upscope/64strips/RPCSpecs.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/RPCGeometryBuilder/plugins/RPCGeometryESModule.cc b/Geometry/RPCGeometryBuilder/plugins/RPCGeometryESModule.cc index cccd111607bb6..4d2506f5d69f6 100644 --- a/Geometry/RPCGeometryBuilder/plugins/RPCGeometryESModule.cc +++ b/Geometry/RPCGeometryBuilder/plugins/RPCGeometryESModule.cc @@ -39,11 +39,18 @@ RPCGeometryESModule::~RPCGeometryESModule(){} boost::shared_ptr RPCGeometryESModule::produce(const MuonGeometryRecord & record) { + + std::cout<<"RPCGeometryESModule :: produce"< cpv; + std::cout<<"RPCGeometryESModule :: produce :: 1/4 Get Muon Ideal Geometry Record"<().get(cpv); + std::cout<<"RPCGeometryESModule :: produce :: 2/4 Get Muon DDD Constants"< mdc; + std::cout<<"RPCGeometryESModule :: produce :: 3/4 Get Muon Numbering Record"<().get(mdc); + std::cout<<"RPCGeometryESModule :: produce :: 4/4 Build"<(builder.build(&(*cpv), *mdc)); }else{ diff --git a/Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap/tracker.xml b/Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap/tracker.xml index 2066fe0ff9a59..7f019146f5030 100644 --- a/Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap/tracker.xml +++ b/Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap/tracker.xml @@ -18082,76 +18082,76 @@ startPhi="0*deg" deltaPhi="360*deg" --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18167,76 +18167,76 @@ startPhi="0*deg" deltaPhi="360*deg" --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18252,76 +18252,76 @@ startPhi="0*deg" deltaPhi="360*deg" --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18337,76 +18337,76 @@ startPhi="0*deg" deltaPhi="360*deg" --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18422,71 +18422,71 @@ startPhi="0*deg" deltaPhi="360*deg" --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18501,66 +18501,66 @@ startPhi="0*deg" deltaPhi="360*deg" --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18574,61 +18574,61 @@ startPhi="0*deg" deltaPhi="360*deg" --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/tracker.xml b/Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/tracker.xml index 5d1d93ea18faa..6dfca79669eb1 100644 --- a/Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/tracker.xml +++ b/Geometry/TrackerCommonData/data/PhaseII/BarrelEndcap5D/tracker.xml @@ -16651,81 +16651,81 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16742,81 +16742,81 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16833,81 +16833,81 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16924,81 +16924,81 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17015,81 +17015,81 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RecoLocalMuon/GEMRecHit/src/GEMEtaPartitionMask.h b/RecoLocalMuon/GEMRecHit/src/GEMEtaPartitionMask.h index aab403d6445ed..e1ad3e43fa355 100644 --- a/RecoLocalMuon/GEMRecHit/src/GEMEtaPartitionMask.h +++ b/RecoLocalMuon/GEMRecHit/src/GEMEtaPartitionMask.h @@ -4,7 +4,7 @@ #include #include -const int maskSIZE=384; +const int maskSIZE=768; typedef std::bitset EtaPartitionMask; #endif diff --git a/RecoMuon/CosmicMuonProducer/src/CosmicMuonTrajectoryBuilder.cc b/RecoMuon/CosmicMuonProducer/src/CosmicMuonTrajectoryBuilder.cc index f36b930c21d46..a6a0c5d3613a1 100644 --- a/RecoMuon/CosmicMuonProducer/src/CosmicMuonTrajectoryBuilder.cc +++ b/RecoMuon/CosmicMuonProducer/src/CosmicMuonTrajectoryBuilder.cc @@ -50,6 +50,7 @@ CosmicMuonTrajectoryBuilder::CosmicMuonTrajectoryBuilder(const edm::ParameterSet bool enableDTMeasurement = par.getParameter("EnableDTMeasurement"); bool enableCSCMeasurement = par.getParameter("EnableCSCMeasurement"); bool enableRPCMeasurement = par.getParameter("EnableRPCMeasurement"); + //bool enableGEMMeasurement = par.getParameter("EnableGEMMeasurement"); // if(enableDTMeasurement) InputTag DTRecSegmentLabel = par.getParameter("DTRecSegmentLabel"); @@ -60,12 +61,17 @@ CosmicMuonTrajectoryBuilder::CosmicMuonTrajectoryBuilder(const edm::ParameterSet // if(enableRPCMeasurement) InputTag RPCRecSegmentLabel = par.getParameter("RPCRecSegmentLabel"); +// if(enableGEMMeasurement) + //InputTag GEMRecSegmentLabel = par.getParameter("GEMRecSegmentLabel"); + theLayerMeasurements= new MuonDetLayerMeasurements(DTRecSegmentLabel, CSCRecSegmentLabel, RPCRecSegmentLabel, + edm::InputTag(), enableDTMeasurement, enableCSCMeasurement, - enableRPCMeasurement); + enableRPCMeasurement, + false); ParameterSet muonUpdatorPSet = par.getParameter("MuonTrajectoryUpdatorParameters"); diff --git a/RecoMuon/DetLayers/interface/MuonDetLayerGeometry.h b/RecoMuon/DetLayers/interface/MuonDetLayerGeometry.h index b5b57ec36cce0..43ad37879a586 100644 --- a/RecoMuon/DetLayers/interface/MuonDetLayerGeometry.h +++ b/RecoMuon/DetLayers/interface/MuonDetLayerGeometry.h @@ -5,9 +5,8 @@ * * Provide access to the DetLayers of muon detectors. * - * $Date: 2009/07/03 09:12:47 $ - * $Revision: 1.13 $ * \author N. Amapane - CERN + * \modified by R. Radogna & C. Calabria */ #include "DataFormats/DetId/interface/DetId.h" @@ -40,6 +39,19 @@ class MuonDetLayerGeometry : public DetLayerGeometry{ /// return the backward (-Z) CSC DetLayers, inside-out const std::vector& backwardCSCLayers() const; +/////////////////////////////// GEMs + + /// return the GEM DetLayers (endcap), -Z to +Z + const std::vector& allGEMLayers() const; + + /// return the forward (+Z) GEM DetLayers, inside-out + const std::vector& forwardGEMLayers() const; + + /// return the backward (-Z) GEM DetLayers, inside-out + const std::vector& backwardGEMLayers() const; + +////////////////////////////// + /// return all RPC DetLayers, order: backward, barrel, forward const std::vector& allRPCLayers() const; @@ -61,14 +73,27 @@ class MuonDetLayerGeometry : public DetLayerGeometry{ /// return all barrel DetLayers (DT+RPC), inside-out const std::vector& allBarrelLayers() const; - /// return all endcap DetLayers (CSC+RPC), -Z to +Z + /// return all endcap DetLayers (CSC+RPC+GEM), -Z to +Z const std::vector& allEndcapLayers() const; - /// return all forward (+Z) layers (CSC+RPC), inside-out + /// return all forward (+Z) layers (CSC+RPC+GEM), inside-out const std::vector& allForwardLayers() const; - /// return all backward (-Z) layers (CSC+RPC), inside-out + /// return all backward (-Z) layers (CSC+RPC+GEM), inside-out const std::vector& allBackwardLayers() const; + +/////////////////////////////// GEMs + + /// return all endcap DetLayers (CSC+GEM), -Z to +Z + const std::vector& allEndcapCscGemLayers() const; + + /// return all endcap DetLayers (CSC+GEM), -Z to +Z + const std::vector& allCscGemForwardLayers() const; + + /// return all endcap DetLayers (CSC+GEM), -Z to +Z + const std::vector& allCscGemBackwardLayers() const; + +////////////////////////////// /// return the DetLayer which correspond to a certain DetId virtual const DetLayer* idToLayer(const DetId& detId) const; @@ -87,6 +112,15 @@ class MuonDetLayerGeometry : public DetLayerGeometry{ /// All three vectors are ASSUMED to be sorted inside-out void addRPCLayers(std::vector barrelRPCLayers, std::pair, std::vector > endcapRPCLayers); +/////////////////////////////// GEMs + + /// Add GEM layers + /// gemlayers.first=forward (+Z), gemlayers.second=backward (-Z) + /// both vectors are ASSUMED to be sorted inside-out + void addGEMLayers(std::pair, std::vector > gemlayers); + +////////////////////////////// + DetId makeDetLayerId(const DetLayer* detLayer) const; @@ -95,6 +129,15 @@ class MuonDetLayerGeometry : public DetLayerGeometry{ std::vector cscLayers_fw; std::vector cscLayers_bk; std::vector cscLayers_all; + +/////////////////////////////// GEMs + + std::vector gemLayers_fw; + std::vector gemLayers_bk; + std::vector gemLayers_all; + +////////////////////////////// + std::vector rpcLayers_all; std::vector rpcLayers_endcap; std::vector rpcLayers_fw; @@ -106,6 +149,14 @@ class MuonDetLayerGeometry : public DetLayerGeometry{ std::vector allEndcap; std::vector allBarrel; std::vector allDetLayers; + +/////////////////////////////// GEMs + + std::vector allEndcapCscGem; + std::vector allCscGemForward; + std::vector allCscGemBackward; + +////////////////////////////// std::map detLayersMap; }; diff --git a/RecoMuon/DetLayers/plugins/BuildFile.xml b/RecoMuon/DetLayers/plugins/BuildFile.xml index 2dee63628784e..93d42041597a8 100644 --- a/RecoMuon/DetLayers/plugins/BuildFile.xml +++ b/RecoMuon/DetLayers/plugins/BuildFile.xml @@ -3,6 +3,7 @@ + diff --git a/RecoMuon/DetLayers/plugins/MuonDetLayerGeometryESProducer.cc b/RecoMuon/DetLayers/plugins/MuonDetLayerGeometryESProducer.cc index a35f024f52e15..86def77fca941 100644 --- a/RecoMuon/DetLayers/plugins/MuonDetLayerGeometryESProducer.cc +++ b/RecoMuon/DetLayers/plugins/MuonDetLayerGeometryESProducer.cc @@ -1,8 +1,7 @@ /** \file * - * $Date: 2007/04/18 15:12:01 $ - * $Revision: 1.1 $ * \author N. Amapane - CERN + * \modified by R. Radogna & C. Calabria */ #include @@ -11,9 +10,11 @@ #include #include #include +#include #include #include +#include #include #include @@ -63,6 +64,18 @@ MuonDetLayerGeometryESProducer::produce(const MuonRecoGeometryRecord & record) { // No CSC geo available: trap the exception. LogInfo(metname) << "No CSC geometry is available."; } + + // Build GEM layers + try { + edm::ESHandle gem; + record.getRecord().get(gem); + if (gem.isValid()) { + muonDetLayerGeometry->addGEMLayers(MuonGEMDetLayerGeometryBuilder::buildEndcapLayers(*gem)); + } + } catch (edm::eventsetup::NoProxyException& e) { + // No GEM geo available: trap the exception. + LogInfo(metname) << "No GEM geometry is available."; + } // Build RPC layers try { diff --git a/RecoMuon/DetLayers/src/MuonDetLayerGeometry.cc b/RecoMuon/DetLayers/src/MuonDetLayerGeometry.cc index ea251b3ec683d..20fe1d3a1bfb2 100644 --- a/RecoMuon/DetLayers/src/MuonDetLayerGeometry.cc +++ b/RecoMuon/DetLayers/src/MuonDetLayerGeometry.cc @@ -1,8 +1,7 @@ /** \file * - * $Date: 2009/07/03 09:12:48 $ - * $Revision: 1.20 $ * \author N. Amapane - CERN + * \modified by R. Radogna & C. Calabria */ #include @@ -12,6 +11,7 @@ #include #include #include +#include #include #include @@ -54,6 +54,29 @@ void MuonDetLayerGeometry::addCSCLayers(pair, vector, vector > gemlayers) { + + vector::const_iterator it; + for(it=gemlayers.first.begin(); it!=gemlayers.first.end(); it++) { + gemLayers_fw.push_back(*it); + // gemLayers_all.push_back(*it); + allForward.push_back(*it); + // allEndcap.push_back(*it); + // allDetLayers.push_back(*it); + + detLayersMap[ makeDetLayerId(*it) ] = *it; + } + for(it=gemlayers.second.begin(); it!=gemlayers.second.end(); it++) { + gemLayers_bk.push_back(*it); + // gemLayers_all.push_back(*it); + allBackward.push_back(*it); + // allEndcap.push_back(*it); + // allDetLayers.push_back(*it); + + detLayersMap[ makeDetLayerId(*it) ] = *it; + } +} + void MuonDetLayerGeometry::addRPCLayers(vector barrelLayers, pair, vector > endcapLayers) { vector::const_iterator it; @@ -129,6 +152,10 @@ DetId MuonDetLayerGeometry::makeDetLayerId(const DetLayer* detLayer) const{ RPCDetId id( detLayer->basicComponents().front()->geographicalId().rawId()); return RPCDetId(id.region(),0,id.station(),0,id.layer(),0,0); } + else if( detLayer->subDetector()== GeomDetEnumerators::GEM){ + GEMDetId id( detLayer->basicComponents().front()->geographicalId().rawId()); + return GEMDetId(id.region(),1,id.station(),id.layer(),0,0); + } else throw cms::Exception("InvalidModuleIdentification"); // << detLayer->module(); } @@ -156,6 +183,28 @@ MuonDetLayerGeometry::backwardCSCLayers() const { } +//////////////////// GEMs + +const vector& +MuonDetLayerGeometry::allGEMLayers() const { + return gemLayers_all; +} + + +const vector& +MuonDetLayerGeometry::forwardGEMLayers() const { + return gemLayers_fw; +} + + +const vector& +MuonDetLayerGeometry::backwardGEMLayers() const { + return gemLayers_bk; +} + +//////////////////// + + const vector& MuonDetLayerGeometry::allRPCLayers() const { return rpcLayers_all; @@ -214,6 +263,29 @@ MuonDetLayerGeometry::allBackwardLayers() const { return allBackward; } + +//////////////////// GEMs + +const vector& +MuonDetLayerGeometry::allEndcapCscGemLayers() const { + return allEndcapCscGem; +} + + +const vector& +MuonDetLayerGeometry::allCscGemForwardLayers() const { + return allCscGemForward; +} + + +const vector& +MuonDetLayerGeometry::allCscGemBackwardLayers() const { + return allCscGemBackward; +} + +//////////////////// + + const DetLayer* MuonDetLayerGeometry::idToLayer(const DetId &detId) const{ DetId id; @@ -241,7 +313,10 @@ const DetLayer* MuonDetLayerGeometry::idToLayer(const DetId &detId) const{ RPCDetId rpcId(detId.rawId() ); id = RPCDetId(rpcId.region(),0,rpcId.station(),0,rpcId.layer(),0,0); } - + else if (detId.subdetId() == MuonSubdetId::GEM){ + GEMDetId gemId(detId.rawId() ); + id = GEMDetId(gemId.region(),1,gemId.station(),gemId.layer(),0,0); + } else throw cms::Exception("InvalidSubdetId")<< detId.subdetId(); std::map::const_iterator layer = detLayersMap.find(id); @@ -285,6 +360,12 @@ void MuonDetLayerGeometry::sortLayers() { std::reverse(cscLayers_all.begin(),cscLayers_all.end()); std::copy(cscLayers_fw.begin(),cscLayers_fw.end(),back_inserter(cscLayers_all)); + //gemLayers_all: from -Z to +Z + gemLayers_all.reserve(gemLayers_bk.size()+gemLayers_fw.size()); + std::copy(gemLayers_bk.begin(),gemLayers_bk.end(),back_inserter(gemLayers_all)); + std::reverse(gemLayers_all.begin(),gemLayers_all.end()); + std::copy(gemLayers_fw.begin(),gemLayers_fw.end(),back_inserter(gemLayers_all)); + //rpcLayers_endcap: from -Z to +Z rpcLayers_endcap.reserve(rpcLayers_bk.size()+rpcLayers_fw.size()); std::copy(rpcLayers_bk.begin(),rpcLayers_bk.end(),back_inserter(rpcLayers_endcap)); @@ -304,6 +385,24 @@ void MuonDetLayerGeometry::sortLayers() { std::reverse(allEndcap.begin(),allEndcap.end()); std::copy(allForward.begin(),allForward.end(),back_inserter(allEndcap)); + // allEndcapCSCGEM: order is all bw, all fw + allEndcapCscGem.reserve(cscLayers_bk.size()+cscLayers_fw.size()+gemLayers_bk.size()+gemLayers_fw.size()); + std::copy(cscLayers_bk.begin(),cscLayers_bk.end(),back_inserter(allEndcapCscGem)); + std::copy(gemLayers_bk.begin(),gemLayers_bk.end(),back_inserter(allEndcapCscGem)); + std::reverse(allEndcapCscGem.begin(),allEndcapCscGem.end()); + std::copy(cscLayers_fw.begin(),cscLayers_fw.end(),back_inserter(allEndcapCscGem)); + std::copy(gemLayers_fw.begin(),gemLayers_fw.end(),back_inserter(allEndcapCscGem)); + + // allCscGemForward + allCscGemForward.reserve(cscLayers_fw.size()+gemLayers_fw.size()); + std::copy(cscLayers_fw.begin(),cscLayers_fw.end(),back_inserter(allCscGemForward)); + std::copy(gemLayers_fw.begin(),gemLayers_fw.end(),back_inserter(allCscGemForward)); + + // allCscGemBackward + allCscGemBackward.reserve(cscLayers_bk.size()+gemLayers_bk.size()); + std::copy(cscLayers_bk.begin(),cscLayers_bk.end(),back_inserter(allCscGemBackward)); + std::copy(gemLayers_bk.begin(),gemLayers_bk.end(),back_inserter(allCscGemBackward)); + // allDetLayers: order is all bw, all barrel, all fw allDetLayers.reserve(allBackward.size()+allBarrel.size()+allForward.size()); std::copy(allBackward.begin(),allBackward.end(),back_inserter(allDetLayers)); diff --git a/RecoMuon/DetLayers/src/MuonGEMDetLayerGeometryBuilder.cc b/RecoMuon/DetLayers/src/MuonGEMDetLayerGeometryBuilder.cc new file mode 100644 index 0000000000000..b45841f1ea116 --- /dev/null +++ b/RecoMuon/DetLayers/src/MuonGEMDetLayerGeometryBuilder.cc @@ -0,0 +1,178 @@ +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include "Utilities/BinningTools/interface/ClusterizingHistogram.h" + +#include + +#include + +using namespace std; + +MuonGEMDetLayerGeometryBuilder::~MuonGEMDetLayerGeometryBuilder() { +} + + +// Builds the forward (first) and backward (second) layers +pair, vector > +MuonGEMDetLayerGeometryBuilder::buildEndcapLayers(const GEMGeometry& geo) { + + vector result[2]; + + for (int endcap = -1; endcap<=1; endcap+=2) { + int iendcap = (endcap==1) ? 0 : 1; // +1: forward, -1: backward + + for(int station = GEMDetId::minStationId; station < GEMDetId::maxStationId; ++station) { + for(int layer = GEMDetId::minLayerId; layer <= GEMDetId::maxLayerId; ++layer) { + vector rolls; + std::vector rings; + std::vector chambers; + for(int ring = GEMDetId::minRingId; ring <= GEMDetId::maxRingId; ++ring) { + rings.push_back(ring); + } + for(int roll = GEMDetId::minRollId+1; roll <= GEMDetId::maxRollId; ++roll) { + rolls.push_back(roll); + } + for(int chamber = GEMDetId::minChamberId; chamber <= GEMDetId::maxChamberId; chamber++ ){ + chambers.push_back(chamber); + } + + MuRingForwardDoubleLayer* ringLayer = buildLayer(endcap, rings, station, layer, chambers, rolls, geo); + + if (ringLayer) result[iendcap].push_back(ringLayer); + + } + + } + + + } + pair, vector > res_pair(result[0], result[1]); + + return res_pair; + +} + + + +MuRingForwardDoubleLayer* +MuonGEMDetLayerGeometryBuilder::buildLayer(int endcap,vector& rings, int station, + int layer, + vector& chambers, + vector& rolls, + const GEMGeometry& geo) { + + const std::string metname = "Muon|RecoMuon|RecoMuonDetLayers|MuonGEMDetLayerGeometryBuilder"; + MuRingForwardDoubleLayer * result = 0; + vector frontRings, backRings; + + +// for (std::vector::iterator ring=rings.begin(); ring!=rings.end();ring++){ + for (std::vector::iterator ring=rings.begin(); ring!=rings.end()-2;ring++){ + + for (vector::iterator roll = rolls.begin(); roll!=rolls.end(); roll++) { + + vector frontDets, backDets; + + for(std::vector::iterator chamber=chambers.begin()+1; chamberposition().z() + << " R1: " << result->specificSurface().innerRadius() + << " R2: " << result->specificSurface().outerRadius(); + + return result; + +} + + +bool MuonGEMDetLayerGeometryBuilder::isFront(const GEMDetId & gemId) +{ + + bool result = false; +// int ring = gemId.ring(); +// int station = gemId.station(); + int chamber = gemId.chamber(); + +// 20 degree rings are a little weird! not anymore from 17x +// if(ring == 1 && station > 1) +// { +// result = (gemId.subsector() != 2); + if(chamber%2 == 0) result = !result; + + return result; +// } +// else +// { + // 10 degree rings have odd subsectors in front +// result = (gemId.subsector()%2 == 0); +// } +// return result; +} + +MuDetRing * MuonGEMDetLayerGeometryBuilder::makeDetRing(vector & geomDets) +{ + const std::string metname = "Muon|RecoMuon|RecoMuonDetLayers|MuonGEMDetLayerGeometryBuilder"; + + + precomputed_value_sort(geomDets.begin(), geomDets.end(), geomsort::DetPhi()); + MuDetRing * result = new MuDetRing(geomDets); + LogTrace(metname) << "New MuDetRing with " << geomDets.size() + << " chambers at z="<< result->position().z() + << " R1: " << result->specificSurface().innerRadius() + << " R2: " << result->specificSurface().outerRadius(); + return result; +} diff --git a/RecoMuon/DetLayers/src/MuonGEMDetLayerGeometryBuilder.h b/RecoMuon/DetLayers/src/MuonGEMDetLayerGeometryBuilder.h new file mode 100644 index 0000000000000..7d8dd379f8355 --- /dev/null +++ b/RecoMuon/DetLayers/src/MuonGEMDetLayerGeometryBuilder.h @@ -0,0 +1,40 @@ +#ifndef MuonGEMDetLayerGeometryBuilder_h +#define MuonGEMDetLayerGeometryBuilder_h + +/** \class MuonGEMDetLayerGeometryBuilder + * + * Build the GEM DetLayers. + * + * \author R. Radogna + */ + +class DetLayer; +class MuRingForwardDoubleLayer; +//class MuRodBarrelLayer; +class MuDetRing; + + +#include +#include "RecoMuon/DetLayers/interface/MuDetRod.h" +#include + +class MuonGEMDetLayerGeometryBuilder { + public: + /// Constructor (disabled, only static access is allowed) + MuonGEMDetLayerGeometryBuilder(){} + + /// Destructor + virtual ~MuonGEMDetLayerGeometryBuilder(); + + /// Builds the forward (+Z, return.first) and backward (-Z, return.second) layers. + /// Both vectors are sorted inside-out + static std::pair, std::vector > buildEndcapLayers(const GEMGeometry& geo); + + private: + static MuRingForwardDoubleLayer* buildLayer(int endcap,std::vector& rings, int station,int layer,std::vector& chambers,std::vector& rolls,const GEMGeometry& geo); + static bool isFront(const GEMDetId & gemId); + static MuDetRing * makeDetRing(std::vector & geomDets); + +}; +#endif + diff --git a/RecoMuon/MeasurementDet/BuildFile.xml b/RecoMuon/MeasurementDet/BuildFile.xml index c1a684be40a53..e0bebd25afc60 100644 --- a/RecoMuon/MeasurementDet/BuildFile.xml +++ b/RecoMuon/MeasurementDet/BuildFile.xml @@ -1,6 +1,7 @@ + diff --git a/RecoMuon/MeasurementDet/interface/MuonDetLayerMeasurements.h b/RecoMuon/MeasurementDet/interface/MuonDetLayerMeasurements.h index 2bef2a0dd31d0..d40568efbe377 100644 --- a/RecoMuon/MeasurementDet/interface/MuonDetLayerMeasurements.h +++ b/RecoMuon/MeasurementDet/interface/MuonDetLayerMeasurements.h @@ -4,9 +4,8 @@ /** \class MuonDetLayerMeasurements * The class to access recHits and TrajectoryMeasurements from DetLayer. * - * $Date: 2012/05/29 08:23:55 $ - * $Revision: 1.21 $ * \author C. Liu, R. Bellan, N. Amapane + * \modified by C. Calabria to include GEMs * */ @@ -20,7 +19,7 @@ #include "DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h" #include "DataFormats/CSCRecHit/interface/CSCSegmentCollection.h" #include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h" -#include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h" +#include "DataFormats/GEMRecHit/interface/GEMRecHitCollection.h" #include "FWCore/Utilities/interface/InputTag.h" #include @@ -42,9 +41,11 @@ class MuonDetLayerMeasurements { MuonDetLayerMeasurements(edm::InputTag dtlabel, edm::InputTag csclabel, edm::InputTag rpclabel, + edm::InputTag gemlabel, bool enableDT = true, bool enableCSC = true, - bool enableRPC = true); + bool enableRPC = true, + bool enableGEM = true); virtual ~MuonDetLayerMeasurements(); @@ -122,24 +123,29 @@ class MuonDetLayerMeasurements { edm::InputTag theDTRecHitLabel; edm::InputTag theCSCRecHitLabel; edm::InputTag theRPCRecHitLabel; + edm::InputTag theGEMRecHitLabel; bool enableDTMeasurement; bool enableCSCMeasurement; bool enableRPCMeasurement; + bool enableGEMMeasurement; // caches that should get filled once per event edm::Handle theDTRecHits; edm::Handle theCSCRecHits; edm::Handle theRPCRecHits; + edm::Handle theGEMRecHits; void checkDTRecHits(); void checkCSCRecHits(); void checkRPCRecHits(); + void checkGEMRecHits(); // keeps track of which event the cache holds edm::EventID theDTEventID; edm::EventID theCSCEventID; edm::EventID theRPCEventID; + edm::EventID theGEMEventID; const edm::Event* theEvent; @@ -147,6 +153,7 @@ class MuonDetLayerMeasurements { std::string theDTCheckName; std::string theRPCCheckName; std::string theCSCCheckName; + std::string theGEMCheckName; }; #endif diff --git a/RecoMuon/MeasurementDet/src/MuonDetLayerMeasurements.cc b/RecoMuon/MeasurementDet/src/MuonDetLayerMeasurements.cc index ae77090a042b6..4ef051246a982 100644 --- a/RecoMuon/MeasurementDet/src/MuonDetLayerMeasurements.cc +++ b/RecoMuon/MeasurementDet/src/MuonDetLayerMeasurements.cc @@ -1,9 +1,8 @@ /** \class MuonDetLayerMeasurements * The class to access recHits and TrajectoryMeasurements from DetLayer. * - * $Date: 2010/05/12 23:01:23 $ - * $Revision: 1.31 $ * \author C. Liu, R. Bellan, N. Amapane + * \modified by C. Calabria to include GEMs * */ @@ -26,32 +25,40 @@ typedef MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer; MuonDetLayerMeasurements::MuonDetLayerMeasurements(edm::InputTag dtlabel, edm::InputTag csclabel, edm::InputTag rpclabel, - bool enableDT, bool enableCSC, bool enableRPC): + edm::InputTag gemlabel, + bool enableDT, bool enableCSC, bool enableRPC, bool enableGEM): theDTRecHitLabel(dtlabel), theCSCRecHitLabel(csclabel), theRPCRecHitLabel(rpclabel), + theGEMRecHitLabel(gemlabel), enableDTMeasurement(enableDT), enableCSCMeasurement(enableCSC), enableRPCMeasurement(enableRPC), + enableGEMMeasurement(enableGEM), theDTRecHits(), theCSCRecHits(), theRPCRecHits(), + theGEMRecHits(), theDTEventID(), theCSCEventID(), theRPCEventID(), + theGEMEventID(), theEvent(0){ - static int procInstance(0); - std::ostringstream sDT; - sDT<<"MuonDetLayerMeasurements::checkDTRecHits::" << procInstance; - theDTCheckName = sDT.str(); - std::ostringstream sRPC; - sRPC<<"MuonDetLayerMeasurements::checkRPCRecHits::" << procInstance; - theRPCCheckName = sRPC.str(); - std::ostringstream sCSC; - sCSC<<"MuonDetLayerMeasurements::checkCSCRecHits::" << procInstance; - theCSCCheckName = sCSC.str(); - procInstance++; -} + static int procInstance(0); + std::ostringstream sDT; + sDT<<"MuonDetLayerMeasurements::checkDTRecHits::" << procInstance; + theDTCheckName = sDT.str(); + std::ostringstream sRPC; + sRPC<<"MuonDetLayerMeasurements::checkRPCRecHits::" << procInstance; + theRPCCheckName = sRPC.str(); + std::ostringstream sCSC; + sCSC<<"MuonDetLayerMeasurements::checkCSCRecHits::" << procInstance; + theCSCCheckName = sCSC.str(); + std::ostringstream sGEM; + sGEM<<"MuonDetLayerMeasurements::checkGEMRecHits::" << procInstance; + theGEMCheckName = sGEM.str(); + procInstance++; + } MuonDetLayerMeasurements::~MuonDetLayerMeasurements(){} @@ -118,6 +125,24 @@ MuonRecHitContainer MuonDetLayerMeasurements::recHits(const GeomDet* geomDet, result.push_back(MuonTransientTrackingRecHit::specificBuild(geomDet,&*rechit)); } } + else if (geoId.subdetId() == MuonSubdetId::GEM) { + if(enableGEMMeasurement) + { + checkGEMRecHits(); + + // Create the chamber Id + GEMDetId chamberId(geoId.rawId()); + // LogTrace("Muon|RecoMuon|MuonDetLayerMeasurements") << "(GEM): "<get(chamberId); + + // Create the MuonTransientTrackingRecHit + for (GEMRecHitCollection::const_iterator rechit = range.first; + rechit!=range.second; ++rechit) + result.push_back(MuonTransientTrackingRecHit::specificBuild(geomDet,&*rechit)); + } + } else { // wrong type throw cms::Exception("MuonDetLayerMeasurements") << "The DetLayer with det " << geoId.det() << " subdet " << geoId.subdetId() << " is not a valid Muon DetLayer. "; @@ -174,6 +199,22 @@ void MuonDetLayerMeasurements::checkRPCRecHits() } +void MuonDetLayerMeasurements::checkGEMRecHits() +{ + checkEvent(); + if (!edm::Service()->checkOnce(theGEMCheckName)) return; + + { + theGEMEventID = theEvent->id(); + theEvent->getByLabel(theGEMRecHitLabel, theGEMRecHits); + } + if(!theGEMRecHits.isValid()) + { + throw cms::Exception("MuonDetLayerMeasurements") << "Cannot get GEM RecHits"; + } +} + + ///measurements method if already got the Event MeasurementContainer MuonDetLayerMeasurements::measurements( const DetLayer* layer, diff --git a/RecoMuon/MuonSeedGenerator/plugins/CosmicMuonSeedGenerator.cc b/RecoMuon/MuonSeedGenerator/plugins/CosmicMuonSeedGenerator.cc index 6e9b137ca95a3..ac0b612375122 100644 --- a/RecoMuon/MuonSeedGenerator/plugins/CosmicMuonSeedGenerator.cc +++ b/RecoMuon/MuonSeedGenerator/plugins/CosmicMuonSeedGenerator.cc @@ -105,8 +105,8 @@ void CosmicMuonSeedGenerator::produce(edm::Event& event, const edm::EventSetup& vector cscBackwardLayers = theMuonLayers->backwardCSCLayers(); MuonDetLayerMeasurements muonMeasurements(theDTRecSegmentLabel,theCSCRecSegmentLabel, - InputTag(), - theEnableDTFlag,theEnableCSCFlag,false); + InputTag(),InputTag(), + theEnableDTFlag,theEnableCSCFlag,false,false); muonMeasurements.setEvent(event); diff --git a/RecoMuon/MuonSeedGenerator/src/MuonSeedBuilder.cc b/RecoMuon/MuonSeedGenerator/src/MuonSeedBuilder.cc index ed587cb3058f0..4011c54d0a824 100644 --- a/RecoMuon/MuonSeedGenerator/src/MuonSeedBuilder.cc +++ b/RecoMuon/MuonSeedGenerator/src/MuonSeedBuilder.cc @@ -123,8 +123,8 @@ int MuonSeedBuilder::build( edm::Event& event, const edm::EventSetup& eventSetup std::vector nSegOnSeed; // Instantiate the accessor (get the segments: DT + CSC but not RPC=false) - MuonDetLayerMeasurements muonMeasurements(theDTSegmentLabel,theCSCSegmentLabel,edm::InputTag(), - enableDTMeasurement,enableCSCMeasurement,false); + MuonDetLayerMeasurements muonMeasurements(theDTSegmentLabel,theCSCSegmentLabel,edm::InputTag(),edm::InputTag(), + enableDTMeasurement,enableCSCMeasurement,false,false); // Instantiate the accessor (get the segments: DT + CSC but not RPC=false) // MuonDetLayerMeasurements muonMeasurements(enableDTMeasurement,enableCSCMeasurement,false, diff --git a/RecoMuon/MuonSeedGenerator/src/MuonSeedOrcaPatternRecognition.cc b/RecoMuon/MuonSeedGenerator/src/MuonSeedOrcaPatternRecognition.cc index 817dd612281bd..8dad742ca31ff 100644 --- a/RecoMuon/MuonSeedGenerator/src/MuonSeedOrcaPatternRecognition.cc +++ b/RecoMuon/MuonSeedGenerator/src/MuonSeedOrcaPatternRecognition.cc @@ -95,8 +95,8 @@ void MuonSeedOrcaPatternRecognition::produce(const edm::Event& event, const edm: // instantiate the accessor // Don not use RPC for seeding - MuonDetLayerMeasurements muonMeasurements(theDTRecSegmentLabel.label(),theCSCRecSegmentLabel,edm::InputTag(), - enableDTMeasurement,enableCSCMeasurement,false); + MuonDetLayerMeasurements muonMeasurements(theDTRecSegmentLabel.label(),theCSCRecSegmentLabel,edm::InputTag(),edm::InputTag(), + enableDTMeasurement,enableCSCMeasurement,false,false); double barreldThetaCut = 0.2; // still lose good muons to a tighter cut double endcapdThetaCut = 1.0; diff --git a/RecoMuon/MuonSeedGenerator/src/RPCSeedGenerator.cc b/RecoMuon/MuonSeedGenerator/src/RPCSeedGenerator.cc index 19d5d0a59c083..b6f9e8bdeee6b 100644 --- a/RecoMuon/MuonSeedGenerator/src/RPCSeedGenerator.cc +++ b/RecoMuon/MuonSeedGenerator/src/RPCSeedGenerator.cc @@ -208,7 +208,7 @@ RPCSeedGenerator::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) const DetLayer* REP3L = RPCEndcapLayers[5]; // Get RPC recHits by MuonDetLayerMeasurements, while CSC and DT is set to false and with empty InputTag - MuonDetLayerMeasurements muonMeasurements(edm::InputTag(), edm::InputTag(), theRPCRecHits, false, false, true); + MuonDetLayerMeasurements muonMeasurements(edm::InputTag(), edm::InputTag(), theRPCRecHits, edm::InputTag(), false, false, true, false); // Dispatch RPC recHits to the corresponding DetLayer, 6 layers for barrel and 3 layers for each endcap MuonRecHitContainer recHitsRPC[RPCLayerNumber]; diff --git a/RecoMuon/Navigation/interface/MuonNavigationPrinter.h b/RecoMuon/Navigation/interface/MuonNavigationPrinter.h index f10f1a6cf8543..8f50f7a2b46ae 100644 --- a/RecoMuon/Navigation/interface/MuonNavigationPrinter.h +++ b/RecoMuon/Navigation/interface/MuonNavigationPrinter.h @@ -16,6 +16,9 @@ * Chang Liu: * The class prints nextLayers and compatibleLayers * Add new constructor for MuonTkNavigationSchool + * + * Cesare Calabria: + * GEMs implementation. */ class DetLayer; @@ -27,7 +30,7 @@ class GeometricSearchTracker; class MuonNavigationPrinter { public: - MuonNavigationPrinter(const MuonDetLayerGeometry *, bool enableRPC = true ); + MuonNavigationPrinter(const MuonDetLayerGeometry *, bool enableRPC = true, bool enableCSC = true, bool enableGEM = true ); MuonNavigationPrinter(const MuonDetLayerGeometry *,const GeometricSearchTracker *); private: @@ -40,3 +43,4 @@ class MuonNavigationPrinter { }; #endif + diff --git a/RecoMuon/Navigation/interface/MuonNavigationSchool.h b/RecoMuon/Navigation/interface/MuonNavigationSchool.h index 4858b47a922ce..34fc2af2b1b58 100644 --- a/RecoMuon/Navigation/interface/MuonNavigationSchool.h +++ b/RecoMuon/Navigation/interface/MuonNavigationSchool.h @@ -18,6 +18,8 @@ * Chang Liu: * The class links maps for nextLayers and compatibleLayers in the same time. * + * Cesare Calabria: + * GEMs implementation. */ @@ -37,7 +39,7 @@ class MuonNavigationSchool : public NavigationSchool { public: ///Constructor - MuonNavigationSchool(const MuonDetLayerGeometry *, bool enableRPC = true); + MuonNavigationSchool(const MuonDetLayerGeometry *, bool enableRPC = true, bool enableCSC = true, bool enableGEM = true); /// Destructor ~MuonNavigationSchool(); /// return navigable layers, from base class diff --git a/RecoMuon/Navigation/src/MuonNavigationPrinter.cc b/RecoMuon/Navigation/src/MuonNavigationPrinter.cc index 37993842fe29c..4b374117b32da 100644 --- a/RecoMuon/Navigation/src/MuonNavigationPrinter.cc +++ b/RecoMuon/Navigation/src/MuonNavigationPrinter.cc @@ -13,6 +13,9 @@ * Chang Liu: * add compatibleLayers * add constructor for MuonTkNavigation + * + * Cesare Calabria: + * GEMs implementation. */ #include "RecoMuon/Navigation/interface/MuonNavigationPrinter.h" @@ -30,7 +33,7 @@ #include using namespace std; -MuonNavigationPrinter::MuonNavigationPrinter(const MuonDetLayerGeometry * muonLayout, bool enableRPC) { +MuonNavigationPrinter::MuonNavigationPrinter(const MuonDetLayerGeometry * muonLayout, bool enableCSC, bool enableRPC, bool enableGEM) { edm::LogInfo ("MuonNavigationPrinter")<< "MuonNavigationPrinter::MuonNavigationPrinter" ; vector::const_iterator iter; @@ -46,7 +49,10 @@ MuonNavigationPrinter::MuonNavigationPrinter(const MuonDetLayerGeometry * muonLa edm::LogInfo ("MuonNavigationPrinter") << "BACKWARD:"; vector backward; - if ( enableRPC ) backward = muonLayout->allBackwardLayers(); + if ( enableCSC & enableGEM & enableRPC ) backward = muonLayout->allBackwardLayers(); + else if ( enableCSC & enableGEM & !enableRPC ) backward = muonLayout->allCscGemBackwardLayers(); // CSC + GEM + else if ( !enableCSC & enableGEM & !enableRPC ) backward = muonLayout->backwardGEMLayers(); //GEM only + else if ( enableCSC & !enableGEM & !enableRPC ) backward = muonLayout->backwardCSCLayers(); //CSC only else backward = muonLayout->backwardCSCLayers(); edm::LogInfo ("MuonNavigationPrinter")<<"There are "< forward; - if ( enableRPC ) forward = muonLayout->allForwardLayers(); + if ( enableCSC & enableGEM & enableRPC ) forward = muonLayout->allForwardLayers(); + else if ( enableCSC & enableGEM & !enableRPC ) forward = muonLayout->allCscGemForwardLayers(); // CSC + GEM + else if ( !enableCSC & enableGEM & !enableRPC ) forward = muonLayout->forwardGEMLayers(); //GEM only + else if ( enableCSC & !enableGEM & !enableRPC ) forward = muonLayout->forwardCSCLayers(); //CSC only else forward = muonLayout->forwardCSCLayers(); edm::LogInfo ("MuonNavigationPrinter")<<"There are "<allLayers(); @@ -52,10 +54,13 @@ MuonNavigationSchool::MuonNavigationSchool(const MuonDetLayerGeometry * muonLayo addBarrelLayer(mbp); } - // get all endcap DetLayers (CSC + optional RPC) + // get all endcap DetLayers (CSC + optional RPC, GEM) vector endcap; - if ( enableRPC ) endcap = muonLayout->allEndcapLayers(); - else endcap = muonLayout->allCSCLayers(); + if ( enableCSC & enableGEM & enableRPC ) endcap = muonLayout->allEndcapLayers(); //CSC + RPC + GEM + else if ( enableCSC & enableGEM & !enableRPC ) endcap = muonLayout->allEndcapCscGemLayers(); // CSC + GEM + else if ( !enableCSC & enableGEM & !enableRPC ) endcap = muonLayout->allGEMLayers(); //GEM only + else if ( enableCSC & !enableGEM & !enableRPC ) endcap = muonLayout->allCSCLayers(); //CSC only + else endcap = muonLayout->allCSCLayers(); //CSC only for all the remaining cases for ( vector::const_iterator i = endcap.begin(); i != endcap.end(); i++ ) { ForwardDetLayer* mep = dynamic_cast(*i); @@ -376,3 +381,4 @@ void MuonNavigationSchool::createInverseLinks() const { } } + diff --git a/RecoMuon/StandAloneMuonProducer/python/standAloneMuons_cfi.py b/RecoMuon/StandAloneMuonProducer/python/standAloneMuons_cfi.py index 98a9eca0ac9fe..5f4601432c699 100644 --- a/RecoMuon/StandAloneMuonProducer/python/standAloneMuons_cfi.py +++ b/RecoMuon/StandAloneMuonProducer/python/standAloneMuons_cfi.py @@ -34,6 +34,8 @@ CSCRecSegmentLabel = cms.InputTag("cscSegments"), EnableRPCMeasurement = cms.bool(True), RPCRecSegmentLabel = cms.InputTag("rpcRecHits"), + EnableGEMMeasurement = cms.bool(False), + GEMRecSegmentLabel = cms.InputTag("gemRecHits"), NumberOfSigma = cms.double(3.0), MaxChi2 = cms.double(1000.0), Propagator = cms.string('SteppingHelixPropagatorAny'), @@ -56,6 +58,8 @@ CSCRecSegmentLabel = cms.InputTag("cscSegments"), EnableRPCMeasurement = cms.bool(True), RPCRecSegmentLabel = cms.InputTag("rpcRecHits"), + EnableGEMMeasurement = cms.bool(False), + GEMRecSegmentLabel = cms.InputTag("gemRecHits"), NumberOfSigma = cms.double(3.0), MaxChi2 = cms.double(100.0), Propagator = cms.string('SteppingHelixPropagatorAny'), diff --git a/RecoMuon/StandAloneTrackFinder/interface/StandAloneMuonFilter.h b/RecoMuon/StandAloneTrackFinder/interface/StandAloneMuonFilter.h index 95c336a9a6a46..866d28dbc5399 100644 --- a/RecoMuon/StandAloneTrackFinder/interface/StandAloneMuonFilter.h +++ b/RecoMuon/StandAloneTrackFinder/interface/StandAloneMuonFilter.h @@ -8,6 +8,8 @@ * $Revision: 1.4 $ * \author R. Bellan - INFN Torino * D. Trocino - INFN Torino + * + * Modified by C. Calabria */ #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h" @@ -65,18 +67,21 @@ class StandAloneMuonFilter { int getDTChamberUsed() const {return dtChambers;} int getCSCChamberUsed() const {return cscChambers;} int getRPCChamberUsed() const {return rpcChambers;} + int getGEMChamberUsed() const {return gemChambers;} int getTotalCompatibleChambers() const {return totalCompatibleChambers;} int getDTCompatibleChambers() const {return dtCompatibleChambers;} int getCSCCompatibleChambers() const {return cscCompatibleChambers;} int getRPCCompatibleChambers() const {return rpcCompatibleChambers;} + int getGEMCompatibleChambers() const {return gemCompatibleChambers;} + inline bool goodState() const {return totalChambers >= 2 && - ((dtChambers + cscChambers) >0 || + ((dtChambers + cscChambers + gemChambers) >0 || onlyRPC());} inline bool isCompatibilitySatisfied() const {return totalCompatibleChambers >= 2 && - ((dtCompatibleChambers + cscCompatibleChambers) >0 || + ((dtCompatibleChambers + cscCompatibleChambers + gemCompatibleChambers) >0 || onlyRPC());} /// return the layer used for the refit @@ -184,11 +189,13 @@ class StandAloneMuonFilter { int dtChambers; int cscChambers; int rpcChambers; + int gemChambers; int totalCompatibleChambers; int dtCompatibleChambers; int cscCompatibleChambers; int rpcCompatibleChambers; + int gemCompatibleChambers; const MuonServiceProxy *theService; bool theOverlappingChambersFlag; diff --git a/RecoMuon/StandAloneTrackFinder/src/StandAloneMuonFilter.cc b/RecoMuon/StandAloneTrackFinder/src/StandAloneMuonFilter.cc index 659c22a9b5b1f..0b4205f516ac5 100644 --- a/RecoMuon/StandAloneTrackFinder/src/StandAloneMuonFilter.cc +++ b/RecoMuon/StandAloneTrackFinder/src/StandAloneMuonFilter.cc @@ -5,6 +5,8 @@ * $Revision: 1.10 $ * \author R. Bellan - INFN Torino * D. Trocino - INFN Torino + * + * Modified by C. Calabria */ #include "RecoMuon/StandAloneTrackFinder/interface/StandAloneMuonFilter.h" @@ -88,13 +90,16 @@ StandAloneMuonFilter::StandAloneMuonFilter(const ParameterSet& par, bool enableDTMeasurement = par.getParameter("EnableDTMeasurement"); bool enableCSCMeasurement = par.getParameter("EnableCSCMeasurement"); bool enableRPCMeasurement = par.getParameter("EnableRPCMeasurement"); + bool enableGEMMeasurement = par.getParameter("EnableGEMMeasurement"); theMeasurementExtractor = new MuonDetLayerMeasurements(par.getParameter("DTRecSegmentLabel"), par.getParameter("CSCRecSegmentLabel"), par.getParameter("RPCRecSegmentLabel"), + par.getParameter("GEMRecSegmentLabel"), enableDTMeasurement, enableCSCMeasurement, - enableRPCMeasurement); + enableRPCMeasurement, + enableGEMMeasurement); theRPCLoneliness = (!(enableDTMeasurement && enableCSCMeasurement)) ? enableRPCMeasurement : false; } @@ -123,8 +128,8 @@ PropagationDirection StandAloneMuonFilter::propagationDirection() const{ void StandAloneMuonFilter::reset(){ - totalChambers = dtChambers = cscChambers = rpcChambers = 0; - totalCompatibleChambers = dtCompatibleChambers = cscCompatibleChambers = rpcCompatibleChambers = 0; + totalChambers = dtChambers = cscChambers = rpcChambers = gemChambers = 0; + totalCompatibleChambers = dtCompatibleChambers = cscCompatibleChambers = rpcCompatibleChambers = gemCompatibleChambers = 0; theLastCompatibleTSOS = theLastUpdatedTSOS = theLastButOneUpdatedTSOS = TrajectoryStateOnSurface(); @@ -143,6 +148,7 @@ void StandAloneMuonFilter::incrementChamberCounters(const DetLayer *layer){ if(layer->subDetector()==GeomDetEnumerators::DT) dtChambers++; else if(layer->subDetector()==GeomDetEnumerators::CSC) cscChambers++; else if(layer->subDetector()==GeomDetEnumerators::RPCBarrel || layer->subDetector()==GeomDetEnumerators::RPCEndcap) rpcChambers++; + else if(layer->subDetector()==GeomDetEnumerators::GEM) gemChambers++; else LogError("Muon|RecoMuon|StandAloneMuonFilter") << "Unrecognized module type in incrementChamberCounters"; @@ -157,6 +163,7 @@ void StandAloneMuonFilter::incrementCompatibleChamberCounters(const DetLayer *la if(layer->subDetector()==GeomDetEnumerators::DT) dtCompatibleChambers++; else if(layer->subDetector()==GeomDetEnumerators::CSC) cscCompatibleChambers++; else if(layer->subDetector()==GeomDetEnumerators::RPCBarrel || layer->subDetector()==GeomDetEnumerators::RPCEndcap) rpcCompatibleChambers++; + else if(layer->subDetector()==GeomDetEnumerators::GEM) gemCompatibleChambers++; else LogError("Muon|RecoMuon|StandAloneMuonFilter") << "Unrecognized module type in incrementCompatibleChamberCounters"; @@ -164,7 +171,6 @@ void StandAloneMuonFilter::incrementCompatibleChamberCounters(const DetLayer *la totalCompatibleChambers++; } - vector StandAloneMuonFilter::compatibleLayers(const DetLayer *initialLayer, FreeTrajectoryState& fts, PropagationDirection propDir){ diff --git a/RecoMuon/StandAloneTrackFinder/src/StandAloneTrajectoryBuilder.cc b/RecoMuon/StandAloneTrackFinder/src/StandAloneTrajectoryBuilder.cc index 2cd45947e016b..d2e88de9fd7a4 100644 --- a/RecoMuon/StandAloneTrackFinder/src/StandAloneTrajectoryBuilder.cc +++ b/RecoMuon/StandAloneTrackFinder/src/StandAloneTrajectoryBuilder.cc @@ -6,6 +6,8 @@ * \author R. Bellan - INFN Torino * \author Stefano Lacaprara - INFN Legnaro * \author D. Trocino - INFN Torino + * + * Modified by C. Calabria */ #include "RecoMuon/StandAloneTrackFinder/interface/StandAloneTrajectoryBuilder.h" @@ -233,15 +235,17 @@ StandAloneMuonTrajectoryBuilder::trajectories(const TrajectorySeed& seed){ LogTrace(metname) << "Compatibility NOT satisfied after Forward filter! No trajectory will be loaded!" << endl; LogTrace(metname) << "Total compatible chambers: " << filter()->getTotalCompatibleChambers() << "; DT: " << filter()->getDTCompatibleChambers() << "; CSC: " << filter()->getCSCCompatibleChambers() - << "; RPC: " << filter()->getRPCCompatibleChambers() << endl; + << "; RPC: " << filter()->getRPCCompatibleChambers() + << "; GEM: " << filter()->getGEMCompatibleChambers() << endl; return trajectoryContainer; } // -- end 2nd attempt - LogTrace(metname) << "Number of DT/CSC/RPC chamber used (fw): " + LogTrace(metname) << "Number of DT/CSC/RPC/GEM chamber used (fw): " << filter()->getDTChamberUsed() << "/" << filter()->getCSCChamberUsed() << "/" - << filter()->getRPCChamberUsed() <getRPCChamberUsed() << "/" + << filter()->getGEMChamberUsed() <momentum(); @@ -309,10 +313,11 @@ StandAloneMuonTrajectoryBuilder::trajectories(const TrajectorySeed& seed){ LogTrace(metname) << "Number of RecHits: " << trajectoryBW.foundHits() << "\n" - << "Number of DT/CSC/RPC chamber used (bw): " + << "Number of DT/CSC/RPC/GEM chamber used (bw): " << bwfilter()->getDTChamberUsed() << "/" << bwfilter()->getCSCChamberUsed() << "/" - << bwfilter()->getRPCChamberUsed(); + << bwfilter()->getRPCChamberUsed() << "/" + << bwfilter()->getGEMChamberUsed(); // -- The trajectory is "good" if there are at least 2 chambers used in total and at // least 1 is "tracking" (DT or CSC) diff --git a/RecoMuon/TrackingTools/interface/MuonServiceProxy.h b/RecoMuon/TrackingTools/interface/MuonServiceProxy.h index 885b9206bd1fa..510bdb5b1b712 100644 --- a/RecoMuon/TrackingTools/interface/MuonServiceProxy.h +++ b/RecoMuon/TrackingTools/interface/MuonServiceProxy.h @@ -11,6 +11,8 @@ * $Revision: 1.10 $ * \author N. Amapane - CERN * \author R. Bellan - INFN Torino + * + * Modified by C. Calabria */ #include "FWCore/Framework/interface/ESHandle.h" @@ -69,6 +71,8 @@ class MuonServiceProxy { const edm::EventSetup *theEventSetup; bool theMuonNavigationFlag; bool theRPCLayer; + bool theCSCLayer; + bool theGEMLayer; const MuonNavigationSchool* theSchool; propagators thePropagators; diff --git a/RecoMuon/TrackingTools/python/MuonServiceProxy_cff.py b/RecoMuon/TrackingTools/python/MuonServiceProxy_cff.py index e65298bac9b67..8106d6100323c 100644 --- a/RecoMuon/TrackingTools/python/MuonServiceProxy_cff.py +++ b/RecoMuon/TrackingTools/python/MuonServiceProxy_cff.py @@ -37,6 +37,8 @@ 'SmartPropagatorAnyRK', 'StraightLinePropagator'), RPCLayers = cms.bool(True), + CSCLayers = cms.untracked.bool(True), + GEMLayers = cms.untracked.bool(True), UseMuonNavigation = cms.untracked.bool(True) ) ) diff --git a/RecoMuon/TrackingTools/src/MuonPatternRecoDumper.cc b/RecoMuon/TrackingTools/src/MuonPatternRecoDumper.cc index 1af915baef83d..6a8b86c4c5fd0 100644 --- a/RecoMuon/TrackingTools/src/MuonPatternRecoDumper.cc +++ b/RecoMuon/TrackingTools/src/MuonPatternRecoDumper.cc @@ -12,6 +12,7 @@ #include "DataFormats/MuonDetId/interface/DTWireId.h" #include "DataFormats/MuonDetId/interface/CSCDetId.h" #include "DataFormats/MuonDetId/interface/RPCDetId.h" +#include "DataFormats/MuonDetId/interface/GEMDetId.h" #include @@ -79,6 +80,10 @@ string MuonPatternRecoDumper::dumpMuonId(const DetId &id) const{ CSCDetId chamberId(id.rawId()); output<<"(CSC): "< * \author R. Bellan - INFN Torino + * + * Modified by C. Calabria */ // Class Header @@ -41,8 +43,16 @@ MuonServiceProxy::MuonServiceProxy(const edm::ParameterSet& par):theTrackingGeom vector propagatorNames; theMuonNavigationFlag = par.getUntrackedParameter("UseMuonNavigation",true); - if(theMuonNavigationFlag) theRPCLayer = par.getParameter("RPCLayers"); - else theRPCLayer = true; + if(theMuonNavigationFlag) { + theRPCLayer = par.getParameter("RPCLayers"); + theCSCLayer = par.getUntrackedParameter("CSCLayers",true); + theGEMLayer = par.getUntrackedParameter("GEMLayers",false); + } + else { + theRPCLayer = true; + theCSCLayer = true; + theGEMLayer = true; + } propagatorNames = par.getUntrackedParameter >("Propagators", noPropagators); @@ -109,7 +119,7 @@ void MuonServiceProxy::update(const edm::EventSetup& setup){ // the NavigableLayers (this is implemented in MuonNavigationSchool's dtor) if ( theMuonNavigationFlag ) { if(theSchool) delete theSchool; - theSchool = new MuonNavigationSchool(&*theDetLayerGeometry,theRPCLayer); + theSchool = new MuonNavigationSchool(&*theDetLayerGeometry,theRPCLayer,theCSCLayer,theGEMLayer); } } diff --git a/RecoMuon/TrackingTools/src/MuonTrajectoryUpdator.cc b/RecoMuon/TrackingTools/src/MuonTrajectoryUpdator.cc index 2fec8694f4cc2..057e076ce1b6e 100644 --- a/RecoMuon/TrackingTools/src/MuonTrajectoryUpdator.cc +++ b/RecoMuon/TrackingTools/src/MuonTrajectoryUpdator.cc @@ -11,6 +11,8 @@ * $Revision: 1.38 $ * \author R. Bellan - INFN Torino * \author S. Lacaprara - INFN Legnaro + * + * Modified by C. Calabria: GEM Implementation */ @@ -271,4 +273,13 @@ void MuonTrajectoryUpdator::sort(TransientTrackingRecHit::ConstRecHitContainer& else LogError("Muon|RecoMuon|MuonTrajectoryUpdator") <<"MuonTrajectoryUpdator::sort: Wrong propagation direction!!"; } + + else if(detLayer->subDetector()==GeomDetEnumerators::GEM){ + if(fitDirection() == insideOut) + stable_sort(recHitsForFit.begin(),recHitsForFit.end(), ZedComparatorInOut() ); + else if(fitDirection() == outsideIn) + stable_sort(recHitsForFit.begin(),recHitsForFit.end(), ZedComparatorOutIn() ); + else + LogError("Muon|RecoMuon|MuonTrajectoryUpdator") <<"MuonTrajectoryUpdator::sort: Wrong propagation direction!!"; + } } diff --git a/SLHCUpgradeSimulations/Configuration/python/gemCustoms.py b/SLHCUpgradeSimulations/Configuration/python/gemCustoms.py index 62cc89a9fbe48..15649d65be5df 100644 --- a/SLHCUpgradeSimulations/Configuration/python/gemCustoms.py +++ b/SLHCUpgradeSimulations/Configuration/python/gemCustoms.py @@ -62,8 +62,9 @@ def customise_Reco(process): process.load('RecoLocalMuon.GEMRecHit.gemRecHits_cfi') process.gemRecHits.gemDigiLabel = cms.InputTag("simMuonGEMDigis") process.muonlocalreco += process.gemRecHits - process=outputCustoms(process) + process.standAloneMuons.STATrajBuilderParameters.EnableGEMMeasurement = cms.bool(True) + process.standAloneMuons.STATrajBuilderParameters.BWFilterParameters.EnableGEMMeasurement = cms.bool(True) return process def customise_DQM(process): diff --git a/SimMuon/RPCDigitizer/src/RPCDigiProducer.cc b/SimMuon/RPCDigitizer/src/RPCDigiProducer.cc index 3d2ee070865c9..09e58372df731 100644 --- a/SimMuon/RPCDigitizer/src/RPCDigiProducer.cc +++ b/SimMuon/RPCDigitizer/src/RPCDigiProducer.cc @@ -79,11 +79,12 @@ void RPCDigiProducer::beginRun(const edm::Run& r, const edm::EventSetup& eventSe edm::ESHandle clsRcd; eventSetup.get().get(clsRcd); + theRPCSimSetUp->setGeometry( pGeom ); theRPCSimSetUp->setRPCSetUp(noiseRcd->getVNoise(), clsRcd->getCls()); -// theRPCSimSetUp->setRPCSetUp(noiseRcd->getVNoise(), noiseRcd->getCls()); + // theRPCSimSetUp->setRPCSetUp(noiseRcd->getVNoise(), noiseRcd->getCls()); theDigitizer->setGeometry( pGeom ); - theRPCSimSetUp->setGeometry( pGeom ); + // theRPCSimSetUp->setGeometry( pGeom ); theDigitizer->setRPCSimSetUp( theRPCSimSetUp ); } diff --git a/SimMuon/RPCDigitizer/src/RPCSimSetUp.cc b/SimMuon/RPCDigitizer/src/RPCSimSetUp.cc index 6622cd92eaf37..0c94c2218d45d 100644 --- a/SimMuon/RPCDigitizer/src/RPCSimSetUp.cc +++ b/SimMuon/RPCDigitizer/src/RPCSimSetUp.cc @@ -41,10 +41,14 @@ RPCSimSetUp::RPCSimSetUp(const edm::ParameterSet& ps) { _bxmap.clear(); _clsMap.clear(); + // std::cout<<"RPCSimSetup :: RPCSimSetup"<& vnoise, const std::vector& vcls){ + // std::cout<<"RPCSimSetup :: setRPCSetUp(RPCStripNoises::NoiseItem, float)"< sum_clsize; @@ -62,51 +66,98 @@ void RPCSimSetUp::setRPCSetUp(const std::vector& vnoi counter++; } - unsigned int n = 0; + uint32_t detId; + RPCDetId rpcId; + + unsigned int n_tot = 0; + unsigned int n_roll = 0; uint32_t temp = 0; std::vector veff, vvnoise; veff.clear(); vvnoise.clear(); for(std::vector::const_iterator it = vnoise.begin(); it != vnoise.end(); ++it){ - if(n%96 == 0) { - if(n > 0 ){ - _mapDetIdNoise[temp]= vvnoise; - _mapDetIdEff[temp] = veff; + + detId = it->dpid; + rpcId = RPCDetId(detId); + const RPCRoll* roll = dynamic_cast(theGeometry->roll(rpcId)); + + if(roll !=0 ) { + unsigned int numbStrips = roll->nstrips(); + // std::cout<<"Got RPCDetId "< 0 ){ + _mapDetIdNoise[temp]= vvnoise; + _mapDetIdEff[temp] = veff; + _bxmap[RPCDetId(it->dpid)] = it->time; + + veff.clear(); + vvnoise.clear(); + vvnoise.push_back((it->noise)); + veff.push_back((it->eff)); + } + else if(n_tot == 0 ){ + vvnoise.push_back((it->noise)); + veff.push_back((it->eff)); _bxmap[RPCDetId(it->dpid)] = it->time; - - veff.clear(); - vvnoise.clear(); + } + } else if (n_tot == vnoise.size()-1 ){ + temp = it->dpid; vvnoise.push_back((it->noise)); veff.push_back((it->eff)); - } - else if(n == 0 ){ + _mapDetIdNoise[temp]= vvnoise; + _mapDetIdEff[temp] = veff; + } else { + temp = it->dpid; vvnoise.push_back((it->noise)); veff.push_back((it->eff)); - _bxmap[RPCDetId(it->dpid)] = it->time; } - } else if (n == vnoise.size()-1 ){ - temp = it->dpid; - vvnoise.push_back((it->noise)); - veff.push_back((it->eff)); - _mapDetIdNoise[temp]= vvnoise; - _mapDetIdEff[temp] = veff; - } else { - temp = it->dpid; - vvnoise.push_back((it->noise)); - veff.push_back((it->eff)); + ++n_tot; + if(n_roll& vnoise, const std::vector& vClusterSize){ + // std::cout<<"RPCSimSetup :: setRPCSetUp(NoiseItem, ClusterSizeItem)"< & rollvector = theGeometry->rolls(); + // int nRolls = rollvector.size(); + // Number of Noise items in these noise vector + // int nConds = vnoise.size(); + // Calculate here how many entries there are in the conditions for each roll + // int nStrips = 0; + // vnoise.size() should be an integer multiple of the amount of rolls + // if(vnoise.size()%nRolls != 0){ + // throw cms::Exception("DataCorrupt") + // << "Exception comming from RPCSimSetUp - Number of entries in Noise item is not an integer multiple of the number of rolls in this geometry\n" + // << "no of noise items = "<< nConds <<" no of rolls = "<::const_iterator itCls; - uint32_t detId; int clsCounter(1); std::vector clsVect; - for(itCls = vClusterSize.begin(); itCls != vClusterSize.end(); ++itCls){ clsVect.push_back(((double)(itCls->clusterSize))); if((!(clsCounter%100)) && (clsCounter!=0)){ @@ -117,43 +168,133 @@ void RPCSimSetUp::setRPCSetUp(const std::vector& vnoi } ++clsCounter; } + // ########################################################################### - unsigned int n = 0; - uint32_t temp = 0; - std::vector veff, vvnoise; - veff.clear(); - vvnoise.clear(); - for(std::vector::const_iterator it = vnoise.begin(); it != vnoise.end(); ++it){ - if(n%96 == 0) { - if(n > 0 ){ - _mapDetIdNoise[temp]= vvnoise; - _mapDetIdEff[temp] = veff; - _bxmap[RPCDetId(it->dpid)] = it->time; - - veff.clear(); + // std::cout<<"RPCSimSetup :: setRPCSetUp(NoiseItem, ClusterSizeItem) :: NoiseItem"< vveff, vvnoise; + // vveff.clear(); + // vvnoise.clear(); + + // DetId to start with + current_detId = vnoise.begin()->dpid; + current_rpcId = RPCDetId(current_detId); + current_nStrips = dynamic_cast(theGeometry->roll(current_rpcId))->nstrips(); + + // std::cout<<"Start Position :: current_detId = "<::const_iterator it = vnoise.begin(); it != vnoise.end(); ++it) { + ++count_all; + // roll associated to the conditions of this strip (iterator) + this_detId = it->dpid; + this_rpcId = RPCDetId(this_detId); + // Test whether this roll (picked up from the conditions) is inside the RPC Geometry + const RPCRoll* roll = dynamic_cast(theGeometry->roll(this_rpcId)); + if(roll==0) continue; + + bool debug = 0; + // if(count_all>790000) debug=1; + + if(debug) std::cout<<"Inside Loop :: ["<nstrips()<<" strips"<time; + // clear vectors + vveff.clear(); vvnoise.clear(); - vvnoise.push_back((it->noise)); - veff.push_back((it->eff)); - } - else if(n == 0 ){ - vvnoise.push_back((it->noise)); - veff.push_back((it->eff)); - _bxmap[RPCDetId(it->dpid)] = it->time; } - } else if (n == vnoise.size()-1 ){ - temp = it->dpid; + // fill the vectors vvnoise.push_back((it->noise)); - veff.push_back((it->eff)); - _mapDetIdNoise[temp]= vvnoise; - _mapDetIdEff[temp] = veff; - } else { - temp = it->dpid; + vveff.push_back((it->eff)); + // update counter + ++count_strips; + } + if(this_detId == current_detId && count_strips == current_nStrips-1) { + // fill last value in the vector + if(debug) std::cout<<"Fill Last Value :: ["<noise)); - veff.push_back((it->eff)); + vveff.push_back((it->eff)); + // update counter + ++count_strips; + // fill vectors into map + if(debug) std::cout<<"fill vectors into map"<dpid; + this_rpcId = RPCDetId(this_detId); + if(debug) std::cout<<"Inside While Loop :: ["<(theGeometry->roll(current_rpcId))->nstrips(); + if(debug) std::cout<<" with "< 792500) std::cout<<"Special Got RPCDetId "< n_roll%numbStrips == 0"< 0 ){ + _mapDetIdNoise[temp]= vvnoise; + _mapDetIdEff[temp] = vveff; + _bxmap[RPCDetId(it->dpid)] = it->time; + + vveff.clear(); + vvnoise.clear(); + vvnoise.push_back((it->noise)); + vveff.push_back((it->eff)); + } + else if(n_tot == 0 ){ // first element + vvnoise.push_back((it->noise)); + vveff.push_back((it->eff)); + _bxmap[RPCDetId(it->dpid)] = it->time; + } + } + else if (n_tot == vnoise.size()-1 ){ // last element + temp = it->dpid; + vvnoise.push_back((it->noise)); + vveff.push_back((it->eff)); + _mapDetIdNoise[temp]= vvnoise; + _mapDetIdEff[temp] = vveff; + } + else { + temp = it->dpid; + vvnoise.push_back((it->noise)); + vveff.push_back((it->eff)); + } + ++n_tot; + if(n_roll& RPCSimSetUp::getNoise(uint32_t id) const std::vector& RPCSimSetUp::getEff(uint32_t id) { map >::iterator iter = _mapDetIdEff.find(id); + if(iter == _mapDetIdEff.end()){ throw cms::Exception("DataCorrupt") << "Exception comming from RPCSimSetUp - no efficiency information for DetId\t"<second).size() != 96){ + + RPCDetId rpcId = RPCDetId(id); + const RPCRoll* roll = dynamic_cast(theGeometry->roll(rpcId)); + unsigned int numbStrips = roll->nstrips(); + + if((iter->second).size() < numbStrips){ + std::cout<< "Exception comming from RPCSimSetUp - efficiency information in a wrong format for DetId\t"<second).size()<<" number of strips in Geometry\t"< void HcalDigisValidation::reco(const edm::Event& iEvent, co // to limit "seed" SimHit energy in case of "multi" event if (mode_ == "multi" && ((sub == 4 && en < 100. && en > 1.) - || ((sub != 4) && en < 1. && en > 0.02))) { + || ((sub != 4) && en < 1. && en > 0.001))) { seedSimHit = 1; break; } @@ -790,10 +790,8 @@ template void HcalDigisValidation::reco(const edm::Event& iEvent, co fill1D(strtmp, double(ii), val); } - if (closen == 1) { strtmp = "HcalDigiTask_signal_amplitude_vs_bin_all_depths_" + subdet_; fill2D(strtmp, double(ii), val); - } // HB/HE/HO @@ -864,7 +862,7 @@ template void HcalDigisValidation::reco(const edm::Event& iEvent, co if (ampl1 > 10. || ampl2 > 10. || ampl3 > 10. || ampl4 > 10.) indigis++; // fraction 5,6 bins if ampl. is big. - if (ampl1 > 30. && depth == 1 && closen == 1 && isubdet != 4) { + if (ampl1 > 50. && isubdet != 4) { double fBin5 = tool[4] - calibrations.pedestal((*digiItr)[4].capid()); double fBin67 = tool[5] + tool[6] - calibrations.pedestal((*digiItr)[5].capid()) @@ -881,7 +879,7 @@ template void HcalDigisValidation::reco(const edm::Event& iEvent, co } //Special for HF - if (isubdet == 4 && ampl1 > 30. && depth == 1) { + if (isubdet == 4 && ampl1 > 50. && depth == 1) { double fBin5 = tool[2] - calibrations.pedestal((*digiItr)[2].capid()); double fBin67 = tool[3] + tool[4] - calibrations.pedestal((*digiItr)[3].capid())