CMS 3D CMS Logo

HGCalMouseBite.h
Go to the documentation of this file.
1 #ifndef GeometryHGCalGeometry_HGCalMouseBite_h
2 #define GeometryHGCalGeometry_HGCalMouseBite_h
3 
8 
9 #include <vector>
10 
11 //#define EDM_ML_DEBUG
12 
14 public:
15  HGCalMouseBite(const HGCalDDDConstants& hgc, bool waferRotate = false);
16  template <class T>
17  bool exclude(const T& id) {
18  int iuv = (100 * id.cellU() + id.cellV());
19  bool check = ((id.type() == 0) ? (std::binary_search(rejectFine_.begin(), rejectFine_.end(), iuv))
20  : (std::binary_search(rejectCoarse_.begin(), rejectCoarse_.end(), iuv)));
21 #ifdef EDM_ML_DEBUG
22  edm::LogVerbatim("HGCalGeom") << "HGCalMouseBite:: DetId " << id
23  << " is checked to be in the list of masked ID's with flag " << check;
24 #endif
25  return check;
26  }
27 
28 private:
29  std::vector<int> rejectFine_, rejectCoarse_;
30 };
31 
32 #endif // HGCalMouseBite_h
Log< level::Info, true > LogVerbatim
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE int binary_search(const unsigned int *data, unsigned int search_val, unsigned int ndata)
Definition: Hit.h:59
bool exclude(const T &id)
HGCalMouseBite(const HGCalDDDConstants &hgc, bool waferRotate=false)
std::vector< int > rejectCoarse_
std::vector< int > rejectFine_
long double T