Skip to content

Commit

Permalink
Split the configuration files into data/mc
Browse files Browse the repository at this point in the history
There are now two configuration files:
    zfinder_data_cfg.py for data
    zfinder_mc_cfg.py for mc

The main difference is that the file to run on data includes a Lumi JSON
to restrict running to only good lumisegments. Additionally, each has
their own zdefinitions (the mc version does not have trigger matching
turned on).

To do this, we have split the configuration files into different cfi's,
and have imported these. This avoids code duplication.

Additionally we now read in the Lumi JSON file directly, instead of
converting it with a script and reading that. This makes it so that
there is only one file controlling what lumisegments are run on, instead
of two.
  • Loading branch information
Alexander Gude committed May 8, 2014
1 parent 3f01835 commit 94a8a44
Show file tree
Hide file tree
Showing 8 changed files with 293 additions and 2,845 deletions.
2,607 changes: 0 additions & 2,607 deletions ZFinder/Event/python/Run_2012abcd_good_lumis_cfi.py

This file was deleted.

153 changes: 0 additions & 153 deletions ZFinder/Event/python/ZDefinitions_cfi.py

This file was deleted.

9 changes: 9 additions & 0 deletions ZFinder/Event/python/kt6_pfjets_cfi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import FWCore.ParameterSet.Config as cms

# rho value for isolation
from RecoJets.JetProducers.kt4PFJets_cfi import kt4PFJets # the 4 references the rParam = 0.4
kt6PFJetsForIsolation = kt4PFJets.clone(
rParam = 0.6,
doRhoFastjet = True,
Rho_EtaMax = cms.double(2.5)
)
153 changes: 153 additions & 0 deletions ZFinder/Event/python/zdefinitions_cfi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
import FWCore.ParameterSet.Config as cms
MIN_MZ = 60.
MAX_MZ = 120.

zdefs = cms.untracked.VPSet(
cms.untracked.PSet(
name = cms.untracked.string("All Electrons"),
cuts0 = cms.untracked.vstring("acc(ALL)"),
cuts1 = cms.untracked.vstring("acc(ALL)"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
# Cuts for the combined result, but using generator quantities and no
# ID cuts
cms.untracked.PSet(
name = cms.untracked.string("Combined Gen Cuts"),
cuts0 = cms.untracked.vstring("acc(ALL)", "gpt>30", "gaeta<2.1"),
cuts1 = cms.untracked.vstring("acc(ALL)", "gpt>20", "gaeta<2.4"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(True)
),
cms.untracked.PSet(
name = cms.untracked.string("Combined Reco Cuts"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(MUON_TIGHT)", "pt>30"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(MUON_LOOSE)", "pt>20"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
# Cuts for the combined result. Some assume a double electron trigger (and
# hence use eg_medium on both legs) and some assume a single electron
# trigger (and hence use eg_tight) on one leg
cms.untracked.PSet(
name = cms.untracked.string("Combined Double"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(MUON_TIGHT)", "trig(et_et_tight)", "pt>30", "eg_medium"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(MUON_LOOSE)", "trig(et_et_loose)", "pt>20", "eg_medium"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
cms.untracked.PSet(
name = cms.untracked.string("Combined Single"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(MUON_TIGHT)", "trig(single_ele)", "pt>30", "eg_tight"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(MUON_LOOSE)", "acc(MUON_LOOSE)", "pt>20", "eg_medium"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
# Cuts for the full rapidity measurement, where one electron is required in
# the ECAL Tracked (ET) region and have pt>30, and the other electron is
# required to have pt>20.
cms.untracked.PSet(
name = cms.untracked.string("ET-ET Rapidity"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(ET)", "trig(et_et_tight)", "pt>30", "eg_medium"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(ET)", "trig(et_et_loose)", "pt>20", "eg_loose"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
cms.untracked.PSet(
name = cms.untracked.string("ET-NT Rapidity"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(ET)", "trig(et_nt_etleg)", "pt>30", "eg_medium"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(NT)", "acc(NT)", "pt>20", "nt_loose"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
cms.untracked.PSet(
name = cms.untracked.string("ET-HF Rapidity"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(ET)", "trig(et_hf_tight)", "pt>30", "eg_medium"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(HF)", "trig(hf_loose)", "pt>20", "hf_2dloose"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
)

zdefs_no_trigger = cms.untracked.VPSet(
cms.untracked.PSet(
name = cms.untracked.string("All Electrons"),
cuts0 = cms.untracked.vstring("acc(ALL)"),
cuts1 = cms.untracked.vstring("acc(ALL)"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
# Cuts for the combined result, but using generator quantities and no
# ID cuts
cms.untracked.PSet(
name = cms.untracked.string("Combined Gen Cuts"),
cuts0 = cms.untracked.vstring("acc(ALL)", "gpt>30", "gaeta<2.1"),
cuts1 = cms.untracked.vstring("acc(ALL)", "gpt>20", "gaeta<2.4"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(True)
),
cms.untracked.PSet(
name = cms.untracked.string("Combined Reco Cuts"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(MUON_TIGHT)", "pt>30"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(MUON_LOOSE)", "pt>20"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
# Cuts for the combined result. Some assume a double electron trigger (and
# hence use eg_medium on both legs) and some assume a single electron
# trigger (and hence use eg_tight) on one leg
cms.untracked.PSet(
name = cms.untracked.string("Combined Double"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(MUON_TIGHT)", "pt>30", "eg_medium"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(MUON_LOOSE)", "pt>20", "eg_medium"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
cms.untracked.PSet(
name = cms.untracked.string("Combined Single"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(MUON_TIGHT)", "pt>30", "eg_tight"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(MUON_LOOSE)", "pt>20", "eg_medium"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
# Cuts for the full rapidity measurement, where one electron is required in
# the ECAL Tracked (ET) region and have pt>30, and the other electron is
# required to have pt>20.
cms.untracked.PSet(
name = cms.untracked.string("ET-ET Rapidity"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(ET)", "pt>30", "eg_medium"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(ET)", "pt>20", "eg_loose"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
cms.untracked.PSet(
name = cms.untracked.string("ET-NT Rapidity"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(ET)", "pt>30", "eg_medium"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(NT)", "pt>20", "nt_loose"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
cms.untracked.PSet(
name = cms.untracked.string("ET-HF Rapidity"),
cuts0 = cms.untracked.vstring("acc(ALL)", "acc(ET)", "pt>30", "eg_medium"),
cuts1 = cms.untracked.vstring("acc(ALL)", "acc(HF)", "pt>20", "hf_2dloose"),
min_mz = cms.untracked.double(MIN_MZ),
max_mz = cms.untracked.double(MAX_MZ),
use_truth_mass = cms.untracked.bool(False)
),
)
26 changes: 25 additions & 1 deletion ZFinder/Event/python/zfinder_cfi.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
import FWCore.ParameterSet.Config as cms

demo = cms.EDAnalyzer('ZFinder')
# Import ZDefinitions
from ZFinder.Event.zdefinitions_cfi import zdefs

# ZFinder
ZFinder = cms.EDAnalyzer('ZFinder',
# General tags
ecalElectronsInputTag = cms.InputTag("gsfElectrons"),
hfElectronsInputTag = cms.InputTag("hfRecoEcalCandidate"),
hfClustersInputTag = cms.InputTag("hfEMClusters"),
conversionsInputTag = cms.InputTag("allConversions"),
beamSpotInputTag = cms.InputTag("offlineBeamSpot"),
rhoIsoInputTag = cms.InputTag("kt6PFJetsForIsolation", "rho"),
primaryVertexInputTag = cms.InputTag("offlinePrimaryVertices"),
ntElectronsInputTag = cms.InputTag("photons"),
isoValInputTags = cms.VInputTag(
cms.InputTag('elPFIsoValueCharged03PFIdPFIso'),
cms.InputTag('elPFIsoValueGamma03PFIdPFIso'),
cms.InputTag('elPFIsoValueNeutral03PFIdPFIso')
),
# MC, but still required to be something for data
pileupInputTag = cms.InputTag("addPileupInfo"),
generatorInputTag = cms.InputTag("genParticles"),
# ZDefinitions from ZFinder.ZFinder.ZDefinitions_cfi
ZDefinitions = zdefs
)
Loading

0 comments on commit 94a8a44

Please sign in to comment.