Esempio n. 1
0
def GetCollinearDeltaPhiTrCut(CutName, xMax, yMax, varX, varY):
    ### Collinear Triangular Cut
    TrCut = TCutG(CutName, 6)
    TrCut.SetVarY(varY)
    TrCut.SetVarX(varX)

    ### Generate triangular cut with given points
    TrCut.SetPoint(0, 0.0, 0.0)
    TrCut.SetPoint(1, yMax, 0.0)
    TrCut.SetPoint(2, 180.0, xMax)
    TrCut.SetPoint(3, 180.0, 180.0)
    TrCut.SetPoint(4, 180.0, 0.0)
    TrCut.SetPoint(5, 0.0, 0.0)
    TrCut.SetName(CutName)
    
    return TrCut
Esempio n. 2
0
def GetBackToBackDeltaPhiCCut(CutName, nPoints, radius, varX, varY):
    ### Back-to-Back Circular Cut
    phi = 0.0
    CCut = TCutG(CutName, nPoints+4)
    CCut.SetVarY(varY)
    CCut.SetVarX(varX)

    ### Generate circular-cut of given radius 
    for i in range(0, nPoints):
        phi = (0.5*math.pi/float(nPoints))*i #90 degrees movement only
        x = radius*math.cos(phi)
        y = radius*math.sin(phi)
        xNew = 180-x
        CCut.SetPoint(i, y, xNew)
        #print "[%s, %s]" % (xNew, y)

    CCut.SetPoint(nPoints+1, radius, 180.0)
    CCut.SetPoint(nPoints+2, 180.0, 180.0 )
    CCut.SetPoint(nPoints+3, 180.0, 0)
    CCut.SetPoint(nPoints+4, 0, 0)
    CCut.SetName(CutName)
    
    return CCut
Esempio n. 3
0
def GetCollinearDeltaPhiCCut(CutName, nPoints, radius, varX, varY):
    ### Collinear Circular Cut
    phi = 0.0
    CCut = TCutG(CutName, nPoints+4)
    CCut.SetVarY(varY)
    CCut.SetVarX(varX)

    ### Generate circular-cut of given radius 
    for i in range(0, nPoints):
        phi = (0.5*math.pi/float(nPoints))*i #90 degrees movement only
        x = radius*math.cos(phi)
        y = radius*math.sin(phi)
        yNew = 180-y
        CCut.SetPoint(i, yNew, x)
        # print "[%s, %s]" % (x, yNew)

    CCut.SetPoint(nPoints+1, 180.0-radius, 0.0)
    CCut.SetPoint(nPoints+2, 0.0, 0.0)
    CCut.SetPoint(nPoints+3, 0.0, 180.0)
    CCut.SetPoint(nPoints+4, 180.0, 180.0)
    CCut.SetName(CutName)
    
    return CCut