CMS 3D CMS Logo

NominalEfficiencyThresholds.h
Go to the documentation of this file.
1 #ifndef MuonIsolation_NominalEfficiencyThresholds_H
2 #define MuonIsolation_NominalEfficiencyThresholds_H
3 
4 #include <map>
5 #include <string>
6 #include <utility>
7 #include <vector>
8 
9 namespace muonisolation {
11  public:
15 
18  float eta;
19  int cone;
20  };
21 
22  float thresholdValueForEfficiency(ThresholdLocation location, float eff_thr) const;
23 
24  std::vector<double> bins() const;
25  void dump();
26 
27  private:
29  struct EfficiencyBin {
30  float eff;
31  float eff_previous;
32  bool operator()(const EfficiencyBin& e1, const EfficiencyBin& e2) const;
33  };
34 
35  class EtaBounds {
36  public:
37  enum { NumberOfTowers = 32 };
38  EtaBounds();
39  int towerFromEta(double eta) const;
40  float operator()(unsigned int i) const { return theBounds[i]; }
41 
42  private:
43  float theBounds[NumberOfTowers + 1]; //max eta of towers 1-32 (indx 1-32) and 0. for indx 0
44  };
45 
47  struct locless {
48  bool operator()(const ThresholdLocation& l1, const ThresholdLocation& l2) const;
50  };
51 
52  typedef std::pair<EfficiencyBin, float> ThresholdConstituent;
53  typedef std::map<EfficiencyBin, float, EfficiencyBin> ThresholdConstituents;
54  typedef std::map<ThresholdLocation, ThresholdConstituents, locless> MapType;
55 
58 
60  };
61 } // namespace muonisolation
62 #endif
muonisolation::NominalEfficiencyThresholds::EtaBounds::NumberOfTowers
Definition: NominalEfficiencyThresholds.h:37
muonisolation::NominalEfficiencyThresholds::dump
void dump()
Definition: NominalEfficiencyThresholds.cc:112
muonisolation::NominalEfficiencyThresholds::EtaBounds::theBounds
float theBounds[NumberOfTowers+1]
Definition: NominalEfficiencyThresholds.h:43
muonisolation::NominalEfficiencyThresholds::EfficiencyBin
compare to efficiencies
Definition: NominalEfficiencyThresholds.h:29
mps_fire.i
i
Definition: mps_fire.py:428
muonisolation::NominalEfficiencyThresholds::~NominalEfficiencyThresholds
~NominalEfficiencyThresholds()
Definition: NominalEfficiencyThresholds.h:14
muonisolation::NominalEfficiencyThresholds::NominalEfficiencyThresholds
NominalEfficiencyThresholds()
Definition: NominalEfficiencyThresholds.h:12
muonisolation::NominalEfficiencyThresholds::MapType
std::map< ThresholdLocation, ThresholdConstituents, locless > MapType
Definition: NominalEfficiencyThresholds.h:54
muonisolation::NominalEfficiencyThresholds::locless
compare two locations
Definition: NominalEfficiencyThresholds.h:47
PVValHelper::eta
Definition: PVValidationHelpers.h:69
muonisolation::NominalEfficiencyThresholds::locless::etabounds
EtaBounds etabounds
Definition: NominalEfficiencyThresholds.h:49
muonisolation::NominalEfficiencyThresholds
Definition: NominalEfficiencyThresholds.h:10
muonisolation::NominalEfficiencyThresholds::EfficiencyBin::eff
float eff
Definition: NominalEfficiencyThresholds.h:30
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
muonisolation::NominalEfficiencyThresholds::add
void add(ThresholdLocation location, ThresholdConstituent threshold)
Definition: NominalEfficiencyThresholds.cc:98
muonisolation::NominalEfficiencyThresholds::EtaBounds::towerFromEta
int towerFromEta(double eta) const
Definition: NominalEfficiencyThresholds.cc:30
muonisolation::NominalEfficiencyThresholds::EtaBounds::EtaBounds
EtaBounds()
Definition: NominalEfficiencyThresholds.cc:11
muonisolation::NominalEfficiencyThresholds::etabounds
EtaBounds etabounds
Definition: NominalEfficiencyThresholds.h:59
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
muonisolation::NominalEfficiencyThresholds::locless::operator()
bool operator()(const ThresholdLocation &l1, const ThresholdLocation &l2) const
Definition: NominalEfficiencyThresholds.cc:55
muonisolation::NominalEfficiencyThresholds::ThresholdConstituent
std::pair< EfficiencyBin, float > ThresholdConstituent
Definition: NominalEfficiencyThresholds.h:52
muonisolation::NominalEfficiencyThresholds::ThresholdConstituents
std::map< EfficiencyBin, float, EfficiencyBin > ThresholdConstituents
Definition: NominalEfficiencyThresholds.h:53
muonisolation::NominalEfficiencyThresholds::thresholdValueForEfficiency
float thresholdValueForEfficiency(ThresholdLocation location, float eff_thr) const
Definition: NominalEfficiencyThresholds.cc:124
muonisolation::NominalEfficiencyThresholds::EtaBounds
Definition: NominalEfficiencyThresholds.h:35
muonisolation::NominalEfficiencyThresholds::EtaBounds::operator()
float operator()(unsigned int i) const
Definition: NominalEfficiencyThresholds.h:40
muonisolation
Definition: CandViewExtractor.h:16
muonisolation::NominalEfficiencyThresholds::EfficiencyBin::eff_previous
float eff_previous
Definition: NominalEfficiencyThresholds.h:31
muonisolation::NominalEfficiencyThresholds::ThresholdLocation::eta
float eta
Definition: NominalEfficiencyThresholds.h:18
muonisolation::NominalEfficiencyThresholds::bins
std::vector< double > bins() const
Definition: NominalEfficiencyThresholds.cc:44
muonisolation::NominalEfficiencyThresholds::EfficiencyBin::operator()
bool operator()(const EfficiencyBin &e1, const EfficiencyBin &e2) const
Definition: NominalEfficiencyThresholds.cc:51
timingPdfMaker.infile
infile
Definition: timingPdfMaker.py:350
muonisolation::NominalEfficiencyThresholds::thresholds
MapType thresholds
Definition: NominalEfficiencyThresholds.h:57
EcalCondDBWriter_cfi.location
location
Definition: EcalCondDBWriter_cfi.py:63
muonisolation::NominalEfficiencyThresholds::ThresholdLocation::cone
int cone
Definition: NominalEfficiencyThresholds.h:19
remoteMonitoring_LED_IterMethod_cfg.threshold
threshold
Definition: remoteMonitoring_LED_IterMethod_cfg.py:426
muonisolation::NominalEfficiencyThresholds::ThresholdLocation
threshold location
Definition: NominalEfficiencyThresholds.h:17