37 bool is_B (
const reco::Jet& fJet) {
return fabs (fJet.
eta()) < 1.3;}
38 bool is_E (
const reco::Jet& fJet) {
return fabs (fJet.
eta()) >= 1.3 && fabs (fJet.
eta()) < 3.;}
39 bool is_F (
const reco::Jet& fJet) {
return fabs (fJet.
eta()) >= 3.;}
43 : mInputCollection (iConfig.getParameter<edm::
InputTag>(
"src" )),
44 mInputGenCollection (iConfig.getParameter<edm::
InputTag>(
"srcGen" )),
45 rho_tag_ (iConfig.getParameter<edm::
InputTag>(
"srcRho" )),
46 mOutputFile (iConfig.getUntrackedParameter<std::string>(
"outputFile",
"")),
47 mMatchGenPtThreshold (iConfig.getParameter<double>(
"genPtThreshold")),
48 mGenEnergyFractionThreshold (iConfig.getParameter<double>(
"genEnergyFractionThreshold")),
49 mReverseEnergyFractionThreshold (iConfig.getParameter<double>(
"reverseEnergyFractionThreshold")),
50 mRThreshold (iConfig.getParameter<double>(
"RThreshold")),
51 mTurnOnEverything (iConfig.getUntrackedParameter<std::string>(
"TurnOnEverything",
""))
123 mPhi = dbe->
book1D(
"Phi",
"Phi", 70, -3.5, 3.5);
126 mE = dbe->
book1D(
"E",
"E", 100, 0, 500);
129 mP = dbe->
book1D(
"P",
"P", 100, 0, 500);
132 mPt = dbe->
book1D(
"Pt",
"Pt", 100, 0, 150);
147 mMjj = dbe->
book1D(
"Mjj",
"Mjj", 100, 0, 2000);
270 double log10PtMin = 0.5;
271 double log10PtMax = 3.75;
272 int log10PtBins = 26;
276 double etaRange[91] = {-6.0,-5.8,-5.6,-5.4,-5.2,-5.0,-4.8,-4.6,-4.4,-4.2,-4.0,-3.8,-3.6,-3.4,-3.2,-3.0,-2.9,-2.8,-2.7,-2.6,-2.5,-2.4,-2.3,-2.2,-2.1,-2.0,-1.9,-1.8,-1.7,-1.6,-1.5,-1.4,-1.3,-1.2,-1.1,-1.0,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1,0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.2,3.4,3.6,3.8,4.0,4.2,4.4,4.6,4.8,5.0,5.2,5.4,5.6,5.8,6.0};
342 log10PtBins, log10PtMin, log10PtMax, 0, 2,
" ");
344 log10PtBins, log10PtMin, log10PtMax, 0, 2,
" ");
346 log10PtBins, log10PtMin, log10PtMax, 0, 2,
" ");
348 70, -3.5, 3.5, 0, 2,
" ");
350 70, -3.5, 3.5, 0, 2,
" ");
352 70, -3.5, 3.5, 0, 2,
" ");
364 90,etaRange, 0., 2.,
" ");
366 90,etaRange, 0., 2.,
" ");
368 90,etaRange, 0., 2.,
" ");
370 90,etaRange, 0., 2.,
" ");
413 LogInfo(
"OutputInfo") <<
" PFJet histograms will NOT be saved";
434 double countsfornumberofevents = 1;
443 HepMC::GenEvent * myGenEvent =
new HepMC::GenEvent(*(evt->GetEvent()));
445 double pthat = myGenEvent->event_scale();
492 mEvent.
getByLabel(
"towerMaker", caloTowers );
515 std::vector<edm::Handle<HBHERecHitCollection> > colls;
517 std::vector<edm::Handle<HBHERecHitCollection> >::iterator
i;
518 for (i=colls.begin(); i!=colls.end(); i++) {
538 std::vector<edm::Handle<HFRecHitCollection> > colls;
540 std::vector<edm::Handle<HFRecHitCollection> >::iterator
i;
541 for (i=colls.begin(); i!=colls.end(); i++) {
557 std::vector<edm::Handle<HORecHitCollection> > colls;
559 std::vector<edm::Handle<HORecHitCollection> >::iterator
i;
560 for (i=colls.begin(); i!=colls.end(); i++) {
574 std::vector<edm::Handle<EBRecHitCollection> > colls;
576 std::vector<edm::Handle<EBRecHitCollection> >::iterator
i;
577 for (i=colls.begin(); i!=colls.end(); i++) {
592 std::vector<edm::Handle<EERecHitCollection> > colls;
594 std::vector<edm::Handle<EERecHitCollection> >::iterator
i;
595 for (i=colls.begin(); i!=colls.end(); i++) {
626 PFJetCollection::const_iterator
jet = pfJets->begin ();
631 for (; jet != pfJets->end (); jet++, jetIndex++) {
633 if (jet->pt() > 10.) {
634 if (fabs(jet->eta()) > 1.5)
639 if (jet->pt() > 10.) {
662 if (jet == pfJets->begin ()) {
671 p4tmp[0] = jet->p4();
675 p4tmp[1] = jet->p4();
755 for (
int istep = 0; istep < 100; ++istep) {
757 float ptStep = (istep * (200./100.));
759 for ( PFJetCollection::const_iterator cal = pfJets->begin(); cal != pfJets->end(); ++ cal ) {
760 if ( cal->pt() > ptStep ) njet++;
765 for (
int istep = 0; istep < 100; ++istep) {
767 float ptStep = (istep * (4000./100.));
768 for ( PFJetCollection::const_iterator cal = pfJets->begin(); cal != pfJets->end(); ++ cal ) {
769 if ( cal->pt() > ptStep ) njet++;
778 if (!genJets.
isValid())
return;
779 GenJetCollection::const_iterator gjet = genJets->begin ();
781 for (; gjet != genJets->end (); gjet++, gjetIndex++) {
786 if (gjet == genJets->begin ()) {
799 std::vector <std::vector <const reco::GenParticle*> > genJetConstituents (genJets->size());
800 std::vector <std::vector <const reco::GenParticle*> > pfJetConstituents (pfJets->size());
815 for (
unsigned iGenJet = 0; iGenJet < genJets->size(); ++iGenJet) {
817 const GenJet& genJet = (*genJets) [iGenJet];
818 double genJetPt = genJet.
pt();
822 if (fabs(genJet.
eta()) > 6.)
continue;
827 if (pfJets->size() <= 0)
continue;
829 unsigned iPFJetBest = 0;
830 double deltaRBest = 999.;
831 for (
unsigned iPFJet = 0; iPFJet < pfJets->size(); ++iPFJet) {
832 double dR =
deltaR (genJet.
eta(), genJet.
phi(), (*pfJets) [iPFJet].eta(), (*pfJets) [iPFJet].phi());
841 if (dR < deltaRBest) {
887 double logPtGen = log10 (fGenJet.
pt());
888 double PtGen = fGenJet.
pt();
889 double PtPF = fPFJet.
pt();
893 double PtThreshold = 10.;
904 if (fGenJet.
pt()>PtThreshold) {
910 if (fPFJet.
pt() > PtThreshold) {
916 if (fabs(fGenJet.
eta())<1.5) {
922 if (PtGen>30.0 && PtGen<200.0) {
925 if (PtGen>200.0 && PtGen<600.0) {
928 if (PtGen>600.0 && PtGen<1500.0) {
931 if (PtGen>1500.0 && PtGen<3500.0) {
937 if (fabs(fGenJet.
eta())>1.5 && fabs(fGenJet.
eta())<3.0) {
943 if (PtGen>30.0 && PtGen<200.0) {
946 if (PtGen>200.0 && PtGen<600.0) {
949 if (PtGen>600.0 && PtGen<1500.0) {
952 if (PtGen>1500.0 && PtGen<3500.0) {
958 if (fabs(fGenJet.
eta())>3.0 && fabs(fGenJet.
eta())<6.0) {
964 if (PtGen>30.0 && PtGen<200.0) {
967 if (PtGen>200.0 && PtGen<600.0) {
970 if (PtGen>600.0 && PtGen<1500.0) {
973 if (PtGen>1500.0 && PtGen<3500.0) {
979 if (fGenJet.
pt()>30.0 && fGenJet.
pt()<200.0) {
985 if (fGenJet.
pt()>200.0 && fGenJet.
pt()<600.0) {
991 if (fGenJet.
pt()>600.0 && fGenJet.
pt()<1500.0) {
997 if (fGenJet.
pt()>1500.0 && fGenJet.
pt()<3500.0) {
MonitorElement * mDeltaPhi
MonitorElement * mPhiFineBin
MonitorElement * mChargedHadronEnergyFraction_F
void getManyByType(std::vector< Handle< PROD > > &results) const
MonitorElement * mNJetsEtaC
MonitorElement * mNeutralEmEnergyFraction_F
MonitorElement * mEmEnergyInHF_3000
MonitorElement * mHadTiming
MonitorElement * numberofevents
MonitorElement * mGenPhiFirst
MonitorElement * mpTScale1DE_1500_3500
MonitorElement * mNeutralEmEnergyFraction_B
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * mMass_80
MonitorElement * mNJetsEtaF
MonitorElement * mNeutralHadronEnergyFraction_E
MonitorElement * mpTScalePhiE_d
Base class for all types of Jets.
MonitorElement * mMjj_3000
std::vector< CaloTower >::const_iterator const_iterator
MonitorElement * mPtFirst
MonitorElement * mEtaFirst
MonitorElement * mpTScale1DE_600_1500
MonitorElement * mChargedEmEnergy_3000
MonitorElement * mpTScaleB_d
MonitorElement * mGenEtaFirst
PFJetTesterUnCorr(const edm::ParameterSet &)
MonitorElement * mNeutralEmEnergyFraction_E
Jets made from PFObjects.
virtual double eta() const
momentum pseudorapidity
edm::InputTag mInputGenCollection
MonitorElement * mChargedHadronEnergyFraction_B
MonitorElement * mChargedHadronEnergyFraction_E
MonitorElement * mNeutralHadronEnergy_80
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
MonitorElement * mpTScale1DF_200_600
MonitorElement * mPthat_3000
virtual double energy() const
energy
MonitorElement * mGenPt_80
MonitorElement * mEmTiming
MonitorElement * mpTScale1DB_600_1500
MonitorElement * mpTScale_1500_3500_d
MonitorElement * mpTScale1DE_200_600
MonitorElement * mpTScaleE_d
MonitorElement * mNeutralHadronEnergy_3000
MonitorElement * mpTScale1DF_1500_3500
std::string mTurnOnEverything
edm::InputTag mInputCollection
MonitorElement * mpTScale_600_1500_d
MonitorElement * mPhiFirst
void fillMatchHists(const reco::GenJet &fGenJet, const reco::PFJet &fPFJet)
Gen Close.
Jets made from MC generator particles.
MonitorElement * mChargedHadronEnergy_80
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
MonitorElement * mChargedEmEnergyFraction_E
MonitorElement * mpTScalePhiF_d
MonitorElement * mEmEnergyInHF
double mMatchGenPtThreshold
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
MonitorElement * mPthat_80
MonitorElement * mpTScale1DB_30_200
double deltaR(double eta1, double eta2, double phi1, double phi2)
MonitorElement * mNeutralEmEnergy_80
MonitorElement * mpTScaleF_d
MonitorElement * mDeltaEta
MonitorElement * mEScale_pt10
MonitorElement * mNeutralHadronEnergyFraction_F
MonitorElement * mPtFirst_3000
MonitorElement * mChargedHadronEnergy_3000
MonitorElement * mEtaFineBin
virtual double pt() const
transverse momentum
MonitorElement * mpTScale1DB_200_600
MonitorElement * mConstituents
MonitorElement * mChargedEmEnergyFraction_B
MonitorElement * mNeutralHadronEnergyFraction_B
MonitorElement * mpTScalePhiB_d
MonitorElement * mpTScale_30_200_d
MonitorElement * mpTScale1DF_30_200
MonitorElement * mjetArea
MonitorElement * mConstituents_80
MonitorElement * mChargedEmEnergy_80
MonitorElement * mpTScale1DB_1500_3500
MonitorElement * mpTScale_200_600_d
MonitorElement * mHadEnergyInHF_80
MonitorElement * mHadEnergyInHF
MonitorElement * mNeutralEmEnergy_3000
MonitorElement * mChargedEmEnergyFraction_F
virtual double phi() const
momentum azimuthal angle
MonitorElement * mPtFirst_80
MonitorElement * mpTScale1DF_600_1500
MonitorElement * mEScaleFineBin
MonitorElement * mpTScale1DE_30_200
void setCurrentFolder(const std::string &fullpath)
MonitorElement * mHadEnergyInHF_3000
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * mEmEnergyInHF_80