|
|
#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()
Definition at line 13 of file CSCOfflineMonitor.cc.
14 :
cscGeomToken_(esConsumes<CSCGeometry, MuonGeometryRecord>()),
15 hcrateToken_(esConsumes<CSCCrateMap, CSCCrateMapRcd>()) {
References al_token, cl_token, muonDTDigis_cfi::pset, rd_token, rh_token, sd_token, se_token, and wd_token.
◆ ~CSCOfflineMonitor()
CSCOfflineMonitor::~CSCOfflineMonitor |
( |
| ) |
|
|
inlineoverride |
◆ analyze()
Reimplemented from DQMEDAnalyzer.
Definition at line 810 of file CSCOfflineMonitor.cc.
References al_token, cl_token, cscGeomToken_, dtChamberEfficiency_cfi::cscSegments, doBXMonitor(), doEfficiencies(), doOccupancies(), doPedestalNoise(), doRecHits(), doResolution(), doSegments(), doStripDigis(), doWireDigis(), edm::EventSetup::getHandle(), FastTrackerRecHitMaskProducer_cfi::recHits, rh_token, sd_token, se_token, DigiDM_cff::strips, wd_token, and DigiDM_cff::wires.
◆ applyCSClabels()
Definition at line 2150 of file CSCOfflineMonitor.cc.
2151 if (
me !=
nullptr) {
2152 me->setAxisTitle(
"Chamber #");
2154 me->setBinLabel(1,
"ME -4/2",
a);
2155 me->setBinLabel(2,
"ME -4/1",
a);
2156 me->setBinLabel(3,
"ME -3/2",
a);
2157 me->setBinLabel(4,
"ME -3/1",
a);
2158 me->setBinLabel(5,
"ME -2/2",
a);
2159 me->setBinLabel(6,
"ME -2/1",
a);
2160 me->setBinLabel(7,
"ME -1/3",
a);
2161 me->setBinLabel(8,
"ME -1/2",
a);
2162 me->setBinLabel(9,
"ME -1/1b",
a);
2163 me->setBinLabel(10,
"ME -1/1a",
a);
2164 me->setBinLabel(11,
"ME +1/1a",
a);
2165 me->setBinLabel(12,
"ME +1/1b",
a);
2166 me->setBinLabel(13,
"ME +1/2",
a);
2167 me->setBinLabel(14,
"ME +1/3",
a);
2168 me->setBinLabel(15,
"ME +2/1",
a);
2169 me->setBinLabel(16,
"ME +2/2",
a);
2170 me->setBinLabel(17,
"ME +3/1",
a);
2171 me->setBinLabel(18,
"ME +3/2",
a);
2172 me->setBinLabel(19,
"ME +4/1",
a);
2173 me->setBinLabel(20,
"ME +4/2",
a);
2175 me->setBinLabel(1,
"ME -4/1",
a);
2176 me->setBinLabel(2,
"ME -3/2",
a);
2177 me->setBinLabel(3,
"ME -3/1",
a);
2178 me->setBinLabel(4,
"ME -2/2",
a);
2179 me->setBinLabel(5,
"ME -2/1",
a);
2180 me->setBinLabel(6,
"ME -1/3",
a);
2181 me->setBinLabel(7,
"ME -1/2",
a);
2182 me->setBinLabel(8,
"ME -1/1b",
a);
2183 me->setBinLabel(9,
"ME -1/1a",
a);
2184 me->setBinLabel(10,
"ME +1/1a",
a);
2185 me->setBinLabel(11,
"ME +1/1b",
a);
2186 me->setBinLabel(12,
"ME +1/2",
a);
2187 me->setBinLabel(13,
"ME +1/3",
a);
2188 me->setBinLabel(14,
"ME +2/1",
a);
2189 me->setBinLabel(15,
"ME +2/2",
a);
2190 me->setBinLabel(16,
"ME +3/1",
a);
2191 me->setBinLabel(17,
"ME +3/2",
a);
2192 me->setBinLabel(18,
"ME +4/1",
a);
References a, EXTENDED, hlt_dqm_clientPB-live_cfg::me, SMALL, and submitPVValidationJobs::t.
Referenced by bookHistograms().
◆ bookHistograms()
Implements DQMEDAnalyzer.
Definition at line 25 of file CSCOfflineMonitor.cc.
39 hOWiresAndCLCT = ibooker.
book2D(
"hOWiresAndCLCT",
"Wire and CLCT Digi Occupancy ", 36, 0.5, 36.5, 20, 0.5, 20.5);
40 hOWires = ibooker.
book2D(
"hOWires",
"Wire Digi Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
41 hOWireSerial = ibooker.
book1D(
"hOWireSerial",
"Wire Occupancy by Chamber Serial", 601, -0.5, 600.5);
43 hOStrips = ibooker.
book2D(
"hOStrips",
"Strip Digi Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
44 hOStripSerial = ibooker.
book1D(
"hOStripSerial",
"Strip Occupancy by Chamber Serial", 601, -0.5, 600.5);
47 ibooker.
book2D(
"hOStripsAndWiresAndCLCT",
"Strip And Wire And CLCT Digi Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
49 hORecHits = ibooker.
book2D(
"hORecHits",
"RecHit Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
50 hORecHitsSerial = ibooker.
book1D(
"hORecHitSerial",
"RecHit Occupancy by Chamber Serial", 601, -0.5, 600.5);
52 hOSegments = ibooker.
book2D(
"hOSegments",
"Segment Occupancy", 36, 0.5, 36.5, 20, 0.5, 20.5);
53 hOSegmentsSerial = ibooker.
book1D(
"hOSegmentSerial",
"Segment Occupancy by Chamber Serial", 601, -0.5, 600.5);
60 ibooker.
book1D(
"hWirenGroupsTotal",
"Fired Wires per Event; # Wiregroups Fired", 500, -0.5, 499.5);
61 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m42",
"Wire TBin Fired (ME -4/2); Time Bin (25ns)", 17, -0.5, 16.5));
62 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m41",
"Wire TBin Fired (ME -4/1); Time Bin (25ns)", 17, -0.5, 16.5));
63 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m32",
"Wire TBin Fired (ME -3/2); Time Bin (25ns)", 17, -0.5, 16.5));
64 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m31",
"Wire TBin Fired (ME -3/1); Time Bin (25ns)", 17, -0.5, 16.5));
65 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m22",
"Wire TBin Fired (ME -2/2); Time Bin (25ns)", 17, -0.5, 16.5));
66 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m21",
"Wire TBin Fired (ME -2/1); Time Bin (25ns)", 17, -0.5, 16.5));
67 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m11a",
"Wire TBin Fired (ME -1/1a); Time Bin (25ns)", 17, -0.5, 16.5));
68 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m13",
"Wire TBin Fired (ME -1/3); Time Bin (25ns)", 17, -0.5, 16.5));
69 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m12",
"Wire TBin Fired (ME -1/2); Time Bin (25ns)", 17, -0.5, 16.5));
70 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_m11b",
"Wire TBin Fired (ME -1/1b); Time Bin (25ns)", 17, -0.5, 16.5));
71 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p11b",
"Wire TBin Fired (ME +1/1b); Time Bin (25ns)", 17, -0.5, 16.5));
72 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p12",
"Wire TBin Fired (ME +1/2); Time Bin (25ns)", 17, -0.5, 16.5));
73 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p13",
"Wire TBin Fired (ME +1/3); Time Bin (25ns)", 17, -0.5, 16.5));
74 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p11a",
"Wire TBin Fired (ME +1/1a); Time Bin (25ns)", 17, -0.5, 16.5));
75 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p21",
"Wire TBin Fired (ME +2/1); Time Bin (25ns)", 17, -0.5, 16.5));
76 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p22",
"Wire TBin Fired (ME +2/2); Time Bin (25ns)", 17, -0.5, 16.5));
77 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p31",
"Wire TBin Fired (ME +3/1); Time Bin (25ns)", 17, -0.5, 16.5));
78 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p32",
"Wire TBin Fired (ME +3/2); Time Bin (25ns)", 17, -0.5, 16.5));
79 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p41",
"Wire TBin Fired (ME +4/1); Time Bin (25ns)", 17, -0.5, 16.5));
80 hWireTBin.push_back(ibooker.
book1D(
"hWireTBin_p42",
"Wire TBin Fired (ME +4/2); Time Bin (25ns)", 17, -0.5, 16.5));
82 ibooker.
book1D(
"hWireNumber_m42",
"Wiregroup Number Fired (ME -4/2); Wiregroup #", 113, -0.5, 112.5));
84 ibooker.
book1D(
"hWireNumber_m41",
"Wiregroup Number Fired (ME -4/1); Wiregroup #", 113, -0.5, 112.5));
86 ibooker.
book1D(
"hWireNumber_m32",
"Wiregroup Number Fired (ME -3/2); Wiregroup #", 113, -0.5, 112.5));
88 ibooker.
book1D(
"hWireNumber_m31",
"Wiregroup Number Fired (ME -3/1); Wiregroup #", 113, -0.5, 112.5));
90 ibooker.
book1D(
"hWireNumber_m22",
"Wiregroup Number Fired (ME -2/2); Wiregroup #", 113, -0.5, 112.5));
92 ibooker.
book1D(
"hWireNumber_m21",
"Wiregroup Number Fired (ME -2/1); Wiregroup #", 113, -0.5, 112.5));
94 ibooker.
book1D(
"hWireNumber_m11a",
"Wiregroup Number Fired (ME -1/1a); Wiregroup #", 113, -0.5, 112.5));
96 ibooker.
book1D(
"hWireNumber_m13",
"Wiregroup Number Fired (ME -1/3); Wiregroup #", 113, -0.5, 112.5));
98 ibooker.
book1D(
"hWireNumber_m12",
"Wiregroup Number Fired (ME -1/2); Wiregroup #", 113, -0.5, 112.5));
100 ibooker.
book1D(
"hWireNumber_m11b",
"Wiregroup Number Fired (ME -1/1b); Wiregroup #", 113, -0.5, 112.5));
102 ibooker.
book1D(
"hWireNumber_p11b",
"Wiregroup Number Fired (ME +1/1b); Wiregroup #", 113, -0.5, 112.5));
104 ibooker.
book1D(
"hWireNumber_p12",
"Wiregroup Number Fired (ME +1/2); Wiregroup #", 113, -0.5, 112.5));
106 ibooker.
book1D(
"hWireNumber_p13",
"Wiregroup Number Fired (ME +1/3); Wiregroup #", 113, -0.5, 112.5));
108 ibooker.
book1D(
"hWireNumber_p11a",
"Wiregroup Number Fired (ME +1/1a); Wiregroup #", 113, -0.5, 112.5));
110 ibooker.
book1D(
"hWireNumber_p21",
"Wiregroup Number Fired (ME +2/1); Wiregroup #", 113, -0.5, 112.5));
112 ibooker.
book1D(
"hWireNumber_p22",
"Wiregroup Number Fired (ME +2/2); Wiregroup #", 113, -0.5, 112.5));
114 ibooker.
book1D(
"hWireNumber_p31",
"Wiregroup Number Fired (ME +3/1); Wiregroup #", 113, -0.5, 112.5));
116 ibooker.
book1D(
"hWireNumber_p32",
"Wiregroup Number Fired (ME +3/2); Wiregroup #", 113, -0.5, 112.5));
118 ibooker.
book1D(
"hWireNumber_p41",
"Wiregroup Number Fired (ME +4/1); Wiregroup #", 113, -0.5, 112.5));
120 ibooker.
book1D(
"hWireNumber_p42",
"Wiregroup Number Fired (ME +4/2); Wiregroup #", 113, -0.5, 112.5));
124 ibooker.
book1D(
"hStripNFired",
"Fired Strips per Event; # Strips Fired (above 13 ADC)", 1000, -0.5, 999.5);
126 ibooker.
book1D(
"hStripNumber_m42",
"Strip Number Fired (ME -4/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
128 ibooker.
book1D(
"hStripNumber_m41",
"Strip Number Fired (ME -4/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
130 ibooker.
book1D(
"hStripNumber_m32",
"Strip Number Fired (ME -3/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
132 ibooker.
book1D(
"hStripNumber_m31",
"Strip Number Fired (ME -3/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
134 ibooker.
book1D(
"hStripNumber_m22",
"Strip Number Fired (ME -2/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
136 ibooker.
book1D(
"hStripNumber_m21",
"Strip Number Fired (ME -2/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
138 "hStripNumber_m11a",
"Strip Number Fired (ME -1/1a); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
140 ibooker.
book1D(
"hStripNumber_m13",
"Strip Number Fired (ME -1/3); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
142 ibooker.
book1D(
"hStripNumber_m12",
"Strip Number Fired (ME -1/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
144 "hStripNumber_m11b",
"Strip Number Fired (ME -1/1b); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
146 "hStripNumber_p11b",
"Strip Number Fired (ME +1/1b); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
148 ibooker.
book1D(
"hStripNumber_p12",
"Strip Number Fired (ME +1/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
150 ibooker.
book1D(
"hStripNumber_p13",
"Strip Number Fired (ME +1/3); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
152 "hStripNumber_p11a",
"Strip Number Fired (ME +1/1a); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
154 ibooker.
book1D(
"hStripNumber_p21",
"Strip Number Fired (ME +2/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
156 ibooker.
book1D(
"hStripNumber_p22",
"Strip Number Fired (ME +2/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
158 ibooker.
book1D(
"hStripNumber_p31",
"Strip Number Fired (ME +3/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
160 ibooker.
book1D(
"hStripNumber_p32",
"Strip Number Fired (ME +3/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
162 ibooker.
book1D(
"hStripNumber_p41",
"Strip Number Fired (ME +4/1); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
164 "hStripNumber_p42",
"Stripgroup Number Fired (ME +4/2); Strip # Fired (above 13 ADC)", 81, -0.5, 80.5));
170 ibooker.
book1D(
"hStripPedMEm42",
"Pedestal Noise Distribution Chamber ME -4/2; ADC Counts", 50, -25., 25.));
172 ibooker.
book1D(
"hStripPedMEm41",
"Pedestal Noise Distribution Chamber ME -4/1; ADC Counts", 50, -25., 25.));
174 ibooker.
book1D(
"hStripPedMEm32",
"Pedestal Noise Distribution Chamber ME -3/2; ADC Counts", 50, -25., 25.));
176 ibooker.
book1D(
"hStripPedMEm31",
"Pedestal Noise Distribution Chamber ME -3/1; ADC Counts", 50, -25., 25.));
178 ibooker.
book1D(
"hStripPedMEm22",
"Pedestal Noise Distribution Chamber ME -2/2; ADC Counts", 50, -25., 25.));
180 ibooker.
book1D(
"hStripPedMEm21",
"Pedestal Noise Distribution Chamber ME -2/1; ADC Counts", 50, -25., 25.));
182 ibooker.
book1D(
"hStripPedMEm11a",
"Pedestal Noise Distribution Chamber ME -1/1; ADC Counts", 50, -25., 25.));
184 ibooker.
book1D(
"hStripPedMEm13",
"Pedestal Noise Distribution Chamber ME -1/3; ADC Counts", 50, -25., 25.));
186 ibooker.
book1D(
"hStripPedMEm12",
"Pedestal Noise Distribution Chamber ME -1/2; ADC Counts", 50, -25., 25.));
188 ibooker.
book1D(
"hStripPedMEm11b",
"Pedestal Noise Distribution Chamber ME -1/1; ADC Counts", 50, -25., 25.));
190 ibooker.
book1D(
"hStripPedMEp11b",
"Pedestal Noise Distribution Chamber ME +1/1; ADC Counts", 50, -25., 25.));
192 ibooker.
book1D(
"hStripPedMEp12",
"Pedestal Noise Distribution Chamber ME +1/2; ADC Counts", 50, -25., 25.));
194 ibooker.
book1D(
"hStripPedMEp13",
"Pedestal Noise Distribution Chamber ME +1/3; ADC Counts", 50, -25., 25.));
196 ibooker.
book1D(
"hStripPedMEp11a",
"Pedestal Noise Distribution Chamber ME +1/1; ADC Counts", 50, -25., 25.));
198 ibooker.
book1D(
"hStripPedMEp21",
"Pedestal Noise Distribution Chamber ME +2/1; ADC Counts", 50, -25., 25.));
200 ibooker.
book1D(
"hStripPedMEp22",
"Pedestal Noise Distribution Chamber ME +2/2; ADC Counts", 50, -25., 25.));
202 ibooker.
book1D(
"hStripPedMEp31",
"Pedestal Noise Distribution Chamber ME +3/1; ADC Counts", 50, -25., 25.));
204 ibooker.
book1D(
"hStripPedMEp32",
"Pedestal Noise Distribution Chamber ME +3/2; ADC Counts", 50, -25., 25.));
206 ibooker.
book1D(
"hStripPedMEp41",
"Pedestal Noise Distribution Chamber ME +4/1; ADC Counts", 50, -25., 25.));
208 ibooker.
book1D(
"hStripPedMEp42",
"Pedestal Noise Distribution Chamber ME +4/2; ADC Counts", 50, -25., 25.));
213 hRHnrechits = ibooker.
book1D(
"hRHnrechits",
"recHits per Event (all chambers); # of RecHits", 500, -0.50, 499.5);
215 "hRHGlobalp1",
"recHit global X,Y station +1; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
217 "hRHGlobalp2",
"recHit global X,Y station +2; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
219 "hRHGlobalp3",
"recHit global X,Y station +3; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
221 "hRHGlobalp4",
"recHit global X,Y station +4; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
223 "hRHGlobalm1",
"recHit global X,Y station -1; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
225 "hRHGlobalm2",
"recHit global X,Y station -2; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
227 "hRHGlobalm3",
"recHit global X,Y station -3; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
229 "hRHGlobalm4",
"recHit global X,Y station -4; Global X (cm); Global Y (cm)", 100, -800., 800., 100, -800., 800.));
230 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm42",
"Sum 3x3 recHit Charge (ME -4/2); ADC counts", 100, 0, 2000));
231 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm41",
"Sum 3x3 recHit Charge (ME -4/1); ADC counts", 100, 0, 2000));
232 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm32",
"Sum 3x3 recHit Charge (ME -3/2); ADC counts", 100, 0, 2000));
233 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm31",
"Sum 3x3 recHit Charge (ME -3/1); ADC counts", 100, 0, 2000));
234 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm22",
"Sum 3x3 recHit Charge (ME -2/2); ADC counts", 100, 0, 2000));
235 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm21",
"Sum 3x3 recHit Charge (ME -2/1); ADC counts", 100, 0, 2000));
236 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm11a",
"Sum 3x3 recHit Charge (ME -1/1a); ADC counts", 100, 0, 4000));
237 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm13",
"Sum 3x3 recHit Charge (ME -1/3); ADC counts", 100, 0, 2000));
238 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm12",
"Sum 3x3 recHit Charge (ME -1/2); ADC counts", 100, 0, 2000));
239 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQm11b",
"Sum 3x3 recHit Charge (ME -1/1b); ADC counts", 100, 0, 4000));
240 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp11b",
"Sum 3x3 recHit Charge (ME +1/1b); ADC counts", 100, 0, 4000));
241 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp12",
"Sum 3x3 recHit Charge (ME +1/2); ADC counts", 100, 0, 2000));
242 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp13",
"Sum 3x3 recHit Charge (ME +1/3); ADC counts", 100, 0, 2000));
243 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp11a",
"Sum 3x3 recHit Charge (ME +1/1a); ADC counts", 100, 0, 4000));
244 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp21",
"Sum 3x3 recHit Charge (ME +2/1); ADC counts", 100, 0, 2000));
245 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp22",
"Sum 3x3 recHit Charge (ME +2/2); ADC counts", 100, 0, 2000));
246 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp31",
"Sum 3x3 recHit Charge (ME +3/1); ADC counts", 100, 0, 2000));
247 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp32",
"Sum 3x3 recHit Charge (ME +3/2); ADC counts", 100, 0, 2000));
248 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp41",
"Sum 3x3 recHit Charge (ME +4/1); ADC counts", 100, 0, 2000));
249 hRHSumQ.push_back(ibooker.
book1D(
"hRHSumQp42",
"Sum 3x3 recHit Charge (ME +4/2); ADC counts", 100, 0, 2000));
250 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm42",
"Charge Ratio (Ql+Qr)/Qt (ME -4/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
251 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm41",
"Charge Ratio (Ql+Qr)/Qt (ME -4/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
252 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm32",
"Charge Ratio (Ql+Qr)/Qt (ME -3/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
253 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm31",
"Charge Ratio (Ql+Qr)/Qt (ME -3/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
254 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm22",
"Charge Ratio (Ql+Qr)/Qt (ME -2/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
255 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm21",
"Charge Ratio (Ql+Qr)/Qt (ME -2/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
257 ibooker.
book1D(
"hRHRatioQm11a",
"Charge Ratio (Ql+Qr)/Qt (ME -1/1a); (Ql+Qr)/Qt", 100, -0.1, 1.1));
258 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm13",
"Charge Ratio (Ql+Qr)/Qt (ME -1/3); (Ql+Qr)/Qt", 100, -0.1, 1.1));
259 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQm12",
"Charge Ratio (Ql+Qr)/Qt (ME -1/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
261 ibooker.
book1D(
"hRHRatioQm11b",
"Charge Ratio (Ql+Qr)/Qt (ME -1/1b); (Ql+Qr)/Qt", 100, -0.1, 1.1));
263 ibooker.
book1D(
"hRHRatioQp11b",
"Charge Ratio (Ql+Qr)/Qt (ME +1/1b); (Ql+Qr)/Qt", 100, -0.1, 1.1));
264 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp12",
"Charge Ratio (Ql+Qr)/Qt (ME +1/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
265 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp13",
"Charge Ratio (Ql+Qr)/Qt (ME +1/3); (Ql+Qr)/Qt", 100, -0.1, 1.1));
267 ibooker.
book1D(
"hRHRatioQp11a",
"Charge Ratio (Ql+Qr)/Qt (ME +1/1a); (Ql+Qr)/Qt", 100, -0.1, 1.1));
268 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp21",
"Charge Ratio (Ql+Qr)/Qt (ME +2/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
269 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp22",
"Charge Ratio (Ql+Qr)/Qt (ME +2/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
270 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp31",
"Charge Ratio (Ql+Qr)/Qt (ME +3/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
271 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp32",
"Charge Ratio (Ql+Qr)/Qt (ME +3/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
272 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp41",
"Charge Ratio (Ql+Qr)/Qt (ME +4/1); (Ql+Qr)/Qt", 100, -0.1, 1.1));
273 hRHRatioQ.push_back(ibooker.
book1D(
"hRHRatioQp42",
"Charge Ratio (Ql+Qr)/Qt (ME +4/2); (Ql+Qr)/Qt", 100, -0.1, 1.1));
274 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm42",
"recHit Time (ME -4/2); ns", 200, -500., 500.));
275 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm41",
"recHit Time (ME -4/1); ns", 200, -500., 500.));
276 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm32",
"recHit Time (ME -3/2); ns", 200, -500., 500.));
277 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm31",
"recHit Time (ME -3/1); ns", 200, -500., 500.));
278 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm22",
"recHit Time (ME -2/2); ns", 200, -500., 500.));
279 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm21",
"recHit Time (ME -2/1); ns", 200, -500., 500.));
280 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm11a",
"recHit Time (ME -1/1a); ns", 200, -500., 500.));
281 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm13",
"recHit Time (ME -1/3); ns", 200, -500., 500.));
282 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm12",
"recHit Time (ME -1/2); ns", 200, -500., 500.));
283 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingm11b",
"recHit Time (ME -1/1b); ns", 200, -500., 500.));
284 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp11b",
"recHit Time (ME +1/1b); ns", 200, -500., 500.));
285 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp12",
"recHit Time (ME +1/2); ns", 200, -500., 500.));
286 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp13",
"recHit Time (ME +1/3); ns", 200, -500., 500.));
287 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp11a",
"recHit Time (ME +1/1a); ns", 200, -500., 500.));
288 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp21",
"recHit Time (ME +2/1); ns", 200, -500., 500.));
289 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp22",
"recHit Time (ME +2/2); ns", 200, -500., 500.));
290 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp31",
"recHit Time (ME +3/1); ns", 200, -500., 500.));
291 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp32",
"recHit Time (ME +3/2); ns", 200, -500., 500.));
292 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp41",
"recHit Time (ME +4/1); ns", 200, -500., 500.));
293 hRHTiming.push_back(ibooker.
book1D(
"hRHTimingp42",
"recHit Time (ME +4/2); ns", 200, -500., 500.));
294 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem42",
"Anode recHit Time (ME -4/2); ns", 80, -500., 500.));
295 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem41",
"Anode recHit Time (ME -4/1); ns", 80, -500., 500.));
296 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem32",
"Anode recHit Time (ME -3/2); ns", 80, -500., 500.));
297 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem31",
"Anode recHit Time (ME -3/1); ns", 80, -500., 500.));
298 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem22",
"Anode recHit Time (ME -2/2); ns", 80, -500., 500.));
299 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem21",
"Anode recHit Time (ME -2/1); ns", 80, -500., 500.));
300 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem11a",
"Anode recHit Time (ME -1/1a); ns", 80, -500., 500.));
301 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem13",
"Anode recHit Time (ME -1/3); ns", 80, -500., 500.));
302 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem12",
"Anode recHit Time (ME -1/2); ns", 80, -500., 500.));
303 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodem11b",
"Anode recHit Time (ME -1/1b); ns", 80, -500., 500.));
304 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep11b",
"Anode recHit Time (ME +1/1b); ns", 80, -500., 500.));
305 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep12",
"Anode recHit Time (ME +1/2); ns", 80, -500., 500.));
306 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep13",
"Anode recHit Time (ME +1/3); ns", 80, -500., 500.));
307 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep11a",
"Anode recHit Time (ME +1/1a); ns", 80, -500., 500.));
308 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep21",
"Anode recHit Time (ME +2/1); ns", 80, -500., 500.));
309 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep22",
"Anode recHit Time (ME +2/2); ns", 80, -500., 500.));
310 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep31",
"Anode recHit Time (ME +3/1); ns", 80, -500., 500.));
311 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep32",
"Anode recHit Time (ME +3/2); ns", 80, -500., 500.));
312 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep41",
"Anode recHit Time (ME +4/1); ns", 80, -500., 500.));
313 hRHTimingAnode.push_back(ibooker.
book1D(
"hRHTimingAnodep42",
"Anode recHit Time (ME +4/2); ns", 80, -500., 500.));
315 ibooker.
book1D(
"hRHstposm42",
"Reconstructed Position on Strip (ME -4/2); Strip Widths", 120, -0.6, 0.6));
317 ibooker.
book1D(
"hRHstposm41",
"Reconstructed Position on Strip (ME -4/1); Strip Widths", 120, -0.6, 0.6));
319 ibooker.
book1D(
"hRHstposm32",
"Reconstructed Position on Strip (ME -3/2); Strip Widths", 120, -0.6, 0.6));
321 ibooker.
book1D(
"hRHstposm31",
"Reconstructed Position on Strip (ME -3/1); Strip Widths", 120, -0.6, 0.6));
323 ibooker.
book1D(
"hRHstposm22",
"Reconstructed Position on Strip (ME -2/2); Strip Widths", 120, -0.6, 0.6));
325 ibooker.
book1D(
"hRHstposm21",
"Reconstructed Position on Strip (ME -2/1); Strip Widths", 120, -0.6, 0.6));
327 ibooker.
book1D(
"hRHstposm11a",
"Reconstructed Position on Strip (ME -1/1a); Strip Widths", 120, -0.6, 0.6));
329 ibooker.
book1D(
"hRHstposm13",
"Reconstructed Position on Strip (ME -1/3); Strip Widths", 120, -0.6, 0.6));
331 ibooker.
book1D(
"hRHstposm12",
"Reconstructed Position on Strip (ME -1/2); Strip Widths", 120, -0.6, 0.6));
333 ibooker.
book1D(
"hRHstposm11b",
"Reconstructed Position on Strip (ME -1/1b); Strip Widths", 120, -0.6, 0.6));
335 ibooker.
book1D(
"hRHstposp11b",
"Reconstructed Position on Strip (ME +1/1b); Strip Widths", 120, -0.6, 0.6));
337 ibooker.
book1D(
"hRHstposp12",
"Reconstructed Position on Strip (ME +1/2); Strip Widths", 120, -0.6, 0.6));
339 ibooker.
book1D(
"hRHstposp13",
"Reconstructed Position on Strip (ME +1/3); Strip Widths", 120, -0.6, 0.6));
341 ibooker.
book1D(
"hRHstposp11a",
"Reconstructed Position on Strip (ME +1/1a); Strip Widths", 120, -0.6, 0.6));
343 ibooker.
book1D(
"hRHstposp21",
"Reconstructed Position on Strip (ME +2/1); Strip Widths", 120, -0.6, 0.6));
345 ibooker.
book1D(
"hRHstposp22",
"Reconstructed Position on Strip (ME +2/2); Strip Widths", 120, -0.6, 0.6));
347 ibooker.
book1D(
"hRHstposp31",
"Reconstructed Position on Strip (ME +3/1); Strip Widths", 120, -0.6, 0.6));
349 ibooker.
book1D(
"hRHstposp32",
"Reconstructed Position on Strip (ME +3/2); Strip Widths", 120, -0.6, 0.6));
351 ibooker.
book1D(
"hRHstposp41",
"Reconstructed Position on Strip (ME +4/1); Strip Widths", 120, -0.6, 0.6));
353 ibooker.
book1D(
"hRHstposp42",
"Reconstructed Position on Strip (ME +4/2); Strip Widths", 120, -0.6, 0.6));
355 ibooker.
book1D(
"hRHsterrm42",
"Estimated Error on Strip Measurement (ME -4/2); Strip Widths", 75, -0.01, 0.24));
357 ibooker.
book1D(
"hRHsterrm41",
"Estimated Error on Strip Measurement (ME -4/1); Strip Widths", 75, -0.01, 0.24));
359 ibooker.
book1D(
"hRHsterrm32",
"Estimated Error on Strip Measurement (ME -3/2); Strip Widths", 75, -0.01, 0.24));
361 ibooker.
book1D(
"hRHsterrm31",
"Estimated Error on Strip Measurement (ME -3/1); Strip Widths", 75, -0.01, 0.24));
363 ibooker.
book1D(
"hRHsterrm22",
"Estimated Error on Strip Measurement (ME -2/2); Strip Widths", 75, -0.01, 0.24));
365 ibooker.
book1D(
"hRHsterrm21",
"Estimated Error on Strip Measurement (ME -2/1); Strip Widths", 75, -0.01, 0.24));
367 ibooker.
book1D(
"hRHsterrm11a",
"Estimated Error on Strip Measurement (ME -1/1a); Strip Widths", 75, -0.01, 0.24));
369 ibooker.
book1D(
"hRHsterrm13",
"Estimated Error on Strip Measurement (ME -1/3); Strip Widths", 75, -0.01, 0.24));
371 ibooker.
book1D(
"hRHsterrm12",
"Estimated Error on Strip Measurement (ME -1/2); Strip Widths", 75, -0.01, 0.24));
373 ibooker.
book1D(
"hRHsterrm11b",
"Estimated Error on Strip Measurement (ME -1/1b); Strip Widths", 75, -0.01, 0.24));
375 ibooker.
book1D(
"hRHsterrp11b",
"Estimated Error on Strip Measurement (ME +1/1b); Strip Widths", 75, -0.01, 0.24));
377 ibooker.
book1D(
"hRHsterrp12",
"Estimated Error on Strip Measurement (ME +1/2); Strip Widths", 75, -0.01, 0.24));
379 ibooker.
book1D(
"hRHsterrp13",
"Estimated Error on Strip Measurement (ME +1/3); Strip Widths", 75, -0.01, 0.24));
381 ibooker.
book1D(
"hRHsterrp11a",
"Estimated Error on Strip Measurement (ME +1/1a); Strip Widths", 75, -0.01, 0.24));
383 ibooker.
book1D(
"hRHsterrp21",
"Estimated Error on Strip Measurement (ME +2/1); Strip Widths", 75, -0.01, 0.24));
385 ibooker.
book1D(
"hRHsterrp22",
"Estimated Error on Strip Measurement (ME +2/2); Strip Widths", 75, -0.01, 0.24));
387 ibooker.
book1D(
"hRHsterrp31",
"Estimated Error on Strip Measurement (ME +3/1); Strip Widths", 75, -0.01, 0.24));
389 ibooker.
book1D(
"hRHsterrp32",
"Estimated Error on Strip Measurement (ME +3/2); Strip Widths", 75, -0.01, 0.24));
391 ibooker.
book1D(
"hRHsterrp41",
"Estimated Error on Strip Measurement (ME +4/1); Strip Widths", 75, -0.01, 0.24));
393 ibooker.
book1D(
"hRHsterrp42",
"Estimated Error on Strip Measurement (ME +4/2); Strip Widths", 75, -0.01, 0.24));
398 hSnSegments = ibooker.
book1D(
"hSnSegments",
"Number of Segments per Event; # of Segments", 26, -0.5, 25.5);
399 hSnhitsAll = ibooker.
book1D(
"hSnhits",
"N hits on Segments; # of hits", 8, -0.5, 7.5);
400 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm42",
"# of hits on Segments (ME -4/2); # of hits", 8, -0.5, 7.5));
401 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm41",
"# of hits on Segments (ME -4/1); # of hits", 8, -0.5, 7.5));
402 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm32",
"# of hits on Segments (ME -3/2); # of hits", 8, -0.5, 7.5));
403 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm31",
"# of hits on Segments (ME -3/1); # of hits", 8, -0.5, 7.5));
404 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm22",
"# of hits on Segments (ME -2/2); # of hits", 8, -0.5, 7.5));
405 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm21",
"# of hits on Segments (ME -2/1); # of hits", 8, -0.5, 7.5));
406 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm11a",
"# of hits on Segments (ME -1/1a); # of hits", 8, -0.5, 7.5));
407 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm13",
"# of hits on Segments (ME -1/3); # of hits", 8, -0.5, 7.5));
408 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm12",
"# of hits on Segments (ME -1/2); # of hits", 8, -0.5, 7.5));
409 hSnhits.push_back(ibooker.
book1D(
"hSnhitsm11b",
"# of hits on Segments (ME -1/1b); # of hits", 8, -0.5, 7.5));
410 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp11b",
"# of hits on Segments (ME +1/1b); # of hits", 8, -0.5, 7.5));
411 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp12",
"# of hits on Segments (ME +1/2); # of hits", 8, -0.5, 7.5));
412 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp13",
"# of hits on Segments (ME +1/3); # of hits", 8, -0.5, 7.5));
413 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp11a",
"# of hits on Segments (ME +1/1a); # of hits", 8, -0.5, 7.5));
414 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp21",
"# of hits on Segments (ME +2/1); # of hits", 8, -0.5, 7.5));
415 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp22",
"# of hits on Segments (ME +2/2); # of hits", 8, -0.5, 7.5));
416 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp31",
"# of hits on Segments (ME +3/1); # of hits", 8, -0.5, 7.5));
417 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp32",
"# of hits on Segments (ME +3/2); # of hits", 8, -0.5, 7.5));
418 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp41",
"# of hits on Segments (ME +4/1); # of hits", 8, -0.5, 7.5));
419 hSnhits.push_back(ibooker.
book1D(
"hSnhitsp42",
"# of hits on Segments (ME +4/2); # of hits", 8, -0.5, 7.5));
420 hSChiSqAll = ibooker.
book1D(
"hSChiSq",
"Segment Normalized Chi2; Chi2/ndof", 110, -0.05, 10.5);
421 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm42",
"Segment Normalized Chi2 (ME -4/2); Chi2/ndof", 110, -0.05, 10.5));
422 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm41",
"Segment Normalized Chi2 (ME -4/1); Chi2/ndof", 110, -0.05, 10.5));
423 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm32",
"Segment Normalized Chi2 (ME -3/2); Chi2/ndof", 110, -0.05, 10.5));
424 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm31",
"Segment Normalized Chi2 (ME -3/1); Chi2/ndof", 110, -0.05, 10.5));
425 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm22",
"Segment Normalized Chi2 (ME -2/2); Chi2/ndof", 110, -0.05, 10.5));
426 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm21",
"Segment Normalized Chi2 (ME -2/1); Chi2/ndof", 110, -0.05, 10.5));
427 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm11a",
"Segment Normalized Chi2 (ME -1/1a); Chi2/ndof", 110, -0.05, 10.5));
428 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm13",
"Segment Normalized Chi2 (ME -1/3); Chi2/ndof", 110, -0.05, 10.5));
429 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm12",
"Segment Normalized Chi2 (ME -1/2); Chi2/ndof", 110, -0.05, 10.5));
430 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqm11b",
"Segment Normalized Chi2 (ME -1/1b); Chi2/ndof", 110, -0.05, 10.5));
431 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp11b",
"Segment Normalized Chi2 (ME +1/1b); Chi2/ndof", 110, -0.05, 10.5));
432 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp12",
"Segment Normalized Chi2 (ME +1/2); Chi2/ndof", 110, -0.05, 10.5));
433 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp13",
"Segment Normalized Chi2 (ME +1/3); Chi2/ndof", 110, -0.05, 10.5));
434 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp11a",
"Segment Normalized Chi2 (ME +1/1a); Chi2/ndof", 110, -0.05, 10.5));
435 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp21",
"Segment Normalized Chi2 (ME +2/1); Chi2/ndof", 110, -0.05, 10.5));
436 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp22",
"Segment Normalized Chi2 (ME +2/2); Chi2/ndof", 110, -0.05, 10.5));
437 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp31",
"Segment Normalized Chi2 (ME +3/1); Chi2/ndof", 110, -0.05, 10.5));
438 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp32",
"Segment Normalized Chi2 (ME +3/2); Chi2/ndof", 110, -0.05, 10.5));
439 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp41",
"Segment Normalized Chi2 (ME +4/1); Chi2/ndof", 110, -0.05, 10.5));
440 hSChiSq.push_back(ibooker.
book1D(
"hSChiSqp42",
"Segment Normalized Chi2 (ME +4/2); Chi2/ndof", 110, -0.05, 10.5));
441 hSChiSqProbAll = ibooker.
book1D(
"hSChiSqProb",
"Segment chi2 Probability; Probability", 110, -0.05, 1.05);
443 ibooker.
book1D(
"hSChiSqProbm42",
"Segment chi2 Probability (ME -4/2); Probability", 110, -0.05, 1.05));
445 ibooker.
book1D(
"hSChiSqProbm41",
"Segment chi2 Probability (ME -4/1); Probability", 110, -0.05, 1.05));
447 ibooker.
book1D(
"hSChiSqProbm32",
"Segment chi2 Probability (ME -3/2); Probability", 110, -0.05, 1.05));
449 ibooker.
book1D(
"hSChiSqProbm31",
"Segment chi2 Probability (ME -3/1); Probability", 110, -0.05, 1.05));
451 ibooker.
book1D(
"hSChiSqProbm22",
"Segment chi2 Probability (ME -2/2); Probability", 110, -0.05, 1.05));
453 ibooker.
book1D(
"hSChiSqProbm21",
"Segment chi2 Probability (ME -2/1); Probability", 110, -0.05, 1.05));
455 ibooker.
book1D(
"hSChiSqProbm11a",
"Segment chi2 Probability (ME -1/1a); Probability", 110, -0.05, 1.05));
457 ibooker.
book1D(
"hSChiSqProbm13",
"Segment chi2 Probability (ME -1/3); Probability", 110, -0.05, 1.05));
459 ibooker.
book1D(
"hSChiSqProbm12",
"Segment chi2 Probability (ME -1/2); Probability", 110, -0.05, 1.05));
461 ibooker.
book1D(
"hSChiSqProbm11b",
"Segment chi2 Probability (ME -1/1b); Probability", 110, -0.05, 1.05));
463 ibooker.
book1D(
"hSChiSqProbp11b",
"Segment chi2 Probability (ME +1/1b); Probability", 110, -0.05, 1.05));
465 ibooker.
book1D(
"hSChiSqProbp12",
"Segment chi2 Probability (ME +1/2); Probability", 110, -0.05, 1.05));
467 ibooker.
book1D(
"hSChiSqProbp13",
"Segment chi2 Probability (ME +1/3); Probability", 110, -0.05, 1.05));
469 ibooker.
book1D(
"hSChiSqProbp11a",
"Segment chi2 Probability (ME +1/1a); Probability", 110, -0.05, 1.05));
471 ibooker.
book1D(
"hSChiSqProbp21",
"Segment chi2 Probability (ME +2/1); Probability", 110, -0.05, 1.05));
473 ibooker.
book1D(
"hSChiSqProbp22",
"Segment chi2 Probability (ME +2/2); Probability", 110, -0.05, 1.05));
475 ibooker.
book1D(
"hSChiSqProbp31",
"Segment chi2 Probability (ME +3/1); Probability", 110, -0.05, 1.05));
477 ibooker.
book1D(
"hSChiSqProbp32",
"Segment chi2 Probability (ME +3/2); Probability", 110, -0.05, 1.05));
479 ibooker.
book1D(
"hSChiSqProbp41",
"Segment chi2 Probability (ME +4/1); Probability", 110, -0.05, 1.05));
481 ibooker.
book1D(
"hSChiSqProbp42",
"Segment chi2 Probability (ME +4/2); Probability", 110, -0.05, 1.05));
483 ibooker.
book1D(
"hSGlobalTheta",
"Segment Direction (Global Theta); Global Theta (radians)", 136, -0.1, 3.3);
484 hSGlobalPhi = ibooker.
book1D(
"hSGlobalPhi",
"Segment Direction (Global Phi); Global Phi (radians)", 128, -3.2, 3.2);
486 hSTimeDiff = ibooker.
book1D(
"hSTimeDiff",
"Anode Minus Cathode Segment Time [ns]", 50, -50, 50);
488 ibooker.
book1D(
"hSTimeDiff_m42",
"Anode Minus Cathode Segment Time (ME -4/2) [ns]", 50, -50, 50));
490 ibooker.
book1D(
"hSTimeDiff_m41",
"Anode Minus Cathode Segment Time (ME -4/1) [ns]", 50, -50, 50));
492 ibooker.
book1D(
"hSTimeDiff_m32",
"Anode Minus Cathode Segment Time (ME -3/2) [ns]", 50, -50, 50));
494 ibooker.
book1D(
"hSTimeDiff_m31",
"Anode Minus Cathode Segment Time (ME -3/2) [ns]", 50, -50, 50));
496 ibooker.
book1D(
"hSTimeDiff_m22",
"Anode Minus Cathode Segment Time (ME -2/2) [ns]", 50, -50, 50));
498 ibooker.
book1D(
"hSTimeDiff_m21",
"Anode Minus Cathode Segment Time (ME -2/1) [ns]", 50, -50, 50));
500 ibooker.
book1D(
"hSTimeDiff_m11a",
"Anode Minus Cathode Segment Time (ME -1/1a) [ns]", 50, -50, 50));
502 ibooker.
book1D(
"hSTimeDiff_m13",
"Anode Minus Cathode Segment Time (ME -1/3) [ns]", 50, -50, 50));
504 ibooker.
book1D(
"hSTimeDiff_m12",
"Anode Minus Cathode Segment Time (ME -1/2) [ns]", 50, -50, 50));
506 ibooker.
book1D(
"hSTimeDiff_m11b",
"Anode Minus Cathode Segment Time (ME -1/1b) [ns]", 50, -50, 50));
508 ibooker.
book1D(
"hSTimeDiff_p11b",
"Anode Minus Cathode Segment Time (ME +1/1b) [ns]", 50, -50, 50));
510 ibooker.
book1D(
"hSTimeDiff_p12",
"Anode Minus Cathode Segment Time (ME +1/2) [ns]", 50, -50, 50));
512 ibooker.
book1D(
"hSTimeDiff_p13",
"Anode Minus Cathode Segment Time (ME +1/3) [ns]", 50, -50, 50));
514 ibooker.
book1D(
"hSTimeDiff_p11a",
"Anode Minus Cathode Segment Time (ME +1/1a) [ns]", 50, -50, 50));
516 ibooker.
book1D(
"hSTimeDiff_p21",
"Anode Minus Cathode Segment Time (ME +2/1) [ns]", 50, -50, 50));
518 ibooker.
book1D(
"hSTimeDiff_p22",
"Anode Minus Cathode Segment Time (ME +2/2) [ns]", 50, -50, 50));
520 ibooker.
book1D(
"hSTimeDiff_p31",
"Anode Minus Cathode Segment Time (ME +3/1) [ns]", 50, -50, 50));
522 ibooker.
book1D(
"hSTimeDiff_p32",
"Anode Minus Cathode Segment Time (ME +3/2) [ns]", 50, -50, 50));
524 ibooker.
book1D(
"hSTimeDiff_p41",
"Anode Minus Cathode Segment Time (ME +4/1) [ns]", 50, -50, 50));
526 ibooker.
book1D(
"hSTimeDiff_p42",
"Anode Minus Cathode Segment Time (ME +4/2) [ns]", 50, -50, 50));
528 hSTimeAnode = ibooker.
book1D(
"hSTimeAnode",
"Anode Only Segment Time [ns]", 200, -200, 200);
530 ibooker.
book1D(
"hSTimeAnode_m42",
"Anode Only Segment Time (ME -4/2) [ns]", 200, -200, 200));
532 ibooker.
book1D(
"hSTimeAnode_m41",
"Anode Only Segment Time (ME -4/1) [ns]", 200, -200, 200));
534 ibooker.
book1D(
"hSTimeAnode_m32",
"Anode Only Segment Time (ME -3/2) [ns]", 200, -200, 200));
536 ibooker.
book1D(
"hSTimeAnode_m31",
"Anode Only Segment Time (ME -3/2) [ns]", 200, -200, 200));
538 ibooker.
book1D(
"hSTimeAnode_m22",
"Anode Only Segment Time (ME -2/2) [ns]", 200, -200, 200));
540 ibooker.
book1D(
"hSTimeAnode_m21",
"Anode Only Segment Time (ME -2/1) [ns]", 200, -200, 200));
542 ibooker.
book1D(
"hSTimeAnode_m11a",
"Anode Only Segment Time (ME -1/1a) [ns]", 200, -200, 200));
544 ibooker.
book1D(
"hSTimeAnode_m13",
"Anode Only Segment Time (ME -1/3) [ns]", 200, -200, 200));
546 ibooker.
book1D(
"hSTimeAnode_m12",
"Anode Only Segment Time (ME -1/2) [ns]", 200, -200, 200));
548 ibooker.
book1D(
"hSTimeAnode_m11b",
"Anode Only Segment Time (ME -1/1b) [ns]", 200, -200, 200));
550 ibooker.
book1D(
"hSTimeAnode_p11b",
"Anode Only Segment Time (ME +1/1b) [ns]", 200, -200, 200));
552 ibooker.
book1D(
"hSTimeAnode_p12",
"Anode Only Segment Time (ME +1/2) [ns]", 200, -200, 200));
554 ibooker.
book1D(
"hSTimeAnode_p13",
"Anode Only Segment Time (ME +1/3) [ns]", 200, -200, 200));
556 ibooker.
book1D(
"hSTimeAnode_p11a",
"Anode Only Segment Time (ME +1/1a) [ns]", 200, -200, 200));
558 ibooker.
book1D(
"hSTimeAnode_p21",
"Anode Only Segment Time (ME +2/1) [ns]", 200, -200, 200));
560 ibooker.
book1D(
"hSTimeAnode_p22",
"Anode Only Segment Time (ME +2/2) [ns]", 200, -200, 200));
562 ibooker.
book1D(
"hSTimeAnode_p31",
"Anode Only Segment Time (ME +3/1) [ns]", 200, -200, 200));
564 ibooker.
book1D(
"hSTimeAnode_p32",
"Anode Only Segment Time (ME +3/2) [ns]", 200, -200, 200));
566 ibooker.
book1D(
"hSTimeAnode_p41",
"Anode Only Segment Time (ME +4/1) [ns]", 200, -200, 200));
568 ibooker.
book1D(
"hSTimeAnode_p42",
"Anode Only Segment Time (ME +4/2) [ns]", 200, -200, 200));
570 hSTimeCathode = ibooker.
book1D(
"hSTimeCathode",
"Cathode Only Segment Time [ns]", 200, -200, 200);
572 ibooker.
book1D(
"hSTimeCathode_m42",
"Cathode Only Segment Time (ME -4/2) [ns]", 200, -200, 200));
574 ibooker.
book1D(
"hSTimeCathode_m41",
"Cathode Only Segment Time (ME -4/1) [ns]", 200, -200, 200));
576 ibooker.
book1D(
"hSTimeCathode_m32",
"Cathode Only Segment Time (ME -3/2) [ns]", 200, -200, 200));
578 ibooker.
book1D(
"hSTimeCathode_m31",
"Cathode Only Segment Time (ME -3/2) [ns]", 200, -200, 200));
580 ibooker.
book1D(
"hSTimeCathode_m22",
"Cathode Only Segment Time (ME -2/2) [ns]", 200, -200, 200));
582 ibooker.
book1D(
"hSTimeCathode_m21",
"Cathode Only Segment Time (ME -2/1) [ns]", 200, -200, 200));
584 ibooker.
book1D(
"hSTimeCathode_m11a",
"Cathode Only Segment Time (ME -1/1a) [ns]", 200, -200, 200));
586 ibooker.
book1D(
"hSTimeCathode_m13",
"Cathode Only Segment Time (ME -1/3) [ns]", 200, -200, 200));
588 ibooker.
book1D(
"hSTimeCathode_m12",
"Cathode Only Segment Time (ME -1/2) [ns]", 200, -200, 200));
590 ibooker.
book1D(
"hSTimeCathode_m11b",
"Cathode Only Segment Time (ME -1/1b) [ns]", 200, -200, 200));
592 ibooker.
book1D(
"hSTimeCathode_p11b",
"Cathode Only Segment Time (ME +1/1b) [ns]", 200, -200, 200));
594 ibooker.
book1D(
"hSTimeCathode_p12",
"Cathode Only Segment Time (ME +1/2) [ns]", 200, -200, 200));
596 ibooker.
book1D(
"hSTimeCathode_p13",
"Cathode Only Segment Time (ME +1/3) [ns]", 200, -200, 200));
598 ibooker.
book1D(
"hSTimeCathode_p11a",
"Cathode Only Segment Time (ME +1/1a) [ns]", 200, -200, 200));
600 ibooker.
book1D(
"hSTimeCathode_p21",
"Cathode Only Segment Time (ME +2/1) [ns]", 200, -200, 200));
602 ibooker.
book1D(
"hSTimeCathode_p22",
"Cathode Only Segment Time (ME +2/2) [ns]", 200, -200, 200));
604 ibooker.
book1D(
"hSTimeCathode_p31",
"Cathode Only Segment Time (ME +3/1) [ns]", 200, -200, 200));
606 ibooker.
book1D(
"hSTimeCathode_p32",
"Cathode Only Segment Time (ME +3/2) [ns]", 200, -200, 200));
608 ibooker.
book1D(
"hSTimeCathode_p41",
"Cathode Only Segment Time (ME +4/1) [ns]", 200, -200, 200));
610 ibooker.
book1D(
"hSTimeCathode_p42",
"Cathode Only Segment Time (ME +4/2) [ns]", 200, -200, 200));
612 hSTimeCombined = ibooker.
book1D(
"hSTimeCombined",
"Segment Time (anode+cathode times) [ns]", 200, -200, 200);
614 "hSTimeCombined_m42",
"Segment Time (anode+cathode times) Segment Time (ME -4/2) [ns]", 200, -200, 200));
616 "hSTimeCombined_m41",
"Segment Time (anode+cathode times) Segment Time (ME -4/1) [ns]", 200, -200, 200));
618 "hSTimeCombined_m32",
"Segment Time (anode+cathode times) Segment Time (ME -3/2) [ns]", 200, -200, 200));
620 "hSTimeCombined_m31",
"Segment Time (anode+cathode times) Segment Time (ME -3/2) [ns]", 200, -200, 200));
622 "hSTimeCombined_m22",
"Segment Time (anode+cathode times) Segment Time (ME -2/2) [ns]", 200, -200, 200));
624 "hSTimeCombined_m21",
"Segment Time (anode+cathode times) Segment Time (ME -2/1) [ns]", 200, -200, 200));
626 "hSTimeCombined_m11a",
"Segment Time (anode+cathode times) Segment Time (ME -1/1a) [ns]", 200, -200, 200));
628 "hSTimeCombined_m13",
"Segment Time (anode+cathode times) Segment Time (ME -1/3) [ns]", 200, -200, 200));
630 "hSTimeCombined_m12",
"Segment Time (anode+cathode times) Segment Time (ME -1/2) [ns]", 200, -200, 200));
632 "hSTimeCombined_m11b",
"Segment Time (anode+cathode times) Segment Time (ME -1/1b) [ns]", 200, -200, 200));
634 "hSTimeCombined_p11b",
"Segment Time (anode+cathode times) Segment Time (ME +1/1b) [ns]", 200, -200, 200));
636 "hSTimeCombined_p12",
"Segment Time (anode+cathode times) Segment Time (ME +1/2) [ns]", 200, -200, 200));
638 "hSTimeCombined_p13",
"Segment Time (anode+cathode times) Segment Time (ME +1/3) [ns]", 200, -200, 200));
640 "hSTimeCombined_p11a",
"Segment Time (anode+cathode times) Segment Time (ME +1/1a) [ns]", 200, -200, 200));
642 "hSTimeCombined_p21",
"Segment Time (anode+cathode times) Segment Time (ME +2/1) [ns]", 200, -200, 200));
644 "hSTimeCombined_p22",
"Segment Time (anode+cathode times) Segment Time (ME +2/2) [ns]", 200, -200, 200));
646 "hSTimeCombined_p31",
"Segment Time (anode+cathode times) Segment Time (ME +3/1) [ns]", 200, -200, 200));
648 "hSTimeCombined_p32",
"Segment Time (anode+cathode times) Segment Time (ME +3/2) [ns]", 200, -200, 200));
650 "hSTimeCombined_p41",
"Segment Time (anode+cathode times) Segment Time (ME +4/1) [ns]", 200, -200, 200));
652 "hSTimeCombined_p42",
"Segment Time (anode+cathode times) Segment Time (ME +4/2) [ns]", 200, -200, 200));
655 ibooker.
book2D(
"hSTimeDiffSerial",
"Anode Minus Cathode Segment Time [ns]", 601, -0.5, 600.5, 200, -50, 50);
657 ibooker.
book2D(
"hSTimeAnodeSerial",
"Anode Only Segment Time [ns]", 601, -0.5, 600.5, 200, -200, 200);
659 ibooker.
book2D(
"hSTimeCathodeSerial",
"Cathode Only Segment Time [ns]", 601, -0.5, 600.5, 200, -200, 200);
661 "hSTimeCombinedSerial",
"Segment Time (anode+cathode times) [ns]", 601, -0.5, 600.5, 200, -200, 200);
663 hSTimeVsZ = ibooker.
book2D(
"hSTimeVsZ",
"Segment Time vs. Z; [ns] vs. [cm]", 200, -1200, 1200, 200, -200, 200);
665 ibooker.
book2D(
"hSTimeVsTOF",
"Segment Time vs. Distance from IP; [ns] vs. [cm]", 180, 500, 1400, 200, -200, 200);
671 "hSResidm42",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -4/2); Strip Widths", 100, -0.5, 0.5));
673 "hSResidm41",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -4/1); Strip Widths", 100, -0.5, 0.5));
675 "hSResidm32",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -3/2); Strip Widths", 100, -0.5, 0.5));
677 "hSResidm31",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -3/1); Strip Widths", 100, -0.5, 0.5));
679 "hSResidm22",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -2/2); Strip Widths", 100, -0.5, 0.5));
681 "hSResidm21",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -2/1); Strip Widths", 100, -0.5, 0.5));
683 "hSResidm11a",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -1/1a); Strip Widths", 100, -0.5, 0.5));
685 "hSResidm13",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -1/3); Strip Widths", 100, -0.5, 0.5));
687 "hSResidm12",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -1/2); Strip Widths", 100, -0.5, 0.5));
689 "hSResidm11b",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME -1/1b); Strip Widths", 100, -0.5, 0.5));
691 "hSResidp11b",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +1/1b); Strip Widths", 100, -0.5, 0.5));
693 "hSResidp12",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +1/2); Strip Widths", 100, -0.5, 0.5));
695 "hSResidp13",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +1/3); Strip Widths", 100, -0.5, 0.5));
697 "hSResidp11a",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +1/1a); Strip Widths", 100, -0.5, 0.5));
699 "hSResidp21",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +2/1); Strip Widths", 100, -0.5, 0.5));
701 "hSResidp22",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +2/2); Strip Widths", 100, -0.5, 0.5));
703 "hSResidp31",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +3/1); Strip Widths", 100, -0.5, 0.5));
705 "hSResidp32",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +3/2); Strip Widths", 100, -0.5, 0.5));
707 "hSResidp41",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +4/1); Strip Widths", 100, -0.5, 0.5));
709 "hSResidp42",
"Fitted Position on Strip - Reconstructed for Layer 3 (ME +4/2); Strip Widths", 100, -0.5, 0.5));
716 hSnum = ibooker.
book1D(
"hSnum",
"CSC w rechits in 2+ layers && segment(s)", 20, 0.5, 20.5);
717 hSden = ibooker.
book1D(
"hSden",
"CSC w rechits in 2+ layers", 20, 0.5, 20.5);
718 hRHnum = ibooker.
book1D(
"hRHnum",
"CSC w segment(s) && rechits in 6 layers", 20, 0.5, 20.5);
719 hRHden = ibooker.
book1D(
"hRHden",
"CSC w segment(s)", 20, 0.5, 20.5);
727 hSSTE2 = ibooker.
book2D(
"hSSTE2",
"hSSTE2", 36, 0.5, 36.5, 20, 0.5, 20.5);
728 hRHSTE2 = ibooker.
book2D(
"hRHSTE2",
"hRHSTE2", 36, 0.5, 36.5, 20, 0.5, 20.5);
729 hStripSTE2 = ibooker.
book2D(
"hStripSTE2",
"hStripSTE2", 36, 0.5, 36.5, 20, 0.5, 20.5);
730 hWireSTE2 = ibooker.
book2D(
"hWireSTE2",
"hWireSTE2", 36, 0.5, 36.5, 20, 0.5, 20.5);
731 hEffDenominator = ibooker.
book2D(
"hEffDenominator",
"hEffDenominator", 36, 0.5, 36.5, 20, 0.5, 20.5);
739 ibooker.
book2D(
"hSensitiveAreaEvt",
"Events Passing Selection for Efficiency", 36, 0.5, 36.5, 20, 0.5, 20.5);
744 hALCTgetBX = ibooker.
book1D(
"hALCTgetBX",
"ALCT position in ALCT-L1A match window [BX]", 7, -0.5, 6.5);
747 ibooker.
book2D(
"hALCTgetBXSerial",
"ALCT position in ALCT-L1A match window [BX]", 601, -0.5, 600.5, 7, -0.5, 6.5);
750 "hALCTgetBX2DNumerator",
"ALCT position in ALCT-L1A match window [BX] (sum)", 36, 0.5, 36.5, 20, 0.5, 20.5);
753 ibooker.
book2D(
"hALCTgetBX2Denominator",
"Number of ALCT Digis checked", 36, 0.5, 36.5, 20, 0.5, 20.5);
756 hALCTMatch = ibooker.
book1D(
"hALCTMatch",
"ALCT position in ALCT-CLCT match window [BX]", 7, -0.5, 6.5);
759 "hALCTMatchSerial",
"ALCT position in ALCT-CLCT match window [BX]", 601, -0.5, 600.5, 7, -0.5, 6.5);
762 "hALCTMatch2DNumerator",
"ALCT position in ALCT-CLCT match window [BX] (sum)", 36, 0.5, 36.5, 20, 0.5, 20.5);
765 ibooker.
book2D(
"hALCTMatch2Denominator",
"Number of ALCT-CLCT matches checked", 36, 0.5, 36.5, 20, 0.5, 20.5);
768 hCLCTL1A = ibooker.
book1D(
"hCLCTL1A",
"L1A - CLCTpreTrigger at TMB [BX]", 40, 149.5, 189.5);
771 ibooker.
book2D(
"hCLCTL1ASerial",
"L1A - CLCTpreTrigger at TMB [BX]", 601, -0.5, 600.5, 40, 149.5, 189.5);
774 ibooker.
book2D(
"hCLCTL1A2DNumerator",
"L1A - CLCTpreTrigger at TMB [BX] (sum)", 36, 0.5, 36.5, 20, 0.5, 20.5);
777 ibooker.
book2D(
"hCLCTL1A2Denominator",
"Number of TMB CLCTs checked", 36, 0.5, 36.5, 20, 0.5, 20.5);
References applyCSClabels(), dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::NavigatorBase::cd(), EXTENDED, 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, hSTimeAnodeSerial, hSTimeCathode, hSTimeCathodeByChamberType, hSTimeCathodeSerial, hSTimeCombined, hSTimeCombinedByChamberType, hSTimeCombinedSerial, hSTimeDiff, hSTimeDiffByChamberType, hSTimeDiffSerial, hSTimeVsTOF, hSTimeVsZ, hStripNFired, hStripNumber, hStripPed, hStripSTE2, hWirenGroupsTotal, hWireNumber, hWireSTE2, hWireTBin, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), X, and Y.
◆ chamberSerial()
int CSCOfflineMonitor::chamberSerial |
( |
CSCDetId |
id | ) |
|
|
private |
Definition at line 2119 of file CSCOfflineMonitor.cc.
2120 int st =
id.station();
2122 int ch =
id.chamber();
2123 int ec =
id.endcap();
2125 if (st == 1 && ri == 1)
2127 if (st == 1 && ri == 2)
2129 if (st == 1 && ri == 3)
2131 if (st == 1 && ri == 4)
2133 if (st == 2 && ri == 1)
2135 if (st == 2 && ri == 2)
2137 if (st == 3 && ri == 1)
2139 if (st == 3 && ri == 2)
2141 if (st == 4 && ri == 1)
2143 if (st == 4 && ri == 2)
2146 kSerial = kSerial + 300;
Referenced by doBXMonitor(), doOccupancies(), and doSegments().
◆ 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 1785 of file CSCOfflineMonitor.cc.
1792 const CSCDetId& idALCT = (*j).first;
1796 if ((*digiIt).isValid()) {
1816 edm::LogWarning(
"CSCOfflineMonitor") <<
" FEDRawDataCollection not available";
1820 bool goodEvent =
false;
1821 unsigned long dccBinCheckMask = 0x06080016;
1822 unsigned int examinerMask = 0x1FEBF3F6;
1823 unsigned int errorMask = 0x0;
1827 std::vector<unsigned int> cscFEDids;
1831 cscFEDids.push_back(
id);
1836 cscFEDids.push_back(
id);
1839 for (
unsigned int i = 0;
i < cscFEDids.size();
i++)
1841 unsigned int id = cscFEDids[
i];
1849 unsigned long length = fedData.
size();
1853 std::stringstream examiner_out, examiner_err;
1856 if (examinerMask & 0x40000)
1858 if (examinerMask & 0x8000)
1860 if (examinerMask & 0x0400)
1862 examiner->
setMask(examinerMask);
1863 const short unsigned int*
data = (
short unsigned int*)fedData.
data();
1869 goodEvent = !(examiner->
errors() & dccBinCheckMask);
1877 std::vector<CSCDDUEventData> fed_Data;
1878 std::vector<CSCDDUEventData>* ptr_fedData = &fed_Data;
1883 fed_Data.push_back(single_dduData);
1892 const std::vector<CSCDDUEventData>& dduData = *ptr_fedData;
1896 for (
unsigned int iDDU = 0; iDDU < dduData.size(); ++iDDU) {
1899 if (dduData[iDDU].trailer().errorstat() & errorMask) {
1900 LogTrace(
"CSCDCCUnpacker|CSCRawToDigi") <<
"DDU# " << iDDU <<
" has serious error - no digis unpacked! "
1901 << std::hex << dduData[iDDU].trailer().errorstat();
1906 const std::vector<CSCEventData>& cscData = dduData[iDDU].cscData();
1908 for (
unsigned int iCSC = 0; iCSC < cscData.size(); ++iCSC) {
1911 int vmecrate = cscData[iCSC].dmbHeader()->crateID();
1912 int dmb = cscData[iCSC].dmbHeader()->dmbID();
1917 if ((vmecrate >= 1) && (vmecrate <= 60) && (dmb >= 1) && (dmb <= 10) && (dmb != 6)) {
1918 layer = pcrate->
detId(vmecrate, dmb, icfeb, ilayer);
1920 LogTrace(
"CSCOfflineMonitor") <<
" detID input out of range!!! ";
1921 LogTrace(
"CSCOfflineMonitor") <<
" skipping chamber vme= " << vmecrate <<
" dmb= " << dmb;
1926 int nalct = cscData[iCSC].dmbHeader()->nalct();
1927 bool goodALCT =
false;
1929 if (nalct && cscData[iCSC].alctHeader()) {
1930 if (cscData[iCSC].alctHeader()->
check()) {
1936 int nclct = cscData[iCSC].dmbHeader()->nclct();
1937 bool goodTMB =
false;
1938 if (nclct && cscData[iCSC].tmbData()) {
1939 if (cscData[iCSC].tmbHeader()->
check()) {
1940 if (cscData[iCSC].comparatorData()->
check())
1945 if (goodTMB && goodALCT) {
1946 const CSCTMBHeader* tmbHead = cscData[iCSC].tmbHeader();
1947 std::vector<CSCCLCTDigi> clcts = cscData[iCSC].tmbHeader()->CLCTDigis(
layer.rawId());
1948 if (clcts.empty() || !(clcts[0].isValid()))
1951 if (
layer.station() == 1 &&
layer.ring() == 1 && clcts[0].getKeyStrip() > 128) {
1963 int TMB_CLCTpre_rel_L1A = tmbHead->
BXNCount() - clcts[0].getFullBX();
1964 if (TMB_CLCTpre_rel_L1A > 3563)
1965 TMB_CLCTpre_rel_L1A = TMB_CLCTpre_rel_L1A - 3564;
1966 if (TMB_CLCTpre_rel_L1A < 0)
1967 TMB_CLCTpre_rel_L1A = TMB_CLCTpre_rel_L1A + 3564;
1978 if (examiner !=
nullptr)
References CSCTMBHeader::ALCTMatchTime(), CSCTMBHeader::BXNCount(), CSCDetId::chamber(), chamberSerial(), RPCNoise_example::check, CSCDCCExaminer::check(), CSCDCCExaminer::crcALCT(), CSCDCCExaminer::crcCFEB(), CSCDCCExaminer::crcTMB(), FEDRawData::data(), data, CSCDCCEventData::dduData(), CSCCrateMap::detId(), CSCDCCExaminer::errors(), FEDRawDataCollection::FEDData(), dqm::impl::MonitorElement::Fill(), edm::EventSetup::getHandle(), hALCTgetBX, hALCTgetBX2Denominator, hALCTgetBX2DNumerator, hALCTgetBXSerial, hALCTMatch, hALCTMatch2Denominator, hALCTMatch2DNumerator, hALCTMatchSerial, hCLCTL1A, hCLCTL1A2Denominator, hCLCTL1A2DNumerator, hCLCTL1ASerial, hcrateToken_, 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, rd_token, CSCDCCExaminer::setMask(), FEDRawData::size(), and typeIndex().
Referenced by analyze().
◆ doEfficiencies()
Definition at line 1480 of file CSCOfflineMonitor.cc.
1485 bool allWires[2][4][4][36][6];
1486 bool allStrips[2][4][4][36][6];
1487 bool AllRecHits[2][4][4][36][6];
1488 bool AllSegments[2][4][4][36];
1491 for (
int iE = 0; iE < 2; iE++) {
1492 for (
int iS = 0; iS < 4; iS++) {
1493 for (
int iR = 0; iR < 4; iR++) {
1494 for (
int iC = 0; iC < 36; iC++) {
1495 AllSegments[iE][iS][iR][iC] =
false;
1497 for (
int iL = 0; iL < 6; iL++) {
1498 allWires[iE][iS][iR][iC][iL] =
false;
1499 allStrips[iE][iS][iR][iC][iL] =
false;
1500 AllRecHits[iE][iS][iR][iC][iL] =
false;
1510 std::vector<CSCWireDigi>::const_iterator wireIter = (*dWDiter).second.first;
1511 std::vector<CSCWireDigi>::const_iterator lWire = (*dWDiter).second.second;
1512 for (; wireIter != lWire; ++wireIter) {
1522 std::vector<CSCStripDigi>::const_iterator stripIter = (*dSDiter).second.first;
1523 std::vector<CSCStripDigi>::const_iterator lStrip = (*dSDiter).second.second;
1524 for (; stripIter != lStrip; ++stripIter) {
1525 std::vector<int> myADCVals = stripIter->getADCCounts();
1526 bool thisStripFired =
false;
1527 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1530 for (
unsigned int iCount = 0; iCount < myADCVals.size(); iCount++) {
1531 diff = (
float)myADCVals[iCount] - thisPedestal;
1533 thisStripFired =
true;
1537 if (thisStripFired) {
1553 std::vector<uint> seg_ME2(2, 0);
1554 std::vector<uint> seg_ME3(2, 0);
1555 std::vector<pair<CSCDetId, CSCSegment> > theSegments(4);
1570 ++seg_ME2[idseg.
endcap() - 1];
1571 seg_tmp = seg_ME2[idseg.
endcap() - 1];
1573 ++seg_ME3[idseg.
endcap() - 1];
1574 seg_tmp = seg_ME3[idseg.
endcap() - 1];
1577 if (1 == seg_tmp && 6 == (*segEffIt).nRecHits() && (*segEffIt).chi2() / (*segEffIt).degreesOfFreedom() < 3.) {
1578 pair<CSCDetId, CSCSegment> specSeg = make_pair((
CSCDetId)(*segEffIt).cscDetId(), *segEffIt);
1579 theSegments[2 * (idseg.
endcap() - 1) + (idseg.
station() - 2)] = specSeg;
1600 for (
int iE = 0; iE < 2; iE++) {
1601 for (
int iS = 0; iS < 4; iS++) {
1602 for (
int iR = 0; iR < 4; iR++) {
1603 for (
int iC = 0; iC < 36; iC++) {
1604 int NumberOfLayers = 0;
1605 for (
int iL = 0; iL < 6; iL++) {
1606 if (AllRecHits[iE][iS][iR][iC][iL]) {
1612 bin = iR + 1 + (iE * 10);
1614 bin = (iS + 1) * 2 + (iR + 1) + (iE * 10);
1615 if (NumberOfLayers > 1) {
1617 if (AllSegments[iE][iS][iR][iC]) {
1625 if (AllSegments[iE][iS][iR][iC]) {
1626 if (NumberOfLayers == 6) {
1641 std::vector<pair<CSCDetId, CSCSegment>*> theSeg;
1642 if (1 == seg_ME2[0])
1643 theSeg.push_back(&theSegments[0]);
1644 if (1 == seg_ME3[0])
1645 theSeg.push_back(&theSegments[1]);
1646 if (1 == seg_ME2[1])
1647 theSeg.push_back(&theSegments[2]);
1648 if (1 == seg_ME3[1])
1649 theSeg.push_back(&theSegments[3]);
1654 std::map<std::string, float> chamberTypes;
1655 chamberTypes[
"ME1/a"] = 0.5;
1656 chamberTypes[
"ME1/b"] = 1.5;
1657 chamberTypes[
"ME1/2"] = 2.5;
1658 chamberTypes[
"ME1/3"] = 3.5;
1659 chamberTypes[
"ME2/1"] = 4.5;
1660 chamberTypes[
"ME2/2"] = 5.5;
1661 chamberTypes[
"ME3/1"] = 6.5;
1662 chamberTypes[
"ME3/2"] = 7.5;
1663 chamberTypes[
"ME4/1"] = 8.5;
1664 chamberTypes[
"ME4/2"] = 9.5;
1666 if (!theSeg.empty()) {
1667 std::map<int, GlobalPoint> extrapolatedPoint;
1668 std::map<int, GlobalPoint>::iterator it;
1671 for (
unsigned int nCh = 0; nCh < ChamberContainer.size(); nCh++) {
1672 const CSCChamber* cscchamber = ChamberContainer[nCh];
1673 pair<CSCDetId, CSCSegment>* thisSegment =
nullptr;
1674 for (
uint iSeg = 0; iSeg < theSeg.size(); ++iSeg) {
1675 if (cscchamber->
id().
endcap() == theSeg[iSeg]->first.endcap()) {
1677 if (2 == theSeg[iSeg]->
first.station()) {
1678 thisSegment = theSeg[iSeg];
1681 if (3 == theSeg[iSeg]->
first.station()) {
1682 thisSegment = theSeg[iSeg];
1694 it = extrapolatedPoint.find(
int(cscchamberCenter.
z()));
1695 if (it == extrapolatedPoint.end()) {
1699 double xExtrapolated =
extrapolate1D(segPos.
x(), segDir.
x(), paramaterLine);
1700 double yExtrapolated =
extrapolate1D(segPos.
y(), segDir.
y(), paramaterLine);
1701 GlobalPoint globP(xExtrapolated, yExtrapolated, cscchamberCenter.
z());
1702 extrapolatedPoint[
int(cscchamberCenter.
z())] = globP;
1705 LocalPoint extrapolatedPointLocal = cscchamber->
toLocal(extrapolatedPoint[
int(cscchamberCenter.
z())]);
1708 const std::array<const float, 4>& layerBounds = layerGeom->
parameters();
1709 float shiftFromEdge = 15.;
1710 float shiftFromDeadZone = 10.;
1725 for (
int iL = 0; iL < 6; ++iL) {
1733 if (cscchamberCenter.
z() < 0) {
1734 verticalScale = -verticalScale;
1736 verticalScale += 10.5;
1738 if (nRHLayers > 1) {
1750 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(), extrapolate1D(), dqm::impl::MonitorElement::Fill(), first, dqmMemoryStats::float, cms::cuda::for(), CSCLayer::geometry(), hEffDenominator, hRHden, hRHnum, hRHSTE2, hSden, hSensitiveAreaEvt, hSnum, hSSTE2, hStripSTE2, hWireSTE2, CSCChamber::id(), createfilelist::int, CSCChamber::layer(), CSCDetId::layer(), lineParametrization(), 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, withinSensitiveRegion(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by analyze().
◆ doOccupancies()
Definition at line 850 of file CSCOfflineMonitor.cc.
855 bool clcto[2][4][4][36];
856 bool wireo[2][4][4][36];
857 bool stripo[2][4][4][36];
858 bool rechito[2][4][4][36];
859 bool segmento[2][4][4][36];
861 bool hasWires =
false;
862 bool hasStrips =
false;
863 bool hasRecHits =
false;
864 bool hasSegments =
false;
866 for (
int e = 0;
e < 2;
e++) {
867 for (
int s = 0;
s < 4;
s++) {
868 for (
int r = 0;
r < 4;
r++) {
869 for (
int c = 0;
c < 36;
c++) {
870 clcto[
e][
s][
r][
c] =
false;
871 wireo[
e][
s][
r][
c] =
false;
872 stripo[
e][
s][
r][
c] =
false;
873 rechito[
e][
s][
r][
c] =
false;
874 segmento[
e][
s][
r][
c] =
false;
883 int kEndcap =
id.
endcap();
884 int kRing =
id.ring();
885 int kStation =
id.station();
886 int kChamber =
id.chamber();
890 if ((*digiIt).isValid()) {
892 if (kStation == 1 && kRing == 1 && (*digiIt).getKeyStrip() > 128)
894 clcto[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
902 int kEndcap =
id.
endcap();
903 int kRing =
id.ring();
904 int kStation =
id.station();
905 int kChamber =
id.chamber();
906 std::vector<CSCWireDigi>::const_iterator wireIt = (*wi).second.first;
907 std::vector<CSCWireDigi>::const_iterator lastWire = (*wi).second.second;
908 for (; wireIt != lastWire; ++wireIt) {
909 if (!wireo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
910 wireo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
914 if (clcto[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1])
917 if (kStation == 1 && kRing == 1 && clcto[kEndcap - 1][kStation - 1][3][kChamber - 1]) {
928 int kEndcap =
id.
endcap();
929 int kRing =
id.ring();
930 int kStation =
id.station();
931 int kChamber =
id.chamber();
932 std::vector<CSCStripDigi>::const_iterator stripIt = (*si).second.first;
933 std::vector<CSCStripDigi>::const_iterator lastStrip = (*si).second.second;
934 for (; stripIt != lastStrip; ++stripIt) {
935 std::vector<int> myADCVals = stripIt->getADCCounts();
936 bool thisStripFired =
false;
937 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
940 for (
unsigned int iCount = 0; iCount < myADCVals.size(); iCount++) {
941 diff = (
float)myADCVals[iCount] - thisPedestal;
943 thisStripFired =
true;
946 if (thisStripFired) {
947 if (!stripo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
948 stripo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
952 if (clcto[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
955 if (wireo[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] ||
956 (kRing == 4 && wireo[kEndcap - 1][kStation - 1][0][kChamber - 1])) {
967 for (recIt =
recHits->begin(); recIt !=
recHits->end(); recIt++) {
969 int kEndcap = idrec.
endcap();
970 int kRing = idrec.
ring();
971 int kStation = idrec.
station();
972 int kChamber = idrec.
chamber();
973 if (!rechito[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
974 rechito[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
984 int kEndcap =
id.
endcap();
985 int kRing =
id.ring();
986 int kStation =
id.station();
987 int kChamber =
id.chamber();
988 if (!segmento[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1]) {
989 segmento[kEndcap - 1][kStation - 1][kRing - 1][kChamber - 1] =
true;
1002 if (hasWires && hasStrips)
References c, CSCDetId::chamber(), chamberSerial(), dtChamberEfficiency_cfi::cscSegments, change_name::diff, MillePedeFileConverter_cfg::e, CSCDetId::endcap(), dqm::impl::MonitorElement::Fill(), dqmMemoryStats::float, hCSCOccupancy, hORecHits, hORecHitsSerial, hOSegments, hOSegmentsSerial, hOStrips, hOStripsAndWiresAndCLCT, hOStripSerial, hOWires, hOWiresAndCLCT, hOWireSerial, dqmiolumiharvest::j, alignCSCRings::r, FastTimerService_cff::range, FastTrackerRecHitMaskProducer_cfi::recHits, CSCDetId::ring(), alignCSCRings::s, CSCDetId::station(), DigiDM_cff::strips, remoteMonitoring_LED_IterMethod_cfg::threshold, typeIndex(), and DigiDM_cff::wires.
Referenced by analyze().
◆ doPedestalNoise()
◆ doRecHits()
Find the charge associated with this hit
Definition at line 1126 of file CSCOfflineMonitor.cc.
1130 int nRecHits =
recHits->size();
1137 for (dRHIter =
recHits->begin(); dRHIter !=
recHits->end(); dRHIter++) {
1142 LocalPoint rhitlocal = (*dRHIter).localPosition();
1147 float stpos = (*dRHIter).positionWithinStrip();
1148 float sterr = (*dRHIter).errorWithinStrip();
1152 int adcsize = dRHIter->nStrips() * dRHIter->nTimeBins();
1155 for (
unsigned int i = 0;
i < dRHIter->nStrips();
i++) {
1156 for (
unsigned int j = 0;
j < dRHIter->nTimeBins() - 1;
j++) {
1157 rHSumQ += dRHIter->adcs(
i,
j);
1159 sumsides += dRHIter->adcs(
i,
j);
1163 float rHratioQ = sumsides / rHSumQ;
1168 float rHtime = (*dRHIter).tpeak();
1169 float rHtimeAnode = (*dRHIter).wireTime();
1176 float grecx = rhitglobal.
x();
1177 float grecy = rhitglobal.
y();
1182 hRHSumQ[tIndex - 1]->Fill(rHSumQ);
1188 hRHGlobal[sIndex - 1]->Fill(grecx, grecy);
References CSCDetId::endcap(), dqm::impl::MonitorElement::Fill(), hRHGlobal, hRHnrechits, hRHRatioQ, hRHsterr, hRHstpos, hRHSumQ, hRHTiming, hRHTimingAnode, mps_fire::i, dqmiolumiharvest::j, CSCGeometry::layer(), FastTrackerRecHitMaskProducer_cfi::recHits, CSCDetId::station(), GeomDet::toGlobal(), typeIndex(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
Referenced by analyze().
◆ doResolution()
Find the strip containing this hit
Definition at line 1325 of file CSCOfflineMonitor.cc.
1331 std::vector<CSCRecHit2D> theseRecHits = (*dSiter).specificRecHits();
1332 int nRH = (*dSiter).nRecHits();
1334 CLHEP::HepMatrix sp(6, 1);
1335 CLHEP::HepMatrix se(6, 1);
1336 for (vector<CSCRecHit2D>::const_iterator iRH = theseRecHits.begin(); iRH != theseRecHits.end(); iRH++) {
1340 int kRing = idRH.
ring();
1341 int kStation = idRH.
station();
1346 int centerid = iRH->nStrips() / 2 + 1;
1347 int centerStrip = iRH->channels(centerid - 1);
1351 float stpos = (*iRH).positionWithinStrip();
1352 se(
kLayer, 1) = (*iRH).errorWithinStrip();
1354 if (kStation == 1 && (kRing == 1 || kRing == 4))
1355 sp(
kLayer, 1) = stpos + centerStrip;
1358 sp(
kLayer, 1) = stpos + centerStrip;
1360 sp(
kLayer, 1) = stpos - 0.5 + centerStrip;
1368 float expected =
fitX(sp, se);
1369 float residual = expected - sp(3, 1);
References dtChamberEfficiency_cfi::cscSegments, fitX(), hSResid, kLayer(), CSCDetId::layer(), CSCDetId::ring(), CSCDetId::station(), and typeIndex().
Referenced by analyze().
◆ doSegments()
Definition at line 1202 of file CSCOfflineMonitor.cc.
1208 float chisq = (*dSiter).chi2();
1209 int nhits = (*dSiter).nRecHits();
1210 int nDOF = 2 *
nhits - 4;
1211 float nChi2 = chisq / nDOF;
1213 LocalPoint localPos = (*dSiter).localPosition();
1217 float timeCathode = 0;
1218 float timeAnode = 0;
1219 float timeCombined = 0;
1220 std::vector<float> cathodeTimes;
1221 std::vector<float> anodeTimes;
1223 std::vector<CSCRecHit2D> theseRecHits = (*dSiter).specificRecHits();
1224 for (vector<CSCRecHit2D>::const_iterator iRH = theseRecHits.begin(); iRH != theseRecHits.end(); iRH++) {
1225 if (!((*iRH).isValid()))
1227 cathodeTimes.push_back((*iRH).tpeak());
1228 anodeTimes.push_back((*iRH).wireTime());
1232 for (
unsigned int i = 0;
i < cathodeTimes.size();
i++)
1233 timeCathode += cathodeTimes[
i] / cathodeTimes.size();
1237 bool modified =
false;
1238 std::vector<float>::iterator anodeMaxHit;
1240 if (anodeTimes.empty())
1247 for (
unsigned int j = 0;
j < anodeTimes.size();
j++)
1248 timeAnode += anodeTimes[
j] / anodeTimes.size();
1251 for (
unsigned int j = 0;
j < anodeTimes.size();
j++) {
1252 if (fabs(anodeTimes[
j] - timeAnode) > anodeMaxDiff) {
1253 anodeMaxHit = anodeTimes.begin() +
j;
1254 anodeMaxDiff = fabs(anodeTimes[
j] - timeAnode);
1259 if (anodeMaxDiff > 26) {
1261 anodeTimes.erase(anodeMaxHit);
1266 if (cathodeTimes.size() + anodeTimes.size() > 0)
1267 timeCombined = (timeCathode * cathodeTimes.size() + timeAnode * anodeTimes.size()) /
1268 (cathodeTimes.size() + anodeTimes.size());
1275 float globTheta = 0.;
1280 globX = globalPosition.
x();
1281 globY = globalPosition.
y();
1282 globZ = globalPosition.
z();
1283 globTOF =
sqrt(globX * globX + globY * globY + globZ * globZ);
1285 globTheta = globalDirection.
theta();
1286 globPhi = globalDirection.
phi();
1294 hSChiSq[tIndex - 1]->Fill(nChi2);
References CSCGeometry::chamber(), chamberSerial(), ChiSquaredProbability(), dtChamberEfficiency_cfi::cscSegments, dqm::impl::MonitorElement::Fill(), hSChiSq, hSChiSqAll, hSChiSqProb, hSChiSqProbAll, hSGlobalPhi, hSGlobalTheta, hSnhits, hSnhitsAll, hSnSegments, hSTimeAnode, hSTimeAnodeByChamberType, hSTimeAnodeSerial, hSTimeCathode, hSTimeCathodeByChamberType, hSTimeCathodeSerial, hSTimeCombined, hSTimeCombinedByChamberType, hSTimeCombinedSerial, hSTimeDiff, hSTimeDiffByChamberType, hSTimeDiffSerial, hSTimeVsTOF, hSTimeVsZ, mps_fire::i, dqmiolumiharvest::j, nhits, PV3DBase< T, PVType, FrameType >::phi(), mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::theta(), GeomDet::toGlobal(), typeIndex(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by analyze().
◆ doStripDigis()
◆ doWireDigis()
◆ extrapolate1D()
double CSCOfflineMonitor::extrapolate1D |
( |
double |
initPosition, |
|
|
double |
initDirection, |
|
|
double |
parameterOfTheLine |
|
) |
| |
|
inlineprivate |
Definition at line 141 of file CSCOfflineMonitor.h.
142 double extrapolatedPosition = initPosition + initDirection * parameterOfTheLine;
143 return extrapolatedPosition;
Referenced by doEfficiencies().
◆ 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 1417 of file CSCOfflineMonitor.cc.
1429 for (sIt = stripdigis.begin(); sIt != stripdigis.end(); sIt++) {
1433 vector<CSCStripDigi>::const_iterator digiItr = (*sIt).second.first;
1434 vector<CSCStripDigi>::const_iterator
last = (*sIt).second.second;
1435 for (; digiItr !=
last; ++digiItr) {
1436 int thisStrip = digiItr->getStrip();
1437 if (thisStrip == (centerStrip)) {
1438 std::vector<int> myADCVals = digiItr->getADCCounts();
1439 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1440 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1441 SigADC[0] = thisSignal - 6 * thisPedestal;
1444 if (thisStrip == (centerStrip + 1)) {
1445 std::vector<int> myADCVals = digiItr->getADCCounts();
1446 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1447 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1448 SigADC[1] = thisSignal - 6 * thisPedestal;
1450 if (thisStrip == (centerStrip + 2)) {
1451 std::vector<int> myADCVals = digiItr->getADCCounts();
1452 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1453 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1454 SigADC[2] = thisSignal - 6 * thisPedestal;
1456 if (thisStrip == (centerStrip - 1)) {
1457 std::vector<int> myADCVals = digiItr->getADCCounts();
1458 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1459 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1460 SigADC[3] = thisSignal - 6 * thisPedestal;
1462 if (thisStrip == (centerStrip - 2)) {
1463 std::vector<int> myADCVals = digiItr->getADCCounts();
1464 float thisPedestal = 0.5 * (
float)(myADCVals[0] + myADCVals[1]);
1465 float thisSignal = (myADCVals[2] + myADCVals[3] + myADCVals[4] + myADCVals[5] + myADCVals[6] + myADCVals[7]);
1466 SigADC[4] = thisSignal - 6 * thisPedestal;
1469 TotalADC = 0.2 * (SigADC[0] + SigADC[1] + SigADC[2] + SigADC[3] + SigADC[4]);
References dqmMemoryStats::float, if(), and dqmdumpme::last.
Referenced by doPedestalNoise().
◆ lineParametrization()
double CSCOfflineMonitor::lineParametrization |
( |
double |
z1Position, |
|
|
double |
z2Position, |
|
|
double |
z1Direction |
|
) |
| |
|
inlineprivate |
◆ typeIndex()
int CSCOfflineMonitor::typeIndex |
( |
CSCDetId |
id, |
|
|
int |
flag = 1 |
|
) |
| |
|
private |
Definition at line 2084 of file CSCOfflineMonitor.cc.
2092 index =
id.station() * 2 +
id.ring();
2100 else if (
flag == 2) {
2103 index =
id.ring() + 1;
2107 index =
id.station() * 2 +
id.ring();
References makeMuonMisalignmentScenario::endcap, RemoveAddSevLevel::flag, relativeConstraints::ring, and relativeConstraints::station.
Referenced by doBXMonitor(), doOccupancies(), doPedestalNoise(), doRecHits(), doResolution(), doSegments(), doStripDigis(), and doWireDigis().
◆ 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 1986 of file CSCOfflineMonitor.cc.
1995 float y_center = 0.;
1996 double yUp = layerBounds[3] + y_center;
1997 double yDown = -layerBounds[3] + y_center;
1998 double xBound1Shifted = layerBounds[0] - shiftFromEdge;
1999 double xBound2Shifted = layerBounds[1] - shiftFromEdge;
2000 double lineSlope = (yUp - yDown) / (xBound2Shifted - xBound1Shifted);
2001 double lineConst = yUp - lineSlope * xBound2Shifted;
2002 double yBorder = lineSlope *
abs(localPos.
x()) + lineConst;
2005 std::vector<float> deadZoneCenter(6);
2006 float cutZone = shiftFromDeadZone;
2010 deadZoneCenter[0] = -162.48;
2011 deadZoneCenter[1] = -81.8744;
2012 deadZoneCenter[2] = -21.18165;
2013 deadZoneCenter[3] = 39.51105;
2014 deadZoneCenter[4] = 100.2939;
2015 deadZoneCenter[5] = 160.58;
2017 if (localPos.
y() > yBorder &&
2018 ((localPos.
y() > deadZoneCenter[0] + cutZone && localPos.
y() < deadZoneCenter[1] - cutZone) ||
2019 (localPos.
y() > deadZoneCenter[1] + cutZone && localPos.
y() < deadZoneCenter[2] - cutZone) ||
2020 (localPos.
y() > deadZoneCenter[2] + cutZone && localPos.
y() < deadZoneCenter[3] - cutZone) ||
2021 (localPos.
y() > deadZoneCenter[3] + cutZone && localPos.
y() < deadZoneCenter[4] - cutZone) ||
2022 (localPos.
y() > deadZoneCenter[4] + cutZone && localPos.
y() < deadZoneCenter[5] - cutZone))) {
2025 }
else if (1 ==
ring) {
2027 deadZoneCenter[0] = -95.80;
2028 deadZoneCenter[1] = -27.47;
2029 deadZoneCenter[2] = 33.67;
2030 deadZoneCenter[3] = 90.85;
2032 deadZoneCenter[0] = -89.305;
2033 deadZoneCenter[1] = -39.705;
2034 deadZoneCenter[2] = 20.195;
2035 deadZoneCenter[3] = 77.395;
2037 deadZoneCenter[0] = -75.645;
2038 deadZoneCenter[1] = -26.055;
2039 deadZoneCenter[2] = 23.855;
2040 deadZoneCenter[3] = 70.575;
2042 if (localPos.
y() > yBorder &&
2043 ((localPos.
y() > deadZoneCenter[0] + cutZone && localPos.
y() < deadZoneCenter[1] - cutZone) ||
2044 (localPos.
y() > deadZoneCenter[1] + cutZone && localPos.
y() < deadZoneCenter[2] - cutZone) ||
2045 (localPos.
y() > deadZoneCenter[2] + cutZone && localPos.
y() < deadZoneCenter[3] - cutZone))) {
2051 deadZoneCenter[0] = -83.155;
2052 deadZoneCenter[1] = -22.7401;
2053 deadZoneCenter[2] = 27.86665;
2054 deadZoneCenter[3] = 81.005;
2055 if (localPos.
y() > yBorder &&
2056 ((localPos.
y() > deadZoneCenter[0] + cutZone && localPos.
y() < deadZoneCenter[1] - cutZone) ||
2057 (localPos.
y() > deadZoneCenter[1] + cutZone && localPos.
y() < deadZoneCenter[2] - cutZone) ||
2058 (localPos.
y() > deadZoneCenter[2] + cutZone && localPos.
y() < deadZoneCenter[3] - cutZone))) {
2061 }
else if (2 ==
ring) {
2062 deadZoneCenter[0] = -86.285;
2063 deadZoneCenter[1] = -32.88305;
2064 deadZoneCenter[2] = 32.867423;
2065 deadZoneCenter[3] = 88.205;
2066 if (localPos.
y() > (yBorder) &&
2067 ((localPos.
y() > deadZoneCenter[0] + cutZone && localPos.
y() < deadZoneCenter[1] - cutZone) ||
2068 (localPos.
y() > deadZoneCenter[1] + cutZone && localPos.
y() < deadZoneCenter[2] - cutZone) ||
2069 (localPos.
y() > deadZoneCenter[2] + cutZone && localPos.
y() < deadZoneCenter[3] - cutZone))) {
2073 deadZoneCenter[0] = -81.0;
2074 deadZoneCenter[1] = 81.0;
2075 if (localPos.
y() > (yBorder) &&
2076 (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().
Referenced by doEfficiencies().
◆ al_token
◆ cl_token
◆ cscGeomToken_
◆ hALCTgetBX
◆ hALCTgetBX2Denominator
◆ hALCTgetBX2DNumerator
◆ hALCTgetBXSerial
◆ hALCTMatch
◆ hALCTMatch2Denominator
◆ hALCTMatch2DNumerator
◆ hALCTMatchSerial
◆ hCLCTL1A
◆ hCLCTL1A2Denominator
◆ hCLCTL1A2DNumerator
◆ hCLCTL1ASerial
◆ hcrateToken_
◆ 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)
const edm::ESGetToken< CSCCrateMap, CSCCrateMapRcd > hcrateToken_
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 edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscGeomToken_
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)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
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