StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
DSMAlgo_EE001_2017.cc
1 #include "DSM.hh"
2 #include "sumTriggerPatchChannels.hh"
3 #include "DSMAlgo_EE001_2017.hh"
4 
5 void DSMAlgo_EE001_2017::operator()(DSM& dsm)
6 {
7  // INPUT:
8 
9  // 10 x 12-bit EEMC channels
10  // (0-5) high tower
11  // (6-11) trigger patch
12 
13  // REGISTERS:
14 
15  // R0: EEMC-HT-Th0 (6)
16  // R1: EEMC-HT-Th1 (6)
17  // R2: EEMC-HT-UPC (6)
18  // R3: EEMC-TP-UPC (6)
19 
20  // ACTION:
21 
22  int lowEtaSum = 0;
23  int highEtaSum = 0;
24  int highTowerBits = 0;
25 
26  // Args: dsm, chMin, chMax, step, targetPedestal, sum, highTowerBits
27 
28  sumTriggerPatchChannels2015(dsm, 0, 8, 2, 3, lowEtaSum, highTowerBits);
29  sumTriggerPatchChannels2015(dsm, 1, 9, 2, 2, highEtaSum, highTowerBits);
30 
31  // OUTPUT (14):
32 
33  // (0-5) TP sum for low-eta group (6)
34  // (6-11) TP sum for high-eta group (6)
35  // (12-13) HT bits (2)
36  // (14) Unused (1)
37  // (15) HT.TP bit (1)
38  int out = 0;
39  out |= lowEtaSum;
40  out |= highEtaSum << 6;
41  out |= highTowerBits << 12;
42  dsm.output = out;
43 
44 }
Definition: DSM.hh:16