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 
14 #include <memory>
15 #include <fstream>
24 //
26 //
32 
36 
43 
46 
48 
49 
50 #include "GlobalVariables.h"
51 
52 
54  public:
55 
58 
60  virtual ~CaloMETAnalyzer();
61 
63  void beginJob(DQMStore * dbe);
64 
66  void endJob();
67 
69  void analyze(const edm::Event&, const edm::EventSetup&,
70  const edm::TriggerResults&);
71 
73  void beginRun(const edm::Run&, const edm::EventSetup&);
74 
76  void endRun(const edm::Run& iRun, const edm::EventSetup& iSetup, DQMStore *dbe);
77 
78  // Book MonitorElements
79  void bookMESet(std::string);
80  void bookMonitorElement(std::string, bool);
81  void bookMonitorElementTriggered(std::string, bool);
82 
83  // Fill MonitorElements
84  void fillMESet(const edm::Event&, std::string, const reco::CaloMET&, const reco::CaloMET&);
85  void fillMESubSet(const edm::Event&, std::string, const reco::CaloMET&, const reco::CaloMET&);
86  void fillMonitorElement(const edm::Event&, std::string, std::string, const reco::CaloMET&, const reco::CaloMET&, bool);
87  void fillMonitorElementTriggered(const edm::Event&, std::string, std::string, const reco::CaloMET&, const reco::CaloMET&, bool);
88  void makeRatePlot(std::string, double);
89 
92 
93  bool selectHighPtJetEvent(const edm::Event&);
94  bool selectLowPtJetEvent(const edm::Event&);
95  bool selectWElectronEvent(const edm::Event&);
96  bool selectWMuonEvent(const edm::Event&);
97 
99 
100  private:
101  // ----------member data ---------------------------
102 
104  // Switch for verbosity
105  int _verbose;
106  int _print;
107 
108  std::string metname;
109  std::string _source; // HLT? FU?
110 
112 
120 
123 
124  // list of Jet or MB HLT triggers
125  std::vector<std::string > HLTPathsJetMBByName_;
126 
131  // GenericTriggerEventFlag * _LowMETEventFlag;
134 
135  std::vector<std::string> highPtJetExpr_;
136  std::vector<std::string> lowPtJetExpr_;
137  std::vector<std::string> highMETExpr_;
138  // std::vector<std::string> lowMETExpr_;
139  std::vector<std::string> muonExpr_;
140  std::vector<std::string> elecExpr_;
141  std::vector<std::string> minbiasExpr_;
142 
144  std::string _hlt_PhysDec;
145 
146  std::vector<unsigned > _techTrigsAND;
147  std::vector<unsigned > _techTrigsOR;
148  std::vector<unsigned > _techTrigsNOT;
149 
152 
155 
159  double _vtxchi2_max;
160  double _vtxz_max;
161 
167  // int _trig_LowMET;
171 
175  // double _lowMETThreshold;
176 
177  // Et threshold for MET plots
178  double _etThreshold;
179 
180  // JetID helper
182 
183  // DCS filter
185 
186  //
187  bool _allhist;
190 
191  //
192  std::vector<std::string> _FolderNames;
193 
194  int _numPV;
195  //
196  double _EmMEx;
197  double _EmMEy;
198  double _EmMET;
199  double _EmCaloEz;
200  double _EmSumEt;
201  double _EmMetPhi;
202  //
203  double _HaMEx;
204  double _HaMEy;
205  double _HaMET;
206  double _HaCaloEz;
207  double _HaSumEt;
208  double _HaMetPhi;
209 
210  //
212 
216 
217  //
219 
220  //trigger histos
225  // MonitorElement* hTriggerName_LowMET;
228 
229  //the histos
230  // lines commented out have been removed to improve the bin usage of JetMET DQM
232 
234  //MonitorElement* hNevents;
237  //MonitorElement* hCaloEz;
244  //MonitorElement* hCaloMETNoHFPhi;
245 
246 
247  // NPV profiles
248  //----------------------------------------------------------------------------
254 
255 
258 
259  //MonitorElement* hCaloMETIonFeedbck;
260  //MonitorElement* hCaloMETHPDNoise;
261  //MonitorElement* hCaloMETRBXNoise;
262 
263  //MonitorElement* hCaloMETPhi002;
264  //MonitorElement* hCaloMETPhi010;
266 
269 
274 
275  //MonitorElement* hCaloEmEtFraction002;
276  //MonitorElement* hCaloEmEtFraction010;
278 
286 
289  //MonitorElement* hCaloEmEz;
292  //MonitorElement* hCaloEmSumET;
293 
296  //MonitorElement* hCaloHaEz;
299  //MonitorElement* hCaloHaSumET;
300 
309 
310 };
311 #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
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
CaloMETAnalyzer(const edm::ParameterSet &)
Constructor.
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:13
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:33
MonitorElement * hCalomuPt
MonitorElement * hCaloHaMETPhi
MonitorElement * hCaloHaMEx
MonitorElement * hCaloMETPhi