61 auto TheBeamHaloSummary = std::make_unique<BeamHaloSummary>();
71 if (
CSCData.NumberOfHaloTriggers() ||
CSCData.NumberOfHaloTracks() ||
72 (
CSCData.NOutOfTimeHits() > 10 &&
CSCData.NFlatHaloSegments() > 2) ||
CSCData.GetSegmentsInBothEndcaps() ||
74 TheBeamHaloSummary->GetCSCHaloReport()[0] = 1;
77 if ((
CSCData.NumberOfHaloTriggers() &&
CSCData.NumberOfHaloTracks()) ||
78 (
CSCData.NOutOfTimeHits() > 10 &&
CSCData.NumberOfHaloTriggers()) ||
79 (
CSCData.NOutOfTimeHits() > 10 &&
CSCData.NumberOfHaloTracks()) ||
CSCData.GetSegmentsInBothEndcaps() ||
81 (
CSCData.NFlatHaloSegments() > 3 && (
CSCData.NumberOfHaloTriggers() ||
CSCData.NumberOfHaloTracks())))
82 TheBeamHaloSummary->GetCSCHaloReport()[1] = 1;
85 if (
CSCData.NumberOfHaloTriggers() ||
CSCData.NumberOfHaloTracks() ||
CSCData.NumberOfOutOfTimeTriggers())
86 TheBeamHaloSummary->GetCSCHaloReport()[2] = 1;
89 if ((
CSCData.NumberOfHaloTriggers() &&
CSCData.NumberOfHaloTracks()) ||
90 (
CSCData.NumberOfHaloTriggers() &&
CSCData.NumberOfOutOfTimeTriggers()) ||
91 (
CSCData.NumberOfHaloTracks() &&
CSCData.NumberOfOutOfTimeTriggers()))
92 TheBeamHaloSummary->GetCSCHaloReport()[3] = 1;
95 if ((
CSCData.NumberOfHaloTriggers_TrkMuUnVeto() &&
CSCData.NumberOfHaloTracks()) ||
96 (
CSCData.NOutOfTimeHits() > 10 &&
CSCData.NumberOfHaloTriggers_TrkMuUnVeto()) ||
98 CSCData.GetSegmentsInBothEndcaps_Loose_TrkMuUnVeto() ||
100 (
CSCData.NFlatHaloSegments() > 3 && (
CSCData.NumberOfHaloTriggers_TrkMuUnVeto() ||
CSCData.NumberOfHaloTracks())))
101 TheBeamHaloSummary->GetCSCHaloReport()[4] = 1;
104 if ((
CSCData.NumberOfHaloTriggers_TrkMuUnVeto() &&
CSCData.NFlatHaloSegments_TrkMuUnVeto()) ||
105 CSCData.GetSegmentsInBothEndcaps_Loose_dTcut_TrkMuUnVeto() ||
CSCData.GetSegmentIsCaloMatched())
106 TheBeamHaloSummary->GetCSCHaloReport()[5] = 1;
115 bool EcalLooseId =
false, EcalTightId =
false;
157 float angle = vm_Angle[cluster];
158 float roundness = vm_Roundness[cluster];
176 TheBeamHaloSummary->GetEcalHaloReport()[0] = 1;
178 TheBeamHaloSummary->GetEcalHaloReport()[1] = 1;
186 const std::vector<PhiWedge>& HcalWedges = HcalData.
GetPhiWedges();
187 bool HcalLooseId =
false, HcalTightId =
false;
188 for (std::vector<PhiWedge>::const_iterator iWedge = HcalWedges.begin(); iWedge != HcalWedges.end(); iWedge++) {
189 bool HcaliPhi =
false;
204 for (
unsigned int i = 0;
i < TheBeamHaloSummary->GetHcaliPhiSuspects().size();
i++) {
205 if (iWedge->iPhi() == TheBeamHaloSummary->GetHcaliPhiSuspects()[
i]) {
211 TheBeamHaloSummary->GetHcaliPhiSuspects().push_back(iWedge->iPhi());
215 TheBeamHaloSummary->GetHcalHaloReport()[0] = 1;
217 TheBeamHaloSummary->GetHcalHaloReport()[1] = 1;
224 TheBeamHaloSummary->getProblematicStrips().push_back(problematicStrip);
232 bool GlobalLooseId =
false;
233 bool GlobalTightId =
false;
239 if (!MatchedEcalWedges.empty() || !MatchedHcalWedges.empty())
240 GlobalLooseId =
true;
243 for (std::vector<PhiWedge>::const_iterator iWedge = MatchedEcalWedges.begin(); iWedge != MatchedEcalWedges.end();
246 GlobalTightId =
true;
248 GlobalTightId =
true;
251 for (std::vector<PhiWedge>::const_iterator iWedge = MatchedHcalWedges.begin(); iWedge != MatchedHcalWedges.end();
254 GlobalTightId =
true;
256 GlobalTightId =
true;
260 TheBeamHaloSummary->GetGlobalHaloReport()[0] = 1;
262 TheBeamHaloSummary->GetGlobalHaloReport()[1] = 1;
269 TheBeamHaloSummary->GetGlobalHaloReport()[2] = 1;
276 TheBeamHaloSummary->GetGlobalHaloReport()[3] = 1;