test
CMS 3D CMS Logo

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