Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-04-29 23:10:23

0001 #ifndef JetAnalyzer_H
0002 #define JetAnalyzer_H
0003 
0004 /** \class JetMETAnalyzer
0005  *
0006  *  DQM jetMET analysis monitoring
0007  *
0008  *  \author F. Chlebana - Fermilab
0009  *          K. Hatakeyama - Rockefeller University
0010  *
0011  *          Jan. '14: modified by
0012  *
0013  *          M. Artur Weber
0014  *          R. Schoefbeck
0015  *          V. Sordini
0016  */
0017 
0018 #include <memory>
0019 #include <fstream>
0020 #include "FWCore/Framework/interface/Frameworkfwd.h"
0021 #include "FWCore/Framework/interface/Event.h"
0022 #include "FWCore/Framework/interface/MakerMacros.h"
0023 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0024 #include "DQMServices/Core/interface/DQMStore.h"
0025 
0026 #include "DataFormats/Common/interface/TriggerResults.h"
0027 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
0028 #include "DataFormats/HLTReco/interface/TriggerObject.h"
0029 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
0030 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
0031 #include "CommonTools/TriggerUtils/interface/GenericTriggerEventFlag.h"
0032 #include "FWCore/Utilities/interface/EDGetToken.h"
0033 
0034 #include "DataFormats/JetReco/interface/Jet.h"
0035 #include "DataFormats/JetReco/interface/CaloJet.h"
0036 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0037 #include "DataFormats/JetReco/interface/GenJet.h"
0038 #include "DataFormats/JetReco/interface/GenJetCollection.h"
0039 #include "DataFormats/JetReco/interface/JPTJet.h"
0040 #include "DataFormats/JetReco/interface/JPTJetCollection.h"
0041 #include "DataFormats/JetReco/interface/PFJet.h"
0042 #include "JetMETCorrections/JetCorrector/interface/JetCorrector.h"
0043 #include "RecoJets/JetProducers/interface/JetIDHelper.h"
0044 #include "DataFormats/MuonReco/interface/Muon.h"
0045 
0046 #include "DataFormats/METReco/interface/MET.h"
0047 #include "DataFormats/METReco/interface/METFwd.h"
0048 #include "DataFormats/METReco/interface/PFMET.h"
0049 #include "DataFormats/METReco/interface/PFMETCollection.h"
0050 #include "DataFormats/METReco/interface/CaloMETCollection.h"
0051 #include "DataFormats/METReco/interface/METCollection.h"
0052 #include "DataFormats/PatCandidates/interface/MET.h"
0053 
0054 #include "DQMOffline/JetMET/interface/JetMETDQMDCSFilter.h"
0055 
0056 #include "DataFormats/BTauReco/interface/CATopJetTagInfo.h"
0057 
0058 #include "DataFormats/VertexReco/interface/Vertex.h"
0059 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0060 
0061 #include "DataFormats/Scalers/interface/DcsStatus.h"
0062 #include "PhysicsTools/SelectorUtils/interface/JetIDSelectionFunctor.h"
0063 #include "PhysicsTools/SelectorUtils/interface/PFJetIDSelectionFunctor.h"
0064 #include "DataFormats/JetReco/interface/PileupJetIdentifier.h"
0065 
0066 #include "CondFormats/L1TObjects/interface/L1GtTriggerMenuFwd.h"
0067 #include "CondFormats/L1TObjects/interface/L1GtTriggerMenu.h"
0068 #include "CondFormats/DataRecord/interface/L1GtTriggerMenuRcd.h"
0069 
0070 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0071 #include <map>
0072 #include <string>
0073 
0074 //namespace jetAnalysis {
0075 //class TrackPropagatorToCalo;
0076 //class StripSignalOverNoiseCalculator;
0077 //}
0078 
0079 class JetAnalyzer : public DQMEDAnalyzer {
0080 public:
0081   /// Constructor
0082   JetAnalyzer(const edm::ParameterSet&);
0083 
0084   /// Destructor
0085   ~JetAnalyzer() override;
0086 
0087   /// Inizialize parameters for histo binning
0088   //  void beginJob(void);
0089   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0090   /// Get the analysis
0091   void analyze(const edm::Event&, const edm::EventSetup&) override;
0092 
0093   /// Initialize run-based parameters
0094   void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
0095 
0096 private:
0097   // ----------member data ---------------------------
0098   static bool jetSortingRule(reco::Jet x, reco::Jet y) { return x.pt() > y.pt(); }
0099 
0100   //try to put one collection as start
0101   edm::InputTag mInputCollection_;
0102   edm::InputTag theTriggerResultsLabel_;
0103 
0104   std::string jetType_;
0105 
0106   edm::EDGetTokenT<edm::TriggerResults> triggerResultsToken_;
0107   edm::EDGetTokenT<std::vector<reco::Vertex>> vertexToken_;
0108   edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> gtToken_;
0109   edm::EDGetTokenT<reco::CaloJetCollection> caloJetsToken_;
0110   edm::EDGetTokenT<reco::PFJetCollection> pfJetsToken_;
0111 
0112   edm::EDGetTokenT<reco::PFMETCollection> pfMetToken_;
0113   edm::EDGetTokenT<reco::CaloMETCollection> caloMetToken_;
0114   edm::EDGetTokenT<pat::METCollection> patMetToken_;
0115 
0116   edm::EDGetTokenT<reco::MuonCollection> MuonsToken_;
0117   edm::EDGetTokenT<pat::JetCollection> patJetsToken_;
0118   edm::EDGetTokenT<edm::ValueMap<float>> mvaFullPUDiscriminantToken_;
0119   edm::EDGetTokenT<edm::ValueMap<float>> cutBasedPUDiscriminantToken_;
0120   edm::EDGetTokenT<edm::ValueMap<int>> cutBasedPUIDToken_;
0121   edm::EDGetTokenT<edm::ValueMap<int>> mvaPUIDToken_;
0122 
0123   edm::EDGetTokenT<edm::ValueMap<int>> qgMultiplicityToken_;
0124   edm::EDGetTokenT<edm::ValueMap<float>> qgLikelihoodToken_;
0125   edm::EDGetTokenT<edm::ValueMap<float>> qgptDToken_;
0126   edm::EDGetTokenT<edm::ValueMap<float>> qgaxis2Token_;
0127 
0128   //edm::EDGetTokenT<reco::JPTJetCollection>        jptJetsToken_;
0129 
0130   edm::InputTag inputJetIDValueMap;
0131   edm::EDGetTokenT<edm::ValueMap<reco::JetID>> jetID_ValueMapToken_;
0132   edm::ESGetToken<L1GtTriggerMenu, L1GtTriggerMenuRcd> l1gtTrigMenuToken_;
0133 
0134   //Cleaning parameters
0135   edm::ParameterSet cleaningParameters_;
0136   edm::InputTag vertexLabel_;
0137   edm::InputTag gtLabel_;
0138 
0139   //check later if we need only one set of parameters
0140   edm::ParameterSet parameters_;
0141 
0142   edm::InputTag jetCorrectorTag_;
0143   edm::EDGetTokenT<reco::JetCorrector> jetCorrectorToken_;
0144 
0145   std::string JetIDQuality_;
0146   std::string JetIDVersion_;
0147   JetIDSelectionFunctor::Quality_t jetidquality;
0148   JetIDSelectionFunctor::Version_t jetidversion;
0149   JetIDSelectionFunctor jetIDFunctor;
0150 
0151   PFJetIDSelectionFunctor::Quality_t pfjetidquality;
0152   PFJetIDSelectionFunctor::Version_t pfjetidversion;
0153 
0154   PFJetIDSelectionFunctor pfjetIDFunctor;
0155 
0156   std::vector<std::string> folderNames_;
0157 
0158   std::string DirName;
0159 
0160   // Book MonitorElements
0161   void bookMESetSelection(std::string, DQMStore::IBooker&);
0162   //void bookMonitorElement(std::string, bool);
0163 
0164   int verbose_;
0165   //histo binning parameters -> these are PART of ALL analyzers - move it up
0166   int etaBin_;
0167   double etaMin_;
0168   double etaMax_;
0169 
0170   int phiBin_;
0171   double phiMin_;
0172   double phiMax_;
0173 
0174   int ptBin_;
0175   double ptMin_;
0176   double ptMax_;
0177 
0178   int eBin_;
0179   double eMin_;
0180   double eMax_;
0181 
0182   int pBin_;
0183   double pMin_;
0184   double pMax_;
0185 
0186   int nbinsPV_;
0187   double nPVlow_;
0188   double nPVhigh_;
0189 
0190   //variables which are present both in
0191   int jetLoPass_;
0192   int jetHiPass_;
0193   int leadJetFlag_;
0194   double ptThreshold_;
0195   double ptThresholdUnc_;
0196   double asymmetryThirdJetCut_;
0197   double balanceThirdJetCut_;
0198 
0199   //
0200   int fillJIDPassFrac_;
0201   std::string m_l1algoname_;
0202   int m_bitAlgTechTrig_;
0203 
0204   //the histos
0205   MonitorElement* jetME;
0206 
0207   // --- Used for Data Certification - use for Calo, PF and JPT jets
0208   MonitorElement* mPt;
0209   MonitorElement* mPt_1;
0210   MonitorElement* mPt_2;
0211   MonitorElement* mPt_3;
0212   MonitorElement* mEta;
0213   MonitorElement* mPhi;
0214   MonitorElement* mPt_uncor;
0215   MonitorElement* mEta_uncor;
0216   MonitorElement* mPhi_uncor;
0217   MonitorElement* mConstituents_uncor;
0218 
0219   MonitorElement* mJetEnergyCorr;
0220   MonitorElement* mJetEnergyCorrVSEta;
0221   MonitorElement* mJetEnergyCorrVSPt;
0222 
0223   MonitorElement* mConstituents;
0224   MonitorElement* mHFrac;
0225   MonitorElement* mEFrac;
0226   MonitorElement* mPhiVSEta;
0227 
0228   MonitorElement* mPt_Barrel;
0229   MonitorElement* mPhi_Barrel;
0230   MonitorElement* mConstituents_Barrel;
0231   MonitorElement* mHFrac_Barrel;
0232   MonitorElement* mEFrac_Barrel;
0233 
0234   MonitorElement* mPt_EndCap;
0235   MonitorElement* mPhi_EndCap;
0236   MonitorElement* mConstituents_EndCap;
0237   MonitorElement* mHFrac_EndCap;
0238   MonitorElement* mEFrac_EndCap;
0239 
0240   MonitorElement* mPt_Forward;
0241   MonitorElement* mPhi_Forward;
0242   MonitorElement* mConstituents_Forward;
0243   MonitorElement* mHFrac_Forward;
0244   MonitorElement* mEFrac_Forward;
0245 
0246   MonitorElement* mPt_Barrel_Hi;
0247   MonitorElement* mPhi_Barrel_Hi;
0248   MonitorElement* mConstituents_Barrel_Hi;
0249   MonitorElement* mHFrac_Barrel_Hi;
0250 
0251   MonitorElement* mPt_EndCap_Hi;
0252   MonitorElement* mPhi_EndCap_Hi;
0253   MonitorElement* mConstituents_EndCap_Hi;
0254   MonitorElement* mHFrac_EndCap_Hi;
0255 
0256   MonitorElement* mPt_Forward_Hi;
0257   MonitorElement* mPhi_Forward_Hi;
0258   MonitorElement* mConstituents_Forward_Hi;
0259   MonitorElement* mHFrac_Forward_Hi;
0260 
0261   MonitorElement* mNJets;
0262   MonitorElement* mDPhi;
0263 
0264   // Leading Jet Parameters
0265   MonitorElement* mEtaFirst;
0266   MonitorElement* mPhiFirst;
0267   MonitorElement* mPtFirst;
0268 
0269   // Events passing the jet triggers
0270   MonitorElement* mPhi_Lo;
0271   MonitorElement* mPt_Lo;
0272 
0273   MonitorElement* mEta_Hi;
0274   MonitorElement* mPhi_Hi;
0275   MonitorElement* mPt_Hi;
0276 
0277   MonitorElement* mLooseJIDPassFractionVSeta;
0278   MonitorElement* mLooseJIDPassFractionVSpt;
0279   MonitorElement* mLooseJIDPassFractionVSptNoHF;
0280 
0281   MonitorElement* mLooseMVAPUJIDPassFractionVSeta;
0282   MonitorElement* mLooseMVAPUJIDPassFractionVSpt;
0283   MonitorElement* mMediumMVAPUJIDPassFractionVSeta;
0284   MonitorElement* mMediumMVAPUJIDPassFractionVSpt;
0285   MonitorElement* mTightMVAPUJIDPassFractionVSeta;
0286   MonitorElement* mTightMVAPUJIDPassFractionVSpt;
0287   MonitorElement* mMVAPUJIDDiscriminant_lowPt_Barrel;
0288   MonitorElement* mMVAPUJIDDiscriminant_lowPt_EndCap;
0289   MonitorElement* mMVAPUJIDDiscriminant_lowPt_Forward;
0290   MonitorElement* mMVAPUJIDDiscriminant_mediumPt_Barrel;
0291   MonitorElement* mMVAPUJIDDiscriminant_mediumPt_EndCap;
0292   MonitorElement* mMVAPUJIDDiscriminant_mediumPt_Forward;
0293   MonitorElement* mMVAPUJIDDiscriminant_highPt_Barrel;
0294   MonitorElement* mMVAPUJIDDiscriminant_highPt_EndCap;
0295   MonitorElement* mMVAPUJIDDiscriminant_highPt_Forward;
0296 
0297   MonitorElement* mLooseCutPUJIDPassFractionVSeta;
0298   MonitorElement* mLooseCutPUJIDPassFractionVSpt;
0299   MonitorElement* mMediumCutPUJIDPassFractionVSeta;
0300   MonitorElement* mMediumCutPUJIDPassFractionVSpt;
0301   MonitorElement* mTightCutPUJIDPassFractionVSeta;
0302   MonitorElement* mTightCutPUJIDPassFractionVSpt;
0303   MonitorElement* mCutPUJIDDiscriminant_lowPt_Barrel;
0304   MonitorElement* mCutPUJIDDiscriminant_lowPt_EndCap;
0305   MonitorElement* mCutPUJIDDiscriminant_lowPt_Forward;
0306   MonitorElement* mCutPUJIDDiscriminant_mediumPt_Barrel;
0307   MonitorElement* mCutPUJIDDiscriminant_mediumPt_EndCap;
0308   MonitorElement* mCutPUJIDDiscriminant_mediumPt_Forward;
0309   MonitorElement* mCutPUJIDDiscriminant_highPt_Barrel;
0310   MonitorElement* mCutPUJIDDiscriminant_highPt_EndCap;
0311   MonitorElement* mCutPUJIDDiscriminant_highPt_Forward;
0312 
0313   //dijet analysis quantities
0314   MonitorElement* mDijetBalance;
0315   MonitorElement* mDijetAsymmetry;
0316 
0317   // NPV profiles
0318   //----------------------------------------------------------------------------
0319   MonitorElement* mNJets_profile;
0320   MonitorElement* mPt_profile;
0321   MonitorElement* mEta_profile;
0322   MonitorElement* mPhi_profile;
0323   MonitorElement* mConstituents_profile;
0324   MonitorElement* mHFrac_profile;
0325   MonitorElement* mEFrac_profile;
0326 
0327   bool hltInitialized_;
0328   bool bypassAllPVChecks_;
0329 
0330   HLTConfigProvider hltConfig_;
0331   std::string processname_;
0332 
0333   //MonitorElement* hltpathME;
0334   MonitorElement* cleanupME;
0335   MonitorElement* verticesME;
0336 
0337   GenericTriggerEventFlag* highPtJetEventFlag_;
0338   GenericTriggerEventFlag* lowPtJetEventFlag_;
0339 
0340   std::vector<std::string> highPtJetExpr_;
0341   std::vector<std::string> lowPtJetExpr_;
0342 
0343   bool jetCleaningFlag_;
0344   bool filljetsubstruc_;
0345   double pt_min_boosted_;
0346 
0347   bool runcosmics_;
0348 
0349   //  bool energycorrected;
0350 
0351   // CaloJet specific
0352   MonitorElement* mMaxEInEmTowers;
0353   MonitorElement* mMaxEInHadTowers;
0354   MonitorElement* mHadEnergyInHO;
0355   MonitorElement* mHadEnergyInHB;
0356   MonitorElement* mHadEnergyInHF;
0357   MonitorElement* mHadEnergyInHE;
0358   MonitorElement* mEmEnergyInEB;
0359   MonitorElement* mEmEnergyInEE;
0360   MonitorElement* mEmEnergyInHF;
0361   MonitorElement* mN90Hits;
0362   MonitorElement* mfHPD;
0363   MonitorElement* mfRBX;
0364   MonitorElement* mresEMF;
0365   MonitorElement* mEMF;
0366 
0367   //now define PFJet only flags
0368   MonitorElement* mCHFrac_lowPt_Barrel;
0369   MonitorElement* mNHFrac_lowPt_Barrel;
0370   MonitorElement* mPhFrac_lowPt_Barrel;
0371   MonitorElement* mCHFrac_mediumPt_Barrel;
0372   MonitorElement* mNHFrac_mediumPt_Barrel;
0373   MonitorElement* mPhFrac_mediumPt_Barrel;
0374   MonitorElement* mCHFrac_highPt_Barrel;
0375   MonitorElement* mNHFrac_highPt_Barrel;
0376   MonitorElement* mPhFrac_highPt_Barrel;
0377   MonitorElement* mCHEn_lowPt_Barrel;
0378   MonitorElement* mNHEn_lowPt_Barrel;
0379   MonitorElement* mPhEn_lowPt_Barrel;
0380   MonitorElement* mElEn_lowPt_Barrel;
0381   MonitorElement* mMuEn_lowPt_Barrel;
0382   MonitorElement* mCHEn_mediumPt_Barrel;
0383   MonitorElement* mNHEn_mediumPt_Barrel;
0384   MonitorElement* mPhEn_mediumPt_Barrel;
0385   MonitorElement* mElEn_mediumPt_Barrel;
0386   MonitorElement* mMuEn_mediumPt_Barrel;
0387   MonitorElement* mCHEn_highPt_Barrel;
0388   MonitorElement* mNHEn_highPt_Barrel;
0389   MonitorElement* mPhEn_highPt_Barrel;
0390   MonitorElement* mElEn_highPt_Barrel;
0391   MonitorElement* mMuEn_highPt_Barrel;
0392   MonitorElement* mChMultiplicity_lowPt_Barrel;
0393   MonitorElement* mNeutMultiplicity_lowPt_Barrel;
0394   MonitorElement* mMuMultiplicity_lowPt_Barrel;
0395   MonitorElement* mChMultiplicity_mediumPt_Barrel;
0396   MonitorElement* mNeutMultiplicity_mediumPt_Barrel;
0397   MonitorElement* mMuMultiplicity_mediumPt_Barrel;
0398   MonitorElement* mChMultiplicity_highPt_Barrel;
0399   MonitorElement* mNeutMultiplicity_highPt_Barrel;
0400   MonitorElement* mMuMultiplicity_highPt_Barrel;
0401 
0402   MonitorElement* mCHFracVSpT_Barrel;
0403   MonitorElement* mNHFracVSpT_Barrel;
0404   MonitorElement* mPhFracVSpT_Barrel;
0405   MonitorElement* mCHFracVSpT_EndCap;
0406   MonitorElement* mNHFracVSpT_EndCap;
0407   MonitorElement* mPhFracVSpT_EndCap;
0408   MonitorElement* mHFHFracVSpT_Forward;
0409   MonitorElement* mHFEFracVSpT_Forward;
0410 
0411   MonitorElement* mCHFracVSeta_lowPt;
0412   MonitorElement* mNHFracVSeta_lowPt;
0413   MonitorElement* mPhFracVSeta_lowPt;
0414   MonitorElement* mCHFracVSeta_mediumPt;
0415   MonitorElement* mNHFracVSeta_mediumPt;
0416   MonitorElement* mPhFracVSeta_mediumPt;
0417   MonitorElement* mCHFracVSeta_highPt;
0418   MonitorElement* mNHFracVSeta_highPt;
0419   MonitorElement* mPhFracVSeta_highPt;
0420 
0421   MonitorElement* mCHFrac_lowPt_EndCap;
0422   MonitorElement* mNHFrac_lowPt_EndCap;
0423   MonitorElement* mPhFrac_lowPt_EndCap;
0424   MonitorElement* mCHFrac_mediumPt_EndCap;
0425   MonitorElement* mNHFrac_mediumPt_EndCap;
0426   MonitorElement* mPhFrac_mediumPt_EndCap;
0427   MonitorElement* mCHFrac_highPt_EndCap;
0428   MonitorElement* mNHFrac_highPt_EndCap;
0429   MonitorElement* mPhFrac_highPt_EndCap;
0430 
0431   MonitorElement* mCHEn_lowPt_EndCap;
0432   MonitorElement* mNHEn_lowPt_EndCap;
0433   MonitorElement* mPhEn_lowPt_EndCap;
0434   MonitorElement* mElEn_lowPt_EndCap;
0435   MonitorElement* mMuEn_lowPt_EndCap;
0436   MonitorElement* mCHEn_mediumPt_EndCap;
0437   MonitorElement* mNHEn_mediumPt_EndCap;
0438   MonitorElement* mPhEn_mediumPt_EndCap;
0439   MonitorElement* mElEn_mediumPt_EndCap;
0440   MonitorElement* mMuEn_mediumPt_EndCap;
0441   MonitorElement* mCHEn_highPt_EndCap;
0442   MonitorElement* mNHEn_highPt_EndCap;
0443   MonitorElement* mPhEn_highPt_EndCap;
0444   MonitorElement* mElEn_highPt_EndCap;
0445   MonitorElement* mMuEn_highPt_EndCap;
0446   MonitorElement* mMass_lowPt_Barrel;
0447   MonitorElement* mMass_lowPt_EndCap;
0448   MonitorElement* mMass_lowPt_Forward;
0449   MonitorElement* mMass_mediumPt_Barrel;
0450   MonitorElement* mMass_mediumPt_EndCap;
0451   MonitorElement* mMass_mediumPt_Forward;
0452   MonitorElement* mMass_highPt_Barrel;
0453   MonitorElement* mMass_highPt_EndCap;
0454   MonitorElement* mMass_highPt_Forward;
0455 
0456   MonitorElement* mChMultiplicity_lowPt_EndCap;
0457   MonitorElement* mNeutMultiplicity_lowPt_EndCap;
0458   MonitorElement* mMuMultiplicity_lowPt_EndCap;
0459   MonitorElement* mChMultiplicity_mediumPt_EndCap;
0460   MonitorElement* mNeutMultiplicity_mediumPt_EndCap;
0461   MonitorElement* mMuMultiplicity_mediumPt_EndCap;
0462   MonitorElement* mChMultiplicity_highPt_EndCap;
0463   MonitorElement* mNeutMultiplicity_highPt_EndCap;
0464   MonitorElement* mMuMultiplicity_highPt_EndCap;
0465 
0466   MonitorElement* mHFEFrac_lowPt_Forward;
0467   MonitorElement* mHFHFrac_lowPt_Forward;
0468   MonitorElement* mHFEFrac_mediumPt_Forward;
0469   MonitorElement* mHFHFrac_mediumPt_Forward;
0470   MonitorElement* mHFEFrac_highPt_Forward;
0471   MonitorElement* mHFHFrac_highPt_Forward;
0472   MonitorElement* mHFEEn_lowPt_Forward;
0473   MonitorElement* mHFHEn_lowPt_Forward;
0474   MonitorElement* mHFEEn_mediumPt_Forward;
0475   MonitorElement* mHFHEn_mediumPt_Forward;
0476   MonitorElement* mHFEEn_highPt_Forward;
0477   MonitorElement* mHFHEn_highPt_Forward;
0478   MonitorElement* mNeutMultiplicity_lowPt_Forward;
0479   MonitorElement* mNeutMultiplicity_mediumPt_Forward;
0480   MonitorElement* mNeutMultiplicity_highPt_Forward;
0481 
0482   MonitorElement* mChargedHadronEnergy;
0483   MonitorElement* mNeutralHadronEnergy;
0484   MonitorElement* mChargedEmEnergy;
0485   MonitorElement* mChargedMuEnergy;
0486   MonitorElement* mNeutralEmEnergy;
0487   MonitorElement* mChargedMultiplicity;
0488   MonitorElement* mNeutralMultiplicity;
0489   MonitorElement* mMuonMultiplicity;
0490 
0491   //it is there for ak4PFCHS
0492   MonitorElement* mAxis2_lowPt_Barrel;
0493   MonitorElement* mpTD_lowPt_Barrel;
0494   MonitorElement* mMultiplicityQG_lowPt_Barrel;
0495   MonitorElement* mqgLikelihood_lowPt_Barrel;
0496   MonitorElement* mAxis2_mediumPt_Barrel;
0497   MonitorElement* mpTD_mediumPt_Barrel;
0498   MonitorElement* mMultiplicityQG_mediumPt_Barrel;
0499   MonitorElement* mqgLikelihood_mediumPt_Barrel;
0500   MonitorElement* mAxis2_highPt_Barrel;
0501   MonitorElement* mpTD_highPt_Barrel;
0502   MonitorElement* mMultiplicityQG_highPt_Barrel;
0503   MonitorElement* mqgLikelihood_highPt_Barrel;
0504 
0505   MonitorElement* mAxis2_lowPt_EndCap;
0506   MonitorElement* mpTD_lowPt_EndCap;
0507   MonitorElement* mMultiplicityQG_lowPt_EndCap;
0508   MonitorElement* mqgLikelihood_lowPt_EndCap;
0509   MonitorElement* mAxis2_mediumPt_EndCap;
0510   MonitorElement* mpTD_mediumPt_EndCap;
0511   MonitorElement* mMultiplicityQG_mediumPt_EndCap;
0512   MonitorElement* mqgLikelihood_mediumPt_EndCap;
0513   MonitorElement* mAxis2_highPt_EndCap;
0514   MonitorElement* mpTD_highPt_EndCap;
0515   MonitorElement* mMultiplicityQG_highPt_EndCap;
0516   MonitorElement* mqgLikelihood_highPt_EndCap;
0517 
0518   MonitorElement* mAxis2_lowPt_Forward;
0519   MonitorElement* mpTD_lowPt_Forward;
0520   MonitorElement* mMultiplicityQG_lowPt_Forward;
0521   MonitorElement* mqgLikelihood_lowPt_Forward;
0522   MonitorElement* mAxis2_mediumPt_Forward;
0523   MonitorElement* mpTD_mediumPt_Forward;
0524   MonitorElement* mMultiplicityQG_mediumPt_Forward;
0525   MonitorElement* mqgLikelihood_mediumPt_Forward;
0526   MonitorElement* mAxis2_highPt_Forward;
0527   MonitorElement* mpTD_highPt_Forward;
0528   MonitorElement* mMultiplicityQG_highPt_Forward;
0529   MonitorElement* mqgLikelihood_highPt_Forward;
0530 
0531   //new Plots with Res./ Eff. as function of neutral, charged &  em fraction
0532 
0533   MonitorElement* mNeutralFraction;
0534   MonitorElement* mNeutralFraction2;
0535 
0536   MonitorElement* mEEffNeutralFraction;
0537   MonitorElement* mEEffChargedFraction;
0538   MonitorElement* mEResNeutralFraction;
0539   MonitorElement* mEResChargedFraction;
0540   MonitorElement* nEEff;
0541   //PF specific NPV profiles
0542   MonitorElement* mChargedHadronEnergy_profile;
0543   MonitorElement* mNeutralHadronEnergy_profile;
0544   MonitorElement* mChargedEmEnergy_profile;
0545   MonitorElement* mChargedMuEnergy_profile;
0546   MonitorElement* mNeutralEmEnergy_profile;
0547   MonitorElement* mChargedMultiplicity_profile;
0548   MonitorElement* mNeutralMultiplicity_profile;
0549   MonitorElement* mMuonMultiplicity_profile;
0550 
0551   //Monitor Elements for special selections
0552   //for special selections
0553   MonitorElement* mCHFrac;
0554   MonitorElement* mNHFrac;
0555   MonitorElement* mPhFrac;
0556   MonitorElement* mHFEMFrac;
0557   MonitorElement* mHFHFrac;
0558   MonitorElement* mCHFrac_profile;
0559   MonitorElement* mNHFrac_profile;
0560   MonitorElement* mPhFrac_profile;
0561   MonitorElement* mHFEMFrac_profile;
0562   MonitorElement* mHFHFrac_profile;
0563 
0564   JetMETDQMDCSFilter* DCSFilterForJetMonitoring_;
0565   JetMETDQMDCSFilter* DCSFilterForDCSMonitoring_;
0566   /*
0567   MonitorElement* mePhFracBarrel_BXm2BXm1Empty;
0568   MonitorElement* meNHFracBarrel_BXm2BXm1Empty;
0569   MonitorElement* meCHFracBarrel_BXm2BXm1Empty;
0570   MonitorElement* mePtBarrel_BXm2BXm1Empty;
0571   MonitorElement* mePhFracEndCapMinus_BXm2BXm1Empty;
0572   MonitorElement* meNHFracEndCapMinus_BXm2BXm1Empty;
0573   MonitorElement* meCHFracEndCapMinus_BXm2BXm1Empty;
0574   MonitorElement* mePtEndCapMinus_BXm2BXm1Empty;
0575   MonitorElement* mePhFracEndCapPlus_BXm2BXm1Empty;
0576   MonitorElement* meNHFracEndCapPlus_BXm2BXm1Empty;
0577   MonitorElement* meCHFracEndCapPlus_BXm2BXm1Empty;
0578   MonitorElement* mePtEndCapPlus_BXm2BXm1Empty;
0579   MonitorElement* meHFHFracMinus_BXm2BXm1Empty;
0580   MonitorElement* meHFEMFracMinus_BXm2BXm1Empty;
0581   MonitorElement* mePtForwardMinus_BXm2BXm1Empty;
0582   MonitorElement* meHFHFracPlus_BXm2BXm1Empty;
0583   MonitorElement* meHFEMFracPlus_BXm2BXm1Empty;
0584   MonitorElement* mePtForwardPlus_BXm2BXm1Empty;
0585   MonitorElement* meEta_BXm2BXm1Empty;
0586   */
0587   MonitorElement* mePhFracBarrel_BXm1Empty;
0588   MonitorElement* meNHFracBarrel_BXm1Empty;
0589   MonitorElement* meCHFracBarrel_BXm1Empty;
0590   MonitorElement* mePtBarrel_BXm1Empty;
0591   MonitorElement* mePhFracEndCapMinus_BXm1Empty;
0592   MonitorElement* meNHFracEndCapMinus_BXm1Empty;
0593   MonitorElement* meCHFracEndCapMinus_BXm1Empty;
0594   MonitorElement* mePtEndCapMinus_BXm1Empty;
0595   MonitorElement* mePhFracEndCapPlus_BXm1Empty;
0596   MonitorElement* meNHFracEndCapPlus_BXm1Empty;
0597   MonitorElement* meCHFracEndCapPlus_BXm1Empty;
0598   MonitorElement* mePtEndCapPlus_BXm1Empty;
0599   MonitorElement* meHFHFracMinus_BXm1Empty;
0600   MonitorElement* meHFEMFracMinus_BXm1Empty;
0601   MonitorElement* mePtForwardMinus_BXm1Empty;
0602   MonitorElement* meHFHFracPlus_BXm1Empty;
0603   MonitorElement* meHFEMFracPlus_BXm1Empty;
0604   MonitorElement* mePtForwardPlus_BXm1Empty;
0605   MonitorElement* meEta_BXm1Empty;
0606   /*
0607   MonitorElement* mePhFracBarrel_BXm2BXm1Filled;
0608   MonitorElement* meNHFracBarrel_BXm2BXm1Filled;
0609   MonitorElement* meCHFracBarrel_BXm2BXm1Filled;
0610   MonitorElement* mePtBarrel_BXm2BXm1Filled;
0611   MonitorElement* mePhFracEndCapMinus_BXm2BXm1Filled;
0612   MonitorElement* meNHFracEndCapMinus_BXm2BXm1Filled;
0613   MonitorElement* meCHFracEndCapMinus_BXm2BXm1Filled;
0614   MonitorElement* mePtEndCapMinus_BXm2BXm1Filled;
0615   MonitorElement* mePhFracEndCapPlus_BXm2BXm1Filled;
0616   MonitorElement* meNHFracEndCapPlus_BXm2BXm1Filled;
0617   MonitorElement* meCHFracEndCapPlus_BXm2BXm1Filled;
0618   MonitorElement* mePtEndCapPlus_BXm2BXm1Filled;
0619   MonitorElement* meHFHFracMinus_BXm2BXm1Filled;
0620   MonitorElement* meHFEMFracMinus_BXm2BXm1Filled;
0621   MonitorElement* mePtForwardMinus_BXm2BXm1Filled;
0622   MonitorElement* meHFHFracPlus_BXm2BXm1Filled;
0623   MonitorElement* meHFEMFracPlus_BXm2BXm1Filled;
0624   MonitorElement* mePtForwardPlus_BXm2BXm1Filled;
0625   MonitorElement* meEta_BXm2BXm1Filled;
0626   */
0627   MonitorElement* mePhFracBarrel_BXm1Filled;
0628   MonitorElement* meNHFracBarrel_BXm1Filled;
0629   MonitorElement* meCHFracBarrel_BXm1Filled;
0630   MonitorElement* mePtBarrel_BXm1Filled;
0631   MonitorElement* mePhFracEndCapMinus_BXm1Filled;
0632   MonitorElement* meNHFracEndCapMinus_BXm1Filled;
0633   MonitorElement* meCHFracEndCapMinus_BXm1Filled;
0634   MonitorElement* mePtEndCapMinus_BXm1Filled;
0635   MonitorElement* mePhFracEndCapPlus_BXm1Filled;
0636   MonitorElement* meNHFracEndCapPlus_BXm1Filled;
0637   MonitorElement* meCHFracEndCapPlus_BXm1Filled;
0638   MonitorElement* mePtEndCapPlus_BXm1Filled;
0639   MonitorElement* meHFHFracMinus_BXm1Filled;
0640   MonitorElement* meHFEMFracMinus_BXm1Filled;
0641   MonitorElement* mePtForwardMinus_BXm1Filled;
0642   MonitorElement* meHFHFracPlus_BXm1Filled;
0643   MonitorElement* meHFEMFracPlus_BXm1Filled;
0644   MonitorElement* mePtForwardPlus_BXm1Filled;
0645   MonitorElement* meEta_BXm1Filled;
0646 
0647   //miniaod specific variables, especially for substructure
0648   MonitorElement* mSoftDropMass;
0649   MonitorElement* mPrunedMass;
0650   MonitorElement* mTrimmedMass;
0651   MonitorElement* mFilteredMass;
0652   MonitorElement* mtau2_over_tau1;
0653   MonitorElement* mtau3_over_tau2;
0654   MonitorElement* mCATopTag_topMass;
0655   MonitorElement* mCATopTag_minMass;
0656   MonitorElement* mCATopTag_nSubJets;
0657 
0658   MonitorElement* mnSubJetsCMSTopTag;
0659   MonitorElement* mSubJet1_CMSTopTag_pt;
0660   MonitorElement* mSubJet1_CMSTopTag_eta;
0661   MonitorElement* mSubJet1_CMSTopTag_phi;
0662   MonitorElement* mSubJet1_CMSTopTag_mass;
0663   MonitorElement* mSubJet2_CMSTopTag_pt;
0664   MonitorElement* mSubJet2_CMSTopTag_eta;
0665   MonitorElement* mSubJet2_CMSTopTag_phi;
0666   MonitorElement* mSubJet2_CMSTopTag_mass;
0667   MonitorElement* mSubJet3_CMSTopTag_pt;
0668   MonitorElement* mSubJet3_CMSTopTag_eta;
0669   MonitorElement* mSubJet3_CMSTopTag_phi;
0670   MonitorElement* mSubJet3_CMSTopTag_mass;
0671   MonitorElement* mSubJet4_CMSTopTag_pt;
0672   MonitorElement* mSubJet4_CMSTopTag_eta;
0673   MonitorElement* mSubJet4_CMSTopTag_phi;
0674   MonitorElement* mSubJet4_CMSTopTag_mass;
0675 
0676   MonitorElement* mnSubJetsSoftDrop;
0677   MonitorElement* mSubJet1_SoftDrop_pt;
0678   MonitorElement* mSubJet1_SoftDrop_eta;
0679   MonitorElement* mSubJet1_SoftDrop_phi;
0680   MonitorElement* mSubJet1_SoftDrop_mass;
0681   MonitorElement* mSubJet2_SoftDrop_pt;
0682   MonitorElement* mSubJet2_SoftDrop_eta;
0683   MonitorElement* mSubJet2_SoftDrop_phi;
0684   MonitorElement* mSubJet2_SoftDrop_mass;
0685 
0686   //miniaod specific variables, especially for substructure for a boosted regime
0687   MonitorElement* mSoftDropMass_boosted;
0688   MonitorElement* mPrunedMass_boosted;
0689   MonitorElement* mTrimmedMass_boosted;
0690   MonitorElement* mFilteredMass_boosted;
0691   MonitorElement* mtau2_over_tau1_boosted;
0692   MonitorElement* mtau3_over_tau2_boosted;
0693   MonitorElement* mCATopTag_topMass_boosted;
0694   MonitorElement* mCATopTag_minMass_boosted;
0695   MonitorElement* mCATopTag_nSubJets_boosted;
0696 
0697   MonitorElement* mnSubJetsCMSTopTag_boosted;
0698   MonitorElement* mSubJet1_CMSTopTag_pt_boosted;
0699   MonitorElement* mSubJet1_CMSTopTag_eta_boosted;
0700   MonitorElement* mSubJet1_CMSTopTag_phi_boosted;
0701   MonitorElement* mSubJet1_CMSTopTag_mass_boosted;
0702   MonitorElement* mSubJet2_CMSTopTag_pt_boosted;
0703   MonitorElement* mSubJet2_CMSTopTag_eta_boosted;
0704   MonitorElement* mSubJet2_CMSTopTag_phi_boosted;
0705   MonitorElement* mSubJet2_CMSTopTag_mass_boosted;
0706   MonitorElement* mSubJet3_CMSTopTag_pt_boosted;
0707   MonitorElement* mSubJet3_CMSTopTag_eta_boosted;
0708   MonitorElement* mSubJet3_CMSTopTag_phi_boosted;
0709   MonitorElement* mSubJet3_CMSTopTag_mass_boosted;
0710   MonitorElement* mSubJet4_CMSTopTag_pt_boosted;
0711   MonitorElement* mSubJet4_CMSTopTag_eta_boosted;
0712   MonitorElement* mSubJet4_CMSTopTag_phi_boosted;
0713   MonitorElement* mSubJet4_CMSTopTag_mass_boosted;
0714 
0715   MonitorElement* mnSubJetsSoftDrop_boosted;
0716   MonitorElement* mSubJet1_SoftDrop_pt_boosted;
0717   MonitorElement* mSubJet1_SoftDrop_eta_boosted;
0718   MonitorElement* mSubJet1_SoftDrop_phi_boosted;
0719   MonitorElement* mSubJet1_SoftDrop_mass_boosted;
0720   MonitorElement* mSubJet2_SoftDrop_pt_boosted;
0721   MonitorElement* mSubJet2_SoftDrop_eta_boosted;
0722   MonitorElement* mSubJet2_SoftDrop_phi_boosted;
0723   MonitorElement* mSubJet2_SoftDrop_mass_boosted;
0724 
0725   //miniaod only variables
0726   MonitorElement* mPt_CaloJet;
0727   MonitorElement* mEMF_CaloJet;
0728   MonitorElement* mMass_Barrel;
0729   MonitorElement* mMass_EndCap;
0730   MonitorElement* mMass_Forward;
0731 
0732   //now ZJets plots
0733   MonitorElement* mDPhiZJet;
0734   MonitorElement* mZMass;
0735   MonitorElement* mZJetAsymmetry;
0736   MonitorElement* mJetZBalance_lowZPt_J_Barrel;
0737   MonitorElement* mJetZBalance_mediumZPt_J_Barrel;
0738   MonitorElement* mJetZBalance_highZPt_J_Barrel;
0739   MonitorElement* mJetZBalance_lowZPt_J_EndCap;
0740   MonitorElement* mJetZBalance_mediumZPt_J_EndCap;
0741   MonitorElement* mJetZBalance_highZPt_J_EndCap;
0742   MonitorElement* mJetZBalance_lowZPt_J_Forward;
0743   MonitorElement* mJetZBalance_mediumZPt_J_Forward;
0744   MonitorElement* mJetZBalance_highZPt_J_Forward;
0745   MonitorElement* mJ1Pt_over_ZPt_J_Barrel;
0746   MonitorElement* mJ1Pt_over_ZPt_J_EndCap;
0747   MonitorElement* mJ1Pt_over_ZPt_J_Forward;
0748   MonitorElement* mMPF_J_Barrel;
0749   MonitorElement* mMPF_J_EndCap;
0750   MonitorElement* mMPF_J_Forward;
0751   MonitorElement* mJ1Pt_over_ZPt_lowZPt_J_Barrel;
0752   MonitorElement* mJ1Pt_over_ZPt_mediumZPt_J_Barrel;
0753   MonitorElement* mJ1Pt_over_ZPt_highZPt_J_Barrel;
0754   MonitorElement* mJ1Pt_over_ZPt_lowZPt_J_EndCap;
0755   MonitorElement* mJ1Pt_over_ZPt_mediumZPt_J_EndCap;
0756   MonitorElement* mJ1Pt_over_ZPt_highZPt_J_EndCap;
0757   MonitorElement* mJ1Pt_over_ZPt_lowZPt_J_Forward;
0758   MonitorElement* mJ1Pt_over_ZPt_mediumZPt_J_Forward;
0759   MonitorElement* mJ1Pt_over_ZPt_highZPt_J_Forward;
0760   MonitorElement* mMPF_lowZPt_J_Barrel;
0761   MonitorElement* mMPF_mediumZPt_J_Barrel;
0762   MonitorElement* mMPF_highZPt_J_Barrel;
0763   MonitorElement* mMPF_lowZPt_J_EndCap;
0764   MonitorElement* mMPF_mediumZPt_J_EndCap;
0765   MonitorElement* mMPF_highZPt_J_EndCap;
0766   MonitorElement* mMPF_lowZPt_J_Forward;
0767   MonitorElement* mMPF_mediumZPt_J_Forward;
0768   MonitorElement* mMPF_highZPt_J_Forward;
0769   MonitorElement* mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel;
0770   MonitorElement* mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel;
0771   MonitorElement* mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel;
0772   MonitorElement* mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel;
0773   MonitorElement* mDeltaPt_Z_j1_over_ZPt_290_J_Barrel;
0774   MonitorElement* mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap;
0775   MonitorElement* mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap;
0776   MonitorElement* mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap;
0777   MonitorElement* mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap;
0778   MonitorElement* mDeltaPt_Z_j1_over_ZPt_290_J_EndCap;
0779   MonitorElement* mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward;
0780   MonitorElement* mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward;
0781   MonitorElement* mDeltaPt_Z_j1_over_ZPt_100_J_Forward;
0782 
0783   std::map<std::string, MonitorElement*> map_of_MEs;
0784 
0785   bool isCaloJet_;
0786   bool isPFJet_;
0787   bool isMiniAODJet_;
0788 
0789   bool fill_jet_high_level_histo;
0790 
0791   bool fill_CHS_histos;
0792 };
0793 #endif