CMS 3D CMS Logo

CSCXonStrip_MatchGatti.h
Go to the documentation of this file.
1 #ifndef CSCRecHitD_CSCXonStrip_MatchGatti_h
2 #define CSCRecHitD_CSCXonStrip_MatchGatti_h
3 //---- Large part taken from RecHitB
4 
17 
18 #include <map>
19 #include <vector>
20 
21 class CSCLayer;
22 class CSCChamberSpecs;
23 
25 public:
26  explicit CSCXonStrip_MatchGatti(const edm::ParameterSet& ps);
27 
29 
30  // Member functions
31 
33  void findXOnStrip(const CSCDetId& id,
34  const CSCLayer* layer,
35  const CSCStripHit& stripHit,
36  int centralStrip,
37  float& xWithinChamber,
38  float& stripWidth,
39  const float& tpeak,
40  float& xWithinStrip,
41  float& sigma,
42  int& quality_flag);
43 
45  void initChamberSpecs();
46 
48  void setupMatrix();
49 
52 
53 private:
54  // No copying of this class
57 
58  double h; // This is the distance between strip and wire planes
59  float stripWidth;
60  double r; // This is the ratio h/stripwidth
61 
62  double k_1, k_2, k_3, sqrt_k_3, norm; // See equation above for description
63 
64  // The charge (3x3); [1][1] is the maximum
65  float chargeSignal[3][3]; // 3x3 data array for gatti fit
66 
68  float xt_l[3][3], xt_r[3][3];
69  float xt_lr0[3], xt_lr1[3], xt_lr2[3];
70 
72  float v11[3], v12[3], v13[3], v22[3], v23[3], v33[3];
73 
75  float a11[3], a12[3], a13[3], a22[3], a23[3], a33[3];
76 
77  // Store chamber specs
79 
80  // Store XT-corrected charges - 3x3 sum; Left, Central, Right charges (3 time-bins summed)
81 
83 
84  // Parameter settings from config file
85  bool useCalib;
87  float xtalksOffset;
88 
89  // Cache pointer to conditions for current event
91 
92  // some variables and functions to use
93 
94  // "Match Gatti" calculations
95  double calculateXonStripError(float stripWidth, bool ME1_1);
96  double calculateXonStripPosition(float stripWidth, bool ME1_1);
97  double xfError_Noise(double noise);
98  double xfError_XTasym(double XTasym);
99 
100  double estimated2Gatti(double Xestimated, float StripWidth, bool ME1_1);
101  double estimated2GattiCorrection(double Xestimated, float StripWidth, bool ME1_1);
102 
105 
106  static const int n_SW_noME1_1 = 11;
107  static const int n_SW_ME1_1 = 6;
108  static const int n_val = 501;
109  //std::vector <std::vector <float> > Xcorrection(N_SW, std::vector <float> (N_val));
113 
114  float noise_level;
116  float const_syst;
117 
145 };
146 
147 #endif
CSCXonStrip_MatchGatti::n_SW_noME1_1
static const int n_SW_noME1_1
Definition: CSCXonStrip_MatchGatti.h:106
CSCXonStrip_MatchGatti::q_sumC
double q_sumC
Definition: CSCXonStrip_MatchGatti.h:82
CSCXonStrip_MatchGatti::const_syst_ME1a
float const_syst_ME1a
Definition: CSCXonStrip_MatchGatti.h:120
CSCXonStrip_MatchGatti::xt_asymmetry_ME13
float xt_asymmetry_ME13
Definition: CSCXonStrip_MatchGatti.h:128
CSCXonStrip_MatchGatti::x_centralVal
float x_centralVal[n_val]
Definition: CSCXonStrip_MatchGatti.h:112
CSCXonStrip_MatchGatti::k_1
double k_1
Definition: CSCXonStrip_MatchGatti.h:62
HLTSiStripMonitoring_cff.Estimator
Estimator
Definition: HLTSiStripMonitoring_cff.py:161
CSCXonStrip_MatchGatti::xt_lr1
float xt_lr1[3]
Definition: CSCXonStrip_MatchGatti.h:69
CSCXonStrip_MatchGatti::xfError_XTasym
double xfError_XTasym(double XTasym)
Definition: CSCXonStrip_MatchGatti.cc:606
CSCXonStrip_MatchGatti::k_3
double k_3
Definition: CSCXonStrip_MatchGatti.h:62
CSCXonStrip_MatchGatti::k_2
double k_2
Definition: CSCXonStrip_MatchGatti.h:62
CSCXonStrip_MatchGatti::xt_l
float xt_l[3][3]
x-talks 0 = left, 1 = middle, 2 = right ; and then second [] is for time bin tmax-1,...
Definition: CSCXonStrip_MatchGatti.h:68
CSCRecoConditions.h
CSCXonStrip_MatchGatti::getCorrectionValues
void getCorrectionValues(std::string Estimator)
Definition: CSCXonStrip_MatchGatti.cc:500
CSCXonStrip_MatchGatti::a11
float a11[3]
Store elements of auto-correlation matrices: 0 = left, 1 = middle, 2 = right.
Definition: CSCXonStrip_MatchGatti.h:75
CSCXonStrip_MatchGatti::const_syst_ME31
float const_syst_ME31
Definition: CSCXonStrip_MatchGatti.h:138
CSCChamberSpecs
Definition: CSCChamberSpecs.h:39
CSCXonStrip_MatchGatti::const_syst_ME32
float const_syst_ME32
Definition: CSCXonStrip_MatchGatti.h:141
CSCXonStrip_MatchGatti::const_syst_ME13
float const_syst_ME13
Definition: CSCXonStrip_MatchGatti.h:129
CSCXonStrip_MatchGatti::operator=
CSCXonStrip_MatchGatti & operator=(const CSCXonStrip_MatchGatti &)
CSCXonStrip_MatchGatti::v12
float v12[3]
Definition: CSCXonStrip_MatchGatti.h:72
CSCXonStrip_MatchGatti::a23
float a23[3]
Definition: CSCXonStrip_MatchGatti.h:75
CSCXonStrip_MatchGatti::r
double r
Definition: CSCXonStrip_MatchGatti.h:60
CSCXonStrip_MatchGatti::xt_asymmetry_ME22
float xt_asymmetry_ME22
Definition: CSCXonStrip_MatchGatti.h:134
CSCLayer
Definition: CSCLayer.h:24
CSCXonStrip_MatchGatti::const_syst_ME21
float const_syst_ME21
Definition: CSCXonStrip_MatchGatti.h:132
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
CSCXonStrip_MatchGatti::noise_level_ME1a
float noise_level_ME1a
Definition: CSCXonStrip_MatchGatti.h:118
CSCXonStrip_MatchGatti::h
double h
Definition: CSCXonStrip_MatchGatti.h:58
CSCXonStrip_MatchGatti::estimated2Gatti
double estimated2Gatti(double Xestimated, float StripWidth, bool ME1_1)
Definition: CSCXonStrip_MatchGatti.cc:580
CSCXonStrip_MatchGatti::use3TimeBins
bool use3TimeBins
Definition: CSCXonStrip_MatchGatti.h:86
CSCXonStrip_MatchGatti::xtalksOffset
float xtalksOffset
Definition: CSCXonStrip_MatchGatti.h:87
CSCXonStrip_MatchGatti::const_syst_ME12
float const_syst_ME12
Definition: CSCXonStrip_MatchGatti.h:126
CSCXonStrip_MatchGatti::stripWidth
float stripWidth
Definition: CSCXonStrip_MatchGatti.h:59
CSCXonStrip_MatchGatti::useCalib
bool useCalib
Definition: CSCXonStrip_MatchGatti.h:85
CSCXonStrip_MatchGatti::a13
float a13[3]
Definition: CSCXonStrip_MatchGatti.h:75
CSCXonStrip_MatchGatti::xfError_Noise
double xfError_Noise(double noise)
Definition: CSCXonStrip_MatchGatti.cc:587
CSCXonStrip_MatchGatti::a33
float a33[3]
Definition: CSCXonStrip_MatchGatti.h:75
CSCXonStrip_MatchGatti::estimated2GattiCorrection
double estimated2GattiCorrection(double Xestimated, float StripWidth, bool ME1_1)
Definition: CSCXonStrip_MatchGatti.cc:502
CSCXonStrip_MatchGatti::xt_lr2
float xt_lr2[3]
Definition: CSCXonStrip_MatchGatti.h:69
CSCXonStrip_MatchGatti::const_syst
float const_syst
Definition: CSCXonStrip_MatchGatti.h:116
CSCXonStrip_MatchGatti::const_syst_ME22
float const_syst_ME22
Definition: CSCXonStrip_MatchGatti.h:135
CSCXonStrip_MatchGatti::v33
float v33[3]
Definition: CSCXonStrip_MatchGatti.h:72
CSCXonStrip_MatchGatti::q_sum
double q_sum
Definition: CSCXonStrip_MatchGatti.h:82
CSCXonStrip_MatchGatti::xt_asymmetry_ME1a
float xt_asymmetry_ME1a
Definition: CSCXonStrip_MatchGatti.h:119
CSCXonStrip_MatchGatti::v22
float v22[3]
Definition: CSCXonStrip_MatchGatti.h:72
CSCXonStrip_MatchGatti::noise_level_ME22
float noise_level_ME22
Definition: CSCXonStrip_MatchGatti.h:133
CSCXonStrip_MatchGatti::const_syst_ME1b
float const_syst_ME1b
Definition: CSCXonStrip_MatchGatti.h:123
CSCXonStrip_MatchGatti::recoConditions_
const CSCRecoConditions * recoConditions_
Definition: CSCXonStrip_MatchGatti.h:90
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CSCStripHit
Definition: CSCStripHit.h:16
CSCXonStrip_MatchGatti::setConditions
void setConditions(const CSCRecoConditions *reco)
Cache pointer to conditions data.
Definition: CSCXonStrip_MatchGatti.h:51
edm::ParameterSet
Definition: ParameterSet.h:47
CSCXonStrip_MatchGatti::a12
float a12[3]
Definition: CSCXonStrip_MatchGatti.h:75
CSCXonStrip_MatchGatti::~CSCXonStrip_MatchGatti
~CSCXonStrip_MatchGatti()
Definition: CSCXonStrip_MatchGatti.cc:69
CSCDetId
Definition: CSCDetId.h:26
CSCXonStrip_MatchGatti::q_sumR
double q_sumR
Definition: CSCXonStrip_MatchGatti.h:82
CSCXonStrip_MatchGatti::setupMatrix
void setupMatrix()
Set matrix for XT corrections and noise.
Definition: CSCXonStrip_MatchGatti.cc:358
CSCStripHit.h
CSCXonStrip_MatchGatti::noise_level_ME41
float noise_level_ME41
Definition: CSCXonStrip_MatchGatti.h:142
CSCXonStrip_MatchGatti::xt_asymmetry_ME32
float xt_asymmetry_ME32
Definition: CSCXonStrip_MatchGatti.h:140
CSCXonStrip_MatchGatti::xt_r
float xt_r[3][3]
Definition: CSCXonStrip_MatchGatti.h:68
CSCXonStrip_MatchGatti::xt_asymmetry_ME41
float xt_asymmetry_ME41
Definition: CSCXonStrip_MatchGatti.h:143
CSCXonStrip_MatchGatti::findXOnStrip
void findXOnStrip(const CSCDetId &id, const CSCLayer *layer, const CSCStripHit &stripHit, int centralStrip, float &xWithinChamber, float &stripWidth, const float &tpeak, float &xWithinStrip, float &sigma, int &quality_flag)
Returns fitted local x position and its estimated error.
Definition: CSCXonStrip_MatchGatti.cc:74
gpuVertexFinder::noise
__shared__ int noise
Definition: gpuFitVertices.h:50
CSCXonStrip_MatchGatti::noise_level_ME21
float noise_level_ME21
Definition: CSCXonStrip_MatchGatti.h:130
CSCXonStrip_MatchGatti::x_correction_ME1_1
float x_correction_ME1_1[n_SW_ME1_1][n_val]
Definition: CSCXonStrip_MatchGatti.h:111
CSCXonStrip_MatchGatti::xt_asymmetry
float xt_asymmetry
Definition: CSCXonStrip_MatchGatti.h:115
CSCXonStrip_MatchGatti::sqrt_k_3
double sqrt_k_3
Definition: CSCXonStrip_MatchGatti.h:62
CSCXonStrip_MatchGatti::calculateXonStripError
double calculateXonStripError(float stripWidth, bool ME1_1)
Definition: CSCXonStrip_MatchGatti.cc:622
CSCXonStrip_MatchGatti::hardcodedCorrectionInitialization
void hardcodedCorrectionInitialization()
Definition: HardCodedCorrectionInitialization.cc:11
CSCXonStrip_MatchGatti::v11
float v11[3]
Store elements of matrices for chi^2 computation: 0 = left, 1 = middle, 2 = right.
Definition: CSCXonStrip_MatchGatti.h:72
CSCXonStrip_MatchGatti::x_correction_noME1_1
float x_correction_noME1_1[n_SW_noME1_1][n_val]
Definition: CSCXonStrip_MatchGatti.h:110
CSCXonStrip_MatchGatti::specs_
const CSCChamberSpecs * specs_
Definition: CSCXonStrip_MatchGatti.h:78
CSCXonStrip_MatchGatti::xt_lr0
float xt_lr0[3]
Definition: CSCXonStrip_MatchGatti.h:69
CSCXonStrip_MatchGatti::norm
double norm
Definition: CSCXonStrip_MatchGatti.h:62
CSCXonStrip_MatchGatti::n_val
static const int n_val
Definition: CSCXonStrip_MatchGatti.h:108
CSCXonStrip_MatchGatti::chargeSignal
float chargeSignal[3][3]
Definition: CSCXonStrip_MatchGatti.h:65
CSCXonStrip_MatchGatti::xt_asymmetry_ME12
float xt_asymmetry_ME12
Definition: CSCXonStrip_MatchGatti.h:125
CSCRecoConditions
Definition: CSCRecoConditions.h:25
CSCXonStrip_MatchGatti::calculateXonStripPosition
double calculateXonStripPosition(float stripWidth, bool ME1_1)
Definition: CSCXonStrip_MatchGatti.cc:646
CSCXonStrip_MatchGatti::const_syst_ME41
float const_syst_ME41
Definition: CSCXonStrip_MatchGatti.h:144
dt_dqm_sourceclient_common_cff.reco
reco
Definition: dt_dqm_sourceclient_common_cff.py:110
CSCXonStrip_MatchGatti::noise_level_ME13
float noise_level_ME13
Definition: CSCXonStrip_MatchGatti.h:127
CSCXonStrip_MatchGatti::v23
float v23[3]
Definition: CSCXonStrip_MatchGatti.h:72
CSCXonStrip_MatchGatti::CSCXonStrip_MatchGatti
CSCXonStrip_MatchGatti(const edm::ParameterSet &ps)
Definition: CSCXonStrip_MatchGatti.cc:35
CSCXonStrip_MatchGatti::q_sumL
double q_sumL
Definition: CSCXonStrip_MatchGatti.h:82
CSCXonStrip_MatchGatti::xt_asymmetry_ME31
float xt_asymmetry_ME31
Definition: CSCXonStrip_MatchGatti.h:137
CSCXonStrip_MatchGatti::noise_level_ME32
float noise_level_ME32
Definition: CSCXonStrip_MatchGatti.h:139
CSCXonStrip_MatchGatti::noise_level_ME12
float noise_level_ME12
Definition: CSCXonStrip_MatchGatti.h:124
ParameterSet.h
CSCXonStrip_MatchGatti
Definition: CSCXonStrip_MatchGatti.h:24
CSCXonStrip_MatchGatti::noise_level_ME1b
float noise_level_ME1b
Definition: CSCXonStrip_MatchGatti.h:121
CSCXonStrip_MatchGatti::n_SW_ME1_1
static const int n_SW_ME1_1
Definition: CSCXonStrip_MatchGatti.h:107
CSCXonStrip_MatchGatti::v13
float v13[3]
Definition: CSCXonStrip_MatchGatti.h:72
CSCXonStrip_MatchGatti::initChamberSpecs
void initChamberSpecs()
Use specs to setup Gatti parameters.
Definition: CSCXonStrip_MatchGatti.cc:474
CSCXonStrip_MatchGatti::xt_asymmetry_ME21
float xt_asymmetry_ME21
Definition: CSCXonStrip_MatchGatti.h:131
CSCXonStrip_MatchGatti::a22
float a22[3]
Definition: CSCXonStrip_MatchGatti.h:75
CSCXonStrip_MatchGatti::noise_level
float noise_level
Definition: CSCXonStrip_MatchGatti.h:114
CSCXonStrip_MatchGatti::xt_asymmetry_ME1b
float xt_asymmetry_ME1b
Definition: CSCXonStrip_MatchGatti.h:122
CSCXonStrip_MatchGatti::noise_level_ME31
float noise_level_ME31
Definition: CSCXonStrip_MatchGatti.h:136