35 SetRapidityInvJigsaw::SetRapidityInvJigsaw(
const std::string& sname,
36 const std::string& stitle) :
37 InvisibleJigsaw(sname, stitle, 1, 1)
39 m_Axis = RestFrame::GetAxis();
42 SetRapidityInvJigsaw::SetRapidityInvJigsaw() : InvisibleJigsaw() {}
44 SetRapidityInvJigsaw::~SetRapidityInvJigsaw() {}
46 void SetRapidityInvJigsaw::SetAxis(
const TVector3& axis){
50 bool SetRapidityInvJigsaw::AnalyzeEvent(){
52 return SetSpirit(
false);
54 TLorentzVector inv_P = GetParentState().GetFourVector();
55 TLorentzVector vis_P = GetDependancyStates(0).GetFourVector();
57 TVector3 boostZ = vis_P.BoostVector();
58 boostZ = boostZ.Dot(m_Axis.Unit())*m_Axis.Unit();
63 GetChildState(0).SetFourVector(inv_P);
65 return SetSpirit(
true);