예제 #1
0
__author__ = "Ulrich Kerzel [email protected]"
__version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.1 $"
# =============================================================================
__all__ = ('NoBremNoPIDsTtrackElectrons', 'locations')
# =============================================================================
from Gaudi.Configuration import *
from Configurables import NoPIDsParticleMaker

from CommonParticles.Utils import *

## create the algorithm
algorithm = NoPIDsParticleMaker('NoBremNoPIDsTtrackElectrons',
                                DecayDescriptor='Electron',
                                Particle='electron')

algorithm.AddBremPhotonTo = []

# configure the track selector
selector = trackSelector(algorithm, trackTypes=["Ttrack"])

## configure Data-On-Demand service
locations = updateDoD(algorithm)

## finally: define the symbol
NoBremNoPIDsTtrackElectrons = algorithm

## ============================================================================
if '__main__' == __name__:

    print __doc__
    print __author__
    def GammaEE(self, Name, eDLLe, GammaEEChi2, GammaEEMass, GammaEETau):

        # cuts
        daughterCut = "PIDe > %(eDLLe)s" % locals()
        motherCut = "(VFASPF(VCHI2/VDOF)<%(GammaEEChi2)s) & (MM < %(GammaEEMass)s*MeV) & (abs(BPVLTIME()) <   %(GammaEETau)s*ps )" % locals(
        )

        # imports
        from Configurables import NoPIDsParticleMaker
        from CommonParticles.Utils import trackSelector, updateDoD
        from PhysSelPython.Wrappers import MergedSelection

        #
        # setup electrons
        #

        # TTrack electrons not OK yet ?
        algorithm = NoPIDsParticleMaker('StdNoPIDsTtrackElectrons',
                                        DecayDescriptor='Electron',
                                        Particle='electron')
        algorithm.AddBremPhotonTo = []
        selector = trackSelector(algorithm, trackTypes=["Ttrack"])
        locations = updateDoD(algorithm)
        StdNoPIDsTtrackElectrons = algorithm

        # switch off Bremsstrahlung correction until fully tuned
        algorithm = NoPIDsParticleMaker('StdAllNoPIDsElectrons',
                                        DecayDescriptor='Electron',
                                        Particle='electron')
        algorithm.AddBremPhotonTo = []

        algorithm = NoPIDsParticleMaker('StdNoPIDsUpElectrons',
                                        DecayDescriptor='Electron',
                                        Particle='electron')
        algorithm.AddBremPhotonTo = []

        algorithm = NoPIDsParticleMaker('StdNoPIDsDownElectrons',
                                        DecayDescriptor='Electron',
                                        Particle='electron')
        algorithm.AddBremPhotonTo = []

        # all required electrons
        from CommonParticles import StdNoPIDsDownElectrons, StdNoPIDsUpElectrons, StdNoPIDsVeloElectrons

        eLong = DataOnDemand('Phys/StdAllNoPIDsElectrons/Particles')
        eUp = DataOnDemand('Phys/StdNoPIDsUpElectrons/Particles')
        eDown = DataOnDemand('Phys/StdoPIDsDownElectrons/Particles')
        eTtrack = DataOnDemand('Phys/StdNoPIDsTtrackElectrons/Particles')
        allElectrons = MergedSelection(
            'allElectrons', RequiredSelections=[eLong, eUp, eDown, eTtrack])

        from GaudiConfUtils.ConfigurableGenerators import FilterDesktop
        electronFilter = FilterDesktop(Code=daughterCut)
        myElectrons = Selection(Name + '_MuonSel',
                                Algorithm=electronFilter,
                                RequiredSelections=[allElectrons])

        ConvFind = CombineParticles(DecayDescriptor="KS0 -> e+ e-",
                                    CombinationCut="(AM>0*MeV)",
                                    MotherCut=motherCut)

        #ConvFind.DecayDescriptor  = "KS0 -> e+ e-"
        #ConvFind.DaughtersCuts    = {"e+" : "ALL" }
        #ConvFind.CombinationCut   = "(AM>0*MeV)"
        #ConvFind.MotherCut        = motherCut

        GammaEESel = Selection(Name + "_GammaEESel",
                               Algorithm=ConvFind,
                               RequiredSelections=[myElectrons])

        return GammaEESel