1 #ifndef RecoLocalTracker_SiPixelRecHits_interface_PixelCPEBase_h 2 #define RecoLocalTracker_SiPixelRecHits_interface_PixelCPEBase_h 1 17 #include <unordered_map> 137 LogDebug(
"PixelCPEBase") <<
" in PixelCPEBase:localParameters(all) - " << nRecHitsTotal_;
142 setTheClu(theDetParam, *theClusterParam);
149 auto tuple = std::make_tuple(lp, le, rqw);
151 LogDebug(
"PixelCPEBase") <<
" in PixelCPEBase:localParameters(all) - " << lp.
x() <<
" " << lp.
y();
163 LogDebug(
"PixelCPEBase") <<
" in PixelCPEBase:localParameters(on track) - " << nRecHitsTotal_;
168 setTheClu(theDetParam, *theClusterParam);
175 auto tuple = std::make_tuple(lp, le, rqw);
177 LogDebug(
"PixelCPEBase") <<
" in PixelCPEBase:localParameters(on track) - " << lp.
x() <<
" " << lp.
y();
188 virtual LocalError localError(DetParam
const& theDetParam, ClusterParam& theClusterParam)
const = 0;
212 mutable std::atomic<int> nRecHitsTotal_;
213 mutable std::atomic<int> nRecHitsUsedEdge_;
285 #endif // RecoLocalTracker_SiPixelRecHits_interface_PixelCPEBase_h
static constexpr float xEdgeYError_
void computeAnglesFromTrajectory(DetParam const &theDetParam, ClusterParam &theClusterParam, const LocalTrajectoryParameters <p) const
const SiPixelLorentzAngle * lorentzAngleWidth_
virtual ~ClusterParam()=default
void computeAnglesFromDetPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const
const SiPixelCluster * theCluster
ClusterParam(const SiPixelCluster &cl)
static void fillPSetDescription(edm::ParameterSetDescription &desc)
bool doLorentzFromAlignment_
static constexpr float bothEdgeYError_
const PixelGeomDetUnit * theDet
GeomDetType::SubDetector thePart
static constexpr float yEdgeYError_
const RectangularPixelTopology * theRecTopol
void computeLorentzShifts(DetParam &) const
bool useLAWidthFromConfig_
const PixelTopology * theTopol
SiPixelRecHitQuality::QualWordType rawQualityWord(ClusterParam &theClusterParam) const
bool LoadTemplatesFromDB_
virtual LocalPoint localPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const =0
ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det) const override
const SiPixelTemplateDBObject * templateDBobject_
const MagneticField * magfield_
virtual std::unique_ptr< ClusterParam > createClusterParam(const SiPixelCluster &cl) const =0
Topology::LocalTrackPred loc_trk_pred
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
static constexpr float xEdgeXError_
std::vector< DetParam > DetParams
const TrackerTopology & ttopo_
const SiPixelLorentzAngle * lorentzAngle_
static constexpr float clusterSplitMaxError_
const SiPixelGenErrorDBObject * genErrorDBObject_
LocalVector driftDirection(DetParam &theDetParam, GlobalVector bfield) const
DetParam const & detParam(const GeomDetUnit &det) const
bool useLAOffsetFromConfig_
GloballyPositioned< double > Frame
Pixel cluster – collection of neighboring pixels above threshold.
const TrackerGeometry & geom_
unsigned int QualWordType
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)
ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det, const LocalTrajectoryParameters <p) const override
virtual LocalError localError(DetParam const &theDetParam, ClusterParam &theClusterParam) const =0
LocalVector driftDirection
static constexpr float bothEdgeXError_
static constexpr float yEdgeXError_
std::tuple< LocalPoint, LocalError, SiPixelRecHitQuality::QualWordType > ReturnType
void setTheClu(DetParam const &, ClusterParam &theClusterParam) const