Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:33:07

0001 // -*- C++ -*-
0002 //
0003 // Package:    Validation/RecoMET
0004 // Class:      METTesterPostProcessor
0005 //
0006 // Original Author:  "Matthias Weber"
0007 //         Created:  Sun Feb 22 14:35:25 CET 2015
0008 //
0009 
0010 #include "FWCore/Framework/interface/LuminosityBlock.h"
0011 #include "FWCore/Framework/interface/Run.h"
0012 #include "Validation/RecoJets/plugins/JetTesterPostProcessor.h"
0013 
0014 // Some switches
0015 //
0016 // constructors and destructor
0017 //
0018 JetTesterPostProcessor::JetTesterPostProcessor(const edm::ParameterSet &iConfig) {
0019   inputJetLabelRECO_ = iConfig.getParameter<edm::InputTag>("JetTypeRECO");
0020   inputJetLabelMiniAOD_ = iConfig.getParameter<edm::InputTag>("JetTypeMiniAOD");
0021 }
0022 
0023 JetTesterPostProcessor::~JetTesterPostProcessor() {}
0024 
0025 // ------------ method called right after a run ends ------------
0026 void JetTesterPostProcessor::dqmEndJob(DQMStore::IBooker &ibook_, DQMStore::IGetter &iget_) {
0027   std::vector<std::string> subDirVec;
0028   std::string RunDir = "JetMET/JetValidation/";
0029   iget_.setCurrentFolder(RunDir);
0030   jet_dirs = iget_.getSubdirs();
0031   bool found_reco_dir = false;
0032   bool found_miniaod_dir = false;
0033   // loop over jet subdirectories
0034   for (int i = 0; i < int(jet_dirs.size()); i++) {
0035     ibook_.setCurrentFolder(jet_dirs[i]);
0036     if (jet_dirs[i] == (RunDir + inputJetLabelRECO_.label())) {
0037       found_reco_dir = true;
0038     }
0039     if (jet_dirs[i] == (RunDir + inputJetLabelMiniAOD_.label())) {
0040       found_miniaod_dir = true;
0041     }
0042   }
0043   if (found_miniaod_dir && found_reco_dir) {
0044     std::string rundir_reco = RunDir + inputJetLabelRECO_.label();
0045     std::string rundir_miniaod = RunDir + inputJetLabelMiniAOD_.label();
0046 
0047     MonitorElement *mGenPt_Reco = iget_.get(rundir_reco + "/" + "GenPt");
0048     MonitorElement *mGenPhi_Reco = iget_.get(rundir_reco + "/" + "GenPhi");
0049     MonitorElement *mGenEta_Reco = iget_.get(rundir_reco + "/" + "GenEta");
0050     MonitorElement *mPt_Reco = iget_.get(rundir_reco + "/" + "Pt");
0051     MonitorElement *mPhi_Reco = iget_.get(rundir_reco + "/" + "Phi");
0052     MonitorElement *mEta_Reco = iget_.get(rundir_reco + "/" + "Eta");
0053     MonitorElement *mCorrJetPt_Reco = iget_.get(rundir_reco + "/" + "CorrJetPt");
0054     MonitorElement *mCorrJetPhi_Reco = iget_.get(rundir_reco + "/" + "CorrJetPhi");
0055     MonitorElement *mCorrJetEta_Reco = iget_.get(rundir_reco + "/" + "CorrJetEta");
0056     /*
0057     map_string_vec.push_back("Pt");
0058     map_string_vec.push_back("Phi");
0059     map_string_vec.push_back("Eta");
0060     map_string_vec.push_back("CorrJetPt");
0061     map_string_vec.push_back("CorrJetPhi");
0062     map_string_vec.push_back("CorrJetEta");
0063     map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"Pt"
0064     ,mPt_Reco));
0065     map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"Phi"
0066     ,mPhi_Reco));
0067     map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"Eta"
0068     ,mEta_Reco));
0069     map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"CorrJetPt"
0070     ,mCorrJetPt_Reco));
0071     map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"CorrJetPhi"
0072     ,mCorrJetPhi_Reco));
0073     map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"CorrJetEta"
0074     ,mCorrJetEta_Reco));
0075     */
0076     MonitorElement *mPtCorrOverReco_Eta_20_40_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverReco_Eta_20_40");
0077     MonitorElement *mPtCorrOverReco_Eta_200_600_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverReco_Eta_200_600");
0078     MonitorElement *mPtCorrOverReco_Eta_1500_3500_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverReco_Eta_1500_3500");
0079     MonitorElement *mPtCorrOverGen_GenEta_40_200_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverGen_GenEta_40_200");
0080     MonitorElement *mPtCorrOverGen_GenEta_600_1500_Reco =
0081         iget_.get(rundir_reco + "/" + "PtCorrOverGen_GenEta_600_1500");
0082     MonitorElement *mDeltaEta_Reco = iget_.get(rundir_reco + "/" + "DeltaEta");
0083     MonitorElement *mDeltaPhi_Reco = iget_.get(rundir_reco + "/" + "DeltaPhi");
0084     MonitorElement *mDeltaPt_Reco = iget_.get(rundir_reco + "/" + "DeltaPt");
0085     MonitorElement *mMjj_Reco = iget_.get(rundir_reco + "/" + "Mjj");
0086     MonitorElement *mNJets40_Reco = iget_.get(rundir_reco + "/" + "NJets");
0087     MonitorElement *mchargedHadronMultiplicity_Reco = iget_.get(rundir_reco + "/" + "chargedHadronMultiplicity");
0088     MonitorElement *mneutralHadronMultiplicity_Reco = iget_.get(rundir_reco + "/" + "neutralHadronMultiplicity");
0089     MonitorElement *mphotonMultiplicity_Reco = iget_.get(rundir_reco + "/" + "photonMultiplicity");
0090     MonitorElement *mphotonEnergyFraction_Reco = iget_.get(rundir_reco + "/" + "photonEnergyFraction");
0091     MonitorElement *mneutralHadronEnergyFraction_Reco = iget_.get(rundir_reco + "/" + "neutralHadronEnergyFraction");
0092     MonitorElement *mchargedHadronEnergyFraction_Reco = iget_.get(rundir_reco + "/" + "chargedHadronEnergyFraction");
0093 
0094     std::vector<MonitorElement *> ME_Reco;
0095     ME_Reco.push_back(mGenPt_Reco);
0096     ME_Reco.push_back(mGenPhi_Reco);
0097     ME_Reco.push_back(mGenEta_Reco);
0098     ME_Reco.push_back(mPt_Reco);
0099     ME_Reco.push_back(mPhi_Reco);
0100     ME_Reco.push_back(mEta_Reco);
0101     ME_Reco.push_back(mCorrJetPt_Reco);
0102     ME_Reco.push_back(mCorrJetPhi_Reco);
0103     ME_Reco.push_back(mCorrJetEta_Reco);
0104     ME_Reco.push_back(mPtCorrOverReco_Eta_20_40_Reco);
0105     ME_Reco.push_back(mPtCorrOverReco_Eta_200_600_Reco);
0106     ME_Reco.push_back(mPtCorrOverReco_Eta_1500_3500_Reco);
0107     ME_Reco.push_back(mPtCorrOverGen_GenEta_40_200_Reco);
0108     ME_Reco.push_back(mPtCorrOverGen_GenEta_600_1500_Reco);
0109     ME_Reco.push_back(mDeltaEta_Reco);
0110     ME_Reco.push_back(mDeltaPhi_Reco);
0111     ME_Reco.push_back(mDeltaPt_Reco);
0112     ME_Reco.push_back(mMjj_Reco);
0113     ME_Reco.push_back(mNJets40_Reco);
0114     ME_Reco.push_back(mchargedHadronMultiplicity_Reco);
0115     ME_Reco.push_back(mneutralHadronMultiplicity_Reco);
0116     ME_Reco.push_back(mphotonMultiplicity_Reco);
0117     ME_Reco.push_back(mphotonEnergyFraction_Reco);
0118     ME_Reco.push_back(mneutralHadronEnergyFraction_Reco);
0119     ME_Reco.push_back(mchargedHadronEnergyFraction_Reco);
0120 
0121     MonitorElement *mGenPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "GenPt");
0122     MonitorElement *mGenPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "GenPhi");
0123     MonitorElement *mGenEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "GenEta");
0124     MonitorElement *mPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "Pt");
0125     MonitorElement *mPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "Phi");
0126     MonitorElement *mEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "Eta");
0127     MonitorElement *mCorrJetPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "CorrJetPt");
0128     MonitorElement *mCorrJetPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "CorrJetPhi");
0129     MonitorElement *mCorrJetEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "CorrJetEta");
0130     MonitorElement *mPtCorrOverReco_Eta_20_40_MiniAOD = iget_.get(rundir_miniaod + "/" + "PtCorrOverReco_Eta_20_40");
0131     MonitorElement *mPtCorrOverReco_Eta_200_600_MiniAOD =
0132         iget_.get(rundir_miniaod + "/" + "PtCorrOverReco_Eta_200_600");
0133     MonitorElement *mPtCorrOverReco_Eta_1500_3500_MiniAOD =
0134         iget_.get(rundir_miniaod + "/" + "PtCorrOverReco_Eta_1500_3500");
0135     MonitorElement *mPtCorrOverGen_GenEta_40_200_MiniAOD =
0136         iget_.get(rundir_miniaod + "/" + "PtCorrOverGen_GenEta_40_200");
0137     MonitorElement *mPtCorrOverGen_GenEta_600_1500_MiniAOD =
0138         iget_.get(rundir_miniaod + "/" + "PtCorrOverGen_GenEta_600_1500");
0139     MonitorElement *mDeltaEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "DeltaEta");
0140     MonitorElement *mDeltaPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "DeltaPhi");
0141     MonitorElement *mDeltaPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "DeltaPt");
0142     MonitorElement *mMjj_MiniAOD = iget_.get(rundir_miniaod + "/" + "Mjj");
0143     MonitorElement *mNJets40_MiniAOD = iget_.get(rundir_miniaod + "/" + "NJets");
0144     MonitorElement *mchargedHadronMultiplicity_MiniAOD = iget_.get(rundir_miniaod + "/" + "chargedHadronMultiplicity");
0145     MonitorElement *mneutralHadronMultiplicity_MiniAOD = iget_.get(rundir_miniaod + "/" + "neutralHadronMultiplicity");
0146     MonitorElement *mphotonMultiplicity_MiniAOD = iget_.get(rundir_miniaod + "/" + "photonMultiplicity");
0147     MonitorElement *mphotonEnergyFraction_MiniAOD = iget_.get(rundir_miniaod + "/" + "photonEnergyFraction");
0148     MonitorElement *mneutralHadronEnergyFraction_MiniAOD =
0149         iget_.get(rundir_miniaod + "/" + "neutralHadronEnergyFraction");
0150     MonitorElement *mchargedHadronEnergyFraction_MiniAOD =
0151         iget_.get(rundir_miniaod + "/" + "chargedHadronEnergyFraction");
0152 
0153     std::vector<MonitorElement *> ME_MiniAOD;
0154     ME_MiniAOD.push_back(mGenPt_MiniAOD);
0155     ME_MiniAOD.push_back(mGenPhi_MiniAOD);
0156     ME_MiniAOD.push_back(mGenEta_MiniAOD);
0157     ME_MiniAOD.push_back(mPt_MiniAOD);
0158     ME_MiniAOD.push_back(mPhi_MiniAOD);
0159     ME_MiniAOD.push_back(mEta_MiniAOD);
0160     ME_MiniAOD.push_back(mCorrJetPt_MiniAOD);
0161     ME_MiniAOD.push_back(mCorrJetPhi_MiniAOD);
0162     ME_MiniAOD.push_back(mCorrJetEta_MiniAOD);
0163     ME_MiniAOD.push_back(mPtCorrOverReco_Eta_20_40_MiniAOD);
0164     ME_MiniAOD.push_back(mPtCorrOverReco_Eta_200_600_MiniAOD);
0165     ME_MiniAOD.push_back(mPtCorrOverReco_Eta_1500_3500_MiniAOD);
0166     ME_MiniAOD.push_back(mPtCorrOverGen_GenEta_40_200_MiniAOD);
0167     ME_MiniAOD.push_back(mPtCorrOverGen_GenEta_600_1500_MiniAOD);
0168     ME_MiniAOD.push_back(mDeltaEta_MiniAOD);
0169     ME_MiniAOD.push_back(mDeltaPhi_MiniAOD);
0170     ME_MiniAOD.push_back(mDeltaPt_MiniAOD);
0171     ME_MiniAOD.push_back(mMjj_MiniAOD);
0172     ME_MiniAOD.push_back(mNJets40_MiniAOD);
0173     ME_MiniAOD.push_back(mchargedHadronMultiplicity_MiniAOD);
0174     ME_MiniAOD.push_back(mneutralHadronMultiplicity_MiniAOD);
0175     ME_MiniAOD.push_back(mphotonMultiplicity_MiniAOD);
0176     ME_MiniAOD.push_back(mphotonEnergyFraction_MiniAOD);
0177     ME_MiniAOD.push_back(mneutralHadronEnergyFraction_MiniAOD);
0178     ME_MiniAOD.push_back(mchargedHadronEnergyFraction_MiniAOD);
0179 
0180     ibook_.setCurrentFolder(RunDir + "MiniAOD_over_RECO");
0181     mGenPt_MiniAOD_over_Reco = ibook_.book1D("GenPt_MiniAOD_over_RECO", (TH1F *)mGenPt_Reco->getRootObject());
0182     mGenPhi_MiniAOD_over_Reco = ibook_.book1D("GenPhi_MiniAOD_over_RECO", (TH1F *)mGenPhi_Reco->getRootObject());
0183     mGenEta_MiniAOD_over_Reco = ibook_.book1D("GenEta_MiniAOD_over_RECO", (TH1F *)mGenEta_Reco->getRootObject());
0184     mPt_MiniAOD_over_Reco = ibook_.book1D("Pt_MiniAOD_over_RECO", (TH1F *)mPt_Reco->getRootObject());
0185     mPhi_MiniAOD_over_Reco = ibook_.book1D("Phi_MiniAOD_over_RECO", (TH1F *)mPhi_Reco->getRootObject());
0186     mEta_MiniAOD_over_Reco = ibook_.book1D("Eta_MiniAOD_over_RECO", (TH1F *)mEta_Reco->getRootObject());
0187     mCorrJetPt_MiniAOD_over_Reco =
0188         ibook_.book1D("CorrJetPt_MiniAOD_over_RECO", (TH1F *)mCorrJetPt_Reco->getRootObject());
0189     mCorrJetPhi_MiniAOD_over_Reco =
0190         ibook_.book1D("CorrJetPhi_MiniAOD_over_RECO", (TH1F *)mCorrJetPhi_Reco->getRootObject());
0191     mCorrJetEta_MiniAOD_over_Reco =
0192         ibook_.book1D("CorrJetEta_MiniAOD_over_RECO", (TH1F *)mCorrJetEta_Reco->getRootObject());
0193 
0194     // if eta range changed here need change in JetTester as well
0195     float 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,
0196                           -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,
0197                           -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,
0198                           -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,
0199                           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,
0200                           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,
0201                           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};
0202 
0203     mPtCorrOverReco_Eta_20_40_MiniAOD_over_Reco =
0204         ibook_.book1D("PtCorrOverReco_Eta_20_40_MiniAOD_over_RECO", "20<genpt<40", 90, etarange);
0205     mPtCorrOverReco_Eta_200_600_MiniAOD_over_Reco =
0206         ibook_.book1D("PtCorrOverReco_Eta_200_600_MiniAOD_over_RECO", "200<genpt<600", 90, etarange);
0207     mPtCorrOverReco_Eta_1500_3500_MiniAOD_over_Reco =
0208         ibook_.book1D("PtCorrOverReco_Eta_1500_3500_MiniAOD_over_RECO", "1500<genpt<3500", 90, etarange);
0209     mPtCorrOverGen_GenEta_40_200_MiniAOD_over_Reco =
0210         ibook_.book1D("PtCorrOverGen_GenEta_40_200_MiniAOD_over_RECO", "40<genpt<200", 90, etarange);
0211     mPtCorrOverGen_GenEta_600_1500_MiniAOD_over_Reco =
0212         ibook_.book1D("PtCorrOverGen_GenEta_600_1500_MiniAOD_over_RECO", "600<genpt<1500", 90, etarange);
0213     mDeltaPt_MiniAOD_over_Reco = ibook_.book1D("DeltaPt_MiniAOD_over_RECO", (TH1F *)mDeltaPt_Reco->getRootObject());
0214     mDeltaPhi_MiniAOD_over_Reco = ibook_.book1D("DeltaPhi_MiniAOD_over_RECO", (TH1F *)mDeltaPhi_Reco->getRootObject());
0215     mDeltaEta_MiniAOD_over_Reco = ibook_.book1D("DeltaEta_MiniAOD_over_RECO", (TH1F *)mDeltaEta_Reco->getRootObject());
0216     mMjj_MiniAOD_over_Reco = ibook_.book1D("Mjj_MiniAOD_over_RECO", (TH1F *)mMjj_Reco->getRootObject());
0217     mNJets40_MiniAOD_over_Reco = ibook_.book1D("NJets_MiniAOD_over_RECO", (TH1F *)mNJets40_Reco->getRootObject());
0218     mchargedHadronMultiplicity_MiniAOD_over_Reco = ibook_.book1D(
0219         "chargedHadronMultiplicity_MiniAOD_over_RECO", (TH1F *)mchargedHadronMultiplicity_Reco->getRootObject());
0220     mneutralHadronMultiplicity_MiniAOD_over_Reco = ibook_.book1D(
0221         "neutralHadronMultiplicity_MiniAOD_over_RECO", (TH1F *)mneutralHadronMultiplicity_Reco->getRootObject());
0222     mphotonMultiplicity_MiniAOD_over_Reco =
0223         ibook_.book1D("photonMultiplicity_MiniAOD_over_RECO", (TH1F *)mphotonMultiplicity_Reco->getRootObject());
0224     mchargedHadronEnergyFraction_MiniAOD_over_Reco = ibook_.book1D(
0225         "chargedHadronEnergyFraction_MiniAOD_over_RECO", (TH1F *)mchargedHadronEnergyFraction_Reco->getRootObject());
0226     mneutralHadronEnergyFraction_MiniAOD_over_Reco = ibook_.book1D(
0227         "neutralHadronEnergyFraction_MiniAOD_over_RECO", (TH1F *)mneutralHadronEnergyFraction_Reco->getRootObject());
0228     mphotonEnergyFraction_MiniAOD_over_Reco =
0229         ibook_.book1D("photonEnergyFraction_MiniAOD_over_RECO", (TH1F *)mphotonEnergyFraction_Reco->getRootObject());
0230 
0231     std::vector<MonitorElement *> ME_MiniAOD_over_Reco;
0232     ME_MiniAOD_over_Reco.push_back(mGenPt_MiniAOD_over_Reco);
0233     ME_MiniAOD_over_Reco.push_back(mGenPhi_MiniAOD_over_Reco);
0234     ME_MiniAOD_over_Reco.push_back(mGenEta_MiniAOD_over_Reco);
0235     ME_MiniAOD_over_Reco.push_back(mPt_MiniAOD_over_Reco);
0236     ME_MiniAOD_over_Reco.push_back(mPhi_MiniAOD_over_Reco);
0237     ME_MiniAOD_over_Reco.push_back(mEta_MiniAOD_over_Reco);
0238     ME_MiniAOD_over_Reco.push_back(mCorrJetPt_MiniAOD_over_Reco);
0239     ME_MiniAOD_over_Reco.push_back(mCorrJetPhi_MiniAOD_over_Reco);
0240     ME_MiniAOD_over_Reco.push_back(mCorrJetEta_MiniAOD_over_Reco);
0241     ME_MiniAOD_over_Reco.push_back(mPtCorrOverReco_Eta_20_40_MiniAOD_over_Reco);
0242     ME_MiniAOD_over_Reco.push_back(mPtCorrOverReco_Eta_200_600_MiniAOD_over_Reco);
0243     ME_MiniAOD_over_Reco.push_back(mPtCorrOverReco_Eta_1500_3500_MiniAOD_over_Reco);
0244     ME_MiniAOD_over_Reco.push_back(mPtCorrOverGen_GenEta_40_200_MiniAOD_over_Reco);
0245     ME_MiniAOD_over_Reco.push_back(mPtCorrOverGen_GenEta_600_1500_MiniAOD_over_Reco);
0246     ME_MiniAOD_over_Reco.push_back(mDeltaEta_MiniAOD_over_Reco);
0247     ME_MiniAOD_over_Reco.push_back(mDeltaPhi_MiniAOD_over_Reco);
0248     ME_MiniAOD_over_Reco.push_back(mDeltaPt_MiniAOD_over_Reco);
0249     ME_MiniAOD_over_Reco.push_back(mMjj_MiniAOD_over_Reco);
0250     ME_MiniAOD_over_Reco.push_back(mNJets40_MiniAOD_over_Reco);
0251     ME_MiniAOD_over_Reco.push_back(mchargedHadronMultiplicity_MiniAOD_over_Reco);
0252     ME_MiniAOD_over_Reco.push_back(mneutralHadronMultiplicity_MiniAOD_over_Reco);
0253     ME_MiniAOD_over_Reco.push_back(mphotonMultiplicity_MiniAOD_over_Reco);
0254     ME_MiniAOD_over_Reco.push_back(mphotonEnergyFraction_MiniAOD_over_Reco);
0255     ME_MiniAOD_over_Reco.push_back(mneutralHadronEnergyFraction_MiniAOD_over_Reco);
0256     ME_MiniAOD_over_Reco.push_back(mchargedHadronEnergyFraction_MiniAOD_over_Reco);
0257     for (unsigned int j = 0; j < ME_MiniAOD_over_Reco.size(); j++) {
0258       MonitorElement *monReco = ME_Reco[j];
0259       if (monReco && monReco->getRootObject()) {
0260         MonitorElement *monMiniAOD = ME_MiniAOD[j];
0261         if (monMiniAOD && monMiniAOD->getRootObject()) {
0262           MonitorElement *monMiniAOD_over_RECO = ME_MiniAOD_over_Reco[j];
0263           if (monMiniAOD_over_RECO && monMiniAOD_over_RECO->getRootObject()) {
0264             for (int i = 0; i <= (monMiniAOD_over_RECO->getNbinsX() + 1); i++) {
0265               if (monReco->getBinContent(i) != 0) {
0266                 monMiniAOD_over_RECO->setBinContent(i, monMiniAOD->getBinContent(i) / monReco->getBinContent(i));
0267               } else if (monMiniAOD->getBinContent(i) != 0) {
0268                 monMiniAOD_over_RECO->setBinContent(i, -0.5);
0269               }
0270             }
0271           }
0272         }
0273       }
0274     }
0275   }
0276 }