CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CaloMETAnalyzer.h
Go to the documentation of this file.
1 #ifndef CaloMETAnalyzer_H
2 #define CaloMETAnalyzer_H
3 
12 #include <memory>
13 #include <fstream>
23 //
25 //
31 
35 
42 
45 
47 
48 
49 #include "GlobalVariables.h"
50 
51 
53  public:
54 
57 
59  virtual ~CaloMETAnalyzer();
60 
62  void beginJob(DQMStore * dbe);
63 
65  void endJob();
66 
68  void analyze(const edm::Event&, const edm::EventSetup&,
69  const edm::TriggerResults&);
70 
72  void beginRun(const edm::Run&, const edm::EventSetup&);
73 
75  void endRun(const edm::Run& iRun, const edm::EventSetup& iSetup, DQMStore *dbe);
76 
77  // Book MonitorElements
78  void bookMESet(std::string);
79  void bookMonitorElement(std::string, bool);
81 
82  // Fill MonitorElements
83  void fillMESet(const edm::Event&, std::string, const reco::CaloMET&, const reco::CaloMET&);
84  void fillMESubSet(const edm::Event&, std::string, const reco::CaloMET&, const reco::CaloMET&);
87  void makeRatePlot(std::string, double);
88 
91 
92  bool selectHighPtJetEvent(const edm::Event&);
93  bool selectLowPtJetEvent(const edm::Event&);
94  bool selectWElectronEvent(const edm::Event&);
95  bool selectWMuonEvent(const edm::Event&);
96 
98 
99  private:
100  // ----------member data ---------------------------
101 
103  // Switch for verbosity
104  int _verbose;
105  int _print;
106 
108  std::string _source; // HLT? FU?
109 
111 
119 
122 
123  // list of Jet or MB HLT triggers
124  std::vector<std::string > HLTPathsJetMBByName_;
125 
130  // GenericTriggerEventFlag * _LowMETEventFlag;
133 
134  std::vector<std::string> highPtJetExpr_;
135  std::vector<std::string> lowPtJetExpr_;
136  std::vector<std::string> highMETExpr_;
137  // std::vector<std::string> lowMETExpr_;
138  std::vector<std::string> muonExpr_;
139  std::vector<std::string> elecExpr_;
140  std::vector<std::string> minbiasExpr_;
141 
144 
145  std::vector<unsigned > _techTrigsAND;
146  std::vector<unsigned > _techTrigsOR;
147  std::vector<unsigned > _techTrigsNOT;
148 
151 
154 
158  double _vtxchi2_max;
159  double _vtxz_max;
160 
166  // int _trig_LowMET;
170 
174  // double _lowMETThreshold;
175 
176  // Et threshold for MET plots
177  double _etThreshold;
178 
179  // JetID helper
181 
182  // DCS filter
184 
185  //
186  bool _allhist;
189 
190  //
191  std::vector<std::string> _FolderNames;
192 
193  int _numPV;
194  //
195  double _EmMEx;
196  double _EmMEy;
197  double _EmMET;
198  double _EmCaloEz;
199  double _EmSumEt;
200  double _EmMetPhi;
201  //
202  double _HaMEx;
203  double _HaMEy;
204  double _HaMET;
205  double _HaCaloEz;
206  double _HaSumEt;
207  double _HaMetPhi;
208 
209  //
211 
215 
216  //
218 
219  //trigger histos
224  // MonitorElement* hTriggerName_LowMET;
227 
228  //the histos
229  // lines commented out have been removed to improve the bin usage of JetMET DQM
231 
233  //MonitorElement* hNevents;
236  //MonitorElement* hCaloEz;
243  //MonitorElement* hCaloMETNoHFPhi;
244 
245 
246  // NPV profiles
247  //----------------------------------------------------------------------------
253 
254 
257 
258  //MonitorElement* hCaloMETIonFeedbck;
259  //MonitorElement* hCaloMETHPDNoise;
260  //MonitorElement* hCaloMETRBXNoise;
261 
262  //MonitorElement* hCaloMETPhi002;
263  //MonitorElement* hCaloMETPhi010;
265 
268 
273 
274  //MonitorElement* hCaloEmEtFraction002;
275  //MonitorElement* hCaloEmEtFraction010;
277 
285 
288  //MonitorElement* hCaloEmEz;
291  //MonitorElement* hCaloEmSumET;
292 
295  //MonitorElement* hCaloHaEz;
298  //MonitorElement* hCaloHaSumET;
299 
308 
309 };
310 #endif
MonitorElement * hCaloMEy_profile
MonitorElement * hCaloMExCorrection
MonitorElement * hCaloMET1
MonitorElement * hCaloMETSig
edm::InputTag vertexTag
MonitorElement * hCaloHadEtInHB
MonitorElement * hCaloMETNoHF_profile
GenericTriggerEventFlag * _LowPtJetEventFlag
MonitorElement * hCaloMEyCorrection
bool selectLowPtJetEvent(const edm::Event &)
std::vector< unsigned > _techTrigsOR
MonitorElement * hTriggerName_MinBias
MonitorElement * hCaloMETRate
MonitorElement * hTriggerName_Muon
edm::InputTag BeamHaloSummaryTag
void endJob()
Finish up a job.
MonitorElement * hCaloMET
std::vector< unsigned > _techTrigsNOT
double _highPtJetThreshold
GenericTriggerEventFlag * _HighMETEventFlag
bool selectWElectronEvent(const edm::Event &)
void fillMESet(const edm::Event &, std::string, const reco::CaloMET &, const reco::CaloMET &)
MonitorElement * hTriggerName_HighPtJet
edm::Handle< reco::BeamSpot > beamSpot_h
void beginJob(DQMStore *dbe)
Inizialize parameters for histo binning.
MonitorElement * hCalomuNhits
MonitorElement * hCaloEmEtInHF
std::vector< std::string > minbiasExpr_
void computeEmHaMET(edm::Handle< edm::View< reco::Candidate > >)
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
MonitorElement * hCaloMaxEtInHadTowers
MonitorElement * hCaloHadEtInHF
math::XYZPoint bspot
MonitorElement * hCaloMEyLS
void bookMonitorElement(std::string, bool)
std::string _source
edm::Handle< reco::MuonCollection > muon_h
edm::InputTag theJetCollectionLabel
JetMETDQMDCSFilter * DCSFilter
MonitorElement * hCaloHaMET
CaloMETAnalyzer(const edm::ParameterSet &, edm::ConsumesCollector &&)
Constructor.
MonitorElement * hCaloSumET_logx
MonitorElement * hCalomuEta
bool selectWMuonEvent(const edm::Event &)
MonitorElement * hCaloSumET_profile
void fillMonitorElementTriggered(const edm::Event &, std::string, std::string, const reco::CaloMET &, const reco::CaloMET &, bool)
MonitorElement * hCaloEmEtFraction020
edm::ParameterSet parameters
MonitorElement * hCaloMETPhi020
MonitorElement * hTriggerName_LowPtJet
MonitorElement * hCaloEtFractionHadronic
void makeRatePlot(std::string, double)
edm::InputTag gtTag
MonitorElement * hCalomuChi2
MonitorElement * hCaloEmMEx
MonitorElement * hCaloHadEtInHE
reco::helper::JetIDHelper * jetID
std::vector< std::string > _FolderNames
std::string metname
edm::ParameterSet theCleaningParameters
edm::InputTag HcalNoiseRBXCollectionTag
MonitorElement * hCaloMET_logx
MonitorElement * hCaloEmEtInEB
MonitorElement * hCaloHaMEy
GenericTriggerEventFlag * _MinBiasEventFlag
MonitorElement * hCaloMExLS
std::vector< std::string > highPtJetExpr_
MonitorElement * hTriggerName_HighMET
GenericTriggerEventFlag * _EleEventFlag
edm::InputTag theCaloTowersLabel
GenericTriggerEventFlag * _HighPtJetEventFlag
bool selectHighPtJetEvent(const edm::Event &)
void beginRun(const edm::Run &, const edm::EventSetup &)
Initialize run-based parameters.
void bookMonitorElementTriggered(std::string, bool)
MonitorElement * hCaloEmMET
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
MonitorElement * hCalomuD0
MonitorElement * hCaloSumET
GenericTriggerEventFlag * _MuonEventFlag
edm::InputTag inputMuonLabel
MonitorElement * hCaloMEy
void fillMonitorElement(const edm::Event &, std::string, std::string, const reco::CaloMET &, const reco::CaloMET &, bool)
MonitorElement * hCaloEmMEy
MonitorElement * hTriggerName_Ele
void validateMET(const reco::CaloMET &, edm::Handle< edm::View< reco::Candidate > >)
MonitorElement * hCaloEmEtFraction
virtual ~CaloMETAnalyzer()
Destructor.
MonitorElement * hCaloMEx
std::vector< std::string > elecExpr_
MonitorElement * hCaloMuonCorrectionFlag
MonitorElement * hCaloHadEtInHO
std::vector< unsigned > _techTrigsAND
std::string _hlt_PhysDec
void fillMESubSet(const edm::Event &, std::string, const reco::CaloMET &, const reco::CaloMET &)
edm::Handle< edm::ValueMap< reco::MuonMETCorrectionData > > corMetGlobalMuons_ValueMap_Handle
void endRun(const edm::Run &iRun, const edm::EventSetup &iSetup, DQMStore *dbe)
Finish up a run.
void bookMESet(std::string)
MonitorElement * hCaloMET_profile
MonitorElement * hCaloMEx_profile
std::vector< std::string > HLTPathsJetMBByName_
std::vector< std::string > muonExpr_
std::vector< std::string > lowPtJetExpr_
MonitorElement * hCaloEmEtInEE
std::vector< std::string > highMETExpr_
edm::InputTag inputBeamSpotLabel
edm::InputTag HBHENoiseFilterResultTag
void analyze(const edm::Event &, const edm::EventSetup &, const edm::TriggerResults &)
Get the analysis.
MonitorElement * hCaloEmMETPhi
edm::InputTag theCaloMETCollectionLabel
MonitorElement * hCaloMaxEtInEmTowers
MonitorElement * hCaloMETNoHF
MonitorElement * hmetME
Definition: Run.h:41
MonitorElement * hCalomuPt
MonitorElement * hCaloHaMETPhi
MonitorElement * hCaloHaMEx
MonitorElement * hCaloMETPhi