Skip to content

Commit

Permalink
Merge pull request #7130 from bendavid/genbackportsJan12_71x
Browse files Browse the repository at this point in the history
Generator backports to 71x (Multi-hadronization, cross section printouts, herwig++ fixes + LHE interface, pythia8+tauola fixes, extra pythia8 options/inline SLHA tables), Updated EM enrichment filter.
  • Loading branch information
cmsbuild committed Jan 27, 2015
2 parents 2f303d1 + e39617c commit 9cf6055
Show file tree
Hide file tree
Showing 69 changed files with 5,853 additions and 1,608 deletions.
@@ -0,0 +1,18 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Generator.HerwigppDefaults_cfi import *
from Configuration.Generator.HerwigppUE_EE_5C_cfi import *


generator = cms.EDFilter("ThePEGHadronizerFilter",
herwigDefaultsBlock,
herwigppUESettingsBlock,
crossSection = cms.untracked.double(-1.),
filterEfficiency = cms.untracked.double(1),
configFiles = cms.vstring(),
parameterSets = cms.vstring(
'cmsDefaults',
'EE5C',
'lheDefaults',
),
)
122 changes: 72 additions & 50 deletions Configuration/Generator/python/HerwigppDefaults_cfi.py
Expand Up @@ -10,9 +10,6 @@
run = cms.string('LHC'),

cmsDefaults = cms.vstring(
'+pdfMRST2001',
'+cm14TeV',
'+ue_2_3',
'+basicSetup',
'+setParticlesStableForDetector',
),
Expand All @@ -23,14 +20,14 @@
'set LHCGenerator:RandomNumberGenerator /Herwig/RandomGlue',
'set LHCGenerator:NumberOfEvents 10000000',
'set LHCGenerator:DebugLevel 1',
'set LHCGenerator:LogNonDefault 1',
'set LHCGenerator:UseStdout 0',
'set LHCGenerator:PrintEvent 0',
'set LHCGenerator:MaxErrors 10000',
'cd /Herwig/Particles',
'set p+:PDF /Herwig/Partons/cmsPDFSet',
'set pbar-:PDF /Herwig/Partons/cmsPDFSet',
'set K0:Width 1e300*GeV',
'set Kbar0:Width 1e300*GeV',
'cd /',
# 'cd /Herwig/Particles',
# 'set K0:Width 1e300*GeV',
# 'set Kbar0:Width 1e300*GeV',
# 'cd /',
),

# PDF presets
Expand All @@ -42,29 +39,48 @@
'create Herwig::MRST MRST2001 HwMRST.so',
'setup MRST2001 ${HERWIGPATH}/PDF/mrst/2001/lo2002.dat',
'set MRST2001:RemnantHandler HadronRemnants',
'cp MRST2001 cmsPDFSet',
'cd /',
'cp /Herwig/Partons/MRST2001 /cmsPDFSet',
'cd /Herwig/Particles',
'set p+:PDF /cmsPDFSet',
'set pbar-:PDF /cmsPDFSet',
'+ue_2_3',
),
# Default pdf for Herwig++ 2.4
pdfMRST2008LOss = cms.vstring(
'cp /Herwig/Partons/MRST /Herwig/Partons/cmsPDFSet',
),
pdfCTEQ5L = cms.vstring(
'cd /Herwig/Partons',
'create ThePEG::LHAPDF CTEQ5L ThePEGLHAPDF.so',
'set CTEQ5L:PDFName cteq5l.LHgrid',
'set CTEQ5L:RemnantHandler HadronRemnants',
'cp CTEQ5L cmsPDFSet',
'cd /',
),
pdfCTEQ6L1 = cms.vstring(
'cd /Herwig/Partons',
'create ThePEG::LHAPDF CTEQ6L1 ThePEGLHAPDF.so',
'set CTEQ6L1:PDFName cteq6ll.LHpdf',
'set CTEQ6L1:RemnantHandler HadronRemnants',
'cp CTEQ6L1 cmsPDFSet',
'cd /',
),
'cp /Herwig/Partons/MRST /cmsPDFSet',
'cd /Herwig/Particles',
'set p+:PDF /cmsPDFSet',
'set pbar-:PDF /cmsPDFSet',
'+ue_2_4',
),
pdfCTEQ6LL = cms.vstring(
'cd /Herwig/Partons',
'create ThePEG::LHAPDF /cmsPDFSet ThePEGLHAPDF.so',
'set /cmsPDFSet:PDFName cteq6ll.LHpdf',
'set /cmsPDFSet:RemnantHandler HadronRemnants',
'set /Herwig/Particles/p+:PDF /cmsPDFSet',
'set /Herwig/Particles/pbar-:PDF /cmsPDFSet',
'cd /'
),
pdfCTEQ6L1 = cms.vstring(
'cd /Herwig/Partons',
'create ThePEG::LHAPDF /cmsPDFSet ThePEGLHAPDF.so',
'set /cmsPDFSet:PDFName cteq6ll.LHpdf',
'set /cmsPDFSet:RemnantHandler HadronRemnants',
'set /Herwig/Particles/p+:PDF /cmsPDFSet',
'set /Herwig/Particles/pbar-:PDF /cmsPDFSet',
'cd /'
),
pdfCT10 = cms.vstring(
'cd /Herwig/Partons',
'create ThePEG::LHAPDF /cmsPDFSet ThePEGLHAPDF.so',
'set /cmsPDFSet:PDFName CT10.LHgrid',
'set /cmsPDFSet:RemnantHandler HadronRemnants',
'set /Herwig/Particles/p+:PDF /cmsPDFSet',
'set /Herwig/Particles/pbar-:PDF /cmsPDFSet',
'cd /'
),

# CME presets
##############################
Expand All @@ -73,14 +89,18 @@
'set /Herwig/Generators/LHCGenerator:EventHandler:LuminosityFunction:Energy 7000.0',
'set /Herwig/Shower/Evolver:IntrinsicPtGaussian 2.0*GeV',
),
cm8TeV = cms.vstring(
'set /Herwig/Generators/LHCGenerator:EventHandler:LuminosityFunction:Energy 8000.0',
'set /Herwig/Shower/Evolver:IntrinsicPtGaussian 2.0*GeV',
),
cm8TeV = cms.vstring(
'set /Herwig/Generators/LHCGenerator:EventHandler:LuminosityFunction:Energy 8000.0',
'set /Herwig/Shower/Evolver:IntrinsicPtGaussian 2.0*GeV',
),
cm10TeV = cms.vstring(
'set /Herwig/Generators/LHCGenerator:EventHandler:LuminosityFunction:Energy 10000.0',
'set /Herwig/Shower/Evolver:IntrinsicPtGaussian 2.1*GeV',
),
cm13TeV = cms.vstring(
'set /Herwig/Generators/LHCGenerator:EventHandler:LuminosityFunction:Energy 13000.0',
'set /Herwig/Shower/Evolver:IntrinsicPtGaussian 2.2*GeV',
),
cm14TeV = cms.vstring(
'set /Herwig/Generators/LHCGenerator:EventHandler:LuminosityFunction:Energy 14000.0',
'set /Herwig/Shower/Evolver:IntrinsicPtGaussian 2.2*GeV',
Expand All @@ -95,15 +115,15 @@
'set KtCut:MinKT 4.0',
'set UECuts:MHatMin 8.0',
'set MPIHandler:InvRadius 1.5',
'cd /',
'cd /'
),
# UE Tune from Herwig++ 2.4 (MRST2008LO**)
ue_2_4 = cms.vstring(
'cd /Herwig/UnderlyingEvent',
'set KtCut:MinKT 4.3',
'set UECuts:MHatMin 8.6',
'set MPIHandler:InvRadius 1.2',
'cd /',
'cd /'
),

# reweight presets
Expand Down Expand Up @@ -161,50 +181,52 @@
'create ThePEG::LesHouchesInterface LHEReader',
'set LHEReader:Cuts /Herwig/Cuts/NoCuts',
'create ThePEG::LesHouchesEventHandler LHEHandler',
'set LHEHandler:WeightOption VarWeight',
'set LHEReader:MomentumTreatment RescaleEnergy',
'set LHEReader:WeightWarnings 0',
# 'set LHEReader:InitPDFs 1',
'set LHEHandler:WeightOption VarNegWeight',
'set LHEHandler:PartonExtractor /Herwig/Partons/QCDExtractor',
'set LHEHandler:CascadeHandler /Herwig/Shower/ShowerHandler',
'set LHEHandler:HadronizationHandler /Herwig/Hadronization/ClusterHadHandler',
'set LHEHandler:DecayHandler /Herwig/Decays/DecayHandler',
'set LHEHandler:DecayHandler /Herwig/Decays/DecayHandler',
'insert LHEHandler:LesHouchesReaders 0 LHEReader',
'cd /Herwig/Generators',
'set LHCGenerator:EventHandler /Herwig/EventHandlers/LHEHandler',
'cd /Herwig/Shower',
'set Evolver:HardVetoScaleSource Read',
'set Evolver:MECorrMode No',
'cd /',
),
lheDefaultPDFs = cms.vstring(
'cd /Herwig/EventHandlers',
'set LHEReader:PDFA /cmsPDFSet',
'set LHEReader:PDFB /cmsPDFSet',
'cd /',
'set /Herwig/Shower/KinematicsReconstructor:ReconstructionOption General',
'set /Herwig/Shower/KinematicsReconstructor:InitialInitialBoostOption LongTransBoost',
'cd /Herwig/EventHandlers',
'set LHEReader:PDFA /cmsPDFSet',
'set LHEReader:PDFB /cmsPDFSet',
'cd /',
),

# Default settings for using POWHEG
powhegDefaults = cms.vstring(
# Need to use an NLO PDF
'cp /Herwig/Partons/MRST-NLO /cmsPDFSet',
'# Need to use an NLO PDF',
'set /Herwig/Particles/p+:PDF /Herwig/Partons/MRST-NLO',
'set /Herwig/Particles/pbar-:PDF /Herwig/Partons/MRST-NLO',
# and strong coupling
'# and strong coupling',
'create Herwig::O2AlphaS O2AlphaS',
'set /Herwig/Generators/LHCGenerator:StandardModelParameters:QCD/RunningAlphaS O2AlphaS',
# Setup the POWHEG shower
'# Setup the POWHEG shower',
'cd /Herwig/Shower',
# use the general recon for now
'# use the general recon for now',
'set KinematicsReconstructor:ReconstructionOption General',
# create the Powheg evolver and use it instead of the default one
'# create the Powheg evolver and use it instead of the default one',
'create Herwig::PowhegEvolver PowhegEvolver HwPowhegShower.so',
'set ShowerHandler:Evolver PowhegEvolver',
'set PowhegEvolver:ShowerModel ShowerModel',
'set PowhegEvolver:SplittingGenerator SplittingGenerator',
'set PowhegEvolver:MECorrMode 0',
# create and use the Drell-yan hard emission generator
'# create and use the Drell-yan hard emission generator',
'create Herwig::DrellYanHardGenerator DrellYanHardGenerator',
'set DrellYanHardGenerator:ShowerAlpha AlphaQCD',
'insert PowhegEvolver:HardGenerator 0 DrellYanHardGenerator',
# create and use the gg->H hard emission generator
'# create and use the gg->H hard emission generator',
'create Herwig::GGtoHHardGenerator GGtoHHardGenerator',
'set GGtoHHardGenerator:ShowerAlpha AlphaQCD',
'insert PowhegEvolver:HardGenerator 0 GGtoHHardGenerator',
Expand Down
27 changes: 27 additions & 0 deletions Configuration/Generator/python/HerwigppUE_EE_5C_cfi.py
@@ -0,0 +1,27 @@
import FWCore.ParameterSet.Config as cms

herwigppUESettingsBlock = cms.PSet(

EE5CEnergyExtrapol = cms.vstring(
'set /Herwig/UnderlyingEvent/MPIHandler:EnergyExtrapolation Power',
'set /Herwig/UnderlyingEvent/MPIHandler:ReferenceScale 7000.*GeV',
'set /Herwig/UnderlyingEvent/MPIHandler:Power 0.33',
'set /Herwig/UnderlyingEvent/MPIHandler:pTmin0 3.91*GeV',
),

EE5C = cms.vstring(
'+pdfCTEQ6L1',
'+EE5CEnergyExtrapol',
# Colour reconnection settings
'set /Herwig/Hadronization/ColourReconnector:ColourReconnection Yes',
'set /Herwig/Hadronization/ColourReconnector:ReconnectionProbability 0.49',
# Colour Disrupt settings
'set /Herwig/Partons/RemnantDecayer:colourDisrupt 0.80',
# inverse hadron radius
'set /Herwig/UnderlyingEvent/MPIHandler:InvRadius 2.30',
# MPI model settings
'set /Herwig/UnderlyingEvent/MPIHandler:softInt Yes',
'set /Herwig/UnderlyingEvent/MPIHandler:twoComp Yes',
'set /Herwig/UnderlyingEvent/MPIHandler:DLmode 2',
),
)
Expand Up @@ -4,6 +4,7 @@
pythia8CommonSettings = cms.vstring(
'Main:timesAllowErrors = 10000',
'Check:epTolErr = 0.01',
'Beams:setProductionScalesFromLHEF = on',
'SLHA:keepSM = on',
'SLHA:minMassSM = 1000.',
'ParticleDecays:limitTau0 = on',
Expand Down
30 changes: 30 additions & 0 deletions Configuration/Generator/python/QCD_Pt_30_13TeV_herwigpp_cff.py
@@ -0,0 +1,30 @@
import FWCore.ParameterSet.Config as cms

from Configuration.Generator.HerwigppDefaults_cfi import *
from Configuration.Generator.HerwigppUE_EE_5C_cfi import *

source = cms.Source("EmptySource")
generator = cms.EDFilter("ThePEGGeneratorFilter",
herwigDefaultsBlock,
herwigppUESettingsBlock,
configFiles = cms.vstring(),
processParameters = cms.vstring(
'cd /Herwig/MatrixElements/',
'insert SimpleQCD:MatrixElements[0] MEQCD2to2',

'cd /',
'set /Herwig/Cuts/JetKtCut:MinKT 30*GeV',
'set /Herwig/Cuts/QCDCuts:MHatMin 0.0*GeV',
'set /Herwig/UnderlyingEvent/MPIHandler:IdenticalToUE 0',
),
parameterSets = cms.vstring(
'cmsDefaults',
'cm13TeV',
'EE5C',
'processParameters',
),
crossSection = cms.untracked.double(-1.),
filterEfficiency = cms.untracked.double(1.0),
)

ProductionFilterSequence = cms.Sequence(generator)
26 changes: 26 additions & 0 deletions GeneratorInterface/Core/interface/BaseHepMCFilter.h
@@ -0,0 +1,26 @@
#ifndef BaseHepMCFilter_H
#define BaseHepMCFilter_H

// J.Bendavid

// base class for simple filter to run inside of HadronizerFilter for
// multiple hadronization attempts on lhe events

#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"

//
// class declaration
//

class BaseHepMCFilter {
public:
BaseHepMCFilter();
virtual ~BaseHepMCFilter();


virtual bool filter(const HepMC::GenEvent* evt) = 0;

};

#endif

0 comments on commit 9cf6055

Please sign in to comment.