CMS 3D CMS Logo

SiStripTrackingRecHitsValid.cc
Go to the documentation of this file.
1 #include <memory>
2 #include <string>
3 #include <iostream>
4 #include <TMath.h>
6 
8 
14 
19 
22 
30 
31 using namespace std;
32 using namespace edm;
33 
34 // ROOT
35 #include "TROOT.h"
36 #include "TFile.h"
37 #include "TTree.h"
38 #include "TBranch.h"
39 #include "TH1.h"
40 #include "TH2.h"
41 class TFile;
42 
43 //Constructor
45  : dbe_(edm::Service<DQMStore>().operator->()),
46  conf_(ps),
47  trackerHitAssociatorConfig_(ps, consumesCollector()),
48  m_cacheID_(0)
49 // trajectoryInput_( ps.getParameter<edm::InputTag>("trajectoryInput") )
50 {
51  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
52 
53  runStandalone = conf_.getParameter<bool>("runStandalone");
54 
55  outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
56 
58 
59  tracksInputToken_ = consumes<std::vector<reco::Track> >(conf_.getParameter<edm::InputTag>("tracksInput"));
60 
61  edm::ParameterSet ParametersResolx_LF = conf_.getParameter<edm::ParameterSet>("TH1Resolx_LF");
62  layerswitchResolx_LF = ParametersResolx_LF.getParameter<bool>("layerswitchon");
63 
64  edm::ParameterSet ParametersResolx_MF = conf_.getParameter<edm::ParameterSet>("TH1Resolx_MF");
65  layerswitchResolx_MF = ParametersResolx_MF.getParameter<bool>("layerswitchon");
66 
67  edm::ParameterSet ParametersRes_LF = conf_.getParameter<edm::ParameterSet>("TH1Res_LF");
68  layerswitchRes_LF = ParametersRes_LF.getParameter<bool>("layerswitchon");
69 
70  edm::ParameterSet ParametersRes_MF = conf_.getParameter<edm::ParameterSet>("TH1Res_MF");
71  layerswitchRes_MF = ParametersRes_MF.getParameter<bool>("layerswitchon");
72 
73  edm::ParameterSet ParametersPull_LF = conf_.getParameter<edm::ParameterSet>("TH1Pull_LF");
74  layerswitchPull_LF = ParametersPull_LF.getParameter<bool>("layerswitchon");
75 
76  edm::ParameterSet ParametersPull_MF = conf_.getParameter<edm::ParameterSet>("TH1Pull_MF");
77  layerswitchPull_MF = ParametersPull_MF.getParameter<bool>("layerswitchon");
78 
79  edm::ParameterSet ParametersCategory = conf_.getParameter<edm::ParameterSet>("TH1Category");
80  layerswitchCategory = ParametersCategory.getParameter<bool>("layerswitchon");
81 
82  edm::ParameterSet ParametersTrackwidth = conf_.getParameter<edm::ParameterSet>("TH1Trackwidth");
83  layerswitchTrackwidth = ParametersTrackwidth.getParameter<bool>("layerswitchon");
84 
85  edm::ParameterSet ParametersExpectedwidth = conf_.getParameter<edm::ParameterSet>("TH1Expectedwidth");
86  layerswitchExpectedwidth = ParametersExpectedwidth.getParameter<bool>("layerswitchon");
87 
88  edm::ParameterSet ParametersClusterwidth = conf_.getParameter<edm::ParameterSet>("TH1Clusterwidth");
89  layerswitchClusterwidth = ParametersClusterwidth.getParameter<bool>("layerswitchon");
90 
91  edm::ParameterSet ParametersTrackanglealpha = conf_.getParameter<edm::ParameterSet>("TH1Trackanglealpha");
92  layerswitchTrackanglealpha = ParametersTrackanglealpha.getParameter<bool>("layerswitchon");
93 
94  edm::ParameterSet ParametersTrackanglebeta = conf_.getParameter<edm::ParameterSet>("TH1Trackanglebeta");
95  layerswitchTrackanglebeta = ParametersTrackanglebeta.getParameter<bool>("layerswitchon");
96 
97  edm::ParameterSet ParametersResolxMFTrackwidthProfile_WClus1 =
98  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_WClus1");
100  ParametersResolxMFTrackwidthProfile_WClus1.getParameter<bool>("layerswitchon");
101 
102  edm::ParameterSet ParametersResolxMFTrackwidthProfile_WClus2 =
103  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_WClus2");
105  ParametersResolxMFTrackwidthProfile_WClus2.getParameter<bool>("layerswitchon");
106 
107  edm::ParameterSet ParametersResolxMFTrackwidthProfile_WClus3 =
108  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_WClus3");
110  ParametersResolxMFTrackwidthProfile_WClus3.getParameter<bool>("layerswitchon");
111 
112  edm::ParameterSet ParametersResolxMFTrackwidthProfile_WClus4 =
113  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_WClus4");
115  ParametersResolxMFTrackwidthProfile_WClus4.getParameter<bool>("layerswitchon");
116 
117  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus1 =
118  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus1");
120  ParametersResMFTrackwidthProfile_WClus1.getParameter<bool>("layerswitchon");
121 
122  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus2 =
123  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus2");
125  ParametersResMFTrackwidthProfile_WClus2.getParameter<bool>("layerswitchon");
126 
127  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus21 =
128  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus21");
130  ParametersResMFTrackwidthProfile_WClus21.getParameter<bool>("layerswitchon");
131 
132  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus22 =
133  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus22");
135  ParametersResMFTrackwidthProfile_WClus22.getParameter<bool>("layerswitchon");
136 
137  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus23 =
138  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus23");
140  ParametersResMFTrackwidthProfile_WClus23.getParameter<bool>("layerswitchon");
141 
142  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus3 =
143  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus3");
145  ParametersResMFTrackwidthProfile_WClus3.getParameter<bool>("layerswitchon");
146 
147  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus4 =
148  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus4");
150  ParametersResMFTrackwidthProfile_WClus4.getParameter<bool>("layerswitchon");
151 
152  edm::ParameterSet ParametersResolxMFTrackwidthProfile =
153  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile");
154  layerswitchResolxMFTrackwidthProfile = ParametersResolxMFTrackwidthProfile.getParameter<bool>("layerswitchon");
155 
156  edm::ParameterSet ParametersResolxMFTrackwidthProfile_Category1 =
157  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_Category1");
159  ParametersResolxMFTrackwidthProfile_Category1.getParameter<bool>("layerswitchon");
160 
161  edm::ParameterSet ParametersResolxMFTrackwidthProfile_Category2 =
162  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_Category2");
164  ParametersResolxMFTrackwidthProfile_Category2.getParameter<bool>("layerswitchon");
165 
166  edm::ParameterSet ParametersResolxMFTrackwidthProfile_Category3 =
167  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_Category3");
169  ParametersResolxMFTrackwidthProfile_Category3.getParameter<bool>("layerswitchon");
170 
171  edm::ParameterSet ParametersResolxMFTrackwidthProfile_Category4 =
172  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_Category4");
174  ParametersResolxMFTrackwidthProfile_Category4.getParameter<bool>("layerswitchon");
175 
176  edm::ParameterSet ParametersResolxMFClusterwidthProfile_Category1 =
177  conf_.getParameter<edm::ParameterSet>("TProfResolxMFClusterwidthProfile_Category1");
179  ParametersResolxMFClusterwidthProfile_Category1.getParameter<bool>("layerswitchon");
180 
181  edm::ParameterSet ParametersResolxMFAngleProfile = conf_.getParameter<edm::ParameterSet>("TProfResolxMFAngleProfile");
182  layerswitchResolxMFAngleProfile = ParametersResolxMFAngleProfile.getParameter<bool>("layerswitchon");
183 
184  edm::ParameterSet ParametersWclusRphi = conf_.getParameter<edm::ParameterSet>("TH1WclusRphi");
185  layerswitchWclusRphi = ParametersWclusRphi.getParameter<bool>("layerswitchon");
186 
187  edm::ParameterSet ParametersAdcRphi = conf_.getParameter<edm::ParameterSet>("TH1AdcRphi");
188  layerswitchAdcRphi = ParametersAdcRphi.getParameter<bool>("layerswitchon");
189 
190  edm::ParameterSet ParametersResolxLFRphi = conf_.getParameter<edm::ParameterSet>("TH1ResolxLFRphi");
191  layerswitchResolxLFRphi = ParametersResolxLFRphi.getParameter<bool>("layerswitchon");
192 
193  edm::ParameterSet ParametersResolxMFRphi = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphi");
194  layerswitchResolxMFRphi = ParametersResolxMFRphi.getParameter<bool>("layerswitchon");
195 
196  edm::ParameterSet ParametersResolxMFRphiwclus1 = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphiwclus1");
197  layerswitchResolxMFRphiwclus1 = ParametersResolxMFRphiwclus1.getParameter<bool>("layerswitchon");
198 
199  edm::ParameterSet ParametersResolxMFRphiwclus2 = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphiwclus2");
200  layerswitchResolxMFRphiwclus2 = ParametersResolxMFRphiwclus2.getParameter<bool>("layerswitchon");
201 
202  edm::ParameterSet ParametersResolxMFRphiwclus3 = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphiwclus3");
203  layerswitchResolxMFRphiwclus3 = ParametersResolxMFRphiwclus3.getParameter<bool>("layerswitchon");
204 
205  edm::ParameterSet ParametersResolxMFRphiwclus4 = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphiwclus4");
206  layerswitchResolxMFRphiwclus4 = ParametersResolxMFRphiwclus4.getParameter<bool>("layerswitchon");
207 
208  edm::ParameterSet ParametersResLFRphi = conf_.getParameter<edm::ParameterSet>("TH1ResLFRphi");
209  layerswitchResLFRphi = ParametersResLFRphi.getParameter<bool>("layerswitchon");
210 
211  edm::ParameterSet ParametersResMFRphi = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphi");
212  layerswitchResMFRphi = ParametersResMFRphi.getParameter<bool>("layerswitchon");
213 
214  edm::ParameterSet ParametersResMFRphiwclus1 = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphiwclus1");
215  layerswitchResMFRphiwclus1 = ParametersResMFRphiwclus1.getParameter<bool>("layerswitchon");
216 
217  edm::ParameterSet ParametersResMFRphiwclus2 = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphiwclus2");
218  layerswitchResMFRphiwclus2 = ParametersResMFRphiwclus2.getParameter<bool>("layerswitchon");
219 
220  edm::ParameterSet ParametersResMFRphiwclus3 = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphiwclus3");
221  layerswitchResMFRphiwclus3 = ParametersResMFRphiwclus3.getParameter<bool>("layerswitchon");
222 
223  edm::ParameterSet ParametersResMFRphiwclus4 = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphiwclus4");
224  layerswitchResMFRphiwclus4 = ParametersResMFRphiwclus4.getParameter<bool>("layerswitchon");
225 
226  edm::ParameterSet ParametersPullLFRphi = conf_.getParameter<edm::ParameterSet>("TH1PullLFRphi");
227  layerswitchPullLFRphi = ParametersPullLFRphi.getParameter<bool>("layerswitchon");
228 
229  edm::ParameterSet ParametersPullMFRphi = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphi");
230  layerswitchPullMFRphi = ParametersPullMFRphi.getParameter<bool>("layerswitchon");
231 
232  edm::ParameterSet ParametersPullMFRphiwclus1 = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphiwclus1");
233  layerswitchPullMFRphiwclus1 = ParametersPullMFRphiwclus1.getParameter<bool>("layerswitchon");
234 
235  edm::ParameterSet ParametersPullMFRphiwclus2 = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphiwclus2");
236  layerswitchPullMFRphiwclus2 = ParametersPullMFRphiwclus2.getParameter<bool>("layerswitchon");
237 
238  edm::ParameterSet ParametersPullMFRphiwclus3 = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphiwclus3");
239  layerswitchPullMFRphiwclus3 = ParametersPullMFRphiwclus3.getParameter<bool>("layerswitchon");
240 
241  edm::ParameterSet ParametersPullMFRphiwclus4 = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphiwclus4");
242  layerswitchPullMFRphiwclus4 = ParametersPullMFRphiwclus4.getParameter<bool>("layerswitchon");
243 
244  edm::ParameterSet ParametersTrackangleRphi = conf_.getParameter<edm::ParameterSet>("TH1TrackangleRphi");
245  layerswitchTrackangleRphi = ParametersTrackangleRphi.getParameter<bool>("layerswitchon");
246 
247  edm::ParameterSet ParametersTrackanglebetaRphi = conf_.getParameter<edm::ParameterSet>("TH1TrackanglebetaRphi");
248  layerswitchTrackanglebetaRphi = ParametersTrackanglebetaRphi.getParameter<bool>("layerswitchon");
249 
250  edm::ParameterSet ParametersTrackangle2Rphi = conf_.getParameter<edm::ParameterSet>("TH1Trackangle2Rphi");
251  layerswitchTrackangle2Rphi = ParametersTrackangle2Rphi.getParameter<bool>("layerswitchon");
252 
253  edm::ParameterSet ParametersPullTrackangleProfileRphi =
254  conf_.getParameter<edm::ParameterSet>("TProfPullTrackangleProfileRphi");
255  layerswitchPullTrackangleProfileRphi = ParametersPullTrackangleProfileRphi.getParameter<bool>("layerswitchon");
256 
257  edm::ParameterSet ParametersPullTrackangle2DRphi = conf_.getParameter<edm::ParameterSet>("TH1PullTrackangle2DRphi");
258  layerswitchPullTrackangle2DRphi = ParametersPullTrackangle2DRphi.getParameter<bool>("layerswitchon");
259 
260  edm::ParameterSet ParametersTrackwidthRphi = conf_.getParameter<edm::ParameterSet>("TH1TrackwidthRphi");
261  layerswitchTrackwidthRphi = ParametersTrackwidthRphi.getParameter<bool>("layerswitchon");
262 
263  edm::ParameterSet ParametersExpectedwidthRphi = conf_.getParameter<edm::ParameterSet>("TH1ExpectedwidthRphi");
264  layerswitchExpectedwidthRphi = ParametersExpectedwidthRphi.getParameter<bool>("layerswitchon");
265 
266  edm::ParameterSet ParametersClusterwidthRphi = conf_.getParameter<edm::ParameterSet>("TH1ClusterwidthRphi");
267  layerswitchClusterwidthRphi = ParametersClusterwidthRphi.getParameter<bool>("layerswitchon");
268 
269  edm::ParameterSet ParametersCategoryRphi = conf_.getParameter<edm::ParameterSet>("TH1CategoryRphi");
270  layerswitchCategoryRphi = ParametersCategoryRphi.getParameter<bool>("layerswitchon");
271 
272  edm::ParameterSet ParametersPullTrackwidthProfileRphi =
273  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphi");
274  layerswitchPullTrackwidthProfileRphi = ParametersPullTrackwidthProfileRphi.getParameter<bool>("layerswitchon");
275 
276  edm::ParameterSet ParametersPullTrackwidthProfileRphiwclus1 =
277  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphiwclus1");
279  ParametersPullTrackwidthProfileRphiwclus1.getParameter<bool>("layerswitchon");
280 
281  edm::ParameterSet ParametersPullTrackwidthProfileRphiwclus2 =
282  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphiwclus2");
284  ParametersPullTrackwidthProfileRphiwclus2.getParameter<bool>("layerswitchon");
285 
286  edm::ParameterSet ParametersPullTrackwidthProfileRphiwclus3 =
287  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphiwclus3");
289  ParametersPullTrackwidthProfileRphiwclus3.getParameter<bool>("layerswitchon");
290 
291  edm::ParameterSet ParametersPullTrackwidthProfileRphiwclus4 =
292  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphiwclus4");
294  ParametersPullTrackwidthProfileRphiwclus4.getParameter<bool>("layerswitchon");
295 
296  edm::ParameterSet ParametersPullTrackwidthProfileCategory1Rphi =
297  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory1Rphi");
299  ParametersPullTrackwidthProfileCategory1Rphi.getParameter<bool>("layerswitchon");
300 
301  edm::ParameterSet ParametersPullTrackwidthProfileCategory2Rphi =
302  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory2Rphi");
304  ParametersPullTrackwidthProfileCategory2Rphi.getParameter<bool>("layerswitchon");
305 
306  edm::ParameterSet ParametersPullTrackwidthProfileCategory3Rphi =
307  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory3Rphi");
309  ParametersPullTrackwidthProfileCategory3Rphi.getParameter<bool>("layerswitchon");
310 
311  edm::ParameterSet ParametersPullTrackwidthProfileCategory4Rphi =
312  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory4Rphi");
314  ParametersPullTrackwidthProfileCategory4Rphi.getParameter<bool>("layerswitchon");
315 
316  edm::ParameterSet ParametersResolxMFTrackwidthProfileRphi =
317  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileRphi");
319  ParametersResolxMFTrackwidthProfileRphi.getParameter<bool>("layerswitchon");
320 
321  edm::ParameterSet ParametersResolxMFTrackwidthProfileWclus1Rphi =
322  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileWclus1Rphi");
324  ParametersResolxMFTrackwidthProfileWclus1Rphi.getParameter<bool>("layerswitchon");
325 
326  edm::ParameterSet ParametersResolxMFTrackwidthProfileWclus2Rphi =
327  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileWclus2Rphi");
329  ParametersResolxMFTrackwidthProfileWclus2Rphi.getParameter<bool>("layerswitchon");
330 
331  edm::ParameterSet ParametersResolxMFTrackwidthProfileWclus3Rphi =
332  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileWclus3Rphi");
334  ParametersResolxMFTrackwidthProfileWclus3Rphi.getParameter<bool>("layerswitchon");
335 
336  edm::ParameterSet ParametersResolxMFTrackwidthProfileWclus4Rphi =
337  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileWclus4Rphi");
339  ParametersResolxMFTrackwidthProfileWclus4Rphi.getParameter<bool>("layerswitchon");
340 
341  edm::ParameterSet ParametersResMFTrackwidthProfileWclus1Rphi =
342  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfileWclus1Rphi");
344  ParametersResMFTrackwidthProfileWclus1Rphi.getParameter<bool>("layerswitchon");
345 
346  edm::ParameterSet ParametersResMFTrackwidthProfileWclus2Rphi =
347  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfileWclus2Rphi");
349  ParametersResMFTrackwidthProfileWclus2Rphi.getParameter<bool>("layerswitchon");
350 
351  edm::ParameterSet ParametersResMFTrackwidthProfileWclus3Rphi =
352  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfileWclus3Rphi");
354  ParametersResMFTrackwidthProfileWclus3Rphi.getParameter<bool>("layerswitchon");
355 
356  edm::ParameterSet ParametersResMFTrackwidthProfileWclus4Rphi =
357  conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfileWclus4Rphi");
359  ParametersResMFTrackwidthProfileWclus4Rphi.getParameter<bool>("layerswitchon");
360 
361  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory1Rphi =
362  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory1Rphi");
364  ParametersResolxMFTrackwidthProfileCategory1Rphi.getParameter<bool>("layerswitchon");
365 
366  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory2Rphi =
367  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory2Rphi");
369  ParametersResolxMFTrackwidthProfileCategory2Rphi.getParameter<bool>("layerswitchon");
370 
371  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory3Rphi =
372  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory3Rphi");
374  ParametersResolxMFTrackwidthProfileCategory3Rphi.getParameter<bool>("layerswitchon");
375 
376  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory4Rphi =
377  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory4Rphi");
379  ParametersResolxMFTrackwidthProfileCategory4Rphi.getParameter<bool>("layerswitchon");
380 
381  edm::ParameterSet ParametersResolxMFAngleProfileRphi =
382  conf_.getParameter<edm::ParameterSet>("TProfResolxMFAngleProfileRphi");
383  layerswitchResolxMFAngleProfileRphi = ParametersResolxMFAngleProfileRphi.getParameter<bool>("layerswitchon");
384 
385  edm::ParameterSet ParametersResolxMFClusterwidthProfileCategory1Rphi =
386  conf_.getParameter<edm::ParameterSet>("TProfResolxMFClusterwidthProfileCategory1Rphi");
388  ParametersResolxMFClusterwidthProfileCategory1Rphi.getParameter<bool>("layerswitchon");
389 
390  edm::ParameterSet ParametersrapidityResProfilewclus1 =
391  conf_.getParameter<edm::ParameterSet>("TProfrapidityResProfilewclus1");
392  layerswitchrapidityResProfilewclus1 = ParametersrapidityResProfilewclus1.getParameter<bool>("layerswitchon");
393 
394  edm::ParameterSet ParametersrapidityResProfilewclus2 =
395  conf_.getParameter<edm::ParameterSet>("TProfrapidityResProfilewclus2");
396  layerswitchrapidityResProfilewclus2 = ParametersrapidityResProfilewclus2.getParameter<bool>("layerswitchon");
397 
398  edm::ParameterSet ParametersrapidityResProfilewclus3 =
399  conf_.getParameter<edm::ParameterSet>("TProfrapidityResProfilewclus3");
400  layerswitchrapidityResProfilewclus3 = ParametersrapidityResProfilewclus3.getParameter<bool>("layerswitchon");
401 
402  edm::ParameterSet ParametersrapidityResProfilewclus4 =
403  conf_.getParameter<edm::ParameterSet>("TProfrapidityResProfilewclus4");
404  layerswitchrapidityResProfilewclus4 = ParametersrapidityResProfilewclus4.getParameter<bool>("layerswitchon");
405 
406  edm::ParameterSet ParametersWclusSas = conf_.getParameter<edm::ParameterSet>("TH1WclusSas");
407  layerswitchWclusSas = ParametersWclusSas.getParameter<bool>("layerswitchon");
408 
409  edm::ParameterSet ParametersAdcSas = conf_.getParameter<edm::ParameterSet>("TH1AdcSas");
410  layerswitchAdcSas = ParametersAdcSas.getParameter<bool>("layerswitchon");
411 
412  edm::ParameterSet ParametersResolxLFSas = conf_.getParameter<edm::ParameterSet>("TH1ResolxLFSas");
413  layerswitchResolxLFSas = ParametersResolxLFSas.getParameter<bool>("layerswitchon");
414 
415  edm::ParameterSet ParametersResolxMFSas = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFSas");
416  layerswitchResolxMFSas = ParametersResolxMFSas.getParameter<bool>("layerswitchon");
417 
418  edm::ParameterSet ParametersResLFSas = conf_.getParameter<edm::ParameterSet>("TH1ResLFSas");
419  layerswitchResLFSas = ParametersResLFSas.getParameter<bool>("layerswitchon");
420 
421  edm::ParameterSet ParametersResMFSas = conf_.getParameter<edm::ParameterSet>("TH1ResMFSas");
422  layerswitchResMFSas = ParametersResMFSas.getParameter<bool>("layerswitchon");
423 
424  edm::ParameterSet ParametersPullLFSas = conf_.getParameter<edm::ParameterSet>("TH1PullLFSas");
425  layerswitchPullLFSas = ParametersPullLFSas.getParameter<bool>("layerswitchon");
426 
427  edm::ParameterSet ParametersPullMFSas = conf_.getParameter<edm::ParameterSet>("TH1PullMFSas");
428  layerswitchPullMFSas = ParametersPullMFSas.getParameter<bool>("layerswitchon");
429 
430  edm::ParameterSet ParametersTrackangleSas = conf_.getParameter<edm::ParameterSet>("TH1TrackangleSas");
431  layerswitchTrackangleSas = ParametersTrackangleSas.getParameter<bool>("layerswitchon");
432 
433  edm::ParameterSet ParametersTrackanglebetaSas = conf_.getParameter<edm::ParameterSet>("TH1TrackanglebetaSas");
434  layerswitchTrackanglebetaSas = ParametersTrackanglebetaSas.getParameter<bool>("layerswitchon");
435 
436  edm::ParameterSet ParametersPullTrackangleProfileSas =
437  conf_.getParameter<edm::ParameterSet>("TProfPullTrackangleProfileSas");
438  layerswitchPullTrackangleProfileSas = ParametersPullTrackangleProfileSas.getParameter<bool>("layerswitchon");
439 
440  edm::ParameterSet ParametersTrackwidthSas = conf_.getParameter<edm::ParameterSet>("TH1TrackwidthSas");
441  layerswitchTrackwidthSas = ParametersTrackwidthSas.getParameter<bool>("layerswitchon");
442 
443  edm::ParameterSet ParametersExpectedwidthSas = conf_.getParameter<edm::ParameterSet>("TH1ExpectedwidthSas");
444  layerswitchExpectedwidthSas = ParametersExpectedwidthSas.getParameter<bool>("layerswitchon");
445 
446  edm::ParameterSet ParametersClusterwidthSas = conf_.getParameter<edm::ParameterSet>("TH1ClusterwidthSas");
447  layerswitchClusterwidthSas = ParametersClusterwidthSas.getParameter<bool>("layerswitchon");
448 
449  edm::ParameterSet ParametersCategorySas = conf_.getParameter<edm::ParameterSet>("TH1CategorySas");
450  layerswitchCategorySas = ParametersCategorySas.getParameter<bool>("layerswitchon");
451 
452  edm::ParameterSet ParametersPullTrackwidthProfileSas =
453  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileSas");
454  layerswitchPullTrackwidthProfileSas = ParametersPullTrackwidthProfileSas.getParameter<bool>("layerswitchon");
455 
456  edm::ParameterSet ParametersPullTrackwidthProfileCategory1Sas =
457  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory1Sas");
459  ParametersPullTrackwidthProfileCategory1Sas.getParameter<bool>("layerswitchon");
460 
461  edm::ParameterSet ParametersPullTrackwidthProfileCategory2Sas =
462  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory2Sas");
464  ParametersPullTrackwidthProfileCategory2Sas.getParameter<bool>("layerswitchon");
465 
466  edm::ParameterSet ParametersPullTrackwidthProfileCategory3Sas =
467  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory3Sas");
469  ParametersPullTrackwidthProfileCategory3Sas.getParameter<bool>("layerswitchon");
470 
471  edm::ParameterSet ParametersPullTrackwidthProfileCategory4Sas =
472  conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory4Sas");
474  ParametersPullTrackwidthProfileCategory4Sas.getParameter<bool>("layerswitchon");
475 
476  edm::ParameterSet ParametersResolxMFTrackwidthProfileSas =
477  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileSas");
478  layerswitchResolxMFTrackwidthProfileSas = ParametersResolxMFTrackwidthProfileSas.getParameter<bool>("layerswitchon");
479 
480  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory1Sas =
481  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory1Sas");
483  ParametersResolxMFTrackwidthProfileCategory1Sas.getParameter<bool>("layerswitchon");
484 
485  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory2Sas =
486  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory2Sas");
488  ParametersResolxMFTrackwidthProfileCategory2Sas.getParameter<bool>("layerswitchon");
489 
490  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory3Sas =
491  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory3Sas");
493  ParametersResolxMFTrackwidthProfileCategory3Sas.getParameter<bool>("layerswitchon");
494 
495  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory4Sas =
496  conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory4Sas");
498  ParametersResolxMFTrackwidthProfileCategory4Sas.getParameter<bool>("layerswitchon");
499 
500  edm::ParameterSet ParametersResolxMFAngleProfileSas =
501  conf_.getParameter<edm::ParameterSet>("TProfResolxMFAngleProfileSas");
502  layerswitchResolxMFAngleProfileSas = ParametersResolxMFAngleProfileSas.getParameter<bool>("layerswitchon");
503 
504  edm::ParameterSet ParametersResolxMFClusterwidthProfileCategory1Sas =
505  conf_.getParameter<edm::ParameterSet>("TProfResolxMFClusterwidthProfileCategory1Sas");
507  ParametersResolxMFClusterwidthProfileCategory1Sas.getParameter<bool>("layerswitchon");
508 
509  edm::ParameterSet ParametersPosxMatched = conf_.getParameter<edm::ParameterSet>("TH1PosxMatched");
510  layerswitchPosxMatched = ParametersPosxMatched.getParameter<bool>("layerswitchon");
511 
512  edm::ParameterSet ParametersPosyMatched = conf_.getParameter<edm::ParameterSet>("TH1PosyMatched");
513  layerswitchPosyMatched = ParametersPosyMatched.getParameter<bool>("layerswitchon");
514 
515  edm::ParameterSet ParametersResolxMatched = conf_.getParameter<edm::ParameterSet>("TH1ResolxMatched");
516  layerswitchResolxMatched = ParametersResolxMatched.getParameter<bool>("layerswitchon");
517 
518  edm::ParameterSet ParametersResolyMatched = conf_.getParameter<edm::ParameterSet>("TH1ResolyMatched");
519  layerswitchResolyMatched = ParametersResolyMatched.getParameter<bool>("layerswitchon");
520 
521  edm::ParameterSet ParametersResxMatched = conf_.getParameter<edm::ParameterSet>("TH1ResxMatched");
522  layerswitchResxMatched = ParametersResxMatched.getParameter<bool>("layerswitchon");
523 
524  edm::ParameterSet ParametersResyMatched = conf_.getParameter<edm::ParameterSet>("TH1ResyMatched");
525  layerswitchResyMatched = ParametersResyMatched.getParameter<bool>("layerswitchon");
526 
527  edm::ParameterSet ParametersPullxMatched = conf_.getParameter<edm::ParameterSet>("TH1PullxMatched");
528  layerswitchPullxMatched = ParametersPullxMatched.getParameter<bool>("layerswitchon");
529 
530  edm::ParameterSet ParametersPullyMatched = conf_.getParameter<edm::ParameterSet>("TH1PullyMatched");
531  layerswitchPullyMatched = ParametersPullyMatched.getParameter<bool>("layerswitchon");
532 }
533 
534 //Destructor
536 //--------------------------------------------------------------------------------------------
538  const edm::Run &run,
539  const edm::EventSetup &es) {
540  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
541  if (m_cacheID_ != cacheID) {
542  m_cacheID_ = cacheID;
543  edm::LogInfo("SiStripRecHitsValid") << "SiStripRecHitsValid::beginRun: "
544  << " Creating MEs for new Cabling ";
545 
546  createMEs(ibooker, es);
547  }
548 }
549 
550 // Functions that gets called by framework every event
552  LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " << e.id().event();
553  //cout << " Run = " << e.id().run() << " Event = " << e.id().event() << endl;
554 
555  int isrechitrphi = 0;
556  int isrechitsas = 0;
557  int isrechitmatched = 0;
558 
559  DetId detid;
560  uint32_t myid;
561 
563 
564  //Retrieve tracker topology from geometry
565  edm::ESHandle<TrackerTopology> tTopoHandle;
566  es.get<TrackerTopologyRcd>().get(tTopoHandle);
567  const TrackerTopology *const tTopo = tTopoHandle.product();
568 
570  es.get<TrackerDigiGeometryRecord>().get(pDD);
571  const TrackerGeometry &tracker(*pDD);
572 
573  const TrackerGeometry *tracker2;
575  es.get<TrackerDigiGeometryRecord>().get(estracker);
576  tracker2 = &(*estracker);
577 
580 
581  const MagneticField &magfield_(*magfield);
582  magfield2_ = &magfield_;
583 
585  es.get<TkStripCPERecord>().get("SimpleStripCPE", stripcpe);
586 
587  // Mangano's
588 
589  edm::Handle<std::vector<reco::Track> > trackCollectionHandle;
590  e.getByToken(tracksInputToken_, trackCollectionHandle);
591 
592  edm::LogVerbatim("TrajectoryAnalyzer") << "trackColl->size(): " << trackCollectionHandle->size();
593  auto const &tracks = *trackCollectionHandle;
594  for (auto const &track : tracks) {
595  if (track.pt() < 0.5)
596  continue;
597  edm::LogVerbatim("TrajectoryAnalyzer") << "this track has " << track.found() << " valid hits";
598 
599  auto const &trajParams = track.extra()->trajParams();
600  assert(trajParams.size() == track.recHitsSize());
601  auto hb = track.recHitsBegin();
602  for (unsigned int h = 0; h < track.recHitsSize(); h++) {
603  auto recHit = *(hb + h);
604  if (!recHit->isValid())
605  continue;
606  auto ldir = trajParams[h].direction();
607  auto gmom = recHit->surface()->toGlobal(trajParams[h].momentum());
608  if (gmom.perp() < 0.5)
609  continue; // redundant...
610  {
611  auto thit2 = recHit;
612  DetId detid2 = thit2->geographicalId();
613  const SiStripMatchedRecHit2D *matchedhit = dynamic_cast<const SiStripMatchedRecHit2D *>(thit2);
614  const SiStripRecHit2D *hit2d = dynamic_cast<const SiStripRecHit2D *>(thit2);
615  const SiStripRecHit1D *hit1d = dynamic_cast<const SiStripRecHit1D *>(thit2);
616 
617  auto thit = thit2;
618 
619  detid = (thit)->geographicalId();
620  myid = detid.rawId();
621  //Here due to the fact that the SiStripHistoId::getSubdetid complains when
622  //a subdet of 1 or 2 appears we add an if statement.
623  if (detid.subdetId() == 1 || detid.subdetId() == 2) {
624  continue;
625  }
626  SiStripHistoId hidmanager;
627  std::string label = hidmanager.getSubdetid(myid, tTopo, true);
628  // std::cout<< "label " << label << " and id " << detid.subdetId() << std::endl;
629 
630  StripSubdetector StripSubdet = (StripSubdetector)detid;
631  //Variable to define the case we are dealing with
632  std::string matchedmonorstereo;
633 
634  isrechitmatched = 0;
635 
636  if (matchedhit) {
637  isrechitmatched = 1;
638  const GluedGeomDet *gluedDet = (const GluedGeomDet *)tracker.idToDet(matchedhit->geographicalId());
639  //Analysis
640  rechitanalysis_matched(ldir, thit2, gluedDet, associate, stripcpe, MatchStatus::matched);
641  // rechitmatched.push_back(rechitpro);
642  }
643 
644  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
645 
646  //Filling Histograms for Matched hits
647 
648  if (isrechitmatched) {
649  if (iStereoAndMatchedME != StereoAndMatchedMEsMap.end()) {
650  fillME(iStereoAndMatchedME->second.mePosxMatched, rechitpro.x);
651  fillME(iStereoAndMatchedME->second.mePosyMatched, rechitpro.y);
652  fillME(iStereoAndMatchedME->second.meResolxMatched, sqrt(rechitpro.resolxx));
653  fillME(iStereoAndMatchedME->second.meResolyMatched, sqrt(rechitpro.resolyy));
654  fillME(iStereoAndMatchedME->second.meResxMatched, rechitpro.resx);
655  fillME(iStereoAndMatchedME->second.meResyMatched, rechitpro.resy);
656  fillME(iStereoAndMatchedME->second.mePullxMatched, rechitpro.pullx);
657  fillME(iStereoAndMatchedME->second.mePullyMatched, rechitpro.pully);
658  }
659  }
660 
661  //Reset Variables here for the current event
662  isrechitrphi = 0;
663  isrechitsas = 0;
664 
666  // simple hits from matched hits
668 
669  if (gmom.transverse() != 0) {
670  track_rapidity = gmom.eta();
671  } else {
672  track_rapidity = -999.0;
673  }
674 
675  if (matchedhit) {
676  auto hm = matchedhit->monoHit();
677  const SiStripRecHit2D *monohit = &hm;
678  // const GeomDetUnit * monodet=gdet->monoDet();
679  GluedGeomDet *gdet = (GluedGeomDet *)tracker2->idToDet(matchedhit->geographicalId());
680 
681  if (monohit) {
682  isrechitrphi = 1;
683 
684  //Analysis
685  rechitanalysis_matched(ldir, thit2, gdet, associate, stripcpe, MatchStatus::monoHit);
686  }
687 
688  auto s = matchedhit->stereoHit();
689  const SiStripRecHit2D *stereohit = &s;
690 
691  if (stereohit) {
692  isrechitsas = 1;
693 
694  //Analysis
695  rechitanalysis_matched(ldir, thit2, gdet, associate, stripcpe, MatchStatus::stereoHit);
696  }
697  }
698 
699  if (hit1d) {
700  // simple hits are mono or stereo
701  // cout<<"simple hit"<<endl;
702  if (StripSubdet.stereo()) {
703  //cout<<"simple hit stereo"<<endl;
704  isrechitsas = 1;
705 
706  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
707  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *)(det);
708 
709  //Analysis for hit1d stereo
710  rechitanalysis(ldir, thit2, stripdet, stripcpe, associate, true);
711  } else {
712  isrechitrphi = 1;
713  // cout<<"simple hit mono"<<endl;
714 
715  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
716  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *)(det);
717 
718  //Analysis for hit1d mono
719  rechitanalysis(ldir, thit2, stripdet, stripcpe, associate, true);
720  }
721  }
722 
723  if (hit2d) {
724  // simple hits are mono or stereo
725  // cout<<"simple hit"<<endl;
726  if (StripSubdet.stereo()) {
727  //cout<<"simple hit stereo"<<endl;
728  isrechitsas = 1;
729 
730  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
731  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *)(det);
732 
733  //Analysis for hit2d stereo
734  rechitanalysis(ldir, thit2, stripdet, stripcpe, associate, false);
735 
736  } else {
737  isrechitrphi = 1;
738  // cout<<"simple hit mono"<<endl;
739 
740  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
741  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *)(det);
742 
743  //Analysis for hit2d mono
744  rechitanalysis(ldir, thit2, stripdet, stripcpe, associate, false);
745  }
746  }
747 
748  //------------------------------------------------------------------------------------------------------------------------------------------------------
749 
750  //Filling Histograms for simple hits
751  //cout<<"isrechitrphi,isrechitsas = "<<isrechitrphi<<","<<isrechitsas<<endl;
752 
753  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
754  if (isrechitrphi) {
761 
764 
765  if (rechitpro.clusiz == 1) {
768  } else if (rechitpro.clusiz == 2) {
774  } else if (rechitpro.clusiz == 3) {
777  } else if (rechitpro.clusiz == 4) {
780  }
781 
782  if (rechitpro.category == 1) {
785  } else if (rechitpro.category == 2) {
787  } else if (rechitpro.category == 3) {
789  } else if (rechitpro.category == 4) {
791  }
792 
799 
800  if (iLayerME != LayerMEsMap.end()) {
801  fillME(iLayerME->second.meWclusRphi, rechitpro.clusiz);
802  fillME(iLayerME->second.meAdcRphi, rechitpro.cluchg);
803  fillME(iLayerME->second.meResolxLFRphi, sqrt(rechitpro.resolxx));
804  fillME(iLayerME->second.meResolxMFRphi, sqrt(rechitpro.resolxxMF));
805 
806  if ((min(rechitpro.clusiz, 4) - 1) == 1) {
807  fillME(iLayerME->second.meResolxMFRphiwclus1, sqrt(rechitpro.resolxxMF));
808  }
809  if ((min(rechitpro.clusiz, 4) - 1) == 2) {
810  fillME(iLayerME->second.meResolxMFRphiwclus2, sqrt(rechitpro.resolxxMF));
811  }
812  if ((min(rechitpro.clusiz, 4) - 1) == 3) {
813  fillME(iLayerME->second.meResolxMFRphiwclus3, sqrt(rechitpro.resolxxMF));
814  }
815  if ((min(rechitpro.clusiz, 4) - 1) == 4) {
816  fillME(iLayerME->second.meResolxMFRphiwclus4, sqrt(rechitpro.resolxxMF));
817  }
818 
819  fillME(iLayerME->second.meResLFRphi, rechitpro.resx);
820  fillME(iLayerME->second.meResMFRphi, rechitpro.resxMF);
821 
822  if ((min(rechitpro.clusiz, 4) - 1) == 1) {
823  fillME(iLayerME->second.merapidityResProfilewclus1, track_rapidity, fabs(rechitpro.resxMF));
824  }
825  if ((min(rechitpro.clusiz, 4) - 1) == 2) {
826  fillME(iLayerME->second.merapidityResProfilewclus2, track_rapidity, fabs(rechitpro.resxMF));
827  }
828  if ((min(rechitpro.clusiz, 4) - 1) == 3) {
829  fillME(iLayerME->second.merapidityResProfilewclus3, track_rapidity, fabs(rechitpro.resxMF));
830  }
831  if ((min(rechitpro.clusiz, 4) - 1) == 4) {
832  fillME(iLayerME->second.merapidityResProfilewclus4, track_rapidity, fabs(rechitpro.resxMF));
833  }
834 
835  if ((min(rechitpro.clusiz, 4) - 1) == 1) {
836  fillME(iLayerME->second.meResMFRphiwclus1, rechitpro.resxMF);
837  }
838  if ((min(rechitpro.clusiz, 4) - 1) == 2) {
839  fillME(iLayerME->second.meResMFRphiwclus2, rechitpro.resxMF);
840  }
841  if ((min(rechitpro.clusiz, 4) - 1) == 3) {
842  fillME(iLayerME->second.meResMFRphiwclus3, rechitpro.resxMF);
843  }
844  if ((min(rechitpro.clusiz, 4) - 1) == 4) {
845  fillME(iLayerME->second.meResMFRphiwclus4, rechitpro.resxMF);
846  }
847 
848  fillME(iLayerME->second.mePullLFRphi, rechitpro.pullx);
849  fillME(iLayerME->second.mePullMFRphi, rechitpro.pullxMF);
850 
851  if ((min(rechitpro.clusiz, 4) - 1) == 1) {
852  fillME(iLayerME->second.mePullMFRphiwclus1, rechitpro.pullxMF);
853  }
854  if ((min(rechitpro.clusiz, 4) - 1) == 2) {
855  fillME(iLayerME->second.mePullMFRphiwclus2, rechitpro.pullxMF);
856  }
857  if ((min(rechitpro.clusiz, 4) - 1) == 3) {
858  fillME(iLayerME->second.mePullMFRphiwclus3, rechitpro.pullxMF);
859  }
860  if ((min(rechitpro.clusiz, 4) - 1) == 4) {
861  fillME(iLayerME->second.mePullMFRphiwclus4, rechitpro.pullxMF);
862  }
863 
864  fillME(iLayerME->second.meTrackangleRphi, rechitpro.trackangle);
865  fillME(iLayerME->second.mePullTrackangleProfileRphi, rechitpro.trackangle, fabs(rechitpro.pullxMF));
866 
867  if ((min(rechitpro.clusiz, 4) - 1) == 1) {
868  fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus1, rechitpro.trackwidth, fabs(rechitpro.pullxMF));
869  }
870  if ((min(rechitpro.clusiz, 4) - 1) == 2) {
871  fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus2, rechitpro.trackwidth, fabs(rechitpro.pullxMF));
872  }
873  if ((min(rechitpro.clusiz, 4) - 1) == 3) {
874  fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus3, rechitpro.trackwidth, fabs(rechitpro.pullxMF));
875  }
876  if ((min(rechitpro.clusiz, 4) - 1) == 4) {
877  fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus4, rechitpro.trackwidth, fabs(rechitpro.pullxMF));
878  }
879 
880  if (rechitpro.clusiz == 1) {
881  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus1Rphi,
884  fillME(iLayerME->second.meResMFTrackwidthProfileWclus1Rphi, rechitpro.trackwidth, fabs(rechitpro.resxMF));
885  }
886  if (rechitpro.clusiz == 2) {
887  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus2Rphi,
890  fillME(iLayerME->second.meResMFTrackwidthProfileWclus2Rphi, rechitpro.trackwidth, fabs(rechitpro.resxMF));
891  }
892  if (rechitpro.clusiz == 3) {
893  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus3Rphi,
896  fillME(iLayerME->second.meResMFTrackwidthProfileWclus3Rphi, rechitpro.trackwidth, fabs(rechitpro.resxMF));
897  }
898  if (rechitpro.clusiz == 4) {
899  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus4Rphi,
902  fillME(iLayerME->second.meResMFTrackwidthProfileWclus4Rphi, rechitpro.trackwidth, fabs(rechitpro.resxMF));
903  }
904 
905  if (rechitpro.category == 1) {
906  fillME(
907  iLayerME->second.mePullTrackwidthProfileCategory1Rphi, rechitpro.trackwidth, fabs(rechitpro.pullxMF));
908  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory1Rphi,
911  fillME(iLayerME->second.meResolxMFClusterwidthProfileCategory1Rphi,
914  } else if (rechitpro.category == 2) {
915  fillME(
916  iLayerME->second.mePullTrackwidthProfileCategory2Rphi, rechitpro.trackwidth, fabs(rechitpro.pullxMF));
917  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory2Rphi,
920  } else if (rechitpro.category == 3) {
921  fillME(
922  iLayerME->second.mePullTrackwidthProfileCategory3Rphi, rechitpro.trackwidth, fabs(rechitpro.pullxMF));
923  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory3Rphi,
926  } else if (rechitpro.category == 4) {
927  fillME(
928  iLayerME->second.mePullTrackwidthProfileCategory4Rphi, rechitpro.trackwidth, fabs(rechitpro.pullxMF));
929  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory4Rphi,
932  }
933 
934  fillME(iLayerME->second.meTrackwidthRphi, rechitpro.trackwidth);
935  fillME(iLayerME->second.meExpectedwidthRphi, rechitpro.expectedwidth);
936  fillME(iLayerME->second.meClusterwidthRphi, rechitpro.clusiz);
937  fillME(iLayerME->second.meCategoryRphi, rechitpro.category);
938  fillME(iLayerME->second.meResolxMFTrackwidthProfileRphi, rechitpro.trackwidth, sqrt(rechitpro.resolxxMF));
939  fillME(iLayerME->second.meResolxMFAngleProfileRphi, rechitpro.trackangle, sqrt(rechitpro.resolxxMF));
940  }
941  }
942 
943  if (isrechitsas > 0) {
950 
953 
954  if (rechitpro.clusiz == 1) {
957  } else if (rechitpro.clusiz == 2) {
960  } else if (rechitpro.clusiz == 3) {
963  } else if (rechitpro.clusiz == 4) {
966  }
967  if (rechitpro.category == 1) {
970  } else if (rechitpro.category == 2) {
972  } else if (rechitpro.category == 3) {
974  } else if (rechitpro.category == 4) {
976  }
977 
984 
985  if (iStereoAndMatchedME != StereoAndMatchedMEsMap.end()) {
986  fillME(iStereoAndMatchedME->second.meWclusSas, rechitpro.clusiz);
987  fillME(iStereoAndMatchedME->second.meAdcSas, rechitpro.cluchg);
988  fillME(iStereoAndMatchedME->second.meResolxLFSas, sqrt(rechitpro.resolxx));
989  fillME(iStereoAndMatchedME->second.meResLFSas, rechitpro.resx);
990  fillME(iStereoAndMatchedME->second.mePullLFSas, rechitpro.pullx);
991  fillME(iStereoAndMatchedME->second.meResolxMFSas, sqrt(rechitpro.resolxxMF));
992  fillME(iStereoAndMatchedME->second.meResMFSas, rechitpro.resxMF);
993  fillME(iStereoAndMatchedME->second.mePullMFSas, rechitpro.pullxMF);
994  fillME(iStereoAndMatchedME->second.meTrackangleSas, rechitpro.trackangle);
995  fillME(iStereoAndMatchedME->second.mePullTrackangleProfileSas, rechitpro.trackangle, rechitpro.pullxMF);
996  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileSas, rechitpro.trackwidth, rechitpro.pullxMF);
997  if (rechitpro.category == 1) {
998  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory1Sas,
1000  rechitpro.pullxMF);
1001  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory1Sas,
1004  fillME(iStereoAndMatchedME->second.meResolxMFClusterwidthProfileCategory1Sas,
1005  rechitpro.clusiz,
1007  } else if (rechitpro.category == 2) {
1008  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory2Sas,
1010  rechitpro.pullxMF);
1011  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory2Sas,
1014  } else if (rechitpro.category == 3) {
1015  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory3Sas,
1017  rechitpro.pullxMF);
1018  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory3Sas,
1021  } else if (rechitpro.category == 4) {
1022  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory4Sas,
1024  rechitpro.pullxMF);
1025  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory4Sas,
1028  }
1029  fillME(iStereoAndMatchedME->second.meTrackwidthSas, rechitpro.trackwidth);
1030  fillME(iStereoAndMatchedME->second.meExpectedwidthSas, rechitpro.expectedwidth);
1031  fillME(iStereoAndMatchedME->second.meClusterwidthSas, rechitpro.clusiz);
1032  fillME(iStereoAndMatchedME->second.meCategorySas, rechitpro.category);
1033  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileSas,
1036  fillME(iStereoAndMatchedME->second.meResolxMFAngleProfileSas, rechitpro.trackangle, rechitpro.resolxxMF);
1037  }
1038  }
1039  }
1040  }
1041  }
1042 }
1043 
1044 //needed by to do the residual for matched hits
1045 std::pair<LocalPoint, LocalVector> SiStripTrackingRecHitsValid::projectHit(const PSimHit &hit,
1046  const StripGeomDetUnit *stripDet,
1047  const BoundPlane &plane) {
1048  // const StripGeomDetUnit* stripDet = dynamic_cast<const StripGeomDetUnit*>(hit.det());
1049  //if (stripDet == 0) throw MeasurementDetException("HitMatcher hit is not on StripGeomDetUnit");
1050 
1051  const StripTopology &topol = stripDet->specificTopology();
1052  GlobalPoint globalpos = stripDet->surface().toGlobal(hit.localPosition());
1053  LocalPoint localHit = plane.toLocal(globalpos);
1054  //track direction
1055  LocalVector locdir = hit.localDirection();
1056  //rotate track in new frame
1057 
1058  GlobalVector globaldir = stripDet->surface().toGlobal(locdir);
1059  LocalVector dir = plane.toLocal(globaldir);
1060  float scale = -localHit.z() / dir.z();
1061 
1062  LocalPoint projectedPos = localHit + scale * dir;
1063 
1064  // std::cout << "projectedPos " << projectedPos << std::endl;
1065 
1066  float selfAngle = topol.stripAngle(topol.strip(hit.localPosition()));
1067 
1068  LocalVector stripDir(sin(selfAngle), cos(selfAngle), 0); // vector along strip in hit frame
1069 
1070  LocalVector localStripDir(plane.toLocal(stripDet->surface().toGlobal(stripDir)));
1071 
1072  return std::pair<LocalPoint, LocalVector>(projectedPos, localStripDir);
1073 }
1074 //--------------------------------------------------------------------------------------------
1076  const TrackingRecHit *rechit,
1077  const GluedGeomDet *gluedDet,
1078  TrackerHitAssociator &associate,
1080  const MatchStatus matchedmonorstereo) {
1081  rechitpro.resx = -999999.;
1082  rechitpro.resy = -999999.;
1083  rechitpro.resxMF = -999999.;
1084  rechitpro.pullx = -999999.;
1085  rechitpro.pully = -999999.;
1086  rechitpro.pullxMF = -999999.;
1087  rechitpro.trackangle = -999999.;
1088  rechitpro.trackanglebeta = -999999.;
1089 
1090  const GeomDetUnit *monodet = gluedDet->monoDet();
1091  const GeomDetUnit *stereodet = gluedDet->stereoDet();
1092  //We initialized it to monoHit case because it complains that it may be uninitialized
1093  //and it will change value in the stereoHit case. The matched case do not use this
1094  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *)(monodet);
1095 
1096  const SiStripMatchedRecHit2D *matchedhit = dynamic_cast<const SiStripMatchedRecHit2D *>(rechit);
1097  const SiStripRecHit2D *monohit = nullptr;
1098  const SiStripRecHit2D *stereohit = nullptr;
1100 
1101  if (matchedmonorstereo == MatchStatus::monoHit) {
1102  auto hm = matchedhit->monoHit();
1103  monohit = &hm;
1104  stripdet = (const StripGeomDetUnit *)(monodet);
1105  } else if (matchedmonorstereo == MatchStatus::stereoHit) {
1106  auto s = matchedhit->stereoHit();
1107  stereohit = &s;
1108  stripdet = (const StripGeomDetUnit *)(stereodet);
1109  }
1110  //if(matchedhit) cout<<"manganomatchedhit"<<endl;
1111  //if(hit) cout<<"manganosimplehit"<<endl;
1112  //if (hit && matchedhit) cout<<"manganosimpleandmatchedhit"<<endl;
1113  const StripTopology &topol = (const StripTopology &)stripdet->topology();
1114 
1115  const LocalVector &trackdirection = ldir;
1116 
1117  GlobalVector gtrkdir = gluedDet->toGlobal(trackdirection);
1118  LocalVector monotkdir = monodet->toLocal(gtrkdir);
1119  LocalVector stereotkdir = stereodet->toLocal(gtrkdir);
1120 
1122  LocalError error;
1123  MeasurementPoint Mposition;
1124  MeasurementError Merror;
1125 
1126  if (matchedmonorstereo == MatchStatus::matched) {
1127  position = rechit->localPosition();
1128  error = rechit->localPositionError();
1129  } else if (matchedmonorstereo == MatchStatus::monoHit) {
1130  position = monohit->localPosition();
1131  error = monohit->localPositionError();
1132  Mposition = topol.measurementPosition(position);
1133  Merror = topol.measurementError(position, error);
1134  if (monotkdir.z()) {
1135  rechitpro.trackangle = atan(monotkdir.x() / monotkdir.z()) * TMath::RadToDeg();
1136  rechitpro.trackanglebeta = atan(monotkdir.y() / monotkdir.z()) * TMath::RadToDeg();
1137  }
1138  clust = monohit->cluster();
1139  } else if (matchedmonorstereo == MatchStatus::stereoHit) {
1140  position = stereohit->localPosition();
1141  error = stereohit->localPositionError();
1142  Mposition = topol.measurementPosition(position);
1143  Merror = topol.measurementError(position, error);
1144  if (stereotkdir.z()) {
1145  rechitpro.trackangle = atan(stereotkdir.x() / stereotkdir.z()) * TMath::RadToDeg();
1146  rechitpro.trackanglebeta = atan(stereotkdir.y() / stereotkdir.z()) * TMath::RadToDeg();
1147  }
1148  clust = stereohit->cluster();
1149  }
1150 
1151  LocalVector drift = stripcpe->driftDirection(stripdet);
1152  rechitpro.thickness = stripdet->surface().bounds().thickness();
1153  float pitch = topol.localPitch(position);
1154  float tanalpha = tan(rechitpro.trackangle * TMath::DegToRad());
1155  float tanalphaL = drift.x() / drift.z();
1156  rechitpro.trackwidth = fabs((rechitpro.thickness / pitch) * tanalpha - (rechitpro.thickness / pitch) * tanalphaL);
1157  float SLorentz = 0.5 * (rechitpro.thickness / pitch) * tanalphaL;
1158  int Sp = int(position.x() / pitch + SLorentz + 0.5 * rechitpro.trackwidth);
1159  int Sm = int(position.x() / pitch + SLorentz - 0.5 * rechitpro.trackwidth);
1160  rechitpro.expectedwidth = 1 + Sp - Sm;
1161 
1162  const auto &amplitudes = clust->amplitudes();
1163  rechitpro.clusiz = amplitudes.size();
1164  int totcharge = 0;
1165  for (size_t ia = 0; ia < amplitudes.size(); ++ia) {
1166  totcharge += amplitudes[ia];
1167  }
1168 
1169  rechitpro.x = position.x();
1170  rechitpro.y = position.y();
1171  rechitpro.z = position.z();
1172  rechitpro.resolxx = error.xx();
1173  rechitpro.resolxy = error.xy();
1174  rechitpro.resolyy = error.yy();
1175  rechitpro.resolxxMF = Merror.uu();
1176  rechitpro.cluchg = totcharge;
1177 
1179  rechitpro.category = 1;
1180  } else if (rechitpro.expectedwidth == 1) {
1181  rechitpro.category = 2;
1182  } else if (rechitpro.clusiz <= rechitpro.expectedwidth) {
1183  rechitpro.category = 3;
1184  } else {
1185  rechitpro.category = 4;
1186  }
1187 
1188  if (matchedmonorstereo == MatchStatus::matched) {
1189  matched.clear();
1190  matched = associate.associateHit(*matchedhit);
1191  } else if (matchedmonorstereo == MatchStatus::monoHit) {
1192  matched.clear();
1193  matched = associate.associateHit(*monohit);
1194  } else if (matchedmonorstereo == MatchStatus::stereoHit) {
1195  matched.clear();
1196  matched = associate.associateHit(*stereohit);
1197  }
1198 
1199  if (!matched.empty()) {
1200  float mindist = std::numeric_limits<float>::max();
1201  float dist = std::numeric_limits<float>::max();
1202  float distx = std::numeric_limits<float>::max();
1203  float disty = std::numeric_limits<float>::max();
1204  std::pair<LocalPoint, LocalVector> closestPair;
1205  PSimHit *closest = nullptr;
1206 
1207  const StripGeomDetUnit *partnerstripdet = static_cast<const StripGeomDetUnit *>(gluedDet->stereoDet());
1208  std::pair<LocalPoint, LocalVector> hitPair;
1209 
1210  if (matchedmonorstereo == MatchStatus::matched) {
1211  for (auto &m : matched) {
1212  //project simhit;
1213  hitPair = projectHit(m, partnerstripdet, gluedDet->surface());
1214  distx = fabs(rechitpro.x - hitPair.first.x());
1215  disty = fabs(rechitpro.y - hitPair.first.y());
1216  dist = sqrt(distx * distx + disty * disty);
1217  if (dist < mindist) {
1218  mindist = dist;
1219  closestPair = hitPair;
1220  closest = &m;
1221  }
1222  }
1223  float closestX = closestPair.first.x();
1224  float closestY = closestPair.first.y();
1225  rechitpro.resx = rechitpro.x - closestX;
1226  rechitpro.resy = rechitpro.y - closestPair.first.y();
1227  rechitpro.pullx = ((rechit)->localPosition().x() - closestX) / sqrt(error.xx());
1228  rechitpro.pully = ((rechit)->localPosition().y() - closestY) / sqrt(error.yy());
1229  } else if (matchedmonorstereo == MatchStatus::monoHit) {
1230  for (auto &m : matched) {
1231  //project simhit;
1232  dist = abs((monohit)->localPosition().x() - m.localPosition().x());
1233  if (dist < mindist) {
1234  mindist = dist;
1235  closestPair = hitPair;
1236  closest = &m;
1237  }
1238  }
1239  float closestX = closest->localPosition().x();
1240  rechitpro.resx = rechitpro.x - closestX;
1241  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1242  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1243  rechitpro.pullxMF = (rechitpro.resxMF) / sqrt(Merror.uu());
1244  } else if (matchedmonorstereo == MatchStatus::stereoHit) {
1245  for (auto &m : matched) {
1246  //project simhit;
1247  dist = abs((stereohit)->localPosition().x() - m.localPosition().x());
1248  if (dist < mindist) {
1249  mindist = dist;
1250  closestPair = hitPair;
1251  closest = &m;
1252  }
1253  }
1254  float closestX = closest->localPosition().x();
1255  rechitpro.resx = rechitpro.x - closestX;
1256  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1257  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1258  rechitpro.pullxMF = (rechitpro.resxMF) / sqrt(Merror.uu());
1259  }
1260  }
1261 }
1262 //--------------------------------------------------------------------------------------------
1264  const TrackingRecHit *rechit,
1265  const StripGeomDetUnit *stripdet,
1267  TrackerHitAssociator &associate,
1268  bool simplehit1or2D) {
1269  rechitpro.resx = -999999.;
1270  rechitpro.resy = -999999.;
1271  rechitpro.resxMF = -999999.;
1272  rechitpro.pullx = -999999.;
1273  rechitpro.pully = -999999.;
1274  rechitpro.pullxMF = -999999.;
1275 
1276  //If simplehit1or2D is true we are dealing with hit1d, false is for hit2d
1277  const SiStripRecHit2D *hit2d = dynamic_cast<const SiStripRecHit2D *>(rechit);
1278  const SiStripRecHit1D *hit1d = dynamic_cast<const SiStripRecHit1D *>(rechit);
1279 
1280  const StripTopology &topol = (const StripTopology &)stripdet->topology();
1281 
1282  LocalPoint position = rechit->localPosition();
1283  LocalError error = rechit->localPositionError();
1284  MeasurementPoint Mposition = topol.measurementPosition(position);
1286 
1287  const LocalVector &trackdirection = ldir;
1288  rechitpro.trackangle = std::atan(trackdirection.x() / trackdirection.z()) * TMath::RadToDeg();
1289  rechitpro.trackanglebeta = std::atan(trackdirection.y() / trackdirection.z()) * TMath::RadToDeg();
1290 
1291  LocalVector drift = stripcpe->driftDirection(stripdet);
1292  rechitpro.thickness = stripdet->surface().bounds().thickness();
1293  float pitch = topol.localPitch(position);
1294  float tanalpha = tan(rechitpro.trackangle * TMath::DegToRad());
1295  float tanalphaL = drift.x() / drift.z();
1296  rechitpro.trackwidth = fabs((rechitpro.thickness / pitch) * tanalpha - (rechitpro.thickness / pitch) * tanalphaL);
1297  float SLorentz = 0.5 * (rechitpro.thickness / pitch) * tanalphaL;
1298  int Sp = int(position.x() / pitch + SLorentz + 0.5 * rechitpro.trackwidth);
1299  int Sm = int(position.x() / pitch + SLorentz - 0.5 * rechitpro.trackwidth);
1300  rechitpro.expectedwidth = 1 + Sp - Sm;
1301 
1302  int totcharge = 0;
1303  if (simplehit1or2D) {
1305  clust1d = hit1d->cluster();
1306  const auto &amplitudes1d = clust1d->amplitudes();
1307  rechitpro.clusiz = amplitudes1d.size();
1308  for (size_t ia = 0; ia < amplitudes1d.size(); ++ia) {
1309  totcharge += amplitudes1d[ia];
1310  }
1311  } else {
1313  clust2d = hit2d->cluster();
1314  const auto &amplitudes2d = clust2d->amplitudes();
1315  rechitpro.clusiz = amplitudes2d.size();
1316  for (size_t ia = 0; ia < amplitudes2d.size(); ++ia) {
1317  totcharge += amplitudes2d[ia];
1318  }
1319  }
1320 
1321  rechitpro.x = position.x();
1322  rechitpro.y = position.y();
1323  rechitpro.z = position.z();
1324  rechitpro.resolxx = error.xx();
1325  rechitpro.resolxy = error.xy();
1326  rechitpro.resolyy = error.yy();
1327  rechitpro.resolxxMF = Merror.uu();
1328  rechitpro.cluchg = totcharge;
1329 
1331  rechitpro.category = 1;
1332  } else if (rechitpro.expectedwidth == 1) {
1333  rechitpro.category = 2;
1334  } else if (rechitpro.clusiz <= rechitpro.expectedwidth) {
1335  rechitpro.category = 3;
1336  } else {
1337  rechitpro.category = 4;
1338  }
1339 
1340  matched.clear();
1341  float mindist = std::numeric_limits<float>::max();
1342  float dist = std::numeric_limits<float>::max();
1343  PSimHit *closest = nullptr;
1344 
1345  if (simplehit1or2D) {
1346  matched = associate.associateHit(*hit1d);
1347  if (!matched.empty()) {
1348  for (auto &m : matched) {
1349  dist = abs((hit1d)->localPosition().x() - m.localPosition().x());
1350  if (dist < mindist) {
1351  mindist = dist;
1352  closest = &m;
1353  }
1354  }
1355  float closestX = closest->localPosition().x();
1356  rechitpro.resx = rechitpro.x - closestX;
1357  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1358  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1359  rechitpro.pullxMF = (rechitpro.resxMF) / sqrt(Merror.uu());
1360  }
1361  } else {
1362  matched = associate.associateHit(*hit2d);
1363  if (!matched.empty()) {
1364  for (auto &m : matched) {
1365  dist = abs((hit2d)->localPosition().x() - m.localPosition().x());
1366  if (dist < mindist) {
1367  mindist = dist;
1368  closest = &m;
1369  }
1370  }
1371  float closestX = closest->localPosition().x();
1372  rechitpro.resx = rechitpro.x - closestX;
1373  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1374  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1375  rechitpro.pullxMF = (rechitpro.resxMF) / sqrt(Merror.uu());
1376  }
1377  }
1378 }
1379 //--------------------------------------------------------------------------------------------
1381  //Retrieve tracker topology from geometry
1382  edm::ESHandle<TrackerTopology> tTopoHandle;
1383  es.get<TrackerTopologyRcd>().get(tTopoHandle);
1384  const TrackerTopology *const tTopo = tTopoHandle.product();
1385 
1386  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
1388 
1389  // get list of active detectors from SiStripDetCabling
1390  std::vector<uint32_t> activeDets;
1392 
1393  SiStripFolderOrganizer folder_organizer;
1394  // folder_organizer.setSiStripFolderName(topFolderName_);
1395  std::string curfold = topFolderName_;
1396  folder_organizer.setSiStripFolderName(curfold);
1397  folder_organizer.setSiStripFolder();
1398 
1399  // std::cout << "curfold " << curfold << std::endl;
1400 
1401  createSimpleHitsMEs(ibooker);
1402 
1403  // loop over detectors and book MEs
1404  edm::LogInfo("SiStripTrackingRecHitsValid|SiStripTrackingRecHitsValid")
1405  << "nr. of activeDets: " << activeDets.size();
1406  const std::string &tec = "TEC", tid = "TID", tob = "TOB", tib = "TIB";
1407  for (std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(), detid_end = activeDets.end();
1408  detid_iterator != detid_end;
1409  ++detid_iterator) {
1410  uint32_t detid = (*detid_iterator);
1411  // remove any eventual zero elements - there should be none, but just in case
1412  if (detid == 0) {
1413  activeDets.erase(detid_iterator);
1414  continue;
1415  }
1416 
1417  // Create Layer Level MEs
1418  std::pair<std::string, int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo, true);
1419  SiStripHistoId hidmanager;
1420  std::string label = hidmanager.getSubdetid(detid, tTopo, true);
1421  // std::cout << "label " << label << endl;
1422 
1423  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
1424  if (iLayerME == LayerMEsMap.end()) {
1425  // get detids for the layer
1426  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
1427  int32_t lnumber = det_layer_pair.second;
1428  const std::string &lname = det_layer_pair.first;
1429  std::vector<uint32_t> layerDetIds;
1430  if (lname == tec) {
1431  if (lnumber > 0) {
1432  SiStripSubStructure::getTECDetectors(activeDets, layerDetIds, tTopo, 2, 0, 0, 0, abs(lnumber), 0);
1433  } else if (lnumber < 0) {
1434  SiStripSubStructure::getTECDetectors(activeDets, layerDetIds, tTopo, 1, 0, 0, 0, abs(lnumber), 0);
1435  }
1436  } else if (lname == tid) {
1437  if (lnumber > 0) {
1438  SiStripSubStructure::getTIDDetectors(activeDets, layerDetIds, tTopo, 2, 0, abs(lnumber), 0);
1439  } else if (lnumber < 0) {
1440  SiStripSubStructure::getTIDDetectors(activeDets, layerDetIds, tTopo, 1, 0, abs(lnumber), 0);
1441  }
1442  } else if (lname == tob) {
1443  SiStripSubStructure::getTOBDetectors(activeDets, layerDetIds, tTopo, lnumber, 0, 0);
1444  } else if (lname == tib) {
1445  SiStripSubStructure::getTIBDetectors(activeDets, layerDetIds, tTopo, lnumber, 0, 0, 0);
1446  }
1447  LayerDetMap[label] = layerDetIds;
1448 
1449  // book Layer MEs
1450  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second, true);
1451  // std::stringstream ss;
1452  // folder_organizer.getLayerFolderName(ss, detid, tTopo, true);
1453  // std::cout << "Folder Name " << ss.str().c_str() << std::endl;
1454  // folder_organizer.setLayerFolder(detid,det_layer_pair.second,true);
1455  createLayerMEs(ibooker, label);
1456  }
1457  //Create StereoAndMatchedMEs
1458  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
1459  if (iStereoAndMatchedME == StereoAndMatchedMEsMap.end()) {
1460  // get detids for the stereo and matched layer. We are going to need a bool for these layers
1461  bool isStereo = false;
1462  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
1463  std::vector<uint32_t> stereoandmatchedDetIds;
1464  int32_t stereolnumber = det_layer_pair.second;
1465  const std::string &stereolname = det_layer_pair.first;
1466  if (stereolname == tec && (tTopo->tecIsStereo(detid))) {
1467  if (stereolnumber > 0) {
1469  activeDets, stereoandmatchedDetIds, tTopo, 2, 0, 0, 0, abs(stereolnumber), 1);
1470  isStereo = true;
1471  } else if (stereolnumber < 0) {
1473  activeDets, stereoandmatchedDetIds, tTopo, 1, 0, 0, 0, abs(stereolnumber), 1);
1474  isStereo = true;
1475  }
1476  } else if (stereolname == tid && (tTopo->tidIsStereo(detid))) {
1477  if (stereolnumber > 0) {
1478  SiStripSubStructure::getTIDDetectors(activeDets, stereoandmatchedDetIds, tTopo, 2, 0, abs(stereolnumber), 1);
1479  isStereo = true;
1480  } else if (stereolnumber < 0) {
1481  SiStripSubStructure::getTIDDetectors(activeDets, stereoandmatchedDetIds, tTopo, 1, 0, abs(stereolnumber), 1);
1482  isStereo = true;
1483  }
1484  } else if (stereolname == tob && (tTopo->tobIsStereo(detid))) {
1485  SiStripSubStructure::getTOBDetectors(activeDets, stereoandmatchedDetIds, tTopo, stereolnumber, 0, 0);
1486  isStereo = true;
1487  } else if (stereolname == tib && (tTopo->tibIsStereo(detid))) {
1488  SiStripSubStructure::getTIBDetectors(activeDets, stereoandmatchedDetIds, tTopo, stereolnumber, 0, 0, 0);
1489  isStereo = true;
1490  }
1491 
1492  StereoAndMatchedDetMap[label] = stereoandmatchedDetIds;
1493 
1494  // book StereoAndMatched MEs
1495  if (isStereo) {
1496  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second, true);
1497  // std::stringstream ss1;
1498  // folder_organizer.getLayerFolderName(ss1, detid, tTopo, true);
1499  // std::cout << "Folder Name stereo " << ss1.str().c_str() << std::endl;
1500  //Create the Monitor Elements only when we have a stereo module
1501  createStereoAndMatchedMEs(ibooker, label);
1502  }
1503  }
1504 
1505  } //end of loop over detectors
1506 }
1507 //------------------------------------------------------------------------------------------
1509  simplehitsMEs.meCategory = nullptr;
1510  simplehitsMEs.meTrackwidth = nullptr;
1511  simplehitsMEs.meExpectedwidth = nullptr;
1512  simplehitsMEs.meClusterwidth = nullptr;
1513  simplehitsMEs.meTrackanglealpha = nullptr;
1514  simplehitsMEs.meTrackanglebeta = nullptr;
1521 
1526 
1535  simplehitsMEs.meResolxLF = nullptr;
1536  simplehitsMEs.meResLF = nullptr;
1537  simplehitsMEs.mePullLF = nullptr;
1538  simplehitsMEs.meResolxMF = nullptr;
1539  simplehitsMEs.meResMF = nullptr;
1540  simplehitsMEs.mePullMF = nullptr;
1541 
1542  if (layerswitchResolx_LF) {
1544  bookME1D(ibooker, "TH1Resolx_LF", "TH1Resolx_LF", "RecHit resol(x) coord. (local frame)");
1545  simplehitsMEs.meResolxLF->setAxisTitle("resol(x) RecHit coord. (local frame)");
1546  }
1547  if (layerswitchResolx_MF) {
1549  bookME1D(ibooker, "TH1Resolx_MF", "TH1Resolx_MF", "RecHit resol(x) coord. (measurement frame)");
1550  simplehitsMEs.meResolxMF->setAxisTitle("resol(x) RecHit coord. (measurement frame)");
1551  }
1552  if (layerswitchRes_LF) {
1554  bookME1D(ibooker, "TH1Res_LF", "TH1Res_LF", "Residual of the hit x coordinate (local frame)");
1555  simplehitsMEs.meResLF->setAxisTitle("Hit Res(x) (local frame)");
1556  }
1557  if (layerswitchRes_MF) {
1559  bookME1D(ibooker, "TH1Res_MF", "TH1Res_MF", "Residual of the hit x coordinate (measurement frame)");
1560  simplehitsMEs.meResMF->setAxisTitle("Hit Res(x) (measurement frame)");
1561  }
1562  if (layerswitchPull_LF) {
1563  simplehitsMEs.mePullLF = bookME1D(ibooker, "TH1Pull_LF", "TH1Pull_LF", "Pull distribution (local frame)");
1564  simplehitsMEs.mePullLF->setAxisTitle("Pull distribution (local frame)");
1565  }
1566  if (layerswitchPull_MF) {
1567  simplehitsMEs.mePullMF = bookME1D(ibooker, "TH1Pull_MF", "TH1Pull_MF", "Pull distribution (measurement frame)");
1568  simplehitsMEs.mePullMF->setAxisTitle("Pull distribution (measurement frame)");
1569  }
1570  if (layerswitchCategory) {
1571  simplehitsMEs.meCategory = bookME1D(ibooker, "TH1Category", "TH1Category", "Category");
1572  simplehitsMEs.meCategory->setAxisTitle("Category");
1573  }
1574  if (layerswitchTrackwidth) {
1575  simplehitsMEs.meTrackwidth = bookME1D(ibooker, "TH1Trackwidth", "TH1Trackwidth", "Track width");
1576  simplehitsMEs.meTrackwidth->setAxisTitle("Track width");
1577  }
1579  simplehitsMEs.meExpectedwidth = bookME1D(ibooker, "TH1Expectedwidth", "TH1Expectedwidth", "Expected width");
1580  simplehitsMEs.meExpectedwidth->setAxisTitle("Expected width");
1581  }
1583  simplehitsMEs.meClusterwidth = bookME1D(ibooker, "TH1Clusterwidth", "TH1Clusterwidth", "Cluster width");
1584  simplehitsMEs.meClusterwidth->setAxisTitle("Cluster width");
1585  }
1588  bookME1D(ibooker, "TH1Trackanglealpha", "TH1Trackanglealpha", "Track angle alpha");
1589  simplehitsMEs.meTrackanglealpha->setAxisTitle("Track angle alpha");
1590  }
1592  simplehitsMEs.meTrackanglebeta = bookME1D(ibooker, "TH1Trackanglebeta", "TH1Trackanglebeta", "Track angle beta");
1593  simplehitsMEs.meTrackanglebeta->setAxisTitle("Track angle beta");
1594  }
1597  bookMEProfile(ibooker,
1598  "TProfResolxMFTrackwidthProfile_WClus1",
1599  "TProfResolxMFTrackwidthProfile_WClus1",
1600  "Profile of Resolution in MF vs track width for w=1");
1602  simplehitsMEs.meResolxMFTrackwidthProfileWClus1->setAxisTitle("Resolution (measurement frame) w=1", 2);
1603  }
1606  bookMEProfile(ibooker,
1607  "TProfResolxMFTrackwidthProfile_WClus2",
1608  "TProfResolxMFTrackwidthProfile_WClus2",
1609  "Profile of Resolution in MF vs track width for w=2");
1611  simplehitsMEs.meResolxMFTrackwidthProfileWClus2->setAxisTitle("Resolution (measurement frame) w=2", 2);
1612  }
1615  bookMEProfile(ibooker,
1616  "TProfResolxMFTrackwidthProfile_WClus3",
1617  "TProfResolxMFTrackwidthProfile_WClus3",
1618  "Profile of Resolution in MF vs track width for w=3");
1620  simplehitsMEs.meResolxMFTrackwidthProfileWClus3->setAxisTitle("Resolution (measurement frame) w=3", 2);
1621  }
1624  bookMEProfile(ibooker,
1625  "TProfResolxMFTrackwidthProfile_WClus4",
1626  "TProfResolxMFTrackwidthProfile_WClus4",
1627  "Profile of Resolution in MF vs track width for w=4");
1629  simplehitsMEs.meResolxMFTrackwidthProfileWClus4->setAxisTitle("Resolution (measurement frame) w=3", 2);
1630  }
1633  bookMEProfile(ibooker,
1634  "TProfResMFTrackwidthProfile_WClus1",
1635  "TProfResMFTrackwidthProfile_WClus1",
1636  "Profile of Residuals(x) in MF vs track width for w=1");
1638  simplehitsMEs.meResMFTrackwidthProfileWClus1->setAxisTitle("Residuals(x) (measurement frame) w=1", 2);
1639  }
1642  bookMEProfile(ibooker,
1643  "TProfResMFTrackwidthProfile_WClus2",
1644  "TProfResMFTrackwidthProfile_WClus2",
1645  "Profile of Residuals(x) in MF vs track width for w=2");
1647  simplehitsMEs.meResMFTrackwidthProfileWClus2->setAxisTitle("Residuals(x) (measurement frame) w=2", 2);
1648  }
1651  bookMEProfile(ibooker,
1652  "TProfResMFTrackwidthProfile_WClus21",
1653  "TProfResMFTrackwidthProfile_WClus21",
1654  "Profile of Residuals(x) in MF vs track width for w=2");
1656  simplehitsMEs.meResMFTrackwidthProfileWClus21->setAxisTitle("Residuals(x) (measurement frame) w=2", 2);
1657  }
1660  bookMEProfile(ibooker,
1661  "TProfResMFTrackwidthProfile_WClus22",
1662  "TProfResMFTrackwidthProfile_WClus22",
1663  "Profile of Residuals(x) in MF vs track width for w=2");
1665  simplehitsMEs.meResMFTrackwidthProfileWClus22->setAxisTitle("Residuals(x) (measurement frame) w=2", 2);
1666  }
1669  bookMEProfile(ibooker,
1670  "TProfResMFTrackwidthProfile_WClus23",
1671  "TProfResMFTrackwidthProfile_WClus23",
1672  "Profile of Residuals(x) in MF vs track width for w=2");
1674  simplehitsMEs.meResMFTrackwidthProfileWClus23->setAxisTitle("Residuals(x) (measurement frame) w=2", 2);
1675  }
1678  bookMEProfile(ibooker,
1679  "TProfResMFTrackwidthProfile_WClus3",
1680  "TProfResMFTrackwidthProfile_WClus3",
1681  "Profile of Residuals(x) in MF vs track width for w=3");
1683  simplehitsMEs.meResMFTrackwidthProfileWClus3->setAxisTitle("Residuals(x) (measurement frame) w=3", 2);
1684  }
1687  bookMEProfile(ibooker,
1688  "TProfResMFTrackwidthProfile_WClus4",
1689  "TProfResMFTrackwidthProfile_WClus4",
1690  "Profile of Residuals(x) in MF vs track width for w=4");
1692  simplehitsMEs.meResMFTrackwidthProfileWClus4->setAxisTitle("Residuals(x) (measurement frame) w=4", 2);
1693  }
1696  "TProfResolxMFTrackwidthProfile",
1697  "TProfResolxMFTrackwidthProfile",
1698  "Profile of Resolution in MF vs track width");
1700  simplehitsMEs.meResolxMFTrackwidthProfile->setAxisTitle("Resolution (measurement frame)", 2);
1701  }
1704  bookMEProfile(ibooker,
1705  "TProfResolxMFTrackwidthProfile_Category1",
1706  "TProfResolxMFTrackwidthProfile_Category1",
1707  "Profile of Resolution in MF vs track width (Category 1)");
1709  simplehitsMEs.meResolxMFTrackwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1", 2);
1710  }
1713  bookMEProfile(ibooker,
1714  "TProfResolxMFTrackwidthProfile_Category2",
1715  "TProfResolxMFTrackwidthProfile_Category2",
1716  "Profile of Resolution in MF vs track width (Category 2)");
1718  simplehitsMEs.meResolxMFTrackwidthProfileCategory2->setAxisTitle("Resolution (measurement frame) Category 2", 2);
1719  }
1722  bookMEProfile(ibooker,
1723  "TProfResolxMFTrackwidthProfile_Category3",
1724  "TProfResolxMFTrackwidthProfile_Category3",
1725  "Profile of Resolution in MF vs track width (Category 3)");
1727  simplehitsMEs.meResolxMFTrackwidthProfileCategory3->setAxisTitle("Resolution (measurement frame) Category 3", 2);
1728  }
1731  bookMEProfile(ibooker,
1732  "TProfResolxMFTrackwidthProfile_Category4",
1733  "TProfResolxMFTrackwidthProfile_Category4",
1734  "Profile of Resolution in MF vs track width (Category 4)");
1736  simplehitsMEs.meResolxMFTrackwidthProfileCategory4->setAxisTitle("Resolution (measurement frame) Category 4", 2);
1737  }
1740  bookMEProfile(ibooker,
1741  "TProfResolxMFClusterwidthProfile_Category1",
1742  "TProfResolxMFClusterwidthProfile_Category1",
1743  "Profile of Resolution in MF vs cluster width (Category 1)");
1745  simplehitsMEs.meResolxMFClusterwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1", 2);
1746  }
1749  "TProfResolxMFAngleProfile",
1750  "TProfResolxMFAngleProfile",
1751  "Profile of Resolution in MF vs Track angle alpha");
1752  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Track angle alpha", 1);
1753  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Resolution (measurement frame)", 2);
1754  }
1755 }
1756 //------------------------------------------------------------------------------------------
1758  SiStripHistoId hidmanager;
1759  LayerMEs layerMEs;
1760 
1761  layerMEs.meWclusRphi = nullptr;
1762  layerMEs.meAdcRphi = nullptr;
1763  layerMEs.meResolxLFRphi = nullptr;
1764  layerMEs.meResolxMFRphi = nullptr;
1765  layerMEs.meResolxMFRphiwclus1 = nullptr;
1766  layerMEs.meResolxMFRphiwclus2 = nullptr;
1767  layerMEs.meResolxMFRphiwclus3 = nullptr;
1768  layerMEs.meResolxMFRphiwclus4 = nullptr;
1769  layerMEs.meResLFRphi = nullptr;
1770  layerMEs.meResMFRphi = nullptr;
1771  layerMEs.meResMFRphiwclus1 = nullptr;
1772  layerMEs.meResMFRphiwclus2 = nullptr;
1773  layerMEs.meResMFRphiwclus3 = nullptr;
1774  layerMEs.meResMFRphiwclus4 = nullptr;
1775  layerMEs.mePullLFRphi = nullptr;
1776  layerMEs.mePullMFRphi = nullptr;
1777  layerMEs.mePullMFRphiwclus1 = nullptr;
1778  layerMEs.mePullMFRphiwclus2 = nullptr;
1779  layerMEs.mePullMFRphiwclus3 = nullptr;
1780  layerMEs.mePullMFRphiwclus4 = nullptr;
1781  layerMEs.meTrackangleRphi = nullptr;
1782  layerMEs.meTrackanglebetaRphi = nullptr;
1783  layerMEs.meTrackangle2Rphi = nullptr;
1784  layerMEs.mePullTrackangleProfileRphi = nullptr;
1785  layerMEs.mePullTrackangle2DRphi = nullptr;
1786  layerMEs.meTrackwidthRphi = nullptr;
1787  layerMEs.meExpectedwidthRphi = nullptr;
1788  layerMEs.meClusterwidthRphi = nullptr;
1789  layerMEs.meCategoryRphi = nullptr;
1790  layerMEs.mePullTrackwidthProfileRphi = nullptr;
1791  layerMEs.mePullTrackwidthProfileRphiwclus1 = nullptr;
1792  layerMEs.mePullTrackwidthProfileRphiwclus2 = nullptr;
1793  layerMEs.mePullTrackwidthProfileRphiwclus3 = nullptr;
1794  layerMEs.mePullTrackwidthProfileRphiwclus4 = nullptr;
1795  layerMEs.mePullTrackwidthProfileCategory1Rphi = nullptr;
1796  layerMEs.mePullTrackwidthProfileCategory2Rphi = nullptr;
1797  layerMEs.mePullTrackwidthProfileCategory3Rphi = nullptr;
1798  layerMEs.mePullTrackwidthProfileCategory4Rphi = nullptr;
1799  layerMEs.meResolxMFTrackwidthProfileRphi = nullptr;
1800 
1801  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi = nullptr;
1802  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi = nullptr;
1803  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi = nullptr;
1804  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi = nullptr;
1805  layerMEs.meResMFTrackwidthProfileWclus1Rphi = nullptr;
1806  layerMEs.meResMFTrackwidthProfileWclus2Rphi = nullptr;
1807  layerMEs.meResMFTrackwidthProfileWclus3Rphi = nullptr;
1808  layerMEs.meResMFTrackwidthProfileWclus4Rphi = nullptr;
1809 
1810  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi = nullptr;
1811  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi = nullptr;
1812  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi = nullptr;
1813  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi = nullptr;
1814  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi = nullptr;
1815  layerMEs.meResolxMFAngleProfileRphi = nullptr;
1816  layerMEs.merapidityResProfilewclus1 = nullptr;
1817  layerMEs.merapidityResProfilewclus2 = nullptr;
1818  layerMEs.merapidityResProfilewclus3 = nullptr;
1819  layerMEs.merapidityResProfilewclus4 = nullptr;
1820 
1821  //WclusRphi
1822  if (layerswitchWclusRphi) {
1823  layerMEs.meWclusRphi = bookME1D(ibooker,
1824  "TH1WclusRphi",
1825  hidmanager.createHistoLayer("Wclus_rphi", "layer", label, "").c_str(),
1826  "Cluster Width - Number of strips that belong to the RecHit cluster");
1827  layerMEs.meWclusRphi->setAxisTitle("Cluster Width [nr strips] in " + label);
1828  }
1829  //AdcRphi
1830  if (layerswitchAdcRphi) {
1831  layerMEs.meAdcRphi = bookME1D(ibooker,
1832  "TH1AdcRphi",
1833  hidmanager.createHistoLayer("Adc_rphi", "layer", label, "").c_str(),
1834  "RecHit Cluster Charge");
1835  layerMEs.meAdcRphi->setAxisTitle("cluster charge [ADC] in " + label);
1836  }
1837  //ResolxLFRphi
1839  layerMEs.meResolxLFRphi = bookME1D(ibooker,
1840  "TH1ResolxLFRphi",
1841  hidmanager.createHistoLayer("Resolx_LF_rphi", "layer", label, "").c_str(),
1842  "RecHit resol(x) coord."); //<resolor>~20micron
1843  layerMEs.meResolxLFRphi->setAxisTitle("resol(x) RecHit coord. (local frame) in " + label);
1844  }
1845  //ResolxMFRphi
1847  layerMEs.meResolxMFRphi = bookME1D(ibooker,
1848  "TH1ResolxMFRphi",
1849  hidmanager.createHistoLayer("Resolx_MF_rphi", "layer", label, "").c_str(),
1850  "RecHit resol(x) coord."); //<resolor>~20micron
1851  layerMEs.meResolxMFRphi->setAxisTitle("resol(x) RecHit coord. (measurement frame) in " + label);
1852  }
1853  //ResolxMFRphiwclus1
1855  layerMEs.meResolxMFRphiwclus1 =
1856  bookME1D(ibooker,
1857  "TH1ResolxMFRphiwclus1",
1858  hidmanager.createHistoLayer("Resolx_MF_wclus1_rphi", "layer", label, "").c_str(),
1859  "RecHit resol(x) coord. w=1 "); //<resolor>~20micron
1860  layerMEs.meResolxMFRphiwclus1->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=1 in " + label);
1861  }
1862  //ResolxMFRphiwclus2
1864  layerMEs.meResolxMFRphiwclus2 =
1865  bookME1D(ibooker,
1866  "TH1ResolxMFRphiwclus2",
1867  hidmanager.createHistoLayer("Resolx_MF_wclus2_rphi", "layer", label, "").c_str(),
1868  "RecHit resol(x) coord. w=2 "); //<resolor>~20micron
1869  layerMEs.meResolxMFRphiwclus2->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=2 in " + label);
1870  }
1871  //ResolxMFRphiwclus3
1873  layerMEs.meResolxMFRphiwclus3 =
1874  bookME1D(ibooker,
1875  "TH1ResolxMFRphiwclus3",
1876  hidmanager.createHistoLayer("Resolx_MF_wclus3_rphi", "layer", label, "").c_str(),
1877  "RecHit resol(x) coord. w=3 "); //<resolor>~20micron
1878  layerMEs.meResolxMFRphiwclus3->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=3 in " + label);
1879  }
1880  //ResolxMFRphiwclus4
1882  layerMEs.meResolxMFRphiwclus4 =
1883  bookME1D(ibooker,
1884  "TH1ResolxMFRphiwclus4",
1885  hidmanager.createHistoLayer("Resolx_MF_wclus4_rphi", "layer", label, "").c_str(),
1886  "RecHit resol(x) coord. w=4 "); //<resolor>~20micron
1887  layerMEs.meResolxMFRphiwclus4->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=4 in " + label);
1888  }
1889  //ResLFRphi
1890  if (layerswitchResLFRphi) {
1891  layerMEs.meResLFRphi = bookME1D(ibooker,
1892  "TH1ResLFRphi",
1893  hidmanager.createHistoLayer("Res_LF_rphi", "layer", label, "").c_str(),
1894  "Residual of the hit x coordinate");
1895  layerMEs.meResLFRphi->setAxisTitle("Hit Residuals(x) (local frame) in " + label);
1896  }
1897  //ResMFRphi
1898  if (layerswitchResMFRphi) {
1899  layerMEs.meResMFRphi = bookME1D(ibooker,
1900  "TH1ResMFRphi",
1901  hidmanager.createHistoLayer("Res_MF_Rphi", "layer", label, "").c_str(),
1902  "Residual of the hit x coordinate");
1903  layerMEs.meResMFRphi->setAxisTitle("Hit Residuals(x) (measurement frame) in " + label);
1904  }
1905  //ResMFRphiwclus1
1907  layerMEs.meResMFRphiwclus1 = bookME1D(ibooker,
1908  "TH1ResMFRphiwclus1",
1909  hidmanager.createHistoLayer("Res_MF_wclus1_Rphi", "layer", label, "").c_str(),
1910  "Residual of the hit x coordinate w=1");
1911  layerMEs.meResMFRphiwclus1->setAxisTitle("Hit Residuals(x) (measurement frame) for w=1 in " + label);
1912  }
1913  //ResMFRphiwclus2
1915  layerMEs.meResMFRphiwclus2 = bookME1D(ibooker,
1916  "TH1ResMFRphiwclus2",
1917  hidmanager.createHistoLayer("Res_MF_wclus2_Rphi", "layer", label, "").c_str(),
1918  "Residual of the hit x coordinate w=2");
1919  layerMEs.meResMFRphiwclus2->setAxisTitle("Hit Residuals(x) (measurement frame) for w=2 in " + label);
1920  }
1921  //ResMFRphiwclus3
1923  layerMEs.meResMFRphiwclus3 = bookME1D(ibooker,
1924  "TH1ResMFRphiwclus3",
1925  hidmanager.createHistoLayer("Res_MF_wclus3_Rphi", "layer", label, "").c_str(),
1926  "Residual of the hit x coordinate w=3");
1927  layerMEs.meResMFRphiwclus3->setAxisTitle("Hit Residuals(x) (measurement frame) for w=3 in " + label);
1928  }
1929  //ResMFRphiwclus4
1931  layerMEs.meResMFRphiwclus4 = bookME1D(ibooker,
1932  "TH1ResMFRphiwclus4",
1933  hidmanager.createHistoLayer("Res_MF_wclus4_Rphi", "layer", label, "").c_str(),
1934  "Residual of the hit x coordinate w=4");
1935  layerMEs.meResMFRphiwclus4->setAxisTitle("Hit Residuals(x) (measurement frame) for w=4 in " + label);
1936  }
1937  //PullLFRphi
1938  if (layerswitchPullLFRphi) {
1939  layerMEs.mePullLFRphi = bookME1D(ibooker,
1940  "TH1PullLFRphi",
1941  hidmanager.createHistoLayer("Pull_LF_rphi", "layer", label, "").c_str(),
1942  "Pull distribution");
1943  layerMEs.mePullLFRphi->setAxisTitle("Pull distribution (local frame) in " + label);
1944  }
1945  //PullMFRphi
1946  if (layerswitchPullMFRphi) {
1947  layerMEs.mePullMFRphi = bookME1D(ibooker,
1948  "TH1PullMFRphi",
1949  hidmanager.createHistoLayer("Pull_MF_rphi", "layer", label, "").c_str(),
1950  "Pull distribution");
1951  layerMEs.mePullMFRphi->setAxisTitle("Pull distribution (measurement frame) in " + label);
1952  }
1953  //PullMFRphiwclus1
1955  layerMEs.mePullMFRphiwclus1 =
1956  bookME1D(ibooker,
1957  "TH1PullMFRphiwclus1",
1958  hidmanager.createHistoLayer("Pull_MF_wclus1_rphi", "layer", label, "").c_str(),
1959  "Pull distribution w=1");
1960  layerMEs.mePullMFRphiwclus1->setAxisTitle("Pull distribution (measurement frame) for w=1 in " + label);
1961  }
1962  //PullMFRphiwclus2
1964  layerMEs.mePullMFRphiwclus2 =
1965  bookME1D(ibooker,
1966  "TH1PullMFRphiwclus2",
1967  hidmanager.createHistoLayer("Pull_MF_wclus2_rphi", "layer", label, "").c_str(),
1968  "Pull distribution w=2");
1969  layerMEs.mePullMFRphiwclus2->setAxisTitle("Pull distribution (measurement frame) for w=2 in " + label);
1970  }
1971  //PullMFRphiwclus3
1973  layerMEs.mePullMFRphiwclus3 =
1974  bookME1D(ibooker,
1975  "TH1PullMFRphiwclus3",
1976  hidmanager.createHistoLayer("Pull_MF_wclus3_rphi", "layer", label, "").c_str(),
1977  "Pull distribution w=3");
1978  layerMEs.mePullMFRphiwclus3->setAxisTitle("Pull distribution (measurement frame) for w=3 in " + label);
1979  }
1980  //PullMFRphiwclus4
1982  layerMEs.mePullMFRphiwclus4 =
1983  bookME1D(ibooker,
1984  "TH1PullMFRphiwclus4",
1985  hidmanager.createHistoLayer("Pull_MF_wclus4_rphi", "layer", label, "").c_str(),
1986  "Pull distribution w=4");
1987  layerMEs.mePullMFRphiwclus4->setAxisTitle("Pull distribution (measurement frame) for w=4 in " + label);
1988  }
1989 
1991  layerMEs.meTrackangleRphi = bookME1D(ibooker,
1992  "TH1TrackangleRphi",
1993  hidmanager.createHistoLayer("Track_angle_Rphi", "layer", label, "").c_str(),
1994  "Track angle alpha");
1995  layerMEs.meTrackangleRphi->setAxisTitle("Track angle in " + label);
1996  }
1998  layerMEs.meTrackanglebetaRphi =
1999  bookME1D(ibooker,
2000  "TH1TrackanglebetaRphi",
2001  hidmanager.createHistoLayer("Track_angle_beta_Rphi", "layer", label, "").c_str(),
2002  "Track angle beta");
2003  layerMEs.meTrackanglebetaRphi->setAxisTitle("" + label);
2004  }
2006  layerMEs.meTrackangle2Rphi = bookME1D(ibooker,
2007  "TH1Trackangle2Rphi",
2008  hidmanager.createHistoLayer("Track_angle2_Rphi", "layer", label, "").c_str(),
2009  "");
2010  layerMEs.meTrackangle2Rphi->setAxisTitle("" + label);
2011  }
2013  layerMEs.mePullTrackangleProfileRphi =
2014  bookMEProfile(ibooker,
2015  "TProfPullTrackangleProfileRphi",
2016  hidmanager.createHistoLayer("Pull_Trackangle_Profile_Rphi", "layer", label, "").c_str(),
2017  "Profile of Pull in MF vs track angle alpha");
2018  layerMEs.mePullTrackangleProfileRphi->setAxisTitle("Track angle alpha in " + label, 1);
2019  layerMEs.mePullTrackangleProfileRphi->setAxisTitle("Pull (MF) in " + label, 2);
2020  }
2022  layerMEs.mePullTrackangle2DRphi =
2023  bookME1D(ibooker,
2024  "TH1PullTrackangle2DRphi",
2025  hidmanager.createHistoLayer("Pull_Trackangle_2D_Rphi", "layer", label, "").c_str(),
2026  "");
2027  layerMEs.mePullTrackangle2DRphi->setAxisTitle("" + label);
2028  }
2030  layerMEs.meTrackwidthRphi = bookME1D(ibooker,
2031  "TH1TrackwidthRphi",
2032  hidmanager.createHistoLayer("Track_width_Rphi", "layer", label, "").c_str(),
2033  "Track width");
2034  layerMEs.meTrackwidthRphi->setAxisTitle("Track width in " + label);
2035  }
2037  layerMEs.meExpectedwidthRphi =
2038  bookME1D(ibooker,
2039  "TH1ExpectedwidthRphi",
2040  hidmanager.createHistoLayer("Expected_width_Rphi", "layer", label, "").c_str(),
2041  "Expected width");
2042  layerMEs.meExpectedwidthRphi->setAxisTitle("Expected width in " + label);
2043  }
2045  layerMEs.meClusterwidthRphi =
2046  bookME1D(ibooker,
2047  "TH1ClusterwidthRphi",
2048  hidmanager.createHistoLayer("Cluster_width_Rphi", "layer", label, "").c_str(),
2049  "Cluster width");
2050  layerMEs.meClusterwidthRphi->setAxisTitle("Cluster width in " + label);
2051  }
2053  layerMEs.meCategoryRphi = bookME1D(ibooker,
2054  "TH1CategoryRphi",
2055  hidmanager.createHistoLayer("Category_Rphi", "layer", label, "").c_str(),
2056  "Category");
2057  layerMEs.meCategoryRphi->setAxisTitle("Category in " + label);
2058  }
2060  layerMEs.mePullTrackwidthProfileRphi =
2061  bookMEProfile(ibooker,
2062  "TProfPullTrackwidthProfileRphi",
2063  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi", "layer", label, "").c_str(),
2064  "Profile of Pull in MF vs track width");
2065  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle("track width in " + label, 1);
2066  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle("Pull (MF) in " + label, 2);
2067  }
2070  bookMEProfile(ibooker,
2071  "TProfPullTrackwidthProfileRphiwclus1",
2072  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus1", "layer", label, "").c_str(),
2073  "Profile of Pull in MF vs track width for w=1");
2074  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle("track width for w=1 in " + label, 1);
2075  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle("Pull (MF) for w=1 in " + label, 2);
2076  }
2079  bookMEProfile(ibooker,
2080  "TProfPullTrackwidthProfileRphiwclus2",
2081  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus2", "layer", label, "").c_str(),
2082  "Profile of Pull in MF vs track width for w=2");
2083  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle("track width for w=2 in " + label, 1);
2084  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle("Pull (MF) for w=2 in " + label, 2);
2085  }
2088  bookMEProfile(ibooker,
2089  "TProfPullTrackwidthProfileRphiwclus3",
2090  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus3", "layer", label, "").c_str(),
2091  "Profile of Pull in MF vs track width for w=3");
2092  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle("track width for w=3 in " + label, 1);
2093  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle("Pull (MF) for w=3 in " + label, 2);
2094  }
2097  bookMEProfile(ibooker,
2098  "TProfPullTrackwidthProfileRphiwclus4",
2099  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus4", "layer", label, "").c_str(),
2100  "Profile of Pull in MF vs track width for w=4");
2101  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle("track width for w=4 in " + label, 1);
2102  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle("Pull (MF) for w=4 in " + label, 2);
2103  }
2106  ibooker,
2107  "TProfPullTrackwidthProfileCategory1Rphi",
2108  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Rphi", "layer", label, "").c_str(),
2109  "Profile of Pull in MF vs track width for Category 1");
2110  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle("track width for Category 1 in " + label, 1);
2111  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle("Pull (MF) for Category 1 in " + label, 2);
2112  }
2115  ibooker,
2116  "TProfPullTrackwidthProfileCategory2Rphi",
2117  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Rphi", "layer", label, "").c_str(),
2118  "Profile of Pull in MF vs track width for Category 2");
2119  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle("track width for Category 2 in " + label, 1);
2120  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle("Pull (MF) for Category 2 in " + label, 2);
2121  }
2124  ibooker,
2125  "TProfPullTrackwidthProfileCategory3Rphi",
2126  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Rphi", "layer", label, "").c_str(),
2127  "Profile of Pull in MF vs track width for Category 3");
2128  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle("track width for Category 3 in " + label, 1);
2129  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle("Pull (MF) for Category 3 in " + label, 2);
2130  }
2133  ibooker,
2134  "TProfPullTrackwidthProfileCategory4Rphi",
2135  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Rphi", "layer", label, "").c_str(),
2136  "Profile of Pull in MF vs track width for Category 4");
2137  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle("track width for Category 4 in " + label, 1);
2138  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle("Pull (MF) for Category 4 in " + label, 2);
2139  }
2142  bookMEProfile(ibooker,
2143  "TProfResolxMFTrackwidthProfileRphi",
2144  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Rphi", "layer", label, "").c_str(),
2145  "Profile of Resolution in MF vs track width");
2146  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle("track width in " + label, 1);
2147  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle("Resolution in MF in " + label, 2);
2148  }
2149 
2152  ibooker,
2153  "TProfResolxMFTrackwidthProfileWclus1Rphi",
2154  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus1_Rphi", "layer", label, "").c_str(),
2155  "Profile of Resolution in MF vs track width for w=1");
2156  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle("track width for w=1 in " + label, 1);
2157  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle("Resolution in MF for w=1 in " + label, 2);
2158  }
2161  ibooker,
2162  "TProfResolxMFTrackwidthProfileWclus2Rphi",
2163  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus2_Rphi", "layer", label, "").c_str(),
2164  "Profile of Resolution in MF vs track width for w=2");
2165  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle("track width for w=2 in " + label, 1);
2166  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle("Resolution in MF for w=2 in " + label, 2);
2167  }
2170  ibooker,
2171  "TProfResolxMFTrackwidthProfileWclus3Rphi",
2172  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus3_Rphi", "layer", label, "").c_str(),
2173  "Profile of Resolution in MF vs track width for w=3");
2174  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle("track width for w=3 in " + label, 1);
2175  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle("Resolution in MF for w=3 in " + label, 2);
2176  }
2179  ibooker,
2180  "TProfResolxMFTrackwidthProfileWclus4Rphi",
2181  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus4_Rphi", "layer", label, "").c_str(),
2182  "Profile of Resolution in MF vs track width for w=4");
2183  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle("track width for w=4 in " + label, 1);
2184  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle("Resolution in MF for w=4 in " + label, 2);
2185  }
2188  bookMEProfile(ibooker,
2189  "TProfResMFTrackwidthProfileWclus1Rphi",
2190  hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus1_Rphi", "layer", label, "").c_str(),
2191  "Profile of Residuals(x) in MF vs track width for w=1");
2192  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle("track width for w=1 in " + label, 1);
2193  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle("Residuals(x) in MF for w=1 in " + label, 2);
2194  }
2197  bookMEProfile(ibooker,
2198  "TProfResMFTrackwidthProfileWclus2Rphi",
2199  hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus2_Rphi", "layer", label, "").c_str(),
2200  "Profile of Residuals(x) in MF vs track width for w=2");
2201  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle("track width for w=2 in " + label, 1);
2202  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle("Residuals(x) in MF for w=2 in " + label, 2);
2203  }
2206  bookMEProfile(ibooker,
2207  "TProfResMFTrackwidthProfileWclus3Rphi",
2208  hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus3_Rphi", "layer", label, "").c_str(),
2209  "Profile of Residuals(x) in MF vs track width for w=3");
2210  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle("track width for w=3 in " + label, 1);
2211  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle("Residuals(x) in MF for w=3 in " + label, 2);
2212  }
2215  bookMEProfile(ibooker,
2216  "TProfResMFTrackwidthProfileWclus4Rphi",
2217  hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus4_Rphi", "layer", label, "").c_str(),
2218  "Profile of Residuals(x) in MF vs track width for w=4");
2219  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle("track width for w=4 in " + label, 1);
2220  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle("Residuals(x) in MF for w=4 in " + label, 2);
2221  }
2222 
2225  ibooker,
2226  "TProfResolxMFTrackwidthProfileCategory1Rphi",
2227  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Rphi", "layer", label, "").c_str(),
2228  "Profile of Resolution in MF vs track width for Category 1");
2229  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle("track width for Category 1 in " + label, 1);
2230  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle("Resolution in MF for Category 1 in " + label, 2);
2231  }
2234  ibooker,
2235  "TProfResolxMFTrackwidthProfileCategory2Rphi",
2236  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Rphi", "layer", label, "").c_str(),
2237  "Profile of Resolution in MF vs track width for Category 2");
2238  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle("track width for Category 2 in " + label, 1);
2239  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle("Resolution in MF for Category 2 in " + label, 2);
2240  }
2243  ibooker,
2244  "TProfResolxMFTrackwidthProfileCategory3Rphi",
2245  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi", "layer", label, "").c_str(),
2246  "Profile of Resolution in MF vs track width for Category 3");
2247  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle("track width for Category 3 in " + label, 1);
2248  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle("Resolution in MF for Category 3 in " + label, 2);
2249  }
2252  ibooker,
2253  "TProfResolxMFTrackwidthProfileCategory4Rphi",
2254  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi", "layer", label, "").c_str(),
2255  "Profile of Resolution in MF vs track width for Category 4");
2256  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi->setAxisTitle("track width for Category 4 in " + label, 1);
2257  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi->setAxisTitle("Resolution in MF for Category 4 in " + label, 2);
2258  }
2261  ibooker,
2262  "TProfResolxMFClusterwidthProfileCategory1Rphi",
2263  hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Rphi", "layer", label, "").c_str(),
2264  "Profile of Resolution in MF vs cluster width for Category 1");
2265  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle("cluster width for Category 1 in " + label, 1);
2266  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle("Resolution in MF for Category 1 in " + label, 2);
2267  }
2269  layerMEs.meResolxMFAngleProfileRphi =
2270  bookMEProfile(ibooker,
2271  "TProfResolxMFAngleProfileRphi",
2272  hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Rphi", "layer", label, "").c_str(),
2273  "Profile of Resolution in MF vs track angle alpha");
2274  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle("track angle alpha in " + label, 1);
2275  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle("Resolution in MF in " + label, 2);
2276  }
2278  layerMEs.merapidityResProfilewclus1 =
2279  bookMEProfile(ibooker,
2280  "TProfrapidityResProfilewclus1",
2281  hidmanager.createHistoLayer("rapidity_Res_Profile_wclus1", "layer", label, "").c_str(),
2282  "Profile of rapidity vs Res for w=1");
2283  layerMEs.merapidityResProfilewclus1->setAxisTitle("Res for w=1 in " + label, 1);
2284  layerMEs.merapidityResProfilewclus1->setAxisTitle("rapidity for w=1 in " + label, 2);
2285  }
2287  layerMEs.merapidityResProfilewclus2 =
2288  bookMEProfile(ibooker,
2289  "TProfrapidityResProfilewclus2",
2290  hidmanager.createHistoLayer("rapidity_Res_Profile_wclus2", "layer", label, "").c_str(),
2291  "Profile of rapidity vs Res for w=2");
2292  layerMEs.merapidityResProfilewclus2->setAxisTitle("Res for w=2 in " + label, 1);
2293  layerMEs.merapidityResProfilewclus2->setAxisTitle("rapidity for w=2 in " + label, 2);
2294  }
2296  layerMEs.merapidityResProfilewclus3 =
2297  bookMEProfile(ibooker,
2298  "TProfrapidityResProfilewclus3",
2299  hidmanager.createHistoLayer("rapidity_Res_Profile_wclus3", "layer", label, "").c_str(),
2300  "Profile of rapidity vs Res for w=3");
2301  layerMEs.merapidityResProfilewclus3->setAxisTitle("Res for w=3 in " + label, 1);
2302  layerMEs.merapidityResProfilewclus3->setAxisTitle("rapidity for w=3 in " + label, 2);
2303  }
2305  layerMEs.merapidityResProfilewclus4 =
2306  bookMEProfile(ibooker,
2307  "TProfrapidityResProfilewclus4",
2308  hidmanager.createHistoLayer("rapidity_Res_Profile_wclus4", "layer", label, "").c_str(),
2309  "Profile of rapidity vs Res for w=4");
2310  layerMEs.merapidityResProfilewclus4->setAxisTitle("Res for w=4 in " + label, 1);
2311  layerMEs.merapidityResProfilewclus4->setAxisTitle("rapidity for w=4 in " + label, 2);
2312  }
2313 
2314  LayerMEsMap[label] = layerMEs;
2315 }
2316 //------------------------------------------------------------------------------------------
2318  SiStripHistoId hidmanager;
2319  StereoAndMatchedMEs stereoandmatchedMEs;
2320 
2321  stereoandmatchedMEs.meWclusSas = nullptr;
2322  stereoandmatchedMEs.meAdcSas = nullptr;
2323  stereoandmatchedMEs.meResolxLFSas = nullptr;
2324  stereoandmatchedMEs.meResolxMFSas = nullptr;
2325  stereoandmatchedMEs.meResLFSas = nullptr;
2326  stereoandmatchedMEs.meResMFSas = nullptr;
2327  stereoandmatchedMEs.mePullLFSas = nullptr;
2328  stereoandmatchedMEs.mePullMFSas = nullptr;
2329  stereoandmatchedMEs.meTrackangleSas = nullptr;
2330  stereoandmatchedMEs.meTrackanglebetaSas = nullptr;
2331  stereoandmatchedMEs.mePullTrackangleProfileSas = nullptr;
2332  stereoandmatchedMEs.meTrackwidthSas = nullptr;
2333  stereoandmatchedMEs.meExpectedwidthSas = nullptr;
2334  stereoandmatchedMEs.meClusterwidthSas = nullptr;
2335  stereoandmatchedMEs.meCategorySas = nullptr;
2336  stereoandmatchedMEs.mePullTrackwidthProfileSas = nullptr;
2337  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas = nullptr;
2338  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas = nullptr;
2339  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas = nullptr;
2340  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas = nullptr;
2341  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas = nullptr;
2342  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas = nullptr;
2343  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas = nullptr;
2344  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas = nullptr;
2345  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas = nullptr;
2346  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas = nullptr;
2347  stereoandmatchedMEs.meResolxMFAngleProfileSas = nullptr;
2348 
2349  stereoandmatchedMEs.mePosxMatched = nullptr;
2350  stereoandmatchedMEs.mePosyMatched = nullptr;
2351  stereoandmatchedMEs.meResolxMatched = nullptr;
2352  stereoandmatchedMEs.meResolyMatched = nullptr;
2353  stereoandmatchedMEs.meResxMatched = nullptr;
2354  stereoandmatchedMEs.meResyMatched = nullptr;
2355  stereoandmatchedMEs.mePullxMatched = nullptr;
2356  stereoandmatchedMEs.mePullyMatched = nullptr;
2357 
2358  //WclusSas
2359  if (layerswitchWclusSas) {
2360  stereoandmatchedMEs.meWclusSas = bookME1D(ibooker,
2361  "TH1WclusSas",
2362  hidmanager.createHistoLayer("Wclus_sas", "layer", label, "").c_str(),
2363  "Cluster Width - Number of strips that belong to the RecHit cluster");
2364  stereoandmatchedMEs.meWclusSas->setAxisTitle("Cluster Width [nr strips] (stereo) in " + label);
2365  }
2366  //AdcSas
2367  if (layerswitchAdcSas) {
2368  stereoandmatchedMEs.meAdcSas = bookME1D(ibooker,
2369  "TH1AdcSas",
2370  hidmanager.createHistoLayer("Adc_sas", "layer", label, "").c_str(),
2371  "RecHit Cluster Charge");
2372  stereoandmatchedMEs.meAdcSas->setAxisTitle("cluster charge [ADC] (stereo) in " + label);
2373  }
2374  //ResolxLFSas
2375  if (layerswitchResolxLFSas) {
2376  stereoandmatchedMEs.meResolxLFSas =
2377  bookME1D(ibooker,
2378  "TH1ResolxLFSas",
2379  hidmanager.createHistoLayer("Resolx_LF_sas", "layer", label, "").c_str(),
2380  "RecHit resol(x) coord.");
2381  stereoandmatchedMEs.meResolxLFSas->setAxisTitle("resol(x) RecHit coord. (local frame) (stereo) in " + label);
2382  }
2383  //ResolxMFSas
2384  if (layerswitchResolxMFSas) {
2385  stereoandmatchedMEs.meResolxMFSas =
2386  bookME1D(ibooker,
2387  "TH1ResolxMFSas",
2388  hidmanager.createHistoLayer("Resolx_MF_sas", "layer", label, "").c_str(),
2389  "RecHit resol(x) coord.");
2390  stereoandmatchedMEs.meResolxMFSas->setAxisTitle("resol(x) RecHit coord. (measurement frame) (stereo) in " + label);
2391  }
2392  //ResLFSas
2393  if (layerswitchResLFSas) {
2394  stereoandmatchedMEs.meResLFSas = bookME1D(ibooker,
2395  "TH1ResLFSas",
2396  hidmanager.createHistoLayer("Res_LF_sas", "layer", label, "").c_str(),
2397  "Residual of the hit x coordinate");
2398  stereoandmatchedMEs.meResLFSas->setAxisTitle("Hit Residuals(x) (local frame) (stereo) in " + label);
2399  }
2400  //ResMFSas
2401  if (layerswitchResMFSas) {
2402  stereoandmatchedMEs.meResMFSas = bookME1D(ibooker,
2403  "TH1ResMFSas",
2404  hidmanager.createHistoLayer("Res_MF_sas", "layer", label, "").c_str(),
2405  "Residual of the hit x coordinate");
2406  stereoandmatchedMEs.meResMFSas->setAxisTitle("Hit Residuals(x) (stereo) in " + label);
2407  }
2408  //PullLFSas
2409  if (layerswitchPullLFSas) {
2410  stereoandmatchedMEs.mePullLFSas = bookME1D(ibooker,
2411  "TH1PullLFSas",
2412  hidmanager.createHistoLayer("Pull_LF_sas", "layer", label, "").c_str(),
2413  "Pull distribution");
2414  stereoandmatchedMEs.mePullLFSas->setAxisTitle("Pull distribution (local frame) (stereo) in " + label);
2415  }
2416  //PullMFSas
2417  if (layerswitchPullMFSas) {
2418  stereoandmatchedMEs.mePullMFSas = bookME1D(ibooker,
2419  "TH1PullMFSas",
2420  hidmanager.createHistoLayer("Pull_MF_sas", "layer", label, "").c_str(),
2421  "Pull distribution");
2422  stereoandmatchedMEs.mePullMFSas->setAxisTitle("Pull distribution (measurement frame) (stereo) in " + label);
2423  }
2424 
2426  stereoandmatchedMEs.meTrackangleSas =
2427  bookME1D(ibooker,
2428  "TH1TrackangleSas",
2429  hidmanager.createHistoLayer("Track_angle_Sas", "layer", label, "").c_str(),
2430  "Track angle");
2431  stereoandmatchedMEs.meTrackangleSas->setAxisTitle("Track angle (stereo) in " + label);
2432  }
2434  stereoandmatchedMEs.meTrackanglebetaSas =
2435  bookME1D(ibooker,
2436  "TH1TrackanglebetaSas",
2437  hidmanager.createHistoLayer("Track_angle_beta_Sas", "layer", label, "").c_str(),
2438  "Track angle beta");
2439  stereoandmatchedMEs.meTrackanglebetaSas->setAxisTitle("Track angle beta (stereo) in " + label);
2440  }
2442  stereoandmatchedMEs.mePullTrackangleProfileSas =
2443  bookMEProfile(ibooker,
2444  "TProfPullTrackangleProfileSas",
2445  hidmanager.createHistoLayer("Pull_Track_angle_Profile_Sas", "layer", label, "").c_str(),
2446  "Profile of Pull in MF vs track angle (stereo)");
2447  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle("track angle (stereo) in " + label, 1);
2448  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle("Pull in MF (stereo) in " + label, 2);
2449  }
2451  stereoandmatchedMEs.meTrackwidthSas =
2452  bookME1D(ibooker,
2453  "TH1TrackwidthSas",
2454  hidmanager.createHistoLayer("Track_width_Sas", "layer", label, "").c_str(),
2455  "Track width");
2456  stereoandmatchedMEs.meTrackwidthSas->setAxisTitle("Track width (stereo) in " + label);
2457  }
2459  stereoandmatchedMEs.meExpectedwidthSas =
2460  bookME1D(ibooker,
2461  "TH1ExpectedwidthSas",
2462  hidmanager.createHistoLayer("Expected_width_Sas", "layer", label, "").c_str(),
2463  "Expected width");
2464  stereoandmatchedMEs.meExpectedwidthSas->setAxisTitle("Expected width (stereo) in " + label);
2465  }
2467  stereoandmatchedMEs.meClusterwidthSas =
2468  bookME1D(ibooker,
2469  "TH1ClusterwidthSas",
2470  hidmanager.createHistoLayer("Cluster_width_Sas", "layer", label, "").c_str(),
2471  "Cluster width");
2472  stereoandmatchedMEs.meClusterwidthSas->setAxisTitle("Cluster width (stereo) in " + label);
2473  }
2474  if (layerswitchCategorySas) {
2475  stereoandmatchedMEs.meCategorySas = bookME1D(
2476  ibooker, "TH1CategorySas", hidmanager.createHistoLayer("Category_Sas", "layer", label, "").c_str(), "Category");
2477  stereoandmatchedMEs.meCategorySas->setAxisTitle("Category (stereo) in " + label);
2478  }
2480  stereoandmatchedMEs.mePullTrackwidthProfileSas =
2481  bookMEProfile(ibooker,
2482  "TProfPullTrackwidthProfileSas",
2483  hidmanager.createHistoLayer("Pull_Track_width_Profile_Sas", "layer", label, "").c_str(),
2484  "Profile of Pull in MF vs track width (stereo)");
2485  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle("track width (stereo) in " + label, 1);
2486  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle("Pull in MF (stereo) in " + label, 2);
2487  }
2489  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas =
2490  bookMEProfile(ibooker,
2491  "TProfPullTrackwidthProfileCategory1Sas",
2492  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Sas", "layer", label, "").c_str(),
2493  "Profile of Pull in MF vs track width (Category 1) (stereo)");
2495  "track width (Category 1) (stereo) in " + label, 1);
2497  "Pull in MF (Category 1) (stereo) in " + label, 2);
2498  }
2500  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas =
2501  bookMEProfile(ibooker,
2502  "TProfPullTrackwidthProfileCategory2Sas",
2503  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Sas", "layer", label, "").c_str(),
2504  "Profile of Pull in MF vs track width (Category 2) (stereo)");
2506  "track width (Category 2) (stereo) in " + label, 1);
2508  "Pull in MF (Category 2) (stereo) in " + label, 2);
2509  }
2511  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas =
2512  bookMEProfile(ibooker,
2513  "TProfPullTrackwidthProfileCategory3Sas",
2514  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Sas", "layer", label, "").c_str(),
2515  "Profile of Pull in MF vs track width (Category 3) (stereo)");
2517  "track width (Category 3) (stereo) in " + label, 1);
2519  "Pull in MF (Category 3) (stereo) in " + label, 2);
2520  }
2522  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas =
2523  bookMEProfile(ibooker,
2524  "TProfPullTrackwidthProfileCategory4Sas",
2525  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Sas", "layer", label, "").c_str(),
2526  "Profile of Pull in MF vs track width (Category 4) (stereo)");
2528  "track width (Category 4) (stereo) in " + label, 1);
2530  "Pull in MF (Category 4) (stereo) in " + label, 2);
2531  }
2533  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas =
2534  bookMEProfile(ibooker,
2535  "TProfResolxMFTrackwidthProfileSas",
2536  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Sas", "layer", label, "").c_str(),
2537  "Profile of Resolution in MF vs track width (stereo)");
2538  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle("track width (stereo) in " + label, 1);
2539  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle("Resolution in MF (stereo) in " + label, 2);
2540  }
2543  ibooker,
2544  "TProfResolxMFTrackwidthProfileCategory1Sas",
2545  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Sas", "layer", label, "").c_str(),
2546  "Profile of Resolution in MF vs track width (Category 1) (stereo)");
2548  " track width (Category 1) (stereo) in " + label, 1);
2550  " Resolution in MF (Category 1) (stereo) in " + label, 2);
2551  }
2554  ibooker,
2555  "TProfResolxMFTrackwidthProfileCategory2Sas",
2556  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Sas", "layer", label, "").c_str(),
2557  "Profile of Resolution in MF vs track width (Category 2) (stereo)");
2559  " track width (Category 2) (stereo) in " + label, 1);
2561  " Resolution in MF (Category 2) (stereo) in " + label, 2);
2562  }
2565  ibooker,
2566  "TProfResolxMFTrackwidthProfileCategory3Sas",
2567  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Sas", "layer", label, "").c_str(),
2568  "Profile of Resolution in MF vs track width (Category 3) (stereo)");
2570  " track width (Category 3) (stereo) in " + label, 1);
2572  " Resolution in MF (Category 3) (stereo) in " + label, 2);
2573  }
2576  ibooker,
2577  "TProfResolxMFTrackwidthProfileCategory4Sas",
2578  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category4_Sas", "layer", label, "").c_str(),
2579  "Profile of Resolution in MF vs track width (Category 4) (stereo)");
2581  " track width (Category 4) (stereo) in " + label, 1);
2583  " Resolution in MF (Category 4) (stereo) in " + label, 2);
2584  }
2587  ibooker,
2588  "TProfResolxMFClusterwidthProfileCategory1Sas",
2589  hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Sas", "layer", label, "").c_str(),
2590  "Profile of Resolution in MF vs cluster width (Category 1) (stereo)");
2592  "cluster width (Category 1) (stereo) in " + label, 1);
2594  " Resolution in MF (Category 1) (stereo) in " + label, 2);
2595  }
2597  stereoandmatchedMEs.meResolxMFAngleProfileSas =
2598  bookMEProfile(ibooker,
2599  "TProfResolxMFAngleProfileSas",
2600  hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Sas", "layer", label, "").c_str(),
2601  "Profile of Resolution in MF vs track angle (stereo)");
2602  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle("track angle (stereo) in " + label, 1);
2603  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle("Resolution in MF (stereo) in " + label, 2);
2604  }
2605  //PosxMatched
2606  if (layerswitchPosxMatched) {
2607  stereoandmatchedMEs.mePosxMatched =
2608  bookME1D(ibooker,
2609  "TH1PosxMatched",
2610  hidmanager.createHistoLayer("Posx_matched", "layer", label, "").c_str(),
2611  "RecHit x coord.");
2612  stereoandmatchedMEs.mePosxMatched->setAxisTitle("x coord. matched RecHit (local frame) in " + label);
2613  }
2614  //PosyMatched
2615  if (layerswitchPosyMatched) {
2616  stereoandmatchedMEs.mePosyMatched =
2617  bookME1D(ibooker,
2618  "TH1PosyMatched",
2619  hidmanager.createHistoLayer("Posy_matched", "layer", label, "").c_str(),
2620  "RecHit y coord.");
2621  stereoandmatchedMEs.mePosyMatched->setAxisTitle("y coord. matched RecHit (local frame) in " + label);
2622  }
2623  //ResolxMatched
2625  stereoandmatchedMEs.meResolxMatched =
2626  bookME1D(ibooker,
2627  "TH1ResolxMatched",
2628  hidmanager.createHistoLayer("Resolx_matched", "layer", label, "").c_str(),
2629  "RecHit resol(x) coord.");
2630  stereoandmatchedMEs.meResolxMatched->setAxisTitle("resol(x) coord. matched RecHit (local frame) in " + label);
2631  }
2632  //ResolyMatched
2634  stereoandmatchedMEs.meResolyMatched =
2635  bookME1D(ibooker,
2636  "TH1ResolyMatched",
2637  hidmanager.createHistoLayer("Resoly_matched", "layer", label, "").c_str(),
2638  "RecHit resol(y) coord.");
2639  stereoandmatchedMEs.meResolyMatched->setAxisTitle("resol(y) coord. matched RecHit (local frame) in " + label);
2640  }
2641  //ResxMatched
2642  if (layerswitchResxMatched) {
2643  stereoandmatchedMEs.meResxMatched =
2644  bookME1D(ibooker,
2645  "TH1ResxMatched",
2646  hidmanager.createHistoLayer("Resx_matched", "layer", label, "").c_str(),
2647  "Residual of the hit x coord.");
2648  stereoandmatchedMEs.meResxMatched->setAxisTitle("Residuals(x) in matched RecHit in " + label);
2649  }
2650  //ResyMatched
2651  if (layerswitchResyMatched) {
2652  stereoandmatchedMEs.meResyMatched =
2653  bookME1D(ibooker,
2654  "TH1ResyMatched",
2655  hidmanager.createHistoLayer("Resy_matched", "layer", label, "").c_str(),
2656  "Residual of the hit x coord.");
2657  stereoandmatchedMEs.meResyMatched->setAxisTitle("Res(y) in matched RecHit in " + label);
2658  }
2659 
2660  StereoAndMatchedMEsMap[label] = stereoandmatchedMEs;
2661 }
2662 //------------------------------------------------------------------------------------------
2664  const char *ParameterSetLabel,
2665  const char *HistoName,
2666  const char *HistoTitle) {
2667  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2668  return ibooker.book1D(HistoName,
2669  HistoTitle,
2670  Parameters.getParameter<int32_t>("Nbinx"),
2671  Parameters.getParameter<double>("xmin"),
2672  Parameters.getParameter<double>("xmax"));
2673 }
2674 //------------------------------------------------------------------------------------------
2676  DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle) {
2677  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2678  //The number of channels in Y is disregarded in a profile plot.
2679  return ibooker.bookProfile(HistoName,
2680  HistoTitle,
2681  Parameters.getParameter<int32_t>("Nbinx"),
2682  Parameters.getParameter<double>("xmin"),
2683  Parameters.getParameter<double>("xmax"),
2684  Parameters.getParameter<double>("ymin"),
2685  Parameters.getParameter<double>("ymax"),
2686  "");
2687 }
2688 
2689 // DEFINE_FWK_MODULE(SiStripTrackingRecHitsValid);
Vector3DBase< float, LocalTag >
SiStripTrackingRecHitsValid::layerswitchPullLFRphi
bool layerswitchPullLFRphi
Definition: SiStripTrackingRecHitsValid.h:303
TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
SiStripTrackingRecHitsValid::layerswitchResolxMFAngleProfile
bool layerswitchResolxMFAngleProfile
Definition: SiStripTrackingRecHitsValid.h:288
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphi
MonitorElement * meResolxMFRphi
Definition: SiStripTrackingRecHitsValid.h:122
SiStripHistoId::createHistoLayer
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
Definition: SiStripHistoId.cc:51
SiStripTrackingRecHitsValid::layerswitchPullMFSas
bool layerswitchPullMFSas
Definition: SiStripTrackingRecHitsValid.h:353
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus3
MonitorElement * meResMFTrackwidthProfileWClus3
Definition: SiStripTrackingRecHitsValid.h:102
Point2DBase
Definition: Point2DBase.h:9
SiStripDetCabling::addActiveDetectorsRawIds
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
Definition: SiStripDetCabling.cc:134
SiStripTrackingRecHitsValid::layerswitchResolyMatched
bool layerswitchResolyMatched
Definition: SiStripTrackingRecHitsValid.h:376
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory3Rphi
bool layerswitchResolxMFTrackwidthProfileCategory3Rphi
Definition: SiStripTrackingRecHitsValid.h:338
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
SiStripTrackingRecHitsValid::createStereoAndMatchedMEs
void createStereoAndMatchedMEs(DQMStore::IBooker &ibooker, std::string label)
Definition: SiStripTrackingRecHitsValid.cc:2317
SiStripTrackingRecHitsValid::layerswitchClusterwidth
bool layerswitchClusterwidth
Definition: SiStripTrackingRecHitsValid.h:268
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphi
bool layerswitchPullTrackwidthProfileRphi
Definition: SiStripTrackingRecHitsValid.h:318
SiStripTrackingRecHitsValid::rechitanalysis
void rechitanalysis(LocalVector ldir, const TrackingRecHit *rechit, const StripGeomDetUnit *stripdet, edm::ESHandle< StripClusterParameterEstimator > stripcpe, TrackerHitAssociator &associate, bool simplehit1or2D)
Definition: SiStripTrackingRecHitsValid.cc:1263
SiStripTrackingRecHitsValid::LayerMEs::meTrackangleRphi
MonitorElement * meTrackangleRphi
Definition: SiStripTrackingRecHitsValid.h:139
SiStripTrackingRecHitsValid::RecHitProperties::z
float z
Definition: SiStripTrackingRecHitsValid.h:223
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
SiStripTrackingRecHitsValid::RecHitProperties::pullx
float pullx
Definition: SiStripTrackingRecHitsValid.h:232
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileCategory2Sas
MonitorElement * mePullTrackwidthProfileCategory2Sas
Definition: SiStripTrackingRecHitsValid.h:199
SiStripRecHit2D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit2D.h:22
SiStripTrackingRecHitsValid::layerswitchResolxMFClusterwidthProfileCategory1Sas
bool layerswitchResolxMFClusterwidthProfileCategory1Sas
Definition: SiStripTrackingRecHitsValid.h:372
SiStripTrackingRecHitsValid::layerswitchResolxMatched
bool layerswitchResolxMatched
Definition: SiStripTrackingRecHitsValid.h:375
SiStripTrackingRecHitsValid::createSimpleHitsMEs
void createSimpleHitsMEs(DQMStore::IBooker &ibooker)
Definition: SiStripTrackingRecHitsValid.cc:1508
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileCategory2Rphi
MonitorElement * mePullTrackwidthProfileCategory2Rphi
Definition: SiStripTrackingRecHitsValid.h:154
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileCategory4Rphi
MonitorElement * mePullTrackwidthProfileCategory4Rphi
Definition: SiStripTrackingRecHitsValid.h:156
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileCategory1Sas
MonitorElement * mePullTrackwidthProfileCategory1Sas
Definition: SiStripTrackingRecHitsValid.h:198
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_WClus1
bool layerswitchResolxMFTrackwidthProfile_WClus1
Definition: SiStripTrackingRecHitsValid.h:271
SiStripFolderOrganizer.h
StripGeomDetUnit::topology
const Topology & topology() const override
Returns a reference to the strip proxy topology.
Definition: StripGeomDetUnit.cc:15
SiStripTrackingRecHitsValid::LayerMEs::mePullLFRphi
MonitorElement * mePullLFRphi
Definition: SiStripTrackingRecHitsValid.h:133
SiStripHistoId.h
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory4Rphi
bool layerswitchPullTrackwidthProfileCategory4Rphi
Definition: SiStripTrackingRecHitsValid.h:326
TrackerGeometry.h
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileSas
bool layerswitchResolxMFTrackwidthProfileSas
Definition: SiStripTrackingRecHitsValid.h:366
GeomDet
Definition: GeomDet.h:27
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory3Rphi
bool layerswitchPullTrackwidthProfileCategory3Rphi
Definition: SiStripTrackingRecHitsValid.h:325
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileWclus1Rphi
bool layerswitchResolxMFTrackwidthProfileWclus1Rphi
Definition: SiStripTrackingRecHitsValid.h:328
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileWclus3Rphi
bool layerswitchResolxMFTrackwidthProfileWclus3Rphi
Definition: SiStripTrackingRecHitsValid.h:330
SiStripTrackingRecHitsValid::topFolderName_
std::string topFolderName_
Definition: SiStripTrackingRecHitsValid.h:257
SiStripTrackingRecHitsValid::bookMEProfile
MonitorElement * bookMEProfile(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
Definition: SiStripTrackingRecHitsValid.cc:2675
SiStripSubStructure::getTIDDetectors
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0)
ESHandle.h
SiStripTrackingRecHitsValid::layerswitchResMFRphi
bool layerswitchResMFRphi
Definition: SiStripTrackingRecHitsValid.h:298
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileCategory3Rphi
MonitorElement * meResolxMFTrackwidthProfileCategory3Rphi
Definition: SiStripTrackingRecHitsValid.h:170
SiStripSubStructure::getTIBDetectors
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0)
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus1
MonitorElement * meResMFTrackwidthProfileWClus1
Definition: SiStripTrackingRecHitsValid.h:95
SiStripTrackingRecHitsValid::LayerMEs::meResMFTrackwidthProfileWclus4Rphi
MonitorElement * meResMFTrackwidthProfileWclus4Rphi
Definition: SiStripTrackingRecHitsValid.h:166
SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphiwclus1
MonitorElement * mePullMFRphiwclus1
Definition: SiStripTrackingRecHitsValid.h:135
TrackerTopology::tobIsStereo
bool tobIsStereo(const DetId &id) const
Definition: TrackerTopology.h:264
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileCategory4Rphi
MonitorElement * meResolxMFTrackwidthProfileCategory4Rphi
Definition: SiStripTrackingRecHitsValid.h:171
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_Category3
bool layerswitchResolxMFTrackwidthProfile_Category3
Definition: SiStripTrackingRecHitsValid.h:285
SiStripTrackingRecHitsValid::layerswitchExpectedwidthRphi
bool layerswitchExpectedwidthRphi
Definition: SiStripTrackingRecHitsValid.h:315
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMatched
MonitorElement * meResolxMatched
Definition: SiStripTrackingRecHitsValid.h:212
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus2
MonitorElement * meResMFTrackwidthProfileWClus2
Definition: SiStripTrackingRecHitsValid.h:97
edm::Run
Definition: Run.h:45
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphiwclus2
MonitorElement * mePullTrackwidthProfileRphiwclus2
Definition: SiStripTrackingRecHitsValid.h:150
min
T min(T a, T b)
Definition: MathUtil.h:58
SiStripTrackingRecHitsValid::layerswitchClusterwidthRphi
bool layerswitchClusterwidthRphi
Definition: SiStripTrackingRecHitsValid.h:316
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meAdcSas
MonitorElement * meAdcSas
Definition: SiStripTrackingRecHitsValid.h:183
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus23
bool layerswitchResMFTrackwidthProfile_WClus23
Definition: SiStripTrackingRecHitsValid.h:279
SiStripTrackingRecHitsValid::layerswitchResMFRphiwclus3
bool layerswitchResMFRphiwclus3
Definition: SiStripTrackingRecHitsValid.h:301
SiStripTrackingRecHitsValid::layerswitchResolxMFRphiwclus3
bool layerswitchResolxMFRphiwclus3
Definition: SiStripTrackingRecHitsValid.h:295
SiStripTrackingRecHitsValid::RecHitProperties::cluchg
float cluchg
Definition: SiStripTrackingRecHitsValid.h:243
edm
HLT enums.
Definition: AlignableModifier.h:19
SiStripTrackingRecHitsValid::layerswitchPullyMatched
bool layerswitchPullyMatched
Definition: SiStripTrackingRecHitsValid.h:380
TrackerTopology
Definition: TrackerTopology.h:16
SiStripTrackingRecHitsValid::layerswitchResyMatched
bool layerswitchResyMatched
Definition: SiStripTrackingRecHitsValid.h:378
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFAngleProfileSas
MonitorElement * meResolxMFAngleProfileSas
Definition: SiStripTrackingRecHitsValid.h:208
h
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
Definition: L1TUtmAlgorithmRcd.h:4
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResyMatched
MonitorElement * meResyMatched
Definition: SiStripTrackingRecHitsValid.h:215
TkStripCPERecord
Definition: TkStripCPERecord.h:13
TransientRecHitRecord.h
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus22
MonitorElement * meResMFTrackwidthProfileWClus22
Definition: SiStripTrackingRecHitsValid.h:99
StripSubdetector::stereo
unsigned int stereo() const
stereo
Definition: StripSubdetector.h:46
StripSubdetector
Definition: StripSubdetector.h:12
SiStripTrackingRecHitsValid::layerswitchrapidityResProfilewclus2
bool layerswitchrapidityResProfilewclus2
Definition: SiStripTrackingRecHitsValid.h:343
SiStripTrackingRecHitsValid::layerswitchTrackanglebetaSas
bool layerswitchTrackanglebetaSas
Definition: SiStripTrackingRecHitsValid.h:355
SiStripTrackingRecHitsValid::layerswitchResolxLFRphi
bool layerswitchResolxLFRphi
Definition: SiStripTrackingRecHitsValid.h:291
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxLFSas
MonitorElement * meResolxLFSas
Definition: SiStripTrackingRecHitsValid.h:184
edm::LogInfo
Definition: MessageLogger.h:254
SiStripTrackingRecHitsValid::LayerMEs::meResMFRphiwclus3
MonitorElement * meResMFRphiwclus3
Definition: SiStripTrackingRecHitsValid.h:131
SiStripTrackingRecHitsValid::SimpleHitsMEs::mePullMF
MonitorElement * mePullMF
Definition: SiStripTrackingRecHitsValid.h:115
TrackerHitAssociator::associateHit
std::vector< PSimHit > associateHit(const TrackingRecHit &thit) const
Definition: TrackerHitAssociator.cc:212
SiStripTrackingRecHitsValid::LayerMEs::meResMFRphiwclus4
MonitorElement * meResMFRphiwclus4
Definition: SiStripTrackingRecHitsValid.h:132
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphiwclus3
bool layerswitchPullTrackwidthProfileRphiwclus3
Definition: SiStripTrackingRecHitsValid.h:321
SiStripTrackingRecHitsValid::layerswitchResolxMFRphiwclus4
bool layerswitchResolxMFRphiwclus4
Definition: SiStripTrackingRecHitsValid.h:296
SiStripTrackingRecHitsValid::simplehitsMEs
SimpleHitsMEs simplehitsMEs
Definition: SiStripTrackingRecHitsValid.h:382
TrackerTopology::tecIsStereo
bool tecIsStereo(const DetId &id) const
Definition: TrackerTopology.h:265
SiStripTrackingRecHitsValid::layerswitchCategory
bool layerswitchCategory
Definition: SiStripTrackingRecHitsValid.h:265
SiStripTrackingRecHitsValid::RecHitProperties::resy
float resy
Definition: SiStripTrackingRecHitsValid.h:230
SiStripTrackingRecHitsValid::RecHitProperties::expectedwidth
int expectedwidth
Definition: SiStripTrackingRecHitsValid.h:239
SiStripTrackingRecHitsValid::layerswitchResolxMFRphi
bool layerswitchResolxMFRphi
Definition: SiStripTrackingRecHitsValid.h:292
SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphiwclus3
MonitorElement * mePullMFRphiwclus3
Definition: SiStripTrackingRecHitsValid.h:137
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileCategory1Sas
MonitorElement * meResolxMFTrackwidthProfileCategory1Sas
Definition: SiStripTrackingRecHitsValid.h:203
cms::cuda::assert
assert(be >=bs)
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileCategory1Rphi
MonitorElement * meResolxMFTrackwidthProfileCategory1Rphi
Definition: SiStripTrackingRecHitsValid.h:168
GluedGeomDet::monoDet
const GeomDetUnit * monoDet() const
Definition: GluedGeomDet.h:19
SiStripTrackingRecHitsValid::LayerMEsMap
std::map< std::string, LayerMEs > LayerMEsMap
Definition: SiStripTrackingRecHitsValid.h:384
SiStripTrackingRecHitsValid::SimpleHitsMEs::meTrackwidth
MonitorElement * meTrackwidth
Definition: SiStripTrackingRecHitsValid.h:85
GluedGeomDet.h
DQMStore.h
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory4Rphi
bool layerswitchResolxMFTrackwidthProfileCategory4Rphi
Definition: SiStripTrackingRecHitsValid.h:339
SiStripTrackingRecHitsValid::layerswitchAdcSas
bool layerswitchAdcSas
Definition: SiStripTrackingRecHitsValid.h:347
SiStripTrackingRecHitsValid::LayerMEs::meAdcRphi
MonitorElement * meAdcRphi
Definition: SiStripTrackingRecHitsValid.h:120
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
SiStripTrackingRecHitsValid::MatchStatus::stereoHit
SiStripTrackingRecHitsValid::LayerMEs::meCategoryRphi
MonitorElement * meCategoryRphi
Definition: SiStripTrackingRecHitsValid.h:147
SiStripTrackingRecHitsValid::rechitpro
RecHitProperties rechitpro
Definition: SiStripTrackingRecHitsValid.h:435
SiStripTrackingRecHitsValid::layerswitchTrackangle2Rphi
bool layerswitchTrackangle2Rphi
Definition: SiStripTrackingRecHitsValid.h:311
SiStripTrackingRecHitsValid::layerswitchResLFSas
bool layerswitchResLFSas
Definition: SiStripTrackingRecHitsValid.h:350
DDAxes::x
SiStripTrackingRecHitsValid::matched
std::vector< PSimHit > matched
Definition: SiStripTrackingRecHitsValid.h:383
SiStripTrackingRecHitsValid::SiStripTrackingRecHitsValid
SiStripTrackingRecHitsValid(const edm::ParameterSet &conf)
Definition: SiStripTrackingRecHitsValid.cc:44
SiStripTrackingRecHitsValid::layerswitchrapidityResProfilewclus4
bool layerswitchrapidityResProfilewclus4
Definition: SiStripTrackingRecHitsValid.h:345
SiStripTrackingRecHitsValid::RecHitProperties::resx
float resx
Definition: SiStripTrackingRecHitsValid.h:229
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFAngleProfileRphi
MonitorElement * meResolxMFAngleProfileRphi
Definition: SiStripTrackingRecHitsValid.h:173
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphiwclus4
MonitorElement * mePullTrackwidthProfileRphiwclus4
Definition: SiStripTrackingRecHitsValid.h:152
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullLFSas
MonitorElement * mePullLFSas
Definition: SiStripTrackingRecHitsValid.h:188
SiStripTrackingRecHitsValid::layerswitchTrackwidthSas
bool layerswitchTrackwidthSas
Definition: SiStripTrackingRecHitsValid.h:357
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory3Sas
bool layerswitchResolxMFTrackwidthProfileCategory3Sas
Definition: SiStripTrackingRecHitsValid.h:369
SiStripTrackingRecHitsValid::layerswitchResLFRphi
bool layerswitchResLFRphi
Definition: SiStripTrackingRecHitsValid.h:297
SiStripTrackingRecHitsValid::layerswitchWclusSas
bool layerswitchWclusSas
Definition: SiStripTrackingRecHitsValid.h:346
edm::Handle
Definition: AssociativeIterator.h:50
relativeConstraints.error
error
Definition: relativeConstraints.py:53
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileSas
bool layerswitchPullTrackwidthProfileSas
Definition: SiStripTrackingRecHitsValid.h:361
TrackingRecHit::localPosition
virtual LocalPoint localPosition() const =0
StripTopology::localPitch
virtual float localPitch(const LocalPoint &) const =0
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory1Sas
bool layerswitchPullTrackwidthProfileCategory1Sas
Definition: SiStripTrackingRecHitsValid.h:362
SiStripTrackingRecHitsValid::outputMEsInRootFile
bool outputMEsInRootFile
Definition: SiStripTrackingRecHitsValid.h:254
SiStripTrackingRecHitsValid::layerswitchPullTrackangle2DRphi
bool layerswitchPullTrackangle2DRphi
Definition: SiStripTrackingRecHitsValid.h:313
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_Category4
bool layerswitchResolxMFTrackwidthProfile_Category4
Definition: SiStripTrackingRecHitsValid.h:286
SiStripTrackingRecHitsValid::SimpleHitsMEs::meClusterwidth
MonitorElement * meClusterwidth
Definition: SiStripTrackingRecHitsValid.h:87
TrackingRecHit::geographicalId
DetId geographicalId() const
Definition: TrackingRecHit.h:120
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
SiStripTrackingRecHitsValid::LayerMEs::meResLFRphi
MonitorElement * meResLFRphi
Definition: SiStripTrackingRecHitsValid.h:127
SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphiwclus4
MonitorElement * mePullMFRphiwclus4
Definition: SiStripTrackingRecHitsValid.h:138
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileCategory4Sas
MonitorElement * meResolxMFTrackwidthProfileCategory4Sas
Definition: SiStripTrackingRecHitsValid.h:206
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory2
MonitorElement * meResolxMFTrackwidthProfileCategory2
Definition: SiStripTrackingRecHitsValid.h:105
edm::Ref
Definition: AssociativeIterator.h:58
Utilities.operator
operator
Definition: Utilities.py:24
SiStripTrackingRecHitsValid::LayerMEs::meTrackanglebetaRphi
MonitorElement * meTrackanglebetaRphi
Definition: SiStripTrackingRecHitsValid.h:140
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFClusterwidthProfileCategory1Sas
MonitorElement * meResolxMFClusterwidthProfileCategory1Sas
Definition: SiStripTrackingRecHitsValid.h:207
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResxMatched
MonitorElement * meResxMatched
Definition: SiStripTrackingRecHitsValid.h:214
SiStripTrackingRecHitsValid::RecHitProperties::y
float y
Definition: SiStripTrackingRecHitsValid.h:222
SiStripFolderOrganizer::GetSubDetAndLayer
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
Definition: SiStripFolderOrganizer.cc:106
TrackerTopology::tidIsStereo
bool tidIsStereo(const DetId &id) const
Definition: TrackerTopology.h:267
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
SiStripTrackingRecHitsValid::layerswitchResolxMFClusterwidthProfile_Category1
bool layerswitchResolxMFClusterwidthProfile_Category1
Definition: SiStripTrackingRecHitsValid.h:287
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
SiStripTrackingRecHitsValid::StereoAndMatchedDetMap
std::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
Definition: SiStripTrackingRecHitsValid.h:387
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileCategory4Sas
MonitorElement * mePullTrackwidthProfileCategory4Sas
Definition: SiStripTrackingRecHitsValid.h:201
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphiwclus2
MonitorElement * meResolxMFRphiwclus2
Definition: SiStripTrackingRecHitsValid.h:124
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory3
MonitorElement * meResolxMFTrackwidthProfileCategory3
Definition: SiStripTrackingRecHitsValid.h:106
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
DetId
Definition: DetId.h:17
SiStripTrackingRecHitsValid::StereoAndMatchedMEsMap
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
Definition: SiStripTrackingRecHitsValid.h:385
SiStripTrackingRecHitsValid::rechitanalysis_matched
void rechitanalysis_matched(LocalVector ldir, const TrackingRecHit *rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate, edm::ESHandle< StripClusterParameterEstimator > stripcpe, const MatchStatus matchedmonorstereo)
Definition: SiStripTrackingRecHitsValid.cc:1075
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus4
MonitorElement * meResolxMFTrackwidthProfileWClus4
Definition: SiStripTrackingRecHitsValid.h:94
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
SiStripTrackingRecHitsValid::layerswitchResolxMFClusterwidthProfileCategory1Rphi
bool layerswitchResolxMFClusterwidthProfileCategory1Rphi
Definition: SiStripTrackingRecHitsValid.h:341
TrackerTopology.h
SiStripTrackingRecHitsValid::SimpleHitsMEs::meTrackanglealpha
MonitorElement * meTrackanglealpha
Definition: SiStripTrackingRecHitsValid.h:88
alignCSCRings.s
s
Definition: alignCSCRings.py:92
SiStripTrackingRecHitsValid::LayerMEs::meResolxLFRphi
MonitorElement * meResolxLFRphi
Definition: SiStripTrackingRecHitsValid.h:121
SiStripTrackingRecHitsValid::LayerMEs::meResMFTrackwidthProfileWclus3Rphi
MonitorElement * meResMFTrackwidthProfileWclus3Rphi
Definition: SiStripTrackingRecHitsValid.h:165
shallow::drift
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
Definition: ShallowTools.cc:36
SiStripDetCabling.h
SiStripTrackingRecHitsValid::LayerMEs::meResMFTrackwidthProfileWclus1Rphi
MonitorElement * meResMFTrackwidthProfileWclus1Rphi
Definition: SiStripTrackingRecHitsValid.h:163
SiStripTrackingRecHitsValid::layerswitchTrackwidth
bool layerswitchTrackwidth
Definition: SiStripTrackingRecHitsValid.h:266
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
h
TrackerTopologyRcd.h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_WClus2
bool layerswitchResolxMFTrackwidthProfile_WClus2
Definition: SiStripTrackingRecHitsValid.h:272
dqm::legacy::DQMStore
Definition: DQMStore.h:727
SiStripTrackingRecHitsValid::layerswitchRes_MF
bool layerswitchRes_MF
Definition: SiStripTrackingRecHitsValid.h:262
SiStripTrackingRecHitsValid::LayerMEs::meResMFRphiwclus1
MonitorElement * meResMFRphiwclus1
Definition: SiStripTrackingRecHitsValid.h:129
SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphiwclus2
MonitorElement * mePullMFRphiwclus2
Definition: SiStripTrackingRecHitsValid.h:136
SiStripTrackingRecHitsValid::SimpleHitsMEs::meTrackanglebeta
MonitorElement * meTrackanglebeta
Definition: SiStripTrackingRecHitsValid.h:89
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackangle2DRphi
MonitorElement * mePullTrackangle2DRphi
Definition: SiStripTrackingRecHitsValid.h:143
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullxMatched
MonitorElement * mePullxMatched
Definition: SiStripTrackingRecHitsValid.h:216
SiStripTrackingRecHitsValid::layerswitchPullTrackangleProfileRphi
bool layerswitchPullTrackangleProfileRphi
Definition: SiStripTrackingRecHitsValid.h:312
SiStripTrackingRecHitsValid::RecHitProperties::pully
float pully
Definition: SiStripTrackingRecHitsValid.h:233
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFAngleProfile
MonitorElement * meResolxMFAngleProfile
Definition: SiStripTrackingRecHitsValid.h:109
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
MeasurementError
Definition: MeasurementError.h:8
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
Surface::bounds
const Bounds & bounds() const
Definition: Surface.h:87
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResMFSas
MonitorElement * meResMFSas
Definition: SiStripTrackingRecHitsValid.h:187
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus3
bool layerswitchResMFTrackwidthProfile_WClus3
Definition: SiStripTrackingRecHitsValid.h:280
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileCategory3Rphi
MonitorElement * mePullTrackwidthProfileCategory3Rphi
Definition: SiStripTrackingRecHitsValid.h:155
SiStripTrackingRecHitsValid::layerswitchClusterwidthSas
bool layerswitchClusterwidthSas
Definition: SiStripTrackingRecHitsValid.h:359
SiStripTrackingRecHitsValid::RecHitProperties::resolxx
float resolxx
Definition: SiStripTrackingRecHitsValid.h:224
SiStripTrackingRecHitsValid::layerswitchResolxMFRphiwclus2
bool layerswitchResolxMFRphiwclus2
Definition: SiStripTrackingRecHitsValid.h:294
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
SiStripTrackingRecHitsValid::runStandalone
bool runStandalone
Definition: SiStripTrackingRecHitsValid.h:253
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResLF
MonitorElement * meResLF
Definition: SiStripTrackingRecHitsValid.h:111
edm::ESHandle< TrackerTopology >
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileCategory1Rphi
MonitorElement * mePullTrackwidthProfileCategory1Rphi
Definition: SiStripTrackingRecHitsValid.h:153
BaseTrackerRecHit::localPositionError
LocalError localPositionError() const final
Definition: BaseTrackerRecHit.h:59
PSimHit::localPosition
Local3DPoint localPosition() const
Definition: PSimHit.h:52
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
SiStripSubStructure::getTECDetectors
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0)
SiStripMatchedRecHit2D::stereoHit
SiStripRecHit2D stereoHit() const
Definition: SiStripMatchedRecHit2D.h:25
TrackerTopology::tibIsStereo
bool tibIsStereo(const DetId &id) const
Definition: TrackerTopology.h:266
Topology::measurementError
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileSas
MonitorElement * meResolxMFTrackwidthProfileSas
Definition: SiStripTrackingRecHitsValid.h:202
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphiwclus3
MonitorElement * meResolxMFRphiwclus3
Definition: SiStripTrackingRecHitsValid.h:125
SiStripTrackingRecHitsValid::layerswitchResolxLFSas
bool layerswitchResolxLFSas
Definition: SiStripTrackingRecHitsValid.h:348
dbe_
dqm::legacy::DQMStore * dbe_
Definition: PFJetBenchmarkAnalyzer.cc:77
SiStripTrackingRecHitsValid::conf_
edm::ParameterSet conf_
Definition: SiStripTrackingRecHitsValid.h:430
SiStripTrackingRecHitsValid::fillME
void fillME(MonitorElement *ME, float value1)
Definition: SiStripTrackingRecHitsValid.h:413
SiStripDetCablingRcd
Definition: SiStripDependentRecords.h:19
Point3DBase< float, GlobalTag >
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphiwclus1
MonitorElement * mePullTrackwidthProfileRphiwclus1
Definition: SiStripTrackingRecHitsValid.h:149
SiStripTrackingRecHitsValid::layerswitchPull_LF
bool layerswitchPull_LF
Definition: SiStripTrackingRecHitsValid.h:263
GeomDet::toLocal
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Definition: GeomDet.h:58
SiStripTrackingRecHitsValid::layerswitchPullMFRphiwclus1
bool layerswitchPullMFRphiwclus1
Definition: SiStripTrackingRecHitsValid.h:305
SiStripTrackingRecHitsValid::projectHit
std::pair< LocalPoint, LocalVector > projectHit(const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
Definition: SiStripTrackingRecHitsValid.cc:1045
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory1Rphi
bool layerswitchPullTrackwidthProfileCategory1Rphi
Definition: SiStripTrackingRecHitsValid.h:323
StripTopology::strip
virtual float strip(const LocalPoint &) const =0
SiStripTrackingRecHitsValid::layerswitchPullMFRphiwclus4
bool layerswitchPullMFRphiwclus4
Definition: SiStripTrackingRecHitsValid.h:308
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus23
MonitorElement * meResMFTrackwidthProfileWClus23
Definition: SiStripTrackingRecHitsValid.h:100
SiStripTrackingRecHitsValid::layerswitchPullTrackangleProfileSas
bool layerswitchPullTrackangleProfileSas
Definition: SiStripTrackingRecHitsValid.h:356
SiStripTrackingRecHitsValid::layerswitchResolx_MF
bool layerswitchResolx_MF
Definition: SiStripTrackingRecHitsValid.h:260
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFClusterwidthProfileCategory1
MonitorElement * meResolxMFClusterwidthProfileCategory1
Definition: SiStripTrackingRecHitsValid.h:108
GluedGeomDet
Definition: GluedGeomDet.h:7
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphiwclus4
MonitorElement * meResolxMFRphiwclus4
Definition: SiStripTrackingRecHitsValid.h:126
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
SiStripTrackingRecHitsValid::m_cacheID_
unsigned long long m_cacheID_
Definition: SiStripTrackingRecHitsValid.h:432
SiStripTrackingRecHitsValid::LayerMEs::meTrackwidthRphi
MonitorElement * meTrackwidthRphi
Definition: SiStripTrackingRecHitsValid.h:144
SiStripTrackingRecHitsValid::layerswitchTrackanglealpha
bool layerswitchTrackanglealpha
Definition: SiStripTrackingRecHitsValid.h:269
SiStripTrackingRecHitsValid::StereoAndMatchedMEs
Definition: SiStripTrackingRecHitsValid.h:180
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
SiStripTrackingRecHitsValid::trackerHitAssociatorConfig_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
Definition: SiStripTrackingRecHitsValid.h:431
Scenarios_cff.scale
scale
Definition: Scenarios_cff.py:2186
TrackerDigiGeometryRecord.h
SiStripTrackingRecHitsValid::layerswitchResolxMFSas
bool layerswitchResolxMFSas
Definition: SiStripTrackingRecHitsValid.h:349
Bounds::thickness
virtual float thickness() const =0
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfileWclus4Rphi
bool layerswitchResMFTrackwidthProfileWclus4Rphi
Definition: SiStripTrackingRecHitsValid.h:335
SiStripTrackingRecHitsValid::MatchStatus
MatchStatus
Definition: SiStripTrackingRecHitsValid.h:444
GeomDet::toGlobal
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
SiStripTrackingRecHitsValid::LayerMEs::merapidityResProfilewclus2
MonitorElement * merapidityResProfilewclus2
Definition: SiStripTrackingRecHitsValid.h:175
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory2Rphi
bool layerswitchResolxMFTrackwidthProfileCategory2Rphi
Definition: SiStripTrackingRecHitsValid.h:337
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullyMatched
MonitorElement * mePullyMatched
Definition: SiStripTrackingRecHitsValid.h:217
edm::ParameterSet
Definition: ParameterSet.h:36
SiStripTrackingRecHitsValid::LayerMEs::meWclusRphi
MonitorElement * meWclusRphi
Definition: SiStripTrackingRecHitsValid.h:119
SiStripTrackingRecHitsValid::tracksInputToken_
edm::EDGetTokenT< std::vector< reco::Track > > tracksInputToken_
Definition: SiStripTrackingRecHitsValid.h:453
SiStripTrackingRecHitsValid::layerswitchrapidityResProfilewclus3
bool layerswitchrapidityResProfilewclus3
Definition: SiStripTrackingRecHitsValid.h:344
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meCategorySas
MonitorElement * meCategorySas
Definition: SiStripTrackingRecHitsValid.h:196
SiStripTrackingRecHitsValid::SimpleHitsMEs::meExpectedwidth
MonitorElement * meExpectedwidth
Definition: SiStripTrackingRecHitsValid.h:86
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphiwclus4
bool layerswitchPullTrackwidthProfileRphiwclus4
Definition: SiStripTrackingRecHitsValid.h:322
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
LocalError
Definition: LocalError.h:12
SiStripTrackingRecHitsValid::outputFileName
std::string outputFileName
Definition: SiStripTrackingRecHitsValid.h:255
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileWclus3Rphi
MonitorElement * meResolxMFTrackwidthProfileWclus3Rphi
Definition: SiStripTrackingRecHitsValid.h:161
SiStripTrackingRecHitsValid::LayerMEs::meClusterwidthRphi
MonitorElement * meClusterwidthRphi
Definition: SiStripTrackingRecHitsValid.h:146
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileWclus1Rphi
MonitorElement * meResolxMFTrackwidthProfileWclus1Rphi
Definition: SiStripTrackingRecHitsValid.h:159
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus1
MonitorElement * meResolxMFTrackwidthProfileWClus1
Definition: SiStripTrackingRecHitsValid.h:91
SiStripTrackingRecHitsValid::RecHitProperties::trackanglebeta
float trackanglebeta
Definition: SiStripTrackingRecHitsValid.h:236
PV2DBase::x
T x() const
Definition: PV2DBase.h:43
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus2
MonitorElement * meResolxMFTrackwidthProfileWClus2
Definition: SiStripTrackingRecHitsValid.h:92
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfile
MonitorElement * meResolxMFTrackwidthProfile
Definition: SiStripTrackingRecHitsValid.h:90
BaseTrackerRecHit::localPosition
LocalPoint localPosition() const final
Definition: BaseTrackerRecHit.h:54
SiStripTrackingRecHitsValid::layerswitchTrackangleRphi
bool layerswitchTrackangleRphi
Definition: SiStripTrackingRecHitsValid.h:309
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meClusterwidthSas
MonitorElement * meClusterwidthSas
Definition: SiStripTrackingRecHitsValid.h:195
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus4
bool layerswitchResMFTrackwidthProfile_WClus4
Definition: SiStripTrackingRecHitsValid.h:281
SiStripTrackingRecHitsValid::RecHitProperties::resolxy
float resolxy
Definition: SiStripTrackingRecHitsValid.h:225
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meExpectedwidthSas
MonitorElement * meExpectedwidthSas
Definition: SiStripTrackingRecHitsValid.h:194
SiStripMatchedRecHit2D::monoHit
SiStripRecHit2D monoHit() const
Definition: SiStripMatchedRecHit2D.h:26
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
SiStripTrackingRecHitsValid.h
SiStripTrackingRecHitsValid::MatchStatus::monoHit
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus1
bool layerswitchResMFTrackwidthProfile_WClus1
Definition: SiStripTrackingRecHitsValid.h:275
edm::Service
Definition: Service.h:30
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory1
MonitorElement * meResolxMFTrackwidthProfileCategory1
Definition: SiStripTrackingRecHitsValid.h:104
createfilelist.int
int
Definition: createfilelist.py:10
StripTopology::stripAngle
virtual float stripAngle(float strip) const =0
SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphi
MonitorElement * mePullMFRphi
Definition: SiStripTrackingRecHitsValid.h:134
SiStripTrackingRecHitsValid::RecHitProperties::trackwidth
float trackwidth
Definition: SiStripTrackingRecHitsValid.h:238
SiStripFolderOrganizer::setSiStripFolderName
void setSiStripFolderName(std::string name)
Definition: SiStripFolderOrganizer.cc:41
SiStripTrackingRecHitsValid::createLayerMEs
void createLayerMEs(DQMStore::IBooker &ibooker, std::string label)
Definition: SiStripTrackingRecHitsValid.cc:1757
edm::LogVerbatim
Definition: MessageLogger.h:297
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory4Sas
bool layerswitchPullTrackwidthProfileCategory4Sas
Definition: SiStripTrackingRecHitsValid.h:365
cscdqm::HistoName
std::string HistoName
Definition: CSCDQM_HistoDef.h:32
SiStripTrackingRecHitsValid::layerswitchResolxMFAngleProfileSas
bool layerswitchResolxMFAngleProfileSas
Definition: SiStripTrackingRecHitsValid.h:371
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory4Sas
bool layerswitchResolxMFTrackwidthProfileCategory4Sas
Definition: SiStripTrackingRecHitsValid.h:370
SiStripFolderOrganizer::setSiStripFolder
void setSiStripFolder()
Definition: SiStripFolderOrganizer.cc:45
SiStripRecHit1D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit1D.h:18
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meTrackangleSas
MonitorElement * meTrackangleSas
Definition: SiStripTrackingRecHitsValid.h:190
edm::EventSetup
Definition: EventSetup.h:57
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory2Sas
bool layerswitchPullTrackwidthProfileCategory2Sas
Definition: SiStripTrackingRecHitsValid.h:363
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus3
MonitorElement * meResolxMFTrackwidthProfileWClus3
Definition: SiStripTrackingRecHitsValid.h:93
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory1Rphi
bool layerswitchResolxMFTrackwidthProfileCategory1Rphi
Definition: SiStripTrackingRecHitsValid.h:336
Topology::measurementPosition
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
SiStripTrackingRecHitsValid::layerswitchResMFRphiwclus1
bool layerswitchResMFRphiwclus1
Definition: SiStripTrackingRecHitsValid.h:299
SiStripTrackingRecHitsValid::layerswitchPullMFRphiwclus3
bool layerswitchPullMFRphiwclus3
Definition: SiStripTrackingRecHitsValid.h:307
SiStripTrackingRecHitsValid::RecHitProperties::x
float x
Definition: SiStripTrackingRecHitsValid.h:221
SiStripTrackingRecHitsValid::layerswitchTrackwidthRphi
bool layerswitchTrackwidthRphi
Definition: SiStripTrackingRecHitsValid.h:314
SiStripRecHit1D
Definition: SiStripRecHit1D.h:8
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory2Rphi
bool layerswitchPullTrackwidthProfileCategory2Rphi
Definition: SiStripTrackingRecHitsValid.h:324
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileCategory2Rphi
MonitorElement * meResolxMFTrackwidthProfileCategory2Rphi
Definition: SiStripTrackingRecHitsValid.h:169
get
#define get
SiStripTrackingRecHitsValid::layerswitchResMFRphiwclus2
bool layerswitchResMFRphiwclus2
Definition: SiStripTrackingRecHitsValid.h:300
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePosxMatched
MonitorElement * mePosxMatched
Definition: SiStripTrackingRecHitsValid.h:210
SiStripTrackingRecHitsValid::RecHitProperties::pullxMF
float pullxMF
Definition: SiStripTrackingRecHitsValid.h:234
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_Category1
bool layerswitchResolxMFTrackwidthProfile_Category1
Definition: SiStripTrackingRecHitsValid.h:283
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_WClus3
bool layerswitchResolxMFTrackwidthProfile_WClus3
Definition: SiStripTrackingRecHitsValid.h:273
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFSas
MonitorElement * meResolxMFSas
Definition: SiStripTrackingRecHitsValid.h:185
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphiwclus3
MonitorElement * mePullTrackwidthProfileRphiwclus3
Definition: SiStripTrackingRecHitsValid.h:151
SiStripTrackingRecHitsValid::SimpleHitsMEs::meCategory
MonitorElement * meCategory
Definition: SiStripTrackingRecHitsValid.h:84
SiStripTrackingRecHitsValid::LayerDetMap
std::map< std::string, std::vector< uint32_t > > LayerDetMap
Definition: SiStripTrackingRecHitsValid.h:386
TrackingRecHit
Definition: TrackingRecHit.h:21
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meWclusSas
MonitorElement * meWclusSas
Definition: SiStripTrackingRecHitsValid.h:182
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus2
bool layerswitchResMFTrackwidthProfile_WClus2
Definition: SiStripTrackingRecHitsValid.h:276
SiStripTrackingRecHitsValid::layerswitchCategoryRphi
bool layerswitchCategoryRphi
Definition: SiStripTrackingRecHitsValid.h:317
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMF
MonitorElement * meResMF
Definition: SiStripTrackingRecHitsValid.h:114
GluedGeomDet::stereoDet
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:20
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
SiStripTrackingRecHitsValid::layerswitchExpectedwidth
bool layerswitchExpectedwidth
Definition: SiStripTrackingRecHitsValid.h:267
SiStripTrackingRecHitsValid::~SiStripTrackingRecHitsValid
~SiStripTrackingRecHitsValid() override
Definition: SiStripTrackingRecHitsValid.cc:535
SiStripTrackingRecHitsValid::SiStripDetCabling_
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
Definition: SiStripTrackingRecHitsValid.h:389
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileWclus4Rphi
MonitorElement * meResolxMFTrackwidthProfileWclus4Rphi
Definition: SiStripTrackingRecHitsValid.h:162
TrackerHitAssociator
Definition: TrackerHitAssociator.h:55
SiStripTrackingRecHitsValid::layerswitchPullMFRphiwclus2
bool layerswitchPullMFRphiwclus2
Definition: SiStripTrackingRecHitsValid.h:306
SiStripTrackingRecHitsValid::LayerMEs::meTrackangle2Rphi
MonitorElement * meTrackangle2Rphi
Definition: SiStripTrackingRecHitsValid.h:141
SiStripHistoId
Definition: SiStripHistoId.h:25
SiStripTrackingRecHitsValid::RecHitProperties::clusiz
int clusiz
Definition: SiStripTrackingRecHitsValid.h:242
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus4
MonitorElement * meResMFTrackwidthProfileWClus4
Definition: SiStripTrackingRecHitsValid.h:103
SiStripTrackingRecHitsValid::layerswitchPosyMatched
bool layerswitchPosyMatched
Definition: SiStripTrackingRecHitsValid.h:374
std
Definition: JetResolutionObject.h:76
SiStripTrackingRecHitsValid::magfield2_
const MagneticField * magfield2_
Definition: SiStripTrackingRecHitsValid.h:249
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
SiStripTrackingRecHitsValid::layerswitchPosxMatched
bool layerswitchPosxMatched
Definition: SiStripTrackingRecHitsValid.h:373
writedatasetfile.run
run
Definition: writedatasetfile.py:27
SiStripTrackingRecHitsValid::RecHitProperties::trackangle
float trackangle
Definition: SiStripTrackingRecHitsValid.h:235
SiStripTrackingRecHitsValid::bookME1D
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
Definition: SiStripTrackingRecHitsValid.cc:2663
SiStripTrackingRecHitsValid::layerswitchCategorySas
bool layerswitchCategorySas
Definition: SiStripTrackingRecHitsValid.h:360
SiStripSubStructure::getTOBDetectors
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0)
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory3Sas
bool layerswitchPullTrackwidthProfileCategory3Sas
Definition: SiStripTrackingRecHitsValid.h:364
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_WClus4
bool layerswitchResolxMFTrackwidthProfile_WClus4
Definition: SiStripTrackingRecHitsValid.h:274
SiStripTrackingRecHitsValid::LayerMEs::meExpectedwidthRphi
MonitorElement * meExpectedwidthRphi
Definition: SiStripTrackingRecHitsValid.h:145
SiStripTrackingRecHitsValid::analyze
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Definition: SiStripTrackingRecHitsValid.cc:551
SiStripTrackingRecHitsValid::layerswitchResolx_LF
bool layerswitchResolx_LF
Definition: SiStripTrackingRecHitsValid.h:259
SiStripTrackingRecHitsValid::layerswitchAdcRphi
bool layerswitchAdcRphi
Definition: SiStripTrackingRecHitsValid.h:290
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus21
bool layerswitchResMFTrackwidthProfile_WClus21
Definition: SiStripTrackingRecHitsValid.h:277
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileWclus4Rphi
bool layerswitchResolxMFTrackwidthProfileWclus4Rphi
Definition: SiStripTrackingRecHitsValid.h:331
SiStripMatchedRecHit2D
Definition: SiStripMatchedRecHit2D.h:8
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus22
bool layerswitchResMFTrackwidthProfile_WClus22
Definition: SiStripTrackingRecHitsValid.h:278
DetId.h
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus21
MonitorElement * meResMFTrackwidthProfileWClus21
Definition: SiStripTrackingRecHitsValid.h:98
SiStripTrackingRecHitsValid::layerswitchResMFSas
bool layerswitchResMFSas
Definition: SiStripTrackingRecHitsValid.h:351
es_hardcode_cfi.hb
hb
Definition: es_hardcode_cfi.py:85
LocalPoint.h
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphi
MonitorElement * mePullTrackwidthProfileRphi
Definition: SiStripTrackingRecHitsValid.h:148
SiStripFolderOrganizer::setLayerFolder
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
Definition: SiStripFolderOrganizer.cc:304
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_Category2
bool layerswitchResolxMFTrackwidthProfile_Category2
Definition: SiStripTrackingRecHitsValid.h:284
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphiwclus1
MonitorElement * meResolxMFRphiwclus1
Definition: SiStripTrackingRecHitsValid.h:123
SiStripFolderOrganizer
Definition: SiStripFolderOrganizer.h:27
BoundPlane
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory1Sas
bool layerswitchResolxMFTrackwidthProfileCategory1Sas
Definition: SiStripTrackingRecHitsValid.h:367
SiStripTrackingRecHitsValid::LayerMEs::meResMFTrackwidthProfileWclus2Rphi
MonitorElement * meResMFTrackwidthProfileWclus2Rphi
Definition: SiStripTrackingRecHitsValid.h:164
SiStripTrackingRecHitsValid::layerswitchExpectedwidthSas
bool layerswitchExpectedwidthSas
Definition: SiStripTrackingRecHitsValid.h:358
SiStripTrackingRecHitsValid::layerswitchResolxMFRphiwclus1
bool layerswitchResolxMFRphiwclus1
Definition: SiStripTrackingRecHitsValid.h:293
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMF
MonitorElement * meResolxMF
Definition: SiStripTrackingRecHitsValid.h:113
SiStripTrackingRecHitsValid::layerswitchRes_LF
bool layerswitchRes_LF
Definition: SiStripTrackingRecHitsValid.h:261
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxLF
MonitorElement * meResolxLF
Definition: SiStripTrackingRecHitsValid.h:110
SiStripTrackingRecHitsValid::LayerMEs::merapidityResProfilewclus3
MonitorElement * merapidityResProfilewclus3
Definition: SiStripTrackingRecHitsValid.h:176
SiStripTrackingRecHitsValid::LayerMEs
Definition: SiStripTrackingRecHitsValid.h:118
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileRphi
MonitorElement * meResolxMFTrackwidthProfileRphi
Definition: SiStripTrackingRecHitsValid.h:157
SiStripHistoId::getSubdetid
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
Definition: SiStripHistoId.cc:82
SiStripTrackingRecHitsValid::RecHitProperties::resolyy
float resolyy
Definition: SiStripTrackingRecHitsValid.h:226
SiStripTrackingRecHitsValid::layerswitchResxMatched
bool layerswitchResxMatched
Definition: SiStripTrackingRecHitsValid.h:377
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileWclus2Rphi
bool layerswitchResolxMFTrackwidthProfileWclus2Rphi
Definition: SiStripTrackingRecHitsValid.h:329
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfileWclus3Rphi
bool layerswitchResMFTrackwidthProfileWclus3Rphi
Definition: SiStripTrackingRecHitsValid.h:334
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile
bool layerswitchResolxMFTrackwidthProfile
Definition: SiStripTrackingRecHitsValid.h:282
SiStripTrackingRecHitsValid::SimpleHitsMEs::mePullLF
MonitorElement * mePullLF
Definition: SiStripTrackingRecHitsValid.h:112
dqm::implementation::IBooker
Definition: DQMStore.h:43
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileCategory3Sas
MonitorElement * mePullTrackwidthProfileCategory3Sas
Definition: SiStripTrackingRecHitsValid.h:200
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullMFSas
MonitorElement * mePullMFSas
Definition: SiStripTrackingRecHitsValid.h:189
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfileWclus1Rphi
bool layerswitchResMFTrackwidthProfileWclus1Rphi
Definition: SiStripTrackingRecHitsValid.h:332
SiStripTrackingRecHitsValid::layerswitchWclusRphi
bool layerswitchWclusRphi
Definition: SiStripTrackingRecHitsValid.h:289
StripGeomDetUnit::specificTopology
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
Definition: StripGeomDetUnit.cc:17
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
StripClusterParameterEstimator::driftDirection
virtual LocalVector driftDirection(const StripGeomDetUnit *) const =0
SiStripTrackingRecHitsValid::layerswitchTrackanglebeta
bool layerswitchTrackanglebeta
Definition: SiStripTrackingRecHitsValid.h:270
SiStripDetCablingRcd.h
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileRphi
bool layerswitchResolxMFTrackwidthProfileRphi
Definition: SiStripTrackingRecHitsValid.h:327
MeasurementError::uu
float uu() const
Definition: MeasurementError.h:14
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
SiStripTrackingRecHitsValid::layerswitchTrackanglebetaRphi
bool layerswitchTrackanglebetaRphi
Definition: SiStripTrackingRecHitsValid.h:310
SiStripTrackingRecHitsValid::bookHistograms
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es) override
Definition: SiStripTrackingRecHitsValid.cc:537
SiStripMatchedRecHit2D.h
SiStripTrackingRecHitsValid::layerswitchTrackangleSas
bool layerswitchTrackangleSas
Definition: SiStripTrackingRecHitsValid.h:354
PSimHit
Definition: PSimHit.h:15
SiStripTrackingRecHitsValid::track_rapidity
float track_rapidity
Definition: SiStripTrackingRecHitsValid.h:452
SiStripTrackingRecHitsValid::layerswitchPullxMatched
bool layerswitchPullxMatched
Definition: SiStripTrackingRecHitsValid.h:379
SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory2Sas
bool layerswitchResolxMFTrackwidthProfileCategory2Sas
Definition: SiStripTrackingRecHitsValid.h:368
SiStripTrackingRecHitsValid::RecHitProperties::resxMF
float resxMF
Definition: SiStripTrackingRecHitsValid.h:231
SiStripTrackingRecHitsValid::LayerMEs::merapidityResProfilewclus4
MonitorElement * merapidityResProfilewclus4
Definition: SiStripTrackingRecHitsValid.h:177
SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfileWclus2Rphi
bool layerswitchResMFTrackwidthProfileWclus2Rphi
Definition: SiStripTrackingRecHitsValid.h:333
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileCategory3Sas
MonitorElement * meResolxMFTrackwidthProfileCategory3Sas
Definition: SiStripTrackingRecHitsValid.h:205
StripCPE.h
SiStripTrackingRecHitsValid::LayerMEs::meResMFRphiwclus2
MonitorElement * meResMFRphiwclus2
Definition: SiStripTrackingRecHitsValid.h:130
SiStripTrackingRecHitsValid::layerswitchPull_MF
bool layerswitchPull_MF
Definition: SiStripTrackingRecHitsValid.h:264
SiStripTrackingRecHitsValid::layerswitchPullMFRphi
bool layerswitchPullMFRphi
Definition: SiStripTrackingRecHitsValid.h:304
edm::Event
Definition: Event.h:73
SiStripTrackingRecHitsValid::LayerMEs::mePullTrackangleProfileRphi
MonitorElement * mePullTrackangleProfileRphi
Definition: SiStripTrackingRecHitsValid.h:142
Parameters
vector< ParameterSet > Parameters
Definition: HLTMuonPlotter.cc:25
MagneticField
Definition: MagneticField.h:19
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meTrackanglebetaSas
MonitorElement * meTrackanglebetaSas
Definition: SiStripTrackingRecHitsValid.h:191
SiStripTrackingRecHitsValid::layerswitchResolxMFAngleProfileRphi
bool layerswitchResolxMFAngleProfileRphi
Definition: SiStripTrackingRecHitsValid.h:340
SiStripTrackingRecHitsValid::RecHitProperties::category
int category
Definition: SiStripTrackingRecHitsValid.h:240
SiStripTrackingRecHitsValid::layerswitchPullLFSas
bool layerswitchPullLFSas
Definition: SiStripTrackingRecHitsValid.h:352
volumeBasedMagneticField_160812_cfi.magfield
magfield
Definition: volumeBasedMagneticField_160812_cfi.py:11
SiStripTrackingRecHitsValid::layerswitchrapidityResProfilewclus1
bool layerswitchrapidityResProfilewclus1
Definition: SiStripTrackingRecHitsValid.h:342
StripTopology
Definition: StripTopology.h:11
GlobalPoint.h
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
SiStripTrackingRecHitsValid::layerswitchResMFRphiwclus4
bool layerswitchResMFRphiwclus4
Definition: SiStripTrackingRecHitsValid.h:302
StripSubdetector.h
SiStripTrackingRecHitsValid::LayerMEs::merapidityResProfilewclus1
MonitorElement * merapidityResProfilewclus1
Definition: SiStripTrackingRecHitsValid.h:174
SiStripSubStructure.h
SiStripTrackingRecHitsValid::RecHitProperties::thickness
float thickness
Definition: SiStripTrackingRecHitsValid.h:241
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePosyMatched
MonitorElement * mePosyMatched
Definition: SiStripTrackingRecHitsValid.h:211
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphiwclus2
bool layerswitchPullTrackwidthProfileRphiwclus2
Definition: SiStripTrackingRecHitsValid.h:320
edm::InputTag
Definition: InputTag.h:15
SiStripTrackingRecHitsValid::createMEs
void createMEs(DQMStore::IBooker &ibooker, const edm::EventSetup &es)
Definition: SiStripTrackingRecHitsValid.cc:1380
label
const char * label
Definition: PFTauDecayModeTools.cc:11
SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphiwclus1
bool layerswitchPullTrackwidthProfileRphiwclus1
Definition: SiStripTrackingRecHitsValid.h:319
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileWclus2Rphi
MonitorElement * meResolxMFTrackwidthProfileWclus2Rphi
Definition: SiStripTrackingRecHitsValid.h:160
SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory4
MonitorElement * meResolxMFTrackwidthProfileCategory4
Definition: SiStripTrackingRecHitsValid.h:107
SiStripTrackingRecHitsValid::LayerMEs::meResolxMFClusterwidthProfileCategory1Rphi
MonitorElement * meResolxMFClusterwidthProfileCategory1Rphi
Definition: SiStripTrackingRecHitsValid.h:172
hit
Definition: SiStripHitEffFromCalibTree.cc:88
SiStripTrackingRecHitsValid::LayerMEs::meResMFRphi
MonitorElement * meResMFRphi
Definition: SiStripTrackingRecHitsValid.h:128
SiStripTrackingRecHitsValid::MatchStatus::matched
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResLFSas
MonitorElement * meResLFSas
Definition: SiStripTrackingRecHitsValid.h:186
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileSas
MonitorElement * mePullTrackwidthProfileSas
Definition: SiStripTrackingRecHitsValid.h:197
SiStripTrackingRecHitsValid::RecHitProperties::resolxxMF
float resolxxMF
Definition: SiStripTrackingRecHitsValid.h:227
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackangleProfileSas
MonitorElement * mePullTrackangleProfileSas
Definition: SiStripTrackingRecHitsValid.h:192
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
TrackingRecHit::localPositionError
virtual LocalError localPositionError() const =0
StripGeomDetUnit
Definition: StripGeomDetUnit.h:15
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolyMatched
MonitorElement * meResolyMatched
Definition: SiStripTrackingRecHitsValid.h:213
TrackerGeometry
Definition: TrackerGeometry.h:14
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meTrackwidthSas
MonitorElement * meTrackwidthSas
Definition: SiStripTrackingRecHitsValid.h:193
SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileCategory2Sas
MonitorElement * meResolxMFTrackwidthProfileCategory2Sas
Definition: SiStripTrackingRecHitsValid.h:204