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 6 of file HcalFinegrainBit.cc.

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

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

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

Member Data Documentation

const int HcalFinegrainBit::is_above_mip = 1
private

Definition at line 19 of file HcalFinegrainBit.h.

Referenced by compute().

const int HcalFinegrainBit::is_mip = 0
private

Definition at line 18 of file HcalFinegrainBit.h.

Referenced by compute().

int HcalFinegrainBit::version_
private

Definition at line 21 of file HcalFinegrainBit.h.

Referenced by compute().