CMS 3D CMS Logo

HLTHiggsPlotter.h
Go to the documentation of this file.
1 #ifndef HLTriggerOffline_Higgs_HLTHiggsPlotter_H
2 #define HLTriggerOffline_Higgs_HLTHiggsPlotter_H
3 
18 
32 
35 
37 
38 #include <vector>
39 #include <cstring>
40 #include <map>
41 #include <set>
42 
43 const unsigned int kNull = (unsigned int) -1;
44 
45 struct EVTColContainer;
46 
48 {
49  public:
51  //const std::string & lastFilter,
52  const std::vector<unsigned int> & objectsType,
53  const unsigned int & minCandidates,
54  const std::vector<double> & NminOneCuts);
56  void beginJob();
57  void beginRun(const edm::Run &, const edm::EventSetup &);
58  void bookHistograms(DQMStore::IBooker &, const bool &);
59  void analyze(const bool & isPassTrigger,const std::string & source,
60  const std::vector<MatchStruct> & matches, const unsigned int & minCandidates);
61  void analyze(const bool & isPassTrigger, const std::string & source, const std::vector<MatchStruct> & matches, std::map<std::string,bool> & nMinOne,
62  const float & dEtaqq, const float & mqq, const float & dPhibb, const float & CSV1, const float & CSV2, const float & CSV3, const bool & passAllCuts);
63 
64  inline const std::string gethltpath() const { return _hltPath; }
65 
66  private:
67  void bookHist(const std::string & source, const std::string & objType, const std::string & variable, DQMStore::IBooker &);
68  void fillHist(const bool & passTrigger, const std::string & source,
69  const std::string & objType, const std::string & var,
70  const float & value);
71 
73  //std::string _lastFilter;
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 
84  std::map<unsigned int,double> _cutMinPt;
85  std::map<unsigned int,double> _cutMaxEta;
86  std::map<unsigned int,unsigned int> _cutMotherId;
87  std::map<unsigned int,std::vector<double> > _cutsDr;
88 
89  // The amount of Pt plots needed for the hlt path
90  unsigned int _NptPlots;
91 
92  //N-1 cut values
93  std::vector<double> _NminOneCuts;
94 
95  std::map<std::string, MonitorElement *> _elements;
96 };
97 #endif
unsigned int _NptPlots
std::string _hltProcessName
const std::string gethltpath() const
HLTHiggsPlotter(const edm::ParameterSet &pset, const std::string &hltPath, const std::vector< unsigned int > &objectsType, const unsigned int &minCandidates, const std::vector< double > &NminOneCuts)
container with all the objects needed
std::vector< double > _parametersPhi
std::set< unsigned int > _objectsType
std::map< std::string, MonitorElement * > _elements
std::string _hltPath
const unsigned int kNull
std::map< unsigned int, double > _cutMinPt
std::vector< double > _parametersTurnOn
std::map< unsigned int, std::vector< double > > _cutsDr
Definition: value.py:1
std::map< unsigned int, unsigned int > _cutMotherId
void fillHist(const bool &passTrigger, const std::string &source, const std::string &objType, const std::string &var, const float &value)
void bookHist(const std::string &source, const std::string &objType, const std::string &variable, DQMStore::IBooker &)
std::vector< double > _parametersEta
void beginRun(const edm::Run &, const edm::EventSetup &)
void bookHistograms(DQMStore::IBooker &, const bool &)
void analyze(const bool &isPassTrigger, const std::string &source, const std::vector< MatchStruct > &matches, const unsigned int &minCandidates)
unsigned int _nObjects
std::map< unsigned int, double > _cutMaxEta
static std::string const source
Definition: EdmProvDump.cc:47
std::vector< double > _NminOneCuts
Definition: Run.h:45