def __configure(self): recoSeq = GaudiSequencer("Hlt2JetRecoSequence", ModeOR = True, ShortCircuit = False) from HltTracking.Hlt2TrackingConfigurations import Hlt2BiKalmanFittedForwardTracking from HltTracking.Hlt2TrackingConfigurations import Hlt2BiKalmanFittedDownstreamTracking # Long charged proto particles longTracking = Hlt2BiKalmanFittedForwardTracking() longChargedProtos = longTracking.hlt2ChargedNoPIDsProtos() longSeq = GaudiSequencer("Hlt2JetLongRecoSequence", Members = longChargedProtos.members()) # Downstream charged proto particles downTracking = Hlt2BiKalmanFittedDownstreamTracking() downChargedProtos = downTracking.hlt2ChargedNoPIDsProtos() downSeq = GaudiSequencer("Hlt2JetDownRecoSequence", Members = downChargedProtos.members()) from Hlt2SharedParticles.TrackFittedBasicParticles import BiKalmanFittedPhotons as Photons from Hlt2SharedParticles.Pi0 import ResolvedPi0s from Hlt2SharedParticles.Pi0 import MergedPi0s from Hlt2SharedParticles.Ks import KsLLTF as KsLL from Hlt2SharedParticles.Ks import KsLLTF as KsDD from Hlt2SharedParticles.Lambda import LambdaLLTrackFitted as LambdaLL from Hlt2SharedParticles.Lambda import LambdaDDTrackFitted as LambdaDD self.__caloProcessor = longTracking.caloProcessor() ecalSeq = self.__caloProcessor.clusters() inputs = [ ['Particle', 'particle', self.__sharedParticleInput(Photons, "Photons")], ['Particle', 'particle', self.__sharedParticleInput(ResolvedPi0s, "ResolvedPi0s")], ['Particle', 'particle', self.__sharedParticleInput(MergedPi0s, "MergedPi0s")], ['Particle', 'particle', self.__sharedParticleInput(KsLL, "KsLL")], ['Particle', 'particle', self.__sharedParticleInput(KsDD, "KsDD")], ['Particle', 'particle', self.__sharedParticleInput(LambdaLL, "LambdaLL")], ['Particle', 'particle', self.__sharedParticleInput(LambdaDD, "LambdaDD")], ['ProtoParticle', 'best', (longSeq, longChargedProtos.outputSelection())], ['ProtoParticle', 'best', (downSeq, downChargedProtos.outputSelection())], ['CaloCluster', 'gamma', (None, self.__findCaloLocation(Photons.members(), CellularAutomatonAlg, "OutputData"))], ['CaloCluster', 'gamma', self.__hcalClusters()], ['IClusTrTable2D', 'ecal', (None, self.__findCaloLocation(Photons.members(), PhotonMatchAlg, "Output"))], ['IClusTrTable2D', 'hcal', self.__hcal2Track(longTracking, Photons)] ] pfInputs = [] for inputClass, inputType, (seq, loc) in inputs: if seq and seq not in recoSeq.Members: recoSeq.Members += [seq] pfInputs.append([inputClass, inputType, loc]) from Configurables import HltParticleFlow particleFlow = HltParticleFlow("HltParticleFlow", **self.getProp('ParticleFlowOptions')) particleFlow.Inputs = pfInputs particleFlow.Output = "Hlt2/ParticleFlow/Particles" from HltLine.HltLine import bindMembers self.__particleFlow = bindMembers("Hlt2Jet", [recoSeq, particleFlow])
] genPF.Output = 'Phys/PF/MCParticles' genJB = McJetBuilder('genJB') genJB.JetPtMin = JetPtMin genJB.JetR = 0.5 genJB.ChrVrt = True genJB.NeuVrt = True genJB.Inputs = [genPF.Output] genJB.Output = 'Phys/JB/MCParticles' # Create the reconstructed jets. from Configurables import HltParticleFlow, HltJetBuilder from StandardParticles import (StdLooseKsDD, StdLooseKsLL, StdLooseKsLD, StdLooseLambdaDD, StdLooseLambdaLL, StdLooseLambdaLD) recPF = HltParticleFlow('recPF') recPF.Inputs = [ #['Particle', 'daughters', 'Phys/Z02MuMuLine/Particles'], ['Particle', 'daughters', Zs.outputLocation()], ['ProtoParticle', 'best', 'Rec/ProtoP/Charged'], ['ProtoParticle', 'gamma', 'Rec/ProtoP/Neutrals'] ] recPF.Output = 'Phys/PF/Particles' recPF.ProBestNames = ['mu+', 'e+', 'p+', 'K+', 'pi+'] recPF.ProBestKeys = [701, 700, 704, 703, 702] recPF.ProBestMins = [0.5, 0.5, 0.5, 0.5, 0.5] recPF.EcalBest = True recPF.SprRecover = False recPF.TrkLnErrMax = 10 recPF.TrkUpErrMax = 10 recPF.TrkDnErrMax = 10
genPF.Output = 'Phys/PF/MCParticles' genJB = McJetBuilder('genJB') genJB.JetPtMin = JetPtMin genJB.JetR = 0.5 genJB.ChrVrt = True genJB.NeuVrt = True genJB.Inputs = [genPF.Output] genJB.Output = 'Phys/JB/MCParticles' # Create the reconstructed jets. from Configurables import HltParticleFlow, HltJetBuilder from StandardParticles import (StdLooseKsDD, StdLooseKsLL, StdLooseKsLD, StdLooseLambdaDD, StdLooseLambdaLL, StdLooseLambdaLD) recPF = HltParticleFlow('recPF') recPF.Inputs = [['Particle', 'particle', StdLooseKsDD.outputLocation()], ['Particle', 'particle', StdLooseKsLL.outputLocation()], ['Particle', 'particle', StdLooseKsLD.outputLocation()], ['Particle', 'particle', StdLooseLambdaDD.outputLocation()], ['Particle', 'particle', StdLooseLambdaLL.outputLocation()], ['Particle', 'particle', StdLooseLambdaLD.outputLocation()], ['ProtoParticle', 'best', 'Rec/ProtoP/Charged'], ['ProtoParticle', 'gamma', 'Rec/ProtoP/Neutrals']] recPF.Output = 'Phys/PF/Particles'
] genPF.Output = 'Phys/PF/MCParticles' genJB = McJetBuilder('genJB') genJB.JetPtMin = JetPtMin genJB.JetR = 0.5 genJB.ChrVrt = True genJB.NeuVrt = True genJB.Inputs = [genPF.Output] genJB.Output = 'Phys/JB/MCParticles' # Create the reconstructed jets. from Configurables import HltParticleFlow, HltJetBuilder from StandardParticles import (StdLooseKsDD, StdLooseKsLL, StdLooseKsLD, StdLooseLambdaDD, StdLooseLambdaLL, StdLooseLambdaLD) recPF = HltParticleFlow('recPF') recPF.Inputs = [ #['Particle', 'daughters', 'Phys/Z02MuMuLine/Particles'], ['Particle', 'daughters', Zs.outputLocation()], ['ProtoParticle', 'best', 'Rec/ProtoP/Charged'], ['ProtoParticle', 'gamma', 'Rec/ProtoP/Neutrals'] ] recPF.Output = 'Phys/PF/Particles' recPF.ProBestNames = ['mu+', 'e+', 'p+', 'K+', 'pi+'] recPF.ProBestKeys = [701, 700, 704, 703, 702] recPF.ProBestMins = [0.5, 0.5, 0.5, 0.5, 0.5] recPF.EcalBest = True recPF.SprRecover = False recPF.TrkLnErrMax = 10 recPF.TrkUpErrMax = 10 recPF.TrkDnErrMax = 10
hltFilter = LoKi_Filters( HLT2_Code="HLT_PASS_RE('.*ExoticaPrmptDiMuonTurboDecision.*')") #hltFilter = LoKi_Filters(HLT2_Code ="HLT_PASS_RE('.*Hlt2Exotica.*TurboDecision.*')") #DaVinci().EventPreFilters = hltFilter.filters('TriggerFilters') # This probably doesn't work as no sel/dec report for turbo #from GaudiConf import IOHelper #IOHelper().inputFiles([ # '~/DSTs/pPbPhotons/MinBiasMC.dst' #],clear=True) #=================== # Setup GaudiPython if False: from Configurables import HltParticleFlow, HltJetBuilder pf = HltParticleFlow('pf') pf.Inputs += [['ProtoParticle', 'best', 'Rec/ProtoP/Charged'], ['ProtoParticle', 'gamma', 'Rec/ProtoP/Neutrals']] pf.Inputs += [ ['Particle', 'daughters', convLLSeq.outputLocation()], ['Particle', 'daughters', convDDSeq.outputLocation()], ['Particle', 'daughters', caloSeq.outputLocation()], #['Particle', 'daughters', mergedpi0Seq.outputLocation()], ['Particle', 'daughters', dimuSeq.outputLocation()] ]