''' Defines a configuration fragment that can be used as a part of the variables parameter of the TreeMaker describing photon isolation variables of a pat::Photon that are embedded as user floats. Jan Veverka, Caltech, 11 Aug 2012 ''' import FWCore.ParameterSet.Config as cms import Misc.TreeMaker.tools as tools from HtoZg.CommonAnalysis.photon_selection import htozg_id ## Set Loose Cut-Based Photon ID optimized for non-triggering phostons at ## https://twiki.cern.ch/twiki/bin/view/CMS/CutBasedPhotonID2012 ## Revision: r8 ## Accessed: 11 Aug 2012, 04:45 CEST. photonIsolationVariables = tools.get_variables_from_map([ ('chIso' , 'userFloat("photonIsolation:pfChargedHadron")' ), ('nhIso' , 'userFloat("photonIsolation:pfNeutralHadron")' ), ('phIso' , 'userFloat("photonIsolation:pfPhoton")' ), ('rho' , 'userFloat("photonIsolation:rho")' ), ('chEA' , 'userFloat("photonIsolation:chargedHadronEA")' ), ('nhEA' , 'userFloat("photonIsolation:neutralHadronEA")' ), ('phEA' , 'userFloat("photonIsolation:photonEA")' ), ('passID', '? %s ? 1 : 0' % htozg_id ), ])
''' Defines a configuration fragment that can be used as a part of the variables parameter of the TreeMaker describing muon isolation variables of a pat::Muon, some are embedded as user floats. Jan Veverka, Caltech, 8 Aug 2012 ''' import FWCore.ParameterSet.Config as cms import Misc.TreeMaker.tools as tools from HtoZg.MuonAnalysis.muon_selection import htozg_isolation ## Set Thigt Muon ID at ## https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideMuonId#Tight_Muon ## Revision: r35 ## Accessed: 6 Aug 2012, 22:41 CEST. muonIsolationVariables = tools.get_variables_from_map([ ('chIso' , 'pfIsolationR04().sumChargedHadronPt'), ('nhIso' , 'pfIsolationR04().sumNeutralHadronEt'), ('phIso' , 'pfIsolationR04().sumPhotonEt' ), ('combIso', 'userFloat("muonIsolation:combIso")' ), ('rho' , 'userFloat("muonIsolation:rho")' ), ('EA' , 'userFloat("muonIsolation:EA")' ), ('passIso', '? %s ? 1 : 0' % htozg_isolation ), ])
## https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideMuonId#Tight_Muon ## Revision: r35 ## Accessed: 6 Aug 2012, 22:41 CEST. muonIdVariables = tools.get_variables_from_map([ ('isGlobal', 'isGlobalMuon' ), ('isPF' , 'isPFMuon' ), ('normChi2', ''' ? globalTrack().isNonnull ? globalTrack().normalizedChi2 : -999 ''' ), ('nHit' , ''' ? globalTrack().isNonnull ? globalTrack().hitPattern().numberOfValidMuonHits: -999 ''' ), ('nMatch' , 'numberOfMatchedStations' ), ('dxy' , 'userFloat("muonVertexing:dxy")' ), ('dz' , 'userFloat("muonVertexing:dz")' ), ('nPixel' , ''' ? innerTrack().isNonnull ? innerTrack().hitPattern().numberOfValidPixelHits : -999 ''' ), ('nLayer' , ''' ? innerTrack().isNonnull ? innerTrack().hitPattern().trackerLayersWithMeasurement : -999''' ), ('passID' , '? %s ? 1 : 0' % htozg_id ), ])
''' Defines a configuration fragment that can be used as a part of the variables parameter of the TreeMaker describing photon ID variables of a pat::Photon, some may be embedded as user floats. Jan Veverka, Caltech, 11 Aug 2012 ''' import FWCore.ParameterSet.Config as cms import Misc.TreeMaker.tools as tools ## Set Loose Cut-Based Photon ID optimized for non-triggering phostons at ## https://twiki.cern.ch/twiki/bin/view/CMS/CutBasedPhotonID2012 ## Revision: r8 ## Accessed: 11 Aug 2012, 04:45 CEST. photonIdVariables = tools.get_variables_from_map([ ('isEB' , 'isEB'), ('eleVeto', 'userInt("conversionTools:passElectronVeto")'), ('hoe' , 'hadTowOverEm' ), ('sihih' , 'sigmaIetaIeta'), ])
mmgTree = cms.EDAnalyzer('CandViewTreeMaker', name = cms.untracked.string('mmg'), title = cms.untracked.string('MMG variables for the H->Zg analysis'), src = cms.InputTag('mmgCands'), prefix = cms.untracked.string(''), sizeName = cms.untracked.string('n'), variables = cms.VPSet(), ) mmgTree.variables += kinematicVariables mmgTree.variables += tools.get_variables_from_map([ ('mmMass', 'daughter("dimuon").mass'), ('deltaR1', '''deltaR(daughter("dimuon").daughter(0).eta, daughter("dimuon").daughter(0).phi, daughter("photon").eta, daughter("photon").phi)'''), ('deltaR2', '''deltaR(daughter("dimuon").daughter(1).eta, daughter("dimuon").daughter(1).phi, daughter("photon").eta, daughter("photon").phi)'''), ('mu1Pt', 'daughter("dimuon").daughter(0).pt'), ('mu2Pt', 'daughter("dimuon").daughter(1).pt'), ('phoPt', 'daughter("photon").pt'), ('mu1Eta', 'daughter("dimuon").daughter(0).eta'), ('mu2Eta', 'daughter("dimuon").daughter(1).eta'), ('phoEta', 'daughter("photon").eta'), ('mu1Q', 'daughter("dimuon").daughter(0).charge'), ('mu2Q', 'daughter("dimuon").daughter(1).charge'), ])