CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFMETAnalyzer.h
Go to the documentation of this file.
1 #ifndef PFMETAnalyzer_H
2 #define PFMETAnalyzer_H
3 
4 
16 #include <memory>
17 #include <fstream>
18 #include "TMath.h"
27 
30 
35 
37 
41 
44 
46 
47 
48 #include "GlobalVariables.h"
49 
50 
52  public:
53 
56 
58  virtual ~PFMETAnalyzer();
59 
61  void beginJob(DQMStore * dbe);
62 
64  void endJob();
65 
66  // Book MonitorElements
67  void bookMESet(std::string);
68  void bookMonitorElement(std::string, bool);
69 
71  void analyze(const edm::Event&, const edm::EventSetup&,
72  const edm::TriggerResults&);
73 
75  void beginRun(const edm::Run&, const edm::EventSetup&);
76 
78  void endRun(const edm::Run& iRun, const edm::EventSetup& iSetup, DQMStore *dbe);
79 
80  // Fill MonitorElements
81  void fillMESet(const edm::Event&, std::string, const reco::PFMET&);
82  void fillMonitorElement(const edm::Event&, std::string, std::string, const reco::PFMET&, bool);
83  void makeRatePlot(std::string, double);
84 
86 
87  bool selectHighPtJetEvent(const edm::Event&);
88  bool selectLowPtJetEvent(const edm::Event&);
89  bool selectWElectronEvent(const edm::Event&);
90  bool selectWMuonEvent(const edm::Event&);
91 
92  void setSource(std::string source) {
93  _source = source;
94  }
95 
97 
98  private:
99  // ----------member data ---------------------------
100 
102  int _verbose;
103 
104  std::string metname;
105  std::string _source;
106 
116 
117  // list of Jet or MB HLT triggers
118  std::vector<std::string > HLTPathsJetMBByName_;
119 
124  // GenericTriggerEventFlag * _LowMETEventFlag;
127 
128  std::vector<std::string> highPtJetExpr_;
129  std::vector<std::string> lowPtJetExpr_;
130  std::vector<std::string> highMETExpr_;
131  // std::vector<std::string> lowMETExpr_;
132  std::vector<std::string> muonExpr_;
133  std::vector<std::string> elecExpr_;
134  std::vector<std::string> minbiasExpr_;
135 
137  std::string _hlt_PhysDec;
138 
139  std::vector<unsigned > _techTrigsAND;
140  std::vector<unsigned > _techTrigsOR;
141  std::vector<unsigned > _techTrigsNOT;
142 
145 
148 
152  double _vtxchi2_max;
153  double _vtxz_max;
154 
160  // int _trig_LowMET;
164 
165 
170 
171  int _numPV;
172  // Et threshold for MET plots
173  double _etThreshold;
174 
175  // HF calibration factor (in 31X applied by PFProducer)
176  double hfCalibFactor_; //
177 
178  // JetID helper
180 
181  // DCS filter
183 
184  //
185  bool _allhist;
188 
189  std::vector<std::string> _FolderNames;
190 
192 
193 
194  // MonitorElements
195  //----------------------------------------------------------------------------
198 
206 
217 
232 
233 
234  // NPV profiles
235  //----------------------------------------------------------------------------
240 
255 };
256 
257 
258 #endif
MonitorElement * mePhotonEtFraction
MonitorElement * mePfMET_profile
double _highPFMETThreshold
MonitorElement * meTriggerName_HighPtJet
double _highPtPFJetThreshold
MonitorElement * meHFEMEt_profile
std::string metname
GenericTriggerEventFlag * _MuonEventFlag
MonitorElement * meTriggerName_Muon
MonitorElement * meHFEMEt
int _tightJetIDFiltering
std::vector< std::string > highPtJetExpr_
JetMETDQMDCSFilter * DCSFilter
MonitorElement * meTriggerName_MinBias
std::string _source
edm::ParameterSet parameters
virtual ~PFMETAnalyzer()
Destructor.
GenericTriggerEventFlag * _HighPtJetEventFlag
void validateMET(const reco::PFMET &, edm::Handle< edm::View< reco::PFCandidate > >)
MonitorElement * meChargedHadronEtFraction_profile
edm::InputTag gtTag
MonitorElement * mePfMExLS
bool selectWMuonEvent(const edm::Event &)
void fillMESet(const edm::Event &, std::string, const reco::PFMET &)
std::vector< unsigned > _techTrigsAND
MonitorElement * meTriggerName_LowPtJet
MonitorElement * meHFEMEtFraction_profile
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
void setSource(std::string source)
Definition: PFMETAnalyzer.h:92
std::vector< std::string > muonExpr_
void endJob()
Finish up a job.
edm::ParameterSet theCleaningParameters
MonitorElement * mePfSumET
MonitorElement * mePfMEy
GenericTriggerEventFlag * _LowPtJetEventFlag
std::vector< std::string > lowPtJetExpr_
void fillMonitorElement(const edm::Event &, std::string, std::string, const reco::PFMET &, bool)
std::vector< std::string > highMETExpr_
double _vtxchi2_max
MonitorElement * meMuonEt_profile
DQMStore * _dbe
MonitorElement * mePfMEyLS
edm::InputTag BeamHaloSummaryTag
MonitorElement * meHFHadronEtFraction_profile
PFMETAnalyzer(const edm::ParameterSet &)
Constructor.
GenericTriggerEventFlag * _EleEventFlag
MonitorElement * meNeutralHadronEt
MonitorElement * meChargedHadronEt
MonitorElement * meTriggerName_Ele
MonitorElement * meHFEMEtFraction
std::string _hlt_PhysDec
reco::helper::JetIDHelper * jetID
double _lowPtPFJetThreshold
void beginRun(const edm::Run &, const edm::EventSetup &)
Initialize run-based parameters.
std::vector< unsigned > _techTrigsOR
void analyze(const edm::Event &, const edm::EventSetup &, const edm::TriggerResults &)
Get the analysis.
GenericTriggerEventFlag * _HighMETEventFlag
void makeRatePlot(std::string, double)
edm::InputTag thePfMETCollectionLabel
MonitorElement * meTriggerName_PhysDec
MonitorElement * mePfMETSig
MonitorElement * mePfMEx
edm::InputTag thePfJetCollectionLabel
void bookMESet(std::string)
bool selectLowPtJetEvent(const edm::Event &)
MonitorElement * mePhotonEt
edm::InputTag PFCandidatesTag
std::vector< std::string > elecExpr_
MonitorElement * mePfMETRate
MonitorElement * meMuonEtFraction_profile
MonitorElement * meChargedHadronEt_profile
MonitorElement * meElectronEtFraction_profile
void bookMonitorElement(std::string, bool)
void beginJob(DQMStore *dbe)
Inizialize parameters for histo binning.
MonitorElement * meElectronEtFraction
MonitorElement * meNeutralHadronEtFraction_profile
MonitorElement * mePfSumET_logx
MonitorElement * mePhotonEtFraction_profile
bool _tightBHFiltering
double _lowPFMETThreshold
double _etThreshold
std::vector< std::string > _FolderNames
MonitorElement * meChargedHadronEtFraction
bool selectHighPtJetEvent(const edm::Event &)
MonitorElement * meHFHadronEtFraction
MonitorElement * mePfMET_logx
MonitorElement * mePhotonEt_profile
MonitorElement * meTriggerName_HighMET
void endRun(const edm::Run &iRun, const edm::EventSetup &iSetup, DQMStore *dbe)
Finish up a run.
edm::InputTag theJetCollectionLabel
MonitorElement * mePfMETPhi
bool selectWElectronEvent(const edm::Event &)
MonitorElement * meHFHadronEt
MonitorElement * meElectronEt_profile
MonitorElement * meMuonEt
MonitorElement * metME
GenericTriggerEventFlag * _MinBiasEventFlag
MonitorElement * meHFHadronEt_profile
edm::InputTag HBHENoiseFilterResultTag
edm::InputTag HcalNoiseRBXCollectionTag
bool _cleanupSelection
MonitorElement * mePfMET
std::vector< unsigned > _techTrigsNOT
MonitorElement * meNeutralHadronEt_profile
MonitorElement * mePfSumET_profile
std::vector< std::string > minbiasExpr_
std::vector< std::string > HLTPathsJetMBByName_
MonitorElement * meMuonEtFraction
edm::InputTag vertexTag
MonitorElement * mePfMEy_profile
MonitorElement * mePfMEx_profile
double hfCalibFactor_
MonitorElement * meNeutralHadronEtFraction
MonitorElement * meElectronEt
Definition: Run.h:33