27 case(
ENERGY):
return "Energy";
break;
28 case(
TIME):
return "Time";
break;
29 case(
PULSE):
return "Pulse";
break;
30 case(
ADC):
return "ADC";
break;
31 default:
return "";
break;
37 case(
PEDESTAL):
return "Pedestal";
break;
38 case(
LED):
return "LED";
break;
39 case(
LASER):
return "Laser";
break;
40 case(
BEAM):
return "Beam";
break;
41 default:
return "Other";
break;
54 switch (
id.subdet()) {
59 default: subdetStr=
"Other";
break;
62 sprintf(name,
"%s_%s_%d_%d_%d_eid=%d_%d_%d_%d_HTR_%d:%d%c",
63 flavor.c_str(),subdetStr.c_str(),
id.ieta(),
id.iphi(),
id.depth(),
79 switch (
id.hcalSubdet()) {
84 default: subdetStr=
"Other";
break;
88 if (chanstring.empty()) {
89 chanstring =
"Unknown";
90 edm::LogInfo(
"HcalQLPlotHistoMgr::GetAHistogram") <<
"Unknown calibration channel " <<
id.cboxChannel();
93 sprintf(name,
"%s_CALIB_%s_%d_%d_chan=%s_eid=%d_%d_%d_%d_HTR_%d:%d%c",
94 flavor.c_str(),subdetStr.c_str(),
id.ieta(),
id.iphi(),chanstring.c_str(),
112 default: td=
nullptr;
break;
116 printf(
"Unknown %d !\n", et);
122 retval=(TH1*)td->Get(name);
123 int bins=0;
double lo=0,
hi=0;
128 if (retval==
nullptr) {
139 edm::LogError(
"HcalQLPlotHistoMgr::GetAHistogram") <<
"Parameter(s) pedGeVlo/hi not found.";
149 edm::LogError(
"HcalQLPlotHistoMgr::GetAHistogram") <<
"Parameter(s) ledGeVlo/hi not found.";
159 edm::LogError(
"HcalQLPlotHistoMgr::GetAHistogram") <<
"Parameter(s) laserGeVlo/hi not found.";
169 edm::LogError(
"HcalQLPlotHistoMgr::GetAHistogram") <<
"Parameter(s) beamGeVlo/hi not found.";
179 edm::LogError(
"HcalQLPlotHistoMgr::GetAHistogram") <<
"Parameter(s) otherGeVlo/hi not found.";
193 edm::LogError(
"HcalQLPlotHistoMgr::GetAHistogram") <<
"Parameter(s) timeNSlo/hi not found.";
208 edm::LogError(
"HcalQLPlotHistoMgr::GetAHistogram") <<
"Parameter(s) pedADClo/hi not found.";
216 retval=
new TProfile(name,name,bins,lo,
hi);
217 retval->GetXaxis()->SetTitle(
"TimeSlice(25ns)");
218 retval->GetYaxis()->SetTitle(
"fC");
221 retval=
new TH1F(name,name,bins,lo,
hi);
222 retval->GetXaxis()->SetTitle(
"Timing(ns)");
225 retval=
new TH1F(name,name,bins,lo,
hi);
226 retval->GetXaxis()->SetTitle(
"Energy(GeV)");
229 retval=
new TH1F(name,name,bins,lo,
hi);
230 retval->GetXaxis()->SetTitle(
"ADC Counts");
T getParameter(std::string const &) const
static const int TIME_BINS
static const int BEAM_BINS
HcalQLPlotHistoMgr(TDirectory *parent, const edm::ParameterSet &histoParams)
static const int OTHER_BINS
constexpr int dccid() const
get the (Hcal local) DCC id for VME, crate number for uTCA
edm::ParameterSet histoParams_
static const int LED_BINS
static std::string nameForFlavor(HistType ht)
constexpr int htrTopBottom() const
get the htr top/bottom (1=top/0=bottom), valid for VME
constexpr int htrSlot() const
get the htr slot
TDirectory * laserHistDir
constexpr int readoutVMECrateId() const
get the readout VME crate number
constexpr int spigot() const
get the spigot (input number on DCC, AMC card number for uTCA)
constexpr int fiberIndex() const
get the fiber index. For VME 1-8 (which of eight fibers carried by a spigot), for uTCA fibers are zer...
static const int PULSE_BINS
TH1 * GetAHistogramImpl(const char *name, HistType ht, EventType et)
static const int LASER_BINS
et
define resolution functions of each parameter
TH1 * GetAHistogram(const HcalDetId &id, const HcalElectronicsId &eid, HistType ht, EventType et)
static std::string nameForEvent(EventType et)
constexpr int fiberChanId() const
get the fiber channel id (which of channels on a fiber)
static const int PED_BINS
Readout chain identification for Hcal.
TDirectory * otherHistDir