Ejemplo n.º 1
0
    def Lam0_DD_Bin1(self):
        """
        Selection for Lam0 DD Bin1
        """
        if hasattr(self, 'Lam0_DD_Bin1_V0ForPID'):
            return self.Lam0_DD_Bin1_V0ForPID

        Lam0DD = self.Lam0DD()
        _Lam0_DD_Bin1_Filter = FilterDesktop(
            ##
            #self.name + 'Lam0_DD_Bin1_Filter' ,
            ##
            Code=self._lam0_bin1Cut_DD())

        if self._monitor == True:
            _Lam0_DD_Bin1_Filter.Preambulo = [
                ## define historam type (shortcut)
                "Histo  = Gaudi.Histo1DDef",
                ## monitor DD-case
                "massDD     = monitor ( M / GeV ,             Histo ( 'Lambda0, DD-case' , 1.080 , 1.140 , 100 ) , 'M_DD'    ) ",
                "p1DD       = monitor ( CHILD( P, 1 ) / GeV , Histo ( 'Lambda0, DD-case' , 0.00  , 120   , 100 ) , 'p1_DD'   ) ",
                "p2DD       = monitor ( CHILD( P, 2 ) / GeV , Histo ( 'Lambda0, DD-case' , 0.00  , 120   , 100 ) , 'p2_DD'   ) ",
            ]
            _Lam0_DD_Bin1_Filter.Monitor = True,
            _Lam0_DD_Bin1_Filter.HistoProduce = True,
            _Lam0_DD_Bin1_Filter.PostMonitor = """ process ( massDD )
            >> process ( p1DD )
            >> process ( p2DD )
            >> EMPTY
            """

        self.Lam0_DD_Bin1_V0ForPID = Selection("SelLam0_DD_Bin1" + self._name,
                                               Algorithm=_Lam0_DD_Bin1_Filter,
                                               RequiredSelections=[Lam0DD])
        return self.Lam0_DD_Bin1_V0ForPID
Ejemplo n.º 2
0
    def K0S_DD_Bin1 ( self ) :
        """
        Selection for K0S DD Bin1
        """
        if hasattr(self, 'K0S_DD_Bin1_V0ForPID') :
            return self.K0S_DD_Bin1_V0ForPID

        _K0S_DD_Bin1_Filter = FilterDesktop (
            #self.name + 'K0S_DD_Bin1_Filter' ,
            Code         = self._k0s_bin1Cut_DD()
            )

        if self._monitor == True :
            _K0S_DD_Bin1_Filter.Preambulo    = [
                ## define historam type (shortcut)
                "Histo  = Gaudi.Histo1DDef"  ,
                ## monitor DD-case
                "massDD     = monitor ( M / GeV ,             Histo ( 'K0S, DD-case' , 0.45 , 0.55 , 100 ) , 'M_DD'    ) " ,
                "p1DD       = monitor ( CHILD( P, 1 ) / GeV , Histo ( 'K0S, DD-case' , 0.00 , 120 ,  100 ) , 'p1_DD'   ) " ,
                "p2DD       = monitor ( CHILD( P, 2 ) / GeV , Histo ( 'K0S, DD-case' , 0.00 , 120 ,  100 ) , 'p2_DD'   ) " ,
                ]
            _K0S_DD_Bin1_Filter.Monitor      = True  ,
            _K0S_DD_Bin1_Filter.HistoProduce = True  ,
            _K0S_DD_Bin1_Filter.PostMonitor  = """ process ( massDD )
            >> process ( p1DD )
            >> process ( p2DD )
            >> EMPTY
            """

        self.K0S_DD_Bin1_V0ForPID = Selection(
            "SelK0S_DD_Bin1" + self._name,
            Algorithm          = _K0S_DD_Bin1_Filter,
            RequiredSelections = [ self.K0SDD() ]
            )
        return self.K0S_DD_Bin1_V0ForPID
Ejemplo n.º 3
0
    def Lam0_LL_Bin2_IsMUON(self):
        """
        Selection for Lam0 LL Bin2
        """
        if hasattr(self, 'Lam0_LL_Bin2_IsMUON_V0ForPID'):
            return self.Lam0_LL_Bin2_IsMUON_V0ForPID

        Lam0 = self.Lam0()
        _Lam0_LL_Bin2_IsMUON_Filter = FilterDesktop(
            #self.name + 'Lam0_LL_Bin2_Filter' ,
            Code=self._lam0_bin2Cut_LL_IsMUON())

        if self._monitor == True:
            _Lam0_LL_Bin2_IsMUON_Filter.Preambulo = [
                ## define historam type (shortcut)
                "Histo  = Gaudi.Histo1DDef",
                ## monitor LL-case
                "massLL     = monitor ( M / GeV ,             Histo ( 'Lambda0, LL-case' , 1.080 , 1.140 , 100 ) , 'M_LL'    ) ",
                "p1LL       = monitor ( CHILD( P, 1 ) / GeV , Histo ( 'Lambda0, LL-case' , 0.00  , 120   , 100 ) , 'p1_LL'   ) ",
                "p2LL       = monitor ( CHILD( P, 2 ) / GeV , Histo ( 'Lambda0, LL-case' , 0.00  , 120   , 100 ) , 'p2_LL'   ) ",
            ]
            _Lam0_LL_Bin2_IsMUON_Filter.Monitor = True,
            _Lam0_LL_Bin2_IsMUON_Filter.HistoProduce = True,
            _Lam0_LL_Bin2_IsMUON_Filter.PostMonitor = """ process ( massLL )
            >> process ( p1LL )
            >> process ( p2LL )
            >> EMPTY
            """

        self.Lam0_LL_Bin2_IsMUON_V0ForPID = Selection(
            "SelLam0_LL_Bin2_ISMUON" + self._name,
            Algorithm=_Lam0_LL_Bin2_IsMUON_Filter,
            RequiredSelections=[Lam0])
        return self.Lam0_LL_Bin2_IsMUON_V0ForPID
Ejemplo n.º 4
0
def filterSelection(name, code, inputs, preambulo=None):
    alg = FilterDesktop(Code=code)
    if preambulo is not None: alg.Preambulo = preambulo
    return Selection(name + 'Beauty2CharmFilter',
                     Algorithm=alg,
                     RequiredSelections=inputs)