Skip to content

Commit

Permalink
Merge pull request #45820 from patinkaew/scouting_nano_test_14_1_0_pre7
Browse files Browse the repository at this point in the history
Change ScoutingNano event content
  • Loading branch information
cmsbuild authored Sep 6, 2024
2 parents 0c60433 + 7bacaa5 commit d1f3825
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,13 @@ typedef SimpleFlatTableProducer<Run3ScoutingElectron> SimpleRun3ScoutingElectron
#include "DataFormats/Scouting/interface/Run3ScoutingTrack.h"
typedef SimpleFlatTableProducer<Run3ScoutingTrack> SimpleRun3ScoutingTrackFlatTableProducer;

#include "DataFormats/Scouting/interface/Run3ScoutingPFJet.h"
typedef SimpleFlatTableProducer<Run3ScoutingPFJet> SimpleRun3ScoutingPFJetFlatTableProducer;

#include "FWCore/Framework/interface/MakerMacros.h"
DEFINE_FWK_MODULE(SimpleRun3ScoutingVertexFlatTableProducer);
DEFINE_FWK_MODULE(SimpleRun3ScoutingPhotonFlatTableProducer);
DEFINE_FWK_MODULE(SimpleRun3ScoutingMuonFlatTableProducer);
DEFINE_FWK_MODULE(SimpleRun3ScoutingElectronFlatTableProducer);
DEFINE_FWK_MODULE(SimpleRun3ScoutingTrackFlatTableProducer);
DEFINE_FWK_MODULE(SimpleRun3ScoutingPFJetFlatTableProducer);
15 changes: 4 additions & 11 deletions PhysicsTools/NanoAOD/python/custom_run3scouting_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

# common tasks
particleTask = cms.Task(scoutingPFCands)
particleTableTask = cms.Task(particleScoutingTable)
ak4JetTableTask = cms.Task(ak4ScoutingJets,ak4ScoutingJetParticleNetJetTagInfos,ak4ScoutingJetParticleNetJetTags,ak4ScoutingJetTable)
ak8JetTableTask = cms.Task(ak8ScoutingJets,ak8ScoutingJetsSoftDrop,ak8ScoutingJetsSoftDropMass,ak8ScoutingJetEcfNbeta1,ak8ScoutingJetNjettiness,ak8ScoutingJetParticleNetJetTagInfos,ak8ScoutingJetParticleNetJetTags,ak8ScoutingJetParticleNetMassRegressionJetTags,ak8ScoutingJetTable)

Expand All @@ -25,7 +24,6 @@
## L1 decisions
gtStage2DigisScouting = gtStage2Digis.clone(InputLabel="hltFEDSelectorL1")
l1bitsScouting = l1bits.clone(src="gtStage2DigisScouting")
patTriggerScouting = patTrigger.clone(l1tAlgBlkInputTag="gtStage2DigisScouting",l1tExtBlkInputTag="gtStage2DigisScouting")

## L1 objects
from PhysicsTools.NanoAOD.l1trig_cff import *
Expand All @@ -42,22 +40,17 @@
l1TauScoutingTable.variables = cms.PSet(l1TauReducedVars)
l1EtSumScoutingTable.variables = cms.PSet(l1EtSumReducedVars)

selectedPatTriggerScouting = selectedPatTrigger.clone(src="patTriggerScouting")
slimmedPatTriggerScouting = slimmedPatTrigger.clone(src="selectedPatTriggerScouting")
unpackedPatTriggerScouting = unpackedPatTrigger.clone(patTriggerObjectsStandAlone="slimmedPatTriggerScouting")
triggerObjectTableScouting = triggerObjectTable.clone(src="unpackedPatTriggerScouting")

triggerTask = cms.Task(
gtStage2DigisScouting, l1MuScoutingTable, l1EGScoutingTable, l1TauScoutingTable, l1JetScoutingTable, l1EtSumScoutingTable,
unpackedPatTriggerScouting,triggerObjectTableScouting,l1bitsScouting
gtStage2DigisScouting, l1bitsScouting,
l1MuScoutingTable, l1EGScoutingTable, l1TauScoutingTable, l1JetScoutingTable, l1EtSumScoutingTable,
)
triggerSequence = cms.Sequence(L1TRawToDigi+patTriggerScouting+selectedPatTriggerScouting+slimmedPatTriggerScouting+cms.Sequence(triggerTask))
triggerSequence = cms.Sequence(L1TRawToDigi+cms.Sequence(triggerTask))

# MC tasks
genJetTask = cms.Task(ak4ScoutingJetMatchGen,ak4ScoutingJetExtTable,ak8ScoutingJetMatchGen,ak8ScoutingJetExtTable)
puTask = cms.Task(puTable)

nanoTableTaskCommon = cms.Task(photonScoutingTable,muonScoutingTableTask,electronScoutingTable,trackScoutingTable,primaryvertexScoutingTable,displacedvertexScoutingTableTask,rhoScoutingTable,metScoutingTable,particleTask,particleTableTask,ak4JetTableTask,ak8JetTableTask)
nanoTableTaskCommon = cms.Task(photonScoutingTable,muonScoutingTableTask,electronScoutingTable,primaryvertexScoutingTable,displacedvertexScoutingTableTask,jetScoutingTable,rhoScoutingTable,metScoutingTable,particleTask,ak4JetTableTask,ak8JetTableTask)

nanoSequenceCommon = cms.Sequence(triggerSequence,nanoTableTaskCommon)

Expand Down
51 changes: 40 additions & 11 deletions PhysicsTools/NanoAOD/python/run3scouting_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from PhysicsTools.NanoAOD.simpleCandidateFlatTableProducer_cfi import simpleCandidateFlatTableProducer

################
# Scouting photons, electrons, muons, tracks, primary vertices, displaced vertices, rho and MET
# Scouting photons, electrons, muons, tracks, primary vertices, displaced vertices, jets (clustered at HLT), rho and MET

photonScoutingTable = cms.EDProducer("SimpleRun3ScoutingPhotonFlatTableProducer",
src = cms.InputTag("hltScoutingEgammaPacker"),
Expand Down Expand Up @@ -141,7 +141,7 @@
nValidStripHits = Var('tk_nValidStripHits', 'int', doc='number of valid strip hits'),
nTrackerLayersWithMeasurement = Var('tk_nTrackerLayersWithMeasurement', 'int', doc='number of tracker layers with measurements'),
qoverp = Var('tk_qoverp', 'float', precision=10, doc='qoverp'),
_lambda = Var('tk_lambda', 'float', precision=10, doc='lambda'),
lambda_ = Var('tk_lambda', 'float', precision=10, doc='lambda'),
dxyError = Var('tk_dxy_Error', 'float', precision=10, doc='dxyError'),
dzError = Var('tk_dz_Error', 'float', precision=10, doc='dzError'),
qoverpError = Var('tk_qoverp_Error', 'float', precision=10, doc='qoverpError'),
Expand Down Expand Up @@ -208,6 +208,35 @@
)
)

jetScoutingTable = cms.EDProducer("SimpleRun3ScoutingPFJetFlatTableProducer",
src = cms.InputTag("hltScoutingPFPacker"),
cut = cms.string(""),
name = cms.string("ScoutingPFJet"),
doc = cms.string("PFJet scouting information"),
singleton = cms.bool(False),
extension = cms.bool(False),
variables = cms.PSet(
P3Vars,
m = Var('m', 'float', precision=10, doc='mass'),
jetArea = Var('jetArea', 'float', precision=10, doc='jet area'),
chargedHadronEnergy = Var('chargedHadronEnergy', 'float', precision=10, doc='charged hadron energy'),
neutralHadronEnergy = Var('neutralHadronEnergy', 'float', precision=10, doc='neutral hadron energy'),
photonEnergy = Var('photonEnergy', 'float', precision=10, doc='photon energy'),
electronEnergy = Var('electronEnergy', 'float', precision=10, doc='electron energy'),
muonEnergy = Var('muonEnergy', 'float', precision=10, doc='muon energy'),
HFHadronEnergy = Var('HFHadronEnergy', 'float', precision=10, doc='hadronic energy in HF'),
HFEMEnergy = Var('HFEMEnergy', 'float', precision=10, doc='electromagnetic energy in HF'),
chargedHadronMultiplicity = Var('chargedHadronMultiplicity', 'int', doc='number of charged hadrons in the jet'),
neutralHadronMultiplicity = Var('neutralHadronMultiplicity', 'int', doc='number of neutral hadrons in the jet'),
photonMultiplicity = Var('photonMultiplicity', 'int', doc='number of photons in the jet'),
electronMultiplicity = Var('electronMultiplicity', 'int', doc='number of electrons in the jet'),
muonMultiplicity = Var('muonMultiplicity', 'int', doc='number of muons in the jet'),
HFHadronMultiplicity = Var('HFHadronMultiplicity', 'int', doc='number of HF hadronic particles in the jet'),
HFEMMultiplicity = Var('HFEMMultiplicity', 'int', doc='number of HF electromagnetic particles in the jet'),
HOEnergy = Var('HOEnergy', 'float', precision=10, doc='hadronic energy in HO'),
)
)

rhoScoutingTable = cms.EDProducer("GlobalVariablesTableProducer",
name = cms.string(""),
variables = cms.PSet(
Expand Down Expand Up @@ -334,17 +363,17 @@

ak4ScoutingJetTable = cms.EDProducer("SimplePFJetFlatTableProducer",
src = cms.InputTag("ak4ScoutingJets"),
name = cms.string("ScoutingJet"),
name = cms.string("ScoutingPFJetRecluster"),
cut = cms.string(""),
doc = cms.string("ScoutingJet"),
doc = cms.string("ak4 jets from re-clustering scouting PF candidates"),
singleton = cms.bool(False),
extension = cms.bool(False), # this is the main table
externalVariables = cms.PSet(
particleNet_prob_b = ExtVar(cms.InputTag('ak4ScoutingJetParticleNetJetTags:probb'), float, doc="ParticleNet probability of b", precision=10),
particleNet_prob_bb = ExtVar(cms.InputTag('ak4ScoutingJetParticleNetJetTags:probbb'), float, doc="ParticleNet probability of bb", precision=10),
particleNet_prob_c = ExtVar(cms.InputTag('ak4ScoutingJetParticleNetJetTags:probc'), float, doc="ParticleNet probability of c", precision=10),
particleNet_prob_cc = ExtVar(cms.InputTag('ak4ScoutingJetParticleNetJetTags:probcc'), float, doc="ParticleNet probability of cc", precision=10),
particlenet_prob_uds = ExtVar(cms.InputTag('ak4ScoutingJetParticleNetJetTags:probuds'), float, doc="particlenet probability of uds", precision=10),
particleNet_prob_uds = ExtVar(cms.InputTag('ak4ScoutingJetParticleNetJetTags:probuds'), float, doc="particlenet probability of uds", precision=10),
particleNet_prob_g = ExtVar(cms.InputTag('ak4ScoutingJetParticleNetJetTags:probg'), float, doc="ParticleNet probability of g", precision=10),
particleNet_prob_undef = ExtVar(cms.InputTag('ak4ScoutingJetParticleNetJetTags:probundef'), float, doc="ParticleNet probability of undef", precision=10),
),
Expand Down Expand Up @@ -374,7 +403,7 @@

ak4ScoutingJetExtTable = cms.EDProducer("SimpleCandidateFlatTableProducer",
src = cms.InputTag("ak4ScoutingJets"),
name = cms.string("ScoutingJet"),
name = cms.string("ScoutingPFJetRecluster"),
cut = cms.string(""),
singleton = cms.bool(False),
extension = cms.bool(True),
Expand Down Expand Up @@ -455,7 +484,7 @@
src = cms.InputTag("ak8ScoutingJetParticleNetJetTagInfos"),
preprocess_json = cms.string("RecoBTag/Combined/data/Run3Scouting/ParticleNetAK8/General/V00/preprocess.json"),
model_path = cms.FileInPath("RecoBTag/Combined/data/Run3Scouting/ParticleNetAK8/General/V00/particle-net.onnx"),
flav_names = cms.vstring(["probHbb", "probHcc","probHqq", "probQCDall"]),
flav_names = cms.vstring([ "probQCDall", "probHbb", "probHcc", "probHqq"]),
debugMode = cms.untracked.bool(False),
)

Expand All @@ -471,9 +500,9 @@

ak8ScoutingJetTable = cms.EDProducer("SimplePFJetFlatTableProducer",
src = cms.InputTag("ak8ScoutingJets"),
name = cms.string("ScoutingFatJet"),
name = cms.string("ScoutingFatPFJetRecluster"),
cut = cms.string(""),
doc = cms.string("ScoutingFatJet"),
doc = cms.string("ak8 jets from re-clustering scouting PF candidates"),
singleton = cms.bool(False),
extension = cms.bool(False), # this is the main table
externalVariables = cms.PSet(
Expand All @@ -486,10 +515,10 @@
tau3 = ExtVar(cms.InputTag('ak8ScoutingJetNjettiness:tau3'), float, doc="Nsubjettiness (3 axis)", precision=10),
tau4 = ExtVar(cms.InputTag('ak8ScoutingJetNjettiness:tau4'), float, doc="Nsubjettiness (4 axis)", precision=10),
particleNet_mass = ExtVar(cms.InputTag('ak8ScoutingJetParticleNetMassRegressionJetTags:mass'), float, doc="ParticleNet regressed mass", precision=10),
particleNet_prob_QCD = ExtVar(cms.InputTag('ak8ScoutingJetParticleNetJetTags:probQCDall'), float, doc="ParticleNet probability of QCD", precision=10),
particleNet_prob_Hbb = ExtVar(cms.InputTag('ak8ScoutingJetParticleNetJetTags:probHbb'), float, doc="ParticleNet probability of Hbb", precision=10),
particleNet_prob_Hcc = ExtVar(cms.InputTag('ak8ScoutingJetParticleNetJetTags:probHcc'), float, doc="ParticleNet probability of Hcc", precision=10),
particleNet_prob_Hqq = ExtVar(cms.InputTag('ak8ScoutingJetParticleNetJetTags:probHqq'), float, doc="ParticleNet probability of Hqq", precision=10),
particleNet_prob_QCD = ExtVar(cms.InputTag('ak8ScoutingJetParticleNetJetTags:probQCDall'), float, doc="ParticleNet probability of QCD", precision=10),
),
variables = cms.PSet(
P4Vars,
Expand Down Expand Up @@ -517,7 +546,7 @@

ak8ScoutingJetExtTable = cms.EDProducer("SimpleCandidateFlatTableProducer",
src = cms.InputTag("ak8ScoutingJets"),
name = cms.string("ScoutingFatJet"),
name = cms.string("ScoutingFatPFJetRecluster"),
cut = cms.string(""),
singleton = cms.bool(False),
extension = cms.bool(True),
Expand Down

0 comments on commit d1f3825

Please sign in to comment.