CMS 3D CMS Logo

SiPixelDigiValid.cc
Go to the documentation of this file.
19 #include "SiPixelDigiValid.h"
20 
21 // using namespace std;
22 // using namespace edm;
23 
25  : m_geomToken(esConsumes<edm::Transition::BeginRun>()),
26  m_topoToken(esConsumes()),
27  outputFile_(ps.getUntrackedParameter<std::string>("outputFile", "pixeldigihisto.root")),
28  runStandalone(ps.getParameter<bool>("runStandalone")),
29  dbe_(nullptr),
30  edmDetSetVector_PixelDigi_Token_(consumes<edm::DetSetVector<PixelDigi>>(ps.getParameter<edm::InputTag>("src"))) {}
31 
33 
37 
38  if (dbe_) {
39  ibooker.setCurrentFolder("TrackerDigisV/TrackerDigis/Pixel");
40 
41  meDigiMultiLayer1Ring1_ = ibooker.book1D("digimulti_layer1ring1", "Digi Multiplicity ", 30, 0., 30.);
42  meDigiMultiLayer1Ring2_ = ibooker.book1D("digimulti_layer1ring2", "Digi Multiplicity ", 30, 0., 30.);
43  meDigiMultiLayer1Ring3_ = ibooker.book1D("digimulti_layer1ring3", "Digi Multiplicity ", 30, 0., 30.);
44  meDigiMultiLayer1Ring4_ = ibooker.book1D("digimulti_layer1ring4", "Digi Multiplicity ", 30, 0., 30.);
45  meDigiMultiLayer1Ring5_ = ibooker.book1D("digimulti_layer1ring5", "Digi Multiplicity ", 30, 0., 30.);
46  meDigiMultiLayer1Ring6_ = ibooker.book1D("digimulti_layer1ring6", "Digi Multiplicity ", 30, 0., 30.);
47  meDigiMultiLayer1Ring7_ = ibooker.book1D("digimulti_layer1ring7", "Digi Multiplicity ", 30, 0., 30.);
48  meDigiMultiLayer1Ring8_ = ibooker.book1D("digimulti_layer1ring8", "Digi Multiplicity ", 30, 0., 30.);
49 
50  meDigiMultiLayer2Ring1_ = ibooker.book1D("digimulti_layer2ring1", "Digi Multiplicity ", 30, 0., 30.);
51  meDigiMultiLayer2Ring2_ = ibooker.book1D("digimulti_layer2ring2", "Digi Multiplicity ", 30, 0., 30.);
52  meDigiMultiLayer2Ring3_ = ibooker.book1D("digimulti_layer2ring3", "Digi Multiplicity ", 30, 0., 30.);
53  meDigiMultiLayer2Ring4_ = ibooker.book1D("digimulti_layer2ring4", "Digi Multiplicity ", 30, 0., 30.);
54  meDigiMultiLayer2Ring5_ = ibooker.book1D("digimulti_layer2ring5", "Digi Multiplicity ", 30, 0., 30.);
55  meDigiMultiLayer2Ring6_ = ibooker.book1D("digimulti_layer2ring6", "Digi Multiplicity ", 30, 0., 30.);
56  meDigiMultiLayer2Ring7_ = ibooker.book1D("digimulti_layer2ring7", "Digi Multiplicity ", 30, 0., 30.);
57  meDigiMultiLayer2Ring8_ = ibooker.book1D("digimulti_layer2ring8", "Digi Multiplicity ", 30, 0., 30.);
58 
59  meDigiMultiLayer3Ring1_ = ibooker.book1D("digimulti_layer3ring1", "Digi Multiplicity ", 30, 0., 30.);
60  meDigiMultiLayer3Ring2_ = ibooker.book1D("digimulti_layer3ring2", "Digi Multiplicity ", 30, 0., 30.);
61  meDigiMultiLayer3Ring3_ = ibooker.book1D("digimulti_layer3ring3", "Digi Multiplicity ", 30, 0., 30.);
62  meDigiMultiLayer3Ring4_ = ibooker.book1D("digimulti_layer3ring4", "Digi Multiplicity ", 30, 0., 30.);
63  meDigiMultiLayer3Ring5_ = ibooker.book1D("digimulti_layer3ring5", "Digi Multiplicity ", 30, 0., 30.);
64  meDigiMultiLayer3Ring6_ = ibooker.book1D("digimulti_layer3ring6", "Digi Multiplicity ", 30, 0., 30.);
65  meDigiMultiLayer3Ring7_ = ibooker.book1D("digimulti_layer3ring7", "Digi Multiplicity ", 30, 0., 30.);
66  meDigiMultiLayer3Ring8_ = ibooker.book1D("digimulti_layer3ring8", "Digi Multiplicity ", 30, 0., 30.);
67 
69  meAdcLayer1Ring1_ = ibooker.book1D("adc_layer1ring1", "Digi charge", 50, 0., 300.);
70  meAdcLayer1Ring2_ = ibooker.book1D("adc_layer1ring2", "Digi charge", 50, 0., 300.);
71  meAdcLayer1Ring3_ = ibooker.book1D("adc_layer1ring3", "Digi charge", 50, 0., 300.);
72  meAdcLayer1Ring4_ = ibooker.book1D("adc_layer1ring4", "Digi charge", 50, 0., 300.);
73  meAdcLayer1Ring5_ = ibooker.book1D("adc_layer1ring5", "Digi charge", 50, 0., 300.);
74  meAdcLayer1Ring6_ = ibooker.book1D("adc_layer1ring6", "Digi charge", 50, 0., 300.);
75  meAdcLayer1Ring7_ = ibooker.book1D("adc_layer1ring7", "Digi charge", 50, 0., 300.);
76  meAdcLayer1Ring8_ = ibooker.book1D("adc_layer1ring8", "Digi charge", 50, 0., 300.);
77 
78  meRowLayer1Ring1_ = ibooker.book1D("row_layer1ring1", "Digi row", 50, 0., 200.);
79  meRowLayer1Ring2_ = ibooker.book1D("row_layer1ring2", "Digi row", 50, 0., 200.);
80  meRowLayer1Ring3_ = ibooker.book1D("row_layer1ring3", "Digi row", 50, 0., 200.);
81  meRowLayer1Ring4_ = ibooker.book1D("row_layer1ring4", "Digi row", 50, 0., 200.);
82  meRowLayer1Ring5_ = ibooker.book1D("row_layer1ring5", "Digi row", 50, 0., 200.);
83  meRowLayer1Ring6_ = ibooker.book1D("row_layer1ring6", "Digi row", 50, 0., 200.);
84  meRowLayer1Ring7_ = ibooker.book1D("row_layer1ring7", "Digi row", 50, 0., 200.);
85  meRowLayer1Ring8_ = ibooker.book1D("row_layer1ring8", "Digi row", 50, 0., 200.);
86 
87  meColLayer1Ring1_ = ibooker.book1D("col_layer1ring1", "Digi column", 50, 0., 500.);
88  meColLayer1Ring2_ = ibooker.book1D("col_layer1ring2", "Digi column", 50, 0., 500.);
89  meColLayer1Ring3_ = ibooker.book1D("col_layer1ring3", "Digi column", 50, 0., 500.);
90  meColLayer1Ring4_ = ibooker.book1D("col_layer1ring4", "Digi column", 50, 0., 500.);
91  meColLayer1Ring5_ = ibooker.book1D("col_layer1ring5", "Digi column", 50, 0., 500.);
92  meColLayer1Ring6_ = ibooker.book1D("col_layer1ring6", "Digi column", 50, 0., 500.);
93  meColLayer1Ring7_ = ibooker.book1D("col_layer1ring7", "Digi column", 50, 0., 500.);
94  meColLayer1Ring8_ = ibooker.book1D("col_layer1ring8", "Digi column", 50, 0., 500.);
95 
96  meAdcLayer2Ring1_ = ibooker.book1D("adc_layer2ring1", "Digi charge", 50, 0., 300.);
97  meAdcLayer2Ring2_ = ibooker.book1D("adc_layer2ring2", "Digi charge", 50, 0., 300.);
98  meAdcLayer2Ring3_ = ibooker.book1D("adc_layer2ring3", "Digi charge", 50, 0., 300.);
99  meAdcLayer2Ring4_ = ibooker.book1D("adc_layer2ring4", "Digi charge", 50, 0., 300.);
100  meAdcLayer2Ring5_ = ibooker.book1D("adc_layer2ring5", "Digi charge", 50, 0., 300.);
101  meAdcLayer2Ring6_ = ibooker.book1D("adc_layer2ring6", "Digi charge", 50, 0., 300.);
102  meAdcLayer2Ring7_ = ibooker.book1D("adc_layer2ring7", "Digi charge", 50, 0., 300.);
103  meAdcLayer2Ring8_ = ibooker.book1D("adc_layer2ring8", "Digi charge", 50, 0., 300.);
104 
105  meRowLayer2Ring1_ = ibooker.book1D("row_layer2ring1", "Digi row", 50, 0., 200.);
106  meRowLayer2Ring2_ = ibooker.book1D("row_layer2ring2", "Digi row", 50, 0., 200.);
107  meRowLayer2Ring3_ = ibooker.book1D("row_layer2ring3", "Digi row", 50, 0., 200.);
108  meRowLayer2Ring4_ = ibooker.book1D("row_layer2ring4", "Digi row", 50, 0., 200.);
109  meRowLayer2Ring5_ = ibooker.book1D("row_layer2ring5", "Digi row", 50, 0., 200.);
110  meRowLayer2Ring6_ = ibooker.book1D("row_layer2ring6", "Digi row", 50, 0., 200.);
111  meRowLayer2Ring7_ = ibooker.book1D("row_layer2ring7", "Digi row", 50, 0., 200.);
112  meRowLayer2Ring8_ = ibooker.book1D("row_layer2ring8", "Digi row", 50, 0., 200.);
113 
114  meColLayer2Ring1_ = ibooker.book1D("col_layer2ring1", "Digi column", 50, 0., 500.);
115  meColLayer2Ring2_ = ibooker.book1D("col_layer2ring2", "Digi column", 50, 0., 500.);
116  meColLayer2Ring3_ = ibooker.book1D("col_layer2ring3", "Digi column", 50, 0., 500.);
117  meColLayer2Ring4_ = ibooker.book1D("col_layer2ring4", "Digi column", 50, 0., 500.);
118  meColLayer2Ring5_ = ibooker.book1D("col_layer2ring5", "Digi column", 50, 0., 500.);
119  meColLayer2Ring6_ = ibooker.book1D("col_layer2ring6", "Digi column", 50, 0., 500.);
120  meColLayer2Ring7_ = ibooker.book1D("col_layer2ring7", "Digi column", 50, 0., 500.);
121  meColLayer2Ring8_ = ibooker.book1D("col_layer2ring8", "Digi column", 50, 0., 500.);
122 
123  meAdcLayer3Ring1_ = ibooker.book1D("adc_layer3ring1", "Digi charge", 50, 0., 300.);
124  meAdcLayer3Ring2_ = ibooker.book1D("adc_layer3ring2", "Digi charge", 50, 0., 300.);
125  meAdcLayer3Ring3_ = ibooker.book1D("adc_layer3ring3", "Digi charge", 50, 0., 300.);
126  meAdcLayer3Ring4_ = ibooker.book1D("adc_layer3ring4", "Digi charge", 50, 0., 300.);
127  meAdcLayer3Ring5_ = ibooker.book1D("adc_layer3ring5", "Digi charge", 50, 0., 300.);
128  meAdcLayer3Ring6_ = ibooker.book1D("adc_layer3ring6", "Digi charge", 50, 0., 300.);
129  meAdcLayer3Ring7_ = ibooker.book1D("adc_layer3ring7", "Digi charge", 50, 0., 300.);
130  meAdcLayer3Ring8_ = ibooker.book1D("adc_layer3ring8", "Digi charge", 50, 0., 300.);
131 
132  meRowLayer3Ring1_ = ibooker.book1D("row_layer3ring1", "Digi row", 50, 0., 200.);
133  meRowLayer3Ring2_ = ibooker.book1D("row_layer3ring2", "Digi row", 50, 0., 200.);
134  meRowLayer3Ring3_ = ibooker.book1D("row_layer3ring3", "Digi row", 50, 0., 200.);
135  meRowLayer3Ring4_ = ibooker.book1D("row_layer3ring4", "Digi row", 50, 0., 200.);
136  meRowLayer3Ring5_ = ibooker.book1D("row_layer3ring5", "Digi row", 50, 0., 200.);
137  meRowLayer3Ring6_ = ibooker.book1D("row_layer3ring6", "Digi row", 50, 0., 200.);
138  meRowLayer3Ring7_ = ibooker.book1D("row_layer3ring7", "Digi row", 50, 0., 200.);
139  meRowLayer3Ring8_ = ibooker.book1D("row_layer3ring8", "Digi row", 50, 0., 200.);
140 
141  meColLayer3Ring1_ = ibooker.book1D("col_layer3ring1", "Digi column", 50, 0., 500.);
142  meColLayer3Ring2_ = ibooker.book1D("col_layer3ring2", "Digi column", 50, 0., 500.);
143  meColLayer3Ring3_ = ibooker.book1D("col_layer3ring3", "Digi column", 50, 0., 500.);
144  meColLayer3Ring4_ = ibooker.book1D("col_layer3ring4", "Digi column", 50, 0., 500.);
145  meColLayer3Ring5_ = ibooker.book1D("col_layer3ring5", "Digi column", 50, 0., 500.);
146  meColLayer3Ring6_ = ibooker.book1D("col_layer3ring6", "Digi column", 50, 0., 500.);
147  meColLayer3Ring7_ = ibooker.book1D("col_layer3ring7", "Digi column", 50, 0., 500.);
148  meColLayer3Ring8_ = ibooker.book1D("col_layer3ring8", "Digi column", 50, 0., 500.);
149 
151  ibooker.bookProfile("digi_layer1_ladders", "Digi Num. per ladder", 22, 0.0, 21.0, 100, 0.0, 100);
153  ibooker.bookProfile("digi_layer2_ladders", "Digi Num. per ladder", 34, 0.0, 32.0, 100, 0.0, 100);
155  ibooker.bookProfile("digi_layer3_ladders", "Digi Num. per ladder", 46, 0.0, 45.0, 100, 0.0, 100);
156 
157  // Forward Pixel
158  /* ZMinus Side 1st Disk */
159  meAdcZmDisk1Panel1Plaq1_ = ibooker.book1D("adc_zm_disk1_panel1_plaq1", "Digi charge", 50, 0., 300.);
160  meAdcZmDisk1Panel1Plaq2_ = ibooker.book1D("adc_zm_disk1_panel1_plaq2", "Digi charge", 50, 0., 300.);
161  meAdcZmDisk1Panel1Plaq3_ = ibooker.book1D("adc_zm_disk1_panel1_plaq3", "Digi charge", 50, 0., 300.);
162  meAdcZmDisk1Panel1Plaq4_ = ibooker.book1D("adc_zm_disk1_panel1_plaq4", "Digi charge", 50, 0., 300.);
163  meAdcZmDisk1Panel2Plaq1_ = ibooker.book1D("adc_zm_disk1_panel2_plaq1", "Digi charge", 50, 0., 300.);
164  meAdcZmDisk1Panel2Plaq2_ = ibooker.book1D("adc_zm_disk1_panel2_plaq2", "Digi charge", 50, 0., 300.);
165  meAdcZmDisk1Panel2Plaq3_ = ibooker.book1D("adc_zm_disk1_panel2_plaq3", "Digi charge", 50, 0., 300.);
166 
167  meRowZmDisk1Panel1Plaq1_ = ibooker.book1D("row_zm_disk1_panel1_plaq1", "Digi row", 50, 0., 100.);
168  meRowZmDisk1Panel1Plaq2_ = ibooker.book1D("row_zm_disk1_panel1_plaq2", "Digi row", 50, 0., 200.);
169  meRowZmDisk1Panel1Plaq3_ = ibooker.book1D("row_zm_disk1_panel1_plaq3", "Digi row", 50, 0., 200.);
170  meRowZmDisk1Panel1Plaq4_ = ibooker.book1D("row_zm_disk1_panel1_plaq4", "Digi row", 50, 0., 100.);
171  meRowZmDisk1Panel2Plaq1_ = ibooker.book1D("row_zm_disk1_panel2_plaq1", "Digi row", 50, 0., 200.);
172  meRowZmDisk1Panel2Plaq2_ = ibooker.book1D("row_zm_disk1_panel2_plaq2", "Digi row", 50, 0., 200.);
173  meRowZmDisk1Panel2Plaq3_ = ibooker.book1D("row_zm_disk1_panel2_plaq3", "Digi row", 50, 0., 200.);
174 
175  meColZmDisk1Panel1Plaq1_ = ibooker.book1D("col_zm_disk1_panel1_plaq1", "Digi column", 50, 0., 150.);
176  meColZmDisk1Panel1Plaq2_ = ibooker.book1D("col_zm_disk1_panel1_plaq2", "Digi column", 50, 0., 200.);
177  meColZmDisk1Panel1Plaq3_ = ibooker.book1D("col_zm_disk1_panel1_plaq3", "Digi column", 50, 0., 250.);
178  meColZmDisk1Panel1Plaq4_ = ibooker.book1D("col_zm_disk1_panel1_plaq4", "Digi column", 50, 0., 300.);
179  meColZmDisk1Panel2Plaq1_ = ibooker.book1D("col_zm_disk1_panel2_plaq1", "Digi column", 50, 0., 200.);
180  meColZmDisk1Panel2Plaq2_ = ibooker.book1D("col_zm_disk1_panel2_plaq2", "Digi column", 50, 0., 250.);
181  meColZmDisk1Panel2Plaq3_ = ibooker.book1D("col_zm_disk1_panel2_plaq3", "Digi column", 50, 0., 300.);
183  ibooker.book1D("digi_zm_disk1_panel1", "Digi Num. Panel1 Of 1st Disk In ZMinus Side ", 30, 0., 30.);
185  ibooker.book1D("digi_zm_disk1_panel2", "Digi Num. Panel2 Of 1st Disk In ZMinus Side ", 30, 0., 30.);
186 
187  /* ZMius Side 2nd disk */
188  meAdcZmDisk2Panel1Plaq1_ = ibooker.book1D("adc_zm_disk2_panel1_plaq1", "Digi charge", 50, 0., 300.);
189  meAdcZmDisk2Panel1Plaq2_ = ibooker.book1D("adc_zm_disk2_panel1_plaq2", "Digi charge", 50, 0., 300.);
190  meAdcZmDisk2Panel1Plaq3_ = ibooker.book1D("adc_zm_disk2_panel1_plaq3", "Digi charge", 50, 0., 300.);
191  meAdcZmDisk2Panel1Plaq4_ = ibooker.book1D("adc_zm_disk2_panel1_plaq4", "Digi charge", 50, 0., 300.);
192  meAdcZmDisk2Panel2Plaq1_ = ibooker.book1D("adc_zm_disk2_panel2_plaq1", "Digi charge", 50, 0., 300.);
193  meAdcZmDisk2Panel2Plaq2_ = ibooker.book1D("adc_zm_disk2_panel2_plaq2", "Digi charge", 50, 0., 300.);
194  meAdcZmDisk2Panel2Plaq3_ = ibooker.book1D("adc_zm_disk2_panel2_plaq3", "Digi charge", 50, 0., 300.);
195 
196  meRowZmDisk2Panel1Plaq1_ = ibooker.book1D("row_zm_disk2_panel1_plaq1", "Digi row", 50, 0., 100.);
197  meRowZmDisk2Panel1Plaq2_ = ibooker.book1D("row_zm_disk2_panel1_plaq2", "Digi row", 50, 0., 200.);
198  meRowZmDisk2Panel1Plaq3_ = ibooker.book1D("row_zm_disk2_panel1_plaq3", "Digi row", 50, 0., 200.);
199  meRowZmDisk2Panel1Plaq4_ = ibooker.book1D("row_zm_disk2_panel1_plaq4", "Digi row", 50, 0., 100.);
200  meRowZmDisk2Panel2Plaq1_ = ibooker.book1D("row_zm_disk2_panel2_plaq1", "Digi row", 50, 0., 200.);
201  meRowZmDisk2Panel2Plaq2_ = ibooker.book1D("row_zm_disk2_panel2_plaq2", "Digi row", 50, 0., 200.);
202  meRowZmDisk2Panel2Plaq3_ = ibooker.book1D("row_zm_disk2_panel2_plaq3", "Digi row", 50, 0., 200.);
203 
204  meColZmDisk2Panel1Plaq1_ = ibooker.book1D("col_zm_disk2_panel1_plaq1", "Digi Column", 50, 0., 150.);
205  meColZmDisk2Panel1Plaq2_ = ibooker.book1D("col_zm_disk2_panel1_plaq2", "Digi Column", 50, 0., 200.);
206  meColZmDisk2Panel1Plaq3_ = ibooker.book1D("col_zm_disk2_panel1_plaq3", "Digi Column", 50, 0., 250.);
207  meColZmDisk2Panel1Plaq4_ = ibooker.book1D("col_zm_disk2_panel1_plaq4", "Digi Column", 50, 0., 300.);
208  meColZmDisk2Panel2Plaq1_ = ibooker.book1D("col_zm_disk2_panel2_plaq1", "Digi Column", 50, 0., 200.);
209  meColZmDisk2Panel2Plaq2_ = ibooker.book1D("col_zm_disk2_panel2_plaq2", "Digi Column", 50, 0., 250.);
210  meColZmDisk2Panel2Plaq3_ = ibooker.book1D("col_zm_disk2_panel2_plaq3", "Digi Column", 50, 0., 300.);
212  ibooker.book1D("digi_zm_disk2_panel1", "Digi Num. Panel1 Of 2nd Disk In ZMinus Side ", 30, 0., 30.);
214  ibooker.book1D("digi_zm_disk2_panel2", "Digi Num. Panel2 Of 2nd Disk In ZMinus Side ", 30, 0., 30.);
215 
216  /* ZPlus Side 1st Disk */
217  meAdcZpDisk1Panel1Plaq1_ = ibooker.book1D("adc_zp_disk1_panel1_plaq1", "Digi charge", 50, 0., 300.);
218  meAdcZpDisk1Panel1Plaq2_ = ibooker.book1D("adc_zp_disk1_panel1_plaq2", "Digi charge", 50, 0., 300.);
219  meAdcZpDisk1Panel1Plaq3_ = ibooker.book1D("adc_zp_disk1_panel1_plaq3", "Digi charge", 50, 0., 300.);
220  meAdcZpDisk1Panel1Plaq4_ = ibooker.book1D("adc_zp_disk1_panel1_plaq4", "Digi charge", 50, 0., 300.);
221  meAdcZpDisk1Panel2Plaq1_ = ibooker.book1D("adc_zp_disk1_panel2_plaq1", "Digi charge", 50, 0., 300.);
222  meAdcZpDisk1Panel2Plaq2_ = ibooker.book1D("adc_zp_disk1_panel2_plaq2", "Digi charge", 50, 0., 300.);
223  meAdcZpDisk1Panel2Plaq3_ = ibooker.book1D("adc_zp_disk1_panel2_plaq3", "Digi charge", 50, 0., 300.);
224 
225  meRowZpDisk1Panel1Plaq1_ = ibooker.book1D("row_zp_disk1_panel1_plaq1", "Digi row", 50, 0., 100.);
226  meRowZpDisk1Panel1Plaq2_ = ibooker.book1D("row_zp_disk1_panel1_plaq2", "Digi row", 50, 0., 200.);
227  meRowZpDisk1Panel1Plaq3_ = ibooker.book1D("row_zp_disk1_panel1_plaq3", "Digi row", 50, 0., 200.);
228  meRowZpDisk1Panel1Plaq4_ = ibooker.book1D("row_zp_disk1_panel1_plaq4", "Digi row", 50, 0., 100.);
229  meRowZpDisk1Panel2Plaq1_ = ibooker.book1D("row_zp_disk1_panel2_plaq1", "Digi row", 50, 0., 200.);
230  meRowZpDisk1Panel2Plaq2_ = ibooker.book1D("row_zp_disk1_panel2_plaq2", "Digi row", 50, 0., 200.);
231  meRowZpDisk1Panel2Plaq3_ = ibooker.book1D("row_zp_disk1_panel2_plaq3", "Digi row", 50, 0., 200.);
232 
233  meColZpDisk1Panel1Plaq1_ = ibooker.book1D("col_zp_disk1_panel1_plaq1", "Digi Column", 50, 0., 150.);
234  meColZpDisk1Panel1Plaq2_ = ibooker.book1D("col_zp_disk1_panel1_plaq2", "Digi column", 50, 0., 200.);
235  meColZpDisk1Panel1Plaq3_ = ibooker.book1D("col_zp_disk1_panel1_plaq3", "Digi column", 50, 0., 250.);
236  meColZpDisk1Panel1Plaq4_ = ibooker.book1D("col_zp_disk1_panel1_plaq4", "Digi column", 50, 0., 300.);
237  meColZpDisk1Panel2Plaq1_ = ibooker.book1D("col_zp_disk1_panel2_plaq1", "Digi column", 50, 0., 200.);
238  meColZpDisk1Panel2Plaq2_ = ibooker.book1D("col_zp_disk1_panel2_plaq2", "Digi column", 50, 0., 250.);
239  meColZpDisk1Panel2Plaq3_ = ibooker.book1D("col_zp_disk1_panel2_plaq3", "Digi column", 50, 0., 300.);
241  ibooker.book1D("digi_zp_disk1_panel1", "Digi Num. Panel1 Of 1st Disk In ZPlus Side ", 30, 0., 30.);
243  ibooker.book1D("digi_zp_disk1_panel2", "Digi Num. Panel2 Of 1st Disk In ZPlus Side ", 30, 0., 30.);
244 
245  /* ZPlus Side 2nd disk */
246  meAdcZpDisk2Panel1Plaq1_ = ibooker.book1D("adc_zp_disk2_panel1_plaq1", "Digi charge", 50, 0., 300.);
247  meAdcZpDisk2Panel1Plaq2_ = ibooker.book1D("adc_zp_disk2_panel1_plaq2", "Digi charge", 50, 0., 300.);
248  meAdcZpDisk2Panel1Plaq3_ = ibooker.book1D("adc_zp_disk2_panel1_plaq3", "Digi charge", 50, 0., 300.);
249  meAdcZpDisk2Panel1Plaq4_ = ibooker.book1D("adc_zp_disk2_panel1_plaq4", "Digi charge", 50, 0., 300.);
250  meAdcZpDisk2Panel2Plaq1_ = ibooker.book1D("adc_zp_disk2_panel2_plaq1", "Digi charge", 50, 0., 300.);
251  meAdcZpDisk2Panel2Plaq2_ = ibooker.book1D("adc_zp_disk2_panel2_plaq2", "Digi charge", 50, 0., 300.);
252  meAdcZpDisk2Panel2Plaq3_ = ibooker.book1D("adc_zp_disk2_panel2_plaq3", "Digi charge", 50, 0., 300.);
253 
254  meRowZpDisk2Panel1Plaq1_ = ibooker.book1D("row_zp_disk2_panel1_plaq1", "Digi row", 10, 0., 100.);
255  meRowZpDisk2Panel1Plaq2_ = ibooker.book1D("row_zp_disk2_panel1_plaq2", "Digi row", 10, 0., 200.);
256  meRowZpDisk2Panel1Plaq3_ = ibooker.book1D("row_zp_disk2_panel1_plaq3", "Digi row", 10, 0., 200.);
257  meRowZpDisk2Panel1Plaq4_ = ibooker.book1D("row_zp_disk2_panel1_plaq4", "Digi row", 10, 0., 100.);
258  meRowZpDisk2Panel2Plaq1_ = ibooker.book1D("row_zp_disk2_panel2_plaq1", "Digi row", 10, 0., 200.);
259  meRowZpDisk2Panel2Plaq2_ = ibooker.book1D("row_zp_disk2_panel2_plaq2", "Digi row", 10, 0., 200.);
260  meRowZpDisk2Panel2Plaq3_ = ibooker.book1D("row_zp_disk2_panel2_plaq3", "Digi row", 10, 0., 200.);
261 
262  meColZpDisk2Panel1Plaq1_ = ibooker.book1D("col_zp_disk2_panel1_plaq1", "Digi column", 50, 0., 150.);
263  meColZpDisk2Panel1Plaq2_ = ibooker.book1D("col_zp_disk2_panel1_plaq2", "Digi column", 50, 0., 200.);
264  meColZpDisk2Panel1Plaq3_ = ibooker.book1D("col_zp_disk2_panel1_plaq3", "Digi column", 50, 0., 250.);
265  meColZpDisk2Panel1Plaq4_ = ibooker.book1D("col_zp_disk2_panel1_plaq4", "Digi column", 50, 0., 300.);
266  meColZpDisk2Panel2Plaq1_ = ibooker.book1D("col_zp_disk2_panel2_plaq1", "Digi column", 50, 0., 200.);
267  meColZpDisk2Panel2Plaq2_ = ibooker.book1D("col_zp_disk2_panel2_plaq2", "Digi column", 50, 0., 250.);
268  meColZpDisk2Panel2Plaq3_ = ibooker.book1D("col_zp_disk2_panel2_plaq3", "Digi column", 50, 0., 300.);
270  ibooker.book1D("digi_zp_disk2_panel1", "Digi Num. Panel1 Of 2nd Disk In ZPlus Side ", 30, 0., 30.);
272  ibooker.book1D("digi_zp_disk2_panel2", "Digi Num. Panel2 Of 2nd Disk In ZPlus Side ", 30, 0., 30.);
273  }
274 }
275 
277  // Retrieve tracker topology from geometry
278  const TrackerTopology *const tTopo = &c.getData(m_topoToken);
279  // Number of blades and ladders.
280  // TODO: other Geometry-Dependent quantities, e.g. num layers.
281  int nblades = tracker->posPixelForwardLayers()[0]->components().size();
282  int nladders1 = tracker->pixelBarrelLayers()[0]->components().size();
283  int nladders2 = tracker->pixelBarrelLayers()[1]->components().size();
284  int nladders3 = tracker->pixelBarrelLayers()[2]->components().size();
285 
286  int ndigiperRingLayer1[8];
287  int ndigiperRingLayer2[8];
288  int ndigiperRingLayer3[8];
289  for (int i = 0; i < 8; i++) {
290  ndigiperRingLayer1[i] = 0;
291  ndigiperRingLayer2[i] = 0;
292  ndigiperRingLayer3[i] = 0;
293  }
294 
295  int ndigiZpDisk1PerPanel1[nblades];
296  int ndigiZpDisk1PerPanel2[nblades];
297  int ndigiZpDisk2PerPanel1[nblades];
298  int ndigiZpDisk2PerPanel2[nblades];
299  int ndigiZmDisk1PerPanel1[nblades];
300  int ndigiZmDisk1PerPanel2[nblades];
301  int ndigiZmDisk2PerPanel1[nblades];
302  int ndigiZmDisk2PerPanel2[nblades];
303 
304  for (int i = 0; i < nblades; i++) {
305  ndigiZpDisk1PerPanel1[i] = 0;
306  ndigiZpDisk1PerPanel2[i] = 0;
307  ndigiZpDisk2PerPanel1[i] = 0;
308  ndigiZpDisk2PerPanel2[i] = 0;
309  ndigiZmDisk1PerPanel1[i] = 0;
310  ndigiZmDisk1PerPanel2[i] = 0;
311  ndigiZmDisk2PerPanel1[i] = 0;
312  ndigiZmDisk2PerPanel2[i] = 0;
313  }
314 
315  int ndigilayer1ladders[nladders1];
316  int ndigilayer2ladders[nladders2];
317  int ndigilayer3ladders[nladders3];
318 
319  for (int i = 0; i < nladders1; i++) {
320  ndigilayer1ladders[i] = 0;
321  }
322 
323  for (int i = 0; i < nladders2; i++) {
324  ndigilayer2ladders[i] = 0;
325  }
326 
327  for (int i = 0; i < nladders3; i++) {
328  ndigilayer3ladders[i] = 0;
329  }
330 
331  // LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " <<
332  // e.id().event();
333 
334  // string digiProducer = "siPixelDigis";
336  e.getByToken(edmDetSetVector_PixelDigi_Token_, pixelDigis);
337 
338  edm::DetSetVector<PixelDigi>::const_iterator DSViter = pixelDigis->begin();
339  for (; DSViter != pixelDigis->end(); DSViter++) {
340  unsigned int id = DSViter->id;
341  DetId detId(id);
342  edm::DetSet<PixelDigi>::const_iterator begin = DSViter->data.begin();
345 
346  if (detId.subdetId() == PixelSubdetector::PixelBarrel) {
347  unsigned int layer = tTopo->pxbLayer(id); // Layer:1,2,3.
348  unsigned int ladder = tTopo->pxbLadder(id); // Ladeer: 1-20, 32, 44.
349  unsigned int zindex = tTopo->pxbModule(id); // Z-index: 1-8.
350  // LogInfo("SiPixelDigiValid")<<"Barrel:: Layer="<<layer<<"
351  // Ladder="<<ladder<<" zindex="<<zindex;
352  for (iter = begin; iter != end; iter++) {
353  if (layer == 1) {
354  ++ndigilayer1ladders[ladder - 1];
355  ++ndigiperRingLayer1[zindex - 1];
356  if (zindex == 1) {
357  meAdcLayer1Ring1_->Fill((*iter).adc());
358  meRowLayer1Ring1_->Fill((*iter).row());
359  meColLayer1Ring1_->Fill((*iter).column());
360  }
361  if (zindex == 2) {
362  meAdcLayer1Ring2_->Fill((*iter).adc());
363  meRowLayer1Ring2_->Fill((*iter).row());
364  meColLayer1Ring2_->Fill((*iter).column());
365  }
366 
367  if (zindex == 3) {
368  meAdcLayer1Ring3_->Fill((*iter).adc());
369  meRowLayer1Ring3_->Fill((*iter).row());
370  meColLayer1Ring3_->Fill((*iter).column());
371  }
372 
373  if (zindex == 4) {
374  meAdcLayer1Ring4_->Fill((*iter).adc());
375  meRowLayer1Ring4_->Fill((*iter).row());
376  meColLayer1Ring4_->Fill((*iter).column());
377  }
378 
379  if (zindex == 5) {
380  meAdcLayer1Ring5_->Fill((*iter).adc());
381  meRowLayer1Ring5_->Fill((*iter).row());
382  meColLayer1Ring5_->Fill((*iter).column());
383  }
384 
385  if (zindex == 6) {
386  meAdcLayer1Ring6_->Fill((*iter).adc());
387  meRowLayer1Ring6_->Fill((*iter).row());
388  meColLayer1Ring6_->Fill((*iter).column());
389  }
390 
391  if (zindex == 7) {
392  meAdcLayer1Ring7_->Fill((*iter).adc());
393  meRowLayer1Ring7_->Fill((*iter).row());
394  meColLayer1Ring7_->Fill((*iter).column());
395  }
396  if (zindex == 8) {
397  meAdcLayer1Ring8_->Fill((*iter).adc());
398  meRowLayer1Ring8_->Fill((*iter).row());
399  meColLayer1Ring8_->Fill((*iter).column());
400  }
401  }
402  if (layer == 2) {
403  ++ndigilayer2ladders[ladder - 1];
404  ++ndigiperRingLayer2[zindex - 1];
405  if (zindex == 1) {
406  meAdcLayer2Ring1_->Fill((*iter).adc());
407  meRowLayer2Ring1_->Fill((*iter).row());
408  meColLayer2Ring1_->Fill((*iter).column());
409  }
410  if (zindex == 2) {
411  meAdcLayer2Ring2_->Fill((*iter).adc());
412  meRowLayer2Ring2_->Fill((*iter).row());
413  meColLayer2Ring2_->Fill((*iter).column());
414  }
415 
416  if (zindex == 3) {
417  meAdcLayer2Ring3_->Fill((*iter).adc());
418  meRowLayer2Ring3_->Fill((*iter).row());
419  meColLayer2Ring3_->Fill((*iter).column());
420  }
421 
422  if (zindex == 4) {
423  meAdcLayer2Ring4_->Fill((*iter).adc());
424  meRowLayer2Ring4_->Fill((*iter).row());
425  meColLayer2Ring4_->Fill((*iter).column());
426  }
427 
428  if (zindex == 5) {
429  meAdcLayer2Ring5_->Fill((*iter).adc());
430  meRowLayer2Ring5_->Fill((*iter).row());
431  meColLayer2Ring5_->Fill((*iter).column());
432  }
433 
434  if (zindex == 6) {
435  meAdcLayer2Ring6_->Fill((*iter).adc());
436  meRowLayer2Ring6_->Fill((*iter).row());
437  meColLayer2Ring6_->Fill((*iter).column());
438  }
439 
440  if (zindex == 7) {
441  meAdcLayer2Ring7_->Fill((*iter).adc());
442  meRowLayer2Ring7_->Fill((*iter).row());
443  meColLayer2Ring7_->Fill((*iter).column());
444  }
445  if (zindex == 8) {
446  meAdcLayer2Ring8_->Fill((*iter).adc());
447  meRowLayer2Ring8_->Fill((*iter).row());
448  meColLayer2Ring8_->Fill((*iter).column());
449  }
450  }
451  if (layer == 3) {
452  ++ndigilayer3ladders[ladder - 1];
453  ++ndigiperRingLayer3[zindex - 1];
454  if (zindex == 1) {
455  meAdcLayer3Ring1_->Fill((*iter).adc());
456  meRowLayer3Ring1_->Fill((*iter).row());
457  meColLayer3Ring1_->Fill((*iter).column());
458  }
459  if (zindex == 2) {
460  meAdcLayer3Ring2_->Fill((*iter).adc());
461  meRowLayer3Ring2_->Fill((*iter).row());
462  meColLayer3Ring2_->Fill((*iter).column());
463  }
464 
465  if (zindex == 3) {
466  meAdcLayer3Ring3_->Fill((*iter).adc());
467  meRowLayer3Ring3_->Fill((*iter).row());
468  meColLayer3Ring3_->Fill((*iter).column());
469  }
470 
471  if (zindex == 4) {
472  meAdcLayer3Ring4_->Fill((*iter).adc());
473  meRowLayer3Ring4_->Fill((*iter).row());
474  meColLayer3Ring4_->Fill((*iter).column());
475  }
476 
477  if (zindex == 5) {
478  meAdcLayer3Ring5_->Fill((*iter).adc());
479  meRowLayer3Ring5_->Fill((*iter).row());
480  meColLayer3Ring5_->Fill((*iter).column());
481  }
482 
483  if (zindex == 6) {
484  meAdcLayer3Ring6_->Fill((*iter).adc());
485  meRowLayer3Ring6_->Fill((*iter).row());
486  meColLayer3Ring6_->Fill((*iter).column());
487  }
488 
489  if (zindex == 7) {
490  meAdcLayer3Ring7_->Fill((*iter).adc());
491  meRowLayer3Ring7_->Fill((*iter).row());
492  meColLayer3Ring7_->Fill((*iter).column());
493  }
494  if (zindex == 8) {
495  meAdcLayer3Ring8_->Fill((*iter).adc());
496  meRowLayer3Ring8_->Fill((*iter).row());
497  meColLayer3Ring8_->Fill((*iter).column());
498  }
499  }
500  }
501  }
502 
503  if (detId.subdetId() == PixelSubdetector::PixelEndcap) { // Endcap
504 
505  unsigned int side = tTopo->pxfSide(id);
506  unsigned int disk = tTopo->pxfDisk(id);
507  unsigned int blade = tTopo->pxfBlade(id);
508  unsigned int panel = tTopo->pxfPanel(id);
509  unsigned int mod = tTopo->pxfModule(id);
510  // LogInfo("SiPixelDigiValid")<<"EndcaP="<<side<<" Disk="<<disk<<"
511  // Blade="<<blade<<" Panel="<<panel<<" Module="<<mod;
512  for (iter = begin; iter != end; iter++) {
513  if (side == 1 && disk == 1 && panel == 1) {
514  if (mod == 1) {
515  meAdcZmDisk1Panel1Plaq1_->Fill((*iter).adc());
516  meRowZmDisk1Panel1Plaq1_->Fill((*iter).row());
517  meColZmDisk1Panel1Plaq1_->Fill((*iter).column());
518  } else if (mod == 2) {
519  meAdcZmDisk1Panel1Plaq2_->Fill((*iter).adc());
520  meRowZmDisk1Panel1Plaq2_->Fill((*iter).row());
521  meColZmDisk1Panel1Plaq2_->Fill((*iter).column());
522  } else if (mod == 3) {
523  meAdcZmDisk1Panel1Plaq3_->Fill((*iter).adc());
524  meRowZmDisk1Panel1Plaq3_->Fill((*iter).row());
525  meColZmDisk1Panel1Plaq3_->Fill((*iter).column());
526  } else if (mod == 4) {
527  meAdcZmDisk1Panel1Plaq4_->Fill((*iter).adc());
528  meRowZmDisk1Panel1Plaq4_->Fill((*iter).row());
529  meColZmDisk1Panel1Plaq4_->Fill((*iter).column());
530  } else {
531  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
532  }
533  ++ndigiZmDisk1PerPanel1[blade - 1];
534  }
535 
536  if (side == 1 && disk == 1 && panel == 2) {
537  if (mod == 1) {
538  meAdcZmDisk1Panel2Plaq1_->Fill((*iter).adc());
539  meRowZmDisk1Panel2Plaq1_->Fill((*iter).row());
540  meColZmDisk1Panel2Plaq1_->Fill((*iter).column());
541  } else if (mod == 2) {
542  meAdcZmDisk1Panel2Plaq2_->Fill((*iter).adc());
543  meRowZmDisk1Panel2Plaq2_->Fill((*iter).row());
544  meColZmDisk1Panel2Plaq2_->Fill((*iter).column());
545  } else if (mod == 3) {
546  meAdcZmDisk1Panel2Plaq3_->Fill((*iter).adc());
547  meRowZmDisk1Panel2Plaq3_->Fill((*iter).row());
548  meColZmDisk1Panel2Plaq3_->Fill((*iter).column());
549  } else {
550  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
551  }
552  ++ndigiZmDisk1PerPanel2[blade - 1];
553  }
554 
555  if (side == 1 && disk == 2 && panel == 1) {
556  if (mod == 1) {
557  meAdcZmDisk2Panel1Plaq1_->Fill((*iter).adc());
558  meRowZmDisk2Panel1Plaq1_->Fill((*iter).row());
559  meColZmDisk2Panel1Plaq1_->Fill((*iter).column());
560  } else if (mod == 2) {
561  meAdcZmDisk2Panel1Plaq2_->Fill((*iter).adc());
562  meRowZmDisk2Panel1Plaq2_->Fill((*iter).row());
563  meColZmDisk2Panel1Plaq2_->Fill((*iter).column());
564  } else if (mod == 3) {
565  meAdcZmDisk2Panel1Plaq3_->Fill((*iter).adc());
566  meRowZmDisk2Panel1Plaq3_->Fill((*iter).row());
567  meColZmDisk2Panel1Plaq3_->Fill((*iter).column());
568  } else if (mod == 4) {
569  meAdcZmDisk2Panel1Plaq4_->Fill((*iter).adc());
570  meRowZmDisk2Panel1Plaq4_->Fill((*iter).row());
571  meColZmDisk2Panel1Plaq4_->Fill((*iter).column());
572  } else {
573  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
574  }
575  ++ndigiZmDisk2PerPanel1[blade - 1];
576  }
577 
578  if (side == 1 && disk == 2 && panel == 2) {
579  if (mod == 1) {
580  meAdcZmDisk2Panel2Plaq1_->Fill((*iter).adc());
581  meRowZmDisk2Panel2Plaq1_->Fill((*iter).row());
582  meColZmDisk2Panel2Plaq1_->Fill((*iter).column());
583  } else if (mod == 2) {
584  meAdcZmDisk2Panel2Plaq2_->Fill((*iter).adc());
585  meRowZmDisk2Panel2Plaq2_->Fill((*iter).row());
586  meColZmDisk2Panel2Plaq2_->Fill((*iter).column());
587  } else if (mod == 3) {
588  meAdcZmDisk2Panel2Plaq3_->Fill((*iter).adc());
589  meRowZmDisk2Panel2Plaq3_->Fill((*iter).row());
590  meColZmDisk2Panel2Plaq3_->Fill((*iter).column());
591  } else {
592  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
593  }
594  ++ndigiZmDisk2PerPanel2[blade - 1];
595  }
596 
597  if (side == 2 && disk == 1 && panel == 1) {
598  if (mod == 1) {
599  meAdcZpDisk1Panel1Plaq1_->Fill((*iter).adc());
600  meRowZpDisk1Panel1Plaq1_->Fill((*iter).row());
601  meColZpDisk1Panel1Plaq1_->Fill((*iter).column());
602  } else if (mod == 2) {
603  meAdcZpDisk1Panel1Plaq2_->Fill((*iter).adc());
604  meRowZpDisk1Panel1Plaq2_->Fill((*iter).row());
605  meColZpDisk1Panel1Plaq2_->Fill((*iter).column());
606  } else if (mod == 3) {
607  meAdcZpDisk1Panel1Plaq3_->Fill((*iter).adc());
608  meRowZpDisk1Panel1Plaq3_->Fill((*iter).row());
609  meColZpDisk1Panel1Plaq3_->Fill((*iter).column());
610  } else if (mod == 4) {
611  meAdcZpDisk1Panel1Plaq4_->Fill((*iter).adc());
612  meRowZpDisk1Panel1Plaq4_->Fill((*iter).row());
613  meColZpDisk1Panel1Plaq4_->Fill((*iter).column());
614  } else {
615  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
616  }
617  ++ndigiZpDisk1PerPanel1[blade - 1];
618  }
619 
620  if (side == 2 && disk == 1 && panel == 2) {
621  if (mod == 1) {
622  meAdcZpDisk1Panel2Plaq1_->Fill((*iter).adc());
623  meRowZpDisk1Panel2Plaq1_->Fill((*iter).row());
624  meColZpDisk1Panel2Plaq1_->Fill((*iter).column());
625  } else if (mod == 2) {
626  meAdcZpDisk1Panel2Plaq2_->Fill((*iter).adc());
627  meRowZpDisk1Panel2Plaq2_->Fill((*iter).row());
628  meColZpDisk1Panel2Plaq2_->Fill((*iter).column());
629  } else if (mod == 3) {
630  meAdcZpDisk1Panel2Plaq3_->Fill((*iter).adc());
631  meRowZpDisk1Panel2Plaq3_->Fill((*iter).row());
632  meColZpDisk1Panel2Plaq3_->Fill((*iter).column());
633  } else {
634  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
635  }
636  ++ndigiZpDisk1PerPanel2[blade - 1];
637  }
638 
639  if (side == 2 && disk == 2 && panel == 1) {
640  if (mod == 1) {
641  meAdcZpDisk2Panel1Plaq1_->Fill((*iter).adc());
642  meRowZpDisk2Panel1Plaq1_->Fill((*iter).row());
643  meColZpDisk2Panel1Plaq1_->Fill((*iter).column());
644  } else if (mod == 2) {
645  meAdcZpDisk2Panel1Plaq2_->Fill((*iter).adc());
646  meRowZpDisk2Panel1Plaq2_->Fill((*iter).row());
647  meColZpDisk2Panel1Plaq2_->Fill((*iter).column());
648  } else if (mod == 3) {
649  meAdcZpDisk2Panel1Plaq3_->Fill((*iter).adc());
650  meRowZpDisk2Panel1Plaq3_->Fill((*iter).row());
651  meColZpDisk2Panel1Plaq3_->Fill((*iter).column());
652  } else if (mod == 4) {
653  meAdcZpDisk2Panel1Plaq4_->Fill((*iter).adc());
654  meRowZpDisk2Panel1Plaq4_->Fill((*iter).row());
655  meColZpDisk2Panel1Plaq4_->Fill((*iter).column());
656  } else {
657  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
658  }
659  ++ndigiZpDisk2PerPanel1[blade - 1];
660  }
661 
662  if (side == 2 && disk == 2 && panel == 2) {
663  if (mod == 1) {
664  meAdcZpDisk2Panel2Plaq1_->Fill((*iter).adc());
665  meRowZpDisk2Panel2Plaq1_->Fill((*iter).row());
666  meColZpDisk2Panel2Plaq1_->Fill((*iter).column());
667  } else if (mod == 2) {
668  meAdcZpDisk2Panel2Plaq2_->Fill((*iter).adc());
669  meRowZpDisk2Panel2Plaq2_->Fill((*iter).row());
670  meColZpDisk2Panel2Plaq2_->Fill((*iter).column());
671  } else if (mod == 3) {
672  meAdcZpDisk2Panel2Plaq3_->Fill((*iter).adc());
673  meRowZpDisk2Panel2Plaq3_->Fill((*iter).row());
674  meColZpDisk2Panel2Plaq3_->Fill((*iter).column());
675  } else {
676  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
677  }
678  ++ndigiZpDisk2PerPanel2[blade - 1];
679  }
680  } // iterating the digi
681 
682  } // Endcap
683 
684  } // end for loop
685 
686  meDigiMultiLayer1Ring1_->Fill(ndigiperRingLayer1[0]);
687  meDigiMultiLayer1Ring2_->Fill(ndigiperRingLayer1[1]);
688  meDigiMultiLayer1Ring3_->Fill(ndigiperRingLayer1[2]);
689  meDigiMultiLayer1Ring4_->Fill(ndigiperRingLayer1[3]);
690  meDigiMultiLayer1Ring5_->Fill(ndigiperRingLayer1[4]);
691  meDigiMultiLayer1Ring6_->Fill(ndigiperRingLayer1[5]);
692  meDigiMultiLayer1Ring7_->Fill(ndigiperRingLayer1[6]);
693  meDigiMultiLayer1Ring8_->Fill(ndigiperRingLayer1[7]);
694 
695  meDigiMultiLayer2Ring1_->Fill(ndigiperRingLayer2[0]);
696  meDigiMultiLayer2Ring2_->Fill(ndigiperRingLayer2[1]);
697  meDigiMultiLayer2Ring3_->Fill(ndigiperRingLayer2[2]);
698  meDigiMultiLayer2Ring4_->Fill(ndigiperRingLayer2[3]);
699  meDigiMultiLayer2Ring5_->Fill(ndigiperRingLayer2[4]);
700  meDigiMultiLayer2Ring6_->Fill(ndigiperRingLayer2[5]);
701  meDigiMultiLayer2Ring7_->Fill(ndigiperRingLayer2[6]);
702  meDigiMultiLayer2Ring8_->Fill(ndigiperRingLayer2[7]);
703 
704  meDigiMultiLayer3Ring1_->Fill(ndigiperRingLayer3[0]);
705  meDigiMultiLayer3Ring2_->Fill(ndigiperRingLayer3[1]);
706  meDigiMultiLayer3Ring3_->Fill(ndigiperRingLayer3[2]);
707  meDigiMultiLayer3Ring4_->Fill(ndigiperRingLayer3[3]);
708  meDigiMultiLayer3Ring5_->Fill(ndigiperRingLayer3[4]);
709  meDigiMultiLayer3Ring6_->Fill(ndigiperRingLayer3[5]);
710  meDigiMultiLayer3Ring7_->Fill(ndigiperRingLayer3[6]);
711  meDigiMultiLayer3Ring8_->Fill(ndigiperRingLayer3[7]);
712 
713  for (int i = 0; i < nblades; i++) {
714  meNdigiZmDisk1PerPanel1_->Fill(ndigiZmDisk1PerPanel1[i]);
715  meNdigiZmDisk1PerPanel2_->Fill(ndigiZmDisk1PerPanel2[i]);
716  meNdigiZmDisk2PerPanel1_->Fill(ndigiZmDisk2PerPanel1[i]);
717  meNdigiZmDisk2PerPanel2_->Fill(ndigiZmDisk2PerPanel2[i]);
718  meNdigiZpDisk1PerPanel1_->Fill(ndigiZpDisk1PerPanel1[i]);
719  meNdigiZpDisk1PerPanel2_->Fill(ndigiZpDisk1PerPanel2[i]);
720  meNdigiZpDisk2PerPanel1_->Fill(ndigiZpDisk2PerPanel1[i]);
721  meNdigiZpDisk2PerPanel2_->Fill(ndigiZpDisk2PerPanel2[i]);
722  }
723 
724  for (int i = 0; i < nladders1; i++) {
725  meDigiMultiLayer1Ladders_->Fill(i + 1, ndigilayer1ladders[i]);
726  }
727 
728  for (int i = 0; i < nladders2; i++) {
729  meDigiMultiLayer2Ladders_->Fill(i + 1, ndigilayer2ladders[i]);
730  }
731 
732  for (int i = 0; i < nladders3; i++) {
733  meDigiMultiLayer3Ladders_->Fill(i + 1, ndigilayer3ladders[i]);
734  }
735 }
MonitorElement * meColZpDisk1Panel1Plaq3_
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > edmDetSetVector_PixelDigi_Token_
MonitorElement * meColLayer3Ring7_
MonitorElement * meAdcLayer3Ring4_
MonitorElement * meRowZpDisk2Panel1Plaq1_
MonitorElement * meAdcLayer2Ring6_
MonitorElement * meColZmDisk2Panel2Plaq2_
MonitorElement * meRowZpDisk2Panel1Plaq3_
MonitorElement * meRowZmDisk2Panel2Plaq3_
MonitorElement * meAdcLayer3Ring5_
MonitorElement * meDigiMultiLayer3Ring7_
MonitorElement * meDigiMultiLayer1Ring3_
MonitorElement * meAdcZpDisk2Panel1Plaq1_
MonitorElement * meDigiMultiLayer2Ring1_
MonitorElement * meColLayer2Ring2_
MonitorElement * meDigiMultiLayer1Ring5_
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
MonitorElement * meAdcLayer1Ring2_
MonitorElement * meColLayer1Ring2_
MonitorElement * meNdigiZpDisk2PerPanel1_
unsigned int pxbLayer(const DetId &id) const
MonitorElement * meAdcZmDisk2Panel1Plaq3_
MonitorElement * meColZmDisk2Panel1Plaq2_
MonitorElement * meAdcLayer1Ring8_
void analyze(const edm::Event &e, const edm::EventSetup &c) override
MonitorElement * meRowZpDisk2Panel1Plaq4_
MonitorElement * meRowZpDisk2Panel2Plaq1_
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
MonitorElement * meAdcLayer3Ring2_
MonitorElement * meRowLayer3Ring8_
MonitorElement * meColLayer2Ring3_
MonitorElement * meRowZpDisk1Panel1Plaq4_
MonitorElement * meAdcLayer2Ring3_
MonitorElement * meRowZpDisk1Panel2Plaq2_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
unsigned int pxfBlade(const DetId &id) const
MonitorElement * meAdcZmDisk1Panel2Plaq1_
MonitorElement * meRowZmDisk2Panel1Plaq1_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > m_topoToken
MonitorElement * meColLayer1Ring4_
MonitorElement * meRowZmDisk1Panel1Plaq3_
MonitorElement * meDigiMultiLayer1Ring7_
MonitorElement * meRowZpDisk2Panel2Plaq3_
MonitorElement * meDigiMultiLayer3Ring6_
MonitorElement * meColZmDisk1Panel1Plaq3_
MonitorElement * meAdcZmDisk1Panel1Plaq3_
unsigned int pxfModule(const DetId &id) const
MonitorElement * meDigiMultiLayer1Ring4_
MonitorElement * meRowZpDisk2Panel1Plaq2_
MonitorElement * meRowLayer3Ring7_
const edm::ESGetToken< GeometricSearchTracker, TrackerRecoGeometryRecord > m_geomToken
MonitorElement * meDigiMultiLayer3Ring3_
MonitorElement * meAdcZmDisk2Panel2Plaq2_
MonitorElement * meColLayer2Ring4_
MonitorElement * meDigiMultiLayer3Ring8_
MonitorElement * meColZmDisk2Panel2Plaq3_
MonitorElement * meColZmDisk2Panel2Plaq1_
MonitorElement * meColLayer3Ring5_
MonitorElement * meColZmDisk1Panel2Plaq1_
const GeometricSearchTracker * tracker
MonitorElement * meRowLayer1Ring5_
MonitorElement * meColLayer1Ring7_
MonitorElement * meColLayer3Ring1_
MonitorElement * meAdcZpDisk2Panel1Plaq4_
MonitorElement * meRowZmDisk1Panel1Plaq4_
MonitorElement * meRowZmDisk1Panel1Plaq1_
MonitorElement * meRowLayer2Ring3_
MonitorElement * meDigiMultiLayer2Ring7_
MonitorElement * meDigiMultiLayer3Ring1_
MonitorElement * meColZpDisk1Panel2Plaq1_
MonitorElement * meColLayer1Ring1_
unsigned int pxbLadder(const DetId &id) const
MonitorElement * meColLayer2Ring7_
MonitorElement * meColLayer1Ring3_
MonitorElement * meAdcZmDisk1Panel1Plaq4_
MonitorElement * meRowZpDisk1Panel1Plaq1_
std::vector< ForwardDetLayer const * > const & posPixelForwardLayers() const
MonitorElement * meAdcZpDisk1Panel2Plaq1_
MonitorElement * meColZpDisk1Panel2Plaq2_
MonitorElement * meAdcLayer1Ring4_
MonitorElement * meAdcLayer1Ring5_
MonitorElement * meRowLayer1Ring2_
MonitorElement * meAdcZmDisk2Panel1Plaq4_
MonitorElement * meAdcLayer1Ring1_
MonitorElement * meDigiMultiLayer1Ring2_
MonitorElement * meRowZmDisk1Panel2Plaq3_
MonitorElement * meColZpDisk1Panel1Plaq2_
MonitorElement * meRowZpDisk2Panel2Plaq2_
void Fill(long long x)
~SiPixelDigiValid() override
MonitorElement * meAdcLayer3Ring6_
MonitorElement * meRowLayer3Ring3_
MonitorElement * meAdcZpDisk2Panel2Plaq3_
MonitorElement * meColZmDisk1Panel2Plaq2_
MonitorElement * meAdcZpDisk2Panel1Plaq3_
MonitorElement * meDigiMultiLayer2Ring5_
MonitorElement * meColLayer2Ring5_
MonitorElement * meRowZpDisk1Panel1Plaq3_
SiPixelDigiValid(const edm::ParameterSet &ps)
MonitorElement * meColLayer1Ring6_
MonitorElement * meNdigiZmDisk1PerPanel1_
MonitorElement * meAdcZmDisk1Panel1Plaq2_
MonitorElement * meColZpDisk1Panel1Plaq1_
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:399
MonitorElement * meAdcZmDisk2Panel1Plaq1_
MonitorElement * meDigiMultiLayer3Ring2_
MonitorElement * meAdcZmDisk1Panel1Plaq1_
MonitorElement * meColZpDisk2Panel2Plaq1_
MonitorElement * meDigiMultiLayer2Ring2_
MonitorElement * meColZpDisk2Panel1Plaq1_
MonitorElement * meDigiMultiLayer2Ring4_
MonitorElement * meDigiMultiLayer2Ring6_
MonitorElement * meAdcZmDisk1Panel2Plaq3_
MonitorElement * meRowZmDisk2Panel2Plaq2_
MonitorElement * meColLayer1Ring8_
MonitorElement * meColZpDisk1Panel2Plaq3_
unsigned int pxfDisk(const DetId &id) const
MonitorElement * meAdcZmDisk2Panel2Plaq1_
Transition
Definition: Transition.h:12
MonitorElement * meRowLayer1Ring4_
MonitorElement * meRowZmDisk2Panel1Plaq4_
MonitorElement * meAdcLayer2Ring7_
MonitorElement * meRowZmDisk2Panel1Plaq2_
MonitorElement * meColZpDisk2Panel2Plaq3_
MonitorElement * meRowLayer3Ring6_
MonitorElement * meColLayer2Ring6_
MonitorElement * meColLayer3Ring8_
MonitorElement * meColZmDisk2Panel1Plaq3_
MonitorElement * meDigiMultiLayer2Ring8_
MonitorElement * meAdcLayer2Ring5_
MonitorElement * meAdcLayer3Ring7_
MonitorElement * meDigiMultiLayer1Ladders_
MonitorElement * meAdcZmDisk1Panel2Plaq2_
MonitorElement * meRowZmDisk2Panel2Plaq1_
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:316
MonitorElement * meRowLayer3Ring1_
MonitorElement * meRowLayer2Ring7_
MonitorElement * meAdcZpDisk2Panel2Plaq2_
MonitorElement * meColLayer1Ring5_
MonitorElement * meAdcZpDisk1Panel1Plaq1_
Forwar Pixel.
MonitorElement * meDigiMultiLayer1Ring1_
MonitorElement * meColZmDisk1Panel1Plaq1_
MonitorElement * meAdcLayer2Ring8_
MonitorElement * meRowLayer1Ring6_
MonitorElement * meRowZmDisk1Panel1Plaq2_
MonitorElement * meAdcZpDisk1Panel2Plaq2_
unsigned int pxfPanel(const DetId &id) const
MonitorElement * meDigiMultiLayer3Ring5_
std::vector< BarrelDetLayer const * > const & pixelBarrelLayers() const
Definition: DetId.h:17
unsigned int pxfSide(const DetId &id) const
MonitorElement * meRowZmDisk2Panel1Plaq3_
MonitorElement * meAdcZpDisk2Panel1Plaq2_
MonitorElement * meColLayer3Ring3_
MonitorElement * meRowLayer2Ring5_
MonitorElement * meAdcZpDisk1Panel1Plaq4_
MonitorElement * meAdcLayer1Ring7_
MonitorElement * meColZpDisk2Panel1Plaq4_
MonitorElement * meRowLayer2Ring1_
MonitorElement * meColLayer2Ring8_
MonitorElement * meAdcLayer2Ring1_
MonitorElement * meAdcZmDisk2Panel1Plaq2_
MonitorElement * meDigiMultiLayer3Ladders_
MonitorElement * meRowLayer3Ring4_
MonitorElement * meAdcLayer1Ring3_
MonitorElement * meNdigiZmDisk1PerPanel2_
MonitorElement * meDigiMultiLayer2Ladders_
MonitorElement * meNdigiZmDisk2PerPanel1_
MonitorElement * meDigiMultiLayer1Ring6_
MonitorElement * meRowLayer2Ring8_
MonitorElement * meRowLayer3Ring2_
MonitorElement * meAdcLayer3Ring8_
HLT enums.
MonitorElement * meAdcZpDisk1Panel1Plaq2_
MonitorElement * meNdigiZpDisk1PerPanel2_
MonitorElement * meRowZmDisk1Panel2Plaq1_
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es) override
MonitorElement * meColZmDisk1Panel1Plaq4_
MonitorElement * meAdcLayer3Ring3_
MonitorElement * meRowLayer1Ring3_
MonitorElement * meDigiMultiLayer2Ring3_
MonitorElement * meColZpDisk2Panel1Plaq3_
MonitorElement * meColZmDisk1Panel1Plaq2_
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:305
MonitorElement * meColZmDisk2Panel1Plaq4_
MonitorElement * meDigiMultiLayer1Ring8_
MonitorElement * meRowZpDisk1Panel1Plaq2_
MonitorElement * meColLayer3Ring2_
MonitorElement * meAdcZpDisk1Panel2Plaq3_
MonitorElement * meRowLayer2Ring6_
unsigned int pxbModule(const DetId &id) const
MonitorElement * meRowLayer1Ring1_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
collection_type::const_iterator const_iterator
Definition: DetSet.h:31
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
MonitorElement * meColZpDisk1Panel1Plaq4_
MonitorElement * meRowLayer2Ring4_
MonitorElement * meAdcLayer1Ring6_
MonitorElement * meRowLayer1Ring8_
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
MonitorElement * meRowZpDisk1Panel2Plaq1_
MonitorElement * meColZpDisk2Panel1Plaq2_
MonitorElement * meNdigiZpDisk2PerPanel2_
MonitorElement * meDigiMultiLayer3Ring4_
MonitorElement * meColLayer2Ring1_
MonitorElement * meAdcLayer3Ring1_
MonitorElement * meColLayer3Ring6_
MonitorElement * meNdigiZmDisk2PerPanel2_
MonitorElement * meRowLayer1Ring7_
MonitorElement * meColZpDisk2Panel2Plaq2_
MonitorElement * meAdcLayer2Ring2_
MonitorElement * meAdcZpDisk1Panel1Plaq3_
MonitorElement * meColLayer3Ring4_
MonitorElement * meRowLayer3Ring5_
MonitorElement * meRowZmDisk1Panel2Plaq2_
MonitorElement * meAdcLayer2Ring4_
Definition: Run.h:45
MonitorElement * meColZmDisk1Panel2Plaq3_
MonitorElement * meAdcZmDisk2Panel2Plaq3_
MonitorElement * meColZmDisk2Panel1Plaq1_
MonitorElement * meRowLayer2Ring2_
MonitorElement * meNdigiZpDisk1PerPanel1_
MonitorElement * meRowZpDisk1Panel2Plaq3_
MonitorElement * meAdcZpDisk2Panel2Plaq1_