Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:09:26

0001 #ifndef DATACERTIFICATIONJETMET_H
0002 #define DATACERTIFICATIONJETMET_H
0003 
0004 // author: Kenichi Hatakeyama (Rockefeller U.)
0005 
0006 // system include files
0007 #include <memory>
0008 #include <cstdio>
0009 #include <cmath>
0010 #include <sstream>
0011 
0012 // user include files
0013 #include "FWCore/Framework/interface/Frameworkfwd.h"
0014 
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/MakerMacros.h"
0017 
0018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0019 #include "DQMServices/Core/interface/DQMStore.h"
0020 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0021 //
0022 // class decleration
0023 //
0024 
0025 class DataCertificationJetMET : public DQMEDHarvester {
0026 public:
0027   explicit DataCertificationJetMET(const edm::ParameterSet&);
0028   ~DataCertificationJetMET() override;
0029 
0030 private:
0031   void dqmEndJob(DQMStore::IBooker&, DQMStore::IGetter&) override;
0032 
0033   MonitorElement* reportSummary;
0034   MonitorElement* CertificationSummary;
0035   MonitorElement* reportSummaryMap;
0036   MonitorElement* CertificationSummaryMap;
0037 
0038   // ----------member data ---------------------------
0039 
0040   edm::ParameterSet conf_;
0041   int verbose_;
0042   bool InMemory_;
0043   bool isData;
0044   std::string metFolder;
0045   std::string jetAlgo;
0046 
0047   edm::InputTag inputMETLabelRECO_;
0048   edm::InputTag inputMETLabelRECOUncleaned_;
0049   edm::InputTag inputMETLabelMiniAOD_;
0050   edm::InputTag inputJetLabelRECO_;
0051   edm::InputTag inputJetLabelMiniAOD_;
0052 
0053   int nbinsPV_;
0054   double nPVMin_;
0055   double nPVMax_;
0056 
0057   int etaBin_;
0058   double etaMin_;
0059   double etaMax_;
0060 
0061   int ptBin_;
0062   double ptMin_;
0063   double ptMax_;
0064 
0065   std::string folderName;
0066 
0067   bool caloJetMeanTest;
0068   bool caloJetKSTest;
0069   bool pfJetMeanTest;
0070   bool pfJetKSTest;
0071   bool jptJetMeanTest;
0072   bool jptJetKSTest;
0073   bool caloMETMeanTest;
0074   bool caloMETKSTest;
0075   bool pfMETMeanTest;
0076   bool pfMETKSTest;
0077   bool tcMETMeanTest;
0078   bool tcMETKSTest;
0079 
0080   bool jetTests[5][2];  //one for each type of jet certification/test type
0081   bool metTests[5][2];  //one for each type of met certification/test type
0082 
0083   bool isHI;
0084 
0085   //MET: filter efficiencies, started from uncleaned directories
0086   MonitorElement* mMET_EffHBHENoiseFilter;
0087   MonitorElement* mMET_EffCSCTightHaloFilter;
0088   MonitorElement* mMET_EffeeBadScFilter;
0089   MonitorElement* mMET_EffEcalDeadCellTriggerFilter;
0090   MonitorElement* mMET_EffEcalDeadCellBoundaryFilter;
0091   MonitorElement* mMET_EffHBHEIsoNoiseFilter;
0092   MonitorElement* mMET_EffCSCTightHalo2015Filter;
0093   MonitorElement* mMET_EffHcalStripHaloFilter;
0094 
0095   //MET: RECO vs MiniAOD histos
0096   MonitorElement* mMET_MiniAOD_over_Reco;
0097   MonitorElement* mMEy_MiniAOD_over_Reco;
0098   MonitorElement* mSumET_MiniAOD_over_Reco;
0099   MonitorElement* mMETPhi_MiniAOD_over_Reco;
0100   MonitorElement* mMET_logx_MiniAOD_over_Reco;
0101   MonitorElement* mSumET_logx_MiniAOD_over_Reco;
0102   MonitorElement* mChargedHadronEtFraction_MiniAOD_over_Reco;
0103   MonitorElement* mNeutralHadronEtFraction_MiniAOD_over_Reco;
0104   MonitorElement* mPhotonEtFraction_MiniAOD_over_Reco;
0105   MonitorElement* mHFHadronEtFraction_MiniAOD_over_Reco;
0106   MonitorElement* mHFEMEtFraction_MiniAOD_over_Reco;
0107   MonitorElement* mMET_nVtx_profile_MiniAOD_over_Reco;
0108   MonitorElement* mSumET_nVtx_profile_MiniAOD_over_Reco;
0109   MonitorElement* mChargedHadronEtFraction_nVtx_profile_MiniAOD_over_Reco;
0110   MonitorElement* mNeutralHadronEtFraction_nVtx_profile_MiniAOD_over_Reco;
0111   MonitorElement* mPhotonEtFraction_nVtx_profile_MiniAOD_over_Reco;
0112 
0113   //Jets: RECO vs MiniAOD histos
0114   MonitorElement* mPt_MiniAOD_over_Reco;
0115   MonitorElement* mEta_MiniAOD_over_Reco;
0116   MonitorElement* mPhi_MiniAOD_over_Reco;
0117   MonitorElement* mNjets_MiniAOD_over_Reco;
0118   MonitorElement* mPt_uncor_MiniAOD_over_Reco;
0119   MonitorElement* mEta_uncor_MiniAOD_over_Reco;
0120   MonitorElement* mPhi_uncor_MiniAOD_over_Reco;
0121   MonitorElement* mJetEnergyCorr_MiniAOD_over_Reco;
0122   MonitorElement* mJetEnergyCorrVSeta_MiniAOD_over_Reco;
0123   MonitorElement* mDPhi_MiniAOD_over_Reco;
0124   MonitorElement* mLooseJIDPassFractionVSeta_MiniAOD_over_Reco;
0125   MonitorElement* mPt_Barrel_MiniAOD_over_Reco;
0126   MonitorElement* mPt_EndCap_MiniAOD_over_Reco;
0127   MonitorElement* mPt_Forward_MiniAOD_over_Reco;
0128   MonitorElement* mMVAPUJIDDiscriminant_lowPt_Barrel_MiniAOD_over_Reco;
0129   MonitorElement* mMVAPUJIDDiscriminant_lowPt_EndCap_MiniAOD_over_Reco;
0130   MonitorElement* mMVAPUJIDDiscriminant_lowPt_Forward_MiniAOD_over_Reco;
0131   MonitorElement* mMVAPUJIDDiscriminant_mediumPt_EndCap_MiniAOD_over_Reco;
0132   MonitorElement* mMVAPUJIDDiscriminant_highPt_Barrel_MiniAOD_over_Reco;
0133   MonitorElement* mCHFracVSpT_Barrel_MiniAOD_over_Reco;
0134   MonitorElement* mNHFracVSpT_EndCap_MiniAOD_over_Reco;
0135   MonitorElement* mPhFracVSpT_Barrel_MiniAOD_over_Reco;
0136   MonitorElement* mHFHFracVSpT_Forward_MiniAOD_over_Reco;
0137   MonitorElement* mHFEFracVSpT_Forward_MiniAOD_over_Reco;
0138   MonitorElement* mCHFrac_MiniAOD_over_Reco;
0139   MonitorElement* mNHFrac_MiniAOD_over_Reco;
0140   MonitorElement* mPhFrac_MiniAOD_over_Reco;
0141   MonitorElement* mChargedMultiplicity_MiniAOD_over_Reco;
0142   MonitorElement* mNeutralMultiplicity_MiniAOD_over_Reco;
0143   MonitorElement* mMuonMultiplicity_MiniAOD_over_Reco;
0144   MonitorElement* mNeutralFraction_MiniAOD_over_Reco;
0145 };
0146 
0147 #endif