CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
L1TPFUtils.cc
Go to the documentation of this file.
2 
6 
7 std::pair<float, float> l1tpf::propagateToCalo(const math::XYZTLorentzVector& iMom,
8  const math::XYZTLorentzVector& iVtx,
9  double iCharge,
10  double iBField) {
11  BaseParticlePropagator prop = BaseParticlePropagator(RawParticle(iMom, iVtx, iCharge), 0., 0., iBField);
12  prop.propagateToEcalEntrance(false);
13  double ecalShowerDepth = reco::PFCluster::getDepthCorrection(prop.particle().momentum().E(), false, false);
15  math::XYZTLorentzVector(prop.particle().momentum()).Vect().Unit() * ecalShowerDepth;
16  return std::make_pair(point.eta(), point.phi());
17 }
std::pair< float, float > propagateToCalo(const math::XYZTLorentzVector &iMom, const math::XYZTLorentzVector &iVtx, double iCharge, double iBField)
Definition: L1TPFUtils.cc:7
RawParticle const & particle() const
The particle being propagated.
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
const XYZTLorentzVector & momentum() const
the momentum fourvector
Definition: RawParticle.h:321
bool propagateToEcalEntrance(bool first=true)
const XYZTLorentzVector & vertex() const
the vertex fourvector
Definition: RawParticle.h:320
static double getDepthCorrection(double energy, bool isBelowPS=false, bool isHadron=false)
Definition: PFCluster.cc:39
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5