CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes | Static Private Attributes
runJetUncertainties.RunJetUncertainties Class Reference
Inheritance diagram for runJetUncertainties.RunJetUncertainties:

Public Member Functions

def __call__
 
def __init__
 
def toolCode
 

Private Attributes

 _comment
 
 _parameters
 

Static Private Attributes

tuple _defaultParameters = dicttypes.SortedKeysDict()
 
string _label = 'runJetUncertainties'
 

Detailed Description

Produce collection of pat::Jets with jet energy and resolution shifted up/down,
    in order to estimate effect of systematic uncertainties

Definition at line 13 of file runJetUncertainties.py.

Constructor & Destructor Documentation

def runJetUncertainties.RunJetUncertainties.__init__ (   self)

Definition at line 20 of file runJetUncertainties.py.

References heavyIonTools.ConfigureHeavyIons._defaultParameters, metTools.AddMETCollection._defaultParameters, trackTools.MakeAODTrackCandidates._defaultParameters, coreTools.RunOnData._defaultParameters, runJetUncertainties.RunJetUncertainties._defaultParameters, heavyIonTools.ProductionDefaults._defaultParameters, cmsswVersionTools.PickRelValInputFiles._defaultParameters, coreTools.RemoveMCMatching._defaultParameters, trackTools.MakePATTrackCandidates._defaultParameters, trigTools.SwitchOnTrigger._defaultParameters, heavyIonTools.SelectionDefaults._defaultParameters, heavyIonTools.DisbaleMonteCarloDeps._defaultParameters, trigTools.SwitchOnTriggerStandAlone._defaultParameters, tauTools.AddTauCollection._defaultParameters, trackTools.MakeTrackCandidates._defaultParameters, trigTools.SwitchOnTriggerMatching._defaultParameters, trigTools.SwitchOnTriggerMatchingStandAlone._defaultParameters, trigTools.SwitchOnTriggerMatchEmbedding._defaultParameters, jetTools.AddJetCollection._defaultParameters, jetTools.SwitchJetCollection._defaultParameters, jetTools.UpdateJetCollection._defaultParameters, jetTools.AddJetID._defaultParameters, jetTools.SetTagInfos._defaultParameters, root::helper::RootFunctionAdapter< F, args >.addParameter(), root::helper::RootFunctionHelper< F, args, Tag >.addParameter(), ParameterMgr.addParameter(), fit::RootMinuit< Function >.addParameter(), DropBoxMetadata::Parameters.addParameter(), Python11ParameterSet.addParameter(), l1t::TriggerSystem.addParameter(), LutXml.addParameter(), ConfigToolBase.ConfigToolBase.addParameter(), and edm::ParameterSet.addParameter().

20 
21  def __init__(self):
22  JetMEtUncertaintyTools.__init__(self)
23  self.addParameter(self._defaultParameters, 'dRjetCleaning', 0.5,
24  "Eta-phi distance for extra jet cleaning", Type=float)
25  self._parameters = copy.deepcopy(self._defaultParameters)
26  self._comment = ""

Member Function Documentation

def runJetUncertainties.RunJetUncertainties.__call__ (   self,
  process,
  electronCollection = None,
  photonCollection = None,
  muonCollection = None,
  tauCollection = None,
  jetCollection = None,
  dRjetCleaning = None,
  jetCorrLabel = None,
  doSmearJets = None,
  jetSmearFileName = None,
  jetSmearHistogram = None,
  jetCorrPayloadName = None,
  jetCorrLabelUpToL3 = None,
  jetCorrLabelUpToL3Res = None,
  jecUncertaintyFile = None,
  jecUncertaintyTag = None,
  varyByNsigmas = None,
  addToPatDefaultSequence = None,
  outputModule = None,
  postfix = None 
)

Definition at line 46 of file runJetUncertainties.py.

References heavyIonTools.ConfigureHeavyIons._defaultParameters, metTools.AddMETCollection._defaultParameters, trackTools.MakeAODTrackCandidates._defaultParameters, coreTools.RunOnData._defaultParameters, runJetUncertainties.RunJetUncertainties._defaultParameters, heavyIonTools.ProductionDefaults._defaultParameters, cmsswVersionTools.PickRelValInputFiles._defaultParameters, coreTools.RemoveMCMatching._defaultParameters, trackTools.MakePATTrackCandidates._defaultParameters, trigTools.SwitchOnTrigger._defaultParameters, heavyIonTools.SelectionDefaults._defaultParameters, heavyIonTools.DisbaleMonteCarloDeps._defaultParameters, trigTools.SwitchOnTriggerStandAlone._defaultParameters, tauTools.AddTauCollection._defaultParameters, trackTools.MakeTrackCandidates._defaultParameters, trigTools.SwitchOnTriggerMatching._defaultParameters, trigTools.SwitchOnTriggerMatchingStandAlone._defaultParameters, trigTools.SwitchOnTriggerMatchEmbedding._defaultParameters, jetTools.AddJetCollection._defaultParameters, jetTools.SwitchJetCollection._defaultParameters, jetTools.UpdateJetCollection._defaultParameters, jetTools.AddJetID._defaultParameters, jetTools.SetTagInfos._defaultParameters, SignedImpactParameter3D.apply(), SignedDecayLength3D.apply(), SignedTransverseImpactParameter.apply(), gen::PhotosInterfaceBase.apply(), SurveyParameters.apply(), DummyOOTPileupCorrection.apply(), MatrixReader.MatrixReader.apply, gen::PhotosppInterface.apply(), gen::PhotosInterface.apply(), FWPSetCellEditor.apply(), BeamSpotAlignmentParameters.apply(), RigidBodyAlignmentParameters.apply(), DeviationsFromFileSensor2D.apply(), FWGUIEventFilter.apply(), AlignmentParameters.apply(), ConfigToolBase.ConfigToolBase.apply(), BowedSurfaceAlignmentParameters.apply(), OOTPileupCorrData.apply(), AbsOOTPileupCorrection.apply(), TwoBowedSurfacesAlignmentParameters.apply(), reco::modules::TrackerTrackHitFilter::Rule.apply(), cmsswVersionTools.PickRelValInputFiles.apply(), models.RegExp.apply(), npstat::ArrayND< Numeric, StackLen, StackDim >.apply(), ArrayND< Num1, Len1, Dim1 >.apply(), ArrayND< Numeric, Len, Dim >.apply(), ArrayND< Accumulator >.apply(), ArrayND< Numeric, Len2, Dim2 >.apply(), ArrayND< Num2, Len2, Dim2 >.apply(), npstat::ArrayND< Numeric >.apply(), Config.ProcessModifier.apply(), PedeReader.setParameter(), QIE8Simulator.setParameter(), AbsElectronicODERHS.setParameter(), SiStripLorentzAngleCalibration.setParameter(), SiPixelLorentzAngleCalibration.setParameter(), IntegratedCalibrationBase.setParameter(), SiStripBackplaneCalibration.setParameter(), fit::RootMinuit< Function >.setParameter(), and ConfigToolBase.ConfigToolBase.setParameter().

46 
47  postfix = None):
48  JetMEtUncertaintyTools.__call__(
49  self, process,
50  electronCollection = electronCollection,
51  photonCollection = photonCollection,
52  muonCollection = muonCollection,
53  tauCollection = tauCollection,
54  jetCollection = jetCollection,
55  jetCorrLabel = jetCorrLabel,
56  doSmearJets = doSmearJets,
57  jetSmearFileName = jetSmearFileName,
58  jetSmearHistogram = jetSmearHistogram,
59  jetCorrPayloadName = jetCorrPayloadName,
60  jetCorrLabelUpToL3 = jetCorrLabelUpToL3,
61  jetCorrLabelUpToL3Res = jetCorrLabelUpToL3Res,
62  jecUncertaintyFile = jecUncertaintyFile,
63  jecUncertaintyTag = jecUncertaintyTag,
64  varyByNsigmas = varyByNsigmas,
65  addToPatDefaultSequence = addToPatDefaultSequence,
66  outputModule = outputModule,
67  postfix = postfix)
68  if dRjetCleaning is None:
69  dRjetCleaning = self._defaultParameters['dRjetCleaning'].value
70 
71  self.setParameter('dRjetCleaning', dRjetCleaning)
72 
73  self.apply(process)
def runJetUncertainties.RunJetUncertainties.toolCode (   self,
  process 
)

Definition at line 74 of file runJetUncertainties.py.

References trigTools._addEventContent(), heavyIonTools.ConfigureHeavyIons._parameters, trackTools.MakeAODTrackCandidates._parameters, coreTools.RunOnData._parameters, metTools.AddMETCollection._parameters, runJetUncertainties.RunJetUncertainties._parameters, heavyIonTools.ProductionDefaults._parameters, ConfigToolBase.ConfigToolBase._parameters, TAbsFitConstraint._parameters, TAbsFitParticle._parameters, cmsswVersionTools.PickRelValInputFiles._parameters, coreTools.RemoveMCMatching._parameters, trackTools.MakePATTrackCandidates._parameters, trigTools.SwitchOnTrigger._parameters, heavyIonTools.SelectionDefaults._parameters, heavyIonTools.DisbaleMonteCarloDeps._parameters, trigTools.SwitchOnTriggerStandAlone._parameters, tauTools.AddTauCollection._parameters, trackTools.MakeTrackCandidates._parameters, trigTools.SwitchOnTriggerMatching._parameters, trigTools.SwitchOnTriggerMatchingStandAlone._parameters, trigTools.SwitchOnTriggerMatchEmbedding._parameters, jetTools.AddJetCollection._parameters, jetTools.SwitchJetCollection._parameters, jetTools.UpdateJetCollection._parameters, jetTools.AddJetID._parameters, and jetTools.SetTagInfos._parameters.

74 
75  def toolCode(self, process):
76  electronCollection = self._parameters['electronCollection'].value
77  photonCollection = self._parameters['photonCollection'].value
78  muonCollection = self._parameters['muonCollection'].value
79  tauCollection = self._parameters['tauCollection'].value
80  jetCollection = self._parameters['jetCollection'].value
81  jetCorrLabel = self._parameters['jetCorrLabel'].value
82  dRjetCleaning = self._parameters['dRjetCleaning'].value
83  doSmearJets = self._parameters['doSmearJets'].value
84  jetSmearFileName = self._parameters['jetSmearFileName'].value
85  jetSmearHistogram = self._parameters['jetSmearHistogram'].value
86  jetCorrPayloadName = self._parameters['jetCorrPayloadName'].value
87  jetCorrLabelUpToL3 = self._parameters['jetCorrLabelUpToL3'].value
88  jetCorrLabelUpToL3Res = self._parameters['jetCorrLabelUpToL3Res'].value
89  jecUncertaintyFile = self._parameters['jecUncertaintyFile'].value
90  jecUncertaintyTag = self._parameters['jecUncertaintyTag'].value
91  varyByNsigmas = self._parameters['varyByNsigmas'].value
92  addToPatDefaultSequence = self._parameters['addToPatDefaultSequence'].value
93  outputModule = self._parameters['outputModule'].value
94  postfix = self._parameters['postfix'].value
95 
96  if not hasattr(process, "jetUncertaintySequence" + postfix):
97  jetUncertaintySequence = cms.Sequence()
98  setattr(process, "jetUncertaintySequence" + postfix, jetUncertaintySequence)
99  jetUncertaintySequence = getattr(process, "jetUncertaintySequence" + postfix)
100 
101  collectionsToKeep = []
102 
103  # produce collection of jets not overlapping with reconstructed
104  # electrons/photons, muons and tau-jet candidates
105  lastJetCollection, cleanedJetCollection = \
106  self._addCleanedJets(process, jetCollection,
107  electronCollection, photonCollection, muonCollection, tauCollection,
108  jetUncertaintySequence, postfix)
109 
110  # smear jet energies to account for difference in jet resolutions between MC and Data
111  # (cf. JME-10-014 PAS)
112  jetCollectionResUp = None
113  jetCollectionResDown = None
114  if doSmearJets:
115  lastJetCollection = \
116  self._addSmearedJets(process, cleanedJetCollection, [ "smeared", jetCollection.value() ],
117  jetSmearFileName, jetSmearHistogram, varyByNsigmas,
118  uncertaintySequence = jetUncertaintySequence, postfix = postfix)
119  jetCollectionResUp = \
120  self._addSmearedJets(process, cleanedJetCollection, [ "smeared", jetCollection.value(), "ResUp" ],
121  jetSmearFileName, jetSmearHistogram, varyByNsigmas, -1.,
122  uncertaintySequence = jetUncertaintySequence, postfix = postfix)
123  collectionsToKeep.append(jetCollectionResUp)
124  jetCollectionResDown = \
125  self._addSmearedJets(process, cleanedJetCollection, [ "smeared", jetCollection.value(), "ResDown" ],
126  jetSmearFileName, jetSmearHistogram, varyByNsigmas, +1.,
127  uncertaintySequence = jetUncertaintySequence, postfix = postfix)
128  collectionsToKeep.append(jetCollectionResDown)
129 
130  collectionsToKeep.append(lastJetCollection)
131 
132  #--------------------------------------------------------------------------------------------
133  # produce collection of electrons/photons, muons, tau-jet candidates and jets
134  # shifted up/down in energy by their respective energy uncertainties
135  #--------------------------------------------------------------------------------------------
136 
137  shiftedParticleSequence, shiftedParticleCollections, addCollectionsToKeep = \
138  self._addShiftedParticleCollections(process,
139  None,
140  None,
141  None,
142  None,
143  jetCollection, cleanedJetCollection, lastJetCollection,
144  jetCollectionResUp, jetCollectionResDown,
145  jetCorrLabelUpToL3, jetCorrLabelUpToL3Res,
146  jecUncertaintyFile, jecUncertaintyTag,
147  varyByNsigmas,
148  postfix)
149  setattr(process, "shiftedParticlesForJetUncertainties" + postfix, shiftedParticleSequence)
150  jetUncertaintySequence += getattr(process, "shiftedParticlesForJetUncertainties" + postfix)
151  collectionsToKeep.extend(addCollectionsToKeep)
152 
153  # insert metUncertaintySequence into patDefaultSequence
154  if addToPatDefaultSequence:
155  if not hasattr(process, "patDefaultSequence"):
156  raise ValueError("PAT default sequence is not defined !!")
157  process.patDefaultSequence += jetUncertaintySequence
158 
159  # add shifted + unshifted collections pf pat::Electrons/Photons,
160  # Muons, Taus, Jets and MET to PAT-tuple event content
161  if outputModule is not None and hasattr(process, outputModule):
162  getattr(process, outputModule).outputCommands = _addEventContent(
163  getattr(process, outputModule).outputCommands,
164  [ 'keep *_%s_*_%s' % (collectionToKeep, process.name_()) for collectionToKeep in collectionsToKeep ])
def _addEventContent
Definition: trigTools.py:31

Member Data Documentation

runJetUncertainties.RunJetUncertainties._comment
private

Definition at line 25 of file runJetUncertainties.py.

tuple runJetUncertainties.RunJetUncertainties._defaultParameters = dicttypes.SortedKeysDict()
staticprivate

Definition at line 19 of file runJetUncertainties.py.

Referenced by runJetUncertainties.RunJetUncertainties.__call__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__call__(), runJetUncertainties.RunJetUncertainties.__init__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.__init__(), ConfigToolBase.ConfigToolBase.dumpPython(), ConfigToolBase.ConfigToolBase.getAllowedValues(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getDefaultParameters(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.initializeInputTag(), ConfigToolBase.ConfigToolBase.reset(), and ConfigToolBase.ConfigToolBase.setParameter().

string runJetUncertainties.RunJetUncertainties._label = 'runJetUncertainties'
staticprivate

Definition at line 18 of file runJetUncertainties.py.

Referenced by validation.SimpleSample.digest(), and validation.SimpleSample.label().

runJetUncertainties.RunJetUncertainties._parameters
private

Definition at line 24 of file runJetUncertainties.py.

Referenced by runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.ak4JetReclustering(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.createMVAMETModule(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.createSmearedJetModule(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.extractMET(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getCorrectedMET(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getMETUncertainties(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getUnclusteredVariationsForMVAMET(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.getVariations(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.jetCleaning(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.jetConfiguration(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.miniAODConfiguration(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.miniAODConfigurationPost(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.recomputeRawMetFromPfcs(), runJetUncertainties.RunJetUncertainties.toolCode(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.toolCode(), and runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties.updateJECs().