diff --git a/Event/xAOD/xAODJet/Root/JetContainerInfo.cxx b/Event/xAOD/xAODJet/Root/JetContainerInfo.cxx index df47bd4e41c80b496ed0ca7e66345bf39265b66b..d514df4210878dc1b855112d335f09ba90287dc4 100644 --- a/Event/xAOD/xAODJet/Root/JetContainerInfo.cxx +++ b/Event/xAOD/xAODJet/Root/JetContainerInfo.cxx @@ -89,6 +89,7 @@ namespace xAOD { nameToTypemap["PFlow"] = PFlow; nameToTypemap["LCPFlow"] = LCPFlow; nameToTypemap["EMPFlow"] = EMPFlow; + nameToTypemap["Jet"] = Jet; nameToTypemap["EMCPFlow"] = EMCPFlow; nameToTypemap["TrackCaloCluster"] = TrackCaloCluster; nameToTypemap["EMTopoOriginSK"] = EMTopoOriginSK; diff --git a/Reconstruction/Jet/JetRecConfig/python/JetDefinition.py b/Reconstruction/Jet/JetRecConfig/python/JetDefinition.py index 774605cbf98fded1ea1d2357fe3a8bb1fff69933..9f60833da7d42b3de0621ea76cf78b8144da5e24 100644 --- a/Reconstruction/Jet/JetRecConfig/python/JetDefinition.py +++ b/Reconstruction/Jet/JetRecConfig/python/JetDefinition.py @@ -44,12 +44,18 @@ def buildJetAlgName(finder, mainParam, variableRMassScale=None, variableRMinRadi return finder + formatRvalue(mainParam) # A class that defines the type of object used to build a jet +# Normally defaults to standard offline input containers, but +# can be overridden. class JetConstit(object): - def __init__(self, type, modifiers=[]): - self.__basetype = type + def __init__(self, objtype, modifiers=[], rawname=None, inputname=None): + self.__basetype = objtype self.__modifiers = modifiers + # Override for unmodified container name + self.__rawname = rawname + # Override for final container name + self.__inputname = inputname - self.defineLabelAndContainerName() + self.defineLabelAndContainerNames() pass def __hash__(self): @@ -70,7 +76,7 @@ class JetConstit(object): @basetype.setter def basetype(self,basetype): self.__basetype = basetype - self.defineLabelAndContainerName() + self.defineLabelAndContainerNames() @property def modifiers(self): @@ -78,19 +84,21 @@ class JetConstit(object): @modifiers.setter def modifiers(self,modifiers): self.__modifiers = modifiers - self.defineLabelAndContainerName() + self.defineLabelAndContainerNames() - def defineLabelAndContainerName(self): + def defineLabelAndContainerNames(self): labelnames = { xAODType.CaloCluster: "Topo", xAODType.ParticleFlow: "EMPFlow", xAODType.TrackParticle: "Track", xAODType.TruthParticle: "Truth", xAODType.TrackCaloCluster: "TrackCaloCluster", - xAODType.Jet: "Jets", + xAODType.Jet: "Jet", } + # Need capability to override label? self.label = "" + self.rawname = "" self.inputname = "" # Truth "modifiers" specify the selection tool config @@ -99,24 +107,21 @@ class JetConstit(object): # Other "modifiers" determine the constit mods e.g. # origin correction, PU suppression etc # Topoclusters should also specify EM or LC - # Jets just specify the jet definition + # Jets could specify a filter e.g. pt cut or JVT?? modstring = "" if self.__modifiers: for mod in self.__modifiers: # Handle special case of topocluster state if mod in ["EM","LC"]: self.label += mod - self.inputname += mod else: modstring += mod - if self.__basetype==xAODType.Jet: - self.label += labelnames[self.__basetype] - else: - self.label += labelnames[self.__basetype] + self.label += labelnames[self.basetype] + if self.basetype!=xAODType.Jet: self.label += modstring - if self.__basetype==xAODType.TruthParticle: - self.label = self.label.replace("NoWZ","WZ") + if self.basetype==xAODType.TruthParticle: + self.label = self.label.replace("NoWZ","WZ") containernames = { xAODType.CaloCluster: "TopoClusters", @@ -126,22 +131,36 @@ class JetConstit(object): xAODType.TrackCaloCluster: "TrackCaloClusters", xAODType.Jet: "Jets", } - defaultaffixes = { + # Sometimes the unmodified container name is longer + defaultaffixesraw = { xAODType.CaloCluster: "CaloCal", - xAODType.ParticleFlow: "CHS", - xAODType.TrackParticle: "", - xAODType.TruthParticle: "", + xAODType.ParticleFlow: "JetETMiss", xAODType.TrackCaloCluster: "CombinedAndNeutral", - xAODType.Jet: "", + } + # Sometimes the standard contstit container has default mods not in modlist + defaultaffixesinput = { + xAODType.ParticleFlow: "CHS", } - if not modstring: - modstring = defaultaffixes[self.__basetype] - modsfirst = [xAODType.TruthParticle, xAODType.TrackCaloCluster] - if self.__basetype in modsfirst: - self.inputname += containernames[self.basetype]+modstring - else: - self.inputname += modstring+containernames[self.basetype] + # User-specified override + if self.__rawname: + self.rawname = self.__rawname + else: # Default to standard container + if self.basetype in defaultaffixesraw.keys(): + self.rawname = defaultaffixesraw[self.basetype] + self.rawname += containernames[self.basetype] + + # User-specified override + if self.__inputname: + self.inputname = self.__inputname + else: # Default to naming with modifiers if requested, else default container + if not modstring and self.basetype in defaultaffixesinput.keys(): + modstring = defaultaffixesinput[self.basetype] + modslast = [xAODType.TruthParticle, xAODType.TrackCaloCluster] + if self.basetype in modslast: + self.inputname = containernames[self.basetype]+modstring + else: + self.inputname = modstring+containernames[self.basetype] pass @@ -179,7 +198,7 @@ class JetDefinition(object): def __init__(self, algorithm, radius, inputdef, ptmin=5000., ptminfilter=5000., ghostdefs=[], modifiers=[], - extrainputs=[], istrigger=False): + extrainputs=[]): # Should add some type checking here # Could use JetContainerInfo conversion @@ -200,7 +219,6 @@ class JetDefinition(object): self.ghostdefs = ghostdefs # Objects to ghost-associate self.modifiers = modifiers # Tools to modify the jet self.extrainputs = extrainputs # Any extra input dependencies - self.isTrigger = istrigger # Should this be a derived class? self.grooming = None diff --git a/Reconstruction/Jet/JetRecConfig/python/JetRecConfig.py b/Reconstruction/Jet/JetRecConfig/python/JetRecConfig.py index 1d7904371b4a0e661c13f1fb33a2f3c15b30204e..7e9832da72a59adc0360c12d378adfabd570b522 100644 --- a/Reconstruction/Jet/JetRecConfig/python/JetRecConfig.py +++ b/Reconstruction/Jet/JetRecConfig/python/JetRecConfig.py @@ -58,13 +58,16 @@ def JetRecCfg(jetdef, configFlags, jetnameprefix="",jetnamesuffix=""): # # To facilitate running in serial mode, we also prepare # the constituent PseudoJetGetter here (needed for rho) - inputcomps, constitpjkey = JetInputCfgAndConstitPJName(deps["inputs"], configFlags, sequenceName=jetsfullname) + inputcomps = JetInputCfg(deps["inputs"], configFlags, sequenceName=jetsfullname) + constitpjalg = inputcomps.getPrimary() + constitpjkey = constitpjalg.PJGetter.OutputContainer + components.merge(inputcomps) pjs = [constitpjkey] # Schedule the ghost PseudoJetGetterAlgs for ghostdef in deps["ghosts"]: - ghostpjalg = GhostPJGAlg( ghostdef ) + ghostpjalg = getGhostPJGAlg( ghostdef ) components.addEventAlgo( ghostpjalg, sequencename ) ghostpjkey = ghostpjalg.PJGetter.OutputContainer pjs.append( ghostpjkey ) @@ -206,7 +209,7 @@ def expandPrereqs(reqtype,prereqs): # # This includes constituent modifications, track selection, copying of # input truth particles and event density calculations -def JetInputCfgAndConstitPJName(inputdeps, configFlags, sequenceName): +def JetInputCfg(inputdeps, configFlags, sequenceName): jetlog.info("Setting up jet inputs.") components = ComponentAccumulator(sequenceName) @@ -230,13 +233,16 @@ def JetInputCfgAndConstitPJName(inputdeps, configFlags, sequenceName): # May need to generate constituent modifier sequences to # produce the input collection import ConstModHelpers - constitalg = ConstModHelpers.ConstitModAlg(constit.basetype,constit.modifiers) - components.addEventAlgo(constitalg) + constitalg = ConstModHelpers.getConstitModAlg(constit) + if constitalg: + components.addEventAlgo(constitalg) # Schedule the constituent PseudoJetGetterAlg - constitpjalg = ConstitPJGAlg( constit ) + constitpjalg = getConstitPJGAlg( constit ) constitpjkey = constitpjalg.PJGetter.OutputContainer - components.addEventAlgo( constitpjalg ) + # Mark the constit PJGAlg as the primary so that the caller + # can access the output container name + components.addEventAlgo( constitpjalg, primary=True ) # Track selection and vertex association kind of go hand in hand, though it's not # completely impossible that one might want one and not the other @@ -308,7 +314,7 @@ def JetInputCfgAndConstitPJName(inputdeps, configFlags, sequenceName): eventshapealg.EventDensityTool = rhotool components.addEventAlgo(eventshapealg) - return components, constitpjkey + return components ######################################################################## # Functions for generating PseudoJetGetters, including determining @@ -335,7 +341,7 @@ def getGhostPrereqs(ghostdef): prereqs = ["input:JetInputTruthParticles"] return prereqs -def ConstitPJGAlg(basedef): +def getConstitPJGAlg(basedef): jetlog.debug("Getting PseudoJetAlg for label {0} from {1}".format(basedef.label,basedef.inputname)) # getter = JetRecConf.PseudoJetGetter("pjg_"+basedef.label, @@ -352,7 +358,7 @@ def ConstitPJGAlg(basedef): ) return pjgalg -def GhostPJGAlg(ghostdef): +def getGhostPJGAlg(ghostdef): label = "Ghost"+ghostdef.inputtype kwargs = { "OutputContainer": "PseudoJet"+label, diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py b/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py index 955a91493c2fcbc23b53cedc27732187360680ac..ce5400a81b27ebacf8d667559a659c724fc76fe9 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py @@ -18,41 +18,41 @@ def jetAthSequence(ConfigFlags): # dataOrMC = "mc" # want to make this automatic. - jetDefinition = ConfigFlags.jetdefinition - - if jetDefinition=="EMTopoSubJESIS": - (recoSequence, sequenceOut) = jetRecoSequence("Calib:TrigSubJESIS:"+dataOrMC) - elif jetDefinition=="EMTopoSubJES": - (recoSequence, sequenceOut) = jetRecoSequence("Calib:TrigSubJES:"+dataOrMC) - elif jetDefinition=="EMTopoNoCalib": - (recoSequence, sequenceOut) = jetRecoSequence("") - elif jetDefinition=="LCWSubJESIS": # call for LC sequence - (recoSequence, sequenceOut) = jetRecoSequence("Calib:TrigSubJESIS:"+dataOrMC, jetConstitName = "LC") - elif jetDefinition=="a10LCWSubJESJMS": - #(recoSequence, sequenceOut) = jetRecoSequence("Calib:TrigSubJESJMS:"+dataOrMC, jetAlgoName = 'a10', jetConstitName = "LC") - (recoSequence, sequenceOut) = jetRecoSequence("", jetAlgoName = 'a10', jetConstitName = "LC") - elif jetDefinition=="a10rSubJESIS": - (recoSequence, sequenceOut) = jetRecoSequence("Calib:TrigSubJESIS:"+dataOrMC, jetAlgoName = 'a10r') - - JetAthSequence = seqAND("jetAthSequence_"+jetDefinition,[InputMakerAlg, recoSequence ]) + jetDefString = ConfigFlags.jetdefinition + jetDefString += "_"+dataOrMC + + + (recoSequence, sequenceOut) = jetRecoSequence( jetDefString ) + + JetAthSequence = seqAND("jetAthSequence_"+jetDefString,[InputMakerAlg, recoSequence ]) return (JetAthSequence, InputMakerAlg, sequenceOut) -def jetRecoSequence( calibString, jetConstitName = 'EM', jetAlgoName = 'a4', RoIs = 'FSJETRoI'): +def jetRecoSequence( jetDefString , RoIs = 'FSJETRoI'): + dataType = "data" + if jetDefString.endswith("mc"): + dataType = "mc" + + # construct calibration key word. calibSeq = "" - dataType = "data" # FIXME - if calibString: - calibSeq = calibString.split(":")[1] - dataType = calibString.split(":")[2] + if "subjesis" in jetDefString: + calibSeq += "SubJESIS" + elif "subjes" in jetDefString: + calibSeq += "SubJES" + if calibSeq: calibSeq = "Trig"+calibSeq radius = 0.4 - if jetAlgoName == 'a10': + if 'a10_' in jetDefString: radius = 1.0 + if calibSeq: + calibSeq += "JMS" doLC=False - if jetConstitName=="LC": + jetConstitName = "EM" + if "lcw" in jetDefString: doLC=True + jetConstitName = "LC" cellMakerAlgo = _getHLTCellMakerAlgoForJets("cellMaker"+jetConstitName, RoIs, outputEDM='CaloCells'+jetConstitName, OutputLevel=ERROR) topoClusterMakerAlgo = _getHLTTopoClusterMakerAlgoForJets( "topoClusterMaker"+jetConstitName, inputEDM=cellMakerAlgo.CellsName, doLC=doLC, OutputLevel=ERROR) @@ -62,19 +62,18 @@ def jetRecoSequence( calibString, jetConstitName = 'EM', jetAlgoName = 'a4', RoI from JetRecConfig.JetDefinition import JetConstit, JetDefinition, xAODType, JetModifier - #hardcoded jet collection for now # chosen jet collection jetsFullName = "TrigAntiKt"+jetConstitName+calibSeq - trigMinPt = 7e3 # FIXME : two different values for ptminfilter? trigJetConstit = JetConstit( xAODType.CaloCluster, [jetConstitName]) # 'EM' or 'LC' for trigger jets + trigJetConstit.istrigger = False trigJetConstit.ptmin = 2e3 #trigJetConstit.ptminfilter = 15e3 - trigJetConstit.ptminfilter = trigMinPt - trigJetDef = JetDefinition( "AntiKt", radius, trigJetConstit, ptmin=trigMinPt,ptminfilter=trigMinPt) + trigJetConstit.ptminfilter = 7e3 + trigJetDef = JetDefinition( "AntiKt", radius, trigJetConstit)#, ptmin=trigMinPt,ptminfilter=trigMinPt) #trigJetDef.modifiers = ["Sort"] + clustermods #if calibString: # trigJetDef.modifiers= [calibString] + trigJetDef.modifiers - trigJetDef.isTrigger = True #FIXME : no longer needed since configure CalibTool here? + #trigJetDef.isTrigger = True #FIXME : no longer needed since configure CalibTool here? from JetRecConfig import JetRecConfig #deps = JetRecConfig.resolveDependencies( trigJetDef ) @@ -83,7 +82,7 @@ def jetRecoSequence( calibString, jetConstitName = 'EM', jetAlgoName = 'a4', RoI modList += [ (JetModifier("JetSorter","jetsort"), '') ] #deps_mod_tmp = [ modpair for modpair in deps["mods"] if not calibSeq in modpair[1] ] #deps["mods"] = deps_mod_tmp - if calibString: + if calibSeq: from JetCalibTools import JetCalibToolsConfig jetCalibTool = JetCalibToolsConfig.getJetCalibTool( trigJetDef.basename, calibSeq, dataType ) modList += [(JetModifier("JetCalibrationTool", jetCalibTool.name()), calibSeq+':'+dataType)] @@ -93,8 +92,10 @@ def jetRecoSequence( calibString, jetConstitName = 'EM', jetAlgoName = 'a4', RoI print("modList: ", modList) trigJetConstit.rawname = caloclusters + trigJetConstit.inputname = jetConstitName+trigJetConstit.inputname print("trigJetConstit.rawname = ", trigJetConstit.rawname ) print("trigJetConstit.inputname = ", trigJetConstit.inputname ) + print("trigJetConstit.label = ", trigJetConstit.label ) constitAlg = _getConstitAlg( trigJetConstit ) jetRecoSequence = parOR( "JetRecSeq_"+jetsFullName, [constitAlg]) @@ -123,18 +124,22 @@ def jetRecoSequence( calibString, jetConstitName = 'EM', jetAlgoName = 'a4', RoI jetRecoSequence += jetRecAlg - if jetAlgoName == 'a10r': + # check if asked for reclustering + if 'a10r' in jetDefString: a10rJetsFullName = "a10rJets" a10rJetConstit = JetConstit( xAODType.Jet, []) trigAntiKt10rJetDef = JetDefinition( "AntiKt", 1.0, a10rJetConstit) a10rmodList= [] - a10rJetConstit.rawname = jetsFullName + a10rJetConstit.inputname = jetsFullName print("a10rJetConstit.rawname = ", a10rJetConstit.rawname ) - print("a10rconstitPJAlg.inputname = ", a10rJetConstit.inputname ) + print("a10rconstit.inputname = ", a10rJetConstit.inputname ) + print("a10rconstit.label = ", a10rJetConstit.label ) + a10rconstitPJAlg = _getConstitPJGAlg( a10rJetConstit ) a10rconstitPJKey = a10rconstitPJAlg.PJGetter.OutputContainer + jetRecoSequence += a10rconstitPJAlg print "INFO: output psj container for reclustered jets = ", a10rconstitPJKey @@ -142,16 +147,13 @@ def jetRecoSequence( calibString, jetConstitName = 'EM', jetAlgoName = 'a4', RoI a10rjetRecAlg = JetRecConfig.getJetAlgorithm(a10rJetsFullName, trigAntiKt10rJetDef, a10rpjs, a10rmodList) jetRecoSequence += a10rjetRecAlg - #jetsFullName = reclusteredJetsFullName + jetsFullName = a10rJetsFullName sequenceOut = jetsFullName caloMakerSequence += jetRecoSequence - #jetRecoSequence += caloMakerSequence - #jetRecoFullSequence = seqAND("fullJetSeq_"+jetsFullName, [caloMakerSequence, jetRecoSequence]) jetRecoFullSequence = caloMakerSequence - #jetRecoFullSequence = jetRecoSequence return (jetRecoFullSequence,sequenceOut) diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/jetMenuDefs.py b/Trigger/TrigValidation/TrigUpgradeTest/python/jetMenuDefs.py index d40992fbe0fa142a4a7e8f8730eaf4094433bf4f..f1ca1e23391aa4c30b602b91d306e444b452155f 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/python/jetMenuDefs.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/python/jetMenuDefs.py @@ -4,10 +4,10 @@ from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import RecoFragmentsPool, MenuSequence from AthenaConfiguration.AllConfigFlags import ConfigFlags -def jetMenuSequence(jetdef, hypoName): +def jetMenuSequence(jet_def_string, hypoName): """ Function to create the jet Menu Sequence""" - ConfigFlags.jetdefinition=jetdef + ConfigFlags.jetdefinition=jet_def_string ## RoIs = 'FSJETRoI' #reco sequence from TrigUpgradeTest.jetDefs import jetAthSequence diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py index 9bfde6515faa34b4f71911aa123f81aa0c453d96..7bfd1e7394c5318db0fa97fc8235b1ac0c4764a3 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py @@ -125,30 +125,34 @@ if opt.doMuonSlice == True: if opt.doJetSlice == True: from TrigUpgradeTest.jetMenuDefs import jetMenuSequence - jetSeq1 = jetMenuSequence("EMTopoSubJES", "TrigJetHypoAlgMT1") - step1=ChainStep("Step1_jet", [jetSeq1]) - jetSeq2 = jetMenuSequence("EMTopoSubJESIS", "TrigJetHypoAlgMT2") - step2=ChainStep("Step2_jet", [jetSeq2]) - jetSeq3 = jetMenuSequence("EMTopoNoCalib", "TrigJetHypoAlgMT3") - step3=ChainStep("Step3_jet", [jetSeq3]) - jetSeq4 = jetMenuSequence("LCWSubJESIS", "TrigJetHypoAlgMT4") - step4=ChainStep("Step4_jet", [jetSeq4]) - jetSeq5 = jetMenuSequence("a10LCWSubJESJMS", "TrigJetHypoAlgMT5") - step5=ChainStep("Step5_jet", [jetSeq5]) - + jetSeq_a4_emtopo = jetMenuSequence("a4_emtopo_subjesis", "TrigJetHypoAlgMT_a4_emtopo") + step_a4_emtopo =ChainStep("Step_jet_a4_emtopo", [jetSeq_a4_emtopo]) + + jetSeq_a4_emtopo_subjes = jetMenuSequence("a4_emtopo_subjes", "TrigJetHypoAlgMT_a4_emtopo_subjes") + step_a4_emtopo_subjes = ChainStep("Step_jet_a4_emtopo_subjes", [jetSeq_a4_emtopo_subjes]) + + jetSeq_a4_emtopo_nocalib = jetMenuSequence("a4_emtopo_nocalib", "TrigJetHypoAlgMT_a4_emtopo_nocalib") + step_a4_emtopo_nocalib=ChainStep("Step_jet_a4_emtopo_nocalib", [jetSeq_a4_emtopo_nocalib]) - # don't forget the commas -.- - # damn commas - # raaaargh + jetSeq_a4_lcw = jetMenuSequence("a4_lcw_subjesis", "TrigJetHypoAlgMT_a4_lcw") + step_a4_lcw=ChainStep("Step_jet_a4_lcw", [jetSeq_a4_lcw]) + + #jetSeq_a10_lcw_subjes = jetMenuSequence("a10_lcw_subjesjms", "TrigJetHypoAlgMT_a10_lcw_subjes") + #step_a10_lcw_subjes=ChainStep("Step_jet_a10_lcw_subjes", [jetSeq_a10_lcw_subjes]) + + jetSeq_a10r = jetMenuSequence("a10r_emtopo_subjesis", "TrigJetHypoAlgMT_a10r") + step_a10r=ChainStep("Step_jet_a10r", [jetSeq_a10r]) + jetChains = [ - #Chain(name='HLT_j85', Seed="L1_J20", ChainSteps=[step1] ), - Chain(name='HLT_j45', Seed="L1_J20", ChainSteps=[step1] ), - #Chain(name='HLT_j45_0eta240', Seed="L1_J20", ChainSteps=[step1] ), - Chain(name='HLT_j45_subjes', Seed="L1_J20", ChainSteps=[step2] ), - Chain(name='HLT_j45_nojcalib', Seed="L1_J20", ChainSteps=[step3] ), - Chain(name='HLT_j45_lcw', Seed="L1_J20", ChainSteps=[step4] ), - Chain(name='HLT_5j70_0eta240', Seed="L1_J20", ChainSteps=[step1] ), # 5j70_0eta240_L14J15 - Chain(name='HLT_j100_a10_lcw_subjes', Seed="L1_J20", ChainSteps=[step5] ), + Chain(name='HLT_j85', Seed="L1_J20", ChainSteps=[step_a4_emtopo] ), + Chain(name='HLT_j45', Seed="L1_J20", ChainSteps=[step_a4_emtopo] ), + #Chain(name='HLT_j45_0eta240', Seed="L1_J20", ChainSteps=[step_a4_default] ), + Chain(name='HLT_j45_subjes', Seed="L1_J20", ChainSteps=[step_a4_emtopo_subjes] ), + Chain(name='HLT_j45_nojcalib', Seed="L1_J20", ChainSteps=[step_a4_emtopo_nocalib] ), + Chain(name='HLT_j45_lcw', Seed="L1_J20", ChainSteps=[step_a4_lcw] ), + #Chain(name='HLT_5j70_0eta240', Seed="L1_J20", ChainSteps=[step_a4_emtopo] ), # 5j70_0eta240_L14J15 + #Chain(name='HLT_j100_a10_lcw_subjes', Seed="L1_J20", ChainSteps=[step_a10_lcw] ), + Chain(name='HLT_j100_a10r', Seed="L1_J20", ChainSteps=[step_a10r] ), ] testChains += jetChains diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py index 375eaf9a72821a96812d591f11e92a6415586203..7de3d1034187f37088aaeec40a78080bc3ae09a0 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py @@ -107,7 +107,7 @@ JetChainParts = { 'trigType' : ['j'], 'extra' : [], 'cleaning' : ['noCleaning',], - 'recoAlg' : ['a4', 'a10'], + 'recoAlg' : ['a4', 'a10', 'a10r'], 'dataType' : ['tc'], 'calib' : ['em', 'lcw'], 'jetCalib' : ['subjes', 'subjesIS', 'nojcalib'],