OutputContainer = "PseudoJet" + ClusterKey, SkipNegativeEnergy = False, TreatNegativeEnergyAsGhost=True, GhostScale = 1.e-20 ) jtm += PseudoJetGetter("gakt4trackget_HI", InputContainer = HIJetFlags.TrackJetContainerName(), Label = "Ghost" + HIJetFlags.TrackJetContainerName(), SkipNegativeEnergy = True, OutputContainer = "PseudoJetGhost" + HIJetFlags.TrackJetContainerName(), GhostScale = 1.e-20) HIgetters_ghost_track = [] HIgetters_common=[] if jetFlags.useMuonSegments(): HIgetters_common += [jtm.gmusegget] if jetFlags.useTracks(): HIgetters_ghost_track += [jtm.gakt4trackget_HI] if HIJetFlags.UseHITracks() : HIgetters_ghost_track += [jtm.gtrackget_HI] else: HIgetters_ghost_track += [jtm.gtrackget] if jetFlags.useTruth(): #HIgetters_common += [jtm.gtruthget] flavorgetters=[] for ptype in jetFlags.truthFlavorTags(): flavorgetters += [getattr(jtm, "gtruthget_" + ptype)] HIgetters_common += flavorgetters jtm.gettersMap['HI'] = [jtm.get_HI] jtm.gettersMap['HI'] += HIgetters_common jtm.gettersMap['HI'] += HIgetters_ghost_track
jtm += CopyTruthJetParticles("truthpartcopywz", OutputName="JetInputTruthParticlesNoWZ" ,IncludeWZLeptons=False, IncludeTauLeptons=False) #-------------------------------------------------------------- # Jet reco infrastructure. #-------------------------------------------------------------- # Jet pseudojet retriever. jtm += JetPseudojetRetriever("jpjretriever") # Jet constituent retriever. labs = [] if jetFlags.useTracks(): labs += ["Track"] labs += ["AntiKt3TrackJet", "AntiKt3TrackJet"] if jetFlags.useMuonSegments(): labs += ["MuonSegment",] if jetFlags.useTruth(): labs += ["Truth"] for lab in jetFlags.truthFlavorTags(): labs += [lab] jtm += JetConstituentsRetriever( "jconretriever", UsePseudojet = True, UseJetConstituents = True, PseudojetRetriever = jtm.jpjretriever, GhostLabels = labs, GhostScale = 1.e-20 ) #--------------------------------------------------------------
if not rec.doTruth(): jetFlags.useTruth = False jetlog.info( " Truth enabled ? jetFlags.useTruth == %s", jetFlags.useTruth() ) #skip track if not built or not present in the job if not rec.doInDet() \ and ( not cfgKeyStore.isInTransient("xAOD::VertexContainer_v1","PrimaryVertices") \ or not cfgKeyStore.isInTransient('xAOD::TrackParticleContainer_v1','InDetTrackParticles') ): jetFlags.useTracks = False jetlog.info( " Tracks enabled ? jetFlags.useTracks == %s", jetFlags.useTracks() ) #skip muon segment if not built if not rec.doMuon() or not rec.doMuonCombined() : jetFlags.useMuonSegments = False print rec.doMuon() , rec.doMuonCombined() jetlog.info( " MuonSegments enabled ? jetFlags.useMuonSegments == %s", jetFlags.useMuonSegments() ) #skip cluster if not built if not rec.doCalo(): jetFlags.useTopo = False jetlog.info( " TopCluster enabled ? jetFlags.useTopo == %s", jetFlags.useTopo() ) # The following can be used to exclude tools from reconstruction. if 0: jetFlags.skipTools = ["comshapes"] jetlog.info( "Skipped tools: %s", jetFlags.skipTools()) # Import the jet tool manager. from JetRec.JetRecStandard import jtm
# Dump pseudojets after reco. names = [] if dumpPseudojets: if jetFlags.useTruth(): names += ["PseudoJetTruth"] names += ["PseudoJetTruthWZ"] names += ["PseudoJetEMTopo"] names += ["PseudoJetLCTopo"] if jetFlags.useTracks(): names += ["PseudoJetTracks"] if jetFlags.useTruth(): names += ["PseudoJetGhostTruth"] for ptype in jetFlags.truthFlavorTags(): names += ["PseudoJetGhost" + ptype] if jetFlags.useMuonSegments(): names += ["PseudoJetGhostMuonSegment"] icount = 0 for name in names: tname = "psjdmp" + str(icount) icount += 1 from JetRec.JetRecConf import JetDumper psjdmp = JetDumper(tname) ToolSvc += psjdmp psjdmp.ContainerName = name psjdmp.Detail = 1 psjdmp.LineDetail = 2 psjdmp.LineDetail = 4 psjdmp.Prefix = dmpprefix psjdmp.MaxObject = 20 psjdmp.OutputLevel = INFO
IncludeMuons=True, IncludeNeutrinos=True) #-------------------------------------------------------------- # Jet reco infrastructure. #-------------------------------------------------------------- # Jet pseudojet retriever. jtm += JetPseudojetRetriever("jpjretriever") # Jet constituent retriever. labs = [] if jetFlags.useTracks(): labs += ["Track"] labs += ["AntiKt2TrackJet", "AntiKt2TrackJet"] if jetFlags.useMuonSegments(): labs += [ "MuonSegment", ] if jetFlags.useTruth(): labs += ["Truth"] for lab in jetFlags.truthFlavorTags(): labs += [lab] jtm += JetConstituentsRetriever("jconretriever", UsePseudojet=True, UseJetConstituents=True, PseudojetRetriever=jtm.jpjretriever, GhostLabels=labs) #-------------------------------------------------------------- # Pseudojet builders.
# the value will fail with an error message. jetFlags.useTruth.lock() jetFlags.useTopo.lock() jetFlags.useTracks.lock() jetFlags.useMuonSegments.lock() jetFlags.useBTagging.lock() jetFlags.useCaloQualityTool.lock() jetFlags.additionalTopoGetters.lock() jetFlags.truthFlavorTags.lock() jetFlags.skipTools.lock() # Display all flags used here. print myname + "jetFlags.useTruth: " + str(jetFlags.useTruth()) print myname + "jetFlags.useTopo: " + str(jetFlags.useTopo()) print myname + "jetFlags.useTracks: " + str(jetFlags.useTracks()) print myname + "jetFlags.useMuonSegments: " + str(jetFlags.useMuonSegments()) print myname + "jetFlags.useBTagging: " + str(jetFlags.useBTagging()) print myname + "jetFlags.useCaloQualityTool: " + str( jetFlags.useCaloQualityTool()) print myname + "jetFlags.additionalTopoGetters: " + str( jetFlags.additionalTopoGetters()) print myname + "jetFlags.truthFlavorTags: " + str(jetFlags.truthFlavorTags()) print myname + "jetFlags.skipTools: " + str(jetFlags.skipTools()) ######################################################### # Create standard tool manager. ######################################################### # Import the jet tool manager. from JetRec.JetToolSupport import JetToolManager
# the value will fail with an error message. jetFlags.useTruth.lock() jetFlags.useTopo.lock() jetFlags.useTracks.lock() jetFlags.useMuonSegments.lock() jetFlags.useBTagging.lock() jetFlags.useCaloQualityTool.lock() jetFlags.additionalTopoGetters.lock() jetFlags.truthFlavorTags.lock() jetFlags.skipTools.lock() # Display all flags used here. print myname + "jetFlags.useTruth: " + str(jetFlags.useTruth()) print myname + "jetFlags.useTopo: " + str(jetFlags.useTopo()) print myname + "jetFlags.useTracks: " + str(jetFlags.useTracks()) print myname + "jetFlags.useMuonSegments: " + str(jetFlags.useMuonSegments()) print myname + "jetFlags.useBTagging: " + str(jetFlags.useBTagging()) print myname + "jetFlags.useCaloQualityTool: " + str(jetFlags.useCaloQualityTool()) print myname + "jetFlags.additionalTopoGetters: " + str(jetFlags.additionalTopoGetters()) print myname + "jetFlags.truthFlavorTags: " + str(jetFlags.truthFlavorTags()) print myname + "jetFlags.skipTools: " + str(jetFlags.skipTools()) ######################################################### # Create standard tool manager. ######################################################### # Import the jet tool manager. from JetRec.JetToolSupport import JetToolManager # Global jet tool manager with standard definitions jtm = JetToolManager()
jetFlags.useTruth.lock() jetFlags.useTopo.lock() jetFlags.useTracks.lock() jetFlags.useMuonSegments.lock() jetFlags.useBTagging.lock() jetFlags.useCaloQualityTool.lock() jetFlags.additionalTopoGetters.lock() jetFlags.truthFlavorTags.lock() jetFlags.skipTools.lock() # Display all flags used here. jetlog.info(myname + "jetFlags.useTruth: " + str(jetFlags.useTruth())) jetlog.info(myname + "jetFlags.useTopo: " + str(jetFlags.useTopo())) jetlog.info(myname + "jetFlags.useTracks: " + str(jetFlags.useTracks())) jetlog.info(myname + "jetFlags.useMuonSegments: " + str(jetFlags.useMuonSegments())) jetlog.info(myname + "jetFlags.useBTagging: " + str(jetFlags.useBTagging())) jetlog.info(myname + "jetFlags.useCaloQualityTool: " + str(jetFlags.useCaloQualityTool())) jetlog.info(myname + "jetFlags.additionalTopoGetters: " + str(jetFlags.additionalTopoGetters())) jetlog.info(myname + "jetFlags.truthFlavorTags: " + str(jetFlags.truthFlavorTags())) jetlog.info(myname + "jetFlags.skipTools: " + str(jetFlags.skipTools())) ######################################################### # Create standard tool manager. ######################################################### # Import the jet tool manager. from JetRec.JetToolSupport import JetToolManager