Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-25 02:13:46

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