33 #include "TLorentzVector.h" 39 theSTAMuonTag(
pset.getParameter<
edm::
InputTag>(
"StandAloneTrackCollectionTag")),
40 theGLBMuonTag(
pset.getParameter<
edm::
InputTag>(
"GlobalMuonTrackCollectionTag")),
41 theRecHits4DTagDT(
pset.getParameter<
edm::
InputTag>(
"RecHits4DDTCollectionTag")),
42 theRecHits4DTagCSC(
pset.getParameter<
edm::
InputTag>(
"RecHits4DCSCCollectionTag")),
43 theDataType(
pset.getUntrackedParameter<
std::
string>(
"DataType")),
44 doSAplots(
pset.getUntrackedParameter<
bool>(
"doSAplots")),
45 doGBplots(
pset.getUntrackedParameter<
bool>(
"doGBplots")),
46 doResplots(
pset.getUntrackedParameter<
bool>(
"doResplots")),
47 ptRangeMin(
pset.getUntrackedParameter<double>(
"ptRangeMin")),
48 ptRangeMax(
pset.getUntrackedParameter<double>(
"ptRangeMax")),
49 invMassRangeMin(
pset.getUntrackedParameter<double>(
"invMassRangeMin")),
50 invMassRangeMax(
pset.getUntrackedParameter<double>(
"invMassRangeMax")),
51 resLocalXRangeStation1(
pset.getUntrackedParameter<double>(
"resLocalXRangeStation1")),
52 resLocalXRangeStation2(
pset.getUntrackedParameter<double>(
"resLocalXRangeStation2")),
53 resLocalXRangeStation3(
pset.getUntrackedParameter<double>(
"resLocalXRangeStation3")),
54 resLocalXRangeStation4(
pset.getUntrackedParameter<double>(
"resLocalXRangeStation4")),
55 resLocalYRangeStation1(
pset.getUntrackedParameter<double>(
"resLocalYRangeStation1")),
56 resLocalYRangeStation2(
pset.getUntrackedParameter<double>(
"resLocalYRangeStation2")),
57 resLocalYRangeStation3(
pset.getUntrackedParameter<double>(
"resLocalYRangeStation3")),
58 resLocalYRangeStation4(
pset.getUntrackedParameter<double>(
"resLocalYRangeStation4")),
59 resPhiRange(
pset.getUntrackedParameter<double>(
"resPhiRange")),
60 resThetaRange(
pset.getUntrackedParameter<double>(
"resThetaRange")),
61 nbins(
pset.getUntrackedParameter<unsigned
int>(
"nbins")),
62 min1DTrackRecHitSize(
pset.getUntrackedParameter<unsigned
int>(
"min1DTrackRecHitSize")),
63 min4DTrackSegmentSize(
pset.getUntrackedParameter<unsigned
int>(
"min4DTrackSegmentSize")),
72 hGBNmuons_Barrel(nullptr),
73 hSANmuons_Barrel(nullptr),
74 hSimNmuons_Barrel(nullptr),
75 hGBNmuons_Endcap(nullptr),
76 hSANmuons_Endcap(nullptr),
77 hSimNmuons_Endcap(nullptr),
79 hGBNhits_Barrel(nullptr),
80 hGBNhits_Endcap(nullptr),
82 hSANhits_Barrel(nullptr),
83 hSANhits_Endcap(nullptr),
86 hGBChi2_Barrel(nullptr),
87 hSAChi2_Barrel(nullptr),
88 hGBChi2_Endcap(nullptr),
89 hSAChi2_Endcap(nullptr),
93 hGBInvM_Barrel(nullptr),
94 hSAInvM_Barrel(nullptr),
95 hSimInvM_Barrel(nullptr),
96 hGBInvM_Endcap(nullptr),
97 hSAInvM_Endcap(nullptr),
98 hSimInvM_Endcap(nullptr),
99 hGBInvM_Overlap(nullptr),
100 hSAInvM_Overlap(nullptr),
101 hSimInvM_Overlap(nullptr),
105 hSAPTRec_Barrel(nullptr),
106 hGBPTRec_Barrel(nullptr),
107 hSimPT_Barrel(nullptr),
108 hSAPTRec_Endcap(nullptr),
109 hGBPTRec_Endcap(nullptr),
110 hSimPT_Endcap(nullptr),
115 hSimPTvsEta(nullptr),
116 hSimPTvsPhi(nullptr),
117 hSimPhivsEta(nullptr),
118 hSAPhivsEta(nullptr),
119 hGBPhivsEta(nullptr),
121 hSAinvPTres(nullptr),
123 hGBinvPTres(nullptr),
124 hSAPTres_Barrel(nullptr),
125 hSAPTres_Endcap(nullptr),
126 hGBPTres_Barrel(nullptr),
127 hGBPTres_Endcap(nullptr),
130 hSAPTDiffvsEta(nullptr),
131 hSAPTDiffvsPhi(nullptr),
132 hGBPTDiffvsEta(nullptr),
133 hGBPTDiffvsPhi(nullptr),
134 hGBinvPTvsEta(nullptr),
135 hGBinvPTvsPhi(nullptr),
136 hSAinvPTvsEta(nullptr),
137 hSAinvPTvsPhi(nullptr),
138 hSAinvPTvsNhits(nullptr),
139 hGBinvPTvsNhits(nullptr),
140 hResidualLocalXDT(nullptr),
141 hResidualLocalPhiDT(nullptr),
142 hResidualLocalThetaDT(nullptr),
143 hResidualLocalYDT(nullptr),
144 hResidualLocalXCSC(nullptr),
145 hResidualLocalPhiCSC(nullptr),
146 hResidualLocalThetaCSC(nullptr),
147 hResidualLocalYCSC(nullptr),
149 hResidualLocalXDT_W(5),
150 hResidualLocalPhiDT_W(5),
151 hResidualLocalThetaDT_W(5),
152 hResidualLocalYDT_W(5),
153 hResidualLocalXCSC_ME(18),
154 hResidualLocalPhiCSC_ME(18),
155 hResidualLocalThetaCSC_ME(18),
156 hResidualLocalYCSC_ME(18),
157 hResidualLocalXDT_MB(20),
158 hResidualLocalPhiDT_MB(20),
159 hResidualLocalThetaDT_MB(20),
160 hResidualLocalYDT_MB(20),
162 hResidualGlobalRPhiDT(nullptr),
163 hResidualGlobalPhiDT(nullptr),
164 hResidualGlobalThetaDT(nullptr),
165 hResidualGlobalZDT(nullptr),
166 hResidualGlobalRPhiCSC(nullptr),
167 hResidualGlobalPhiCSC(nullptr),
168 hResidualGlobalThetaCSC(nullptr),
169 hResidualGlobalRCSC(nullptr),
171 hResidualGlobalRPhiDT_W(5),
172 hResidualGlobalPhiDT_W(5),
173 hResidualGlobalThetaDT_W(5),
174 hResidualGlobalZDT_W(5),
175 hResidualGlobalRPhiCSC_ME(18),
176 hResidualGlobalPhiCSC_ME(18),
177 hResidualGlobalThetaCSC_ME(18),
178 hResidualGlobalRCSC_ME(18),
179 hResidualGlobalRPhiDT_MB(20),
180 hResidualGlobalPhiDT_MB(20),
181 hResidualGlobalThetaDT_MB(20),
182 hResidualGlobalZDT_MB(20),
184 hprofLocalPositionCSC(nullptr),
185 hprofLocalAngleCSC(nullptr),
186 hprofLocalPositionRmsCSC(nullptr),
187 hprofLocalAngleRmsCSC(nullptr),
188 hprofGlobalPositionCSC(nullptr),
189 hprofGlobalAngleCSC(nullptr),
190 hprofGlobalPositionRmsCSC(nullptr),
191 hprofGlobalAngleRmsCSC(nullptr),
192 hprofLocalPositionDT(nullptr),
193 hprofLocalAngleDT(nullptr),
194 hprofLocalPositionRmsDT(nullptr),
195 hprofLocalAngleRmsDT(nullptr),
196 hprofGlobalPositionDT(nullptr),
197 hprofGlobalAngleDT(nullptr),
198 hprofGlobalPositionRmsDT(nullptr),
199 hprofGlobalAngleRmsDT(nullptr),
200 hprofLocalXDT(nullptr),
201 hprofLocalPhiDT(nullptr),
202 hprofLocalThetaDT(nullptr),
203 hprofLocalYDT(nullptr),
204 hprofLocalXCSC(nullptr),
205 hprofLocalPhiCSC(nullptr),
206 hprofLocalThetaCSC(nullptr),
207 hprofLocalYCSC(nullptr),
208 hprofGlobalRPhiDT(nullptr),
209 hprofGlobalPhiDT(nullptr),
210 hprofGlobalThetaDT(nullptr),
211 hprofGlobalZDT(nullptr),
212 hprofGlobalRPhiCSC(nullptr),
213 hprofGlobalPhiCSC(nullptr),
214 hprofGlobalThetaCSC(nullptr),
215 hprofGlobalRCSC(nullptr) {
219 edm::LogError(
"MuonAlignmentAnalyzer") <<
"Error in Data Type!!" << std::endl;
234 desc.addUntracked<
double>(
"ptRangeMin", 0.0);
235 desc.addUntracked<
double>(
"ptRangeMax", 300.0);
236 desc.addUntracked<
double>(
"invMassRangeMin", 0.0);
237 desc.addUntracked<
double>(
"invMassRangeMax", 200.0);
238 desc.addUntracked<
bool>(
"doSAplots",
true);
239 desc.addUntracked<
bool>(
"doGBplots",
true);
240 desc.addUntracked<
bool>(
"doResplots",
true);
241 desc.addUntracked<
double>(
"resLocalXRangeStation1", 0.1);
242 desc.addUntracked<
double>(
"resLocalXRangeStation2", 0.3);
243 desc.addUntracked<
double>(
"resLocalXRangeStation3", 3.0);
244 desc.addUntracked<
double>(
"resLocalXRangeStation4", 3.0);
245 desc.addUntracked<
double>(
"resLocalYRangeStation1", 0.7);
246 desc.addUntracked<
double>(
"resLocalYRangeStation2", 0.7);
247 desc.addUntracked<
double>(
"resLocalYRangeStation3", 5.0);
248 desc.addUntracked<
double>(
"resLocalYRangeStation4", 5.0);
249 desc.addUntracked<
double>(
"resThetaRange", 0.1);
250 desc.addUntracked<
double>(
"resPhiRange", 0.1);
251 desc.addUntracked<
int>(
"nbins", 500);
252 desc.addUntracked<
int>(
"min1DTrackRecHitSize", 1);
253 desc.addUntracked<
int>(
"min4DTrackSegmentSize", 1);
254 descriptions.
add(
"muonAlignmentAnalyzer",
desc);
281 hGBPhivsEta =
fs->
make<TH2F>(
"GBPhivsEta",
"#phi VS #eta", 100, -2.5, 2.5, 100, -3.1416, 3.1416);
284 hGBPTDiff =
fs->
make<TH1F>(
"GBpTDiff",
"p_{T}^{rec} - p_{T}^{gen} ", 250, -120, 120);
286 fs->
make<TH2F>(
"GBPTDiffvsEta",
"p_{T}^{rec} - p_{T}^{gen} VS #eta", 100, -2.5, 2.5, 250, -120, 120);
288 fs->
make<TH2F>(
"GBPTDiffvsPhi",
"p_{T}^{rec} - p_{T}^{gen} VS #phi", 100, -3.1416, 3.1416, 250, -120, 120);
289 hGBPTres =
fs->
make<TH1F>(
"GBpTRes",
"pT Resolution", 100, -2, 2);
292 hGBinvPTres =
fs->
make<TH1F>(
"GBinvPTRes",
"#sigma (q/p_{T}) Resolution", 100, -2, 2);
293 hGBinvPTvsEta =
fs->
make<TH2F>(
"GBinvPTvsEta",
"#sigma (q/p_{T}) VS #eta", 100, -2.5, 2.5, 100, -2, 2);
294 hGBinvPTvsPhi =
fs->
make<TH2F>(
"GBinvPTvsPhi",
"#sigma (q/p_{T}) VS #phi", 100, -3.1416, 3.1416, 100, -2, 2);
295 hGBinvPTvsNhits =
fs->
make<TH2F>(
"GBinvPTvsNhits",
"#sigma (q/p_{T}) VS Nhits", 100, 0, 100, 100, -2, 2);
320 hSAPhivsEta =
fs->
make<TH2F>(
"SAPhivsEta",
"#phi VS #eta", 100, -2.5, 2.5, 100, -3.1416, 3.1416);
323 hSAPTDiff =
fs->
make<TH1F>(
"SApTDiff",
"p_{T}^{rec} - p_{T}^{gen} ", 250, -120, 120);
325 fs->
make<TH2F>(
"SAPTDiffvsEta",
"p_{T}^{rec} - p_{T}^{gen} VS #eta", 100, -2.5, 2.5, 250, -120, 120);
327 fs->
make<TH2F>(
"SAPTDiffvsPhi",
"p_{T}^{rec} - p_{T}^{gen} VS #phi", 100, -3.1416, 3.1416, 250, -120, 120);
328 hSAPTres =
fs->
make<TH1F>(
"SApTRes",
"pT Resolution", 100, -2, 2);
333 hSAinvPTvsEta =
fs->
make<TH2F>(
"SAinvPTvsEta",
"#sigma (q/p_{T}) VS #eta", 100, -2.5, 2.5, 100, -2, 2);
334 hSAinvPTvsPhi =
fs->
make<TH2F>(
"SAinvPTvsPhi",
"#sigma (q/p_{T}) VS #phi", 100, -3.1416, 3.1416, 100, -2, 2);
335 hSAinvPTvsNhits =
fs->
make<TH2F>(
"SAinvPTvsNhits",
"#sigma (q/p_{T}) VS Nhits", 100, 0, 100, 100, -2, 2);
356 hSimPhivsEta =
fs->
make<TH2F>(
"SimPhivsEta",
"#phi VS #eta", 100, -2.5, 2.5, 100, -3.1416, 3.1416);
406 fs->
make<TH1F>(
"hResidualGlobalThetaDT_W-2",
"hResidualGlobalThetaDT_W-2", 200, -1, 1);
411 fs->
make<TH1F>(
"hResidualGlobalThetaDT_W-1",
"hResidualGlobalThetaDT_W-1", 200, -1, 1);
430 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB-2/1",
"hResidualLocalThetaDT_MB-2/1", 200, -1, 1);
435 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB-2/2",
"hResidualLocalThetaDT_MB-2/2", 200, -1, 1);
440 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB-2/3",
"hResidualLocalThetaDT_MB-2/3", 200, -1, 1);
445 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB-2/4",
"hResidualLocalThetaDT_MB-2/4", 200, -1, 1);
450 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB-1/1",
"hResidualLocalThetaDT_MB-1/1", 200, -1, 1);
455 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB-1/2",
"hResidualLocalThetaDT_MB-1/2", 200, -1, 1);
460 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB-1/3",
"hResidualLocalThetaDT_MB-1/3", 200, -1, 1);
465 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB-1/4",
"hResidualLocalThetaDT_MB-1/4", 200, -1, 1);
470 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB0/1",
"hResidualLocalThetaDT_MB0/1", 200, -1, 1);
475 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB0/2",
"hResidualLocalThetaDT_MB0/2", 200, -1, 1);
479 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB0/3",
"hResidualLocalThetaDT_MB0/3", 200, -1, 1);
485 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB0/4",
"hResidualLocalThetaDT_MB0/4", 200, -1, 1);
490 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB1/1",
"hResidualLocalThetaDT_MB1/1", 200, -1, 1);
495 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB1/2",
"hResidualLocalThetaDT_MB1/2", 200, -1, 1);
500 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB1/3",
"hResidualLocalThetaDT_MB1/3", 200, -1, 1);
505 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB1/4",
"hResidualLocalThetaDT_MB1/4", 200, -1, 1);
510 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB2/1",
"hResidualLocalThetaDT_MB2/1", 200, -1, 1);
515 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB2/2",
"hResidualLocalThetaDT_MB2/2", 200, -1, 1);
520 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB2/3",
"hResidualLocalThetaDT_MB2/3", 200, -1, 1);
525 fs->
make<TH1F>(
"hResidualLocalThetaDT_MB2/4",
"hResidualLocalThetaDT_MB2/4", 200, -1, 1);
528 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB-2/1",
"hResidualGlobalRPhiDT_MB-2/1", 200, -10, 10);
530 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB-2/1",
"hResidualGlobalPhiDT_MB-2/1", 200, -1, 1);
532 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB-2/1",
"hResidualGlobalThetaDT_MB-2/1", 200, -1, 1);
535 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB-2/2",
"hResidualGlobalRPhiDT_MB-2/2", 200, -10, 10);
537 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB-2/2",
"hResidualGlobalPhiDT_MB-2/2", 200, -1, 1);
539 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB-2/2",
"hResidualGlobalThetaDT_MB-2/2", 200, -1, 1);
542 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB-2/3",
"hResidualGlobalRPhiDT_MB-2/3", 200, -10, 10);
544 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB-2/3",
"hResidualGlobalPhiDT_MB-2/3", 200, -1, 1);
546 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB-2/3",
"hResidualGlobalThetaDT_MB-2/3", 200, -1, 1);
549 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB-2/4",
"hResidualGlobalRPhiDT_MB-2/4", 200, -10, 10);
551 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB-2/4",
"hResidualGlobalPhiDT_MB-2/4", 200, -1, 1);
553 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB-2/4",
"hResidualGlobalThetaDT_MB-2/4", 200, -1, 1);
556 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB-1/1",
"hResidualGlobalRPhiDT_MB-1/1", 200, -10, 10);
558 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB-1/1",
"hResidualGlobalPhiDT_MB-1/1", 200, -1, 1);
560 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB-1/1",
"hResidualGlobalThetaDT_MB-1/1", 200, -1, 1);
563 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB-1/2",
"hResidualGlobalRPhiDT_MB-1/2", 200, -10, 10);
565 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB-1/2",
"hResidualGlobalPhiDT_MB-1/2", 200, -1, 1);
567 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB-1/2",
"hResidualGlobalThetaDT_MB-1/2", 200, -1, 1);
570 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB-1/3",
"hResidualGlobalRPhiDT_MB-1/3", 200, -10, 10);
572 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB-1/3",
"hResidualGlobalPhiDT_MB-1/3", 200, -1, 1);
574 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB-1/3",
"hResidualGlobalThetaDT_MB-1/3", 200, -1, 1);
577 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB-1/4",
"hResidualGlobalRPhiDT_MB-1/4", 200, -10, 10);
579 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB-1/4",
"hResidualGlobalPhiDT_MB-1/4", 200, -1, 1);
581 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB-1/4",
"hResidualGlobalThetaDT_MB-1/4", 200, -1, 1);
584 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB0/1",
"hResidualGlobalRPhiDT_MB0/1", 200, -10, 10);
587 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB0/1",
"hResidualGlobalThetaDT_MB0/1", 200, -1, 1);
590 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB0/2",
"hResidualGlobalRPhiDT_MB0/2", 200, -10, 10);
593 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB0/2",
"hResidualGlobalThetaDT_MB0/2", 200, -1, 1);
596 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB0/3",
"hResidualGlobalRPhiDT_MB0/3", 200, -10, 10);
598 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB0/3",
"hResidualGlobalThetaDT_MB0/3", 200, -1, 1);
600 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB0/3",
"hResidualGlobalPhiDT_MB0/3", 200, -1, 1);
603 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB0/4",
"hResidualGlobalRPhiDT_MB0/4", 200, -10, 10);
605 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB0/4",
"hResidualGlobalPhiDT_MB0/4", 200, -1, 1);
607 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB0/4",
"hResidualGlobalThetaDT_MB0/4", 200, -1, 1);
610 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB1/1",
"hResidualGlobalRPhiDT_MB1/1", 200, -10, 10);
612 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB1/1",
"hResidualGlobalPhiDT_MB1/1", 200, -1, 1);
614 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB1/1",
"hResidualGlobalThetaDT_MB1/1", 200, -1, 1);
617 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB1/2",
"hResidualGlobalRPhiDT_MB1/2", 200, -10, 10);
619 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB1/2",
"hResidualGlobalPhiDT_MB1/2", 200, -1, 1);
621 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB1/2",
"hResidualGlobalThetaDT_MB1/2", 200, -1, 1);
624 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB1/3",
"hResidualGlobalRPhiDT_MB1/3", 200, -10, 10);
626 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB1/3",
"hResidualGlobalPhiDT_MB1/3", 200, -1, 1);
628 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB1/3",
"hResidualGlobalThetaDT_MB1/3", 200, -1, 1);
631 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB1/4",
"hResidualGlobalRPhiDT_MB1/4", 200, -10, 10);
633 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB1/4",
"hResidualGlobalPhiDT_MB1/4", 200, -1, 1);
635 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB1/4",
"hResidualGlobalThetaDT_MB1/4", 200, -1, 1);
638 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB2/1",
"hResidualGlobalRPhiDT_MB2/1", 200, -10, 10);
640 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB2/1",
"hResidualGlobalPhiDT_MB2/1", 200, -1, 1);
642 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB2/1",
"hResidualGlobalThetaDT_MB2/1", 200, -1, 1);
645 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB2/2",
"hResidualGlobalRPhiDT_MB2/2", 200, -10, 10);
647 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB2/2",
"hResidualGlobalPhiDT_MB2/2", 200, -1, 1);
649 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB2/2",
"hResidualGlobalThetaDT_MB2/2", 200, -1, 1);
652 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB2/3",
"hResidualGlobalRPhiDT_MB2/3", 200, -10, 10);
654 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB2/3",
"hResidualGlobalPhiDT_MB2/3", 200, -1, 1);
656 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB2/3",
"hResidualGlobalThetaDT_MB2/3", 200, -1, 1);
659 fs->
make<TH1F>(
"hResidualGlobalRPhiDT_MB2/4",
"hResidualGlobalRPhiDT_MB2/4", 200, -10, 10);
661 fs->
make<TH1F>(
"hResidualGlobalPhiDT_MB2/4",
"hResidualGlobalPhiDT_MB2/4", 200, -1, 1);
663 fs->
make<TH1F>(
"hResidualGlobalThetaDT_MB2/4",
"hResidualGlobalThetaDT_MB2/4", 200, -1, 1);
669 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME-4/1",
"hResidualLocalPhiCSC_ME-4/1", 200, -1, 1);
671 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME-4/1",
"hResidualLocalThetaCSC_ME-4/1", 200, -1, 1);
675 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME-4/2",
"hResidualLocalPhiCSC_ME-4/2", 200, -1, 1);
677 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME-4/2",
"hResidualLocalThetaCSC_ME-4/2", 200, -1, 1);
681 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME-3/1",
"hResidualLocalPhiCSC_ME-3/1", 200, -1, 1);
683 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME-3/1",
"hResidualLocalThetaCSC_ME-3/1", 200, -1, 1);
687 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME-3/2",
"hResidualLocalPhiCSC_ME-3/2", 200, -1, 1);
689 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME-3/2",
"hResidualLocalThetaCSC_ME-3/2", 200, -1, 1);
693 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME-2/1",
"hResidualLocalPhiCSC_ME-2/1", 200, -1, 1);
695 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME-2/1",
"hResidualLocalThetaCSC_ME-2/1", 200, -1, 1);
699 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME-2/2",
"hResidualLocalPhiCSC_ME-2/2", 200, -1, 1);
701 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME-2/2",
"hResidualLocalThetaCSC_ME-2/2", 200, -1, 1);
705 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME-1/1",
"hResidualLocalPhiCSC_ME-1/1", 200, -1, 1);
707 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME-1/1",
"hResidualLocalThetaCSC_ME-1/1", 200, -1, 1);
711 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME-1/2",
"hResidualLocalPhiCSC_ME-1/2", 200, -1, 1);
713 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME-1/2",
"hResidualLocalThetaCSC_ME-1/2", 200, -1, 1);
717 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME-1/3",
"hResidualLocalPhiCSC_ME-1/3", 200, -1, 1);
719 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME-1/3",
"hResidualLocalThetaCSC_ME-1/3", 200, -1, 1);
724 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME1/1",
"hResidualLocalThetaCSC_ME1/1", 200, -1, 1);
728 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME1/2",
"hResidualLocalPhiCSC_ME1/2", 200, -1, 1);
730 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME1/2",
"hResidualLocalThetaCSC_ME1/2", 200, -1, 1);
734 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME1/3",
"hResidualLocalPhiCSC_ME1/3", 200, -1, 1);
736 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME1/3",
"hResidualLocalThetaCSC_ME1/3", 200, -1, 1);
740 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME2/1",
"hResidualLocalPhiCSC_ME2/1", 200, -1, 1);
742 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME2/1",
"hResidualLocalThetaCSC_ME2/1", 200, -1, 1);
746 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME2/2",
"hResidualLocalPhiCSC_ME2/2", 200, -1, 1);
748 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME2/2",
"hResidualLocalThetaCSC_ME2/2", 200, -1, 1);
752 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME3/1",
"hResidualLocalPhiCSC_ME3/1", 200, -1, 1);
754 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME3/1",
"hResidualLocalThetaCSC_ME3/1", 200, -1, 1);
758 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME3/2",
"hResidualLocalPhiCSC_ME3/2", 200, -1, 1);
760 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME3/2",
"hResidualLocalThetaCSC_ME3/2", 200, -1, 1);
764 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME4/1",
"hResidualLocalPhiCSC_ME4/1", 200, -1, 1);
766 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME4/1",
"hResidualLocalThetaCSC_ME4/1", 200, -1, 1);
770 fs->
make<TH1F>(
"hResidualLocalPhiCSC_ME4/2",
"hResidualLocalPhiCSC_ME4/2", 200, -1, 1);
772 fs->
make<TH1F>(
"hResidualLocalThetaCSC_ME4/2",
"hResidualLocalThetaCSC_ME4/2", 200, -1, 1);
775 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME-4/1",
"hResidualGlobalRPhiCSC_ME-4/1", 200, -10, 10);
777 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME-4/1",
"hResidualGlobalPhiCSC_ME-4/1", 200, -1, 1);
779 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME-4/1",
"hResidualGlobalThetaCSC_ME-4/1", 200, -1, 1);
781 fs->
make<TH1F>(
"hResidualGlobalRCSC_ME-4/1",
"hResidualGlobalRCSC_ME-4/1", 200, -10, 10);
783 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME-4/2",
"hResidualGlobalRPhiCSC_ME-4/2", 200, -10, 10);
785 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME-4/2",
"hResidualGlobalPhiCSC_ME-4/2", 200, -1, 1);
787 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME-4/2",
"hResidualGlobalThetaCSC_ME-4/2", 200, -1, 1);
789 fs->
make<TH1F>(
"hResidualGlobalRCSC_ME-4/2",
"hResidualGlobalRCSC_ME-4/2", 200, -10, 10);
791 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME-3/1",
"hResidualGlobalRPhiCSC_ME-3/1", 200, -10, 10);
793 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME-3/1",
"hResidualGlobalPhiCSC_ME-3/1", 200, -1, 1);
795 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME-3/1",
"hResidualGlobalThetaCSC_ME-3/1", 200, -1, 1);
797 fs->
make<TH1F>(
"hResidualGlobalRCSC_ME-3/1",
"hResidualGlobalRCSC_ME-3/1", 200, -10, 10);
799 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME-3/2",
"hResidualGlobalRPhiCSC_ME-3/2", 200, -10, 10);
801 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME-3/2",
"hResidualGlobalPhiCSC_ME-3/2", 200, -1, 1);
803 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME-3/2",
"hResidualGlobalThetaCSC_ME-3/2", 200, -1, 1);
805 fs->
make<TH1F>(
"hResidualGlobalRCSC_ME-3/2",
"hResidualGlobalRCSC_ME-3/2", 200, -10, 10);
807 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME-2/1",
"hResidualGlobalRPhiCSC_ME-2/1", 200, -10, 10);
809 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME-2/1",
"hResidualGlobalPhiCSC_ME-2/1", 200, -1, 1);
811 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME-2/1",
"hResidualGlobalThetaCSC_ME-2/1", 200, -1, 1);
813 fs->
make<TH1F>(
"hResidualGlobalRCSC_ME-2/1",
"hResidualGlobalRCSC_ME-2/1", 200, -10, 10);
815 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME-2/2",
"hResidualGlobalRPhiCSC_ME-2/2", 200, -10, 10);
817 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME-2/2",
"hResidualGlobalPhiCSC_ME-2/2", 200, -1, 1);
819 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME-2/2",
"hResidualGlobalThetaCSC_ME-2/2", 200, -1, 1);
821 fs->
make<TH1F>(
"hResidualGlobalRCSC_ME-2/2",
"hResidualGlobalRCSC_ME-2/2", 200, -10, 10);
823 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME-1/1",
"hResidualGlobalRPhiCSC_ME-1/1", 200, -10, 10);
825 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME-1/1",
"hResidualGlobalPhiCSC_ME-1/1", 200, -1, 1);
827 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME-1/1",
"hResidualGlobalThetaCSC_ME-1/1", 200, -1, 1);
829 fs->
make<TH1F>(
"hResidualGlobalRCSC_ME-1/1",
"hResidualGlobalRCSC_ME-1/1", 200, -10, 10);
831 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME-1/2",
"hResidualGlobalRPhiCSC_ME-1/2", 200, -10, 10);
833 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME-1/2",
"hResidualGlobalPhiCSC_ME-1/2", 200, -1, 1);
835 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME-1/2",
"hResidualGlobalThetaCSC_ME-1/2", 200, -1, 1);
837 fs->
make<TH1F>(
"hResidualGlobalRCSC_ME-1/2",
"hResidualGlobalRCSC_ME-1/2", 200, -10, 10);
839 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME-1/3",
"hResidualGlobalRPhiCSC_ME-1/3", 200, -10, 10);
841 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME-1/3",
"hResidualGlobalPhiCSC_ME-1/3", 200, -1, 1);
843 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME-1/3",
"hResidualGlobalThetaCSC_ME-1/3", 200, -1, 1);
845 fs->
make<TH1F>(
"hResidualGlobalRCSC_ME-1/3",
"hResidualGlobalRCSC_ME-1/3", 200, -10, 10);
847 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME1/1",
"hResidualGlobalRPhiCSC_ME1/1", 200, -10, 10);
849 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME1/1",
"hResidualGlobalPhiCSC_ME1/1", 100, -1, 1);
851 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME1/1",
"hResidualGlobalThetaCSC_ME1/1", 200, -1, 1);
854 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME1/2",
"hResidualGlobalRPhiCSC_ME1/2", 200, -10, 10);
856 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME1/2",
"hResidualGlobalPhiCSC_ME1/2", 200, -1, 1);
858 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME1/2",
"hResidualGlobalThetaCSC_ME1/2", 200, -1, 1);
861 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME1/3",
"hResidualGlobalRPhiCSC_ME1/3", 200, -10, 10);
863 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME1/3",
"hResidualGlobalPhiCSC_ME1/3", 200, -1, 1);
865 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME1/3",
"hResidualGlobalThetaCSC_ME1/3", 200, -1, 1);
868 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME2/1",
"hResidualGlobalRPhiCSC_ME2/1", 200, -10, 10);
870 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME2/1",
"hResidualGlobalPhiCSC_ME2/1", 200, -1, 1);
872 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME2/1",
"hResidualGlobalThetaCSC_ME2/1", 200, -1, 1);
875 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME2/2",
"hResidualGlobalRPhiCSC_ME2/2", 200, -10, 10);
877 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME2/2",
"hResidualGlobalPhiCSC_ME2/2", 200, -1, 1);
879 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME2/2",
"hResidualGlobalThetaCSC_ME2/2", 200, -1, 1);
882 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME3/1",
"hResidualGlobalRPhiCSC_ME3/1", 200, -10, 10);
884 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME3/1",
"hResidualGlobalPhiCSC_ME3/1", 200, -1, 1);
886 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME3/1",
"hResidualGlobalThetaCSC_ME3/1", 200, -1, 1);
889 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME3/2",
"hResidualGlobalRPhiCSC_ME3/2", 200, -10, 10);
891 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME3/2",
"hResidualGlobalPhiCSC_ME3/2", 200, -1, 1);
893 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME3/2",
"hResidualGlobalThetaCSC_ME3/2", 200, -1, 1);
896 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME4/1",
"hResidualGlobalRPhiCSC_ME4/1", 200, -10, 10);
898 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME4/1",
"hResidualGlobalPhiCSC_ME4/1", 200, -1, 1);
900 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME4/1",
"hResidualGlobalThetaCSC_ME4/1", 200, -1, 1);
903 fs->
make<TH1F>(
"hResidualGlobalRPhiCSC_ME4/2",
"hResidualGlobalRPhiCSC_ME4/2", 200, -10, 10);
905 fs->
make<TH1F>(
"hResidualGlobalPhiCSC_ME4/2",
"hResidualGlobalPhiCSC_ME4/2", 200, -1, 1);
907 fs->
make<TH1F>(
"hResidualGlobalThetaCSC_ME4/2",
"hResidualGlobalThetaCSC_ME4/2", 200, -1, 1);
948 "hprofGlobalPositionDT",
"Global DT position (cm) absolute MEAN residuals;Sector;;cm", 14, 0, 14, 40, 0, 40);
950 "hprofGlobalAngleDT",
"Global DT angle (rad) absolute MEAN residuals;Sector;;rad", 14, 0, 14, 40, 0, 40);
952 "hprofGlobalPositionRmsDT",
"Global DT position (cm) RMS residuals;Sector;;rad", 14, 0, 14, 40, 0, 40);
954 "hprofGlobalAngleRmsDT",
"Global DT angle (rad) RMS residuals;Sector;;rad", 14, 0, 14, 40, 0, 40);
956 "hprofLocalPositionDT",
"Local DT position (cm) absolute MEAN residuals;Sector;;cm", 14, 0, 14, 40, 0, 40);
958 "hprofLocalAngleDT",
"Local DT angle (rad) absolute MEAN residuals;Sector;;rad", 14, 0, 14, 40, 0, 40);
960 "hprofLocalPositionRmsDT",
"Local DT position (cm) RMS residuals;Sector;;rad", 14, 0, 14, 40, 0, 40);
962 fs->
make<TH2F>(
"hprofLocalAngleRmsDT",
"Local DT angle (rad) RMS residuals;Sector;;rad", 14, 0, 14, 40, 0, 40);
965 "hprofGlobalPositionCSC",
"Global CSC position (cm) absolute MEAN residuals;Sector;;cm", 36, 0, 36, 36, 0, 36);
967 "hprofGlobalAngleCSC",
"Global CSC angle (rad) absolute MEAN residuals;Sector;;rad", 36, 0, 36, 36, 0, 36);
969 "hprofGlobalPositionRmsCSC",
"Global CSC position (cm) RMS residuals;Sector;;rad", 36, 0, 36, 36, 0, 36);
971 "hprofGlobalAngleRmsCSC",
"Global CSC angle (rad) RMS residuals;Sector;;rad", 36, 0, 36, 36, 0, 36);
973 "hprofLocalPositionCSC",
"Local CSC position (cm) absolute MEAN residuals;Sector;;cm", 36, 0, 36, 36, 0, 36);
975 "hprofLocalAngleCSC",
"Local CSC angle (rad) absolute MEAN residuals;Sector;;rad", 36, 0, 36, 36, 0, 36);
977 "hprofLocalPositionRmsCSC",
"Local CSC position (cm) RMS residuals;Sector;;rad", 36, 0, 36, 36, 0, 36);
979 "hprofLocalAngleRmsCSC",
"Local CSC angle (rad) RMS residuals;Sector;;rad", 36, 0, 36, 36, 0, 36);
982 Float_t labelSize = 0.025;
1002 for (
int i = 1;
i < 15;
i++) {
1003 snprintf(binLabel,
sizeof(binLabel),
"Sec-%d",
i);
1014 for (
int i = 1;
i < 37;
i++) {
1015 snprintf(binLabel,
sizeof(binLabel),
"Ch-%d",
i);
1029 edm::LogInfo(
"MuonAlignmentAnalyzer") <<
"----------------- " << std::endl << std::endl;
1067 if (nameHistoLocalX.Contains(
"MB"))
1074 Int_t nwheel =
wheel + 2;
1079 Int_t xbin =
sector + 14 * nstation + 14 * 4 * nwheel;
1089 Int_t ybin = 1 + nwheel * 8 + nstation * 2;
1091 snprintf(binLabel,
sizeof(binLabel),
"MB%d/%d_LocalX",
wheel,
station);
1097 if (nameHistoLocalX.Contains(
"ME"))
1116 xbin = 18 * (((Int_t)(xbin / 3)) * 2 + (Int_t)(xbin / 2)) +
chamber;
1120 xbin = 126 + (xbin - 6) * 36 +
chamber;
1122 xbin = 414 + 18 * (((Int_t)(xbin - 13) / 3) * 2 + ((Int_t)(xbin - 13) / 2)) +
chamber;
1141 ybin = 2 * ybin - 1;
1143 snprintf(binLabel,
sizeof(binLabel),
"ME%d/%d_LocalX",
station,
ring);
1149 if (nameHistoLocalTheta.Contains(
"MB"))
1153 sscanf(nameHistoLocalTheta,
"ResidualLocalTheta_W%dMB%1dS%d", &
wheel, &
station, &
sector);
1157 Int_t nwheel =
wheel + 2;
1162 Int_t xbin =
sector + 14 * nstation + 14 * 4 * nwheel;
1172 Int_t ybin = 2 + nwheel * 8 + nstation * 2;
1174 snprintf(binLabel,
sizeof(binLabel),
"MB%d/%d_LocalTheta",
wheel,
station);
1181 if (nameHistoLocalPhi.Contains(
"MB"))
1185 sscanf(nameHistoLocalPhi,
"ResidualLocalPhi_W%dMB%1dS%d", &
wheel, &
station, &
sector);
1188 Int_t nwheel =
wheel + 2;
1193 Int_t xbin =
sector + 14 * nstation + 14 * 4 * nwheel;
1203 Int_t ybin = 1 + nwheel * 8 + nstation * 2;
1205 snprintf(binLabel,
sizeof(binLabel),
"MB%d/%d_LocalPhi",
wheel,
station);
1211 if (nameHistoLocalPhi.Contains(
"ME"))
1215 sscanf(nameHistoLocalPhi,
"ResidualLocalPhi_ME%dR%1dC%d", &
station, &
ring, &
chamber);
1230 xbin = 18 * (((Int_t)(xbin / 3)) * 2 + (Int_t)(xbin / 2)) +
chamber;
1234 xbin = 126 + (xbin - 6) * 36 +
chamber;
1236 xbin = 414 + 18 * (((Int_t)(xbin - 13) / 3) * 2 + ((Int_t)(xbin - 13) / 2)) +
chamber;
1255 ybin = 2 * ybin - 1;
1257 snprintf(binLabel,
sizeof(binLabel),
"ME%d/%d_LocalPhi",
station,
ring);
1263 if (nameHistoLocalTheta.Contains(
"ME"))
1267 sscanf(nameHistoLocalTheta,
"ResidualLocalTheta_ME%dR%1dC%d", &
station, &
ring, &
chamber);
1282 xbin = 18 * (((Int_t)(xbin / 3)) * 2 + (Int_t)(xbin / 2)) +
chamber;
1286 xbin = 126 + (xbin - 6) * 36 +
chamber;
1288 xbin = 414 + 18 * (((Int_t)(xbin - 13) / 3) * 2 + ((Int_t)(xbin - 13) / 2)) +
chamber;
1309 snprintf(binLabel,
sizeof(binLabel),
"ME%d/%d_LocalTheta",
station,
ring);
1315 if (nameHistoLocalY.Contains(
"MB"))
1323 Int_t nwheel =
wheel + 2;
1328 Int_t xbin =
sector + 14 * nstation + 14 * 4 * nwheel;
1338 Int_t ybin = 2 + nwheel * 8 + nstation * 2;
1340 snprintf(binLabel,
sizeof(binLabel),
"MB%d/%d_LocalY",
wheel,
station);
1347 if (nameHistoLocalY.Contains(
"ME"))
1366 xbin = 18 * (((Int_t)(xbin / 3)) * 2 + (Int_t)(xbin / 2)) +
chamber;
1370 xbin = 126 + (xbin - 6) * 36 +
chamber;
1372 xbin = 414 + 18 * (((Int_t)(xbin - 13) / 3) * 2 + ((Int_t)(xbin - 13) / 2)) +
chamber;
1393 snprintf(binLabel,
sizeof(binLabel),
"ME%d/%d_LocalY",
station,
ring);
1399 if (nameHistoGlobalRPhi.Contains(
"MB"))
1403 sscanf(nameHistoGlobalRPhi,
"ResidualGlobalRPhi_W%dMB%1dS%d", &
wheel, &
station, &
sector);
1406 Int_t nwheel =
wheel + 2;
1411 Int_t xbin =
sector + 14 * nstation + 14 * 4 * nwheel;
1421 Int_t ybin = 1 + nwheel * 8 + nstation * 2;
1423 snprintf(binLabel,
sizeof(binLabel),
"MB%d/%d_GlobalRPhi",
wheel,
station);
1429 if (nameHistoGlobalRPhi.Contains(
"ME"))
1433 sscanf(nameHistoGlobalRPhi,
"ResidualGlobalRPhi_ME%dR%1dC%d", &
station, &
ring, &
chamber);
1448 xbin = 18 * (((Int_t)(xbin / 3)) * 2 + (Int_t)(xbin / 2)) +
chamber;
1452 xbin = 126 + (xbin - 6) * 36 +
chamber;
1454 xbin = 414 + 18 * (((Int_t)(xbin - 13) / 3) * 2 + ((Int_t)(xbin - 13) / 2)) +
chamber;
1473 ybin = 2 * ybin - 1;
1475 snprintf(binLabel,
sizeof(binLabel),
"ME%d/%d_GlobalRPhi",
station,
ring);
1481 if (nameHistoGlobalTheta.Contains(
"MB"))
1485 sscanf(nameHistoGlobalTheta,
"ResidualGlobalTheta_W%dMB%1dS%d", &
wheel, &
station, &
sector);
1489 Int_t nwheel =
wheel + 2;
1494 Int_t xbin =
sector + 14 * nstation + 14 * 4 * nwheel;
1504 Int_t ybin = 2 + nwheel * 8 + nstation * 2;
1506 snprintf(binLabel,
sizeof(binLabel),
"MB%d/%d_GlobalTheta",
wheel,
station);
1513 if (nameHistoGlobalPhi.Contains(
"MB"))
1517 sscanf(nameHistoGlobalPhi,
"ResidualGlobalPhi_W%dMB%1dS%d", &
wheel, &
station, &
sector);
1520 Int_t nwheel =
wheel + 2;
1525 Int_t xbin =
sector + 14 * nstation + 14 * 4 * nwheel;
1535 Int_t ybin = 1 + nwheel * 8 + nstation * 2;
1537 snprintf(binLabel,
sizeof(binLabel),
"MB%d/%d_GlobalPhi",
wheel,
station);
1543 if (nameHistoGlobalPhi.Contains(
"ME"))
1547 sscanf(nameHistoGlobalPhi,
"ResidualGlobalPhi_ME%dR%1dC%d", &
station, &
ring, &
chamber);
1562 xbin = 18 * (((Int_t)(xbin / 3)) * 2 + (Int_t)(xbin / 2)) +
chamber;
1566 xbin = 126 + (xbin - 6) * 36 +
chamber;
1568 xbin = 414 + 18 * (((Int_t)(xbin - 13) / 3) * 2 + ((Int_t)(xbin - 13) / 2)) +
chamber;
1587 ybin = 2 * ybin - 1;
1589 snprintf(binLabel,
sizeof(binLabel),
"ME%d/%d_GlobalPhi",
station,
ring);
1595 if (nameHistoGlobalTheta.Contains(
"ME"))
1599 sscanf(nameHistoGlobalTheta,
"ResidualGlobalTheta_ME%dR%1dC%d", &
station, &
ring, &
chamber);
1614 xbin = 18 * (((Int_t)(xbin / 3)) * 2 + (Int_t)(xbin / 2)) +
chamber;
1618 xbin = 126 + (xbin - 6) * 36 +
chamber;
1620 xbin = 414 + 18 * (((Int_t)(xbin - 13) / 3) * 2 + ((Int_t)(xbin - 13) / 2)) +
chamber;
1641 snprintf(binLabel,
sizeof(binLabel),
"ME%d/%d_GlobalTheta",
station,
ring);
1647 if (nameHistoGlobalRZ.Contains(
"MB"))
1655 Int_t nwheel =
wheel + 2;
1660 Int_t xbin =
sector + 14 * nstation + 14 * 4 * nwheel;
1671 Int_t ybin = 2 + nwheel * 8 + nstation * 2;
1673 snprintf(binLabel,
sizeof(binLabel),
"MB%d/%d_GlobalZ",
wheel,
station);
1680 if (nameHistoGlobalRZ.Contains(
"ME"))
1699 xbin = 18 * (((Int_t)(xbin / 3)) * 2 + (Int_t)(xbin / 2)) +
chamber;
1703 xbin = 126 + (xbin - 6) * 36 +
chamber;
1705 xbin = 414 + 18 * (((Int_t)(xbin - 13) / 3) * 2 + ((Int_t)(xbin - 13) / 2)) +
chamber;
1726 snprintf(binLabel,
sizeof(binLabel),
"ME%d/%d_GlobalR",
station,
ring);
1739 std::vector<double> simPar[4];
1746 int i = 0, ie = 0,
ib = 0;
1751 edm::SimTrackContainer::const_iterator
simTrack;
1754 if (
abs((*simTrack).type()) == 13) {
1756 simPt = (*simTrack).momentum().Pt();
1757 simEta = (*simTrack).momentum().eta();
1758 simPhi = (*simTrack).momentum().phi();
1761 if (fabs(simEta) < 1.04) {
1772 simPar[0].push_back(simPt);
1773 simPar[1].push_back(simEta);
1774 simPar[2].push_back(simPhi);
1775 simPar[3].push_back((*simTrack).charge());
1779 p1 =
GlobalVector((*simTrack).momentum().x(), (*simTrack).momentum().y(), (*simTrack).momentum().z());
1781 p2 =
GlobalVector((*simTrack).momentum().x(), (*simTrack).momentum().y(), (*simTrack).momentum().z());
1789 TLorentzVector mu1(
p1.x(),
p1.y(),
p1.z(),
p1.mag());
1790 TLorentzVector mu2(
p2.x(),
p2.y(),
p2.z(),
p2.mag());
1791 TLorentzVector pair = mu1 + mu2;
1792 double Minv = pair.M();
1794 if (fabs(
p1.eta()) < 1.04 && fabs(
p2.eta()) < 1.04)
1796 else if (fabs(
p1.eta()) >= 1.04 && fabs(
p2.eta()) >= 1.04)
1806 double SArecPt = 0.;
1809 int i = 0, ie = 0,
ib = 0;
1816 reco::TrackCollection::const_iterator staTrack;
1821 SArecPt = (*staTrack).pt();
1822 SAeta = (*staTrack).eta();
1823 SAphi = (*staTrack).phi();
1824 ich = (*staTrack).charge();
1828 hSAChi2->Fill((*staTrack).chi2());
1829 hSANhits->Fill((*staTrack).numberOfValidHits());
1830 if (fabs(SAeta) < 1.04) {
1844 p1 =
GlobalVector((*staTrack).momentum().x(), (*staTrack).momentum().y(), (*staTrack).momentum().z());
1846 p2 =
GlobalVector((*staTrack).momentum().x(), (*staTrack).momentum().y(), (*staTrack).momentum().z());
1849 double candDeltaR = -999.0,
dR;
1851 if (!simPar[0].
empty()) {
1852 for (
unsigned int iSim = 0; iSim < simPar[0].size(); iSim++) {
1853 dR =
deltaR(SAeta, SAphi, simPar[1][iSim], simPar[2][iSim]);
1854 if (candDeltaR < 0 ||
dR < candDeltaR) {
1861 double simPt = simPar[0][iCand];
1862 hSAPTres->Fill((SArecPt - simPt) / simPt);
1863 if (fabs(SAeta) < 1.04)
1872 double ptInvRes = (ich / SArecPt - simPar[3][iCand] / simPt) / (simPar[3][iCand] / simPt);
1889 TLorentzVector mu1(
p1.x(),
p1.y(),
p1.z(),
p1.mag());
1890 TLorentzVector mu2(
p2.x(),
p2.y(),
p2.z(),
p2.mag());
1891 TLorentzVector pair = mu1 + mu2;
1892 double Minv = pair.M();
1894 if (fabs(
p1.eta()) < 1.04 && fabs(
p2.eta()) < 1.04)
1896 else if (fabs(
p1.eta()) >= 1.04 && fabs(
p2.eta()) >= 1.04)
1915 int i = 0, ie = 0,
ib = 0;
1917 reco::TrackCollection::const_iterator glbTrack;
1919 for (glbTrack = glbTracks->begin(); glbTrack != glbTracks->end(); ++glbTrack) {
1922 GBrecPt = (*glbTrack).pt();
1923 GBeta = (*glbTrack).eta();
1924 GBphi = (*glbTrack).phi();
1925 ich = (*glbTrack).charge();
1929 hGBChi2->Fill((*glbTrack).chi2());
1930 hGBNhits->Fill((*glbTrack).numberOfValidHits());
1931 if (fabs(GBeta) < 1.04) {
1945 p1 =
GlobalVector((*glbTrack).momentum().x(), (*glbTrack).momentum().y(), (*glbTrack).momentum().z());
1947 p2 =
GlobalVector((*glbTrack).momentum().x(), (*glbTrack).momentum().y(), (*glbTrack).momentum().z());
1950 double candDeltaR = -999.0,
dR;
1952 if (!simPar[0].
empty()) {
1953 for (
unsigned int iSim = 0; iSim < simPar[0].size(); iSim++) {
1954 dR =
deltaR(GBeta, GBphi, simPar[1][iSim], simPar[2][iSim]);
1955 if (candDeltaR < 0 ||
dR < candDeltaR) {
1962 double simPt = simPar[0][iCand];
1964 hGBPTres->Fill((GBrecPt - simPt) / simPt);
1965 if (fabs(GBeta) < 1.04)
1975 double ptInvRes = (ich / GBrecPt - simPar[3][iCand] / simPt) / (simPar[3][iCand] / simPt);
1992 TLorentzVector mu1(
p1.x(),
p1.y(),
p1.z(),
p1.mag());
1993 TLorentzVector mu2(
p2.x(),
p2.y(),
p2.z(),
p2.mag());
1994 TLorentzVector pair = mu1 + mu2;
1995 double Minv = pair.M();
1997 if (fabs(
p1.eta()) < 1.04 && fabs(
p2.eta()) < 1.04)
1999 else if (fabs(
p1.eta()) >= 1.04 && fabs(
p2.eta()) >= 1.04)
2043 reco::TrackCollection::const_iterator staTrack;
2045 int countPoints = 0;
2051 *staTrack, all4DSegmentsDT, all4DSegmentsCSC, &indexCollectionDT, &indexCollectionCSC, theTrackingGeometry);
2063 for (RecHitVector::iterator rechit = my4DTrack.begin(); rechit != my4DTrack.end(); ++rechit) {
2064 const GeomDet *geomDet = theTrackingGeometry->
idToDet((*rechit)->geographicalId());
2069 if (pDest !=
nullptr || cDest !=
nullptr) {
2082 const long rawId = (*rechit)->geographicalId().rawId();
2084 bool newDetector =
true;
2090 if (*myIds == rawId) {
2091 newDetector =
false;
2101 double residualGlobalRPhi = 0, residualGlobalPhi = 0, residualGlobalR = 0, residualGlobalTheta = 0,
2102 residualGlobalZ = 0;
2103 double residualLocalX = 0, residualLocalPhi = 0, residualLocalY = 0, residualLocalTheta = 0;
2114 residualGlobalRPhi =
2120 residualLocalX = (*rechit)->localPosition().x() - destiny.
localPosition().
x();
2127 residualLocalPhi = atan2(((
RecSegment *)(*rechit))->localDirection().
z(),
2128 ((
RecSegment *)(*rechit))->localDirection().
x()) -
2142 residualLocalY = (*rechit)->localPosition().y() - destiny.
localPosition().
y();
2149 residualLocalTheta = atan2(((
RecSegment *)(*rechit))->localDirection().
z(),
2150 ((
RecSegment *)(*rechit))->localDirection().
y()) -
2183 }
else if (det == 2) {
2193 residualGlobalRPhi =
2199 residualLocalX = (*rechit)->localPosition().x() - destiny.
localPosition().
x();
2206 residualLocalY = (*rechit)->localPosition().y() - destiny.
localPosition().
y();
2213 residualLocalPhi = atan2(((
RecSegment *)(*rechit))->localDirection().
y(),
2214 ((
RecSegment *)(*rechit))->localDirection().
x()) -
2222 residualLocalTheta = atan2(((
RecSegment *)(*rechit))->localDirection().
y(),
2223 ((
RecSegment *)(*rechit))->localDirection().
z()) -
2256 residualGlobalRPhi = 0, residualGlobalPhi = 0, residualGlobalR = 0, residualGlobalTheta = 0,
2257 residualGlobalZ = 0;
2258 residualLocalX = 0, residualLocalPhi = 0, residualLocalY = 0, residualLocalTheta = 0;
2266 double rangeX = 3.0, rangeY = 5.;
2290 char nameOfHistoLocalX[50];
2291 char nameOfHistoLocalTheta[50];
2292 char nameOfHistoLocalY[50];
2293 char nameOfHistoLocalPhi[50];
2294 char nameOfHistoGlobalRPhi[50];
2295 char nameOfHistoGlobalTheta[50];
2296 char nameOfHistoGlobalR[50];
2297 char nameOfHistoGlobalPhi[50];
2298 char nameOfHistoGlobalZ[50];
2301 snprintf(nameOfHistoLocalX,
2302 sizeof(nameOfHistoLocalX),
2303 "ResidualLocalX_W%dMB%1dS%1d",
2307 snprintf(nameOfHistoLocalPhi,
2308 sizeof(nameOfHistoLocalPhi),
2309 "ResidualLocalPhi_W%dMB%1dS%1d",
2313 snprintf(nameOfHistoGlobalRPhi,
2314 sizeof(nameOfHistoGlobalRPhi),
2315 "ResidualGlobalRPhi_W%dMB%1dS%1d",
2319 snprintf(nameOfHistoGlobalPhi,
2320 sizeof(nameOfHistoGlobalPhi),
2321 "ResidualGlobalPhi_W%dMB%1dS%1d",
2325 snprintf(nameOfHistoLocalTheta,
2326 sizeof(nameOfHistoLocalTheta),
2327 "ResidualLocalTheta_W%dMB%1dS%1d",
2331 snprintf(nameOfHistoLocalY,
2332 sizeof(nameOfHistoLocalY),
2333 "ResidualLocalY_W%dMB%1dS%1d",
2337 TH1F *histoLocalY =
fs->
make<TH1F>(nameOfHistoLocalY, nameOfHistoLocalY,
nbins, -rangeY, rangeY);
2339 snprintf(nameOfHistoGlobalTheta,
2340 sizeof(nameOfHistoGlobalTheta),
2341 "ResidualGlobalTheta_W%dMB%1dS%1d",
2345 snprintf(nameOfHistoGlobalZ,
2346 sizeof(nameOfHistoGlobalZ),
2347 "ResidualGlobalZ_W%dMB%1dS%1d",
2351 TH1F *histoGlobalZ =
fs->
make<TH1F>(nameOfHistoGlobalZ, nameOfHistoGlobalZ,
nbins, -rangeY, rangeY);
2354 }
else if (det == 2) {
2355 snprintf(nameOfHistoLocalX,
2356 sizeof(nameOfHistoLocalX),
2357 "ResidualLocalX_ME%dR%1dC%1d",
2361 snprintf(nameOfHistoLocalPhi,
2362 sizeof(nameOfHistoLocalPhi),
2363 "ResidualLocalPhi_ME%dR%1dC%1d",
2367 snprintf(nameOfHistoLocalTheta,
2368 sizeof(nameOfHistoLocalTheta),
2369 "ResidualLocalTheta_ME%dR%1dC%1d",
2373 snprintf(nameOfHistoLocalY,
2374 sizeof(nameOfHistoLocalY),
2375 "ResidualLocalY_ME%dR%1dC%1d",
2379 TH1F *histoLocalY =
fs->
make<TH1F>(nameOfHistoLocalY, nameOfHistoLocalY,
nbins, -rangeY, rangeY);
2381 snprintf(nameOfHistoGlobalRPhi,
2382 sizeof(nameOfHistoGlobalRPhi),
2383 "ResidualGlobalRPhi_ME%dR%1dC%1d",
2387 snprintf(nameOfHistoGlobalPhi,
2388 sizeof(nameOfHistoGlobalPhi),
2389 "ResidualGlobalPhi_ME%dR%1dC%1d",
2393 snprintf(nameOfHistoGlobalTheta,
2394 sizeof(nameOfHistoGlobalTheta),
2395 "ResidualGlobalTheta_ME%dR%1dC%1d",
2399 snprintf(nameOfHistoGlobalR,
2400 sizeof(nameOfHistoGlobalR),
2401 "ResidualGlobalR_ME%dR%1dC%1d",
2405 TH1F *histoGlobalR =
fs->
make<TH1F>(nameOfHistoGlobalR, nameOfHistoGlobalR,
nbins, -rangeY, rangeY);
2410 TH1F *histoLocalX =
fs->
make<TH1F>(nameOfHistoLocalX, nameOfHistoLocalX,
nbins, -rangeX, rangeX);
2411 TH1F *histoGlobalRPhi =
2412 fs->
make<TH1F>(nameOfHistoGlobalRPhi, nameOfHistoGlobalRPhi,
nbins, -rangeX, rangeX);
2413 TH1F *histoLocalPhi =
2415 TH1F *histoGlobalPhi =
2417 TH1F *histoGlobalTheta =
fs->
make<TH1F>(
2419 TH1F *histoLocalTheta =
fs->
make<TH1F>(
2422 histoLocalX->Fill(residualLocalX);
2423 histoLocalPhi->Fill(residualLocalPhi);
2424 histoLocalTheta->Fill(residualLocalTheta);
2425 histoGlobalRPhi->Fill(residualGlobalRPhi);
2426 histoGlobalPhi->Fill(residualGlobalPhi);
2427 histoGlobalTheta->Fill(residualGlobalTheta);
2448 }
else if (det == 2) {
2456 innerTSOS = destiny;
2459 edm::LogError(
"MuonAlignmentAnalyzer") <<
" Error!! Exception in propagator catched" << std::endl;
2486 std::vector<int> positionDT;
2487 std::vector<int> positionCSC;
2501 int NumberOfDTSegment = 0;
2503 for (segmentDT = all4DSegmentsDT->begin(); segmentDT != all4DSegmentsDT->end(); ++segmentDT) {
2505 bool isNewChamber =
true;
2508 for (std::vector<int>::iterator positionIt = positionDT.begin(); positionIt != positionDT.end(); positionIt++) {
2510 if (NumberOfDTSegment == *positionIt)
2511 isNewChamber =
false;
2515 for (
std::vector<std::vector<int> >::iterator collect = indexCollectionDT->begin();
2516 collect != indexCollectionDT->end();
2519 for (std::vector<int>::iterator positionIt = (*collect).begin(); positionIt != (*collect).end();
2522 if (NumberOfDTSegment == *positionIt)
2523 isNewChamber =
false;
2529 DTChamberId myChamber((*segmentDT).geographicalId().rawId());
2531 if (myLayer.wheel() == myChamber.wheel() && myLayer.station() == myChamber.station() &&
2532 myLayer.sector() == myChamber.sector()) {
2534 positionDT.push_back(NumberOfDTSegment);
2538 NumberOfDTSegment++;
2545 int NumberOfCSCSegment = 0;
2547 for (segmentCSC = all4DSegmentsCSC->begin(); segmentCSC != all4DSegmentsCSC->end(); segmentCSC++) {
2549 bool isNewChamber =
true;
2552 for (std::vector<int>::iterator positionIt = positionCSC.begin(); positionIt != positionCSC.end();
2555 if (NumberOfCSCSegment == *positionIt)
2556 isNewChamber =
false;
2559 for (
std::vector<std::vector<int> >::iterator collect = indexCollectionCSC->begin();
2560 collect != indexCollectionCSC->end();
2563 for (std::vector<int>::iterator positionIt = (*collect).begin(); positionIt != (*collect).end();
2566 if (NumberOfCSCSegment == *positionIt)
2567 isNewChamber =
false;
2572 CSCDetId myChamber((*segmentCSC).geographicalId().rawId());
2574 if (myLayer.chamberId() == myChamber.chamberId()) {
2576 positionCSC.push_back(NumberOfCSCSegment);
2580 NumberOfCSCSegment++;
2585 indexCollectionDT->push_back(positionDT);
2586 indexCollectionCSC->push_back(positionCSC);
std::vector< TH1F * > hResidualGlobalRPhiDT_MB
static const std::string kSharedResource
int station() const
Return the station number.
std::vector< TH1F * > hResidualGlobalZDT_W
TH2F * hprofGlobalAngleDT
std::vector< TH1F * > hResidualLocalXCSC_ME
std::vector< TH1F * > hResidualLocalThetaDT_MB
std::vector< std::vector< int > > intDVector
const double invMassRangeMax
TH2F * hprofGlobalAngleCSC
TH2F * hprofGlobalPositionRmsDT
std::vector< TH1F * > unitsGlobalPhi
const edm::EDGetTokenT< reco::TrackCollection > staTrackToken_
unsigned short numberOfValidHits() const
number of valid hits found
LocalPoint localPosition() const
TH1F * hResidualLocalXCSC
TH1F * hResidualGlobalThetaDT
const double resLocalYRangeStation1
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken_
const std::string theDataType
const unsigned int min1DTrackRecHitSize
Propagator * thePropagator
std::vector< TH1F * > hResidualLocalYCSC_ME
std::vector< TH1F * > hResidualLocalPhiCSC_ME
TH2F * hprofLocalPositionRmsDT
RecHitVector doMatching(const reco::Track &, const edm::Handle< DTRecSegment4DCollection > &, const edm::Handle< CSCSegmentCollection > &, intDVector *, intDVector *, const edm::ESHandle< GlobalTrackingGeometry > &)
TH1F * hResidualLocalThetaCSC
std::vector< TH1F * > hResidualGlobalRPhiCSC_ME
std::vector< TH1F * > hResidualLocalPhiDT_MB
std::vector< Track > TrackCollection
collection of Tracks
edm::Service< TFileService > fs
TH2F * hprofLocalPositionDT
std::vector< TH1F * > unitsGlobalRPhi
std::vector< TH1F * > hResidualLocalThetaDT_W
std::vector< TH1F * > hResidualGlobalZDT_MB
Log< level::Error, false > LogError
TH2F * hprofLocalPositionRmsCSC
TH2F * hprofLocalAngleCSC
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
const GeomDet * idToDet(DetId) const override
std::vector< TH1F * > unitsLocalX
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > trackingGeometryToken_
std::vector< TH1F * > hResidualGlobalThetaDT_W
TH1F * hResidualLocalThetaDT
std::vector< TH1F * > unitsLocalTheta
GlobalPoint position() const
C::const_iterator const_iterator
constant access iterator type
const double resLocalXRangeStation3
TH1F * hResidualGlobalThetaCSC
const edm::EDGetTokenT< DTRecSegment4DCollection > allDTSegmentToken_
TH1F * hResidualGlobalZDT
std::vector< TH1F * > hResidualGlobalRPhiDT_W
std::vector< TH1F * > hResidualLocalThetaCSC_ME
TH2F * hprofLocalPositionCSC
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const double resLocalXRangeStation1
TH1F * hResidualLocalPhiDT
TH1F * hprofGlobalThetaCSC
std::vector< TH1F * > unitsGlobalRZ
LocalVector localDirection() const
Abs< T >::type abs(const T &t)
TH1F * hResidualGlobalRPhiDT
#define DEFINE_FWK_MODULE(type)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
TH1F * hprofGlobalRPhiCSC
TH1F * hResidualGlobalRCSC
std::vector< TH1F * > hResidualGlobalPhiCSC_ME
T perp() const
Magnitude of transverse component.
const double resLocalYRangeStation3
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
TH1F * hResidualLocalYCSC
void analyze(const edm::Event &event, const edm::EventSetup &eventSetup) override
std::vector< TH1F * > hResidualGlobalPhiDT_W
const double invMassRangeMin
std::vector< TH1F * > unitsLocalPhi
Log< level::Info, false > LogInfo
const edm::EDGetTokenT< edm::SimTrackContainer > simTrackToken_
TH2F * hprofLocalAngleRmsCSC
const unsigned int min4DTrackSegmentSize
TH2F * hprofLocalAngleRmsDT
const Plane & surface() const
The nominal surface of the GeomDet.
TH1F * hResidualGlobalPhiDT
DetId geographicalId() const
MuonAlignmentAnalyzer(const edm::ParameterSet &pset)
Constructor.
TH2F * hprofGlobalAngleRmsDT
constexpr uint32_t rawId() const
get the raw id
GlobalVector globalDirection() const
std::vector< TH1F * > hResidualGlobalThetaDT_MB
TH2F * hprofGlobalPositionRmsCSC
std::vector< TH1F * > unitsLocalY
TH1F * hprofLocalThetaCSC
void add(std::string const &label, ParameterSetDescription const &psetDescription)
virtual SubDetector subDetector() const
Which subdetector.
TrackingRecHitRef recHit(size_t i) const
Get i-th hit on the track.
std::vector< TH1F * > hResidualLocalPhiDT_W
const double resLocalXRangeStation4
std::vector< TH1F * > hResidualGlobalPhiDT_MB
TH2F * hprofGlobalAngleRmsCSC
std::vector< TH1F * > hResidualGlobalThetaCSC_ME
const double resThetaRange
int wheel() const
Return the wheel number.
TH1F * hResidualLocalPhiCSC
const edm::EDGetTokenT< reco::TrackCollection > glbTrackToken_
static int position[264][3]
TH1F * hResidualGlobalRPhiCSC
std::vector< TH1F * > hResidualLocalXDT_MB
T const * get() const
Returns C++ pointer to the item.
FreeTrajectoryState const * freeState(bool withErrors=true) const
T * make(const Args &...args) const
make new ROOT object
TH1F * hResidualGlobalPhiCSC
std::vector< TrackingRecHit * > RecHitVector
std::vector< TH1F * > hResidualGlobalRCSC_ME
const edm::EDGetTokenT< CSCSegmentCollection > allCSCSegmentToken_
std::vector< TH1F * > hResidualLocalYDT_W
TH2F * hprofGlobalPositionCSC
std::vector< long > detectorCollection
const double resLocalXRangeStation2
std::vector< TH1F * > unitsGlobalTheta
std::vector< SimTrack > SimTrackContainer
std::vector< TH1F * > hResidualLocalXDT_W
TH1F * hprofGlobalThetaDT
std::vector< TH1F * > hResidualLocalYDT_MB
Global3DVector GlobalVector
const double resLocalYRangeStation4
TH2F * hprofGlobalPositionDT
const double resLocalYRangeStation2