|
|
#include <CSCOfflineMonitor.h>
|
void | applyCSClabels (MonitorElement *meHisto, LabelType t, AxisType a) |
|
int | chamberSerial (CSCDetId id) |
|
void | doBXMonitor (edm::Handle< CSCALCTDigiCollection > alcts, edm::Handle< CSCCLCTDigiCollection > clcts, const edm::Event &event, const edm::EventSetup &eventSetup) |
|
void | doEfficiencies (edm::Handle< CSCWireDigiCollection > wires, edm::Handle< CSCStripDigiCollection > strips, edm::Handle< CSCRecHit2DCollection > recHits, edm::Handle< CSCSegmentCollection > cscSegments, edm::ESHandle< CSCGeometry > cscGeom) |
|
void | doOccupancies (edm::Handle< CSCStripDigiCollection > strips, edm::Handle< CSCWireDigiCollection > wires, edm::Handle< CSCRecHit2DCollection > recHits, edm::Handle< CSCSegmentCollection > cscSegments, edm::Handle< CSCCLCTDigiCollection > clcts) |
|
void | doPedestalNoise (edm::Handle< CSCStripDigiCollection > strips, edm::ESHandle< CSCGeometry > cscGeom) |
|
void | doRecHits (edm::Handle< CSCRecHit2DCollection > recHits, edm::Handle< CSCStripDigiCollection > strips, edm::ESHandle< CSCGeometry > cscGeom) |
|
void | doResolution (edm::Handle< CSCSegmentCollection > cscSegments, edm::ESHandle< CSCGeometry > cscGeom) |
|
void | doSegments (edm::Handle< CSCSegmentCollection > cscSegments, edm::ESHandle< CSCGeometry > cscGeom) |
|
void | doStripDigis (edm::Handle< CSCStripDigiCollection > strips) |
|
void | doWireDigis (edm::Handle< CSCWireDigiCollection > wires) |
|
double | extrapolate1D (double initPosition, double initDirection, double parameterOfTheLine) |
|
void | fillEfficiencyHistos (int bin, int flag) |
|
float | fitX (const CLHEP::HepMatrix &sp, const CLHEP::HepMatrix &ep) |
|
float | getSignal (const CSCStripDigiCollection &stripdigis, CSCDetId idRH, int centerStrip) |
|
double | lineParametrization (double z1Position, double z2Position, double z1Direction) |
|
int | typeIndex (CSCDetId id, int flag=1) |
|
bool | withinSensitiveRegion (LocalPoint localPos, const std::array< const float, 4 > &layerBounds, int station, int ring, float shiftFromEdge, float shiftFromDeadZone) |
|
Simple package for offline CSC DQM based on RecoLocalMuon/CSCValidation: digis, rechits, segments
Andrew Kubik, Northwestern University, Oct 2008
Definition at line 71 of file CSCOfflineMonitor.h.
◆ AxisType
◆ LabelType
◆ CSCOfflineMonitor()
◆ ~CSCOfflineMonitor()
CSCOfflineMonitor::~CSCOfflineMonitor |
( |
| ) |
|
|
inlineoverride |
◆ analyze()
◆ applyCSClabels()
Definition at line 2145 of file CSCOfflineMonitor.cc.
2146 if (
me !=
nullptr) {
2147 me->setAxisTitle(
"Chamber #");
2149 me->setBinLabel(1,
"ME -4/2",
a);
2150 me->setBinLabel(2,
"ME -4/1",
a);
2151 me->setBinLabel(3,
"ME -3/2",
a);
2152 me->setBinLabel(4,
"ME -3/1",
a);
2153 me->setBinLabel(5,
"ME -2/2",
a);
2154 me->setBinLabel(6,
"ME -2/1",
a);
2155 me->setBinLabel(7,
"ME -1/3",
a);
2156 me->setBinLabel(8,
"ME -1/2",
a);
2157 me->setBinLabel(9,
"ME -1/1b",
a);
2158 me->setBinLabel(10,
"ME -1/1a",
a);
2159 me->setBinLabel(11,
"ME +1/1a",
a);
2160 me->setBinLabel(12,
"ME +1/1b",
a);
2161 me->setBinLabel(13,
"ME +1/2",
a);
2162 me->setBinLabel(14,
"ME +1/3",
a);
2163 me->setBinLabel(15,
"ME +2/1",
a);
2164 me->setBinLabel(16,
"ME +2/2",
a);
2165 me->setBinLabel(17,
"ME +3/1",
a);
2166 me->setBinLabel(18,
"ME +3/2",
a);
2167 me->setBinLabel(19,
"ME +4/1",
a);
2168 me->setBinLabel(20,
"ME +4/2",
a);
2170 me->setBinLabel(1,
"ME -4/1",
a);
2171 me->setBinLabel(2,
"ME -3/2",
a);
2172 me->setBinLabel(3,
"ME -3/1",
a);
2173 me->setBinLabel(4,
"ME -2/2",
a);
2174 me->setBinLabel(5,
"ME -2/1",
a);
2175 me->setBinLabel(6,
"ME -1/3",
a);
2176 me->setBinLabel(7,
"ME -1/2",
a);
2177 me->setBinLabel(8,
"ME -1/1b",
a);
2178 me->setBinLabel(9,
"ME -1/1a",
a);
2179 me->setBinLabel(10,
"ME +1/1a",
a);
2180 me->setBinLabel(11,
"ME +1/1b",
a);
2181 me->setBinLabel(12,
"ME +1/2",
a);
2182 me->setBinLabel(13,
"ME +1/3",
a);
2183 me->setBinLabel(14,
"ME +2/1",
a);
2184 me->setBinLabel(15,
"ME +2/2",
a);
2185 me->setBinLabel(16,
"ME +3/1",
a);
2186 me->setBinLabel(17,
"ME +3/2",
a);
2187 me->setBinLabel(18,
"ME +4/1",
a);
References a, hlt_dqm_clientPB-live_cfg::me, SMALL, and submitPVValidationJobs::t.
◆ bookHistograms()
Implements DQMEDAnalyzer.
Definition at line 23 of file CSCOfflineMonitor.cc.
37 hOWiresAndCLCT = ibooker.
book2D(
"hOWiresAndCLCT",
"Wire and CLCT Digi Occupancy ", 36, 0.5, 36.5, 20, 0.5, 20.5);
38 hOWires = ibooker.
book2D(
"hOWires",
"Wire Digi Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
39 hOWireSerial = ibooker.
book1D(
"hOWireSerial",
"Wire Occupancy by Chamber Serial", 601, -0.5, 600.5);
41 hOStrips = ibooker.
book2D(
"hOStrips",
"Strip Digi Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
42 hOStripSerial = ibooker.
book1D(
"hOStripSerial",
"Strip Occupancy by Chamber Serial", 601, -0.5, 600.5);
45 ibooker.
book2D(
"hOStripsAndWiresAndCLCT",
"Strip And Wire And CLCT Digi Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
47 hORecHits = ibooker.
book2D(
"hORecHits",
"RecHit Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
48 hORecHitsSerial = ibooker.
book1D(
"hORecHitSerial",
"RecHit Occupancy by Chamber Serial", 601, -0.5, 600.5);
50 hOSegments = ibooker.
book2D(
"hOSegments",
"Segment Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
51 hOSegmentsSerial = ibooker.
book1D(
"hOSegmentSerial",
"Segment Occupancy by Chamber Serial", 601, -0.5, 600.5);
58 ibooker.
book1D(
"hWirenGroupsTotal",
"Fired Wires per Event; # Wiregroups Fired", 500, -0.5, 499.5);
59 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m42",
"Wire TBin Fired (ME -4/2); Time Bin (25ns)", 17, -0.5, 16.5));
60 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m41",
"Wire TBin Fired (ME -4/1); Time Bin (25ns)", 17, -0.5, 16.5));
61 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m32",
"Wire TBin Fired (ME -3/2); Time Bin (25ns)", 17, -0.5, 16.5));
62 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m31",
"Wire TBin Fired (ME -3/1); Time Bin (25ns)", 17, -0.5, 16.5));
63 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m22",
"Wire TBin Fired (ME -2/2); Time Bin (25ns)", 17, -0.5, 16.5));
64 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m21",
"Wire TBin Fired (ME -2/1); Time Bin (25ns)", 17, -0.5, 16.5));
65 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m11a",
"Wire TBin Fired (ME -1/1a); Time Bin (25ns)", 17, -0.5, 16.5));
66 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m13",
"Wire TBin Fired (ME -1/3); Time Bin (25ns)", 17, -0.5, 16.5));
67 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m12",
"Wire TBin Fired (ME -1/2); Time Bin (25ns)", 17, -0.5, 16.5));
68 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m11b",
"Wire TBin Fired (ME -1/1b); Time Bin (25ns)", 17, -0.5, 16.5));
69 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p11b",
"Wire TBin Fired (ME +1/1b); Time Bin (25ns)", 17, -0.5, 16.5));
70 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p12",
"Wire TBin Fired (ME +1/2); Time Bin (25ns)", 17, -0.5, 16.5));
71 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p13",
"Wire TBin Fired (ME +1/3); Time Bin (25ns)", 17, -0.5, 16.5));
72 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p11a",
"Wire TBin Fired (ME +1/1a); Time Bin (25ns)", 17, -0.5, 16.5));
73 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p21",
"Wire TBin Fired (ME +2/1); Time Bin (25ns)", 17, -0.5, 16.5));
74 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p22",
"Wire TBin Fired (ME +2/2); Time Bin (25ns)", 17, -0.5, 16.5));
75 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p31",
"Wire TBin Fired (ME +3/1); Time Bin (25ns)", 17, -0.5, 16.5));
76 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p32",
"Wire TBin Fired (ME +3/2); Time Bin (25ns)", 17, -0.5, 16.5));
77 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p41",
"Wire TBin Fired (ME +4/1); Time Bin (25ns)", 17, -0.5, 16.5));
78 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p42",
"Wire TBin Fired (ME +4/2); Time Bin (25ns)", 17, -0.5, 16.5));
80 ibooker.
book1D(
"hWireNumber_m42",
"Wiregroup Number Fired (ME -4/2); Wiregroup #", 113, -0.5, 112.5));
82 ibooker.
book1D(
"hWireNumber_m41",
"Wiregroup Number Fired (ME -4/1); Wiregroup #", 113, -0.5, 112.5));
84 ibooker.
book1D(
"hWireNumber_m32",
"Wiregroup Number Fired (ME -3/2); Wiregroup #", 113, -0.5, 112.5));
86 ibooker.
book1D(
"hWireNumber_m31",
"Wiregroup Number Fired (ME -3/1); Wiregroup #", 113, -0.5, 112.5));
88 ibooker.
book1D(
"hWireNumber_m22",
"Wiregroup Number Fired (ME -2/2); Wiregroup #", 113, -0.5, 112.5));
90 ibooker.
book1D(
"hWireNumber_m21",
"Wiregroup Number Fired (ME -2/1); Wiregroup #", 113, -0.5, 112.5));
92 ibooker.
book1D(
"hWireNumber_m11a",
"Wiregroup Number Fired (ME -1/1a); Wiregroup #", 113, -0.5, 112.5));
94 ibooker.
book1D(
"hWireNumber_m13",
"Wiregroup Number Fired (ME -1/3); Wiregroup #", 113, -0.5, 112.5));
96 ibooker.
book1D(
"hWireNumber_m12",
"Wiregroup Number Fired (ME -1/2); Wiregroup #", 113, -0.5, 112.5));
98 ibooker.
book1D(
"hWireNumber_m11b",
"Wiregroup Number Fired (ME -1/1b); Wiregroup #", 113, -0.5, 112.5));
100 ibooker.
book1D(
"hWireNumber_p11b",
"Wiregroup Number Fired (ME +1/1b); Wiregroup #", 113, -0.5, 112.5));
102 ibooker.
book1D(
"hWireNumber_p12",
"Wiregroup Number Fired (ME +1/2); Wiregroup #", 113, -0.5, 112.5));
104 ibooker.
book1D(
"hWireNumber_p13",
"Wiregroup Number Fired (ME +1/3); Wiregroup #", 113, -0.5, 112.5));
106 ibooker.
book1D(
"hWireNumber_p11a",
"Wiregroup Number Fired (ME +1/1a); Wiregroup #", 113, -0.5, 112.5));
108 ibooker.
book1D(
"hWireNumber_p21",
"Wiregroup Number Fired (ME +2/1); Wiregroup #", 113, -0.5, 112.5));
110 ibooker.
book1D(
"hWireNumber_p22",
"Wiregroup Number Fired (ME +2/2); Wiregroup #", 113, -0.5, 112.5));
112 ibooker.
book1D(
"hWireNumber_p31",
"Wiregroup Number Fired (ME +3/1); Wiregroup #", 113, -0.5, 112.5));
114 ibooker.
book1D(
"hWireNumber_p32",
"Wiregroup Number Fired (ME +3/2); Wiregroup #", 113, -0.5, 112.5));
116 ibooker.
book1D(
"hWireNumber_p41",
"Wiregroup Number Fired (ME +4/1); Wiregroup #", 113, -0.5, 112.5));
118 ibooker.
book1D(
"hWireNumber_p42",
"Wiregroup Number Fired (ME +4/2); Wiregroup #", 113, -0.5, 112.5));
122 ibooker.
book1D(
"hStripNFired",
"Fired Strips per Event; # Strips Fired (above 13 ADC)", 1000, -0.5, 999.5);
124 ibooker.
book1D(
"hStripNumber_m42",
"Strip Number Fired (ME -4/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
126 ibooker.
book1D(
"hStripNumber_m41",
"Strip Number Fired (ME -4/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
128 ibooker.
book1D(
"hStripNumber_m32",
"Strip Number Fired (ME -3/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
130 ibooker.
book1D(
"hStripNumber_m31",
"Strip Number Fired (ME -3/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
132 ibooker.
book1D(
"hStripNumber_m22",
"Strip Number Fired (ME -2/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
134 ibooker.
book1D(
"hStripNumber_m21",
"Strip Number Fired (ME -2/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
136 "hStripNumber_m11a",
"Strip Number Fired (ME -1/1a); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
138 ibooker.
book1D(
"hStripNumber_m13",
"Strip Number Fired (ME -1/3); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
140 ibooker.
book1D(
"hStripNumber_m12",
"Strip Number Fired (ME -1/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
142 "hStripNumber_m11b",
"Strip Number Fired (ME -1/1b); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
144 "hStripNumber_p11b",
"Strip Number Fired (ME +1/1b); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
146 ibooker.
book1D(
"hStripNumber_p12",
"Strip Number Fired (ME +1/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
148 ibooker.
book1D(
"hStripNumber_p13",
"Strip Number Fired (ME +1/3); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
150 "hStripNumber_p11a",
"Strip Number Fired (ME +1/1a); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
152 ibooker.
book1D(
"hStripNumber_p21",
"Strip Number Fired (ME +2/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
154 ibooker.
book1D(
"hStripNumber_p22",
"Strip Number Fired (ME +2/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
156 ibooker.
book1D(
"hStripNumber_p31",
"Strip Number Fired (ME +3/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
158 ibooker.
book1D(
"hStripNumber_p32",
"Strip Number Fired (ME +3/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
160 ibooker.
book1D(
"hStripNumber_p41",
"Strip Number Fired (ME +4/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
162 "hStripNumber_p42",
"Stripgroup Number Fired (ME +4/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
168 ibooker.
book1D(
"hStripPedMEm42",
"Pedestal Noise Distribution Chamber ME -4/2; ADC Counts", 50, -25., 25.));
170 ibooker.
book1D(
"hStripPedMEm41",
"Pedestal Noise Distribution Chamber ME -4/1; ADC Counts", 50, -25., 25.));
172 ibooker.
book1D(
"hStripPedMEm32",
"Pedestal Noise Distribution Chamber ME -3/2; ADC Counts", 50, -25., 25.));
174 ibooker.
book1D(
"hStripPedMEm31",
"Pedestal Noise Distribution Chamber ME -3/1; ADC Counts", 50, -25., 25.));
176 ibooker.
book1D(
"hStripPedMEm22",
"Pedestal Noise Distribution Chamber ME -2/2; ADC Counts", 50, -25., 25.));
178 ibooker.
book1D(
"hStripPedMEm21",
"Pedestal Noise Distribution Chamber ME -2/1; ADC Counts", 50, -25., 25.));
180 ibooker.
book1D(
"hStripPedMEm11a",
"Pedestal Noise Distribution Chamber ME -1/1; ADC Counts", 50, -25., 25.));
182 ibooker.
book1D(
"hStripPedMEm13",
"Pedestal Noise Distribution Chamber ME -1/3; ADC Counts", 50, -25., 25.));
184 ibooker.
book1D(
"hStripPedMEm12",
"Pedestal Noise Distribution Chamber ME -1/2; ADC Counts", 50, -25., 25.));
186 ibooker.
book1D(
"hStripPedMEm11b",
"Pedestal Noise Distribution Chamber ME -1/1; ADC Counts", 50, -25., 25.));
188 ibooker.
book1D(
"hStripPedMEp11b",
"Pedestal Noise Distribution Chamber ME +1/1; ADC Counts", 50, -25., 25.));
190 ibooker.
book1D(
"hStripPedMEp12",
"Pedestal Noise Distribution Chamber ME +1/2; ADC Counts", 50, -25., 25.));
192 ibooker.
book1D(
"hStripPedMEp13",
"Pedestal Noise Distribution Chamber ME +1/3; ADC Counts", 50, -25., 25.));
194 ibooker.
book1D(
"hStripPedMEp11a",
"Pedestal Noise Distribution Chamber ME +1/1; ADC Counts", 50, -25., 25.));
196 ibooker.
book1D(
"hStripPedMEp21",
"Pedestal Noise Distribution Chamber ME +2/1; ADC Counts", 50, -25., 25.));
198 ibooker.
book1D(
"hStripPedMEp22",
"Pedestal Noise Distribution Chamber ME +2/2; ADC Counts", 50, -25., 25.));
200 ibooker.
book1D(
"hStripPedMEp31",
"Pedestal Noise Distribution Chamber ME +3/1; ADC Counts", 50, -25., 25.));
202 ibooker.
book1D(
"hStripPedMEp32",
"Pedestal Noise Distribution Chamber ME +3/2; ADC Counts", 50, -25., 25.));
204 ibooker.
book1D(
"hStripPedMEp41",
"Pedestal Noise Distribution Chamber ME +4/1; ADC Counts", 50, -25., 25.));
206 ibooker.
book1D(
"hStripPedMEp42",
"Pedestal Noise Distribution Chamber ME +4/2; ADC Counts", 50, -25., 25.));
211 hRHnrechits = ibooker.
book1D(
"hRHnrechits",
"recHits per Event (all chambers); # of RecHits", 500, -0.50, 499.5);
213 "hRHGlobalp1",
"recHit global X,Y station +1; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
215 "hRHGlobalp2",
"recHit global X,Y station +2; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
217 "hRHGlobalp3",
"recHit global X,Y station +3; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
219 "hRHGlobalp4",
"recHit global X,Y station +4; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
221 "hRHGlobalm1",
"recHit global X,Y station -1; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
223 "hRHGlobalm2",
"recHit global X,Y station -2; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
225 "hRHGlobalm3",
"recHit global X,Y station -3; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
227 "hRHGlobalm4",
"recHit global X,Y station -4; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
228 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm42",
"Sum 3x3 recHit Charge (ME -4/2); ADC counts", 100, 0, 2000));
229 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm41",
"Sum 3x3 recHit Charge (ME -4/1); ADC counts", 100, 0, 2000));
230 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm32",
"Sum 3x3 recHit Charge (ME -3/2); ADC counts", 100, 0, 2000));
231 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm31",
"Sum 3x3 recHit Charge (ME -3/1); ADC counts", 100, 0, 2000));
232 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm22",
"Sum 3x3 recHit Charge (ME -2/2); ADC counts", 100, 0, 2000));
233 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm21",
"Sum 3x3 recHit Charge (ME -2/1); ADC counts", 100, 0, 2000));
234 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm11a",
"Sum 3x3 recHit Charge (ME -1/1a); ADC counts", 100, 0, 4000));
235 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm13",
"Sum 3x3 recHit Charge (ME -1/3); ADC counts", 100, 0, 2000));
236 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm12",
"Sum 3x3 recHit Charge (ME -1/2); ADC counts", 100, 0, 2000));
237 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm11b",
"Sum 3x3 recHit Charge (ME -1/1b); ADC counts", 100, 0, 4000));
238 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp11b",
"Sum 3x3 recHit Charge (ME +1/1b); ADC counts", 100, 0, 4000));
239 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp12",
"Sum 3x3 recHit Charge (ME +1/2); ADC counts", 100, 0, 2000));
240 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp13",
"Sum 3x3 recHit Charge (ME +1/3); ADC counts", 100, 0, 2000));
241 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp11a",
"Sum 3x3 recHit Charge (ME +1/1a); ADC counts", 100, 0, 4000));
242 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp21",
"Sum 3x3 recHit Charge (ME +2/1); ADC counts", 100, 0, 2000));
243 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp22",
"Sum 3x3 recHit Charge (ME +2/2); ADC counts", 100, 0, 2000));
244 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp31",
"Sum 3x3 recHit Charge (ME +3/1); ADC counts", 100, 0, 2000));
245 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp32",
"Sum 3x3 recHit Charge (ME +3/2); ADC counts", 100, 0, 2000));
246 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp41",
"Sum 3x3 recHit Charge (ME +4/1); ADC counts", 100, 0, 2000));
247 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp42",
"Sum 3x3 recHit Charge (ME +4/2); ADC counts", 100, 0, 2000));
248 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm42",
"Charge Ratio (Ql+Qr)/Qt (ME -4/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
249 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm41",
"Charge Ratio (Ql+Qr)/Qt (ME -4/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
250 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm32",
"Charge Ratio (Ql+Qr)/Qt (ME -3/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
251 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm31",
"Charge Ratio (Ql+Qr)/Qt (ME -3/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
252 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm22",
"Charge Ratio (Ql+Qr)/Qt (ME -2/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
253 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm21",
"Charge Ratio (Ql+Qr)/Qt (ME -2/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
255 ibooker.
book1D(
"hRHRatioQm11a",
"Charge Ratio (Ql+Qr)/Qt (ME -1/1a); (Ql+Qr)/Qt", 100, -0.1, 1.1));
256 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm13",
"Charge Ratio (Ql+Qr)/Qt (ME -1/3); (Ql+Qr)/Qt", 100, -0.1, 1.1));
257 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm12",
"Charge Ratio (Ql+Qr)/Qt (ME -1/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
259 ibooker.
book1D(
"hRHRatioQm11b",
"Charge Ratio (Ql+Qr)/Qt (ME -1/1b); (Ql+Qr)/Qt", 100, -0.1, 1.1));
261 ibooker.
book1D(
"hRHRatioQp11b",
"Charge Ratio (Ql+Qr)/Qt (ME +1/1b); (Ql+Qr)/Qt", 100, -0.1, 1.1));
262 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp12",
"Charge Ratio (Ql+Qr)/Qt (ME +1/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
263 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp13",
"Charge Ratio (Ql+Qr)/Qt (ME +1/3); (Ql+Qr)/Qt", 100, -0.1, 1.1));
265 ibooker.
book1D(
"hRHRatioQp11a",
"Charge Ratio (Ql+Qr)/Qt (ME +1/1a); (Ql+Qr)/Qt", 100, -0.1, 1.1));
266 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp21",
"Charge Ratio (Ql+Qr)/Qt (ME +2/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
267 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp22",
"Charge Ratio (Ql+Qr)/Qt (ME +2/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
268 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp31",
"Charge Ratio (Ql+Qr)/Qt (ME +3/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
269 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp32",
"Charge Ratio (Ql+Qr)/Qt (ME +3/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
270 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp41",
"Charge Ratio (Ql+Qr)/Qt (ME +4/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
271 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp42",
"Charge Ratio (Ql+Qr)/Qt (ME +4/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
272 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm42",
"recHit Time (ME -4/2); ns", 200, -500., 500.));
273 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm41",
"recHit Time (ME -4/1); ns", 200, -500., 500.));
274 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm32",
"recHit Time (ME -3/2); ns", 200, -500., 500.));
275 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm31",
"recHit Time (ME -3/1); ns", 200, -500., 500.));
276 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm22",
"recHit Time (ME -2/2); ns", 200, -500., 500.));
277 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm21",
"recHit Time (ME -2/1); ns", 200, -500., 500.));
278 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm11a",
"recHit Time (ME -1/1a); ns", 200, -500., 500.));
279 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm13",
"recHit Time (ME -1/3); ns", 200, -500., 500.));
280 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm12",
"recHit Time (ME -1/2); ns", 200, -500., 500.));
281 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm11b",
"recHit Time (ME -1/1b); ns", 200, -500., 500.));
282 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp11b",
"recHit Time (ME +1/1b); ns", 200, -500., 500.));
283 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp12",
"recHit Time (ME +1/2); ns", 200, -500., 500.));
284 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp13",
"recHit Time (ME +1/3); ns", 200, -500., 500.));
285 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp11a",
"recHit Time (ME +1/1a); ns", 200, -500., 500.));
286 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp21",
"recHit Time (ME +2/1); ns", 200, -500., 500.));
287 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp22",
"recHit Time (ME +2/2); ns", 200, -500., 500.));
288 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp31",
"recHit Time (ME +3/1); ns", 200, -500., 500.));
289 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp32",
"recHit Time (ME +3/2); ns", 200, -500., 500.));
290 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp41",
"recHit Time (ME +4/1); ns", 200, -500., 500.));
291 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp42",
"recHit Time (ME +4/2); ns", 200, -500., 500.));
292 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem42",
"Anode recHit Time (ME -4/2); ns", 80, -500., 500.));
293 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem41",
"Anode recHit Time (ME -4/1); ns", 80, -500., 500.));
294 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem32",
"Anode recHit Time (ME -3/2); ns", 80, -500., 500.));
295 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem31",
"Anode recHit Time (ME -3/1); ns", 80, -500., 500.));
296 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem22",
"Anode recHit Time (ME -2/2); ns", 80, -500., 500.));
297 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem21",
"Anode recHit Time (ME -2/1); ns", 80, -500., 500.));
298 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem11a",
"Anode recHit Time (ME -1/1a); ns", 80, -500., 500.));
299 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem13",
"Anode recHit Time (ME -1/3); ns", 80, -500., 500.));
300 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem12",
"Anode recHit Time (ME -1/2); ns", 80, -500., 500.));
301 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem11b",
"Anode recHit Time (ME -1/1b); ns", 80, -500., 500.));
302 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep11b",
"Anode recHit Time (ME +1/1b); ns", 80, -500., 500.));
303 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep12",
"Anode recHit Time (ME +1/2); ns", 80, -500., 500.));
304 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep13",
"Anode recHit Time (ME +1/3); ns", 80, -500., 500.));
305 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep11a",
"Anode recHit Time (ME +1/1a); ns", 80, -500., 500.));
306 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep21",
"Anode recHit Time (ME +2/1); ns", 80, -500., 500.));
307 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep22",
"Anode recHit Time (ME +2/2); ns", 80, -500., 500.));
308 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep31",
"Anode recHit Time (ME +3/1); ns", 80, -500., 500.));
309 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep32",
"Anode recHit Time (ME +3/2); ns", 80, -500., 500.));
310 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep41",
"Anode recHit Time (ME +4/1); ns", 80, -500., 500.));
311 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep42",
"Anode recHit Time (ME +4/2); ns", 80, -500., 500.));
313 ibooker.
book1D(
"hRHstposm42",
"Reconstructed Position on Strip (ME -4/2); Strip Widths", 120, -0.6, 0.6));
315 ibooker.
book1D(
"hRHstposm41",
"Reconstructed Position on Strip (ME -4/1); Strip Widths", 120, -0.6, 0.6));
317 ibooker.
book1D(
"hRHstposm32",
"Reconstructed Position on Strip (ME -3/2); Strip Widths", 120, -0.6, 0.6));
319 ibooker.
book1D(
"hRHstposm31",
"Reconstructed Position on Strip (ME -3/1); Strip Widths", 120, -0.6, 0.6));
321 ibooker.
book1D(
"hRHstposm22",
"Reconstructed Position on Strip (ME -2/2); Strip Widths", 120, -0.6, 0.6));
323 ibooker.
book1D(
"hRHstposm21",
"Reconstructed Position on Strip (ME -2/1); Strip Widths", 120, -0.6, 0.6));
325 ibooker.
book1D(
"hRHstposm11a",
"Reconstructed Position on Strip (ME -1/1a); Strip Widths", 120, -0.6, 0.6));
327 ibooker.
book1D(
"hRHstposm13",
"Reconstructed Position on Strip (ME -1/3); Strip Widths", 120, -0.6, 0.6));
329 ibooker.
book1D(
"hRHstposm12",
"Reconstructed Position on Strip (ME -1/2); Strip Widths", 120, -0.6, 0.6));
331 ibooker.
book1D(
"hRHstposm11b",
"Reconstructed Position on Strip (ME -1/1b); Strip Widths", 120, -0.6, 0.6));
333 ibooker.
book1D(
"hRHstposp11b",
"Reconstructed Position on Strip (ME +1/1b); Strip Widths", 120, -0.6, 0.6));
335 ibooker.
book1D(
"hRHstposp12",
"Reconstructed Position on Strip (ME +1/2); Strip Widths", 120, -0.6, 0.6));
337 ibooker.
book1D(
"hRHstposp13",
"Reconstructed Position on Strip (ME +1/3); Strip Widths", 120, -0.6, 0.6));
339 ibooker.
book1D(
"hRHstposp11a",
"Reconstructed Position on Strip (ME +1/1a); Strip Widths", 120, -0.6, 0.6));
341 ibooker.
book1D(
"hRHstposp21",
"Reconstructed Position on Strip (ME +2/1); Strip Widths", 120, -0.6, 0.6));
343 ibooker.
book1D(
"hRHstposp22",
"Reconstructed Position on Strip (ME +2/2); Strip Widths", 120, -0.6, 0.6));
345 ibooker.
book1D(
"hRHstposp31",
"Reconstructed Position on Strip (ME +3/1); Strip Widths", 120, -0.6, 0.6));
347 ibooker.
book1D(
"hRHstposp32",
"Reconstructed Position on Strip (ME +3/2); Strip Widths", 120, -0.6, 0.6));
349 ibooker.
book1D(
"hRHstposp41",
"Reconstructed Position on Strip (ME +4/1); Strip Widths", 120, -0.6, 0.6));
351 ibooker.
book1D(
"hRHstposp42",
"Reconstructed Position on Strip (ME +4/2); Strip Widths", 120, -0.6, 0.6));
353 ibooker.
book1D(
"hRHsterrm42",
"Estimated Error on Strip Measurement (ME -4/2); Strip Widths", 75, -0.01, 0.24));
355 ibooker.
book1D(
"hRHsterrm41",
"Estimated Error on Strip Measurement (ME -4/1); Strip Widths", 75, -0.01, 0.24));
357 ibooker.
book1D(
"hRHsterrm32",
"Estimated Error on Strip Measurement (ME -3/2); Strip Widths", 75, -0.01, 0.24));
359 ibooker.
book1D(
"hRHsterrm31",
"Estimated Error on Strip Measurement (ME -3/1); Strip Widths", 75, -0.01, 0.24));
361 ibooker.
book1D(
"hRHsterrm22",
"Estimated Error on Strip Measurement (ME -2/2); Strip Widths", 75, -0.01, 0.24));
363 ibooker.
book1D(
"hRHsterrm21",
"Estimated Error on Strip Measurement (ME -2/1); Strip Widths", 75, -0.01, 0.24));
365 ibooker.
book1D(
"hRHsterrm11a",
"Estimated Error on Strip Measurement (ME -1/1a); Strip Widths", 75, -0.01, 0.24));
367 ibooker.
book1D(
"hRHsterrm13",
"Estimated Error on Strip Measurement (ME -1/3); Strip Widths", 75, -0.01, 0.24));
369 ibooker.
book1D(
"hRHsterrm12",
"Estimated Error on Strip Measurement (ME -1/2); Strip Widths", 75, -0.01, 0.24));
371 ibooker.
book1D(
"hRHsterrm11b",
"Estimated Error on Strip Measurement (ME -1/1b); Strip Widths", 75, -0.01, 0.24));
373 ibooker.
book1D(
"hRHsterrp11b",
"Estimated Error on Strip Measurement (ME +1/1b); Strip Widths", 75, -0.01, 0.24));
375 ibooker.
book1D(
"hRHsterrp12",
"Estimated Error on Strip Measurement (ME +1/2); Strip Widths", 75, -0.01, 0.24));
377 ibooker.
book1D(
"hRHsterrp13",
"Estimated Error on Strip Measurement (ME +1/3); Strip Widths", 75, -0.01, 0.24));
379 ibooker.
book1D(
"hRHsterrp11a",
"Estimated Error on Strip Measurement (ME +1/1a); Strip Widths", 75, -0.01, 0.24));
381 ibooker.
book1D(
"hRHsterrp21",
"Estimated Error on Strip Measurement (ME +2/1); Strip Widths", 75, -0.01, 0.24));
383 ibooker.
book1D(
"hRHsterrp22",
"Estimated Error on Strip Measurement (ME +2/2); Strip Widths", 75, -0.01, 0.24));
385 ibooker.
book1D(
"hRHsterrp31",
"Estimated Error on Strip Measurement (ME +3/1); Strip Widths", 75, -0.01, 0.24));
387 ibooker.
book1D(
"hRHsterrp32",
"Estimated Error on Strip Measurement (ME +3/2); Strip Widths", 75, -0.01, 0.24));
389 ibooker.
book1D(
"hRHsterrp41",
"Estimated Error on Strip Measurement (ME +4/1); Strip Widths", 75, -0.01, 0.24));
391 ibooker.
book1D(
"hRHsterrp42",
"Estimated Error on Strip Measurement (ME +4/2); Strip Widths", 75, -0.01, 0.24));
396 hSnSegments = ibooker.
book1D(
"hSnSegments",
"Number of Segments per Event; # of Segments", 26, -0.5, 25.5);
397 hSnhitsAll = ibooker.
book1D(
"hSnhits",
"N hits on Segments; # of hits", 8, -0.5, 7.5);
398 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm42",
"# of hits on Segments (ME -4/2); # of hits", 8, -0.5, 7.5));
399 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm41",
"# of hits on Segments (ME -4/1); # of hits", 8, -0.5, 7.5));
400 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm32",
"# of hits on Segments (ME -3/2); # of hits", 8, -0.5, 7.5));
401 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm31",
"# of hits on Segments (ME -3/1); # of hits", 8, -0.5, 7.5));
402 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm22",
"# of hits on Segments (ME -2/2); # of hits", 8, -0.5, 7.5));
403 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm21",
"# of hits on Segments (ME -2/1); # of hits", 8, -0.5, 7.5));
404 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm11a",
"# of hits on Segments (ME -1/1a); # of hits", 8, -0.5, 7.5));
405 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm13",
"# of hits on Segments (ME -1/3); # of hits", 8, -0.5, 7.5));
406 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm12",
"# of hits on Segments (ME -1/2); # of hits", 8, -0.5, 7.5));
407 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm11b",
"# of hits on Segments (ME -1/1b); # of hits", 8, -0.5, 7.5));
408 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp11b",
"# of hits on Segments (ME +1/1b); # of hits", 8, -0.5, 7.5));
409 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp12",
"# of hits on Segments (ME +1/2); # of hits", 8, -0.5, 7.5));
410 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp13",
"# of hits on Segments (ME +1/3); # of hits", 8, -0.5, 7.5));
411 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp11a",
"# of hits on Segments (ME +1/1a); # of hits", 8, -0.5, 7.5));
412 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp21",
"# of hits on Segments (ME +2/1); # of hits", 8, -0.5, 7.5));
413 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp22",
"# of hits on Segments (ME +2/2); # of hits", 8, -0.5, 7.5));
414 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp31",
"# of hits on Segments (ME +3/1); # of hits", 8, -0.5, 7.5));
415 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp32",
"# of hits on Segments (ME +3/2); # of hits", 8, -0.5, 7.5));
416 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp41",
"# of hits on Segments (ME +4/1); # of hits", 8, -0.5, 7.5));
417 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp42",
"# of hits on Segments (ME +4/2); # of hits", 8, -0.5, 7.5));
418 hSChiSqAll = ibooker.
book1D(
"hSChiSq",
"Segment Normalized Chi2; Chi2/ndof", 110, -0.05, 10.5);
419 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm42",
"Segment Normalized Chi2 (ME -4/2); Chi2/ndof", 110, -0.05, 10.5));
420 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm41",
"Segment Normalized Chi2 (ME -4/1); Chi2/ndof", 110, -0.05, 10.5));
421 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm32",
"Segment Normalized Chi2 (ME -3/2); Chi2/ndof", 110, -0.05, 10.5));
422 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm31",
"Segment Normalized Chi2 (ME -3/1); Chi2/ndof", 110, -0.05, 10.5));
423 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm22",
"Segment Normalized Chi2 (ME -2/2); Chi2/ndof", 110, -0.05, 10.5));
424 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm21",
"Segment Normalized Chi2 (ME -2/1); Chi2/ndof", 110, -0.05, 10.5));
425 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm11a",
"Segment Normalized Chi2 (ME -1/1a); Chi2/ndof", 110, -0.05, 10.5));
426 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm13",
"Segment Normalized Chi2 (ME -1/3); Chi2/ndof", 110, -0.05, 10.5));
427 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm12",
"Segment Normalized Chi2 (ME -1/2); Chi2/ndof", 110, -0.05, 10.5));
428 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm11b",
"Segment Normalized Chi2 (ME -1/1b); Chi2/ndof", 110, -0.05, 10.5));
429 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp11b",
"Segment Normalized Chi2 (ME +1/1b); Chi2/ndof", 110, -0.05, 10.5));
430 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp12",
"Segment Normalized Chi2 (ME +1/2); Chi2/ndof", 110, -0.05, 10.5));
431 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp13",
"Segment Normalized Chi2 (ME +1/3); Chi2/ndof", 110, -0.05, 10.5));
432 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp11a",
"Segment Normalized Chi2 (ME +1/1a); Chi2/ndof", 110, -0.05, 10.5));
433 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp21",
"Segment Normalized Chi2 (ME +2/1); Chi2/ndof", 110, -0.05, 10.5));
434 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp22",
"Segment Normalized Chi2 (ME +2/2); Chi2/ndof", 110, -0.05, 10.5));
435 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp31",
"Segment Normalized Chi2 (ME +3/1); Chi2/ndof", 110, -0.05, 10.5));
436 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp32",
"Segment Normalized Chi2 (ME +3/2); Chi2/ndof", 110, -0.05, 10.5));
437 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp41",
"Segment Normalized Chi2 (ME +4/1); Chi2/ndof", 110, -0.05, 10.5));
438 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp42",
"Segment Normalized Chi2 (ME +4/2); Chi2/ndof", 110, -0.05, 10.5));
439 hSChiSqProbAll = ibooker.
book1D(
"hSChiSqProb",
"Segment chi2 Probability; Probability", 110, -0.05, 1.05);
441 ibooker.
book1D(
"hSChiSqProbm42",
"Segment chi2 Probability (ME -4/2); Probability", 110, -0.05, 1.05));
443 ibooker.
book1D(
"hSChiSqProbm41",
"Segment chi2 Probability (ME -4/1); Probability", 110, -0.05, 1.05));
445 ibooker.
book1D(
"hSChiSqProbm32",
"Segment chi2 Probability (ME -3/2); Probability", 110, -0.05, 1.05));
447 ibooker.
book1D(
"hSChiSqProbm31",
"Segment chi2 Probability (ME -3/1); Probability", 110, -0.05, 1.05));
449 ibooker.
book1D(
"hSChiSqProbm22",
"Segment chi2 Probability (ME -2/2); Probability", 110, -0.05, 1.05));
451 ibooker.
book1D(
"hSChiSqProbm21",
"Segment chi2 Probability (ME -2/1); Probability", 110, -0.05, 1.05));
453 ibooker.
book1D(
"hSChiSqProbm11a",
"Segment chi2 Probability (ME -1/1a); Probability", 110, -0.05, 1.05));
455 ibooker.
book1D(
"hSChiSqProbm13",
"Segment chi2 Probability (ME -1/3); Probability", 110, -0.05, 1.05));
457 ibooker.
book1D(
"hSChiSqProbm12",
"Segment chi2 Probability (ME -1/2); Probability", 110, -0.05, 1.05));
459 ibooker.
book1D(
"hSChiSqProbm11b",
"Segment chi2 Probability (ME -1/1b); Probability", 110, -0.05, 1.05));
461 ibooker.
book1D(
"hSChiSqProbp11b",
"Segment chi2 Probability (ME +1/1b); Probability", 110, -0.05, 1.05));
463 ibooker.
book1D(
"hSChiSqProbp12",
"Segment chi2 Probability (ME +1/2); Probability", 110, -0.05, 1.05));
465 ibooker.
book1D(
"hSChiSqProbp13",
"Segment chi2 Probability (ME +1/3); Probability", 110, -0.05, 1.05));
467 ibooker.
book1D(
"hSChiSqProbp11a",
"Segment chi2 Probability (ME +1/1a); Probability", 110, -0.05, 1.05));
469 ibooker.
book1D(
"hSChiSqProbp21",
"Segment chi2 Probability (ME +2/1); Probability", 110, -0.05, 1.05));
471 ibooker.
book1D(
"hSChiSqProbp22",
"Segment chi2 Probability (ME +2/2); Probability", 110, -0.05, 1.05));
473 ibooker.
book1D(
"hSChiSqProbp31",
"Segment chi2 Probability (ME +3/1); Probability", 110, -0.05, 1.05));
475 ibooker.
book1D(
"hSChiSqProbp32",
"Segment chi2 Probability (ME +3/2); Probability", 110, -0.05, 1.05));
477 ibooker.
book1D(
"hSChiSqProbp41",
"Segment chi2 Probability (ME +4/1); Probability", 110, -0.05, 1.05));
479 ibooker.
book1D(
"hSChiSqProbp42",
"Segment chi2 Probability (ME +4/2); Probability", 110, -0.05, 1.05));
481 ibooker.
book1D(
"hSGlobalTheta",
"Segment Direction (Global Theta); Global Theta (radians)", 136, -0.1, 3.3);
482 hSGlobalPhi = ibooker.
book1D(
"hSGlobalPhi",
"Segment Direction (Global Phi); Global Phi (radians)", 128, -3.2, 3.2);
484 hSTimeDiff = ibooker.
book1D(
"hSTimeDiff",
"Anode Minus Cathode Segment Time [ns]", 50, -50, 50);
486 ibooker.
book1D(
"hSTimeDiff_m42",
"Anode Minus Cathode Segment Time (ME -4/2) [ns]", 50, -50, 50));
488 ibooker.
book1D(
"hSTimeDiff_m41",
"Anode Minus Cathode Segment Time (ME -4/1) [ns]", 50, -50, 50));
490 ibooker.
book1D(
"hSTimeDiff_m32",
"Anode Minus Cathode Segment Time (ME -3/2) [ns]", 50, -50, 50));
492 ibooker.
book1D(
"hSTimeDiff_m31",
"Anode Minus Cathode Segment Time (ME -3/2) [ns]", 50, -50, 50));
494 ibooker.
book1D(
"hSTimeDiff_m22",
"Anode Minus Cathode Segment Time (ME -2/2) [ns]", 50, -50, 50));
496 ibooker.
book1D(
"hSTimeDiff_m21",
"Anode Minus Cathode Segment Time (ME -2/1) [ns]", 50, -50, 50));
498 ibooker.
book1D(
"hSTimeDiff_m11a",
"Anode Minus Cathode Segment Time (ME -1/1a) [ns]", 50, -50, 50));
500 ibooker.
book1D(
"hSTimeDiff_m13",
"Anode Minus Cathode Segment Time (ME -1/3) [ns]", 50, -50, 50));
502 ibooker.
book1D(
"hSTimeDiff_m12",
"Anode Minus Cathode Segment Time (ME -1/2) [ns]", 50, -50, 50));
504 ibooker.
book1D(
"hSTimeDiff_m11b",
"Anode Minus Cathode Segment Time (ME -1/1b) [ns]", 50, -50, 50));
506 ibooker.
book1D(
"hSTimeDiff_p11b",
"Anode Minus Cathode Segment Time (ME +1/1b) [ns]", 50, -50, 50));
508 ibooker.
book1D(
"hSTimeDiff_p12",
"Anode Minus Cathode Segment Time (ME +1/2) [ns]", 50, -50, 50));
510 ibooker.
book1D(
"hSTimeDiff_p13",
"Anode Minus Cathode Segment Time (ME +1/3) [ns]", 50, -50, 50));
512 ibooker.
book1D(
"hSTimeDiff_p11a",
"Anode Minus Cathode Segment Time (ME +1/1a) [ns]", 50, -50, 50));
514 ibooker.
book1D(
"hSTimeDiff_p21",
"Anode Minus Cathode Segment Time (ME +2/1) [ns]", 50, -50, 50));
516 ibooker.
book1D(
"hSTimeDiff_p22",
"Anode Minus Cathode Segment Time (ME +2/2) [ns]", 50, -50, 50));
518 ibooker.
book1D(
"hSTimeDiff_p31",
"Anode Minus Cathode Segment Time (ME +3/1) [ns]", 50, -50, 50));
520 ibooker.
book1D(
"hSTimeDiff_p32",
"Anode Minus Cathode Segment Time (ME +3/2) [ns]", 50, -50, 50));
522 ibooker.
book1D(
"hSTimeDiff_p41",
"Anode Minus Cathode Segment Time (ME +4/1) [ns]", 50, -50, 50));
524 ibooker.
book1D(
"hSTimeDiff_p42",
"Anode Minus Cathode Segment Time (ME +4/2) [ns]", 50, -50, 50));
526 hSTimeAnode = ibooker.
book1D(
"hSTimeAnode",
"Anode Only Segment Time [ns]", 200, -200, 200);
528 ibooker.
book1D(
"hSTimeAnode_m42",
"Anode Only Segment Time (ME -4/2) [ns]", 200, -200, 200));
530 ibooker.
book1D(
"hSTimeAnode_m41",
"Anode Only Segment Time (ME -4/1) [ns]", 200, -200, 200));
532 ibooker.
book1D(
"hSTimeAnode_m32",
"Anode Only Segment Time (ME -3/2) [ns]", 200, -200, 200));
534 ibooker.
book1D(
"hSTimeAnode_m31",
"Anode Only Segment Time (ME -3/2) [ns]", 200, -200, 200));
536 ibooker.
book1D(
"hSTimeAnode_m22",
"Anode Only Segment Time (ME -2/2) [ns]", 200, -200, 200));
538 ibooker.
book1D(
"hSTimeAnode_m21",
"Anode Only Segment Time (ME -2/1) [ns]", 200, -200, 200));
540 ibooker.
book1D(
"hSTimeAnode_m11a",
"Anode Only Segment Time (ME -1/1a) [ns]", 200, -200, 200));
542 ibooker.
book1D(
"hSTimeAnode_m13",
"Anode Only Segment Time (ME -1/3) [ns]", 200, -200, 200));
544 ibooker.
book1D(
"hSTimeAnode_m12",
"Anode Only Segment Time (ME -1/2) [ns]", 200, -200, 200));
546 ibooker.
book1D(
"hSTimeAnode_m11b",
"Anode Only Segment Time (ME -1/1b) [ns]", 200, -200, 200));
548 ibooker.
book1D(
"hSTimeAnode_p11b",
"Anode Only Segment Time (ME +1/1b) [ns]", 200, -200, 200));
550 ibooker.
book1D(
"hSTimeAnode_p12",
"Anode Only Segment Time (ME +1/2) [ns]", 200, -200, 200));
552 ibooker.
book1D(
"hSTimeAnode_p13",
"Anode Only Segment Time (ME +1/3) [ns]", 200, -200, 200));
554 ibooker.
book1D(
"hSTimeAnode_p11a",
"Anode Only Segment Time (ME +1/1a) [ns]", 200, -200, 200));
556 ibooker.
book1D(
"hSTimeAnode_p21",
"Anode Only Segment Time (ME +2/1) [ns]", 200, -200, 200));
558 ibooker.
book1D(
"hSTimeAnode_p22",
"Anode Only Segment Time (ME +2/2) [ns]", 200, -200, 200));
560 ibooker.
book1D(
"hSTimeAnode_p31",
"Anode Only Segment Time (ME +3/1) [ns]", 200, -200, 200));
562 ibooker.
book1D(
"hSTimeAnode_p32",
"Anode Only Segment Time (ME +3/2) [ns]", 200, -200, 200));
564 ibooker.
book1D(
"hSTimeAnode_p41",
"Anode Only Segment Time (ME +4/1) [ns]", 200, -200, 200));
566 ibooker.
book1D(
"hSTimeAnode_p42",
"Anode Only Segment Time (ME +4/2) [ns]", 200, -200, 200));
568 hSTimeCathode = ibooker.
book1D(
"hSTimeCathode",
"Cathode Only Segment Time [ns]", 200, -200, 200);
570 ibooker.
book1D(
"hSTimeCathode_m42",
"Cathode Only Segment Time (ME -4/2) [ns]", 200, -200, 200));
572 ibooker.
book1D(
"hSTimeCathode_m41",
"Cathode Only Segment Time (ME -4/1) [ns]", 200, -200, 200));
574 ibooker.
book1D(
"hSTimeCathode_m32",
"Cathode Only Segment Time (ME -3/2) [ns]", 200, -200, 200));
576 ibooker.
book1D(
"hSTimeCathode_m31",
"Cathode Only Segment Time (ME -3/2) [ns]", 200, -200, 200));
578 ibooker.
book1D(
"hSTimeCathode_m22",
"Cathode Only Segment Time (ME -2/2) [ns]", 200, -200, 200));
580 ibooker.
book1D(
"hSTimeCathode_m21",
"Cathode Only Segment Time (ME -2/1) [ns]", 200, -200, 200));
582 ibooker.
book1D(
"hSTimeCathode_m11a",
"Cathode Only Segment Time (ME -1/1a) [ns]", 200, -200, 200));
584 ibooker.
book1D(
"hSTimeCathode_m13",
"Cathode Only Segment Time (ME -1/3) [ns]", 200, -200, 200));
586 ibooker.
book1D(
"hSTimeCathode_m12",
"Cathode Only Segment Time (ME -1/2) [ns]", 200, -200, 200));
588 ibooker.
book1D(
"hSTimeCathode_m11b",
"Cathode Only Segment Time (ME -1/1b) [ns]", 200, -200, 200));
590 ibooker.
book1D(
"hSTimeCathode_p11b",
"Cathode Only Segment Time (ME +1/1b) [ns]", 200, -200, 200));
592 ibooker.
book1D(
"hSTimeCathode_p12",
"Cathode Only Segment Time (ME +1/2) [ns]", 200, -200, 200));
594 ibooker.
book1D(
"hSTimeCathode_p13",
"Cathode Only Segment Time (ME +1/3) [ns]", 200, -200, 200));
596 ibooker.
book1D(
"hSTimeCathode_p11a",
"Cathode Only Segment Time (ME +1/1a) [ns]", 200, -200, 200));
598 ibooker.
book1D(
"hSTimeCathode_p21",
"Cathode Only Segment Time (ME +2/1) [ns]", 200, -200, 200));
600 ibooker.
book1D(
"hSTimeCathode_p22",
"Cathode Only Segment Time (ME +2/2) [ns]", 200, -200, 200));
602 ibooker.
book1D(
"hSTimeCathode_p31",
"Cathode Only Segment Time (ME +3/1) [ns]", 200, -200, 200));
604 ibooker.
book1D(
"hSTimeCathode_p32",
"Cathode Only Segment Time (ME +3/2) [ns]", 200, -200, 200));
606 ibooker.
book1D(
"hSTimeCathode_p41",
"Cathode Only Segment Time (ME +4/1) [ns]", 200, -200, 200));
608 ibooker.
book1D(
"hSTimeCathode_p42",
"Cathode Only Segment Time (ME +4/2) [ns]", 200, -200, 200));
610 hSTimeCombined = ibooker.
book1D(
"hSTimeCombined",
"Segment Time (anode+cathode times) [ns]", 200, -200, 200);
612 "hSTimeCombined_m42",
"Segment Time (anode+cathode times) Segment Time (ME -4/2) [ns]", 200, -200, 200));
614 "hSTimeCombined_m41",
"Segment Time (anode+cathode times) Segment Time (ME -4/1) [ns]", 200, -200, 200));
616 "hSTimeCombined_m32",
"Segment Time (anode+cathode times) Segment Time (ME -3/2) [ns]", 200, -200, 200));
618 "hSTimeCombined_m31",
"Segment Time (anode+cathode times) Segment Time (ME -3/2) [ns]", 200, -200, 200));
620 "hSTimeCombined_m22",
"Segment Time (anode+cathode times) Segment Time (ME -2/2) [ns]", 200, -200, 200));
622 "hSTimeCombined_m21",
"Segment Time (anode+cathode times) Segment Time (ME -2/1) [ns]", 200, -200, 200));
624 "hSTimeCombined_m11a",
"Segment Time (anode+cathode times) Segment Time (ME -1/1a) [ns]", 200, -200, 200));
626 "hSTimeCombined_m13",
"Segment Time (anode+cathode times) Segment Time (ME -1/3) [ns]", 200, -200, 200));
628 "hSTimeCombined_m12",
"Segment Time (anode+cathode times) Segment Time (ME -1/2) [ns]", 200, -200, 200));
630 "hSTimeCombined_m11b",
"Segment Time (anode+cathode times) Segment Time (ME -1/1b) [ns]", 200, -200, 200));
632 "hSTimeCombined_p11b",
"Segment Time (anode+cathode times) Segment Time (ME +1/1b) [ns]", 200, -200, 200));
634 "hSTimeCombined_p12",
"Segment Time (anode+cathode times) Segment Time (ME +1/2) [ns]", 200, -200, 200));
636 "hSTimeCombined_p13",
"Segment Time (anode+cathode times) Segment Time (ME +1/3) [ns]", 200, -200, 200));
638 "hSTimeCombined_p11a",
"Segment Time (anode+cathode times) Segment Time (ME +1/1a) [ns]", 200, -200, 200));
640 "hSTimeCombined_p21",
"Segment Time (anode+cathode times) Segment Time (ME +2/1) [ns]", 200, -200, 200));
642 "hSTimeCombined_p22",
"Segment Time (anode+cathode times) Segment Time (ME +2/2) [ns]", 200, -200, 200));
644 "hSTimeCombined_p31",
"Segment Time (anode+cathode times) Segment Time (ME +3/1) [ns]", 200, -200, 200));
646 "hSTimeCombined_p32",
"Segment Time (anode+cathode times) Segment Time (ME +3/2) [ns]", 200, -200, 200));
648 "hSTimeCombined_p41",
"Segment Time (anode+cathode times) Segment Time (ME +4/1) [ns]", 200, -200, 200));
650 "hSTimeCombined_p42",
"Segment Time (anode+cathode times) Segment Time (ME +4/2) [ns]", 200, -200, 200));
653 ibooker.
book2D(
"hSTimeDiffSerial",
"Anode Minus Cathode Segment Time [ns]", 601, -0.5, 600.5, 200, -50, 50);
655 ibooker.
book2D(
"hSTimeAnodeSerial",
"Anode Only Segment Time [ns]", 601, -0.5, 600.5, 200, -200, 200);
657 ibooker.
book2D(
"hSTimeCathodeSerial",
"Cathode Only Segment Time [ns]", 601, -0.5, 600.5, 200, -200, 200);
659 "hSTimeCombinedSerial",
"Segment Time (anode+cathode times) [ns]", 601, -0.5, 600.5, 200, -200, 200);
661 hSTimeVsZ = ibooker.
book2D(
"hSTimeVsZ",
"Segment Time vs. Z; [ns] vs. [cm]", 200, -1200, 1200, 200, -200, 200);
663 ibooker.
book2D(
"hSTimeVsTOF",
"Segment Time vs. Distance from IP; [ns] vs. [cm]", 180, 500, 1400, 200, -200, 200);
669 "hSResidm42",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -4/2); Strip Widths", 100, -0.5, 0.5));
671 "hSResidm41",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -4/1); Strip Widths", 100, -0.5, 0.5));
673 "hSResidm32",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -3/2); Strip Widths", 100, -0.5, 0.5));
675 "hSResidm31",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -3/1); Strip Widths", 100, -0.5, 0.5));
677 "hSResidm22",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -2/2); Strip Widths", 100, -0.5, 0.5));
679 "hSResidm21",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -2/1); Strip Widths", 100, -0.5, 0.5));
681 "hSResidm11a",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -1/1a); Strip Widths", 100, -0.5, 0.5));
683 "hSResidm13",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -1/3); Strip Widths", 100, -0.5, 0.5));
685 "hSResidm12",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -1/2); Strip Widths", 100, -0.5, 0.5));
687 "hSResidm11b",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -1/1b); Strip Widths", 100, -0.5, 0.5));
689 "hSResidp11b",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +1/1b); Strip Widths", 100, -0.5, 0.5));
691 "hSResidp12",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +1/2); Strip Widths", 100, -0.5, 0.5));
693 "hSResidp13",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +1/3); Strip Widths", 100, -0.5, 0.5));
695 "hSResidp11a",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +1/1a); Strip Widths", 100, -0.5, 0.5));
697 "hSResidp21",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +2/1); Strip Widths", 100, -0.5, 0.5));
699 "hSResidp22",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +2/2); Strip Widths", 100, -0.5, 0.5));
701 "hSResidp31",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +3/1); Strip Widths", 100, -0.5, 0.5));
703 "hSResidp32",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +3/2); Strip Widths", 100, -0.5, 0.5));
705 "hSResidp41",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +4/1); Strip Widths", 100, -0.5, 0.5));
707 "hSResidp42",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +4/2); Strip Widths", 100, -0.5, 0.5));
714 hSnum = ibooker.
book1D(
"hSnum",
"CSC w rechits in 2+ layers && segment(s)", 20, 0.5, 20.5);
715 hSden = ibooker.
book1D(
"hSden",
"CSC w rechits in 2+ layers", 20, 0.5, 20.5);
716 hRHnum = ibooker.
book1D(
"hRHnum",
"CSC w segment(s) && rechits in 6 layers", 20, 0.5, 20.5);
717 hRHden = ibooker.
book1D(
"hRHden",
"CSC w segment(s)", 20, 0.5, 20.5);
725 hSSTE2 = ibooker.
book2D(
"hSSTE2",
"hSSTE2", 36, 0.5, 36.5, 20, 0.5, 20.5);
726 hRHSTE2 = ibooker.
book2D(
"hRHSTE2",
"hRHSTE2", 36, 0.5, 36.5, 20, 0.5, 20.5);
727 hStripSTE2 = ibooker.
book2D(
"hStripSTE2",
"hStripSTE2", 36, 0.5, 36.5, 20, 0.5, 20.5);
728 hWireSTE2 = ibooker.
book2D(
"hWireSTE2",
"hWireSTE2", 36, 0.5, 36.5, 20, 0.5, 20.5);
729 hEffDenominator = ibooker.
book2D(
"hEffDenominator",
"hEffDenominator", 36, 0.5, 36.5, 20, 0.5, 20.5);
737 ibooker.
book2D(
"hSensitiveAreaEvt",
"Events Passing Selection for Efficiency", 36, 0.5, 36.5, 20, 0.5, 20.5);
742 hALCTgetBX = ibooker.
book1D(
"hALCTgetBX",
"ALCT position in ALCT-L1A match window [BX]", 7, -0.5, 6.5);
745 ibooker.
book2D(
"hALCTgetBXSerial",
"ALCT position in ALCT-L1A match window [BX]", 601, -0.5, 600.5, 7, -0.5, 6.5);
748 "hALCTgetBX2DNumerator",
"ALCT position in ALCT-L1A match window [BX] (sum)", 36, 0.5, 36.5, 20, 0.5, 20.5);
751 ibooker.
book2D(
"hALCTgetBX2Denominator",
"Number of ALCT Digis checked", 36, 0.5, 36.5, 20, 0.5, 20.5);
754 hALCTMatch = ibooker.
book1D(
"hALCTMatch",
"ALCT position in ALCT-CLCT match window [BX]", 7, -0.5, 6.5);
757 "hALCTMatchSerial",
"ALCT position in ALCT-CLCT match window [BX]", 601, -0.5, 600.5, 7, -0.5, 6.5);
760 "hALCTMatch2DNumerator",
"ALCT position in ALCT-CLCT match window [BX] (sum)", 36, 0.5, 36.5, 20, 0.5, 20.5);
763 ibooker.
book2D(
"hALCTMatch2Denominator",
"Number of ALCT-CLCT matches checked", 36, 0.5, 36.5, 20, 0.5, 20.5);
766 hCLCTL1A = ibooker.
book1D(
"hCLCTL1A",
"L1A - CLCTpreTrigger at TMB [BX]", 40, 149.5, 189.5);
769 ibooker.
book2D(
"hCLCTL1ASerial",
"L1A - CLCTpreTrigger at TMB [BX]", 601, -0.5, 600.5, 40, 149.5, 189.5);
772 ibooker.
book2D(
"hCLCTL1A2DNumerator",
"L1A - CLCTpreTrigger at TMB [BX] (sum)", 36, 0.5, 36.5, 20, 0.5, 20.5);
775 ibooker.
book2D(
"hCLCTL1A2Denominator",
"Number of TMB CLCTs checked", 36, 0.5, 36.5, 20, 0.5, 20.5);
References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::NavigatorBase::cd(), dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), X, and BeamSpotPI::Y.
◆ chamberSerial()
int CSCOfflineMonitor::chamberSerial |
( |
CSCDetId |
id | ) |
|
|
private |
Definition at line 2114 of file CSCOfflineMonitor.cc.
2115 int st =
id.station();
2117 int ch =
id.chamber();
2118 int ec =
id.endcap();
2120 if (st == 1 && ri == 1)
2122 if (st == 1 && ri == 2)
2124 if (st == 1 && ri == 3)
2126 if (st == 1 && ri == 4)
2128 if (st == 2 && ri == 1)
2130 if (st == 2 && ri == 2)
2132 if (st == 3 && ri == 1)
2134 if (st == 3 && ri == 2)
2136 if (st == 4 && ri == 1)
2138 if (st == 4 && ri == 2)
2141 kSerial = kSerial + 300;
◆ doBXMonitor()
uncomment this for regional unpacking if (id!=SOME_ID) continue;
Take a reference to this FED's data
if fed has data then unpack it
get a pointer to data and pass it to constructor for unpacking
get a reference to dduData
set default detid to that for E=+z, S=1, R=1, C=1, L=1
skip the DDU if its data has serious errors define a mask for serious errors
get a reference to chamber data
first process chamber-wide digis such as LCT
default value for all digis not related to cfebs
layer=0 flags entire chamber
check alct data integrity
check tmb data integrity
Definition at line 1782 of file CSCOfflineMonitor.cc.
1789 const CSCDetId& idALCT = (*j).first;
1793 if ((*digiIt).isValid()) {
1811 edm::LogWarning(
"CSCOfflineMonitor") <<
" FEDRawDataCollection not available";
1815 bool goodEvent =
false;
1816 unsigned long dccBinCheckMask = 0x06080016;
1817 unsigned int examinerMask = 0x1FEBF3F6;
1818 unsigned int errorMask = 0x0;
1822 std::vector<unsigned int> cscFEDids;
1826 cscFEDids.push_back(
id);
1831 cscFEDids.push_back(
id);
1834 for (
unsigned int i = 0;
i < cscFEDids.size();
i++)
1836 unsigned int id = cscFEDids[
i];
1844 unsigned long length = fedData.
size();
1848 std::stringstream examiner_out, examiner_err;
1851 if (examinerMask & 0x40000)
1853 if (examinerMask & 0x8000)
1855 if (examinerMask & 0x0400)
1857 examiner->
setMask(examinerMask);
1858 const short unsigned int*
data = (
short unsigned int*)fedData.
data();
1864 goodEvent = !(examiner->
errors() & dccBinCheckMask);
1872 std::vector<CSCDDUEventData> fed_Data;
1873 std::vector<CSCDDUEventData>* ptr_fedData = &fed_Data;
1878 fed_Data.push_back(single_dduData);
1887 const std::vector<CSCDDUEventData>& dduData = *ptr_fedData;
1891 for (
unsigned int iDDU = 0; iDDU < dduData.size(); ++iDDU) {
1894 if (dduData[iDDU].trailer().errorstat() & errorMask) {
1895 LogTrace(
"CSCDCCUnpacker|CSCRawToDigi") <<
"DDU# " << iDDU <<
" has serious error - no digis unpacked! "
1896 << std::hex << dduData[iDDU].trailer().errorstat();
1901 const std::vector<CSCEventData>& cscData = dduData[iDDU].cscData();
1903 for (
unsigned int iCSC = 0; iCSC < cscData.size(); ++iCSC) {
1906 int vmecrate = cscData[iCSC].dmbHeader()->crateID();
1907 int dmb = cscData[iCSC].dmbHeader()->dmbID();
1912 if ((vmecrate >= 1) && (vmecrate <= 60) && (dmb >= 1) && (dmb <= 10) && (dmb != 6)) {
1913 layer = pcrate->
detId(vmecrate, dmb, icfeb, ilayer);
1915 LogTrace(
"CSCOfflineMonitor") <<
" detID input out of range!!! ";
1916 LogTrace(
"CSCOfflineMonitor") <<
" skipping chamber vme= " << vmecrate <<
" dmb= " << dmb;
1921 int nalct = cscData[iCSC].dmbHeader()->nalct();
1922 bool goodALCT =
false;
1924 if (nalct && cscData[iCSC].alctHeader()) {
1925 if (cscData[iCSC].alctHeader()->
check()) {
1931 int nclct = cscData[iCSC].dmbHeader()->nclct();
1932 bool goodTMB =
false;
1933 if (nclct && cscData[iCSC].tmbData()) {
1934 if (cscData[iCSC].tmbHeader()->
check()) {
1935 if (cscData[iCSC].comparatorData()->
check())
1940 if (goodTMB && goodALCT) {
1941 const CSCTMBHeader* tmbHead = cscData[iCSC].tmbHeader();
1942 std::vector<CSCCLCTDigi> clcts = cscData[iCSC].tmbHeader()->CLCTDigis(
layer.rawId());
1943 if (clcts.empty() || !(clcts[0].isValid()))
1946 if (
layer.station() == 1 &&
layer.ring() == 1 && clcts[0].getKeyStrip() > 128) {
1958 int TMB_CLCTpre_rel_L1A = tmbHead->
BXNCount() - clcts[0].getFullBX();
1959 if (TMB_CLCTpre_rel_L1A > 3563)
1960 TMB_CLCTpre_rel_L1A = TMB_CLCTpre_rel_L1A - 3564;
1961 if (TMB_CLCTpre_rel_L1A < 0)
1962 TMB_CLCTpre_rel_L1A = TMB_CLCTpre_rel_L1A + 3564;
1973 if (examiner !=
nullptr)
References CSCTMBHeader::ALCTMatchTime(), CSCTMBHeader::BXNCount(), CSCDetId::chamber(), RPCNoise_example::check, CSCDCCExaminer::check(), CSCDCCExaminer::crcALCT(), CSCDCCExaminer::crcCFEB(), CSCDCCExaminer::crcTMB(), FEDRawData::data(), data, CSCDCCEventData::dduData(), CSCCrateMap::detId(), CSCDCCExaminer::errors(), FEDRawDataCollection::FEDData(), edm::EventSetup::get(), get, mps_fire::i, triggerObjects_cff::id, dqmiolumiharvest::j, phase1PixelTopology::layer, LogTrace, FEDNumbering::MAXCSCDDUFEDID, FEDNumbering::MAXCSCFEDID, FEDNumbering::MINCSCDDUFEDID, FEDNumbering::MINCSCFEDID, edm::ESHandle< T >::product(), FastTimerService_cff::range, CSCDCCExaminer::setMask(), and FEDRawData::size().
◆ doEfficiencies()
Definition at line 1477 of file CSCOfflineMonitor.cc.
1482 bool allWires[2][4][4][36][6];
1483 bool allStrips[2][4][4][36][6];
1484 bool AllRecHits[2][4][4][36][6];
1485 bool AllSegments[2][4][4][36];
1488 for (
int iE = 0; iE < 2; iE++) {
1489 for (
int iS = 0; iS < 4; iS++) {
1490 for (
int iR = 0; iR < 4; iR++) {
1491 for (
int iC = 0; iC < 36; iC++) {
1492 AllSegments[iE][iS][iR][iC] =
false;
1494 for (
int iL = 0; iL < 6; iL++) {
1495 allWires[iE][iS][iR][iC][iL] =
false;
1496 allStrips[iE][iS][iR][iC][iL] =
false;
1497 AllRecHits[iE][iS][iR][iC][iL] =
false;
1507 std::vector<CSCWireDigi>::const_iterator wireIter = (*dWDiter).second.first;
1508 std::vector<CSCWireDigi>::const_iterator lWire = (*dWDiter).second.second;
1509 for (; wireIter != lWire; ++wireIter) {
1519 std::vector<CSCStripDigi>::const_iterator stripIter = (*dSDiter).second.first;
1520 std::vector<CSCStripDigi>::const_iterator lStrip = (*dSDiter).second.second;
1521 for (; stripIter != lStrip; ++stripIter) {
1522 std::vector<int> myADCVals = stripIter->getADCCounts();
1523 bool thisStripFired =
false;
1524 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1527 for (
unsigned int iCount = 0; iCount < myADCVals.size(); iCount++) {
1528 diff = (
float)myADCVals[iCount] - thisPedestal;
1530 thisStripFired =
true;
1534 if (thisStripFired) {
1550 std::vector<uint> seg_ME2(2, 0);
1551 std::vector<uint> seg_ME3(2, 0);
1552 std::vector<pair<CSCDetId, CSCSegment> > theSegments(4);
1567 ++seg_ME2[idseg.
endcap() - 1];
1568 seg_tmp = seg_ME2[idseg.
endcap() - 1];
1570 ++seg_ME3[idseg.
endcap() - 1];
1571 seg_tmp = seg_ME3[idseg.
endcap() - 1];
1574 if (1 == seg_tmp && 6 == (*segEffIt).nRecHits() && (*segEffIt).chi2() / (*segEffIt).degreesOfFreedom() < 3.) {
1575 pair<CSCDetId, CSCSegment> specSeg = make_pair((
CSCDetId)(*segEffIt).cscDetId(), *segEffIt);
1576 theSegments[2 * (idseg.
endcap() - 1) + (idseg.
station() - 2)] = specSeg;
1597 for (
int iE = 0; iE < 2; iE++) {
1598 for (
int iS = 0; iS < 4; iS++) {
1599 for (
int iR = 0; iR < 4; iR++) {
1600 for (
int iC = 0; iC < 36; iC++) {
1601 int NumberOfLayers = 0;
1602 for (
int iL = 0; iL < 6; iL++) {
1603 if (AllRecHits[iE][iS][iR][iC][iL]) {
1609 bin = iR + 1 + (iE * 10);
1611 bin = (iS + 1) * 2 + (iR + 1) + (iE * 10);
1612 if (NumberOfLayers > 1) {
1614 if (AllSegments[iE][iS][iR][iC]) {
1622 if (AllSegments[iE][iS][iR][iC]) {
1623 if (NumberOfLayers == 6) {
1638 std::vector<pair<CSCDetId, CSCSegment>*> theSeg;
1639 if (1 == seg_ME2[0])
1640 theSeg.push_back(&theSegments[0]);
1641 if (1 == seg_ME3[0])
1642 theSeg.push_back(&theSegments[1]);
1643 if (1 == seg_ME2[1])
1644 theSeg.push_back(&theSegments[2]);
1645 if (1 == seg_ME3[1])
1646 theSeg.push_back(&theSegments[3]);
1651 std::map<std::string, float> chamberTypes;
1652 chamberTypes[
"ME1/a"] = 0.5;
1653 chamberTypes[
"ME1/b"] = 1.5;
1654 chamberTypes[
"ME1/2"] = 2.5;
1655 chamberTypes[
"ME1/3"] = 3.5;
1656 chamberTypes[
"ME2/1"] = 4.5;
1657 chamberTypes[
"ME2/2"] = 5.5;
1658 chamberTypes[
"ME3/1"] = 6.5;
1659 chamberTypes[
"ME3/2"] = 7.5;
1660 chamberTypes[
"ME4/1"] = 8.5;
1661 chamberTypes[
"ME4/2"] = 9.5;
1663 if (!theSeg.empty()) {
1664 std::map<int, GlobalPoint> extrapolatedPoint;
1665 std::map<int, GlobalPoint>::iterator it;
1668 for (
unsigned int nCh = 0; nCh < ChamberContainer.size(); nCh++) {
1669 const CSCChamber* cscchamber = ChamberContainer[nCh];
1670 pair<CSCDetId, CSCSegment>* thisSegment =
nullptr;
1671 for (
uint iSeg = 0; iSeg < theSeg.size(); ++iSeg) {
1672 if (cscchamber->
id().
endcap() == theSeg[iSeg]->first.endcap()) {
1674 if (2 == theSeg[iSeg]->
first.station()) {
1675 thisSegment = theSeg[iSeg];
1678 if (3 == theSeg[iSeg]->
first.station()) {
1679 thisSegment = theSeg[iSeg];
1691 it = extrapolatedPoint.find(
int(cscchamberCenter.
z()));
1692 if (it == extrapolatedPoint.end()) {
1696 double xExtrapolated =
extrapolate1D(segPos.
x(), segDir.
x(), paramaterLine);
1697 double yExtrapolated =
extrapolate1D(segPos.
y(), segDir.
y(), paramaterLine);
1698 GlobalPoint globP(xExtrapolated, yExtrapolated, cscchamberCenter.
z());
1699 extrapolatedPoint[
int(cscchamberCenter.
z())] = globP;
1702 LocalPoint extrapolatedPointLocal = cscchamber->
toLocal(extrapolatedPoint[
int(cscchamberCenter.
z())]);
1705 const std::array<const float, 4>& layerBounds = layerGeom->
parameters();
1706 float shiftFromEdge = 15.;
1707 float shiftFromDeadZone = 10.;
1722 for (
int iL = 0; iL < 6; ++iL) {
1730 if (cscchamberCenter.
z() < 0) {
1731 verticalScale = -verticalScale;
1733 verticalScale += 10.5;
1735 if (nRHLayers > 1) {
1747 for (
int iL = 0; iL < 6; ++iL) {
References newFWLiteAna::bin, CSCDetId::chamber(), CSCGeometry::chamber(), CSCGeometry::chambers(), CSCChamberSpecs::chamberTypeName(), dtChamberEfficiency_cfi::cscSegments, change_name::diff, CSCDetId::endcap(), first, dqmMemoryStats::float, cms::cuda::for(), CSCLayer::geometry(), CSCChamber::id(), createfilelist::int, CSCChamber::layer(), CSCDetId::layer(), CSCSegment::localDirection(), CSCSegment::localPosition(), TrapezoidalPlaneBounds::parameters(), FastTrackerRecHitMaskProducer_cfi::recHits, CSCDetId::ring(), CSCChamber::specs(), CSCDetId::station(), DigiDM_cff::strips, remoteMonitoring_LED_IterMethod_cfg::threshold, GeomDet::toGlobal(), GeomDet::toLocal(), parallelization::uint, mps_merge::weight, DigiDM_cff::wires, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
◆ doOccupancies()
Definition at line 847 of file CSCOfflineMonitor.cc.
852 bool clcto[2][4][4][36];
853 bool wireo[2][4][4][36];
854 bool stripo[2][4][4][36];
855 bool rechito[2][4][4][36];
856 bool segmento[2][4][4][36];
858 bool hasWires =
false;
859 bool hasStrips =
false;
860 bool hasRecHits =
false;
861 bool hasSegments =
false;
863 for (
int e = 0;
e < 2;
e++) {
864 for (
int s = 0;
s < 4;
s++) {
865 for (
int r = 0;
r < 4;
r++) {
866 for (
int c = 0;
c < 36;
c++) {
867 clcto[
e][
s][
r][
c] =
false;
868 wireo[
e][
s][
r][
c] =
false;
869 stripo[
e][
s][
r][
c] =
false;
870 rechito[
e][
s][
r][
c] =
false;
871 segmento[
e][
s][
r][
c] =
false;
880 int kEndcap =
id.
endcap();
881 int kRing =
id.ring();
882 int kStation =
id.station();
883 int kChamber =
id.chamber();
887 if ((*digiIt).isValid()) {
889 if (kStation == 1 && kRing == 1 && (*digiIt).getKeyStrip() > 128)
891 clcto[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
899 int kEndcap =
id.
endcap();
900 int kRing =
id.ring();
901 int kStation =
id.station();
902 int kChamber =
id.chamber();
903 std::vector<CSCWireDigi>::const_iterator wireIt = (*wi).second.first;
904 std::vector<CSCWireDigi>::const_iterator lastWire = (*wi).second.second;
905 for (; wireIt != lastWire; ++wireIt) {
906 if (!wireo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
907 wireo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
911 if (clcto[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1])
914 if (kStation == 1 && kRing == 1 && clcto[kEndcap - 1][kStation - 1][3][kChamber - 1]) {
925 int kEndcap =
id.
endcap();
926 int kRing =
id.ring();
927 int kStation =
id.station();
928 int kChamber =
id.chamber();
929 std::vector<CSCStripDigi>::const_iterator stripIt = (*si).second.first;
930 std::vector<CSCStripDigi>::const_iterator lastStrip = (*si).second.second;
931 for (; stripIt != lastStrip; ++stripIt) {
932 std::vector<int> myADCVals = stripIt->getADCCounts();
933 bool thisStripFired =
false;
934 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
937 for (
unsigned int iCount = 0; iCount < myADCVals.size(); iCount++) {
938 diff = (
float)myADCVals[iCount] - thisPedestal;
940 thisStripFired =
true;
943 if (thisStripFired) {
944 if (!stripo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
945 stripo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
949 if (clcto[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
952 if (wireo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] ||
953 (kRing == 4 && wireo[kEndcap - 1][kStation - 1][0][kChamber - 1])) {
964 for (recIt =
recHits->begin(); recIt !=
recHits->end(); recIt++) {
966 int kEndcap = idrec.
endcap();
967 int kRing = idrec.
ring();
968 int kStation = idrec.
station();
969 int kChamber = idrec.
chamber();
970 if (!rechito[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
971 rechito[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
981 int kEndcap =
id.
endcap();
982 int kRing =
id.ring();
983 int kStation =
id.station();
984 int kChamber =
id.chamber();
985 if (!segmento[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
986 segmento[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
999 if (hasWires && hasStrips)
References c, CSCDetId::chamber(), dtChamberEfficiency_cfi::cscSegments, change_name::diff, MillePedeFileConverter_cfg::e, CSCDetId::endcap(), dqmMemoryStats::float, dqmiolumiharvest::j, alignCSCRings::r, FastTimerService_cff::range, FastTrackerRecHitMaskProducer_cfi::recHits, CSCDetId::ring(), alignCSCRings::s, CSCDetId::station(), DigiDM_cff::strips, remoteMonitoring_LED_IterMethod_cfg::threshold, and DigiDM_cff::wires.
◆ doPedestalNoise()
Definition at line 1080 of file CSCOfflineMonitor.cc.
1085 int kRing =
id.ring();
1086 std::vector<CSCStripDigi>::const_iterator pedIt = (*dPNiter).second.first;
1087 std::vector<CSCStripDigi>::const_iterator lStrip = (*dPNiter).second.second;
1088 for (; pedIt != lStrip; ++pedIt) {
1089 int myStrip = pedIt->getStrip();
1090 std::vector<int> myADCVals = pedIt->getADCCounts();
1092 bool thisStripFired =
false;
1093 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1095 (1. / 6) * (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1100 if ((kStation == 1 && kRing == 4) && cscGeom->
gangedStrips()) {
1107 thisStripFired =
true;
1109 if (!thisStripFired) {
1110 float ADC = thisSignal - thisPedestal;
References dqmMemoryStats::float, CSCGeometry::gangedStrips(), CSCDetId::station(), DigiDM_cff::strips, and remoteMonitoring_LED_IterMethod_cfg::threshold.
◆ doRecHits()
Find the charge associated with this hit
Definition at line 1123 of file CSCOfflineMonitor.cc.
1127 int nRecHits =
recHits->size();
1134 for (dRHIter =
recHits->begin(); dRHIter !=
recHits->end(); dRHIter++) {
1139 LocalPoint rhitlocal = (*dRHIter).localPosition();
1144 float stpos = (*dRHIter).positionWithinStrip();
1145 float sterr = (*dRHIter).errorWithinStrip();
1149 int adcsize = dRHIter->nStrips() * dRHIter->nTimeBins();
1152 for (
unsigned int i = 0;
i < dRHIter->nStrips();
i++) {
1153 for (
unsigned int j = 0;
j < dRHIter->nTimeBins() - 1;
j++) {
1154 rHSumQ += dRHIter->adcs(
i,
j);
1156 sumsides += dRHIter->adcs(
i,
j);
1160 float rHratioQ = sumsides / rHSumQ;
1165 float rHtime = (*dRHIter).tpeak();
1166 float rHtimeAnode = (*dRHIter).wireTime();
1173 float grecx = rhitglobal.
x();
1174 float grecy = rhitglobal.
y();
1179 hRHSumQ[tIndex - 1]->Fill(rHSumQ);
1185 hRHGlobal[sIndex - 1]->Fill(grecx, grecy);
References CSCDetId::endcap(), mps_fire::i, dqmiolumiharvest::j, CSCGeometry::layer(), FastTrackerRecHitMaskProducer_cfi::recHits, CSCDetId::station(), GeomDet::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
◆ doResolution()
Find the strip containing this hit
Definition at line 1322 of file CSCOfflineMonitor.cc.
1328 std::vector<CSCRecHit2D> theseRecHits = (*dSiter).specificRecHits();
1329 int nRH = (*dSiter).nRecHits();
1331 CLHEP::HepMatrix sp(6, 1);
1332 CLHEP::HepMatrix se(6, 1);
1333 for (vector<CSCRecHit2D>::const_iterator iRH = theseRecHits.begin(); iRH != theseRecHits.end(); iRH++) {
1337 int kRing = idRH.
ring();
1338 int kStation = idRH.
station();
1343 int centerid = iRH->nStrips() / 2 + 1;
1344 int centerStrip = iRH->channels(centerid - 1);
1348 float stpos = (*iRH).positionWithinStrip();
1349 se(
kLayer, 1) = (*iRH).errorWithinStrip();
1351 if (kStation == 1 && (kRing == 1 || kRing == 4))
1352 sp(
kLayer, 1) = stpos + centerStrip;
1355 sp(
kLayer, 1) = stpos + centerStrip;
1357 sp(
kLayer, 1) = stpos - 0.5 + centerStrip;
1365 float expected =
fitX(sp, se);
1366 float residual = expected - sp(3, 1);
References dtChamberEfficiency_cfi::cscSegments, kLayer(), CSCDetId::layer(), CSCDetId::ring(), and CSCDetId::station().
◆ doSegments()
Definition at line 1199 of file CSCOfflineMonitor.cc.
1205 float chisq = (*dSiter).chi2();
1206 int nhits = (*dSiter).nRecHits();
1207 int nDOF = 2 *
nhits - 4;
1208 float nChi2 = chisq / nDOF;
1210 LocalPoint localPos = (*dSiter).localPosition();
1214 float timeCathode = 0;
1215 float timeAnode = 0;
1216 float timeCombined = 0;
1217 std::vector<float> cathodeTimes;
1218 std::vector<float> anodeTimes;
1220 std::vector<CSCRecHit2D> theseRecHits = (*dSiter).specificRecHits();
1221 for (vector<CSCRecHit2D>::const_iterator iRH = theseRecHits.begin(); iRH != theseRecHits.end(); iRH++) {
1222 if (!((*iRH).isValid()))
1224 cathodeTimes.push_back((*iRH).tpeak());
1225 anodeTimes.push_back((*iRH).wireTime());
1229 for (
unsigned int i = 0;
i < cathodeTimes.size();
i++)
1230 timeCathode += cathodeTimes[
i] / cathodeTimes.size();
1234 bool modified =
false;
1235 std::vector<float>::iterator anodeMaxHit;
1237 if (anodeTimes.empty())
1244 for (
unsigned int j = 0;
j < anodeTimes.size();
j++)
1245 timeAnode += anodeTimes[
j] / anodeTimes.size();
1248 for (
unsigned int j = 0;
j < anodeTimes.size();
j++) {
1249 if (fabs(anodeTimes[
j] - timeAnode) > anodeMaxDiff) {
1250 anodeMaxHit = anodeTimes.begin() +
j;
1251 anodeMaxDiff = fabs(anodeTimes[
j] - timeAnode);
1256 if (anodeMaxDiff > 26) {
1258 anodeTimes.erase(anodeMaxHit);
1263 if (cathodeTimes.size() + anodeTimes.size() > 0)
1264 timeCombined = (timeCathode * cathodeTimes.size() + timeAnode * anodeTimes.size()) /
1265 (cathodeTimes.size() + anodeTimes.size());
1272 float globTheta = 0.;
1277 globX = globalPosition.
x();
1278 globY = globalPosition.
y();
1279 globZ = globalPosition.
z();
1280 globTOF =
sqrt(globX * globX + globY * globY + globZ * globZ);
1282 globTheta = globalDirection.
theta();
1283 globPhi = globalDirection.
phi();
1291 hSChiSq[tIndex - 1]->Fill(nChi2);
References CSCGeometry::chamber(), ChiSquaredProbability(), dtChamberEfficiency_cfi::cscSegments, mps_fire::i, dqmiolumiharvest::j, nhits, PV3DBase< T, PVType, FrameType >::phi(), mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::theta(), GeomDet::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
◆ doStripDigis()
Definition at line 1040 of file CSCOfflineMonitor.cc.
1041 int nStripsFired = 0;
1044 std::vector<CSCStripDigi>::const_iterator stripIter = (*dSDiter).second.first;
1045 std::vector<CSCStripDigi>::const_iterator lStrip = (*dSDiter).second.second;
1046 for (; stripIter != lStrip; ++stripIter) {
1047 int myStrip = stripIter->getStrip();
1048 std::vector<int> myADCVals = stripIter->getADCCounts();
1049 bool thisStripFired =
false;
1050 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1053 for (
unsigned int iCount = 0; iCount < myADCVals.size(); iCount++) {
1054 diff = (
float)myADCVals[iCount] - thisPedestal;
1056 thisStripFired =
true;
1059 if (thisStripFired) {
References change_name::diff, dqmMemoryStats::float, cms::cuda::for(), DigiDM_cff::strips, and remoteMonitoring_LED_IterMethod_cfg::threshold.
◆ doWireDigis()
Definition at line 1013 of file CSCOfflineMonitor.cc.
1014 int nWireGroupsTotal = 0;
1017 std::vector<CSCWireDigi>::const_iterator wireIter = (*dWDiter).second.first;
1018 std::vector<CSCWireDigi>::const_iterator lWire = (*dWDiter).second.second;
1019 for (; wireIter != lWire; ++wireIter) {
1020 int myWire = wireIter->getWireGroup();
1021 int myTBin = wireIter->getTimeBin();
References cms::cuda::for(), and DigiDM_cff::wires.
◆ extrapolate1D()
double CSCOfflineMonitor::extrapolate1D |
( |
double |
initPosition, |
|
|
double |
initDirection, |
|
|
double |
parameterOfTheLine |
|
) |
| |
|
inlineprivate |
Definition at line 137 of file CSCOfflineMonitor.h.
138 double extrapolatedPosition = initPosition + initDirection * parameterOfTheLine;
139 return extrapolatedPosition;
◆ fillEfficiencyHistos()
void CSCOfflineMonitor::fillEfficiencyHistos |
( |
int |
bin, |
|
|
int |
flag |
|
) |
| |
|
private |
◆ fitX()
float CSCOfflineMonitor::fitX |
( |
const CLHEP::HepMatrix & |
sp, |
|
|
const CLHEP::HepMatrix & |
ep |
|
) |
| |
|
private |
◆ getSignal()
Definition at line 1414 of file CSCOfflineMonitor.cc.
1426 for (sIt = stripdigis.begin(); sIt != stripdigis.end(); sIt++) {
1430 vector<CSCStripDigi>::const_iterator digiItr = (*sIt).second.first;
1431 vector<CSCStripDigi>::const_iterator
last = (*sIt).second.second;
1432 for (; digiItr !=
last; ++digiItr) {
1433 int thisStrip = digiItr->getStrip();
1434 if (thisStrip == (centerStrip)) {
1435 std::vector<int> myADCVals = digiItr->getADCCounts();
1436 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1437 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1438 SigADC[0] = thisSignal - 6 * thisPedestal;
1441 if (thisStrip == (centerStrip + 1)) {
1442 std::vector<int> myADCVals = digiItr->getADCCounts();
1443 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1444 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1445 SigADC[1] = thisSignal - 6 * thisPedestal;
1447 if (thisStrip == (centerStrip + 2)) {
1448 std::vector<int> myADCVals = digiItr->getADCCounts();
1449 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1450 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1451 SigADC[2] = thisSignal - 6 * thisPedestal;
1453 if (thisStrip == (centerStrip - 1)) {
1454 std::vector<int> myADCVals = digiItr->getADCCounts();
1455 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1456 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1457 SigADC[3] = thisSignal - 6 * thisPedestal;
1459 if (thisStrip == (centerStrip - 2)) {
1460 std::vector<int> myADCVals = digiItr->getADCCounts();
1461 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1462 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1463 SigADC[4] = thisSignal - 6 * thisPedestal;
1466 TotalADC = 0.2 * (SigADC[0] + SigADC[1] + SigADC[2] + SigADC[3] + SigADC[4]);
References dqmMemoryStats::float, if(), and dqmdumpme::last.
◆ lineParametrization()
double CSCOfflineMonitor::lineParametrization |
( |
double |
z1Position, |
|
|
double |
z2Position, |
|
|
double |
z1Direction |
|
) |
| |
|
inlineprivate |
Definition at line 132 of file CSCOfflineMonitor.h.
133 double parameterLine = (z2Position - z1Position) / z1Direction;
134 return parameterLine;
◆ typeIndex()
int CSCOfflineMonitor::typeIndex |
( |
CSCDetId |
id, |
|
|
int |
flag = 1 |
|
) |
| |
|
private |
◆ withinSensitiveRegion()
bool CSCOfflineMonitor::withinSensitiveRegion |
( |
LocalPoint |
localPos, |
|
|
const std::array< const float, 4 > & |
layerBounds, |
|
|
int |
station, |
|
|
int |
ring, |
|
|
float |
shiftFromEdge, |
|
|
float |
shiftFromDeadZone |
|
) |
| |
|
private |
Definition at line 1981 of file CSCOfflineMonitor.cc.
1990 float y_center = 0.;
1991 double yUp = layerBounds[3] + y_center;
1992 double yDown = -layerBounds[3] + y_center;
1993 double xBound1Shifted = layerBounds[0] - shiftFromEdge;
1994 double xBound2Shifted = layerBounds[1] - shiftFromEdge;
1995 double lineSlope = (yUp - yDown) / (xBound2Shifted - xBound1Shifted);
1996 double lineConst = yUp - lineSlope * xBound2Shifted;
1997 double yBorder = lineSlope *
abs(localPos.
x()) + lineConst;
2000 std::vector<float> deadZoneCenter(6);
2001 float cutZone = shiftFromDeadZone;
2005 deadZoneCenter[0] = -162.48;
2006 deadZoneCenter[1] = -81.8744;
2007 deadZoneCenter[2] = -21.18165;
2008 deadZoneCenter[3] = 39.51105;
2009 deadZoneCenter[4] = 100.2939;
2010 deadZoneCenter[5] = 160.58;
2012 if (localPos.
y() > yBorder &&
2013 ((localPos.
y() > deadZoneCenter[0] + cutZone && localPos.
y() < deadZoneCenter[1] - cutZone) ||
2014 (localPos.
y() > deadZoneCenter[1] + cutZone && localPos.
y() < deadZoneCenter[2] - cutZone) ||
2015 (localPos.
y() > deadZoneCenter[2] + cutZone && localPos.
y() < deadZoneCenter[3] - cutZone) ||
2016 (localPos.
y() > deadZoneCenter[3] + cutZone && localPos.
y() < deadZoneCenter[4] - cutZone) ||
2017 (localPos.
y() > deadZoneCenter[4] + cutZone && localPos.
y() < deadZoneCenter[5] - cutZone))) {
2020 }
else if (1 ==
ring) {
2022 deadZoneCenter[0] = -95.80;
2023 deadZoneCenter[1] = -27.47;
2024 deadZoneCenter[2] = 33.67;
2025 deadZoneCenter[3] = 90.85;
2027 deadZoneCenter[0] = -89.305;
2028 deadZoneCenter[1] = -39.705;
2029 deadZoneCenter[2] = 20.195;
2030 deadZoneCenter[3] = 77.395;
2032 deadZoneCenter[0] = -75.645;
2033 deadZoneCenter[1] = -26.055;
2034 deadZoneCenter[2] = 23.855;
2035 deadZoneCenter[3] = 70.575;
2037 if (localPos.
y() > yBorder &&
2038 ((localPos.
y() > deadZoneCenter[0] + cutZone && localPos.
y() < deadZoneCenter[1] - cutZone) ||
2039 (localPos.
y() > deadZoneCenter[1] + cutZone && localPos.
y() < deadZoneCenter[2] - cutZone) ||
2040 (localPos.
y() > deadZoneCenter[2] + cutZone && localPos.
y() < deadZoneCenter[3] - cutZone))) {
2046 deadZoneCenter[0] = -83.155;
2047 deadZoneCenter[1] = -22.7401;
2048 deadZoneCenter[2] = 27.86665;
2049 deadZoneCenter[3] = 81.005;
2050 if (localPos.
y() > yBorder &&
2051 ((localPos.
y() > deadZoneCenter[0] + cutZone && localPos.
y() < deadZoneCenter[1] - cutZone) ||
2052 (localPos.
y() > deadZoneCenter[1] + cutZone && localPos.
y() < deadZoneCenter[2] - cutZone) ||
2053 (localPos.
y() > deadZoneCenter[2] + cutZone && localPos.
y() < deadZoneCenter[3] - cutZone))) {
2056 }
else if (2 ==
ring) {
2057 deadZoneCenter[0] = -86.285;
2058 deadZoneCenter[1] = -32.88305;
2059 deadZoneCenter[2] = 32.867423;
2060 deadZoneCenter[3] = 88.205;
2061 if (localPos.
y() > (yBorder) &&
2062 ((localPos.
y() > deadZoneCenter[0] + cutZone && localPos.
y() < deadZoneCenter[1] - cutZone) ||
2063 (localPos.
y() > deadZoneCenter[1] + cutZone && localPos.
y() < deadZoneCenter[2] - cutZone) ||
2064 (localPos.
y() > deadZoneCenter[2] + cutZone && localPos.
y() < deadZoneCenter[3] - cutZone))) {
2068 deadZoneCenter[0] = -81.0;
2069 deadZoneCenter[1] = 81.0;
2070 if (localPos.
y() > (yBorder) &&
2071 (localPos.
y() > deadZoneCenter[0] + cutZone && localPos.
y() < deadZoneCenter[1] - cutZone)) {
References funct::abs(), relativeConstraints::ring, relativeConstraints::station, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
◆ al_token
◆ cl_token
◆ hALCTgetBX
◆ hALCTgetBX2Denominator
◆ hALCTgetBX2DNumerator
◆ hALCTgetBXSerial
◆ hALCTMatch
◆ hALCTMatch2Denominator
◆ hALCTMatch2DNumerator
◆ hALCTMatchSerial
◆ hCLCTL1A
◆ hCLCTL1A2Denominator
◆ hCLCTL1A2DNumerator
◆ hCLCTL1ASerial
◆ hCSCOccupancy
◆ hEffDenominator
◆ hORecHits
◆ hORecHitsSerial
◆ hOSegments
◆ hOSegmentsSerial
◆ hOStrips
◆ hOStripsAndWiresAndCLCT
◆ hOStripSerial
◆ hOWires
◆ hOWiresAndCLCT
◆ hOWireSerial
◆ hRHden
◆ hRHGlobal
◆ hRHnrechits
◆ hRHnum
◆ hRHRatioQ
◆ hRHSTE2
◆ hRHsterr
◆ hRHstpos
◆ hRHSumQ
◆ hRHTiming
◆ hRHTimingAnode
◆ hSChiSq
◆ hSChiSqAll
◆ hSChiSqProb
◆ hSChiSqProbAll
◆ hSden
◆ hSensitiveAreaEvt
◆ hSGlobalPhi
◆ hSGlobalTheta
◆ hSnhits
◆ hSnhitsAll
◆ hSnSegments
◆ hSnum
◆ hSResid
◆ hSSTE2
◆ hSTimeAnode
◆ hSTimeAnodeByChamberType
std::vector<MonitorElement *> CSCOfflineMonitor::hSTimeAnodeByChamberType |
|
private |
◆ hSTimeAnodeSerial
◆ hSTimeCathode
◆ hSTimeCathodeByChamberType
std::vector<MonitorElement *> CSCOfflineMonitor::hSTimeCathodeByChamberType |
|
private |
◆ hSTimeCathodeSerial
◆ hSTimeCombined
◆ hSTimeCombinedByChamberType
std::vector<MonitorElement *> CSCOfflineMonitor::hSTimeCombinedByChamberType |
|
private |
◆ hSTimeCombinedSerial
◆ hSTimeDiff
◆ hSTimeDiffByChamberType
std::vector<MonitorElement *> CSCOfflineMonitor::hSTimeDiffByChamberType |
|
private |
◆ hSTimeDiffSerial
◆ hSTimeVsTOF
◆ hSTimeVsZ
◆ hStripNFired
◆ hStripNumber
◆ hStripPed
◆ hStripSTE2
◆ hWirenGroupsTotal
◆ hWireNumber
◆ hWireSTE2
◆ hWireTBin
◆ param
◆ rd_token
◆ rh_token
◆ sd_token
◆ se_token
◆ wd_token
T const * product() const
MonitorElement * hALCTgetBXSerial
std::vector< MonitorElement * > hRHGlobal
MonitorElement * hSChiSqProbAll
int chamberSerial(CSCDetId id)
MonitorElement * hOSegmentsSerial
MonitorElement * hORecHitsSerial
const CSCLayer * layer(CSCDetId id) const
Return the layer corresponding to the given id.
MonitorElement * hORecHits
std::vector< MonitorElement * > hRHSumQ
MonitorElement * hOWireSerial
const std::vector< CSCDDUEventData > & dduData() const
accessor to dduData
ExaminerStatusType errors(void) const
float getSignal(const CSCStripDigiCollection &stripdigis, CSCDetId idRH, int centerStrip)
std::vector< MonitorElement * > hWireNumber
void doResolution(edm::Handle< CSCSegmentCollection > cscSegments, edm::ESHandle< CSCGeometry > cscGeom)
float ChiSquaredProbability(double chiSquared, double nrDOF)
void applyCSClabels(MonitorElement *meHisto, LabelType t, AxisType a)
Geom::Theta< T > theta() const
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * hSTimeAnodeSerial
MonitorElement * hSnSegments
edm::EDGetTokenT< CSCWireDigiCollection > wd_token
bool gangedStrips() const
std::vector< MonitorElement * > hSResid
Log< level::Warning, false > LogWarning
std::vector< MonitorElement * > hRHstpos
MonitorElement * hSnhitsAll
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
std::vector< DigiType >::const_iterator const_iterator
MonitorElement * hWirenGroupsTotal
std::vector< MonitorElement * > hStripNumber
MonitorElement * hOStripSerial
MonitorElement * hCLCTL1ASerial
MonitorElement * hOStripsAndWiresAndCLCT
MonitorElement * hWireSTE2
MonitorElement * hALCTMatch2DNumerator
MonitorElement * hSTimeDiffSerial
MonitorElement * hSTimeAnode
MonitorElement * hSGlobalPhi
MonitorElement * hSTimeCombined
MonitorElement * hALCTMatchSerial
virtual const std::array< const float, 4 > parameters() const
MonitorElement * hALCTgetBX
const CSCLayerGeometry * geometry() const
MonitorElement * hSGlobalTheta
MonitorElement * hOSegments
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
MonitorElement * hOWiresAndCLCT
std::vector< MonitorElement * > hSnhits
constexpr std::array< uint8_t, layerIndexSize > layer
float fitX(const CLHEP::HepMatrix &sp, const CLHEP::HepMatrix &ep)
MonitorElement * hSChiSqAll
MonitorElement * hCSCOccupancy
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
edm::EDGetTokenT< CSCSegmentCollection > se_token
edm::EDGetTokenT< CSCStripDigiCollection > sd_token
edm::EDGetTokenT< FEDRawDataCollection > rd_token
void setMask(ExaminerMaskType mask)
C::const_iterator const_iterator
constant access iterator type
std::string chamberTypeName() const
LocalVector localDirection() const override
Local direction.
int typeIndex(CSCDetId id, int flag=1)
std::vector< MonitorElement * > hRHTimingAnode
int32_t check(const uint16_t *&buffer, int32_t length)
std::vector< MonitorElement * > hRHsterr
MonitorElement * hSTimeDiff
std::vector< MonitorElement * > hSTimeCombinedByChamberType
std::vector< const CSCChamber * > ChamberContainer
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
edm::EDGetTokenT< CSCCLCTDigiCollection > cl_token
std::vector< MonitorElement * > hSChiSqProb
MonitorElement * hALCTMatch
std::vector< MonitorElement * > hSChiSq
const CSCChamberSpecs * specs() const
void doStripDigis(edm::Handle< CSCStripDigiCollection > strips)
MonitorElement * hALCTMatch2Denominator
MonitorElement * hSTimeVsZ
for(int i=first, nt=offsets[nh];i< nt;i+=gridDim.x *blockDim.x)
size_t size() const
Lenght of the data buffer in bytes.
std::vector< MonitorElement * > hStripPed
void doBXMonitor(edm::Handle< CSCALCTDigiCollection > alcts, edm::Handle< CSCCLCTDigiCollection > clcts, const edm::Event &event, const edm::EventSetup &eventSetup)
MonitorElement * hCLCTL1A2Denominator
MonitorElement * hALCTgetBX2Denominator
const CSCLayer * layer(CSCDetId id) const
Return the layer corresponding to given DetId.
MonitorElement * hStripNFired
void doPedestalNoise(edm::Handle< CSCStripDigiCollection > strips, edm::ESHandle< CSCGeometry > cscGeom)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
void doSegments(edm::Handle< CSCSegmentCollection > cscSegments, edm::ESHandle< CSCGeometry > cscGeom)
void crcALCT(bool enable)
CSCDetId detId(int vme, int dmb, int cfeb, int layer=0) const
std::vector< MonitorElement * > hWireTBin
std::vector< MonitorElement * > hRHTiming
std::pair< const_iterator, const_iterator > Range
void doWireDigis(edm::Handle< CSCWireDigiCollection > wires)
MonitorElement * hRHnrechits
MonitorElement * hCLCTL1A2DNumerator
const ChamberContainer & chambers() const
Return a vector of all chambers.
char data[epos_bytes_allocation]
MonitorElement * hALCTgetBX2DNumerator
void doEfficiencies(edm::Handle< CSCWireDigiCollection > wires, edm::Handle< CSCStripDigiCollection > strips, edm::Handle< CSCRecHit2DCollection > recHits, edm::Handle< CSCSegmentCollection > cscSegments, edm::ESHandle< CSCGeometry > cscGeom)
double lineParametrization(double z1Position, double z2Position, double z1Direction)
void crcCFEB(bool enable)
Abs< T >::type abs(const T &t)
MonitorElement * hCLCTL1A
MonitorElement * hSensitiveAreaEvt
bool withinSensitiveRegion(LocalPoint localPos, const std::array< const float, 4 > &layerBounds, int station, int ring, float shiftFromEdge, float shiftFromDeadZone)
static const double slope[3]
edm::EDGetTokenT< CSCRecHit2DCollection > rh_token
std::vector< MonitorElement * > hRHRatioQ
std::vector< MonitorElement * > hSTimeAnodeByChamberType
CSCDetId id() const
Get the (concrete) DetId.
MonitorElement * hSTimeVsTOF
MonitorElement * hOStrips
void doRecHits(edm::Handle< CSCRecHit2DCollection > recHits, edm::Handle< CSCStripDigiCollection > strips, edm::ESHandle< CSCGeometry > cscGeom)
LocalPoint localPosition() const override
MonitorElement * hSTimeCathode
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::vector< MonitorElement * > hSTimeDiffByChamberType
MonitorElement * hEffDenominator
strips
#turn off noise in all subdetectors simHcalUnsuppressedDigis.doNoise = False mix.digitizers....
double extrapolate1D(double initPosition, double initDirection, double parameterOfTheLine)
Geom::Phi< T > phi() const
const CSCChamber * chamber(CSCDetId id) const
Return the chamber corresponding to given DetId.
MonitorElement * hSTimeCathodeSerial
edm::EDGetTokenT< CSCALCTDigiCollection > al_token
static const std::string kLayer("layer")
void doOccupancies(edm::Handle< CSCStripDigiCollection > strips, edm::Handle< CSCWireDigiCollection > wires, edm::Handle< CSCRecHit2DCollection > recHits, edm::Handle< CSCSegmentCollection > cscSegments, edm::Handle< CSCCLCTDigiCollection > clcts)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
std::vector< MonitorElement * > hSTimeCathodeByChamberType
MonitorElement * hStripSTE2
MonitorElement * hSTimeCombinedSerial