Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:16

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 #
0004 # SINGLE LEVEL CORRECTORS
0005 #
0006 
0007 # L1 (Offset) CORRECTOR
0008 ak4CaloL1OffsetCorrector = cms.EDProducer(
0009     'L1OffsetCorrectorProducer',
0010     level = cms.string('L1Offset'),
0011     algorithm = cms.string('AK5Calo'),
0012     vertexCollection = cms.InputTag('offlinePrimaryVertices'),
0013     minVtxNdof = cms.int32(4)
0014     )
0015 
0016 ak4PFL1OffsetCorrector = ak4CaloL1OffsetCorrector.clone(algorithm = 'AK4PF')
0017 ak4PFCHSL1OffsetCorrector = ak4CaloL1OffsetCorrector.clone(algorithm = 'AK4PFchs')
0018 ak4PFPuppiL1OffsetCorrector = ak4CaloL1OffsetCorrector.clone(algorithm = 'AK4PFPuppi')
0019 
0020 # L1 (JPT Offset) CORRECTOR
0021 ak4L1JPTOffsetCorrector = cms.EDProducer(
0022     'L1JPTOffsetCorrectorProducer',
0023     level = cms.string('L1JPTOffset'),
0024     algorithm = cms.string('AK4JPT'),
0025     offsetService = cms.InputTag('ak4CaloL1OffsetCorrector')
0026     )
0027 ak4L1JPTOffsetCorrectorTask = cms.Task(
0028     ak4CaloL1OffsetCorrector, ak4L1JPTOffsetCorrector
0029 )
0030 ak4L1JPTOffsetCorrectorChain = cms.Sequence(ak4L1JPTOffsetCorrectorTask)
0031 
0032 # L1 (Fastjet PU Subtraction) CORRECTOR
0033 ak4CaloL1FastjetCorrector = cms.EDProducer(
0034     'L1FastjetCorrectorProducer',
0035     level       = cms.string('L1FastJet'),
0036     algorithm   = cms.string('AK5Calo'),
0037     srcRho      = cms.InputTag( 'fixedGridRhoFastjetAllCalo'  )
0038     )
0039 ak4PFL1FastjetCorrector = cms.EDProducer(
0040     'L1FastjetCorrectorProducer',
0041     level       = cms.string('L1FastJet'),
0042     algorithm   = cms.string('AK4PF'),
0043     srcRho      = cms.InputTag( 'fixedGridRhoFastjetAll' )
0044     )
0045 ak4PFCHSL1FastjetCorrector = cms.EDProducer(
0046     'L1FastjetCorrectorProducer',
0047     level       = cms.string('L1FastJet'),
0048     algorithm   = cms.string('AK4PFchs'),
0049     srcRho      = cms.InputTag( 'fixedGridRhoFastjetAll' )
0050     )
0051 
0052 ak4L1JPTFastjetCorrector = cms.EDProducer(
0053     'L1JPTOffsetCorrectorProducer',
0054     level = cms.string('L1JPTOffset'),
0055     algorithm = cms.string('AK4JPT'),
0056     offsetService = cms.InputTag('ak4CaloL1FastjetCorrector')
0057     )
0058 ak4L1JPTFastjetCorrectorTask = cms.Task(
0059     ak4CaloL1FastjetCorrector, ak4L1JPTFastjetCorrector
0060 )
0061 ak4L1JPTFastjetCorrectorChain = cms.Sequence(ak4L1JPTFastjetCorrectorTask)
0062 
0063 ak4PFPuppiL1FastjetCorrector = cms.EDProducer(
0064     'L1FastjetCorrectorProducer',
0065     level       = cms.string('L1FastJet'),
0066     algorithm   = cms.string('AK4PFPuppi'),
0067     srcRho      = cms.InputTag( 'fixedGridRhoFastjetAll' )
0068     )
0069 
0070 # L2 (relative eta-conformity) CORRECTORS
0071 ak4CaloL2RelativeCorrector = cms.EDProducer(
0072     'LXXXCorrectorProducer',
0073     level     = cms.string('L2Relative'),
0074     algorithm = cms.string('AK5Calo')
0075     )
0076 ak4PFL2RelativeCorrector = ak4CaloL2RelativeCorrector.clone( algorithm = 'AK4PF' )
0077 ak4PFCHSL2RelativeCorrector = ak4CaloL2RelativeCorrector.clone( algorithm = 'AK4PFchs' )
0078 ak4JPTL2RelativeCorrector = ak4CaloL2RelativeCorrector.clone( algorithm = 'AK4JPT' )
0079 ak4TrackL2RelativeCorrector = ak4CaloL2RelativeCorrector.clone( algorithm = 'AK4TRK' )
0080 ak4PFPuppiL2RelativeCorrector = ak4CaloL2RelativeCorrector.clone( algorithm = 'AK4PFPuppi' )
0081 
0082 # L3 (absolute) CORRECTORS
0083 ak4CaloL3AbsoluteCorrector = cms.EDProducer(
0084     'LXXXCorrectorProducer',
0085     level     = cms.string('L3Absolute'),
0086     algorithm = cms.string('AK5Calo')
0087     )
0088 ak4PFL3AbsoluteCorrector     = ak4CaloL3AbsoluteCorrector.clone( algorithm = 'AK4PF' )
0089 ak4PFCHSL3AbsoluteCorrector     = ak4CaloL3AbsoluteCorrector.clone( algorithm = 'AK4PFchs' )
0090 ak4JPTL3AbsoluteCorrector    = ak4CaloL3AbsoluteCorrector.clone( algorithm = 'AK4JPT' )
0091 ak4TrackL3AbsoluteCorrector  = ak4CaloL3AbsoluteCorrector.clone( algorithm = 'AK4TRK' )
0092 ak4PFPuppiL3AbsoluteCorrector     = ak4CaloL3AbsoluteCorrector.clone( algorithm = 'AK4PFPuppi' )
0093 
0094 # Residual CORRECTORS
0095 ak4CaloResidualCorrector = cms.EDProducer(
0096     'LXXXCorrectorProducer',
0097     level     = cms.string('L2L3Residual'),
0098     algorithm = cms.string('AK5Calo')
0099     )
0100 ak4PFResidualCorrector  = ak4CaloResidualCorrector.clone( algorithm = 'AK4PF' )
0101 ak4PFCHSResidualCorrector  = ak4CaloResidualCorrector.clone( algorithm = 'AK4PFchs' )
0102 ak4JPTResidualCorrector = ak4CaloResidualCorrector.clone( algorithm = 'AK4JPT' )
0103 ak4PFPuppiResidualCorrector  = ak4CaloResidualCorrector.clone( algorithm = 'AK4PFPuppi' )
0104 
0105 # L6 (semileptonically decaying b-jet) Correction Services
0106 ak4CaloL6SLBCorrector = cms.EDProducer(
0107     'L6SLBCorrectorProducer',
0108     level               = cms.string('L6SLB'),
0109     algorithm           = cms.string(''),
0110     addMuonToJet        = cms.bool(True),
0111     srcBTagInfoElectron = cms.InputTag('ak4CaloJetsSoftElectronTagInfos'),
0112     srcBTagInfoMuon     = cms.InputTag('ak4CaloJetsSoftMuonTagInfos')
0113     )
0114 ak4PFL6SLBCorrector = cms.EDProducer(
0115     'L6SLBCorrectorProducer',
0116     level               = cms.string('L6SLB'),
0117     algorithm           = cms.string(''),
0118     addMuonToJet        = cms.bool(False),
0119     srcBTagInfoElectron = cms.InputTag('ak4PFJetsSoftElectronTagInfos'),
0120     srcBTagInfoMuon     = cms.InputTag('ak4PFJetsSoftMuonTagInfos')
0121     )
0122 
0123 #
0124 # MULTIPLE LEVEL CORRECTORS
0125 #
0126 
0127 # L2L3 CORRECORNS
0128 ak4CaloL2L3Corrector = cms.EDProducer(
0129     'ChainedJetCorrectorProducer',
0130     correctors = cms.VInputTag('ak4CaloL2RelativeCorrector','ak4CaloL3AbsoluteCorrector')
0131     )
0132 ak4CaloL2L3CorrectorTask = cms.Task(
0133     ak4CaloL2RelativeCorrector, ak4CaloL3AbsoluteCorrector, ak4CaloL2L3Corrector
0134 )
0135 ak4CaloL2L3CorrectorChain = cms.Sequence(ak4CaloL2L3CorrectorTask)
0136 ak4PFL2L3Corrector = cms.EDProducer(
0137     'ChainedJetCorrectorProducer',
0138     correctors = cms.VInputTag('ak4PFL2RelativeCorrector','ak4PFL3AbsoluteCorrector')
0139     )
0140 ak4PFL2L3CorrectorTask = cms.Task(
0141     ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector, ak4PFL2L3Corrector
0142 )
0143 ak4PFL2L3CorrectorChain = cms.Sequence(ak4PFL2L3CorrectorTask)
0144 ak4PFCHSL2L3Corrector = cms.EDProducer(
0145     'ChainedJetCorrectorProducer',
0146     correctors = cms.VInputTag('ak4PFCHSL2RelativeCorrector','ak4PFCHSL3AbsoluteCorrector')
0147     )
0148 ak4PFCHSL2L3CorrectorTask = cms.Task(
0149     ak4PFCHSL2RelativeCorrector, ak4PFCHSL3AbsoluteCorrector, ak4PFCHSL2L3Corrector
0150 )
0151 ak4PFCHSL2L3CorrectorChain = cms.Sequence(ak4PFCHSL2L3CorrectorTask)
0152 
0153 #--- JPT needs the L1JPTOffset to account for the ZSP changes.
0154 #--- L1JPTOffset is NOT the same as L1Offset !!!!!
0155 ak4JPTL2L3Corrector = cms.EDProducer(
0156     'ChainedJetCorrectorProducer',
0157     correctors = cms.VInputTag('ak4CaloL1OffsetCorrector','ak4L1JPTOffsetCorrector','ak4JPTL2RelativeCorrector','ak4JPTL3AbsoluteCorrector')
0158     )
0159 ak4JPTL2L3CorrectorTask = cms.Task(
0160     ak4L1JPTOffsetCorrectorTask, ak4JPTL2RelativeCorrector, ak4JPTL3AbsoluteCorrector, ak4JPTL2L3Corrector
0161 )
0162 ak4JPTL2L3CorrectorChain = cms.Sequence(ak4JPTL2L3CorrectorTask)
0163 ak4TrackL2L3Corrector = cms.EDProducer(
0164     'ChainedJetCorrectorProducer',
0165     correctors = cms.VInputTag('ak4TrackL2RelativeCorrector','ak4TrackL3AbsoluteCorrector')
0166     )
0167 ak4TrackL2L3CorrectorTask = cms.Task(
0168     ak4TrackL2RelativeCorrector, ak4TrackL3AbsoluteCorrector, ak4TrackL2L3Corrector
0169 )
0170 ak4TrackL2L3CorrectorChain = cms.Sequence(ak4TrackL2L3CorrectorTask)
0171 ak4PFPuppiL2L3Corrector = cms.EDProducer(
0172     'ChainedJetCorrectorProducer',
0173     correctors = cms.VInputTag('ak4PFPuppiL2RelativeCorrector','ak4PFPuppiL3AbsoluteCorrector')
0174     )
0175 ak4PFPuppiL2L3CorrectorTask = cms.Task(
0176     ak4PFPuppiL2RelativeCorrector, ak4PFPuppiL3AbsoluteCorrector, ak4PFPuppiL2L3Corrector
0177 )
0178 ak4PFPuppiL2L3CorrectorChain = cms.Sequence(ak4PFPuppiL2L3CorrectorTask)
0179 
0180 # L2L3Residual CORRECTORS
0181 ak4CaloL2L3ResidualCorrector = cms.EDProducer(
0182     'ChainedJetCorrectorProducer',
0183     correctors = cms.VInputTag('ak4CaloL2RelativeCorrector','ak4CaloL3AbsoluteCorrector','ak4CaloResidualCorrector')
0184     )
0185 ak4CaloL2L3ResidualCorrectorTask = cms.Task(
0186     ak4CaloL2RelativeCorrector, ak4CaloL3AbsoluteCorrector, ak4CaloResidualCorrector, ak4CaloL2L3ResidualCorrector
0187 )
0188 ak4CaloL2L3ResidualCorrectorChain = cms.Sequence(ak4CaloL2L3ResidualCorrectorTask)
0189 ak4PFL2L3ResidualCorrector = cms.EDProducer(
0190     'ChainedJetCorrectorProducer',
0191     correctors = cms.VInputTag('ak4PFL2RelativeCorrector','ak4PFL3AbsoluteCorrector','ak4PFResidualCorrector')
0192     )
0193 ak4PFL2L3ResidualCorrectorTask = cms.Task(
0194     ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector, ak4PFResidualCorrector, ak4PFL2L3ResidualCorrector
0195 )
0196 ak4PFL2L3ResidualCorrectorChain = cms.Sequence(ak4PFL2L3ResidualCorrectorTask)
0197 ak4PFCHSL2L3ResidualCorrector = cms.EDProducer(
0198     'ChainedJetCorrectorProducer',
0199     correctors = cms.VInputTag('ak4PFCHSL2RelativeCorrector','ak4PFCHSL3AbsoluteCorrector','ak4PFCHSResidualCorrector')
0200     )
0201 ak4PFCHSL2L3ResidualCorrectorTask = cms.Task(
0202     ak4PFCHSL2RelativeCorrector, ak4PFCHSL3AbsoluteCorrector, ak4PFCHSResidualCorrector, ak4PFCHSL2L3ResidualCorrector
0203 )
0204 ak4PFCHSL2L3ResidualCorrectorChain = cms.Sequence(ak4PFCHSL2L3ResidualCorrectorTask)
0205 #--- JPT needs the L1JPTOffset to account for the ZSP changes.
0206 #--- L1JPTOffset is NOT the same as L1Offset !!!!!
0207 ak4JPTL2L3ResidualCorrector = cms.EDProducer(
0208     'ChainedJetCorrectorProducer',
0209     correctors = cms.VInputTag('ak4CaloL1OffsetCorrector','ak4L1JPTOffsetCorrector','ak4JPTL2RelativeCorrector','ak4JPTL3AbsoluteCorrector','ak4JPTResidualCorrector')
0210     )
0211 ak4JPTL2L3ResidualCorrectorTask = cms.Task(
0212     ak4L1JPTOffsetCorrectorTask, ak4JPTL2RelativeCorrector, ak4JPTL3AbsoluteCorrector, ak4JPTResidualCorrector, ak4JPTL2L3ResidualCorrector
0213 )
0214 ak4JPTL2L3ResidualCorrectorChain = cms.Sequence(ak4JPTL2L3ResidualCorrectorTask)
0215 ak4PFPuppiL2L3ResidualCorrector = cms.EDProducer(
0216     'ChainedJetCorrectorProducer',
0217     correctors = cms.VInputTag('ak4PFPuppiL2RelativeCorrector','ak4PFPuppiL3AbsoluteCorrector','ak4PFPuppiResidualCorrector')
0218     )
0219 ak4PFPuppiL2L3ResidualCorrectorTask = cms.Task(
0220     ak4PFPuppiL2RelativeCorrector, ak4PFPuppiL3AbsoluteCorrector, ak4PFPuppiResidualCorrector, ak4PFPuppiL2L3ResidualCorrector
0221 )
0222 ak4PFPuppiL2L3ResidualCorrectorChain = cms.Sequence(ak4PFPuppiL2L3ResidualCorrectorTask)
0223 
0224 # L1L2L3 CORRECTORS
0225 ak4CaloL1L2L3Corrector = cms.EDProducer(
0226     'ChainedJetCorrectorProducer',
0227     correctors = cms.VInputTag('ak4CaloL1OffsetCorrector','ak4CaloL2RelativeCorrector','ak4CaloL3AbsoluteCorrector')
0228     )
0229 ak4CaloL1L2L3CorrectorTask = cms.Task(
0230     ak4CaloL1OffsetCorrector, ak4CaloL2RelativeCorrector, ak4CaloL3AbsoluteCorrector, ak4CaloL1L2L3Corrector
0231 )
0232 ak4CaloL1L2L3CorrectorChain = cms.Sequence(ak4CaloL1L2L3CorrectorTask)
0233 ak4PFL1L2L3Corrector = cms.EDProducer(
0234     'ChainedJetCorrectorProducer',
0235     correctors = cms.VInputTag('ak4PFL1OffsetCorrector','ak4PFL2RelativeCorrector','ak4PFL3AbsoluteCorrector')
0236     )
0237 ak4PFL1L2L3CorrectorTask = cms.Task(
0238     ak4PFL1OffsetCorrector, ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector, ak4PFL1L2L3Corrector
0239 )
0240 ak4PFL1L2L3CorrectorChain = cms.Sequence(ak4PFL1L2L3CorrectorTask)
0241 ak4PFCHSL1L2L3Corrector = cms.EDProducer(
0242     'ChainedJetCorrectorProducer',
0243     correctors = cms.VInputTag('ak4PFCHSL1OffsetCorrector','ak4PFCHSL2RelativeCorrector','ak4PFCHSL3AbsoluteCorrector')
0244     )
0245 ak4PFCHSL1L2L3CorrectorTask = cms.Task(
0246     ak4PFCHSL1OffsetCorrector, ak4PFCHSL2RelativeCorrector, ak4PFCHSL3AbsoluteCorrector, ak4PFCHSL1L2L3Corrector
0247 )
0248 ak4PFCHSL1L2L3CorrectorChain = cms.Sequence(ak4PFCHSL1L2L3CorrectorTask)
0249 #--- JPT needs the L1JPTOffset to account for the ZSP changes.
0250 #--- L1JPTOffset is NOT the same as L1Offset !!!!!
0251 ak4JPTL1L2L3Corrector = cms.EDProducer(
0252     'ChainedJetCorrectorProducer',
0253     correctors = cms.VInputTag('ak4CaloL1OffsetCorrector','ak4L1JPTOffsetCorrector','ak4JPTL2RelativeCorrector','ak4JPTL3AbsoluteCorrector')
0254     )
0255 ak4JPTL1L2L3CorrectorTask = cms.Task(
0256     ak4L1JPTOffsetCorrectorTask, ak4JPTL2RelativeCorrector, ak4JPTL3AbsoluteCorrector, ak4JPTL1L2L3Corrector
0257 )
0258 ak4JPTL1L2L3CorrectorChain = cms.Sequence(ak4JPTL1L2L3CorrectorTask)
0259 ak4PFPuppiL1L2L3Corrector = cms.EDProducer(
0260     'ChainedJetCorrectorProducer',
0261     correctors = cms.VInputTag('ak4PFPuppiL1OffsetCorrector','ak4PFPuppiL2RelativeCorrector','ak4PFPuppiL3AbsoluteCorrector')
0262     )
0263 ak4PFPuppiL1L2L3CorrectorTask = cms.Task(
0264     ak4PFPuppiL1OffsetCorrector, ak4PFPuppiL2RelativeCorrector, ak4PFPuppiL3AbsoluteCorrector, ak4PFPuppiL1L2L3Corrector
0265 )
0266 ak4PFPuppiL1L2L3CorrectorChain = cms.Sequence(ak4PFPuppiL1L2L3CorrectorTask)
0267 
0268 # L1L2L3Residual CORRECTORS
0269 ak4CaloL1L2L3ResidualCorrector = cms.EDProducer(
0270     'ChainedJetCorrectorProducer',
0271     correctors = cms.VInputTag('ak4CaloL1OffsetCorrector','ak4CaloL2RelativeCorrector','ak4CaloL3AbsoluteCorrector','ak4CaloResidualCorrector')
0272     )
0273 ak4CaloL1L2L3ResidualCorrectorTask = cms.Task(
0274     ak4CaloL1OffsetCorrector, ak4CaloL2RelativeCorrector, ak4CaloL3AbsoluteCorrector, ak4CaloResidualCorrector, ak4CaloL1L2L3ResidualCorrector
0275 )
0276 ak4CaloL1L2L3ResidualCorrectorChain = cms.Sequence(ak4CaloL1L2L3ResidualCorrectorTask)
0277 ak4PFL1L2L3ResidualCorrector = cms.EDProducer(
0278     'ChainedJetCorrectorProducer',
0279     correctors = cms.VInputTag('ak4PFL1OffsetCorrector','ak4PFL2RelativeCorrector','ak4PFL3AbsoluteCorrector','ak4PFResidualCorrector')
0280     )
0281 ak4PFL1L2L3ResidualCorrectorTask = cms.Task(
0282     ak4PFL1OffsetCorrector, ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector, ak4PFResidualCorrector, ak4PFL1L2L3ResidualCorrector
0283 )
0284 ak4PFL1L2L3ResidualCorrectorChain = cms.Sequence(ak4PFL1L2L3ResidualCorrectorTask)
0285 ak4PFCHSL1L2L3ResidualCorrector = cms.EDProducer(
0286     'ChainedJetCorrectorProducer',
0287     correctors = cms.VInputTag('ak4PFCHSL1OffsetCorrector','ak4PFCHSL2RelativeCorrector','ak4PFCHSL3AbsoluteCorrector','ak4PFCHSResidualCorrector')
0288     )
0289 ak4PFCHSL1L2L3ResidualCorrectorTask = cms.Task(
0290     ak4PFCHSL1OffsetCorrector, ak4PFCHSL2RelativeCorrector, ak4PFCHSL3AbsoluteCorrector, ak4PFCHSResidualCorrector, ak4PFCHSL1L2L3ResidualCorrector
0291 )
0292 ak4PFCHSL1L2L3ResidualCorrectorChain = cms.Sequence(ak4PFCHSL1L2L3ResidualCorrectorTask)
0293 #--- JPT needs the L1JPTOffset to account for the ZSP changes.
0294 #--- L1JPTOffset is NOT the same as L1Offset !!!!!
0295 ak4JPTL1L2L3ResidualCorrector = cms.EDProducer(
0296     'ChainedJetCorrectorProducer',
0297     correctors = cms.VInputTag('ak4CaloL1OffsetCorrector','ak4L1JPTOffsetCorrector','ak4JPTL2RelativeCorrector','ak4JPTL3AbsoluteCorrector','ak4JPTResidualCorrector')
0298     )
0299 ak4JPTL1L2L3ResidualCorrectorTask = cms.Task(
0300     ak4L1JPTOffsetCorrectorTask, ak4JPTL2RelativeCorrector, ak4JPTL3AbsoluteCorrector, ak4JPTResidualCorrector, ak4JPTL1L2L3ResidualCorrector
0301 )
0302 ak4JPTL1L2L3ResidualCorrectorChain = cms.Sequence(ak4JPTL1L2L3ResidualCorrectorTask)
0303 ak4PFPuppiL1L2L3ResidualCorrector = cms.EDProducer(
0304     'ChainedJetCorrectorProducer',
0305     correctors = cms.VInputTag('ak4PFPuppiL1OffsetCorrector','ak4PFPuppiL2RelativeCorrector','ak4PFPuppiL3AbsoluteCorrector','ak4PFPuppiResidualCorrector')
0306     )
0307 ak4PFPuppiL1L2L3ResidualCorrectorTask = cms.Task(
0308     ak4PFPuppiL1OffsetCorrector, ak4PFPuppiL2RelativeCorrector, ak4PFPuppiL3AbsoluteCorrector, ak4PFPuppiResidualCorrector, ak4PFPuppiL1L2L3ResidualCorrector
0309 )
0310 ak4PFPuppiL1L2L3ResidualCorrectorChain = cms.Sequence(ak4PFPuppiL1L2L3ResidualCorrectorTask)
0311 
0312 # L1L2L3 CORRECTORS WITH FASTJET
0313 ak4CaloL1FastL2L3Corrector = ak4CaloL2L3Corrector.clone()
0314 ak4CaloL1FastL2L3Corrector.correctors.insert(0,'ak4CaloL1FastjetCorrector')
0315 ak4CaloL1FastL2L3CorrectorTask = cms.Task(
0316     ak4CaloL1FastjetCorrector, ak4CaloL2RelativeCorrector, ak4CaloL3AbsoluteCorrector, ak4CaloL1FastL2L3Corrector
0317 )
0318 ak4CaloL1FastL2L3CorrectorChain = cms.Sequence(ak4CaloL1FastL2L3CorrectorTask)
0319 ak4PFL1FastL2L3Corrector = ak4PFL2L3Corrector.clone()
0320 ak4PFL1FastL2L3Corrector.correctors.insert(0,'ak4PFL1FastjetCorrector')
0321 ak4PFL1FastL2L3CorrectorTask = cms.Task(
0322     ak4PFL1FastjetCorrector, ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector, ak4PFL1FastL2L3Corrector
0323 )
0324 ak4PFL1FastL2L3CorrectorChain = cms.Sequence(ak4PFL1FastL2L3CorrectorTask)
0325 ak4PFCHSL1FastL2L3Corrector = ak4PFCHSL2L3Corrector.clone()
0326 ak4PFCHSL1FastL2L3Corrector.correctors.insert(0,'ak4PFCHSL1FastjetCorrector')
0327 ak4PFCHSL1FastL2L3CorrectorTask = cms.Task(
0328     ak4PFCHSL1FastjetCorrector, ak4PFCHSL2RelativeCorrector, ak4PFCHSL3AbsoluteCorrector, ak4PFCHSL1FastL2L3Corrector
0329 )
0330 ak4PFCHSL1FastL2L3CorrectorChain = cms.Sequence(ak4PFCHSL1FastL2L3CorrectorTask)
0331 
0332 #--- JPT needs the L1JPTOffset to account for the ZSP changes.
0333 #--- L1JPTOffset is NOT the same as L1Offset !!!!!
0334 
0335 ak4JPTL1FastL2L3Corrector = cms.EDProducer(
0336     'ChainedJetCorrectorProducer',
0337     correctors = cms.VInputTag('ak4CaloL1FastjetCorrector','ak4L1JPTFastjetCorrector','ak4JPTL2RelativeCorrector','ak4JPTL3AbsoluteCorrector')
0338     )
0339 ak4JPTL1FastL2L3CorrectorTask = cms.Task(
0340     ak4L1JPTFastjetCorrectorTask, ak4JPTL2RelativeCorrector, ak4JPTL3AbsoluteCorrector, ak4JPTL1FastL2L3Corrector
0341 )
0342 
0343 ak4JPTL1FastL2L3CorrectorChain = cms.Sequence(ak4JPTL1FastL2L3CorrectorTask)
0344 
0345 ak4PFPuppiL1FastL2L3Corrector = ak4PFPuppiL2L3Corrector.clone()
0346 ak4PFPuppiL1FastL2L3Corrector.correctors.insert(0,'ak4PFPuppiL1FastjetCorrector')
0347 ak4PFPuppiL1FastL2L3CorrectorTask = cms.Task(
0348     ak4PFPuppiL1FastjetCorrector, ak4PFPuppiL2RelativeCorrector, ak4PFPuppiL3AbsoluteCorrector, ak4PFPuppiL1FastL2L3Corrector
0349 )
0350 ak4PFPuppiL1FastL2L3CorrectorChain = cms.Sequence(ak4PFPuppiL1FastL2L3CorrectorTask)
0351 
0352 # L1L2L3Residual CORRECTORS WITH FASTJET
0353 ak4CaloL1FastL2L3ResidualCorrector = cms.EDProducer(
0354     'ChainedJetCorrectorProducer',
0355     correctors = cms.VInputTag('ak4CaloL1FastjetCorrector','ak4CaloL2RelativeCorrector','ak4CaloL3AbsoluteCorrector','ak4CaloResidualCorrector')
0356     )
0357 ak4CaloL1FastL2L3ResidualCorrectorTask = cms.Task(
0358     ak4CaloL1FastjetCorrector, ak4CaloL2RelativeCorrector, ak4CaloL3AbsoluteCorrector, ak4CaloResidualCorrector, ak4CaloL1FastL2L3ResidualCorrector
0359 )
0360 ak4CaloL1FastL2L3ResidualCorrectorChain = cms.Sequence(ak4CaloL1FastL2L3ResidualCorrectorTask)
0361 ak4PFL1FastL2L3ResidualCorrector = cms.EDProducer(
0362     'ChainedJetCorrectorProducer',
0363     correctors = cms.VInputTag('ak4PFL1FastjetCorrector','ak4PFL2RelativeCorrector','ak4PFL3AbsoluteCorrector','ak4PFResidualCorrector')
0364     )
0365 ak4PFL1FastL2L3ResidualCorrectorTask = cms.Task(
0366     ak4PFL1FastjetCorrector, ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector, ak4PFResidualCorrector, ak4PFL1FastL2L3ResidualCorrector
0367 )
0368 ak4PFL1FastL2L3ResidualCorrectorChain = cms.Sequence(ak4PFL1FastL2L3ResidualCorrectorTask)
0369 ak4PFCHSL1FastL2L3ResidualCorrector = cms.EDProducer(
0370     'ChainedJetCorrectorProducer',
0371     correctors = cms.VInputTag('ak4PFCHSL1FastjetCorrector','ak4PFCHSL2RelativeCorrector','ak4PFCHSL3AbsoluteCorrector','ak4PFCHSResidualCorrector')
0372     )
0373 ak4PFCHSL1FastL2L3ResidualCorrectorTask = cms.Task(
0374     ak4PFCHSL1FastjetCorrector, ak4PFCHSL2RelativeCorrector, ak4PFCHSL3AbsoluteCorrector, ak4PFCHSResidualCorrector, ak4PFCHSL1FastL2L3ResidualCorrector
0375 )
0376 ak4PFCHSL1FastL2L3ResidualCorrectorChain = cms.Sequence(ak4PFCHSL1FastL2L3ResidualCorrectorTask)
0377 #--- JPT needs the L1JPTOffset to account for the ZSP changes.
0378 #--- L1JPTOffset is NOT the same as L1Offset !!!!!
0379 ak4JPTL1FastL2L3ResidualCorrector = cms.EDProducer(
0380     'ChainedJetCorrectorProducer',
0381     correctors = cms.VInputTag('ak4CaloL1FastjetCorrector','ak4L1JPTFastjetCorrector','ak4JPTL2RelativeCorrector','ak4JPTL3AbsoluteCorrector','ak4JPTResidualCorrector')
0382     )
0383 ak4JPTL1FastL2L3ResidualCorrectorTask = cms.Task(
0384     ak4L1JPTFastjetCorrectorTask, ak4JPTL2RelativeCorrector, ak4JPTL3AbsoluteCorrector, ak4JPTResidualCorrector, ak4JPTL1FastL2L3ResidualCorrector
0385 )
0386 ak4JPTL1FastL2L3ResidualCorrectorChain = cms.Sequence(ak4JPTL1FastL2L3ResidualCorrectorTask)
0387 ak4PFPuppiL1FastL2L3ResidualCorrector = cms.EDProducer(
0388     'ChainedJetCorrectorProducer',
0389     correctors = cms.VInputTag('ak4PFPuppiL1FastjetCorrector','ak4PFPuppiL2RelativeCorrector','ak4PFPuppiL3AbsoluteCorrector','ak4PFPuppiResidualCorrector')
0390     )
0391 ak4PFPuppiL1FastL2L3ResidualCorrectorTask = cms.Task(
0392     ak4PFPuppiL1FastjetCorrector, ak4PFPuppiL2RelativeCorrector, ak4PFPuppiL3AbsoluteCorrector, ak4PFPuppiResidualCorrector, ak4PFPuppiL1FastL2L3ResidualCorrector
0393 )
0394 ak4PFPuppiL1FastL2L3ResidualCorrectorChain = cms.Sequence(ak4PFPuppiL1FastL2L3ResidualCorrectorTask)
0395 
0396 # L2L3L6 CORRECTORS
0397 ak4CaloL2L3L6Corrector = ak4CaloL2L3Corrector.clone()
0398 ak4CaloL2L3L6Corrector.correctors.append('ak4CaloL6SLBCorrector')
0399 ak4CaloL2L3L6CorrectorTask = cms.Task(
0400     ak4CaloL2RelativeCorrector, ak4CaloL3AbsoluteCorrector, ak4CaloL6SLBCorrector, ak4CaloL2L3L6Corrector
0401 )
0402 ak4CaloL2L3L6CorrectorChain = cms.Sequence(ak4CaloL2L3L6CorrectorTask)
0403 ak4PFL2L3L6Corrector = ak4PFL2L3Corrector.clone()
0404 ak4PFL2L3L6Corrector.correctors.append('ak4PFL6SLBCorrector')
0405 ak4PFL2L3L6CorrectorTask = cms.Task(
0406     ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector, ak4PFL6SLBCorrector, ak4PFL2L3L6Corrector
0407 )
0408 ak4PFL2L3L6CorrectorChain = cms.Sequence(ak4PFL2L3L6CorrectorTask)
0409 
0410 # L1L2L3L6 CORRECTORS
0411 ak4CaloL1FastL2L3L6Corrector = ak4CaloL1FastL2L3Corrector.clone()
0412 ak4CaloL1FastL2L3L6Corrector.correctors.append('ak4CaloL6SLBCorrector')
0413 ak4CaloL1FastL2L3L6CorrectorTask = cms.Task(
0414     ak4CaloL1FastjetCorrector, ak4CaloL2RelativeCorrector, ak4CaloL3AbsoluteCorrector, ak4CaloL6SLBCorrector, ak4CaloL1FastL2L3L6Corrector
0415 )
0416 ak4CaloL1FastL2L3L6CorrectorChain = cms.Sequence(ak4CaloL1FastL2L3L6CorrectorTask)
0417 ak4PFL1FastL2L3L6Corrector = ak4PFL1FastL2L3Corrector.clone()
0418 ak4PFL1FastL2L3L6Corrector.correctors.append('ak4PFL6SLBCorrector')
0419 ak4PFL1FastL2L3L6CorrectorTask = cms.Task(
0420     ak4PFL1FastjetCorrector, ak4PFL2RelativeCorrector, ak4PFL3AbsoluteCorrector, ak4PFL6SLBCorrector, ak4PFL1FastL2L3L6Corrector
0421 )
0422 ak4PFL1FastL2L3L6CorrectorChain = cms.Sequence(ak4PFL1FastL2L3L6CorrectorTask)
0423 
0424 jetCorrectorsTask = cms.Task(
0425     ak4L1JPTOffsetCorrectorTask,
0426     ak4L1JPTFastjetCorrectorTask,
0427     ak4CaloL2L3CorrectorTask,
0428     ak4PFL2L3CorrectorTask,
0429     ak4PFCHSL2L3CorrectorTask,
0430     ak4JPTL2L3CorrectorTask,
0431     ak4TrackL2L3CorrectorTask,
0432     ak4PFPuppiL2L3CorrectorTask,
0433     ak4CaloL2L3ResidualCorrectorTask,
0434     ak4PFL2L3ResidualCorrectorTask,
0435     ak4PFCHSL2L3ResidualCorrectorTask,
0436     ak4JPTL2L3ResidualCorrectorTask,
0437     ak4PFPuppiL2L3ResidualCorrectorTask,
0438     ak4CaloL1L2L3CorrectorTask,
0439     ak4PFL1L2L3CorrectorTask,
0440     ak4PFCHSL1L2L3CorrectorTask,
0441     ak4JPTL1L2L3CorrectorTask,
0442     ak4PFPuppiL1L2L3CorrectorTask,
0443     ak4CaloL1L2L3ResidualCorrectorTask,
0444     ak4PFL1L2L3ResidualCorrectorTask,
0445     ak4PFCHSL1L2L3ResidualCorrectorTask,
0446     ak4JPTL1L2L3ResidualCorrectorTask,
0447     ak4PFPuppiL1L2L3ResidualCorrectorTask,
0448     ak4CaloL1FastL2L3CorrectorTask,
0449     ak4PFL1FastL2L3CorrectorTask,
0450     ak4PFCHSL1FastL2L3CorrectorTask,
0451     ak4JPTL1FastL2L3CorrectorTask,
0452     ak4PFPuppiL1FastL2L3CorrectorTask,
0453     ak4CaloL1FastL2L3ResidualCorrectorTask,
0454     ak4PFL1FastL2L3ResidualCorrectorTask,
0455     ak4PFCHSL1FastL2L3ResidualCorrectorTask,
0456     ak4JPTL1FastL2L3ResidualCorrectorTask,
0457     ak4PFPuppiL1FastL2L3ResidualCorrectorTask,
0458     ak4CaloL2L3L6CorrectorTask,
0459     ak4PFL2L3L6CorrectorTask,
0460     ak4CaloL1FastL2L3L6CorrectorTask,
0461     ak4PFL1FastL2L3L6CorrectorTask
0462 )