CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalCaloFlagLabels.h
Go to the documentation of this file.
1 #ifndef GUARD_HCALCALOFLAGLABELS_H
2 #define GUARD_HCALCALOFLAGLABELS_H
3 
5 #include <string>
6 
7 // Create alias names for all status bits
8 // These aliases are valid for only the _current release_
9 // Use the HcalCaloFlagTool (below) for full interpretation
10 namespace HcalCaloFlagLabels
11 {
12  //subdetector-specific bits defined here (bits 0-15)
19  HBHETimingTrustBits=6, // 2-bit counter; not yet in use
20  HBHETimingShapedCutsBits=8, // 3-bit counter
26  };
27 
29 
31 
34  HFInTimeWindow=2, // requires hit be within certain time window
37  };
38 
39 
41 
43 
44  // Bit definitions that apply to all subdetectors (bits 16-31)
45  enum CommonFlag {TimingSubtractedBit=16, // latency shift correction, recovered
46  TimingAddedBit=17, // latency shift correction, recovered
47  TimingErrorBit=18, // latency shift error, unrecovered
49  Fraction2TS=20, // should deprecate this at some point
50  PresampleADC=20, // uses 7 bits to store ADC from presample
51  // This bit is not yet in use (as of March 2012), but can be used to mark sim hits to which noise has been intentionally added
53  // The following bits are all user-defined; reverse-order them so that UserDefinedBit0 will be the last removed
57 };
58 
59 }
60 
65 public:
66  HcalCaloFlagTool(const std::string& releaseName);
68  int getFieldWidth(HcalSubdetector sd, int bit) const;
69  int getFieldStart(HcalSubdetector sd, const std::string& field) const;
70  int getFieldWidth(HcalSubdetector sd, const std::string& field) const;
71  bool hasField(HcalSubdetector sd, const std::string& field) const;
72  bool hasField(HcalSubdetector sd, int bit) const;
73 private:
77 };
78 
79 #endif
HcalCaloFlagTool(const std::string &releaseName)
Provides interpretation of flag bits with understanding of CMSSW version dependence.
tuple field
Definition: statics.py:62
std::string getFieldName(HcalSubdetector sd, int bit) const
int getFieldStart(HcalSubdetector sd, const std::string &field) const
HcalSubdetector
Definition: HcalAssistant.h:31
std::string releaseName_
bool hasField(HcalSubdetector sd, const std::string &field) const
int getFieldWidth(HcalSubdetector sd, int bit) const
double sd