Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:57:49

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* mPt_log;
0213   MonitorElement* mEta;
0214   MonitorElement* mPhi;
0215   MonitorElement* mPt_uncor;
0216   MonitorElement* mEta_uncor;
0217   MonitorElement* mPhi_uncor;
0218   MonitorElement* mConstituents_uncor;
0219 
0220   MonitorElement* mJetEnergyCorr;
0221   MonitorElement* mJetEnergyCorrVSEta;
0222   MonitorElement* mJetEnergyCorrVSPt;
0223 
0224   MonitorElement* mConstituents;
0225   MonitorElement* mHFrac;
0226   MonitorElement* mEFrac;
0227   MonitorElement* mPhiVSEta;
0228 
0229   MonitorElement* mPt_Barrel;
0230   MonitorElement* mPhi_Barrel;
0231   MonitorElement* mConstituents_Barrel;
0232   MonitorElement* mHFrac_Barrel;
0233   MonitorElement* mEFrac_Barrel;
0234 
0235   MonitorElement* mPt_EndCap;
0236   MonitorElement* mPhi_EndCap;
0237   MonitorElement* mConstituents_EndCap;
0238   MonitorElement* mHFrac_EndCap;
0239   MonitorElement* mEFrac_EndCap;
0240 
0241   MonitorElement* mPt_Forward;
0242   MonitorElement* mPhi_Forward;
0243   MonitorElement* mConstituents_Forward;
0244   MonitorElement* mHFrac_Forward;
0245   MonitorElement* mEFrac_Forward;
0246 
0247   MonitorElement* mPt_Barrel_Hi;
0248   MonitorElement* mPhi_Barrel_Hi;
0249   MonitorElement* mConstituents_Barrel_Hi;
0250   MonitorElement* mHFrac_Barrel_Hi;
0251 
0252   MonitorElement* mPt_EndCap_Hi;
0253   MonitorElement* mPhi_EndCap_Hi;
0254   MonitorElement* mConstituents_EndCap_Hi;
0255   MonitorElement* mHFrac_EndCap_Hi;
0256 
0257   MonitorElement* mPt_Forward_Hi;
0258   MonitorElement* mPhi_Forward_Hi;
0259   MonitorElement* mConstituents_Forward_Hi;
0260   MonitorElement* mHFrac_Forward_Hi;
0261 
0262   MonitorElement* mNJets;
0263   MonitorElement* mDPhi;
0264 
0265   // Leading Jet Parameters
0266   MonitorElement* mEtaFirst;
0267   MonitorElement* mPhiFirst;
0268   MonitorElement* mPtFirst;
0269 
0270   // Events passing the jet triggers
0271   MonitorElement* mPhi_Lo;
0272   MonitorElement* mPt_Lo;
0273 
0274   MonitorElement* mEta_Hi;
0275   MonitorElement* mPhi_Hi;
0276   MonitorElement* mPt_Hi;
0277 
0278   MonitorElement* mLooseJIDPassFractionVSeta;
0279   MonitorElement* mLooseJIDPassFractionVSpt;
0280   MonitorElement* mLooseJIDPassFractionVSptNoHF;
0281 
0282   MonitorElement* mLooseMVAPUJIDPassFractionVSeta;
0283   MonitorElement* mLooseMVAPUJIDPassFractionVSpt;
0284   MonitorElement* mMediumMVAPUJIDPassFractionVSeta;
0285   MonitorElement* mMediumMVAPUJIDPassFractionVSpt;
0286   MonitorElement* mTightMVAPUJIDPassFractionVSeta;
0287   MonitorElement* mTightMVAPUJIDPassFractionVSpt;
0288   MonitorElement* mMVAPUJIDDiscriminant_lowPt_Barrel;
0289   MonitorElement* mMVAPUJIDDiscriminant_lowPt_EndCap;
0290   MonitorElement* mMVAPUJIDDiscriminant_lowPt_Forward;
0291   MonitorElement* mMVAPUJIDDiscriminant_mediumPt_Barrel;
0292   MonitorElement* mMVAPUJIDDiscriminant_mediumPt_EndCap;
0293   MonitorElement* mMVAPUJIDDiscriminant_mediumPt_Forward;
0294   MonitorElement* mMVAPUJIDDiscriminant_highPt_Barrel;
0295   MonitorElement* mMVAPUJIDDiscriminant_highPt_EndCap;
0296   MonitorElement* mMVAPUJIDDiscriminant_highPt_Forward;
0297 
0298   MonitorElement* mLooseCutPUJIDPassFractionVSeta;
0299   MonitorElement* mLooseCutPUJIDPassFractionVSpt;
0300   MonitorElement* mMediumCutPUJIDPassFractionVSeta;
0301   MonitorElement* mMediumCutPUJIDPassFractionVSpt;
0302   MonitorElement* mTightCutPUJIDPassFractionVSeta;
0303   MonitorElement* mTightCutPUJIDPassFractionVSpt;
0304   MonitorElement* mCutPUJIDDiscriminant_lowPt_Barrel;
0305   MonitorElement* mCutPUJIDDiscriminant_lowPt_EndCap;
0306   MonitorElement* mCutPUJIDDiscriminant_lowPt_Forward;
0307   MonitorElement* mCutPUJIDDiscriminant_mediumPt_Barrel;
0308   MonitorElement* mCutPUJIDDiscriminant_mediumPt_EndCap;
0309   MonitorElement* mCutPUJIDDiscriminant_mediumPt_Forward;
0310   MonitorElement* mCutPUJIDDiscriminant_highPt_Barrel;
0311   MonitorElement* mCutPUJIDDiscriminant_highPt_EndCap;
0312   MonitorElement* mCutPUJIDDiscriminant_highPt_Forward;
0313 
0314   //dijet analysis quantities
0315   MonitorElement* mDijetBalance;
0316   MonitorElement* mDijetAsymmetry;
0317 
0318   // NPV profiles
0319   //----------------------------------------------------------------------------
0320   MonitorElement* mNJets_profile;
0321   MonitorElement* mPt_profile;
0322   MonitorElement* mEta_profile;
0323   MonitorElement* mPhi_profile;
0324   MonitorElement* mConstituents_profile;
0325   MonitorElement* mHFrac_profile;
0326   MonitorElement* mEFrac_profile;
0327 
0328   bool hltInitialized_;
0329   bool bypassAllPVChecks_;
0330 
0331   HLTConfigProvider hltConfig_;
0332   std::string processname_;
0333 
0334   //MonitorElement* hltpathME;
0335   MonitorElement* cleanupME;
0336   MonitorElement* verticesME;
0337 
0338   GenericTriggerEventFlag* highPtJetEventFlag_;
0339   GenericTriggerEventFlag* lowPtJetEventFlag_;
0340 
0341   std::vector<std::string> highPtJetExpr_;
0342   std::vector<std::string> lowPtJetExpr_;
0343 
0344   bool jetCleaningFlag_;
0345   bool filljetsubstruc_;
0346   double pt_min_boosted_;
0347 
0348   bool runcosmics_;
0349 
0350   //  bool energycorrected;
0351 
0352   // CaloJet specific
0353   MonitorElement* mMaxEInEmTowers;
0354   MonitorElement* mMaxEInHadTowers;
0355   MonitorElement* mHadEnergyInHO;
0356   MonitorElement* mHadEnergyInHB;
0357   MonitorElement* mHadEnergyInHF;
0358   MonitorElement* mHadEnergyInHE;
0359   MonitorElement* mEmEnergyInEB;
0360   MonitorElement* mEmEnergyInEE;
0361   MonitorElement* mEmEnergyInHF;
0362   MonitorElement* mN90Hits;
0363   MonitorElement* mfHPD;
0364   MonitorElement* mfRBX;
0365   MonitorElement* mresEMF;
0366   MonitorElement* mEMF;
0367 
0368   //now define PFJet only flags
0369   MonitorElement* mCHFrac_lowPt_Barrel;
0370   MonitorElement* mNHFrac_lowPt_Barrel;
0371   MonitorElement* mPhFrac_lowPt_Barrel;
0372   MonitorElement* mCHFrac_mediumPt_Barrel;
0373   MonitorElement* mNHFrac_mediumPt_Barrel;
0374   MonitorElement* mPhFrac_mediumPt_Barrel;
0375   MonitorElement* mCHFrac_highPt_Barrel;
0376   MonitorElement* mNHFrac_highPt_Barrel;
0377   MonitorElement* mPhFrac_highPt_Barrel;
0378   MonitorElement* mCHEn_lowPt_Barrel;
0379   MonitorElement* mNHEn_lowPt_Barrel;
0380   MonitorElement* mPhEn_lowPt_Barrel;
0381   MonitorElement* mElEn_lowPt_Barrel;
0382   MonitorElement* mMuEn_lowPt_Barrel;
0383   MonitorElement* mCHEn_mediumPt_Barrel;
0384   MonitorElement* mNHEn_mediumPt_Barrel;
0385   MonitorElement* mPhEn_mediumPt_Barrel;
0386   MonitorElement* mElEn_mediumPt_Barrel;
0387   MonitorElement* mMuEn_mediumPt_Barrel;
0388   MonitorElement* mCHEn_highPt_Barrel;
0389   MonitorElement* mNHEn_highPt_Barrel;
0390   MonitorElement* mPhEn_highPt_Barrel;
0391   MonitorElement* mElEn_highPt_Barrel;
0392   MonitorElement* mMuEn_highPt_Barrel;
0393   MonitorElement* mChMultiplicity_lowPt_Barrel;
0394   MonitorElement* mNeutMultiplicity_lowPt_Barrel;
0395   MonitorElement* mMuMultiplicity_lowPt_Barrel;
0396   MonitorElement* mChMultiplicity_mediumPt_Barrel;
0397   MonitorElement* mNeutMultiplicity_mediumPt_Barrel;
0398   MonitorElement* mMuMultiplicity_mediumPt_Barrel;
0399   MonitorElement* mChMultiplicity_highPt_Barrel;
0400   MonitorElement* mNeutMultiplicity_highPt_Barrel;
0401   MonitorElement* mMuMultiplicity_highPt_Barrel;
0402 
0403   MonitorElement* mCHFracVSpT_Barrel;
0404   MonitorElement* mNHFracVSpT_Barrel;
0405   MonitorElement* mPhFracVSpT_Barrel;
0406   MonitorElement* mCHFracVSpT_EndCap;
0407   MonitorElement* mNHFracVSpT_EndCap;
0408   MonitorElement* mPhFracVSpT_EndCap;
0409   MonitorElement* mHFHFracVSpT_Forward;
0410   MonitorElement* mHFEFracVSpT_Forward;
0411 
0412   MonitorElement* mCHFracVSeta_lowPt;
0413   MonitorElement* mNHFracVSeta_lowPt;
0414   MonitorElement* mPhFracVSeta_lowPt;
0415   MonitorElement* mCHFracVSeta_mediumPt;
0416   MonitorElement* mNHFracVSeta_mediumPt;
0417   MonitorElement* mPhFracVSeta_mediumPt;
0418   MonitorElement* mCHFracVSeta_highPt;
0419   MonitorElement* mNHFracVSeta_highPt;
0420   MonitorElement* mPhFracVSeta_highPt;
0421 
0422   MonitorElement* mCHFrac_lowPt_EndCap;
0423   MonitorElement* mNHFrac_lowPt_EndCap;
0424   MonitorElement* mPhFrac_lowPt_EndCap;
0425   MonitorElement* mCHFrac_mediumPt_EndCap;
0426   MonitorElement* mNHFrac_mediumPt_EndCap;
0427   MonitorElement* mPhFrac_mediumPt_EndCap;
0428   MonitorElement* mCHFrac_highPt_EndCap;
0429   MonitorElement* mNHFrac_highPt_EndCap;
0430   MonitorElement* mPhFrac_highPt_EndCap;
0431 
0432   MonitorElement* mCHEn_lowPt_EndCap;
0433   MonitorElement* mNHEn_lowPt_EndCap;
0434   MonitorElement* mPhEn_lowPt_EndCap;
0435   MonitorElement* mElEn_lowPt_EndCap;
0436   MonitorElement* mMuEn_lowPt_EndCap;
0437   MonitorElement* mCHEn_mediumPt_EndCap;
0438   MonitorElement* mNHEn_mediumPt_EndCap;
0439   MonitorElement* mPhEn_mediumPt_EndCap;
0440   MonitorElement* mElEn_mediumPt_EndCap;
0441   MonitorElement* mMuEn_mediumPt_EndCap;
0442   MonitorElement* mCHEn_highPt_EndCap;
0443   MonitorElement* mNHEn_highPt_EndCap;
0444   MonitorElement* mPhEn_highPt_EndCap;
0445   MonitorElement* mElEn_highPt_EndCap;
0446   MonitorElement* mMuEn_highPt_EndCap;
0447   MonitorElement* mMass_lowPt_Barrel;
0448   MonitorElement* mMass_lowPt_EndCap;
0449   MonitorElement* mMass_lowPt_Forward;
0450   MonitorElement* mMass_mediumPt_Barrel;
0451   MonitorElement* mMass_mediumPt_EndCap;
0452   MonitorElement* mMass_mediumPt_Forward;
0453   MonitorElement* mMass_highPt_Barrel;
0454   MonitorElement* mMass_highPt_EndCap;
0455   MonitorElement* mMass_highPt_Forward;
0456 
0457   MonitorElement* mChMultiplicity_lowPt_EndCap;
0458   MonitorElement* mNeutMultiplicity_lowPt_EndCap;
0459   MonitorElement* mMuMultiplicity_lowPt_EndCap;
0460   MonitorElement* mChMultiplicity_mediumPt_EndCap;
0461   MonitorElement* mNeutMultiplicity_mediumPt_EndCap;
0462   MonitorElement* mMuMultiplicity_mediumPt_EndCap;
0463   MonitorElement* mChMultiplicity_highPt_EndCap;
0464   MonitorElement* mNeutMultiplicity_highPt_EndCap;
0465   MonitorElement* mMuMultiplicity_highPt_EndCap;
0466 
0467   MonitorElement* mHFEFrac_lowPt_Forward;
0468   MonitorElement* mHFHFrac_lowPt_Forward;
0469   MonitorElement* mHFEFrac_mediumPt_Forward;
0470   MonitorElement* mHFHFrac_mediumPt_Forward;
0471   MonitorElement* mHFEFrac_highPt_Forward;
0472   MonitorElement* mHFHFrac_highPt_Forward;
0473   MonitorElement* mHFEEn_lowPt_Forward;
0474   MonitorElement* mHFHEn_lowPt_Forward;
0475   MonitorElement* mHFEEn_mediumPt_Forward;
0476   MonitorElement* mHFHEn_mediumPt_Forward;
0477   MonitorElement* mHFEEn_highPt_Forward;
0478   MonitorElement* mHFHEn_highPt_Forward;
0479   MonitorElement* mNeutMultiplicity_lowPt_Forward;
0480   MonitorElement* mNeutMultiplicity_mediumPt_Forward;
0481   MonitorElement* mNeutMultiplicity_highPt_Forward;
0482 
0483   MonitorElement* mChargedHadronEnergy;
0484   MonitorElement* mNeutralHadronEnergy;
0485   MonitorElement* mChargedEmEnergy;
0486   MonitorElement* mChargedMuEnergy;
0487   MonitorElement* mNeutralEmEnergy;
0488   MonitorElement* mChargedMultiplicity;
0489   MonitorElement* mNeutralMultiplicity;
0490   MonitorElement* mMuonMultiplicity;
0491 
0492   //it is there for ak4PFCHS
0493   MonitorElement* mAxis2_lowPt_Barrel;
0494   MonitorElement* mpTD_lowPt_Barrel;
0495   MonitorElement* mMultiplicityQG_lowPt_Barrel;
0496   MonitorElement* mqgLikelihood_lowPt_Barrel;
0497   MonitorElement* mAxis2_mediumPt_Barrel;
0498   MonitorElement* mpTD_mediumPt_Barrel;
0499   MonitorElement* mMultiplicityQG_mediumPt_Barrel;
0500   MonitorElement* mqgLikelihood_mediumPt_Barrel;
0501   MonitorElement* mAxis2_highPt_Barrel;
0502   MonitorElement* mpTD_highPt_Barrel;
0503   MonitorElement* mMultiplicityQG_highPt_Barrel;
0504   MonitorElement* mqgLikelihood_highPt_Barrel;
0505 
0506   MonitorElement* mAxis2_lowPt_EndCap;
0507   MonitorElement* mpTD_lowPt_EndCap;
0508   MonitorElement* mMultiplicityQG_lowPt_EndCap;
0509   MonitorElement* mqgLikelihood_lowPt_EndCap;
0510   MonitorElement* mAxis2_mediumPt_EndCap;
0511   MonitorElement* mpTD_mediumPt_EndCap;
0512   MonitorElement* mMultiplicityQG_mediumPt_EndCap;
0513   MonitorElement* mqgLikelihood_mediumPt_EndCap;
0514   MonitorElement* mAxis2_highPt_EndCap;
0515   MonitorElement* mpTD_highPt_EndCap;
0516   MonitorElement* mMultiplicityQG_highPt_EndCap;
0517   MonitorElement* mqgLikelihood_highPt_EndCap;
0518 
0519   MonitorElement* mAxis2_lowPt_Forward;
0520   MonitorElement* mpTD_lowPt_Forward;
0521   MonitorElement* mMultiplicityQG_lowPt_Forward;
0522   MonitorElement* mqgLikelihood_lowPt_Forward;
0523   MonitorElement* mAxis2_mediumPt_Forward;
0524   MonitorElement* mpTD_mediumPt_Forward;
0525   MonitorElement* mMultiplicityQG_mediumPt_Forward;
0526   MonitorElement* mqgLikelihood_mediumPt_Forward;
0527   MonitorElement* mAxis2_highPt_Forward;
0528   MonitorElement* mpTD_highPt_Forward;
0529   MonitorElement* mMultiplicityQG_highPt_Forward;
0530   MonitorElement* mqgLikelihood_highPt_Forward;
0531 
0532   //new Plots with Res./ Eff. as function of neutral, charged &  em fraction
0533 
0534   MonitorElement* mNeutralFraction;
0535   MonitorElement* mNeutralFraction2;
0536 
0537   MonitorElement* mEEffNeutralFraction;
0538   MonitorElement* mEEffChargedFraction;
0539   MonitorElement* mEResNeutralFraction;
0540   MonitorElement* mEResChargedFraction;
0541   MonitorElement* nEEff;
0542   //PF specific NPV profiles
0543   MonitorElement* mChargedHadronEnergy_profile;
0544   MonitorElement* mNeutralHadronEnergy_profile;
0545   MonitorElement* mChargedEmEnergy_profile;
0546   MonitorElement* mChargedMuEnergy_profile;
0547   MonitorElement* mNeutralEmEnergy_profile;
0548   MonitorElement* mChargedMultiplicity_profile;
0549   MonitorElement* mNeutralMultiplicity_profile;
0550   MonitorElement* mMuonMultiplicity_profile;
0551 
0552   //Monitor Elements for special selections
0553   //for special selections
0554   MonitorElement* mCHFrac;
0555   MonitorElement* mNHFrac;
0556   MonitorElement* mPhFrac;
0557   MonitorElement* mHFEMFrac;
0558   MonitorElement* mHFHFrac;
0559   MonitorElement* mCHFrac_profile;
0560   MonitorElement* mNHFrac_profile;
0561   MonitorElement* mPhFrac_profile;
0562   MonitorElement* mHFEMFrac_profile;
0563   MonitorElement* mHFHFrac_profile;
0564 
0565   JetMETDQMDCSFilter* DCSFilterForJetMonitoring_;
0566   JetMETDQMDCSFilter* DCSFilterForDCSMonitoring_;
0567   /*
0568   MonitorElement* mePhFracBarrel_BXm2BXm1Empty;
0569   MonitorElement* meNHFracBarrel_BXm2BXm1Empty;
0570   MonitorElement* meCHFracBarrel_BXm2BXm1Empty;
0571   MonitorElement* mePtBarrel_BXm2BXm1Empty;
0572   MonitorElement* mePhFracEndCapMinus_BXm2BXm1Empty;
0573   MonitorElement* meNHFracEndCapMinus_BXm2BXm1Empty;
0574   MonitorElement* meCHFracEndCapMinus_BXm2BXm1Empty;
0575   MonitorElement* mePtEndCapMinus_BXm2BXm1Empty;
0576   MonitorElement* mePhFracEndCapPlus_BXm2BXm1Empty;
0577   MonitorElement* meNHFracEndCapPlus_BXm2BXm1Empty;
0578   MonitorElement* meCHFracEndCapPlus_BXm2BXm1Empty;
0579   MonitorElement* mePtEndCapPlus_BXm2BXm1Empty;
0580   MonitorElement* meHFHFracMinus_BXm2BXm1Empty;
0581   MonitorElement* meHFEMFracMinus_BXm2BXm1Empty;
0582   MonitorElement* mePtForwardMinus_BXm2BXm1Empty;
0583   MonitorElement* meHFHFracPlus_BXm2BXm1Empty;
0584   MonitorElement* meHFEMFracPlus_BXm2BXm1Empty;
0585   MonitorElement* mePtForwardPlus_BXm2BXm1Empty;
0586   MonitorElement* meEta_BXm2BXm1Empty;
0587   */
0588   MonitorElement* mePhFracBarrel_BXm1Empty;
0589   MonitorElement* meNHFracBarrel_BXm1Empty;
0590   MonitorElement* meCHFracBarrel_BXm1Empty;
0591   MonitorElement* mePtBarrel_BXm1Empty;
0592   MonitorElement* mePhFracEndCapMinus_BXm1Empty;
0593   MonitorElement* meNHFracEndCapMinus_BXm1Empty;
0594   MonitorElement* meCHFracEndCapMinus_BXm1Empty;
0595   MonitorElement* mePtEndCapMinus_BXm1Empty;
0596   MonitorElement* mePhFracEndCapPlus_BXm1Empty;
0597   MonitorElement* meNHFracEndCapPlus_BXm1Empty;
0598   MonitorElement* meCHFracEndCapPlus_BXm1Empty;
0599   MonitorElement* mePtEndCapPlus_BXm1Empty;
0600   MonitorElement* meHFHFracMinus_BXm1Empty;
0601   MonitorElement* meHFEMFracMinus_BXm1Empty;
0602   MonitorElement* mePtForwardMinus_BXm1Empty;
0603   MonitorElement* meHFHFracPlus_BXm1Empty;
0604   MonitorElement* meHFEMFracPlus_BXm1Empty;
0605   MonitorElement* mePtForwardPlus_BXm1Empty;
0606   MonitorElement* meEta_BXm1Empty;
0607   /*
0608   MonitorElement* mePhFracBarrel_BXm2BXm1Filled;
0609   MonitorElement* meNHFracBarrel_BXm2BXm1Filled;
0610   MonitorElement* meCHFracBarrel_BXm2BXm1Filled;
0611   MonitorElement* mePtBarrel_BXm2BXm1Filled;
0612   MonitorElement* mePhFracEndCapMinus_BXm2BXm1Filled;
0613   MonitorElement* meNHFracEndCapMinus_BXm2BXm1Filled;
0614   MonitorElement* meCHFracEndCapMinus_BXm2BXm1Filled;
0615   MonitorElement* mePtEndCapMinus_BXm2BXm1Filled;
0616   MonitorElement* mePhFracEndCapPlus_BXm2BXm1Filled;
0617   MonitorElement* meNHFracEndCapPlus_BXm2BXm1Filled;
0618   MonitorElement* meCHFracEndCapPlus_BXm2BXm1Filled;
0619   MonitorElement* mePtEndCapPlus_BXm2BXm1Filled;
0620   MonitorElement* meHFHFracMinus_BXm2BXm1Filled;
0621   MonitorElement* meHFEMFracMinus_BXm2BXm1Filled;
0622   MonitorElement* mePtForwardMinus_BXm2BXm1Filled;
0623   MonitorElement* meHFHFracPlus_BXm2BXm1Filled;
0624   MonitorElement* meHFEMFracPlus_BXm2BXm1Filled;
0625   MonitorElement* mePtForwardPlus_BXm2BXm1Filled;
0626   MonitorElement* meEta_BXm2BXm1Filled;
0627   */
0628   MonitorElement* mePhFracBarrel_BXm1Filled;
0629   MonitorElement* meNHFracBarrel_BXm1Filled;
0630   MonitorElement* meCHFracBarrel_BXm1Filled;
0631   MonitorElement* mePtBarrel_BXm1Filled;
0632   MonitorElement* mePhFracEndCapMinus_BXm1Filled;
0633   MonitorElement* meNHFracEndCapMinus_BXm1Filled;
0634   MonitorElement* meCHFracEndCapMinus_BXm1Filled;
0635   MonitorElement* mePtEndCapMinus_BXm1Filled;
0636   MonitorElement* mePhFracEndCapPlus_BXm1Filled;
0637   MonitorElement* meNHFracEndCapPlus_BXm1Filled;
0638   MonitorElement* meCHFracEndCapPlus_BXm1Filled;
0639   MonitorElement* mePtEndCapPlus_BXm1Filled;
0640   MonitorElement* meHFHFracMinus_BXm1Filled;
0641   MonitorElement* meHFEMFracMinus_BXm1Filled;
0642   MonitorElement* mePtForwardMinus_BXm1Filled;
0643   MonitorElement* meHFHFracPlus_BXm1Filled;
0644   MonitorElement* meHFEMFracPlus_BXm1Filled;
0645   MonitorElement* mePtForwardPlus_BXm1Filled;
0646   MonitorElement* meEta_BXm1Filled;
0647 
0648   //miniaod specific variables, especially for substructure
0649   MonitorElement* mSoftDropMass;
0650   MonitorElement* mPrunedMass;
0651   MonitorElement* mTrimmedMass;
0652   MonitorElement* mFilteredMass;
0653   MonitorElement* mtau2_over_tau1;
0654   MonitorElement* mtau3_over_tau2;
0655   MonitorElement* mCATopTag_topMass;
0656   MonitorElement* mCATopTag_minMass;
0657   MonitorElement* mCATopTag_nSubJets;
0658 
0659   MonitorElement* mnSubJetsCMSTopTag;
0660   MonitorElement* mSubJet1_CMSTopTag_pt;
0661   MonitorElement* mSubJet1_CMSTopTag_eta;
0662   MonitorElement* mSubJet1_CMSTopTag_phi;
0663   MonitorElement* mSubJet1_CMSTopTag_mass;
0664   MonitorElement* mSubJet2_CMSTopTag_pt;
0665   MonitorElement* mSubJet2_CMSTopTag_eta;
0666   MonitorElement* mSubJet2_CMSTopTag_phi;
0667   MonitorElement* mSubJet2_CMSTopTag_mass;
0668   MonitorElement* mSubJet3_CMSTopTag_pt;
0669   MonitorElement* mSubJet3_CMSTopTag_eta;
0670   MonitorElement* mSubJet3_CMSTopTag_phi;
0671   MonitorElement* mSubJet3_CMSTopTag_mass;
0672   MonitorElement* mSubJet4_CMSTopTag_pt;
0673   MonitorElement* mSubJet4_CMSTopTag_eta;
0674   MonitorElement* mSubJet4_CMSTopTag_phi;
0675   MonitorElement* mSubJet4_CMSTopTag_mass;
0676 
0677   MonitorElement* mnSubJetsSoftDrop;
0678   MonitorElement* mSubJet1_SoftDrop_pt;
0679   MonitorElement* mSubJet1_SoftDrop_eta;
0680   MonitorElement* mSubJet1_SoftDrop_phi;
0681   MonitorElement* mSubJet1_SoftDrop_mass;
0682   MonitorElement* mSubJet2_SoftDrop_pt;
0683   MonitorElement* mSubJet2_SoftDrop_eta;
0684   MonitorElement* mSubJet2_SoftDrop_phi;
0685   MonitorElement* mSubJet2_SoftDrop_mass;
0686 
0687   //miniaod specific variables, especially for substructure for a boosted regime
0688   MonitorElement* mSoftDropMass_boosted;
0689   MonitorElement* mPrunedMass_boosted;
0690   MonitorElement* mTrimmedMass_boosted;
0691   MonitorElement* mFilteredMass_boosted;
0692   MonitorElement* mtau2_over_tau1_boosted;
0693   MonitorElement* mtau3_over_tau2_boosted;
0694   MonitorElement* mCATopTag_topMass_boosted;
0695   MonitorElement* mCATopTag_minMass_boosted;
0696   MonitorElement* mCATopTag_nSubJets_boosted;
0697 
0698   MonitorElement* mnSubJetsCMSTopTag_boosted;
0699   MonitorElement* mSubJet1_CMSTopTag_pt_boosted;
0700   MonitorElement* mSubJet1_CMSTopTag_eta_boosted;
0701   MonitorElement* mSubJet1_CMSTopTag_phi_boosted;
0702   MonitorElement* mSubJet1_CMSTopTag_mass_boosted;
0703   MonitorElement* mSubJet2_CMSTopTag_pt_boosted;
0704   MonitorElement* mSubJet2_CMSTopTag_eta_boosted;
0705   MonitorElement* mSubJet2_CMSTopTag_phi_boosted;
0706   MonitorElement* mSubJet2_CMSTopTag_mass_boosted;
0707   MonitorElement* mSubJet3_CMSTopTag_pt_boosted;
0708   MonitorElement* mSubJet3_CMSTopTag_eta_boosted;
0709   MonitorElement* mSubJet3_CMSTopTag_phi_boosted;
0710   MonitorElement* mSubJet3_CMSTopTag_mass_boosted;
0711   MonitorElement* mSubJet4_CMSTopTag_pt_boosted;
0712   MonitorElement* mSubJet4_CMSTopTag_eta_boosted;
0713   MonitorElement* mSubJet4_CMSTopTag_phi_boosted;
0714   MonitorElement* mSubJet4_CMSTopTag_mass_boosted;
0715 
0716   MonitorElement* mnSubJetsSoftDrop_boosted;
0717   MonitorElement* mSubJet1_SoftDrop_pt_boosted;
0718   MonitorElement* mSubJet1_SoftDrop_eta_boosted;
0719   MonitorElement* mSubJet1_SoftDrop_phi_boosted;
0720   MonitorElement* mSubJet1_SoftDrop_mass_boosted;
0721   MonitorElement* mSubJet2_SoftDrop_pt_boosted;
0722   MonitorElement* mSubJet2_SoftDrop_eta_boosted;
0723   MonitorElement* mSubJet2_SoftDrop_phi_boosted;
0724   MonitorElement* mSubJet2_SoftDrop_mass_boosted;
0725 
0726   //miniaod only variables
0727   MonitorElement* mPt_CaloJet;
0728   MonitorElement* mEMF_CaloJet;
0729   MonitorElement* mMass_Barrel;
0730   MonitorElement* mMass_EndCap;
0731   MonitorElement* mMass_Forward;
0732 
0733   //now ZJets plots
0734   MonitorElement* mDPhiZJet;
0735   MonitorElement* mZMass;
0736   MonitorElement* mZJetAsymmetry;
0737   MonitorElement* mJetZBalance_lowZPt_J_Barrel;
0738   MonitorElement* mJetZBalance_mediumZPt_J_Barrel;
0739   MonitorElement* mJetZBalance_highZPt_J_Barrel;
0740   MonitorElement* mJetZBalance_lowZPt_J_EndCap;
0741   MonitorElement* mJetZBalance_mediumZPt_J_EndCap;
0742   MonitorElement* mJetZBalance_highZPt_J_EndCap;
0743   MonitorElement* mJetZBalance_lowZPt_J_Forward;
0744   MonitorElement* mJetZBalance_mediumZPt_J_Forward;
0745   MonitorElement* mJetZBalance_highZPt_J_Forward;
0746   MonitorElement* mJ1Pt_over_ZPt_J_Barrel;
0747   MonitorElement* mJ1Pt_over_ZPt_J_EndCap;
0748   MonitorElement* mJ1Pt_over_ZPt_J_Forward;
0749   MonitorElement* mMPF_J_Barrel;
0750   MonitorElement* mMPF_J_EndCap;
0751   MonitorElement* mMPF_J_Forward;
0752   MonitorElement* mJ1Pt_over_ZPt_lowZPt_J_Barrel;
0753   MonitorElement* mJ1Pt_over_ZPt_mediumZPt_J_Barrel;
0754   MonitorElement* mJ1Pt_over_ZPt_highZPt_J_Barrel;
0755   MonitorElement* mJ1Pt_over_ZPt_lowZPt_J_EndCap;
0756   MonitorElement* mJ1Pt_over_ZPt_mediumZPt_J_EndCap;
0757   MonitorElement* mJ1Pt_over_ZPt_highZPt_J_EndCap;
0758   MonitorElement* mJ1Pt_over_ZPt_lowZPt_J_Forward;
0759   MonitorElement* mJ1Pt_over_ZPt_mediumZPt_J_Forward;
0760   MonitorElement* mJ1Pt_over_ZPt_highZPt_J_Forward;
0761   MonitorElement* mMPF_lowZPt_J_Barrel;
0762   MonitorElement* mMPF_mediumZPt_J_Barrel;
0763   MonitorElement* mMPF_highZPt_J_Barrel;
0764   MonitorElement* mMPF_lowZPt_J_EndCap;
0765   MonitorElement* mMPF_mediumZPt_J_EndCap;
0766   MonitorElement* mMPF_highZPt_J_EndCap;
0767   MonitorElement* mMPF_lowZPt_J_Forward;
0768   MonitorElement* mMPF_mediumZPt_J_Forward;
0769   MonitorElement* mMPF_highZPt_J_Forward;
0770   MonitorElement* mDeltaPt_Z_j1_over_ZPt_30_55_J_Barrel;
0771   MonitorElement* mDeltaPt_Z_j1_over_ZPt_55_75_J_Barrel;
0772   MonitorElement* mDeltaPt_Z_j1_over_ZPt_75_150_J_Barrel;
0773   MonitorElement* mDeltaPt_Z_j1_over_ZPt_150_290_J_Barrel;
0774   MonitorElement* mDeltaPt_Z_j1_over_ZPt_290_J_Barrel;
0775   MonitorElement* mDeltaPt_Z_j1_over_ZPt_30_55_J_EndCap;
0776   MonitorElement* mDeltaPt_Z_j1_over_ZPt_55_75_J_EndCap;
0777   MonitorElement* mDeltaPt_Z_j1_over_ZPt_75_150_J_EndCap;
0778   MonitorElement* mDeltaPt_Z_j1_over_ZPt_150_290_J_EndCap;
0779   MonitorElement* mDeltaPt_Z_j1_over_ZPt_290_J_EndCap;
0780   MonitorElement* mDeltaPt_Z_j1_over_ZPt_30_55_J_Forward;
0781   MonitorElement* mDeltaPt_Z_j1_over_ZPt_55_100_J_Forward;
0782   MonitorElement* mDeltaPt_Z_j1_over_ZPt_100_J_Forward;
0783 
0784   std::map<std::string, MonitorElement*> map_of_MEs;
0785 
0786   bool isCaloJet_;
0787   bool isPFJet_;
0788   bool isMiniAODJet_;
0789 
0790   bool fill_jet_high_level_histo;
0791 
0792   bool fill_CHS_histos;
0793 };
0794 #endif