CMS 3D CMS Logo

HLTExoticaPlotter.h
Go to the documentation of this file.
1 #ifndef HLTriggerOffline_Exotica_HLTExoticaPlotter_H
2 #define HLTriggerOffline_Exotica_HLTExoticaPlotter_H
3 
19 
31 
34 
35 #include <cstring>
36 #include <map>
37 #include <set>
38 #include <vector>
39 
40 // const unsigned int kNull = (unsigned int) - 1;
41 
42 struct EVTColContainer;
43 
45 public:
47  const std::string &hltPath,
48  const std::vector<unsigned int> &objectsType);
50  void beginJob();
51  void beginRun(const edm::Run &, const edm::EventSetup &);
52  void plotterBookHistos(DQMStore::IBooker &iBooker, const edm::Run &iRun, const edm::EventSetup &iSetup);
53  void analyze(const bool &isPassTrigger,
54  const std::string &source,
55  const std::vector<reco::LeafCandidate> &matches,
56  std::map<int, double> theSumEt,
57  std::vector<float> &dxys);
58 
59  inline const std::string gethltpath() const { return _hltPath; }
60 
61 private:
62  void bookHist(DQMStore::IBooker &iBooker,
63  const std::string &source,
64  const std::string &objType,
65  const std::string &variable);
66  void fillHist(const bool &passTrigger,
67  const std::string &source,
68  const std::string &objType,
69  const std::string &var,
70  const float &value);
71 
74 
75  std::set<unsigned int> _objectsType;
76  // Number of objects (elec,muons, ...) needed in the hlt path
77  unsigned int _nObjects;
78 
79  std::vector<double> _parametersEta;
80  std::vector<double> _parametersPhi;
81  std::vector<double> _parametersTurnOn;
82  std::vector<double> _parametersTurnOnSumEt;
83  std::vector<double> _parametersDxy;
84 
85  // flag to switch off
86  bool _drop_pt2;
87  bool _drop_pt3;
88 
89  std::map<std::string, MonitorElement *> _elements;
90 };
91 #endif
const std::string gethltpath() const
void plotterBookHistos(DQMStore::IBooker &iBooker, const edm::Run &iRun, const edm::EventSetup &iSetup)
std::set< unsigned int > _objectsType
std::vector< double > _parametersDxy
container with all the objects needed
std::vector< double > _parametersTurnOnSumEt
HLTExoticaPlotter(const edm::ParameterSet &pset, const std::string &hltPath, const std::vector< unsigned int > &objectsType)
std::vector< double > _parametersEta
std::string _hltProcessName
Definition: value.py:1
std::vector< double > _parametersTurnOn
void fillHist(const bool &passTrigger, const std::string &source, const std::string &objType, const std::string &var, const float &value)
std::vector< double > _parametersPhi
void bookHist(DQMStore::IBooker &iBooker, const std::string &source, const std::string &objType, const std::string &variable)
void analyze(const bool &isPassTrigger, const std::string &source, const std::vector< reco::LeafCandidate > &matches, std::map< int, double > theSumEt, std::vector< float > &dxys)
unsigned int _nObjects
void beginRun(const edm::Run &, const edm::EventSetup &)
static std::string const source
Definition: EdmProvDump.cc:47
Definition: Run.h:45
std::map< std::string, MonitorElement * > _elements