Go to the documentation of this file. 1 #ifndef RecoLocalTracker_SiPixelRecHits_PixelCPEBase_H
2 #define RecoLocalTracker_SiPixelRecHits_PixelCPEBase_H 1
45 #include <unordered_map>
151 setTheClu(theDetParam, *theClusterParam);
158 auto tuple = std::make_tuple(lp, le, rqw);
177 setTheClu(theDetParam, *theClusterParam);
184 auto tuple = std::make_tuple(lp, le, rqw);
197 virtual LocalError localError(DetParam
const& theDetParam, ClusterParam& theClusterParam)
const = 0;
221 mutable std::atomic<int> nRecHitsTotal_;
222 mutable std::atomic<int> nRecHitsUsedEdge_;
ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det) const override
bool useLAOffsetFromConfig_
const PixelTopology * theTopol
GloballyPositioned< double > Frame
const SiPixelTemplateDBObject * templateDBobject_
ClusterParam(const SiPixelCluster &cl)
const RectangularPixelTopology * theRecTopol
const SiPixelGenErrorDBObject * genErrorDBObject_
const TrackerTopology & ttopo_
virtual std::unique_ptr< ClusterParam > createClusterParam(const SiPixelCluster &cl) const =0
LocalVector driftDirection(DetParam &theDetParam, GlobalVector bfield) const
const TrackerGeometry & geom_
Pixel cluster – collection of neighboring pixels above threshold.
DetParam const & detParam(const GeomDetUnit &det) const
const PixelGeomDetUnit * theDet
const SiPixelCluster * theCluster
void computeAnglesFromTrajectory(DetParam const &theDetParam, ClusterParam &theClusterParam, const LocalTrajectoryParameters <p) const
virtual LocalError localError(DetParam const &theDetParam, ClusterParam &theClusterParam) const =0
unsigned int QualWordType
bool useLAWidthFromConfig_
std::vector< DetParam > DetParams
void setTheClu(DetParam const &, ClusterParam &theClusterParam) const
const SiPixelLorentzAngle * lorentzAngle_
PixelCPEBase(edm::ParameterSet const &conf, const MagneticField *mag, const TrackerGeometry &geom, const TrackerTopology &ttopo, const SiPixelLorentzAngle *lorentzAngle, const SiPixelGenErrorDBObject *genErrorDBObject, const SiPixelTemplateDBObject *templateDBobject, const SiPixelLorentzAngle *lorentzAngleWidth, int flag=0)
const SiPixelLorentzAngle * lorentzAngleWidth_
bool LoadTemplatesFromDB_
GeomDetType::SubDetector thePart
void computeAnglesFromDetPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const
virtual LocalPoint localPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const =0
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
LocalVector driftDirection
void computeLorentzShifts(DetParam &) const
Topology::LocalTrackPred loc_trk_pred
static void fillPSetDescription(edm::ParameterSetDescription &desc)
SiPixelRecHitQuality::QualWordType rawQualityWord(ClusterParam &theClusterParam) const
ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det, const LocalTrajectoryParameters <p) const override
const MagneticField * magfield_
virtual ~ClusterParam()=default
std::tuple< LocalPoint, LocalError, SiPixelRecHitQuality::QualWordType > ReturnType