Example #1
0
 def listOfCalculables(self,params) :
     _jet = params["objects"]["jet"]
     _muon = params["objects"]["muon"]
     _electron = params["objects"]["electron"]
     _photon = params["objects"]["photon"]
     _jetPtMin = params["objects"]["jetPtMin"]
     _dR = params["dR"]
     _vPtMin = params["vetoPtMin"]
     
     return calculables.zeroArgs() +\
            calculables.fromCollections("calculablesJet",[_jet]) +\
            calculables.fromCollections("calculablesMuon",[_muon]) +\
            calculables.fromCollections("calculablesElectron",[_electron]) +\
            calculables.fromCollections("calculablesPhoton",[_photon]) +\
            [ calculables.xcJet( _jet,  gamma = _photon, gammaDR = _dR, muon = _muon, muonDR = _dR, electron = _electron, electronDR = _dR,
                                 correctForMuons = not params["objects"]["muonsInJets"]),
              calculables.jetIndices( _jet, _jetPtMin, etaMax = 3.0, flagName = params["jetId"]),
              calculables.muonIndices( _muon, ptMin = _vPtMin, combinedRelIsoMax = 0.15),
              calculables.electronIndices( _electron, ptMin = _vPtMin, simpleEleID = "95", useCombinedIso = True),
              calculables.photonIndicesPat(  ptMin = _vPtMin, flagName = "photonIDLoosePat"),
              calculables.indicesUnmatched(collection = _photon, xcjets = _jet, DR = _dR),
              calculables.indicesUnmatched(collection = _electron, xcjets = _jet, DR = _dR)
              ] \
              + [calculables.deltaPseudoJet(_jet, True),
                 calculables.alphaT(_jet, True),
                 calculables.jetSumP4(_jet,1.0)]
Example #2
0
 def listOfCalculables(self,params) :
     _jet = params["objects"]["jet"]
     _muon = params["objects"]["muon"]
     _electron = params["objects"]["electron"]
     _photon = params["objects"]["photon"]
     _jetPtMin = params["objects"]["jetPtMin"]
     _etRatherThanPt = params["etRatherThanPt"]
     
     return calculables.zeroArgs() +\
            calculables.fromCollections("calculablesJet",[_jet]) +\
            calculables.fromCollections("calculablesMuon",[_muon]) +\
            calculables.fromCollections("calculablesElectron",[_electron]) +\
            calculables.fromCollections("calculablesPhoton",[_photon]) +\
            [ #calculables.xcJet( _jet,  gamma = _photon, gammaDR = 0.5, muon = _muon, muonDR = 0.5, electron = _electron, electronDR = 0.5),
              calculables.jetIndices( _jet, _jetPtMin, etaMax = 3.0, flagName = params["jetId"]),
              calculables.muonIndices( _muon, ptMin = 20, combinedRelIsoMax = 0.15),
              calculables.electronIndices( _electron, ptMin = 20, simpleEleID = "95", useCombinedIso = True),
              calculables.photonIndicesPat(  ptMin = 20, flagName = "photonIDLoosePat"),
              #calculables.indicesUnmatched(collection = _photon, xcjets = _jet, DR = 0.5),
              #calculables.indicesUnmatched(collection = _electron, xcjets = _jet, DR = 0.5)
              ] \
              + [ calculables.jetSumP4(_jet, mcScaleFactor = params["mcMhtScaleFactor"]),
                  calculables.deltaPhiStar(_jet, ptMin = 50.0),
                  calculables.jetSumP4Low(_jet, ptMin = 30.0),
                  calculables.deltaPseudoJet(_jet, _etRatherThanPt),
                  calculables.alphaT(_jet, _etRatherThanPt) ]
Example #3
0
 def listOfCalculables(self, params) :
     obj = params["objects"]
     outList  = calculables.zeroArgs()
     outList += calculables.fromCollections(calculables.Muon, [obj["muon"]])
     outList += calculables.fromCollections(calculables.Electron, [obj["electron"]])
     outList += calculables.fromCollections(calculables.Photon, [obj["photon"]])
     outList += self.calcListOther(obj, params["triggerList"])
     outList += self.calcListJet(obj, params["etRatherThanPt"], params["lowPtThreshold"], params["lowPtName"])
     return outList
Example #4
0
    def listOfCalculables(self, params) :
        if params["vertexMode"] :
            assert params["photonId"] in ["photonIDTightFromTwikiPat"],"In vertexMode but requested %s"%params["photonId"]

        obj = params["objects"]
        _etRatherThanPt = params["etRatherThanPt"]

        return calculables.zeroArgs() +\
               calculables.fromCollections(calculables.Jet,[obj["jet"]]) +\
               calculables.fromCollections(calculables.Muon,[obj["muon"]]) +\
               calculables.fromCollections(calculables.Electron,[obj["electron"]]) +\
               calculables.fromCollections(calculables.Photon,[obj["photon"]]) +\
               [ calculables.XClean.xcJet( obj["jet"],
                                           gamma = obj["photon"],
                                           gammaDR = 0.5,
                                           muon = obj["muon"],
                                           muonDR = 0.5,
                                           correctForMuons = not obj["muonsInJets"],
                                           electron = obj["electron"], electronDR = 0.5
                                           ),
                 calculables.Jet.Indices( obj["jet"], ptMin = params["thresholds"][3], etaMax = 3.0, flagName = params["jetId"]),
                 calculables.Jet.Indices( obj["jet"], ptMin = params["lowPtThreshold"], etaMax = 3.0, flagName = params["jetId"], extraName = params["lowPtName"]),
                 calculables.Jet.Indices( obj["jet"], ptMin = params["highPtThreshold"], etaMax = 3.0, flagName = params["jetId"], extraName = params["highPtName"]),
                 calculables.Muon.Indices( obj["muon"], ptMin = 10, combinedRelIsoMax = 0.15),
                 calculables.Electron.Indices( obj["electron"], ptMin = 10, simpleEleID = "95", useCombinedIso = True),
                 calculables.Photon.Indices(obj["photon"], ptMin = 25, flagName = params["photonId"]),

                 calculables.Gen.genIndices( pdgs = [22], label = "Status3Photon", status = [3]),
                 calculables.Gen.genMinDeltaRPhotonOther( label = "Status3Photon"),

                 calculables.Gen.genIndices( pdgs = [22], label = "Status1Photon", status = [1]),
                 calculables.Gen.genIsolations(label = "Status1Photon", coneSize = 0.4),
                 calculables.Gen.genPhotonCategory(label = "Status1Photon"),

                 calculables.XClean.IndicesUnmatched(collection = obj["photon"], xcjets = obj["jet"], DR = 0.5),
                 calculables.XClean.IndicesUnmatched(collection = obj["electron"], xcjets = obj["jet"], DR = 0.5)
                 ] \
                 + [ calculables.Jet.SumP4(obj["jet"]),
                     calculables.Jet.SumP4(obj["jet"], extraName = params["lowPtName"]),
                     calculables.Jet.SumP4(obj["jet"], extraName = params["highPtName"]),
                     calculables.Jet.DeltaPhiStar(obj["jet"], extraName = ""),
                     calculables.Jet.DeltaPhiStar(obj["jet"], extraName = params["lowPtName"]),
                     calculables.Jet.DeltaPseudoJet(obj["jet"], _etRatherThanPt),
                     calculables.Jet.AlphaTWithPhoton1PtRatherThanMht(obj["jet"], photons = obj["photon"], etRatherThanPt = _etRatherThanPt),
                     calculables.Jet.AlphaT(obj["jet"], _etRatherThanPt),
                     calculables.Jet.AlphaTMet(obj["jet"], _etRatherThanPt, obj["met"]),
                     calculables.Jet.MhtOverMet((obj["jet"][0], obj["jet"][1]+params["highPtName"]), met = obj["met"]),
                     calculables.Jet.MhtOverMet((obj["jet"][0], obj["jet"][1]+params["highPtName"]), met = "%sPlus%s%s"%(obj["met"], obj["photon"][0], obj["photon"][1])),
                     calculables.Other.metPlusParticles(met = obj["met"], particles = obj["photon"]),
                     calculables.Other.minDeltaRToJet(obj["photon"], obj["jet"]),
                     calculables.Other.SumP4(obj["photon"]),
                     calculables.Vertex.ID(),
                     calculables.Vertex.Indices(),
                     calculables.Jet.deadEcalDR(obj["jet"], extraName = params["lowPtName"], minNXtals = 10),
                     calculables.Other.lowestUnPrescaledTrigger(params["triggerList"]),
                     ]
Example #5
0
 def listOfCalculables(self, pars) :
     outList  = calculables.zeroArgs()
     outList += calculables.fromCollections(calculables.Muon, [pars["muon"]])
     outList += calculables.fromCollections(calculables.Electron, [pars["electron"]])
     outList +=[calculables.Muon.Indices( pars["muon"], ptMin = 10, combinedRelIsoMax = 0.15),
                calculables.Muon.IndicesAnyIsoIsoOrder(pars['muon'], "CombinedRelativeIso"),
                calculables.Muon.LeadingIsoAny(pars['muon'], ptMin = 18, iso = "CombinedRelativeIso"),
                calculables.Electron.Indices( pars["electron"], ptMin = 10, simpleEleID = "95", useCombinedIso = True),
                calculables.Other.PtSorted(pars['muon'])
                ]
     
     return outList
Example #6
0
    def listOfCalculables(self, pars) :
        obj = pars["objects"]
        lepton = obj[pars["lepton"]["name"]]
        outList  = calculables.zeroArgs()
        outList += calculables.fromCollections(calculables.Muon, [obj["muon"]])
        outList += calculables.fromCollections(calculables.Electron, [obj["electron"]])
        outList += calculables.fromCollections(calculables.Photon, [obj["photon"]])
        outList += calculables.fromCollections(calculables.Jet, [obj["jet"]])
        outList += [
            calculables.Jet.IndicesBtagged(obj["jet"],pars["bVar"]),
            calculables.Jet.Indices(      obj["jet"],      ptMin = 20, etaMax = 3.5, flagName = "JetIDloose"),
            calculables.Muon.Indices(     obj["muon"],     ptMin = 10, combinedRelIsoMax = 0.15),
            calculables.Muon.IndicesTriggering(obj["muon"]),
            calculables.Electron.Indices( obj["electron"], ptMin = 10, simpleEleID = "80", useCombinedIso = True),
            calculables.Photon.Indices(   obj["photon"],   ptMin = 25, flagName = "photonIDLooseFromTwikiPat"),

            calculables.XClean.IndicesUnmatched(collection = obj["photon"], xcjets = obj["jet"], DR = 0.5),
            calculables.XClean.IndicesUnmatched(collection = obj["electron"], xcjets = obj["jet"], DR = 0.5),
            calculables.XClean.xcJet(obj["jet"], applyResidualCorrectionsToData = False,
                                     gamma    = obj["photon"],      gammaDR = 0.5,
                                     electron = obj["electron"], electronDR = 0.5,
                                     muon     = obj["muon"],         muonDR = 0.5, correctForMuons = not obj["muonsInJets"]),
            calculables.XClean.SumP4(obj["jet"], obj["photon"], obj["electron"], obj["muon"]),
            calculables.XClean.SumPt(obj["jet"], obj["photon"], obj["electron"], obj["muon"]),

            calculables.Vertex.ID(),
            calculables.Vertex.Indices(),
            calculables.Other.lowestUnPrescaledTrigger(zip(*pars["lepton"]["triggers"])[0]),

            calculables.Top.mixedSumP4(transverse = obj["met"], longitudinal = obj["sumP4"]),
            calculables.Other.pt("mixedSumP4"),
            calculables.Top.SemileptonicTopIndex(lepton),            
            calculables.Top.fitTopLeptonCharge(lepton),
            calculables.Top.TopReconstruction(lepton,obj["jet"],"mixedSumP4"),
            
            calculables.Other.Mt(lepton,"mixedSumP4", allowNonIso=True, isSumP4=True),
            calculables.Muon.IndicesAnyIsoIsoOrder(obj[pars["lepton"]["name"]], pars["lepton"]["isoVar"]),
            calculables.Other.PtSorted(obj['muon']),
            calculables.Other.Covariance(('met','PF')),
            calculables.Other.abbreviation( "TrkCountingHighEffBJetTags", "NTrkHiEff", fixes = calculables.Jet.xcStrip(obj['jet']) ),
            calculables.Other.abbreviation( "nVertexRatio", "nvr" ),
            calculables.Other.abbreviation('muonTriggerWeightPF','tw'),
            calculables.Jet.pt( obj['jet'], index = 0, Btagged = True ),
            calculables.Jet.absEta( obj['jet'], index = 3, Btagged = False)
            ]
        outList += calculables.fromCollections(calculables.Top,[('genTop',""),('fitTop',"")])
        outList.append( calculables.Top.TopComboQQBBLikelihood(pars['objects']['jet'], pars['bVar']))
        outList.append( calculables.Top.OtherJetsLikelihood(pars['objects']['jet'], pars['bVar']))
        outList.append( calculables.Top.TopRatherThanWProbability(priorTop=0.5) )
        return outList
Example #7
0
 def calcList(jet, met, photon, muon, electron, muonsInJets, jetIdFlag) :
     outList = [
         calculables.XClean.xcJet(jet,
                                  applyResidualCorrectionsToData = False,
                                  gamma = photon,
                                  gammaDR = 0.5,
                                  muon = muon,
                                  muonDR = 0.5,
                                  correctForMuons = not muonsInJets,
                                  electron = electron,
                                  electronDR = 0.5),
         calculables.Jet.Indices( jet, ptMin = ptMin,           etaMax = 3.0, flagName = jetIdFlag),
         calculables.Jet.Indices( jet, ptMin = lowPtThreshold,  etaMax = 3.0, flagName = jetIdFlag, extraName = lowPtName),
         calculables.Jet.Indices( jet, ptMin = highPtThreshold, etaMax = 3.0, flagName = jetIdFlag, extraName = highPtName),
         
         calculables.Jet.SumP4(jet),
         calculables.Jet.SumP4(jet, extraName = lowPtName),
         calculables.Jet.SumP4(jet, extraName = highPtName),
         calculables.Jet.DeltaPhiStar(jet, extraName = lowPtName),
         calculables.Jet.DeltaPseudoJet(jet, etRatherThanPt),
         calculables.Jet.AlphaT(jet, etRatherThanPt),
         calculables.Jet.AlphaTMet(jet, etRatherThanPt, met),
         calculables.Jet.MhtOverMet((jet[0], jet[1]+highPtName), met = "%sPlus%s%s"%(obj["met"], obj["muon"][0], obj["muon"][1])),
         calculables.Jet.deadEcalDR(jet, extraName = lowPtName, minNXtals = 10),
         ]
     return outList+calculables.fromCollections(calculables.Jet, [jet])
Example #8
0
 def listOfCalculables(self, pars) :
     return ( calculables.zeroArgs() +
              calculables.fromCollections(calculables.Top,[('genTop',""),('fitTop',"")]) +
              [ calculables.Vertex.ID(),
                calculables.Vertex.Indices(),
                ]
              )
Example #9
0
 def listOfCalculables(self,params) :
     _jet =  params["objects"]["jet"]
     _muon = params["objects"]["muon"]
     _photon = params["objects"]["photon"]
     
     calcs =  calculables.zeroArgs() +\
             calculables.fromCollections("calculablesJet",[_jet]) +\
             calculables.fromCollections("calculablesLepton",[_muon]) +\
             [ calculables.xcJet( _jet,  gamma = _photon, gammaDR = 0.5, 
                                  muon = _muon, muonDR = 0.5),
               calculables.jetIndices( _jet, ptMin = 20.0, etaMax = 3.0, flagName = params["jetId"]),
               calculables.photonIndicesPat(  ptMin = 20, flagName="photonIDLoosePat"),
               calculables.muonIndices( _muon, ptMin = 20.0, combinedRelIsoMax = 0.15),
               calculables.genIndices( label = "Z", pdgs = [23]),
               ]
     return calcs
Example #10
0
 def listOfCalculables(self, pars) :
     outList  = calculables.zeroArgs()
     outList += [
         calculables.Vertex.ID(),
         calculables.Vertex.Indices(),
         ]
     outList += calculables.fromCollections(calculables.Top,[('genTop',""),('fitTop',"")])
     return outList
Example #11
0
 def listOfCalculables(self,pars) :
     return (calculables.zeroArgs() +
             calculables.fromCollections(calculables.Muon,[pars["muon"]]) +
             [calculables.Muon.Indices( pars["muon"], ptMin = 10, combinedRelIsoMax = 0.15),
              calculables.Muon.TriggeringIndex(pars['muon'], ptMin = 10),
              calculables.Other.lowestUnPrescaledTrigger(zip(*pars["triggers"])[0]),
              calculables.Vertex.ID(),
              calculables.Vertex.Indices(),
              ])
Example #12
0
 def listOfCalculables(self,pars) :
     from calculables import Muon,Vertex
     muon = ("muon","PF")
     return ( calculables.zeroArgs() +
              calculables.fromCollections(calculables.Muon, [muon]) +
              [ Muon.Indices( muon, ptMin = 10, combinedRelIsoMax = 0.15),
                Vertex.ID(),
                Vertex.Indices(),
                ] )
Example #13
0
    def listOfCalculables(self,params) :
        _jet = params["objects"]["jet"]
        _muon = params["objects"]["muon"]
        _electron = params["objects"]["electron"]
        _photon = params["objects"]["photon"]
        _jetPtMin = params["objects"]["jetPtMin"]
        _etRatherThanPt = params["etRatherThanPt"]
        _met = params["objects"]["met"]
        _correctForMuons = not params["objects"]["muonsInJets"]

        lowPtThreshold = 30.0
        lowPtName = "lowPt"
        
        return calculables.zeroArgs() +\
               calculables.fromCollections("calculablesJet",[_jet]) +\
               calculables.fromCollections("calculablesMuon",[_muon]) +\
               calculables.fromCollections("calculablesElectron",[_electron]) +\
               calculables.fromCollections("calculablesPhoton",[_photon]) +\
               [ calculables.xcJet(_jet,
                                   gamma = _photon,
                                   gammaDR = 0.5,
                                   muon = _muon,
                                   muonDR = 0.5,
                                   correctForMuons = _correctForMuons,
                                   electron = _electron,
                                   electronDR = 0.5),
                 calculables.jetIndices( _jet, _jetPtMin,      etaMax = 3.0, flagName = params["jetId"]),
                 calculables.jetIndices( _jet, lowPtThreshold, etaMax = 3.0, flagName = params["jetId"], extraName = lowPtName),
                 calculables.muonIndices( _muon, ptMin = 20, combinedRelIsoMax = 0.15),
                 calculables.electronIndices( _electron, ptMin = 20, simpleEleID = "95", useCombinedIso = True),
                 calculables.photonIndicesPat(  ptMin = 20, flagName = "photonIDLooseFromTwikiPat"),
                 calculables.indicesUnmatched(collection = _photon, xcjets = _jet, DR = 0.5),
                 calculables.indicesUnmatched(collection = _electron, xcjets = _jet, DR = 0.5)
                 ] \
                 + [ calculables.jetSumP4(_jet, mcScaleFactor = 1.0),
                     calculables.deltaPhiStar(_jet, ptMin = lowPtThreshold, extraName = lowPtName),
                     calculables.deltaPseudoJet(_jet, _etRatherThanPt),
                     calculables.alphaT(_jet, _etRatherThanPt),
                     calculables.alphaTMet(_jet, _etRatherThanPt, _met),
                    #calculables.mhtMinusMetOverMeff(_jet, _met, _etRatherThanPt),
                     calculables.mhtMinusMetOverMeff(_jet, "metP4PF", _etRatherThanPt),
                     calculables.vertexID(),
                     calculables.vertexIndices(sumPtMin=20),
                     ]
Example #14
0
 def listOfCalculables(self,pars) :
     return (calculables.zeroArgs() +
             calculables.fromCollections(calculables.Muon,[pars["muon"]]) +
             [calculables.Muon.Indices( pars["muon"], ptMin = 10, combinedRelIsoMax = 0.15),
              calculables.Muon.IndicesTriggering( pars['muon'] ),
              calculables.Vertex.ID(),
              calculables.Vertex.Indices(),
              calculables.Other.abbreviation( "nVertexRatio", "nvr" ),
              calculables.Other.abbreviation('muonTriggerWeightPF','tw')
              ])
Example #15
0
    def listOfCalculables(self, params) :
        outList = calculables.zeroArgs()

        for muon in nameList(params["recoAlgos"],"muon") :
            outList += calculables.fromCollections(calculables.Muon, [muon])
            outList += [calculables.Muon.Indices(muon, ptMin = 10, combinedRelIsoMax = 0.15)]
            
        for obj in dict(params["recoAlgos"]).values() :
            outList += self.calcListJet(obj)

        return outList
Example #16
0
 def calcListJet(self, obj) :
     outList = [
         calculables.XClean.xcJet(obj["jet"],
                                  gamma = None,
                                  gammaDR = 0.5,
                                  muon = obj["muon"],
                                  muonDR = 0.5,
                                  correctForMuons = not obj["muonsInJets"],
                                  electron = None,
                                  electronDR = 0.5),
         calculables.Jet.Indices( obj["jet"], obj["jetPtMin"], etaMax = 3.0, flagName = "JetIDloose"),
         ]
     return outList+calculables.fromCollections(calculables.Jet, [obj["jet"]])
Example #17
0
 def listOfCalculables(self,config) :
     jets = config["jets"]
     minJetPt = config["minJetPt"]
     listOfCalculables = calculables.zeroArgs()
     listOfCalculables += calculables.fromCollections(calculables.Jet,[jets])
     listOfCalculables += [
         calculables.Jet.Indices( jets, ptMin = minJetPt, etaMax = 3.0, flagName = "JetIDloose"),
         calculables.Jet.SumP4( jets),
         calculables.Jet.DeltaPhiStar( jets ),
         calculables.Jet.AlphaT        ( jets, config["etRatherThanPt"]),
         calculables.Jet.DeltaPseudoJet( jets, config["etRatherThanPt"]),
         ]
     return listOfCalculables
Example #18
0
 def listOfCalculables(self,params) :
     return calculables.zeroArgs() +\
            calculables.fromCollections("calculablesJet",[params["jets"]]) +\
            [calculables.jetIndices( params["jets"], ptMin = 50, etaMax = 3.0, flagName = "JetIDloose")]
Example #19
0
 def listOfCalculables(self,pars) :
     return calculables.zeroArgs() +\
            calculables.fromCollections(calculables.Electron,[electron]) +\
            [calculables.Electron.Indices( electron, ptMin = 10, simpleEleID = "95", useCombinedIso = True)]
Example #20
0
 def listOfCalculables(self,params) :
     return calculables.zeroArgs() +\
            calculables.fromCollections(calculables.jet,jetAlgoList) +\
            [calculables.jet.Indices( jet, 30.0, etaMax = 3.0, flagName = "JetIDloose") for jet in jetAlgoList]
Example #21
0
 def listOfCalculables(self,params) :
     return calculables.zeroArgs() +\
            calculables.fromCollections(calculables.Muon,[muon]) +\
            [calculables.Muon.Indices( muon, ptMin = 10, combinedRelIsoMax = 0.50)]
Example #22
0
 def listOfCalculables(self,params) :
     return calculables.zeroArgs() +\
            calculables.fromCollections("calculablesElectron",[params["electrons"]]) +\
            [calculables.electronIndices( params["electrons"], ptMin = 20, simpleEleID = "80", useCombinedIso = params["useCombinedIso"])]
Example #23
0
 def listOfCalculables(self,params) :
     return calculables.zeroArgs() +\
            calculables.fromCollections(calculables.Photon,[params["photon"]]) +\
            [calculables.Photon.Indices(collection = params["photon"], ptMin = 100, flagName = "photonIDLooseFromTwikiPat")]