User Tools

Site Tools


exovvrun2:miniaod

miniAOD Workbook

First of all, read through the Twiki MiniAOD Workbook.

Jets

There are two jet collections stored. They are

  • “slimmedJets” = AK4PFJetsCHS
  • “slimmedJetsAK8” = AK8PFJetsCHS (has a transverse momentum cut of pT > 100 GeV)

For slimmedJets, b-tag variables are stored, for slimmedJetsAK8 not. Access via

 jet.bDiscriminator("jetBProbabilityBJetTags")

The AK8 collection contains userfloats for the jets pruned, trimmed and filtered mass. Access via

 fatjet.userFloat("ak8PFJetsCHSPrunedLinks")
 fatjet.userFloat("ak8PFJetsCHSTrimmedLinks")
 fatjet.userFloat("ak8PFJetsCHSFilteredLinks")

Flavour is stored for slimmedJets via

 abs(j.partonFlavour())

not available for AK8.

Jet reclustering

In config file

####### Redo Jet clustering sequence ##########

from RecoJets.Configuration.RecoPFJets_cff import ak8PFJetsCHS, ak8PFJetsCHSPruned, ak8PFJetsCHSSoftDrop, ak8PFJetsCHSPrunedLinks, ak8PFJetsCHSSoftDropLinks# , ak8PFJetsCSTrimmed, ak8PFJetsCSFiltered, ak8PFJetsCHSFilteredLinks, ak8PFJetsCHSTrimmedLinks
                                                                                                          
process.chs = cms.EDFilter("CandPtrSelector",
  src = cms.InputTag('packedPFCandidates'),
  cut = cms.string('fromPV')
)

process.ak8PFJetsCHS = ak8PFJetsCHS.clone( src = 'chs' )
process.ak8PFJetsCHSPruned = ak8PFJetsCHSPruned.clone( src = 'chs' )
process.ak8PFJetsCHSSoftDrop = ak8PFJetsCHSSoftDrop.clone( src = 'chs' )
# process.ak8PFJetsCSTrimmed = ak8PFJetsCSTrimmed.clone( src = 'chs' )
# process.ak8PFJetsCSFiltered = ak8PFJetsCSFiltered.clone( src = 'chs' )
process.ak8PFJetsCHSPrunedLinks = ak8PFJetsCHSPrunedLinks.clone()
process.ak8PFJetsCHSSoftDropLinks = ak8PFJetsCHSSoftDropLinks.clone()
# process.ak8PFJetsCHSFilteredLinks = ak8PFJetsCHSFilteredLinks.clone()
# process.ak8PFJetsCHSTrimmedLinks = ak8PFJetsCHSTrimmedLinks.clone()
process.NjettinessAK8 = cms.EDProducer("NjettinessAdder",
                               src = cms.InputTag("ak8PFJetsCHS"),
                               Njets = cms.vuint32(1, 2, 3, 4),
                               # variables for measure definition : 
                               measureDefinition = cms.uint32( 0 ), # CMS default is normalized measure
                               beta = cms.double(1.0),              # CMS default is 1
                               R0 = cms.double( 0.8 ),              # CMS default is jet cone size
                               Rcutoff = cms.double( -999.0),       # not used by default
                               # variables for axes definition :
                               axesDefinition = cms.uint32( 6 ),    # CMS default is 1-pass KT axes
                               nPass = cms.int32(-999),             # not used by default
                               akAxesR0 = cms.double(-999.0)        # not used by default
                               )
                               
                               
process.substructureSequence = cms.Sequence(process.chs + 
                                    	    process.ak8PFJetsCHS +
                                    	    process.ak8PFJetsCHSPruned +
                                    	    process.ak8PFJetsCHSSoftDrop +
                                            # process.ak8PFJetsCSTrimmed +
                                            # process.ak8PFJetsCSFiltered +
                                    	    process.NjettinessAK8 +
                                    	    process.ak8PFJetsCHSPrunedLinks +
                                    	    process.ak8PFJetsCHSSoftDropLinks) # +
#                                             process.ak8PFJetsCHSFilteredLinks +
#                                             process.ak8PFJetsCHSTrimmedLinks)

####### Redo pat jets sequence ##########

from ExoDiBosonResonances.EDBRJets.redoPatJets_cff import patJetCorrFactorsAK8, patJetsAK8, selectedPatJetsAK8

# Redo ak8PFJetsCHS
process.patJetCorrFactorsAK8 = patJetCorrFactorsAK8.clone( src = 'ak8PFJetsCHS' )
process.patJetsAK8 = patJetsAK8.clone( jetSource = 'ak8PFJetsCHS' )
process.patJetsAK8.jetCorrFactorsSource = cms.VInputTag( cms.InputTag("patJetCorrFactorsAK8") )
process.selectedPatJetsAK8 = selectedPatJetsAK8.clone( cut = cms.string('pt > 20') )

process.redoPatJets = cms.Sequence( process.patJetCorrFactorsAK8 + process.patJetsAK8 + process.selectedPatJetsAK8 )

# Redo ak8PFJetsCHSPruned
process.patPrunedJetCorrFactorsAK8 = patJetCorrFactorsAK8.clone( src = 'ak8PFJetsCHSPruned' )
process.patPrunedJetsAK8 = patJetsAK8.clone( jetSource = 'ak8PFJetsCHSPruned' )
process.patPrunedJetsAK8.jetCorrFactorsSource = cms.VInputTag( cms.InputTag("patPrunedJetCorrFactorsAK8") )
process.patPrunedJetsAK8.userData.userFloats =cms.PSet(src = cms.VInputTag(""))	
process.selectedPrunedPatJetsAK8 = selectedPatJetsAK8.clone(cut = 'pt > 20', src = "patPrunedJetsAK8")

process.redoPrunedPatJets = cms.Sequence( process.patPrunedJetCorrFactorsAK8 + process.patPrunedJetsAK8 + process.selectedPrunedPatJetsAK8 )

# Redo ak8PFJetsCHSSoftDrop
process.patSoftDropJetCorrFactorsAK8 = patJetCorrFactorsAK8.clone( src = 'ak8PFJetsCHSSoftDrop' )
process.patSoftDropJetsAK8 = patJetsAK8.clone( jetSource = 'ak8PFJetsCHSSoftDrop' )
process.patSoftDropJetsAK8.jetCorrFactorsSource = cms.VInputTag( cms.InputTag("patSoftDropJetCorrFactorsAK8") )
process.patSoftDropJetsAK8.userData.userFloats =cms.PSet(src = cms.VInputTag(""))	
process.selectedSoftDropPatJetsAK8 = selectedPatJetsAK8.clone(cut = 'pt > 20', src = "patSoftDropJetsAK8")

process.redoSoftDropPatJets = cms.Sequence( process.patSoftDropJetCorrFactorsAK8 + process.patSoftDropJetsAK8 + process.selectedSoftDropPatJetsAK8 )

Remember to add to your path:

process.p = cms.Path(process.substructureSequence*process.redoPatJets*process.redoPrunedPatJets*process.redoSoftDropPatJets*process.ntuplizer)      
exovvrun2/miniaod.txt · Last modified: 2015/02/05 19:39 by taarre