CMS 3D CMS Logo

SiPixelDigiValid.cc
Go to the documentation of this file.
22 
23 // using namespace std;
24 // using namespace edm;
25 
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  // Save histos in a file only in standalone mode
278  if (runStandalone && !outputFile_.empty() && dbe_) {
280  }
281 }
282 
284  // Retrieve tracker topology from geometry
285  edm::ESHandle<TrackerTopology> tTopoHandle;
286  c.get<TrackerTopologyRcd>().get(tTopoHandle);
287  const TrackerTopology *const tTopo = tTopoHandle.product();
288  // Number of blades and ladders.
289  // TODO: other Geometry-Dependent quantities, e.g. num layers.
290  int nblades = tracker->posPixelForwardLayers()[0]->components().size();
291  int nladders1 = tracker->pixelBarrelLayers()[0]->components().size();
292  int nladders2 = tracker->pixelBarrelLayers()[1]->components().size();
293  int nladders3 = tracker->pixelBarrelLayers()[2]->components().size();
294 
295  int ndigiperRingLayer1[8];
296  int ndigiperRingLayer2[8];
297  int ndigiperRingLayer3[8];
298  for (int i = 0; i < 8; i++) {
299  ndigiperRingLayer1[i] = 0;
300  ndigiperRingLayer2[i] = 0;
301  ndigiperRingLayer3[i] = 0;
302  }
303 
304  int ndigiZpDisk1PerPanel1[nblades];
305  int ndigiZpDisk1PerPanel2[nblades];
306  int ndigiZpDisk2PerPanel1[nblades];
307  int ndigiZpDisk2PerPanel2[nblades];
308  int ndigiZmDisk1PerPanel1[nblades];
309  int ndigiZmDisk1PerPanel2[nblades];
310  int ndigiZmDisk2PerPanel1[nblades];
311  int ndigiZmDisk2PerPanel2[nblades];
312 
313  for (int i = 0; i < nblades; i++) {
314  ndigiZpDisk1PerPanel1[i] = 0;
315  ndigiZpDisk1PerPanel2[i] = 0;
316  ndigiZpDisk2PerPanel1[i] = 0;
317  ndigiZpDisk2PerPanel2[i] = 0;
318  ndigiZmDisk1PerPanel1[i] = 0;
319  ndigiZmDisk1PerPanel2[i] = 0;
320  ndigiZmDisk2PerPanel1[i] = 0;
321  ndigiZmDisk2PerPanel2[i] = 0;
322  }
323 
324  int ndigilayer1ladders[nladders1];
325  int ndigilayer2ladders[nladders2];
326  int ndigilayer3ladders[nladders3];
327 
328  for (int i = 0; i < nladders1; i++) {
329  ndigilayer1ladders[i] = 0;
330  }
331 
332  for (int i = 0; i < nladders2; i++) {
333  ndigilayer2ladders[i] = 0;
334  }
335 
336  for (int i = 0; i < nladders3; i++) {
337  ndigilayer3ladders[i] = 0;
338  }
339 
340  // LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " <<
341  // e.id().event();
342 
344  c.get<TrackerDigiGeometryRecord>().get(tracker);
345 
346  // string digiProducer = "siPixelDigis";
349 
350  edm::DetSetVector<PixelDigi>::const_iterator DSViter = pixelDigis->begin();
351  for (; DSViter != pixelDigis->end(); DSViter++) {
352  unsigned int id = DSViter->id;
353  DetId detId(id);
357 
358  if (detId.subdetId() == PixelSubdetector::PixelBarrel) {
359  unsigned int layer = tTopo->pxbLayer(id); // Layer:1,2,3.
360  unsigned int ladder = tTopo->pxbLadder(id); // Ladeer: 1-20, 32, 44.
361  unsigned int zindex = tTopo->pxbModule(id); // Z-index: 1-8.
362  // LogInfo("SiPixelDigiValid")<<"Barrel:: Layer="<<layer<<"
363  // Ladder="<<ladder<<" zindex="<<zindex;
364  for (iter = begin; iter != end; iter++) {
365  if (layer == 1) {
366  ++ndigilayer1ladders[ladder - 1];
367  ++ndigiperRingLayer1[zindex - 1];
368  if (zindex == 1) {
369  meAdcLayer1Ring1_->Fill((*iter).adc());
370  meRowLayer1Ring1_->Fill((*iter).row());
371  meColLayer1Ring1_->Fill((*iter).column());
372  }
373  if (zindex == 2) {
374  meAdcLayer1Ring2_->Fill((*iter).adc());
375  meRowLayer1Ring2_->Fill((*iter).row());
376  meColLayer1Ring2_->Fill((*iter).column());
377  }
378 
379  if (zindex == 3) {
380  meAdcLayer1Ring3_->Fill((*iter).adc());
381  meRowLayer1Ring3_->Fill((*iter).row());
382  meColLayer1Ring3_->Fill((*iter).column());
383  }
384 
385  if (zindex == 4) {
386  meAdcLayer1Ring4_->Fill((*iter).adc());
387  meRowLayer1Ring4_->Fill((*iter).row());
388  meColLayer1Ring4_->Fill((*iter).column());
389  }
390 
391  if (zindex == 5) {
392  meAdcLayer1Ring5_->Fill((*iter).adc());
393  meRowLayer1Ring5_->Fill((*iter).row());
394  meColLayer1Ring5_->Fill((*iter).column());
395  }
396 
397  if (zindex == 6) {
398  meAdcLayer1Ring6_->Fill((*iter).adc());
399  meRowLayer1Ring6_->Fill((*iter).row());
400  meColLayer1Ring6_->Fill((*iter).column());
401  }
402 
403  if (zindex == 7) {
404  meAdcLayer1Ring7_->Fill((*iter).adc());
405  meRowLayer1Ring7_->Fill((*iter).row());
406  meColLayer1Ring7_->Fill((*iter).column());
407  }
408  if (zindex == 8) {
409  meAdcLayer1Ring8_->Fill((*iter).adc());
410  meRowLayer1Ring8_->Fill((*iter).row());
411  meColLayer1Ring8_->Fill((*iter).column());
412  }
413  }
414  if (layer == 2) {
415  ++ndigilayer2ladders[ladder - 1];
416  ++ndigiperRingLayer2[zindex - 1];
417  if (zindex == 1) {
418  meAdcLayer2Ring1_->Fill((*iter).adc());
419  meRowLayer2Ring1_->Fill((*iter).row());
420  meColLayer2Ring1_->Fill((*iter).column());
421  }
422  if (zindex == 2) {
423  meAdcLayer2Ring2_->Fill((*iter).adc());
424  meRowLayer2Ring2_->Fill((*iter).row());
425  meColLayer2Ring2_->Fill((*iter).column());
426  }
427 
428  if (zindex == 3) {
429  meAdcLayer2Ring3_->Fill((*iter).adc());
430  meRowLayer2Ring3_->Fill((*iter).row());
431  meColLayer2Ring3_->Fill((*iter).column());
432  }
433 
434  if (zindex == 4) {
435  meAdcLayer2Ring4_->Fill((*iter).adc());
436  meRowLayer2Ring4_->Fill((*iter).row());
437  meColLayer2Ring4_->Fill((*iter).column());
438  }
439 
440  if (zindex == 5) {
441  meAdcLayer2Ring5_->Fill((*iter).adc());
442  meRowLayer2Ring5_->Fill((*iter).row());
443  meColLayer2Ring5_->Fill((*iter).column());
444  }
445 
446  if (zindex == 6) {
447  meAdcLayer2Ring6_->Fill((*iter).adc());
448  meRowLayer2Ring6_->Fill((*iter).row());
449  meColLayer2Ring6_->Fill((*iter).column());
450  }
451 
452  if (zindex == 7) {
453  meAdcLayer2Ring7_->Fill((*iter).adc());
454  meRowLayer2Ring7_->Fill((*iter).row());
455  meColLayer2Ring7_->Fill((*iter).column());
456  }
457  if (zindex == 8) {
458  meAdcLayer2Ring8_->Fill((*iter).adc());
459  meRowLayer2Ring8_->Fill((*iter).row());
460  meColLayer2Ring8_->Fill((*iter).column());
461  }
462  }
463  if (layer == 3) {
464  ++ndigilayer3ladders[ladder - 1];
465  ++ndigiperRingLayer3[zindex - 1];
466  if (zindex == 1) {
467  meAdcLayer3Ring1_->Fill((*iter).adc());
468  meRowLayer3Ring1_->Fill((*iter).row());
469  meColLayer3Ring1_->Fill((*iter).column());
470  }
471  if (zindex == 2) {
472  meAdcLayer3Ring2_->Fill((*iter).adc());
473  meRowLayer3Ring2_->Fill((*iter).row());
474  meColLayer3Ring2_->Fill((*iter).column());
475  }
476 
477  if (zindex == 3) {
478  meAdcLayer3Ring3_->Fill((*iter).adc());
479  meRowLayer3Ring3_->Fill((*iter).row());
480  meColLayer3Ring3_->Fill((*iter).column());
481  }
482 
483  if (zindex == 4) {
484  meAdcLayer3Ring4_->Fill((*iter).adc());
485  meRowLayer3Ring4_->Fill((*iter).row());
486  meColLayer3Ring4_->Fill((*iter).column());
487  }
488 
489  if (zindex == 5) {
490  meAdcLayer3Ring5_->Fill((*iter).adc());
491  meRowLayer3Ring5_->Fill((*iter).row());
492  meColLayer3Ring5_->Fill((*iter).column());
493  }
494 
495  if (zindex == 6) {
496  meAdcLayer3Ring6_->Fill((*iter).adc());
497  meRowLayer3Ring6_->Fill((*iter).row());
498  meColLayer3Ring6_->Fill((*iter).column());
499  }
500 
501  if (zindex == 7) {
502  meAdcLayer3Ring7_->Fill((*iter).adc());
503  meRowLayer3Ring7_->Fill((*iter).row());
504  meColLayer3Ring7_->Fill((*iter).column());
505  }
506  if (zindex == 8) {
507  meAdcLayer3Ring8_->Fill((*iter).adc());
508  meRowLayer3Ring8_->Fill((*iter).row());
509  meColLayer3Ring8_->Fill((*iter).column());
510  }
511  }
512  }
513  }
514 
515  if (detId.subdetId() == PixelSubdetector::PixelEndcap) { // Endcap
516 
517  unsigned int side = tTopo->pxfSide(id);
518  unsigned int disk = tTopo->pxfDisk(id);
519  unsigned int blade = tTopo->pxfBlade(id);
520  unsigned int panel = tTopo->pxfPanel(id);
521  unsigned int mod = tTopo->pxfModule(id);
522  // LogInfo("SiPixelDigiValid")<<"EndcaP="<<side<<" Disk="<<disk<<"
523  // Blade="<<blade<<" Panel="<<panel<<" Module="<<mod;
524  for (iter = begin; iter != end; iter++) {
525  if (side == 1 && disk == 1 && panel == 1) {
526  if (mod == 1) {
527  meAdcZmDisk1Panel1Plaq1_->Fill((*iter).adc());
528  meRowZmDisk1Panel1Plaq1_->Fill((*iter).row());
529  meColZmDisk1Panel1Plaq1_->Fill((*iter).column());
530  } else if (mod == 2) {
531  meAdcZmDisk1Panel1Plaq2_->Fill((*iter).adc());
532  meRowZmDisk1Panel1Plaq2_->Fill((*iter).row());
533  meColZmDisk1Panel1Plaq2_->Fill((*iter).column());
534  } else if (mod == 3) {
535  meAdcZmDisk1Panel1Plaq3_->Fill((*iter).adc());
536  meRowZmDisk1Panel1Plaq3_->Fill((*iter).row());
537  meColZmDisk1Panel1Plaq3_->Fill((*iter).column());
538  } else if (mod == 4) {
539  meAdcZmDisk1Panel1Plaq4_->Fill((*iter).adc());
540  meRowZmDisk1Panel1Plaq4_->Fill((*iter).row());
541  meColZmDisk1Panel1Plaq4_->Fill((*iter).column());
542  } else {
543  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
544  }
545  ++ndigiZmDisk1PerPanel1[blade - 1];
546  }
547 
548  if (side == 1 && disk == 1 && panel == 2) {
549  if (mod == 1) {
550  meAdcZmDisk1Panel2Plaq1_->Fill((*iter).adc());
551  meRowZmDisk1Panel2Plaq1_->Fill((*iter).row());
552  meColZmDisk1Panel2Plaq1_->Fill((*iter).column());
553  } else if (mod == 2) {
554  meAdcZmDisk1Panel2Plaq2_->Fill((*iter).adc());
555  meRowZmDisk1Panel2Plaq2_->Fill((*iter).row());
556  meColZmDisk1Panel2Plaq2_->Fill((*iter).column());
557  } else if (mod == 3) {
558  meAdcZmDisk1Panel2Plaq3_->Fill((*iter).adc());
559  meRowZmDisk1Panel2Plaq3_->Fill((*iter).row());
560  meColZmDisk1Panel2Plaq3_->Fill((*iter).column());
561  } else {
562  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
563  }
564  ++ndigiZmDisk1PerPanel2[blade - 1];
565  }
566 
567  if (side == 1 && disk == 2 && panel == 1) {
568  if (mod == 1) {
569  meAdcZmDisk2Panel1Plaq1_->Fill((*iter).adc());
570  meRowZmDisk2Panel1Plaq1_->Fill((*iter).row());
571  meColZmDisk2Panel1Plaq1_->Fill((*iter).column());
572  } else if (mod == 2) {
573  meAdcZmDisk2Panel1Plaq2_->Fill((*iter).adc());
574  meRowZmDisk2Panel1Plaq2_->Fill((*iter).row());
575  meColZmDisk2Panel1Plaq2_->Fill((*iter).column());
576  } else if (mod == 3) {
577  meAdcZmDisk2Panel1Plaq3_->Fill((*iter).adc());
578  meRowZmDisk2Panel1Plaq3_->Fill((*iter).row());
579  meColZmDisk2Panel1Plaq3_->Fill((*iter).column());
580  } else if (mod == 4) {
581  meAdcZmDisk2Panel1Plaq4_->Fill((*iter).adc());
582  meRowZmDisk2Panel1Plaq4_->Fill((*iter).row());
583  meColZmDisk2Panel1Plaq4_->Fill((*iter).column());
584  } else {
585  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
586  }
587  ++ndigiZmDisk2PerPanel1[blade - 1];
588  }
589 
590  if (side == 1 && disk == 2 && panel == 2) {
591  if (mod == 1) {
592  meAdcZmDisk2Panel2Plaq1_->Fill((*iter).adc());
593  meRowZmDisk2Panel2Plaq1_->Fill((*iter).row());
594  meColZmDisk2Panel2Plaq1_->Fill((*iter).column());
595  } else if (mod == 2) {
596  meAdcZmDisk2Panel2Plaq2_->Fill((*iter).adc());
597  meRowZmDisk2Panel2Plaq2_->Fill((*iter).row());
598  meColZmDisk2Panel2Plaq2_->Fill((*iter).column());
599  } else if (mod == 3) {
600  meAdcZmDisk2Panel2Plaq3_->Fill((*iter).adc());
601  meRowZmDisk2Panel2Plaq3_->Fill((*iter).row());
602  meColZmDisk2Panel2Plaq3_->Fill((*iter).column());
603  } else {
604  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
605  }
606  ++ndigiZmDisk2PerPanel2[blade - 1];
607  }
608 
609  if (side == 2 && disk == 1 && panel == 1) {
610  if (mod == 1) {
611  meAdcZpDisk1Panel1Plaq1_->Fill((*iter).adc());
612  meRowZpDisk1Panel1Plaq1_->Fill((*iter).row());
613  meColZpDisk1Panel1Plaq1_->Fill((*iter).column());
614  } else if (mod == 2) {
615  meAdcZpDisk1Panel1Plaq2_->Fill((*iter).adc());
616  meRowZpDisk1Panel1Plaq2_->Fill((*iter).row());
617  meColZpDisk1Panel1Plaq2_->Fill((*iter).column());
618  } else if (mod == 3) {
619  meAdcZpDisk1Panel1Plaq3_->Fill((*iter).adc());
620  meRowZpDisk1Panel1Plaq3_->Fill((*iter).row());
621  meColZpDisk1Panel1Plaq3_->Fill((*iter).column());
622  } else if (mod == 4) {
623  meAdcZpDisk1Panel1Plaq4_->Fill((*iter).adc());
624  meRowZpDisk1Panel1Plaq4_->Fill((*iter).row());
625  meColZpDisk1Panel1Plaq4_->Fill((*iter).column());
626  } else {
627  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
628  }
629  ++ndigiZpDisk1PerPanel1[blade - 1];
630  }
631 
632  if (side == 2 && disk == 1 && panel == 2) {
633  if (mod == 1) {
634  meAdcZpDisk1Panel2Plaq1_->Fill((*iter).adc());
635  meRowZpDisk1Panel2Plaq1_->Fill((*iter).row());
636  meColZpDisk1Panel2Plaq1_->Fill((*iter).column());
637  } else if (mod == 2) {
638  meAdcZpDisk1Panel2Plaq2_->Fill((*iter).adc());
639  meRowZpDisk1Panel2Plaq2_->Fill((*iter).row());
640  meColZpDisk1Panel2Plaq2_->Fill((*iter).column());
641  } else if (mod == 3) {
642  meAdcZpDisk1Panel2Plaq3_->Fill((*iter).adc());
643  meRowZpDisk1Panel2Plaq3_->Fill((*iter).row());
644  meColZpDisk1Panel2Plaq3_->Fill((*iter).column());
645  } else {
646  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
647  }
648  ++ndigiZpDisk1PerPanel2[blade - 1];
649  }
650 
651  if (side == 2 && disk == 2 && panel == 1) {
652  if (mod == 1) {
653  meAdcZpDisk2Panel1Plaq1_->Fill((*iter).adc());
654  meRowZpDisk2Panel1Plaq1_->Fill((*iter).row());
655  meColZpDisk2Panel1Plaq1_->Fill((*iter).column());
656  } else if (mod == 2) {
657  meAdcZpDisk2Panel1Plaq2_->Fill((*iter).adc());
658  meRowZpDisk2Panel1Plaq2_->Fill((*iter).row());
659  meColZpDisk2Panel1Plaq2_->Fill((*iter).column());
660  } else if (mod == 3) {
661  meAdcZpDisk2Panel1Plaq3_->Fill((*iter).adc());
662  meRowZpDisk2Panel1Plaq3_->Fill((*iter).row());
663  meColZpDisk2Panel1Plaq3_->Fill((*iter).column());
664  } else if (mod == 4) {
665  meAdcZpDisk2Panel1Plaq4_->Fill((*iter).adc());
666  meRowZpDisk2Panel1Plaq4_->Fill((*iter).row());
667  meColZpDisk2Panel1Plaq4_->Fill((*iter).column());
668  } else {
669  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
670  }
671  ++ndigiZpDisk2PerPanel1[blade - 1];
672  }
673 
674  if (side == 2 && disk == 2 && panel == 2) {
675  if (mod == 1) {
676  meAdcZpDisk2Panel2Plaq1_->Fill((*iter).adc());
677  meRowZpDisk2Panel2Plaq1_->Fill((*iter).row());
678  meColZpDisk2Panel2Plaq1_->Fill((*iter).column());
679  } else if (mod == 2) {
680  meAdcZpDisk2Panel2Plaq2_->Fill((*iter).adc());
681  meRowZpDisk2Panel2Plaq2_->Fill((*iter).row());
682  meColZpDisk2Panel2Plaq2_->Fill((*iter).column());
683  } else if (mod == 3) {
684  meAdcZpDisk2Panel2Plaq3_->Fill((*iter).adc());
685  meRowZpDisk2Panel2Plaq3_->Fill((*iter).row());
686  meColZpDisk2Panel2Plaq3_->Fill((*iter).column());
687  } else {
688  // LogError("SiPixelDigiValid")<<" The number of module is Wrong";
689  }
690  ++ndigiZpDisk2PerPanel2[blade - 1];
691  }
692  } // iterating the digi
693 
694  } // Endcap
695 
696  } // end for loop
697 
698  meDigiMultiLayer1Ring1_->Fill(ndigiperRingLayer1[0]);
699  meDigiMultiLayer1Ring2_->Fill(ndigiperRingLayer1[1]);
700  meDigiMultiLayer1Ring3_->Fill(ndigiperRingLayer1[2]);
701  meDigiMultiLayer1Ring4_->Fill(ndigiperRingLayer1[3]);
702  meDigiMultiLayer1Ring5_->Fill(ndigiperRingLayer1[4]);
703  meDigiMultiLayer1Ring6_->Fill(ndigiperRingLayer1[5]);
704  meDigiMultiLayer1Ring7_->Fill(ndigiperRingLayer1[6]);
705  meDigiMultiLayer1Ring8_->Fill(ndigiperRingLayer1[7]);
706 
707  meDigiMultiLayer2Ring1_->Fill(ndigiperRingLayer2[0]);
708  meDigiMultiLayer2Ring2_->Fill(ndigiperRingLayer2[1]);
709  meDigiMultiLayer2Ring3_->Fill(ndigiperRingLayer2[2]);
710  meDigiMultiLayer2Ring4_->Fill(ndigiperRingLayer2[3]);
711  meDigiMultiLayer2Ring5_->Fill(ndigiperRingLayer2[4]);
712  meDigiMultiLayer2Ring6_->Fill(ndigiperRingLayer2[5]);
713  meDigiMultiLayer2Ring7_->Fill(ndigiperRingLayer2[6]);
714  meDigiMultiLayer2Ring8_->Fill(ndigiperRingLayer2[7]);
715 
716  meDigiMultiLayer3Ring1_->Fill(ndigiperRingLayer3[0]);
717  meDigiMultiLayer3Ring2_->Fill(ndigiperRingLayer3[1]);
718  meDigiMultiLayer3Ring3_->Fill(ndigiperRingLayer3[2]);
719  meDigiMultiLayer3Ring4_->Fill(ndigiperRingLayer3[3]);
720  meDigiMultiLayer3Ring5_->Fill(ndigiperRingLayer3[4]);
721  meDigiMultiLayer3Ring6_->Fill(ndigiperRingLayer3[5]);
722  meDigiMultiLayer3Ring7_->Fill(ndigiperRingLayer3[6]);
723  meDigiMultiLayer3Ring8_->Fill(ndigiperRingLayer3[7]);
724 
725  for (int i = 0; i < nblades; i++) {
726  meNdigiZmDisk1PerPanel1_->Fill(ndigiZmDisk1PerPanel1[i]);
727  meNdigiZmDisk1PerPanel2_->Fill(ndigiZmDisk1PerPanel2[i]);
728  meNdigiZmDisk2PerPanel1_->Fill(ndigiZmDisk2PerPanel1[i]);
729  meNdigiZmDisk2PerPanel2_->Fill(ndigiZmDisk2PerPanel2[i]);
730  meNdigiZpDisk1PerPanel1_->Fill(ndigiZpDisk1PerPanel1[i]);
731  meNdigiZpDisk1PerPanel2_->Fill(ndigiZpDisk1PerPanel2[i]);
732  meNdigiZpDisk2PerPanel1_->Fill(ndigiZpDisk2PerPanel1[i]);
733  meNdigiZpDisk2PerPanel2_->Fill(ndigiZpDisk2PerPanel2[i]);
734  }
735 
736  for (int i = 0; i < nladders1; i++) {
737  meDigiMultiLayer1Ladders_->Fill(i + 1, ndigilayer1ladders[i]);
738  }
739 
740  for (int i = 0; i < nladders2; i++) {
741  meDigiMultiLayer2Ladders_->Fill(i + 1, ndigilayer2ladders[i]);
742  }
743 
744  for (int i = 0; i < nladders3; i++) {
745  meDigiMultiLayer3Ladders_->Fill(i + 1, ndigilayer3ladders[i]);
746  }
747 }
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_
MonitorElement * meAdcLayer1Ring2_
MonitorElement * meColLayer1Ring2_
MonitorElement * meNdigiZpDisk2PerPanel1_
MonitorElement * meAdcZmDisk2Panel1Plaq3_
MonitorElement * meColZmDisk2Panel1Plaq2_
MonitorElement * meAdcLayer1Ring8_
void analyze(const edm::Event &e, const edm::EventSetup &c) override
MonitorElement * meRowZpDisk2Panel1Plaq4_
MonitorElement * meRowZpDisk2Panel2Plaq1_
MonitorElement * meAdcLayer3Ring2_
MonitorElement * meRowLayer3Ring8_
MonitorElement * meColLayer2Ring3_
MonitorElement * meRowZpDisk1Panel1Plaq4_
MonitorElement * meAdcLayer2Ring3_
MonitorElement * meRowZpDisk1Panel2Plaq2_
MonitorElement * meAdcZmDisk1Panel2Plaq1_
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:113
MonitorElement * meRowZmDisk2Panel1Plaq1_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
MonitorElement * meColLayer1Ring4_
std::vector< ForwardDetLayer const * > const & posPixelForwardLayers() const
MonitorElement * meRowZmDisk1Panel1Plaq3_
unsigned int pxfDisk(const DetId &id) const
MonitorElement * meDigiMultiLayer1Ring7_
MonitorElement * meRowZpDisk2Panel2Plaq3_
MonitorElement * meDigiMultiLayer3Ring6_
MonitorElement * meColZmDisk1Panel1Plaq3_
MonitorElement * meAdcZmDisk1Panel1Plaq3_
MonitorElement * meDigiMultiLayer1Ring4_
MonitorElement * meRowZpDisk2Panel1Plaq2_
MonitorElement * meRowLayer3Ring7_
#define nullptr
MonitorElement * meDigiMultiLayer3Ring3_
unsigned int pxbLadder(const DetId &id) const
MonitorElement * meAdcZmDisk2Panel2Plaq2_
MonitorElement * meColLayer2Ring4_
MonitorElement * meDigiMultiLayer3Ring8_
MonitorElement * meColZmDisk2Panel2Plaq3_
MonitorElement * meColZmDisk2Panel2Plaq1_
MonitorElement * meColLayer3Ring5_
MonitorElement * meColZmDisk1Panel2Plaq1_
MonitorElement * meRowLayer1Ring5_
MonitorElement * meColLayer1Ring7_
unsigned int pxbModule(const DetId &id) const
MonitorElement * meColLayer3Ring1_
MonitorElement * meAdcZpDisk2Panel1Plaq4_
MonitorElement * meRowZmDisk1Panel1Plaq4_
MonitorElement * meRowZmDisk1Panel1Plaq1_
MonitorElement * meRowLayer2Ring3_
MonitorElement * meDigiMultiLayer2Ring7_
MonitorElement * meDigiMultiLayer3Ring1_
MonitorElement * meColZpDisk1Panel2Plaq1_
MonitorElement * meColLayer1Ring1_
MonitorElement * meColLayer2Ring7_
MonitorElement * meColLayer1Ring3_
MonitorElement * meAdcZmDisk1Panel1Plaq4_
MonitorElement * meRowZpDisk1Panel1Plaq1_
MonitorElement * meAdcZpDisk1Panel2Plaq1_
MonitorElement * meColZpDisk1Panel2Plaq2_
MonitorElement * meAdcLayer1Ring4_
MonitorElement * meAdcLayer1Ring5_
MonitorElement * meRowLayer1Ring2_
MonitorElement * meAdcZmDisk2Panel1Plaq4_
MonitorElement * meAdcLayer1Ring1_
void Fill(long long x)
MonitorElement * meDigiMultiLayer1Ring2_
MonitorElement * meRowZmDisk1Panel2Plaq3_
MonitorElement * meColZpDisk1Panel1Plaq2_
MonitorElement * meRowZpDisk2Panel2Plaq2_
~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_
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * meNdigiZmDisk1PerPanel1_
MonitorElement * meAdcZmDisk1Panel1Plaq2_
MonitorElement * meColZpDisk1Panel1Plaq1_
MonitorElement * meAdcZmDisk2Panel1Plaq1_
MonitorElement * meDigiMultiLayer3Ring2_
MonitorElement * meAdcZmDisk1Panel1Plaq1_
MonitorElement * meColZpDisk2Panel2Plaq1_
MonitorElement * meDigiMultiLayer2Ring2_
MonitorElement * meColZpDisk2Panel1Plaq1_
MonitorElement * meDigiMultiLayer2Ring4_
MonitorElement * meDigiMultiLayer2Ring6_
void endJob(void) override
MonitorElement * meAdcZmDisk1Panel2Plaq3_
MonitorElement * meRowZmDisk2Panel2Plaq2_
MonitorElement * meColLayer1Ring8_
MonitorElement * meColZpDisk1Panel2Plaq3_
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * meAdcZmDisk2Panel2Plaq1_
MonitorElement * meRowLayer1Ring4_
MonitorElement * meRowZmDisk2Panel1Plaq4_
MonitorElement * meAdcLayer2Ring7_
#define end
Definition: vmac.h:39
MonitorElement * meRowZmDisk2Panel1Plaq2_
MonitorElement * meColZpDisk2Panel2Plaq3_
MonitorElement * meRowLayer3Ring6_
MonitorElement * meColLayer2Ring6_
std::vector< BarrelDetLayer const * > const & pixelBarrelLayers() const
MonitorElement * meColLayer3Ring8_
MonitorElement * meColZmDisk2Panel1Plaq3_
edm::ESHandle< GeometricSearchTracker > tracker
MonitorElement * meDigiMultiLayer2Ring8_
MonitorElement * meAdcLayer2Ring5_
MonitorElement * meAdcLayer3Ring7_
MonitorElement * meDigiMultiLayer1Ladders_
MonitorElement * meAdcZmDisk1Panel2Plaq2_
MonitorElement * meRowZmDisk2Panel2Plaq1_
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:361
MonitorElement * meRowLayer3Ring1_
MonitorElement * meRowLayer2Ring7_
MonitorElement * meAdcZpDisk2Panel2Plaq2_
DQMStore * dbe_
MonitorElement * meColLayer1Ring5_
unsigned int pxfModule(const DetId &id) const
MonitorElement * meAdcZpDisk1Panel1Plaq1_
Forwar Pixel.
MonitorElement * meDigiMultiLayer1Ring1_
MonitorElement * meColZmDisk1Panel1Plaq1_
MonitorElement * meAdcLayer2Ring8_
MonitorElement * meRowLayer1Ring6_
MonitorElement * meRowZmDisk1Panel1Plaq2_
unsigned int pxbLayer(const DetId &id) const
MonitorElement * meAdcZpDisk1Panel2Plaq2_
MonitorElement * meDigiMultiLayer3Ring5_
Definition: DetId.h:18
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_
void save(std::string const &filename, std::string const &path="", std::string const &pattern="", std::string const &rewrite="", uint32_t run=0, uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, std::string const &fileupdate="RECREATE")
Definition: DQMStore.cc:2465
MonitorElement * meDigiMultiLayer2Ladders_
MonitorElement * meNdigiZmDisk2PerPanel1_
MonitorElement * meDigiMultiLayer1Ring6_
MonitorElement * meRowLayer2Ring8_
MonitorElement * meRowLayer3Ring2_
MonitorElement * meAdcLayer3Ring8_
#define begin
Definition: vmac.h:32
HLT enums.
std::string outputFile_
MonitorElement * meAdcZpDisk1Panel1Plaq2_
T get() const
Definition: EventSetup.h:71
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_
unsigned int pxfSide(const DetId &id) const
MonitorElement * meColZpDisk2Panel1Plaq3_
MonitorElement * meColZmDisk1Panel1Plaq2_
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:346
MonitorElement * meColZmDisk2Panel1Plaq4_
MonitorElement * meDigiMultiLayer1Ring8_
MonitorElement * meRowZpDisk1Panel1Plaq2_
MonitorElement * meColLayer3Ring2_
MonitorElement * meAdcZpDisk1Panel2Plaq3_
MonitorElement * meRowLayer2Ring6_
MonitorElement * meRowLayer1Ring1_
collection_type::const_iterator const_iterator
Definition: DetSet.h:33
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:104
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_
T const * product() const
Definition: ESHandle.h:86
MonitorElement * meAdcLayer3Ring1_
MonitorElement * meColLayer3Ring6_
MonitorElement * meNdigiZmDisk2PerPanel2_
MonitorElement * meRowLayer1Ring7_
MonitorElement * meColZpDisk2Panel2Plaq2_
unsigned int pxfPanel(const DetId &id) const
unsigned int pxfBlade(const DetId &id) const
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_