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 
1205  if (matchedmonorstereo == MatchStatus::matched) {
1206  const StripGeomDetUnit *partnerstripdet = static_cast<const StripGeomDetUnit *>(gluedDet->stereoDet());
1207  std::pair<LocalPoint, LocalVector> hitPair;
1208  std::pair<LocalPoint, LocalVector> closestPair;
1209  for (auto &m : matched) {
1210  //project simhit;
1211  hitPair = projectHit(m, partnerstripdet, gluedDet->surface());
1212  distx = fabs(rechitpro.x - hitPair.first.x());
1213  disty = fabs(rechitpro.y - hitPair.first.y());
1214  dist = distx * distx + disty * disty;
1215  if (dist < mindist) {
1216  mindist = dist;
1217  closestPair = hitPair;
1218  }
1219  }
1220  float closestX = closestPair.first.x();
1221  float closestY = closestPair.first.y();
1222  rechitpro.resx = rechitpro.x - closestX;
1223  rechitpro.resy = rechitpro.y - closestPair.first.y();
1224  rechitpro.pullx = ((rechit)->localPosition().x() - closestX) / sqrt(error.xx());
1225  rechitpro.pully = ((rechit)->localPosition().y() - closestY) / sqrt(error.yy());
1226  } else if (matchedmonorstereo == MatchStatus::monoHit) {
1227  PSimHit *closest = nullptr;
1228  for (auto &m : matched) {
1229  //project simhit;
1230  dist = abs((monohit)->localPosition().x() - m.localPosition().x());
1231  if (dist < mindist) {
1232  mindist = dist;
1233  closest = &m;
1234  }
1235  }
1236  float closestX = closest->localPosition().x();
1237  rechitpro.resx = rechitpro.x - closestX;
1238  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1239  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1240  rechitpro.pullxMF = (rechitpro.resxMF) / sqrt(Merror.uu());
1241  } else if (matchedmonorstereo == MatchStatus::stereoHit) {
1242  PSimHit *closest = nullptr;
1243  for (auto &m : matched) {
1244  //project simhit;
1245  dist = abs((stereohit)->localPosition().x() - m.localPosition().x());
1246  if (dist < mindist) {
1247  mindist = dist;
1248  closest = &m;
1249  }
1250  }
1251  float closestX = closest->localPosition().x();
1252  rechitpro.resx = rechitpro.x - closestX;
1253  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1254  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1255  rechitpro.pullxMF = (rechitpro.resxMF) / sqrt(Merror.uu());
1256  }
1257  }
1258 }
1259 //--------------------------------------------------------------------------------------------
1261  const TrackingRecHit *rechit,
1262  const StripGeomDetUnit *stripdet,
1264  TrackerHitAssociator &associate,
1265  bool simplehit1or2D) {
1266  rechitpro.resx = -999999.;
1267  rechitpro.resy = -999999.;
1268  rechitpro.resxMF = -999999.;
1269  rechitpro.pullx = -999999.;
1270  rechitpro.pully = -999999.;
1271  rechitpro.pullxMF = -999999.;
1272 
1273  //If simplehit1or2D is true we are dealing with hit1d, false is for hit2d
1274  const SiStripRecHit2D *hit2d = dynamic_cast<const SiStripRecHit2D *>(rechit);
1275  const SiStripRecHit1D *hit1d = dynamic_cast<const SiStripRecHit1D *>(rechit);
1276 
1277  const StripTopology &topol = (const StripTopology &)stripdet->topology();
1278 
1279  LocalPoint position = rechit->localPosition();
1280  LocalError error = rechit->localPositionError();
1281  MeasurementPoint Mposition = topol.measurementPosition(position);
1283 
1284  const LocalVector &trackdirection = ldir;
1285  rechitpro.trackangle = std::atan(trackdirection.x() / trackdirection.z()) * TMath::RadToDeg();
1286  rechitpro.trackanglebeta = std::atan(trackdirection.y() / trackdirection.z()) * TMath::RadToDeg();
1287 
1288  LocalVector drift = stripcpe->driftDirection(stripdet);
1289  rechitpro.thickness = stripdet->surface().bounds().thickness();
1290  float pitch = topol.localPitch(position);
1291  float tanalpha = tan(rechitpro.trackangle * TMath::DegToRad());
1292  float tanalphaL = drift.x() / drift.z();
1293  rechitpro.trackwidth = fabs((rechitpro.thickness / pitch) * tanalpha - (rechitpro.thickness / pitch) * tanalphaL);
1294  float SLorentz = 0.5 * (rechitpro.thickness / pitch) * tanalphaL;
1295  int Sp = int(position.x() / pitch + SLorentz + 0.5 * rechitpro.trackwidth);
1296  int Sm = int(position.x() / pitch + SLorentz - 0.5 * rechitpro.trackwidth);
1297  rechitpro.expectedwidth = 1 + Sp - Sm;
1298 
1299  int totcharge = 0;
1300  if (simplehit1or2D) {
1302  clust1d = hit1d->cluster();
1303  const auto &amplitudes1d = clust1d->amplitudes();
1304  rechitpro.clusiz = amplitudes1d.size();
1305  for (size_t ia = 0; ia < amplitudes1d.size(); ++ia) {
1306  totcharge += amplitudes1d[ia];
1307  }
1308  } else {
1310  clust2d = hit2d->cluster();
1311  const auto &amplitudes2d = clust2d->amplitudes();
1312  rechitpro.clusiz = amplitudes2d.size();
1313  for (size_t ia = 0; ia < amplitudes2d.size(); ++ia) {
1314  totcharge += amplitudes2d[ia];
1315  }
1316  }
1317 
1318  rechitpro.x = position.x();
1319  rechitpro.y = position.y();
1320  rechitpro.z = position.z();
1321  rechitpro.resolxx = error.xx();
1322  rechitpro.resolxy = error.xy();
1323  rechitpro.resolyy = error.yy();
1324  rechitpro.resolxxMF = Merror.uu();
1325  rechitpro.cluchg = totcharge;
1326 
1328  rechitpro.category = 1;
1329  } else if (rechitpro.expectedwidth == 1) {
1330  rechitpro.category = 2;
1331  } else if (rechitpro.clusiz <= rechitpro.expectedwidth) {
1332  rechitpro.category = 3;
1333  } else {
1334  rechitpro.category = 4;
1335  }
1336 
1337  matched.clear();
1338  float mindist = std::numeric_limits<float>::max();
1339  float dist = std::numeric_limits<float>::max();
1340  PSimHit *closest = nullptr;
1341 
1342  if (simplehit1or2D) {
1343  matched = associate.associateHit(*hit1d);
1344  if (!matched.empty()) {
1345  for (auto &m : matched) {
1346  dist = abs((hit1d)->localPosition().x() - m.localPosition().x());
1347  if (dist < mindist) {
1348  mindist = dist;
1349  closest = &m;
1350  }
1351  }
1352  float closestX = closest->localPosition().x();
1353  rechitpro.resx = rechitpro.x - closestX;
1354  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1355  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1356  rechitpro.pullxMF = (rechitpro.resxMF) / sqrt(Merror.uu());
1357  }
1358  } else {
1359  matched = associate.associateHit(*hit2d);
1360  if (!matched.empty()) {
1361  for (auto &m : matched) {
1362  dist = abs((hit2d)->localPosition().x() - m.localPosition().x());
1363  if (dist < mindist) {
1364  mindist = dist;
1365  closest = &m;
1366  }
1367  }
1368  float closestX = closest->localPosition().x();
1369  rechitpro.resx = rechitpro.x - closestX;
1370  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1371  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1372  rechitpro.pullxMF = (rechitpro.resxMF) / sqrt(Merror.uu());
1373  }
1374  }
1375 }
1376 //--------------------------------------------------------------------------------------------
1378  //Retrieve tracker topology from geometry
1379  edm::ESHandle<TrackerTopology> tTopoHandle;
1380  es.get<TrackerTopologyRcd>().get(tTopoHandle);
1381  const TrackerTopology *const tTopo = tTopoHandle.product();
1382 
1383  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
1385 
1386  // get list of active detectors from SiStripDetCabling
1387  std::vector<uint32_t> activeDets;
1389 
1390  SiStripFolderOrganizer folder_organizer;
1391  // folder_organizer.setSiStripFolderName(topFolderName_);
1392  std::string curfold = topFolderName_;
1393  folder_organizer.setSiStripFolderName(curfold);
1394  folder_organizer.setSiStripFolder();
1395 
1396  // std::cout << "curfold " << curfold << std::endl;
1397 
1398  createSimpleHitsMEs(ibooker);
1399 
1400  // loop over detectors and book MEs
1401  edm::LogInfo("SiStripTrackingRecHitsValid|SiStripTrackingRecHitsValid")
1402  << "nr. of activeDets: " << activeDets.size();
1403  const std::string &tec = "TEC", tid = "TID", tob = "TOB", tib = "TIB";
1404  for (std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(), detid_end = activeDets.end();
1405  detid_iterator != detid_end;
1406  ++detid_iterator) {
1407  uint32_t detid = (*detid_iterator);
1408  // remove any eventual zero elements - there should be none, but just in case
1409  if (detid == 0) {
1410  activeDets.erase(detid_iterator);
1411  continue;
1412  }
1413 
1414  // Create Layer Level MEs
1415  std::pair<std::string, int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo, true);
1416  SiStripHistoId hidmanager;
1417  std::string label = hidmanager.getSubdetid(detid, tTopo, true);
1418  // std::cout << "label " << label << endl;
1419 
1420  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
1421  if (iLayerME == LayerMEsMap.end()) {
1422  // get detids for the layer
1423  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
1424  int32_t lnumber = det_layer_pair.second;
1425  const std::string &lname = det_layer_pair.first;
1426  std::vector<uint32_t> layerDetIds;
1427  if (lname == tec) {
1428  if (lnumber > 0) {
1429  SiStripSubStructure::getTECDetectors(activeDets, layerDetIds, tTopo, 2, 0, 0, 0, abs(lnumber), 0);
1430  } else if (lnumber < 0) {
1431  SiStripSubStructure::getTECDetectors(activeDets, layerDetIds, tTopo, 1, 0, 0, 0, abs(lnumber), 0);
1432  }
1433  } else if (lname == tid) {
1434  if (lnumber > 0) {
1435  SiStripSubStructure::getTIDDetectors(activeDets, layerDetIds, tTopo, 2, 0, abs(lnumber), 0);
1436  } else if (lnumber < 0) {
1437  SiStripSubStructure::getTIDDetectors(activeDets, layerDetIds, tTopo, 1, 0, abs(lnumber), 0);
1438  }
1439  } else if (lname == tob) {
1440  SiStripSubStructure::getTOBDetectors(activeDets, layerDetIds, tTopo, lnumber, 0, 0);
1441  } else if (lname == tib) {
1442  SiStripSubStructure::getTIBDetectors(activeDets, layerDetIds, tTopo, lnumber, 0, 0, 0);
1443  }
1444  LayerDetMap[label] = layerDetIds;
1445 
1446  // book Layer MEs
1447  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second, true);
1448  // std::stringstream ss;
1449  // folder_organizer.getLayerFolderName(ss, detid, tTopo, true);
1450  // std::cout << "Folder Name " << ss.str().c_str() << std::endl;
1451  // folder_organizer.setLayerFolder(detid,det_layer_pair.second,true);
1452  createLayerMEs(ibooker, label);
1453  }
1454  //Create StereoAndMatchedMEs
1455  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
1456  if (iStereoAndMatchedME == StereoAndMatchedMEsMap.end()) {
1457  // get detids for the stereo and matched layer. We are going to need a bool for these layers
1458  bool isStereo = false;
1459  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
1460  std::vector<uint32_t> stereoandmatchedDetIds;
1461  int32_t stereolnumber = det_layer_pair.second;
1462  const std::string &stereolname = det_layer_pair.first;
1463  if (stereolname == tec && (tTopo->tecIsStereo(detid))) {
1464  if (stereolnumber > 0) {
1466  activeDets, stereoandmatchedDetIds, tTopo, 2, 0, 0, 0, abs(stereolnumber), 1);
1467  isStereo = true;
1468  } else if (stereolnumber < 0) {
1470  activeDets, stereoandmatchedDetIds, tTopo, 1, 0, 0, 0, abs(stereolnumber), 1);
1471  isStereo = true;
1472  }
1473  } else if (stereolname == tid && (tTopo->tidIsStereo(detid))) {
1474  if (stereolnumber > 0) {
1475  SiStripSubStructure::getTIDDetectors(activeDets, stereoandmatchedDetIds, tTopo, 2, 0, abs(stereolnumber), 1);
1476  isStereo = true;
1477  } else if (stereolnumber < 0) {
1478  SiStripSubStructure::getTIDDetectors(activeDets, stereoandmatchedDetIds, tTopo, 1, 0, abs(stereolnumber), 1);
1479  isStereo = true;
1480  }
1481  } else if (stereolname == tob && (tTopo->tobIsStereo(detid))) {
1482  SiStripSubStructure::getTOBDetectors(activeDets, stereoandmatchedDetIds, tTopo, stereolnumber, 0, 0);
1483  isStereo = true;
1484  } else if (stereolname == tib && (tTopo->tibIsStereo(detid))) {
1485  SiStripSubStructure::getTIBDetectors(activeDets, stereoandmatchedDetIds, tTopo, stereolnumber, 0, 0, 0);
1486  isStereo = true;
1487  }
1488 
1489  StereoAndMatchedDetMap[label] = stereoandmatchedDetIds;
1490 
1491  // book StereoAndMatched MEs
1492  if (isStereo) {
1493  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second, true);
1494  // std::stringstream ss1;
1495  // folder_organizer.getLayerFolderName(ss1, detid, tTopo, true);
1496  // std::cout << "Folder Name stereo " << ss1.str().c_str() << std::endl;
1497  //Create the Monitor Elements only when we have a stereo module
1498  createStereoAndMatchedMEs(ibooker, label);
1499  }
1500  }
1501 
1502  } //end of loop over detectors
1503 }
1504 //------------------------------------------------------------------------------------------
1506  simplehitsMEs.meCategory = nullptr;
1507  simplehitsMEs.meTrackwidth = nullptr;
1508  simplehitsMEs.meExpectedwidth = nullptr;
1509  simplehitsMEs.meClusterwidth = nullptr;
1510  simplehitsMEs.meTrackanglealpha = nullptr;
1511  simplehitsMEs.meTrackanglebeta = nullptr;
1518 
1523 
1532  simplehitsMEs.meResolxLF = nullptr;
1533  simplehitsMEs.meResLF = nullptr;
1534  simplehitsMEs.mePullLF = nullptr;
1535  simplehitsMEs.meResolxMF = nullptr;
1536  simplehitsMEs.meResMF = nullptr;
1537  simplehitsMEs.mePullMF = nullptr;
1538 
1539  if (layerswitchResolx_LF) {
1541  bookME1D(ibooker, "TH1Resolx_LF", "TH1Resolx_LF", "RecHit resol(x) coord. (local frame)");
1542  simplehitsMEs.meResolxLF->setAxisTitle("resol(x) RecHit coord. (local frame)");
1543  }
1544  if (layerswitchResolx_MF) {
1546  bookME1D(ibooker, "TH1Resolx_MF", "TH1Resolx_MF", "RecHit resol(x) coord. (measurement frame)");
1547  simplehitsMEs.meResolxMF->setAxisTitle("resol(x) RecHit coord. (measurement frame)");
1548  }
1549  if (layerswitchRes_LF) {
1551  bookME1D(ibooker, "TH1Res_LF", "TH1Res_LF", "Residual of the hit x coordinate (local frame)");
1552  simplehitsMEs.meResLF->setAxisTitle("Hit Res(x) (local frame)");
1553  }
1554  if (layerswitchRes_MF) {
1556  bookME1D(ibooker, "TH1Res_MF", "TH1Res_MF", "Residual of the hit x coordinate (measurement frame)");
1557  simplehitsMEs.meResMF->setAxisTitle("Hit Res(x) (measurement frame)");
1558  }
1559  if (layerswitchPull_LF) {
1560  simplehitsMEs.mePullLF = bookME1D(ibooker, "TH1Pull_LF", "TH1Pull_LF", "Pull distribution (local frame)");
1561  simplehitsMEs.mePullLF->setAxisTitle("Pull distribution (local frame)");
1562  }
1563  if (layerswitchPull_MF) {
1564  simplehitsMEs.mePullMF = bookME1D(ibooker, "TH1Pull_MF", "TH1Pull_MF", "Pull distribution (measurement frame)");
1565  simplehitsMEs.mePullMF->setAxisTitle("Pull distribution (measurement frame)");
1566  }
1567  if (layerswitchCategory) {
1568  simplehitsMEs.meCategory = bookME1D(ibooker, "TH1Category", "TH1Category", "Category");
1569  simplehitsMEs.meCategory->setAxisTitle("Category");
1570  }
1571  if (layerswitchTrackwidth) {
1572  simplehitsMEs.meTrackwidth = bookME1D(ibooker, "TH1Trackwidth", "TH1Trackwidth", "Track width");
1573  simplehitsMEs.meTrackwidth->setAxisTitle("Track width");
1574  }
1576  simplehitsMEs.meExpectedwidth = bookME1D(ibooker, "TH1Expectedwidth", "TH1Expectedwidth", "Expected width");
1577  simplehitsMEs.meExpectedwidth->setAxisTitle("Expected width");
1578  }
1580  simplehitsMEs.meClusterwidth = bookME1D(ibooker, "TH1Clusterwidth", "TH1Clusterwidth", "Cluster width");
1581  simplehitsMEs.meClusterwidth->setAxisTitle("Cluster width");
1582  }
1585  bookME1D(ibooker, "TH1Trackanglealpha", "TH1Trackanglealpha", "Track angle alpha");
1586  simplehitsMEs.meTrackanglealpha->setAxisTitle("Track angle alpha");
1587  }
1589  simplehitsMEs.meTrackanglebeta = bookME1D(ibooker, "TH1Trackanglebeta", "TH1Trackanglebeta", "Track angle beta");
1590  simplehitsMEs.meTrackanglebeta->setAxisTitle("Track angle beta");
1591  }
1594  bookMEProfile(ibooker,
1595  "TProfResolxMFTrackwidthProfile_WClus1",
1596  "TProfResolxMFTrackwidthProfile_WClus1",
1597  "Profile of Resolution in MF vs track width for w=1");
1599  simplehitsMEs.meResolxMFTrackwidthProfileWClus1->setAxisTitle("Resolution (measurement frame) w=1", 2);
1600  }
1603  bookMEProfile(ibooker,
1604  "TProfResolxMFTrackwidthProfile_WClus2",
1605  "TProfResolxMFTrackwidthProfile_WClus2",
1606  "Profile of Resolution in MF vs track width for w=2");
1608  simplehitsMEs.meResolxMFTrackwidthProfileWClus2->setAxisTitle("Resolution (measurement frame) w=2", 2);
1609  }
1612  bookMEProfile(ibooker,
1613  "TProfResolxMFTrackwidthProfile_WClus3",
1614  "TProfResolxMFTrackwidthProfile_WClus3",
1615  "Profile of Resolution in MF vs track width for w=3");
1617  simplehitsMEs.meResolxMFTrackwidthProfileWClus3->setAxisTitle("Resolution (measurement frame) w=3", 2);
1618  }
1621  bookMEProfile(ibooker,
1622  "TProfResolxMFTrackwidthProfile_WClus4",
1623  "TProfResolxMFTrackwidthProfile_WClus4",
1624  "Profile of Resolution in MF vs track width for w=4");
1626  simplehitsMEs.meResolxMFTrackwidthProfileWClus4->setAxisTitle("Resolution (measurement frame) w=3", 2);
1627  }
1630  bookMEProfile(ibooker,
1631  "TProfResMFTrackwidthProfile_WClus1",
1632  "TProfResMFTrackwidthProfile_WClus1",
1633  "Profile of Residuals(x) in MF vs track width for w=1");
1635  simplehitsMEs.meResMFTrackwidthProfileWClus1->setAxisTitle("Residuals(x) (measurement frame) w=1", 2);
1636  }
1639  bookMEProfile(ibooker,
1640  "TProfResMFTrackwidthProfile_WClus2",
1641  "TProfResMFTrackwidthProfile_WClus2",
1642  "Profile of Residuals(x) in MF vs track width for w=2");
1644  simplehitsMEs.meResMFTrackwidthProfileWClus2->setAxisTitle("Residuals(x) (measurement frame) w=2", 2);
1645  }
1648  bookMEProfile(ibooker,
1649  "TProfResMFTrackwidthProfile_WClus21",
1650  "TProfResMFTrackwidthProfile_WClus21",
1651  "Profile of Residuals(x) in MF vs track width for w=2");
1653  simplehitsMEs.meResMFTrackwidthProfileWClus21->setAxisTitle("Residuals(x) (measurement frame) w=2", 2);
1654  }
1657  bookMEProfile(ibooker,
1658  "TProfResMFTrackwidthProfile_WClus22",
1659  "TProfResMFTrackwidthProfile_WClus22",
1660  "Profile of Residuals(x) in MF vs track width for w=2");
1662  simplehitsMEs.meResMFTrackwidthProfileWClus22->setAxisTitle("Residuals(x) (measurement frame) w=2", 2);
1663  }
1666  bookMEProfile(ibooker,
1667  "TProfResMFTrackwidthProfile_WClus23",
1668  "TProfResMFTrackwidthProfile_WClus23",
1669  "Profile of Residuals(x) in MF vs track width for w=2");
1671  simplehitsMEs.meResMFTrackwidthProfileWClus23->setAxisTitle("Residuals(x) (measurement frame) w=2", 2);
1672  }
1675  bookMEProfile(ibooker,
1676  "TProfResMFTrackwidthProfile_WClus3",
1677  "TProfResMFTrackwidthProfile_WClus3",
1678  "Profile of Residuals(x) in MF vs track width for w=3");
1680  simplehitsMEs.meResMFTrackwidthProfileWClus3->setAxisTitle("Residuals(x) (measurement frame) w=3", 2);
1681  }
1684  bookMEProfile(ibooker,
1685  "TProfResMFTrackwidthProfile_WClus4",
1686  "TProfResMFTrackwidthProfile_WClus4",
1687  "Profile of Residuals(x) in MF vs track width for w=4");
1689  simplehitsMEs.meResMFTrackwidthProfileWClus4->setAxisTitle("Residuals(x) (measurement frame) w=4", 2);
1690  }
1693  "TProfResolxMFTrackwidthProfile",
1694  "TProfResolxMFTrackwidthProfile",
1695  "Profile of Resolution in MF vs track width");
1697  simplehitsMEs.meResolxMFTrackwidthProfile->setAxisTitle("Resolution (measurement frame)", 2);
1698  }
1701  bookMEProfile(ibooker,
1702  "TProfResolxMFTrackwidthProfile_Category1",
1703  "TProfResolxMFTrackwidthProfile_Category1",
1704  "Profile of Resolution in MF vs track width (Category 1)");
1706  simplehitsMEs.meResolxMFTrackwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1", 2);
1707  }
1710  bookMEProfile(ibooker,
1711  "TProfResolxMFTrackwidthProfile_Category2",
1712  "TProfResolxMFTrackwidthProfile_Category2",
1713  "Profile of Resolution in MF vs track width (Category 2)");
1715  simplehitsMEs.meResolxMFTrackwidthProfileCategory2->setAxisTitle("Resolution (measurement frame) Category 2", 2);
1716  }
1719  bookMEProfile(ibooker,
1720  "TProfResolxMFTrackwidthProfile_Category3",
1721  "TProfResolxMFTrackwidthProfile_Category3",
1722  "Profile of Resolution in MF vs track width (Category 3)");
1724  simplehitsMEs.meResolxMFTrackwidthProfileCategory3->setAxisTitle("Resolution (measurement frame) Category 3", 2);
1725  }
1728  bookMEProfile(ibooker,
1729  "TProfResolxMFTrackwidthProfile_Category4",
1730  "TProfResolxMFTrackwidthProfile_Category4",
1731  "Profile of Resolution in MF vs track width (Category 4)");
1733  simplehitsMEs.meResolxMFTrackwidthProfileCategory4->setAxisTitle("Resolution (measurement frame) Category 4", 2);
1734  }
1737  bookMEProfile(ibooker,
1738  "TProfResolxMFClusterwidthProfile_Category1",
1739  "TProfResolxMFClusterwidthProfile_Category1",
1740  "Profile of Resolution in MF vs cluster width (Category 1)");
1742  simplehitsMEs.meResolxMFClusterwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1", 2);
1743  }
1746  "TProfResolxMFAngleProfile",
1747  "TProfResolxMFAngleProfile",
1748  "Profile of Resolution in MF vs Track angle alpha");
1749  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Track angle alpha", 1);
1750  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Resolution (measurement frame)", 2);
1751  }
1752 }
1753 //------------------------------------------------------------------------------------------
1755  SiStripHistoId hidmanager;
1756  LayerMEs layerMEs;
1757 
1758  layerMEs.meWclusRphi = nullptr;
1759  layerMEs.meAdcRphi = nullptr;
1760  layerMEs.meResolxLFRphi = nullptr;
1761  layerMEs.meResolxMFRphi = nullptr;
1762  layerMEs.meResolxMFRphiwclus1 = nullptr;
1763  layerMEs.meResolxMFRphiwclus2 = nullptr;
1764  layerMEs.meResolxMFRphiwclus3 = nullptr;
1765  layerMEs.meResolxMFRphiwclus4 = nullptr;
1766  layerMEs.meResLFRphi = nullptr;
1767  layerMEs.meResMFRphi = nullptr;
1768  layerMEs.meResMFRphiwclus1 = nullptr;
1769  layerMEs.meResMFRphiwclus2 = nullptr;
1770  layerMEs.meResMFRphiwclus3 = nullptr;
1771  layerMEs.meResMFRphiwclus4 = nullptr;
1772  layerMEs.mePullLFRphi = nullptr;
1773  layerMEs.mePullMFRphi = nullptr;
1774  layerMEs.mePullMFRphiwclus1 = nullptr;
1775  layerMEs.mePullMFRphiwclus2 = nullptr;
1776  layerMEs.mePullMFRphiwclus3 = nullptr;
1777  layerMEs.mePullMFRphiwclus4 = nullptr;
1778  layerMEs.meTrackangleRphi = nullptr;
1779  layerMEs.meTrackanglebetaRphi = nullptr;
1780  layerMEs.meTrackangle2Rphi = nullptr;
1781  layerMEs.mePullTrackangleProfileRphi = nullptr;
1782  layerMEs.mePullTrackangle2DRphi = nullptr;
1783  layerMEs.meTrackwidthRphi = nullptr;
1784  layerMEs.meExpectedwidthRphi = nullptr;
1785  layerMEs.meClusterwidthRphi = nullptr;
1786  layerMEs.meCategoryRphi = nullptr;
1787  layerMEs.mePullTrackwidthProfileRphi = nullptr;
1788  layerMEs.mePullTrackwidthProfileRphiwclus1 = nullptr;
1789  layerMEs.mePullTrackwidthProfileRphiwclus2 = nullptr;
1790  layerMEs.mePullTrackwidthProfileRphiwclus3 = nullptr;
1791  layerMEs.mePullTrackwidthProfileRphiwclus4 = nullptr;
1792  layerMEs.mePullTrackwidthProfileCategory1Rphi = nullptr;
1793  layerMEs.mePullTrackwidthProfileCategory2Rphi = nullptr;
1794  layerMEs.mePullTrackwidthProfileCategory3Rphi = nullptr;
1795  layerMEs.mePullTrackwidthProfileCategory4Rphi = nullptr;
1796  layerMEs.meResolxMFTrackwidthProfileRphi = nullptr;
1797 
1798  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi = nullptr;
1799  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi = nullptr;
1800  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi = nullptr;
1801  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi = nullptr;
1802  layerMEs.meResMFTrackwidthProfileWclus1Rphi = nullptr;
1803  layerMEs.meResMFTrackwidthProfileWclus2Rphi = nullptr;
1804  layerMEs.meResMFTrackwidthProfileWclus3Rphi = nullptr;
1805  layerMEs.meResMFTrackwidthProfileWclus4Rphi = nullptr;
1806 
1807  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi = nullptr;
1808  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi = nullptr;
1809  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi = nullptr;
1810  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi = nullptr;
1811  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi = nullptr;
1812  layerMEs.meResolxMFAngleProfileRphi = nullptr;
1813  layerMEs.merapidityResProfilewclus1 = nullptr;
1814  layerMEs.merapidityResProfilewclus2 = nullptr;
1815  layerMEs.merapidityResProfilewclus3 = nullptr;
1816  layerMEs.merapidityResProfilewclus4 = nullptr;
1817 
1818  //WclusRphi
1819  if (layerswitchWclusRphi) {
1820  layerMEs.meWclusRphi = bookME1D(ibooker,
1821  "TH1WclusRphi",
1822  hidmanager.createHistoLayer("Wclus_rphi", "layer", label, "").c_str(),
1823  "Cluster Width - Number of strips that belong to the RecHit cluster");
1824  layerMEs.meWclusRphi->setAxisTitle("Cluster Width [nr strips] in " + label);
1825  }
1826  //AdcRphi
1827  if (layerswitchAdcRphi) {
1828  layerMEs.meAdcRphi = bookME1D(ibooker,
1829  "TH1AdcRphi",
1830  hidmanager.createHistoLayer("Adc_rphi", "layer", label, "").c_str(),
1831  "RecHit Cluster Charge");
1832  layerMEs.meAdcRphi->setAxisTitle("cluster charge [ADC] in " + label);
1833  }
1834  //ResolxLFRphi
1836  layerMEs.meResolxLFRphi = bookME1D(ibooker,
1837  "TH1ResolxLFRphi",
1838  hidmanager.createHistoLayer("Resolx_LF_rphi", "layer", label, "").c_str(),
1839  "RecHit resol(x) coord."); //<resolor>~20micron
1840  layerMEs.meResolxLFRphi->setAxisTitle("resol(x) RecHit coord. (local frame) in " + label);
1841  }
1842  //ResolxMFRphi
1844  layerMEs.meResolxMFRphi = bookME1D(ibooker,
1845  "TH1ResolxMFRphi",
1846  hidmanager.createHistoLayer("Resolx_MF_rphi", "layer", label, "").c_str(),
1847  "RecHit resol(x) coord."); //<resolor>~20micron
1848  layerMEs.meResolxMFRphi->setAxisTitle("resol(x) RecHit coord. (measurement frame) in " + label);
1849  }
1850  //ResolxMFRphiwclus1
1852  layerMEs.meResolxMFRphiwclus1 =
1853  bookME1D(ibooker,
1854  "TH1ResolxMFRphiwclus1",
1855  hidmanager.createHistoLayer("Resolx_MF_wclus1_rphi", "layer", label, "").c_str(),
1856  "RecHit resol(x) coord. w=1 "); //<resolor>~20micron
1857  layerMEs.meResolxMFRphiwclus1->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=1 in " + label);
1858  }
1859  //ResolxMFRphiwclus2
1861  layerMEs.meResolxMFRphiwclus2 =
1862  bookME1D(ibooker,
1863  "TH1ResolxMFRphiwclus2",
1864  hidmanager.createHistoLayer("Resolx_MF_wclus2_rphi", "layer", label, "").c_str(),
1865  "RecHit resol(x) coord. w=2 "); //<resolor>~20micron
1866  layerMEs.meResolxMFRphiwclus2->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=2 in " + label);
1867  }
1868  //ResolxMFRphiwclus3
1870  layerMEs.meResolxMFRphiwclus3 =
1871  bookME1D(ibooker,
1872  "TH1ResolxMFRphiwclus3",
1873  hidmanager.createHistoLayer("Resolx_MF_wclus3_rphi", "layer", label, "").c_str(),
1874  "RecHit resol(x) coord. w=3 "); //<resolor>~20micron
1875  layerMEs.meResolxMFRphiwclus3->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=3 in " + label);
1876  }
1877  //ResolxMFRphiwclus4
1879  layerMEs.meResolxMFRphiwclus4 =
1880  bookME1D(ibooker,
1881  "TH1ResolxMFRphiwclus4",
1882  hidmanager.createHistoLayer("Resolx_MF_wclus4_rphi", "layer", label, "").c_str(),
1883  "RecHit resol(x) coord. w=4 "); //<resolor>~20micron
1884  layerMEs.meResolxMFRphiwclus4->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=4 in " + label);
1885  }
1886  //ResLFRphi
1887  if (layerswitchResLFRphi) {
1888  layerMEs.meResLFRphi = bookME1D(ibooker,
1889  "TH1ResLFRphi",
1890  hidmanager.createHistoLayer("Res_LF_rphi", "layer", label, "").c_str(),
1891  "Residual of the hit x coordinate");
1892  layerMEs.meResLFRphi->setAxisTitle("Hit Residuals(x) (local frame) in " + label);
1893  }
1894  //ResMFRphi
1895  if (layerswitchResMFRphi) {
1896  layerMEs.meResMFRphi = bookME1D(ibooker,
1897  "TH1ResMFRphi",
1898  hidmanager.createHistoLayer("Res_MF_Rphi", "layer", label, "").c_str(),
1899  "Residual of the hit x coordinate");
1900  layerMEs.meResMFRphi->setAxisTitle("Hit Residuals(x) (measurement frame) in " + label);
1901  }
1902  //ResMFRphiwclus1
1904  layerMEs.meResMFRphiwclus1 = bookME1D(ibooker,
1905  "TH1ResMFRphiwclus1",
1906  hidmanager.createHistoLayer("Res_MF_wclus1_Rphi", "layer", label, "").c_str(),
1907  "Residual of the hit x coordinate w=1");
1908  layerMEs.meResMFRphiwclus1->setAxisTitle("Hit Residuals(x) (measurement frame) for w=1 in " + label);
1909  }
1910  //ResMFRphiwclus2
1912  layerMEs.meResMFRphiwclus2 = bookME1D(ibooker,
1913  "TH1ResMFRphiwclus2",
1914  hidmanager.createHistoLayer("Res_MF_wclus2_Rphi", "layer", label, "").c_str(),
1915  "Residual of the hit x coordinate w=2");
1916  layerMEs.meResMFRphiwclus2->setAxisTitle("Hit Residuals(x) (measurement frame) for w=2 in " + label);
1917  }
1918  //ResMFRphiwclus3
1920  layerMEs.meResMFRphiwclus3 = bookME1D(ibooker,
1921  "TH1ResMFRphiwclus3",
1922  hidmanager.createHistoLayer("Res_MF_wclus3_Rphi", "layer", label, "").c_str(),
1923  "Residual of the hit x coordinate w=3");
1924  layerMEs.meResMFRphiwclus3->setAxisTitle("Hit Residuals(x) (measurement frame) for w=3 in " + label);
1925  }
1926  //ResMFRphiwclus4
1928  layerMEs.meResMFRphiwclus4 = bookME1D(ibooker,
1929  "TH1ResMFRphiwclus4",
1930  hidmanager.createHistoLayer("Res_MF_wclus4_Rphi", "layer", label, "").c_str(),
1931  "Residual of the hit x coordinate w=4");
1932  layerMEs.meResMFRphiwclus4->setAxisTitle("Hit Residuals(x) (measurement frame) for w=4 in " + label);
1933  }
1934  //PullLFRphi
1935  if (layerswitchPullLFRphi) {
1936  layerMEs.mePullLFRphi = bookME1D(ibooker,
1937  "TH1PullLFRphi",
1938  hidmanager.createHistoLayer("Pull_LF_rphi", "layer", label, "").c_str(),
1939  "Pull distribution");
1940  layerMEs.mePullLFRphi->setAxisTitle("Pull distribution (local frame) in " + label);
1941  }
1942  //PullMFRphi
1943  if (layerswitchPullMFRphi) {
1944  layerMEs.mePullMFRphi = bookME1D(ibooker,
1945  "TH1PullMFRphi",
1946  hidmanager.createHistoLayer("Pull_MF_rphi", "layer", label, "").c_str(),
1947  "Pull distribution");
1948  layerMEs.mePullMFRphi->setAxisTitle("Pull distribution (measurement frame) in " + label);
1949  }
1950  //PullMFRphiwclus1
1952  layerMEs.mePullMFRphiwclus1 =
1953  bookME1D(ibooker,
1954  "TH1PullMFRphiwclus1",
1955  hidmanager.createHistoLayer("Pull_MF_wclus1_rphi", "layer", label, "").c_str(),
1956  "Pull distribution w=1");
1957  layerMEs.mePullMFRphiwclus1->setAxisTitle("Pull distribution (measurement frame) for w=1 in " + label);
1958  }
1959  //PullMFRphiwclus2
1961  layerMEs.mePullMFRphiwclus2 =
1962  bookME1D(ibooker,
1963  "TH1PullMFRphiwclus2",
1964  hidmanager.createHistoLayer("Pull_MF_wclus2_rphi", "layer", label, "").c_str(),
1965  "Pull distribution w=2");
1966  layerMEs.mePullMFRphiwclus2->setAxisTitle("Pull distribution (measurement frame) for w=2 in " + label);
1967  }
1968  //PullMFRphiwclus3
1970  layerMEs.mePullMFRphiwclus3 =
1971  bookME1D(ibooker,
1972  "TH1PullMFRphiwclus3",
1973  hidmanager.createHistoLayer("Pull_MF_wclus3_rphi", "layer", label, "").c_str(),
1974  "Pull distribution w=3");
1975  layerMEs.mePullMFRphiwclus3->setAxisTitle("Pull distribution (measurement frame) for w=3 in " + label);
1976  }
1977  //PullMFRphiwclus4
1979  layerMEs.mePullMFRphiwclus4 =
1980  bookME1D(ibooker,
1981  "TH1PullMFRphiwclus4",
1982  hidmanager.createHistoLayer("Pull_MF_wclus4_rphi", "layer", label, "").c_str(),
1983  "Pull distribution w=4");
1984  layerMEs.mePullMFRphiwclus4->setAxisTitle("Pull distribution (measurement frame) for w=4 in " + label);
1985  }
1986 
1988  layerMEs.meTrackangleRphi = bookME1D(ibooker,
1989  "TH1TrackangleRphi",
1990  hidmanager.createHistoLayer("Track_angle_Rphi", "layer", label, "").c_str(),
1991  "Track angle alpha");
1992  layerMEs.meTrackangleRphi->setAxisTitle("Track angle in " + label);
1993  }
1995  layerMEs.meTrackanglebetaRphi =
1996  bookME1D(ibooker,
1997  "TH1TrackanglebetaRphi",
1998  hidmanager.createHistoLayer("Track_angle_beta_Rphi", "layer", label, "").c_str(),
1999  "Track angle beta");
2000  layerMEs.meTrackanglebetaRphi->setAxisTitle("" + label);
2001  }
2003  layerMEs.meTrackangle2Rphi = bookME1D(ibooker,
2004  "TH1Trackangle2Rphi",
2005  hidmanager.createHistoLayer("Track_angle2_Rphi", "layer", label, "").c_str(),
2006  "");
2007  layerMEs.meTrackangle2Rphi->setAxisTitle("" + label);
2008  }
2010  layerMEs.mePullTrackangleProfileRphi =
2011  bookMEProfile(ibooker,
2012  "TProfPullTrackangleProfileRphi",
2013  hidmanager.createHistoLayer("Pull_Trackangle_Profile_Rphi", "layer", label, "").c_str(),
2014  "Profile of Pull in MF vs track angle alpha");
2015  layerMEs.mePullTrackangleProfileRphi->setAxisTitle("Track angle alpha in " + label, 1);
2016  layerMEs.mePullTrackangleProfileRphi->setAxisTitle("Pull (MF) in " + label, 2);
2017  }
2019  layerMEs.mePullTrackangle2DRphi =
2020  bookME1D(ibooker,
2021  "TH1PullTrackangle2DRphi",
2022  hidmanager.createHistoLayer("Pull_Trackangle_2D_Rphi", "layer", label, "").c_str(),
2023  "");
2024  layerMEs.mePullTrackangle2DRphi->setAxisTitle("" + label);
2025  }
2027  layerMEs.meTrackwidthRphi = bookME1D(ibooker,
2028  "TH1TrackwidthRphi",
2029  hidmanager.createHistoLayer("Track_width_Rphi", "layer", label, "").c_str(),
2030  "Track width");
2031  layerMEs.meTrackwidthRphi->setAxisTitle("Track width in " + label);
2032  }
2034  layerMEs.meExpectedwidthRphi =
2035  bookME1D(ibooker,
2036  "TH1ExpectedwidthRphi",
2037  hidmanager.createHistoLayer("Expected_width_Rphi", "layer", label, "").c_str(),
2038  "Expected width");
2039  layerMEs.meExpectedwidthRphi->setAxisTitle("Expected width in " + label);
2040  }
2042  layerMEs.meClusterwidthRphi =
2043  bookME1D(ibooker,
2044  "TH1ClusterwidthRphi",
2045  hidmanager.createHistoLayer("Cluster_width_Rphi", "layer", label, "").c_str(),
2046  "Cluster width");
2047  layerMEs.meClusterwidthRphi->setAxisTitle("Cluster width in " + label);
2048  }
2050  layerMEs.meCategoryRphi = bookME1D(ibooker,
2051  "TH1CategoryRphi",
2052  hidmanager.createHistoLayer("Category_Rphi", "layer", label, "").c_str(),
2053  "Category");
2054  layerMEs.meCategoryRphi->setAxisTitle("Category in " + label);
2055  }
2057  layerMEs.mePullTrackwidthProfileRphi =
2058  bookMEProfile(ibooker,
2059  "TProfPullTrackwidthProfileRphi",
2060  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi", "layer", label, "").c_str(),
2061  "Profile of Pull in MF vs track width");
2062  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle("track width in " + label, 1);
2063  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle("Pull (MF) in " + label, 2);
2064  }
2067  bookMEProfile(ibooker,
2068  "TProfPullTrackwidthProfileRphiwclus1",
2069  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus1", "layer", label, "").c_str(),
2070  "Profile of Pull in MF vs track width for w=1");
2071  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle("track width for w=1 in " + label, 1);
2072  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle("Pull (MF) for w=1 in " + label, 2);
2073  }
2076  bookMEProfile(ibooker,
2077  "TProfPullTrackwidthProfileRphiwclus2",
2078  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus2", "layer", label, "").c_str(),
2079  "Profile of Pull in MF vs track width for w=2");
2080  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle("track width for w=2 in " + label, 1);
2081  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle("Pull (MF) for w=2 in " + label, 2);
2082  }
2085  bookMEProfile(ibooker,
2086  "TProfPullTrackwidthProfileRphiwclus3",
2087  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus3", "layer", label, "").c_str(),
2088  "Profile of Pull in MF vs track width for w=3");
2089  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle("track width for w=3 in " + label, 1);
2090  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle("Pull (MF) for w=3 in " + label, 2);
2091  }
2094  bookMEProfile(ibooker,
2095  "TProfPullTrackwidthProfileRphiwclus4",
2096  hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus4", "layer", label, "").c_str(),
2097  "Profile of Pull in MF vs track width for w=4");
2098  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle("track width for w=4 in " + label, 1);
2099  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle("Pull (MF) for w=4 in " + label, 2);
2100  }
2103  ibooker,
2104  "TProfPullTrackwidthProfileCategory1Rphi",
2105  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Rphi", "layer", label, "").c_str(),
2106  "Profile of Pull in MF vs track width for Category 1");
2107  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle("track width for Category 1 in " + label, 1);
2108  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle("Pull (MF) for Category 1 in " + label, 2);
2109  }
2112  ibooker,
2113  "TProfPullTrackwidthProfileCategory2Rphi",
2114  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Rphi", "layer", label, "").c_str(),
2115  "Profile of Pull in MF vs track width for Category 2");
2116  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle("track width for Category 2 in " + label, 1);
2117  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle("Pull (MF) for Category 2 in " + label, 2);
2118  }
2121  ibooker,
2122  "TProfPullTrackwidthProfileCategory3Rphi",
2123  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Rphi", "layer", label, "").c_str(),
2124  "Profile of Pull in MF vs track width for Category 3");
2125  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle("track width for Category 3 in " + label, 1);
2126  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle("Pull (MF) for Category 3 in " + label, 2);
2127  }
2130  ibooker,
2131  "TProfPullTrackwidthProfileCategory4Rphi",
2132  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Rphi", "layer", label, "").c_str(),
2133  "Profile of Pull in MF vs track width for Category 4");
2134  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle("track width for Category 4 in " + label, 1);
2135  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle("Pull (MF) for Category 4 in " + label, 2);
2136  }
2139  bookMEProfile(ibooker,
2140  "TProfResolxMFTrackwidthProfileRphi",
2141  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Rphi", "layer", label, "").c_str(),
2142  "Profile of Resolution in MF vs track width");
2143  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle("track width in " + label, 1);
2144  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle("Resolution in MF in " + label, 2);
2145  }
2146 
2149  ibooker,
2150  "TProfResolxMFTrackwidthProfileWclus1Rphi",
2151  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus1_Rphi", "layer", label, "").c_str(),
2152  "Profile of Resolution in MF vs track width for w=1");
2153  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle("track width for w=1 in " + label, 1);
2154  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle("Resolution in MF for w=1 in " + label, 2);
2155  }
2158  ibooker,
2159  "TProfResolxMFTrackwidthProfileWclus2Rphi",
2160  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus2_Rphi", "layer", label, "").c_str(),
2161  "Profile of Resolution in MF vs track width for w=2");
2162  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle("track width for w=2 in " + label, 1);
2163  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle("Resolution in MF for w=2 in " + label, 2);
2164  }
2167  ibooker,
2168  "TProfResolxMFTrackwidthProfileWclus3Rphi",
2169  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus3_Rphi", "layer", label, "").c_str(),
2170  "Profile of Resolution in MF vs track width for w=3");
2171  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle("track width for w=3 in " + label, 1);
2172  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle("Resolution in MF for w=3 in " + label, 2);
2173  }
2176  ibooker,
2177  "TProfResolxMFTrackwidthProfileWclus4Rphi",
2178  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus4_Rphi", "layer", label, "").c_str(),
2179  "Profile of Resolution in MF vs track width for w=4");
2180  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle("track width for w=4 in " + label, 1);
2181  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle("Resolution in MF for w=4 in " + label, 2);
2182  }
2185  bookMEProfile(ibooker,
2186  "TProfResMFTrackwidthProfileWclus1Rphi",
2187  hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus1_Rphi", "layer", label, "").c_str(),
2188  "Profile of Residuals(x) in MF vs track width for w=1");
2189  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle("track width for w=1 in " + label, 1);
2190  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle("Residuals(x) in MF for w=1 in " + label, 2);
2191  }
2194  bookMEProfile(ibooker,
2195  "TProfResMFTrackwidthProfileWclus2Rphi",
2196  hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus2_Rphi", "layer", label, "").c_str(),
2197  "Profile of Residuals(x) in MF vs track width for w=2");
2198  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle("track width for w=2 in " + label, 1);
2199  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle("Residuals(x) in MF for w=2 in " + label, 2);
2200  }
2203  bookMEProfile(ibooker,
2204  "TProfResMFTrackwidthProfileWclus3Rphi",
2205  hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus3_Rphi", "layer", label, "").c_str(),
2206  "Profile of Residuals(x) in MF vs track width for w=3");
2207  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle("track width for w=3 in " + label, 1);
2208  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle("Residuals(x) in MF for w=3 in " + label, 2);
2209  }
2212  bookMEProfile(ibooker,
2213  "TProfResMFTrackwidthProfileWclus4Rphi",
2214  hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus4_Rphi", "layer", label, "").c_str(),
2215  "Profile of Residuals(x) in MF vs track width for w=4");
2216  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle("track width for w=4 in " + label, 1);
2217  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle("Residuals(x) in MF for w=4 in " + label, 2);
2218  }
2219 
2222  ibooker,
2223  "TProfResolxMFTrackwidthProfileCategory1Rphi",
2224  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Rphi", "layer", label, "").c_str(),
2225  "Profile of Resolution in MF vs track width for Category 1");
2226  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle("track width for Category 1 in " + label, 1);
2227  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle("Resolution in MF for Category 1 in " + label, 2);
2228  }
2231  ibooker,
2232  "TProfResolxMFTrackwidthProfileCategory2Rphi",
2233  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Rphi", "layer", label, "").c_str(),
2234  "Profile of Resolution in MF vs track width for Category 2");
2235  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle("track width for Category 2 in " + label, 1);
2236  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle("Resolution in MF for Category 2 in " + label, 2);
2237  }
2240  ibooker,
2241  "TProfResolxMFTrackwidthProfileCategory3Rphi",
2242  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi", "layer", label, "").c_str(),
2243  "Profile of Resolution in MF vs track width for Category 3");
2244  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle("track width for Category 3 in " + label, 1);
2245  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle("Resolution in MF for Category 3 in " + label, 2);
2246  }
2249  ibooker,
2250  "TProfResolxMFTrackwidthProfileCategory4Rphi",
2251  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi", "layer", label, "").c_str(),
2252  "Profile of Resolution in MF vs track width for Category 4");
2253  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi->setAxisTitle("track width for Category 4 in " + label, 1);
2254  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi->setAxisTitle("Resolution in MF for Category 4 in " + label, 2);
2255  }
2258  ibooker,
2259  "TProfResolxMFClusterwidthProfileCategory1Rphi",
2260  hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Rphi", "layer", label, "").c_str(),
2261  "Profile of Resolution in MF vs cluster width for Category 1");
2262  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle("cluster width for Category 1 in " + label, 1);
2263  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle("Resolution in MF for Category 1 in " + label, 2);
2264  }
2266  layerMEs.meResolxMFAngleProfileRphi =
2267  bookMEProfile(ibooker,
2268  "TProfResolxMFAngleProfileRphi",
2269  hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Rphi", "layer", label, "").c_str(),
2270  "Profile of Resolution in MF vs track angle alpha");
2271  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle("track angle alpha in " + label, 1);
2272  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle("Resolution in MF in " + label, 2);
2273  }
2275  layerMEs.merapidityResProfilewclus1 =
2276  bookMEProfile(ibooker,
2277  "TProfrapidityResProfilewclus1",
2278  hidmanager.createHistoLayer("rapidity_Res_Profile_wclus1", "layer", label, "").c_str(),
2279  "Profile of rapidity vs Res for w=1");
2280  layerMEs.merapidityResProfilewclus1->setAxisTitle("Res for w=1 in " + label, 1);
2281  layerMEs.merapidityResProfilewclus1->setAxisTitle("rapidity for w=1 in " + label, 2);
2282  }
2284  layerMEs.merapidityResProfilewclus2 =
2285  bookMEProfile(ibooker,
2286  "TProfrapidityResProfilewclus2",
2287  hidmanager.createHistoLayer("rapidity_Res_Profile_wclus2", "layer", label, "").c_str(),
2288  "Profile of rapidity vs Res for w=2");
2289  layerMEs.merapidityResProfilewclus2->setAxisTitle("Res for w=2 in " + label, 1);
2290  layerMEs.merapidityResProfilewclus2->setAxisTitle("rapidity for w=2 in " + label, 2);
2291  }
2293  layerMEs.merapidityResProfilewclus3 =
2294  bookMEProfile(ibooker,
2295  "TProfrapidityResProfilewclus3",
2296  hidmanager.createHistoLayer("rapidity_Res_Profile_wclus3", "layer", label, "").c_str(),
2297  "Profile of rapidity vs Res for w=3");
2298  layerMEs.merapidityResProfilewclus3->setAxisTitle("Res for w=3 in " + label, 1);
2299  layerMEs.merapidityResProfilewclus3->setAxisTitle("rapidity for w=3 in " + label, 2);
2300  }
2302  layerMEs.merapidityResProfilewclus4 =
2303  bookMEProfile(ibooker,
2304  "TProfrapidityResProfilewclus4",
2305  hidmanager.createHistoLayer("rapidity_Res_Profile_wclus4", "layer", label, "").c_str(),
2306  "Profile of rapidity vs Res for w=4");
2307  layerMEs.merapidityResProfilewclus4->setAxisTitle("Res for w=4 in " + label, 1);
2308  layerMEs.merapidityResProfilewclus4->setAxisTitle("rapidity for w=4 in " + label, 2);
2309  }
2310 
2311  LayerMEsMap[label] = layerMEs;
2312 }
2313 //------------------------------------------------------------------------------------------
2315  SiStripHistoId hidmanager;
2316  StereoAndMatchedMEs stereoandmatchedMEs;
2317 
2318  stereoandmatchedMEs.meWclusSas = nullptr;
2319  stereoandmatchedMEs.meAdcSas = nullptr;
2320  stereoandmatchedMEs.meResolxLFSas = nullptr;
2321  stereoandmatchedMEs.meResolxMFSas = nullptr;
2322  stereoandmatchedMEs.meResLFSas = nullptr;
2323  stereoandmatchedMEs.meResMFSas = nullptr;
2324  stereoandmatchedMEs.mePullLFSas = nullptr;
2325  stereoandmatchedMEs.mePullMFSas = nullptr;
2326  stereoandmatchedMEs.meTrackangleSas = nullptr;
2327  stereoandmatchedMEs.meTrackanglebetaSas = nullptr;
2328  stereoandmatchedMEs.mePullTrackangleProfileSas = nullptr;
2329  stereoandmatchedMEs.meTrackwidthSas = nullptr;
2330  stereoandmatchedMEs.meExpectedwidthSas = nullptr;
2331  stereoandmatchedMEs.meClusterwidthSas = nullptr;
2332  stereoandmatchedMEs.meCategorySas = nullptr;
2333  stereoandmatchedMEs.mePullTrackwidthProfileSas = nullptr;
2334  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas = nullptr;
2335  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas = nullptr;
2336  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas = nullptr;
2337  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas = nullptr;
2338  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas = nullptr;
2339  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas = nullptr;
2340  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas = nullptr;
2341  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas = nullptr;
2342  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas = nullptr;
2343  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas = nullptr;
2344  stereoandmatchedMEs.meResolxMFAngleProfileSas = nullptr;
2345 
2346  stereoandmatchedMEs.mePosxMatched = nullptr;
2347  stereoandmatchedMEs.mePosyMatched = nullptr;
2348  stereoandmatchedMEs.meResolxMatched = nullptr;
2349  stereoandmatchedMEs.meResolyMatched = nullptr;
2350  stereoandmatchedMEs.meResxMatched = nullptr;
2351  stereoandmatchedMEs.meResyMatched = nullptr;
2352  stereoandmatchedMEs.mePullxMatched = nullptr;
2353  stereoandmatchedMEs.mePullyMatched = nullptr;
2354 
2355  //WclusSas
2356  if (layerswitchWclusSas) {
2357  stereoandmatchedMEs.meWclusSas = bookME1D(ibooker,
2358  "TH1WclusSas",
2359  hidmanager.createHistoLayer("Wclus_sas", "layer", label, "").c_str(),
2360  "Cluster Width - Number of strips that belong to the RecHit cluster");
2361  stereoandmatchedMEs.meWclusSas->setAxisTitle("Cluster Width [nr strips] (stereo) in " + label);
2362  }
2363  //AdcSas
2364  if (layerswitchAdcSas) {
2365  stereoandmatchedMEs.meAdcSas = bookME1D(ibooker,
2366  "TH1AdcSas",
2367  hidmanager.createHistoLayer("Adc_sas", "layer", label, "").c_str(),
2368  "RecHit Cluster Charge");
2369  stereoandmatchedMEs.meAdcSas->setAxisTitle("cluster charge [ADC] (stereo) in " + label);
2370  }
2371  //ResolxLFSas
2372  if (layerswitchResolxLFSas) {
2373  stereoandmatchedMEs.meResolxLFSas =
2374  bookME1D(ibooker,
2375  "TH1ResolxLFSas",
2376  hidmanager.createHistoLayer("Resolx_LF_sas", "layer", label, "").c_str(),
2377  "RecHit resol(x) coord.");
2378  stereoandmatchedMEs.meResolxLFSas->setAxisTitle("resol(x) RecHit coord. (local frame) (stereo) in " + label);
2379  }
2380  //ResolxMFSas
2381  if (layerswitchResolxMFSas) {
2382  stereoandmatchedMEs.meResolxMFSas =
2383  bookME1D(ibooker,
2384  "TH1ResolxMFSas",
2385  hidmanager.createHistoLayer("Resolx_MF_sas", "layer", label, "").c_str(),
2386  "RecHit resol(x) coord.");
2387  stereoandmatchedMEs.meResolxMFSas->setAxisTitle("resol(x) RecHit coord. (measurement frame) (stereo) in " + label);
2388  }
2389  //ResLFSas
2390  if (layerswitchResLFSas) {
2391  stereoandmatchedMEs.meResLFSas = bookME1D(ibooker,
2392  "TH1ResLFSas",
2393  hidmanager.createHistoLayer("Res_LF_sas", "layer", label, "").c_str(),
2394  "Residual of the hit x coordinate");
2395  stereoandmatchedMEs.meResLFSas->setAxisTitle("Hit Residuals(x) (local frame) (stereo) in " + label);
2396  }
2397  //ResMFSas
2398  if (layerswitchResMFSas) {
2399  stereoandmatchedMEs.meResMFSas = bookME1D(ibooker,
2400  "TH1ResMFSas",
2401  hidmanager.createHistoLayer("Res_MF_sas", "layer", label, "").c_str(),
2402  "Residual of the hit x coordinate");
2403  stereoandmatchedMEs.meResMFSas->setAxisTitle("Hit Residuals(x) (stereo) in " + label);
2404  }
2405  //PullLFSas
2406  if (layerswitchPullLFSas) {
2407  stereoandmatchedMEs.mePullLFSas = bookME1D(ibooker,
2408  "TH1PullLFSas",
2409  hidmanager.createHistoLayer("Pull_LF_sas", "layer", label, "").c_str(),
2410  "Pull distribution");
2411  stereoandmatchedMEs.mePullLFSas->setAxisTitle("Pull distribution (local frame) (stereo) in " + label);
2412  }
2413  //PullMFSas
2414  if (layerswitchPullMFSas) {
2415  stereoandmatchedMEs.mePullMFSas = bookME1D(ibooker,
2416  "TH1PullMFSas",
2417  hidmanager.createHistoLayer("Pull_MF_sas", "layer", label, "").c_str(),
2418  "Pull distribution");
2419  stereoandmatchedMEs.mePullMFSas->setAxisTitle("Pull distribution (measurement frame) (stereo) in " + label);
2420  }
2421 
2423  stereoandmatchedMEs.meTrackangleSas =
2424  bookME1D(ibooker,
2425  "TH1TrackangleSas",
2426  hidmanager.createHistoLayer("Track_angle_Sas", "layer", label, "").c_str(),
2427  "Track angle");
2428  stereoandmatchedMEs.meTrackangleSas->setAxisTitle("Track angle (stereo) in " + label);
2429  }
2431  stereoandmatchedMEs.meTrackanglebetaSas =
2432  bookME1D(ibooker,
2433  "TH1TrackanglebetaSas",
2434  hidmanager.createHistoLayer("Track_angle_beta_Sas", "layer", label, "").c_str(),
2435  "Track angle beta");
2436  stereoandmatchedMEs.meTrackanglebetaSas->setAxisTitle("Track angle beta (stereo) in " + label);
2437  }
2439  stereoandmatchedMEs.mePullTrackangleProfileSas =
2440  bookMEProfile(ibooker,
2441  "TProfPullTrackangleProfileSas",
2442  hidmanager.createHistoLayer("Pull_Track_angle_Profile_Sas", "layer", label, "").c_str(),
2443  "Profile of Pull in MF vs track angle (stereo)");
2444  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle("track angle (stereo) in " + label, 1);
2445  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle("Pull in MF (stereo) in " + label, 2);
2446  }
2448  stereoandmatchedMEs.meTrackwidthSas =
2449  bookME1D(ibooker,
2450  "TH1TrackwidthSas",
2451  hidmanager.createHistoLayer("Track_width_Sas", "layer", label, "").c_str(),
2452  "Track width");
2453  stereoandmatchedMEs.meTrackwidthSas->setAxisTitle("Track width (stereo) in " + label);
2454  }
2456  stereoandmatchedMEs.meExpectedwidthSas =
2457  bookME1D(ibooker,
2458  "TH1ExpectedwidthSas",
2459  hidmanager.createHistoLayer("Expected_width_Sas", "layer", label, "").c_str(),
2460  "Expected width");
2461  stereoandmatchedMEs.meExpectedwidthSas->setAxisTitle("Expected width (stereo) in " + label);
2462  }
2464  stereoandmatchedMEs.meClusterwidthSas =
2465  bookME1D(ibooker,
2466  "TH1ClusterwidthSas",
2467  hidmanager.createHistoLayer("Cluster_width_Sas", "layer", label, "").c_str(),
2468  "Cluster width");
2469  stereoandmatchedMEs.meClusterwidthSas->setAxisTitle("Cluster width (stereo) in " + label);
2470  }
2471  if (layerswitchCategorySas) {
2472  stereoandmatchedMEs.meCategorySas = bookME1D(
2473  ibooker, "TH1CategorySas", hidmanager.createHistoLayer("Category_Sas", "layer", label, "").c_str(), "Category");
2474  stereoandmatchedMEs.meCategorySas->setAxisTitle("Category (stereo) in " + label);
2475  }
2477  stereoandmatchedMEs.mePullTrackwidthProfileSas =
2478  bookMEProfile(ibooker,
2479  "TProfPullTrackwidthProfileSas",
2480  hidmanager.createHistoLayer("Pull_Track_width_Profile_Sas", "layer", label, "").c_str(),
2481  "Profile of Pull in MF vs track width (stereo)");
2482  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle("track width (stereo) in " + label, 1);
2483  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle("Pull in MF (stereo) in " + label, 2);
2484  }
2486  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas =
2487  bookMEProfile(ibooker,
2488  "TProfPullTrackwidthProfileCategory1Sas",
2489  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Sas", "layer", label, "").c_str(),
2490  "Profile of Pull in MF vs track width (Category 1) (stereo)");
2492  "track width (Category 1) (stereo) in " + label, 1);
2494  "Pull in MF (Category 1) (stereo) in " + label, 2);
2495  }
2497  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas =
2498  bookMEProfile(ibooker,
2499  "TProfPullTrackwidthProfileCategory2Sas",
2500  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Sas", "layer", label, "").c_str(),
2501  "Profile of Pull in MF vs track width (Category 2) (stereo)");
2503  "track width (Category 2) (stereo) in " + label, 1);
2505  "Pull in MF (Category 2) (stereo) in " + label, 2);
2506  }
2508  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas =
2509  bookMEProfile(ibooker,
2510  "TProfPullTrackwidthProfileCategory3Sas",
2511  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Sas", "layer", label, "").c_str(),
2512  "Profile of Pull in MF vs track width (Category 3) (stereo)");
2514  "track width (Category 3) (stereo) in " + label, 1);
2516  "Pull in MF (Category 3) (stereo) in " + label, 2);
2517  }
2519  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas =
2520  bookMEProfile(ibooker,
2521  "TProfPullTrackwidthProfileCategory4Sas",
2522  hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Sas", "layer", label, "").c_str(),
2523  "Profile of Pull in MF vs track width (Category 4) (stereo)");
2525  "track width (Category 4) (stereo) in " + label, 1);
2527  "Pull in MF (Category 4) (stereo) in " + label, 2);
2528  }
2530  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas =
2531  bookMEProfile(ibooker,
2532  "TProfResolxMFTrackwidthProfileSas",
2533  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Sas", "layer", label, "").c_str(),
2534  "Profile of Resolution in MF vs track width (stereo)");
2535  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle("track width (stereo) in " + label, 1);
2536  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle("Resolution in MF (stereo) in " + label, 2);
2537  }
2540  ibooker,
2541  "TProfResolxMFTrackwidthProfileCategory1Sas",
2542  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Sas", "layer", label, "").c_str(),
2543  "Profile of Resolution in MF vs track width (Category 1) (stereo)");
2545  " track width (Category 1) (stereo) in " + label, 1);
2547  " Resolution in MF (Category 1) (stereo) in " + label, 2);
2548  }
2551  ibooker,
2552  "TProfResolxMFTrackwidthProfileCategory2Sas",
2553  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Sas", "layer", label, "").c_str(),
2554  "Profile of Resolution in MF vs track width (Category 2) (stereo)");
2556  " track width (Category 2) (stereo) in " + label, 1);
2558  " Resolution in MF (Category 2) (stereo) in " + label, 2);
2559  }
2562  ibooker,
2563  "TProfResolxMFTrackwidthProfileCategory3Sas",
2564  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Sas", "layer", label, "").c_str(),
2565  "Profile of Resolution in MF vs track width (Category 3) (stereo)");
2567  " track width (Category 3) (stereo) in " + label, 1);
2569  " Resolution in MF (Category 3) (stereo) in " + label, 2);
2570  }
2573  ibooker,
2574  "TProfResolxMFTrackwidthProfileCategory4Sas",
2575  hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category4_Sas", "layer", label, "").c_str(),
2576  "Profile of Resolution in MF vs track width (Category 4) (stereo)");
2578  " track width (Category 4) (stereo) in " + label, 1);
2580  " Resolution in MF (Category 4) (stereo) in " + label, 2);
2581  }
2584  ibooker,
2585  "TProfResolxMFClusterwidthProfileCategory1Sas",
2586  hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Sas", "layer", label, "").c_str(),
2587  "Profile of Resolution in MF vs cluster width (Category 1) (stereo)");
2589  "cluster width (Category 1) (stereo) in " + label, 1);
2591  " Resolution in MF (Category 1) (stereo) in " + label, 2);
2592  }
2594  stereoandmatchedMEs.meResolxMFAngleProfileSas =
2595  bookMEProfile(ibooker,
2596  "TProfResolxMFAngleProfileSas",
2597  hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Sas", "layer", label, "").c_str(),
2598  "Profile of Resolution in MF vs track angle (stereo)");
2599  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle("track angle (stereo) in " + label, 1);
2600  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle("Resolution in MF (stereo) in " + label, 2);
2601  }
2602  //PosxMatched
2603  if (layerswitchPosxMatched) {
2604  stereoandmatchedMEs.mePosxMatched =
2605  bookME1D(ibooker,
2606  "TH1PosxMatched",
2607  hidmanager.createHistoLayer("Posx_matched", "layer", label, "").c_str(),
2608  "RecHit x coord.");
2609  stereoandmatchedMEs.mePosxMatched->setAxisTitle("x coord. matched RecHit (local frame) in " + label);
2610  }
2611  //PosyMatched
2612  if (layerswitchPosyMatched) {
2613  stereoandmatchedMEs.mePosyMatched =
2614  bookME1D(ibooker,
2615  "TH1PosyMatched",
2616  hidmanager.createHistoLayer("Posy_matched", "layer", label, "").c_str(),
2617  "RecHit y coord.");
2618  stereoandmatchedMEs.mePosyMatched->setAxisTitle("y coord. matched RecHit (local frame) in " + label);
2619  }
2620  //ResolxMatched
2622  stereoandmatchedMEs.meResolxMatched =
2623  bookME1D(ibooker,
2624  "TH1ResolxMatched",
2625  hidmanager.createHistoLayer("Resolx_matched", "layer", label, "").c_str(),
2626  "RecHit resol(x) coord.");
2627  stereoandmatchedMEs.meResolxMatched->setAxisTitle("resol(x) coord. matched RecHit (local frame) in " + label);
2628  }
2629  //ResolyMatched
2631  stereoandmatchedMEs.meResolyMatched =
2632  bookME1D(ibooker,
2633  "TH1ResolyMatched",
2634  hidmanager.createHistoLayer("Resoly_matched", "layer", label, "").c_str(),
2635  "RecHit resol(y) coord.");
2636  stereoandmatchedMEs.meResolyMatched->setAxisTitle("resol(y) coord. matched RecHit (local frame) in " + label);
2637  }
2638  //ResxMatched
2639  if (layerswitchResxMatched) {
2640  stereoandmatchedMEs.meResxMatched =
2641  bookME1D(ibooker,
2642  "TH1ResxMatched",
2643  hidmanager.createHistoLayer("Resx_matched", "layer", label, "").c_str(),
2644  "Residual of the hit x coord.");
2645  stereoandmatchedMEs.meResxMatched->setAxisTitle("Residuals(x) in matched RecHit in " + label);
2646  }
2647  //ResyMatched
2648  if (layerswitchResyMatched) {
2649  stereoandmatchedMEs.meResyMatched =
2650  bookME1D(ibooker,
2651  "TH1ResyMatched",
2652  hidmanager.createHistoLayer("Resy_matched", "layer", label, "").c_str(),
2653  "Residual of the hit x coord.");
2654  stereoandmatchedMEs.meResyMatched->setAxisTitle("Res(y) in matched RecHit in " + label);
2655  }
2656 
2657  StereoAndMatchedMEsMap[label] = stereoandmatchedMEs;
2658 }
2659 //------------------------------------------------------------------------------------------
2661  const char *ParameterSetLabel,
2662  const char *HistoName,
2663  const char *HistoTitle) {
2664  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2665  return ibooker.book1D(HistoName,
2666  HistoTitle,
2667  Parameters.getParameter<int32_t>("Nbinx"),
2668  Parameters.getParameter<double>("xmin"),
2669  Parameters.getParameter<double>("xmax"));
2670 }
2671 //------------------------------------------------------------------------------------------
2673  DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle) {
2674  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2675  //The number of channels in Y is disregarded in a profile plot.
2676  return ibooker.bookProfile(HistoName,
2677  HistoTitle,
2678  Parameters.getParameter<int32_t>("Nbinx"),
2679  Parameters.getParameter<double>("xmin"),
2680  Parameters.getParameter<double>("xmax"),
2681  Parameters.getParameter<double>("ymin"),
2682  Parameters.getParameter<double>("ymax"),
2683  "");
2684 }
2685 
2686 // 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:2314
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:1260
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:1505
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
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
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
L1EGammaCrystalsEmulatorProducer_cfi.scale
scale
Definition: L1EGammaCrystalsEmulatorProducer_cfi.py:10
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:2672
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
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
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
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:80
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
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
BaseTrackerRecHit::localPositionError
LocalError localPositionError() const override
Definition: BaseTrackerRecHit.h:61
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
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:47
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
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:1754
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
hcalSimParameters_cfi.hb
hb
Definition: hcalSimParameters_cfi.py:60
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
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:2660
BaseTrackerRecHit::localPosition
LocalPoint localPosition() const override
Definition: BaseTrackerRecHit.h:56
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
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
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
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
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
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:1377
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