60 TDirectory* oldDir = gDirectory;
68 std::string tag[2] = {
"OUT",
"IN"};
69 std::string title[2] = {
"[Outside Active Veto Window]",
"[Inside Active Veto Window]"};
74 std::string histoName =
"EventsWithAborts";
75 std::string histoTitle =
"Events With at Least one Abort";
76 m_nEventsWithAbort[0] =
new TH1F(TString::Format(
"%s_%s", histoName.c_str(), tag[0].c_str()),
77 TString::Format(
"%s %s", histoTitle.c_str(), title[0].c_str()),
86 m_nEventsWithAbort[1]->SetName(TString::Format(
"%s_%s", histoName.c_str(), tag[1].c_str()));
87 m_nEventsWithAbort[1]->SetTitle(TString::Format(
"%s %s", histoTitle.c_str(), title[1].c_str()));
91 histoName =
"TrkAbortReason";
92 histoTitle =
"Tracking Abort Reason";
94 TString::Format(
"%s %s", histoTitle.c_str(), title[0].c_str()),
110 histoName =
"SVDL3UOcc";
111 histoTitle =
"SVD L3 u-side ZS5 Occupancy (%)";
114 TString::Format(
"%s %s", histoTitle.c_str(), title[0].c_str()),
115 90, 0, 100.0 / 1536.0 * 90);
121 m_svdL3uZS5Occupancy[1]->SetTitle(TString::Format(
"%s %s", histoTitle.c_str(), title[1].c_str()));
124 histoName =
"SVDL3UOccVXDTF2aborts";
125 histoTitle =
"SVD L3 u-side ZS5 Occupancy (%) when VXDTF2 Aborts";
128 TString::Format(
"%s %s", histoTitle.c_str(), title[0].c_str()),
129 180, 0, 100.0 / 1536.0 * 180);
138 histoName =
"SVDL3UOccToSVDCKFaborts";
139 histoTitle =
"SVD L3 u-side ZS5 Occupancy (%) when toSVDCKF Aborts";
142 TString::Format(
"%s %s", histoTitle.c_str(), title[0].c_str()),
143 180, 0, 100.0 / 1536.0 * 180);
152 histoName =
"nCDCExtraHits";
153 histoTitle =
"Number of CDC Extra Hits";
155 m_nCDCExtraHits[0] =
new TH1F(TString::Format(
"%s_%s", histoName.c_str(), tag[0].c_str()),
156 TString::Format(
"%s %s", histoTitle.c_str(), title[0].c_str()),
162 m_nCDCExtraHits[1]->SetName(TString::Format(
"%s_%s", histoName.c_str(), tag[1].c_str()));
163 m_nCDCExtraHits[1]->SetTitle(TString::Format(
"%s %s", histoTitle.c_str(), title[1].c_str()));
166 histoName =
"svdL3VTime";
167 histoTitle =
"Layer3 v-side Cluster Time Distribution";
169 m_svdTime[0] =
new TH1F(TString::Format(
"%s_%s", histoName.c_str(), tag[0].c_str()),
170 TString::Format(
"%s %s", histoTitle.c_str(), title[0].c_str()),
172 m_svdTime[0]->GetXaxis()->SetTitle(
"cluster time (ns)");
173 m_svdTime[0]->GetYaxis()->SetTitle(
"Number of Events");
176 m_svdTime[1]->SetName(TString::Format(
"%s_%s", histoName.c_str(), tag[1].c_str()));
177 m_svdTime[1]->SetTitle(TString::Format(
"%s %s", histoTitle.c_str(), title[1].c_str()));
180 histoName =
"averages";
181 histoTitle =
"Averages from SVD and CDC";
184 TString::Format(
"%s %s", histoTitle.c_str(), title[0].c_str()),
195 m_integratedAverages[1]->SetTitle(TString::Format(
"%s %s", histoTitle.c_str(), title[1].c_str()));
260 }
catch (
const std::exception&) {
286 float nStripsL3UZS5 = 0;
287 float nStripsL3VZS5 = 0;
288 float nStripsL4UZS5 = 0;
289 float nStripsL4VZS5 = 0;
291 const VxdID& sensorID = hit.getSensorID();
293 const float noise =
m_NoiseCal.getNoise(sensorID, hit.isUStrip(), hit.getCellID());
294 const float cutMinSignal = std::round(5 * noise);
296 if (hit.passesZS(1, cutMinSignal)) {
298 if (hit.isUStrip()) nStripsL3UZS5++;
299 else nStripsL3VZS5++;
300 }
else if (hit.isUStrip()) nStripsL4UZS5++;
301 else nStripsL4VZS5++;
307 const VxdID& sensorID = hit.getSensorID();
309 if (hit.isUCluster())
continue;
311 m_svdTime[index]->Fill(hit.getClsTime());
315 double tmp_L3uZS5occupancy = (double)nStripsL3UZS5 /
m_nStripsL3U * 100;
316 double L3uZS5occupancy = std::min(tmp_L3uZS5occupancy, (
double)100.0 / 1536.0 * 90);
318 double L3uZS5occupancy_abort = std::min(tmp_L3uZS5occupancy, (
double)100.0 / 1536.0 * 180);
329 int nCDCHitsInner = 0;
330 int nCDCHitsOuter = 0;
332 if (hit.getISuperLayer() == 0) nCDCHitsInner++;
333 else nCDCHitsOuter++;