CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
HcalFinegrainBit Class Reference

#include <HcalFinegrainBit.h>

Public Types

typedef std::array< std::bitset< 6 >, 2 > Tower
 

Public Member Functions

std::bitset< 4 > compute (const Tower &) const
 
 HcalFinegrainBit (int version)
 

Private Attributes

const int is_above_mip = 1
 
const int is_mip = 0
 
int version_
 

Detailed Description

Definition at line 7 of file HcalFinegrainBit.h.

Member Typedef Documentation

typedef std::array<std::bitset<6>, 2> HcalFinegrainBit::Tower

Definition at line 11 of file HcalFinegrainBit.h.

Constructor & Destructor Documentation

HcalFinegrainBit::HcalFinegrainBit ( int  version)
inline

Definition at line 13 of file HcalFinegrainBit.h.

References compute().

Member Function Documentation

std::bitset< 4 > HcalFinegrainBit::compute ( const Tower tower) const

Definition at line 5 of file HcalFinegrainBit.cc.

References is_above_mip, is_mip, mps_fire::result, and version_.

Referenced by HcalTriggerPrimitiveAlgo::analyzeQIE11(), and HcalFinegrainBit().

5  {
6  if (version_ == 0) {
7  std::bitset<4> result;
8 
9  // First layer consistent with a MIP
10  result[0] = tower[is_mip][0];
11 
12  // First layer consistent with a MIP, at least one layer with more
13  // than MIP energy deposition
14  result[1] = result[0] & (tower[is_above_mip].count() > 0);
15 
16  // There layers consistent with a MIP
17  result[2] = tower[is_mip].count() >= 3;
18 
19  // Unset
20  result[3] = false;
21 
22  return result;
23  }
24  if (version_ == 1) {
25  std::bitset<4> result;
26 
27  // All algorithms the same for testing purposes
28  result[0] = result[1] = result[2] = result[3] = tower[is_mip][0];
29 
30  return result;
31  }
32  if (version_ == 2) {
33  std::bitset<4> result;
34 
35  // All algorithms the same for testing purposes
36  result[0] = result[1] = result[2] = result[3] = true;
37 
38  return result;
39  }
40  return 0;
41 }
const int is_above_mip

Member Data Documentation

const int HcalFinegrainBit::is_above_mip = 1
private

Definition at line 20 of file HcalFinegrainBit.h.

Referenced by compute().

const int HcalFinegrainBit::is_mip = 0
private

Definition at line 19 of file HcalFinegrainBit.h.

Referenced by compute().

int HcalFinegrainBit::version_
private

Definition at line 22 of file HcalFinegrainBit.h.

Referenced by compute().