//////////////////////////////////////////////////////////////////// // File: ObspVariables.cc // Authors: Matt Reece // Purpose: High level analysis OBSP variables defined as functions // Created: 04/11/2002 // // Revision: 0.1 // //////////////////////////////////////////////////////////////////// #include "HighLevelObjects/ObspVariables.hh" #include #include namespace ObspVariables { int obspID(OBSP_StorableBank::particleIter part) { return part.particle(); } double obspMass(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->Mass(part); } double obspPx(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->Px(part); } double obspPy(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->Py(part); } double obspPz(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->Pz(part); } double obspE(ConstHandle obsp, OBSP_StorableBank::particleIter part) { double m = obspMass(obsp,part); double px = obspPx(obsp,part); double py = obspPy(obsp,part); double pz = obspPz(obsp,part); return sqrt(m*m+px*px+py*py+pz*pz); } double obspPath(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->Path(part); } double obspCharge(ConstHandle obsp, OBSP_StorableBank::particleIter part) { ParticleDb* db = ParticleDb::Instance(); return db->Charge(obspCdfCode(obsp,part)); } int obspVertexNumber(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->VertexNumber(part); } int obspDecayVertexNumber(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->DecayVertexNumber(part); } int obspDecayCode(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->DecayCode(part); } int obspCdfCode(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->CdfCode(part); } int obspGenpNumber(ConstHandle obsp, OBSP_StorableBank::particleIter part) { return obsp->HepgNumber(part); } int obspPdgCode(ConstHandle obsp, OBSP_StorableBank::particleIter part) { ParticleDb* db = ParticleDb::Instance(); return db->ParticlePdgCode(obspCdfCode(obsp,part)); } } // namespace ObspVariables