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])
Beispiel #2
0
    ]
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
Beispiel #3
0
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'
Beispiel #4
0
    ]
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
Beispiel #5
0
    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()]
    ]