35 bool passBeamBackgroundRemoval =
false;
37 if(
sc.isFailure() || !ifPass)
return StatusCode::SUCCESS;
41 constexpr
int nTileCells = 5184;
42 std::vector<float> cellEnergyToNoiseRatio;
43 cellEnergyToNoiseRatio.reserve(nTileCells);
45 std::vector<float> cellNoiseDB;
46 std::vector<float> cellNoiseDBeta;
47 std::vector<float> cellNoiseDBphi;
48 cellNoiseDB.reserve(nTileCells);
49 cellNoiseDBeta.reserve(nTileCells);
50 cellNoiseDBphi.reserve(nTileCells);
54 std::vector<IdentifierHash>
hashes;
56 const int nCellsOverThr = 500;
57 std::vector<float> overThrEta;
58 std::vector<float> overThrPhi;
59 std::vector<float> overThrTower;
60 std::vector<float> overThrEnergyGeV;
61 overThrEta.reserve(nCellsOverThr);
62 overThrPhi.reserve(nCellsOverThr);
63 overThrTower.reserve(nCellsOverThr);
64 overThrEnergyGeV.reserve(nCellsOverThr);
83 bool isCellGood = !(
cell->badcell());
87 : caloNoise->getNoise(
id,
cell->gain());
89 if (std::isfinite(cellNoise) && cellNoise > 0 &&
energy != 0) {
90 float energyToNoiseRatio =
energy / cellNoise;
91 cellEnergyToNoiseRatio.push_back(energyToNoiseRatio);
93 if (std::abs(energyToNoiseRatio) > 4.0) {
102 cellNoiseDB.push_back(cellNoise);
103 cellNoiseDBeta.push_back(
eta);
104 cellNoiseDBphi.push_back(
phi);
111 overThrEta.push_back(
eta);
112 overThrPhi.push_back(
phi);
113 overThrTower.push_back(tower + 1);
114 overThrEnergyGeV.push_back(energyGeV);
120 overThrModuleEnergy[
sample].push_back(energyGeV);
129 if (!sampleEta[
sample].empty()) {
139 fill(
"CellsXNoiseXHash", monHash);
142 if (!cellEnergyToNoiseRatio.empty()) {
144 fill(
"CellsNoiseTile", monCellEnergyToNoiseRatio);
147 if (!cellNoiseDB.empty()) {
151 fill(
"CellsNoiseXEta", monEta, monCellNoise);
152 fill(
"CellsNoiseXPhi", monPhi, monCellNoise);
156 if (!overThrEnergyGeV.empty()) {
159 fill(
"CellsXN", monCellsNumber);
162 fill(
"CellsXE", monEnergy);
165 fill(
"CellsXEta", monEta, monEnergy);
168 fill(
"CellsXPhi", monPhi, monEnergy);
171 fill(
"CellsXTower", monTower, monEnergy);
173 fill(
"CellsXEtaVSPhi", monEta, monPhi);
176 if (!overThrModuleEnergy[
sample].empty()) {
184 fill(
"TileCalCellMonExecuteTime",
timer);
186 return StatusCode::SUCCESS;