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 dqmFeeder = cms.EDAnalyzer('EmDQMFeeder',
70  #processname = cms.string("HLT"), # can be obtained from triggerobject
71  triggerobject = cms.InputTag("hltTriggerSummaryRAW","","HLT"),
72  genEtaAcc = cms.double(2.5),
73  genEtAcc = cms.double(2.0),
74  PtMax = cms.untracked.double(100.0),
75  isData = cms.bool(False),
76  verbosity = cms.untracked.uint32(0),
77  mcMatchedOnly = cms.untracked.bool(True),
78  noPhiPlots = cms.untracked.bool(True),
79  noIsolationPlots = cms.untracked.bool(True)
80  )
81 
82 # selectors go into separate "prevalidation" sequence
83 egammaValidationSequence = cms.Sequence(dqmFeeder)
84 egammaValidationSequenceFS = cms.Sequence(dqmFeeder)