Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run3 sim83 Attempt to unify the file definitions between FullSim and FastSim #33233

Merged
merged 5 commits into from Mar 23, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
17 changes: 3 additions & 14 deletions FastSimulation/Calorimetry/python/Calorimetry_cff.py
Expand Up @@ -5,6 +5,7 @@
#Global fast calorimetry parameters
from FastSimulation.Calorimetry.HcalResponse_cfi import *
from FastSimulation.Calorimetry.HSParameters_cfi import *
from Geometry.HcalSimData.HFParameters_cff import *
#from FastSimulation.Configuration.CommonInputs_cff import *

from FastSimulation.Calorimetry.ECALResponse_cfi import *
Expand Down Expand Up @@ -262,22 +263,13 @@
timeShiftHF = cms.vdouble(50.7, 52.5, 52.9, 53.9, 54.5, 55.1, 55.1, 55.7, 55.9, 56.1, 56.1, 56.1, 56.5),
),
HFShower = cms.PSet(
ProbMax = cms.double(1.0),
CFibre = cms.double(0.5),
OnlyLong = cms.bool(True)
HFShowerBlock = cms.PSet(refToPSet_ = cms.string("HFShowerBlock"))
),
HFShowerLibrary = cms.PSet(
useShowerLibrary = cms.untracked.bool(True),
useCorrectionSL = cms.untracked.bool(True),
FileName = cms.FileInPath('SimG4CMS/Calo/data/HFShowerLibrary_oldpmt_noatt_eta4_16en_v3.root'),
BackProbability = cms.double(0.2),
TreeEMID = cms.string('emParticles'),
TreeHadID = cms.string('hadParticles'),
Verbosity = cms.untracked.bool(False),
ApplyFiducialCut = cms.bool(True),
BranchEvt = cms.untracked.string(''),
BranchPre = cms.untracked.string(''),
BranchPost = cms.untracked.string('')
HFLibraryFileBlock = cms.PSet(refToPSet_ = cms.string("HFLibraryFileBlock"))
)
),
GFlash = cms.PSet(
Expand All @@ -299,6 +291,3 @@
FamosCalorimetryBlock.Calorimetry.HCAL.Digitizer = True

from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify(FamosCalorimetryBlock.Calorimetry.HFShowerLibrary, FileName = 'SimG4CMS/Calo/data/HFShowerLibrary_npmt_noatt_eta4_16en_v4.root' )

run2_common.toModify(FamosCalorimetryBlock.Calorimetry.HFShower, ProbMax = 0.5 )
28 changes: 28 additions & 0 deletions Geometry/HcalSimData/python/HFParameters_cff.py
@@ -0,0 +1,28 @@
import FWCore.ParameterSet.Config as cms

# Several parameters needed for HF simulation

HFLibraryFileBlock = cms.PSet(
FileName = cms.FileInPath('SimG4CMS/Calo/data/HFShowerLibrary_oldpmt_noatt_eta4_16en_v3.root'),
BackProbability = cms.double(0.2),
TreeEMID = cms.string('emParticles'),
TreeHadID = cms.string('hadParticles'),
ApplyFiducialCut= cms.bool(True),
Verbosity = cms.untracked.bool(False),
BranchPost = cms.untracked.string(''),
BranchEvt = cms.untracked.string(''),
BranchPre = cms.untracked.string('')
)

HFShowerBlock = cms.PSet(
ProbMax = cms.double(1.0),
CFibre = cms.double(0.5),
OnlyLong = cms.bool(True)
)

##
## Change the HFShowerLibrary file from Run 2
##
from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify( HFLibraryFileBlock, FileName = 'SimG4CMS/Calo/data/HFShowerLibrary_npmt_noatt_eta4_16en_v4.root' )
run2_common.toModify( HFShowerBlock, ProbMax = 0.5)
3 changes: 2 additions & 1 deletion SimG4CMS/Calo/src/HFFibre.cc
Expand Up @@ -18,7 +18,8 @@ HFFibre::HFFibre(const std::string& name,
const HcalSimulationParameters* hps,
edm::ParameterSet const& p)
: hcalConstant_(hcons), hcalsimpar_(hps) {
edm::ParameterSet m_HF = p.getParameter<edm::ParameterSet>("HFShower");
edm::ParameterSet m_HF =
(p.getParameter<edm::ParameterSet>("HFShower")).getParameter<edm::ParameterSet>("HFShowerBlock");
cFibre = c_light * (m_HF.getParameter<double>("CFibre"));

edm::LogVerbatim("HFShower") << "HFFibre:: Speed of light in fibre " << cFibre << " m/ns";
Expand Down
3 changes: 2 additions & 1 deletion SimG4CMS/Calo/src/HFShower.cc
Expand Up @@ -26,7 +26,8 @@ HFShower::HFShower(const std::string &name,
: hcalConstant_(hcons), chkFibre_(chk) {
edm::ParameterSet m_HF = p.getParameter<edm::ParameterSet>("HFShower");
applyFidCut_ = m_HF.getParameter<bool>("ApplyFiducialCut");
probMax_ = m_HF.getParameter<double>("ProbMax");
edm::ParameterSet m_HF2 = m_HF.getParameter<edm::ParameterSet>("HFShowerBlock");
probMax_ = m_HF2.getParameter<double>("ProbMax");

edm::LogVerbatim("HFShower") << "HFShower:: Maximum probability cut off " << probMax_ << " Check flag " << chkFibre_;

Expand Down
6 changes: 4 additions & 2 deletions SimG4CMS/Calo/src/HFShowerLibrary.cc
Expand Up @@ -25,10 +25,12 @@ HFShowerLibrary::HFShowerLibrary(const std::string& name,
const HcalSimulationParameters* hps,
edm::ParameterSet const& p)
: hcalConstant_(hcons), hf(nullptr), emBranch(nullptr), hadBranch(nullptr), npe(0) {
edm::ParameterSet m_HF = p.getParameter<edm::ParameterSet>("HFShower");
edm::ParameterSet m_HF =
(p.getParameter<edm::ParameterSet>("HFShower")).getParameter<edm::ParameterSet>("HFShowerBlock");
probMax = m_HF.getParameter<double>("ProbMax");

edm::ParameterSet m_HS = p.getParameter<edm::ParameterSet>("HFShowerLibrary");
edm::ParameterSet m_HS =
(p.getParameter<edm::ParameterSet>("HFShowerLibrary")).getParameter<edm::ParameterSet>("HFLibraryFileBlock");
edm::FileInPath fp = m_HS.getParameter<edm::FileInPath>("FileName");
std::string pTreeName = fp.fullPath();
backProb = m_HS.getParameter<double>("BackProbability");
Expand Down
3 changes: 2 additions & 1 deletion SimG4CMS/Calo/src/HFShowerParam.cc
Expand Up @@ -32,12 +32,13 @@ HFShowerParam::HFShowerParam(const std::string& name,
edm::ParameterSet const& p)
: hcalConstants_(hcons), fillHisto_(false) {
edm::ParameterSet m_HF = p.getParameter<edm::ParameterSet>("HFShower");
edm::ParameterSet m_HF2 = m_HF.getParameter<edm::ParameterSet>("HFShowerBlock");
pePerGeV_ = m_HF.getParameter<double>("PEPerGeV");
trackEM_ = m_HF.getParameter<bool>("TrackEM");
bool useShowerLibrary = m_HF.getParameter<bool>("UseShowerLibrary");
bool useGflash = m_HF.getParameter<bool>("UseHFGflash");
edMin_ = m_HF.getParameter<double>("EminLibrary");
onlyLong_ = m_HF.getParameter<bool>("OnlyLong");
onlyLong_ = m_HF2.getParameter<bool>("OnlyLong");
ref_index_ = m_HF.getParameter<double>("RefIndex");
double lambdaMean = m_HF.getParameter<double>("LambdaMean");
aperture_ = cos(asin(m_HF.getParameter<double>("Aperture")));
Expand Down
78 changes: 78 additions & 0 deletions SimG4CMS/Calo/test/python/runEta37_cfg.py
@@ -0,0 +1,78 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Eras.Era_Run3_cff import Run3
process = cms.Process("PROD",Run3)
process.load("Configuration.Geometry.GeometryExtended2021Reco_cff")

#from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep
#process = cms.Process("PROD",Run3_dd4hep)
#process.load("Configuration.Geometry.GeometryDD4hepExtended2021Reco_cff")

process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load("IOMC.EventVertexGenerators.VtxSmearedGauss_cfi")
process.load("Configuration.StandardSequences.MagneticField_cff")
process.load("Configuration.EventContent.EventContent_cff")
process.load('Configuration.StandardSequences.Generator_cff')
process.load('Configuration.StandardSequences.SimIdeal_cff')
process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff"
)
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2021_realistic', '')

process.MessageLogger.cerr.FwkReport.reportEvery = 5
if hasattr(process,'MessageLogger'):
process.MessageLogger.G4cerr=dict()
process.MessageLogger.HcalSim=dict()
process.MessageLogger.HFShower=dict()

process.load("IOMC.RandomEngine.IOMC_cff")
process.RandomNumberGeneratorService.generator.initialSeed = 456789
process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(5)
)

process.source = cms.Source("EmptySource")

process.generator = cms.EDProducer("FlatRandomEGunProducer",
PGunParameters = cms.PSet(
PartID = cms.vint32(211),
MinEta = cms.double(4.25),
MaxEta = cms.double(4.25),
MinPhi = cms.double(-3.14159265359),
MaxPhi = cms.double(3.14159265359),
MinE = cms.double(30.0),
MaxE = cms.double(30.0)
),
Verbosity = cms.untracked.int32(0),
AddAntiParticle = cms.bool(False),
firstRun = cms.untracked.uint32(1)
)

process.output = cms.OutputModule("PoolOutputModule",
process.FEVTSIMEventContent,
fileName = cms.untracked.string('simevent030eta37.root')
)

process.Timing = cms.Service("Timing")

process.generation_step = cms.Path(process.pgen)
process.simulation_step = cms.Path(process.psim)
process.out_step = cms.EndPath(process.output)

process.g4SimHits.Physics.type = 'SimG4Core/Physics/FTFP_BERT_EMM'
#process.g4SimHits.G4Commands = ['/tracking/verbose 1']

# Schedule definition
process.schedule = cms.Schedule(process.generation_step,
process.simulation_step,
process.out_step
)

# filter all path with the production filter sequence
for path in process.paths:
getattr(process,path)._seq = process.generator * getattr(process,path)._seq

21 changes: 6 additions & 15 deletions SimG4Core/Application/python/g4SimHits_cfi.py
Expand Up @@ -5,6 +5,9 @@
## HF Raddam Dose Class in /SimG4CMS/Calo
from SimG4CMS.Calo.HFDarkeningParams_cff import *

## HF shower parameters
from Geometry.HcalSimData.HFParameters_cff import *

## This object is used to customise g4SimHits for different running scenarios

common_heavy_suppression = cms.PSet(
Expand Down Expand Up @@ -394,33 +397,23 @@
HFShower = cms.PSet(
common_UsePMT,
common_UseHF,
ProbMax = cms.double(1.0),
CFibre = cms.double(0.5),
PEPerGeV = cms.double(0.31),
TrackEM = cms.bool(False),
UseShowerLibrary = cms.bool(True),
UseHFGflash = cms.bool(False),
EminLibrary = cms.double(0.0),
OnlyLong = cms.bool(True),
LambdaMean = cms.double(350.0),
ApplyFiducialCut = cms.bool(True),
RefIndex = cms.double(1.459),
Aperture = cms.double(0.33),
ApertureTrapped = cms.double(0.22),
CosApertureTrapped= cms.double(0.5),
SinPsiMax = cms.untracked.double(0.5),
ParametrizeLast = cms.untracked.bool(False)
ParametrizeLast = cms.untracked.bool(False),
HFShowerBlock = cms.PSet(refToPSet_ = cms.string("HFShowerBlock"))
),
HFShowerLibrary = cms.PSet(
FileName = cms.FileInPath('SimG4CMS/Calo/data/HFShowerLibrary_oldpmt_noatt_eta4_16en_v3.root'),
BackProbability = cms.double(0.2),
TreeEMID = cms.string('emParticles'),
TreeHadID = cms.string('hadParticles'),
Verbosity = cms.untracked.bool(False),
ApplyFiducialCut= cms.bool(True),
BranchPost = cms.untracked.string(''),
BranchEvt = cms.untracked.string(''),
BranchPre = cms.untracked.string('')
HFLibraryFileBlock = cms.PSet(refToPSet_ = cms.string("HFLibraryFileBlock"))
),
HFShowerPMT = cms.PSet(
common_UsePMT,
Expand Down Expand Up @@ -604,8 +597,6 @@
## Change the HFShowerLibrary file from Run 2
##
from Configuration.Eras.Modifier_run2_common_cff import run2_common
run2_common.toModify( g4SimHits.HFShowerLibrary, FileName = 'SimG4CMS/Calo/data/HFShowerLibrary_npmt_noatt_eta4_16en_v4.root' )
run2_common.toModify( g4SimHits.HFShower, ProbMax = 0.5)

##
## Change HCAL numbering scheme in 2017
Expand Down