CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EgammaValidationAutoConf_cff.py
Go to the documentation of this file.
2 
3 class dummy:
4  pass
5 
6 samples=dummy()
7 
8 ##########################################################
9 # Define which preselections to run #
10 ##########################################################
11 
12 samples.names = ['Wenu',
13  'Zee',
14  'TripleEle',
15  'GammaJet',
16  'DiGamma']
17 samples.pdgid = [ 11,
18  11,
19  11,
20  22,
21  22]
22 samples.num = [1,
23  2,
24  3,
25  1,
26  2]
27 
28 ##########################################################
29 # produce generated paricles in acceptance #
30 ##########################################################
31 
32 genp = cms.EDFilter("PdgIdAndStatusCandViewSelector",
33  status = cms.vint32(3),
34  src = cms.InputTag("genParticles"),
35  pdgId = cms.vint32(11) # replaced in loop
36 )
37 
38 fiducial = cms.EDFilter("EtaPtMinCandViewSelector",
39  src = cms.InputTag("genp"),
40  etaMin = cms.double(-2.5), # to be replaced in loop ?
41  etaMax = cms.double(2.5), # to be replaced in loop ?
42  ptMin = cms.double(2.0) # to be replaced in loop ?
43 )
44 
45 ##########################################################
46 # loop over samples to create modules and sequence #
47 ##########################################################
48 
49 tmp = cms.SequencePlaceholder("tmp")
50 egammaSelectors = cms.Sequence(tmp) # no empty sequences allowed, start with dummy
51 
52 #loop over samples
53 for samplenum in range(len(samples.names)):
54 
55  # clone genparticles and select correct type
56  genpartname = "genpart"+samples.names[samplenum]
57  globals()[genpartname] = genp.clone()
58  setattr(globals()[genpartname],"pdgId",cms.vint32(samples.pdgid[samplenum]) ) # set pdgId
59  egammaSelectors *= globals()[genpartname] # add to sequence
60 
61  # clone generator fiducial region
62  fiducialname = "fiducial"+samples.names[samplenum]
63  globals()[fiducialname] = fiducial.clone()
64  setattr(globals()[fiducialname],"src",cms.InputTag(genpartname) ) # set input collection
65  egammaSelectors *= globals()[fiducialname] # add to sequence
66 
67 egammaSelectors.remove(tmp) # remove the initial dummy
68 
69 emdqm = cms.EDAnalyzer('EmDQM',
70  #processname = cms.string("HLT"), # can be obtained from triggerobject
71  autoConfMode = cms.untracked.bool(True),
72  triggerobject = cms.InputTag("hltTriggerSummaryRAW","","HLT"),
73  genEtaAcc = cms.double(2.5),
74  genEtAcc = cms.double(2.0),
75  PtMax = cms.untracked.double(100.0),
76  isData = cms.bool(False),
77  verbosity = cms.untracked.uint32(0),
78  mcMatchedOnly = cms.untracked.bool(True),
79  noPhiPlots = cms.untracked.bool(True),
80  noIsolationPlots = cms.untracked.bool(True)
81  )
82 
83 # selectors go into separate "prevalidation" sequence
84 egammaValidationSequence = cms.Sequence(emdqm)
85 egammaValidationSequenceFS = cms.Sequence(emdqm)