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
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
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