ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Betchart/TopRefTuple/python/tuple.py
Revision: 1.9
Committed: Fri Nov 9 22:05:47 2012 UTC (12 years, 5 months ago) by bbetchar
Content type: text/x-python
Branch: MAIN
Changes since 1.8: +5 -1 lines
Log Message:
modernize trigger storage

File Contents

# Content
1 import operator
2 from FWCore.ParameterSet import Config as cms
3
4 class Tuple(object) :
5
6 def __init__(self,process,options) :
7 self.process = process
8 self.options = options
9 self.empty = process.empty = cms.Sequence()
10
11 def path(self) :
12 return cms.Path( self.events() *
13 self.gen() *
14 self.triggers() * # FIXME
15 self.electron() *
16 self.muon() *
17 #jet
18 #met
19 #vertex
20 #triggers
21 self.tree() )
22
23 def attr(self, item) : return getattr(self.process, item)
24
25 def tree(self) :
26 self.process.topRef = cms.EDAnalyzer( "TreeMaker", outputCommands = cms.untracked.vstring(
27 'drop *',
28 'keep *_tuple*_*_*',) )
29 return self.process.topRef
30
31 def events(self) :
32 self.process.tupleEvents = cms.EDProducer("Tuple_Event")
33 return self.empty + self.process.tupleEvents
34
35 def gen(self) :
36 if self.options.isData : return self.empty
37 self.process.tupleGen = cms.EDProducer("Tuple_GenParticle",
38 InputTag = cms.InputTag('genParticles'),
39 JetCollections = cms.VInputTag("ak5GenJetsNoNu"),
40 Prefix = cms.string('gen'),
41 Suffix = cms.string(''),
42 GenStatus1PtCut = cms.double(1000.0),
43 GenJetPtCut = cms.double(10.0),
44 )
45 self.process.tuplePileup = cms.EDProducer("Tuple_PileupSummary",
46 InputTag = cms.InputTag('addPileupInfo'),
47 Prefix = cms.string('pileup'),
48 Suffix = cms.string('')
49 )
50 return self.empty + self.process.tupleGen + self.process.tuplePileup
51
52 def triggers(self) :
53 if not self.options.isData : return self.empty
54 self.process.tupleTriggers = cms.EDProducer("Tuple_Triggers",
55 InputTag = cms.InputTag('TriggerResults'),
56 TriggerEventInputTag = cms.InputTag('hltTriggerSummaryAOD'),
57 )
58 return self.empty + self.process.tupleTriggers
59
60 def electron(self) :
61 self.process.tupleElectron = cms.EDProducer("Tuple_Electron",
62 electronTag = cms.InputTag('selectedPatElectrons'+self.options.postfix),
63 vertexTag = cms.InputTag('goodOfflinePrimaryVertices'),
64 prefix = cms.string('el'),
65 electronIDs = cms.vstring('mvaTrigV0')
66 )
67 return self.empty + self.process.tupleElectron
68
69
70 def muon(self) :
71 self.process.tupleMuon = cms.EDProducer("Tuple_Muon",
72 muonTag = cms.InputTag('selectedPatMuons'+self.options.postfix),
73 vertexTag = cms.InputTag('goodOfflinePrimaryVertices'),
74 prefix = cms.string('mu') )
75 return self.empty + self.process.tupleMuon
76