CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HBHETimingShapedFlag.h
Go to the documentation of this file.
1 #ifndef HBHETIMINGSHAPEDFLAG_GUARD_H
2 #define HBHETIMINGSHAPEDFLAG_GUARD_H
3 
7 
9 public:
11  HBHETimingShapedFlagSetter(const std::vector<double>& tfilterEnvelope);
12  HBHETimingShapedFlagSetter(const std::vector<double>& tfilterEnvelope,
13  bool ignorelowest,
14  bool ignorehighest,
15  double win_offset,
16  double win_gain);
18  void Clear();
19 
20  void dumpInfo();
21 
22  // returns status suitable for flag setting
23  // This routine made available for reflagger code
24  //
25  int timingStatus(const HBHERecHit& hbhe);
26 
27  // Sets "HBHETimingShapedCutsBits" field in response to output
28  // from "timingStatus()"
29  //
30  void SetTimingShapedFlags(HBHERecHit& hbhe);
31 
32 private:
33  // key = integer GeV (to avoid FP issues),
34  // value = low/high values for timing in ns
35  //
36  typedef std::map<int, std::pair<double, double> > TfilterEnvelope_t;
38 
39  void makeTfilterEnvelope(const std::vector<double>& v_userEnvelope);
40 
43  double win_offset_;
44  double win_gain_;
45 };
46 
47 #endif
int timingStatus(const HBHERecHit &hbhe)
std::map< int, std::pair< double, double > > TfilterEnvelope_t
TfilterEnvelope_t tfilterEnvelope_
void SetTimingShapedFlags(HBHERecHit &hbhe)
void makeTfilterEnvelope(const std::vector< double > &v_userEnvelope)