157 if(
jet.numConstituents() == 0 || !
jet.getConstituents().isValid())
return StatusCode::SUCCESS;
161 ToolHandle<GenericMonitoringTool> tileJetChannTimeDQTool =
getGroup(
"TileJetChanTimeDQ");
163 std::array<std::string, 2> gainName{
"LG",
"HG"};
164 std::array<std::string, 5> partitionName{
"AUX",
"LBA",
"LBC",
"EBA",
"EBC"};
170 for (
const CaloCell* cell : *calo_cluster) {
176 if (usedCells.find(
id) == usedCells.end()) {
177 usedCells.insert(
id);
183 auto module = Monitored::Scalar<int>("module", m_tileID->module(id));
192 int gain1 = tilecell->
gain1();
193 int gain2 = tilecell->
gain2();
194 unsigned int qbit1 = tilecell->
qbit1();
195 unsigned int qbit2 = tilecell->
qbit2();
216 bool is_good1 =
isGoodChannel(ros1, module, chan1, bad1, qbit1,
id);
217 bool is_good2 =
isGoodChannel(ros2, module, chan2, bad2, qbit2,
id);
218 float ene1 = is_good1 ? tilecell->
ene1() : -1;
219 float ene2 = is_good2 ? tilecell->
ene2() : -1;
224 <<
", qbit " << qbit1 <<
"/" << qbit2
225 <<
", is_bad " << bad1 <<
"/" << bad2
226 <<
", isGood " << is_good1
228 <<
", ene " << tilecell->
energy());
238 fill(
"TileJetChanTime1D", channelTime);
256 <<
", LB " << lumiBlock
257 <<
", time: " << tilecell->
time1());
260 fill(
"TileJetChanTime", channelTime);
263 std::string nameNoScint(
"channelTime" + partitionName[ros1] +
"_NoScint");
265 fill(
"TileJetChanTime", channelTimeNoScint);
275 fill(
"TileJetChanTime1D", channelTime);
293 <<
", LB " << lumiBlock
294 <<
", time: " << tilecell->
time2()
295 <<
" (qbit2 " << qbit2 <<
", ch1 " << chan1 <<
", ene1 " << ene1 <<
", bad1 " << bad1 <<
", qbit1 " << qbit1 <<
")" );
298 fill(
"TileJetChanTime", channelTime);
301 std::string nameNoScint(
"channelTime" + partitionName[ros2] +
"_NoScint");
303 fill(
"TileJetChanTime", channelTimeNoScint);
313 if ((is_good1) && (((is_good2) && (gain1 == gain2)) || (sample ==
TileID::SAMP_E))) {
319 int evenChannnel = (chan1 % 2 == 0) ? chan1 : chan2;
321 + gainName[gain1] +
"_ch1_" + std::to_string(evenChannnel);
323 fill(
"TileJetEnergyDiff", energyDifference);
326 if ((bad1 < 2) && (bad2 < 2)) {
333 <<
", ene " << tilecell->
energy()
334 <<
", index " <<
index
335 <<
", time: " << tilecell->
time());
338 std::string name1(
"Cell_time_" + partitionName[ros1] +
"_" +
sampleName(ros1, sample, tower) +
"_" + gainName[gain1] +
"_slice_" + std::to_string(
index));
340 fill(
"TileJetCellTime", cellTime1);
349 fill(
"TileJetSelCellTime", cellTime_sel);
354 std::string name_selCh1(
"Cell_time_" +
TileCalibUtils::getDrawerString(ros1, module) +
"_" +
cellName(ros1, sample, tower, module) +
"_ch" + std::to_string(chan1) +
"_" + gainName[gain1] +
"_slice_" + std::to_string(index_ch1));
356 fill(
"TileJetSelChanTime", cellTime_selCh1);
360 std::string name_selCh2(
"Cell_time_" +
TileCalibUtils::getDrawerString(ros1, module) +
"_" +
cellName(ros1, sample, tower, module) +
"_ch" + std::to_string(chan2) +
"_" + gainName[gain2] +
"_slice_" + std::to_string(index_ch2));
362 fill(
"TileJetSelChanTime", cellTime_selCh2);
367 std::string indexName1(
"index_" + partitionName[ros1] +
"_" +
sampleName(ros1, sample, tower) +
"_" + gainName[gain1]);
370 std::string energyName1(
"energy_" + partitionName[ros1] +
"_" +
sampleName(ros1, sample, tower) +
"_" + gainName[gain1]);
373 fill(
"TileJetCellEnergyProfile", energyIndex1, cellEnergy1);
384 fill(
"TileJetSelCellEnergyProfile", energyIndex_sel, cellEnergy_sel);
391 std::string energyname_selCh1(
"energy_" +
TileCalibUtils::getDrawerString(ros1, module) +
"_" +
cellName(ros1, sample, tower, module) +
"_ch" + std::to_string(chan1) +
"_" + gainName[gain1]);
394 fill(
"TileJetSelChanEnergyProfile", energyIndex_selCh1, cellEnergy_selCh1);
400 std::string energyname_selCh2(
"energy_" +
TileCalibUtils::getDrawerString(ros1, module) +
"_" +
cellName(ros1, sample, tower, module) +
"_ch" + std::to_string(chan2) +
"_" + gainName[gain2]);
403 fill(
"TileJetSelChanEnergyProfile", energyIndex_selCh2, cellEnergy_selCh2);
407 std::string name1(
"Cell_ene_" + partitionName[ros1] +
"_" +
sampleName(ros1, sample, tower) +
"_" + gainName[gain1] +
"_slice_" + std::to_string(
index));
409 fill(
"TileJetCellEnergy", cellEnergy1);
416 fill(
"TileJetSelCellEnergy", cellEnergy_sel);
420 std::string name_selCh1(
"Cell_ene_" +
TileCalibUtils::getDrawerString(ros1, module) +
"_" +
cellName(ros1, sample, tower, module) +
"_ch" + std::to_string(chan1) +
"_" + gainName[gain1] +
"_slice_" + std::to_string(index_ch1));
422 fill(
"TileJetSelChanEnergy", cellEnergy_selCh1);
425 std::string name_selCh2(
"Cell_ene_" +
TileCalibUtils::getDrawerString(ros1, module) +
"_" +
cellName(ros1, sample, tower, module) +
"_ch" + std::to_string(chan2) +
"_" + gainName[gain2] +
"_slice_" + std::to_string(index_ch2));
427 fill(
"TileJetSelChanEnergy", cellEnergy_selCh2);
440 return StatusCode::SUCCESS;