5 #include "boost/bind.hpp"
6 #include "boost/lambda/lambda.hpp"
16 : peakMode_(latency.singleReadOutMode() == 1),
19 LorentzAngleMap_(LorentzAngle)
21 typedef std::map<std::string,SiStripDetId::ModuleGeometry> map_t;
38 const unsigned size = max_element( modules.begin(),modules.end(),
45 for(map_t::const_iterator it=modules.begin(); it!=modules.end(); it++) {
48 shiftS(
"shift_" + it->first + modeS ),
49 xtalk1S(
"xtalk1_" + it->first + modeS ),
50 xtalk2S(
"xtalk2_" + it->first + modeS );
56 shift[it->second] = confObj.
get<
double>(shiftS);
57 xtalk1[it->second] = confObj.
get<
double>(xtalk1S);
58 xtalk2[it->second] = confObj.
get<
double>(xtalk2S);
86 float dir_x = -tanLorentzAnglePerTesla * lbfield.
y();
87 float dir_y = tanLorentzAnglePerTesla * lbfield.
x();
StripCPE(edm::ParameterSet &conf, const MagneticField &, const TrackerGeometry &, const SiStripLorentzAngle &, const SiStripConfObject &, const SiStripLatency &)
virtual int nstrips() const =0
Local3DVector LocalVector
virtual float length() const =0
std::vector< double > xtalk2
const float & getLorentzAngle(const uint32_t &) const
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
StripClusterParameterEstimator::LocalValues localParameters(const SiStripCluster &) const
StripTopology const * topology
std::pair< LocalPoint, LocalError > LocalValues
const TrackerGeometry & geom_
uint32_t geographicalId() const
uint32_t rawId() const
get the raw id
virtual float thickness() const =0
U second(std::pair< T, U > const &p)
const SiStripLorentzAngle & LorentzAngleMap_
std::vector< double > xtalk1
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
virtual const BoundPlane & specificSurface() const
Same as surface(), kept for backward compatibility.
SiStripDetId::ModuleGeometry moduleGeom
virtual const TopologyType & specificTopology() const
virtual const Topology & topology() const
Returns a reference to the strip proxy topology.
DetId geographicalId() const
The label of this GeomDet.
const MagneticField & magfield_
std::vector< double > shift
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
float coveredStrips(const LocalVector &, const LocalPoint &) const
virtual StripGeomDetType & specificType() const
Detector identifier class for the strip tracker.
const Bounds & bounds() const
virtual float localPitch(const LocalPoint &) const
Param & fillParam(Param &p, const GeomDetUnit *det)
LocalVector driftDirection(const StripGeomDetUnit *det) const
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
valueType get(const std::string &name) const
virtual float stripLength() const
virtual const GeomDetUnit * idToDetUnit(DetId) const
Return the pointer to the GeomDetUnit corresponding to a given DetId.
virtual LocalError localError(float strip, float stripErr2) const =0
virtual LocalPoint localPosition(float strip) const =0
Param const & param(const uint32_t detid) const
float angularWidth() const
bool isParameter(const std::string &name) const
virtual float width() const =0
const PositionType & position() const
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
tuple size
Write out results.
Power< A, B >::type pow(const A &a, const B &b)