CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/DPGAnalysis/Skims/python/ZElectronSkim_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 HLTPath = "HLT_Ele*"
00004 HLTProcessName = "HLT"
00005 
00006 ### cut on electron tag
00007 ELECTRON_ET_CUT_MIN_TIGHT = 20.0
00008 ELECTRON_ET_CUT_MIN_LOOSE = 10.0
00009 
00010 MASS_CUT_MIN = 40.
00011 
00012 
00013 
00014 ##    _____ _           _                     ___    _ 
00015 ##   | ____| | ___  ___| |_ _ __ ___  _ __   |_ _|__| |
00016 ##   |  _| | |/ _ \/ __| __| '__/ _ \| '_ \   | |/ _` |
00017 ##   | |___| |  __/ (__| |_| | | (_) | | | |  | | (_| |
00018 ##   |_____|_|\___|\___|\__|_|  \___/|_| |_| |___\__,_|
00019 ##   
00020 # Electron ID  ######
00021 from DPGAnalysis.Skims.WElectronSkim_cff import *
00022 
00023 PassingVeryLooseId = goodElectrons.clone(
00024     cut = cms.string(
00025         goodElectrons.cut.value() +
00026         #    " && (gsfTrack.trackerExpectedHitsInner.numberOfHits<=1 && !(-0.02<convDist<0.02 && -0.02<convDcot<0.02))" #wrt std WP90 allowing 1 numberOfMissingExpectedHits
00027             " && (gsfTrack.trackerExpectedHitsInner.numberOfHits<=1 )" #wrt std WP90 allowing 1 numberOfMissingExpectedHits 
00028             " && (ecalEnergy*sin(superClusterPosition.theta)>" + str(ELECTRON_ET_CUT_MIN_LOOSE) + ")"
00029             " && ((isEB"
00030             " && ( dr03TkSumPt/p4.Pt <0.2 && dr03EcalRecHitSumEt/p4.Pt < 0.3 && dr03HcalTowerSumEt/p4.Pt  < 0.3 )"
00031             " && (sigmaIetaIeta<0.012)"
00032             " && ( -0.8<deltaPhiSuperClusterTrackAtVtx<0.8 )"
00033             " && ( -0.01<deltaEtaSuperClusterTrackAtVtx<0.01 )"
00034             " && (hadronicOverEm<0.15)"
00035             ")"
00036             " || (isEE"
00037             " && ( dr03TkSumPt/p4.Pt <0.2 && dr03EcalRecHitSumEt/p4.Pt < 0.3 && dr03HcalTowerSumEt/p4.Pt  < 0.3 )"
00038             " && (sigmaIetaIeta<0.033)"
00039             " && ( -0.7<deltaPhiSuperClusterTrackAtVtx<0.7 )" 
00040             " && ( -0.01<deltaEtaSuperClusterTrackAtVtx<0.01 )"
00041             " && (hadronicOverEm<0.15) "
00042             "))"
00043         )
00044     )
00045 
00046 PassingTightId = PassingVeryLooseId.clone(
00047     cut = cms.string(
00048         PassingVeryLooseId.cut.value() +
00049         " && (ecalEnergy*sin(superClusterPosition.theta)>" + str(ELECTRON_ET_CUT_MIN_TIGHT) + ")"
00050         )
00051     )
00052 
00053 Zele_sequence = cms.Sequence(
00054     PassingVeryLooseId
00055     *PassingTightId 
00056     )
00057                          
00058 
00059 
00060 ##    _____ ___   ____    ____       _          
00061 ##   |_   _( _ ) |  _ \  |  _ \ __ _(_)_ __ ___ 
00062 ##     | | / _ \/\ |_) | | |_) / _` | | '__/ __|
00063 ##     | || (_>  <  __/  |  __/ (_| | | |  \__ \
00064 ##     |_| \___/\/_|     |_|   \__,_|_|_|  |___/
00065 ##                                              
00066 ##   
00067 import copy
00068 from HLTrigger.HLTfilters.hltHighLevel_cfi import *
00069 ZEEHltFilter = copy.deepcopy(hltHighLevel)
00070 ZEEHltFilter.throw = cms.bool(False)
00071 ZEEHltFilter.HLTPaths = [HLTPath]
00072 
00073 tagGsf = cms.EDProducer("CandViewShallowCloneCombiner",
00074     #    decay = cms.string("PassingWP90 goodElectrons"),
00075     # decay = cms.string("PassingVeryLooseId PassingVeryLooseId"),
00076     decay = cms.string("PassingTightId PassingVeryLooseId"),
00077     checkCharge = cms.bool(False), 
00078     cut   = cms.string("mass > " + str(MASS_CUT_MIN))
00079     )
00080 tagGsfCounter = cms.EDFilter("CandViewCountFilter",
00081     src = cms.InputTag("tagGsf"),
00082     minNumber = cms.uint32(1)
00083     )
00084 tagGsfFilter = cms.Sequence(tagGsf * tagGsfCounter)
00085 tagGsfSeq = cms.Sequence( ZEEHltFilter * Zele_sequence * tagGsfFilter )  
00086 #tagGsfSeq = cms.Sequence( ZEEHltFilter * Zele_sequence )  
00087 #tagGsfSeq = cms.Sequence( ZEEHltFilter )