11 phi = phi < 0 ? phi + 2. *
TMath::Pi() : phi;
12 float phi_degrees = phi * (360.) / (2. *
TMath::Pi());
13 int iPhi = (
int)((phi_degrees / 5.) + 1.);
15 return iPhi < 73 ? iPhi : 73;
46 IT_CosmicStandAloneMuon =
50 IT_CollisionStandAloneMuon =
79 hEcalHaloData_PhiWedgeMultiplicity = ibooker.
book1D(
"EcalHaloData_PhiWedgeMultiplicity",
"", 20, -0.5, 19.5);
80 hEcalHaloData_PhiWedgeConstituents = ibooker.
book1D(
"EcalHaloData_PhiWedgeConstituents",
"", 20, -0.5, 19.5);
82 hEcalHaloData_PhiWedgeZDirectionConfidence =
83 ibooker.
book1D(
"EcalHaloData_ZDirectionConfidence",
"", 120, -1.2, 1.2);
84 hEcalHaloData_SuperClusterShowerShapes =
85 ibooker.
book2D(
"EcalHaloData_SuperClusterShowerShapes",
"", 30, 0, 3.2, 25, 0.0, 2.0);
86 hEcalHaloData_SuperClusterEnergy = ibooker.
book1D(
"EcalHaloData_SuperClusterEnergy",
"", 50, -0.5, 99.5);
87 hEcalHaloData_SuperClusterNHits = ibooker.
book1D(
"EcalHaloData_SuperClusterNHits",
"", 20, -0.5, 19.5);
89 hEcalHaloData_PhiWedgeMultiplicity = ibooker.
book1D(
"EcalHaloData_PhiWedgeMultiplicity",
"", 20, -0.5, 19.5);
90 hEcalHaloData_PhiWedgeEnergy = ibooker.
book1D(
"EcalHaloData_PhiWedgeEnergy",
"", 50, -0.5, 199.5);
91 hEcalHaloData_PhiWedgeConstituents = ibooker.
book1D(
"EcalHaloData_PhiWedgeConstituents",
"", 20, -0.5, 19.5);
92 hEcalHaloData_PhiWedgeMinTime = ibooker.
book1D(
"EcalHaloData_PhiWedgeMinTime",
"", 100, -225.0, 225.0);
93 hEcalHaloData_PhiWedgeMaxTime = ibooker.
book1D(
"EcalHaloData_PhiWedgeMaxTime",
"", 100, -225.0, 225.0);
94 hEcalHaloData_PhiWedgeiPhi = ibooker.
book1D(
"EcalHaloData_PhiWedgeiPhi",
"", 360, 0.5, 360.5);
95 hEcalHaloData_PhiWedgePlusZDirectionConfidence =
96 ibooker.
book1D(
"EcalHaloData_PlusZDirectionConfidence",
"", 50, 0., 1.0);
97 hEcalHaloData_PhiWedgeZDirectionConfidence =
98 ibooker.
book1D(
"EcalHaloData_ZDirectionConfidence",
"", 120, -1.2, 1.2);
99 hEcalHaloData_PhiWedgeMinVsMaxTime =
100 ibooker.
book2D(
"EcalHaloData_PhiWedgeMinVsMaxTime",
"", 50, -100.0, 100.0, 50, -100.0, 100.0);
101 hEcalHaloData_SuperClusterShowerShapes =
102 ibooker.
book2D(
"EcalHaloData_SuperClusterShowerShapes",
"", 30, 0, 3.2, 25, 0.0, 2.0);
103 hEcalHaloData_SuperClusterEnergy = ibooker.
book1D(
"EcalHaloData_SuperClusterEnergy",
"", 100, -0.5, 99.5);
104 hEcalHaloData_SuperClusterNHits = ibooker.
book1D(
"EcalHaloData_SuperClusterNHits",
"", 20, -0.5, 19.5);
105 hEcalHaloData_SuperClusterPhiVsEta =
106 ibooker.
book2D(
"EcalHaloData_SuperClusterPhiVsEta",
"", 60, -3.0, 3.0, 60, -3.2, 3.2);
112 hHcalHaloData_PhiWedgeMultiplicity = ibooker.
book1D(
"HcalHaloData_PhiWedgeMultiplicity",
"", 20, -0.5, 19.5);
113 hHcalHaloData_PhiWedgeConstituents = ibooker.
book1D(
"HcalHaloData_PhiWedgeConstituents",
"", 20, -0.5, 19.5);
115 hHcalHaloData_PhiWedgeZDirectionConfidence =
116 ibooker.
book1D(
"HcalHaloData_ZDirectionConfidence",
"", 120, -1.2, 1.2);
118 hHcalHaloData_PhiWedgeMultiplicity = ibooker.
book1D(
"HcalHaloData_PhiWedgeMultiplicity",
"", 20, -0.5, 19.5);
119 hHcalHaloData_PhiWedgeEnergy = ibooker.
book1D(
"HcalHaloData_PhiWedgeEnergy",
"", 50, -0.5, 199.5);
120 hHcalHaloData_PhiWedgeConstituents = ibooker.
book1D(
"HcalHaloData_PhiWedgeConstituents",
"", 20, -0.5, 19.5);
121 hHcalHaloData_PhiWedgeiPhi = ibooker.
book1D(
"HcalHaloData_PhiWedgeiPhi",
"", 72, 0.5, 72.5);
122 hHcalHaloData_PhiWedgeMinTime = ibooker.
book1D(
"HcalHaloData_PhiWedgeMinTime",
"", 50, -100.0, 100.0);
123 hHcalHaloData_PhiWedgeMaxTime = ibooker.
book1D(
"HcalHaloData_PhiWedgeMaxTime",
"", 50, -100.0, 100.0);
124 hHcalHaloData_PhiWedgePlusZDirectionConfidence =
125 ibooker.
book1D(
"HcalHaloData_PlusZDirectionConfidence",
"", 50, 0., 1.0);
126 hHcalHaloData_PhiWedgeZDirectionConfidence =
127 ibooker.
book1D(
"HcalHaloData_ZDirectionConfidence",
"", 120, -1.2, 1.2);
128 hHcalHaloData_PhiWedgeMinVsMaxTime =
129 ibooker.
book2D(
"HcalHaloData_PhiWedgeMinVsMaxTime",
"", 50, -100.0, 100.0, 50, -100.0, 100.0);
135 hCSCHaloData_TrackMultiplicity = ibooker.
book1D(
"CSCHaloData_TrackMultiplicity",
"", 15, -0.5, 14.5);
136 hCSCHaloData_TrackMultiplicityMEPlus = ibooker.
book1D(
"CSCHaloData_TrackMultiplicityMEPlus",
"", 15, -0.5, 14.5);
137 hCSCHaloData_TrackMultiplicityMEMinus = ibooker.
book1D(
"CSCHaloData_TrackMultiplicityMEMinus",
"", 15, -0.5, 14.5);
138 hCSCHaloData_InnerMostTrackHitR = ibooker.
book1D(
"CSCHaloData_InnerMostTrackHitR",
"", 70, 99.5, 799.5);
139 hCSCHaloData_InnerMostTrackHitPhi = ibooker.
book1D(
"CSCHaloData_InnerMostTrackHitPhi",
"", 60, -3.2, 3.2);
140 hCSCHaloData_L1HaloTriggersMEPlus = ibooker.
book1D(
"CSCHaloData_L1HaloTriggersMEPlus",
"", 10, -0.5, 9.5);
141 hCSCHaloData_L1HaloTriggersMEMinus = ibooker.
book1D(
"CSCHaloData_L1HaloTriggersMEMinus",
"", 10, -0.5, 9.5);
142 hCSCHaloData_L1HaloTriggers = ibooker.
book1D(
"CSCHaloData_L1HaloTriggers",
"", 10, -0.5, 9.5);
143 hCSCHaloData_HLHaloTriggers = ibooker.
book1D(
"CSCHaloData_HLHaloTriggers",
"", 2, -0.5, 1.5);
144 hCSCHaloData_NOutOfTimeTriggersvsL1HaloExists =
145 ibooker.
book2D(
"CSCHaloData_NOutOfTimeTriggersvsL1HaloExists",
"", 20, -0.5, 19.5, 2, -0.5, 1.5);
146 hCSCHaloData_NOutOfTimeTriggersMEPlus = ibooker.
book1D(
"CSCHaloData_NOutOfTimeTriggersMEPlus",
"", 20, -0.5, 19.5);
147 hCSCHaloData_NOutOfTimeTriggersMEMinus =
148 ibooker.
book1D(
"CSCHaloData_NOutOfTimeTriggersMEMinus",
"", 20, -0.5, 19.5);
149 hCSCHaloData_NOutOfTimeTriggers = ibooker.
book1D(
"CSCHaloData_NOutOfTimeTriggers",
"", 20, -0.5, 19.5);
150 hCSCHaloData_NOutOfTimeHits = ibooker.
book1D(
"CSCHaloData_NOutOfTimeHits",
"", 60, -0.5, 59.5);
151 hCSCHaloData_NTracksSmalldT = ibooker.
book1D(
"CSCHaloData_NTracksSmalldT",
"", 15, -0.5, 14.5);
152 hCSCHaloData_NTracksSmallBeta = ibooker.
book1D(
"CSCHaloData_NTracksSmallBeta",
"", 15, -0.5, 14.5);
153 hCSCHaloData_NTracksSmallBetaAndSmalldT =
154 ibooker.
book1D(
"CSCHaloData_NTracksSmallBetaAndSmalldT",
"", 15, -0.5, 14.5);
155 hCSCHaloData_NTracksSmalldTvsNHaloTracks =
156 ibooker.
book2D(
"CSCHaloData_NTracksSmalldTvsNHaloTracks",
"", 15, -0.5, 14.5, 15, -0.5, 14.5);
157 hCSCHaloData_SegmentdT = ibooker.
book1D(
"CSCHaloData_SegmentdT",
"", 100, -100, 100);
158 hCSCHaloData_FreeInverseBeta = ibooker.
book1D(
"CSCHaloData_FreeInverseBeta",
"", 80, -4, 4);
159 hCSCHaloData_FreeInverseBetaVsSegmentdT =
160 ibooker.
book2D(
"CSCHaloData_FreeInverseBetaVsSegmentdT",
"", 100, -100, 100, 80, -4, 4);
162 hCSCHaloData_NFlatHaloSegments = ibooker.
book1D(
"CSCHaloData_NFlatHaloSegments",
"", 20, 0, 20);
163 hCSCHaloData_SegmentsInBothEndcaps = ibooker.
book1D(
"CSCHaloData_SegmentsInBothEndcaps",
"", 2, 0, 2);
164 hCSCHaloData_NFlatSegmentsInBothEndcaps = ibooker.
book1D(
"CSCHaloData_NFlatSegmentsInBothEndcaps",
"", 20, 0, 20);
167 hCSCHaloData_TrackMultiplicity = ibooker.
book1D(
"CSCHaloData_TrackMultiplicity",
"", 15, -0.5, 14.5);
168 hCSCHaloData_TrackMultiplicityMEPlus = ibooker.
book1D(
"CSCHaloData_TrackMultiplicityMEPlus",
"", 15, -0.5, 14.5);
169 hCSCHaloData_TrackMultiplicityMEMinus = ibooker.
book1D(
"CSCHaloData_TrackMultiplicityMEMinus",
"", 15, -0.5, 14.5);
170 hCSCHaloData_InnerMostTrackHitXY =
171 ibooker.
book2D(
"CSCHaloData_InnerMostTrackHitXY",
"", 100, -700, 700, 100, -700, 700);
172 hCSCHaloData_InnerMostTrackHitR = ibooker.
book1D(
"CSCHaloData_InnerMostTrackHitR",
"", 400, -0.5, 799.5);
173 hCSCHaloData_InnerMostTrackHitRPlusZ =
174 ibooker.
book2D(
"CSCHaloData_InnerMostTrackHitRPlusZ",
"", 400, 400, 1200, 400, -0.5, 799.5);
175 hCSCHaloData_InnerMostTrackHitRMinusZ =
176 ibooker.
book2D(
"CSCHaloData_InnerMostTrackHitRMinusZ",
"", 400, -1200, -400, 400, -0.5, 799.5);
177 hCSCHaloData_InnerMostTrackHitiPhi = ibooker.
book1D(
"CSCHaloData_InnerMostTrackHitiPhi",
"", 72, 0.5, 72.5);
178 hCSCHaloData_InnerMostTrackHitPhi = ibooker.
book1D(
"CSCHaloData_InnerMostTrackHitPhi",
"", 60, -3.2, 3.2);
179 hCSCHaloData_L1HaloTriggersMEPlus = ibooker.
book1D(
"CSCHaloData_L1HaloTriggersMEPlus",
"", 10, -0.5, 9.5);
180 hCSCHaloData_L1HaloTriggersMEMinus = ibooker.
book1D(
"CSCHaloData_L1HaloTriggersMEMinus",
"", 10, -0.5, 9.5);
181 hCSCHaloData_L1HaloTriggers = ibooker.
book1D(
"CSCHaloData_L1HaloTriggers",
"", 10, -0.5, 9.5);
182 hCSCHaloData_HLHaloTriggers = ibooker.
book1D(
"CSCHaloData_HLHaloTriggers",
"", 2, -0.5, 1.5);
183 hCSCHaloData_NOutOfTimeTriggersvsL1HaloExists =
184 ibooker.
book2D(
"CSCHaloData_NOutOfTimeTriggersvsL1HaloExists",
"", 20, -0.5, 19.5, 2, -0.5, 1.5);
185 hCSCHaloData_NOutOfTimeTriggers = ibooker.
book1D(
"CSCHaloData_NOutOfTimeTriggers",
"", 20, -0.5, 19.5);
186 hCSCHaloData_NOutOfTimeHits = ibooker.
book1D(
"CSCHaloData_NOutOfTimeHits",
"", 60, -0.5, 59.5);
187 hCSCHaloData_NTracksSmalldT = ibooker.
book1D(
"CSCHaloData_NTracksSmalldT",
"", 15, -0.5, 14.5);
188 hCSCHaloData_NTracksSmallBeta = ibooker.
book1D(
"CSCHaloData_NTracksSmallBeta",
"", 15, -0.5, 14.5);
189 hCSCHaloData_NTracksSmallBetaAndSmalldT =
190 ibooker.
book1D(
"CSCHaloData_NTracksSmallBetaAndSmalldT",
"", 15, -0.5, 14.5);
191 hCSCHaloData_NTracksSmalldTvsNHaloTracks =
192 ibooker.
book2D(
"CSCHaloData_NTracksSmalldTvsNHaloTracks",
"", 15, -0.5, 14.5, 15, -0.5, 14.5);
193 hCSCHaloData_SegmentdT = ibooker.
book1D(
"CSCHaloData_SegmentdT",
"", 100, -100, 100);
194 hCSCHaloData_FreeInverseBeta = ibooker.
book1D(
"CSCHaloData_FreeInverseBeta",
"", 80, -4, 4);
195 hCSCHaloData_FreeInverseBetaVsSegmentdT =
196 ibooker.
book2D(
"CSCHaloData_FreeInverseBetaVsSegmentdT",
"", 100, -100, 100, 80, -4, 4);
198 hCSCHaloData_NFlatHaloSegments = ibooker.
book1D(
"CSCHaloData_NFlatHaloSegments",
"", 20, 0, 20);
199 hCSCHaloData_SegmentsInBothEndcaps = ibooker.
book1D(
"CSCHaloData_SegmentsInBothEndcaps",
"", 2, 0, 2);
200 hCSCHaloData_NFlatSegmentsInBothEndcaps = ibooker.
book1D(
"CSCHaloData_NFlatSegmentsInBothEndcaps",
"", 20, 0, 20);
207 hGlobalHaloData_MExCorrection = ibooker.
book1D(
"GlobalHaloData_MExCorrection",
"", 200, -200., 200.);
208 hGlobalHaloData_MEyCorrection = ibooker.
book1D(
"GlobalHaloData_MEyCorrection",
"", 200, -200., 200.);
209 hGlobalHaloData_SumEtCorrection = ibooker.
book1D(
"GlobalHaloData_SumEtCorrection",
"", 200, -0.5, 399.5);
210 hGlobalHaloData_HaloCorrectedMET = ibooker.
book1D(
"GlobalHaloData_HaloCorrectedMET",
"", 500, -0.5, 1999.5);
211 hGlobalHaloData_RawMETMinusHaloCorrectedMET =
212 ibooker.
book1D(
"GlobalHaloData_RawMETMinusHaloCorrectedMET",
"", 250, -500., 500.);
213 hGlobalHaloData_RawMETOverSumEt = ibooker.
book1D(
"GlobalHaloData_RawMETOverSumEt",
"", 100, 0.0, 1.0);
214 hGlobalHaloData_MatchedHcalPhiWedgeMultiplicity =
215 ibooker.
book1D(
"GlobalHaloData_MatchedHcalPhiWedgeMultiplicity",
"", 15, -0.5, 14.5);
216 hGlobalHaloData_MatchedHcalPhiWedgeEnergy =
217 ibooker.
book1D(
"GlobalHaloData_MatchedHcalPhiWedgeEnergy",
"", 50, -0.5, 199.5);
218 hGlobalHaloData_MatchedHcalPhiWedgeConstituents =
219 ibooker.
book1D(
"GlobalHaloData_MatchedHcalPhiWedgeConstituents",
"", 20, -0.5, 19.5);
220 hGlobalHaloData_MatchedHcalPhiWedgeiPhi =
221 ibooker.
book1D(
"GlobalHaloData_MatchedHcalPhiWedgeiPhi",
"", 1, 0.5, 72.5);
222 hGlobalHaloData_MatchedHcalPhiWedgeMinTime =
223 ibooker.
book1D(
"GlobalHaloData_MatchedHcalPhiWedgeMinTime",
"", 50, -100.0, 100.0);
224 hGlobalHaloData_MatchedHcalPhiWedgeMaxTime =
225 ibooker.
book1D(
"GlobalHaloData_MatchedHcalPhiWedgeMaxTime",
"", 50, -100.0, 100.0);
226 hGlobalHaloData_MatchedHcalPhiWedgeZDirectionConfidence =
227 ibooker.
book1D(
"GlobalHaloData_MatchedHcalPhiWedgeZDirectionConfidence",
"", 120, -1.2, 1.2);
228 hGlobalHaloData_MatchedEcalPhiWedgeMultiplicity =
229 ibooker.
book1D(
"GlobalHaloData_MatchedEcalPhiWedgeMultiplicity",
"", 15, -0.5, 14.5);
230 hGlobalHaloData_MatchedEcalPhiWedgeEnergy =
231 ibooker.
book1D(
"GlobalHaloData_MatchedEcalPhiWedgeEnergy",
"", 50, -0.5, 199.5);
232 hGlobalHaloData_MatchedEcalPhiWedgeConstituents =
233 ibooker.
book1D(
"GlobalHaloData_MatchedEcalPhiWedgeConstituents",
"", 20, -0.5, 19.5);
234 hGlobalHaloData_MatchedEcalPhiWedgeiPhi =
235 ibooker.
book1D(
"GlobalHaloData_MatchedEcalPhiWedgeiPhi",
"", 360, 0.5, 360.5);
236 hGlobalHaloData_MatchedEcalPhiWedgeMinTime =
237 ibooker.
book1D(
"GlobalHaloData_MatchedEcalPhiWedgeMinTime",
"", 50, -100.0, 100.0);
238 hGlobalHaloData_MatchedEcalPhiWedgeMaxTime =
239 ibooker.
book1D(
"GlobalHaloData_MatchedEcalPhiWedgeMaxTime",
"", 50, -100.0, 100.0);
240 hGlobalHaloData_MatchedEcalPhiWedgeZDirectionConfidence =
241 ibooker.
book1D(
"GlobalHaloData_MatchedEcalPhiWedgeZDirectionConfidence",
"", 120, 1.2, 1.2);
246 hBeamHaloSummary_Id = ibooker.
book1D(
"BeamHaloSumamry_Id",
"", 11, 0.5, 11.5);
248 hBeamHaloSummary_Id->setBinLabel(2,
"CSC Tight");
249 hBeamHaloSummary_Id->setBinLabel(3,
"Ecal Loose");
250 hBeamHaloSummary_Id->setBinLabel(4,
"Ecal Tight");
251 hBeamHaloSummary_Id->setBinLabel(5,
"Hcal Loose");
252 hBeamHaloSummary_Id->setBinLabel(6,
"Hcal Tight");
253 hBeamHaloSummary_Id->setBinLabel(7,
"Global Loose");
254 hBeamHaloSummary_Id->setBinLabel(8,
"Global Tight");
255 hBeamHaloSummary_Id->setBinLabel(9,
"Event Loose");
256 hBeamHaloSummary_Id->setBinLabel(10,
"Event Tight");
257 hBeamHaloSummary_Id->setBinLabel(11,
"Nothing");
259 hBeamHaloSummary_BXN = ibooker.
book2D(
"BeamHaloSummary_BXN",
"", 11, 0.5, 11.5, 4000, -0.5, 3999.5);
261 hBeamHaloSummary_BXN->setBinLabel(2,
"CSC Tight");
262 hBeamHaloSummary_BXN->setBinLabel(3,
"Ecal Loose");
263 hBeamHaloSummary_BXN->setBinLabel(4,
"Ecal Tight");
264 hBeamHaloSummary_BXN->setBinLabel(5,
"Hcal Loose");
265 hBeamHaloSummary_BXN->setBinLabel(6,
"Hcal Tight");
266 hBeamHaloSummary_BXN->setBinLabel(7,
"Global Loose");
267 hBeamHaloSummary_BXN->setBinLabel(8,
"Global Tight");
268 hBeamHaloSummary_BXN->setBinLabel(9,
"Event Loose");
269 hBeamHaloSummary_BXN->setBinLabel(10,
"Event Tight");
270 hBeamHaloSummary_BXN->setBinLabel(11,
"Nothing");
275 hExtra_CSCTrackInnerOuterDPhi = ibooker.
book1D(
"Extra_CSCTrackInnerOuterDPhi",
"", 30, 0, 3.2);
276 hExtra_CSCTrackInnerOuterDEta = ibooker.
book1D(
"Extra_CSCTrackInnerOuterDEta",
"", 100, 0, 3.0);
277 hExtra_CSCTrackChi2Ndof = ibooker.
book1D(
"Extra_CSCTrackChi2Ndof",
"", 25, 0, 10);
278 hExtra_CSCTrackNHits = ibooker.
book1D(
"Extra_CSCTrackNHits",
"", 75, 0, 75);
279 hExtra_CSCActivityWithMET = ibooker.
book2D(
"Extra_CSCActivityWithMET",
"", 4, 0.5, 4.5, 4, 0.5, 4.5);
280 hExtra_CSCActivityWithMET->
setBinLabel(1,
"Track", 1);
281 hExtra_CSCActivityWithMET->setBinLabel(1,
"Track", 2);
282 hExtra_CSCActivityWithMET->setBinLabel(2,
"Segments", 1);
283 hExtra_CSCActivityWithMET->setBinLabel(2,
"Segments", 2);
284 hExtra_CSCActivityWithMET->setBinLabel(3,
"RecHits", 1);
285 hExtra_CSCActivityWithMET->setBinLabel(3,
"RecHits", 2);
286 hExtra_CSCActivityWithMET->setBinLabel(4,
"Nothing", 1);
287 hExtra_CSCActivityWithMET->setBinLabel(4,
"Nothing", 2);
288 hExtra_InnerMostTrackHitR = ibooker.
book1D(
"Extra_InnerMostTrackHitR",
"", 70, 99.5, 799.5);
289 hExtra_InnerMostTrackHitPhi = ibooker.
book1D(
"Extra_InnerMostTrackHitPhi",
"", 60, -3.2, 3.2);
291 hExtra_CSCActivityWithMET = ibooker.
book2D(
"Extra_CSCActivityWithMET",
"", 4, 0.5, 4.5, 4, 0.5, 4.5);
292 hExtra_CSCActivityWithMET->
setBinLabel(1,
"Track", 1);
293 hExtra_CSCActivityWithMET->setBinLabel(1,
"Track", 2);
294 hExtra_CSCActivityWithMET->setBinLabel(2,
"Segments", 1);
295 hExtra_CSCActivityWithMET->setBinLabel(2,
"Segments", 2);
296 hExtra_CSCActivityWithMET->setBinLabel(3,
"RecHits", 1);
297 hExtra_CSCActivityWithMET->setBinLabel(3,
"RecHits", 2);
298 hExtra_CSCActivityWithMET->setBinLabel(4,
"Nothing", 1);
299 hExtra_CSCActivityWithMET->setBinLabel(4,
"Nothing", 2);
300 hExtra_HcalToF = ibooker.
book2D(
"Extra_HcalToF",
"", 83, -41.5, 41.5, 1000, -125., 125.);
301 hExtra_HcalToF_HaloId = ibooker.
book2D(
"Extra_HcalToF_HaloId",
"", 83, -41.5, 41.5, 1000, -125., 125.);
302 hExtra_EcalToF = ibooker.
book2D(
"Extra_EcalToF",
"", 171, -85.5, 85.5, 2000, -225., 225.);
303 hExtra_EcalToF_HaloId = ibooker.
book2D(
"Extra_EcalToF_HaloId",
"", 171, -85.5, 85.5, 2000, -225., 225.);
304 hExtra_CSCTrackInnerOuterDPhi = ibooker.
book1D(
"Extra_CSCTrackInnerOuterDPhi",
"", 30, 0, 3.2);
305 hExtra_CSCTrackInnerOuterDEta = ibooker.
book1D(
"Extra_CSCTrackInnerOuterDEta",
"", 30, 0, 3.2);
306 hExtra_CSCTrackChi2Ndof = ibooker.
book1D(
"Extra_CSCTrackChi2Ndof",
"", 100, 0, 10);
307 hExtra_CSCTrackNHits = ibooker.
book1D(
"Extra_CSCTrackNHits",
"", 75, 0, 75);
308 hExtra_InnerMostTrackHitXY = ibooker.
book2D(
"Extra_InnerMostTrackHitXY",
"", 100, -700, 700, 100, -700, 700);
309 hExtra_InnerMostTrackHitR = ibooker.
book1D(
"Extra_InnerMostTrackHitR",
"", 400, -0.5, 799.5);
310 hExtra_InnerMostTrackHitRPlusZ =
311 ibooker.
book2D(
"Extra_InnerMostTrackHitRPlusZ",
"", 400, 400, 1200, 400, -0.5, 799.5);
312 hExtra_InnerMostTrackHitRMinusZ =
313 ibooker.
book2D(
"Extra_InnerMostTrackHitRMinusZ",
"", 400, -1200, -400, 400, -0.5, 799.5);
314 hExtra_InnerMostTrackHitiPhi = ibooker.
book1D(
"Extra_InnerMostTrackHitiPhi",
"", 72, 0.5, 72.5);
315 hExtra_InnerMostTrackHitPhi = ibooker.
book1D(
"Extra_InnerMostTrackHitPhi",
"", 60, -3.2, 3.2);
316 hExtra_BXN = ibooker.
book1D(
"Extra_BXN",
"BXN Occupancy", 4000, 0.5, 4000.5);
322 int BXN =
iEvent.bunchCrossing();
338 iEvent.getByToken(IT_CosmicStandAloneMuon, TheCosmics);
340 iEvent.getByToken(IT_CSCTimeMapToken, TheCSCTimeMap);
341 bool CSCTrackPlus =
false;
342 bool CSCTrackMinus =
false;
345 for (reco::MuonCollection::const_iterator iMuon = TheCosmics->begin(); iMuon != TheCosmics->end();
346 iMuon++, imucount++) {
351 if (!CSCTrackPlus || !CSCTrackMinus) {
355 CSCTrackMinus =
true;
358 float innermost_phi = 0.;
359 float outermost_phi = 0.;
360 float innermost_z = 99999.;
361 float outermost_z = 0.;
362 float innermost_eta = 0.;
363 float outermost_eta = 0.;
364 float innermost_x = 0.;
365 float innermost_y = 0.;
366 float innermost_r = 0.;
367 for (
unsigned int j = 0;
j <
Track->
extra()->recHitsSize();
j++) {
369 DetId TheDetUnitId(
hit->geographicalId());
378 const GlobalPoint TheGlobalPosition = TheSurface.toGlobal(TheLocalPosition);
380 float z = TheGlobalPosition.
z();
382 innermost_phi = TheGlobalPosition.
phi();
383 innermost_eta = TheGlobalPosition.
eta();
384 innermost_z = TheGlobalPosition.
z();
385 innermost_x = TheGlobalPosition.
x();
386 innermost_y = TheGlobalPosition.
y();
387 innermost_r = TMath::Sqrt(innermost_x * innermost_x + innermost_y * innermost_y);
390 outermost_phi = TheGlobalPosition.
phi();
391 outermost_eta = TheGlobalPosition.
eta();
392 outermost_z = TheGlobalPosition.
z();
395 float dphi =
TMath::Abs(outermost_phi - innermost_phi);
396 float deta =
TMath::Abs(outermost_eta - innermost_eta);
397 hExtra_CSCTrackInnerOuterDPhi->Fill(dphi);
398 hExtra_CSCTrackInnerOuterDEta->Fill(deta);
401 hExtra_InnerMostTrackHitR->Fill(innermost_r);
402 hExtra_InnerMostTrackHitPhi->Fill(innermost_phi);
404 hExtra_InnerMostTrackHitXY->Fill(innermost_x, innermost_y);
405 hExtra_InnerMostTrackHitiPhi->Fill(
Phi_To_iPhi(innermost_phi));
407 hExtra_InnerMostTrackHitRPlusZ->Fill(innermost_z, innermost_r);
409 hExtra_InnerMostTrackHitRMinusZ->Fill(innermost_z, innermost_r);
412 std::vector<const CSCSegment*> MatchedSegments = TheMatcher->matchCSC(*
Track,
iEvent);
415 float InnerSegmentTime[2] = {0, 0};
416 float OuterSegmentTime[2] = {0, 0};
417 float innermost_seg_z[2] = {1500, 1500};
418 float outermost_seg_z[2] = {0, 0};
419 for (std::vector<const CSCSegment*>::const_iterator segment = MatchedSegments.begin();
420 segment != MatchedSegments.end();
422 CSCDetId TheCSCDetId((*segment)->cscDetId());
424 LocalPoint TheLocalPosition = (*segment)->localPosition();
425 const GlobalPoint TheGlobalPosition = TheCSCChamber->toGlobal(TheLocalPosition);
426 float z = TheGlobalPosition.
z();
427 int TheEndcap = TheCSCDetId.endcap();
428 if (
TMath::Abs(z) < innermost_seg_z[TheEndcap - 1]) {
429 innermost_seg_z[TheEndcap - 1] =
TMath::Abs(z);
430 InnerSegmentTime[TheEndcap - 1] = (*segment)->time();
432 if (
TMath::Abs(z) > outermost_seg_z[TheEndcap - 1]) {
433 outermost_seg_z[TheEndcap - 1] =
TMath::Abs(z);
434 OuterSegmentTime[TheEndcap - 1] = (*segment)->time();
438 float dT_Segment = 0;
439 if (innermost_seg_z[0] < outermost_seg_z[0])
440 dT_Segment = OuterSegmentTime[0] - InnerSegmentTime[0];
441 if (innermost_seg_z[1] < outermost_seg_z[1])
445 if (dT_Segment == 0.0 || OuterSegmentTime[1] - InnerSegmentTime[1] < dT_Segment)
446 dT_Segment = OuterSegmentTime[1] - InnerSegmentTime[1];
448 hCSCHaloData_SegmentdT->Fill(dT_Segment);
456 hCSCHaloData_FreeInverseBeta->Fill(freeInverseBeta);
457 hCSCHaloData_FreeInverseBetaVsSegmentdT->Fill(dT_Segment, freeInverseBeta);
464 iEvent.getByToken(IT_CSCSegment, TheCSCSegments);
467 std::vector<CSCSegment> vCSCSegments_Plus;
468 std::vector<CSCSegment> vCSCSegments_Minus;
470 bool CSCSegmentPlus =
false;
471 bool CSCSegmentMinus =
false;
472 if (TheCSCSegments.
isValid()) {
475 const std::vector<CSCRecHit2D> vCSCRecHits = iSegment->specificRecHits();
479 vCSCSegments_Plus.push_back(*iSegment);
481 vCSCSegments_Minus.push_back(*iSegment);
486 if (!vCSCSegments_Plus.empty())
487 CSCSegmentPlus =
true;
488 if (!vCSCSegments_Minus.empty())
489 CSCSegmentMinus =
true;
493 iEvent.getByToken(IT_CSCRecHit, TheCSCRecHits);
494 bool CSCRecHitPlus =
false;
495 bool CSCRecHitMinus =
false;
499 DetId TheDetUnitId(iCSCRecHit->geographicalId());
500 const GeomDetUnit* TheUnit = (*TheCSCGeometry).idToDetUnit(TheDetUnitId);
501 LocalPoint TheLocalPosition = iCSCRecHit->localPosition();
502 const BoundPlane& TheSurface = TheUnit->surface();
503 GlobalPoint TheGlobalPosition = TheSurface.toGlobal(TheLocalPosition);
506 if (TheGlobalPosition.
z() > 0)
507 CSCRecHitPlus =
true;
509 CSCRecHitMinus =
true;
515 iEvent.getByToken(IT_EBRecHit, TheEBRecHits);
520 if (iEBRecHit->energy() < 0.5)
524 int ieta = EcalId.ieta();
526 hExtra_EcalToF->Fill(
ieta, iEBRecHit->time());
533 iEvent.getByToken(IT_HBHERecHit, TheHBHERecHits);
534 if (TheHBHERecHits.
isValid()) {
536 iHBHERecHit != TheHBHERecHits->
end();
538 if (iHBHERecHit->energy() < 1.)
542 hExtra_HcalToF->Fill(
id.
ieta(), iHBHERecHit->time());
548 iEvent.getByToken(IT_met, TheCaloMET);
552 iEvent.getByToken(IT_CSCHaloData, TheCSCDataHandle);
553 int TheHaloOrigin = 0;
554 if (TheCSCDataHandle.
isValid()) {
561 for (std::vector<GlobalPoint>::const_iterator
i =
CSCData.GetCSCTrackImpactPositions().begin();
562 i !=
CSCData.GetCSCTrackImpactPositions().end();
564 float r = TMath::Sqrt(
i->x() *
i->x() +
i->y() *
i->y());
566 hCSCHaloData_InnerMostTrackHitXY->Fill(
i->x(),
i->y());
567 hCSCHaloData_InnerMostTrackHitiPhi->Fill(
Phi_To_iPhi(
i->phi()));
569 hCSCHaloData_InnerMostTrackHitRPlusZ->Fill(
i->z(),
r);
571 hCSCHaloData_InnerMostTrackHitRMinusZ->Fill(
i->z(),
r);
573 hCSCHaloData_InnerMostTrackHitR->Fill(
r);
574 hCSCHaloData_InnerMostTrackHitPhi->Fill(
i->phi());
579 hCSCHaloData_HLHaloTriggers->Fill(
CSCData.CSCHaloHLTAccept());
582 hCSCHaloData_TrackMultiplicity->Fill(
CSCData.GetTracks().size());
586 hCSCHaloData_NOutOfTimeHits->Fill(
CSCData.NOutOfTimeHits());
589 hCSCHaloData_NTracksSmalldT->Fill(
CSCData.NTracksSmalldT());
590 hCSCHaloData_NTracksSmallBeta->Fill(
CSCData.NTracksSmallBeta());
591 hCSCHaloData_NTracksSmallBetaAndSmalldT->Fill(
CSCData.NTracksSmallBetaAndSmalldT());
592 hCSCHaloData_NTracksSmalldTvsNHaloTracks->Fill(
CSCData.GetTracks().size(),
CSCData.NTracksSmalldT());
594 hCSCHaloData_NFlatHaloSegments->Fill(
CSCData.NFlatHaloSegments());
595 hCSCHaloData_SegmentsInBothEndcaps->Fill(
CSCData.GetSegmentsInBothEndcaps());
596 if (
CSCData.GetSegmentsInBothEndcaps())
597 hCSCHaloData_NFlatSegmentsInBothEndcaps->Fill(
CSCData.NFlatHaloSegments());
603 iEvent.getByToken(IT_EcalHaloData, TheEcalHaloData);
604 if (TheEcalHaloData.
isValid()) {
606 std::vector<PhiWedge> EcalWedges = EcalData.
GetPhiWedges();
607 for (std::vector<PhiWedge>::const_iterator iWedge = EcalWedges.begin(); iWedge != EcalWedges.end(); iWedge++) {
609 hEcalHaloData_PhiWedgeEnergy->Fill(iWedge->Energy());
610 hEcalHaloData_PhiWedgeMinTime->Fill(iWedge->MinTime());
611 hEcalHaloData_PhiWedgeMaxTime->Fill(iWedge->MaxTime());
612 hEcalHaloData_PhiWedgeMinVsMaxTime->Fill(iWedge->MinTime(), iWedge->MaxTime());
613 hEcalHaloData_PhiWedgePlusZDirectionConfidence->Fill(iWedge->PlusZDirectionConfidence());
614 hEcalHaloData_PhiWedgeiPhi->Fill(iWedge->iPhi());
616 hEcalHaloData_PhiWedgeZDirectionConfidence->Fill(iWedge->ZDirectionConfidence());
617 hEcalHaloData_PhiWedgeConstituents->Fill(iWedge->NumberOfConstituents());
620 hEcalHaloData_PhiWedgeMultiplicity->Fill(EcalWedges.size());
627 float angle = vm_Angle[cluster];
628 float roundness = vm_Roundness[cluster];
629 hEcalHaloData_SuperClusterShowerShapes->Fill(
angle, roundness);
630 hEcalHaloData_SuperClusterNHits->Fill(cluster->size());
631 hEcalHaloData_SuperClusterEnergy->Fill(cluster->energy());
634 hEcalHaloData_SuperClusterPhiVsEta->Fill(cluster->eta(), cluster->phi());
641 iEvent.getByToken(IT_HcalHaloData, TheHcalHaloData);
642 if (TheHcalHaloData.
isValid()) {
644 std::vector<PhiWedge> HcalWedges = HcalData.
GetPhiWedges();
645 hHcalHaloData_PhiWedgeMultiplicity->Fill(HcalWedges.size());
646 for (std::vector<PhiWedge>::const_iterator iWedge = HcalWedges.begin(); iWedge != HcalWedges.end(); iWedge++) {
648 hHcalHaloData_PhiWedgeEnergy->Fill(iWedge->Energy());
649 hHcalHaloData_PhiWedgeMinTime->Fill(iWedge->MinTime());
650 hHcalHaloData_PhiWedgeMaxTime->Fill(iWedge->MaxTime());
651 hHcalHaloData_PhiWedgePlusZDirectionConfidence->Fill(iWedge->PlusZDirectionConfidence());
652 hHcalHaloData_PhiWedgeMinVsMaxTime->Fill(iWedge->MinTime(), iWedge->MaxTime());
653 hHcalHaloData_PhiWedgeiPhi->Fill(iWedge->iPhi());
656 hHcalHaloData_PhiWedgeConstituents->Fill(iWedge->NumberOfConstituents());
657 hHcalHaloData_PhiWedgeZDirectionConfidence->Fill(iWedge->ZDirectionConfidence());
664 iEvent.getByToken(IT_GlobalHaloData, TheGlobalHaloData);
665 if (TheGlobalHaloData.
isValid()) {
674 hGlobalHaloData_MExCorrection->Fill(GlobalData.
DeltaMEx());
675 hGlobalHaloData_MEyCorrection->Fill(GlobalData.
DeltaMEy());
676 hGlobalHaloData_HaloCorrectedMET->Fill(CorrectedMET.
pt());
677 hGlobalHaloData_RawMETMinusHaloCorrectedMET->Fill(
RawMET->pt() - CorrectedMET.
pt());
679 hGlobalHaloData_RawMETOverSumEt->Fill(
RawMET->pt() /
RawMET->sumEt());
684 hGlobalHaloData_MatchedHcalPhiWedgeMultiplicity->Fill(HcalWedges.size());
686 for (std::vector<PhiWedge>::const_iterator iWedge = HcalWedges.begin(); iWedge != HcalWedges.end(); iWedge++) {
687 hGlobalHaloData_MatchedHcalPhiWedgeEnergy->Fill(iWedge->Energy());
688 hGlobalHaloData_MatchedHcalPhiWedgeConstituents->Fill(iWedge->NumberOfConstituents());
689 hGlobalHaloData_MatchedHcalPhiWedgeiPhi->Fill(iWedge->iPhi());
690 hGlobalHaloData_MatchedHcalPhiWedgeMinTime->Fill(iWedge->MinTime());
691 hGlobalHaloData_MatchedHcalPhiWedgeMaxTime->Fill(iWedge->MaxTime());
692 hGlobalHaloData_MatchedHcalPhiWedgeZDirectionConfidence->Fill(iWedge->ZDirectionConfidence());
693 if (TheHBHERecHits.
isValid()) {
695 iHBHERecHit != TheHBHERecHits->
end();
698 int iphi =
id.iphi();
699 if (
iphi != iWedge->iPhi())
701 if (iHBHERecHit->energy() < 1.0)
704 float time = iHBHERecHit->time();
705 int ieta =
id.ieta();
706 hExtra_HcalToF_HaloId->Fill(
ieta,
time);
713 hGlobalHaloData_MatchedEcalPhiWedgeMultiplicity->Fill(EcalWedges.size());
714 for (std::vector<PhiWedge>::const_iterator iWedge = EcalWedges.begin(); iWedge != EcalWedges.end(); iWedge++) {
715 hGlobalHaloData_MatchedEcalPhiWedgeEnergy->Fill(iWedge->Energy());
716 hGlobalHaloData_MatchedEcalPhiWedgeConstituents->Fill(iWedge->NumberOfConstituents());
717 hGlobalHaloData_MatchedEcalPhiWedgeiPhi->Fill(iWedge->iPhi());
718 hGlobalHaloData_MatchedEcalPhiWedgeMinTime->Fill(iWedge->MinTime());
719 hGlobalHaloData_MatchedEcalPhiWedgeMaxTime->Fill(iWedge->MaxTime());
720 hGlobalHaloData_MatchedEcalPhiWedgeZDirectionConfidence->Fill(iWedge->ZDirectionConfidence());
724 if (iEBRecHit->energy() < 0.5)
728 int iPhi = EcalId.iphi();
729 iPhi = (iPhi - 1) / 5 + 1;
730 if (iPhi != iWedge->iPhi())
732 hExtra_EcalToF_HaloId->Fill(EcalId.ieta(), iEBRecHit->time());
741 iEvent.getByToken(IT_BeamHaloSummary, TheBeamHaloSummary);
742 if (TheBeamHaloSummary.
isValid()) {
745 hBeamHaloSummary_Id->Fill(1);
747 hBeamHaloSummary_BXN->Fill(1, BXN);
749 *
out << std::setw(15) <<
"CSCLoose" << std::setw(15) <<
Run << std::setw(15) <<
Lumi << std::setw(15)
750 << TheEventNumber << std::endl;
753 hBeamHaloSummary_Id->Fill(2);
755 hBeamHaloSummary_BXN->Fill(2, BXN);
758 hBeamHaloSummary_Id->Fill(3);
760 hBeamHaloSummary_BXN->Fill(3, BXN);
762 *
out << std::setw(15) <<
"EcalLoose" << std::setw(15) <<
Run << std::setw(15) <<
Lumi << std::setw(15)
763 << TheEventNumber << std::endl;
766 hBeamHaloSummary_Id->Fill(4);
768 hBeamHaloSummary_BXN->Fill(4, BXN);
771 hBeamHaloSummary_Id->Fill(5);
773 hBeamHaloSummary_BXN->Fill(5, BXN);
775 *
out << std::setw(15) <<
"HcalLoose" << std::setw(15) <<
Run << std::setw(15) <<
Lumi << std::setw(15)
776 << TheEventNumber << std::endl;
779 hBeamHaloSummary_Id->Fill(6);
781 hBeamHaloSummary_BXN->Fill(6, BXN);
784 hBeamHaloSummary_Id->Fill(7);
786 hBeamHaloSummary_BXN->Fill(7, BXN);
788 *
out << std::setw(15) <<
"GlobalLoose" << std::setw(15) <<
Run << std::setw(15) <<
Lumi << std::setw(15)
789 << TheEventNumber << std::endl;
792 hBeamHaloSummary_Id->Fill(8);
794 hBeamHaloSummary_BXN->Fill(8, BXN);
797 hBeamHaloSummary_Id->Fill(9);
799 hBeamHaloSummary_BXN->Fill(9, BXN);
802 hBeamHaloSummary_Id->Fill(10);
804 hBeamHaloSummary_BXN->Fill(10, BXN);
808 hBeamHaloSummary_Id->Fill(11);
810 hBeamHaloSummary_BXN->Fill(11, BXN);
816 const CaloMET* calomet = &(calometcol->front());
820 *
out << std::setw(15) <<
"HighMET" << std::setw(15) <<
Run << std::setw(15) <<
Lumi << std::setw(15)
821 << TheEventNumber << std::endl;
824 if (calomet->
pt() > 15.0) {
825 if (TheHaloOrigin > 0) {
826 if (CSCTrackPlus && CSCTrackMinus)
827 hExtra_CSCActivityWithMET->Fill(1, 1);
828 else if (CSCTrackPlus && CSCSegmentMinus)
829 hExtra_CSCActivityWithMET->Fill(1, 2);
830 else if (CSCTrackPlus && CSCRecHitMinus)
831 hExtra_CSCActivityWithMET->Fill(1, 3);
832 else if (CSCTrackPlus)
833 hExtra_CSCActivityWithMET->Fill(1, 4);
834 else if (CSCSegmentPlus && CSCTrackMinus)
835 hExtra_CSCActivityWithMET->Fill(2, 1);
836 else if (CSCSegmentPlus && CSCSegmentMinus)
837 hExtra_CSCActivityWithMET->Fill(2, 2);
838 else if (CSCSegmentPlus && CSCRecHitMinus)
839 hExtra_CSCActivityWithMET->Fill(2, 3);
840 else if (CSCSegmentPlus)
841 hExtra_CSCActivityWithMET->Fill(2, 4);
842 else if (CSCRecHitPlus && CSCTrackMinus)
843 hExtra_CSCActivityWithMET->Fill(3, 1);
844 else if (CSCRecHitPlus && CSCSegmentMinus)
845 hExtra_CSCActivityWithMET->Fill(3, 2);
846 else if (CSCRecHitPlus && CSCRecHitMinus)
847 hExtra_CSCActivityWithMET->Fill(3, 3);
848 else if (CSCRecHitPlus)
849 hExtra_CSCActivityWithMET->Fill(3, 4);
851 hExtra_CSCActivityWithMET->Fill(4, 4);
852 }
else if (TheHaloOrigin < 0) {
853 if (CSCTrackMinus && CSCTrackPlus)
854 hExtra_CSCActivityWithMET->Fill(1, 1);
855 else if (CSCTrackMinus && CSCSegmentPlus)
856 hExtra_CSCActivityWithMET->Fill(1, 2);
857 else if (CSCTrackMinus && CSCRecHitPlus)
858 hExtra_CSCActivityWithMET->Fill(1, 3);
859 else if (CSCTrackMinus)
860 hExtra_CSCActivityWithMET->Fill(1, 4);
861 else if (CSCSegmentMinus && CSCTrackPlus)
862 hExtra_CSCActivityWithMET->Fill(2, 1);
863 else if (CSCSegmentMinus && CSCSegmentPlus)
864 hExtra_CSCActivityWithMET->Fill(2, 2);
865 else if (CSCSegmentMinus && CSCRecHitPlus)
866 hExtra_CSCActivityWithMET->Fill(2, 3);
867 else if (CSCSegmentMinus)
868 hExtra_CSCActivityWithMET->Fill(2, 4);
869 else if (CSCRecHitMinus && CSCTrackPlus)
870 hExtra_CSCActivityWithMET->Fill(3, 1);
871 else if (CSCRecHitMinus && CSCSegmentPlus)
872 hExtra_CSCActivityWithMET->Fill(3, 2);
873 else if (CSCRecHitMinus && CSCRecHitPlus)
874 hExtra_CSCActivityWithMET->Fill(3, 3);
875 else if (CSCRecHitMinus)
876 hExtra_CSCActivityWithMET->Fill(3, 4);
878 hExtra_CSCActivityWithMET->Fill(4, 4);