|
|
Go to the documentation of this file. 1 #ifndef RecoLocalTracker_SiPixelRecHits_interface_PixelCPEBase_h
2 #define RecoLocalTracker_SiPixelRecHits_interface_PixelCPEBase_h 1
17 #include <unordered_map>
136 LogDebug(
"PixelCPEBase") <<
" in PixelCPEBase:localParameters(all) - " << nRecHitsTotal_;
141 setTheClu(theDetParam, *theClusterParam);
148 auto tuple = std::make_tuple(lp, le, rqw);
150 LogDebug(
"PixelCPEBase") <<
" in PixelCPEBase:localParameters(all) - " << lp.
x() <<
" " << lp.
y();
162 LogDebug(
"PixelCPEBase") <<
" in PixelCPEBase:localParameters(on track) - " << nRecHitsTotal_;
167 setTheClu(theDetParam, *theClusterParam);
174 auto tuple = std::make_tuple(lp, le, rqw);
176 LogDebug(
"PixelCPEBase") <<
" in PixelCPEBase:localParameters(on track) - " << lp.
x() <<
" " << lp.
y();
187 virtual LocalError localError(DetParam
const& theDetParam, ClusterParam& theClusterParam)
const = 0;
211 mutable std::atomic<int> nRecHitsTotal_;
212 mutable std::atomic<int> nRecHitsUsedEdge_;
286 #endif // RecoLocalTracker_SiPixelRecHits_interface_PixelCPEBase_h
ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det) const override
bool useLAOffsetFromConfig_
const PixelTopology * theTopol
static constexpr float bothEdgeYError_
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
static constexpr float bothEdgeXError_
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
static constexpr float xEdgeXError_
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
static constexpr float yEdgeYError_
void computeLorentzShifts(DetParam &) const
Topology::LocalTrackPred loc_trk_pred
static void fillPSetDescription(edm::ParameterSetDescription &desc)
SiPixelRecHitQuality::QualWordType rawQualityWord(ClusterParam &theClusterParam) const
static constexpr float clusterSplitMaxError_
bool doLorentzFromAlignment_
ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det, const LocalTrajectoryParameters <p) const override
static constexpr float xEdgeYError_
const MagneticField * magfield_
virtual ~ClusterParam()=default
static constexpr float yEdgeXError_
std::tuple< LocalPoint, LocalError, SiPixelRecHitQuality::QualWordType > ReturnType