1 #ifndef ANOMALOUSECALVARIABLES_H_
2 #define ANOMALOUSECALVARIABLES_H_
34 v_boundaryInfoDeadCells_EE.reserve(50);
36 v_boundaryInfoDeadCells_EE.clear();
42 const std::vector<BoundaryInformation>& p_enNeighboursGap_EE,
const std::vector<BoundaryInformation>& p_boundaryInfoDeadCells_EB,
43 const std::vector<BoundaryInformation>& p_boundaryInfoDeadCells_EE) {
48 v_boundaryInfoDeadCells_EE.reserve(50);
50 v_boundaryInfoDeadCells_EE.clear();
52 v_boundaryInfoDeadCells_EE = p_boundaryInfoDeadCells_EE;
73 const std::vector<int>& limitDeadCellToChannelStatusEB = std::vector<int> (),
const std::vector<int>& limitDeadCellToChannelStatusEE =
74 std::vector<int> ())
const {
76 float highestEnergyDepositAroundDeadCell = 0;
82 bool passChannelLimitation =
false;
85 for (
int cs = 0;
cs < (int) limitDeadCellToChannelStatusEB.size(); ++
cs) {
86 int channelAllowed = limitDeadCellToChannelStatusEB[
cs];
88 for (std::vector<int>::iterator st_it = status.begin(); st_it != status.end(); ++st_it) {
90 if (channelAllowed == *st_it || (channelAllowed < 0 &&
abs(channelAllowed) <= *st_it)) {
91 passChannelLimitation =
true;
97 if (passChannelLimitation || limitDeadCellToChannelStatusEB.size() == 0) {
100 highestEnergyDepositAroundDeadCell = bInfo.
boundaryET;
110 bool passChannelLimitation =
false;
113 for (
int cs = 0;
cs < (int) limitDeadCellToChannelStatusEE.size(); ++
cs) {
114 int channelAllowed = limitDeadCellToChannelStatusEE[
cs];
116 for (std::vector<int>::iterator st_it = status.begin(); st_it != status.end(); ++st_it) {
118 if (channelAllowed == *st_it || (channelAllowed < 0 &&
abs(channelAllowed) <= *st_it)) {
119 passChannelLimitation =
true;
125 if (passChannelLimitation || limitDeadCellToChannelStatusEE.size() == 0) {
128 highestEnergyDepositAroundDeadCell = bInfo.
boundaryET;
134 if (highestEnergyDepositAroundDeadCell > maxBoundaryEnergy) {
166 float highestEnergyDepositAlongGapEB = 0;
172 highestEnergyDepositAlongGapEB = gapInfo.
boundaryET;
177 float highestEnergyDepositAlongGapEE = 0;
183 highestEnergyDepositAlongGapEE = gapInfo.
boundaryET;
188 if (highestEnergyDepositAlongGapEB > maxGapEnergyEB || highestEnergyDepositAlongGapEE > maxGapEnergyEE) {
std::vector< BoundaryInformation > v_enNeighboursGap_EE
auto_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