6 #include "GaudiKernel/ITHistSvc.h"
7 #include "GaudiKernel/StatusCode.h"
8 #include "GaudiKernel/MsgStream.h"
18 #include "TProfile2D.h"
36 ToolHandle<LVL1::IL1CaloOfflineTriggerTowerTools> &ttTool_offline,
39 const std::string& pathInRootFile,
40 const std::string& monitoringPath,
41 const std::string& monitoringName,
42 const std::string& monitoringTitle,
43 const std::string& monitoringDimension,
44 bool doRunHistograms):
46 m_histTool(
"LVL1::TrigT1CaloLWHistogramTool/TrigT1CaloLWHistogramTool"),
47 m_ttToolOffline(ttTool_offline),
50 m_pathInRootFile(pathInRootFile),
51 m_monitoringPath(monitoringPath),
52 m_monitoringName(monitoringName),
53 m_monitoringTitle(monitoringTitle),
54 m_monitoringDimension(monitoringDimension),
55 m_p_online_em_valueVsLumi(0),
56 m_p_online_had_valueVsLumi(0),
57 m_p_online_em_valueVsBCN(0),
58 m_p_online_had_valueVsBCN(0),
59 m_h_ppm_em_2d_value_BCN_Lumi(0),
60 m_h_ppm_had_2d_value_BCN_Lumi(0),
61 m_p_offline_em_valueVsLumi(0),
62 m_p_offline_had_valueVsLumi(0),
63 m_p_online_em_etaPhiValue(0),
64 m_p_online_had_etaPhiValue(0),
65 m_h_online_em_etaPhiValueRMS(0),
66 m_h_online_had_etaPhiValueRMS(0),
67 m_h_offline_em_etaPhiValueRMS(0),
68 m_h_offline_had_etaPhiValueRMS(0),
69 m_p_offline_em_valueVsRunNumber(0),
70 m_p_offline_had_valueVsRunNumber(0),
73 m_doRunHistograms(doRunHistograms),
74 m_ppmAdcMinValue(ADC_cut),
88 ToolHandle<LVL1::IL1TriggerTowerTool>&ttTool_online,
91 const std::string& pathInRootFile,
92 const std::string& monitoringPath,
93 const std::string& monitoringName,
94 const std::string& monitoringTitle,
95 const std::string& monitoringDimension):
97 m_histTool(
"LVL1::TrigT1CaloLWHistogramTool/TrigT1CaloLWHistogramTool"),
98 m_ttToolOnline(ttTool_online),
101 m_pathInRootFile(pathInRootFile),
102 m_monitoringPath(monitoringPath),
103 m_monitoringName(monitoringName),
104 m_monitoringTitle(monitoringTitle),
105 m_monitoringDimension(monitoringDimension),
106 m_p_online_em_valueVsLumi(0),
107 m_p_online_had_valueVsLumi(0),
108 m_p_online_em_valueVsBCN(0),
109 m_p_online_had_valueVsBCN(0),
110 m_h_ppm_em_2d_value_BCN_Lumi(0),
111 m_h_ppm_had_2d_value_BCN_Lumi(0),
112 m_p_offline_em_valueVsLumi(0),
113 m_p_offline_had_valueVsLumi(0),
114 m_p_online_em_etaPhiValue(0),
115 m_p_online_had_etaPhiValue(0),
116 m_h_online_em_etaPhiValueRMS(0),
117 m_h_online_had_etaPhiValueRMS(0),
118 m_h_offline_em_etaPhiValueRMS(0),
119 m_h_offline_had_etaPhiValueRMS(0),
120 m_p_offline_em_valueVsRunNumber(0),
121 m_p_offline_had_valueVsRunNumber(0),
124 m_doRunHistograms(false),
125 m_ppmAdcMinValue(ADC_cut),
129 m_sampleInterval(25),
133 TH1::AddDirectory(0);
146 unsigned int coolID = trigTower->
coolId();
148 m_lumiNo = ctx.eventID().lumi_block();
163 if (sc.isFailure()) {
ATH_MSG_FATAL(
"Could not make Summary");}
166 if (sc.isFailure()) {
ATH_MSG_FATAL(
"Could not book Run Histograms");}
186 if (!channelDisabled)
206 Form(
"%s Vs Run No: Em TriggerTower; Run No; %s %s",
220 Form(
"%s Vs Run No: Had TriggerTower; Run No; %s %s",
234 Form(
"Profile Histogram of %s vs Luminosity Block: Em TriggerTower; LumiBlock; %s %s",
241 sc =
m_histoSvc->regHist(Form(
"/AANT/ADC/%s/run#%d/ppm_em_1d_profile_adc_%sVsLumi",
250 Form(
"Profile Histogram of %s vs Luminosity Block: Had TriggerTower; LumiBlock; %s %s",
257 sc =
m_histoSvc->regHist(Form(
"/AANT/ADC/%s/run#%d/ppm_had_1d_profile_adc_%sVsLumi",
267 Form(
"#eta-#phi profile map of %s: Em Trigger Tower",
m_monitoringTitle.data()));
269 Form(
"#eta-#phi profile map of %s: Had Trigger Tower",
m_monitoringTitle.data()));
272 Form(
"#eta-#phi Histogram of %s RMS: Em Trigger Tower",
m_monitoringTitle.data()));
274 Form(
"#eta-#phi Histogram of %s RMS: Had Trigger Tower",
m_monitoringTitle.data()));
306 double eta = trigTower->
eta();
307 double phi = trigTower->
phi();
311 std::string mergeMethod(
"");
317 mergeMethod =
"mergeRebinned";
329 Form(
"Profile plot of %s Vs Lumi Block: Em TriggerTower; Lumi Block; %s %s",
336 Form(
"Profile plot of %s Vs Lumi Block: Had TriggerTower; Lumi Block; %s %s",
347 Form(
"#eta-#phi profile map of %s: Em Trigger Tower",
m_monitoringTitle.data()));
351 Form(
"#eta-#phi profile map of %s: Had Trigger Tower",
m_monitoringTitle.data()));
402 double eta = trigTower->
eta();
410 std::string mergeMethod(
"");
415 mergeMethod =
"mergeRebinned";
427 detectorRegionString.data(),
429 Form(
"Run:%d, %s Vs Lumi Profile for partition %s",
432 detectorRegionString.data()),
459 double eta = trigTower->
eta();
473 titles = Form(
"Run:%d, %s Vs Lumi Profile for %sFADC >%d, Channel:%08x ;Lumi Block; %s %s",
483 titles = Form(
"Run:%d, %s Vs Lumi Profile, Channel:%08x ;Lumi Block; %s %s",
525 double eta = trigTower->
eta();
526 double phi = trigTower->
phi();
566 double eta = trigTower->
eta();
576 TProfile* aProfileHist =
new TProfile(Form(
"ppm_%s_1d_profile_adc_%s_%sVsLumi",
578 detectorRegionString.data(),
580 Form(
"Run:%d, %s Vs Lumi Profile for partition %s;Lumi Block; %s %s",
583 detectorRegionString.data(),
589 aProfileHist->Sumw2();
594 detectorRegionString.data(),
597 if (
sc.isFailure() ) {
ATH_MSG_ERROR(
"could not register histogram: " << aProfileHist->GetName()); }
612 unsigned int &coolId,
618 double eta = trigTower->
eta();
629 titles = Form(
"Run:%d, %s Vs Lumi Profile for %sFADC >%d, Channel:%08x ;Lumi Block; %s %s",
639 titles = Form(
"Run:%d, %s Vs Lumi Profile, Channel:%08x ;Lumi Block; %s %s",
647 TProfile* aProfileHist =
new TProfile(Form(
"ppm_%s_1d_profile_adc_%08x_%sVsLumi",
655 aProfileHist->Sumw2();
659 detectorRegionString.data(),
664 if (
sc.isFailure() ) {
ATH_MSG_ERROR(
"could not register histogram: " << aProfileHist->GetName()); }
684 sc =
m_histoSvc->regHist(Form(
"/AANT/ADC/%s/run#%d/ppm_em_2d_profile_etaPhi_adc_%s",
691 sc =
m_histoSvc->regHist(Form(
"/AANT/ADC/%s/run#%d/ppm_had_2d_profile_etaPhi_adc_%s",
723 temp->SetMaximum(temp->GetMaximum());
724 temp->SetMinimum(temp->GetMinimum());
725 temp->SetContour(binContours);
726 ATH_MSG_INFO(
"ConvertToOfflineHist for " << temp->GetName());
765 std::string stringOut;
769 stringOut =
"LArFCAL1C";
773 stringOut =
"LArEMECC";
777 stringOut =
"LArOverlapC";
781 stringOut =
"LArEMBC";
785 stringOut =
"LArEMBA";
789 stringOut =
"LArOverlapA";
793 stringOut =
"LArEMECA";
797 stringOut =
"LArFCAL1A";
801 stringOut =
"LArFCAL23C";
805 stringOut =
"LArHECC";
809 stringOut =
"TileEBC";
813 stringOut =
"TileLBC";
817 stringOut =
"TileLBA";
821 stringOut =
"TileEBA";
825 stringOut =
"LArHECA";
829 stringOut =
"LArFCAL23A";
833 stringOut =
"NoRegion";
845 std::string stringOut;
859 stringOut =
"NoLayer";