CMS 3D CMS Logo

PixelClusterParameterEstimator.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_PixelCluster_Parameter_Estimator_H
2 #define RecoLocalTracker_PixelCluster_Parameter_Estimator_H
3 
6 
10 
13 #include <tuple>
14 
16 public:
18 
19  typedef std::pair<LocalPoint, LocalError> LocalValues;
20  typedef std::vector<LocalValues> VLocalValues;
21 
22  using ReturnType = std::tuple<LocalPoint, LocalError, SiPixelRecHitQuality::QualWordType>;
23 
24  // here just to implement it in the clients;
25  // to be properly implemented in the sub-classes in order to make them thread-safe
26 
27  virtual ReturnType getParameters(const SiPixelCluster& cl, const GeomDetUnit& det) const = 0;
28 
30  const GeomDetUnit& det,
31  const LocalTrajectoryParameters& ltp) const = 0;
32 
34  const GeomDetUnit& det,
35  const TrajectoryStateOnSurface& tsos) const {
36  return getParameters(cl, det, tsos.localParameters());
37  }
38 
39  virtual VLocalValues localParametersV(const SiPixelCluster& cluster, const GeomDetUnit& gd) const {
40  VLocalValues vlp;
41  ReturnType tuple = getParameters(cluster, gd);
42  vlp.push_back(std::make_pair(std::get<0>(tuple), std::get<1>(tuple)));
43  return vlp;
44  }
46  const GeomDetUnit& gd,
47  TrajectoryStateOnSurface& tsos) const {
48  VLocalValues vlp;
49  ReturnType tuple = getParameters(cluster, gd, tsos);
50  vlp.push_back(std::make_pair(std::get<0>(tuple), std::get<1>(tuple)));
51  return vlp;
52  }
53 
55 
56  //--- Flag to control how SiPixelRecHits compute clusterProbability().
57  //--- Note this is set via the configuration file, and it's simply passed
58  //--- to each TSiPixelRecHit.
59  inline unsigned int clusterProbComputationFlag() const { return clusterProbComputationFlag_; }
60 
61 protected:
62  //--- A flag that could be used to change the behavior of
63  //--- clusterProbability() in TSiPixelRecHit (the *transient* one).
64  //--- The problem is that the transient hits are made after the CPE runs
65  //--- and they don't get the access to the PSet, so we pass it via the
66  //--- CPE itself...
67  //
69 };
70 
71 #endif
PixelClusterParameterEstimator
Definition: PixelClusterParameterEstimator.h:15
TrajectoryStateOnSurface.h
SiPixelRecHitQuality.h
PixelClusterParameterEstimator::clusterProbComputationFlag
unsigned int clusterProbComputationFlag() const
Definition: PixelClusterParameterEstimator.h:59
GeomDet
Definition: GeomDet.h:27
PixelClusterParameterEstimator::clusterProbComputationFlag_
unsigned int clusterProbComputationFlag_
Definition: PixelClusterParameterEstimator.h:68
SiPixelCluster.h
PixelClusterParameterEstimator::PixelClusterParameterEstimator
PixelClusterParameterEstimator()
Definition: PixelClusterParameterEstimator.h:54
SiPixelCluster
Pixel cluster – collection of neighboring pixels above threshold.
Definition: SiPixelCluster.h:27
PixelClusterParameterEstimator::getParameters
virtual ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det, const TrajectoryStateOnSurface &tsos) const
Definition: PixelClusterParameterEstimator.h:33
LocalTrajectoryParameters
Definition: LocalTrajectoryParameters.h:25
GetRecoTauVFromDQM_MC_cff.cl
cl
Definition: GetRecoTauVFromDQM_MC_cff.py:38
LocalTrajectoryParameters.h
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
LocalError.h
PixelClusterParameterEstimator::localParametersV
virtual VLocalValues localParametersV(const SiPixelCluster &cluster, const GeomDetUnit &gd, TrajectoryStateOnSurface &tsos) const
Definition: PixelClusterParameterEstimator.h:45
TrajectoryStateOnSurface::localParameters
const LocalTrajectoryParameters & localParameters() const
Definition: TrajectoryStateOnSurface.h:73
GeomDet.h
LocalPoint.h
PixelClusterParameterEstimator::getParameters
virtual ReturnType getParameters(const SiPixelCluster &cl, const GeomDetUnit &det) const =0
PixelClusterParameterEstimator::~PixelClusterParameterEstimator
virtual ~PixelClusterParameterEstimator()
Definition: PixelClusterParameterEstimator.h:17
PixelClusterParameterEstimator::localParametersV
virtual VLocalValues localParametersV(const SiPixelCluster &cluster, const GeomDetUnit &gd) const
Definition: PixelClusterParameterEstimator.h:39
PixelClusterParameterEstimator::VLocalValues
std::vector< LocalValues > VLocalValues
Definition: PixelClusterParameterEstimator.h:20
PixelClusterParameterEstimator::LocalValues
std::pair< LocalPoint, LocalError > LocalValues
Definition: PixelClusterParameterEstimator.h:19
PixelClusterParameterEstimator::ReturnType
std::tuple< LocalPoint, LocalError, SiPixelRecHitQuality::QualWordType > ReturnType
Definition: PixelClusterParameterEstimator.h:22