CMS 3D CMS Logo

JetTester_HeavyIons.h
Go to the documentation of this file.
1 #ifndef ValidationRecoJetsJetTester_HeavyIons_h
2 #define ValidationRecoJetsJetTester_HeavyIons_h
3 
4 // Producer for validation histograms for Calo, JPT and PF jet objects
5 // F. Ratnikov, Sept. 7, 2006
6 // Modified by Chiyoung Jeong, Feb. 2, 2010
7 // Modified by J. Piedra, Sept. 11, 2013
8 // Rewritten by Viola Sordini, Matthias Artur Weber, Robert Schoefbeck Nov./Dez.
9 // 2013 Modified by Raghav Kunnawalkam Elayavalli, Aug 18th 2014 to run in 72X
10 // , Oct 22nd 2014 to run in 73X
11 // , Dec 10th 2014 74X and adding the
12 // PF candidates information to easily
13 // detect
14 // the voronoi
15 // subtraction
16 // algorithm failure
17 // modes.
18 
19 #include <cmath>
20 #include <string>
21 
37 
38 // include the pf candidates
40 // include the voronoi subtraction
43 // include the centrality variables
45 
69 
70 const Int_t MAXPARTICLE = 10000;
71 const Double_t BarrelEta = 2.0;
72 const Double_t EndcapEta = 3.0;
73 const Double_t ForwardEta = 5.0;
74 
75 class MonitorElement;
76 
78 public:
79  explicit JetTester_HeavyIons(const edm::ParameterSet &);
80  ~JetTester_HeavyIons() override;
81 
82  void analyze(const edm::Event &, const edm::EventSetup &) override;
83  // virtual void beginJob();
84  // virtual void endJob();
85  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
86  // reco::Vertex::Point getVtx(const edm::Event& ev);
87 
88  // double getEt(const DetID )
89 
90 private:
91  void fillMatchHists(const double GenEta,
92  const double GenPhi,
93  const double GenPt,
94  const double RecoEta,
95  const double RecoPhi,
96  const double RecoPt);
97 
101  // edm::InputTag mInputCandCollection;
102  // edm::InputTag rhoTag;
106 
110 
119  double mRThreshold;
121 
122  // Tokens
134  // edm::EDGetTokenT<reco::VoronoiMap> backgrounds_;
138 
139  // Include Particle flow variables
155 
159 
163 
167 
171 
172  // Event variables (including centrality)
175 
176  // new additions Jan 12th 2015
182 
186 
202 
218 
234 
250 
266 
282 
283  // Jet parameters
295 
296  // histograms added on Oct 27th to study the gen-reco
301 
323 
345 
367 
389 
390  // generation profiles
403 
411 
419 
427 
435 
444 
453 
462 
471 
472  // Parameters
473 
474  bool isCaloJet;
475  bool isJPTJet;
476  bool isPFJet;
477 
478  static const Int_t fourierOrder_ = 5;
479  static const Int_t etaBins_ = 15;
480 
481  static const size_t nedge_pseudorapidity = etaBins_ + 1;
482 };
483 
484 #endif
MonitorElement * mSumPFVsPt_1p131_1p479
MonitorElement * mSumCaloPt_0p522_0p783
edm::Handle< reco::Centrality > centrality_
MonitorElement * mPtRecoOverGen_B_50_80_Cent_0_10
MonitorElement * mSumPFVsPt_n1p740_n1p479
MonitorElement * mSumSquaredPFVsPt
MonitorElement * mPtRecoOverGen_F_20_30_Cent_30_50
MonitorElement * mSumPFVsPt_n0p522_0p522
MonitorElement * mPtRecoOverGen_F_120_180_Cent_30_50
MonitorElement * mPtRecoOverGen_E_30_50_Cent_50_80
MonitorElement * mPtRecoOverGen_F_300_Inf_Cent_0_10
MonitorElement * mSumCaloVsPt_n1p479_n1p131
MonitorElement * mSumPFVsPt_HF
const Int_t MAXPARTICLE
MonitorElement * mSumCaloPt_n5p191_n2p650
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * mPtRecoOverGen_F_30_50_Cent_0_10
MonitorElement * mSumCaloPt_2p043_2p650
MonitorElement * mSumPFPt_n0p783_n0p522
MonitorElement * mPFCandpT_Barrel_photon
MonitorElement * mPtRecoOverGen_GenEta_20_30_Cent_30_50
MonitorElement * mPtRecoOverGen_F_120_180_Cent_50_80
MonitorElement * mSumPFVsPtInitial_HF
edm::InputTag mInputCollection
edm::EDGetTokenT< reco::PFJetCollection > pfJetsToken_
MonitorElement * mSumCaloVsPt_n0p522_0p522
MonitorElement * mPtRecoOverGen_F_30_50_Cent_30_50
MonitorElement * mPtRecoOverGen_GenEta_50_80_Cent_30_50
MonitorElement * mNCalopart
MonitorElement * mCaloArea
edm::EDGetTokenT< CaloTowerCollection > caloTowersToken_
MonitorElement * mPtRecoOverGen_GenEta_300_Inf_Cent_50_80
MonitorElement * mSumCaloVsPtInitial_0p522_0p783
JetTester_HeavyIons(const edm::ParameterSet &)
MonitorElement * mSumCaloPt_1p479_1p740
MonitorElement * mSumCaloVsPtInitial_n1p740_n1p479
MonitorElement * mSumCaloPt_n0p522_0p522
MonitorElement * mSumPFVsPtInitial_n1p131_n0p783
MonitorElement * mEnergy
static const Int_t etaBins_
MonitorElement * mPtRecoOverGen_F_80_120_Cent_30_50
MonitorElement * mPFPhi
MonitorElement * mPtRecoOverGen_E_50_80_Cent_30_50
MonitorElement * mSumCaloPt
MonitorElement * mSumCaloPt_n1p131_n0p783
MonitorElement * mPtRecoOverGen_B_120_180_Cent_30_50
MonitorElement * mPtRecoOverGen_GenEta_180_300_Cent_30_50
edm::EDGetTokenT< reco::PFCandidateCollection > pfCandToken_
MonitorElement * mSumSquaredCaloPt
MonitorElement * mPtRecoOverGen_E_300_Inf_Cent_10_30
MonitorElement * mCaloPt
edm::InputTag centralityBinTag_
MonitorElement * mPtRecoOverGen_E_120_180_Cent_50_80
MonitorElement * mPFCandpT_vs_eta_EME_inHF
MonitorElement * mSumCaloPt_n2p043_n1p740
MonitorElement * mPtRecoOverGen_F_30_50_Cent_10_30
MonitorElement * mSumPFVsPt_2p650_5p191
MonitorElement * mPtRecoOverGen_B_300_Inf_Cent_30_50
MonitorElement * mNJets
MonitorElement * mSumCaloVsPtInitial_n1p479_n1p131
MonitorElement * mPtRecoOverGen_E_50_80_Cent_10_30
MonitorElement * mPtRecoOverGen_E_30_50_Cent_10_30
MonitorElement * mPtRecoOverGen_GenPt_E_Cent_0_10
MonitorElement * mSumCaloVsPt_1p740_2p043
MonitorElement * mSumCaloVsPtInitial_n1p131_n0p783
MonitorElement * mPtRecoOverGen_E_20_30_Cent_50_80
MonitorElement * mPtRecoOverGen_GenEta_50_80_Cent_0_10
MonitorElement * mPtRecoOverGen_E_80_120_Cent_50_80
MonitorElement * mDeltapT
edm::EDGetTokenT< std::vector< float > > backgrounds_value_
MonitorElement * mSumCaloVsPt_n0p783_n0p522
MonitorElement * mPtRecoOverGen_B_300_Inf_Cent_0_10
edm::InputTag mInputPFCandCollection
static const Int_t fourierOrder_
MonitorElement * mSumCaloVsPtInitial_n0p783_n0p522
MonitorElement * mSumSquaredPFPt
MonitorElement * mSumPFPt_n2p650_n2p043
MonitorElement * mSumCaloVsPt_1p479_1p740
MonitorElement * mSumCaloPt_n2p650_n2p043
MonitorElement * mPtRecoOverGen_GenEta_20_30_Cent_10_30
MonitorElement * mPtRecoOverGen_GenPt_B_Cent_10_30
MonitorElement * mPtRecoOverGen_E_20_30_Cent_0_10
MonitorElement * mGenPt
MonitorElement * mPtRecoOverGen_GenPt_F_Cent_50_80
MonitorElement * mPtRecoOverGen_B_20_30_Cent_0_10
MonitorElement * mSumCaloPt_n1p740_n1p479
MonitorElement * mSumCaloVsPtInitial
MonitorElement * mSumPFVsPtInitial
MonitorElement * mSumCaloVsPtInitial_n2p043_n1p740
MonitorElement * mPFCandpT_Barrel_ChargedHadron
MonitorElement * mPtRecoOverGen_B_50_80_Cent_30_50
MonitorElement * mPtRecoOverGen_GenEta_180_300_Cent_0_10
MonitorElement * mPtRecoOverGen_GenEta_30_50_Cent_0_10
MonitorElement * mPFCandpT_vs_eta_muon
MonitorElement * mPtRecoOverGen_B_180_300_Cent_10_30
MonitorElement * mSumCaloVsPt_n2p043_n1p740
edm::EDGetTokenT< reco::CandidateView > caloCandViewToken_
MonitorElement * mSumPFPt_0p783_1p131
MonitorElement * mSumPFPt_1p479_1p740
MonitorElement * mPtRecoOverGen_B_20_30_Cent_30_50
MonitorElement * mPtRecoOverGen_B_20_30_Cent_10_30
MonitorElement * mPtRecoOverGen_F_30_50_Cent_50_80
MonitorElement * mPFCandpT_Barrel_HadE_inHF
MonitorElement * mSumSquaredCaloVsPt
MonitorElement * mPtHat
MonitorElement * mPtRecoOverGen_GenPt_B_Cent_50_80
MonitorElement * mPFCandpT_vs_eta_NeutralHadron
MonitorElement * mSumPFPt_n1p131_n0p783
MonitorElement * mSumPFVsPtInitial_n2p650_n2p043
MonitorElement * mPtRecoOverGen_E_20_30_Cent_30_50
MonitorElement * mPFCandpT_Barrel_Unknown
MonitorElement * mPFCandpT_Barrel_EME_inHF
MonitorElement * mPFCandpT_Forward_Unknown
MonitorElement * mPtRecoOverGen_F_180_300_Cent_10_30
MonitorElement * mSumPFVsPt_n2p043_n1p740
MonitorElement * mSumCaloPt_1p131_1p479
void fillMatchHists(const double GenEta, const double GenPhi, const double GenPt, const double RecoEta, const double RecoPhi, const double RecoPt)
MonitorElement * mNJets_40
MonitorElement * mSumCaloVsPtInitial_1p740_2p043
MonitorElement * mSumPFVsPt_2p043_2p650
MonitorElement * mSumCaloVsPt_n1p740_n1p479
MonitorElement * mSumPFVsPt
MonitorElement * mPtRecoOverGen_F_300_Inf_Cent_50_80
MonitorElement * mSumCaloVsPt_1p131_1p479
edm::EDGetTokenT< reco::Centrality > centralityToken
MonitorElement * mPtRecoOverGen_F_20_30_Cent_10_30
MonitorElement * mPtRecoOverGen_GenEta_120_180_Cent_30_50
edm::EDGetTokenT< reco::BasicJetCollection > basicJetsToken_
MonitorElement * mPtRecoOverGen_E_80_120_Cent_10_30
MonitorElement * mPtRecoOverGen_B_80_120_Cent_30_50
MonitorElement * mPtRecoOverGen_F_50_80_Cent_10_30
MonitorElement * mPFCandpT_Endcap_NeutralHadron
MonitorElement * mPtRecoOverGen_E_80_120_Cent_0_10
MonitorElement * mPtRecoOverGen_E_30_50_Cent_0_10
MonitorElement * mSumPFPt_n0p522_0p522
MonitorElement * mSumPFPt_n5p191_n2p650
MonitorElement * mSumPFVsPtInitial_0p783_1p131
MonitorElement * mPtRecoOverGen_GenPt_E_Cent_10_30
MonitorElement * mSumCaloVsPtInitial_n5p191_n2p650
edm::EDGetTokenT< std::vector< reco::Vertex > > hiVertexToken_
MonitorElement * mSumCaloVsPtInitial_0p783_1p131
MonitorElement * mPtRecoOverGen_E_30_50_Cent_30_50
MonitorElement * mJetArea
MonitorElement * mPFCandpT_Forward_NeutralHadron
MonitorElement * mPtRecoOverGen_GenEta_30_50_Cent_50_80
MonitorElement * mSumPFVsPtInitial_n0p522_0p522
MonitorElement * mPFCandpT_vs_eta_photon
MonitorElement * mPFCandpT_Forward_photon
MonitorElement * mPFCandpT_Endcap_photon
MonitorElement * mPtRecoOverGen_B_80_120_Cent_10_30
MonitorElement * mSumPFPt_n2p043_n1p740
MonitorElement * mSumCaloPt_2p650_5p191
MonitorElement * mSumPFVsPt_1p740_2p043
MonitorElement * mPtRecoOverGen_F_20_30_Cent_0_10
MonitorElement * mPtRecoOverGen_GenEta_20_30_Cent_0_10
MonitorElement * mSumPFPt
MonitorElement * mPtRecoOverGen_B_30_50_Cent_0_10
MonitorElement * mPtRecoOverGen_GenEta_50_80_Cent_10_30
MonitorElement * mPtRecoOverGen_E_180_300_Cent_10_30
MonitorElement * mPtRecoOverGen_F_50_80_Cent_50_80
MonitorElement * mPtRecoOverGen_F_180_300_Cent_30_50
MonitorElement * mPtRecoOverGen_F_300_Inf_Cent_30_50
MonitorElement * mPtRecoOverGen_GenPt_E_Cent_30_50
MonitorElement * mPtRecoOverGen_B_30_50_Cent_10_30
MonitorElement * mNPFpart
MonitorElement * mPtRecoOverGen_GenPt_F_Cent_10_30
MonitorElement * mPFPt
MonitorElement * mPtRecoOverGen_F_80_120_Cent_50_80
MonitorElement * mSumPFVsPtInitial_1p740_2p043
edm::EDGetTokenT< GenEventInfoProduct > evtToken_
MonitorElement * mPtRecoOverGen_F_180_300_Cent_0_10
MonitorElement * mPtRecoOverGen_F_50_80_Cent_0_10
MonitorElement * mPtRecoOverGen_B_120_180_Cent_10_30
edm::EDGetTokenT< reco::JPTJetCollection > jptJetsToken_
MonitorElement * mPFCandpT_Endcap_EME_inHF
MonitorElement * mPFCandpT_Barrel_muon
const Double_t BarrelEta
MonitorElement * mSumPFVsPtInitial_2p650_5p191
MonitorElement * mPtRecoOverGen_GenEta_120_180_Cent_0_10
MonitorElement * mSumPFPt_0p522_0p783
MonitorElement * mPtRecoOverGen_GenEta_120_180_Cent_50_80
MonitorElement * mSumPFVsPt_n2p650_n2p043
MonitorElement * mPtRecoOverGen_E_300_Inf_Cent_30_50
static const size_t nedge_pseudorapidity
MonitorElement * mPtRecoOverGen_B_300_Inf_Cent_10_30
MonitorElement * mPtRecoOverGen_F_120_180_Cent_10_30
MonitorElement * mPtRecoOverGen_B_50_80_Cent_50_80
MonitorElement * mSumCaloVsPt_n2p650_n2p043
MonitorElement * mPtRecoOverGen_E_20_30_Cent_10_30
MonitorElement * mSumPFPt_1p131_1p479
MonitorElement * mPtRecoOverGen_F_80_120_Cent_10_30
edm::InputTag centralityTag_
MonitorElement * mPFCandpT_Forward_ChargedHadron
MonitorElement * mSumCaloVsPt_2p043_2p650
MonitorElement * mSumPFVsPtInitial_n1p740_n1p479
MonitorElement * mPFCandpT_Endcap_HadE_inHF
MonitorElement * mSumPFVsPt_n5p191_n2p650
MonitorElement * mPFCandpT_Forward_electron
MonitorElement * mPtRecoOverGen_F_120_180_Cent_0_10
MonitorElement * mConstituents
MonitorElement * mPFCandpT_vs_eta_ChargedHadron
MonitorElement * mPFVsPtInitial
MonitorElement * mSumPFPt_1p740_2p043
const Double_t EndcapEta
edm::EDGetTokenT< reco::CandidateView > pfCandViewToken_
MonitorElement * mSumCaloVsPt_n5p191_n2p650
MonitorElement * mSumSquaredPFVsPtInitial
MonitorElement * mSumCaloVsPt_n1p131_n0p783
MonitorElement * mPtRecoOverGen_GenEta_80_120_Cent_50_80
MonitorElement * mPtRecoOverGen_B_30_50_Cent_30_50
MonitorElement * mPtRecoOverGen_B_80_120_Cent_50_80
edm::EDGetTokenT< reco::GenJetCollection > genJetsToken_
MonitorElement * mSumPFVsPt_n1p131_n0p783
std::string JetCorrectionService
edm::EDGetTokenT< std::vector< reco::Vertex > > pvToken_
MonitorElement * mPFCandpT_Forward_muon
MonitorElement * mPtRecoOverGen_B_80_120_Cent_0_10
MonitorElement * mPtRecoOverGen_GenEta_300_Inf_Cent_30_50
MonitorElement * mSumPFVsPtInitial_n5p191_n2p650
MonitorElement * mSumPFPt_n1p479_n1p131
MonitorElement * mCaloVsPt
MonitorElement * mPtRecoOverGen_B_120_180_Cent_0_10
MonitorElement * mSumPFPt_2p043_2p650
MonitorElement * mSumPFVsPtInitial_1p131_1p479
MonitorElement * mPtRecoOverGen_GenPt_F_Cent_30_50
MonitorElement * mPFCandpT_vs_eta_HadE_inHF
MonitorElement * mCaloVsPtInitial
MonitorElement * mCaloEta
MonitorElement * mPtRecoOverGen_E_120_180_Cent_10_30
MonitorElement * mPtRecoOverGen_GenEta_30_50_Cent_30_50
MonitorElement * mSumCaloVsPtInitial_n0p522_0p522
MonitorElement * mPFCandpT_Endcap_Unknown
MonitorElement * mSumCaloVsPt_HF
MonitorElement * mSumCaloPt_n0p783_n0p522
MonitorElement * mPFEta
MonitorElement * mGenPhi
MonitorElement * mPtRecoOverGen_B_120_180_Cent_50_80
MonitorElement * mPtRecoOverGen_F_80_120_Cent_0_10
MonitorElement * mSumCaloVsPt_0p783_1p131
MonitorElement * mPFCandpT_vs_eta_electron
MonitorElement * mPFCandpT_vs_eta_Unknown
MonitorElement * mCaloPhi
MonitorElement * mPFCandpT_Endcap_ChargedHadron
MonitorElement * mSumPFVsPtInitial_n2p043_n1p740
MonitorElement * mSumCaloVsPtInitial_n2p650_n2p043
MonitorElement * mPtRecoOverGen_F_50_80_Cent_30_50
MonitorElement * mPFCandpT_Forward_EME_inHF
MonitorElement * mSumCaloPt_0p783_1p131
MonitorElement * mSumCaloVsPtInitial_2p043_2p650
MonitorElement * mPtRecoOverGen_E_80_120_Cent_30_50
MonitorElement * mSumpt
MonitorElement * mPtRecoOverGen_GenEta_80_120_Cent_0_10
MonitorElement * mPtRecoOverGen_E_180_300_Cent_30_50
MonitorElement * mPtRecoOverGen_E_50_80_Cent_50_80
edm::EDGetTokenT< int > centralityBinToken
MonitorElement * mSumPFPt_HF
MonitorElement * mPtRecoOverGen_GenPt_F_Cent_0_10
edm::Handle< int > centralityBin_
MonitorElement * mPtRecoOverGen_GenPt_B_Cent_0_10
MonitorElement * mPtRecoOverGen_B_180_300_Cent_30_50
MonitorElement * mPtRecoOverGen_F_180_300_Cent_50_80
MonitorElement * mSumPFVsPtInitial_0p522_0p783
MonitorElement * mSumPFVsPtInitial_1p479_1p740
MonitorElement * mPtRecoOverGen_GenEta_300_Inf_Cent_10_30
MonitorElement * mSumPFPt_2p650_5p191
MonitorElement * mGenEta
MonitorElement * mPtRecoOverGen_E_300_Inf_Cent_50_80
MonitorElement * mSumPFVsPtInitial_2p043_2p650
MonitorElement * mPtRecoOverGen_GenPt_B_Cent_30_50
MonitorElement * mPtRecoOverGen_GenEta_80_120_Cent_10_30
MonitorElement * mPtRecoOverGen_E_120_180_Cent_30_50
MonitorElement * mPtRecoOverGen_B_180_300_Cent_0_10
MonitorElement * mPtRecoOverGen_B_180_300_Cent_50_80
MonitorElement * mPFCandpT_Barrel_NeutralHadron
MonitorElement * mSumCaloPt_HF
MonitorElement * mPFCandpT_Forward_HadE_inHF
MonitorElement * mNvtx
MonitorElement * mSumPFVsPt_n0p783_n0p522
MonitorElement * mDeltapT_eta
MonitorElement * mPtRecoOverGen_GenEta_180_300_Cent_50_80
MonitorElement * mSumCaloVsPtInitial_HF
MonitorElement * mSumCaloVsPtInitial_1p479_1p740
MonitorElement * mMass
MonitorElement * mPtRecoOverGen_GenEta_300_Inf_Cent_0_10
MonitorElement * mSumPFVsPt_n1p479_n1p131
const Double_t ForwardEta
edm::InputTag mInputGenCollection
MonitorElement * mPtRecoOverGen_GenEta_50_80_Cent_50_80
MonitorElement * mSumPFPt_n1p740_n1p479
MonitorElement * mPFArea
MonitorElement * mSumCaloVsPtInitial_1p131_1p479
MonitorElement * mPtRecoOverGen_GenEta_120_180_Cent_10_30
MonitorElement * mPtRecoOverGen_GenEta_20_30_Cent_50_80
MonitorElement * mSumCaloVsPt_2p650_5p191
MonitorElement * mPFCandpT_Endcap_electron
MonitorElement * mPtRecoOverGen_B_20_30_Cent_50_80
MonitorElement * mSumPFVsPt_1p479_1p740
MonitorElement * mPFCandpT_Barrel_electron
MonitorElement * mPtRecoOverGen_GenEta_180_300_Cent_10_30
MonitorElement * mSumCaloVsPtInitial_2p650_5p191
MonitorElement * mSumPFVsPt_0p783_1p131
edm::EDGetTokenT< edm::ValueMap< reco::VoronoiBackground > > backgrounds_
MonitorElement * mPtRecoOverGen_E_180_300_Cent_50_80
MonitorElement * mPtRecoOverGen_B_50_80_Cent_10_30
MonitorElement * mSumCaloVsPt_0p522_0p783
MonitorElement * mPtRecoOverGen_GenEta_30_50_Cent_10_30
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken_
MonitorElement * mPFCandpT_Endcap_muon
MonitorElement * mPtRecoOverGen_F_300_Inf_Cent_10_30
MonitorElement * mPtRecoOverGen_E_180_300_Cent_0_10
MonitorElement * mSumSquaredCaloVsPtInitial
MonitorElement * mSumPFVsPt_0p522_0p783
MonitorElement * mSumCaloPt_1p740_2p043
MonitorElement * mPtRecoOverGen_GenEta_80_120_Cent_30_50
MonitorElement * mSumPFVsPtInitial_n1p479_n1p131
Definition: Run.h:45
MonitorElement * mPtRecoOverGen_E_50_80_Cent_0_10
MonitorElement * mPtRecoOverGen_GenPt_E_Cent_50_80
MonitorElement * mPtRecoOverGen_B_30_50_Cent_50_80
MonitorElement * mSumCaloPt_n1p479_n1p131
MonitorElement * mPFVsPt
MonitorElement * mPtRecoOverGen_B_300_Inf_Cent_50_80
MonitorElement * mPtRecoOverGen_F_20_30_Cent_50_80
MonitorElement * mSumPFVsPtInitial_n0p783_n0p522
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * mPtRecoOverGen_E_300_Inf_Cent_0_10
MonitorElement * mPtRecoOverGen_E_120_180_Cent_0_10
MonitorElement * mjetpileup
MonitorElement * mSumCaloVsPt