CMS 3D CMS Logo

Classes | Functions
l1tpf Namespace Reference

Classes

class  corrector
 
class  HGC3DClusterEgID
 
class  ParametricResolution
 
class  PFClusterProducerFromHGC3DClusters
 
class  PFClusterProducerFromL1EGClusters
 
class  PFTrackProducerFromL1Tracks
 

Functions

std::pair< float, float > propagateToCalo (const math::XYZTLorentzVector &iMom, const math::XYZTLorentzVector &iVtx, double iCharge, double iBField)
 

Function Documentation

◆ propagateToCalo()

std::pair< float, float > l1tpf::propagateToCalo ( const math::XYZTLorentzVector iMom,
const math::XYZTLorentzVector iVtx,
double  iCharge,
double  iBField 
)

Definition at line 7 of file L1TPFUtils.cc.

References reco::PFCluster::getDepthCorrection(), RawParticle::momentum(), BaseParticlePropagator::particle(), point, BaseParticlePropagator::propagateToEcalEntrance(), and RawParticle::vertex().

Referenced by L1TPhase2CorrelatorOffline::McVars::fillPropagated(), and l1tpf::PFTrackProducerFromL1Tracks::produce().

10  {
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 }
const XYZTLorentzVector & momentum() const
the momentum fourvector
Definition: RawParticle.h:321
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
RawParticle const & particle() const
The particle being propagated.
bool propagateToEcalEntrance(bool first=true)
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
const XYZTLorentzVector & vertex() const
the vertex fourvector
Definition: RawParticle.h:320