00001 from FWCore.GuiBrowsers.ConfigToolBase import *
00002 from PhysicsTools.PatAlgos.tools.helpers import *
00003
00004
00005 class ConfigureHeavyIons(ConfigToolBase):
00006
00007 """ Configure all defaults for heavy ions
00008 """
00009 _label='configureHeavyIons'
00010 _defaultParameters=dicttypes.SortedKeysDict()
00011
00012 def __init__(self):
00013 ConfigToolBase.__init__(self)
00014 self._parameters=copy.deepcopy(self._defaultParameters)
00015 self._comment = ""
00016
00017 def getDefaultParameters(self):
00018 return self._defaultParameters
00019
00020 def __call__(self,process):
00021
00022 self.apply(process)
00023
00024 def toolCode(self, process):
00025 productionDefaults(process)
00026 selectionDefaults(process)
00027
00028 configureHeavyIons=ConfigureHeavyIons()
00029
00030
00031 class ProductionDefaults(ConfigToolBase):
00032
00033 """ Configure all relevant layer1 candidates for heavy ions
00034 """
00035 _label='productionDefaults'
00036 _defaultParameters=dicttypes.SortedKeysDict()
00037
00038 def __init__(self):
00039 ConfigToolBase.__init__(self)
00040 self._parameters=copy.deepcopy(self._defaultParameters)
00041 self._comment = ""
00042
00043 def getDefaultParameters(self):
00044 return self._defaultParameters
00045
00046 def __call__(self,process):
00047
00048 self.apply(process)
00049
00050 def toolCode(self, process):
00051
00052 patJets = getattr(process, jetCollectionString())
00053 patJets.jetSource = cms.InputTag("iterativeConePu5CaloJets")
00054
00055 jetCors = getattr(process, 'patJetCorrFactors')
00056 jetCors.jetSource = cms.InputTag("iterativeConePu5CaloJets")
00057 jetCors.corrLevels = cms.PSet(L2Relative = cms.string("L2Relative_IC5Calo"),
00058 L3Absolute = cms.string("L3Absolute_IC5Calo"),
00059 L1Offset = cms.string('none'),
00060 L4EMF = cms.string('none'),
00061 L5Flavor = cms.string('none'),
00062 L6UE = cms.string('none'),
00063 L7Parton = cms.string('none')
00064 )
00065
00066 partonMatch = getattr(process, 'patJetPartonMatch')
00067 partonMatch.src = cms.InputTag("iterativeConePu5CaloJets")
00068 partonMatch.matched = cms.InputTag("hiPartons")
00069
00070 jetMatch = getattr(process, 'patJetGenJetMatch')
00071 jetMatch.src = cms.InputTag("iterativeConePu5CaloJets")
00072 jetMatch.matched = cms.InputTag("heavyIonCleanedGenJets")
00073
00074 patJets.addBTagInfo = False
00075 patJets.addTagInfos = False
00076 patJets.addDiscriminators = False
00077 patJets.addAssociatedTracks = False
00078 patJets.addJetCharge = False
00079 patJets.addJetID = False
00080 patJets.getJetMCFlavour = False
00081 patJets.addGenPartonMatch = True
00082 patJets.addGenJetMatch = True
00083 patJets.embedGenJetMatch = True
00084 patJets.embedGenPartonMatch = True
00085
00086
00087 muonMatch = getattr(process, 'muonMatch')
00088 muonMatch.matched = cms.InputTag("hiGenParticles")
00089 patMuons = getattr(process, 'patMuons')
00090 patMuons.embedGenMatch = cms.bool(True)
00091 process.patMuons.embedCaloMETMuonCorrs = cms.bool(False)
00092 process.patMuons.embedTcMETMuonCorrs = cms.bool(False)
00093 process.patMuons.embedPFCandidate = cms.bool(False)
00094 process.patMuons.useParticleFlow = cms.bool(False)
00095 process.patMuons.addEfficiencies = cms.bool(False)
00096 process.patMuons.addResolutions = cms.bool(False)
00097 process.patMuons.pvSrc = cms.InputTag("hiSelectedVertex")
00098
00099
00100 photonMatch = getattr(process, 'photonMatch')
00101 photonMatch.matched = cms.InputTag("hiGenParticles")
00102 patPhotons = getattr(process, 'patPhotons')
00103 patPhotons.addPhotonID = cms.bool(True)
00104 patPhotons.addGenMatch = cms.bool(True)
00105 patPhotons.embedGenMatch = cms.bool(True)
00106 patPhotons.userData.userFloats.src = cms.VInputTag(
00107 cms.InputTag( "isoCC1"),cms.InputTag( "isoCC2"),cms.InputTag( "isoCC3"),cms.InputTag( "isoCC4"),cms.InputTag("isoCC5"),
00108 cms.InputTag( "isoCR1"),cms.InputTag( "isoCR2"),cms.InputTag( "isoCR3"),cms.InputTag( "isoCR4"),cms.InputTag("isoCR5"),
00109 cms.InputTag( "isoT11"),cms.InputTag( "isoT12"),cms.InputTag( "isoT13"),cms.InputTag( "isoT14"),
00110 cms.InputTag( "isoT21"),cms.InputTag( "isoT22"),cms.InputTag( "isoT23"),cms.InputTag( "isoT24"),
00111 cms.InputTag( "isoT31"),cms.InputTag( "isoT32"),cms.InputTag( "isoT33"),cms.InputTag( "isoT34"),
00112 cms.InputTag( "isoT41"),cms.InputTag( "isoT42"),cms.InputTag( "isoT43"),cms.InputTag( "isoT44"),
00113 cms.InputTag("isoDR11"),cms.InputTag("isoDR12"),cms.InputTag("isoDR13"),cms.InputTag("isoDR14"),
00114 cms.InputTag("isoDR21"),cms.InputTag("isoDR22"),cms.InputTag("isoDR23"),cms.InputTag("isoDR24"),
00115 cms.InputTag("isoDR31"),cms.InputTag("isoDR32"),cms.InputTag("isoDR33"),cms.InputTag("isoDR34"),
00116 cms.InputTag("isoDR41"),cms.InputTag("isoDR42"),cms.InputTag("isoDR43"),cms.InputTag("isoDR44")
00117 )
00118 patPhotons.photonIDSource = cms.InputTag("PhotonIDProd","PhotonCutBasedIDLoose")
00119 del patPhotons.photonIDSources
00120
00121 productionDefaults=ProductionDefaults()
00122
00123
00124 class SelectionDefaults(ConfigToolBase):
00125
00126 """ Configure all relevant selected layer1 candidates for heavy ions
00127 """
00128 _label='selectionDefaults'
00129 _defaultParameters=dicttypes.SortedKeysDict()
00130
00131 def __init__(self):
00132 ConfigToolBase.__init__(self)
00133 self._parameters=copy.deepcopy(self._defaultParameters)
00134 self._comment = ""
00135
00136 def getDefaultParameters(self):
00137 return self._defaultParameters
00138
00139 def __call__(self,process):
00140
00141 self.apply(process)
00142
00143 def toolCode(self, process):
00144 selectedJets = getattr(process, jetCollectionString('selected'))
00145 selectedJets.cut = cms.string('pt > 20.')
00146 selectedMuons = getattr(process, 'selectedPatMuons')
00147 selectedMuons.cut = cms.string('pt > 0. & abs(eta) < 12.')
00148 selectedPhotons = getattr(process, 'selectedPatPhotons')
00149 selectedPhotons.cut = cms.string('pt > 0. & abs(eta) < 12.')
00150
00151 selectionDefaults=SelectionDefaults()
00152
00153
00154 class DisbaleMonteCarloDeps(ConfigToolBase):
00155
00156 """ Cut off all MC dependencies
00157 """
00158 _label='disableMonteCarloDeps'
00159 _defaultParameters=dicttypes.SortedKeysDict()
00160
00161 def __init__(self):
00162 ConfigToolBase.__init__(self)
00163 self._parameters=copy.deepcopy(self._defaultParameters)
00164 self._comment = ""
00165
00166 def getDefaultParameters(self):
00167 return self._defaultParameters
00168
00169 def __call__(self,process):
00170
00171 self.apply(process)
00172
00173 def toolCode(self, process):
00174
00175 process.heavyIon.doMC = False
00176
00177
00178 process.makeHeavyIonJets.remove(process.genPartons)
00179 process.makeHeavyIonJets.remove(process.heavyIonCleanedGenJets)
00180 process.makeHeavyIonJets.remove(process.hiPartons)
00181 process.makeHeavyIonJets.remove(process.patJetGenJetMatch)
00182 process.makeHeavyIonJets.remove(process.patJetPartonMatch)
00183
00184 process.patJets.addGenPartonMatch = False
00185 process.patJets.embedGenPartonMatch = False
00186 process.patJets.genPartonMatch = ''
00187 process.patJets.addGenJetMatch = False
00188 process.patJets.genJetMatch = ''
00189 process.patJets.getJetMCFlavour = False
00190 process.patJets.JetPartonMapSource = ''
00191
00192
00193 process.makeHeavyIonMuons.remove(process.muonMatch)
00194
00195 process.patMuons.addGenMatch = False
00196 process.patMuons.embedGenMatch = False
00197
00198 disableMonteCarloDeps=DisbaleMonteCarloDeps()