1 #ifndef ANOMALOUSECALVARIABLES_H_
2 #define ANOMALOUSECALVARIABLES_H_
33 v_boundaryInfoDeadCells_EE.reserve(50);
35 v_boundaryInfoDeadCells_EE.clear();
39 const std::vector<BoundaryInformation>& p_enNeighboursGap_EE,
40 const std::vector<BoundaryInformation>& p_boundaryInfoDeadCells_EB,
41 const std::vector<BoundaryInformation>& p_boundaryInfoDeadCells_EE) {
45 v_boundaryInfoDeadCells_EE.reserve(50);
47 v_boundaryInfoDeadCells_EE.clear();
49 v_boundaryInfoDeadCells_EE = p_boundaryInfoDeadCells_EE;
68 const std::vector<int>& limitDeadCellToChannelStatusEB = std::vector<int>(),
69 const std::vector<int>& limitDeadCellToChannelStatusEE = std::vector<int>())
const {
70 float highestEnergyDepositAroundDeadCell = 0;
76 bool passChannelLimitation =
false;
79 for (
int cs = 0;
cs < (int)limitDeadCellToChannelStatusEB.size(); ++
cs) {
80 int channelAllowed = limitDeadCellToChannelStatusEB[
cs];
82 for (std::vector<int>::iterator st_it = status.begin(); st_it != status.end(); ++st_it) {
83 if (channelAllowed == *st_it || (channelAllowed < 0 &&
abs(channelAllowed) <= *st_it)) {
84 passChannelLimitation =
true;
90 if (passChannelLimitation || limitDeadCellToChannelStatusEB.empty()) {
92 highestEnergyDepositAroundDeadCell = bInfo.
boundaryET;
102 bool passChannelLimitation =
false;
105 for (
int cs = 0;
cs < (int)limitDeadCellToChannelStatusEE.size(); ++
cs) {
106 int channelAllowed = limitDeadCellToChannelStatusEE[
cs];
108 for (std::vector<int>::iterator st_it = status.begin(); st_it != status.end(); ++st_it) {
109 if (channelAllowed == *st_it || (channelAllowed < 0 &&
abs(channelAllowed) <= *st_it)) {
110 passChannelLimitation =
true;
116 if (passChannelLimitation || limitDeadCellToChannelStatusEE.empty()) {
118 highestEnergyDepositAroundDeadCell = bInfo.
boundaryET;
124 if (highestEnergyDepositAroundDeadCell > maxBoundaryEnergy) {
155 float highestEnergyDepositAlongGapEB = 0;
161 highestEnergyDepositAlongGapEB = gapInfo.
boundaryET;
166 float highestEnergyDepositAlongGapEE = 0;
172 highestEnergyDepositAlongGapEE = gapInfo.
boundaryET;
177 if (highestEnergyDepositAlongGapEB > maxGapEnergyEB || highestEnergyDepositAlongGapEE > maxGapEnergyEE) {
std::vector< BoundaryInformation > v_enNeighboursGap_EE
unique_ptr< ClusterSequence > cs
bool isDeadEcalCluster(double maxBoundaryEnergy=10, const std::vector< int > &limitDeadCellToChannelStatusEB=std::vector< int >(), const std::vector< int > &limitDeadCellToChannelStatusEE=std::vector< int >()) const
std::vector< BoundaryInformation > v_boundaryInfoDeadCells_EE
~AnomalousECALVariables()
bool isGapEcalCluster(double maxGapEnergyEB=10, double maxGapEnergyEE=10) const
std::vector< BoundaryInformation > v_enNeighboursGap_EB
Abs< T >::type abs(const T &t)
AnomalousECALVariables(const std::vector< BoundaryInformation > &p_enNeighboursGap_EB, const std::vector< BoundaryInformation > &p_enNeighboursGap_EE, const std::vector< BoundaryInformation > &p_boundaryInfoDeadCells_EB, const std::vector< BoundaryInformation > &p_boundaryInfoDeadCells_EE)
std::vector< BoundaryInformation > v_boundaryInfoDeadCells_EB