1 #ifndef CalibTracker_SiStripLorentzAngle_SiStripLorentzAngleCalibrationHelper_h 2 #define CalibTracker_SiStripLorentzAngle_SiStripLorentzAngleCalibrationHelper_h 15 #include "TFitResult.h" 36 unsigned int layer = 0;
49 std::string d_l_t = Form(
"%s_L%d%s", subdet.c_str(), layer,
type.c_str());
80 if (sscanf(locType.c_str(),
"%3s_L%d%1[a-zA-Z]", &subdet[0], &layer, &layerType[0]) == 3) {
82 LogTrace(
"locationTypeIndex") <<
"subdet " << &subdet[0] <<
") layer " << layer <<
" type " << layerType[0]
85 int firstElement = (layerType[0] ==
'a') ? 1 : 2;
86 int secondElement = (
std::string(&subdet[0]) ==
"TIB") ? layer : (layer + 4);
88 return std::make_pair(firstElement, secondElement);
92 std::cerr <<
"Invalid input format: " << locType << std::endl;
93 return std::make_pair(-1, -1);
104 size_t dotPosition = theMagFieldStr.find(
'.');
105 if (dotPosition != std::string::npos) {
106 theMagFieldStr = theMagFieldStr.substr(0, dotPosition + 2);
108 return theMagFieldStr;
114 switch (
latency->singleReadOutMode()) {
130 double thetaL = par[1];
133 double tanThetaL =
std::tan(thetaL);
double fitFunction(double *x, double *par)
SubDetector subDetector() const
std::pair< int, int > locationTypeIndex(const std::string &locType)
static std::string to_string(const XMLCh *ch)
unsigned int layer(const DetId &id) const
const std::string fieldAsString(const float &inputField)
Tan< T >::type tan(const T &t)
Abs< T >::type abs(const T &t)
const std::string apvModeAsString(const SiStripLatency *latency)
static constexpr auto TOB
Detector identifier class for the strip tracker.
static constexpr auto TIB
T mod(const T &a, const T &b)
std::string moduleLocationType(const uint32_t &mod, const TrackerTopology *tTopo)
Generates a module location type string based on the detector ID and topology information.