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 
68 
69 const Int_t MAXPARTICLE = 10000;
70 const Double_t BarrelEta = 2.0;
71 const Double_t EndcapEta = 3.0;
72 const Double_t ForwardEta = 5.0;
73 
75 public:
76  explicit JetTester_HeavyIons(const edm::ParameterSet &);
77  ~JetTester_HeavyIons() override;
78 
79  void analyze(const edm::Event &, const edm::EventSetup &) override;
80  // virtual void beginJob();
81  // virtual void endJob();
82  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
83  // reco::Vertex::Point getVtx(const edm::Event& ev);
84 
85  // double getEt(const DetID )
86 
87 private:
88  void fillMatchHists(const double GenEta,
89  const double GenPhi,
90  const double GenPt,
91  const double RecoEta,
92  const double RecoPhi,
93  const double RecoPt);
94 
98  // edm::InputTag mInputCandCollection;
99  // edm::InputTag rhoTag;
103 
107 
116  double mRThreshold;
118 
119  // Tokens
131  // edm::EDGetTokenT<reco::VoronoiMap> backgrounds_;
135 
136  // Include Particle flow variables
152 
156 
160 
164 
168 
169  // Event variables (including centrality)
172 
173  // new additions Jan 12th 2015
179 
183 
199 
215 
231 
247 
263 
279 
280  // Jet parameters
292 
293  // histograms added on Oct 27th to study the gen-reco
298 
320 
342 
364 
386 
387  // generation profiles
400 
408 
416 
424 
432 
441 
450 
459 
468 
469  // Parameters
470 
471  bool isCaloJet;
472  bool isJPTJet;
473  bool isPFJet;
474 
475  static const Int_t fourierOrder_ = 5;
476  static const Int_t etaBins_ = 15;
477 
478  static const size_t nedge_pseudorapidity = etaBins_ + 1;
479 };
480 
481 #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