CMS 3D CMS Logo

StripCPE.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiStripRecHitConverter_StripCPE_H
2 #define RecoLocalTracker_SiStripRecHitConverter_StripCPE_H
3 
5 
14 
15 class StripTopology;
16 
18 public:
20 
22  const GeomDetUnit&) const override;
23 
25  const MagneticField&,
26  const TrackerGeometry&,
27  const SiStripLorentzAngle&,
29  const SiStripConfObject&,
30  const SiStripLatency&);
31  LocalVector driftDirection(const StripGeomDetUnit* det) const override;
32 
33  struct Param {
34  Param() : topology(nullptr) {}
38  int nstrips;
41  float coveredStrips(const LocalVector&, const LocalPoint&) const;
42  };
43 
44  struct AlgoParam {
45  Param const& p;
49  float corr;
50  };
51 
53  AlgoParam const& ap) const {
54  return std::make_pair(LocalPoint(), LocalError());
55  }
56 
58  StripCPE::Param const& p = param(det);
59  SiStripDetId::SubDetector loc = SiStripDetId(det.geographicalId()).subDetector();
60 
62  track *= -p.thickness;
63 
64  const float fullProjection = p.coveredStrips(track + p.drift, ltp.position());
65 
66  auto const corr =
67  -0.5f * (1.f - p.backplanecorrection) * fullProjection + 0.5f * p.coveredStrips(track, ltp.position());
68 
69  return AlgoParam{p, ltp, loc, std::abs(fullProjection), corr};
70  }
71 
72 protected:
73  const bool peakMode_;
78  std::vector<float> xtalk1;
79  std::vector<float> xtalk2;
80 
81  Param const& param(const GeomDetUnit& det) const { return m_Params[det.index() - m_off]; }
82 
83 private:
84  void fillParams();
85  typedef std::vector<Param> Params;
87  unsigned int m_off;
88 };
89 #endif
Vector3DBase< float, LocalTag >
StripCPE::AlgoParam::corr
float corr
Definition: StripCPE.h:49
StripCPE::Params
std::vector< Param > Params
Definition: StripCPE.h:85
StripCPE::xtalk2
std::vector< float > xtalk2
Definition: StripCPE.h:79
StripCPE
Definition: StripCPE.h:17
StripCPE::driftDirection
LocalVector driftDirection(const StripGeomDetUnit *det) const override
Definition: StripCPE.cc:81
TrackerGeometry.h
GeomDet
Definition: GeomDet.h:27
StripCPE::m_Params
Params m_Params
Definition: StripCPE.h:86
StripCPE::peakMode_
const bool peakMode_
Definition: StripCPE.h:73
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
StripCPE::Param::maxLength
float maxLength
Definition: StripCPE.h:37
SiStripDetId.h
GeomDet::index
int index() const
Definition: GeomDet.h:83
StripCPE::AlgoParam::afullProjection
float afullProjection
Definition: StripCPE.h:48
StripCPE::param
Param const & param(const GeomDetUnit &det) const
Definition: StripCPE.h:81
StripCPE::StripCPE
StripCPE(edm::ParameterSet &conf, const MagneticField &, const TrackerGeometry &, const SiStripLorentzAngle &, const SiStripBackPlaneCorrection &, const SiStripConfObject &, const SiStripLatency &)
Definition: StripCPE.cc:11
StripCPE::Param::topology
StripTopology const * topology
Definition: StripCPE.h:35
align::LocalPoint
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:30
StripCPE::fillParams
void fillParams()
Definition: StripCPE.cc:93
StripCPE::AlgoParam
Definition: StripCPE.h:44
LocalTrajectoryParameters
Definition: LocalTrajectoryParameters.h:25
StripCPE::xtalk1
std::vector< float > xtalk1
Definition: StripCPE.h:78
StripCPE::geom_
const TrackerGeometry & geom_
Definition: StripCPE.h:74
GetRecoTauVFromDQM_MC_cff.cl
cl
Definition: GetRecoTauVFromDQM_MC_cff.py:38
StripClusterParameterEstimator
Definition: StripClusterParameterEstimator.h:25
SiStripLorentzAngle
Definition: SiStripLorentzAngle.h:26
LocalTrajectoryParameters::position
LocalPoint position() const
Local x and y position coordinates.
Definition: LocalTrajectoryParameters.h:85
alignCSCRings.corr
dictionary corr
Definition: alignCSCRings.py:124
StripCPE::BackPlaneCorrectionMap_
const SiStripBackPlaneCorrection & BackPlaneCorrectionMap_
Definition: StripCPE.h:77
StripCPE::AlgoParam::p
Param const & p
Definition: StripCPE.h:45
Point3DBase< float, LocalTag >
StripCPE::Param::invThickness
float invThickness
Definition: StripCPE.h:37
StripCPE::LorentzAngleMap_
const SiStripLorentzAngle & LorentzAngleMap_
Definition: StripCPE.h:76
StripCPE::getAlgoParam
AlgoParam getAlgoParam(const GeomDetUnit &det, const LocalTrajectoryParameters &ltp) const
Definition: StripCPE.h:57
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
edm::ParameterSet
Definition: ParameterSet.h:36
StripCPE::m_off
unsigned int m_off
Definition: StripCPE.h:87
LocalTrajectoryParameters::directionNotNormalized
LocalVector directionNotNormalized() const
Momentum vector unit in the local frame.
Definition: LocalTrajectoryParameters.h:107
StripCPE::Param::coveredStrips
float coveredStrips(const LocalVector &, const LocalPoint &) const
Definition: StripCPE.cc:77
LocalError
Definition: LocalError.h:12
StripCPE::AlgoParam::loc
SiStripDetId::SubDetector loc
Definition: StripCPE.h:47
SiStripBackPlaneCorrection.h
StripCPE::Param
Definition: StripCPE.h:33
StripCPE::localParameters
virtual StripClusterParameterEstimator::LocalValues localParameters(const SiStripCluster &cl, AlgoParam const &ap) const
Definition: StripCPE.h:52
MagneticField.h
StripCPE::magfield_
const MagneticField & magfield_
Definition: StripCPE.h:75
StripClusterParameterEstimator::localParameters
virtual void localParameters(AClusters const &clusters, ALocalValues &retValues, const GeomDetUnit &gd, const LocalTrajectoryParameters &ltp) const
Definition: StripClusterParameterEstimator.h:32
StripCPE::Param::Param
Param()
Definition: StripCPE.h:34
StripCPE::localParameters
StripClusterParameterEstimator::LocalValues localParameters(const SiStripCluster &cl, const GeomDetUnit &) const override
Definition: StripCPE.cc:66
StripCPE::Param::nstrips
int nstrips
Definition: StripCPE.h:38
StripCPE::Param::moduleGeom
SiStripModuleGeometry moduleGeom
Definition: StripCPE.h:40
StripCPE::Param::thickness
float thickness
Definition: StripCPE.h:37
StripClusterParameterEstimator.h
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
StripClusterParameterEstimator::LocalValues
std::pair< LocalPoint, LocalError > LocalValues
Definition: StripClusterParameterEstimator.h:27
StripCPE::Param::backplanecorrection
float backplanecorrection
Definition: StripCPE.h:39
SiStripLatency.h
StripCPE::Param::drift
LocalVector drift
Definition: StripCPE.h:36
ParameterSet.h
SiStripDetId
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:18
SiStripModuleGeometry
SiStripModuleGeometry
Definition: SiStripEnums.h:8
SiStripLorentzAngle.h
SiStripSubdetector::Subdetector
Subdetector
Definition: SiStripEnums.h:5
SiStripLatency
Definition: SiStripLatency.h:59
MagneticField
Definition: MagneticField.h:19
SiStripCluster
Definition: SiStripCluster.h:9
SiStripBackPlaneCorrection
Definition: SiStripBackPlaneCorrection.h:27
StripTopology
Definition: StripTopology.h:11
SiStripConfObject.h
StripCPE::AlgoParam::ltp
const LocalTrajectoryParameters & ltp
Definition: StripCPE.h:46
StripGeomDetUnit
Definition: StripGeomDetUnit.h:15
StripCPE::Param::pitch_rel_err2
float pitch_rel_err2
Definition: StripCPE.h:37
TrackerGeometry
Definition: TrackerGeometry.h:14
SiStripConfObject
Definition: SiStripConfObject.h:31