File indexing completed on 2024-04-06 12:23:28
0001 import ROOT
0002
0003 class ElectronMVAID:
0004 def __init__(self,name,type,*xmls):
0005 self.name = name
0006 self.estimator = ROOT.heppy.EGammaMvaEleEstimatorFWLite()
0007 self.sxmls = ROOT.vector(ROOT.string)()
0008 for x in xmls: self.sxmls.push_back(x)
0009 self.etype = -1
0010 if type == "Trig": self.etype = self.estimator.kTrig;
0011 if type == "NonTrig": self.etype = self.estimator.kNonTrig;
0012 if type == "TrigNoIP": self.etype = self.estimator.kTrigNoIP;
0013 if type == "TrigCSA14": self.etype = self.estimator.kTrigCSA14;
0014 if type == "NonTrigCSA14": self.etype = self.estimator.kNonTrigCSA14;
0015 if type == "NonTrigPhys14": self.etype = self.estimator.kNonTrigPhys14;
0016 if self.etype == -1: raise RuntimeError("Unknown type %s" % type)
0017 self._init = False
0018 def __call__(self,ele,vtx,rho,full5x5=False,debug=False):
0019 if not self._init:
0020 self.estimator.initialize(self.name,self.etype,True,self.sxmls)
0021 self._init = True
0022 return self.estimator.mvaValue(ele,vtx,rho,full5x5,debug)
0023
0024 ElectronMVAID_Trig = ElectronMVAID("BDT", "Trig",
0025 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat1.weights.xml.gz",
0026 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat2.weights.xml.gz",
0027 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat3.weights.xml.gz",
0028 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat4.weights.xml.gz",
0029 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat5.weights.xml.gz",
0030 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat6.weights.xml.gz",
0031 )
0032 ElectronMVAID_NonTrig = ElectronMVAID("BDT", "NonTrig",
0033 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat1.weights.xml.gz",
0034 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat2.weights.xml.gz",
0035 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat3.weights.xml.gz",
0036 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat4.weights.xml.gz",
0037 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat5.weights.xml.gz",
0038 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat6.weights.xml.gz",
0039 )
0040 ElectronMVAID_TrigNoIP = ElectronMVAID("BDT", "TrigNoIP",
0041 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat1.weights.xml.gz",
0042 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat2.weights.xml.gz",
0043 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat3.weights.xml.gz",
0044 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat4.weights.xml.gz",
0045 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat5.weights.xml.gz",
0046 "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat6.weights.xml.gz",
0047 )
0048
0049 ElectronMVAID_TrigCSA14bx50 = ElectronMVAID("BDT", "TrigCSA14",
0050 "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EB_BDT.weights.xml.gz",
0051 "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EE_BDT.weights.xml.gz",
0052 )
0053 ElectronMVAID_TrigCSA14bx25 = ElectronMVAID("BDT", "TrigCSA14",
0054 "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EB_BDT.weights.xml.gz",
0055 "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EE_BDT.weights.xml.gz",
0056 )
0057
0058 ElectronMVAID_NonTrigCSA14bx25 = ElectronMVAID("BDT", "NonTrigCSA14",
0059 "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_25ns_BDT.weights.xml.gz",
0060 "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_25ns_BDT.weights.xml.gz",
0061 "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_25ns_BDT.weights.xml.gz",
0062 "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_25ns_BDT.weights.xml.gz",
0063 )
0064 ElectronMVAID_NonTrigCSA14bx50 = ElectronMVAID("BDT", "NonTrigCSA14",
0065 "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_50ns_BDT.weights.xml.gz",
0066 "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_50ns_BDT.weights.xml.gz",
0067 "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_50ns_BDT.weights.xml.gz",
0068 "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_50ns_BDT.weights.xml.gz",
0069 )
0070
0071 ElectronMVAID_NonTrigPhys14 = ElectronMVAID("BDT", "NonTrigPhys14",
0072 "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_5_oldscenario2phys14_BDT.weights.xml.gz",
0073 "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_5_oldscenario2phys14_BDT.weights.xml.gz",
0074 "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_5_oldscenario2phys14_BDT.weights.xml.gz",
0075 "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_10_oldscenario2phys14_BDT.weights.xml.gz",
0076 "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_10_oldscenario2phys14_BDT.weights.xml.gz",
0077 "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_10_oldscenario2phys14_BDT.weights.xml.gz",
0078 )
0079
0080 ElectronMVAID_ByName = {
0081 'Trig':ElectronMVAID_Trig,
0082 'NonTrig':ElectronMVAID_NonTrig,
0083 'TrigNoIP':ElectronMVAID_TrigNoIP,
0084 'TrigCSA14bx50':ElectronMVAID_TrigCSA14bx50,
0085 'TrigCSA14bx25':ElectronMVAID_TrigCSA14bx25,
0086 'NonTrigCSA14bx25':ElectronMVAID_NonTrigCSA14bx25,
0087 'NonTrigCSA14bx50':ElectronMVAID_NonTrigCSA14bx50,
0088 'NonTrigPhys14':ElectronMVAID_NonTrigPhys14,
0089 }