21 process.load(
"PhysicsTools.PatAlgos.cleaningLayer1.photonCleaner_cfi")
23 cleanedPhotonCollection=
"cleanedPhotons"+postfix
24 cleanPhotonProducer = getattr(process,
"cleanPatPhotons").
clone(
25 src = photonCollection,
28 cleanPhotonProducer.checkOverlaps.electrons.src = electronCollection
29 cleanPhotonProducer.checkOverlaps.electrons.requireNoOverlaps=cms.bool(
True)
32 cleanedCorPhotonCollection=
"cleanedCorPhotons"+postfix
33 cleanCorPhotonProducer = getattr(process,
"cleanPatPhotons").
clone(
34 src = corPhotonCollection
36 cleanCorPhotonProducer.checkOverlaps.electrons.src = corElectronCollection
37 cleanCorPhotonProducer.checkOverlaps.electrons.requireNoOverlaps=cms.bool(
True)
45 matchPhotonCollection=
"matchedPhotons"+postfix
46 matchPhotonProducer=cms.EDProducer(
"PFMatchedCandidateRefExtractor",
47 col1=cms.InputTag(cleanedPhotonCollection),
48 col2=cms.InputTag(cleanedCorPhotonCollection),
49 pfCandCollection=cms.InputTag(pfCandidateCollection),
50 extractPFCandidates=cms.bool(pfCandMatching) )
52 matchElectronCollection=
"matchedElectrons"+postfix
53 matchElectronProducer=cms.EDProducer(
"PFMatchedCandidateRefExtractor",
54 col1=cms.InputTag(electronCollection),
55 col2=cms.InputTag(corElectronCollection),
56 pfCandCollection=cms.InputTag(pfCandidateCollection),
57 extractPFCandidates=cms.bool(pfCandMatching) )
61 tag1=
"pfCandCol1" if pfCandMatching
else "col1"
62 tag2=
"pfCandCol2" if pfCandMatching
else "col2"
63 correctionPhoton=
"corMETPhoton"+postfix
64 corMETPhoton = cms.EDProducer(
"ShiftedParticleMETcorrInputProducer",
65 srcOriginal = cms.InputTag(matchPhotonCollection,tag1),
66 srcShifted = cms.InputTag(matchPhotonCollection,tag2),
68 correctionElectron=
"corMETElectron"+postfix
69 corMETElectron=cms.EDProducer(
"ShiftedParticleMETcorrInputProducer",
70 srcOriginal=cms.InputTag(matchElectronCollection,tag1),
71 srcShifted=cms.InputTag(matchElectronCollection,tag2),
75 setattr(process,cleanedPhotonCollection,cleanPhotonProducer)
76 setattr(process,cleanedCorPhotonCollection,cleanCorPhotonProducer)
77 setattr(process,matchPhotonCollection,matchPhotonProducer)
78 setattr(process,matchElectronCollection,matchElectronProducer)
79 setattr(process,correctionPhoton,corMETPhoton)
80 setattr(process,correctionElectron,corMETElectron)
82 sequence=cms.Sequence()
83 sequence+=getattr(process,cleanedPhotonCollection)
84 sequence+=getattr(process,cleanedCorPhotonCollection)
85 sequence+=getattr(process,correctionPhoton)
86 sequence+=getattr(process,correctionElectron)
91 for metCollection
in metCollections:
93 if not hasattr(process, metCollection+postfix):
96 inputMetCollection=metCollection.replace(
"Raw",
"",1)
97 corMETModuleName=corMetName+postfix
98 corMETModule = cms.EDProducer(
"CorrectedPATMETProducer",
99 src = cms.InputTag( inputMetCollection ),
101 srcCorrections = cms.VInputTag( cms.InputTag(correctionPhoton),
102 cms.InputTag(correctionElectron),
105 setattr(process,metCollection+postfix,corMETModule)
106 sequence+=getattr(process,metCollection+postfix)
109 getattr(process,metCollection).srcCorrections.append(cms.InputTag(correctionPhoton))
110 getattr(process,metCollection).srcCorrections.append(cms.InputTag(correctionElectron))
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)