CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
siStripClusterTools Namespace Reference

Functions

template<typename Iter >
float chargePerCM (DetId detid, Iter a, Iter b)
 
template<typename Clus >
float chargePerCM (DetId detid, Clus const &cl)
 
template<typename Clus >
float chargePerCM (DetId detid, Clus const &cl, LocalTrajectoryParameters const &tp)
 
template<typename Clus >
float chargePerCM (Clus const &cl, LocalTrajectoryParameters const &tp, float invThick)
 
template<typename Clus >
float chargePerCM (DetId detid, Clus const &cl, const LocalVector &ldir)
 
float sensorThicknessInverse (DetId detid)
 

Function Documentation

template<typename Iter >
float siStripClusterTools::chargePerCM ( DetId  detid,
Iter  a,
Iter  b 
)
inline
template<typename Clus >
float siStripClusterTools::chargePerCM ( DetId  detid,
Clus const &  cl 
)
inline

Definition at line 32 of file SiStripClusterTools.h.

References sensorThicknessInverse().

32  {
33  return cl.charge()*sensorThicknessInverse(detid);
34  }
float sensorThicknessInverse(DetId detid)
template<typename Clus >
float siStripClusterTools::chargePerCM ( DetId  detid,
Clus const &  cl,
LocalTrajectoryParameters const &  tp 
)
inline

Definition at line 38 of file SiStripClusterTools.h.

References LocalTrajectoryParameters::absdz(), and chargePerCM().

38  {
39  return chargePerCM(detid,cl)*tp.absdz();
40  }
float chargePerCM(DetId detid, Iter a, Iter b)
template<typename Clus >
float siStripClusterTools::chargePerCM ( Clus const &  cl,
LocalTrajectoryParameters const &  tp,
float  invThick 
)
inline

Definition at line 43 of file SiStripClusterTools.h.

References LocalTrajectoryParameters::absdz().

43  {
44  return cl.charge()*invThick*tp.absdz();
45  }
template<typename Clus >
float siStripClusterTools::chargePerCM ( DetId  detid,
Clus const &  cl,
const LocalVector ldir 
)
inline

Definition at line 49 of file SiStripClusterTools.h.

References funct::abs(), chargePerCM(), PV3DBase< T, PVType, FrameType >::mag(), and PV3DBase< T, PVType, FrameType >::z().

49  {
50  return chargePerCM(detid,cl)*std::abs(ldir.z())/ldir.mag();
51  }
float chargePerCM(DetId detid, Iter a, Iter b)
T mag() const
Definition: PV3DBase.h:67
T z() const
Definition: PV3DBase.h:64
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float siStripClusterTools::sensorThicknessInverse ( DetId  detid)
inline

Definition at line 12 of file SiStripClusterTools.h.

References f, SiStripDetId::moduleGeometry(), DetId::subdetId(), SiStripDetId::TIB, SiStripDetId::TOB, SiStripDetId::W5, SiStripDetId::W6, and SiStripDetId::W7.

Referenced by chargePerCM().

13  {
14  if (detid.subdetId()>=SiStripDetId::TIB) {
15  SiStripDetId siStripDetId = detid();
16  if (siStripDetId.subdetId()==SiStripDetId::TOB) return 1.f/0.047f;
17  if (siStripDetId.moduleGeometry()==SiStripDetId::W5 || siStripDetId.moduleGeometry()==SiStripDetId::W6 ||
18  siStripDetId.moduleGeometry()==SiStripDetId::W7)
19  return 1.f/0.047f;
20  return 1.f/0.029f; // so it is TEC ring 1-4 or TIB or TOB;
21  } else if (detid.subdetId()==1) return 1.f/0.0285f;
22  else return 1.f/0.027f;
23  }
double f[11][100]
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:17
ModuleGeometry moduleGeometry() const
Definition: SiStripDetId.h:118