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 
18 
30 
32 
33 #include <cstring>
34 #include <map>
35 #include <set>
36 #include <vector>
37 
38 // const unsigned int kNull = (unsigned int) - 1;
39 
40 struct EVTColContainer;
41 
43 public:
46 
48  const std::string &hltPath,
49  const std::vector<unsigned int> &objectsType);
51  void beginJob();
52  void beginRun(const edm::Run &, const edm::EventSetup &);
53  void plotterBookHistos(DQMStore::IBooker &iBooker, const edm::Run &iRun, const edm::EventSetup &iSetup);
54  void analyze(const bool &isPassTrigger,
55  const std::string &source,
56  const std::vector<reco::LeafCandidate> &matches,
57  std::map<int, double> theSumEt,
58  std::vector<float> &dxys);
59 
60  inline const std::string gethltpath() const { return _hltPath; }
61 
62 private:
63  void bookHist(DQMStore::IBooker &iBooker,
64  const std::string &source,
65  const std::string &objType,
66  const std::string &variable);
67  void fillHist(const bool &passTrigger,
68  const std::string &source,
69  const std::string &objType,
70  const std::string &var,
71  const float &value);
72 
75 
76  std::set<unsigned int> _objectsType;
77  // Number of objects (elec,muons, ...) needed in the hlt path
78  unsigned int _nObjects;
79 
80  std::vector<double> _parametersEta;
81  std::vector<double> _parametersPhi;
82  std::vector<double> _parametersTurnOn;
83  std::vector<double> _parametersTurnOnSumEt;
84  std::vector<double> _parametersDxy;
85 
86  // flag to switch off
87  bool _drop_pt2;
88  bool _drop_pt3;
89 
90  std::map<std::string, MonitorElement *> _elements;
91 };
92 #endif
dqm::legacy::DQMStore DQMStore
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
const std::string gethltpath() const
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)
dqm::legacy::MonitorElement MonitorElement
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:49
Definition: Run.h:45
std::map< std::string, MonitorElement * > _elements