CMS 3D CMS Logo

HFRecHitAuxSetter.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_HcalRecAlgos_HFRecHitAuxSetter_h_
2 #define RecoLocalCalo_HcalRecAlgos_HFRecHitAuxSetter_h_
3 
6 
7 //
8 // Set rechit "auxiliary words" for the dual-anode HF reco
9 //
11  // We will store up to three 8-bit ADC values
12  static const unsigned MASK_ADC = 0xffffff;
13  static const unsigned OFF_ADC = 0;
14 
15  // Which byte is used by the sample of interest.
16  // Normally 0, 1, or 2. Value of 3 means that
17  // something went wrong, and SOI was not stored
18  // in the HFPreRecHit.
19  static const unsigned MASK_SOI = 0x3;
20  static const unsigned OFF_SOI = 24;
21 
22  // CAPID for the sample of interest.
23  // Will be correct only if the SOI value
24  // is less than 3.
25  static const unsigned MASK_CAPID = 0x3;
26  static const unsigned OFF_CAPID = 26;
27 
28  // Anode status value. It is assumed that
29  // the possible anode status values are
30  // defined in the HFAnodeStatus.h header.
31  static const unsigned MASK_STATUS = 0xf;
32  static const unsigned OFF_STATUS = 28;
33 
34  // Main function for setting the aux words.
35  //
36  // "soiPhase" argument tells us the byte into
37  // which the sample of interest should be placed
38  // in the aux word. "soiPhase" should be 0, 1, or 2.
39  // The number of presamples stored will normally
40  // be equal "soiPhase" and the number of postsamples
41  // (2 - soiPhase).
42  //
43  static void setAux(const HFPreRecHit& prehit, const unsigned anodeStates[2], unsigned soiPhase, HFRecHit* rechit);
44 };
45 
46 #endif // RecoLocalCalo_HcalRecAlgos_HFRecHitAuxSetter_h_
static const unsigned OFF_CAPID
static const unsigned OFF_STATUS
static const unsigned MASK_STATUS
static const unsigned OFF_SOI
static const unsigned MASK_ADC
static const unsigned MASK_CAPID
static const unsigned MASK_SOI
static void setAux(const HFPreRecHit &prehit, const unsigned anodeStates[2], unsigned soiPhase, HFRecHit *rechit)
static const unsigned OFF_ADC