17 rc,pos,mom =
False,
None,
None
18 fst = fT.getFitStatus()
19 if fst.isFitConverged()
and fst.getNdf() > minNdf:
21 if fT.getPoint(0).getFitterInfo()
and fT.getPoint(1).getFitterInfo():
22 fstate0,fstate1 = fT.getFittedState(0),fT.getFittedState(1)
23 fPos0,fPos1 = fstate0.getPos(),fstate1.getPos()
24 if abs(z-fPos0.z()) < abs(z-fPos1.z()): fstate = fstate0
25 else: fstate = fstate1
27 NewPosition = ROOT.TVector3(0., 0., zs)
28 rep = ROOT.genfit.RKTrackRep(13*cmp(fstate.getPDG(),0) )
29 state = ROOT.genfit.StateOnPlane(rep)
30 pos,mom = fstate.getPos(),fstate.getMom()
31 rep.setPosMom(state,pos,mom)
33 rep.extrapolateToPlane(state, NewPosition, parallelToZ )
34 pos,mom = state.getPos(),state.getMom()
39 if not rc
or z>z_ecal:
41 px,py,pz = mom.X(),mom.Y(),mom.Z()
43 pos = ROOT.TVector3( pos.X()+lam*px, pos.Y()+lam*py, z )