CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
hltExoticaValidator_cfi.py
Go to the documentation of this file.
1 ### Configuration Fragment Include for HLTExoticaValidator module.
2 ### In this file we instantiate the HLTExoticaValidator, with
3 ### some default configurations. The specific analyses are loaded
4 ### as cms.PSets, which are then added to this module with
5 ### specific names. The canonical example is
6 #
7 # from HLTriggerOffline.Exotica.hltExoticaHighPtDimuon_cff import HighPtDimuonPSet
8 #
9 # which is then made known to the module by the line
10 #
11 # analysis = cms.vstring("HighPtDimuon"),
12 #
13 
14 import FWCore.ParameterSet.Config as cms
15 
16 # The specific analyses to be loaded
17 from HLTriggerOffline.Exotica.analyses.hltExoticaHighPtDimuon_cff import HighPtDimuonPSet
18 from HLTriggerOffline.Exotica.analyses.hltExoticaHighPtDielectron_cff import HighPtDielectronPSet
19 from HLTriggerOffline.Exotica.analyses.hltExoticaEleMu_cff import EleMuPSet
20 from HLTriggerOffline.Exotica.analyses.hltExoticaPureMET_cff import PureMETPSet
21 from HLTriggerOffline.Exotica.analyses.hltExoticaMonojet_cff import MonojetPSet
22 from HLTriggerOffline.Exotica.analyses.hltExoticaHT_cff import HTPSet
23 
24 
25 hltExoticaValidator = cms.EDAnalyzer("HLTExoticaValidator",
26 
27  hltProcessName = cms.string("HLT"),
28 
29  # -- The name of the analysis. This is the name that
30  # appears in Run summary/Exotica/ANALYSIS_NAME
31  analysis = cms.vstring("HighPtDimuon",
32  "HighPtDielectron"),
33 # "EleMu",
34 # "PureMET",
35 # "Monojet",
36 # "HT"),
37 
38  # -- The instance name of the reco::GenParticles collection
39  genParticleLabel = cms.string("genParticles"),
40 
41  # -- The binning of the Pt efficiency plots
42  # NOTICE: these DEFINITELY should be tuned for the different analyses.
43  # What we have there is a generic, 0-100 GeV uniform binning.
44  parametersTurnOn = cms.vdouble( 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20,
45  22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
46  42, 44, 46, 48, 50, 52, 54, 56, 58, 60,
47  62, 64, 66, 68, 70, 72, 74, 76, 78, 80,
48  82, 84, 86, 88, 90, 92, 94, 96, 98, 100,
49  ),
50 
51  # -- (NBins, minVal, maxValue) for the Eta and Phi efficiency plots
52  parametersEta = cms.vdouble(48, -2.400, 2.400),
53  parametersPhi = cms.vdouble(50, -3.142, 3.142),
54 
55  # Definition of generic cuts on generated and reconstructed objects (note that
56  # these cuts can be overloaded inside a particular analysis)
57  # Objects recognized: Mu Ele Photon PFTau Jet MET
58  # Syntax in the strings: valid syntax of the StringCutObjectSelector class
59  # --- Muons
60  Mu_genCut = cms.string("pt > 10 && abs(eta) < 2.4 && abs(pdgId) == 13 && status == 1"),
61  Mu_recCut = cms.string("pt > 10 && abs(eta) < 2.4 && isPFMuon && (isTrackerMuon || isGlobalMuon)"), # Loose Muon
62 
63  # --- Electrons
64  Ele_genCut = cms.string("pt > 10 && abs(eta) < 2.5 && abs(pdgId) == 11 && status == 1"),
65  Ele_recCut = cms.string("pt > 10 && abs(eta) < 2.5 && hadronicOverEm < 0.05 &&"+\
66  "eSuperClusterOverP > 0.5 && eSuperClusterOverP < 2.5"), # Loose-like electron
67 
68  # --- Photons
69  Photon_genCut = cms.string("pt > 20 && abs(eta) < 2.4 && abs(pdgId) == 22 && status == 1"),
70  Photon_recCut = cms.string("pt > 20 && abs(eta) < 2.4"), # STILL MISSING THIS INFO
71 
72  # --- Taus:
73  PFTau_genCut = cms.string("pt > 20 && abs(eta) < 2.4 && abs(pdgId) == 15 && status == 3"),
74  PFTau_recCut = cms.string("pt > 20 && abs(eta) < 2.4"), # STILL MISSING THIS INFO
75 
76  # --- Jets:
77  Jet_genCut = cms.string("pt > 30 && abs(eta) < 2.4"),
78  Jet_recCut = cms.string("pt > 30 && abs(eta) < 2.4 &&"+\
79  "(neutralHadronEnergy + HFHadronEnergy)/energy < 0.99 &&"+\
80  "neutralEmEnergyFraction < 0.99 &&"+\
81  "numberOfDaughters > 1 &&"+\
82  "chargedHadronEnergyFraction > 0 &&"+\
83  "chargedMultiplicity > 0 && "+\
84  "chargedEmEnergyFraction < 0.99"), # Loose PFJet
85 
86  # --- MET (PF)
87  MET_genCut = cms.string("pt > 75"),
88  MET_recCut = cms.string("pt > 75"),
89 
90  # The specific parameters per analysis: the name of the parameter set has to be
91  # the same as the defined ones in the 'analysis' datamember. Each analysis is a PSet
92  # with the mandatory attributes:
93  # - hltPathsToCheck (cms.vstring) : a list of all the trigger pats to be checked
94  # in this analysis. Up to the version number _v, but not including
95  # the number in order to avoid this version dependence. Example: HLT_Mu18_v
96  # - recVarLabel (cms.string): where Var is Mu, Ele, Photon, MET, Jet, PFTau, MET. This
97  # attribute is the name of the INSTANCE LABEL for each RECO collection to
98  # be considered in the analysis. Note that the trigger paths rely on some
99  # objects which need to be defined here, otherwise the code will complain.
100  # - minCandidates (cms.uint32): the minimum number of GEN/RECO objects in the event
101  # Besides the mandatory attributes, you can redefine the generation and reconstruction cuts
102  # for any object you want.
103  # * Var_genCut, Var_recCut (cms.string): where Var=Mu, Ele, Photon, Jet, PFTau, MET (see above)
104  HighPtDimuon = HighPtDimuonPSet,
105  HighPtDielectron = HighPtDielectronPSet,
106  EleMu = EleMuPSet,
107  PureMET = PureMETPSet,
108  Monojet = MonojetPSet,
109  HT = HTPSet
110 )