From 490e13007210998273968682dd2affdedd5c2b0e Mon Sep 17 00:00:00 2001 From: Giulio Eulisse Date: Thu, 10 Apr 2014 01:08:18 +0200 Subject: [PATCH] Merge pull request #3262 from deguio/fixUnsafeDQMEDAnalyzersFor710pre6 DQM -- Fix unsafe dqmed analyzers for710pre6 --- .../interface/DataCertificationJetMET.h | 4 +- DQMOffline/JetMET/interface/JetAnalyzer.h | 206 +- .../JetMET/interface/JetMETDQMOfflineClient.h | 5 +- DQMOffline/JetMET/interface/METAnalyzer.h | 109 +- DQMOffline/JetMET/interface/SUSYDQMAnalyzer.h | 15 +- .../JetMET/plugins/SusyPostProcessor.cc | 3 +- .../JetMET/python/SUSYDQMAnalyzer_cfi.py | 4 +- .../python/dataCertificationJetMET_cff.py | 2 + .../python/dataCertificationJetMET_cfi.py | 4 +- DQMOffline/JetMET/python/jetAnalyzer_cff.py | 2 +- DQMOffline/JetMET/python/jetAnalyzer_cfi.py | 33 +- DQMOffline/JetMET/python/metDQMConfig_cff.py | 3 +- DQMOffline/JetMET/python/metDQMConfig_cfi.py | 57 +- .../JetMET/src/DataCertificationJetMET.cc | 289 +-- DQMOffline/JetMET/src/JetAnalyzer.cc | 2099 ++++++++++------- .../JetMET/src/JetMETDQMOfflineClient.cc | 146 +- DQMOffline/JetMET/src/METAnalyzer.cc | 792 +++---- DQMOffline/JetMET/src/SUSYDQMAnalyzer.cc | 68 +- DQMOffline/JetMET/test/JetQualityTests.xml | 19 - DQMOffline/JetMET/test/run_PromptAna.py | 16 +- DQMServices/Core/interface/DQMEDAnalyzer.h | 23 +- DQMServices/Core/src/DQMEDAnalyzer.cc | 19 + .../Common/python/HLTValidationHarvest_cff.py | 3 +- .../Common/python/HLTValidation_cff.py | 6 +- HLTriggerOffline/Exotica/BuildFile.xml | 17 + .../Exotica/interface/HLTExoticaPlotter.h | 79 + .../Exotica/interface/HLTExoticaSubAnalysis.h | 163 ++ .../Exotica/interface/HLTExoticaValidator.h | 69 + .../Exotica/python/ExoticaValidation_cff.py | 30 + .../Exotica/python/HLTExoticaPostVal_cff.py | 8 + .../python/HLTExoticaQualityTester_cfi.py | 14 + .../python/analyses/hltExoticaEleMu_cff.py | 23 + .../python/analyses/hltExoticaHT_cff.py | 21 + .../hltExoticaHighPtDielectron_cff.py | 14 + .../analyses/hltExoticaHighPtDimuon_cff.py | 15 + .../python/analyses/hltExoticaMonojet_cff.py | 17 + .../python/analyses/hltExoticaPureMET_cff.py | 16 + .../python/hltExoticaPostProcessor_cfi.py | 11 + .../python/hltExoticaPostProcessors_cff.py | 126 + .../Exotica/python/hltExoticaValidator_cfi.py | 110 + .../Exotica/src/EVTColContainer.cc | 171 ++ .../Exotica/src/HLTExoticaPlotter.cc | 188 ++ .../Exotica/src/HLTExoticaSubAnalysis.cc | 883 +++++++ .../Exotica/src/HLTExoticaValidator.cc | 120 + HLTriggerOffline/Exotica/src/SealModules.cc | 7 + .../test/hltExoticaPostProcessor_cfg.py | 34 + .../Exotica/test/hltExoticaValidator_cfg.py | 80 + .../Exotica/test/saveDQMHistograms.C | 162 ++ .../RecoEgamma/plugins/TkConvValidator.h | 2 +- .../interface/SiPixelTrackingRecHitsValid.h | 5 +- .../interface/SiStripTrackingRecHitsValid.h | 25 +- .../plugins/SiPixelTrackingRecHitsValid.cc | 651 ++--- .../python/SiPixelTrackingRecHitsValid_cfi.py | 1 + .../python/SiStripTrackingRecHitsValid_cfi.py | 1 + .../src/SiStripTrackingRecHitsValid.cc | 283 +-- .../TrackerDigis/interface/SiPixelDigiValid.h | 6 +- .../TrackerDigis/interface/SiStripDigiValid.h | 6 +- .../TrackerDigis/plugins/SiPixelDigiValid.cc | 437 ++-- .../TrackerDigis/plugins/SiStripDigiValid.cc | 233 +- .../python/pixelDigisValidation_cfi.py | 3 +- .../python/stripDigisValidation_cfi.py | 1 + .../interface/TrackerHitAnalyzer.h | 12 +- .../python/trackerHitsValidation_cfi.py | 1 + .../TrackerHits/src/TrackerHitAnalyzer.cc | 191 +- .../interface/SiPixelRecHitsValid.h | 6 +- .../interface/SiStripRecHitsValid.h | 23 +- .../python/SiPixelRecHitsValid_cfi.py | 1 + .../python/SiStripRecHitsValid_cfi.py | 1 + .../TrackerRecHits/src/SiPixelRecHitsValid.cc | 111 +- .../TrackerRecHits/src/SiStripRecHitsValid.cc | 107 +- .../interface/TrackingTruthValid.h | 7 +- .../plugins/TrackingTruthValid.cc | 40 +- .../python/trackingTruthValidation_cfi.py | 1 + 73 files changed, 5506 insertions(+), 2954 deletions(-) create mode 100644 HLTriggerOffline/Exotica/BuildFile.xml create mode 100644 HLTriggerOffline/Exotica/interface/HLTExoticaPlotter.h create mode 100644 HLTriggerOffline/Exotica/interface/HLTExoticaSubAnalysis.h create mode 100644 HLTriggerOffline/Exotica/interface/HLTExoticaValidator.h create mode 100644 HLTriggerOffline/Exotica/python/ExoticaValidation_cff.py create mode 100644 HLTriggerOffline/Exotica/python/HLTExoticaPostVal_cff.py create mode 100644 HLTriggerOffline/Exotica/python/HLTExoticaQualityTester_cfi.py create mode 100644 HLTriggerOffline/Exotica/python/analyses/hltExoticaEleMu_cff.py create mode 100644 HLTriggerOffline/Exotica/python/analyses/hltExoticaHT_cff.py create mode 100644 HLTriggerOffline/Exotica/python/analyses/hltExoticaHighPtDielectron_cff.py create mode 100644 HLTriggerOffline/Exotica/python/analyses/hltExoticaHighPtDimuon_cff.py create mode 100644 HLTriggerOffline/Exotica/python/analyses/hltExoticaMonojet_cff.py create mode 100644 HLTriggerOffline/Exotica/python/analyses/hltExoticaPureMET_cff.py create mode 100644 HLTriggerOffline/Exotica/python/hltExoticaPostProcessor_cfi.py create mode 100644 HLTriggerOffline/Exotica/python/hltExoticaPostProcessors_cff.py create mode 100644 HLTriggerOffline/Exotica/python/hltExoticaValidator_cfi.py create mode 100644 HLTriggerOffline/Exotica/src/EVTColContainer.cc create mode 100644 HLTriggerOffline/Exotica/src/HLTExoticaPlotter.cc create mode 100644 HLTriggerOffline/Exotica/src/HLTExoticaSubAnalysis.cc create mode 100644 HLTriggerOffline/Exotica/src/HLTExoticaValidator.cc create mode 100644 HLTriggerOffline/Exotica/src/SealModules.cc create mode 100644 HLTriggerOffline/Exotica/test/hltExoticaPostProcessor_cfg.py create mode 100644 HLTriggerOffline/Exotica/test/hltExoticaValidator_cfg.py create mode 100644 HLTriggerOffline/Exotica/test/saveDQMHistograms.C diff --git a/DQMOffline/JetMET/interface/DataCertificationJetMET.h b/DQMOffline/JetMET/interface/DataCertificationJetMET.h index e56968a93b3e7..cf84ae5075fe0 100644 --- a/DQMOffline/JetMET/interface/DataCertificationJetMET.h +++ b/DQMOffline/JetMET/interface/DataCertificationJetMET.h @@ -26,7 +26,7 @@ // class decleration // -class DataCertificationJetMET : public DQMEDAnalyzer { +class DataCertificationJetMET : public edm::EDAnalyzer { public: explicit DataCertificationJetMET(const edm::ParameterSet&); ~DataCertificationJetMET(); @@ -36,7 +36,7 @@ class DataCertificationJetMET : public DQMEDAnalyzer { virtual void analyze(const edm::Event&, const edm::EventSetup&); virtual void endJob() ; - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; + virtual void endRun(const edm::Run&, const edm::EventSetup&) ; virtual void beginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&); diff --git a/DQMOffline/JetMET/interface/JetAnalyzer.h b/DQMOffline/JetMET/interface/JetAnalyzer.h index cbdfb2e7f61e3..a6009ea4e7438 100644 --- a/DQMOffline/JetMET/interface/JetAnalyzer.h +++ b/DQMOffline/JetMET/interface/JetAnalyzer.h @@ -56,13 +56,15 @@ #include "PhysicsTools/SelectorUtils/interface/JetIDSelectionFunctor.h" #include "PhysicsTools/SelectorUtils/interface/PFJetIDSelectionFunctor.h" #include "DQMServices/Core/interface/DQMEDAnalyzer.h" +#include +#include -namespace jetAnalysis { - class TrackPropagatorToCalo; +//namespace jetAnalysis { +//class TrackPropagatorToCalo; //class StripSignalOverNoiseCalculator; -} +//} -class JetAnalyzer : public edm::EDAnalyzer { +class JetAnalyzer : public thread_unsafe::DQMEDAnalyzer { public: /// Constructor @@ -70,14 +72,10 @@ class JetAnalyzer : public edm::EDAnalyzer { /// Destructor virtual ~JetAnalyzer(); - - // This is a temporary fix to make sure we do not have a non thread safe - // analyzer using the thread aware DQM Analyzer base class. - void beginRun(edm::Run const &run, edm::EventSetup const &es) override; /// Inizialize parameters for histo binning // void beginJob(void); - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &); + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; /// Get the analysis void analyze(const edm::Event&, const edm::EventSetup&); @@ -97,7 +95,7 @@ class JetAnalyzer : public edm::EDAnalyzer { /// Helper object to propagate tracks to the calo surface - std::auto_ptr trackPropagator_; + //std::auto_ptr trackPropagator_; /// Helper object to calculate strip SoN for tracks //std::auto_ptr sOverNCalculator_; @@ -121,7 +119,7 @@ class JetAnalyzer : public edm::EDAnalyzer { edm::EDGetTokenT gtToken_; edm::EDGetTokenT caloJetsToken_; edm::EDGetTokenT pfJetsToken_; - edm::EDGetTokenT jptJetsToken_; + //edm::EDGetTokenT jptJetsToken_; edm::InputTag inputJetIDValueMap; edm::EDGetTokenT >jetID_ValueMapToken_; @@ -299,8 +297,6 @@ class JetAnalyzer : public edm::EDAnalyzer { std::vector highPtJetExpr_; std::vector lowPtJetExpr_; - - bool diJetSelectionFlag_; bool jetCleaningFlag_; bool runcosmics_; @@ -324,97 +320,97 @@ class JetAnalyzer : public edm::EDAnalyzer { MonitorElement* mresEMF; MonitorElement* mEMF; - // JPTJet specific + // JPTJet specific -> comment out // the jet analyzer // --- Used for Data Certification --in for CaloJets and PFJets - MonitorElement* mE; - MonitorElement* mP; - MonitorElement* mEt; - MonitorElement* mPtSecond; - MonitorElement* mPtThird; - MonitorElement* mPx; - MonitorElement* mPy; - MonitorElement* mPz; - MonitorElement* mnTracks; - MonitorElement* mnTracksVSJetPt; - MonitorElement* mnTracksVSJetEta; - - MonitorElement* mnallPionTracksPerJet; - MonitorElement* mallPionTracksPt; - MonitorElement* mallPionTracksPhi; - MonitorElement* mallPionTracksEta; - MonitorElement* mallPionTracksPtVSEta; - - MonitorElement* mnInVertexInCaloPionTracksPerJet; - MonitorElement* mInVertexInCaloPionTracksPt; - MonitorElement* mInVertexInCaloPionTracksPhi; - MonitorElement* mInVertexInCaloPionTracksEta; - MonitorElement* mInVertexInCaloPionTracksPtVSEta; - - MonitorElement* mnOutVertexInCaloPionTracksPerJet; - MonitorElement* mOutVertexInCaloPionTracksPt; - MonitorElement* mOutVertexInCaloPionTracksPhi; - MonitorElement* mOutVertexInCaloPionTracksEta; - MonitorElement* mOutVertexInCaloPionTracksPtVSEta; - - MonitorElement* mnInVertexOutCaloPionTracksPerJet; - MonitorElement* mInVertexOutCaloPionTracksPt; - MonitorElement* mInVertexOutCaloPionTracksPhi; - MonitorElement* mInVertexOutCaloPionTracksEta; - MonitorElement* mInVertexOutCaloPionTracksPtVSEta; - - MonitorElement* mnallMuonTracksPerJet; - MonitorElement* mallMuonTracksPt; - MonitorElement* mallMuonTracksPhi; - MonitorElement* mallMuonTracksEta; - MonitorElement* mallMuonTracksPtVSEta; - - MonitorElement* mnInVertexInCaloMuonTracksPerJet; - MonitorElement* mInVertexInCaloMuonTracksPt; - MonitorElement* mInVertexInCaloMuonTracksPhi; - MonitorElement* mInVertexInCaloMuonTracksEta; - MonitorElement* mInVertexInCaloMuonTracksPtVSEta; - - MonitorElement* mnOutVertexInCaloMuonTracksPerJet; - MonitorElement* mOutVertexInCaloMuonTracksPt; - MonitorElement* mOutVertexInCaloMuonTracksPhi; - MonitorElement* mOutVertexInCaloMuonTracksEta; - MonitorElement* mOutVertexInCaloMuonTracksPtVSEta; - - MonitorElement* mnInVertexOutCaloMuonTracksPerJet; - MonitorElement* mInVertexOutCaloMuonTracksPt; - MonitorElement* mInVertexOutCaloMuonTracksPhi; - MonitorElement* mInVertexOutCaloMuonTracksEta; - MonitorElement* mInVertexOutCaloMuonTracksPtVSEta; - - MonitorElement* mnallElectronTracksPerJet; - MonitorElement* mallElectronTracksPt; - MonitorElement* mallElectronTracksPhi; - MonitorElement* mallElectronTracksEta; - MonitorElement* mallElectronTracksPtVSEta; - - MonitorElement* mnInVertexInCaloElectronTracksPerJet; - MonitorElement* mInVertexInCaloElectronTracksPt; - MonitorElement* mInVertexInCaloElectronTracksPhi; - MonitorElement* mInVertexInCaloElectronTracksEta; - MonitorElement* mInVertexInCaloElectronTracksPtVSEta; - - MonitorElement* mnOutVertexInCaloElectronTracksPerJet; - MonitorElement* mOutVertexInCaloElectronTracksPt; - MonitorElement* mOutVertexInCaloElectronTracksPhi; - MonitorElement* mOutVertexInCaloElectronTracksEta; - MonitorElement* mOutVertexInCaloElectronTracksPtVSEta; - - MonitorElement* mnInVertexOutCaloElectronTracksPerJet; - MonitorElement* mInVertexOutCaloElectronTracksPt; - MonitorElement* mInVertexOutCaloElectronTracksPhi; - MonitorElement* mInVertexOutCaloElectronTracksEta; - MonitorElement* mInVertexOutCaloElectronTracksPtVSEta; - - MonitorElement* mInCaloTrackDirectionJetDRHisto_; - MonitorElement* mOutCaloTrackDirectionJetDRHisto_; - MonitorElement* mInVertexTrackImpactPointJetDRHisto_; - MonitorElement* mOutVertexTrackImpactPointJetDRHisto_; + //MonitorElement* mE; + //MonitorElement* mP; + //MonitorElement* mEt; + //MonitorElement* mPtSecond; + //MonitorElement* mPtThird; + //MonitorElement* mPx; + //MonitorElement* mPy; + //MonitorElement* mPz; + //MonitorElement* mnTracks; + //MonitorElement* mnTracksVSJetPt; + //MonitorElement* mnTracksVSJetEta; + + //MonitorElement* mnallPionTracksPerJet; + //MonitorElement* mallPionTracksPt; + //MonitorElement* mallPionTracksPhi; + //MonitorElement* mallPionTracksEta; + //MonitorElement* mallPionTracksPtVSEta; + + //MonitorElement* mnInVertexInCaloPionTracksPerJet; + //MonitorElement* mInVertexInCaloPionTracksPt; + //MonitorElement* mInVertexInCaloPionTracksPhi; + //MonitorElement* mInVertexInCaloPionTracksEta; + //MonitorElement* mInVertexInCaloPionTracksPtVSEta; + + //MonitorElement* mnOutVertexInCaloPionTracksPerJet; + //MonitorElement* mOutVertexInCaloPionTracksPt; + //MonitorElement* mOutVertexInCaloPionTracksPhi; + //MonitorElement* mOutVertexInCaloPionTracksEta; + //MonitorElement* mOutVertexInCaloPionTracksPtVSEta; + + //MonitorElement* mnInVertexOutCaloPionTracksPerJet; + //MonitorElement* mInVertexOutCaloPionTracksPt; + //MonitorElement* mInVertexOutCaloPionTracksPhi; + //MonitorElement* mInVertexOutCaloPionTracksEta; + //MonitorElement* mInVertexOutCaloPionTracksPtVSEta; + + //MonitorElement* mnallMuonTracksPerJet; + //MonitorElement* mallMuonTracksPt; + //MonitorElement* mallMuonTracksPhi; + //MonitorElement* mallMuonTracksEta; + //MonitorElement* mallMuonTracksPtVSEta; + + //MonitorElement* mnInVertexInCaloMuonTracksPerJet; + //MonitorElement* mInVertexInCaloMuonTracksPt; + //MonitorElement* mInVertexInCaloMuonTracksPhi; + //MonitorElement* mInVertexInCaloMuonTracksEta; + //MonitorElement* mInVertexInCaloMuonTracksPtVSEta; + + //MonitorElement* mnOutVertexInCaloMuonTracksPerJet; + //MonitorElement* mOutVertexInCaloMuonTracksPt; + //MonitorElement* mOutVertexInCaloMuonTracksPhi; + //MonitorElement* mOutVertexInCaloMuonTracksEta; + //MonitorElement* mOutVertexInCaloMuonTracksPtVSEta; + + //MonitorElement* mnInVertexOutCaloMuonTracksPerJet; + //MonitorElement* mInVertexOutCaloMuonTracksPt; + //MonitorElement* mInVertexOutCaloMuonTracksPhi; + //MonitorElement* mInVertexOutCaloMuonTracksEta; + //MonitorElement* mInVertexOutCaloMuonTracksPtVSEta; + + //MonitorElement* mnallElectronTracksPerJet; + //MonitorElement* mallElectronTracksPt; + //MonitorElement* mallElectronTracksPhi; + //MonitorElement* mallElectronTracksEta; + //MonitorElement* mallElectronTracksPtVSEta; + + //MonitorElement* mnInVertexInCaloElectronTracksPerJet; + //MonitorElement* mInVertexInCaloElectronTracksPt; + //MonitorElement* mInVertexInCaloElectronTracksPhi; + //MonitorElement* mInVertexInCaloElectronTracksEta; + //MonitorElement* mInVertexInCaloElectronTracksPtVSEta; + + //MonitorElement* mnOutVertexInCaloElectronTracksPerJet; + //MonitorElement* mOutVertexInCaloElectronTracksPt; + //MonitorElement* mOutVertexInCaloElectronTracksPhi; + //MonitorElement* mOutVertexInCaloElectronTracksEta; + //MonitorElement* mOutVertexInCaloElectronTracksPtVSEta; + + //MonitorElement* mnInVertexOutCaloElectronTracksPerJet; + //MonitorElement* mInVertexOutCaloElectronTracksPt; + //MonitorElement* mInVertexOutCaloElectronTracksPhi; + //MonitorElement* mInVertexOutCaloElectronTracksEta; + //MonitorElement* mInVertexOutCaloElectronTracksPtVSEta; + + //MonitorElement* mInCaloTrackDirectionJetDRHisto_; + //MonitorElement* mOutCaloTrackDirectionJetDRHisto_; + //MonitorElement* mInVertexTrackImpactPointJetDRHisto_; + //MonitorElement* mOutVertexTrackImpactPointJetDRHisto_; //now define PFJet only flags double thisCHFMin_; @@ -610,9 +606,13 @@ class JetAnalyzer : public edm::EDAnalyzer { JetMETDQMDCSFilter * DCSFilterForJetMonitoring_; JetMETDQMDCSFilter * DCSFilterForDCSMonitoring_; + std::map< std::string,MonitorElement* >map_of_MEs; + bool isCaloJet_; - bool isJPTJet_; + //bool isJPTJet_; bool isPFJet_; + bool fill_jet_high_level_histo; + }; #endif diff --git a/DQMOffline/JetMET/interface/JetMETDQMOfflineClient.h b/DQMOffline/JetMET/interface/JetMETDQMOfflineClient.h index 8854e8455ccc6..0fc62b69d42a7 100644 --- a/DQMOffline/JetMET/interface/JetMETDQMOfflineClient.h +++ b/DQMOffline/JetMET/interface/JetMETDQMOfflineClient.h @@ -46,7 +46,7 @@ class DQMStore; class MonitorElement; -class JetMETDQMOfflineClient : public DQMEDAnalyzer { +class JetMETDQMOfflineClient : public edm::EDAnalyzer { private: DQMStore* dbe_; //dbe seems to be the standard name for this, I dont know why. We of course dont own it @@ -68,8 +68,7 @@ class JetMETDQMOfflineClient : public DQMEDAnalyzer { virtual void beginJob(void); virtual void endJob(); - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; - // virtual void beginRun(const edm::Run& run, const edm::EventSetup& c); + //virtual void beginRun(const edm::Run& run, const edm::EventSetup& c); virtual void endRun(const edm::Run& run, const edm::EventSetup& c); virtual void analyze(const edm::Event&, const edm::EventSetup&); virtual void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& c); diff --git a/DQMOffline/JetMET/interface/METAnalyzer.h b/DQMOffline/JetMET/interface/METAnalyzer.h index d03cd4ce37f5c..cebe33c9aca03 100644 --- a/DQMOffline/JetMET/interface/METAnalyzer.h +++ b/DQMOffline/JetMET/interface/METAnalyzer.h @@ -73,9 +73,12 @@ #include "JetMETCorrections/Objects/interface/JetCorrector.h" #include "DQMServices/Core/interface/DQMEDAnalyzer.h" +#include +#include -class METAnalyzer : public edm::EDAnalyzer{ + +class METAnalyzer : public thread_unsafe::DQMEDAnalyzer{ public: /// Constructor @@ -87,12 +90,9 @@ class METAnalyzer : public edm::EDAnalyzer{ /// Finish up a job void endJob(); - // This is a temporary fix to make sure we do not have a non thread safe - // analyzer using the thread aware DQM Analyzer base class. - void beginRun(edm::Run const &run, edm::EventSetup const &es) override; /// Inizialize parameters for histo binning // void beginJob(void); - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &); + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; // Book MonitorElements //void bookMESet(std::string); @@ -108,8 +108,8 @@ class METAnalyzer : public edm::EDAnalyzer{ void endRun(const edm::Run& iRun, const edm::EventSetup& iSetup); // void endRun(const edm::Run& iRun, const edm::EventSetup& iSetup); // Fill MonitorElements - void fillMESet(const edm::Event&, std::string, const reco::MET&, const reco::PFMET&, const reco::CaloMET&); - void fillMonitorElement(const edm::Event&, std::string, std::string, const reco::MET&, const reco::PFMET&, const reco::CaloMET& ,bool); + void fillMESet(const edm::Event&, std::string, const reco::MET&, const reco::PFMET&, const reco::CaloMET&,std::map&); + void fillMonitorElement(const edm::Event&, std::string, std::string, const reco::MET&, const reco::PFMET&, const reco::CaloMET& ,std::map&,bool); void makeRatePlot(std::string, double); // bool selectHighPtJetEvent(const edm::Event&); @@ -120,9 +120,9 @@ class METAnalyzer : public edm::EDAnalyzer{ private: // Book MonitorElements - void bookMESet(std::string,DQMStore::IBooker &); + void bookMESet(std::string,DQMStore::IBooker &,std::map&); // Book MonitorElements - void bookMonitorElement(std::string,DQMStore::IBooker &, bool ); + void bookMonitorElement(std::string,DQMStore::IBooker &, std::map&,bool ); // ----------member data --------------------------- edm::ParameterSet parameters; @@ -150,26 +150,26 @@ class METAnalyzer : public edm::EDAnalyzer{ edm::EDGetTokenT gtToken_; edm::EDGetTokenT caloJetsToken_; edm::EDGetTokenT pfJetsToken_; - edm::EDGetTokenT jptJetsToken_; + //edm::EDGetTokenT jptJetsToken_; edm::EDGetTokenT hbheNoiseFilterResultToken_; edm::EDGetTokenT beamHaloSummaryToken_; - edm::EDGetTokenT tcMetToken_; + //edm::EDGetTokenT tcMetToken_; edm::EDGetTokenT pfMetToken_; edm::EDGetTokenT caloMetToken_; edm::EDGetTokenT HcalNoiseRBXToken_; - edm::InputTag inputTrackLabel_; - edm::InputTag inputMuonLabel_; - edm::InputTag inputElectronLabel_; - edm::InputTag inputBeamSpotLabel_; - edm::InputTag inputTCMETValueMap_; + //edm::InputTag inputTrackLabel_; + //edm::InputTag inputMuonLabel_; + //edm::InputTag inputElectronLabel_; + //edm::InputTag inputBeamSpotLabel_; + //edm::InputTag inputTCMETValueMap_; - edm::EDGetTokenT > TrackToken_; - edm::EDGetTokenT MuonToken_; - edm::EDGetTokenT > ElectronToken_; - edm::EDGetTokenT BeamspotToken_; + //edm::EDGetTokenT > TrackToken_; + //edm::EDGetTokenT MuonToken_; + //edm::EDGetTokenT > ElectronToken_; + //edm::EDGetTokenT BeamspotToken_; edm::InputTag inputJetIDValueMap; edm::EDGetTokenT >jetID_ValueMapToken_; @@ -183,13 +183,13 @@ class METAnalyzer : public edm::EDAnalyzer{ - edm::EDGetTokenT> tcMETValueMapToken_; - edm::Handle< edm::ValueMap > tcMetValueMapHandle_; + //edm::EDGetTokenT> tcMETValueMapToken_; + //edm::Handle< edm::ValueMap > tcMetValueMapHandle_; - edm::Handle< reco::MuonCollection > muonHandle_; - edm::Handle< edm::View > trackHandle_; - edm::Handle< edm::View > electronHandle_; - edm::Handle< reco::BeamSpot > beamSpotHandle_; + //edm::Handle< reco::MuonCollection > muonHandle_; + //edm::Handle< edm::View > trackHandle_; + //edm::Handle< edm::View > electronHandle_; + //edm::Handle< reco::BeamSpot > beamSpotHandle_; HLTConfigProvider hltConfig_; edm::InputTag triggerResultsLabel_; @@ -335,34 +335,35 @@ class METAnalyzer : public edm::EDAnalyzer{ MonitorElement* hCaloHaMETPhi; //MonitorElement* hCaloHaSumET; - MonitorElement* hCalomuPt; - MonitorElement* hCalomuEta; - MonitorElement* hCalomuNhits; - MonitorElement* hCalomuChi2; - MonitorElement* hCalomuD0; - MonitorElement* hCaloMExCorrection; - MonitorElement* hCaloMEyCorrection; - MonitorElement* hCaloMuonCorrectionFlag; + //remove muon MET + //MonitorElement* hCalomuPt; + //MonitorElement* hCalomuEta; + //MonitorElement* hCalomuNhits; + //MonitorElement* hCalomuChi2; + //MonitorElement* hCalomuD0; + //MonitorElement* hCaloMExCorrection; + //MonitorElement* hCaloMEyCorrection; + //MonitorElement* hCaloMuonCorrectionFlag; //is filled for TCMET - MonitorElement* htrkPt; - MonitorElement* htrkEta; - MonitorElement* htrkNhits; - MonitorElement* htrkChi2; - MonitorElement* htrkD0; - MonitorElement* helePt; - MonitorElement* heleEta; - MonitorElement* heleHoE; - MonitorElement* hmuPt; - MonitorElement* hmuEta; - MonitorElement* hmuNhits; - MonitorElement* hmuChi2; - MonitorElement* hmuD0; - - MonitorElement* hMExCorrection; - MonitorElement* hMEyCorrection; - MonitorElement* hMuonCorrectionFlag; + //MonitorElement* htrkPt; + //MonitorElement* htrkEta; + //MonitorElement* htrkNhits; + //MonitorElement* htrkChi2; + //MonitorElement* htrkD0; + //MonitorElement* helePt; + //MonitorElement* heleEta; + //MonitorElement* heleHoE; + //MonitorElement* hmuPt; + //MonitorElement* hmuEta; + //MonitorElement* hmuNhits; + //MonitorElement* hmuChi2; + //MonitorElement* hmuD0; + + //MonitorElement* hMExCorrection; + //MonitorElement* hMEyCorrection; + //MonitorElement* hMuonCorrectionFlag; //now PF only things MonitorElement* mePhotonEtFraction; @@ -403,9 +404,13 @@ class METAnalyzer : public edm::EDAnalyzer{ MonitorElement* meHFEMEtFraction_profile; MonitorElement* meHFEMEt_profile; + std::map< std::string,MonitorElement* >map_dijet_MEs; + bool isCaloMet_; - bool isTCMet_; + //bool isTCMet_; bool isPFMet_; + bool fill_met_high_level_histo; + }; #endif diff --git a/DQMOffline/JetMET/interface/SUSYDQMAnalyzer.h b/DQMOffline/JetMET/interface/SUSYDQMAnalyzer.h index 2286382d09ca7..94b12e0133e17 100644 --- a/DQMOffline/JetMET/interface/SUSYDQMAnalyzer.h +++ b/DQMOffline/JetMET/interface/SUSYDQMAnalyzer.h @@ -18,7 +18,7 @@ #include -//class SUSYDQMAnalyzer: public edm::EDAnalyzer { + class SUSYDQMAnalyzer: public DQMEDAnalyzer { public: explicit SUSYDQMAnalyzer(const edm::ParameterSet&); @@ -37,8 +37,8 @@ class SUSYDQMAnalyzer: public DQMEDAnalyzer { edm::EDGetTokenT theCaloJetCollectionToken; edm::EDGetTokenT theCaloMETCollectionToken; - edm::EDGetTokenT theJPTJetCollectionToken; - edm::EDGetTokenT theTCMETCollectionToken; + //edm::EDGetTokenT theJPTJetCollectionToken; + //edm::EDGetTokenT theTCMETCollectionToken; double _ptThreshold; double _maxNJets; @@ -50,21 +50,22 @@ class SUSYDQMAnalyzer: public DQMEDAnalyzer { DQMStore* dqm; //Susy DQM storing elements + //remove TCMET and JPT related variables MonitorElement* hCaloHT; - MonitorElement* hJPTHT; + //MonitorElement* hJPTHT; MonitorElement* hPFHT; MonitorElement* hCaloMET; MonitorElement* hPFMET; - MonitorElement* hTCMET; + //MonitorElement* hTCMET; MonitorElement* hCaloMHT; - MonitorElement* hJPTMHT; + //MonitorElement* hJPTMHT; MonitorElement* hPFMHT; MonitorElement* hCaloAlpha_T; - MonitorElement* hJPTAlpha_T; + //MonitorElement* hJPTAlpha_T; MonitorElement* hPFAlpha_T; }; diff --git a/DQMOffline/JetMET/plugins/SusyPostProcessor.cc b/DQMOffline/JetMET/plugins/SusyPostProcessor.cc index c92a5fb6adf27..3b8281caa1e95 100644 --- a/DQMOffline/JetMET/plugins/SusyPostProcessor.cc +++ b/DQMOffline/JetMET/plugins/SusyPostProcessor.cc @@ -83,7 +83,8 @@ void SusyPostProcessor::endRun(const edm::Run&, const edm::EventSetup&) if (size_t(Dirs[i].find("Calo")) != string::npos) prefix = "Calo"; if (size_t(Dirs[i].find("Pf")) != string::npos) prefix = "Pf"; - if (size_t(Dirs[i].find("Tc")) != string::npos) prefix = ""; + //TCMet related plots are removed + //if (size_t(Dirs[i].find("Tc")) != string::npos) prefix = ""; for (std::vector::const_iterator ic=metFolders.begin(); ic!=metFolders.end(); ic++) { diff --git a/DQMOffline/JetMET/python/SUSYDQMAnalyzer_cfi.py b/DQMOffline/JetMET/python/SUSYDQMAnalyzer_cfi.py index f60eed811afa2..20c179f4c27e6 100644 --- a/DQMOffline/JetMET/python/SUSYDQMAnalyzer_cfi.py +++ b/DQMOffline/JetMET/python/SUSYDQMAnalyzer_cfi.py @@ -4,9 +4,9 @@ folderName = cms.string("JetMET/SUSYDQM/"), PFMETCollectionLabel = cms.InputTag("pfMet"), CaloMETCollectionLabel = cms.InputTag("met"), - TCMETCollectionLabel = cms.InputTag("tcMet"), + #TCMETCollectionLabel = cms.InputTag("tcMet"), CaloJetCollectionLabel = cms.InputTag("ak5CaloJets"), - JPTJetCollectionLabel = cms.InputTag("JetPlusTrackZSPCorJetAntiKt5"), + #JPTJetCollectionLabel = cms.InputTag("JetPlusTrackZSPCorJetAntiKt5"), PFJetCollectionLabel = cms.InputTag("ak5PFJets"), ptThreshold = cms.double(20.), maxNJets = cms.double(10), diff --git a/DQMOffline/JetMET/python/dataCertificationJetMET_cff.py b/DQMOffline/JetMET/python/dataCertificationJetMET_cff.py index 97b787fe778b4..b999e1885cf9f 100644 --- a/DQMOffline/JetMET/python/dataCertificationJetMET_cff.py +++ b/DQMOffline/JetMET/python/dataCertificationJetMET_cff.py @@ -4,4 +4,6 @@ from DQMOffline.JetMET.dataCertificationJetMET_cfi import * dataCertificationJetMETSequence = cms.Sequence(jetMETDQMOfflineClient + qTesterJet + qTesterMET + dataCertificationJetMET) + +#dataCertificationJetMETSequence = cms.Sequence(jetMETDQMOfflineClient + qTesterJet + qTesterMET + dataCertificationJetMET) #dataCertificationJetMETSequence = cms.Sequence(jetMETDQMOfflineClient + qTesterJet + qTesterMET ) diff --git a/DQMOffline/JetMET/python/dataCertificationJetMET_cfi.py b/DQMOffline/JetMET/python/dataCertificationJetMET_cfi.py index 3095f94c78d37..293a858b03f85 100644 --- a/DQMOffline/JetMET/python/dataCertificationJetMET_cfi.py +++ b/DQMOffline/JetMET/python/dataCertificationJetMET_cfi.py @@ -34,13 +34,13 @@ pfForwardJetKSTest = cms.untracked.bool(False), caloJetMeanTest = cms.untracked.bool(True), caloJetKSTest = cms.untracked.bool(False), - jptJetMeanTest = cms.untracked.bool(True), + jptJetMeanTest = cms.untracked.bool(False), jptJetKSTest = cms.untracked.bool(False), caloMETMeanTest = cms.untracked.bool(True), caloMETKSTest = cms.untracked.bool(False), pfMETMeanTest = cms.untracked.bool(True), pfMETKSTest = cms.untracked.bool(False), - tcMETMeanTest = cms.untracked.bool(True), + tcMETMeanTest = cms.untracked.bool(False), tcMETKSTest = cms.untracked.bool(False), ) diff --git a/DQMOffline/JetMET/python/jetAnalyzer_cff.py b/DQMOffline/JetMET/python/jetAnalyzer_cff.py index 7cdfa43011874..72ad1dd13bd73 100644 --- a/DQMOffline/JetMET/python/jetAnalyzer_cff.py +++ b/DQMOffline/JetMET/python/jetAnalyzer_cff.py @@ -5,7 +5,7 @@ jetDQMAnalyzerSequence = cms.Sequence(jetDQMAnalyzerAk5CaloUncleaned*jetDQMAnalyzerAk5CaloCleaned - *jetDQMAnalyzerAk5JPTCleaned +# *jetDQMAnalyzerAk5JPTCleaned *jetDQMAnalyzerAk5PFUncleaned*jetDQMAnalyzerAk5PFCleaned ) diff --git a/DQMOffline/JetMET/python/jetAnalyzer_cfi.py b/DQMOffline/JetMET/python/jetAnalyzer_cfi.py index 04d48fa559a8e..1d335ec9f723b 100644 --- a/DQMOffline/JetMET/python/jetAnalyzer_cfi.py +++ b/DQMOffline/JetMET/python/jetAnalyzer_cfi.py @@ -13,8 +13,8 @@ from JetMETCorrections.Configuration.JetCorrectionServices_cff import ak5PFL1FastL2L3,ak5PFL1Fastjet,ak5PFL2Relative,ak5PFL3Absolute newAk5PFL1FastL2L3 = ak5PFL1FastL2L3.clone() -from JetMETCorrections.Configuration.JetCorrectionServices_cff import ak5JPTL1FastL2L3,ak5JPTL1Fastjet,ak5JPTL2Relative,ak5JPTL3Absolute -newAk5JPTL1FastL2L3 = ak5JPTL1FastL2L3.clone() +#from JetMETCorrections.Configuration.JetCorrectionServices_cff import ak5JPTL1FastL2L3,ak5JPTL1Fastjet,ak5JPTL2Relative,ak5JPTL3Absolute +#newAk5JPTL1FastL2L3 = ak5JPTL1FastL2L3.clone() jetDQMAnalyzerAk5CaloUncleaned = cms.EDAnalyzer("JetAnalyzer", OutputMEsInRootFile = cms.bool(False), @@ -22,6 +22,7 @@ JetType = cms.string('calo'),#pf, calo or jpt JetCorrections = cms.string("newAk5CaloL2L3"), jetsrc = cms.InputTag("ak5CaloJets"), + filljetHighLevel =cms.bool(True), # # # @@ -85,6 +86,7 @@ jetDQMAnalyzerAk5CaloCleaned=jetDQMAnalyzerAk5CaloUncleaned.clone( JetCleaningFlag = cms.untracked.bool(True), + filljetHighLevel = cms.bool(False), CleaningParameters = cleaningParameters.clone( bypassAllPVChecks = cms.bool(False), ), @@ -96,17 +98,18 @@ ) -jetDQMAnalyzerAk5JPTCleaned=jetDQMAnalyzerAk5CaloCleaned.clone( - JetType = cms.string('jpt'),#pf, calo or jpt - JetCorrections = cms.string("newAk5JPTL1FastL2L3"), - jetsrc = cms.InputTag("JetPlusTrackZSPCorJetAntiKt5"), - JetCleaningFlag = cms.untracked.bool(True), - DCSFilterForJetMonitoring = cms.PSet( - DetectorTypes = cms.untracked.string("ecal:hbhe:hf:pixel:sistrip:es:muon"), - #DebugOn = cms.untracked.bool(True), - alwaysPass = cms.untracked.bool(False) - ) -) +#jetDQMAnalyzerAk5JPTCleaned=jetDQMAnalyzerAk5CaloCleaned.clone( +# JetType = cms.string('jpt'),#pf, calo or jpt +# JetCorrections = cms.string("newAk5JPTL1FastL2L3"), +# jetsrc = cms.InputTag("JetPlusTrackZSPCorJetAntiKt5"), +# JetCleaningFlag = cms.untracked.bool(True), +# filljetHighLevel = cms.bool(False), +# DCSFilterForJetMonitoring = cms.PSet( +# DetectorTypes = cms.untracked.string("ecal:hbhe:hf:pixel:sistrip:es:muon"), +# #DebugOn = cms.untracked.bool(True), +# alwaysPass = cms.untracked.bool(False) +# ) +#) jetDQMAnalyzerAk5PFUncleaned=jetDQMAnalyzerAk5CaloUncleaned.clone( CleaningParameters = cleaningParameters.clone( @@ -120,6 +123,7 @@ JetType = cms.string('pf'),#pf, calo or jpt JetCorrections = cms.string("newAk5PFL1FastL2L3"), jetsrc = cms.InputTag("ak5PFJets"), + filljetHighLevel = cms.bool(False), DCSFilterForJetMonitoring = cms.PSet( DetectorTypes = cms.untracked.string("ecal:hbhe:hf:pixel:sistrip:es:muon"), #DebugOn = cms.untracked.bool(True), @@ -129,6 +133,7 @@ jetDQMAnalyzerAk5PFCleaned=jetDQMAnalyzerAk5PFUncleaned.clone( JetCleaningFlag = cms.untracked.bool(True), + filljetHighLevel = cms.bool(False), jetAnalysis=jetDQMParameters.clone( ptThreshold = cms.double(20.), asymmetryThirdJetCut = cms.double(30), @@ -144,7 +149,7 @@ JetType = cms.string('calo'),#pf, calo or jpt JetCorrections = cms.string(""),# no jet correction available yet? jetsrc = cms.InputTag("iterativeConePu5CaloJets"), - JetCleaningFlag = cms.untracked.bool(False), + JetCleaningFlag = cms.untracked.bool(False), runcosmics = cms.untracked.bool(True), DCSFilterForJetMonitoring = cms.PSet( DetectorTypes = cms.untracked.string("ecal:hbhe:hf:pixel:sistrip:es:muon"), diff --git a/DQMOffline/JetMET/python/metDQMConfig_cff.py b/DQMOffline/JetMET/python/metDQMConfig_cff.py index 9ee23e4f48047..4894b040083b9 100644 --- a/DQMOffline/JetMET/python/metDQMConfig_cff.py +++ b/DQMOffline/JetMET/python/metDQMConfig_cff.py @@ -2,7 +2,8 @@ from DQMOffline.JetMET.metDQMConfig_cfi import * -METDQMAnalyzerSequence = cms.Sequence(tcMetDQMAnalyzer*caloMetDQMAnalyzer*pfMetDQMAnalyzer) +#METDQMAnalyzerSequence = cms.Sequence(caloMetDQMAnalyzer*tcMetDQMAnalyzer*pfMetDQMAnalyzer) +METDQMAnalyzerSequence = cms.Sequence(caloMetDQMAnalyzer*pfMetDQMAnalyzer) METDQMAnalyzerSequenceCosmics = cms.Sequence(caloMetDQMAnalyzer) diff --git a/DQMOffline/JetMET/python/metDQMConfig_cfi.py b/DQMOffline/JetMET/python/metDQMConfig_cfi.py index 22e1f1365bf7c..42edb025c50b3 100644 --- a/DQMOffline/JetMET/python/metDQMConfig_cfi.py +++ b/DQMOffline/JetMET/python/metDQMConfig_cfi.py @@ -11,23 +11,26 @@ from JetMETCorrections.Configuration.JetCorrectionServices_cff import ak5PFL1FastL2L3,ak5PFL1Fastjet,ak5PFL2Relative,ak5PFL3Absolute newAk5PFL1FastL2L3 = ak5PFL1FastL2L3.clone() -from JetMETCorrections.Configuration.JetCorrectionServices_cff import ak5JPTL1FastL2L3,ak5JPTL1Fastjet,ak5JPTL2Relative,ak5JPTL3Absolute -newAk5JPTL1FastL2L3 = ak5JPTL1FastL2L3.clone() +#from JetMETCorrections.Configuration.JetCorrectionServices_cff import ak5JPTL1FastL2L3,ak5JPTL1Fastjet,ak5JPTL2Relative,ak5JPTL3Absolute +#newAk5JPTL1FastL2L3 = ak5JPTL1FastL2L3.clone() -tcMetDQMAnalyzer = cms.EDAnalyzer("METAnalyzer", +caloMetDQMAnalyzer = cms.EDAnalyzer("METAnalyzer", OutputMEsInRootFile = cms.bool(False), OutputFile = cms.string('jetMETMonitoring.root'), - METType=cms.untracked.string('tc'), - METCollectionLabel = cms.InputTag("tcMet"), - JetCollectionLabel = cms.InputTag("JetPlusTrackZSPCorJetAntiKt5"), - JetCorrections = cms.string("newAk5JPTL1FastL2L3"), + METType=cms.untracked.string('calo'), + METCollectionLabel = cms.InputTag("met"), + JetCollectionLabel = cms.InputTag("ak5CaloJets"), + JetCorrections = cms.string("newAk5CaloL2L3"), + InputJetIDValueMap = cms.InputTag("ak5JetID"), ptThreshold =cms.double(30), FolderName = cms.untracked.string("JetMET/MET/"), + fillMetHighLevel = cms.bool(True), + CleaningParameters = cleaningParameters.clone(), TriggerResultsLabel = cms.InputTag("TriggerResults::HLT"), @@ -114,10 +117,11 @@ # etThreshold = cms.double(2.), DCSFilter = cms.PSet( - DetectorTypes = cms.untracked.string("ecal:hbhe:hf:pixel:sistrip:es:muon"), - #DebugOn = cms.untracked.bool(True), - Filter = cms.untracked.bool(True) - ), + DetectorTypes = cms.untracked.string("ecal:hbhe:hf"), + #DebugOn = cms.untracked.bool(True), + Filter = cms.untracked.bool(True) + ), + #Parameters set for METAnalyzer --> but only used for TCMET InputBeamSpotLabel = cms.InputTag("offlineBeamSpot"), @@ -127,21 +131,28 @@ InputTCMETValueMap = cms.InputTag("muonTCMETValueMapProducer","muCorrData"),#muonMETValueMapProducer -> calomet vs muonTCMETValueMapProducer ) -pfMetDQMAnalyzer = tcMetDQMAnalyzer.clone( +#tcMetDQMAnalyzer = caloMetDQMAnalyzer.clone( +# METType=cms.untracked.string('tc'), +# METCollectionLabel = cms.InputTag("tcMet"), +# JetCollectionLabel = cms.InputTag("JetPlusTrackZSPCorJetAntiKt5"), +# JetCorrections = cms.string("newAk5JPTL1FastL2L3"), +# fillMetHighLevel = cms.bool(False), +# DCSFilter = cms.PSet( +# DetectorTypes = cms.untracked.string("ecal:hbhe:hf:pixel:sistrip:es:muon"), +# #DebugOn = cms.untracked.bool(True), +# Filter = cms.untracked.bool(True) +# ), +#) + +pfMetDQMAnalyzer = caloMetDQMAnalyzer.clone( METType=cms.untracked.string('pf'), METCollectionLabel = cms.InputTag("pfMet"), JetCollectionLabel = cms.InputTag("ak5PFJets"), JetCorrections = cms.string("newAk5PFL1FastL2L3"), -) - -caloMetDQMAnalyzer = tcMetDQMAnalyzer.clone( - METType=cms.untracked.string('calo'), - METCollectionLabel = cms.InputTag("met"), - JetCollectionLabel = cms.InputTag("ak5CaloJets"), - JetCorrections = cms.string("newAk5CaloL2L3"), + fillMetHighLevel = cms.bool(False), DCSFilter = cms.PSet( - DetectorTypes = cms.untracked.string("ecal:hbhe:hf"), - #DebugOn = cms.untracked.bool(True), - Filter = cms.untracked.bool(True) - ) + DetectorTypes = cms.untracked.string("ecal:hbhe:hf:pixel:sistrip:es:muon"), + #DebugOn = cms.untracked.bool(True), + Filter = cms.untracked.bool(True) + ), ) diff --git a/DQMOffline/JetMET/src/DataCertificationJetMET.cc b/DQMOffline/JetMET/src/DataCertificationJetMET.cc index d837fb43f172f..b7ace30ee7ae8 100644 --- a/DQMOffline/JetMET/src/DataCertificationJetMET.cc +++ b/DQMOffline/JetMET/src/DataCertificationJetMET.cc @@ -124,22 +124,6 @@ DataCertificationJetMET::endLuminosityBlock(const edm::LuminosityBlock& lumiBloc } -// ------------ method called just before starting a new run ------------ - -void DataCertificationJetMET::bookHistograms(DQMStore::IBooker & ibooker, - edm::Run const & iRun, - edm::EventSetup const & ) { - ibooker.setCurrentFolder(folderName); - - reportSummary = ibooker.bookFloat("reportSummary"); - CertificationSummary = ibooker.bookFloat("CertificationSummary"); - - reportSummaryMap = ibooker.book2D("reportSummaryMap","reportSummaryMap",3,0,3,5,0,5); - CertificationSummaryMap = ibooker.book2D("CertificationSummaryMap","CertificationSummaryMap",3,0,3,5,0,5); -} - - - // ------------ method called right after a run ends ------------ void DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) @@ -215,7 +199,13 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) dbe_->setCurrentFolder(folderName); + reportSummary = dbe_->bookFloat("reportSummary"); + CertificationSummary = dbe_->bookFloat("CertificationSummary"); + reportSummaryMap = dbe_->book2D("reportSummaryMap","reportSummaryMap",3,0,3,5,0,5); + CertificationSummaryMap = dbe_->book2D("CertificationSummaryMap","CertificationSummaryMap",3,0,3,5,0,5); + + reportSummary = dbe_->get(folderName+"/"+"reportSummary"); CertificationSummary = dbe_->get(folderName+"/"+"CertificationSummary"); reportSummaryMap = dbe_->get(folderName+"/"+"reportSummaryMap"); @@ -252,12 +242,12 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) //----------------------------- // Jet DQM Data Certification //----------------------------- - MonitorElement *meJetPt[5]; - MonitorElement *meJetEta[5]; - MonitorElement *meJetPhi[5]; + //we have 4 types anymore: PF (barrel,endcap,forward) and calojets + MonitorElement *meJetPt[4]; + MonitorElement *meJetEta[4]; + MonitorElement *meJetPhi[4]; MonitorElement *meJetEMFrac[4]; MonitorElement *meJetConstituents[4]; - MonitorElement *meJetNTracks; RunDir = ""; if (RunDir == "") newHistoName = "JetMET/Jet/"; else newHistoName = RunDir+"/JetMET/Runsummary/Jet/"; @@ -272,21 +262,21 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) meJetPhi[1] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"PFJets/Phi_EndCap"); meJetPhi[2] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"PFJets/Phi_Forward"); meJetPhi[3] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"CaloJets/Phi"); - meJetPhi[4] = dbe_->get(newHistoName+cleaningdir+"JetPlusTrackZSPCorJetAntiKt5/Phi"); + //meJetPhi[4] = dbe_->get(newHistoName+cleaningdir+"JetPlusTrackZSPCorJetAntiKt5/Phi"); //Jet Eta histos meJetEta[0] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"PFJets/Eta"); meJetEta[1] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"PFJets/Eta"); meJetEta[2] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"PFJets/EtaFirst"); meJetEta[3] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"CaloJets/Eta"); - meJetEta[4] = dbe_->get(newHistoName+cleaningdir+"JetPlusTrackZSPCorJetAntiKt5/Eta"); + //meJetEta[4] = dbe_->get(newHistoName+cleaningdir+"JetPlusTrackZSPCorJetAntiKt5/Eta"); //Jet Pt histos meJetPt[0] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"PFJets/Pt_Barrel"); meJetPt[1] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"PFJets/Pt_EndCap"); meJetPt[2] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"PFJets/Pt_Forward"); meJetPt[3] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"CaloJets/Pt_2"); - meJetPt[4] = dbe_->get(newHistoName+cleaningdir+"JetPlusTrackZSPCorJetAntiKt5/Pt_2"); + //meJetPt[4] = dbe_->get(newHistoName+cleaningdir+"JetPlusTrackZSPCorJetAntiKt5/Pt_2"); ////Jet Constituents histos meJetConstituents[0] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"PFJets/Constituents_Barrel"); @@ -301,7 +291,7 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) meJetEMFrac[3] = dbe_->get(newHistoName+cleaningdir+jetAlgo+"CaloJets/EFrac"); //JPT specific histos - meJetNTracks = dbe_->get(newHistoName+cleaningdir+"JetPlusTrackZSPCorJetAntiKt5/nTracks"); + //meJetNTracks = dbe_->get(newHistoName+cleaningdir+"JetPlusTrackZSPCorJetAntiKt5/nTracks"); //------------------------------------------------------------------------------ //--- Extract quality test results and fill data certification results for Jets @@ -315,49 +305,39 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) //------------------------------------------------------------------------------ - // Five types of jets {AK5 Barrel, AK5 EndCap, AK5 Forward, PF, JPT} + // Four types of jets {AK5 Barrel, AK5 EndCap, AK5 Forward, PF}, removed JPT which is 5th type of jets //---------------------------------------------------------------------------- // Kolmogorov (KS) tests - const QReport* QReport_JetEta[5] = {0, 0, 0, 0, 0}; - const QReport* QReport_JetPhi[5] = {0, 0, 0, 0, 0}; - + const QReport* QReport_JetEta[4] = {0}; + const QReport* QReport_JetPhi[4] = {0}; // Mean and KS tests for Calo and PF jets - const QReport* QReport_JetConstituents[4][2] = {{0,0}, {0,0}, {0,0}, {0,0}}; - const QReport* QReport_JetEFrac[4][2] = {{0,0}, {0,0}, {0,0}, {0,0}}; - const QReport* QReport_JetPt[5][2] = {{0,0}, {0,0}, {0,0}, {0,0}, {0,0}}; + const QReport* QReport_JetConstituents[4][2] = {{0}}; + const QReport* QReport_JetEFrac[4][2] = {{0}}; + const QReport* QReport_JetPt[4][2] = {{0}}; // Mean and KS tests for JPT jets - const QReport* QReport_JetNTracks[2] = {0, 0}; - - float qr_Jet_NTracks[2] = {-1, -1}; - float qr_Jet_Eta[5] = {-1, -1, -1, -1, -1}; - float qr_Jet_Phi[5] = {-1, -1, -1, -1, -1}; - float dc_Jet[5] = {-1, -1, -1, -1, -1}; + //const QReport* QReport_JetNTracks[2] = {0, 0}; + float qr_Jet_Eta[4] = {-1}; + float qr_Jet_Phi[4] = {-1}; + float dc_Jet[4] = {-1}; - float qr_Jet_Constituents[4][2] = {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}}; - float qr_Jet_EFrac[4][2] = {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}}; - float qr_Jet_Pt[5][2] = {{-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}, {-1,-1}}; + float qr_Jet_Constituents[4][2] = {{-1}}; + float qr_Jet_EFrac[4][2] = {{-1}}; + float qr_Jet_Pt[4][2] = {{-1}}; // Loop //---------------------------------------------------------------------------- - for (int jtyp=0; jtyp<5; ++jtyp) { + for (int jtyp=0; jtyp<4; ++jtyp) { // Mean test results - if (jtyp < 4){ - if (meJetConstituents[jtyp] && meJetConstituents[jtyp]->getRootObject() ) { - QReport_JetConstituents[jtyp][0] = meJetConstituents[jtyp]->getQReport("meanJetConstituentsTest"); - QReport_JetConstituents[jtyp][1] = meJetConstituents[jtyp]->getQReport("KolmogorovTest"); - } - if (meJetEMFrac[jtyp]&& meJetEMFrac[jtyp]->getRootObject() ) { - QReport_JetEFrac[jtyp][0] = meJetEMFrac[jtyp]->getQReport("meanEMFractionTest"); - QReport_JetEFrac[jtyp][1] = meJetEMFrac[jtyp]->getQReport("KolmogorovTest"); - } + + if (meJetConstituents[jtyp] && meJetConstituents[jtyp]->getRootObject() ) { + QReport_JetConstituents[jtyp][0] = meJetConstituents[jtyp]->getQReport("meanJetConstituentsTest"); + QReport_JetConstituents[jtyp][1] = meJetConstituents[jtyp]->getQReport("KolmogorovTest"); } - else { - if (meJetNTracks && meJetNTracks->getRootObject() ) { - QReport_JetNTracks[0] = meJetNTracks->getQReport("meanNTracksTest"); - QReport_JetNTracks[1] = meJetNTracks->getQReport("KolmogorovTest"); - } + if (meJetEMFrac[jtyp]&& meJetEMFrac[jtyp]->getRootObject() ) { + QReport_JetEFrac[jtyp][0] = meJetEMFrac[jtyp]->getQReport("meanEMFractionTest"); + QReport_JetEFrac[jtyp][1] = meJetEMFrac[jtyp]->getQReport("KolmogorovTest"); } if (meJetPt[jtyp] && meJetPt[jtyp]->getRootObject() ) { QReport_JetPt[jtyp][0] = meJetPt[jtyp]->getQReport("meanJetPtTest"); @@ -421,7 +401,6 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) else{ qr_Jet_Eta[jtyp] = -2; } - if (jtyp < 4) { //Jet Constituents test if (QReport_JetConstituents[jtyp][0]){ if (QReport_JetConstituents[jtyp][0]->getStatus()==100 || @@ -470,48 +449,21 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) } else{ qr_Jet_EFrac[jtyp][1] = -2; } - } - else { - for (int ii = 0; ii < 2; ++ii) { - //Jet NTracks test - if (QReport_JetNTracks[ii]){ - if (QReport_JetNTracks[ii]->getStatus()==100 || - QReport_JetNTracks[ii]->getStatus()==200) - qr_Jet_NTracks[ii] = 1; - else if (QReport_JetNTracks[ii]->getStatus()==300) - qr_Jet_NTracks[ii] = 0; - else - qr_Jet_NTracks[ii] = -1; - } - else{ qr_Jet_NTracks[ii] = -2; - } - } - } if (verbose_) { printf("====================Jet Type %d QTest Report Summary========================\n",jtyp); printf("Eta: Phi: Pt 1: 2: Const/Ntracks 1: 2: EFrac/tracknhits 1: 2:\n"); - if (jtyp<4) { - printf("%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f\n", \ - qr_Jet_Eta[jtyp], \ - qr_Jet_Phi[jtyp], \ - qr_Jet_Pt[jtyp][0], \ - qr_Jet_Pt[jtyp][1], \ - qr_Jet_Constituents[jtyp][0], \ - qr_Jet_Constituents[jtyp][1], \ - qr_Jet_EFrac[jtyp][0], \ - qr_Jet_EFrac[jtyp][1]); - } - else { - printf("%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f\n", \ - qr_Jet_Eta[jtyp], \ - qr_Jet_Phi[jtyp], \ - qr_Jet_Pt[jtyp][0], \ - qr_Jet_Pt[jtyp][1], \ - qr_Jet_NTracks[0], \ - qr_Jet_NTracks[1]); - } - printf("===========================================================================\n"); + + printf("%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f\n", \ + qr_Jet_Eta[jtyp], \ + qr_Jet_Phi[jtyp], \ + qr_Jet_Pt[jtyp][0], \ + qr_Jet_Pt[jtyp][1], \ + qr_Jet_Constituents[jtyp][0], \ + qr_Jet_Constituents[jtyp][1], \ + qr_Jet_EFrac[jtyp][0], \ + qr_Jet_EFrac[jtyp][1]); + } //certification result for Jet @@ -523,81 +475,49 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) qr_Jet_Eta[jtyp] = 1; qr_Jet_Phi[jtyp] = 1; } - if (jtyp < 4) { - qr_Jet_EFrac[jtyp][ttyp] = 1; - qr_Jet_Constituents[jtyp][ttyp] = 1; - } - else{ - qr_Jet_NTracks[ttyp] = 1; - } + qr_Jet_EFrac[jtyp][ttyp] = 1; + qr_Jet_Constituents[jtyp][ttyp] = 1; } } - if (jtyp < 4) { - if ( (qr_Jet_EFrac[jtyp][0] == 0) || - (qr_Jet_EFrac[jtyp][1] == 0) || - (qr_Jet_Constituents[jtyp][1] == 0) || - (qr_Jet_Constituents[jtyp][0] == 0) || - (qr_Jet_Eta[jtyp] == 0) || - (qr_Jet_Phi[jtyp] == 0) || - (qr_Jet_Pt[jtyp][0] == 0) || - (qr_Jet_Pt[jtyp][1] == 0) - ) - dc_Jet[jtyp] = 0; - else if ( (qr_Jet_EFrac[jtyp][0] == -1) && - (qr_Jet_EFrac[jtyp][1] == -1) && - (qr_Jet_Constituents[jtyp][1] == -1) && - (qr_Jet_Constituents[jtyp][0] == -1) && - (qr_Jet_Eta[jtyp] == -1) && - (qr_Jet_Phi[jtyp] == -1) && - (qr_Jet_Pt[jtyp][0] == -1) && - (qr_Jet_Pt[jtyp][1] == -1 ) - ) - dc_Jet[jtyp] = -1; - else if ( (qr_Jet_EFrac[jtyp][0] == -2) && - (qr_Jet_EFrac[jtyp][1] == -2) && - (qr_Jet_Constituents[jtyp][1] == -2) && - (qr_Jet_Constituents[jtyp][0] == -2) && - (qr_Jet_Eta[jtyp] == -2) && - (qr_Jet_Phi[jtyp] == -2) && - (qr_Jet_Pt[jtyp][0] == -2) && - (qr_Jet_Pt[jtyp][1] == -2) - ) - dc_Jet[jtyp] = -2; - else - dc_Jet[jtyp] = 1; - } - else { - if ( (qr_Jet_NTracks[0] == 0) || - (qr_Jet_NTracks[1] == 0) || - (qr_Jet_Eta[jtyp] == 0) || - (qr_Jet_Phi[jtyp] == 0) || - (qr_Jet_Pt[jtyp][0] == 0) || - (qr_Jet_Pt[jtyp][1] == 0) - ) - dc_Jet[jtyp] = 0; - else if ( (qr_Jet_NTracks[0] == -1) && - (qr_Jet_NTracks[1] == -1) && - (qr_Jet_Eta[jtyp] == -1) && - (qr_Jet_Phi[jtyp] == -1) && - (qr_Jet_Pt[jtyp][0] == -1) && - (qr_Jet_Pt[jtyp][1] == -1) - ) - dc_Jet[jtyp] = -1; - else if ( (qr_Jet_NTracks[0] == -2) && - (qr_Jet_NTracks[1] == -2) && - (qr_Jet_Eta[jtyp] == -2) && - (qr_Jet_Phi[jtyp] == -2) && - (qr_Jet_Pt[jtyp][0] == -2) && - (qr_Jet_Pt[jtyp][1] == -2) - ) - dc_Jet[jtyp] = -2; - else - dc_Jet[jtyp] = 1; - } + + if ( (qr_Jet_EFrac[jtyp][0] == 0) || + (qr_Jet_EFrac[jtyp][1] == 0) || + (qr_Jet_Constituents[jtyp][1] == 0) || + (qr_Jet_Constituents[jtyp][0] == 0) || + (qr_Jet_Eta[jtyp] == 0) || + (qr_Jet_Phi[jtyp] == 0) || + (qr_Jet_Pt[jtyp][0] == 0) || + (qr_Jet_Pt[jtyp][1] == 0) + ) + dc_Jet[jtyp] = 0; + else if ( (qr_Jet_EFrac[jtyp][0] == -1) && + (qr_Jet_EFrac[jtyp][1] == -1) && + (qr_Jet_Constituents[jtyp][1] == -1) && + (qr_Jet_Constituents[jtyp][0] == -1) && + (qr_Jet_Eta[jtyp] == -1) && + (qr_Jet_Phi[jtyp] == -1) && + (qr_Jet_Pt[jtyp][0] == -1) && + (qr_Jet_Pt[jtyp][1] == -1 ) + ) + dc_Jet[jtyp] = -1; + else if ( (qr_Jet_EFrac[jtyp][0] == -2) && + (qr_Jet_EFrac[jtyp][1] == -2) && + (qr_Jet_Constituents[jtyp][1] == -2) && + (qr_Jet_Constituents[jtyp][0] == -2) && + (qr_Jet_Eta[jtyp] == -2) && + (qr_Jet_Phi[jtyp] == -2) && + (qr_Jet_Pt[jtyp][0] == -2) && + (qr_Jet_Pt[jtyp][1] == -2) + ) + dc_Jet[jtyp] = -2; + else + dc_Jet[jtyp] = 1; if (verbose_) std::cout<<"Certifying Jet algo: "<Fill(2, 4-jtyp, dc_Jet[jtyp]); reportSummaryMap->Fill(2, 4-jtyp, dc_Jet[jtyp]); } @@ -608,10 +528,10 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) // // Prepare test histograms // - MonitorElement *meMExy[4][2]; - MonitorElement *meMEt[4]; - MonitorElement *meSumEt[4]; - MonitorElement *meMETPhi[4]; + MonitorElement *meMExy[2][2]; + MonitorElement *meMEt[2]; + MonitorElement *meSumEt[2]; + MonitorElement *meMETPhi[2]; //MonitorElement *meMETEMFrac[5]; //MonitorElement *meMETEmEt[3][2]; //MonitorElement *meMETHadEt[3][2]; @@ -630,45 +550,46 @@ DataCertificationJetMET::endRun(const edm::Run& run, const edm::EventSetup& c) meMExy[0][1] = dbe_->get(newHistoName+"met/"+metFolder+"/MEy"); meMExy[1][0] = dbe_->get(newHistoName+"pfMet/"+metFolder+"/MEx"); meMExy[1][1] = dbe_->get(newHistoName+"pfMet/"+metFolder+"/MEy"); - meMExy[2][0] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/MEx"); - meMExy[2][1] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/MEy"); + //meMExy[2][0] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/MEx"); + //meMExy[2][1] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/MEy"); //MET Phi monitor elements meMETPhi[0] = dbe_->get(newHistoName+"met/"+metFolder+"/METPhi"); meMETPhi[1] = dbe_->get(newHistoName+"pfMet/"+metFolder+"/METPhi"); - meMETPhi[2] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/METPhi"); + //meMETPhi[2] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/METPhi"); //MET monitor elements meMEt[0] = dbe_->get(newHistoName+"met/"+metFolder+"/MET"); meMEt[1] = dbe_->get(newHistoName+"pfMet/"+metFolder+"/MET"); - meMEt[2] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/MET"); + //meMEt[2] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/MET"); //SumET monitor elements meSumEt[0] = dbe_->get(newHistoName+"met/"+metFolder+"/SumET"); meSumEt[1] = dbe_->get(newHistoName+"pfMet/"+metFolder+"/SumET"); - meSumEt[2] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/SumET"); + //meSumEt[2] = dbe_->get(newHistoName+"tcMet/"+metFolder+"/SumET"); //---------------------------------------------------------------------------- //--- Extract quality test results and fill data certification results for MET //---------------------------------------------------------------------------- - // 3 types of MET {CaloMET, PfMET, TcMET} // It is 5 if CaloMETNoHF is included + // 2 types of MET {CaloMET, PfMET} // It is 5 if CaloMETNoHF is included, 4 for MuonCorMET + // removed 3rd type of TcMET // 2 types of tests Mean test/Kolmogorov test - const QReport * QReport_MExy[3][2][2]={{{0}}}; - const QReport * QReport_MEt[3][2]={{0}}; - const QReport * QReport_SumEt[3][2]={{0}}; + const QReport * QReport_MExy[2][2][2]={{{0}}}; + const QReport * QReport_MEt[2][2]={{0}}; + const QReport * QReport_SumEt[2][2]={{0}}; //2 types of tests phiQTest and Kolmogorov test - const QReport * QReport_METPhi[3][2]={{0}}; + const QReport * QReport_METPhi[2][2]={{0}}; - float qr_MET_MExy[3][2][2] = {{{-999.}}}; - float qr_MET_MEt[3][2] = {{-999.}}; - float qr_MET_SumEt[3][2] = {{-999.}}; - float qr_MET_METPhi[3][2] = {{-999.}}; - float dc_MET[3] = {-999.}; + float qr_MET_MExy[2][2][2] = {{{-999.}}}; + float qr_MET_MEt[2][2] = {{-999.}}; + float qr_MET_SumEt[2][2] = {{-999.}}; + float qr_MET_METPhi[2][2] = {{-999.}}; + float dc_MET[2] = {-999.}; // J.Piedra, 27/02/212 - // removed MuCorrMET --> loop up to 3 instead of 4, remove already from definition - for (int mtyp = 0; mtyp < 3; ++mtyp){ + // removed MuCorrMET & TcMET --> loop up to 2 instead of 4, remove already from definition + for (int mtyp = 0; mtyp < 2; ++mtyp){ //std::cout<<"METType "<("jetAnalysis"); @@ -108,20 +108,22 @@ JetAnalyzer::JetAnalyzer(const edm::ParameterSet& pSet) jetType_ = pSet.getParameter("JetType"); jetCorrectionService_ = pSet.getParameter ("JetCorrections"); + + fill_jet_high_level_histo=pSet.getParameter("filljetHighLevel"), isCaloJet_ = (std::string("calo")==jetType_); - isJPTJet_ = (std::string("jpt") ==jetType_); + //isJPTJet_ = (std::string("jpt") ==jetType_); isPFJet_ = (std::string("pf") ==jetType_); if (isCaloJet_) caloJetsToken_ = consumes(mInputCollection_); - if (isJPTJet_) jptJetsToken_ = consumes(mInputCollection_); + //if (isJPTJet_) jptJetsToken_ = consumes(mInputCollection_); if (isPFJet_) pfJetsToken_ = consumes(mInputCollection_); JetIDQuality_ = pSet.getParameter("JetIDQuality"); JetIDVersion_ = pSet.getParameter("JetIDVersion"); // JetID definitions for Calo and JPT Jets - if(isJPTJet_ || isCaloJet_){ + if(/*isJPTJet_ || */isCaloJet_){ inputJetIDValueMap = pSet.getParameter("InputJetIDValueMap"); jetID_ValueMapToken_= consumes< edm::ValueMap >(inputJetIDValueMap); if(JetIDVersion_== "PURE09"){ @@ -265,18 +267,6 @@ JetAnalyzer::~JetAnalyzer() { } } -void JetAnalyzer::beginRun(edm::Run const &run, edm::EventSetup const &es) -{ - dqmBeginRun(run, es); - - dbe_->bookTransaction([this, &run, &es](DQMStore::IBooker &b){ - this->bookHistograms(b, run, es); - }, - run.run(), - 0, - run.moduleCallingContext()->moduleDescription()->id()); -} - // *********************************************************** void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, edm::Run const & iRun, @@ -296,43 +286,69 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, jetME->setBinLabel(2,"PFJets",1); jetME->setBinLabel(3,"JPTJets",1); + map_of_MEs.insert(std::pair(DirName+"/"+"jetReco",jetME)); + mPt = ibooker.book1D("Pt", "pt", ptBin_, ptMin_, ptMax_); mEta = ibooker.book1D("Eta", "eta", etaBin_, etaMin_, etaMax_); mPhi = ibooker.book1D("Phi", "phi", phiBin_, phiMin_, phiMax_); - if(!isJPTJet_){ - mConstituents = ibooker.book1D("Constituents", "# of constituents", 50, 0, 100); - } + map_of_MEs.insert(std::pair(DirName+"/"+"Pt" ,mPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"Eta",mEta)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi",mPhi)); + + //if(!isJPTJet_){ + mConstituents = ibooker.book1D("Constituents", "# of constituents", 50, 0, 100); + map_of_MEs.insert(std::pair(DirName+"/"+"Constituents",mConstituents)); + //} mJetEnergyCorr= ibooker.book1D("JetEnergyCorr", "jet energy correction factor", 50, 0.0,3.0); mJetEnergyCorrVSEta= ibooker.bookProfile("JetEnergyCorrVSEta", "jet energy correction factor VS eta", etaBin_, etaMin_,etaMax_, 0.0,3.0); mJetEnergyCorrVSPt= ibooker.bookProfile("JetEnergyCorrVSPt", "jet energy correction factor VS pt", ptBin_, ptMin_,ptMax_, 0.0,3.0); mHFrac = ibooker.book1D("HFrac", "HFrac", 140, -0.2, 1.2); mEFrac = ibooker.book1D("EFrac", "EFrac", 52, -0.02, 1.02); - + map_of_MEs.insert(std::pair(DirName+"/"+"JetEnergyCorr" ,mJetEnergyCorr)); + map_of_MEs.insert(std::pair(DirName+"/"+"JetEnergyCorrVSEta" ,mJetEnergyCorrVSEta)); + map_of_MEs.insert(std::pair(DirName+"/"+"JetEnergyCorrVSPt" ,mJetEnergyCorrVSPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFrac" ,mHFrac)); + map_of_MEs.insert(std::pair(DirName+"/"+"EFrac" ,mEFrac)); + mPt_uncor = ibooker.book1D("Pt_uncor", "pt for uncorrected jets", ptBin_, ptThresholdUnc_, ptMax_); mEta_uncor = ibooker.book1D("Eta_uncor", "eta for uncorrected jets", etaBin_, etaMin_, etaMax_); mPhi_uncor = ibooker.book1D("Phi_uncor", "phi for uncorrected jets", phiBin_, phiMin_, phiMax_); - if(!isJPTJet_){ - mConstituents_uncor = ibooker.book1D("Constituents_uncor", "# of constituents for uncorrected jets", 50, 0, 100); - } + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_uncor" ,mPt_uncor)); + map_of_MEs.insert(std::pair(DirName+"/"+"Eta_uncor",mEta_uncor)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_uncor",mPhi_uncor)); + //if(!isJPTJet_){ + mConstituents_uncor = ibooker.book1D("Constituents_uncor", "# of constituents for uncorrected jets", 50, 0, 100); + map_of_MEs.insert(std::pair(DirName+"/"+"Constituents_uncor",mConstituents_uncor)); + //} mDPhi = ibooker.book1D("DPhi", "dPhi btw the two leading jets", 100, 0., acos(-1.)); + map_of_MEs.insert(std::pair(DirName+"/"+"DPhi",mDPhi)); // Book NPV profiles //---------------------------------------------------------------------------- mPt_profile = ibooker.bookProfile("Pt_profile", "pt", nbinsPV_, nPVlow_, nPVhigh_, ptBin_, ptMin_, ptMax_); mEta_profile = ibooker.bookProfile("Eta_profile", "eta", nbinsPV_, nPVlow_, nPVhigh_, etaBin_, etaMin_, etaMax_); mPhi_profile = ibooker.bookProfile("Phi_profile", "phi", nbinsPV_, nPVlow_, nPVhigh_, phiBin_, phiMin_, phiMax_); - if(!isJPTJet_){ - mConstituents_profile = ibooker.bookProfile("Constituents_profile", "# of constituents", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100); - } + //if(!isJPTJet_){ + mConstituents_profile = ibooker.bookProfile("Constituents_profile", "# of constituents", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100); + //} mHFrac_profile = ibooker.bookProfile("HFrac_profile", "HFrac", nbinsPV_, nPVlow_, nPVhigh_, 140, -0.2, 1.2); mEFrac_profile = ibooker.bookProfile("EFrac_profile", "EFrac", nbinsPV_, nPVlow_, nPVhigh_, 52, -0.02, 1.02); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_profile" ,mPt_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"Eta_profile",mEta_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_profile",mPhi_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFrac_profile",mHFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"EFrac_profile",mEFrac_profile)); + if(!jetCleaningFlag_){//JIDPassFrac_ defines a collection of cleaned jets, for which we will want to fill the cleaning passing fraction mLooseJIDPassFractionVSeta = ibooker.bookProfile("JetIDPassFractionVSeta","JetIDPassFractionVSeta",etaBin_, etaMin_, etaMax_,0.,1.2); mLooseJIDPassFractionVSpt = ibooker.bookProfile("JetIDPassFractionVSpt","JetIDPassFractionVSpt",ptBin_, ptMin_, ptMax_,0.,1.2); mLooseJIDPassFractionVSptNoHF = ibooker.bookProfile("JetIDPassFractionVSptNoHF","JetIDPassFractionVSptNoHF",ptBin_, ptMin_, ptMax_,0.,1.2); + map_of_MEs.insert(std::pair(DirName+"/"+"JetIDPassFractionVSeta" ,mLooseJIDPassFractionVSeta)); + map_of_MEs.insert(std::pair(DirName+"/"+"JetIDPassFractionVSpt" ,mLooseJIDPassFractionVSpt)); + map_of_MEs.insert(std::pair(DirName+"/"+"JetIDPassFractionVSptNoHF",mLooseJIDPassFractionVSptNoHF)); } mNJets_profile = ibooker.bookProfile("NJets_profile", "number of jets", nbinsPV_, nPVlow_, nPVhigh_, 100, 0, 100); @@ -343,18 +359,28 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mPt_profile ->setAxisTitle("nvtx",1); mEta_profile ->setAxisTitle("nvtx",1); mPhi_profile ->setAxisTitle("nvtx",1); - if(!isJPTJet_){ - mConstituents_profile->setAxisTitle("nvtx",1); - } + //if(!isJPTJet_){ + mConstituents_profile->setAxisTitle("nvtx",1); + map_of_MEs.insert(std::pair(DirName+"/"+"Constituents_profile",mConstituents_profile)); + //} mHFrac_profile ->setAxisTitle("nvtx",1); mEFrac_profile ->setAxisTitle("nvtx",1); mNJets_profile->setAxisTitle("nvtx",1); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_profile" ,mPt_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"Eta_profile",mEta_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_profile",mPhi_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFrac_profile" ,mHFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"EFrac_profile" ,mEFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"NJets_profile" ,mNJets_profile)); + + mPhiVSEta = ibooker.book2D("PhiVSEta", "PhiVSEta", 50, etaMin_, etaMax_, 24, phiMin_, phiMax_); mPhiVSEta->getTH2F()->SetOption("colz"); mPhiVSEta->setAxisTitle("#eta",1); mPhiVSEta->setAxisTitle("#phi",2); + map_of_MEs.insert(std::pair(DirName+"/"+"PhiVSEta" ,mPhiVSEta)); mPt_1 = ibooker.book1D("Pt_1", "Pt spectrum of jets - range 1", 20, 0, 100); mPt_2 = ibooker.book1D("Pt_2", "Pt spectrum of jets - range 2", 60, 0, 300); @@ -368,63 +394,91 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mEta_Hi = ibooker.book1D("Eta_Hi", "Eta (Pass Hi Pt Jet Trigger)", etaBin_, etaMin_, etaMax_); mPhi_Hi = ibooker.book1D("Phi_Hi", "Phi (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_); mNJets = ibooker.book1D("NJets", "number of jets", 100, 0, 100); + + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_1" ,mPt_1)); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_2" ,mPt_2)); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_3" ,mPt_3)); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_Lo" ,mPt_Lo)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_Lo" ,mPhi_Lo)); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_Hi" ,mPt_Hi)); + map_of_MEs.insert(std::pair(DirName+"/"+"Eta_Hi" ,mEta_Hi)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_Hi" ,mPhi_Hi)); + map_of_MEs.insert(std::pair(DirName+"/"+"NJets" ,mNJets)); //mPt_Barrel_Lo = ibooker.book1D("Pt_Barrel_Lo", "Pt Barrel (Pass Low Pt Jet Trigger)", 20, 0, 100); //mPhi_Barrel_Lo = ibooker.book1D("Phi_Barrel_Lo", "Phi Barrel (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_); - if(!isJPTJet_){ - mConstituents_Barrel = ibooker.book1D("Constituents_Barrel", "Constituents Barrel", 50, 0, 100); - } + //if(!isJPTJet_){ + mConstituents_Barrel = ibooker.book1D("Constituents_Barrel", "Constituents Barrel", 50, 0, 100); + map_of_MEs.insert(std::pair(DirName+"/"+"Constituents_Barrel",mConstituents_Barrel)); + //} mHFrac_Barrel = ibooker.book1D("HFrac_Barrel", "HFrac Barrel", 100, 0, 1); mEFrac_Barrel = ibooker.book1D("EFrac_Barrel", "EFrac Barrel", 52, -0.02, 1.02); + map_of_MEs.insert(std::pair(DirName+"/"+"HFrac_Barrel" ,mHFrac_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"EFrac_Barrel" ,mEFrac_Barrel)); //mPt_EndCap_Lo = ibooker.book1D("Pt_EndCap_Lo", "Pt EndCap (Pass Low Pt Jet Trigger)", 20, 0, 100); //mPhi_EndCap_Lo = ibooker.book1D("Phi_EndCap_Lo", "Phi EndCap (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_); - if(!isJPTJet_){ - mConstituents_EndCap = ibooker.book1D("Constituents_EndCap", "Constituents EndCap", 50, 0, 100); - } + //if(!isJPTJet_){ + mConstituents_EndCap = ibooker.book1D("Constituents_EndCap", "Constituents EndCap", 50, 0, 100); + map_of_MEs.insert(std::pair(DirName+"/"+"Constituents_EndCap",mConstituents_EndCap)); + //} mHFrac_EndCap = ibooker.book1D("HFrac_EndCap", "HFrac EndCap", 100, 0, 1); mEFrac_EndCap = ibooker.book1D("EFrac_EndCap", "EFrac EndCap", 52, -0.02, 1.02); - + map_of_MEs.insert(std::pair(DirName+"/"+"HFrac_EndCap" ,mHFrac_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"EFrac_EndCap" ,mEFrac_EndCap)); + //mPt_Forward_Lo = ibooker.book1D("Pt_Forward_Lo", "Pt Forward (Pass Low Pt Jet Trigger)", 20, 0, 100); //mPhi_Forward_Lo = ibooker.book1D("Phi_Forward_Lo", "Phi Forward (Pass Low Pt Jet Trigger)", phiBin_, phiMin_, phiMax_); - if(!isJPTJet_){ - mConstituents_Forward = ibooker.book1D("Constituents_Forward", "Constituents Forward", 50, 0, 100); - } + //if(!isJPTJet_){ + mConstituents_Forward = ibooker.book1D("Constituents_Forward", "Constituents Forward", 50, 0, 100); + map_of_MEs.insert(std::pair(DirName+"/"+"Constituents_Forward",mConstituents_Forward)); + //} mHFrac_Forward = ibooker.book1D("HFrac_Forward", "HFrac Forward", 140, -0.2, 1.2); mEFrac_Forward = ibooker.book1D("EFrac_Forward", "EFrac Forward", 52, -0.02, 1.02); - + map_of_MEs.insert(std::pair(DirName+"/"+"HFrac_Forward" ,mHFrac_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"EFrac_Forward" ,mEFrac_Forward)); + + mPt_Barrel_Hi = ibooker.book1D("Pt_Barrel_Hi", "Pt Barrel (Pass Hi Pt Jet Trigger)", 60, 0, 300); mPhi_Barrel_Hi = ibooker.book1D("Phi_Barrel_Hi", "Phi Barrel (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_); - //mConstituents_Barrel_Hi = ibooker.book1D("Constituents_Barrel_Hi", "Constituents Barrel (Pass Hi Pt Jet Trigger)", 50, 0, 100); - //mHFrac_Barrel_Hi = ibooker.book1D("HFrac_Barrel_Hi", "HFrac Barrel (Pass Hi Pt Jet Trigger)", 100, 0, 1); mPt_EndCap_Hi = ibooker.book1D("Pt_EndCap_Hi", "Pt EndCap (Pass Hi Pt Jet Trigger)", 60, 0, 300); mPhi_EndCap_Hi = ibooker.book1D("Phi_EndCap_Hi", "Phi EndCap (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_); - //mConstituents_EndCap_Hi = ibooker.book1D("Constituents_EndCap_Hi", "Constituents EndCap (Pass Hi Pt Jet Trigger)", 50, 0, 100); - //mHFrac_EndCap_Hi = ibooker.book1D("HFrac_EndCap_Hi", "HFrac EndCap (Pass Hi Pt Jet Trigger)", 100, 0, 1); mPt_Forward_Hi = ibooker.book1D("Pt_Forward_Hi", "Pt Forward (Pass Hi Pt Jet Trigger)", 60, 0, 300); mPhi_Forward_Hi = ibooker.book1D("Phi_Forward_Hi", "Phi Forward (Pass Hi Pt Jet Trigger)", phiBin_, phiMin_, phiMax_); - //mConstituents_Forward_Hi = ibooker.book1D("Constituents_Forward_Hi", "Constituents Forward (Pass Hi Pt Jet Trigger)", 50, 0, 100); - //mHFrac_Forward_Hi = ibooker.book1D("HFrac_Forward_Hi", "HFrac Forward (Pass Hi Pt Jet Trigger)", 100, 0, 1); + + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_Barrel_Hi" ,mPt_Barrel_Hi)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_Barrel_Hi",mPhi_Barrel_Hi)); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_EndCap_Hi" ,mPt_EndCap_Hi)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_EndCap_Hi",mPhi_EndCap_Hi)); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_Forward_Hi" ,mPt_Forward_Hi)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_Forward_Hi",mPhi_Forward_Hi)); mPhi_Barrel = ibooker.book1D("Phi_Barrel", "Phi_Barrel", phiBin_, phiMin_, phiMax_); - //mE_Barrel = ibooker.book1D("E_Barrel", "E_Barrel", eBin_, eMin_, eMax_); mPt_Barrel = ibooker.book1D("Pt_Barrel", "Pt_Barrel", ptBin_, ptMin_, ptMax_); mPhi_EndCap = ibooker.book1D("Phi_EndCap", "Phi_EndCap", phiBin_, phiMin_, phiMax_); - //mE_EndCap = ibooker.book1D("E_EndCap", "E_EndCap", eBin_, eMin_, 2*eMax_); mPt_EndCap = ibooker.book1D("Pt_EndCap", "Pt_EndCap", ptBin_, ptMin_, ptMax_); mPhi_Forward = ibooker.book1D("Phi_Forward", "Phi_Forward", phiBin_, phiMin_, phiMax_); - //mE_Forward = ibooker.book1D("E_Forward", "E_Forward", eBin_, eMin_, 4*eMax_); mPt_Forward = ibooker.book1D("Pt_Forward", "Pt_Forward", ptBin_, ptMin_, ptMax_); + + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_Barrel" ,mPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_Barrel",mPhi_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_EndCap" ,mPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_EndCap",mPhi_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_Forward" ,mPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_Forward",mPhi_Forward)); // Leading Jet Parameters mEtaFirst = ibooker.book1D("EtaFirst", "EtaFirst", 100, -5, 5); mPhiFirst = ibooker.book1D("PhiFirst", "PhiFirst", 70, -3.5, 3.5); - //mEFirst = ibooker.book1D("EFirst", "EFirst", 100, 0, 1000); mPtFirst = ibooker.book1D("PtFirst", "PtFirst", ptBin_, ptMin_, ptMax_); + + map_of_MEs.insert(std::pair(DirName+"/"+"EtaFirst" ,mEtaFirst)); + map_of_MEs.insert(std::pair(DirName+"/"+"PtFirst" ,mPtFirst)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhiFirst" ,mPhiFirst)); //--- Calo jet selection only if(isCaloJet_) { @@ -432,134 +486,219 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, // CaloJet specific mMaxEInEmTowers = ibooker.book1D("MaxEInEmTowers", "MaxEInEmTowers", 150, 0, 150); mMaxEInHadTowers = ibooker.book1D("MaxEInHadTowers", "MaxEInHadTowers", 150, 0, 150); - if(!diJetSelectionFlag_ ) { - mHadEnergyInHO = ibooker.book1D("HadEnergyInHO", "HadEnergyInHO", 100, 0, 10); - mHadEnergyInHB = ibooker.book1D("HadEnergyInHB", "HadEnergyInHB", 100, 0, 50); - mHadEnergyInHF = ibooker.book1D("HadEnergyInHF", "HadEnergyInHF", 100, 0, 50); - mHadEnergyInHE = ibooker.book1D("HadEnergyInHE", "HadEnergyInHE", 100, 0, 100); - mEmEnergyInEB = ibooker.book1D("EmEnergyInEB", "EmEnergyInEB", 100, 0, 50); - mEmEnergyInEE = ibooker.book1D("EmEnergyInEE", "EmEnergyInEE", 100, 0, 50); - mEmEnergyInHF = ibooker.book1D("EmEnergyInHF", "EmEnergyInHF", 120, -20, 100); - } + + map_of_MEs.insert(std::pair(DirName+"/"+"MaxEInEmTowers" ,mMaxEInEmTowers)); + map_of_MEs.insert(std::pair(DirName+"/"+"MaxEInHadTowers" ,mMaxEInHadTowers)); + + mHadEnergyInHO = ibooker.book1D("HadEnergyInHO", "HadEnergyInHO", 100, 0, 20); + mHadEnergyInHB = ibooker.book1D("HadEnergyInHB", "HadEnergyInHB", 100, 0, 100); + mHadEnergyInHF = ibooker.book1D("HadEnergyInHF", "HadEnergyInHF", 100, 0, 100); + mHadEnergyInHE = ibooker.book1D("HadEnergyInHE", "HadEnergyInHE", 100, 0, 200); + mEmEnergyInEB = ibooker.book1D("EmEnergyInEB", "EmEnergyInEB", 100, 0, 100); + mEmEnergyInEE = ibooker.book1D("EmEnergyInEE", "EmEnergyInEE", 100, 0, 100); + mEmEnergyInHF = ibooker.book1D("EmEnergyInHF", "EmEnergyInHF", 120, -20, 200); + map_of_MEs.insert(std::pair(DirName+"/"+"HadEnergyInHO" ,mHadEnergyInHO)); + map_of_MEs.insert(std::pair(DirName+"/"+"HadEnergyInHB" ,mHadEnergyInHB)); + map_of_MEs.insert(std::pair(DirName+"/"+"HadEnergyInHF" ,mHadEnergyInHF)); + map_of_MEs.insert(std::pair(DirName+"/"+"HadEnergyInHE" ,mHadEnergyInHE)); + map_of_MEs.insert(std::pair(DirName+"/"+"EmEnergyInEB" ,mEmEnergyInEB)); + map_of_MEs.insert(std::pair(DirName+"/"+"EmEnergyInEE" ,mEmEnergyInEE)); + map_of_MEs.insert(std::pair(DirName+"/"+"EmEnergyInHF" ,mEmEnergyInHF)); + //JetID variables mresEMF = ibooker.book1D("resEMF", "resEMF", 50, 0., 1.); mN90Hits = ibooker.book1D("N90Hits", "N90Hits", 100, 0., 100); mfHPD = ibooker.book1D("fHPD", "fHPD", 50, 0., 1.); mfRBX = ibooker.book1D("fRBX", "fRBX", 50, 0., 1.); + map_of_MEs.insert(std::pair(DirName+"/"+"resEMF" ,mresEMF)); + map_of_MEs.insert(std::pair(DirName+"/"+"N90Hits" ,mN90Hits)); + map_of_MEs.insert(std::pair(DirName+"/"+"fHPD" ,mfHPD)); + map_of_MEs.insert(std::pair(DirName+"/"+"fRBX" ,mfRBX)); } - - if(isJPTJet_) { - //jpt histograms - mE = ibooker.book1D("E", "E", eBin_, eMin_, eMax_); - mEt = ibooker.book1D("Et", "Et", ptBin_, ptMin_, ptMax_); - mP = ibooker.book1D("P", "P", eBin_, eMin_, eMax_); - mPtSecond = ibooker.book1D("PtSecond", "PtSecond", ptBin_, ptMin_, ptMax_); - mPtThird = ibooker.book1D("PtThird", "PtThird", ptBin_, ptMin_, ptMax_); - mPx = ibooker.book1D("Px", "Px", ptBin_, -ptMax_, ptMax_); - mPy = ibooker.book1D("Py", "Py", ptBin_, -ptMax_, ptMax_); - mPz = ibooker.book1D("Pz", "Pz", ptBin_, -ptMax_, ptMax_); - - //JetID variables - mresEMF = ibooker.book1D("resEMF", "resEMF", 50, 0., 1.); - mN90Hits = ibooker.book1D("N90Hits", "N90Hits", 100, 0., 100); - mfHPD = ibooker.book1D("fHPD", "fHPD", 50, 0., 1.); - mfRBX = ibooker.book1D("fRBX", "fRBX", 50, 0., 1.); - - mnTracks = ibooker.book1D("nTracks", "number of tracks for correction per jet", 100, 0, 100); - mnTracksVSJetPt= ibooker.bookProfile("nTracksVSJetPt","number of tracks for correction per jet vs raw jet p_{T}",ptBin_, ptMin_, ptMax_,100,0,100); - mnTracksVSJetEta= ibooker.bookProfile("nTracksVSJetEta","number of tracks for correction per jet vs jet #eta",etaBin_, etaMin_, etaMax_,100,0,100); - mnTracksVSJetPt ->setAxisTitle("raw JetPt",1); - mnTracksVSJetEta ->setAxisTitle("raw JetEta",1); - //define meaningful limits - - //ntrackbins,0,ntrackbins - mnallPionTracksPerJet=ibooker.book1D("nallPionTracks", "number of pion tracks for correction per jet", 100, 0, 100); - //trackptbins,0,trackptmax - //introduce etamax? - mallPionTracksPt=ibooker.book1D("allPionTracksPt", "pion track p_{T}", 100, 0., 50.); - mallPionTracksEta=ibooker.book1D("allPionTracksEta", "pion track #eta", 50, -2.5, 2.5); - //phibins,phimax,phimin - mallPionTracksPhi=ibooker.book1D("allPionTracksPhi", "pion track #phi", phiBin_,phiMin_, phiMax_); - //etabins/etamax/etamin - mallPionTracksPtVSEta=ibooker.bookProfile("allPionTracksPtVSEta", "pion track p_{T} vs track #eta", 50, -2.5, 2.5,100,0.,50.); - - mnInVertexInCaloPionTracksPerJet=ibooker.book1D("nInVertexInCaloPionTracks", "number of pion in cone at calo and vertexs for correction per jet", 100, 0, 100); - mInVertexInCaloPionTracksPt=ibooker.book1D("InVertexInCaloPionTracksPt", "pion in cone at calo and vertex p_{T}", 100, 0., 50.); - mInVertexInCaloPionTracksEta=ibooker.book1D("InVertexInCaloPionTracksEta", "pion in cone at calo and vertex #eta", 50, -2.5, 2.5); - mInVertexInCaloPionTracksPhi=ibooker.book1D("InVertexInCaloPionTracksPhi", "pion in cone at calo and vertex #phi", phiBin_,phiMin_, phiMax_); - mInVertexInCaloPionTracksPtVSEta=ibooker.bookProfile("InVertexInCaloPionTracksPtVSEta", "pion in cone at calo and vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); - //monitor element trackDirectionJetDRHisto - //monitor element trackImpactPointJetDRHisto - mnOutVertexInCaloPionTracksPerJet=ibooker.book1D("nOutVertexInCaloPionTracks", "number of pion in cone at calo and out at vertex for correction per jet", 100, 0, 100); - mOutVertexInCaloPionTracksPt=ibooker.book1D("OutVertexInCaloPionTracksPt", "pion in cone at calo and out at vertex p_{T}", 100, 0., 50.); - mOutVertexInCaloPionTracksEta=ibooker.book1D("OutVertexInCaloPionTracksEta", "pion in cone at calo and out at vertex #eta", 50, -2.5, 2.5); - mOutVertexInCaloPionTracksPhi=ibooker.book1D("OutVertexInCaloPionTracksPhi", "pion in cone at calo and out at vertex #phi", phiBin_,phiMin_, phiMax_); - mOutVertexInCaloPionTracksPtVSEta=ibooker.bookProfile("OutVertexInCaloPionTracksPtVSEta", "pion in cone at calo and out at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); - - mnInVertexOutCaloPionTracksPerJet=ibooker.book1D("nInVertexOutCaloPionTracks", "number of pions out cone at calo and and in cone at vertex for correction per jet", 100, 0, 100); - mInVertexOutCaloPionTracksPt=ibooker.book1D("InVertexOutCaloPionTracksPt", "pion out cone at calo and in cone at vertex p_{T}", 100, 0., 50.); - mInVertexOutCaloPionTracksEta=ibooker.book1D("InVertexOutCaloPionTracksEta", "pion out cone at calo and in cone at vertex #eta", 50, -2.5, 2.5); - mInVertexOutCaloPionTracksPhi=ibooker.book1D("InVertexOutCaloPionTracksPhi", "pion out cone at calo and in cone at vertex #phi", phiBin_,phiMin_, phiMax_); - mInVertexOutCaloPionTracksPtVSEta=ibooker.bookProfile("InVertexOutCaloPionTracksPtVSEta", "pion out cone at calo and in cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); - - mnallMuonTracksPerJet=ibooker.book1D("nallMuonTracks", "number of muon tracks for correction per jet", 10, 0, 10); - mallMuonTracksPt=ibooker.book1D("allMuonTracksPt", "muon track p_{T}", 100, 0., 50.); - mallMuonTracksEta=ibooker.book1D("allMuonTracksEta", "muon track #eta", 50, -2.5, 2.5); - mallMuonTracksPhi=ibooker.book1D("allMuonTracksPhi", "muon track #phi", phiBin_,phiMin_, phiMax_); - mallMuonTracksPtVSEta=ibooker.bookProfile("allMuonTracksPtVSEta", "muon track p_{T} vs track #eta", 50, -2.5, 2.5,100,0.,50.); - - mnInVertexInCaloMuonTracksPerJet=ibooker.book1D("nInVertexInCaloMuonTracks", "number of muons in cone at calo and vertex for correction per jet", 10, 0, 10); - mInVertexInCaloMuonTracksPt=ibooker.book1D("InVertexInCaloMuonTracksPt", "muon in cone at calo and vertex p_{T}", 100, 0., 50.); - mInVertexInCaloMuonTracksEta=ibooker.book1D("InVertexInCaloMuonTracksEta", "muon in cone at calo and vertex #eta", 50, -2.5, 2.5); - mInVertexInCaloMuonTracksPhi=ibooker.book1D("InVertexInCaloMuonTracksPhi", "muon in cone at calo and vertex #phi", phiBin_,phiMin_, phiMax_); - mInVertexInCaloMuonTracksPtVSEta=ibooker.bookProfile("InVertexInCaloMuonTracksPtVSEta", "muon in cone at calo and vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); - - mnOutVertexInCaloMuonTracksPerJet=ibooker.book1D("nOutVertexInCaloMuonTracks", "number of muons in cone at calo and out cone at vertex for correction per jet", 10, 0, 10); - mOutVertexInCaloMuonTracksPt=ibooker.book1D("OutVertexInCaloMuonTracksPt", "muon in cone at calo and out cone at vertex p_{T}", 100, 0., 50.); - mOutVertexInCaloMuonTracksEta=ibooker.book1D("OutVertexInCaloMuonTracksEta", "muon in cone at calo and out cone at vertex #eta", 50, -2.5, 2.5); - mOutVertexInCaloMuonTracksPhi=ibooker.book1D("OutVertexInCaloMuonTracksPhi", "muon in cone at calo and out cone at vertex #phi", phiBin_,phiMin_, phiMax_); - mOutVertexInCaloMuonTracksPtVSEta=ibooker.bookProfile("OutVertexInCaloMuonTracksPtVSEta", "muon oin cone at calo and out cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); - - mnInVertexOutCaloMuonTracksPerJet=ibooker.book1D("nInVertexOutCaloMuonTracks", "number of muons out cone at calo and in cone at vertex for correction per jet", 10, 0, 10); - mInVertexOutCaloMuonTracksPt=ibooker.book1D("InVertexOutCaloMuonTracksPt", "muon out cone at calo and in cone at vertex p_{T}", 100, 0., 50.); - mInVertexOutCaloMuonTracksEta=ibooker.book1D("InVertexOutCaloMuonTracksEta", "muon out cone at calo and in cone at vertex #eta", 50, -2.5, 2.5); - mInVertexOutCaloMuonTracksPhi=ibooker.book1D("InVertexOutCaloMuonTracksPhi", "muon out cone at calo and in cone at vertex #phi", phiBin_,phiMin_, phiMax_); - mInVertexOutCaloMuonTracksPtVSEta=ibooker.bookProfile("InVertexOutCaloMuonTracksPtVSEta", "muon out cone at calo and in cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); - - mnallElectronTracksPerJet=ibooker.book1D("nallElectronTracks", "number of electron tracks for correction per jet", 10, 0, 10); - mallElectronTracksPt=ibooker.book1D("allElectronTracksPt", "electron track p_{T}", 100, 0., 50.); - mallElectronTracksEta=ibooker.book1D("allElectronTracksEta", "electron track #eta", 50, -2.5, 2.5); - mallElectronTracksPhi=ibooker.book1D("allElectronTracksPhi", "electron track #phi", phiBin_,phiMin_, phiMax_); - mallElectronTracksPtVSEta=ibooker.bookProfile("allElectronTracksPtVSEta", "electron track p_{T} vs track #eta", 50, -2.5, 2.5,100,0.,50.); - - mnInVertexInCaloElectronTracksPerJet=ibooker.book1D("nInVertexInCaloElectronTracks", "number of electrons in cone at calo and vertex for correction per jet", 10, 0, 10); - mInVertexInCaloElectronTracksPt=ibooker.book1D("InVertexInCaloElectronTracksPt", "electron in cone at calo and vertex p_{T}", 100, 0., 50.); - mInVertexInCaloElectronTracksEta=ibooker.book1D("InVertexInCaloElectronTracksEta", "electron in cone at calo and vertex #eta", 50, -2.5, 2.5); - mInVertexInCaloElectronTracksPhi=ibooker.book1D("InVertexInCaloElectronTracksPhi", "electron in cone at calo and vertex #phi", phiBin_,phiMin_, phiMax_); - mInVertexInCaloElectronTracksPtVSEta=ibooker.bookProfile("InVertexInCaloElectronTracksPtVSEta", "electron in cone at calo and vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); - - mnOutVertexInCaloElectronTracksPerJet=ibooker.book1D("nOutVertexInCaloElectronTracks", "number of electrons in cone at calo and out cone at vertex for correction per jet", 10, 0, 10); - mOutVertexInCaloElectronTracksPt=ibooker.book1D("OutVertexInCaloElectronTracksPt", "electron in cone at calo and out cone at vertex p_{T}", 100, 0., 50.); - mOutVertexInCaloElectronTracksEta=ibooker.book1D("OutVertexInCaloElectronTracksEta", "electron in cone at calo and out cone at vertex #eta", 50, -2.5, 2.5); - mOutVertexInCaloElectronTracksPhi=ibooker.book1D("OutVertexInCaloElectronTracksPhi", "electron in cone at calo and out cone at vertex #phi", phiBin_,phiMin_, phiMax_); - mOutVertexInCaloElectronTracksPtVSEta=ibooker.bookProfile("OutVertexInCaloElectronTracksPtVSEta", "electron in cone at calo and out cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); - - mnInVertexOutCaloElectronTracksPerJet=ibooker.book1D("nInVertexOutCaloElectronTracks", "number of electrons out cone at calo and in cone at vertex for correction per jet", 10, 0, 10); - mInVertexOutCaloElectronTracksPt=ibooker.book1D("InVertexOutCaloElectronTracksPt", "electron out cone at calo and in cone at vertex p_{T}", 100, 0., 50.); - mInVertexOutCaloElectronTracksEta=ibooker.book1D("InVertexOutCaloElectronTracksEta", "electron out cone at calo and in cone at vertex #eta", 50, -2.5, 2.5); - mInVertexOutCaloElectronTracksPhi=ibooker.book1D("InVertexOutCaloElectronTracksPhi", "electron out cone at calo and in cone at vertex #phi", phiBin_,phiMin_, phiMax_); - mInVertexOutCaloElectronTracksPtVSEta=ibooker.bookProfile("InVertexOutCaloElectronTracksPtVSEta", "electron out cone at calo and in cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); - - mInCaloTrackDirectionJetDRHisto_ = ibooker.book1D("InCaloTrackDirectionJetDR", - "#Delta R between track direction at vertex and jet axis (track in cone at calo)",50,0.,1.0); - mOutCaloTrackDirectionJetDRHisto_ = ibooker.book1D("OutCaloTrackDirectionJetDR", - "#Delta R between track direction at vertex and jet axis (track out cone at calo)",50,0.,1.0); - mInVertexTrackImpactPointJetDRHisto_ = ibooker.book1D("InVertexTrackImpactPointJetDR", - "#Delta R between track impact point on calo and jet axis (track in cone at vertex)",50,0.,1.0); - mOutVertexTrackImpactPointJetDRHisto_ = ibooker.book1D("OutVertexTrackImpactPointJetDR", - "#Delta R between track impact point on calo and jet axis (track out of cone at vertex)",50,0.,1.0); - } + //remove JPT related histograms due to anticipated removal in RECO in 7_1_X + //if(isJPTJet_) { + //jpt histograms + //mE = ibooker.book1D("E", "E", eBin_, eMin_, eMax_); + //mEt = ibooker.book1D("Et", "Et", ptBin_, ptMin_, ptMax_); + //mP = ibooker.book1D("P", "P", eBin_, eMin_, eMax_); + //mPtSecond = ibooker.book1D("PtSecond", "PtSecond", ptBin_, ptMin_, ptMax_); + //mPtThird = ibooker.book1D("PtThird", "PtThird", ptBin_, ptMin_, ptMax_); + //mPx = ibooker.book1D("Px", "Px", ptBin_, -ptMax_, ptMax_); + //mPy = ibooker.book1D("Py", "Py", ptBin_, -ptMax_, ptMax_); + //mPz = ibooker.book1D("Pz", "Pz", ptBin_, -ptMax_, ptMax_); + //map_of_MEs.insert(std::pair(DirName+"/"+"E" ,mE)); + //map_of_MEs.insert(std::pair(DirName+"/"+"Et" ,mEt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"P" ,mP)); + //map_of_MEs.insert(std::pair(DirName+"/"+"PtSecond" ,mPtSecond)); + //map_of_MEs.insert(std::pair(DirName+"/"+"PtThird" ,mPtThird)); + //map_of_MEs.insert(std::pair(DirName+"/"+"Px" ,mPx)); + //map_of_MEs.insert(std::pair(DirName+"/"+"Py" ,mPy)); + //map_of_MEs.insert(std::pair(DirName+"/"+"Pz" ,mPz)); + + //JetID variables + //mresEMF = ibooker.book1D("resEMF", "resEMF", 50, 0., 1.); + //mN90Hits = ibooker.book1D("N90Hits", "N90Hits", 100, 0., 100); + //mfHPD = ibooker.book1D("fHPD", "fHPD", 50, 0., 1.); + //mfRBX = ibooker.book1D("fRBX", "fRBX", 50, 0., 1.); + //map_of_MEs.insert(std::pair(DirName+"/"+"resEMF" ,mresEMF)); + //map_of_MEs.insert(std::pair(DirName+"/"+"N90Hits" ,mN90Hits)); + //map_of_MEs.insert(std::pair(DirName+"/"+"fHPD" ,mfHPD)); + //map_of_MEs.insert(std::pair(DirName+"/"+"fRBX" ,mfRBX)); + + //mnTracks = ibooker.book1D("nTracks", "number of tracks for correction per jet", 100, 0, 100); + //mnTracksVSJetPt= ibooker.bookProfile("nTracksVSJetPt","number of tracks for correction per jet vs raw jet p_{T}",ptBin_, ptMin_, ptMax_,100,0,100); + //mnTracksVSJetEta= ibooker.bookProfile("nTracksVSJetEta","number of tracks for correction per jet vs jet #eta",etaBin_, etaMin_, etaMax_,100,0,100); + //mnTracksVSJetPt ->setAxisTitle("raw JetPt",1); + //mnTracksVSJetEta ->setAxisTitle("raw JetEta",1); + //map_of_MEs.insert(std::pair(DirName+"/"+"nTracks" ,mnTracks)); + //map_of_MEs.insert(std::pair(DirName+"/"+"nTracksVSJetPt" ,mnTracksVSJetPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"nTracksVSJetEta" ,mnTracksVSJetEta)); + + //mnallPionTracksPerJet=ibooker.book1D("nallPionTracks", "number of pion tracks for correction per jet", 100, 0, 100); + //mallPionTracksPt=ibooker.book1D("allPionTracksPt", "pion track p_{T}", 100, 0., 50.); + //mallPionTracksEta=ibooker.book1D("allPionTracksEta", "pion track #eta", 50, -2.5, 2.5); + //mallPionTracksPhi=ibooker.book1D("allPionTracksPhi", "pion track #phi", phiBin_,phiMin_, phiMax_); + //mallPionTracksPtVSEta=ibooker.bookProfile("allPionTracksPtVSEta", "pion track p_{T} vs track #eta", 50, -2.5, 2.5,100,0.,50.); + //map_of_MEs.insert(std::pair(DirName+"/"+"nallPionTracks" ,mnallPionTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allPionTracksPt" ,mallPionTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allPionTracksEta" ,mallPionTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allPionTracksPhi" ,mallPionTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allPionTracksPtVSEta" ,mallPionTracksPtVSEta)); + + //mnInVertexInCaloPionTracksPerJet=ibooker.book1D("nInVertexInCaloPionTracks", "number of pion in cone at calo and vertexs for correction per jet", 100, 0, 100); + //mInVertexInCaloPionTracksPt=ibooker.book1D("InVertexInCaloPionTracksPt", "pion in cone at calo and vertex p_{T}", 100, 0., 50.); + //mInVertexInCaloPionTracksEta=ibooker.book1D("InVertexInCaloPionTracksEta", "pion in cone at calo and vertex #eta", 50, -2.5, 2.5); + //mInVertexInCaloPionTracksPhi=ibooker.book1D("InVertexInCaloPionTracksPhi", "pion in cone at calo and vertex #phi", phiBin_,phiMin_, phiMax_); + //mInVertexInCaloPionTracksPtVSEta=ibooker.bookProfile("InVertexInCaloPionTracksPtVSEta", "pion in cone at calo and vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); + //map_of_MEs.insert(std::pair(DirName+"/"+"nInVertexInCaloPionTracks" ,mnInVertexInCaloPionTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloPionTracksPt" ,mInVertexInCaloPionTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloPionTracksEta" ,mInVertexInCaloPionTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloPionTracksPhi" ,mInVertexInCaloPionTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloPionTracksPtVSEta" ,mInVertexInCaloPionTracksPtVSEta)); + + //mnOutVertexInCaloPionTracksPerJet=ibooker.book1D("nOutVertexInCaloPionTracks", "number of pion in cone at calo and out at vertex for correction per jet", 100, 0, 100); + //mOutVertexInCaloPionTracksPt=ibooker.book1D("OutVertexInCaloPionTracksPt", "pion in cone at calo and out at vertex p_{T}", 100, 0., 50.); + //mOutVertexInCaloPionTracksEta=ibooker.book1D("OutVertexInCaloPionTracksEta", "pion in cone at calo and out at vertex #eta", 50, -2.5, 2.5); + //mOutVertexInCaloPionTracksPhi=ibooker.book1D("OutVertexInCaloPionTracksPhi", "pion in cone at calo and out at vertex #phi", phiBin_,phiMin_, phiMax_); + //mOutVertexInCaloPionTracksPtVSEta=ibooker.bookProfile("OutVertexInCaloPionTracksPtVSEta", "pion in cone at calo and out at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); + + //map_of_MEs.insert(std::pair(DirName+"/"+"nOutVertexInCaloPionTracks" ,mnOutVertexInCaloPionTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloPionTracksPt" ,mOutVertexInCaloPionTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloPionTracksEta" ,mOutVertexInCaloPionTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloPionTracksPhi" ,mOutVertexInCaloPionTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloPionTracksPtVSEta" ,mOutVertexInCaloPionTracksPtVSEta)); + + //mnInVertexOutCaloPionTracksPerJet=ibooker.book1D("nInVertexOutCaloPionTracks", "number of pions out cone at calo and and in cone at vertex for correction per jet", 100, 0, 100); + //mInVertexOutCaloPionTracksPt=ibooker.book1D("InVertexOutCaloPionTracksPt", "pion out cone at calo and in cone at vertex p_{T}", 100, 0., 50.); + //mInVertexOutCaloPionTracksEta=ibooker.book1D("InVertexOutCaloPionTracksEta", "pion out cone at calo and in cone at vertex #eta", 50, -2.5, 2.5); + //mInVertexOutCaloPionTracksPhi=ibooker.book1D("InVertexOutCaloPionTracksPhi", "pion out cone at calo and in cone at vertex #phi", phiBin_,phiMin_, phiMax_); + //mInVertexOutCaloPionTracksPtVSEta=ibooker.bookProfile("InVertexOutCaloPionTracksPtVSEta", "pion out cone at calo and in cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); + //map_of_MEs.insert(std::pair(DirName+"/"+"nInVertexOutCaloPionTracks" ,mnInVertexOutCaloPionTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloPionTracksPt" ,mInVertexOutCaloPionTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloPionTracksEta" ,mInVertexOutCaloPionTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloPionTracksPhi" ,mInVertexOutCaloPionTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloPionTracksPtVSEta" ,mInVertexOutCaloPionTracksPtVSEta)); + + //mnallMuonTracksPerJet=ibooker.book1D("nallMuonTracks", "number of//muon tracks for correction per jet", 10, 0, 10); + //mallMuonTracksPt=ibooker.book1D("allMuonTracksPt", "muon track p_{T}", 100, 0., 50.); + //mallMuonTracksEta=ibooker.book1D("allMuonTracksEta", "muon track #eta", 50, -2.5, 2.5); + //mallMuonTracksPhi=ibooker.book1D("allMuonTracksPhi", "muon track #phi", phiBin_,phiMin_, phiMax_); + //mallMuonTracksPtVSEta=ibooker.bookProfile("allMuonTracksPtVSEta", "muon track p_{T} vs track #eta", 50, -2.5, 2.5,100,0.,50.); + //map_of_MEs.insert(std::pair(DirName+"/"+"nallMuonTracks" ,mnallMuonTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allMuonTracksPt" ,mallMuonTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allMuonTracksEta" ,mallMuonTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allMuonTracksPhi" ,mallMuonTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allMuonTracksPtVSEta" ,mallMuonTracksPtVSEta)); + + //mnInVertexInCaloMuonTracksPerJet=ibooker.book1D("nInVertexInCaloMuonTracks", "number of//muons in cone at calo and vertex for correction per jet", 10, 0, 10); + //mInVertexInCaloMuonTracksPt=ibooker.book1D("InVertexInCaloMuonTracksPt", "muon in cone at calo and vertex p_{T}", 100, 0., 50.); + //mInVertexInCaloMuonTracksEta=ibooker.book1D("InVertexInCaloMuonTracksEta", "muon in cone at calo and vertex #eta", 50, -2.5, 2.5); + //mInVertexInCaloMuonTracksPhi=ibooker.book1D("InVertexInCaloMuonTracksPhi", "muon in cone at calo and vertex #phi", phiBin_,phiMin_, phiMax_); + //mInVertexInCaloMuonTracksPtVSEta=ibooker.bookProfile("InVertexInCaloMuonTracksPtVSEta", "muon in cone at calo and vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); + //map_of_MEs.insert(std::pair(DirName+"/"+"nInVertexInCaloMuonTracks" ,mnInVertexInCaloMuonTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloMuonTracksPt" ,mInVertexInCaloMuonTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloMuonTracksEta" ,mInVertexInCaloMuonTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloMuonTracksPhi" ,mInVertexInCaloMuonTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloMuonTracksPtVSEta" ,mInVertexInCaloMuonTracksPtVSEta)); + + //mnOutVertexInCaloMuonTracksPerJet=ibooker.book1D("nOutVertexInCaloMuonTracks", "number of//muons in cone at calo and out cone at vertex for correction per jet", 10, 0, 10); + //mOutVertexInCaloMuonTracksPt=ibooker.book1D("OutVertexInCaloMuonTracksPt", "muon in cone at calo and out cone at vertex p_{T}", 100, 0., 50.); + //mOutVertexInCaloMuonTracksEta=ibooker.book1D("OutVertexInCaloMuonTracksEta", "muon in cone at calo and out cone at vertex #eta", 50, -2.5, 2.5); + //mOutVertexInCaloMuonTracksPhi=ibooker.book1D("OutVertexInCaloMuonTracksPhi", "muon in cone at calo and out cone at vertex #phi", phiBin_,phiMin_, phiMax_); + //mOutVertexInCaloMuonTracksPtVSEta=ibooker.bookProfile("OutVertexInCaloMuonTracksPtVSEta", "muon oin cone at calo and out cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); + + //map_of_MEs.insert(std::pair(DirName+"/"+"nOutVertexInCaloMuonTracks" ,mnOutVertexInCaloMuonTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloMuonTracksPt" ,mOutVertexInCaloMuonTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloMuonTracksEta" ,mOutVertexInCaloMuonTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloMuonTracksPhi" ,mOutVertexInCaloMuonTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloMuonTracksPtVSEta" ,mOutVertexInCaloMuonTracksPtVSEta)); + + //mnInVertexOutCaloMuonTracksPerJet=ibooker.book1D("nInVertexOutCaloMuonTracks", "number of//muons out cone at calo and in cone at vertex for correction per jet", 10, 0, 10); + //mInVertexOutCaloMuonTracksPt=ibooker.book1D("InVertexOutCaloMuonTracksPt", "muon out cone at calo and in cone at vertex p_{T}", 100, 0., 50.); + //mInVertexOutCaloMuonTracksEta=ibooker.book1D("InVertexOutCaloMuonTracksEta", "muon out cone at calo and in cone at vertex #eta", 50, -2.5, 2.5); + //mInVertexOutCaloMuonTracksPhi=ibooker.book1D("InVertexOutCaloMuonTracksPhi", "muon out cone at calo and in cone at vertex #phi", phiBin_,phiMin_, phiMax_); + //mInVertexOutCaloMuonTracksPtVSEta=ibooker.bookProfile("InVertexOutCaloMuonTracksPtVSEta", "muon out cone at calo and in cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); + + //map_of_MEs.insert(std::pair(DirName+"/"+"nInVertexOutCaloMuonTracks" ,mnInVertexOutCaloMuonTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloMuonTracksPt" ,mInVertexOutCaloMuonTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloMuonTracksEta" ,mInVertexOutCaloMuonTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloMuonTracksPhi" ,mInVertexOutCaloMuonTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloMuonTracksPtVSEta" ,mInVertexOutCaloMuonTracksPtVSEta)); + + //mnallElectronTracksPerJet=ibooker.book1D("nallElectronTracks", "number of electron tracks for correction per jet", 10, 0, 10); + //mallElectronTracksPt=ibooker.book1D("allElectronTracksPt", "electron track p_{T}", 100, 0., 50.); + //mallElectronTracksEta=ibooker.book1D("allElectronTracksEta", "electron track #eta", 50, -2.5, 2.5); + //mallElectronTracksPhi=ibooker.book1D("allElectronTracksPhi", "electron track #phi", phiBin_,phiMin_, phiMax_); + //mallElectronTracksPtVSEta=ibooker.bookProfile("allElectronTracksPtVSEta", "electron track p_{T} vs track #eta", 50, -2.5, 2.5,100,0.,50.); + //map_of_MEs.insert(std::pair(DirName+"/"+"nallElectronTracks" ,mnallElectronTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allElectronTracksPt" ,mallElectronTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allElectronTracksEta" ,mallElectronTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allElectronTracksPhi" ,mallElectronTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"allElectronTracksPtVSEta" ,mallElectronTracksPtVSEta)); + + //mnInVertexInCaloElectronTracksPerJet=ibooker.book1D("nInVertexInCaloElectronTracks", "number of electrons in cone at calo and vertex for correction per jet", 10, 0, 10); + //mInVertexInCaloElectronTracksPt=ibooker.book1D("InVertexInCaloElectronTracksPt", "electron in cone at calo and vertex p_{T}", 100, 0., 50.); + //mInVertexInCaloElectronTracksEta=ibooker.book1D("InVertexInCaloElectronTracksEta", "electron in cone at calo and vertex #eta", 50, -2.5, 2.5); + //mInVertexInCaloElectronTracksPhi=ibooker.book1D("InVertexInCaloElectronTracksPhi", "electron in cone at calo and vertex #phi", phiBin_,phiMin_, phiMax_); + //mInVertexInCaloElectronTracksPtVSEta=ibooker.bookProfile("InVertexInCaloElectronTracksPtVSEta", "electron in cone at calo and vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); + //map_of_MEs.insert(std::pair(DirName+"/"+"nInVertexInCaloElectronTracks" ,mnInVertexInCaloElectronTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloElectronTracksPt" ,mInVertexInCaloElectronTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloElectronTracksEta" ,mInVertexInCaloElectronTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloElectronTracksPhi" ,mInVertexInCaloElectronTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexInCaloElectronTracksPtVSEta" ,mInVertexInCaloElectronTracksPtVSEta)); + + //mnOutVertexInCaloElectronTracksPerJet=ibooker.book1D("nOutVertexInCaloElectronTracks", "number of electrons in cone at calo and out cone at vertex for correction per jet", 10, 0, 10); + //mOutVertexInCaloElectronTracksPt=ibooker.book1D("OutVertexInCaloElectronTracksPt", "electron in cone at calo and out cone at vertex p_{T}", 100, 0., 50.); + //mOutVertexInCaloElectronTracksEta=ibooker.book1D("OutVertexInCaloElectronTracksEta", "electron in cone at calo and out cone at vertex #eta", 50, -2.5, 2.5); + //mOutVertexInCaloElectronTracksPhi=ibooker.book1D("OutVertexInCaloElectronTracksPhi", "electron in cone at calo and out cone at vertex #phi", phiBin_,phiMin_, phiMax_); + //mOutVertexInCaloElectronTracksPtVSEta=ibooker.bookProfile("OutVertexInCaloElectronTracksPtVSEta", "electron in cone at calo and out cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); + //map_of_MEs.insert(std::pair(DirName+"/"+"nOutVertexInCaloElectronTracks" ,mnOutVertexInCaloElectronTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloElectronTracksPt" ,mOutVertexInCaloElectronTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloElectronTracksEta" ,mOutVertexInCaloElectronTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloElectronTracksPhi" ,mOutVertexInCaloElectronTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexInCaloElectronTracksPtVSEta" ,mOutVertexInCaloElectronTracksPtVSEta)); + + //mnInVertexOutCaloElectronTracksPerJet=ibooker.book1D("nInVertexOutCaloElectronTracks", "number of electrons out cone at calo and in cone at vertex for correction per jet", 10, 0, 10); + //mInVertexOutCaloElectronTracksPt=ibooker.book1D("InVertexOutCaloElectronTracksPt", "electron out cone at calo and in cone at vertex p_{T}", 100, 0., 50.); + //mInVertexOutCaloElectronTracksEta=ibooker.book1D("InVertexOutCaloElectronTracksEta", "electron out cone at calo and in cone at vertex #eta", 50, -2.5, 2.5); + //mInVertexOutCaloElectronTracksPhi=ibooker.book1D("InVertexOutCaloElectronTracksPhi", "electron out cone at calo and in cone at vertex #phi", phiBin_,phiMin_, phiMax_); + //mInVertexOutCaloElectronTracksPtVSEta=ibooker.bookProfile("InVertexOutCaloElectronTracksPtVSEta", "electron out cone at calo and in cone at vertex p_{T} vs #eta", 50, -2.5, 2.5,100,0.,50.); + //map_of_MEs.insert(std::pair(DirName+"/"+"nInVertexOutCaloElectronTracks" ,mnInVertexOutCaloElectronTracksPerJet)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloElectronTracksPt" ,mInVertexOutCaloElectronTracksPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloElectronTracksEta" ,mInVertexOutCaloElectronTracksEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloElectronTracksPhi" ,mInVertexOutCaloElectronTracksPhi)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexOutCaloElectronTracksPtVSEta" ,mInVertexOutCaloElectronTracksPtVSEta)); + + //mInCaloTrackDirectionJetDRHisto_ = ibooker.book1D("InCaloTrackDirectionJetDR", "#Delta R between track direction at vertex and jet axis (track in cone at calo)",50,0.,1.0); + //mOutCaloTrackDirectionJetDRHisto_ = ibooker.book1D("OutCaloTrackDirectionJetDR","#Delta R between track direction at vertex and jet axis (track out cone at calo)",50,0.,1.0); + //mInVertexTrackImpactPointJetDRHisto_ = ibooker.book1D("InVertexTrackImpactPointJetDR", "#Delta R between track impact point on calo and jet axis (track in cone at vertex)",50,0.,1.0); + //mOutVertexTrackImpactPointJetDRHisto_ = ibooker.book1D("OutVertexTrackImpactPointJetDR", "#Delta R between track impact point on calo and jet axis (track out of cone at vertex)",50,0.,1.0); + //map_of_MEs.insert(std::pair(DirName+"/"+"InCaloTrackDirectionJetDR" ,mInCaloTrackDirectionJetDRHisto_)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutCaloTrackDirectionJetDR" ,mOutCaloTrackDirectionJetDRHisto_)); + //map_of_MEs.insert(std::pair(DirName+"/"+"InVertexTrackImpactPointJetDR" ,mInVertexTrackImpactPointJetDRHisto_)); + //map_of_MEs.insert(std::pair(DirName+"/"+"OutVertexTrackImpactPointJetDR" ,mOutVertexTrackImpactPointJetDRHisto_)); + //} if(isPFJet_) { //PFJet specific histograms @@ -578,7 +717,23 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mPhFracVSeta_highPt= ibooker.bookProfile("PhFracVSeta_highPt","PhFracVSeta_highPt",etaBin_, etaMin_, etaMax_,0.,1.2); mElFracVSeta_highPt= ibooker.bookProfile("ElFracVSeta_highPt","ElFracVSeta_highPt",etaBin_, etaMin_, etaMax_,0.,1.2); mMuFracVSeta_highPt= ibooker.bookProfile("MuFracVSeta_highPt","MuFracVSeta_highPt",etaBin_, etaMin_, etaMax_,0.,1.2); - + + map_of_MEs.insert(std::pair(DirName+"/"+"CHFracVSeta_lowPt" ,mCHFracVSeta_lowPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFracVSeta_lowPt" ,mNHFracVSeta_lowPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFracVSeta_lowPt" ,mPhFracVSeta_lowPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFracVSeta_lowPt" ,mElFracVSeta_lowPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFracVSeta_lowPt" ,mMuFracVSeta_lowPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHFracVSeta_mediumPt" ,mCHFracVSeta_mediumPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFracVSeta_mediumPt" ,mNHFracVSeta_mediumPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFracVSeta_mediumPt" ,mPhFracVSeta_mediumPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFracVSeta_mediumPt" ,mElFracVSeta_mediumPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFracVSeta_mediumPt" ,mMuFracVSeta_mediumPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHFracVSeta_highPt" ,mCHFracVSeta_highPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFracVSeta_highPt" ,mNHFracVSeta_highPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFracVSeta_highPt" ,mPhFracVSeta_highPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFracVSeta_highPt" ,mElFracVSeta_highPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFracVSeta_highPt" ,mMuFracVSeta_highPt)); + //barrel histograms for PFJets // energy fractions mCHFrac_lowPt_Barrel = ibooker.book1D("CHFrac_lowPt_Barrel", "CHFrac_lowPt_Barrel", 120, -0.1, 1.1); @@ -596,6 +751,22 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mPhFrac_highPt_Barrel = ibooker.book1D("PhFrac_highPt_Barrel", "PhFrac_highPt_Barrel", 120, -0.1, 1.1); mElFrac_highPt_Barrel = ibooker.book1D("ElFrac_highPt_Barrel", "ElFrac_highPt_Barrel", 120, -0.1, 1.1); mMuFrac_highPt_Barrel = ibooker.book1D("MuFrac_highPt_Barrel", "MuFrac_highPt_Barrel", 120, -0.1, 1.1); + + map_of_MEs.insert(std::pair(DirName+"/"+"CHFrac_lowPt_Barrel" ,mCHFrac_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFrac_lowPt_Barrel" ,mNHFrac_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFrac_lowPt_Barrel" ,mPhFrac_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFrac_lowPt_Barrel" ,mElFrac_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFrac_lowPt_Barrel" ,mMuFrac_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHFrac_mediumPt_Barrel" ,mCHFrac_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFrac_mediumPt_Barrel" ,mNHFrac_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFrac_mediumPt_Barrel" ,mPhFrac_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFrac_mediumPt_Barrel" ,mElFrac_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFrac_mediumPt_Barrel" ,mMuFrac_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHFrac_highPt_Barrel" ,mCHFrac_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFrac_highPt_Barrel" ,mNHFrac_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFrac_highPt_Barrel" ,mPhFrac_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFrac_highPt_Barrel" ,mElFrac_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFrac_highPt_Barrel" ,mMuFrac_highPt_Barrel)); //energies mCHEn_lowPt_Barrel = ibooker.book1D("CHEn_lowPt_Barrel", "CHEn_lowPt_Barrel", ptBin_, 0., ptMax_); @@ -613,6 +784,23 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mPhEn_highPt_Barrel = ibooker.book1D("PhEn_highPt_Barrel", "PhEn_highPt_Barrel", ptBin_, 0., ptMax_); mElEn_highPt_Barrel = ibooker.book1D("ElEn_highPt_Barrel", "ElEn_highPt_Barrel", ptBin_, 0., ptMax_); mMuEn_highPt_Barrel = ibooker.book1D("MuEn_highPt_Barrel", "MuEn_highPt_Barrel", ptBin_, 0., ptMax_); + + map_of_MEs.insert(std::pair(DirName+"/"+"CHEn_lowPt_Barrel" ,mCHEn_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHEn_lowPt_Barrel" ,mNHEn_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhEn_lowPt_Barrel" ,mPhEn_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElEn_lowPt_Barrel" ,mElEn_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuEn_lowPt_Barrel" ,mMuEn_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHEn_mediumPt_Barrel" ,mCHEn_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHEn_mediumPt_Barrel" ,mNHEn_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhEn_mediumPt_Barrel" ,mPhEn_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElEn_mediumPt_Barrel" ,mElEn_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuEn_mediumPt_Barrel" ,mMuEn_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHEn_highPt_Barrel" ,mCHEn_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHEn_highPt_Barrel" ,mNHEn_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhEn_highPt_Barrel" ,mPhEn_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElEn_highPt_Barrel" ,mElEn_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuEn_highPt_Barrel" ,mMuEn_highPt_Barrel)); + //multiplicities mChMultiplicity_lowPt_Barrel = ibooker.book1D("ChMultiplicity_lowPt_Barrel", "ChMultiplicity_lowPt_Barrel", 60,0,60); mNeutMultiplicity_lowPt_Barrel = ibooker.book1D("NeutMultiplicity_lowPt_Barrel", "NeutMultiplicity_lowPt_Barrel", 60,0,60); @@ -623,6 +811,17 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mChMultiplicity_highPt_Barrel = ibooker.book1D("ChMultiplicity_highPt_Barrel", "ChMultiplicity_highPt_Barrel", 60,0,60); mNeutMultiplicity_highPt_Barrel = ibooker.book1D("NeutMultiplicity_highPt_Barrel", "NeutMultiplicity_highPt_Barrel", 60,0,60); mMuMultiplicity_highPt_Barrel = ibooker.book1D("MuMultiplicity_highPt_Barrel", "MuMultiplicity_highPt_Barrel", 10,0,10); + + map_of_MEs.insert(std::pair(DirName+"/"+"ChMultiplicity_lowPt_Barrel" ,mChMultiplicity_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutMultiplicity_lowPt_Barrel" ,mNeutMultiplicity_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuMultiplicity_lowPt_Barrel" ,mMuMultiplicity_lowPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChMultiplicity_mediumPt_Barrel" ,mChMultiplicity_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutMultiplicity_mediumPt_Barrel" ,mNeutMultiplicity_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuMultiplicity_mediumPt_Barrel" ,mMuMultiplicity_mediumPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChMultiplicity_highPt_Barrel" ,mChMultiplicity_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutMultiplicity_highPt_Barrel" ,mNeutMultiplicity_highPt_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuMultiplicity_highPt_Barrel" ,mMuMultiplicity_highPt_Barrel)); + // mCHFracVSpT_Barrel= ibooker.bookProfile("CHFracVSpT_Barrel","CHFracVSpT_Barrel",ptBin_, ptMin_, ptMax_,0.,1.2); mNHFracVSpT_Barrel= ibooker.bookProfile("NHFracVSpT_Barrel","NHFracVSpT_Barrel",ptBin_, ptMin_, ptMax_,0.,1.2); @@ -636,6 +835,19 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mMuFracVSpT_EndCap= ibooker.bookProfile("MuFracVSpT_EndCap","MuFracVSpT_EndCap",ptBin_, ptMin_, ptMax_,0.,1.2); mHFHFracVSpT_Forward= ibooker.bookProfile("HFHFracVSpT_Forward","HFHFracVSpT_Forward",ptBin_, ptMin_, ptMax_,-0.2,1.2); mHFEFracVSpT_Forward= ibooker.bookProfile("HFEFracVSpT_Forward","HFEFracVSpT_Forward",ptBin_, ptMin_, ptMax_,-0.2,1.2); + + map_of_MEs.insert(std::pair(DirName+"/"+"CHFracVSpT_Barrel" ,mCHFracVSpT_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFracVSpT_Barrel" ,mNHFracVSpT_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFracVSpT_Barrel" ,mPhFracVSpT_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFracVSpT_Barrel" ,mElFracVSpT_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFracVSpT_Barrel" ,mMuFracVSpT_Barrel)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHFracVSpT_EndCap" ,mCHFracVSpT_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFracVSpT_EndCap" ,mNHFracVSpT_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFracVSpT_EndCap" ,mPhFracVSpT_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFracVSpT_EndCap" ,mElFracVSpT_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFHFracVSpT_Forward" ,mHFHFracVSpT_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFEFracVSpT_Forward" ,mHFEFracVSpT_Forward)); + //endcap monitoring //energy fractions mCHFrac_lowPt_EndCap = ibooker.book1D("CHFrac_lowPt_EndCap", "CHFrac_lowPt_EndCap", 120, -0.1, 1.1); @@ -653,6 +865,23 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mPhFrac_highPt_EndCap = ibooker.book1D("PhFrac_highPt_EndCap", "PhFrac_highPt_EndCap", 120, -0.1, 1.1); mElFrac_highPt_EndCap = ibooker.book1D("ElFrac_highPt_EndCap", "ElFrac_highPt_EndCap", 120, -0.1, 1.1); mMuFrac_highPt_EndCap = ibooker.book1D("MuFrac_highPt_EndCap", "MuFrac_highPt_EndCap", 120, -0.1, 1.1); + + map_of_MEs.insert(std::pair(DirName+"/"+"CHFrac_lowPt_EndCap" ,mCHFrac_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFrac_lowPt_EndCap" ,mNHFrac_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFrac_lowPt_EndCap" ,mPhFrac_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFrac_lowPt_EndCap" ,mElFrac_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFrac_lowPt_EndCap" ,mMuFrac_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHFrac_mediumPt_EndCap" ,mCHFrac_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFrac_mediumPt_EndCap" ,mNHFrac_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFrac_mediumPt_EndCap" ,mPhFrac_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFrac_mediumPt_EndCap" ,mElFrac_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFrac_mediumPt_EndCap" ,mMuFrac_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHFrac_highPt_EndCap" ,mCHFrac_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFrac_highPt_EndCap" ,mNHFrac_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFrac_highPt_EndCap" ,mPhFrac_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFrac_highPt_EndCap" ,mElFrac_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFrac_highPt_EndCap" ,mMuFrac_highPt_EndCap)); + //energies mCHEn_lowPt_EndCap = ibooker.book1D("CHEn_lowPt_EndCap", "CHEn_lowPt_EndCap", ptBin_, 0., ptMax_); mNHEn_lowPt_EndCap = ibooker.book1D("NHEn_lowPt_EndCap", "NHEn_lowPt_EndCap", ptBin_, 0., ptMax_); @@ -665,10 +894,27 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mElEn_mediumPt_EndCap = ibooker.book1D("ElEn_mediumPt_EndCap", "ElEn_mediumPt_EndCap", ptBin_, 0., ptMax_); mMuEn_mediumPt_EndCap = ibooker.book1D("MuEn_mediumPt_EndCap", "MuEn_mediumPt_EndCap", ptBin_, 0., ptMax_); mCHEn_highPt_EndCap = ibooker.book1D("CHEn_highPt_EndCap", "CHEn_highPt_EndCap", ptBin_, 0., 1.5*ptMax_); - mNHEn_highPt_EndCap = ibooker.book1D("NHEn_highPt_EndCap", "NHEn_highPt_EndCap", ptBin_, 0., ptMax_); - mPhEn_highPt_EndCap = ibooker.book1D("PhEn_highPt_EndCap", "PhEn_highPt_EndCap", ptBin_, 0., ptMax_); + mNHEn_highPt_EndCap = ibooker.book1D("NHEn_highPt_EndCap", "NHEn_highPt_EndCap", ptBin_, 0., 1.5*ptMax_); + mPhEn_highPt_EndCap = ibooker.book1D("PhEn_highPt_EndCap", "PhEn_highPt_EndCap", ptBin_, 0., 1.5*ptMax_); mElEn_highPt_EndCap = ibooker.book1D("ElEn_highPt_EndCap", "ElEn_highPt_EndCap", ptBin_, 0., ptMax_); mMuEn_highPt_EndCap = ibooker.book1D("MuEn_highPt_EndCap", "MuEn_highPt_EndCap", ptBin_, 0., ptMax_); + + map_of_MEs.insert(std::pair(DirName+"/"+"CHEn_lowPt_EndCap" ,mCHEn_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHEn_lowPt_EndCap" ,mNHEn_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhEn_lowPt_EndCap" ,mPhEn_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElEn_lowPt_EndCap" ,mElEn_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuEn_lowPt_EndCap" ,mMuEn_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHEn_mediumPt_EndCap" ,mCHEn_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHEn_mediumPt_EndCap" ,mNHEn_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhEn_mediumPt_EndCap" ,mPhEn_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElEn_mediumPt_EndCap" ,mElEn_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuEn_mediumPt_EndCap" ,mMuEn_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"CHEn_highPt_EndCap" ,mCHEn_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHEn_highPt_EndCap" ,mNHEn_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhEn_highPt_EndCap" ,mPhEn_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElEn_highPt_EndCap" ,mElEn_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuEn_highPt_EndCap" ,mMuEn_highPt_EndCap)); + //multiplicities mChMultiplicity_lowPt_EndCap = ibooker.book1D("ChMultiplicity_lowPt_EndCap", "ChMultiplicity_lowPt_EndCap", 60,0,60); mNeutMultiplicity_lowPt_EndCap = ibooker.book1D("NeutMultiplicity_lowPt_EndCap", "NeutMultiplicity_lowPt_EndCap", 60,0,60); @@ -679,6 +925,17 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mChMultiplicity_highPt_EndCap = ibooker.book1D("ChMultiplicity_highPt_EndCap", "ChMultiplicity_highPt_EndCap", 60,0,60); mNeutMultiplicity_highPt_EndCap = ibooker.book1D("NeutMultiplicity_highPt_EndCap", "NeutMultiplicity_highPt_EndCap", 60,0,60); mMuMultiplicity_highPt_EndCap = ibooker.book1D("MuMultiplicity_highPt_EndCap", "MuMultiplicity_highPt_EndCap", 10,0,10); + + map_of_MEs.insert(std::pair(DirName+"/"+"ChMultiplicity_lowPt_EndCap" ,mChMultiplicity_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutMultiplicity_lowPt_EndCap" ,mNeutMultiplicity_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuMultiplicity_lowPt_EndCap" ,mMuMultiplicity_lowPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChMultiplicity_mediumPt_EndCap" ,mChMultiplicity_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutMultiplicity_mediumPt_EndCap" ,mNeutMultiplicity_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuMultiplicity_mediumPt_EndCap" ,mMuMultiplicity_mediumPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChMultiplicity_highPt_EndCap" ,mChMultiplicity_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutMultiplicity_highPt_EndCap" ,mNeutMultiplicity_highPt_EndCap)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuMultiplicity_highPt_EndCap" ,mMuMultiplicity_highPt_EndCap)); + //forward monitoring //energy fraction mHFEFrac_lowPt_Forward = ibooker.book1D("HFEFrac_lowPt_Forward", "HFEFrac_lowPt_Forward", 140, -0.2, 1.2); @@ -687,13 +944,26 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mHFHFrac_mediumPt_Forward = ibooker.book1D("HFHFrac_mediumPt_Forward", "HFHFrac_mediumPt_Forward", 140, -0.2, 1.2); mHFEFrac_highPt_Forward = ibooker.book1D("HFEFrac_highPt_Forward", "HFEFrac_highPt_Forward", 140, -0.2, 1.2); mHFHFrac_highPt_Forward = ibooker.book1D("HFHFrac_highPt_Forward", "HFHFrac_highPt_Forward", 140, -0.2, 1.2); + map_of_MEs.insert(std::pair(DirName+"/"+"HFHFrac_lowPt_Forward" ,mHFHFrac_lowPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFEFrac_lowPt_Forward" ,mHFEFrac_lowPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFHFrac_mediumPt_Forward" ,mHFHFrac_mediumPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFEFrac_mediumPt_Forward" ,mHFEFrac_mediumPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFHFrac_highPt_Forward" ,mHFHFrac_highPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFEFrac_highPt_Forward" ,mHFEFrac_highPt_Forward)); + //energies mHFEEn_lowPt_Forward = ibooker.book1D("HFEEn_lowPt_Forward", "HFEEn_lowPt_Forward", ptBin_, 0., ptMax_); - mHFHEn_lowPt_Forward = ibooker.book1D("HFHEn_lowPt_Forward", "HFHEn_lowPt_Forward", ptBin_, 0., ptMax_); - mHFEEn_mediumPt_Forward = ibooker.book1D("HFEEn_mediumPt_Forward", "HFEEn_mediumPt_Forward", ptBin_, 0., ptMax_); - mHFHEn_mediumPt_Forward = ibooker.book1D("HFHEn_mediumPt_Forward", "HFHEn_mediumPt_Forward", ptBin_, 0., ptMax_); - mHFEEn_highPt_Forward = ibooker.book1D("HFEEn_highPt_Forward", "HFEEn_highPt_Forward", ptBin_, 0., ptMax_); - mHFHEn_highPt_Forward = ibooker.book1D("HFHEn_highPt_Forward", "HFHEn_highPt_Forward", ptBin_, 0., ptMax_); + mHFHEn_lowPt_Forward = ibooker.book1D("HFHEn_lowPt_Forward", "HFHEn_lowPt_Forward", ptBin_, 0., 2.0*ptMax_); + mHFEEn_mediumPt_Forward = ibooker.book1D("HFEEn_mediumPt_Forward", "HFEEn_mediumPt_Forward", ptBin_, 0., 1.5*ptMax_); + mHFHEn_mediumPt_Forward = ibooker.book1D("HFHEn_mediumPt_Forward", "HFHEn_mediumPt_Forward", ptBin_, 0., 2.5*ptMax_); + mHFEEn_highPt_Forward = ibooker.book1D("HFEEn_highPt_Forward", "HFEEn_highPt_Forward", ptBin_, 0., 1.5*ptMax_); + mHFHEn_highPt_Forward = ibooker.book1D("HFHEn_highPt_Forward", "HFHEn_highPt_Forward", ptBin_, 0., 5.0*ptMax_); + map_of_MEs.insert(std::pair(DirName+"/"+"HFHEn_lowPt_Forward" ,mHFHEn_lowPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFEEn_lowPt_Forward" ,mHFEEn_lowPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFHEn_mediumPt_Forward" ,mHFHEn_mediumPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFEEn_mediumPt_Forward" ,mHFEEn_mediumPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFHEn_highPt_Forward" ,mHFHEn_highPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFEEn_highPt_Forward" ,mHFEEn_highPt_Forward)); //multiplicities mChMultiplicity_lowPt_Forward = ibooker.book1D("ChMultiplicity_lowPt_Forward", "ChMultiplicity_lowPt_Forward", 60,0,60); mNeutMultiplicity_lowPt_Forward = ibooker.book1D("NeutMultiplicity_lowPt_Forward", "NeutMultiplicity_lowPt_Forward", 60,0,60); @@ -701,6 +971,13 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mNeutMultiplicity_mediumPt_Forward = ibooker.book1D("NeutMultiplicity_mediumPt_Forward", "NeutMultiplicity_mediumPt_Forward", 60,0,60); mChMultiplicity_highPt_Forward = ibooker.book1D("ChMultiplicity_highPt_Forward", "ChMultiplicity_highPt_Forward", 60,0,60); mNeutMultiplicity_highPt_Forward = ibooker.book1D("NeutMultiplicity_highPt_Forward", "NeutMultiplicity_highPt_Forward", 60,0,60); + + map_of_MEs.insert(std::pair(DirName+"/"+"ChMultiplicity_lowPt_Forward" ,mChMultiplicity_lowPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutMultiplicity_lowPt_Forward" ,mNeutMultiplicity_lowPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChMultiplicity_mediumPt_Forward" ,mChMultiplicity_mediumPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutMultiplicity_mediumPt_Forward" ,mNeutMultiplicity_mediumPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChMultiplicity_highPt_Forward" ,mChMultiplicity_highPt_Forward)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutMultiplicity_highPt_Forward" ,mNeutMultiplicity_highPt_Forward)); mChargedHadronEnergy = ibooker.book1D("ChargedHadronEnergy", "charged HAD energy", 100, 0, 100); mNeutralHadronEnergy = ibooker.book1D("NeutralHadronEnergy", "neutral HAD energy", 100, 0, 100); @@ -710,8 +987,15 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mChargedMultiplicity = ibooker.book1D("ChargedMultiplicity", "charged multiplicity ", 100, 0, 100); mNeutralMultiplicity = ibooker.book1D("NeutralMultiplicity", "neutral multiplicity", 100, 0, 100); mMuonMultiplicity = ibooker.book1D("MuonMultiplicity", "muon multiplicity", 100, 0, 100); - - + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedHadronEnergy" ,mChargedHadronEnergy)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralHadronEnergy" ,mNeutralHadronEnergy)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedEmEnergy" ,mChargedEmEnergy)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedMuEnergy" ,mChargedMuEnergy)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralEmEnergy" ,mNeutralEmEnergy)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedMultiplicity" ,mChargedMultiplicity)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralMultiplicity" ,mNeutralMultiplicity)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuonMultiplicity" ,mMuonMultiplicity)); + // Book NPV profiles //---------------------------------------------------------------------------- mChargedHadronEnergy_profile = ibooker.bookProfile("ChargedHadronEnergy_profile", "charged HAD energy", nbinsPV_, nPVlow_, nPVhigh_, 100, 0, 100); @@ -733,8 +1017,18 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, mChargedMultiplicity_profile->setAxisTitle("nvtx",1); mNeutralMultiplicity_profile->setAxisTitle("nvtx",1); mMuonMultiplicity_profile ->setAxisTitle("nvtx",1); + + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedHadronEnergy_profile" ,mChargedHadronEnergy_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralHadronEnergy_profile" ,mNeutralHadronEnergy_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedEmEnergy_profile" ,mChargedEmEnergy_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedMuEnergy_profile" ,mChargedMuEnergy_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralEmEnergy_profile" ,mNeutralEmEnergy_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedMultiplicity_profile" ,mChargedMultiplicity_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralMultiplicity_profile" ,mNeutralMultiplicity_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuonMultiplicity_profile" ,mMuonMultiplicity_profile)); mNeutralFraction = ibooker.book1D("NeutralConstituentsFraction","Neutral Constituents Fraction",100,0,1); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralConstituentsFraction" ,mNeutralFraction)); } @@ -759,8 +1053,10 @@ void JetAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, cleanupME->setBinLabel(7,"DCS::HF"); cleanupME->setBinLabel(8,"DCS::HO"); cleanupME->setBinLabel(9,"DCS::Muon"); + map_of_MEs.insert(std::pair("JetMET/cleanup" ,cleanupME)); verticesME = ibooker.book1D("vertices", "vertices", 100, 0, 100); + map_of_MEs.insert(std::pair("JetMET/vertices" ,verticesME)); @@ -773,27 +1069,39 @@ void JetAnalyzer::bookMESetSelection(std::string DirName, DQMStore::IBooker & ib mPt = ibooker.book1D("Pt", "pt", ptBin_, ptMin_, ptMax_); mEta = ibooker.book1D("Eta", "eta", etaBin_, etaMin_, etaMax_); mPhi = ibooker.book1D("Phi", "phi", phiBin_, phiMin_, phiMax_); - if(!isJPTJet_){ - mConstituents = ibooker.book1D("Constituents", "# of constituents", 50, 0, 100); - } + map_of_MEs.insert(std::pair(DirName+"/"+"Pt" ,mPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"Eta" ,mEta)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi" ,mPhi)); + //if(!isJPTJet_){ + mConstituents = ibooker.book1D("Constituents", "# of constituents", 50, 0, 100); + map_of_MEs.insert(std::pair(DirName+"/"+"Constituents" ,mConstituents)); + //} mJetEnergyCorr= ibooker.book1D("JetEnergyCorr", "jet energy correction factor", 50, 0.0,3.0); mJetEnergyCorrVSEta= ibooker.bookProfile("JetEnergyCorrVSEta", "jet energy correction factor VS eta", etaBin_, etaMin_,etaMax_, 0.0,3.0); mJetEnergyCorrVSPt= ibooker.bookProfile("JetEnergyCorrVSPt", "jet energy correction factor VS pt", ptBin_, ptMin_,ptMax_, 0.0,3.0); mHFrac = ibooker.book1D("HFrac", "HFrac", 140, -0.2, 1.2); mEFrac = ibooker.book1D("EFrac", "EFrac", 140, -0.2, 1.2); + map_of_MEs.insert(std::pair(DirName+"/"+"JetEnergyCorr" ,mJetEnergyCorr)); + map_of_MEs.insert(std::pair(DirName+"/"+"JetEnergyCorrVSEta" ,mJetEnergyCorrVSEta)); + map_of_MEs.insert(std::pair(DirName+"/"+"JetEnergyCorrVSPt" ,mJetEnergyCorrVSPt)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFrac" ,mHFrac)); + map_of_MEs.insert(std::pair(DirName+"/"+"EFrac" ,mEFrac)); mDPhi = ibooker.book1D("DPhi", "dPhi btw the two leading jets", 100, 0., acos(-1.)); mDijetAsymmetry = ibooker.book1D("DijetAsymmetry", "DijetAsymmetry", 100, -1., 1.); mDijetBalance = ibooker.book1D("DijetBalance", "DijetBalance", 100, -2., 2.); + map_of_MEs.insert(std::pair(DirName+"/"+"DPhi" ,mDPhi)); + map_of_MEs.insert(std::pair(DirName+"/"+"DijetAsymmetry" ,mDijetAsymmetry)); + map_of_MEs.insert(std::pair(DirName+"/"+"DijetBalance" ,mDijetBalance)); // Book NPV profiles //---------------------------------------------------------------------------- mPt_profile = ibooker.bookProfile("Pt_profile", "pt", nbinsPV_, nPVlow_, nPVhigh_, ptBin_, ptMin_, ptMax_); mEta_profile = ibooker.bookProfile("Eta_profile", "eta", nbinsPV_, nPVlow_, nPVhigh_, etaBin_, etaMin_, etaMax_); mPhi_profile = ibooker.bookProfile("Phi_profile", "phi", nbinsPV_, nPVlow_, nPVhigh_, phiBin_, phiMin_, phiMax_); - if(!isJPTJet_){ - mConstituents_profile = ibooker.bookProfile("Constituents_profile", "# of constituents", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100); - } + //if(!isJPTJet_){ + mConstituents_profile = ibooker.bookProfile("Constituents_profile", "# of constituents", nbinsPV_, nPVlow_, nPVhigh_, 50, 0, 100); + //} mHFrac_profile = ibooker.bookProfile("HFrac_profile", "HFrac", nbinsPV_, nPVlow_, nPVhigh_, 140, -0.2, 1.2); mEFrac_profile = ibooker.bookProfile("EFrac_profile", "EFrac", nbinsPV_, nPVlow_, nPVhigh_, 140, -0.2, 1.2); // met NPV profiles x-axis title @@ -801,12 +1109,19 @@ void JetAnalyzer::bookMESetSelection(std::string DirName, DQMStore::IBooker & ib mPt_profile ->setAxisTitle("nvtx",1); mEta_profile ->setAxisTitle("nvtx",1); mPhi_profile ->setAxisTitle("nvtx",1); - if(!isJPTJet_){ - mConstituents_profile->setAxisTitle("nvtx",1); - } + //if(!isJPTJet_){ + mConstituents_profile->setAxisTitle("nvtx",1); + map_of_MEs.insert(std::pair(DirName+"/"+"Constituents_profile",mConstituents_profile)); + //} mHFrac_profile ->setAxisTitle("nvtx",1); mEFrac_profile ->setAxisTitle("nvtx",1); + map_of_MEs.insert(std::pair(DirName+"/"+"Pt_profile" ,mPt_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"Eta_profile",mEta_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"Phi_profile",mPhi_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFrac_profile",mHFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"EFrac_profile",mEFrac_profile)); + // //--- Calo jet melection only if(isCaloJet_) { @@ -818,7 +1133,14 @@ void JetAnalyzer::bookMESetSelection(std::string DirName, DQMStore::IBooker & ib mN90Hits = ibooker.book1D("N90Hits", "N90Hits", 100, 0., 100); mfHPD = ibooker.book1D("fHPD", "fHPD", 50, 0., 1.); mfRBX = ibooker.book1D("fRBX", "fRBX", 50, 0., 1.); - + + map_of_MEs.insert(std::pair(DirName+"/"+"MaxEInEmTowers" ,mMaxEInEmTowers)); + map_of_MEs.insert(std::pair(DirName+"/"+"MaxEInHadTowers" ,mMaxEInHadTowers)); + map_of_MEs.insert(std::pair(DirName+"/"+"resEMF" ,mresEMF)); + map_of_MEs.insert(std::pair(DirName+"/"+"N90Hits",mN90Hits)); + map_of_MEs.insert(std::pair(DirName+"/"+"fHPD" ,mfHPD)); + map_of_MEs.insert(std::pair(DirName+"/"+"fRBX" ,mfRBX)); + } if(isPFJet_){ @@ -832,10 +1154,21 @@ void JetAnalyzer::bookMESetSelection(std::string DirName, DQMStore::IBooker & ib mHFEMFrac = ibooker.book1D("HFEMFrac","HFEMFrac", 120, -0.1, 1.1); mHFHFrac = ibooker.book1D("HFHFrac", "HFHFrac", 120, -0.1, 1.1); + map_of_MEs.insert(std::pair(DirName+"/"+"CHFrac" ,mCHFrac)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFrac" ,mNHFrac)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFrac" ,mPhFrac)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFrac" ,mElFrac)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFrac" ,mMuFrac)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFEMFrac",mHFEMFrac)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFHFrac" ,mHFHFrac)); + mChargedMultiplicity = ibooker.book1D("ChargedMultiplicity", "charged multiplicity ", 100, 0, 100); mNeutralMultiplicity = ibooker.book1D("NeutralMultiplicity", "neutral multiplicity", 100, 0, 100); mMuonMultiplicity = ibooker.book1D("MuonMultiplicity", "muon multiplicity", 100, 0, 100); - + + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedMultiplicity" ,mChargedMultiplicity)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralMultiplicity" ,mNeutralMultiplicity)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuonMultiplicity" ,mMuonMultiplicity)); // Book NPV profiles //---------------------------------------------------------------------------- @@ -862,8 +1195,20 @@ void JetAnalyzer::bookMESetSelection(std::string DirName, DQMStore::IBooker & ib mChargedMultiplicity_profile->setAxisTitle("nvtx",1); mNeutralMultiplicity_profile->setAxisTitle("nvtx",1); mMuonMultiplicity_profile ->setAxisTitle("nvtx",1); - + + map_of_MEs.insert(std::pair(DirName+"/"+"CHFrac_profile" ,mCHFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"NHFrac_profile" ,mNHFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PhFrac_profile" ,mPhFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"ElFrac_profile" ,mElFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuFrac_profile" ,mMuFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFEMFrac_profile",mHFEMFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"HFHFrac_profile" ,mHFHFrac_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"ChargedMultiplicity_profile" ,mChargedMultiplicity_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralMultiplicity_profile" ,mNeutralMultiplicity_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"MuonMultiplicity_profile" ,mMuonMultiplicity_profile)); + mNeutralFraction = ibooker.book1D("NeutralConstituentsFraction","Neutral Constituents Fraction",100,0,1); + map_of_MEs.insert(std::pair(DirName+"/"+"NeutralConstituentsFraction" ,mNeutralFraction)); } } @@ -911,10 +1256,10 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu //set general folders first --> change later on for different folders if(jetCleaningFlag_){ - dbe_->setCurrentFolder("JetMET/Jet/Cleaned"+mInputCollection_.label()); + //dbe_->setCurrentFolder("JetMET/Jet/Cleaned"+mInputCollection_.label()); DirName = "JetMET/Jet/Cleaned"+mInputCollection_.label(); }else{ - dbe_->setCurrentFolder("JetMET/Jet/Uncleaned"+mInputCollection_.label()); + //dbe_->setCurrentFolder("JetMET/Jet/Uncleaned"+mInputCollection_.label()); DirName = "JetMET/Jet/Uncleaned"+mInputCollection_.label(); } @@ -964,7 +1309,9 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu numPV = vertexCollection.size(); } bool bPrimaryVertex = (bypassAllPVChecks_ || (numPV>0)); - verticesME->Fill(numPV); + if(fill_jet_high_level_histo){//should be filled for all events, no selection up to this point + verticesME = map_of_MEs["JetMET/vertices"]; if(verticesME && verticesME->getRootObject())verticesME->Fill(numPV); + } // ========================================================== edm::Handle gtReadoutRecord; @@ -976,26 +1323,29 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu if (verbose_) std::cout << "JetAnalyzer: Could not find GT readout record product" << std::endl; } DCSFilterForDCSMonitoring_->filter(iEvent, iSetup); - if (bPrimaryVertex) cleanupME->Fill(0.5); - if ( DCSFilterForDCSMonitoring_->passPIX ) cleanupME->Fill(1.5); - if ( DCSFilterForDCSMonitoring_->passSiStrip ) cleanupME->Fill(2.5); - if ( DCSFilterForDCSMonitoring_->passECAL ) cleanupME->Fill(3.5); - if ( DCSFilterForDCSMonitoring_->passES ) cleanupME->Fill(4.5); - if ( DCSFilterForDCSMonitoring_->passHBHE ) cleanupME->Fill(5.5); - if ( DCSFilterForDCSMonitoring_->passHF ) cleanupME->Fill(6.5); - if ( DCSFilterForDCSMonitoring_->passHO ) cleanupME->Fill(7.5); - if ( DCSFilterForDCSMonitoring_->passMuon ) cleanupME->Fill(8.5); - + if(fill_jet_high_level_histo){//should be filled only once + cleanupME = map_of_MEs["JetMET/cleanup"]; if(cleanupME && cleanupME->getRootObject()){ + if (bPrimaryVertex) cleanupME->Fill(0.5); + if ( DCSFilterForDCSMonitoring_->passPIX ) cleanupME->Fill(1.5); + if ( DCSFilterForDCSMonitoring_->passSiStrip ) cleanupME->Fill(2.5); + if ( DCSFilterForDCSMonitoring_->passECAL ) cleanupME->Fill(3.5); + if ( DCSFilterForDCSMonitoring_->passES ) cleanupME->Fill(4.5); + if ( DCSFilterForDCSMonitoring_->passHBHE ) cleanupME->Fill(5.5); + if ( DCSFilterForDCSMonitoring_->passHF ) cleanupME->Fill(6.5); + if ( DCSFilterForDCSMonitoring_->passHO ) cleanupME->Fill(7.5); + if ( DCSFilterForDCSMonitoring_->passMuon ) cleanupME->Fill(8.5); + } + } edm::Handle caloJets; edm::Handle jptJets; edm::Handle pfJets; if (isCaloJet_) iEvent.getByToken(caloJetsToken_, caloJets); - if (isJPTJet_) iEvent.getByToken(jptJetsToken_, jptJets); + //if (isJPTJet_) iEvent.getByToken(jptJetsToken_, jptJets); if (isPFJet_) iEvent.getByToken(pfJetsToken_, pfJets); edm::Handle< edm::ValueMap >jetID_ValueMap_Handle; - if(isJPTJet_ || isCaloJet_){ + if(/*isJPTJet_ || */isCaloJet_){ if(!runcosmics_){ iEvent.getByToken(jetID_ValueMapToken_,jetID_ValueMap_Handle); } @@ -1005,7 +1355,7 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu bool dcsDecision = DCSFilterForJetMonitoring_->filter(iEvent, iSetup); bool jetCollectionIsValid = false; if (isCaloJet_) jetCollectionIsValid = caloJets.isValid(); - if (isJPTJet_) jetCollectionIsValid = jptJets.isValid(); + //if (isJPTJet_) jetCollectionIsValid = jptJets.isValid(); if (isPFJet_) jetCollectionIsValid = pfJets.isValid(); @@ -1013,14 +1363,14 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu unsigned int collSize=-1; if (isCaloJet_) collSize = caloJets->size(); - if (isJPTJet_) { - collSize=jptJets->size(); - if(collSize>0){ - //update the track propagator and strip noise calculator - trackPropagator_->update(iSetup); - //sOverNCalculator_->update(iSetup); - } - } + //if (isJPTJet_) { + //collSize=jptJets->size(); + //if(collSize>0){ + // //update the track propagator and strip noise calculator + // trackPropagator_->update(iSetup); + // //sOverNCalculator_->update(iSetup); + //} + //} if (isPFJet_) collSize=pfJets->size(); double scale=-1; @@ -1055,9 +1405,9 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu if (isCaloJet_){ correctedJet=(*caloJets)[ijet]; } - if (isJPTJet_){ - correctedJet=(*jptJets)[ijet]; - } + //if (isJPTJet_){ + //correctedJet=(*jptJets)[ijet]; + //} if (isPFJet_){ correctedJet=(*pfJets)[ijet]; } @@ -1071,9 +1421,9 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu if (isCaloJet_){ scale = corrector->correction((*caloJets)[ijet], iEvent, iSetup); } - if (isJPTJet_){ - scale = corrector->correction((*jptJets)[ijet], iEvent, iSetup); - } + //if (isJPTJet_){ + //scale = corrector->correction((*jptJets)[ijet], iEvent, iSetup); + //} if (isPFJet_){ scale = corrector->correction((*pfJets)[ijet], iEvent, iSetup); } @@ -1102,471 +1452,473 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu Thiscleaned=jetpassid; } if(Thiscleaned && pass_corrected){//if cleaning requested->jet passes a loose ID - mN90Hits = dbe_->get(DirName+"/"+"N90Hits"); if (mN90Hits && mN90Hits->getRootObject()) mN90Hits->Fill (jetID.n90Hits); - mfHPD = dbe_->get(DirName+"/"+"fHPD"); if (mfHPD && mfHPD->getRootObject()) mfHPD->Fill (jetID.fHPD); - mresEMF = dbe_->get(DirName+"/"+"resEMF"); if (mresEMF && mresEMF->getRootObject()) mresEMF->Fill (jetID.restrictedEMF); - mfRBX = dbe_->get(DirName+"/"+"fRBX"); if (mfRBX && mfRBX->getRootObject()) mfRBX->Fill (jetID.fRBX); + mN90Hits = map_of_MEs[DirName+"/"+"N90Hits"]; if (mN90Hits && mN90Hits->getRootObject()) mN90Hits->Fill (jetID.n90Hits); + mfHPD = map_of_MEs[DirName+"/"+"fHPD"]; if (mfHPD && mfHPD->getRootObject()) mfHPD->Fill (jetID.fHPD); + mresEMF = map_of_MEs[DirName+"/"+"resEMF"]; if (mresEMF && mresEMF->getRootObject()) mresEMF->Fill (jetID.restrictedEMF); + mfRBX = map_of_MEs[DirName+"/"+"fRBX"]; if (mfRBX && mfRBX->getRootObject()) mfRBX->Fill (jetID.fRBX); } } if(jetCleaningFlag_){ Thiscleaned=jetpassid; } if(Thiscleaned && pass_uncorrected){ - mPt_uncor = dbe_->get(DirName+"/"+"Pt_uncor"); if (mPt_uncor && mPt_uncor->getRootObject()) mPt_uncor->Fill ((*caloJets)[ijet].pt()); - mEta_uncor = dbe_->get(DirName+"/"+"Eta_uncor"); if (mEta_uncor && mEta_uncor->getRootObject()) mEta_uncor->Fill ((*caloJets)[ijet].eta()); - mPhi_uncor = dbe_->get(DirName+"/"+"Phi_uncor"); if (mPhi_uncor && mPhi_uncor->getRootObject()) mPhi_uncor->Fill ((*caloJets)[ijet].phi()); - if(!isJPTJet_){ - mConstituents_uncor = dbe_->get(DirName+"/"+"Constituents_uncor"); if (mConstituents_uncor && mConstituents_uncor->getRootObject()) mConstituents_uncor->Fill ((*caloJets)[ijet].nConstituents()); - } + mPt_uncor = map_of_MEs[DirName+"/"+"Pt_uncor"]; if (mPt_uncor && mPt_uncor->getRootObject()) mPt_uncor->Fill ((*caloJets)[ijet].pt()); + mEta_uncor = map_of_MEs[DirName+"/"+"Eta_uncor"]; if (mEta_uncor && mEta_uncor->getRootObject()) mEta_uncor->Fill ((*caloJets)[ijet].eta()); + mPhi_uncor = map_of_MEs[DirName+"/"+"Phi_uncor"]; if (mPhi_uncor && mPhi_uncor->getRootObject()) mPhi_uncor->Fill ((*caloJets)[ijet].phi()); + //if(!isJPTJet_){ + mConstituents_uncor = map_of_MEs[DirName+"/"+"Constituents_uncor"]; if (mConstituents_uncor && mConstituents_uncor->getRootObject()) mConstituents_uncor->Fill ((*caloJets)[ijet].nConstituents()); + //} } //now do calojet specific fractions and histograms ->H and E fracs if(Thiscleaned && pass_corrected){//if cleaning requested->jet passes a loose ID - mHFrac = dbe_->get(DirName+"/"+"HFrac"); if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*caloJets)[ijet].energyFractionHadronic()); - mEFrac = dbe_->get(DirName+"/"+"EFrac"); if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*caloJets)[ijet].emEnergyFraction()); - mHFrac_profile = dbe_->get(DirName+"/"+"HFrac_profile"); if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*caloJets)[ijet].energyFractionHadronic()); - mEFrac_profile = dbe_->get(DirName+"/"+"EFrac_profile"); if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*caloJets)[ijet].emEnergyFraction()); + mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*caloJets)[ijet].energyFractionHadronic()); + mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*caloJets)[ijet].emEnergyFraction()); + mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*caloJets)[ijet].energyFractionHadronic()); + mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*caloJets)[ijet].emEnergyFraction()); if (fabs((*caloJets)[ijet].eta()) <= 1.3) { - mHFrac_Barrel = dbe_->get(DirName+"/"+"HFrac_Barrel"); if (mHFrac_Barrel && mHFrac_Barrel->getRootObject()) mHFrac_Barrel->Fill((*caloJets)[ijet].energyFractionHadronic()); - mEFrac_Barrel = dbe_->get(DirName+"/"+"EFrac_Barrel"); if (mEFrac_Barrel && mEFrac_Barrel->getRootObject()) mEFrac_Barrel->Fill((*caloJets)[ijet].emEnergyFraction()); + mHFrac_Barrel = map_of_MEs[DirName+"/"+"HFrac_Barrel"]; if (mHFrac_Barrel && mHFrac_Barrel->getRootObject()) mHFrac_Barrel->Fill((*caloJets)[ijet].energyFractionHadronic()); + mEFrac_Barrel = map_of_MEs[DirName+"/"+"EFrac_Barrel"]; if (mEFrac_Barrel && mEFrac_Barrel->getRootObject()) mEFrac_Barrel->Fill((*caloJets)[ijet].emEnergyFraction()); }else if(fabs((*caloJets)[ijet].eta()) <3.0){ - mHFrac_EndCap = dbe_->get(DirName+"/"+"HFrac_EndCap"); if (mHFrac_EndCap && mHFrac_EndCap->getRootObject()) mHFrac_EndCap->Fill((*caloJets)[ijet].energyFractionHadronic()); - mEFrac_EndCap = dbe_->get(DirName+"/"+"EFrac_EndCap"); if (mEFrac_EndCap && mEFrac_EndCap->getRootObject()) mEFrac_EndCap->Fill((*caloJets)[ijet].emEnergyFraction()); + mHFrac_EndCap = map_of_MEs[DirName+"/"+"HFrac_EndCap"]; if (mHFrac_EndCap && mHFrac_EndCap->getRootObject()) mHFrac_EndCap->Fill((*caloJets)[ijet].energyFractionHadronic()); + mEFrac_EndCap = map_of_MEs[DirName+"/"+"EFrac_EndCap"]; if (mEFrac_EndCap && mEFrac_EndCap->getRootObject()) mEFrac_EndCap->Fill((*caloJets)[ijet].emEnergyFraction()); }else{ - mHFrac_Forward = dbe_->get(DirName+"/"+"HFrac_Forward"); if (mHFrac_Forward && mHFrac_Forward->getRootObject()) mHFrac_Forward->Fill((*caloJets)[ijet].energyFractionHadronic()); - mEFrac_Forward = dbe_->get(DirName+"/"+"EFrac_Forward"); if (mEFrac_Forward && mEFrac_Forward->getRootObject()) mEFrac_Forward->Fill((*caloJets)[ijet].emEnergyFraction()); + mHFrac_Forward = map_of_MEs[DirName+"/"+"HFrac_Forward"]; if (mHFrac_Forward && mHFrac_Forward->getRootObject()) mHFrac_Forward->Fill((*caloJets)[ijet].energyFractionHadronic()); + mEFrac_Forward = map_of_MEs[DirName+"/"+"EFrac_Forward"]; if (mEFrac_Forward && mEFrac_Forward->getRootObject()) mEFrac_Forward->Fill((*caloJets)[ijet].emEnergyFraction()); } - mMaxEInEmTowers = dbe_->get(DirName+"/"+"MaxEInEmTowers"); if (mMaxEInEmTowers && mMaxEInEmTowers->getRootObject()) mMaxEInEmTowers->Fill ((*caloJets)[ijet].maxEInEmTowers()); - mMaxEInHadTowers = dbe_->get(DirName+"/"+"MaxEInHadTowers"); if (mMaxEInHadTowers && mMaxEInHadTowers->getRootObject()) mMaxEInHadTowers->Fill ((*caloJets)[ijet].maxEInHadTowers()); + mMaxEInEmTowers = map_of_MEs[DirName+"/"+"MaxEInEmTowers"]; if (mMaxEInEmTowers && mMaxEInEmTowers->getRootObject()) mMaxEInEmTowers->Fill ((*caloJets)[ijet].maxEInEmTowers()); + mMaxEInHadTowers = map_of_MEs[DirName+"/"+"MaxEInHadTowers"]; if (mMaxEInHadTowers && mMaxEInHadTowers->getRootObject()) mMaxEInHadTowers->Fill ((*caloJets)[ijet].maxEInHadTowers()); - mHadEnergyInHO = dbe_->get(DirName+"/"+"HadEnergyInHO"); if (mHadEnergyInHO && mHadEnergyInHO->getRootObject()) mHadEnergyInHO->Fill ((*caloJets)[ijet].hadEnergyInHO()); - mHadEnergyInHB = dbe_->get(DirName+"/"+"HadEnergyInHB"); if (mHadEnergyInHB && mHadEnergyInHB->getRootObject()) mHadEnergyInHB->Fill ((*caloJets)[ijet].hadEnergyInHB()); - mHadEnergyInHF = dbe_->get(DirName+"/"+"HadEnergyInHF"); if (mHadEnergyInHF && mHadEnergyInHF->getRootObject()) mHadEnergyInHF->Fill ((*caloJets)[ijet].hadEnergyInHF()); - mHadEnergyInHE = dbe_->get(DirName+"/"+"HadEnergyInHE"); if (mHadEnergyInHE && mHadEnergyInHE->getRootObject()) mHadEnergyInHE->Fill ((*caloJets)[ijet].hadEnergyInHE()); - mEmEnergyInEB = dbe_->get(DirName+"/"+"EmEnergyInEB"); if (mEmEnergyInEB && mEmEnergyInEB->getRootObject()) mEmEnergyInEB->Fill ((*caloJets)[ijet].emEnergyInEB()); - mEmEnergyInEE = dbe_->get(DirName+"/"+"EmEnergyInEE"); if (mEmEnergyInEE && mEmEnergyInEE->getRootObject()) mEmEnergyInEE->Fill ((*caloJets)[ijet].emEnergyInEE()); - mEmEnergyInHF = dbe_->get(DirName+"/"+"EmEnergyInHF"); if (mEmEnergyInHF && mEmEnergyInHF->getRootObject()) mEmEnergyInHF->Fill ((*caloJets)[ijet].emEnergyInHF()); + mHadEnergyInHO = map_of_MEs[DirName+"/"+"HadEnergyInHO"]; if (mHadEnergyInHO && mHadEnergyInHO->getRootObject()) mHadEnergyInHO->Fill ((*caloJets)[ijet].hadEnergyInHO()); + mHadEnergyInHB = map_of_MEs[DirName+"/"+"HadEnergyInHB"]; if (mHadEnergyInHB && mHadEnergyInHB->getRootObject()) mHadEnergyInHB->Fill ((*caloJets)[ijet].hadEnergyInHB()); + mHadEnergyInHF = map_of_MEs[DirName+"/"+"HadEnergyInHF"]; if (mHadEnergyInHF && mHadEnergyInHF->getRootObject()) mHadEnergyInHF->Fill ((*caloJets)[ijet].hadEnergyInHF()); + mHadEnergyInHE = map_of_MEs[DirName+"/"+"HadEnergyInHE"]; if (mHadEnergyInHE && mHadEnergyInHE->getRootObject()) mHadEnergyInHE->Fill ((*caloJets)[ijet].hadEnergyInHE()); + mEmEnergyInEB = map_of_MEs[DirName+"/"+"EmEnergyInEB"]; if (mEmEnergyInEB && mEmEnergyInEB->getRootObject()) mEmEnergyInEB->Fill ((*caloJets)[ijet].emEnergyInEB()); + mEmEnergyInEE = map_of_MEs[DirName+"/"+"EmEnergyInEE"]; if (mEmEnergyInEE && mEmEnergyInEE->getRootObject()) mEmEnergyInEE->Fill ((*caloJets)[ijet].emEnergyInEE()); + mEmEnergyInHF = map_of_MEs[DirName+"/"+"EmEnergyInHF"]; if (mEmEnergyInHF && mEmEnergyInHF->getRootObject()) mEmEnergyInHF->Fill ((*caloJets)[ijet].emEnergyInHF()); } } - if(isJPTJet_){ - const edm::RefToBase& rawJet = (*jptJets)[ijet].getCaloJetRef(); - //change that step here - //check jet is correctable by JPT - //if ( fabs(rawJet->eta()) > 2.1) return; + //if(isJPTJet_){ + //const edm::RefToBase& rawJet = (*jptJets)[ijet].getCaloJetRef(); + ////change that step here + ////check jet is correctable by JPT + ////if ( fabs(rawJet->eta()) > 2.1) return; - try { - const reco::CaloJet *rawCaloJet = dynamic_cast(&*rawJet); - reco::CaloJetRef const theCaloJetRef = (rawJet).castTo(); - if(!runcosmics_){ - reco::JetID jetID = (*jetID_ValueMap_Handle)[theCaloJetRef]; - jetpassid = jetIDFunctor(*rawCaloJet, jetID); - if(jetCleaningFlag_){ - Thiscleaned = jetpassid; - } - if(Thiscleaned /*&& ( fabs(rawJet->eta()) < 2.1)*/ && pass_corrected){ - mN90Hits = dbe_->get(DirName+"/"+"N90Hits"); if (mN90Hits && mN90Hits->getRootObject()) mN90Hits->Fill (jetID.n90Hits); - mfHPD = dbe_->get(DirName+"/"+"fHPD"); if (mfHPD && mfHPD->getRootObject()) mfHPD->Fill (jetID.fHPD); - mresEMF = dbe_->get(DirName+"/"+"resEMF"); if (mresEMF && mresEMF->getRootObject()) mresEMF->Fill (jetID.restrictedEMF); - mfRBX = dbe_->get(DirName+"/"+"fRBX"); if (mfRBX && mfRBX->getRootObject()) mfRBX->Fill (jetID.fRBX); - } - } - } catch (const std::bad_cast&) { - edm::LogError("JetPlusTrackDQM") << "Failed to cast raw jet to CaloJet. JPT Jet does not appear to have been built from a CaloJet. " - << "Histograms not filled. "; - return; - } - //plot JPT specific variables for <2.1 jets - if(Thiscleaned && pass_uncorrected /*&& ( fabs(rawJet->eta()) < 2.1)*/ ){ - mPt_uncor = dbe_->get(DirName+"/"+"Pt_uncor"); if (mPt_uncor && mPt_uncor->getRootObject()) if (mPt_uncor) mPt_uncor->Fill ((*jptJets)[ijet].pt()); - mEta_uncor = dbe_->get(DirName+"/"+"Eta_uncor"); if (mEta_uncor && mEta_uncor->getRootObject()) mEta_uncor->Fill ((*jptJets)[ijet].eta()); - mPhi_uncor = dbe_->get(DirName+"/"+"Phi_uncor"); if (mPhi_uncor && mPhi_uncor->getRootObject()) mPhi_uncor->Fill ((*jptJets)[ijet].phi()); - if(!isJPTJet_){ - mConstituents_uncor = dbe_->get(DirName+"/"+"Constituents_uncor"); if (mConstituents_uncor && mConstituents_uncor->getRootObject()) mConstituents_uncor->Fill ((*jptJets)[ijet].nConstituents()); - } - } - if(Thiscleaned && /*( fabs(rawJet->eta()) < 2.1) && */pass_corrected){ - mHFrac = dbe_->get(DirName+"/"+"HFrac"); if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); - //if (mEFrac) mEFrac->Fill ((*jptJets)[ijet].chargedEmEnergyFraction() +(*jptJets)[ijet].neutralEmEnergyFraction()); - mEFrac = dbe_->get(DirName+"/"+"EFrac"); if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); - mHFrac_profile = dbe_->get(DirName+"/"+"HFrac_profile"); if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); - mEFrac_profile = dbe_->get(DirName+"/"+"EFrac_profile"); if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); - if (fabs((*jptJets)[ijet].eta()) <= 1.3) { - mHFrac_Barrel = dbe_->get(DirName+"/"+"HFrac_Barrel"); if (mHFrac_Barrel && mHFrac_Barrel->getRootObject()) mHFrac_Barrel->Fill((*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); - mEFrac_Barrel = dbe_->get(DirName+"/"+"EFrac_Barrel"); if (mEFrac_Barrel && mEFrac_Barrel->getRootObject()) mEFrac_Barrel->Fill(1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); - }else if(fabs((*jptJets)[ijet].eta()) <3.0){ - mHFrac_EndCap = dbe_->get(DirName+"/"+"HFrac_EndCap"); if (mHFrac_EndCap && mHFrac_EndCap->getRootObject()) mHFrac_EndCap->Fill((*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); - mEFrac_EndCap = dbe_->get(DirName+"/"+"EFrac_EndCap"); if (mEFrac_EndCap && mEFrac_EndCap->getRootObject()) mEFrac_EndCap->Fill(1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); - }else{ - mHFrac_Forward = dbe_->get(DirName+"/"+"HFrac_Forward"); if (mHFrac_Forward && mHFrac_Forward->getRootObject()) mHFrac_Forward->Fill((*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); - mEFrac_Forward = dbe_->get(DirName+"/"+"EFrac_Forward"); if (mEFrac_Forward && mEFrac_Forward->getRootObject()) mEFrac_Forward->Fill(1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); - } - mE = dbe_->get(DirName+"/"+"E"); if (mE && mE->getRootObject()) mE->Fill ((*jptJets)[ijet].energy()); - mPx = dbe_->get(DirName+"/"+"Px"); if (mPx && mPx->getRootObject()) mPx->Fill ((*jptJets)[ijet].px()); - mPy = dbe_->get(DirName+"/"+"Py"); if (mPy && mPy->getRootObject()) mPy->Fill ((*jptJets)[ijet].py()); - mPz = dbe_->get(DirName+"/"+"Pz"); if (mPz && mPz->getRootObject()) mPz->Fill ((*jptJets)[ijet].pz()); - mP = dbe_->get(DirName+"/"+"P"); if (mP && mP->getRootObject()) mP->Fill ((*jptJets)[ijet].p()); - mEt = dbe_->get(DirName+"/"+"Et"); if (mEt && mEt->getRootObject()) mEt->Fill ((*jptJets)[ijet].et()); - mnTracks = dbe_->get(DirName+"/"+"nTracks"); if (mnTracks && mnTracks->getRootObject()) mnTracks->Fill((*jptJets)[ijet].chargedMultiplicity()); - mnTracksVSJetPt = dbe_->get(DirName+"/"+"nTracksVSJetPt"); if (mnTracksVSJetPt && mEt->getRootObject()) mnTracksVSJetPt->Fill(rawJet->pt(),(*jptJets)[ijet].chargedMultiplicity()); - mnTracksVSJetEta = dbe_->get(DirName+"/"+"nTracksVSJetEta"); if (mnTracksVSJetEta && mnTracksVSJetEta->getRootObject()) mnTracksVSJetEta->Fill(rawJet->eta(),(*jptJets)[ijet].chargedMultiplicity()); - const reco::TrackRefVector& pionsInVertexInCalo = (*jptJets)[ijet].getPionsInVertexInCalo(); - const reco::TrackRefVector& pionsInVertexOutCalo = (*jptJets)[ijet].getPionsInVertexOutCalo(); - const reco::TrackRefVector& pionsOutVertexInCalo = (*jptJets)[ijet].getPionsOutVertexInCalo(); - const reco::TrackRefVector& muonsInVertexInCalo = (*jptJets)[ijet].getMuonsInVertexInCalo(); - const reco::TrackRefVector& muonsInVertexOutCalo = (*jptJets)[ijet].getMuonsInVertexOutCalo(); - const reco::TrackRefVector& muonsOutVertexInCalo = (*jptJets)[ijet].getMuonsOutVertexInCalo(); - const reco::TrackRefVector& electronsInVertexInCalo = (*jptJets)[ijet].getElecsInVertexInCalo(); - const reco::TrackRefVector& electronsInVertexOutCalo = (*jptJets)[ijet].getElecsInVertexOutCalo(); - const reco::TrackRefVector& electronsOutVertexInCalo = (*jptJets)[ijet].getElecsOutVertexInCalo(); - - mnallPionTracksPerJet = dbe_->get(DirName+"/"+"nallPionTracks"); if(mnallPionTracksPerJet && mnallPionTracksPerJet->getRootObject()) mnallPionTracksPerJet->Fill(pionsInVertexInCalo.size()+pionsInVertexOutCalo.size()+pionsOutVertexInCalo.size()); - mnInVertexInCaloPionTracksPerJet = dbe_->get(DirName+"/"+"nInVertexInCaloPionTracks"); if(mnInVertexInCaloPionTracksPerJet && mnInVertexInCaloPionTracksPerJet->getRootObject()) mnInVertexInCaloPionTracksPerJet->Fill(pionsInVertexInCalo.size()); - mnOutVertexInCaloPionTracksPerJet = dbe_->get(DirName+"/"+"nOutVertexInCaloPionTracks"); if(mnOutVertexInCaloPionTracksPerJet && mnOutVertexInCaloPionTracksPerJet->getRootObject()) mnOutVertexInCaloPionTracksPerJet->Fill(pionsOutVertexInCalo.size()); - mnInVertexOutCaloPionTracksPerJet = dbe_->get(DirName+"/"+"nInVertexOutCaloPionTracks"); if(mnInVertexOutCaloPionTracksPerJet && mnInVertexOutCaloPionTracksPerJet->getRootObject()) mnInVertexOutCaloPionTracksPerJet->Fill(pionsInVertexOutCalo.size()); - - for (reco::TrackRefVector::const_iterator iTrack = pionsInVertexInCalo.begin(); iTrack != pionsInVertexInCalo.end(); ++iTrack) { - mallPionTracksPt = dbe_->get(DirName+"/"+"allPionTracksPt"); if(mallPionTracksPt && mallPionTracksPt->getRootObject()) mallPionTracksPt->Fill((*iTrack)->pt()); - mallPionTracksEta = dbe_->get(DirName+"/"+"allPionTracksEta"); if(mallPionTracksEta && mallPionTracksEta->getRootObject()) mallPionTracksEta->Fill((*iTrack)->eta()); - mallPionTracksPhi = dbe_->get(DirName+"/"+"allPionTracksPhi"); if(mallPionTracksPhi && mallPionTracksPhi->getRootObject()) mallPionTracksPhi->Fill((*iTrack)->phi()); - mallPionTracksPtVSEta = dbe_->get(DirName+"/"+"allPionTracksPtVSEta"); if(mallPionTracksPtVSEta && mallPionTracksPtVSEta->getRootObject()) mallPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - mInVertexInCaloPionTracksPt = dbe_->get(DirName+"/"+"InVertexInCaloPionTracksPt"); if(mInVertexInCaloPionTracksPt && mInVertexInCaloPionTracksPt->getRootObject()) mInVertexInCaloPionTracksPt->Fill((*iTrack)->pt()); - mInVertexInCaloPionTracksEta = dbe_->get(DirName+"/"+"InVertexInCaloPionTracksEta"); if(mInVertexInCaloPionTracksEta && mInVertexInCaloPionTracksEta->getRootObject()) mInVertexInCaloPionTracksEta->Fill((*iTrack)->eta()); - mInVertexInCaloPionTracksPhi = dbe_->get(DirName+"/"+"InVertexInCaloPionTracksPhi"); if(mInVertexInCaloPionTracksPhi && mInVertexInCaloPionTracksPhi->getRootObject()) mInVertexInCaloPionTracksPhi->Fill((*iTrack)->phi()); - mInVertexInCaloPionTracksPtVSEta = dbe_->get(DirName+"/"+"InVertexInCaloPionTracksPtVSEta"); if(mInVertexInCaloPionTracksPtVSEta && mInVertexInCaloPionTracksPtVSEta->getRootObject()) mInVertexInCaloPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); - mInCaloTrackDirectionJetDRHisto_= dbe_->get(DirName+"/"+"InCaloTrackDirectionJetDR"); if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); - math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); - const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); - mInVertexTrackImpactPointJetDRHisto_= dbe_->get(DirName+"/"+"InVertexTrackImpactPointJetDR"); if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); - } - for (reco::TrackRefVector::const_iterator iTrack = pionsInVertexOutCalo.begin(); iTrack != pionsInVertexOutCalo.end(); ++iTrack) { - mallPionTracksPt = dbe_->get(DirName+"/"+"allPionTracksPt"); if(mallPionTracksPt && mallPionTracksPt->getRootObject()) mallPionTracksPt->Fill((*iTrack)->pt()); - mallPionTracksEta = dbe_->get(DirName+"/"+"allPionTracksEta"); if(mallPionTracksEta && mallPionTracksEta->getRootObject()) mallPionTracksEta->Fill((*iTrack)->eta()); - mallPionTracksPhi = dbe_->get(DirName+"/"+"allPionTracksPhi"); if(mallPionTracksPhi && mallPionTracksPhi->getRootObject()) mallPionTracksPhi->Fill((*iTrack)->phi()); - mallPionTracksPtVSEta = dbe_->get(DirName+"/"+"allPionTracksPtVSEta"); if(mallPionTracksPtVSEta && mallPionTracksPtVSEta->getRootObject()) mallPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - mInVertexOutCaloPionTracksPt = dbe_->get(DirName+"/"+"InVertexOutCaloPionTracksPt"); if(mInVertexOutCaloPionTracksPt && mInVertexOutCaloPionTracksPt->getRootObject()) mInVertexOutCaloPionTracksPt->Fill((*iTrack)->pt()); - mInVertexOutCaloPionTracksEta = dbe_->get(DirName+"/"+"InVertexOutCaloPionTracksEta"); if(mInVertexOutCaloPionTracksEta && mInVertexOutCaloPionTracksEta->getRootObject()) mInVertexOutCaloPionTracksEta->Fill((*iTrack)->eta()); - mInVertexOutCaloPionTracksPhi = dbe_->get(DirName+"/"+"InVertexOutCaloPionTracksPhi"); if(mInVertexOutCaloPionTracksPhi && mInVertexOutCaloPionTracksPhi->getRootObject()) mInVertexOutCaloPionTracksPhi->Fill((*iTrack)->phi()); - mInVertexOutCaloPionTracksPtVSEta = dbe_->get(DirName+"/"+"InVertexOutCaloPionTracksPtVSEta"); if(mInVertexOutCaloPionTracksPtVSEta && mInVertexOutCaloPionTracksPtVSEta->getRootObject()) mInVertexOutCaloPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); - mOutCaloTrackDirectionJetDRHisto_= dbe_->get(DirName+"/"+"OutCaloTrackDirectionJetDR"); if(mOutCaloTrackDirectionJetDRHisto_ && mOutCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mOutCaloTrackDirectionJetDRHisto_)mOutCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); - math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); - const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); - mInVertexTrackImpactPointJetDRHisto_= dbe_->get(DirName+"/"+"InVertexTrackImpactPointJetDR"); if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); - } - for (reco::TrackRefVector::const_iterator iTrack = pionsOutVertexInCalo.begin(); iTrack != pionsOutVertexInCalo.end(); ++iTrack) { - mallPionTracksPt = dbe_->get(DirName+"/"+"allPionTracksPt"); if(mallPionTracksPt && mallPionTracksPt->getRootObject()) mallPionTracksPt->Fill((*iTrack)->pt()); - mallPionTracksEta = dbe_->get(DirName+"/"+"allPionTracksEta"); if(mallPionTracksEta && mallPionTracksEta->getRootObject()) mallPionTracksEta->Fill((*iTrack)->eta()); - mallPionTracksPhi = dbe_->get(DirName+"/"+"allPionTracksPhi"); if(mallPionTracksPhi && mallPionTracksPhi->getRootObject()) mallPionTracksPhi->Fill((*iTrack)->phi()); - mallPionTracksPtVSEta = dbe_->get(DirName+"/"+"allPionTracksPtVSEta"); if(mallPionTracksPtVSEta && mallPionTracksPtVSEta->getRootObject()) mallPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - mOutVertexInCaloPionTracksPt = dbe_->get(DirName+"/"+"OutVertexInCaloPionTracksPt"); if(mOutVertexInCaloPionTracksPt && mOutVertexInCaloPionTracksPt->getRootObject()) mOutVertexInCaloPionTracksPt->Fill((*iTrack)->pt()); - mOutVertexInCaloPionTracksEta = dbe_->get(DirName+"/"+"OutVertexInCaloPionTracksEta"); if(mOutVertexInCaloPionTracksEta && mOutVertexInCaloPionTracksEta->getRootObject()) mOutVertexInCaloPionTracksEta->Fill((*iTrack)->eta()); - mOutVertexInCaloPionTracksPhi = dbe_->get(DirName+"/"+"OutVertexInCaloPionTracksPhi"); if(mOutVertexInCaloPionTracksPhi && mOutVertexInCaloPionTracksPhi->getRootObject()) mOutVertexInCaloPionTracksPhi->Fill((*iTrack)->phi()); - mOutVertexInCaloPionTracksPtVSEta = dbe_->get(DirName+"/"+"OutVertexInCaloPionTracksPtVSEta"); if(mOutVertexInCaloPionTracksPtVSEta && mOutVertexInCaloPionTracksPtVSEta->getRootObject()) mOutVertexInCaloPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); - mInCaloTrackDirectionJetDRHisto_= dbe_->get(DirName+"/"+"InCaloTrackDirectionJetDR"); if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); - math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); - const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); - mOutVertexTrackImpactPointJetDRHisto_= dbe_->get(DirName+"/"+"OutVertexTrackImpactPointJetDR"); if( mOutVertexTrackImpactPointJetDRHisto_ && mOutVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mOutVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); - } - //muon track histos - mnallMuonTracksPerJet = dbe_->get(DirName+"/"+"nallMuonTracks"); if(mnallMuonTracksPerJet && mnallMuonTracksPerJet->getRootObject()) mnallMuonTracksPerJet->Fill(muonsInVertexInCalo.size()+muonsInVertexOutCalo.size()+muonsOutVertexInCalo.size()); - mnInVertexInCaloMuonTracksPerJet = dbe_->get(DirName+"/"+"nInVertexInCaloMuonTracks"); if(mnInVertexInCaloMuonTracksPerJet && mnInVertexInCaloMuonTracksPerJet->getRootObject()) mnInVertexInCaloMuonTracksPerJet->Fill(muonsInVertexInCalo.size()); - mnOutVertexInCaloMuonTracksPerJet = dbe_->get(DirName+"/"+"nOutVertexInCaloMuonTracks"); if(mnOutVertexInCaloMuonTracksPerJet && mnOutVertexInCaloMuonTracksPerJet->getRootObject()) mnOutVertexInCaloMuonTracksPerJet->Fill(muonsOutVertexInCalo.size()); - mnInVertexOutCaloMuonTracksPerJet = dbe_->get(DirName+"/"+"nInVertexOutCaloMuonTracks"); if(mnInVertexOutCaloMuonTracksPerJet && mnInVertexOutCaloMuonTracksPerJet->getRootObject()) mnInVertexOutCaloMuonTracksPerJet->Fill(muonsInVertexOutCalo.size()); - for (reco::TrackRefVector::const_iterator iTrack = muonsInVertexInCalo.begin(); iTrack != muonsInVertexInCalo.end(); ++iTrack) { - mallMuonTracksPt = dbe_->get(DirName+"/"+"allMuonTracksPt"); if(mallMuonTracksPt && mallMuonTracksPt->getRootObject()) mallMuonTracksPt->Fill((*iTrack)->pt()); - mallMuonTracksEta = dbe_->get(DirName+"/"+"allMuonTracksEta"); if(mallMuonTracksEta && mallMuonTracksEta->getRootObject()) mallMuonTracksEta->Fill((*iTrack)->eta()); - mallMuonTracksPhi = dbe_->get(DirName+"/"+"allMuonTracksPhi"); if(mallMuonTracksPhi && mallMuonTracksPhi->getRootObject()) mallMuonTracksPhi->Fill((*iTrack)->phi()); - mallMuonTracksPtVSEta = dbe_->get(DirName+"/"+"allMuonTracksPtVSEta"); if(mallMuonTracksPtVSEta && mallMuonTracksPtVSEta->getRootObject()) mallMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - mInVertexInCaloMuonTracksPt = dbe_->get(DirName+"/"+"InVertexInCaloMuonTracksPt"); if(mInVertexInCaloMuonTracksPt && mInVertexInCaloMuonTracksPt->getRootObject()) mInVertexInCaloMuonTracksPt->Fill((*iTrack)->pt()); - mInVertexInCaloMuonTracksEta = dbe_->get(DirName+"/"+"InVertexInCaloMuonTracksEta"); if(mInVertexInCaloMuonTracksEta && mInVertexInCaloMuonTracksEta->getRootObject()) mInVertexInCaloMuonTracksEta->Fill((*iTrack)->eta()); - mInVertexInCaloMuonTracksPhi = dbe_->get(DirName+"/"+"InVertexInCaloMuonTracksPhi"); if(mInVertexInCaloMuonTracksPhi && mInVertexInCaloMuonTracksPhi->getRootObject()) mInVertexInCaloMuonTracksPhi->Fill((*iTrack)->phi()); - mInVertexInCaloMuonTracksPtVSEta = dbe_->get(DirName+"/"+"InVertexInCaloMuonTracksPtVSEta"); if(mInVertexInCaloMuonTracksPtVSEta && mInVertexInCaloMuonTracksPtVSEta->getRootObject()) mInVertexInCaloMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); - mInCaloTrackDirectionJetDRHisto_= dbe_->get(DirName+"/"+"InCaloTrackDirectionJetDR"); if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); - math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); - const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); - mInVertexTrackImpactPointJetDRHisto_= dbe_->get(DirName+"/"+"InVertexTrackImpactPointJetDR"); if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); - } - for (reco::TrackRefVector::const_iterator iTrack = muonsInVertexOutCalo.begin(); iTrack != muonsInVertexOutCalo.end(); ++iTrack) { - mallMuonTracksPt = dbe_->get(DirName+"/"+"allMuonTracksPt"); if(mallMuonTracksPt && mallMuonTracksPt->getRootObject()) mallMuonTracksPt->Fill((*iTrack)->pt()); - mallMuonTracksEta = dbe_->get(DirName+"/"+"allMuonTracksEta"); if(mallMuonTracksEta && mallMuonTracksEta->getRootObject()) mallMuonTracksEta->Fill((*iTrack)->eta()); - mallMuonTracksPhi = dbe_->get(DirName+"/"+"allMuonTracksPhi"); if(mallMuonTracksPhi && mallMuonTracksPhi->getRootObject()) mallMuonTracksPhi->Fill((*iTrack)->phi()); - mallMuonTracksPtVSEta = dbe_->get(DirName+"/"+"allMuonTracksPtVSEta"); if(mallMuonTracksPtVSEta && mallMuonTracksPtVSEta->getRootObject()) mallMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - mInVertexOutCaloMuonTracksPt = dbe_->get(DirName+"/"+"InVertexOutCaloMuonTracksPt"); if(mInVertexOutCaloMuonTracksPt && mInVertexOutCaloMuonTracksPt->getRootObject()) mInVertexOutCaloMuonTracksPt->Fill((*iTrack)->pt()); - mInVertexOutCaloMuonTracksEta = dbe_->get(DirName+"/"+"InVertexOutCaloMuonTracksEta"); if(mInVertexOutCaloMuonTracksEta && mInVertexOutCaloMuonTracksEta->getRootObject()) mInVertexOutCaloMuonTracksEta->Fill((*iTrack)->eta()); - mInVertexOutCaloMuonTracksPhi = dbe_->get(DirName+"/"+"InVertexOutCaloMuonTracksPhi"); if(mInVertexOutCaloMuonTracksPhi && mInVertexOutCaloMuonTracksPhi->getRootObject()) mInVertexOutCaloMuonTracksPhi->Fill((*iTrack)->phi()); - mInVertexOutCaloMuonTracksPtVSEta = dbe_->get(DirName+"/"+"InVertexOutCaloMuonTracksPtVSEta"); if(mInVertexOutCaloMuonTracksPtVSEta && mInVertexOutCaloMuonTracksPtVSEta->getRootObject()) mInVertexOutCaloMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); - mOutCaloTrackDirectionJetDRHisto_= dbe_->get(DirName+"/"+"OutCaloTrackDirectionJetDR"); if(mOutCaloTrackDirectionJetDRHisto_ && mOutCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mOutCaloTrackDirectionJetDRHisto_)mOutCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); - math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); - const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); - mInVertexTrackImpactPointJetDRHisto_= dbe_->get(DirName+"/"+"InVertexTrackImpactPointJetDR"); if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); - } - for (reco::TrackRefVector::const_iterator iTrack = muonsOutVertexInCalo.begin(); iTrack != muonsOutVertexInCalo.end(); ++iTrack) { - mallMuonTracksPt = dbe_->get(DirName+"/"+"allMuonTracksPt"); if(mallMuonTracksPt && mallMuonTracksPt->getRootObject()) mallMuonTracksPt->Fill((*iTrack)->pt()); - mallMuonTracksEta = dbe_->get(DirName+"/"+"allMuonTracksEta"); if(mallMuonTracksEta && mallMuonTracksEta->getRootObject()) mallMuonTracksEta->Fill((*iTrack)->eta()); - mallMuonTracksPhi = dbe_->get(DirName+"/"+"allMuonTracksPhi"); if(mallMuonTracksPhi && mallMuonTracksPhi->getRootObject()) mallMuonTracksPhi->Fill((*iTrack)->phi()); - mallMuonTracksPtVSEta = dbe_->get(DirName+"/"+"allMuonTracksPtVSEta"); if(mallMuonTracksPtVSEta && mallMuonTracksPtVSEta->getRootObject()) mallMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - mOutVertexInCaloMuonTracksPt = dbe_->get(DirName+"/"+"OutVertexInCaloMuonTracksPt"); if(mOutVertexInCaloMuonTracksPt && mOutVertexInCaloMuonTracksPt->getRootObject()) mOutVertexInCaloMuonTracksPt->Fill((*iTrack)->pt()); - mOutVertexInCaloMuonTracksEta = dbe_->get(DirName+"/"+"OutVertexInCaloMuonTracksEta"); if(mOutVertexInCaloMuonTracksEta && mOutVertexInCaloMuonTracksEta->getRootObject()) mOutVertexInCaloMuonTracksEta->Fill((*iTrack)->eta()); - mOutVertexInCaloMuonTracksPhi = dbe_->get(DirName+"/"+"OutVertexInCaloMuonTracksPhi"); if(mOutVertexInCaloMuonTracksPhi && mOutVertexInCaloMuonTracksPhi->getRootObject()) mOutVertexInCaloMuonTracksPhi->Fill((*iTrack)->phi()); - mOutVertexInCaloMuonTracksPtVSEta = dbe_->get(DirName+"/"+"OutVertexInCaloMuonTracksPtVSEta"); if(mOutVertexInCaloMuonTracksPtVSEta && mOutVertexInCaloMuonTracksPtVSEta->getRootObject()) mOutVertexInCaloMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); - mInCaloTrackDirectionJetDRHisto_= dbe_->get(DirName+"/"+"InCaloTrackDirectionJetDR"); if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); - math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); - const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); - mOutVertexTrackImpactPointJetDRHisto_= dbe_->get(DirName+"/"+"OutVertexTrackImpactPointJetDR"); if( mOutVertexTrackImpactPointJetDRHisto_ && mOutVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mOutVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); - } - //electron track histos - mnallElectronTracksPerJet = dbe_->get(DirName+"/"+"nallElectronTracks"); if(mnallElectronTracksPerJet && mnallElectronTracksPerJet->getRootObject()) mnallElectronTracksPerJet->Fill(electronsInVertexInCalo.size()+electronsInVertexOutCalo.size()+electronsOutVertexInCalo.size()); - mnInVertexInCaloElectronTracksPerJet = dbe_->get(DirName+"/"+"nInVertexInCaloElectronTracks"); if(mnInVertexInCaloElectronTracksPerJet && mnInVertexInCaloElectronTracksPerJet->getRootObject()) mnInVertexInCaloElectronTracksPerJet->Fill(electronsInVertexInCalo.size()); - mnOutVertexInCaloElectronTracksPerJet = dbe_->get(DirName+"/"+"nOutVertexInCaloElectronTracks"); if(mnOutVertexInCaloElectronTracksPerJet && mnOutVertexInCaloElectronTracksPerJet->getRootObject()) mnOutVertexInCaloElectronTracksPerJet->Fill(electronsOutVertexInCalo.size()); - mnInVertexOutCaloElectronTracksPerJet = dbe_->get(DirName+"/"+"nInVertexOutCaloElectronTracks"); if(mnInVertexOutCaloElectronTracksPerJet && mnInVertexOutCaloElectronTracksPerJet->getRootObject()) mnInVertexOutCaloElectronTracksPerJet->Fill(electronsInVertexOutCalo.size()); - for (reco::TrackRefVector::const_iterator iTrack = electronsInVertexInCalo.begin(); iTrack != electronsInVertexInCalo.end(); ++iTrack) { - mallElectronTracksPt = dbe_->get(DirName+"/"+"allElectronTracksPt"); if(mallElectronTracksPt && mallElectronTracksPt->getRootObject()) mallElectronTracksPt->Fill((*iTrack)->pt()); - mallElectronTracksEta = dbe_->get(DirName+"/"+"allElectronTracksEta"); if(mallElectronTracksEta && mallElectronTracksPhi->getRootObject()) mallElectronTracksEta->Fill((*iTrack)->eta()); - mallElectronTracksPhi = dbe_->get(DirName+"/"+"allElectronTracksPhi"); if(mallElectronTracksPhi && mallElectronTracksEta->getRootObject()) mallElectronTracksPhi->Fill((*iTrack)->phi()); - mallElectronTracksPtVSEta = dbe_->get(DirName+"/"+"allElectronTracksPtVSEta"); if(mallElectronTracksPtVSEta && mallElectronTracksPtVSEta->getRootObject()) mallElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - mInVertexInCaloElectronTracksPt = dbe_->get(DirName+"/"+"InVertexInCaloElectronTracksPt"); if(mInVertexInCaloElectronTracksPt && mInVertexInCaloElectronTracksPt->getRootObject()) mInVertexInCaloElectronTracksPt->Fill((*iTrack)->pt()); - mInVertexInCaloElectronTracksEta = dbe_->get(DirName+"/"+"InVertexInCaloElectronTracksEta"); if(mInVertexInCaloElectronTracksEta && mInVertexInCaloElectronTracksEta->getRootObject()) mInVertexInCaloElectronTracksEta->Fill((*iTrack)->eta()); - mInVertexInCaloElectronTracksPhi = dbe_->get(DirName+"/"+"InVertexInCaloElectronTracksPhi"); if(mInVertexInCaloElectronTracksPhi && mInVertexInCaloElectronTracksPhi->getRootObject()) mInVertexInCaloElectronTracksPhi->Fill((*iTrack)->phi()); - mInVertexInCaloElectronTracksPtVSEta = dbe_->get(DirName+"/"+"InVertexInCaloElectronTracksPtVSEta"); if(mInVertexInCaloElectronTracksPtVSEta && mInVertexInCaloElectronTracksPtVSEta->getRootObject()) mInVertexInCaloElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); - mInCaloTrackDirectionJetDRHisto_= dbe_->get(DirName+"/"+"InCaloTrackDirectionJetDR"); if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); - math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); - const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); - mInVertexTrackImpactPointJetDRHisto_= dbe_->get(DirName+"/"+"InVertexTrackImpactPointJetDR"); if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); - } - for (reco::TrackRefVector::const_iterator iTrack = electronsInVertexOutCalo.begin(); iTrack != electronsInVertexOutCalo.end(); ++iTrack) { - mallElectronTracksPt = dbe_->get(DirName+"/"+"allElectronTracksPt"); if(mallElectronTracksPt && mallElectronTracksPt->getRootObject()) mallElectronTracksPt->Fill((*iTrack)->pt()); - mallElectronTracksEta = dbe_->get(DirName+"/"+"allElectronTracksEta"); if(mallElectronTracksEta && mallElectronTracksEta->getRootObject()) mallElectronTracksEta->Fill((*iTrack)->eta()); - mallElectronTracksPhi = dbe_->get(DirName+"/"+"allElectronTracksPhi"); if(mallElectronTracksPhi && mallElectronTracksPhi->getRootObject()) mallElectronTracksPhi->Fill((*iTrack)->phi()); - mallElectronTracksPtVSEta = dbe_->get(DirName+"/"+"allElectronTracksPtVSEta"); if(mallElectronTracksPtVSEta && mallElectronTracksPtVSEta->getRootObject()) mallElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - mInVertexOutCaloElectronTracksPt = dbe_->get(DirName+"/"+"InVertexOutCaloElectronTracksPt"); if(mInVertexOutCaloElectronTracksPt && mInVertexOutCaloElectronTracksPt->getRootObject()) mInVertexOutCaloElectronTracksPt->Fill((*iTrack)->pt()); - mInVertexOutCaloElectronTracksEta = dbe_->get(DirName+"/"+"InVertexOutCaloElectronTracksEta"); if(mInVertexOutCaloElectronTracksEta && mInVertexOutCaloElectronTracksEta->getRootObject()) mInVertexOutCaloElectronTracksEta->Fill((*iTrack)->eta()); - mInVertexOutCaloElectronTracksPhi = dbe_->get(DirName+"/"+"InVertexOutCaloElectronTracksPhi"); if(mInVertexOutCaloElectronTracksPhi && mInVertexOutCaloElectronTracksPhi->getRootObject()) mInVertexOutCaloElectronTracksPhi->Fill((*iTrack)->phi()); - mInVertexOutCaloElectronTracksPtVSEta = dbe_->get(DirName+"/"+"InVertexOutCaloElectronTracksPtVSEta"); if(mInVertexOutCaloElectronTracksPtVSEta && mInVertexOutCaloElectronTracksPtVSEta->getRootObject()) mInVertexOutCaloElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); - mOutCaloTrackDirectionJetDRHisto_= dbe_->get(DirName+"/"+"OutCaloTrackDirectionJetDR"); if(mOutCaloTrackDirectionJetDRHisto_ && mOutCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mOutCaloTrackDirectionJetDRHisto_)mOutCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); - math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); - const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); - mInVertexTrackImpactPointJetDRHisto_= dbe_->get(DirName+"/"+"InVertexTrackImpactPointJetDR"); if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); - } - for (reco::TrackRefVector::const_iterator iTrack = electronsOutVertexInCalo.begin(); iTrack != electronsOutVertexInCalo.end(); ++iTrack) { - mallElectronTracksPt = dbe_->get(DirName+"/"+"allElectronTracksPt"); if(mallElectronTracksPt && mallElectronTracksPt->getRootObject()) mallElectronTracksPt->Fill((*iTrack)->pt()); - mallElectronTracksEta = dbe_->get(DirName+"/"+"allElectronTracksEta"); if(mallElectronTracksEta && mallElectronTracksEta->getRootObject()) mallElectronTracksEta->Fill((*iTrack)->eta()); - mallElectronTracksPhi = dbe_->get(DirName+"/"+"allElectronTracksPhi"); if(mallElectronTracksPhi && mallElectronTracksPhi->getRootObject()) mallElectronTracksPhi->Fill((*iTrack)->phi()); - mallElectronTracksPtVSEta = dbe_->get(DirName+"/"+"allElectronTracksPtVSEta"); if(mallElectronTracksPtVSEta && mallElectronTracksPtVSEta->getRootObject()) mallElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - mOutVertexInCaloElectronTracksPt = dbe_->get(DirName+"/"+"OutVertexInCaloElectronTracksPt"); if(mOutVertexInCaloElectronTracksPt && mOutVertexInCaloElectronTracksPt->getRootObject()) mOutVertexInCaloElectronTracksPt->Fill((*iTrack)->pt()); - mOutVertexInCaloElectronTracksEta = dbe_->get(DirName+"/"+"OutVertexInCaloElectronTracksEta"); if(mOutVertexInCaloElectronTracksEta && mOutVertexInCaloElectronTracksEta->getRootObject()) mOutVertexInCaloElectronTracksEta->Fill((*iTrack)->eta()); - mOutVertexInCaloElectronTracksPhi = dbe_->get(DirName+"/"+"OutVertexInCaloElectronTracksPhi"); if(mOutVertexInCaloElectronTracksPhi && mOutVertexInCaloElectronTracksPhi->getRootObject()) mOutVertexInCaloElectronTracksPhi->Fill((*iTrack)->phi()); - mOutVertexInCaloElectronTracksPtVSEta = dbe_->get(DirName+"/"+"OutVertexInCaloElectronTracksPtVSEta"); if(mOutVertexInCaloElectronTracksPtVSEta && mOutVertexInCaloElectronTracksPtVSEta->getRootObject()) mOutVertexInCaloElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); - const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); - mInCaloTrackDirectionJetDRHisto_= dbe_->get(DirName+"/"+"InCaloTrackDirectionJetDR"); if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); - math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); - const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); - mOutVertexTrackImpactPointJetDRHisto_= dbe_->get(DirName+"/"+"OutVertexTrackImpactPointJetDR"); if( mOutVertexTrackImpactPointJetDRHisto_ && mOutVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mOutVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); - } - } - } + //try { + // const reco::CaloJet *rawCaloJet = dynamic_cast(&*rawJet); + // reco::CaloJetRef const theCaloJetRef = (rawJet).castTo(); + // if(!runcosmics_){ + // reco::JetID jetID = (*jetID_ValueMap_Handle)[theCaloJetRef]; + // jetpassid = jetIDFunctor(*rawCaloJet, jetID); + // if(jetCleaningFlag_){ + // Thiscleaned = jetpassid; + // } + // if(Thiscleaned /*&& ( fabs(rawJet->eta()) < 2.1)*/ && pass_corrected){ + // mN90Hits = map_of_MEs[DirName+"/"+"N90Hits"]; if (mN90Hits && mN90Hits->getRootObject()) mN90Hits->Fill (jetID.n90Hits); + // mfHPD = map_of_MEs[DirName+"/"+"fHPD"]; if (mfHPD && mfHPD->getRootObject()) mfHPD->Fill (jetID.fHPD); + // mresEMF = map_of_MEs[DirName+"/"+"resEMF"]; if (mresEMF && mresEMF->getRootObject()) mresEMF->Fill (jetID.restrictedEMF); + // mfRBX = map_of_MEs[DirName+"/"+"fRBX"]; if (mfRBX && mfRBX->getRootObject()) mfRBX->Fill (jetID.fRBX); + // } + // } + //} catch (const std::bad_cast&) { + // edm::LogError("JetPlusTrackDQM") << "Failed to cast raw jet to CaloJet. JPT Jet does not appear to have been built from a CaloJet. " + // << "Histograms not filled. "; + // return; + //} + ////plot JPT specific variables for <2.1 jets + //if(Thiscleaned && pass_uncorrected /*&& ( fabs(rawJet->eta()) < 2.1)*/ ){ + //mPt_uncor = map_of_MEs[DirName+"/"+"Pt_uncor"]; if (mPt_uncor && mPt_uncor->getRootObject()) if (mPt_uncor) mPt_uncor->Fill ((*jptJets)[ijet].pt()); + // mEta_uncor = map_of_MEs[DirName+"/"+"Eta_uncor"]; if (mEta_uncor && mEta_uncor->getRootObject()) mEta_uncor->Fill ((*jptJets)[ijet].eta()); + // mPhi_uncor = map_of_MEs[DirName+"/"+"Phi_uncor"]; if (mPhi_uncor && mPhi_uncor->getRootObject()) mPhi_uncor->Fill ((*jptJets)[ijet].phi()); + // if(!isJPTJet_){ + // mConstituents_uncor = map_of_MEs[DirName+"/"+"Constituents_uncor"]; if (mConstituents_uncor && mConstituents_uncor->getRootObject()) mConstituents_uncor->Fill ((*jptJets)[ijet].nConstituents()); + // } + //} + //if(Thiscleaned && /*( fabs(rawJet->eta()) < 2.1) && */pass_corrected){ + // mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); + // //if (mEFrac) mEFrac->Fill ((*jptJets)[ijet].chargedEmEnergyFraction() +(*jptJets)[ijet].neutralEmEnergyFraction()); + // mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); + // mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); + // mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); + // if (fabs((*jptJets)[ijet].eta()) <= 1.3) { + // mHFrac_Barrel = map_of_MEs[DirName+"/"+"HFrac_Barrel"]; if (mHFrac_Barrel && mHFrac_Barrel->getRootObject()) mHFrac_Barrel->Fill((*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); + // mEFrac_Barrel = map_of_MEs[DirName+"/"+"EFrac_Barrel"]; if (mEFrac_Barrel && mEFrac_Barrel->getRootObject()) mEFrac_Barrel->Fill(1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); + // }else if(fabs((*jptJets)[ijet].eta()) <3.0){ + // mHFrac_EndCap = map_of_MEs[DirName+"/"+"HFrac_EndCap"]; if (mHFrac_EndCap && mHFrac_EndCap->getRootObject()) mHFrac_EndCap->Fill((*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); + // mEFrac_EndCap = map_of_MEs[DirName+"/"+"EFrac_EndCap"]; if (mEFrac_EndCap && mEFrac_EndCap->getRootObject()) mEFrac_EndCap->Fill(1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); + // }else{ + // mHFrac_Forward = map_of_MEs[DirName+"/"+"HFrac_Forward"]; if (mHFrac_Forward && mHFrac_Forward->getRootObject()) mHFrac_Forward->Fill((*jptJets)[ijet].chargedHadronEnergyFraction()+(*jptJets)[ijet].neutralHadronEnergyFraction()); + // mEFrac_Forward = map_of_MEs[DirName+"/"+"EFrac_Forward"]; if (mEFrac_Forward && mEFrac_Forward->getRootObject()) mEFrac_Forward->Fill(1.-(*jptJets)[ijet].chargedHadronEnergyFraction()-(*jptJets)[ijet].neutralHadronEnergyFraction()); + // } + // mE = map_of_MEs[DirName+"/"+"E"]; if (mE && mE->getRootObject()) mE->Fill ((*jptJets)[ijet].energy()); + // mPx = map_of_MEs[DirName+"/"+"Px"]; if (mPx && mPx->getRootObject()) mPx->Fill ((*jptJets)[ijet].px()); + // mPy = map_of_MEs[DirName+"/"+"Py"]; if (mPy && mPy->getRootObject()) mPy->Fill ((*jptJets)[ijet].py()); + // mPz = map_of_MEs[DirName+"/"+"Pz"]; if (mPz && mPz->getRootObject()) mPz->Fill ((*jptJets)[ijet].pz()); + // mP = map_of_MEs[DirName+"/"+"P"]; if (mP && mP->getRootObject()) mP->Fill ((*jptJets)[ijet].p()); + // mEt = map_of_MEs[DirName+"/"+"Et"]; if (mEt && mEt->getRootObject()) mEt->Fill ((*jptJets)[ijet].et()); + // mnTracks = map_of_MEs[DirName+"/"+"nTracks"]; if (mnTracks && mnTracks->getRootObject()) mnTracks->Fill((*jptJets)[ijet].chargedMultiplicity()); + // mnTracksVSJetPt = map_of_MEs[DirName+"/"+"nTracksVSJetPt"]; if (mnTracksVSJetPt && mEt->getRootObject()) mnTracksVSJetPt->Fill(rawJet->pt(),(*jptJets)[ijet].chargedMultiplicity()); + // mnTracksVSJetEta = map_of_MEs[DirName+"/"+"nTracksVSJetEta"]; if (mnTracksVSJetEta && mnTracksVSJetEta->getRootObject()) mnTracksVSJetEta->Fill(rawJet->eta(),(*jptJets)[ijet].chargedMultiplicity()); + // const reco::TrackRefVector& pionsInVertexInCalo = (*jptJets)[ijet].getPionsInVertexInCalo(); + // const reco::TrackRefVector& pionsInVertexOutCalo = (*jptJets)[ijet].getPionsInVertexOutCalo(); + // const reco::TrackRefVector& pionsOutVertexInCalo = (*jptJets)[ijet].getPionsOutVertexInCalo(); + // const reco::TrackRefVector& muonsInVertexInCalo = (*jptJets)[ijet].getMuonsInVertexInCalo(); + // const reco::TrackRefVector& muonsInVertexOutCalo = (*jptJets)[ijet].getMuonsInVertexOutCalo(); + // const reco::TrackRefVector& muonsOutVertexInCalo = (*jptJets)[ijet].getMuonsOutVertexInCalo(); + // const reco::TrackRefVector& electronsInVertexInCalo = (*jptJets)[ijet].getElecsInVertexInCalo(); + // const reco::TrackRefVector& electronsInVertexOutCalo = (*jptJets)[ijet].getElecsInVertexOutCalo(); + // const reco::TrackRefVector& electronsOutVertexInCalo = (*jptJets)[ijet].getElecsOutVertexInCalo(); + // + // mnallPionTracksPerJet = map_of_MEs[DirName+"/"+"nallPionTracks"]; if(mnallPionTracksPerJet && mnallPionTracksPerJet->getRootObject()) mnallPionTracksPerJet->Fill(pionsInVertexInCalo.size()+pionsInVertexOutCalo.size()+pionsOutVertexInCalo.size()); + // mnInVertexInCaloPionTracksPerJet = map_of_MEs[DirName+"/"+"nInVertexInCaloPionTracks"]; if(mnInVertexInCaloPionTracksPerJet && mnInVertexInCaloPionTracksPerJet->getRootObject()) mnInVertexInCaloPionTracksPerJet->Fill(pionsInVertexInCalo.size()); + // mnOutVertexInCaloPionTracksPerJet = map_of_MEs[DirName+"/"+"nOutVertexInCaloPionTracks"]; if(mnOutVertexInCaloPionTracksPerJet && mnOutVertexInCaloPionTracksPerJet->getRootObject()) mnOutVertexInCaloPionTracksPerJet->Fill(pionsOutVertexInCalo.size()); + // mnInVertexOutCaloPionTracksPerJet = map_of_MEs[DirName+"/"+"nInVertexOutCaloPionTracks"]; if(mnInVertexOutCaloPionTracksPerJet && mnInVertexOutCaloPionTracksPerJet->getRootObject()) mnInVertexOutCaloPionTracksPerJet->Fill(pionsInVertexOutCalo.size()); + // + // for (reco::TrackRefVector::const_iterator iTrack = pionsInVertexInCalo.begin(); iTrack != pionsInVertexInCalo.end(); ++iTrack) { + // mallPionTracksPt = map_of_MEs[DirName+"/"+"allPionTracksPt"]; if(mallPionTracksPt && mallPionTracksPt->getRootObject()) mallPionTracksPt->Fill((*iTrack)->pt()); + // mallPionTracksEta = map_of_MEs[DirName+"/"+"allPionTracksEta"]; if(mallPionTracksEta && mallPionTracksEta->getRootObject()) mallPionTracksEta->Fill((*iTrack)->eta()); + // mallPionTracksPhi = map_of_MEs[DirName+"/"+"allPionTracksPhi"]; if(mallPionTracksPhi && mallPionTracksPhi->getRootObject()) mallPionTracksPhi->Fill((*iTrack)->phi()); + // mallPionTracksPtVSEta = map_of_MEs[DirName+"/"+"allPionTracksPtVSEta"]; if(mallPionTracksPtVSEta && mallPionTracksPtVSEta->getRootObject()) mallPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // mInVertexInCaloPionTracksPt = map_of_MEs[DirName+"/"+"InVertexInCaloPionTracksPt"]; if(mInVertexInCaloPionTracksPt && mInVertexInCaloPionTracksPt->getRootObject()) mInVertexInCaloPionTracksPt->Fill((*iTrack)->pt()); + // mInVertexInCaloPionTracksEta = map_of_MEs[DirName+"/"+"InVertexInCaloPionTracksEta"]; if(mInVertexInCaloPionTracksEta && mInVertexInCaloPionTracksEta->getRootObject()) mInVertexInCaloPionTracksEta->Fill((*iTrack)->eta()); + // mInVertexInCaloPionTracksPhi = map_of_MEs[DirName+"/"+"InVertexInCaloPionTracksPhi"]; if(mInVertexInCaloPionTracksPhi && mInVertexInCaloPionTracksPhi->getRootObject()) mInVertexInCaloPionTracksPhi->Fill((*iTrack)->phi()); + // mInVertexInCaloPionTracksPtVSEta = map_of_MEs[DirName+"/"+"InVertexInCaloPionTracksPtVSEta"]; if(mInVertexInCaloPionTracksPtVSEta && mInVertexInCaloPionTracksPtVSEta->getRootObject()) mInVertexInCaloPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); + // mInCaloTrackDirectionJetDRHisto_= map_of_MEs[DirName+"/"+"InCaloTrackDirectionJetDR"]; if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); + // math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); + // const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); + // mInVertexTrackImpactPointJetDRHisto_= map_of_MEs[DirName+"/"+"InVertexTrackImpactPointJetDR"]; if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); + // } + // for (reco::TrackRefVector::const_iterator iTrack = pionsInVertexOutCalo.begin(); iTrack != pionsInVertexOutCalo.end(); ++iTrack) { + // mallPionTracksPt = map_of_MEs[DirName+"/"+"allPionTracksPt"]; if(mallPionTracksPt && mallPionTracksPt->getRootObject()) mallPionTracksPt->Fill((*iTrack)->pt()); + // mallPionTracksEta = map_of_MEs[DirName+"/"+"allPionTracksEta"]; if(mallPionTracksEta && mallPionTracksEta->getRootObject()) mallPionTracksEta->Fill((*iTrack)->eta()); + // mallPionTracksPhi = map_of_MEs[DirName+"/"+"allPionTracksPhi"]; if(mallPionTracksPhi && mallPionTracksPhi->getRootObject()) mallPionTracksPhi->Fill((*iTrack)->phi()); + // mallPionTracksPtVSEta = map_of_MEs[DirName+"/"+"allPionTracksPtVSEta"]; if(mallPionTracksPtVSEta && mallPionTracksPtVSEta->getRootObject()) mallPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // mInVertexOutCaloPionTracksPt = map_of_MEs[DirName+"/"+"InVertexOutCaloPionTracksPt"]; if(mInVertexOutCaloPionTracksPt && mInVertexOutCaloPionTracksPt->getRootObject()) mInVertexOutCaloPionTracksPt->Fill((*iTrack)->pt()); + // mInVertexOutCaloPionTracksEta = map_of_MEs[DirName+"/"+"InVertexOutCaloPionTracksEta"]; if(mInVertexOutCaloPionTracksEta && mInVertexOutCaloPionTracksEta->getRootObject()) mInVertexOutCaloPionTracksEta->Fill((*iTrack)->eta()); + // mInVertexOutCaloPionTracksPhi = map_of_MEs[DirName+"/"+"InVertexOutCaloPionTracksPhi"]; if(mInVertexOutCaloPionTracksPhi && mInVertexOutCaloPionTracksPhi->getRootObject()) mInVertexOutCaloPionTracksPhi->Fill((*iTrack)->phi()); + // mInVertexOutCaloPionTracksPtVSEta = map_of_MEs[DirName+"/"+"InVertexOutCaloPionTracksPtVSEta"]; if(mInVertexOutCaloPionTracksPtVSEta && mInVertexOutCaloPionTracksPtVSEta->getRootObject()) mInVertexOutCaloPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); + // mOutCaloTrackDirectionJetDRHisto_= map_of_MEs[DirName+"/"+"OutCaloTrackDirectionJetDR"]; if(mOutCaloTrackDirectionJetDRHisto_ && mOutCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mOutCaloTrackDirectionJetDRHisto_)mOutCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); + // math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); + // const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); + // mInVertexTrackImpactPointJetDRHisto_= map_of_MEs[DirName+"/"+"InVertexTrackImpactPointJetDR"]; if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); + // } + // for (reco::TrackRefVector::const_iterator iTrack = pionsOutVertexInCalo.begin(); iTrack != pionsOutVertexInCalo.end(); ++iTrack) { + // mallPionTracksPt = map_of_MEs[DirName+"/"+"allPionTracksPt"]; if(mallPionTracksPt && mallPionTracksPt->getRootObject()) mallPionTracksPt->Fill((*iTrack)->pt()); + // mallPionTracksEta = map_of_MEs[DirName+"/"+"allPionTracksEta"]; if(mallPionTracksEta && mallPionTracksEta->getRootObject()) mallPionTracksEta->Fill((*iTrack)->eta()); + // mallPionTracksPhi = map_of_MEs[DirName+"/"+"allPionTracksPhi"]; if(mallPionTracksPhi && mallPionTracksPhi->getRootObject()) mallPionTracksPhi->Fill((*iTrack)->phi()); + // mallPionTracksPtVSEta = map_of_MEs[DirName+"/"+"allPionTracksPtVSEta"]; if(mallPionTracksPtVSEta && mallPionTracksPtVSEta->getRootObject()) mallPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // mOutVertexInCaloPionTracksPt = map_of_MEs[DirName+"/"+"OutVertexInCaloPionTracksPt"]; if(mOutVertexInCaloPionTracksPt && mOutVertexInCaloPionTracksPt->getRootObject()) mOutVertexInCaloPionTracksPt->Fill((*iTrack)->pt()); + // mOutVertexInCaloPionTracksEta = map_of_MEs[DirName+"/"+"OutVertexInCaloPionTracksEta"]; if(mOutVertexInCaloPionTracksEta && mOutVertexInCaloPionTracksEta->getRootObject()) mOutVertexInCaloPionTracksEta->Fill((*iTrack)->eta()); + // mOutVertexInCaloPionTracksPhi = map_of_MEs[DirName+"/"+"OutVertexInCaloPionTracksPhi"]; if(mOutVertexInCaloPionTracksPhi && mOutVertexInCaloPionTracksPhi->getRootObject()) mOutVertexInCaloPionTracksPhi->Fill((*iTrack)->phi()); + // mOutVertexInCaloPionTracksPtVSEta = map_of_MEs[DirName+"/"+"OutVertexInCaloPionTracksPtVSEta"]; if(mOutVertexInCaloPionTracksPtVSEta && mOutVertexInCaloPionTracksPtVSEta->getRootObject()) mOutVertexInCaloPionTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); + // mInCaloTrackDirectionJetDRHisto_= map_of_MEs[DirName+"/"+"InCaloTrackDirectionJetDR"]; if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); + // math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); + // const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); + // mOutVertexTrackImpactPointJetDRHisto_= map_of_MEs[DirName+"/"+"OutVertexTrackImpactPointJetDR"]; if( mOutVertexTrackImpactPointJetDRHisto_ && mOutVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mOutVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); + // } + // //muon track histos + // mnallMuonTracksPerJet = map_of_MEs[DirName+"/"+"nallMuonTracks"]; if(mnallMuonTracksPerJet && mnallMuonTracksPerJet->getRootObject()) mnallMuonTracksPerJet->Fill(muonsInVertexInCalo.size()+muonsInVertexOutCalo.size()+muonsOutVertexInCalo.size()); + // mnInVertexInCaloMuonTracksPerJet = map_of_MEs[DirName+"/"+"nInVertexInCaloMuonTracks"]; if(mnInVertexInCaloMuonTracksPerJet && mnInVertexInCaloMuonTracksPerJet->getRootObject()) mnInVertexInCaloMuonTracksPerJet->Fill(muonsInVertexInCalo.size()); + // mnOutVertexInCaloMuonTracksPerJet = map_of_MEs[DirName+"/"+"nOutVertexInCaloMuonTracks"]; if(mnOutVertexInCaloMuonTracksPerJet && mnOutVertexInCaloMuonTracksPerJet->getRootObject()) mnOutVertexInCaloMuonTracksPerJet->Fill(muonsOutVertexInCalo.size()); + // mnInVertexOutCaloMuonTracksPerJet = map_of_MEs[DirName+"/"+"nInVertexOutCaloMuonTracks"]; if(mnInVertexOutCaloMuonTracksPerJet && mnInVertexOutCaloMuonTracksPerJet->getRootObject()) mnInVertexOutCaloMuonTracksPerJet->Fill(muonsInVertexOutCalo.size()); + // for (reco::TrackRefVector::const_iterator iTrack = muonsInVertexInCalo.begin(); iTrack != muonsInVertexInCalo.end(); ++iTrack) { + // mallMuonTracksPt = map_of_MEs[DirName+"/"+"allMuonTracksPt"]; if(mallMuonTracksPt && mallMuonTracksPt->getRootObject()) mallMuonTracksPt->Fill((*iTrack)->pt()); + // mallMuonTracksEta = map_of_MEs[DirName+"/"+"allMuonTracksEta"]; if(mallMuonTracksEta && mallMuonTracksEta->getRootObject()) mallMuonTracksEta->Fill((*iTrack)->eta()); + // mallMuonTracksPhi = map_of_MEs[DirName+"/"+"allMuonTracksPhi"]; if(mallMuonTracksPhi && mallMuonTracksPhi->getRootObject()) mallMuonTracksPhi->Fill((*iTrack)->phi()); + // mallMuonTracksPtVSEta = map_of_MEs[DirName+"/"+"allMuonTracksPtVSEta"]; if(mallMuonTracksPtVSEta && mallMuonTracksPtVSEta->getRootObject()) mallMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // mInVertexInCaloMuonTracksPt = map_of_MEs[DirName+"/"+"InVertexInCaloMuonTracksPt"]; if(mInVertexInCaloMuonTracksPt && mInVertexInCaloMuonTracksPt->getRootObject()) mInVertexInCaloMuonTracksPt->Fill((*iTrack)->pt()); + // mInVertexInCaloMuonTracksEta = map_of_MEs[DirName+"/"+"InVertexInCaloMuonTracksEta"]; if(mInVertexInCaloMuonTracksEta && mInVertexInCaloMuonTracksEta->getRootObject()) mInVertexInCaloMuonTracksEta->Fill((*iTrack)->eta()); + // mInVertexInCaloMuonTracksPhi = map_of_MEs[DirName+"/"+"InVertexInCaloMuonTracksPhi"]; if(mInVertexInCaloMuonTracksPhi && mInVertexInCaloMuonTracksPhi->getRootObject()) mInVertexInCaloMuonTracksPhi->Fill((*iTrack)->phi()); + // mInVertexInCaloMuonTracksPtVSEta = map_of_MEs[DirName+"/"+"InVertexInCaloMuonTracksPtVSEta"]; if(mInVertexInCaloMuonTracksPtVSEta && mInVertexInCaloMuonTracksPtVSEta->getRootObject()) mInVertexInCaloMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); + // mInCaloTrackDirectionJetDRHisto_= map_of_MEs[DirName+"/"+"InCaloTrackDirectionJetDR"]; if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); + // math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); + // const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); + // mInVertexTrackImpactPointJetDRHisto_= map_of_MEs[DirName+"/"+"InVertexTrackImpactPointJetDR"]; if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); + // } + // for (reco::TrackRefVector::const_iterator iTrack = muonsInVertexOutCalo.begin(); iTrack != muonsInVertexOutCalo.end(); ++iTrack) { + // mallMuonTracksPt = map_of_MEs[DirName+"/"+"allMuonTracksPt"]; if(mallMuonTracksPt && mallMuonTracksPt->getRootObject()) mallMuonTracksPt->Fill((*iTrack)->pt()); + // mallMuonTracksEta = map_of_MEs[DirName+"/"+"allMuonTracksEta"]; if(mallMuonTracksEta && mallMuonTracksEta->getRootObject()) mallMuonTracksEta->Fill((*iTrack)->eta()); + // mallMuonTracksPhi = map_of_MEs[DirName+"/"+"allMuonTracksPhi"]; if(mallMuonTracksPhi && mallMuonTracksPhi->getRootObject()) mallMuonTracksPhi->Fill((*iTrack)->phi()); + // mallMuonTracksPtVSEta = map_of_MEs[DirName+"/"+"allMuonTracksPtVSEta"]; if(mallMuonTracksPtVSEta && mallMuonTracksPtVSEta->getRootObject()) mallMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // mInVertexOutCaloMuonTracksPt = map_of_MEs[DirName+"/"+"InVertexOutCaloMuonTracksPt"]; if(mInVertexOutCaloMuonTracksPt && mInVertexOutCaloMuonTracksPt->getRootObject()) mInVertexOutCaloMuonTracksPt->Fill((*iTrack)->pt()); + // mInVertexOutCaloMuonTracksEta = map_of_MEs[DirName+"/"+"InVertexOutCaloMuonTracksEta"]; if(mInVertexOutCaloMuonTracksEta && mInVertexOutCaloMuonTracksEta->getRootObject()) mInVertexOutCaloMuonTracksEta->Fill((*iTrack)->eta()); + // mInVertexOutCaloMuonTracksPhi = map_of_MEs[DirName+"/"+"InVertexOutCaloMuonTracksPhi"]; if(mInVertexOutCaloMuonTracksPhi && mInVertexOutCaloMuonTracksPhi->getRootObject()) mInVertexOutCaloMuonTracksPhi->Fill((*iTrack)->phi()); + // mInVertexOutCaloMuonTracksPtVSEta = map_of_MEs[DirName+"/"+"InVertexOutCaloMuonTracksPtVSEta"]; if(mInVertexOutCaloMuonTracksPtVSEta && mInVertexOutCaloMuonTracksPtVSEta->getRootObject()) mInVertexOutCaloMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); + // mOutCaloTrackDirectionJetDRHisto_= map_of_MEs[DirName+"/"+"OutCaloTrackDirectionJetDR"]; if(mOutCaloTrackDirectionJetDRHisto_ && mOutCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mOutCaloTrackDirectionJetDRHisto_)mOutCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); + // math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); + // const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); + // mInVertexTrackImpactPointJetDRHisto_= map_of_MEs[DirName+"/"+"InVertexTrackImpactPointJetDR"]; if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); + // } + // for (reco::TrackRefVector::const_iterator iTrack = muonsOutVertexInCalo.begin(); iTrack != muonsOutVertexInCalo.end(); ++iTrack) { + // mallMuonTracksPt = map_of_MEs[DirName+"/"+"allMuonTracksPt"]; if(mallMuonTracksPt && mallMuonTracksPt->getRootObject()) mallMuonTracksPt->Fill((*iTrack)->pt()); + // mallMuonTracksEta = map_of_MEs[DirName+"/"+"allMuonTracksEta"]; if(mallMuonTracksEta && mallMuonTracksEta->getRootObject()) mallMuonTracksEta->Fill((*iTrack)->eta()); + // mallMuonTracksPhi = map_of_MEs[DirName+"/"+"allMuonTracksPhi"]; if(mallMuonTracksPhi && mallMuonTracksPhi->getRootObject()) mallMuonTracksPhi->Fill((*iTrack)->phi()); + // mallMuonTracksPtVSEta = map_of_MEs[DirName+"/"+"allMuonTracksPtVSEta"]; if(mallMuonTracksPtVSEta && mallMuonTracksPtVSEta->getRootObject()) mallMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // mOutVertexInCaloMuonTracksPt = map_of_MEs[DirName+"/"+"OutVertexInCaloMuonTracksPt"]; if(mOutVertexInCaloMuonTracksPt && mOutVertexInCaloMuonTracksPt->getRootObject()) mOutVertexInCaloMuonTracksPt->Fill((*iTrack)->pt()); + // mOutVertexInCaloMuonTracksEta = map_of_MEs[DirName+"/"+"OutVertexInCaloMuonTracksEta"]; if(mOutVertexInCaloMuonTracksEta && mOutVertexInCaloMuonTracksEta->getRootObject()) mOutVertexInCaloMuonTracksEta->Fill((*iTrack)->eta()); + // mOutVertexInCaloMuonTracksPhi = map_of_MEs[DirName+"/"+"OutVertexInCaloMuonTracksPhi"]; if(mOutVertexInCaloMuonTracksPhi && mOutVertexInCaloMuonTracksPhi->getRootObject()) mOutVertexInCaloMuonTracksPhi->Fill((*iTrack)->phi()); + // mOutVertexInCaloMuonTracksPtVSEta = map_of_MEs[DirName+"/"+"OutVertexInCaloMuonTracksPtVSEta"]; if(mOutVertexInCaloMuonTracksPtVSEta && mOutVertexInCaloMuonTracksPtVSEta->getRootObject()) mOutVertexInCaloMuonTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); + // mInCaloTrackDirectionJetDRHisto_= map_of_MEs[DirName+"/"+"InCaloTrackDirectionJetDR"]; if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); + // math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); + // const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); + // mOutVertexTrackImpactPointJetDRHisto_= map_of_MEs[DirName+"/"+"OutVertexTrackImpactPointJetDR"]; if( mOutVertexTrackImpactPointJetDRHisto_ && mOutVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mOutVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); + // } + // //electron track histos + // mnallElectronTracksPerJet = map_of_MEs[DirName+"/"+"nallElectronTracks"]; if(mnallElectronTracksPerJet && mnallElectronTracksPerJet->getRootObject()) mnallElectronTracksPerJet->Fill(electronsInVertexInCalo.size()+electronsInVertexOutCalo.size()+electronsOutVertexInCalo.size()); + // mnInVertexInCaloElectronTracksPerJet = map_of_MEs[DirName+"/"+"nInVertexInCaloElectronTracks"]; if(mnInVertexInCaloElectronTracksPerJet && mnInVertexInCaloElectronTracksPerJet->getRootObject()) mnInVertexInCaloElectronTracksPerJet->Fill(electronsInVertexInCalo.size()); + // mnOutVertexInCaloElectronTracksPerJet = map_of_MEs[DirName+"/"+"nOutVertexInCaloElectronTracks"]; if(mnOutVertexInCaloElectronTracksPerJet && mnOutVertexInCaloElectronTracksPerJet->getRootObject()) mnOutVertexInCaloElectronTracksPerJet->Fill(electronsOutVertexInCalo.size()); + // mnInVertexOutCaloElectronTracksPerJet = map_of_MEs[DirName+"/"+"nInVertexOutCaloElectronTracks"]; if(mnInVertexOutCaloElectronTracksPerJet && mnInVertexOutCaloElectronTracksPerJet->getRootObject()) mnInVertexOutCaloElectronTracksPerJet->Fill(electronsInVertexOutCalo.size()); + // for (reco::TrackRefVector::const_iterator iTrack = electronsInVertexInCalo.begin(); iTrack != electronsInVertexInCalo.end(); ++iTrack) { + // mallElectronTracksPt = map_of_MEs[DirName+"/"+"allElectronTracksPt"]; if(mallElectronTracksPt && mallElectronTracksPt->getRootObject()) mallElectronTracksPt->Fill((*iTrack)->pt()); + // mallElectronTracksEta = map_of_MEs[DirName+"/"+"allElectronTracksEta"]; if(mallElectronTracksEta && mallElectronTracksPhi->getRootObject()) mallElectronTracksEta->Fill((*iTrack)->eta()); + // mallElectronTracksPhi = map_of_MEs[DirName+"/"+"allElectronTracksPhi"]; if(mallElectronTracksPhi && mallElectronTracksEta->getRootObject()) mallElectronTracksPhi->Fill((*iTrack)->phi()); + // mallElectronTracksPtVSEta = map_of_MEs[DirName+"/"+"allElectronTracksPtVSEta"]; if(mallElectronTracksPtVSEta && mallElectronTracksPtVSEta->getRootObject()) mallElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // mInVertexInCaloElectronTracksPt = map_of_MEs[DirName+"/"+"InVertexInCaloElectronTracksPt"]; if(mInVertexInCaloElectronTracksPt && mInVertexInCaloElectronTracksPt->getRootObject()) mInVertexInCaloElectronTracksPt->Fill((*iTrack)->pt()); + // mInVertexInCaloElectronTracksEta = map_of_MEs[DirName+"/"+"InVertexInCaloElectronTracksEta"]; if(mInVertexInCaloElectronTracksEta && mInVertexInCaloElectronTracksEta->getRootObject()) mInVertexInCaloElectronTracksEta->Fill((*iTrack)->eta()); + // mInVertexInCaloElectronTracksPhi = map_of_MEs[DirName+"/"+"InVertexInCaloElectronTracksPhi"]; if(mInVertexInCaloElectronTracksPhi && mInVertexInCaloElectronTracksPhi->getRootObject()) mInVertexInCaloElectronTracksPhi->Fill((*iTrack)->phi()); + // mInVertexInCaloElectronTracksPtVSEta = map_of_MEs[DirName+"/"+"InVertexInCaloElectronTracksPtVSEta"]; if(mInVertexInCaloElectronTracksPtVSEta && mInVertexInCaloElectronTracksPtVSEta->getRootObject()) mInVertexInCaloElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); + // mInCaloTrackDirectionJetDRHisto_= map_of_MEs[DirName+"/"+"InCaloTrackDirectionJetDR"]; if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); + // math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); + // const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); + // mInVertexTrackImpactPointJetDRHisto_= map_of_MEs[DirName+"/"+"InVertexTrackImpactPointJetDR"]; if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); + // } + // for (reco::TrackRefVector::const_iterator iTrack = electronsInVertexOutCalo.begin(); iTrack != electronsInVertexOutCalo.end(); ++iTrack) { + // mallElectronTracksPt = map_of_MEs[DirName+"/"+"allElectronTracksPt"]; if(mallElectronTracksPt && mallElectronTracksPt->getRootObject()) mallElectronTracksPt->Fill((*iTrack)->pt()); + // mallElectronTracksEta = map_of_MEs[DirName+"/"+"allElectronTracksEta"]; if(mallElectronTracksEta && mallElectronTracksEta->getRootObject()) mallElectronTracksEta->Fill((*iTrack)->eta()); + // mallElectronTracksPhi = map_of_MEs[DirName+"/"+"allElectronTracksPhi"]; if(mallElectronTracksPhi && mallElectronTracksPhi->getRootObject()) mallElectronTracksPhi->Fill((*iTrack)->phi()); + // mallElectronTracksPtVSEta = map_of_MEs[DirName+"/"+"allElectronTracksPtVSEta"]; if(mallElectronTracksPtVSEta && mallElectronTracksPtVSEta->getRootObject()) mallElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // mInVertexOutCaloElectronTracksPt = map_of_MEs[DirName+"/"+"InVertexOutCaloElectronTracksPt"]; if(mInVertexOutCaloElectronTracksPt && mInVertexOutCaloElectronTracksPt->getRootObject()) mInVertexOutCaloElectronTracksPt->Fill((*iTrack)->pt()); + // mInVertexOutCaloElectronTracksEta = map_of_MEs[DirName+"/"+"InVertexOutCaloElectronTracksEta"]; if(mInVertexOutCaloElectronTracksEta && mInVertexOutCaloElectronTracksEta->getRootObject()) mInVertexOutCaloElectronTracksEta->Fill((*iTrack)->eta()); + // mInVertexOutCaloElectronTracksPhi = map_of_MEs[DirName+"/"+"InVertexOutCaloElectronTracksPhi"]; if(mInVertexOutCaloElectronTracksPhi && mInVertexOutCaloElectronTracksPhi->getRootObject()) mInVertexOutCaloElectronTracksPhi->Fill((*iTrack)->phi()); + // mInVertexOutCaloElectronTracksPtVSEta = map_of_MEs[DirName+"/"+"InVertexOutCaloElectronTracksPtVSEta"]; if(mInVertexOutCaloElectronTracksPtVSEta && mInVertexOutCaloElectronTracksPtVSEta->getRootObject()) mInVertexOutCaloElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); + // mOutCaloTrackDirectionJetDRHisto_= map_of_MEs[DirName+"/"+"OutCaloTrackDirectionJetDR"]; if(mOutCaloTrackDirectionJetDRHisto_ && mOutCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mOutCaloTrackDirectionJetDRHisto_)mOutCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); + // math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); + // const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); + // mInVertexTrackImpactPointJetDRHisto_= map_of_MEs[DirName+"/"+"InVertexTrackImpactPointJetDR"]; if( mInVertexTrackImpactPointJetDRHisto_ && mInVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mInVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); + // } + // for (reco::TrackRefVector::const_iterator iTrack = electronsOutVertexInCalo.begin(); iTrack != electronsOutVertexInCalo.end(); ++iTrack) { + // mallElectronTracksPt = map_of_MEs[DirName+"/"+"allElectronTracksPt"]; if(mallElectronTracksPt && mallElectronTracksPt->getRootObject()) mallElectronTracksPt->Fill((*iTrack)->pt()); + // mallElectronTracksEta = map_of_MEs[DirName+"/"+"allElectronTracksEta"]; if(mallElectronTracksEta && mallElectronTracksEta->getRootObject()) mallElectronTracksEta->Fill((*iTrack)->eta()); + // mallElectronTracksPhi = map_of_MEs[DirName+"/"+"allElectronTracksPhi"]; if(mallElectronTracksPhi && mallElectronTracksPhi->getRootObject()) mallElectronTracksPhi->Fill((*iTrack)->phi()); + // mallElectronTracksPtVSEta = map_of_MEs[DirName+"/"+"allElectronTracksPtVSEta"]; if(mallElectronTracksPtVSEta && mallElectronTracksPtVSEta->getRootObject()) mallElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // mOutVertexInCaloElectronTracksPt = map_of_MEs[DirName+"/"+"OutVertexInCaloElectronTracksPt"]; if(mOutVertexInCaloElectronTracksPt && mOutVertexInCaloElectronTracksPt->getRootObject()) mOutVertexInCaloElectronTracksPt->Fill((*iTrack)->pt()); + // mOutVertexInCaloElectronTracksEta = map_of_MEs[DirName+"/"+"OutVertexInCaloElectronTracksEta"]; if(mOutVertexInCaloElectronTracksEta && mOutVertexInCaloElectronTracksEta->getRootObject()) mOutVertexInCaloElectronTracksEta->Fill((*iTrack)->eta()); + // mOutVertexInCaloElectronTracksPhi = map_of_MEs[DirName+"/"+"OutVertexInCaloElectronTracksPhi"]; if(mOutVertexInCaloElectronTracksPhi && mOutVertexInCaloElectronTracksPhi->getRootObject()) mOutVertexInCaloElectronTracksPhi->Fill((*iTrack)->phi()); + // mOutVertexInCaloElectronTracksPtVSEta = map_of_MEs[DirName+"/"+"OutVertexInCaloElectronTracksPtVSEta"]; if(mOutVertexInCaloElectronTracksPtVSEta && mOutVertexInCaloElectronTracksPtVSEta->getRootObject()) mOutVertexInCaloElectronTracksPtVSEta->Fill((*iTrack)->eta(),(*iTrack)->pt()); + // const double trackDirectionJetDR = deltaR(rawJet->eta(),rawJet->phi(),(*iTrack)->eta(),(*iTrack)->phi()); + // mInCaloTrackDirectionJetDRHisto_= map_of_MEs[DirName+"/"+"InCaloTrackDirectionJetDR"]; if(mInCaloTrackDirectionJetDRHisto_ && mInCaloTrackDirectionJetDRHisto_ ->getRootObject()) if(mInCaloTrackDirectionJetDRHisto_)mInCaloTrackDirectionJetDRHisto_->Fill(trackDirectionJetDR); + // math::XYZPoint point =trackPropagator_->impactPoint(**iTrack); + // const double impactPointJetDR = deltaR(rawJet->eta(),rawJet->phi(), point.Eta(),point.Phi()); + // mOutVertexTrackImpactPointJetDRHisto_= map_of_MEs[DirName+"/"+"OutVertexTrackImpactPointJetDR"]; if( mOutVertexTrackImpactPointJetDRHisto_ && mOutVertexTrackImpactPointJetDRHisto_ ->getRootObject()) mOutVertexTrackImpactPointJetDRHisto_->Fill(impactPointJetDR); + // } + //} + //} if(isPFJet_){ jetpassid = pfjetIDFunctor((*pfJets)[ijet]); if(jetCleaningFlag_){ Thiscleaned = jetpassid; } if(Thiscleaned && pass_uncorrected){ - mPt_uncor = dbe_->get(DirName+"/"+"Pt_uncor"); if (mPt_uncor && mPt_uncor->getRootObject()) if (mPt_uncor) mPt_uncor->Fill ((*pfJets)[ijet].pt()); - mEta_uncor = dbe_->get(DirName+"/"+"Eta_uncor"); if (mEta_uncor && mEta_uncor->getRootObject()) if (mEta_uncor) mEta_uncor->Fill ((*pfJets)[ijet].eta()); - mPhi_uncor = dbe_->get(DirName+"/"+"Phi_uncor"); if (mPhi_uncor && mPhi_uncor->getRootObject()) if (mPhi_uncor) mPhi_uncor->Fill ((*pfJets)[ijet].phi()); - if(!isJPTJet_){ - mConstituents_uncor = dbe_->get(DirName+"/"+"Constituents_uncor"); if (mConstituents_uncor && mConstituents_uncor->getRootObject()) if (mConstituents_uncor) mConstituents_uncor->Fill ((*pfJets)[ijet].nConstituents()); - } + mPt_uncor = map_of_MEs[DirName+"/"+"Pt_uncor"]; if (mPt_uncor && mPt_uncor->getRootObject()) if (mPt_uncor) mPt_uncor->Fill ((*pfJets)[ijet].pt()); + mEta_uncor = map_of_MEs[DirName+"/"+"Eta_uncor"]; if (mEta_uncor && mEta_uncor->getRootObject()) if (mEta_uncor) mEta_uncor->Fill ((*pfJets)[ijet].eta()); + mPhi_uncor = map_of_MEs[DirName+"/"+"Phi_uncor"]; if (mPhi_uncor && mPhi_uncor->getRootObject()) if (mPhi_uncor) mPhi_uncor->Fill ((*pfJets)[ijet].phi()); + //if(!isJPTJet_){ + mConstituents_uncor = map_of_MEs[DirName+"/"+"Constituents_uncor"]; if (mConstituents_uncor && mConstituents_uncor->getRootObject()) if (mConstituents_uncor) mConstituents_uncor->Fill ((*pfJets)[ijet].nConstituents()); + //} } if(Thiscleaned && pass_corrected){ - mHFrac = dbe_->get(DirName+"/"+"HFrac"); if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*pfJets)[ijet].chargedHadronEnergyFraction()+(*pfJets)[ijet].neutralHadronEnergyFraction()+(*pfJets)[ijet].HFHadronEnergyFraction ()); - mEFrac = dbe_->get(DirName+"/"+"EFrac"); if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*pfJets)[ijet].chargedEmEnergyFraction() +(*pfJets)[ijet].neutralEmEnergyFraction()+(*pfJets)[ijet].HFEMEnergyFraction ()); + mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*pfJets)[ijet].chargedHadronEnergyFraction()+(*pfJets)[ijet].neutralHadronEnergyFraction()+(*pfJets)[ijet].HFHadronEnergyFraction ()); + mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*pfJets)[ijet].chargedEmEnergyFraction() +(*pfJets)[ijet].neutralEmEnergyFraction()+(*pfJets)[ijet].HFEMEnergyFraction ()); if ((*pfJets)[ijet].pt()<= 50) { - mCHFracVSeta_lowPt = dbe_->get(DirName+"/"+"CHFracVSeta_lowPt"); if (mCHFracVSeta_lowPt && mCHFracVSeta_lowPt->getRootObject()) mCHFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFracVSeta_lowPt = dbe_->get(DirName+"/"+"NHFracVSeta_lowPt"); if (mNHFracVSeta_lowPt && mNHFracVSeta_lowPt->getRootObject()) mNHFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFracVSeta_lowPt = dbe_->get(DirName+"/"+"PhFracVSeta_lowPt"); if (mPhFracVSeta_lowPt && mPhFracVSeta_lowPt->getRootObject()) mPhFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralEmEnergyFraction()); - mElFracVSeta_lowPt = dbe_->get(DirName+"/"+"ElFracVSeta_lowPt"); if (mElFracVSeta_lowPt && mElFracVSeta_lowPt->getRootObject()) mElFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFracVSeta_lowPt = dbe_->get(DirName+"/"+"MuFracVSeta_lowPt"); if (mMuFracVSeta_lowPt && mMuFracVSeta_lowPt->getRootObject()) mMuFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedMuEnergyFraction()); + mCHFracVSeta_lowPt = map_of_MEs[DirName+"/"+"CHFracVSeta_lowPt"]; if (mCHFracVSeta_lowPt && mCHFracVSeta_lowPt->getRootObject()) mCHFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFracVSeta_lowPt = map_of_MEs[DirName+"/"+"NHFracVSeta_lowPt"]; if (mNHFracVSeta_lowPt && mNHFracVSeta_lowPt->getRootObject()) mNHFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFracVSeta_lowPt = map_of_MEs[DirName+"/"+"PhFracVSeta_lowPt"]; if (mPhFracVSeta_lowPt && mPhFracVSeta_lowPt->getRootObject()) mPhFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralEmEnergyFraction()); + mElFracVSeta_lowPt = map_of_MEs[DirName+"/"+"ElFracVSeta_lowPt"]; if (mElFracVSeta_lowPt && mElFracVSeta_lowPt->getRootObject()) mElFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFracVSeta_lowPt = map_of_MEs[DirName+"/"+"MuFracVSeta_lowPt"]; if (mMuFracVSeta_lowPt && mMuFracVSeta_lowPt->getRootObject()) mMuFracVSeta_lowPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedMuEnergyFraction()); } if ((*pfJets)[ijet].pt()>50. && (*pfJets)[ijet].pt()<=140.) { - mCHFracVSeta_mediumPt = dbe_->get(DirName+"/"+"CHFracVSeta_mediumPt"); if (mCHFracVSeta_mediumPt && mCHFracVSeta_mediumPt->getRootObject()) mCHFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFracVSeta_mediumPt = dbe_->get(DirName+"/"+"NHFracVSeta_mediumPt"); if (mNHFracVSeta_mediumPt && mNHFracVSeta_mediumPt->getRootObject()) mNHFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFracVSeta_mediumPt = dbe_->get(DirName+"/"+"PhFracVSeta_mediumPt"); if (mPhFracVSeta_mediumPt && mPhFracVSeta_mediumPt->getRootObject()) mPhFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralEmEnergyFraction()); - mElFracVSeta_mediumPt = dbe_->get(DirName+"/"+"ElFracVSeta_mediumPt"); if (mElFracVSeta_mediumPt && mElFracVSeta_mediumPt->getRootObject()) mElFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFracVSeta_mediumPt = dbe_->get(DirName+"/"+"MuFracVSeta_mediumPt"); if (mMuFracVSeta_mediumPt && mMuFracVSeta_mediumPt->getRootObject()) mMuFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedMuEnergyFraction()); + mCHFracVSeta_mediumPt = map_of_MEs[DirName+"/"+"CHFracVSeta_mediumPt"]; if (mCHFracVSeta_mediumPt && mCHFracVSeta_mediumPt->getRootObject()) mCHFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFracVSeta_mediumPt = map_of_MEs[DirName+"/"+"NHFracVSeta_mediumPt"]; if (mNHFracVSeta_mediumPt && mNHFracVSeta_mediumPt->getRootObject()) mNHFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFracVSeta_mediumPt = map_of_MEs[DirName+"/"+"PhFracVSeta_mediumPt"]; if (mPhFracVSeta_mediumPt && mPhFracVSeta_mediumPt->getRootObject()) mPhFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralEmEnergyFraction()); + mElFracVSeta_mediumPt = map_of_MEs[DirName+"/"+"ElFracVSeta_mediumPt"]; if (mElFracVSeta_mediumPt && mElFracVSeta_mediumPt->getRootObject()) mElFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFracVSeta_mediumPt = map_of_MEs[DirName+"/"+"MuFracVSeta_mediumPt"]; if (mMuFracVSeta_mediumPt && mMuFracVSeta_mediumPt->getRootObject()) mMuFracVSeta_mediumPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedMuEnergyFraction()); } if ((*pfJets)[ijet].pt()>140.) { - mCHFracVSeta_highPt = dbe_->get(DirName+"/"+"CHFracVSeta_highPt"); if (mCHFracVSeta_highPt && mCHFracVSeta_highPt->getRootObject()) mCHFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFracVSeta_highPt = dbe_->get(DirName+"/"+"NHFracVSeta_highPt"); if (mNHFracVSeta_highPt && mNHFracVSeta_highPt->getRootObject()) mNHFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFracVSeta_highPt = dbe_->get(DirName+"/"+"PhFracVSeta_highPt"); if (mPhFracVSeta_highPt && mPhFracVSeta_highPt->getRootObject()) mPhFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralEmEnergyFraction()); - mElFracVSeta_highPt = dbe_->get(DirName+"/"+"ElFracVSeta_highPt"); if (mElFracVSeta_highPt && mElFracVSeta_highPt->getRootObject()) mElFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFracVSeta_highPt = dbe_->get(DirName+"/"+"MuFracVSeta_highPt"); if (mMuFracVSeta_highPt && mMuFracVSeta_highPt->getRootObject()) mMuFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedMuEnergyFraction()); + mCHFracVSeta_highPt = map_of_MEs[DirName+"/"+"CHFracVSeta_highPt"]; if (mCHFracVSeta_highPt && mCHFracVSeta_highPt->getRootObject()) mCHFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFracVSeta_highPt = map_of_MEs[DirName+"/"+"NHFracVSeta_highPt"]; if (mNHFracVSeta_highPt && mNHFracVSeta_highPt->getRootObject()) mNHFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFracVSeta_highPt = map_of_MEs[DirName+"/"+"PhFracVSeta_highPt"]; if (mPhFracVSeta_highPt && mPhFracVSeta_highPt->getRootObject()) mPhFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].neutralEmEnergyFraction()); + mElFracVSeta_highPt = map_of_MEs[DirName+"/"+"ElFracVSeta_highPt"]; if (mElFracVSeta_highPt && mElFracVSeta_highPt->getRootObject()) mElFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFracVSeta_highPt = map_of_MEs[DirName+"/"+"MuFracVSeta_highPt"]; if (mMuFracVSeta_highPt && mMuFracVSeta_highPt->getRootObject()) mMuFracVSeta_highPt->Fill((*pfJets)[ijet].eta(),(*pfJets)[ijet].chargedMuEnergyFraction()); } if (fabs((*pfJets)[ijet].eta()) <= 1.3) { - mHFrac_Barrel = dbe_->get(DirName+"/"+"HFrac_Barrel"); if (mHFrac_Barrel && mHFrac_Barrel->getRootObject()) mHFrac_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction() + (*pfJets)[ijet].neutralHadronEnergyFraction() ); - mEFrac_Barrel = dbe_->get(DirName+"/"+"EFrac_Barrel"); if (mEFrac_Barrel && mEFrac_Barrel->getRootObject()) mEFrac_Barrel->Fill ((*pfJets)[ijet].chargedEmEnergyFraction() + (*pfJets)[ijet].neutralEmEnergyFraction()); + mHFrac_Barrel = map_of_MEs[DirName+"/"+"HFrac_Barrel"]; if (mHFrac_Barrel && mHFrac_Barrel->getRootObject()) mHFrac_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction() + (*pfJets)[ijet].neutralHadronEnergyFraction() ); + mEFrac_Barrel = map_of_MEs[DirName+"/"+"EFrac_Barrel"]; if (mEFrac_Barrel && mEFrac_Barrel->getRootObject()) mEFrac_Barrel->Fill ((*pfJets)[ijet].chargedEmEnergyFraction() + (*pfJets)[ijet].neutralEmEnergyFraction()); //fractions for barrel if ((*pfJets)[ijet].pt()<=50.) { - mCHFrac_lowPt_Barrel = dbe_->get(DirName+"/"+"CHFrac_lowPt_Barrel"); if (mCHFrac_lowPt_Barrel && mCHFrac_lowPt_Barrel->getRootObject()) mCHFrac_lowPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFrac_lowPt_Barrel = dbe_->get(DirName+"/"+"NHFrac_lowPt_Barrel"); if (mNHFrac_lowPt_Barrel && mNHFrac_lowPt_Barrel->getRootObject()) mNHFrac_lowPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFrac_lowPt_Barrel = dbe_->get(DirName+"/"+"PhFrac_lowPt_Barrel"); if (mPhFrac_lowPt_Barrel && mPhFrac_lowPt_Barrel->getRootObject()) mPhFrac_lowPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); - mElFrac_lowPt_Barrel = dbe_->get(DirName+"/"+"ElFrac_lowPt_Barrel"); if (mElFrac_lowPt_Barrel && mElFrac_lowPt_Barrel->getRootObject()) mElFrac_lowPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFrac_lowPt_Barrel = dbe_->get(DirName+"/"+"MuFrac_lowPt_Barrel"); if (mMuFrac_lowPt_Barrel && mMuFrac_lowPt_Barrel->getRootObject()) mMuFrac_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); - mCHEn_lowPt_Barrel = dbe_->get(DirName+"/"+"CHEn_lowPt_Barrel"); if (mCHEn_lowPt_Barrel && mCHEn_lowPt_Barrel->getRootObject()) mCHEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy()); - mNHEn_lowPt_Barrel = dbe_->get(DirName+"/"+"NHEn_lowPt_Barrel"); if (mNHEn_lowPt_Barrel && mNHEn_lowPt_Barrel->getRootObject()) mNHEn_lowPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy()); - mPhEn_lowPt_Barrel = dbe_->get(DirName+"/"+"PhEn_lowPt_Barrel"); if (mPhEn_lowPt_Barrel && mPhEn_lowPt_Barrel->getRootObject()) mPhEn_lowPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy()); - mElEn_lowPt_Barrel = dbe_->get(DirName+"/"+"ElEn_lowPt_Barrel"); if (mElEn_lowPt_Barrel && mElEn_lowPt_Barrel->getRootObject()) mElEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy()); - mMuEn_lowPt_Barrel = dbe_->get(DirName+"/"+"MuEn_lowPt_Barrel"); if (mMuEn_lowPt_Barrel && mMuEn_lowPt_Barrel->getRootObject()) mMuEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy()); - mChMultiplicity_lowPt_Barrel = dbe_->get(DirName+"/"+"ChMultiplicity_lowPt_Barrel"); if(mChMultiplicity_lowPt_Barrel && mChMultiplicity_lowPt_Barrel->getRootObject()) mChMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutMultiplicity_lowPt_Barrel = dbe_->get(DirName+"/"+"NeutMultiplicity_lowPt_Barrel"); if(mNeutMultiplicity_lowPt_Barrel && mNeutMultiplicity_lowPt_Barrel->getRootObject()) mNeutMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity()); - mMuMultiplicity_lowPt_Barrel = dbe_->get(DirName+"/"+"MuMultiplicity_lowPt_Barrel"); if(mMuMultiplicity_lowPt_Barrel && mMuMultiplicity_lowPt_Barrel->getRootObject()) mMuMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity()); + mCHFrac_lowPt_Barrel = map_of_MEs[DirName+"/"+"CHFrac_lowPt_Barrel"]; if (mCHFrac_lowPt_Barrel && mCHFrac_lowPt_Barrel->getRootObject()) mCHFrac_lowPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFrac_lowPt_Barrel = map_of_MEs[DirName+"/"+"NHFrac_lowPt_Barrel"]; if (mNHFrac_lowPt_Barrel && mNHFrac_lowPt_Barrel->getRootObject()) mNHFrac_lowPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFrac_lowPt_Barrel = map_of_MEs[DirName+"/"+"PhFrac_lowPt_Barrel"]; if (mPhFrac_lowPt_Barrel && mPhFrac_lowPt_Barrel->getRootObject()) mPhFrac_lowPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); + mElFrac_lowPt_Barrel = map_of_MEs[DirName+"/"+"ElFrac_lowPt_Barrel"]; if (mElFrac_lowPt_Barrel && mElFrac_lowPt_Barrel->getRootObject()) mElFrac_lowPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFrac_lowPt_Barrel = map_of_MEs[DirName+"/"+"MuFrac_lowPt_Barrel"]; if (mMuFrac_lowPt_Barrel && mMuFrac_lowPt_Barrel->getRootObject()) mMuFrac_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); + mCHEn_lowPt_Barrel = map_of_MEs[DirName+"/"+"CHEn_lowPt_Barrel"]; if (mCHEn_lowPt_Barrel && mCHEn_lowPt_Barrel->getRootObject()) mCHEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy()); + mNHEn_lowPt_Barrel = map_of_MEs[DirName+"/"+"NHEn_lowPt_Barrel"]; if (mNHEn_lowPt_Barrel && mNHEn_lowPt_Barrel->getRootObject()) mNHEn_lowPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy()); + mPhEn_lowPt_Barrel = map_of_MEs[DirName+"/"+"PhEn_lowPt_Barrel"]; if (mPhEn_lowPt_Barrel && mPhEn_lowPt_Barrel->getRootObject()) mPhEn_lowPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy()); + mElEn_lowPt_Barrel = map_of_MEs[DirName+"/"+"ElEn_lowPt_Barrel"]; if (mElEn_lowPt_Barrel && mElEn_lowPt_Barrel->getRootObject()) mElEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy()); + mMuEn_lowPt_Barrel = map_of_MEs[DirName+"/"+"MuEn_lowPt_Barrel"]; if (mMuEn_lowPt_Barrel && mMuEn_lowPt_Barrel->getRootObject()) mMuEn_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy()); + mChMultiplicity_lowPt_Barrel = map_of_MEs[DirName+"/"+"ChMultiplicity_lowPt_Barrel"]; if(mChMultiplicity_lowPt_Barrel && mChMultiplicity_lowPt_Barrel->getRootObject()) mChMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutMultiplicity_lowPt_Barrel = map_of_MEs[DirName+"/"+"NeutMultiplicity_lowPt_Barrel"]; if(mNeutMultiplicity_lowPt_Barrel && mNeutMultiplicity_lowPt_Barrel->getRootObject()) mNeutMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity()); + mMuMultiplicity_lowPt_Barrel = map_of_MEs[DirName+"/"+"MuMultiplicity_lowPt_Barrel"]; if(mMuMultiplicity_lowPt_Barrel && mMuMultiplicity_lowPt_Barrel->getRootObject()) mMuMultiplicity_lowPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity()); } if ((*pfJets)[ijet].pt()>50. && (*pfJets)[ijet].pt()<=140.) { - mCHFrac_mediumPt_Barrel = dbe_->get(DirName+"/"+"CHFrac_mediumPt_Barrel"); if (mCHFrac_mediumPt_Barrel && mCHFrac_mediumPt_Barrel->getRootObject()) mCHFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFrac_mediumPt_Barrel = dbe_->get(DirName+"/"+"NHFrac_mediumPt_Barrel"); if (mNHFrac_mediumPt_Barrel && mNHFrac_mediumPt_Barrel->getRootObject()) mNHFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFrac_mediumPt_Barrel = dbe_->get(DirName+"/"+"PhFrac_mediumPt_Barrel"); if (mPhFrac_mediumPt_Barrel && mPhFrac_mediumPt_Barrel->getRootObject()) mPhFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); - mElFrac_mediumPt_Barrel = dbe_->get(DirName+"/"+"ElFrac_mediumPt_Barrel"); if (mElFrac_mediumPt_Barrel && mElFrac_mediumPt_Barrel->getRootObject()) mElFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFrac_mediumPt_Barrel = dbe_->get(DirName+"/"+"MuFrac_mediumPt_Barrel"); if (mMuFrac_mediumPt_Barrel && mMuFrac_mediumPt_Barrel->getRootObject()) mMuFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); - mCHEn_mediumPt_Barrel = dbe_->get(DirName+"/"+"CHEn_mediumPt_Barrel"); if (mCHEn_mediumPt_Barrel && mCHEn_mediumPt_Barrel->getRootObject()) mCHEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy()); - mNHEn_mediumPt_Barrel = dbe_->get(DirName+"/"+"NHEn_mediumPt_Barrel"); if (mNHEn_mediumPt_Barrel && mNHEn_mediumPt_Barrel->getRootObject()) mNHEn_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy()); - mPhEn_mediumPt_Barrel = dbe_->get(DirName+"/"+"PhEn_mediumPt_Barrel"); if (mPhEn_mediumPt_Barrel && mPhEn_mediumPt_Barrel->getRootObject()) mPhEn_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy()); - mElEn_mediumPt_Barrel = dbe_->get(DirName+"/"+"ElEn_mediumPt_Barrel"); if (mElEn_mediumPt_Barrel && mElEn_mediumPt_Barrel->getRootObject()) mElEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy()); - mMuEn_mediumPt_Barrel = dbe_->get(DirName+"/"+"MuEn_mediumPt_Barrel"); if (mMuEn_mediumPt_Barrel && mMuEn_mediumPt_Barrel->getRootObject()) mMuEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy()); - mChMultiplicity_mediumPt_Barrel = dbe_->get(DirName+"/"+"ChMultiplicity_mediumPt_Barrel"); if(mChMultiplicity_mediumPt_Barrel && mChMultiplicity_mediumPt_Barrel->getRootObject()) mChMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutMultiplicity_mediumPt_Barrel = dbe_->get(DirName+"/"+"NeutMultiplicity_mediumPt_Barrel"); if(mNeutMultiplicity_mediumPt_Barrel && mNeutMultiplicity_mediumPt_Barrel->getRootObject()) mNeutMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity()); - mMuMultiplicity_mediumPt_Barrel = dbe_->get(DirName+"/"+"MuMultiplicity_mediumPt_Barrel"); if(mMuMultiplicity_mediumPt_Barrel && mMuMultiplicity_mediumPt_Barrel->getRootObject()) mMuMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity()); + mCHFrac_mediumPt_Barrel = map_of_MEs[DirName+"/"+"CHFrac_mediumPt_Barrel"]; if (mCHFrac_mediumPt_Barrel && mCHFrac_mediumPt_Barrel->getRootObject()) mCHFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFrac_mediumPt_Barrel = map_of_MEs[DirName+"/"+"NHFrac_mediumPt_Barrel"]; if (mNHFrac_mediumPt_Barrel && mNHFrac_mediumPt_Barrel->getRootObject()) mNHFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFrac_mediumPt_Barrel = map_of_MEs[DirName+"/"+"PhFrac_mediumPt_Barrel"]; if (mPhFrac_mediumPt_Barrel && mPhFrac_mediumPt_Barrel->getRootObject()) mPhFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); + mElFrac_mediumPt_Barrel = map_of_MEs[DirName+"/"+"ElFrac_mediumPt_Barrel"]; if (mElFrac_mediumPt_Barrel && mElFrac_mediumPt_Barrel->getRootObject()) mElFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFrac_mediumPt_Barrel = map_of_MEs[DirName+"/"+"MuFrac_mediumPt_Barrel"]; if (mMuFrac_mediumPt_Barrel && mMuFrac_mediumPt_Barrel->getRootObject()) mMuFrac_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); + mCHEn_mediumPt_Barrel = map_of_MEs[DirName+"/"+"CHEn_mediumPt_Barrel"]; if (mCHEn_mediumPt_Barrel && mCHEn_mediumPt_Barrel->getRootObject()) mCHEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy()); + mNHEn_mediumPt_Barrel = map_of_MEs[DirName+"/"+"NHEn_mediumPt_Barrel"]; if (mNHEn_mediumPt_Barrel && mNHEn_mediumPt_Barrel->getRootObject()) mNHEn_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy()); + mPhEn_mediumPt_Barrel = map_of_MEs[DirName+"/"+"PhEn_mediumPt_Barrel"]; if (mPhEn_mediumPt_Barrel && mPhEn_mediumPt_Barrel->getRootObject()) mPhEn_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy()); + mElEn_mediumPt_Barrel = map_of_MEs[DirName+"/"+"ElEn_mediumPt_Barrel"]; if (mElEn_mediumPt_Barrel && mElEn_mediumPt_Barrel->getRootObject()) mElEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy()); + mMuEn_mediumPt_Barrel = map_of_MEs[DirName+"/"+"MuEn_mediumPt_Barrel"]; if (mMuEn_mediumPt_Barrel && mMuEn_mediumPt_Barrel->getRootObject()) mMuEn_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy()); + mChMultiplicity_mediumPt_Barrel = map_of_MEs[DirName+"/"+"ChMultiplicity_mediumPt_Barrel"]; if(mChMultiplicity_mediumPt_Barrel && mChMultiplicity_mediumPt_Barrel->getRootObject()) mChMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutMultiplicity_mediumPt_Barrel = map_of_MEs[DirName+"/"+"NeutMultiplicity_mediumPt_Barrel"]; if(mNeutMultiplicity_mediumPt_Barrel && mNeutMultiplicity_mediumPt_Barrel->getRootObject()) mNeutMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity()); + mMuMultiplicity_mediumPt_Barrel = map_of_MEs[DirName+"/"+"MuMultiplicity_mediumPt_Barrel"]; if(mMuMultiplicity_mediumPt_Barrel && mMuMultiplicity_mediumPt_Barrel->getRootObject()) mMuMultiplicity_mediumPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity()); } if ((*pfJets)[ijet].pt()>140.) { - mCHFrac_highPt_Barrel = dbe_->get(DirName+"/"+"CHFrac_highPt_Barrel"); if (mCHFrac_highPt_Barrel && mCHFrac_highPt_Barrel->getRootObject()) mCHFrac_highPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFrac_highPt_Barrel = dbe_->get(DirName+"/"+"NHFrac_highPt_Barrel"); if (mNHFrac_highPt_Barrel && mNHFrac_highPt_Barrel->getRootObject()) mNHFrac_highPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFrac_highPt_Barrel = dbe_->get(DirName+"/"+"PhFrac_highPt_Barrel"); if (mPhFrac_highPt_Barrel && mPhFrac_highPt_Barrel->getRootObject()) mPhFrac_highPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); - mElFrac_highPt_Barrel = dbe_->get(DirName+"/"+"ElFrac_highPt_Barrel"); if (mElFrac_highPt_Barrel && mElFrac_highPt_Barrel->getRootObject()) mElFrac_highPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFrac_highPt_Barrel = dbe_->get(DirName+"/"+"MuFrac_highPt_Barrel"); if (mMuFrac_highPt_Barrel && mMuFrac_highPt_Barrel->getRootObject()) mMuFrac_highPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); - mCHEn_highPt_Barrel = dbe_->get(DirName+"/"+"CHEn_highPt_Barrel"); if (mCHEn_highPt_Barrel && mCHEn_highPt_Barrel->getRootObject()) mCHEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy()); - mNHEn_highPt_Barrel = dbe_->get(DirName+"/"+"NHEn_highPt_Barrel"); if (mNHEn_highPt_Barrel && mNHEn_highPt_Barrel->getRootObject()) mNHEn_highPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy()); - mPhEn_highPt_Barrel = dbe_->get(DirName+"/"+"PhEn_highPt_Barrel"); if (mPhEn_highPt_Barrel && mPhEn_highPt_Barrel->getRootObject()) mPhEn_highPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy()); - mElEn_highPt_Barrel = dbe_->get(DirName+"/"+"ElEn_highPt_Barrel"); if (mElEn_highPt_Barrel && mElEn_highPt_Barrel->getRootObject()) mElEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy()); - mMuEn_highPt_Barrel = dbe_->get(DirName+"/"+"MuEn_highPt_Barrel"); if (mMuEn_highPt_Barrel && mMuEn_highPt_Barrel->getRootObject()) mMuEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy()); - mChMultiplicity_highPt_Barrel = dbe_->get(DirName+"/"+"ChMultiplicity_highPt_Barrel"); if(mChMultiplicity_highPt_Barrel && mChMultiplicity_highPt_Barrel->getRootObject()) mChMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutMultiplicity_highPt_Barrel = dbe_->get(DirName+"/"+"NeutMultiplicity_highPt_Barrel"); if(mNeutMultiplicity_highPt_Barrel && mNeutMultiplicity_highPt_Barrel->getRootObject()) mNeutMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity()); - mMuMultiplicity_highPt_Barrel = dbe_->get(DirName+"/"+"MuMultiplicity_highPt_Barrel"); if(mMuMultiplicity_highPt_Barrel && mMuMultiplicity_highPt_Barrel->getRootObject()) mMuMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity()); + mCHFrac_highPt_Barrel = map_of_MEs[DirName+"/"+"CHFrac_highPt_Barrel"]; if (mCHFrac_highPt_Barrel && mCHFrac_highPt_Barrel->getRootObject()) mCHFrac_highPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFrac_highPt_Barrel = map_of_MEs[DirName+"/"+"NHFrac_highPt_Barrel"]; if (mNHFrac_highPt_Barrel && mNHFrac_highPt_Barrel->getRootObject()) mNHFrac_highPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFrac_highPt_Barrel = map_of_MEs[DirName+"/"+"PhFrac_highPt_Barrel"]; if (mPhFrac_highPt_Barrel && mPhFrac_highPt_Barrel->getRootObject()) mPhFrac_highPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); + mElFrac_highPt_Barrel = map_of_MEs[DirName+"/"+"ElFrac_highPt_Barrel"]; if (mElFrac_highPt_Barrel && mElFrac_highPt_Barrel->getRootObject()) mElFrac_highPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFrac_highPt_Barrel = map_of_MEs[DirName+"/"+"MuFrac_highPt_Barrel"]; if (mMuFrac_highPt_Barrel && mMuFrac_highPt_Barrel->getRootObject()) mMuFrac_highPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); + mCHEn_highPt_Barrel = map_of_MEs[DirName+"/"+"CHEn_highPt_Barrel"]; if (mCHEn_highPt_Barrel && mCHEn_highPt_Barrel->getRootObject()) mCHEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedHadronEnergy()); + mNHEn_highPt_Barrel = map_of_MEs[DirName+"/"+"NHEn_highPt_Barrel"]; if (mNHEn_highPt_Barrel && mNHEn_highPt_Barrel->getRootObject()) mNHEn_highPt_Barrel->Fill((*pfJets)[ijet].neutralHadronEnergy()); + mPhEn_highPt_Barrel = map_of_MEs[DirName+"/"+"PhEn_highPt_Barrel"]; if (mPhEn_highPt_Barrel && mPhEn_highPt_Barrel->getRootObject()) mPhEn_highPt_Barrel->Fill((*pfJets)[ijet].neutralEmEnergy()); + mElEn_highPt_Barrel = map_of_MEs[DirName+"/"+"ElEn_highPt_Barrel"]; if (mElEn_highPt_Barrel && mElEn_highPt_Barrel->getRootObject()) mElEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedEmEnergy()); + mMuEn_highPt_Barrel = map_of_MEs[DirName+"/"+"MuEn_highPt_Barrel"]; if (mMuEn_highPt_Barrel && mMuEn_highPt_Barrel->getRootObject()) mMuEn_highPt_Barrel->Fill((*pfJets)[ijet].chargedMuEnergy()); + mChMultiplicity_highPt_Barrel = map_of_MEs[DirName+"/"+"ChMultiplicity_highPt_Barrel"]; if(mChMultiplicity_highPt_Barrel && mChMultiplicity_highPt_Barrel->getRootObject()) mChMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutMultiplicity_highPt_Barrel = map_of_MEs[DirName+"/"+"NeutMultiplicity_highPt_Barrel"]; if(mNeutMultiplicity_highPt_Barrel && mNeutMultiplicity_highPt_Barrel->getRootObject()) mNeutMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].neutralMultiplicity()); + mMuMultiplicity_highPt_Barrel = map_of_MEs[DirName+"/"+"MuMultiplicity_highPt_Barrel"]; if(mMuMultiplicity_highPt_Barrel && mMuMultiplicity_highPt_Barrel->getRootObject()) mMuMultiplicity_highPt_Barrel->Fill((*pfJets)[ijet].muonMultiplicity()); } - mCHFracVSpT_Barrel = dbe_->get(DirName+"/"+"CHFracVSpT_Barrel"); if(mCHFracVSpT_Barrel && mCHFracVSpT_Barrel->getRootObject()) mCHFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFracVSpT_Barrel = dbe_->get(DirName+"/"+"NHFracVSpT_Barrel");if (mNHFracVSpT_Barrel && mNHFracVSpT_Barrel->getRootObject()) mNHFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFracVSpT_Barrel = dbe_->get(DirName+"/"+"PhFracVSpT_Barrel");if (mPhFracVSpT_Barrel && mPhFracVSpT_Barrel->getRootObject()) mPhFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].neutralEmEnergyFraction()); - mElFracVSpT_Barrel = dbe_->get(DirName+"/"+"ElFracVSpT_Barrel");if (mElFracVSpT_Barrel && mElFracVSpT_Barrel->getRootObject()) mElFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFracVSpT_Barrel = dbe_->get(DirName+"/"+"MuFracVSpT_Barrel");if (mMuFracVSpT_Barrel && mMuFracVSpT_Barrel->getRootObject()) mMuFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedMuEnergyFraction()); + mCHFracVSpT_Barrel = map_of_MEs[DirName+"/"+"CHFracVSpT_Barrel"]; if(mCHFracVSpT_Barrel && mCHFracVSpT_Barrel->getRootObject()) mCHFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFracVSpT_Barrel = map_of_MEs[DirName+"/"+"NHFracVSpT_Barrel"];if (mNHFracVSpT_Barrel && mNHFracVSpT_Barrel->getRootObject()) mNHFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFracVSpT_Barrel = map_of_MEs[DirName+"/"+"PhFracVSpT_Barrel"];if (mPhFracVSpT_Barrel && mPhFracVSpT_Barrel->getRootObject()) mPhFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].neutralEmEnergyFraction()); + mElFracVSpT_Barrel = map_of_MEs[DirName+"/"+"ElFracVSpT_Barrel"];if (mElFracVSpT_Barrel && mElFracVSpT_Barrel->getRootObject()) mElFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFracVSpT_Barrel = map_of_MEs[DirName+"/"+"MuFracVSpT_Barrel"];if (mMuFracVSpT_Barrel && mMuFracVSpT_Barrel->getRootObject()) mMuFracVSpT_Barrel->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedMuEnergyFraction()); }else if(fabs((*pfJets)[ijet].eta()) <= 3) { - mHFrac_EndCap = dbe_->get(DirName+"/"+"HFrac_EndCap"); if (mHFrac_EndCap && mHFrac_EndCap->getRootObject()) mHFrac_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction() + (*pfJets)[ijet].neutralHadronEnergyFraction()+(*pfJets)[ijet].HFHadronEnergyFraction ()); - mEFrac_EndCap = dbe_->get(DirName+"/"+"EFrac_EndCap"); if (mEFrac_EndCap && mEFrac_EndCap->getRootObject()) mEFrac_EndCap->Fill ((*pfJets)[ijet].chargedEmEnergyFraction() + (*pfJets)[ijet].neutralEmEnergyFraction()+(*pfJets)[ijet].HFEMEnergyFraction ()); + mHFrac_EndCap = map_of_MEs[DirName+"/"+"HFrac_EndCap"]; if (mHFrac_EndCap && mHFrac_EndCap->getRootObject()) mHFrac_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction() + (*pfJets)[ijet].neutralHadronEnergyFraction()+(*pfJets)[ijet].HFHadronEnergyFraction ()); + mEFrac_EndCap = map_of_MEs[DirName+"/"+"EFrac_EndCap"]; if (mEFrac_EndCap && mEFrac_EndCap->getRootObject()) mEFrac_EndCap->Fill ((*pfJets)[ijet].chargedEmEnergyFraction() + (*pfJets)[ijet].neutralEmEnergyFraction()+(*pfJets)[ijet].HFEMEnergyFraction ()); //fractions for endcap if ((*pfJets)[ijet].pt()<=50.) { - mCHFrac_lowPt_EndCap = dbe_->get(DirName+"/"+"CHFrac_lowPt_EndCap"); if (mCHFrac_lowPt_EndCap && mCHFrac_lowPt_EndCap->getRootObject()) mCHFrac_lowPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFrac_lowPt_EndCap = dbe_->get(DirName+"/"+"NHFrac_lowPt_EndCap"); if (mNHFrac_lowPt_EndCap && mNHFrac_lowPt_EndCap->getRootObject()) mNHFrac_lowPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFrac_lowPt_EndCap = dbe_->get(DirName+"/"+"PhFrac_lowPt_EndCap"); if (mPhFrac_lowPt_EndCap && mPhFrac_lowPt_EndCap->getRootObject()) mPhFrac_lowPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); - mElFrac_lowPt_EndCap = dbe_->get(DirName+"/"+"ElFrac_lowPt_EndCap"); if (mElFrac_lowPt_EndCap && mElFrac_lowPt_EndCap->getRootObject()) mElFrac_lowPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFrac_lowPt_EndCap = dbe_->get(DirName+"/"+"MuFrac_lowPt_EndCap"); if (mMuFrac_lowPt_EndCap && mMuFrac_lowPt_EndCap->getRootObject()) mMuFrac_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); - mCHEn_lowPt_EndCap = dbe_->get(DirName+"/"+"CHEn_lowPt_EndCap"); if (mCHEn_lowPt_EndCap && mCHEn_lowPt_EndCap->getRootObject()) mCHEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy()); - mNHEn_lowPt_EndCap = dbe_->get(DirName+"/"+"NHEn_lowPt_EndCap"); if (mNHEn_lowPt_EndCap && mNHEn_lowPt_EndCap->getRootObject()) mNHEn_lowPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy()); - mPhEn_lowPt_EndCap = dbe_->get(DirName+"/"+"PhEn_lowPt_EndCap"); if (mPhEn_lowPt_EndCap && mPhEn_lowPt_EndCap->getRootObject()) mPhEn_lowPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy()); - mElEn_lowPt_EndCap = dbe_->get(DirName+"/"+"ElEn_lowPt_EndCap"); if (mElEn_lowPt_EndCap && mElEn_lowPt_EndCap->getRootObject()) mElEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy()); - mMuEn_lowPt_EndCap = dbe_->get(DirName+"/"+"MuEn_lowPt_EndCap"); if (mMuEn_lowPt_EndCap && mMuEn_lowPt_EndCap->getRootObject()) mMuEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy()); - mChMultiplicity_lowPt_EndCap = dbe_->get(DirName+"/"+"ChMultiplicity_lowPt_EndCap"); if(mChMultiplicity_lowPt_EndCap && mChMultiplicity_lowPt_EndCap->getRootObject()) mChMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutMultiplicity_lowPt_EndCap = dbe_->get(DirName+"/"+"NeutMultiplicity_lowPt_EndCap"); if(mNeutMultiplicity_lowPt_EndCap && mNeutMultiplicity_lowPt_EndCap->getRootObject()) mNeutMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity()); - mMuMultiplicity_lowPt_EndCap = dbe_->get(DirName+"/"+"MuMultiplicity_lowPt_EndCap"); if(mMuMultiplicity_lowPt_EndCap && mMuMultiplicity_lowPt_EndCap->getRootObject()) mMuMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity()); + mCHFrac_lowPt_EndCap = map_of_MEs[DirName+"/"+"CHFrac_lowPt_EndCap"]; if (mCHFrac_lowPt_EndCap && mCHFrac_lowPt_EndCap->getRootObject()) mCHFrac_lowPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFrac_lowPt_EndCap = map_of_MEs[DirName+"/"+"NHFrac_lowPt_EndCap"]; if (mNHFrac_lowPt_EndCap && mNHFrac_lowPt_EndCap->getRootObject()) mNHFrac_lowPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFrac_lowPt_EndCap = map_of_MEs[DirName+"/"+"PhFrac_lowPt_EndCap"]; if (mPhFrac_lowPt_EndCap && mPhFrac_lowPt_EndCap->getRootObject()) mPhFrac_lowPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); + mElFrac_lowPt_EndCap = map_of_MEs[DirName+"/"+"ElFrac_lowPt_EndCap"]; if (mElFrac_lowPt_EndCap && mElFrac_lowPt_EndCap->getRootObject()) mElFrac_lowPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFrac_lowPt_EndCap = map_of_MEs[DirName+"/"+"MuFrac_lowPt_EndCap"]; if (mMuFrac_lowPt_EndCap && mMuFrac_lowPt_EndCap->getRootObject()) mMuFrac_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); + mCHEn_lowPt_EndCap = map_of_MEs[DirName+"/"+"CHEn_lowPt_EndCap"]; if (mCHEn_lowPt_EndCap && mCHEn_lowPt_EndCap->getRootObject()) mCHEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy()); + mNHEn_lowPt_EndCap = map_of_MEs[DirName+"/"+"NHEn_lowPt_EndCap"]; if (mNHEn_lowPt_EndCap && mNHEn_lowPt_EndCap->getRootObject()) mNHEn_lowPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy()); + mPhEn_lowPt_EndCap = map_of_MEs[DirName+"/"+"PhEn_lowPt_EndCap"]; if (mPhEn_lowPt_EndCap && mPhEn_lowPt_EndCap->getRootObject()) mPhEn_lowPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy()); + mElEn_lowPt_EndCap = map_of_MEs[DirName+"/"+"ElEn_lowPt_EndCap"]; if (mElEn_lowPt_EndCap && mElEn_lowPt_EndCap->getRootObject()) mElEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy()); + mMuEn_lowPt_EndCap = map_of_MEs[DirName+"/"+"MuEn_lowPt_EndCap"]; if (mMuEn_lowPt_EndCap && mMuEn_lowPt_EndCap->getRootObject()) mMuEn_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy()); + mChMultiplicity_lowPt_EndCap = map_of_MEs[DirName+"/"+"ChMultiplicity_lowPt_EndCap"]; if(mChMultiplicity_lowPt_EndCap && mChMultiplicity_lowPt_EndCap->getRootObject()) mChMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutMultiplicity_lowPt_EndCap = map_of_MEs[DirName+"/"+"NeutMultiplicity_lowPt_EndCap"]; if(mNeutMultiplicity_lowPt_EndCap && mNeutMultiplicity_lowPt_EndCap->getRootObject()) mNeutMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity()); + mMuMultiplicity_lowPt_EndCap = map_of_MEs[DirName+"/"+"MuMultiplicity_lowPt_EndCap"]; if(mMuMultiplicity_lowPt_EndCap && mMuMultiplicity_lowPt_EndCap->getRootObject()) mMuMultiplicity_lowPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity()); } if ((*pfJets)[ijet].pt()>50. && (*pfJets)[ijet].pt()<=140.) { - mCHFrac_mediumPt_EndCap = dbe_->get(DirName+"/"+"CHFrac_mediumPt_EndCap"); if (mCHFrac_mediumPt_EndCap && mCHFrac_mediumPt_EndCap->getRootObject()) mCHFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFrac_mediumPt_EndCap = dbe_->get(DirName+"/"+"NHFrac_mediumPt_EndCap"); if (mNHFrac_mediumPt_EndCap && mNHFrac_mediumPt_EndCap->getRootObject()) mNHFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFrac_mediumPt_EndCap = dbe_->get(DirName+"/"+"PhFrac_mediumPt_EndCap"); if (mPhFrac_mediumPt_EndCap && mPhFrac_mediumPt_EndCap->getRootObject()) mPhFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); - mElFrac_mediumPt_EndCap = dbe_->get(DirName+"/"+"ElFrac_mediumPt_EndCap"); if (mElFrac_mediumPt_EndCap && mElFrac_mediumPt_EndCap->getRootObject()) mElFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFrac_mediumPt_EndCap = dbe_->get(DirName+"/"+"MuFrac_mediumPt_EndCap"); if (mMuFrac_mediumPt_EndCap && mMuFrac_mediumPt_EndCap->getRootObject()) mMuFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); - mCHEn_mediumPt_EndCap = dbe_->get(DirName+"/"+"CHEn_mediumPt_EndCap"); if (mCHEn_mediumPt_EndCap && mCHEn_mediumPt_EndCap->getRootObject()) mCHEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy()); - mNHEn_mediumPt_EndCap = dbe_->get(DirName+"/"+"NHEn_mediumPt_EndCap"); if (mNHEn_mediumPt_EndCap && mNHEn_mediumPt_EndCap->getRootObject()) mNHEn_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy()); - mPhEn_mediumPt_EndCap = dbe_->get(DirName+"/"+"PhEn_mediumPt_EndCap"); if (mPhEn_mediumPt_EndCap && mPhEn_mediumPt_EndCap->getRootObject()) mPhEn_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy()); - mElEn_mediumPt_EndCap = dbe_->get(DirName+"/"+"ElEn_mediumPt_EndCap"); if (mElEn_mediumPt_EndCap && mElEn_mediumPt_EndCap->getRootObject()) mElEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy()); - mMuEn_mediumPt_EndCap = dbe_->get(DirName+"/"+"MuEn_mediumPt_EndCap"); if (mMuEn_mediumPt_EndCap && mMuEn_mediumPt_EndCap->getRootObject()) mMuEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy()); - mChMultiplicity_mediumPt_EndCap = dbe_->get(DirName+"/"+"ChMultiplicity_mediumPt_EndCap"); if(mChMultiplicity_mediumPt_EndCap && mChMultiplicity_mediumPt_EndCap->getRootObject()) mChMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutMultiplicity_mediumPt_EndCap = dbe_->get(DirName+"/"+"NeutMultiplicity_mediumPt_EndCap"); if(mNeutMultiplicity_mediumPt_EndCap && mNeutMultiplicity_mediumPt_EndCap->getRootObject()) mNeutMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity()); - mMuMultiplicity_mediumPt_EndCap = dbe_->get(DirName+"/"+"MuMultiplicity_mediumPt_EndCap"); if(mMuMultiplicity_mediumPt_EndCap && mMuMultiplicity_mediumPt_EndCap->getRootObject()) mMuMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity()); + mCHFrac_mediumPt_EndCap = map_of_MEs[DirName+"/"+"CHFrac_mediumPt_EndCap"]; if (mCHFrac_mediumPt_EndCap && mCHFrac_mediumPt_EndCap->getRootObject()) mCHFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFrac_mediumPt_EndCap = map_of_MEs[DirName+"/"+"NHFrac_mediumPt_EndCap"]; if (mNHFrac_mediumPt_EndCap && mNHFrac_mediumPt_EndCap->getRootObject()) mNHFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFrac_mediumPt_EndCap = map_of_MEs[DirName+"/"+"PhFrac_mediumPt_EndCap"]; if (mPhFrac_mediumPt_EndCap && mPhFrac_mediumPt_EndCap->getRootObject()) mPhFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); + mElFrac_mediumPt_EndCap = map_of_MEs[DirName+"/"+"ElFrac_mediumPt_EndCap"]; if (mElFrac_mediumPt_EndCap && mElFrac_mediumPt_EndCap->getRootObject()) mElFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFrac_mediumPt_EndCap = map_of_MEs[DirName+"/"+"MuFrac_mediumPt_EndCap"]; if (mMuFrac_mediumPt_EndCap && mMuFrac_mediumPt_EndCap->getRootObject()) mMuFrac_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); + mCHEn_mediumPt_EndCap = map_of_MEs[DirName+"/"+"CHEn_mediumPt_EndCap"]; if (mCHEn_mediumPt_EndCap && mCHEn_mediumPt_EndCap->getRootObject()) mCHEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy()); + mNHEn_mediumPt_EndCap = map_of_MEs[DirName+"/"+"NHEn_mediumPt_EndCap"]; if (mNHEn_mediumPt_EndCap && mNHEn_mediumPt_EndCap->getRootObject()) mNHEn_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy()); + mPhEn_mediumPt_EndCap = map_of_MEs[DirName+"/"+"PhEn_mediumPt_EndCap"]; if (mPhEn_mediumPt_EndCap && mPhEn_mediumPt_EndCap->getRootObject()) mPhEn_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy()); + mElEn_mediumPt_EndCap = map_of_MEs[DirName+"/"+"ElEn_mediumPt_EndCap"]; if (mElEn_mediumPt_EndCap && mElEn_mediumPt_EndCap->getRootObject()) mElEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy()); + mMuEn_mediumPt_EndCap = map_of_MEs[DirName+"/"+"MuEn_mediumPt_EndCap"]; if (mMuEn_mediumPt_EndCap && mMuEn_mediumPt_EndCap->getRootObject()) mMuEn_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy()); + mChMultiplicity_mediumPt_EndCap = map_of_MEs[DirName+"/"+"ChMultiplicity_mediumPt_EndCap"]; if(mChMultiplicity_mediumPt_EndCap && mChMultiplicity_mediumPt_EndCap->getRootObject()) mChMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutMultiplicity_mediumPt_EndCap = map_of_MEs[DirName+"/"+"NeutMultiplicity_mediumPt_EndCap"]; if(mNeutMultiplicity_mediumPt_EndCap && mNeutMultiplicity_mediumPt_EndCap->getRootObject()) mNeutMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity()); + mMuMultiplicity_mediumPt_EndCap = map_of_MEs[DirName+"/"+"MuMultiplicity_mediumPt_EndCap"]; if(mMuMultiplicity_mediumPt_EndCap && mMuMultiplicity_mediumPt_EndCap->getRootObject()) mMuMultiplicity_mediumPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity()); } if ((*pfJets)[ijet].pt()>140.) { - mCHFrac_highPt_EndCap = dbe_->get(DirName+"/"+"CHFrac_highPt_EndCap"); if (mCHFrac_highPt_EndCap && mCHFrac_highPt_EndCap->getRootObject()) mCHFrac_highPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFrac_highPt_EndCap = dbe_->get(DirName+"/"+"NHFrac_highPt_EndCap"); if (mNHFrac_highPt_EndCap && mNHFrac_highPt_EndCap->getRootObject()) mNHFrac_highPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFrac_highPt_EndCap = dbe_->get(DirName+"/"+"PhFrac_highPt_EndCap"); if (mPhFrac_highPt_EndCap && mPhFrac_highPt_EndCap->getRootObject()) mPhFrac_highPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); - mElFrac_highPt_EndCap = dbe_->get(DirName+"/"+"ElFrac_highPt_EndCap"); if (mElFrac_highPt_EndCap && mElFrac_highPt_EndCap->getRootObject()) mElFrac_highPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFrac_highPt_EndCap = dbe_->get(DirName+"/"+"MuFrac_highPt_EndCap"); if (mMuFrac_highPt_EndCap && mMuFrac_highPt_EndCap->getRootObject()) mMuFrac_highPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); - mCHEn_highPt_EndCap = dbe_->get(DirName+"/"+"CHEn_highPt_EndCap"); if (mCHEn_highPt_EndCap && mCHEn_highPt_EndCap->getRootObject()) mCHEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy()); - mNHEn_highPt_EndCap = dbe_->get(DirName+"/"+"NHEn_highPt_EndCap"); if (mNHEn_highPt_EndCap && mNHEn_highPt_EndCap->getRootObject()) mNHEn_highPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy()); - mPhEn_highPt_EndCap = dbe_->get(DirName+"/"+"PhEn_highPt_EndCap"); if (mPhEn_highPt_EndCap && mPhEn_highPt_EndCap->getRootObject()) mPhEn_highPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy()); - mElEn_highPt_EndCap = dbe_->get(DirName+"/"+"ElEn_highPt_EndCap"); if (mElEn_highPt_EndCap && mElEn_highPt_EndCap->getRootObject()) mElEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy()); - mMuEn_highPt_EndCap = dbe_->get(DirName+"/"+"MuEn_highPt_EndCap"); if (mMuEn_highPt_EndCap && mMuEn_highPt_EndCap->getRootObject()) mMuEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy()); - mChMultiplicity_highPt_EndCap = dbe_->get(DirName+"/"+"ChMultiplicity_highPt_EndCap"); if(mChMultiplicity_highPt_EndCap && mChMultiplicity_highPt_EndCap->getRootObject()) mChMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutMultiplicity_highPt_EndCap = dbe_->get(DirName+"/"+"NeutMultiplicity_highPt_EndCap"); if(mNeutMultiplicity_highPt_EndCap && mNeutMultiplicity_highPt_EndCap->getRootObject()) mNeutMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity()); - mMuMultiplicity_highPt_EndCap = dbe_->get(DirName+"/"+"MuMultiplicity_highPt_EndCap"); if(mMuMultiplicity_highPt_EndCap && mMuMultiplicity_highPt_EndCap->getRootObject()) mMuMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity()); + mCHFrac_highPt_EndCap = map_of_MEs[DirName+"/"+"CHFrac_highPt_EndCap"]; if (mCHFrac_highPt_EndCap && mCHFrac_highPt_EndCap->getRootObject()) mCHFrac_highPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFrac_highPt_EndCap = map_of_MEs[DirName+"/"+"NHFrac_highPt_EndCap"]; if (mNHFrac_highPt_EndCap && mNHFrac_highPt_EndCap->getRootObject()) mNHFrac_highPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFrac_highPt_EndCap = map_of_MEs[DirName+"/"+"PhFrac_highPt_EndCap"]; if (mPhFrac_highPt_EndCap && mPhFrac_highPt_EndCap->getRootObject()) mPhFrac_highPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergyFraction()); + mElFrac_highPt_EndCap = map_of_MEs[DirName+"/"+"ElFrac_highPt_EndCap"]; if (mElFrac_highPt_EndCap && mElFrac_highPt_EndCap->getRootObject()) mElFrac_highPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFrac_highPt_EndCap = map_of_MEs[DirName+"/"+"MuFrac_highPt_EndCap"]; if (mMuFrac_highPt_EndCap && mMuFrac_highPt_EndCap->getRootObject()) mMuFrac_highPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergyFraction()); + mCHEn_highPt_EndCap = map_of_MEs[DirName+"/"+"CHEn_highPt_EndCap"]; if (mCHEn_highPt_EndCap && mCHEn_highPt_EndCap->getRootObject()) mCHEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedHadronEnergy()); + mNHEn_highPt_EndCap = map_of_MEs[DirName+"/"+"NHEn_highPt_EndCap"]; if (mNHEn_highPt_EndCap && mNHEn_highPt_EndCap->getRootObject()) mNHEn_highPt_EndCap->Fill((*pfJets)[ijet].neutralHadronEnergy()); + mPhEn_highPt_EndCap = map_of_MEs[DirName+"/"+"PhEn_highPt_EndCap"]; if (mPhEn_highPt_EndCap && mPhEn_highPt_EndCap->getRootObject()) mPhEn_highPt_EndCap->Fill((*pfJets)[ijet].neutralEmEnergy()); + mElEn_highPt_EndCap = map_of_MEs[DirName+"/"+"ElEn_highPt_EndCap"]; if (mElEn_highPt_EndCap && mElEn_highPt_EndCap->getRootObject()) mElEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedEmEnergy()); + mMuEn_highPt_EndCap = map_of_MEs[DirName+"/"+"MuEn_highPt_EndCap"]; if (mMuEn_highPt_EndCap && mMuEn_highPt_EndCap->getRootObject()) mMuEn_highPt_EndCap->Fill((*pfJets)[ijet].chargedMuEnergy()); + mChMultiplicity_highPt_EndCap = map_of_MEs[DirName+"/"+"ChMultiplicity_highPt_EndCap"]; if(mChMultiplicity_highPt_EndCap && mChMultiplicity_highPt_EndCap->getRootObject()) mChMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutMultiplicity_highPt_EndCap = map_of_MEs[DirName+"/"+"NeutMultiplicity_highPt_EndCap"]; if(mNeutMultiplicity_highPt_EndCap && mNeutMultiplicity_highPt_EndCap->getRootObject()) mNeutMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].neutralMultiplicity()); + mMuMultiplicity_highPt_EndCap = map_of_MEs[DirName+"/"+"MuMultiplicity_highPt_EndCap"]; if(mMuMultiplicity_highPt_EndCap && mMuMultiplicity_highPt_EndCap->getRootObject()) mMuMultiplicity_highPt_EndCap->Fill((*pfJets)[ijet].muonMultiplicity()); } - mCHFracVSpT_EndCap = dbe_->get(DirName+"/"+"CHFracVSpT_EndCap"); if(mCHFracVSpT_EndCap && mCHFracVSpT_EndCap->getRootObject()) mCHFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedHadronEnergyFraction()); - mNHFracVSpT_EndCap = dbe_->get(DirName+"/"+"NHFracVSpT_EndCap");if (mNHFracVSpT_EndCap && mNHFracVSpT_EndCap->getRootObject()) mNHFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].neutralHadronEnergyFraction()); - mPhFracVSpT_EndCap = dbe_->get(DirName+"/"+"PhFracVSpT_EndCap");if (mPhFracVSpT_EndCap && mPhFracVSpT_EndCap->getRootObject()) mPhFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].neutralEmEnergyFraction()); - mElFracVSpT_EndCap = dbe_->get(DirName+"/"+"ElFracVSpT_EndCap");if (mElFracVSpT_EndCap && mElFracVSpT_EndCap->getRootObject()) mElFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedEmEnergyFraction()); - mMuFracVSpT_EndCap = dbe_->get(DirName+"/"+"MuFracVSpT_EndCap");if (mMuFracVSpT_EndCap && mMuFracVSpT_EndCap->getRootObject()) mMuFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedMuEnergyFraction()); + mCHFracVSpT_EndCap = map_of_MEs[DirName+"/"+"CHFracVSpT_EndCap"]; if(mCHFracVSpT_EndCap && mCHFracVSpT_EndCap->getRootObject()) mCHFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedHadronEnergyFraction()); + mNHFracVSpT_EndCap = map_of_MEs[DirName+"/"+"NHFracVSpT_EndCap"];if (mNHFracVSpT_EndCap && mNHFracVSpT_EndCap->getRootObject()) mNHFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].neutralHadronEnergyFraction()); + mPhFracVSpT_EndCap = map_of_MEs[DirName+"/"+"PhFracVSpT_EndCap"];if (mPhFracVSpT_EndCap && mPhFracVSpT_EndCap->getRootObject()) mPhFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].neutralEmEnergyFraction()); + mElFracVSpT_EndCap = map_of_MEs[DirName+"/"+"ElFracVSpT_EndCap"];if (mElFracVSpT_EndCap && mElFracVSpT_EndCap->getRootObject()) mElFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedEmEnergyFraction()); + mMuFracVSpT_EndCap = map_of_MEs[DirName+"/"+"MuFracVSpT_EndCap"];if (mMuFracVSpT_EndCap && mMuFracVSpT_EndCap->getRootObject()) mMuFracVSpT_EndCap->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedMuEnergyFraction()); }else{ - mHFrac_Forward = dbe_->get(DirName+"/"+"HFrac_Forward"); if (mHFrac_Forward && mHFrac_Forward->getRootObject()) mHFrac_Forward->Fill((*pfJets)[ijet].chargedHadronEnergyFraction() + (*pfJets)[ijet].neutralHadronEnergyFraction()+(*pfJets)[ijet].HFHadronEnergyFraction ()); - mEFrac_Forward = dbe_->get(DirName+"/"+"EFrac_Forward"); if (mEFrac_Forward && mEFrac_Forward->getRootObject()) mEFrac_Forward->Fill ((*pfJets)[ijet].chargedEmEnergyFraction() + (*pfJets)[ijet].neutralEmEnergyFraction()+(*pfJets)[ijet].HFEMEnergyFraction ()); + mHFrac_Forward = map_of_MEs[DirName+"/"+"HFrac_Forward"]; if (mHFrac_Forward && mHFrac_Forward->getRootObject()) mHFrac_Forward->Fill((*pfJets)[ijet].chargedHadronEnergyFraction() + (*pfJets)[ijet].neutralHadronEnergyFraction()+(*pfJets)[ijet].HFHadronEnergyFraction ()); + mEFrac_Forward = map_of_MEs[DirName+"/"+"EFrac_Forward"]; if (mEFrac_Forward && mEFrac_Forward->getRootObject()) mEFrac_Forward->Fill ((*pfJets)[ijet].chargedEmEnergyFraction() + (*pfJets)[ijet].neutralEmEnergyFraction()+(*pfJets)[ijet].HFEMEnergyFraction ()); + mHFHFracVSpT_Forward = map_of_MEs[DirName+"/"+"HFHFracVSpT_Forward"]; if (mHFHFracVSpT_Forward && mHFHFracVSpT_Forward->getRootObject()) mHFHFracVSpT_Forward->Fill((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedHadronEnergyFraction() + (*pfJets)[ijet].neutralHadronEnergyFraction()+(*pfJets)[ijet].HFHadronEnergyFraction ()); + mHFEFracVSpT_Forward = map_of_MEs[DirName+"/"+"HFEFracVSpT_Forward"]; if (mHFEFracVSpT_Forward && mHFEFracVSpT_Forward->getRootObject()) mHFEFracVSpT_Forward->Fill ((*pfJets)[ijet].pt(),(*pfJets)[ijet].chargedEmEnergyFraction() + (*pfJets)[ijet].neutralEmEnergyFraction()+(*pfJets)[ijet].HFEMEnergyFraction ()); //fractions if ((*pfJets)[ijet].pt()<=50.) { - mHFEFrac_lowPt_Forward = dbe_->get(DirName+"/"+"HFEFrac_lowPt_Forward"); if(mHFEFrac_lowPt_Forward && mHFEFrac_lowPt_Forward->getRootObject()) mHFEFrac_lowPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction()); - mHFEFrac_lowPt_Forward = dbe_->get(DirName+"/"+"HFEFrac_lowPt_Forward"); if(mHFHFrac_lowPt_Forward && mHFHFrac_lowPt_Forward->getRootObject()) mHFHFrac_lowPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction()); - mHFEEn_lowPt_Forward = dbe_->get(DirName+"/"+"HFEEn_lowPt_Forward"); if(mHFEEn_lowPt_Forward && mHFEEn_lowPt_Forward->getRootObject()) mHFEEn_lowPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy()); - mHFHEn_lowPt_Forward = dbe_->get(DirName+"/"+"HFHEn_lowPt_Forward"); if(mHFHEn_lowPt_Forward && mHFHEn_lowPt_Forward->getRootObject()) mHFHEn_lowPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy()); - mChMultiplicity_lowPt_Barrel = dbe_->get(DirName+"/"+"ChMultiplicity_lowPt_Barrel"); if(mChMultiplicity_lowPt_Forward && mChMultiplicity_lowPt_Forward->getRootObject()) mChMultiplicity_lowPt_Forward->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutMultiplicity_lowPt_Barrel = dbe_->get(DirName+"/"+"NeutMultiplicity_lowPt_Barrel"); if(mNeutMultiplicity_lowPt_Forward && mNeutMultiplicity_lowPt_Forward->getRootObject()) mNeutMultiplicity_lowPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity()); + mHFEFrac_lowPt_Forward = map_of_MEs[DirName+"/"+"HFEFrac_lowPt_Forward"]; if(mHFEFrac_lowPt_Forward && mHFEFrac_lowPt_Forward->getRootObject()) mHFEFrac_lowPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction()); + mHFEFrac_lowPt_Forward = map_of_MEs[DirName+"/"+"HFEFrac_lowPt_Forward"]; if(mHFHFrac_lowPt_Forward && mHFHFrac_lowPt_Forward->getRootObject()) mHFHFrac_lowPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction()); + mHFEEn_lowPt_Forward = map_of_MEs[DirName+"/"+"HFEEn_lowPt_Forward"]; if(mHFEEn_lowPt_Forward && mHFEEn_lowPt_Forward->getRootObject()) mHFEEn_lowPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy()); + mHFHEn_lowPt_Forward = map_of_MEs[DirName+"/"+"HFHEn_lowPt_Forward"]; if(mHFHEn_lowPt_Forward && mHFHEn_lowPt_Forward->getRootObject()) mHFHEn_lowPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy()); + mChMultiplicity_lowPt_Barrel = map_of_MEs[DirName+"/"+"ChMultiplicity_lowPt_Barrel"]; if(mChMultiplicity_lowPt_Forward && mChMultiplicity_lowPt_Forward->getRootObject()) mChMultiplicity_lowPt_Forward->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutMultiplicity_lowPt_Barrel = map_of_MEs[DirName+"/"+"NeutMultiplicity_lowPt_Barrel"]; if(mNeutMultiplicity_lowPt_Forward && mNeutMultiplicity_lowPt_Forward->getRootObject()) mNeutMultiplicity_lowPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity()); } if ((*pfJets)[ijet].pt()>50. && (*pfJets)[ijet].pt()<=140.) { - mHFEFrac_mediumPt_Forward = dbe_->get(DirName+"/"+"HFEFrac_mediumPt_Forward"); if(mHFEFrac_mediumPt_Forward && mHFEFrac_mediumPt_Forward->getRootObject()) mHFEFrac_mediumPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction()); - mHFEFrac_mediumPt_Forward = dbe_->get(DirName+"/"+"HFEFrac_mediumPt_Forward"); if(mHFHFrac_mediumPt_Forward && mHFHFrac_mediumPt_Forward->getRootObject()) mHFHFrac_mediumPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction()); - mHFEEn_mediumPt_Forward = dbe_->get(DirName+"/"+"HFEEn_mediumPt_Forward"); if(mHFEEn_mediumPt_Forward && mHFEEn_mediumPt_Forward->getRootObject()) mHFEEn_mediumPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy()); - mHFHEn_mediumPt_Forward = dbe_->get(DirName+"/"+"HFHEn_mediumPt_Forward"); if(mHFHEn_mediumPt_Forward && mHFHEn_mediumPt_Forward->getRootObject()) mHFHEn_mediumPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy()); - mChMultiplicity_mediumPt_Barrel = dbe_->get(DirName+"/"+"ChMultiplicity_mediumPt_Barrel"); if(mChMultiplicity_mediumPt_Forward && mChMultiplicity_mediumPt_Forward->getRootObject()) mChMultiplicity_mediumPt_Forward->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutMultiplicity_mediumPt_Barrel = dbe_->get(DirName+"/"+"NeutMultiplicity_mediumPt_Barrel"); if(mNeutMultiplicity_mediumPt_Forward && mNeutMultiplicity_mediumPt_Forward->getRootObject()) mNeutMultiplicity_mediumPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity()); + mHFEFrac_mediumPt_Forward = map_of_MEs[DirName+"/"+"HFEFrac_mediumPt_Forward"]; if(mHFEFrac_mediumPt_Forward && mHFEFrac_mediumPt_Forward->getRootObject()) mHFEFrac_mediumPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction()); + mHFEFrac_mediumPt_Forward = map_of_MEs[DirName+"/"+"HFEFrac_mediumPt_Forward"]; if(mHFHFrac_mediumPt_Forward && mHFHFrac_mediumPt_Forward->getRootObject()) mHFHFrac_mediumPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction()); + mHFEEn_mediumPt_Forward = map_of_MEs[DirName+"/"+"HFEEn_mediumPt_Forward"]; if(mHFEEn_mediumPt_Forward && mHFEEn_mediumPt_Forward->getRootObject()) mHFEEn_mediumPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy()); + mHFHEn_mediumPt_Forward = map_of_MEs[DirName+"/"+"HFHEn_mediumPt_Forward"]; if(mHFHEn_mediumPt_Forward && mHFHEn_mediumPt_Forward->getRootObject()) mHFHEn_mediumPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy()); + mChMultiplicity_mediumPt_Barrel = map_of_MEs[DirName+"/"+"ChMultiplicity_mediumPt_Barrel"]; if(mChMultiplicity_mediumPt_Forward && mChMultiplicity_mediumPt_Forward->getRootObject()) mChMultiplicity_mediumPt_Forward->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutMultiplicity_mediumPt_Barrel = map_of_MEs[DirName+"/"+"NeutMultiplicity_mediumPt_Barrel"]; if(mNeutMultiplicity_mediumPt_Forward && mNeutMultiplicity_mediumPt_Forward->getRootObject()) mNeutMultiplicity_mediumPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity()); } if ((*pfJets)[ijet].pt()>140.) { - mHFEFrac_highPt_Forward = dbe_->get(DirName+"/"+"HFEFrac_highPt_Forward"); if(mHFEFrac_highPt_Forward && mHFEFrac_highPt_Forward->getRootObject()) mHFEFrac_highPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction()); - mHFEFrac_highPt_Forward = dbe_->get(DirName+"/"+"HFEFrac_highPt_Forward"); if(mHFHFrac_highPt_Forward && mHFHFrac_highPt_Forward->getRootObject()) mHFHFrac_highPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction()); - mHFEEn_highPt_Forward = dbe_->get(DirName+"/"+"HFEEn_highPt_Forward"); if(mHFEEn_highPt_Forward && mHFEEn_highPt_Forward->getRootObject()) mHFEEn_highPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy()); - mHFHEn_highPt_Forward = dbe_->get(DirName+"/"+"HFHEn_highPt_Forward"); if(mHFHEn_highPt_Forward && mHFHEn_highPt_Forward->getRootObject()) mHFHEn_highPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy()); - mChMultiplicity_highPt_Barrel = dbe_->get(DirName+"/"+"ChMultiplicity_highPt_Barrel"); if(mChMultiplicity_highPt_Forward && mChMultiplicity_highPt_Forward->getRootObject()) mChMultiplicity_highPt_Forward->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutMultiplicity_highPt_Barrel = dbe_->get(DirName+"/"+"NeutMultiplicity_highPt_Barrel"); if(mNeutMultiplicity_highPt_Forward && mNeutMultiplicity_highPt_Forward->getRootObject()) mNeutMultiplicity_highPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity()); + mHFEFrac_highPt_Forward = map_of_MEs[DirName+"/"+"HFEFrac_highPt_Forward"]; if(mHFEFrac_highPt_Forward && mHFEFrac_highPt_Forward->getRootObject()) mHFEFrac_highPt_Forward->Fill((*pfJets)[ijet].HFEMEnergyFraction()); + mHFEFrac_highPt_Forward = map_of_MEs[DirName+"/"+"HFEFrac_highPt_Forward"]; if(mHFHFrac_highPt_Forward && mHFHFrac_highPt_Forward->getRootObject()) mHFHFrac_highPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergyFraction()); + mHFEEn_highPt_Forward = map_of_MEs[DirName+"/"+"HFEEn_highPt_Forward"]; if(mHFEEn_highPt_Forward && mHFEEn_highPt_Forward->getRootObject()) mHFEEn_highPt_Forward->Fill((*pfJets)[ijet].HFEMEnergy()); + mHFHEn_highPt_Forward = map_of_MEs[DirName+"/"+"HFHEn_highPt_Forward"]; if(mHFHEn_highPt_Forward && mHFHEn_highPt_Forward->getRootObject()) mHFHEn_highPt_Forward->Fill((*pfJets)[ijet].HFHadronEnergy()); + mChMultiplicity_highPt_Barrel = map_of_MEs[DirName+"/"+"ChMultiplicity_highPt_Barrel"]; if(mChMultiplicity_highPt_Forward && mChMultiplicity_highPt_Forward->getRootObject()) mChMultiplicity_highPt_Forward->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutMultiplicity_highPt_Barrel = map_of_MEs[DirName+"/"+"NeutMultiplicity_highPt_Barrel"]; if(mNeutMultiplicity_highPt_Forward && mNeutMultiplicity_highPt_Forward->getRootObject()) mNeutMultiplicity_highPt_Forward->Fill((*pfJets)[ijet].neutralMultiplicity()); } } - mChargedHadronEnergy = dbe_->get(DirName+"/"+"ChargedHadronEnergy"); if (mChargedHadronEnergy && mChargedHadronEnergy->getRootObject()) mChargedHadronEnergy->Fill ((*pfJets)[ijet].chargedHadronEnergy()); - mNeutralHadronEnergy = dbe_->get(DirName+"/"+"NeutralHadronEnergy"); if (mNeutralHadronEnergy && mNeutralHadronEnergy->getRootObject()) mNeutralHadronEnergy->Fill ((*pfJets)[ijet].neutralHadronEnergy()); - mChargedEmEnergy = dbe_->get(DirName+"/"+"ChargedEmEnergy"); if (mChargedEmEnergy && mChargedEmEnergy->getRootObject()) mChargedEmEnergy->Fill((*pfJets)[ijet].chargedEmEnergy()); - mChargedMuEnergy = dbe_->get(DirName+"/"+"ChargedMuEnergy"); if (mChargedMuEnergy && mChargedMuEnergy->getRootObject()) mChargedMuEnergy->Fill ((*pfJets)[ijet].chargedMuEnergy ()); - mNeutralEmEnergy = dbe_->get(DirName+"/"+"NeutralEmEnergy"); if (mNeutralEmEnergy && mNeutralEmEnergy->getRootObject()) mNeutralEmEnergy->Fill((*pfJets)[ijet].neutralEmEnergy()); - mChargedMultiplicity = dbe_->get(DirName+"/"+"ChargedMultiplicity"); if (mChargedMultiplicity && mChargedMultiplicity->getRootObject()) mChargedMultiplicity->Fill((*pfJets)[ijet].chargedMultiplicity()); - mNeutralMultiplicity = dbe_->get(DirName+"/"+"NeutralMultiplicity"); if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject()) mNeutralMultiplicity->Fill((*pfJets)[ijet].neutralMultiplicity()); - mMuonMultiplicity = dbe_->get(DirName+"/"+"MuonMultiplicity"); if (mMuonMultiplicity && mMuonMultiplicity->getRootObject()) mMuonMultiplicity->Fill ((*pfJets)[ijet]. muonMultiplicity()); + mChargedHadronEnergy = map_of_MEs[DirName+"/"+"ChargedHadronEnergy"]; if (mChargedHadronEnergy && mChargedHadronEnergy->getRootObject()) mChargedHadronEnergy->Fill ((*pfJets)[ijet].chargedHadronEnergy()); + mNeutralHadronEnergy = map_of_MEs[DirName+"/"+"NeutralHadronEnergy"]; if (mNeutralHadronEnergy && mNeutralHadronEnergy->getRootObject()) mNeutralHadronEnergy->Fill ((*pfJets)[ijet].neutralHadronEnergy()); + mChargedEmEnergy = map_of_MEs[DirName+"/"+"ChargedEmEnergy"]; if (mChargedEmEnergy && mChargedEmEnergy->getRootObject()) mChargedEmEnergy->Fill((*pfJets)[ijet].chargedEmEnergy()); + mChargedMuEnergy = map_of_MEs[DirName+"/"+"ChargedMuEnergy"]; if (mChargedMuEnergy && mChargedMuEnergy->getRootObject()) mChargedMuEnergy->Fill ((*pfJets)[ijet].chargedMuEnergy ()); + mNeutralEmEnergy = map_of_MEs[DirName+"/"+"NeutralEmEnergy"]; if (mNeutralEmEnergy && mNeutralEmEnergy->getRootObject()) mNeutralEmEnergy->Fill((*pfJets)[ijet].neutralEmEnergy()); + mChargedMultiplicity = map_of_MEs[DirName+"/"+"ChargedMultiplicity"]; if (mChargedMultiplicity && mChargedMultiplicity->getRootObject()) mChargedMultiplicity->Fill((*pfJets)[ijet].chargedMultiplicity()); + mNeutralMultiplicity = map_of_MEs[DirName+"/"+"NeutralMultiplicity"]; if (mNeutralMultiplicity && mNeutralMultiplicity->getRootObject()) mNeutralMultiplicity->Fill((*pfJets)[ijet].neutralMultiplicity()); + mMuonMultiplicity = map_of_MEs[DirName+"/"+"MuonMultiplicity"]; if (mMuonMultiplicity && mMuonMultiplicity->getRootObject()) mMuonMultiplicity->Fill ((*pfJets)[ijet]. muonMultiplicity()); //_______________________________________________________ - mNeutralFraction = dbe_->get(DirName+"/"+"NeutralConstituentsFraction");if (mNeutralFraction && mNeutralFraction->getRootObject()) mNeutralFraction->Fill ((double)(*pfJets)[ijet].neutralMultiplicity()/(double)(*pfJets)[ijet].nConstituents()); + mNeutralFraction = map_of_MEs[DirName+"/"+"NeutralConstituentsFraction"];if (mNeutralFraction && mNeutralFraction->getRootObject()) mNeutralFraction->Fill ((double)(*pfJets)[ijet].neutralMultiplicity()/(double)(*pfJets)[ijet].nConstituents()); - mHFrac_profile = dbe_->get(DirName+"/"+"HFrac_profile"); if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*pfJets)[ijet].chargedHadronEnergyFraction() + (*pfJets)[ijet].neutralHadronEnergyFraction()); - mEFrac_profile = dbe_->get(DirName+"/"+"EFrac_profile"); if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*pfJets)[ijet].chargedEmEnergyFraction() + (*pfJets)[ijet].neutralEmEnergyFraction()); + mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*pfJets)[ijet].chargedHadronEnergyFraction() + (*pfJets)[ijet].neutralHadronEnergyFraction()); + mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*pfJets)[ijet].chargedEmEnergyFraction() + (*pfJets)[ijet].neutralEmEnergyFraction()); - mChargedHadronEnergy_profile = dbe_->get(DirName+"/"+"ChargedHadronEnergy_profile"); if (mChargedHadronEnergy_profile && mChargedHadronEnergy_profile->getRootObject()) mChargedHadronEnergy_profile->Fill(numPV, (*pfJets)[ijet].chargedHadronEnergy()); - mNeutralHadronEnergy_profile = dbe_->get(DirName+"/"+"NeutralHadronEnergy_profile");if (mNeutralHadronEnergy_profile && mNeutralHadronEnergy_profile->getRootObject()) mNeutralHadronEnergy_profile->Fill(numPV, (*pfJets)[ijet].neutralHadronEnergy()); - mChargedEmEnergy_profile = dbe_->get(DirName+"/"+"ChargedEmEnergy_profile"); if (mChargedEmEnergy_profile && mChargedEmEnergy_profile->getRootObject()) mChargedEmEnergy_profile ->Fill(numPV, (*pfJets)[ijet].chargedEmEnergy()); - mChargedMuEnergy_profile = dbe_->get(DirName+"/"+"ChargedMuEnergy_profile");if (mChargedMuEnergy_profile && mChargedMuEnergy_profile->getRootObject()) mChargedMuEnergy_profile ->Fill(numPV, (*pfJets)[ijet].chargedMuEnergy ()); - mNeutralEmEnergy_profile = dbe_->get(DirName+"/"+"NeutralEmEnergy_profile");if (mNeutralEmEnergy_profile && mNeutralEmEnergy_profile->getRootObject()) mNeutralEmEnergy_profile ->Fill(numPV, (*pfJets)[ijet].neutralEmEnergy()); - mChargedMultiplicity_profile = dbe_->get(DirName+"/"+"ChargedMultiplicity_profile"); if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject()) mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].chargedMultiplicity()); - mNeutralMultiplicity_profile = dbe_->get(DirName+"/"+"NeutralMultiplicity_profile");if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject()) mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].neutralMultiplicity()); - mMuonMultiplicity_profile = dbe_->get(DirName+"/"+"MuonMultiplicity_profile"); if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject()) mMuonMultiplicity_profile ->Fill(numPV, (*pfJets)[ijet].muonMultiplicity()); + mChargedHadronEnergy_profile = map_of_MEs[DirName+"/"+"ChargedHadronEnergy_profile"]; if (mChargedHadronEnergy_profile && mChargedHadronEnergy_profile->getRootObject()) mChargedHadronEnergy_profile->Fill(numPV, (*pfJets)[ijet].chargedHadronEnergy()); + mNeutralHadronEnergy_profile = map_of_MEs[DirName+"/"+"NeutralHadronEnergy_profile"];if (mNeutralHadronEnergy_profile && mNeutralHadronEnergy_profile->getRootObject()) mNeutralHadronEnergy_profile->Fill(numPV, (*pfJets)[ijet].neutralHadronEnergy()); + mChargedEmEnergy_profile = map_of_MEs[DirName+"/"+"ChargedEmEnergy_profile"]; if (mChargedEmEnergy_profile && mChargedEmEnergy_profile->getRootObject()) mChargedEmEnergy_profile ->Fill(numPV, (*pfJets)[ijet].chargedEmEnergy()); + mChargedMuEnergy_profile = map_of_MEs[DirName+"/"+"ChargedMuEnergy_profile"];if (mChargedMuEnergy_profile && mChargedMuEnergy_profile->getRootObject()) mChargedMuEnergy_profile ->Fill(numPV, (*pfJets)[ijet].chargedMuEnergy ()); + mNeutralEmEnergy_profile = map_of_MEs[DirName+"/"+"NeutralEmEnergy_profile"];if (mNeutralEmEnergy_profile && mNeutralEmEnergy_profile->getRootObject()) mNeutralEmEnergy_profile ->Fill(numPV, (*pfJets)[ijet].neutralEmEnergy()); + mChargedMultiplicity_profile = map_of_MEs[DirName+"/"+"ChargedMultiplicity_profile"]; if (mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject()) mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].chargedMultiplicity()); + mNeutralMultiplicity_profile = map_of_MEs[DirName+"/"+"NeutralMultiplicity_profile"];if (mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject()) mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ijet].neutralMultiplicity()); + mMuonMultiplicity_profile = map_of_MEs[DirName+"/"+"MuonMultiplicity_profile"]; if (mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject()) mMuonMultiplicity_profile ->Fill(numPV, (*pfJets)[ijet].muonMultiplicity()); }//cleaned PFJets }//PFJet specific loop @@ -1604,16 +1956,16 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu //fill JetID efficiencies if uncleaned selection is chosen if(!jetCleaningFlag_){ if(jetpassid) { - mLooseJIDPassFractionVSeta = dbe_->get(DirName+"/"+"JetIDPassFractionVSeta"); if (mLooseJIDPassFractionVSeta && mLooseJIDPassFractionVSeta->getRootObject()) mLooseJIDPassFractionVSeta->Fill(correctedJet.eta(),1.); - mLooseJIDPassFractionVSpt = dbe_->get(DirName+"/"+"JetIDPassFractionVSpt"); if (mLooseJIDPassFractionVSpt && mLooseJIDPassFractionVSpt->getRootObject()) mLooseJIDPassFractionVSpt->Fill(correctedJet.pt(),1.); + mLooseJIDPassFractionVSeta = map_of_MEs[DirName+"/"+"JetIDPassFractionVSeta"]; if (mLooseJIDPassFractionVSeta && mLooseJIDPassFractionVSeta->getRootObject()) mLooseJIDPassFractionVSeta->Fill(correctedJet.eta(),1.); + mLooseJIDPassFractionVSpt = map_of_MEs[DirName+"/"+"JetIDPassFractionVSpt"]; if (mLooseJIDPassFractionVSpt && mLooseJIDPassFractionVSpt->getRootObject()) mLooseJIDPassFractionVSpt->Fill(correctedJet.pt(),1.); if(correctedJet.eta()<3.0){ - mLooseJIDPassFractionVSptNoHF= dbe_->get(DirName+"/"+"JetIDPassFractionVSptNoHF"); if (mLooseJIDPassFractionVSptNoHF && mLooseJIDPassFractionVSptNoHF->getRootObject()) mLooseJIDPassFractionVSptNoHF->Fill(correctedJet.pt(),1.); + mLooseJIDPassFractionVSptNoHF= map_of_MEs[DirName+"/"+"JetIDPassFractionVSptNoHF"]; if (mLooseJIDPassFractionVSptNoHF && mLooseJIDPassFractionVSptNoHF->getRootObject()) mLooseJIDPassFractionVSptNoHF->Fill(correctedJet.pt(),1.); } } else { - mLooseJIDPassFractionVSeta = dbe_->get(DirName+"/"+"JetIDPassFractionVSeta"); if (mLooseJIDPassFractionVSeta && mLooseJIDPassFractionVSeta->getRootObject()) mLooseJIDPassFractionVSeta->Fill(correctedJet.eta(),0.); - mLooseJIDPassFractionVSpt = dbe_->get(DirName+"/"+"JetIDPassFractionVSpt"); if (mLooseJIDPassFractionVSpt && mLooseJIDPassFractionVSpt->getRootObject()) mLooseJIDPassFractionVSpt->Fill(correctedJet.pt(),0.); + mLooseJIDPassFractionVSeta = map_of_MEs[DirName+"/"+"JetIDPassFractionVSeta"]; if (mLooseJIDPassFractionVSeta && mLooseJIDPassFractionVSeta->getRootObject()) mLooseJIDPassFractionVSeta->Fill(correctedJet.eta(),0.); + mLooseJIDPassFractionVSpt = map_of_MEs[DirName+"/"+"JetIDPassFractionVSpt"]; if (mLooseJIDPassFractionVSpt && mLooseJIDPassFractionVSpt->getRootObject()) mLooseJIDPassFractionVSpt->Fill(correctedJet.pt(),0.); if(correctedJet.eta()<3.0){ - mLooseJIDPassFractionVSptNoHF= dbe_->get(DirName+"/"+"JetIDPassFractionVSptNoHF"); if (mLooseJIDPassFractionVSptNoHF && mLooseJIDPassFractionVSptNoHF->getRootObject()) mLooseJIDPassFractionVSptNoHF->Fill(correctedJet.pt(),0.); + mLooseJIDPassFractionVSptNoHF= map_of_MEs[DirName+"/"+"JetIDPassFractionVSptNoHF"]; if (mLooseJIDPassFractionVSptNoHF && mLooseJIDPassFractionVSptNoHF->getRootObject()) mLooseJIDPassFractionVSptNoHF->Fill(correctedJet.pt(),0.); } } } @@ -1622,82 +1974,82 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu numofjets++; if(isCaloJet_){ - jetME = dbe_->get(DirName+"/"+"jetReco"); if(jetME && jetME->getRootObject()) jetME->Fill(1); - mJetEnergyCorr = dbe_->get(DirName+"/"+"JetEnergyCorr"); if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(correctedJet.pt()/(*caloJets)[ijet].pt()); - mJetEnergyCorrVSEta = dbe_->get(DirName+"/"+"JetEnergyCorrVSEta"); if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(correctedJet.eta(),correctedJet.pt()/(*caloJets)[ijet].pt()); - mJetEnergyCorrVSPt = dbe_->get(DirName+"/"+"JetEnergyCorrVSPt"); if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(correctedJet.pt(),correctedJet.pt()/(*caloJets)[ijet].pt()); + jetME = map_of_MEs[DirName+"/"+"jetReco"]; if(jetME && jetME->getRootObject()) jetME->Fill(1); + mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(correctedJet.pt()/(*caloJets)[ijet].pt()); + mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(correctedJet.eta(),correctedJet.pt()/(*caloJets)[ijet].pt()); + mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(correctedJet.pt(),correctedJet.pt()/(*caloJets)[ijet].pt()); } if(isPFJet_){ - jetME = dbe_->get(DirName+"/"+"jetReco"); if(jetME && jetME->getRootObject()) jetME->Fill(2); - mJetEnergyCorr = dbe_->get(DirName+"/"+"JetEnergyCorr"); if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(correctedJet.pt()/(*pfJets)[ijet].pt()); - mJetEnergyCorrVSEta = dbe_->get(DirName+"/"+"JetEnergyCorrVSEta"); if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())mJetEnergyCorrVSEta->Fill(correctedJet.eta(),correctedJet.pt()/(*pfJets)[ijet].pt()); - mJetEnergyCorrVSPt = dbe_->get(DirName+"/"+"JetEnergyCorrVSPt"); if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(correctedJet.pt(),correctedJet.pt()/(*pfJets)[ijet].pt()); - } - if(isJPTJet_){ - jetME = dbe_->get(DirName+"/"+"jetReco"); if(jetME && jetME->getRootObject()) jetME->Fill(3); - mJetEnergyCorr = dbe_->get(DirName+"/"+"JetEnergyCorr"); if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(correctedJet.pt()/(*jptJets)[ijet].pt()); - mJetEnergyCorrVSEta = dbe_->get(DirName+"/"+"JetEnergyCorrVSEta"); if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())mJetEnergyCorrVSEta->Fill(correctedJet.eta(),correctedJet.pt()/(*jptJets)[ijet].pt()); - mJetEnergyCorrVSPt = dbe_->get(DirName+"/"+"JetEnergyCorrVSPt"); if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(correctedJet.pt(),correctedJet.pt()/(*jptJets)[ijet].pt()); + jetME = map_of_MEs[DirName+"/"+"jetReco"]; if(jetME && jetME->getRootObject()) jetME->Fill(2); + mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(correctedJet.pt()/(*pfJets)[ijet].pt()); + mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())mJetEnergyCorrVSEta->Fill(correctedJet.eta(),correctedJet.pt()/(*pfJets)[ijet].pt()); + mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(correctedJet.pt(),correctedJet.pt()/(*pfJets)[ijet].pt()); } + //if(isJPTJet_){ + //jetME = map_of_MEs[DirName+"/"+"jetReco"]; if(jetME && jetME->getRootObject()) jetME->Fill(3); + //mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(correctedJet.pt()/(*jptJets)[ijet].pt()); + //mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject())mJetEnergyCorrVSEta->Fill(correctedJet.eta(),correctedJet.pt()/(*jptJets)[ijet].pt()); + //mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(correctedJet.pt(),correctedJet.pt()/(*jptJets)[ijet].pt()); + //} // --- Event passed the low pt jet trigger if (jetLoPass_ == 1) { - mPhi_Lo = dbe_->get(DirName+"/"+"Phi_Lo"); if (mPhi_Lo && mPhi_Lo->getRootObject()) mPhi_Lo->Fill (correctedJet.phi()); - mPt_Lo = dbe_->get(DirName+"/"+"Pt_Lo"); if (mPt_Lo && mPt_Lo->getRootObject()) mPt_Lo->Fill (correctedJet.pt()); + mPhi_Lo = map_of_MEs[DirName+"/"+"Phi_Lo"]; if (mPhi_Lo && mPhi_Lo->getRootObject()) mPhi_Lo->Fill (correctedJet.phi()); + mPt_Lo = map_of_MEs[DirName+"/"+"Pt_Lo"]; if (mPt_Lo && mPt_Lo->getRootObject()) mPt_Lo->Fill (correctedJet.pt()); } // --- Event passed the high pt jet trigger if (jetHiPass_ == 1&& correctedJet.pt()>100. ) { - mEta_Hi = dbe_->get(DirName+"/"+"Eta_Hi"); if (mEta_Hi && mEta_Hi->getRootObject()) mEta_Hi->Fill (correctedJet.eta()); - mPhi_Hi = dbe_->get(DirName+"/"+"Phi_Hi"); if (mPhi_Hi && mPhi_Hi->getRootObject()) mPhi_Hi->Fill (correctedJet.phi()); - mPt_Hi = dbe_->get(DirName+"/"+"Pt_Hi"); if (mPt_Hi && mPt_Hi->getRootObject()) mPt_Hi->Fill (correctedJet.pt()); + mEta_Hi = map_of_MEs[DirName+"/"+"Eta_Hi"]; if (mEta_Hi && mEta_Hi->getRootObject()) mEta_Hi->Fill (correctedJet.eta()); + mPhi_Hi = map_of_MEs[DirName+"/"+"Phi_Hi"]; if (mPhi_Hi && mPhi_Hi->getRootObject()) mPhi_Hi->Fill (correctedJet.phi()); + mPt_Hi = map_of_MEs[DirName+"/"+"Pt_Hi"]; if (mPt_Hi && mPt_Hi->getRootObject()) mPt_Hi->Fill (correctedJet.pt()); } - mPt = dbe_->get(DirName+"/"+"Pt"); if (mPt && mPt->getRootObject()) mPt->Fill (correctedJet.pt()); - mPt_1 = dbe_->get(DirName+"/"+"Pt_1"); if (mPt_1 && mPt_1->getRootObject()) mPt_1->Fill (correctedJet.pt()); - mPt_2 = dbe_->get(DirName+"/"+"Pt_2"); if (mPt_2 && mPt_2->getRootObject()) mPt_2->Fill (correctedJet.pt()); - mPt_3 = dbe_->get(DirName+"/"+"Pt_3"); if (mPt_3 && mPt_3->getRootObject()) mPt_3->Fill (correctedJet.pt()); - mEta = dbe_->get(DirName+"/"+"Eta"); if (mEta && mEta->getRootObject()) mEta->Fill (correctedJet.eta()); - mPhi = dbe_->get(DirName+"/"+"Phi"); if (mPhi && mPhi->getRootObject()) mPhi->Fill (correctedJet.phi()); + mPt = map_of_MEs[DirName+"/"+"Pt"]; if (mPt && mPt->getRootObject()) mPt->Fill (correctedJet.pt()); + mPt_1 = map_of_MEs[DirName+"/"+"Pt_1"]; if (mPt_1 && mPt_1->getRootObject()) mPt_1->Fill (correctedJet.pt()); + mPt_2 = map_of_MEs[DirName+"/"+"Pt_2"]; if (mPt_2 && mPt_2->getRootObject()) mPt_2->Fill (correctedJet.pt()); + mPt_3 = map_of_MEs[DirName+"/"+"Pt_3"]; if (mPt_3 && mPt_3->getRootObject()) mPt_3->Fill (correctedJet.pt()); + mEta = map_of_MEs[DirName+"/"+"Eta"]; if (mEta && mEta->getRootObject()) mEta->Fill (correctedJet.eta()); + mPhi = map_of_MEs[DirName+"/"+"Phi"]; if (mPhi && mPhi->getRootObject()) mPhi->Fill (correctedJet.phi()); - mPhiVSEta = dbe_->get(DirName+"/"+"PhiVSEta"); if (mPhiVSEta && mPhiVSEta->getRootObject()) mPhiVSEta->Fill(correctedJet.eta(),correctedJet.phi()); - if(!isJPTJet_){ - mConstituents = dbe_->get(DirName+"/"+"Constituents"); if (mConstituents && mConstituents->getRootObject()) mConstituents->Fill (correctedJet.nConstituents()); - } + mPhiVSEta = map_of_MEs[DirName+"/"+"PhiVSEta"]; if (mPhiVSEta && mPhiVSEta->getRootObject()) mPhiVSEta->Fill(correctedJet.eta(),correctedJet.phi()); + //if(!isJPTJet_){ + mConstituents = map_of_MEs[DirName+"/"+"Constituents"]; if (mConstituents && mConstituents->getRootObject()) mConstituents->Fill (correctedJet.nConstituents()); + //} // Fill NPV profiles //-------------------------------------------------------------------- - mPt_profile = dbe_->get(DirName+"/"+"Pt_profile"); if (mPt_profile && mPt_profile->getRootObject()) mPt_profile ->Fill(numPV, correctedJet.pt()); - mEta_profile = dbe_->get(DirName+"/"+"Eta_profile"); if (mEta_profile && mEta_profile->getRootObject()) mEta_profile ->Fill(numPV, correctedJet.eta()); - mPhi_profile = dbe_->get(DirName+"/"+"Phi_profile"); if (mPhi_profile && mPhi_profile->getRootObject()) mPhi_profile ->Fill(numPV, correctedJet.phi()); - if(!isJPTJet_){ - mConstituents_profile = dbe_->get(DirName+"/"+"Constituents_profile"); if (mConstituents_profile && mConstituents_profile->getRootObject()) mConstituents_profile->Fill(numPV, correctedJet.nConstituents()); - } + mPt_profile = map_of_MEs[DirName+"/"+"Pt_profile"]; if (mPt_profile && mPt_profile->getRootObject()) mPt_profile ->Fill(numPV, correctedJet.pt()); + mEta_profile = map_of_MEs[DirName+"/"+"Eta_profile"]; if (mEta_profile && mEta_profile->getRootObject()) mEta_profile ->Fill(numPV, correctedJet.eta()); + mPhi_profile = map_of_MEs[DirName+"/"+"Phi_profile"]; if (mPhi_profile && mPhi_profile->getRootObject()) mPhi_profile ->Fill(numPV, correctedJet.phi()); + //if(!isJPTJet_){ + mConstituents_profile = map_of_MEs[DirName+"/"+"Constituents_profile"]; if (mConstituents_profile && mConstituents_profile->getRootObject()) mConstituents_profile->Fill(numPV, correctedJet.nConstituents()); + //} if (fabs(correctedJet.eta()) <= 1.3) { - mPt_Barrel = dbe_->get(DirName+"/"+"Pt_Barrel"); if (mPt_Barrel && mPt_Barrel->getRootObject()) mPt_Barrel->Fill (correctedJet.pt()); - mPhi_Barrel = dbe_->get(DirName+"/"+"Phi_Barrel"); if (mPhi_Barrel && mPhi_Barrel->getRootObject()) mPhi_Barrel->Fill (correctedJet.phi()); + mPt_Barrel = map_of_MEs[DirName+"/"+"Pt_Barrel"]; if (mPt_Barrel && mPt_Barrel->getRootObject()) mPt_Barrel->Fill (correctedJet.pt()); + mPhi_Barrel = map_of_MEs[DirName+"/"+"Phi_Barrel"]; if (mPhi_Barrel && mPhi_Barrel->getRootObject()) mPhi_Barrel->Fill (correctedJet.phi()); //if (mE_Barrel) mE_Barrel->Fill (correctedJet.energy()); - if(!isJPTJet_){ - mConstituents_Barrel = dbe_->get(DirName+"/"+"Constituents_Barrel"); if (mConstituents_Barrel && mConstituents_Barrel->getRootObject()) mConstituents_Barrel->Fill(correctedJet.nConstituents()); - } + //if(!isJPTJet_){ + mConstituents_Barrel = map_of_MEs[DirName+"/"+"Constituents_Barrel"]; if (mConstituents_Barrel && mConstituents_Barrel->getRootObject()) mConstituents_Barrel->Fill(correctedJet.nConstituents()); + //} }else if (fabs(correctedJet.eta()) <= 3) { - mPt_EndCap = dbe_->get(DirName+"/"+"Pt_EndCap"); if (mPt_EndCap && mPt_EndCap->getRootObject()) mPt_EndCap->Fill (correctedJet.pt()); - mPhi_EndCap = dbe_->get(DirName+"/"+"Phi_EndCap"); if (mPhi_EndCap && mPhi_EndCap->getRootObject()) mPhi_EndCap->Fill (correctedJet.phi()); + mPt_EndCap = map_of_MEs[DirName+"/"+"Pt_EndCap"]; if (mPt_EndCap && mPt_EndCap->getRootObject()) mPt_EndCap->Fill (correctedJet.pt()); + mPhi_EndCap = map_of_MEs[DirName+"/"+"Phi_EndCap"]; if (mPhi_EndCap && mPhi_EndCap->getRootObject()) mPhi_EndCap->Fill (correctedJet.phi()); //if (mE_EndCap) mE_EndCap->Fill (correctedJet.energy()); - if(!isJPTJet_){ - mConstituents_EndCap = dbe_->get(DirName+"/"+"Constituents_EndCap"); if (mConstituents_EndCap && mConstituents_EndCap->getRootObject()) mConstituents_EndCap->Fill(correctedJet.nConstituents()); - } + //if(!isJPTJet_){ + mConstituents_EndCap = map_of_MEs[DirName+"/"+"Constituents_EndCap"]; if (mConstituents_EndCap && mConstituents_EndCap->getRootObject()) mConstituents_EndCap->Fill(correctedJet.nConstituents()); + //} }else{ - mPt_Forward = dbe_->get(DirName+"/"+"Pt_Forward"); if (mPt_Forward && mPt_Forward->getRootObject()) mPt_Forward->Fill (correctedJet.pt()); - mPhi_Forward = dbe_->get(DirName+"/"+"Phi_Forward"); if (mPhi_Forward && mPhi_Forward->getRootObject()) mPhi_Forward->Fill (correctedJet.phi()); + mPt_Forward = map_of_MEs[DirName+"/"+"Pt_Forward"]; if (mPt_Forward && mPt_Forward->getRootObject()) mPt_Forward->Fill (correctedJet.pt()); + mPhi_Forward = map_of_MEs[DirName+"/"+"Phi_Forward"]; if (mPhi_Forward && mPhi_Forward->getRootObject()) mPhi_Forward->Fill (correctedJet.phi()); //if (mE_Forward) mE_Forward->Fill (correctedJet.energy()); - if(!isJPTJet_){ - mConstituents_Forward = dbe_->get(DirName+"/"+"Constituents_Forward"); if (mConstituents_Forward && mConstituents_Forward->getRootObject()) mConstituents_Forward->Fill(correctedJet.nConstituents()); - } + //if(!isJPTJet_){ + mConstituents_Forward = map_of_MEs[DirName+"/"+"Constituents_Forward"]; if (mConstituents_Forward && mConstituents_Forward->getRootObject()) mConstituents_Forward->Fill(correctedJet.nConstituents()); + //} } }// pass ID for corrected jets --> inclusive selection }//loop over uncorrected jets - mNJets = dbe_->get(DirName+"/"+"NJets"); if (mNJets && mNJets->getRootObject()) mNJets->Fill (numofjets); - mNJets_profile = dbe_->get(DirName+"/"+"NJets_profile"); if (mNJets_profile && mNJets_profile->getRootObject()) mNJets_profile->Fill(numPV, numofjets); + mNJets = map_of_MEs[DirName+"/"+"NJets"]; if (mNJets && mNJets->getRootObject()) mNJets->Fill (numofjets); + mNJets_profile = map_of_MEs[DirName+"/"+"NJets_profile"]; if (mNJets_profile && mNJets_profile->getRootObject()) mNJets_profile->Fill(numPV, numofjets); sort(recoJets.begin(),recoJets.end(),jetSortingRule); @@ -1706,24 +2058,24 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu //check ID of the leading jet if(cleaned_first_jet){ - mEtaFirst = dbe_->get(DirName+"/"+"EtaFirst"); if (mEtaFirst && mEtaFirst->getRootObject()) mEtaFirst->Fill ((recoJets)[0].eta()); - mPhiFirst = dbe_->get(DirName+"/"+"PhiFirst"); if (mPhiFirst && mPhiFirst->getRootObject()) mPhiFirst->Fill ((recoJets)[0].phi()); - mPtFirst = dbe_->get(DirName+"/"+"PtFirst"); if (mPtFirst && mPtFirst->getRootObject()) mPtFirst->Fill ((recoJets)[0].pt()); + mEtaFirst = map_of_MEs[DirName+"/"+"EtaFirst"]; if (mEtaFirst && mEtaFirst->getRootObject()) mEtaFirst->Fill ((recoJets)[0].eta()); + mPhiFirst = map_of_MEs[DirName+"/"+"PhiFirst"]; if (mPhiFirst && mPhiFirst->getRootObject()) mPhiFirst->Fill ((recoJets)[0].phi()); + mPtFirst = map_of_MEs[DirName+"/"+"PtFirst"]; if (mPtFirst && mPtFirst->getRootObject()) mPtFirst->Fill ((recoJets)[0].pt()); //check ID of second check for DPhi plots if(numofjets>1 && cleaned_second_jet) { double dphi=fabs((recoJets)[0].phi()-(recoJets)[1].phi()); if(dphi>acos(-1.)){ dphi=2*acos(-1.)-dphi; } - mDPhi = dbe_->get(DirName+"/"+"DPhi"); if (mDPhi && mDPhi->getRootObject()) mDPhi->Fill (dphi); + mDPhi = map_of_MEs[DirName+"/"+"DPhi"]; if (mDPhi && mDPhi->getRootObject()) mDPhi->Fill (dphi); } } - if(cleaned_second_jet && isJPTJet_){ - mPtSecond = dbe_->get(DirName+"/"+"PtSecond"); if (mPtSecond && mPtSecond->getRootObject()) mPtSecond->Fill(recoJets[1].pt()); - } - if(cleaned_third_jet && isJPTJet_){ - mPtThird = dbe_->get(DirName+"/"+"PtThird"); if (mPtThird && mPtThird->getRootObject()) mPtThird->Fill(recoJets[2].pt()); - } + //if(cleaned_second_jet && isJPTJet_){ + //mPtSecond = map_of_MEs[DirName+"/"+"PtSecond"]; if (mPtSecond && mPtSecond->getRootObject()) mPtSecond->Fill(recoJets[1].pt()); + //} + //if(cleaned_third_jet && isJPTJet_){ + //mPtThird = map_of_MEs[DirName+"/"+"PtThird"]; if (mPtThird && mPtThird->getRootObject()) mPtThird->Fill(recoJets[2].pt()); + //} } //dijet selection -> recoJets are on corrected level, both jets cleaned, fill folder only for cleaned jet selection if(jetCleaningFlag_ && recoJets.size()>1 && cleaned_first_jet && cleaned_second_jet ){ @@ -1738,7 +2090,7 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu if(dphi>acos(-1.)){ dphi=2*acos(-1.)-dphi; } - mDPhi = dbe_->get(DirName+"/"+"DPhi"); if (mDPhi && mDPhi->getRootObject()) if (mDPhi) mDPhi->Fill (dphi); + mDPhi = map_of_MEs[DirName+"/"+"DPhi"]; if (mDPhi && mDPhi->getRootObject()) if (mDPhi) mDPhi->Fill (dphi); //dphi cut if(fabs(dphi)>2.1){ if(isCaloJet_){ @@ -1747,158 +2099,159 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu reco::JetID jetID1 = (*jetID_ValueMap_Handle)[calojetref1]; reco::CaloJetRef calojetref2(caloJets, ind2); reco::JetID jetID2 = (*jetID_ValueMap_Handle)[calojetref2]; - mN90Hits = dbe_->get(DirName+"/"+"N90Hits"); if (mN90Hits && mN90Hits->getRootObject()) mN90Hits->Fill (jetID1.n90Hits); - mfHPD = dbe_->get(DirName+"/"+"fHPD"); if (mfHPD && mfHPD->getRootObject()) mfHPD->Fill (jetID1.fHPD); - mresEMF = dbe_->get(DirName+"/"+"resEMF"); if (mresEMF && mresEMF->getRootObject()) mresEMF->Fill (jetID1.restrictedEMF); - mfRBX = dbe_->get(DirName+"/"+"fRBX"); if (mfRBX && mfRBX->getRootObject()) mfRBX->Fill (jetID1.fRBX); - mN90Hits = dbe_->get(DirName+"/"+"N90Hits"); if (mN90Hits && mN90Hits->getRootObject()) mN90Hits->Fill (jetID2.n90Hits); - mfHPD = dbe_->get(DirName+"/"+"fHPD"); if (mfHPD && mfHPD->getRootObject()) mfHPD->Fill (jetID2.fHPD); - mresEMF = dbe_->get(DirName+"/"+"resEMF"); if (mresEMF && mresEMF->getRootObject()) mresEMF->Fill (jetID2.restrictedEMF); - mfRBX = dbe_->get(DirName+"/"+"fRBX"); if (mfRBX && mfRBX->getRootObject()) mfRBX->Fill (jetID2.fRBX); + mN90Hits = map_of_MEs[DirName+"/"+"N90Hits"]; if (mN90Hits && mN90Hits->getRootObject()) mN90Hits->Fill (jetID1.n90Hits); + mfHPD = map_of_MEs[DirName+"/"+"fHPD"]; if (mfHPD && mfHPD->getRootObject()) mfHPD->Fill (jetID1.fHPD); + mresEMF = map_of_MEs[DirName+"/"+"resEMF"]; if (mresEMF && mresEMF->getRootObject()) mresEMF->Fill (jetID1.restrictedEMF); + mfRBX = map_of_MEs[DirName+"/"+"fRBX"]; if (mfRBX && mfRBX->getRootObject()) mfRBX->Fill (jetID1.fRBX); + mN90Hits = map_of_MEs[DirName+"/"+"N90Hits"]; if (mN90Hits && mN90Hits->getRootObject()) mN90Hits->Fill (jetID2.n90Hits); + mfHPD = map_of_MEs[DirName+"/"+"fHPD"]; if (mfHPD && mfHPD->getRootObject()) mfHPD->Fill (jetID2.fHPD); + mresEMF = map_of_MEs[DirName+"/"+"resEMF"]; if (mresEMF && mresEMF->getRootObject()) mresEMF->Fill (jetID2.restrictedEMF); + mfRBX = map_of_MEs[DirName+"/"+"fRBX"]; if (mfRBX && mfRBX->getRootObject()) mfRBX->Fill (jetID2.fRBX); } - mHFrac = dbe_->get(DirName+"/"+"HFrac"); if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*caloJets)[ind1].energyFractionHadronic()); - mEFrac = dbe_->get(DirName+"/"+"EFrac"); if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*caloJets)[ind1].emEnergyFraction()); - mMaxEInEmTowers = dbe_->get(DirName+"/"+"MaxEInEmTowers"); if (mMaxEInEmTowers && mMaxEInEmTowers->getRootObject()) mMaxEInEmTowers->Fill ((*caloJets)[ind1].maxEInEmTowers()); - mMaxEInHadTowers = dbe_->get(DirName+"/"+"MaxEInHadTowers"); if (mMaxEInHadTowers && mMaxEInHadTowers->getRootObject()) mMaxEInHadTowers->Fill ((*caloJets)[ind1].maxEInHadTowers()); - mHFrac = dbe_->get(DirName+"/"+"HFrac"); if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*caloJets)[ind2].energyFractionHadronic()); - mEFrac = dbe_->get(DirName+"/"+"EFrac"); if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*caloJets)[ind2].emEnergyFraction()); - mMaxEInEmTowers = dbe_->get(DirName+"/"+"MaxEInEmTowers"); if (mMaxEInEmTowers && mMaxEInEmTowers->getRootObject()) mMaxEInEmTowers->Fill ((*caloJets)[ind2].maxEInEmTowers()); - mMaxEInHadTowers = dbe_->get(DirName+"/"+"MaxEInHadTowers"); if (mMaxEInHadTowers && mMaxEInHadTowers->getRootObject()) mMaxEInHadTowers->Fill ((*caloJets)[ind2].maxEInHadTowers()); - mHFrac_profile = dbe_->get(DirName+"/"+"HFrac_profile"); if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*caloJets)[ind1].energyFractionHadronic()); - mEFrac_profile = dbe_->get(DirName+"/"+"EFrac_profile"); if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*caloJets)[ind1].emEnergyFraction()); - mHFrac_profile = dbe_->get(DirName+"/"+"HFrac_profile"); if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*caloJets)[ind2].energyFractionHadronic()); - mEFrac_profile = dbe_->get(DirName+"/"+"EFrac_profile"); if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*caloJets)[ind2].emEnergyFraction()); - - mJetEnergyCorr = dbe_->get(DirName+"/"+"JetEnergyCorr"); if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[0].pt()/(*caloJets)[ind1].pt()); - mJetEnergyCorrVSEta = dbe_->get(DirName+"/"+"JetEnergyCorrVSEta"); if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[0].eta(),recoJets[0].pt()/(*caloJets)[ind1].pt()); - mJetEnergyCorrVSPt = dbe_->get(DirName+"/"+"JetEnergyCorrVSPt"); if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[0].pt(),recoJets[0].pt()/(*caloJets)[ind1].pt()); - mJetEnergyCorr = dbe_->get(DirName+"/"+"JetEnergyCorr"); if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[1].pt()/(*caloJets)[ind2].pt()); - mJetEnergyCorrVSEta = dbe_->get(DirName+"/"+"JetEnergyCorrVSEta"); if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[1].eta(),recoJets[1].pt()/(*caloJets)[ind2].pt()); - mJetEnergyCorrVSPt = dbe_->get(DirName+"/"+"JetEnergyCorrVSPt"); if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[1].pt(),recoJets[1].pt()/(*caloJets)[ind2].pt()); - } - if(isJPTJet_){ - mHFrac = dbe_->get(DirName+"/"+"HFrac"); if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction()); - mEFrac = dbe_->get(DirName+"/"+"EFrac"); if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction()); - mHFrac_profile = dbe_->get(DirName+"/"+"HFrac_profile"); mHFrac_profile ->Fill(numPV, (*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction()); - mEFrac_profile = dbe_->get(DirName+"/"+"EFrac_profile"); mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction()); - mHFrac = dbe_->get(DirName+"/"+"HFrac"); if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction()); - mEFrac = dbe_->get(DirName+"/"+"EFrac"); if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction()); - mHFrac_profile = dbe_->get(DirName+"/"+"HFrac_profile"); mHFrac_profile ->Fill(numPV, (*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction()); - mEFrac_profile = dbe_->get(DirName+"/"+"EFrac_profile"); mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction()); + mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*caloJets)[ind1].energyFractionHadronic()); + mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*caloJets)[ind1].emEnergyFraction()); + mMaxEInEmTowers = map_of_MEs[DirName+"/"+"MaxEInEmTowers"]; if (mMaxEInEmTowers && mMaxEInEmTowers->getRootObject()) mMaxEInEmTowers->Fill ((*caloJets)[ind1].maxEInEmTowers()); + mMaxEInHadTowers = map_of_MEs[DirName+"/"+"MaxEInHadTowers"]; if (mMaxEInHadTowers && mMaxEInHadTowers->getRootObject()) mMaxEInHadTowers->Fill ((*caloJets)[ind1].maxEInHadTowers()); + mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*caloJets)[ind2].energyFractionHadronic()); + mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*caloJets)[ind2].emEnergyFraction()); + mMaxEInEmTowers = map_of_MEs[DirName+"/"+"MaxEInEmTowers"]; if (mMaxEInEmTowers && mMaxEInEmTowers->getRootObject()) mMaxEInEmTowers->Fill ((*caloJets)[ind2].maxEInEmTowers()); + mMaxEInHadTowers = map_of_MEs[DirName+"/"+"MaxEInHadTowers"]; if (mMaxEInHadTowers && mMaxEInHadTowers->getRootObject()) mMaxEInHadTowers->Fill ((*caloJets)[ind2].maxEInHadTowers()); + mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*caloJets)[ind1].energyFractionHadronic()); + mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*caloJets)[ind1].emEnergyFraction()); + mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*caloJets)[ind2].energyFractionHadronic()); + mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*caloJets)[ind2].emEnergyFraction()); - mJetEnergyCorr = dbe_->get(DirName+"/"+"JetEnergyCorr"); if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[0].pt()/(*jptJets)[ind1].pt()); - mJetEnergyCorrVSEta = dbe_->get(DirName+"/"+"JetEnergyCorrVSEta"); if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[0].eta(),recoJets[0].pt()/(*jptJets)[ind1].pt()); - mJetEnergyCorrVSPt = dbe_->get(DirName+"/"+"JetEnergyCorrVSPt"); if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[0].pt(),recoJets[0].pt()/(*jptJets)[ind1].pt()); - mJetEnergyCorr = dbe_->get(DirName+"/"+"JetEnergyCorr"); if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[1].pt()/(*jptJets)[ind2].pt()); - mJetEnergyCorrVSEta = dbe_->get(DirName+"/"+"JetEnergyCorrVSEta"); if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[1].eta(),recoJets[1].pt()/(*jptJets)[ind2].pt()); - mJetEnergyCorrVSPt = dbe_->get(DirName+"/"+"JetEnergyCorrVSPt"); if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[1].pt(),recoJets[1].pt()/(*jptJets)[ind2].pt()); + mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[0].pt()/(*caloJets)[ind1].pt()); + mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[0].eta(),recoJets[0].pt()/(*caloJets)[ind1].pt()); + mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[0].pt(),recoJets[0].pt()/(*caloJets)[ind1].pt()); + mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[1].pt()/(*caloJets)[ind2].pt()); + mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[1].eta(),recoJets[1].pt()/(*caloJets)[ind2].pt()); + mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[1].pt(),recoJets[1].pt()/(*caloJets)[ind2].pt()); } + //if(isJPTJet_){ + //mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction()); + //mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction()); + //mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; mHFrac_profile ->Fill(numPV, (*jptJets)[ind1].chargedHadronEnergyFraction()+(*jptJets)[ind1].neutralHadronEnergyFraction()); + //mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind1].chargedHadronEnergyFraction()-(*jptJets)[ind1].neutralHadronEnergyFraction()); + //mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction()); + //mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill (1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction()); + //mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; mHFrac_profile ->Fill(numPV, (*jptJets)[ind2].chargedHadronEnergyFraction()+(*jptJets)[ind2].neutralHadronEnergyFraction()); + //mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; mEFrac_profile ->Fill(numPV, 1.-(*jptJets)[ind2].chargedHadronEnergyFraction()-(*jptJets)[ind2].neutralHadronEnergyFraction()); + // + //mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[0].pt()/(*jptJets)[ind1].pt()); + //mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[0].eta(),recoJets[0].pt()/(*jptJets)[ind1].pt()); + //mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[0].pt(),recoJets[0].pt()/(*jptJets)[ind1].pt()); + //mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[1].pt()/(*jptJets)[ind2].pt()); + //mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[1].eta(),recoJets[1].pt()/(*jptJets)[ind2].pt()); + //mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[1].pt(),recoJets[1].pt()/(*jptJets)[ind2].pt()); + //} if(isPFJet_){ - mHFrac = dbe_->get(DirName+"/"+"HFrac"); if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*pfJets)[ind1].chargedHadronEnergyFraction()+(*pfJets)[ind1].neutralHadronEnergyFraction()+(*pfJets)[ind1].HFHadronEnergyFraction()); - mEFrac = dbe_->get(DirName+"/"+"EFrac"); if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*pfJets)[ind1].chargedEmEnergyFraction() +(*pfJets)[ind1].neutralEmEnergyFraction()+(*pfJets)[ind1].HFEMEnergyFraction()); + mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*pfJets)[ind1].chargedHadronEnergyFraction()+(*pfJets)[ind1].neutralHadronEnergyFraction()+(*pfJets)[ind1].HFHadronEnergyFraction()); + mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*pfJets)[ind1].chargedEmEnergyFraction() +(*pfJets)[ind1].neutralEmEnergyFraction()+(*pfJets)[ind1].HFEMEnergyFraction()); - mCHFrac = dbe_->get(DirName+"/"+"CHFrac"); if (mCHFrac && mCHFrac->getRootObject()) mCHFrac ->Fill((*pfJets)[ind1].chargedHadronEnergyFraction()); - mNHFrac = dbe_->get(DirName+"/"+"NHFrac"); if (mNHFrac && mNHFrac->getRootObject()) mNHFrac ->Fill((*pfJets)[ind1].neutralHadronEnergyFraction()); - mPhFrac = dbe_->get(DirName+"/"+"PhFrac"); if (mPhFrac && mPhFrac->getRootObject()) mPhFrac ->Fill((*pfJets)[ind1].neutralEmEnergyFraction()); - mElFrac = dbe_->get(DirName+"/"+"ElFrac"); if (mElFrac && mElFrac->getRootObject()) mElFrac ->Fill((*pfJets)[ind1].chargedEmEnergyFraction()); - mMuFrac = dbe_->get(DirName+"/"+"MuFrac"); if (mMuFrac && mMuFrac->getRootObject()) mMuFrac ->Fill((*pfJets)[ind1].chargedMuEnergyFraction()); - mHFEMFrac = dbe_->get(DirName+"/"+"HFEMFrac"); if (mHFEMFrac && mHFEMFrac->getRootObject()) mHFEMFrac ->Fill((*pfJets)[ind1].HFEMEnergyFraction()); - mHFHFrac = dbe_->get(DirName+"/"+"HFHFrac"); if (mHFHFrac && mHFHFrac->getRootObject()) mHFHFrac ->Fill((*pfJets)[ind1].HFHadronEnergyFraction()); + mCHFrac = map_of_MEs[DirName+"/"+"CHFrac"]; if (mCHFrac && mCHFrac->getRootObject()) mCHFrac ->Fill((*pfJets)[ind1].chargedHadronEnergyFraction()); + mNHFrac = map_of_MEs[DirName+"/"+"NHFrac"]; if (mNHFrac && mNHFrac->getRootObject()) mNHFrac ->Fill((*pfJets)[ind1].neutralHadronEnergyFraction()); + mPhFrac = map_of_MEs[DirName+"/"+"PhFrac"]; if (mPhFrac && mPhFrac->getRootObject()) mPhFrac ->Fill((*pfJets)[ind1].neutralEmEnergyFraction()); + mElFrac = map_of_MEs[DirName+"/"+"ElFrac"]; if (mElFrac && mElFrac->getRootObject()) mElFrac ->Fill((*pfJets)[ind1].chargedEmEnergyFraction()); + mMuFrac = map_of_MEs[DirName+"/"+"MuFrac"]; if (mMuFrac && mMuFrac->getRootObject()) mMuFrac ->Fill((*pfJets)[ind1].chargedMuEnergyFraction()); + mHFEMFrac = map_of_MEs[DirName+"/"+"HFEMFrac"]; if (mHFEMFrac && mHFEMFrac->getRootObject()) mHFEMFrac ->Fill((*pfJets)[ind1].HFEMEnergyFraction()); + mHFHFrac = map_of_MEs[DirName+"/"+"HFHFrac"]; if (mHFHFrac && mHFHFrac->getRootObject()) mHFHFrac ->Fill((*pfJets)[ind1].HFHadronEnergyFraction()); - mJetEnergyCorr = dbe_->get(DirName+"/"+"JetEnergyCorr"); if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[0].pt()/(*pfJets)[ind1].pt()); - mJetEnergyCorrVSEta = dbe_->get(DirName+"/"+"JetEnergyCorrVSEta"); if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[0].eta(),recoJets[0].pt()/(*pfJets)[ind1].pt()); - mJetEnergyCorrVSPt = dbe_->get(DirName+"/"+"JetEnergyCorrVSPt"); if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[0].pt(),recoJets[0].pt()/(*pfJets)[ind1].pt()); - mJetEnergyCorr = dbe_->get(DirName+"/"+"JetEnergyCorr"); if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[1].pt()/(*pfJets)[ind2].pt()); - mJetEnergyCorrVSEta = dbe_->get(DirName+"/"+"JetEnergyCorrVSEta"); if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[1].eta(),recoJets[1].pt()/(*pfJets)[ind2].pt()); - mJetEnergyCorrVSPt = dbe_->get(DirName+"/"+"JetEnergyCorrVSPt"); if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[1].pt(),recoJets[1].pt()/(*pfJets)[ind2].pt()); + mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[0].pt()/(*pfJets)[ind1].pt()); + mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[0].eta(),recoJets[0].pt()/(*pfJets)[ind1].pt()); + mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[0].pt(),recoJets[0].pt()/(*pfJets)[ind1].pt()); + mJetEnergyCorr = map_of_MEs[DirName+"/"+"JetEnergyCorr"]; if(mJetEnergyCorr && mJetEnergyCorr->getRootObject()) mJetEnergyCorr->Fill(recoJets[1].pt()/(*pfJets)[ind2].pt()); + mJetEnergyCorrVSEta = map_of_MEs[DirName+"/"+"JetEnergyCorrVSEta"]; if(mJetEnergyCorrVSEta && mJetEnergyCorrVSEta->getRootObject()) mJetEnergyCorrVSEta->Fill(recoJets[1].eta(),recoJets[1].pt()/(*pfJets)[ind2].pt()); + mJetEnergyCorrVSPt = map_of_MEs[DirName+"/"+"JetEnergyCorrVSPt"]; if(mJetEnergyCorrVSPt && mJetEnergyCorrVSPt->getRootObject()) mJetEnergyCorrVSPt->Fill(recoJets[1].pt(),recoJets[1].pt()/(*pfJets)[ind2].pt()); - mChargedMultiplicity = dbe_->get(DirName+"/"+"ChargedMultiplicity"); if(mChargedMultiplicity && mChargedMultiplicity->getRootObject()) mChargedMultiplicity->Fill((*pfJets)[ind1].chargedMultiplicity()); - mNeutralMultiplicity = dbe_->get(DirName+"/"+"NeutralMultiplicity"); if(mNeutralMultiplicity && mNeutralMultiplicity->getRootObject()) mNeutralMultiplicity->Fill((*pfJets)[ind1].neutralMultiplicity()); - mMuonMultiplicity = dbe_->get(DirName+"/"+"MuonMultiplicity"); if(mMuonMultiplicity && mMuonMultiplicity->getRootObject()) mMuonMultiplicity->Fill((*pfJets)[ind1].muonMultiplicity()); + mChargedMultiplicity = map_of_MEs[DirName+"/"+"ChargedMultiplicity"]; if(mChargedMultiplicity && mChargedMultiplicity->getRootObject()) mChargedMultiplicity->Fill((*pfJets)[ind1].chargedMultiplicity()); + mNeutralMultiplicity = map_of_MEs[DirName+"/"+"NeutralMultiplicity"]; if(mNeutralMultiplicity && mNeutralMultiplicity->getRootObject()) mNeutralMultiplicity->Fill((*pfJets)[ind1].neutralMultiplicity()); + mMuonMultiplicity = map_of_MEs[DirName+"/"+"MuonMultiplicity"]; if(mMuonMultiplicity && mMuonMultiplicity->getRootObject()) mMuonMultiplicity->Fill((*pfJets)[ind1].muonMultiplicity()); //Filling variables for second jet - mHFrac = dbe_->get(DirName+"/"+"HFrac"); if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*pfJets)[ind2].chargedHadronEnergyFraction()+(*pfJets)[ind2].neutralHadronEnergyFraction()+(*pfJets)[ind2].HFHadronEnergyFraction()); - mEFrac = dbe_->get(DirName+"/"+"EFrac"); if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*pfJets)[ind2].chargedEmEnergyFraction() +(*pfJets)[ind2].neutralEmEnergyFraction()+(*pfJets)[ind2].HFEMEnergyFraction()); + mHFrac = map_of_MEs[DirName+"/"+"HFrac"]; if (mHFrac && mHFrac->getRootObject()) mHFrac->Fill ((*pfJets)[ind2].chargedHadronEnergyFraction()+(*pfJets)[ind2].neutralHadronEnergyFraction()+(*pfJets)[ind2].HFHadronEnergyFraction()); + mEFrac = map_of_MEs[DirName+"/"+"EFrac"]; if (mEFrac && mHFrac->getRootObject()) mEFrac->Fill ((*pfJets)[ind2].chargedEmEnergyFraction() +(*pfJets)[ind2].neutralEmEnergyFraction()+(*pfJets)[ind2].HFEMEnergyFraction()); - mCHFrac = dbe_->get(DirName+"/"+"CHFrac"); if (mCHFrac && mCHFrac->getRootObject()) mCHFrac ->Fill((*pfJets)[ind2].chargedHadronEnergyFraction()); - mNHFrac = dbe_->get(DirName+"/"+"NHFrac"); if (mNHFrac && mNHFrac->getRootObject()) mNHFrac ->Fill((*pfJets)[ind2].neutralHadronEnergyFraction()); - mPhFrac = dbe_->get(DirName+"/"+"PhFrac"); if (mPhFrac && mPhFrac->getRootObject()) mPhFrac ->Fill((*pfJets)[ind2].neutralEmEnergyFraction()); - mElFrac = dbe_->get(DirName+"/"+"ElFrac"); if (mElFrac && mElFrac->getRootObject()) mElFrac ->Fill((*pfJets)[ind2].chargedEmEnergyFraction()); - mMuFrac = dbe_->get(DirName+"/"+"MuFrac"); if (mMuFrac && mMuFrac->getRootObject()) mMuFrac ->Fill((*pfJets)[ind2].chargedMuEnergyFraction()); - mHFEMFrac = dbe_->get(DirName+"/"+"HFEMFrac"); if (mHFEMFrac && mHFEMFrac->getRootObject()) mHFEMFrac ->Fill((*pfJets)[ind2].HFEMEnergyFraction()); - mHFHFrac = dbe_->get(DirName+"/"+"HFHFrac"); if (mHFHFrac && mHFHFrac->getRootObject()) mHFHFrac ->Fill((*pfJets)[ind2].HFHadronEnergyFraction()); + mCHFrac = map_of_MEs[DirName+"/"+"CHFrac"]; if (mCHFrac && mCHFrac->getRootObject()) mCHFrac ->Fill((*pfJets)[ind2].chargedHadronEnergyFraction()); + mNHFrac = map_of_MEs[DirName+"/"+"NHFrac"]; if (mNHFrac && mNHFrac->getRootObject()) mNHFrac ->Fill((*pfJets)[ind2].neutralHadronEnergyFraction()); + mPhFrac = map_of_MEs[DirName+"/"+"PhFrac"]; if (mPhFrac && mPhFrac->getRootObject()) mPhFrac ->Fill((*pfJets)[ind2].neutralEmEnergyFraction()); + mElFrac = map_of_MEs[DirName+"/"+"ElFrac"]; if (mElFrac && mElFrac->getRootObject()) mElFrac ->Fill((*pfJets)[ind2].chargedEmEnergyFraction()); + mMuFrac = map_of_MEs[DirName+"/"+"MuFrac"]; if (mMuFrac && mMuFrac->getRootObject()) mMuFrac ->Fill((*pfJets)[ind2].chargedMuEnergyFraction()); + mHFEMFrac = map_of_MEs[DirName+"/"+"HFEMFrac"]; if (mHFEMFrac && mHFEMFrac->getRootObject()) mHFEMFrac ->Fill((*pfJets)[ind2].HFEMEnergyFraction()); + mHFHFrac = map_of_MEs[DirName+"/"+"HFHFrac"]; if (mHFHFrac && mHFHFrac->getRootObject()) mHFHFrac ->Fill((*pfJets)[ind2].HFHadronEnergyFraction()); - mNeutralFraction = dbe_->get(DirName+"/"+"NeutralConstituentsFraction");if (mNeutralFraction && mNeutralFraction->getRootObject()) mNeutralFraction->Fill ((double)(*pfJets)[ind1].neutralMultiplicity()/(double)(*pfJets)[ind1].nConstituents()); + mNeutralFraction = map_of_MEs[DirName+"/"+"NeutralConstituentsFraction"];if (mNeutralFraction && mNeutralFraction->getRootObject()) mNeutralFraction->Fill ((double)(*pfJets)[ind1].neutralMultiplicity()/(double)(*pfJets)[ind1].nConstituents()); - mChargedMultiplicity = dbe_->get(DirName+"/"+"ChargedMultiplicity"); if(mChargedMultiplicity && mChargedMultiplicity->getRootObject()) mChargedMultiplicity->Fill((*pfJets)[ind2].chargedMultiplicity()); - mNeutralMultiplicity = dbe_->get(DirName+"/"+"NeutralMultiplicity"); if(mNeutralMultiplicity && mNeutralMultiplicity->getRootObject()) mNeutralMultiplicity->Fill((*pfJets)[ind2].neutralMultiplicity()); - mMuonMultiplicity = dbe_->get(DirName+"/"+"MuonMultiplicity"); if(mMuonMultiplicity && mMuonMultiplicity->getRootObject()) mMuonMultiplicity->Fill((*pfJets)[ind2].muonMultiplicity()); + mChargedMultiplicity = map_of_MEs[DirName+"/"+"ChargedMultiplicity"]; if(mChargedMultiplicity && mChargedMultiplicity->getRootObject()) mChargedMultiplicity->Fill((*pfJets)[ind2].chargedMultiplicity()); + mNeutralMultiplicity = map_of_MEs[DirName+"/"+"NeutralMultiplicity"]; if(mNeutralMultiplicity && mNeutralMultiplicity->getRootObject()) mNeutralMultiplicity->Fill((*pfJets)[ind2].neutralMultiplicity()); + mMuonMultiplicity = map_of_MEs[DirName+"/"+"MuonMultiplicity"]; if(mMuonMultiplicity && mMuonMultiplicity->getRootObject()) mMuonMultiplicity->Fill((*pfJets)[ind2].muonMultiplicity()); //now fill PFJet profiles for leading jet - mHFrac_profile = dbe_->get(DirName+"/"+"HFrac_profile"); if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedHadronEnergyFraction() + (*pfJets)[ind1].neutralHadronEnergyFraction()); - mEFrac_profile = dbe_->get(DirName+"/"+"EFrac_profile"); if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedEmEnergyFraction() + (*pfJets)[ind1].neutralEmEnergyFraction()); - mCHFrac_profile = dbe_->get(DirName+"/"+"CHFrac_profile"); if (mCHFrac_profile && mCHFrac_profile->getRootObject()) mCHFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedHadronEnergyFraction()); - mNHFrac_profile = dbe_->get(DirName+"/"+"NHFrac_profile"); if (mNHFrac_profile && mNHFrac_profile->getRootObject()) mNHFrac_profile ->Fill(numPV, (*pfJets)[ind1].neutralHadronEnergyFraction()); - mPhFrac_profile = dbe_->get(DirName+"/"+"PhFrac_profile"); if (mPhFrac_profile && mPhFrac_profile->getRootObject()) mPhFrac_profile ->Fill(numPV, (*pfJets)[ind1].neutralEmEnergyFraction()); - mElFrac_profile = dbe_->get(DirName+"/"+"ElFrac_profile"); if (mElFrac_profile && mElFrac_profile->getRootObject()) mElFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedEmEnergyFraction()); - mMuFrac_profile = dbe_->get(DirName+"/"+"MuFrac_profile"); if (mMuFrac_profile && mMuFrac_profile->getRootObject()) mMuFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedMuEnergyFraction()); - mHFEMFrac_profile = dbe_->get(DirName+"/"+"HFEMFrac_profile"); if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject()) mHFEMFrac_profile ->Fill(numPV, (*pfJets)[ind1].HFEMEnergyFraction()); - mHFHFrac_profile = dbe_->get(DirName+"/"+"HFHFrac_profile"); if (mHFHFrac_profile && mHFHFrac_profile->getRootObject()) mHFHFrac_profile ->Fill(numPV, (*pfJets)[ind1].HFHadronEnergyFraction()); + mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedHadronEnergyFraction() + (*pfJets)[ind1].neutralHadronEnergyFraction()); + mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedEmEnergyFraction() + (*pfJets)[ind1].neutralEmEnergyFraction()); + mCHFrac_profile = map_of_MEs[DirName+"/"+"CHFrac_profile"]; if (mCHFrac_profile && mCHFrac_profile->getRootObject()) mCHFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedHadronEnergyFraction()); + mNHFrac_profile = map_of_MEs[DirName+"/"+"NHFrac_profile"]; if (mNHFrac_profile && mNHFrac_profile->getRootObject()) mNHFrac_profile ->Fill(numPV, (*pfJets)[ind1].neutralHadronEnergyFraction()); + mPhFrac_profile = map_of_MEs[DirName+"/"+"PhFrac_profile"]; if (mPhFrac_profile && mPhFrac_profile->getRootObject()) mPhFrac_profile ->Fill(numPV, (*pfJets)[ind1].neutralEmEnergyFraction()); + mElFrac_profile = map_of_MEs[DirName+"/"+"ElFrac_profile"]; if (mElFrac_profile && mElFrac_profile->getRootObject()) mElFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedEmEnergyFraction()); + mMuFrac_profile = map_of_MEs[DirName+"/"+"MuFrac_profile"]; if (mMuFrac_profile && mMuFrac_profile->getRootObject()) mMuFrac_profile ->Fill(numPV, (*pfJets)[ind1].chargedMuEnergyFraction()); + mHFEMFrac_profile = map_of_MEs[DirName+"/"+"HFEMFrac_profile"]; if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject()) mHFEMFrac_profile ->Fill(numPV, (*pfJets)[ind1].HFEMEnergyFraction()); + mHFHFrac_profile = map_of_MEs[DirName+"/"+"HFHFrac_profile"]; if (mHFHFrac_profile && mHFHFrac_profile->getRootObject()) mHFHFrac_profile ->Fill(numPV, (*pfJets)[ind1].HFHadronEnergyFraction()); - mNeutralFraction = dbe_->get(DirName+"/"+"NeutralConstituentsFraction");if (mNeutralFraction && mNeutralFraction->getRootObject()) mNeutralFraction->Fill ((double)(*pfJets)[ind2].neutralMultiplicity()/(double)(*pfJets)[ind2].nConstituents()); + mNeutralFraction = map_of_MEs[DirName+"/"+"NeutralConstituentsFraction"];if (mNeutralFraction && mNeutralFraction->getRootObject()) mNeutralFraction->Fill ((double)(*pfJets)[ind2].neutralMultiplicity()/(double)(*pfJets)[ind2].nConstituents()); - mChargedMultiplicity_profile = dbe_->get(DirName+"/"+"ChargedMultiplicity_profile"); if(mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject()) mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].chargedMultiplicity()); - mNeutralMultiplicity_profile = dbe_->get(DirName+"/"+"NeutralMultiplicity_profile"); if(mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject()) mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].neutralMultiplicity()); - mMuonMultiplicity_profile = dbe_->get(DirName+"/"+"MuonMultiplicity_profile"); if(mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject()) mMuonMultiplicity->Fill(numPV, (*pfJets)[ind1].muonMultiplicity()); + mChargedMultiplicity_profile = map_of_MEs[DirName+"/"+"ChargedMultiplicity_profile"]; if(mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject()) mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].chargedMultiplicity()); + mNeutralMultiplicity_profile = map_of_MEs[DirName+"/"+"NeutralMultiplicity_profile"]; if(mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject()) mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind1].neutralMultiplicity()); + mMuonMultiplicity_profile = map_of_MEs[DirName+"/"+"MuonMultiplicity_profile"]; if(mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject()) mMuonMultiplicity->Fill(numPV, (*pfJets)[ind1].muonMultiplicity()); //now fill PFJet profiles for second leading jet - mHFrac_profile = dbe_->get(DirName+"/"+"HFrac_profile"); if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedHadronEnergyFraction() + (*pfJets)[ind1].neutralHadronEnergyFraction()); - mEFrac_profile = dbe_->get(DirName+"/"+"EFrac_profile"); if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedEmEnergyFraction() + (*pfJets)[ind1].neutralEmEnergyFraction()); - mCHFrac_profile = dbe_->get(DirName+"/"+"CHFrac_profile"); if (mCHFrac_profile && mCHFrac_profile->getRootObject()) mCHFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedHadronEnergyFraction()); - mNHFrac_profile = dbe_->get(DirName+"/"+"NHFrac_profile"); if (mNHFrac_profile && mNHFrac_profile->getRootObject()) mNHFrac_profile ->Fill(numPV, (*pfJets)[ind2].neutralHadronEnergyFraction()); - mPhFrac_profile = dbe_->get(DirName+"/"+"PhFrac_profile"); if (mPhFrac_profile && mPhFrac_profile->getRootObject()) mPhFrac_profile ->Fill(numPV, (*pfJets)[ind2].neutralEmEnergyFraction()); - mElFrac_profile = dbe_->get(DirName+"/"+"ElFrac_profile"); if (mElFrac_profile && mElFrac_profile->getRootObject()) mElFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedEmEnergyFraction()); - mMuFrac_profile = dbe_->get(DirName+"/"+"MuFrac_profile"); if (mMuFrac_profile && mMuFrac_profile->getRootObject()) mMuFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedMuEnergyFraction()); - mHFEMFrac_profile = dbe_->get(DirName+"/"+"HFEMFrac_profile"); if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject()) mHFEMFrac_profile ->Fill(numPV, (*pfJets)[ind2].HFEMEnergyFraction()); - mHFHFrac_profile = dbe_->get(DirName+"/"+"HFHFrac_profile"); if (mHFHFrac_profile && mHFHFrac_profile->getRootObject()) mHFHFrac_profile ->Fill(numPV, (*pfJets)[ind2].HFHadronEnergyFraction()); + mHFrac_profile = map_of_MEs[DirName+"/"+"HFrac_profile"]; if (mHFrac_profile && mHFrac_profile->getRootObject()) mHFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedHadronEnergyFraction() + (*pfJets)[ind1].neutralHadronEnergyFraction()); + mEFrac_profile = map_of_MEs[DirName+"/"+"EFrac_profile"]; if (mEFrac_profile && mEFrac_profile->getRootObject()) mEFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedEmEnergyFraction() + (*pfJets)[ind1].neutralEmEnergyFraction()); + mCHFrac_profile = map_of_MEs[DirName+"/"+"CHFrac_profile"]; if (mCHFrac_profile && mCHFrac_profile->getRootObject()) mCHFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedHadronEnergyFraction()); + mNHFrac_profile = map_of_MEs[DirName+"/"+"NHFrac_profile"]; if (mNHFrac_profile && mNHFrac_profile->getRootObject()) mNHFrac_profile ->Fill(numPV, (*pfJets)[ind2].neutralHadronEnergyFraction()); + mPhFrac_profile = map_of_MEs[DirName+"/"+"PhFrac_profile"]; if (mPhFrac_profile && mPhFrac_profile->getRootObject()) mPhFrac_profile ->Fill(numPV, (*pfJets)[ind2].neutralEmEnergyFraction()); + mElFrac_profile = map_of_MEs[DirName+"/"+"ElFrac_profile"]; if (mElFrac_profile && mElFrac_profile->getRootObject()) mElFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedEmEnergyFraction()); + mMuFrac_profile = map_of_MEs[DirName+"/"+"MuFrac_profile"]; if (mMuFrac_profile && mMuFrac_profile->getRootObject()) mMuFrac_profile ->Fill(numPV, (*pfJets)[ind2].chargedMuEnergyFraction()); + mHFEMFrac_profile = map_of_MEs[DirName+"/"+"HFEMFrac_profile"]; if (mHFEMFrac_profile && mHFEMFrac_profile->getRootObject()) mHFEMFrac_profile ->Fill(numPV, (*pfJets)[ind2].HFEMEnergyFraction()); + mHFHFrac_profile = map_of_MEs[DirName+"/"+"HFHFrac_profile"]; if (mHFHFrac_profile && mHFHFrac_profile->getRootObject()) mHFHFrac_profile ->Fill(numPV, (*pfJets)[ind2].HFHadronEnergyFraction()); - mChargedMultiplicity_profile = dbe_->get(DirName+"/"+"ChargedMultiplicity_profile"); if(mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject()) mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].chargedMultiplicity()); - mNeutralMultiplicity_profile = dbe_->get(DirName+"/"+"NeutralMultiplicity_profile"); if(mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject()) mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].neutralMultiplicity()); - mMuonMultiplicity_profile = dbe_->get(DirName+"/"+"MuonMultiplicity_profile"); if(mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject()) mMuonMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].muonMultiplicity()); + mChargedMultiplicity_profile = map_of_MEs[DirName+"/"+"ChargedMultiplicity_profile"]; if(mChargedMultiplicity_profile && mChargedMultiplicity_profile->getRootObject()) mChargedMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].chargedMultiplicity()); + mNeutralMultiplicity_profile = map_of_MEs[DirName+"/"+"NeutralMultiplicity_profile"]; if(mNeutralMultiplicity_profile && mNeutralMultiplicity_profile->getRootObject()) mNeutralMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].neutralMultiplicity()); + mMuonMultiplicity_profile = map_of_MEs[DirName+"/"+"MuonMultiplicity_profile"]; if(mMuonMultiplicity_profile && mMuonMultiplicity_profile->getRootObject()) mMuonMultiplicity_profile->Fill(numPV, (*pfJets)[ind2].muonMultiplicity()); } //fill histos for first jet - mPt = dbe_->get(DirName+"/"+"Pt"); if (mPt && mPt->getRootObject()) mPt->Fill (recoJets[0].pt()); - mEta = dbe_->get(DirName+"/"+"Eta"); if (mEta && mEta->getRootObject()) mEta->Fill (recoJets[0].eta()); - mPhi = dbe_->get(DirName+"/"+"Phi"); if (mPhi && mPhi->getRootObject()) mPhi->Fill (recoJets[0].phi()); - mPhiVSEta = dbe_->get(DirName+"/"+"PhiVSEta"); if (mPhiVSEta && mPhiVSEta->getRootObject()) mPhiVSEta->Fill(recoJets[0].eta(),recoJets[0].phi()); - if(!isJPTJet_){ - mConstituents = dbe_->get(DirName+"/"+"Constituents"); if (mConstituents && mConstituents->getRootObject()) mConstituents->Fill (recoJets[0].nConstituents()); - } - mPt = dbe_->get(DirName+"/"+"Pt"); if (mPt && mPt->getRootObject()) mPt->Fill (recoJets[1].pt()); - mEta = dbe_->get(DirName+"/"+"Eta"); if (mEta && mEta->getRootObject()) mEta->Fill (recoJets[1].eta()); - mPhi = dbe_->get(DirName+"/"+"Phi"); if (mPhi && mPhi->getRootObject()) mPhi->Fill (recoJets[1].phi()); - mPhiVSEta = dbe_->get(DirName+"/"+"PhiVSEta"); if (mPhiVSEta && mPhiVSEta->getRootObject()) mPhiVSEta->Fill(recoJets[1].eta(),recoJets[1].phi()); - if(!isJPTJet_){ - mConstituents = dbe_->get(DirName+"/"+"Constituents"); if (mConstituents && mConstituents->getRootObject()) mConstituents->Fill (recoJets[1].nConstituents()); - } + mPt = map_of_MEs[DirName+"/"+"Pt"]; if (mPt && mPt->getRootObject()) mPt->Fill (recoJets[0].pt()); + mEta = map_of_MEs[DirName+"/"+"Eta"]; if (mEta && mEta->getRootObject()) mEta->Fill (recoJets[0].eta()); + mPhi = map_of_MEs[DirName+"/"+"Phi"]; if (mPhi && mPhi->getRootObject()) mPhi->Fill (recoJets[0].phi()); + mPhiVSEta = map_of_MEs[DirName+"/"+"PhiVSEta"]; if (mPhiVSEta && mPhiVSEta->getRootObject()) mPhiVSEta->Fill(recoJets[0].eta(),recoJets[0].phi()); + //if(!isJPTJet_){ + mConstituents = map_of_MEs[DirName+"/"+"Constituents"]; if (mConstituents && mConstituents->getRootObject()) mConstituents->Fill (recoJets[0].nConstituents()); + //} + mPt = map_of_MEs[DirName+"/"+"Pt"]; if (mPt && mPt->getRootObject()) mPt->Fill (recoJets[1].pt()); + mEta = map_of_MEs[DirName+"/"+"Eta"]; if (mEta && mEta->getRootObject()) mEta->Fill (recoJets[1].eta()); + mPhi = map_of_MEs[DirName+"/"+"Phi"]; if (mPhi && mPhi->getRootObject()) mPhi->Fill (recoJets[1].phi()); + mPhiVSEta = map_of_MEs[DirName+"/"+"PhiVSEta"]; if (mPhiVSEta && mPhiVSEta->getRootObject()) mPhiVSEta->Fill(recoJets[1].eta(),recoJets[1].phi()); + //if(!isJPTJet_){ + mConstituents = map_of_MEs[DirName+"/"+"Constituents"]; if (mConstituents && mConstituents->getRootObject()) mConstituents->Fill (recoJets[1].nConstituents()); + //} //PV profiles - mPt_profile = dbe_->get(DirName+"/"+"Pt_profile"); if (mPt_profile && mPt_profile->getRootObject()) mPt_profile ->Fill(numPV, recoJets[0].pt()); - mEta_profile = dbe_->get(DirName+"/"+"Eta_profile"); if (mEta_profile && mEta_profile->getRootObject()) mEta_profile ->Fill(numPV, recoJets[0].eta()); - mPhi_profile = dbe_->get(DirName+"/"+"Phi_profile"); if (mPhi_profile && mPhi_profile->getRootObject()) mPhi_profile ->Fill(numPV, recoJets[0].phi()); - if(!isJPTJet_){ - mConstituents_profile = dbe_->get(DirName+"/"+"Constituents_profile"); if (mConstituents_profile && mConstituents_profile->getRootObject()) mConstituents_profile->Fill(numPV, recoJets[0].nConstituents()); - } - mPt_profile = dbe_->get(DirName+"/"+"Pt_profile"); if (mPt_profile && mPt_profile->getRootObject()) mPt_profile ->Fill(numPV, recoJets[1].pt()); - mEta_profile = dbe_->get(DirName+"/"+"Eta_profile"); if (mEta_profile && mEta_profile->getRootObject()) mEta_profile ->Fill(numPV, recoJets[1].eta()); - mPhi_profile = dbe_->get(DirName+"/"+"Phi_profile"); if (mPhi_profile && mPhi_profile->getRootObject()) mPhi_profile ->Fill(numPV, recoJets[1].phi()); - if(!isJPTJet_){ - mConstituents_profile = dbe_->get(DirName+"/"+"Constituents_profile"); if (mConstituents_profile && mConstituents_profile->getRootObject()) mConstituents_profile->Fill(numPV, recoJets[1].nConstituents()); - } + mPt_profile = map_of_MEs[DirName+"/"+"Pt_profile"]; if (mPt_profile && mPt_profile->getRootObject()) mPt_profile ->Fill(numPV, recoJets[0].pt()); + mEta_profile = map_of_MEs[DirName+"/"+"Eta_profile"]; if (mEta_profile && mEta_profile->getRootObject()) mEta_profile ->Fill(numPV, recoJets[0].eta()); + mPhi_profile = map_of_MEs[DirName+"/"+"Phi_profile"]; if (mPhi_profile && mPhi_profile->getRootObject()) mPhi_profile ->Fill(numPV, recoJets[0].phi()); + //if(!isJPTJet_){ + mConstituents_profile = map_of_MEs[DirName+"/"+"Constituents_profile"]; if (mConstituents_profile && mConstituents_profile->getRootObject()) mConstituents_profile->Fill(numPV, recoJets[0].nConstituents()); + //} + mPt_profile = map_of_MEs[DirName+"/"+"Pt_profile"]; if (mPt_profile && mPt_profile->getRootObject()) mPt_profile ->Fill(numPV, recoJets[1].pt()); + mEta_profile = map_of_MEs[DirName+"/"+"Eta_profile"]; if (mEta_profile && mEta_profile->getRootObject()) mEta_profile ->Fill(numPV, recoJets[1].eta()); + mPhi_profile = map_of_MEs[DirName+"/"+"Phi_profile"]; if (mPhi_profile && mPhi_profile->getRootObject()) mPhi_profile ->Fill(numPV, recoJets[1].phi()); + //if(!isJPTJet_){ + mConstituents_profile = map_of_MEs[DirName+"/"+"Constituents_profile"]; if (mConstituents_profile && mConstituents_profile->getRootObject()) mConstituents_profile->Fill(numPV, recoJets[1].nConstituents()); + //} if (fabs(recoJets[0].eta() < 1.4)) { double pt_dijet = (recoJets[0].pt() + recoJets[1].pt())/2; if (dphi > 2.7) {//cut even toughter on dijet balance double pt_probe; double pt_barrel; int jet1, jet2; - int randJet = rand() % 2; + //int randJet = rand() % 2; + int randJet =iEvent.id().event()%2; if (fabs(recoJets[1].eta() < 1.4)) { if (randJet) { jet1 = 0; @@ -1929,7 +2282,7 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu } if(thirdJetCut){ double dijetAsymmetry =(recoJets[jet1].pt() - recoJets[jet2].pt()) / (recoJets[jet1].pt() + recoJets[jet2].pt()); - mDijetAsymmetry = dbe_->get(DirName+"/"+"DijetAsymmetry"); if (mDijetAsymmetry && mDijetAsymmetry->getRootObject()) mDijetAsymmetry->Fill(dijetAsymmetry); + mDijetAsymmetry = map_of_MEs[DirName+"/"+"DijetAsymmetry"]; if (mDijetAsymmetry && mDijetAsymmetry->getRootObject()) mDijetAsymmetry->Fill(dijetAsymmetry); }// end restriction on third jet pt in asymmetry calculation } @@ -1957,7 +2310,7 @@ void JetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu } if (thirdJetCut) { double dijetBalance = (pt_probe - pt_barrel) / pt_dijet; - mDijetBalance = dbe_->get(DirName+"/"+"DijetBalance"); if (mDijetBalance && mDijetBalance->getRootObject()) mDijetBalance->Fill(dijetBalance); + mDijetBalance = map_of_MEs[DirName+"/"+"DijetBalance"]; if (mDijetBalance && mDijetBalance->getRootObject()) mDijetBalance->Fill(dijetBalance); }// end restriction on third jet pt ratio in balance calculation }// dPhi > 2.7 for dijetbalance and asymmetrie @@ -1972,41 +2325,41 @@ void JetAnalyzer::endJob(void) { } -namespace jetAnalysis { - - TrackPropagatorToCalo::TrackPropagatorToCalo() - : magneticField_(NULL), - propagator_(NULL), - magneticFieldCacheId_(0), - propagatorCacheId_(0) - {} - - void TrackPropagatorToCalo::update(const edm::EventSetup& eventSetup) - { - //update magnetic filed if necessary - const IdealMagneticFieldRecord& magneticFieldRecord = eventSetup.get(); - const uint32_t newMagneticFieldCacheId = magneticFieldRecord.cacheIdentifier(); - if ((newMagneticFieldCacheId != magneticFieldCacheId_) || !magneticField_) { - edm::ESHandle magneticFieldHandle; - magneticFieldRecord.get(magneticFieldHandle); - magneticField_ = magneticFieldHandle.product(); - magneticFieldCacheId_ = newMagneticFieldCacheId; - } +//namespace jetAnalysis { +// +// TrackPropagatorToCalo::TrackPropagatorToCalo() +// : magneticField_(NULL), +// propagator_(NULL), +// magneticFieldCacheId_(0), +// propagatorCacheId_(0) +// {} +// +// void TrackPropagatorToCalo::update(const edm::EventSetup& eventSetup) +// { +// //update magnetic filed if necessary +// const IdealMagneticFieldRecord& magneticFieldRecord = eventSetup.get(); +// const uint32_t newMagneticFieldCacheId = magneticFieldRecord.cacheIdentifier(); +// if ((newMagneticFieldCacheId != magneticFieldCacheId_) || !magneticField_) { +// edm::ESHandle magneticFieldHandle; +// magneticFieldRecord.get(magneticFieldHandle); +// magneticField_ = magneticFieldHandle.product(); +// magneticFieldCacheId_ = newMagneticFieldCacheId; +// } //update propagator if necessary - const TrackingComponentsRecord& trackingComponentsRecord = eventSetup.get(); - const uint32_t newPropagatorCacheId = trackingComponentsRecord.cacheIdentifier(); - if ((propagatorCacheId_ != newPropagatorCacheId) || !propagator_) { - edm::ESHandle propagatorHandle; - trackingComponentsRecord.get("SteppingHelixPropagatorAlong",propagatorHandle); - propagator_ = propagatorHandle.product(); - propagatorCacheId_ = newPropagatorCacheId; - } - } +// const TrackingComponentsRecord& trackingComponentsRecord = eventSetup.get(); +// const uint32_t newPropagatorCacheId = trackingComponentsRecord.cacheIdentifier(); +// if ((propagatorCacheId_ != newPropagatorCacheId) || !propagator_) { +// edm::ESHandle propagatorHandle; +// trackingComponentsRecord.get("SteppingHelixPropagatorAlong",propagatorHandle); +// propagator_ = propagatorHandle.product(); +// propagatorCacheId_ = newPropagatorCacheId; +// } +//} - inline math::XYZPoint TrackPropagatorToCalo::impactPoint(const reco::Track& track) const - { - return JetTracksAssociationDRCalo::propagateTrackToCalorimeter(track,*magneticField_,*propagator_); - } +//inline math::XYZPoint TrackPropagatorToCalo::impactPoint(const reco::Track& track) const +//{ +// return JetTracksAssociationDRCalo::propagateTrackToCalorimeter(track,*magneticField_,*propagator_); +//} /* StripSignalOverNoiseCalculator::StripSignalOverNoiseCalculator(const std::string& theQualityLabel) : qualityLabel_(theQualityLabel), @@ -2080,5 +2433,5 @@ namespace jetAnalysis { else return 0; } */ -} +//} diff --git a/DQMOffline/JetMET/src/JetMETDQMOfflineClient.cc b/DQMOffline/JetMET/src/JetMETDQMOfflineClient.cc index 5f0a968bc6dfe..d00c2f1cb4d17 100644 --- a/DQMOffline/JetMET/src/JetMETDQMOfflineClient.cc +++ b/DQMOffline/JetMET/src/JetMETDQMOfflineClient.cc @@ -49,53 +49,11 @@ void JetMETDQMOfflineClient::endJob() // { // } -void JetMETDQMOfflineClient::bookHistograms(DQMStore::IBooker & ibooker, - edm::Run const & iRun, - edm::EventSetup const & ) { - /* //MET rate calculated already in METAnalyzer - ibooker.setCurrentFolder(dirName_+"/"+dirNameMET_); - dbe_->setCurrentFolder(dirName_+"/"+dirNameMET_); - // Look at all folders (JetMET/MET/CaloMET, JetMET/MET/CaloMETNoHF, etc) - std::vector fullPathDQMFolders = dbe_->getSubdirs(); - for(unsigned int i=0;i fullPathDQMSubFolders = dbe_->getSubdirs(); - for(unsigned int j=0;jget(fullPathDQMSubFolders[j]+"/"+"MET") ) METMEName="MET"; - if ( dbe_->get(fullPathDQMSubFolders[j]+"/"+"MET")) METMEName="MET"; - - me = dbe_->get(fullPathDQMSubFolders[j]+"/"+METMEName); - if (me && me->getRootObject() ) { - tMET = me->getTH1F(); - } - if(tMET){ - int metratebins=tMET->GetNbinsX(); - float metratemin=tMET->GetXaxis()->GetXmin(); - float metratemax=tMET->GetXaxis()->GetXmax(); - std::string test=fullPathDQMSubFolders[j]+"/"+METMEName+"Rate"; - hMETRate = ibooker.book1D(METMEName+"Rate",METMEName+"Rate",metratebins,metratemin,metratemax); - hMETRate->setTitle(METMEName+" Rate"); - hMETRate->setAxisTitle("MET Threshold [GeV]",1); - std::cout<<"hist bins/upper/low "<getTH1F()->GetNbinsX()<<"/"<getTH1F()->GetBinLowEdge(1)<<"/"<getTH1F()->GetBinLowEdge(hMETRate->getTH1F()->GetNbinsX()+1)<<"/"< calculates right now a histogram out of the JID pass fraction with binomial errors, but histogram is later on never used if(!dbe_) return; //we dont have the DQMStore so we cant do anything LogDebug("JetMETDQMOfflineClient") << "runClient" << std::endl; @@ -117,106 +75,7 @@ void JetMETDQMOfflineClient::runClient_() std::vector MEs; std::vector fullPathDQMFolders = dbe_->getSubdirs(); - //needed for MET rate calculation -> already performed in METAnalyzer with the - //same implementation - //////////////////////////////////////////////////////// - // Total number of lumi sections and time for this run - /////////////////////////////////////////////////////// - /* - TH1F* tlumisec; - MonitorElement *meLumiSec = dbe_->get("JetMET/lumisec"); - - int totlsec=0; - double totltime=0; - - if (meLumiSec && meLumiSec->getRootObject() ){ - - tlumisec = meLumiSec->getTH1F(); - for (int i=0; i<500; i++){ - if (tlumisec->GetBinContent(i+1)) totlsec++; - } - - } - totltime = totlsec * 90.; - - ///////////////////////// - // MET - ///////////////////////// - dbe_->setCurrentFolder(dirName_+"/"+dirNameMET_); - - TH1F *tMETRate; - // MonitorElement *hMETRate; - - // - // --- Producing MET rate plots - // - - // Look at all folders (JetMET/MET/CaloMET, JetMET/MET/CaloMETNoHF, etc) - - for(unsigned int i=0;isetCurrentFolder(fullPathDQMFolders[i]); - - // Look at all subfolders (JetMET/MET/CaloMET/{All,Cleaup,BeamHaloIDLoosePass, etc}) - std::vector fullPathDQMSubFolders = dbe_->getSubdirs(); - for(unsigned int j=0;jsetCurrentFolder(fullPathDQMSubFolders[j]); - if (verbose_) std::cout << "setCurrentFolder done" << std::endl; - - // Look at all MonitorElements in this folder - std::string METMEName="MET"; - if ( dbe_->get(fullPathDQMSubFolders[j]+"/"+"MET") ) METMEName="MET"; - if ( dbe_->get(fullPathDQMSubFolders[j]+"/"+"MET")) METMEName="MET"; - - me = dbe_->get(fullPathDQMSubFolders[j]+"/"+METMEName); - if (verbose_) std::cout << "get done" << std::endl; - - if ( me && me->getTH1F()) { - if (verbose_) std::cout << "me true" << std::endl; - if ( me->getRootObject() ) { - if (verbose_) std::cout << "me getRootObject true" << std::endl; - // MonitorElement *metest = dbe_->get(fullPathDQMSubFolders[j]+"/"+METMEName+"Rate"); - //if (metest) dbe_->removeElement(METMEName+"Rate"); - if (verbose_) std::cout << "metest done" << std::endl; - tMET = me->getTH1F(); - if (verbose_) std::cout << "getTH1F done" << std::endl; - // Integral plot - tMETRate = (TH1F*) tMET->Clone((METMEName+"Rate").c_str()); - for (int i = tMETRate->GetNbinsX()-1; i>=0; i--){ - tMETRate->SetBinContent(i+1,tMETRate->GetBinContent(i+2)+tMET->GetBinContent(i+1)); - } - if (verbose_) std::cout << "making integral plot done" << std::endl; - - // Convert number of events to Rate (Hz) - if (totltime){ - for (int i=(tMETRate->GetNbinsX()-1);i>=0;i--){ - tMETRate->SetBinContent(i+1,tMETRate->GetBinContent(i+1)/double(totltime)); - if(hMETRate && hMETRate->getRootObject()){ - hMETRate->Fill(tMETRate->GetBinCenter(i+1),tMETRate->GetBinContent(i+1)/double(totltime)); - } - if (verbose_) std::cout << "making integral plot done" << std::endl; - } - } - if (verbose_) std::cout << "making rate plot done" << std::endl; - if(hMETRate && hMETRate->getRootObject()){ - hMETRate->setTitle(METMEName+" Rate"); - hMETRate->setAxisTitle("MET Threshold [GeV]",1); - } - if (verbose_) std::cout << "booking rate plot ME done" << std::endl; - } // me->getRootObject() - } // me - if (verbose_) std::cout << "end of subfolder loop" << std::endl; - } // fullPathDQMSubFolders-loop - All, Cleanup, ... - if (verbose_) std::cout << "end of folder loop" << std::endl; - } // fullPathDQMFolders-loop - CaloMET, CaloMETNoHF, ... - */ - ///////////////////////// - // Jet - ///////////////////////// - dbe_->setCurrentFolder(dirName_+"/"+dirNameJet_); // Look at all folders (JetMET/Jet/AntiKtJets,JetMET/Jet/CleanedAntiKtJets, etc) @@ -249,5 +108,6 @@ void JetMETDQMOfflineClient::runClient_() } // cii-loop } // i-loop + */ } diff --git a/DQMOffline/JetMET/src/METAnalyzer.cc b/DQMOffline/JetMET/src/METAnalyzer.cc index 0b4a2ded60ef1..8c5bd12665a53 100644 --- a/DQMOffline/JetMET/src/METAnalyzer.cc +++ b/DQMOffline/JetMET/src/METAnalyzer.cc @@ -1,3 +1,4 @@ + /** \class JetMETAnalyzer * * DQM jetMET analysis monitoring @@ -53,13 +54,13 @@ METAnalyzer::METAnalyzer(const edm::ParameterSet& pSet) { jetCorrectionService_ = pSet.getParameter ("JetCorrections"); isCaloMet_ = (std::string("calo")==MetType_); - isTCMet_ = (std::string("tc") ==MetType_); + //isTCMet_ = (std::string("tc") ==MetType_); isPFMet_ = (std::string("pf") ==MetType_); // MET information metCollectionLabel_ = parameters.getParameter("METCollectionLabel"); - if(isTCMet_ || isCaloMet_){ + if(/*isTCMet_ || */isCaloMet_){ inputJetIDValueMap = pSet.getParameter("InputJetIDValueMap"); jetID_ValueMapToken_= consumes< edm::ValueMap >(inputJetIDValueMap); jetIDFunctorLoose=JetIDSelectionFunctor(JetIDSelectionFunctor::PURE09, JetIDSelectionFunctor::LOOSE); @@ -73,12 +74,15 @@ METAnalyzer::METAnalyzer(const edm::ParameterSet& pSet) { if(isPFMet_){ pfMetToken_= consumes(edm::InputTag(metCollectionLabel_)); } - if(isCaloMet_){ + if(isCaloMet_){ caloMetToken_= consumes(edm::InputTag(metCollectionLabel_)); } - if(isTCMet_){ - tcMetToken_= consumes(edm::InputTag(metCollectionLabel_)); - } + //if(isTCMet_){ + // tcMetToken_= consumes(edm::InputTag(metCollectionLabel_)); + //} + + fill_met_high_level_histo = parameters.getParameter("fillMetHighLevel"); + hTriggerLabelsIsSet_ = false; //jet cleanup parameters cleaningParameters_ = pSet.getParameter("CleaningParameters"); @@ -98,21 +102,21 @@ METAnalyzer::METAnalyzer(const edm::ParameterSet& pSet) { gtTag_ = cleaningParameters_.getParameter("gtLabel"); gtToken_= consumes(edm::InputTag(gtTag_)); - inputTrackLabel_ = parameters.getParameter("InputTrackLabel"); - inputMuonLabel_ = parameters.getParameter("InputMuonLabel"); - inputElectronLabel_ = parameters.getParameter("InputElectronLabel"); - inputBeamSpotLabel_ = parameters.getParameter("InputBeamSpotLabel"); - inputTCMETValueMap_ = parameters.getParameter("InputTCMETValueMap"); - TrackToken_= consumes >(inputTrackLabel_); - MuonToken_= consumes(inputMuonLabel_); - ElectronToken_= consumes >(inputElectronLabel_); - BeamspotToken_= consumes(inputBeamSpotLabel_); - tcMETValueMapToken_= consumes< edm::ValueMap >(inputTCMETValueMap_); + //inputTrackLabel_ = parameters.getParameter("InputTrackLabel"); + //inputMuonLabel_ = parameters.getParameter("InputMuonLabel"); + //inputElectronLabel_ = parameters.getParameter("InputElectronLabel"); + //inputBeamSpotLabel_ = parameters.getParameter("InputBeamSpotLabel"); + //inputTCMETValueMap_ = parameters.getParameter("InputTCMETValueMap"); + //TrackToken_= consumes >(inputTrackLabel_); + //MuonToken_= consumes(inputMuonLabel_); + //ElectronToken_= consumes >(inputElectronLabel_); + //BeamspotToken_= consumes(inputBeamSpotLabel_); + //tcMETValueMapToken_= consumes< edm::ValueMap >(inputTCMETValueMap_); // Other data collections jetCollectionLabel_ = parameters.getParameter("JetCollectionLabel"); if (isCaloMet_) caloJetsToken_ = consumes(jetCollectionLabel_); - if (isTCMet_) jptJetsToken_ = consumes(jetCollectionLabel_); + //if (isTCMet_) jptJetsToken_ = consumes(jetCollectionLabel_); if (isPFMet_) pfJetsToken_ = consumes(jetCollectionLabel_); hcalNoiseRBXCollectionTag_ = parameters.getParameter("HcalNoiseRBXCollection"); @@ -167,20 +171,10 @@ METAnalyzer::~METAnalyzer() { // delete muonEventFlag_; } -void METAnalyzer::beginRun(edm::Run const &run, edm::EventSetup const &es) -{ - dqmBeginRun(run, es); - dbe_->bookTransaction([this, &run, &es](DQMStore::IBooker &b){ - this->bookHistograms(b, run, es); - }, - run.run(), - 0, - run.moduleCallingContext()->moduleDescription()->id()); -} void METAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, edm::Run const & iRun, - edm::EventSetup const & ) { + edm::EventSetup const &) { // DQStore stuff //dbe_ = edm::Service().operator->(); //LogTrace(metname)<<"[METAnalyzer] Parameters initialization"; @@ -195,7 +189,7 @@ void METAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, for (std::vector::const_iterator ic = folderNames_.begin(); ic != folderNames_.end(); ic++){ - bookMESet(DirName+"/"+*ic, ibooker); + bookMESet(DirName+"/"+*ic, ibooker,map_dijet_MEs); } } @@ -212,68 +206,29 @@ void METAnalyzer::endJob() { } // *********************************************************** -void METAnalyzer::bookMESet(std::string DirName, DQMStore::IBooker & ibooker) +void METAnalyzer::bookMESet(std::string DirName, DQMStore::IBooker & ibooker, std::map& map_of_MEs) { - bool bLumiSecPlot=false; - if (DirName.find("Uncleaned")!=std::string::npos) bLumiSecPlot=true; - bookMonitorElement(DirName,ibooker,bLumiSecPlot); + bool bLumiSecPlot=fill_met_high_level_histo; + //if (DirName.find("Uncleaned")!=std::string::npos)bLumiSecPlot=true;//now defined on configlevel + bookMonitorElement(DirName,ibooker,map_of_MEs,bLumiSecPlot); if (DirName.find("Cleaned")!=std::string::npos) { - for (unsigned i = 0; ion()) { - bookMonitorElement(DirName+"/"+triggerFolderLabels_[i],ibooker,false); - // triggerFolderME_.push_back(dbe_->bookString("triggerFolder_"+triggerFolderLabels_[i], triggerFolderExpr_[i][0])); + bookMonitorElement(DirName+"/"+triggerFolderLabels_[i],ibooker,map_of_MEs,false); } } } -// if ( highPtJetEventFlag_->on() ) { -// bookMonitorElement(DirName+"/"+"HighPtJet",false); -// hTriggerName_HighPtJet = dbe_->bookString("triggerName_HighPtJet", highPtJetExpr_[0]); -// } -// -// if ( lowPtJetEventFlag_->on() ) { -// bookMonitorElement(DirName+"/"+"LowPtJet",false); -// hTriggerName_LowPtJet = dbe_->bookString("triggerName_LowPtJet", lowPtJetExpr_[0]); -// } -// -// if ( minBiasEventFlag_->on() ) { -// bookMonitorElement(DirName+"/"+"MinBias",false); -// hTriggerName_MinBias = dbe_->bookString("triggerName_MinBias", minbiasExpr_[0]); -// if (verbose_) std::cout << "minBiasEventFlag_ is on, folder created\n"; -// } -// -// if ( highMETEventFlag_->on() ) { -// bookMonitorElement(DirName+"/"+"HighMET",false); -// hTriggerName_HighMET = dbe_->bookString("triggerName_HighMET", highMETExpr_[0]); -// } -// -// if ( eleEventFlag_->on() ) { -// bookMonitorElement(DirName+"/"+"Ele",false); -// hTriggerName_Ele = dbe_->bookString("triggerName_Ele", elecExpr_[0]); -// if (verbose_) std::cout << "eleEventFlag is on, folder created\n"; -// } -// -// if ( muonEventFlag_->on() ) { -// bookMonitorElement(DirName+"/"+"Muon",false); -// hTriggerName_Muon = dbe_->bookString("triggerName_Muon", muonExpr_[0]); -// if (verbose_) std::cout << "muonEventFlag is on, folder created\n"; -// } - } // *********************************************************** -void METAnalyzer::bookMonitorElement(std::string DirName,DQMStore::IBooker & ibooker, bool bLumiSecPlot=false) +void METAnalyzer::bookMonitorElement(std::string DirName,DQMStore::IBooker & ibooker, std::map& map_of_MEs, bool bLumiSecPlot=false) { if (verbose_) std::cout << "bookMonitorElement " << DirName << std::endl; ibooker.setCurrentFolder(DirName); hTrigger = ibooker.book1D("triggerResults", "triggerResults", 500, 0, 500); -// hTrigger = ibooker.book1D("triggerResults", "triggerResults", allTriggerNames_.size(), 0, allTriggerNames_.size()); -// for (unsigned i = 0; i< allTriggerNames_.size(); i++) { -// hTrigger->setBinLabel(i, allTriggerNames_[i]); -// std::cout<<"Setting label "<setAxisTitle("log(MET) [GeV]", 1); hSumET_logx->setAxisTitle("log(SumET) [GeV]", 1); + map_of_MEs.insert(std::pair(DirName+"/"+"triggerResults",hTrigger)); + map_of_MEs.insert(std::pair(DirName+"/"+"MEx",hMEx)); + map_of_MEs.insert(std::pair(DirName+"/"+"MEy",hMEy)); + map_of_MEs.insert(std::pair(DirName+"/"+"MET",hMET)); + map_of_MEs.insert(std::pair(DirName+"/"+"SumET",hSumET)); + map_of_MEs.insert(std::pair(DirName+"/"+"METSig",hMETSig)); + map_of_MEs.insert(std::pair(DirName+"/"+"METPhi",hMETPhi)); + map_of_MEs.insert(std::pair(DirName+"/"+"MET_logx",hMET_logx)); + map_of_MEs.insert(std::pair(DirName+"/"+"SumET_logx",hSumET_logx)); + // Book NPV profiles --> would some of these profiles be interesting for other MET types too //---------------------------------------------------------------------------- meMEx_profile = ibooker.bookProfile("MEx_profile", "met.px()", nbinsPV_, nPVMin_, nPVMax_, 200, -500, 500); @@ -304,6 +269,12 @@ void METAnalyzer::bookMonitorElement(std::string DirName,DQMStore::IBooker & ibo meMEy_profile ->setAxisTitle("nvtx", 1); meMET_profile ->setAxisTitle("nvtx", 1); meSumET_profile->setAxisTitle("nvtx", 1); + + map_of_MEs.insert(std::pair(DirName+"/"+"MEx_profile",meMEx_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"MEy_profile",meMEy_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"MET_profile",meMET_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"SumET_profile",meSumET_profile)); + if(isCaloMet_){ hCaloMaxEtInEmTowers = ibooker.book1D("CaloMaxEtInEmTowers", "CaloMaxEtInEmTowers" ,100,0,2000); @@ -311,6 +282,9 @@ void METAnalyzer::bookMonitorElement(std::string DirName,DQMStore::IBooker & ibo hCaloMaxEtInHadTowers = ibooker.book1D("CaloMaxEtInHadTowers", "CaloMaxEtInHadTowers" ,100,0,2000); hCaloMaxEtInHadTowers->setAxisTitle("Et(Max) in Had Tower [GeV]",1); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloMaxEtInEmTowers",hCaloMaxEtInEmTowers)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloMaxEtInHadTowers",hCaloMaxEtInHadTowers)); + hCaloHadEtInHB = ibooker.book1D("CaloHadEtInHB","CaloHadEtInHB",100,0,2000); hCaloHadEtInHB->setAxisTitle("Had Et [GeV]",1); hCaloHadEtInHO = ibooker.book1D("CaloHadEtInHO","CaloHadEtInHO",25,0,500); @@ -326,6 +300,14 @@ void METAnalyzer::bookMonitorElement(std::string DirName,DQMStore::IBooker & ibo hCaloEmEtInEB = ibooker.book1D("CaloEmEtInEB" ,"CaloEmEtInEB" ,100,0,2000); hCaloEmEtInEB->setAxisTitle("EM Et [GeV]",1); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloHadEtInHO",hCaloHadEtInHO)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloHadEtInHF",hCaloHadEtInHF)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloHadEtInHE",hCaloHadEtInHE)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloHadEtInHB",hCaloHadEtInHB)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloEmEtInHF",hCaloEmEtInHF)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloEmEtInEE",hCaloEmEtInEE)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloEmEtInEB",hCaloEmEtInEB)); + hCaloMETPhi020 = ibooker.book1D("CaloMETPhi020", "CaloMETPhi020", 60, -3.2, 3.2); hCaloMETPhi020 ->setAxisTitle("METPhi [rad] (MET>20 GeV)", 1); @@ -345,16 +327,31 @@ void METAnalyzer::bookMonitorElement(std::string DirName,DQMStore::IBooker & ibo hCaloEmEtFraction020 = ibooker.book1D("CaloEmEtFraction020", "CaloEmEtFraction020" ,100,0,1); hCaloEmEtFraction020->setAxisTitle("EM Et Fraction (MET>20 GeV)",1); - if (metCollectionLabel_.label() == "corMetGlobalMuons" ) { - hCalomuPt = ibooker.book1D("CalomuonPt", "CalomuonPt", 50, 0, 500); - hCalomuEta = ibooker.book1D("CalomuonEta", "CalomuonEta", 60, -3.0, 3.0); - hCalomuNhits = ibooker.book1D("CalomuonNhits", "CalomuonNhits", 50, 0, 50); - hCalomuChi2 = ibooker.book1D("CalomuonNormalizedChi2", "CalomuonNormalizedChi2", 20, 0, 20); - hCalomuD0 = ibooker.book1D("CalomuonD0", "CalomuonD0", 50, -1, 1); - hCaloMExCorrection = ibooker.book1D("CaloMExCorrection", "CaloMExCorrection", 100, -500.0,500.0); - hCaloMEyCorrection = ibooker.book1D("CaloMEyCorrection", "CaloMEyCorrection", 100, -500.0,500.0); - hCaloMuonCorrectionFlag = ibooker.book1D("CaloCorrectionFlag","CaloCorrectionFlag", 5, -0.5, 4.5); - } + map_of_MEs.insert(std::pair(DirName+"/"+"CaloMETPhi020",hCaloMETPhi020)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloEtFractionHadronic",hCaloEtFractionHadronic)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloEmEtFraction", hCaloEmEtFraction)); + map_of_MEs.insert(std::pair(DirName+"/"+"CaloEmEtFraction020",hCaloEmEtFraction020)); + + + + //if (metCollectionLabel_.label() == "corMetGlobalMuons" ) { + //hCalomuPt = ibooker.book1D("CalomuonPt", "CalomuonPt", 50, 0, 500); + //hCalomuEta = ibooker.book1D("CalomuonEta", "CalomuonEta", 60, -3.0, 3.0); + //hCalomuNhits = ibooker.book1D("CalomuonNhits", "CalomuonNhits", 50, 0, 50); + //hCalomuChi2 = ibooker.book1D("CalomuonNormalizedChi2", "CalomuonNormalizedChi2", 20, 0, 20); + //hCalomuD0 = ibooker.book1D("CalomuonD0", "CalomuonD0", 50, -1, 1); + //hCaloMExCorrection = ibooker.book1D("CaloMExCorrection", "CaloMExCorrection", 100, -500.0,500.0); + //hCaloMEyCorrection = ibooker.book1D("CaloMEyCorrection", "CaloMEyCorrection", 100, -500.0,500.0); + //hCaloMuonCorrectionFlag = ibooker.book1D("CaloCorrectionFlag","CaloCorrectionFlag", 5, -0.5, 4.5); + + //map_of_MEs.insert(std::pair(DirName+"/"+"CalomuonPt",hCalomuPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"CalomuonEta",hCalomuEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"CalomuonNhit",hCalomuNhits)); + //map_of_MEs.insert(std::pair(DirName+"/"+"CalomuonNormalizedChi2",hCalomuChi2)); + //map_of_MEs.insert(std::pair(DirName+"/"+"CaloMExCorrection",hCaloMExCorrection)); + //map_of_MEs.insert(std::pair(DirName+"/"+"CaloMEyCorrection",hCaloMEyCorrection)); + //map_of_MEs.insert(std::pair(DirName+"/"+"CaloCorrectionFlag",hCaloMuonCorrectionFlag)); + //} } @@ -374,6 +371,21 @@ void METAnalyzer::bookMonitorElement(std::string DirName,DQMStore::IBooker & ibo meHFEMEtFraction = ibooker.book1D("PfHFEMEtFraction", "pfmet.HFEMEtFraction()", 50, 0, 1); meHFEMEt = ibooker.book1D("PfHFEMEt", "pfmet.HFEMEt()", 100, 0, 1000); + map_of_MEs.insert(std::pair(DirName+"/"+"PfPhotonEtFraction" ,mePhotonEtFraction)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfPhotonEt" ,mePhotonEt)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfNeutralHadronEtFraction",meNeutralHadronEtFraction)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfNeutralHadronEt" ,meNeutralHadronEt)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfElectronEtFraction" ,meElectronEtFraction)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfElectronEt" ,meElectronEt)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfChargedHadronEtFraction",meChargedHadronEtFraction)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfChargedHadronEt" ,meChargedHadronEt)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfMuonEtFraction" ,meMuonEtFraction)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfMuonEt" ,meMuonEt)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfHFHadronEtFraction" ,meHFHadronEtFraction)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfHFHadronEt" ,meHFHadronEt)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfHFEMEtFraction" ,meHFEMEtFraction)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfHFEMEt" ,meHFEMEt)); + mePhotonEtFraction_profile = ibooker.bookProfile("PfPhotonEtFraction_profile", "pfmet.photonEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1); mePhotonEt_profile = ibooker.bookProfile("PfPhotonEt_profile", "pfmet.photonEt()", nbinsPV_, nPVMin_, nPVMax_, 100, 0, 1000); meNeutralHadronEtFraction_profile = ibooker.bookProfile("PfNeutralHadronEtFraction_profile", "pfmet.neutralHadronEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1); @@ -403,45 +415,82 @@ void METAnalyzer::bookMonitorElement(std::string DirName,DQMStore::IBooker & ibo meHFHadronEt_profile ->setAxisTitle("nvtx", 1); meHFEMEtFraction_profile ->setAxisTitle("nvtx", 1); meHFEMEt_profile ->setAxisTitle("nvtx", 1); + + map_of_MEs.insert(std::pair(DirName+"/"+"PfPhotonEtFraction_profile" ,mePhotonEtFraction_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfPhotonEt_profile" ,mePhotonEt_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfNeutralHadronEtFraction_profile" ,meNeutralHadronEtFraction_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfNeutralHadronEt_profile" ,meNeutralHadronEt_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfElectronEtFraction_profile" ,meElectronEtFraction_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfElectronEt_profile" ,meElectronEt_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfChargedHadronEtFraction_profile" ,meChargedHadronEtFraction_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfChargedHadronEt_profile" ,meChargedHadronEt_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfMuonEtFraction_profile" ,meMuonEtFraction_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfMuonEt_profile" ,meMuonEt_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfHFHadronEtFraction_profile" ,meHFHadronEtFraction_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfHFHadronEt_profile" ,meHFHadronEt_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfHFEMEtFraction_profile" ,meHFEMEtFraction_profile)); + map_of_MEs.insert(std::pair(DirName+"/"+"PfHFEMEt_profile" ,meHFEMEt_profile)); } if (isCaloMet_){ - if (bLumiSecPlot){ - hMExLS = ibooker.book2D("MEx_LS","MEx_LS",200,-200,200,50,0.,500.); + if (fill_met_high_level_histo){//now configurable in python file + hMExLS = ibooker.book2D("MExLS","MEx_LS",200,-200,200,250,0.,2500.); hMExLS->setAxisTitle("MEx [GeV]",1); hMExLS->setAxisTitle("Lumi Section",2); - hMEyLS = ibooker.book2D("MEy_LS","MEy_LS",200,-200,200,50,0.,500.); + hMExLS->getTH2F()->SetOption("colz"); + hMEyLS = ibooker.book2D("MEyLS","MEy_LS",200,-200,200,250,0.,2500.); hMEyLS->setAxisTitle("MEy [GeV]",1); hMEyLS->setAxisTitle("Lumi Section",2); + hMEyLS->getTH2F()->SetOption("colz"); + map_of_MEs.insert(std::pair(DirName+"/"+"MExLS",hMExLS)); + map_of_MEs.insert(std::pair(DirName+"/"+"MEyLS",hMEyLS)); } } - - if (isTCMet_) { - htrkPt = ibooker.book1D("trackPt", "trackPt", 50, 0, 500); - htrkEta = ibooker.book1D("trackEta", "trackEta", 60, -3.0, 3.0); - htrkNhits = ibooker.book1D("trackNhits", "trackNhits", 50, 0, 50); - htrkChi2 = ibooker.book1D("trackNormalizedChi2", "trackNormalizedChi2", 20, 0, 20); - htrkD0 = ibooker.book1D("trackD0", "trackd0", 50, -1, 1); - helePt = ibooker.book1D("electronPt", "electronPt", 50, 0, 500); - heleEta = ibooker.book1D("electronEta", "electronEta", 60, -3.0, 3.0); - heleHoE = ibooker.book1D("electronHoverE", "electronHoverE", 25, 0, 0.5); - hmuPt = ibooker.book1D("muonPt", "muonPt", 50, 0, 500); - hmuEta = ibooker.book1D("muonEta", "muonEta", 60, -3.0, 3.0); - hmuNhits = ibooker.book1D("muonNhits", "muonNhits", 50, 0, 50); - hmuChi2 = ibooker.book1D("muonNormalizedChi2", "muonNormalizedChi2", 20, 0, 20); - hmuD0 = ibooker.book1D("muonD0", "muonD0", 50, -1, 1); - - hMExCorrection = ibooker.book1D("MExCorrection", "MExCorrection", 100, -500.0,500.0); - hMEyCorrection = ibooker.book1D("MEyCorrection", "MEyCorrection", 100, -500.0,500.0); - hMuonCorrectionFlag = ibooker.book1D("CorrectionFlag","CorrectionFlag", 5, -0.5, 4.5); - } - + + //if (isTCMet_) { + //htrkPt = ibooker.book1D("trackPt", "trackPt", 50, 0, 500); + //htrkEta = ibooker.book1D("trackEta", "trackEta", 60, -3.0, 3.0); + //htrkNhits = ibooker.book1D("trackNhits", "trackNhits", 50, 0, 50); + //htrkChi2 = ibooker.book1D("trackNormalizedChi2", "trackNormalizedChi2", 20, 0, 20); + //htrkD0 = ibooker.book1D("trackD0", "trackd0", 50, -1, 1); + //helePt = ibooker.book1D("electronPt", "electronPt", 50, 0, 500); + //heleEta = ibooker.book1D("electronEta", "electronEta", 60, -3.0, 3.0); + //heleHoE = ibooker.book1D("electronHoverE", "electronHoverE", 25, 0, 0.5); + //hmuPt = ibooker.book1D("muonPt", "muonPt", 50, 0, 500); + //hmuEta = ibooker.book1D("muonEta", "muonEta", 60, -3.0, 3.0); + //hmuNhits = ibooker.book1D("muonNhits", "muonNhits", 50, 0, 50); + //hmuChi2 = ibooker.book1D("muonNormalizedChi2", "muonNormalizedChi2", 20, 0, 20); + //hmuD0 = ibooker.book1D("muonD0", "muonD0", 50, -1, 1); + + //hMExCorrection = ibooker.book1D("MExCorrection", "MExCorrection", 100, -500.0,500.0); + //hMEyCorrection = ibooker.book1D("MEyCorrection", "MEyCorrection", 100, -500.0,500.0); + //hMuonCorrectionFlag = ibooker.book1D("CorrectionFlag","CorrectionFlag", 5, -0.5, 4.5); + + //map_of_MEs.insert(std::pair(DirName+"/"+"trackPt" ,htrkPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"trackEta" ,htrkEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"trackNhits",htrkNhits)); + //map_of_MEs.insert(std::pair(DirName+"/"+"trackNormalizedChi2" ,htrkChi2)); + //map_of_MEs.insert(std::pair(DirName+"/"+"trackD0" ,htrkD0)); + //map_of_MEs.insert(std::pair(DirName+"/"+"electronPt" ,helePt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"electronEta" ,heleEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"electronHoverE",heleHoE)); + //map_of_MEs.insert(std::pair(DirName+"/"+"muonPt" ,hmuPt)); + //map_of_MEs.insert(std::pair(DirName+"/"+"muonEta" ,hmuEta)); + //map_of_MEs.insert(std::pair(DirName+"/"+"muonNhits",hmuNhits)); + //map_of_MEs.insert(std::pair(DirName+"/"+"muonNormalizedChi2" ,hmuChi2)); + //map_of_MEs.insert(std::pair(DirName+"/"+"muonD0" ,hmuD0)); + //map_of_MEs.insert(std::pair(DirName+"/"+"MExCorrection" ,hMExCorrection)); + //map_of_MEs.insert(std::pair(DirName+"/"+"MEyCorrection" ,hMEyCorrection)); + //map_of_MEs.insert(std::pair(DirName+"/"+"CorrectionFlag" ,hMuonCorrectionFlag)); + //} + hMETRate = ibooker.book1D("METRate", "METRate", 200, 0, 1000); + map_of_MEs.insert(std::pair(DirName+"/"+"METRate",hMETRate)); ibooker.setCurrentFolder("JetMET"); lumisecME = ibooker.book1D("lumisec", "lumisec", 2500, 0., 2500.); - + map_of_MEs.insert(std::pair("JetMET/lumisec",lumisecME)); } @@ -487,42 +536,20 @@ void METAnalyzer::dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetu // for (unsigned j = 0; jon() ) highPtJetEventFlag_->initRun( iRun, iSetup ); -// if ( lowPtJetEventFlag_ ->on() ) lowPtJetEventFlag_ ->initRun( iRun, iSetup ); -// if ( minBiasEventFlag_ ->on() ) minBiasEventFlag_ ->initRun( iRun, iSetup ); -// if ( highMETEventFlag_ ->on() ) highMETEventFlag_ ->initRun( iRun, iSetup ); -// // if ( _LowMETEventFlag ->on() ) _LowMETEventFlag ->initRun( iRun, iSetup ); -// if ( eleEventFlag_ ->on() ) eleEventFlag_ ->initRun( iRun, iSetup ); -// if ( muonEventFlag_ ->on() ) muonEventFlag_ ->initRun( iRun, iSetup ); -// -// if (highPtJetEventFlag_->on() && highPtJetEventFlag_->expressionsFromDB(highPtJetEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR") -// highPtJetExpr_ = highPtJetEventFlag_->expressionsFromDB(highPtJetEventFlag_->hltDBKey(), iSetup); -// if (lowPtJetEventFlag_->on() && lowPtJetEventFlag_->expressionsFromDB(lowPtJetEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR") -// lowPtJetExpr_ = lowPtJetEventFlag_->expressionsFromDB(lowPtJetEventFlag_->hltDBKey(), iSetup); -// if (highMETEventFlag_->on() && highMETEventFlag_->expressionsFromDB(highMETEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR") -// highMETExpr_ = highMETEventFlag_->expressionsFromDB(highMETEventFlag_->hltDBKey(), iSetup); -// // if (_LowMETEventFlag->on() && _LowMETEventFlag->expressionsFromDB(_LowMETEventFlag->hltDBKey(), iSetup)[0] != "CONFIG_ERROR") -// // lowMETExpr_ = _LowMETEventFlag->expressionsFromDB(_LowMETEventFlag->hltDBKey(), iSetup); -// if (muonEventFlag_->on() && muonEventFlag_->expressionsFromDB(muonEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR") -// muonExpr_ = muonEventFlag_->expressionsFromDB(muonEventFlag_->hltDBKey(), iSetup); -// if (eleEventFlag_->on() && eleEventFlag_->expressionsFromDB(eleEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR") -// elecExpr_ = eleEventFlag_->expressionsFromDB(eleEventFlag_->hltDBKey(), iSetup); -// if (minBiasEventFlag_->on() && minBiasEventFlag_->expressionsFromDB(minBiasEventFlag_->hltDBKey(), iSetup)[0] != "CONFIG_ERROR") -// minbiasExpr_ = minBiasEventFlag_->expressionsFromDB(minBiasEventFlag_->hltDBKey(), iSetup); - } // *********************************************************** void METAnalyzer::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) { + // //--- Check the time length of the Run from the lumi section plots TH1F* tlumisec; - MonitorElement *meLumiSec = dbe_->get("aaa"); - meLumiSec = dbe_->get("JetMET/lumisec"); + MonitorElement *meLumiSec = map_dijet_MEs["aaa"]; + meLumiSec = map_dijet_MEs["JetMET/lumisec"]; int totlsec=0; int totlssecsum=0; @@ -547,7 +574,7 @@ void METAnalyzer::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) if (totltime==0.) totltime=1.; std::string dirName = FolderName_+metCollectionLabel_.label()+"/"; - dbe_->setCurrentFolder(dirName); + //dbe_->setCurrentFolder(dirName); @@ -564,15 +591,17 @@ void METAnalyzer::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) } } } + } // *********************************************************** void METAnalyzer::makeRatePlot(std::string DirName, double totltime) { - dbe_->setCurrentFolder(DirName); - MonitorElement *meMET = dbe_->get(DirName+"/"+"MET"); - MonitorElement *mMETRate = dbe_->get(DirName+"/"+"METRate"); + + //dbe_->setCurrentFolder(DirName); + MonitorElement *meMET = map_dijet_MEs[DirName+"/"+"MET"]; + MonitorElement *mMETRate = map_dijet_MEs[DirName+"/"+"METRate"]; TH1F* tMET; TH1F* tMETRate; @@ -591,7 +620,7 @@ void METAnalyzer::makeRatePlot(std::string DirName, double totltime) } } } - + } // *********************************************************** @@ -601,7 +630,9 @@ void METAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu // *** Fill lumisection ME int myLuminosityBlock; myLuminosityBlock = iEvent.luminosityBlock(); - lumisecME->Fill(myLuminosityBlock); + if(fill_met_high_level_histo){ + lumisecME=map_dijet_MEs["JetMET/lumisec"]; if(lumisecME && lumisecME->getRootObject()) lumisecME->Fill(myLuminosityBlock); + } if (myLuminosityBlockLSEnd_ && LSEnd_>0) return; @@ -647,61 +678,6 @@ void METAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu allTriggerDecisions_.push_back((*triggerResults).accept(i)); // std::cout<<"TR "<<(*triggerResults).size()<<" "<<(*triggerResults).accept(i)<<" "<::const_iterator it = triggerFolderEventFlag_.begin(); it!=triggerFolderEventFlag_.end();it++) { -// unsigned pos = it - triggerFolderEventFlag_.begin(); -// bool fd = (*it)->accept(iEvent, iSetup); -// bool md = triggerFolderDecisions_[pos]; -// std::cout <accept(iEvent, iSetup)<<" myDecision: "< calometcoll; edm::Handle pfmetcoll; - if(isTCMet_){ - iEvent.getByToken(tcMetToken_, tcmetcoll); - if(!tcmetcoll.isValid()) return; - } + //if(isTCMet_){ + //iEvent.getByToken(tcMetToken_, tcmetcoll); + //if(!tcmetcoll.isValid()) return; + //} if(isCaloMet_){ iEvent.getByToken(caloMetToken_, calometcoll); if(!calometcoll.isValid()) return; @@ -728,9 +704,9 @@ void METAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu const MET *met=NULL; const PFMET *pfmet=NULL; const CaloMET *calomet=NULL; - if(isTCMet_){ - met=&(tcmetcoll->front()); - } + //if(isTCMet_){ + //met=&(tcmetcoll->front()); + //} if(isPFMet_){ met=&(pfmetcoll->front()); pfmet=&(pfmetcoll->front()); @@ -745,21 +721,21 @@ void METAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu // ========================================================== // TCMET - if (isTCMet_ || (isCaloMet_ && metCollectionLabel_.label() == "corMetGlobalMuons")) { + //if (/*isTCMet_ || */(isCaloMet_ && metCollectionLabel_.label() == "corMetGlobalMuons")) { - iEvent.getByToken(MuonToken_, muonHandle_); - iEvent.getByToken(TrackToken_, trackHandle_); - iEvent.getByToken(ElectronToken_, electronHandle_); - iEvent.getByToken(BeamspotToken_, beamSpotHandle_); - iEvent.getByToken(tcMETValueMapToken_,tcMetValueMapHandle_); + //iEvent.getByToken(MuonToken_, muonHandle_); + //iEvent.getByToken(TrackToken_, trackHandle_); + //iEvent.getByToken(ElectronToken_, electronHandle_); + //iEvent.getByToken(BeamspotToken_, beamSpotHandle_); + //iEvent.getByToken(tcMETValueMapToken_,tcMetValueMapHandle_); - if(!muonHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve muon data require by MET Task"; - if(!trackHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve track data require by MET Task"; - if(!electronHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve electron data require by MET Task"; - if(!beamSpotHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve beam spot data require by MET Task"; + //if(!muonHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve muon data require by MET Task"; + //if(!trackHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve track data require by MET Task"; + //if(!electronHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve electron data require by MET Task"; + //if(!beamSpotHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve beam spot data require by MET Task"; - beamSpot_ = ( beamSpotHandle_.isValid() ) ? beamSpotHandle_->position() : math::XYZPoint(0, 0, 0); - } + //beamSpot_ = ( beamSpotHandle_.isValid() ) ? beamSpotHandle_->position() : math::XYZPoint(0, 0, 0); + //} // ========================================================== // @@ -799,17 +775,18 @@ void METAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu } collsize=caloJets->size(); } - if (isTCMet_){ - iEvent.getByToken(jptJetsToken_, jptJets); - if (!jptJets.isValid()) { - LogDebug("") << "METAnalyzer: Could not find jptjet product" << std::endl; - if (verbose_) std::cout << "METAnalyzer: Could not find jptjet product" << std::endl; - } - collsize=jptJets->size(); - } + ///* + //if (isTCMet_){ + //iEvent.getByToken(jptJetsToken_, jptJets); + //if (!jptJets.isValid()) { + // LogDebug("") << "METAnalyzer: Could not find jptjet product" << std::endl; + // if (verbose_) std::cout << "METAnalyzer: Could not find jptjet product" << std::endl; + //} + //collsize=jptJets->size(); + //}*/ edm::Handle< edm::ValueMap >jetID_ValueMap_Handle; - if(isTCMet_ || isCaloMet_){ + if(/*isTCMet_ || */isCaloMet_){ if(!runcosmics_){ iEvent.getByToken(jetID_ValueMapToken_,jetID_ValueMap_Handle); } @@ -840,9 +817,9 @@ void METAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu if(isCaloMet_){ scale = corrector->correction((*caloJets)[ijet], iEvent, iSetup); } - if(isTCMet_){ - scale = corrector->correction((*jptJets)[ijet], iEvent, iSetup); - } + //if(isTCMet_){ + //scale = corrector->correction((*jptJets)[ijet], iEvent, iSetup); + //} if(isPFMet_){ scale = corrector->correction((*pfJets)[ijet], iEvent, iSetup); } @@ -859,20 +836,21 @@ void METAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu } } } - if(isTCMet_){ - pt_jet=scale*(*jptJets)[ijet].pt(); - if(pt_jet> ptThreshold_){ - const edm::RefToBase& rawJet = (*jptJets)[ijet].getCaloJetRef(); - const reco::CaloJet *rawCaloJet = dynamic_cast(&*rawJet); - reco::CaloJetRef const theCaloJetRef = (rawJet).castTo(); - if(!runcosmics_){ - reco::JetID jetID = (*jetID_ValueMap_Handle)[theCaloJetRef]; - iscleaned = jetIDFunctorLoose(*rawCaloJet, jetID); - }else{ - iscleaned=true; - } - } - } + ///* + //if(isTCMet_){ + //pt_jet=scale*(*jptJets)[ijet].pt(); + //if(pt_jet> ptThreshold_){ + // const edm::RefToBase& rawJet = (*jptJets)[ijet].getCaloJetRef(); + // const reco::CaloJet *rawCaloJet = dynamic_cast(&*rawJet); + // reco::CaloJetRef const theCaloJetRef = (rawJet).castTo(); + // if(!runcosmics_){ + // reco::JetID jetID = (*jetID_ValueMap_Handle)[theCaloJetRef]; + // iscleaned = jetIDFunctorLoose(*rawCaloJet, jetID); + // }else{ + // iscleaned=true; + // } + //} + //}*/ if(isPFMet_){ pt_jet=scale*(*pfJets)[ijet].pt(); if(pt_jet> ptThreshold_){ @@ -900,9 +878,9 @@ void METAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu if(isCaloMet_){ dphi=fabs((*caloJets)[ind1].phi()-(*caloJets)[ind2].phi()); } - if(isTCMet_){ - dphi=fabs((*jptJets)[ind1].phi()-(*jptJets)[ind2].phi()); - } + ///* if(isTCMet_){ + //dphi=fabs((*jptJets)[ind1].phi()-(*jptJets)[ind2].phi()); + //}*/ if(isPFMet_){ dphi=fabs((*pfJets)[ind1].phi()-(*pfJets)[ind2].phi()); } @@ -970,35 +948,41 @@ void METAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetu for (std::vector::const_iterator ic = folderNames_.begin(); ic != folderNames_.end(); ic++){ - if ((*ic=="Uncleaned") &&(isCaloMet_ || bPrimaryVertex)) fillMESet(iEvent, DirName+"/"+*ic, *met,*pfmet,*calomet); - if ((*ic=="Cleaned") &&bDCSFilter&&bHBHENoiseFilter&&bPrimaryVertex&&bBeamHaloID&&bJetID) fillMESet(iEvent, DirName+"/"+*ic, *met,*pfmet,*calomet); - if ((*ic=="DiJet" ) &&bDCSFilter&&bHBHENoiseFilter&&bPrimaryVertex&&bBeamHaloID&&bDiJetID) fillMESet(iEvent, DirName+"/"+*ic, *met,*pfmet,*calomet); + if ((*ic=="Uncleaned") &&(isCaloMet_ || bPrimaryVertex)) fillMESet(iEvent, DirName+"/"+*ic, *met,*pfmet,*calomet,map_dijet_MEs); + //take two lines out for first check + if ((*ic=="Cleaned") &&bDCSFilter&&bHBHENoiseFilter&&bPrimaryVertex&&bBeamHaloID&&bJetID) fillMESet(iEvent, DirName+"/"+*ic, *met,*pfmet,*calomet,map_dijet_MEs); + if ((*ic=="DiJet" ) &&bDCSFilter&&bHBHENoiseFilter&&bPrimaryVertex&&bBeamHaloID&&bDiJetID) fillMESet(iEvent, DirName+"/"+*ic, *met,*pfmet,*calomet,map_dijet_MEs); } } // *********************************************************** void METAnalyzer::fillMESet(const edm::Event& iEvent, std::string DirName, - const reco::MET& met, const reco::PFMET& pfmet, const reco::CaloMET& calomet) + const reco::MET& met, const reco::PFMET& pfmet, const reco::CaloMET& calomet,std::map& map_of_MEs) { - dbe_->setCurrentFolder(DirName); - - bool bLumiSecPlot=false; - if (DirName.find("Uncleaned")) bLumiSecPlot=true; - fillMonitorElement(iEvent, DirName, std::string(""), met, pfmet, calomet, bLumiSecPlot); + //dbe_->setCurrentFolder(DirName); + bool bLumiSecPlot=fill_met_high_level_histo; + //if (DirName.find("Uncleaned")) bLumiSecPlot=true; //now done on configlevel + fillMonitorElement(iEvent, DirName, std::string(""), met, pfmet, calomet, map_of_MEs,bLumiSecPlot); if (DirName.find("Cleaned")) { for (unsigned i = 0; i& map_of_MEs,bool bLumiSecPlot) { // if (subFolderName=="HighPtJet") { @@ -1058,44 +1042,43 @@ void METAnalyzer::fillMonitorElement(const edm::Event& iEvent, std::string DirNa if (subFolderName!="") DirName = DirName +"/"+subFolderName; -// if (verbose_) std::cout << "etThreshold_ = " << etThreshold_ << std::endl; -// unsigned c(0); - if (true){ -// if (SumET>etThreshold_){ - hTrigger = dbe_->get(DirName+"/triggerResults"); -// std::cout<<"Hello"<getRootObject()<getRootObject()) { -// std::cout<<"Hello"<Fill(i + .5, allTriggerDecisions_[i]); - if (!hTriggerLabelsIsSet_) { - hTrigger->setBinLabel(i+1, allTriggerNames_[i]);//Can't be done in beginJob (no trigger list). Can't be done in beginRun (would have to anticipate folder structure).FIXME doesn't work - } -// std::cout<<"Filling decision "<setBinLabel(i+1, "");//Can't be done in beginJob (no trigger list). Can't be done in beginRun (would have to anticipate folder structure). + + hTrigger = map_of_MEs[DirName+"/triggerResults"]; + // std::cout<<"Hello"<getRootObject()<getRootObject()) { + // std::cout<<"Hello"<getNbinsX()){ + hTrigger->Fill(i + .5, allTriggerDecisions_[i]); + if (!hTriggerLabelsIsSet_) { + hTrigger->setBinLabel(i+1, allTriggerNames_[i]);//Can't be done in beginJob (no trigger list). Can't be done in beginRun (would have to anticipate folder structure).FIXME doesn't work + } } } + if (!hTriggerLabelsIsSet_) for (int i = allTriggerDecisions_.size(); igetNbinsX();i++){ + hTrigger->setBinLabel(i+1, "");//Can't be done in beginJob (no trigger list). Can't be done in beginRun (would have to anticipate folder structure). + } hTriggerLabelsIsSet_ = true; - hMEx = dbe_->get(DirName+"/"+"MEx"); if (hMEx && hMEx->getRootObject()){ hMEx ->Fill(MEx);} - hMEy = dbe_->get(DirName+"/"+"MEy"); if (hMEy && hMEy->getRootObject()) hMEy ->Fill(MEy); - hMET = dbe_->get(DirName+"/"+"MET"); if (hMET && hMET->getRootObject()) hMET ->Fill(MET); - hMETPhi = dbe_->get(DirName+"/"+"METPhi"); if (hMETPhi && hMETPhi->getRootObject()) hMETPhi ->Fill(METPhi); - hSumET = dbe_->get(DirName+"/"+"SumET"); if (hSumET && hSumET->getRootObject()) hSumET ->Fill(SumET); - hMETSig = dbe_->get(DirName+"/"+"METSig"); if (hMETSig && hMETSig->getRootObject()) hMETSig ->Fill(METSig); - //hEz = dbe_->get(DirName+"/"+"Ez"); if (hEz && hEz->getRootObject()) hEz ->Fill(Ez); - - hMET_logx = dbe_->get(DirName+"/"+"MET_logx"); if (hMET_logx && hMET_logx->getRootObject()) hMET_logx->Fill(log10(MET)); - hSumET_logx = dbe_->get(DirName+"/"+"SumET_logx"); if (hSumET_logx && hSumET_logx->getRootObject()) hSumET_logx->Fill(log10(SumET)); - + // std::cout<<"Filling decision "<getRootObject()) hMEx ->Fill(MEx); + hMEy = map_of_MEs[DirName+"/"+"MEy"]; if (hMEy && hMEy->getRootObject()) hMEy ->Fill(MEy); + hMET = map_of_MEs[DirName+"/"+"MET"]; if (hMET && hMET->getRootObject()) hMET ->Fill(MET); + hMETPhi = map_of_MEs[DirName+"/"+"METPhi"]; if (hMETPhi && hMETPhi->getRootObject()) hMETPhi ->Fill(METPhi); + hSumET = map_of_MEs[DirName+"/"+"SumET"]; if (hSumET && hSumET->getRootObject()) hSumET ->Fill(SumET); + hMETSig = map_of_MEs[DirName+"/"+"METSig"]; if (hMETSig && hMETSig->getRootObject()) hMETSig ->Fill(METSig); + hMET_logx = map_of_MEs[DirName+"/"+"MET_logx"]; if (hMET_logx && hMET_logx->getRootObject()) hMET_logx->Fill(log10(MET)); + hSumET_logx = map_of_MEs[DirName+"/"+"SumET_logx"]; if (hSumET_logx && hSumET_logx->getRootObject()) hSumET_logx->Fill(log10(SumET)); + // Fill NPV profiles //-------------------------------------------------------------------------- - meMEx_profile = dbe_->get(DirName + "/MEx_profile"); - meMEy_profile = dbe_->get(DirName + "/MEy_profile"); - meMET_profile = dbe_->get(DirName + "/MET_profile"); - meSumET_profile = dbe_->get(DirName + "/SumET_profile"); + meMEx_profile = map_of_MEs[DirName + "/MEx_profile"]; + meMEy_profile = map_of_MEs[DirName + "/MEy_profile"]; + meMET_profile = map_of_MEs[DirName + "/MET_profile"]; + meSumET_profile = map_of_MEs[DirName + "/SumET_profile"]; if (meMEx_profile && meMEx_profile ->getRootObject()) meMEx_profile ->Fill(numPV_, MEx); if (meMEy_profile && meMEy_profile ->getRootObject()) meMEy_profile ->Fill(numPV_, MEy); @@ -1121,45 +1104,45 @@ void METAnalyzer::fillMonitorElement(const edm::Event& iEvent, std::string DirNa double caloEmEtInEE = calomet.emEtInEE(); double caloEmEtInHF = calomet.emEtInHF(); - hCaloMaxEtInEmTowers = dbe_->get(DirName+"/"+"CaloMaxEtInEmTowers"); if (hCaloMaxEtInEmTowers && hCaloMaxEtInEmTowers->getRootObject()) hCaloMaxEtInEmTowers->Fill(caloMaxEtInEMTowers); - hCaloMaxEtInHadTowers = dbe_->get(DirName+"/"+"CaloMaxEtInHadTowers"); if (hCaloMaxEtInHadTowers && hCaloMaxEtInHadTowers->getRootObject()) hCaloMaxEtInHadTowers->Fill(caloMaxEtInHadTowers); + hCaloMaxEtInEmTowers = map_of_MEs[DirName+"/"+"CaloMaxEtInEmTowers"]; if (hCaloMaxEtInEmTowers && hCaloMaxEtInEmTowers->getRootObject()) hCaloMaxEtInEmTowers->Fill(caloMaxEtInEMTowers); + hCaloMaxEtInHadTowers = map_of_MEs[DirName+"/"+"CaloMaxEtInHadTowers"]; if (hCaloMaxEtInHadTowers && hCaloMaxEtInHadTowers->getRootObject()) hCaloMaxEtInHadTowers->Fill(caloMaxEtInHadTowers); - hCaloHadEtInHB = dbe_->get(DirName+"/"+"CaloHadEtInHB"); if (hCaloHadEtInHB && hCaloHadEtInHB->getRootObject()) hCaloHadEtInHB->Fill(caloHadEtInHB); - hCaloHadEtInHO = dbe_->get(DirName+"/"+"CaloHadEtInHO"); if (hCaloHadEtInHO && hCaloHadEtInHO->getRootObject()) hCaloHadEtInHO->Fill(caloHadEtInHO); - hCaloHadEtInHE = dbe_->get(DirName+"/"+"CaloHadEtInHE"); if (hCaloHadEtInHE && hCaloHadEtInHE->getRootObject()) hCaloHadEtInHE->Fill(caloHadEtInHE); - hCaloHadEtInHF = dbe_->get(DirName+"/"+"CaloHadEtInHF"); if (hCaloHadEtInHF && hCaloHadEtInHF->getRootObject()) hCaloHadEtInHF->Fill(caloHadEtInHF); - hCaloEmEtInEB = dbe_->get(DirName+"/"+"CaloEmEtInEB"); if (hCaloEmEtInEB && hCaloEmEtInEB->getRootObject()) hCaloEmEtInEB->Fill(caloEmEtInEB); - hCaloEmEtInEE = dbe_->get(DirName+"/"+"CaloEmEtInEE"); if (hCaloEmEtInEE && hCaloEmEtInEE->getRootObject()) hCaloEmEtInEE->Fill(caloEmEtInEE); - hCaloEmEtInHF = dbe_->get(DirName+"/"+"CaloEmEtInHF"); if (hCaloEmEtInHF && hCaloEmEtInHF->getRootObject()) hCaloEmEtInHF->Fill(caloEmEtInHF); + hCaloHadEtInHB = map_of_MEs[DirName+"/"+"CaloHadEtInHB"]; if (hCaloHadEtInHB && hCaloHadEtInHB->getRootObject()) hCaloHadEtInHB->Fill(caloHadEtInHB); + hCaloHadEtInHO = map_of_MEs[DirName+"/"+"CaloHadEtInHO"]; if (hCaloHadEtInHO && hCaloHadEtInHO->getRootObject()) hCaloHadEtInHO->Fill(caloHadEtInHO); + hCaloHadEtInHE = map_of_MEs[DirName+"/"+"CaloHadEtInHE"]; if (hCaloHadEtInHE && hCaloHadEtInHE->getRootObject()) hCaloHadEtInHE->Fill(caloHadEtInHE); + hCaloHadEtInHF = map_of_MEs[DirName+"/"+"CaloHadEtInHF"]; if (hCaloHadEtInHF && hCaloHadEtInHF->getRootObject()) hCaloHadEtInHF->Fill(caloHadEtInHF); + hCaloEmEtInEB = map_of_MEs[DirName+"/"+"CaloEmEtInEB"]; if (hCaloEmEtInEB && hCaloEmEtInEB->getRootObject()) hCaloEmEtInEB->Fill(caloEmEtInEB); + hCaloEmEtInEE = map_of_MEs[DirName+"/"+"CaloEmEtInEE"]; if (hCaloEmEtInEE && hCaloEmEtInEE->getRootObject()) hCaloEmEtInEE->Fill(caloEmEtInEE); + hCaloEmEtInHF = map_of_MEs[DirName+"/"+"CaloEmEtInHF"]; if (hCaloEmEtInHF && hCaloEmEtInHF->getRootObject()) hCaloEmEtInHF->Fill(caloEmEtInHF); - hCaloMETPhi020 = dbe_->get(DirName+"/"+"CaloMETPhi020"); if (MET> 20. && hCaloMETPhi020 && hCaloMETPhi020->getRootObject()) { hCaloMETPhi020->Fill(METPhi);} + hCaloMETPhi020 = map_of_MEs[DirName+"/"+"CaloMETPhi020"]; if (MET> 20. && hCaloMETPhi020 && hCaloMETPhi020->getRootObject()) { hCaloMETPhi020->Fill(METPhi);} - hCaloEtFractionHadronic = dbe_->get(DirName+"/"+"CaloEtFractionHadronic"); if (hCaloEtFractionHadronic && hCaloEtFractionHadronic->getRootObject()) hCaloEtFractionHadronic->Fill(caloEtFractionHadronic); - hCaloEmEtFraction = dbe_->get(DirName+"/"+"CaloEmEtFraction"); if (hCaloEmEtFraction && hCaloEmEtFraction->getRootObject()) hCaloEmEtFraction->Fill(caloEmEtFraction); - hCaloEmEtFraction020 = dbe_->get(DirName+"/"+"CaloEmEtFraction020"); if (MET> 20. && hCaloEmEtFraction020 && hCaloEmEtFraction020->getRootObject()) hCaloEmEtFraction020->Fill(caloEmEtFraction); - if (metCollectionLabel_.label() == "corMetGlobalMuons" ) { + hCaloEtFractionHadronic = map_of_MEs[DirName+"/"+"CaloEtFractionHadronic"]; if (hCaloEtFractionHadronic && hCaloEtFractionHadronic->getRootObject()) hCaloEtFractionHadronic->Fill(caloEtFractionHadronic); + hCaloEmEtFraction = map_of_MEs[DirName+"/"+"CaloEmEtFraction"]; if (hCaloEmEtFraction && hCaloEmEtFraction->getRootObject()) hCaloEmEtFraction->Fill(caloEmEtFraction); + hCaloEmEtFraction020 = map_of_MEs[DirName+"/"+"CaloEmEtFraction020"]; if (MET> 20. && hCaloEmEtFraction020 && hCaloEmEtFraction020->getRootObject()) hCaloEmEtFraction020->Fill(caloEmEtFraction); + //if (metCollectionLabel_.label() == "corMetGlobalMuons" ) { - for( reco::MuonCollection::const_iterator muonit = muonHandle_->begin(); muonit != muonHandle_->end(); muonit++ ) { - const reco::TrackRef siTrack = muonit->innerTrack(); - hCalomuPt = dbe_->get(DirName+"/"+"CalomuonPt"); - if (hCalomuPt && hCalomuPt->getRootObject()) hCalomuPt->Fill( muonit->p4().pt() ); - hCalomuEta = dbe_->get(DirName+"/"+"CalomuonEta"); if (hCalomuEta && hCalomuEta->getRootObject()) hCalomuEta->Fill( muonit->p4().eta() ); - hCalomuNhits = dbe_->get(DirName+"/"+"CalomuonNhits"); if (hCalomuNhits && hCalomuNhits->getRootObject()) hCalomuNhits->Fill( siTrack.isNonnull() ? siTrack->numberOfValidHits() : -999 ); - hCalomuChi2 = dbe_->get(DirName+"/"+"CalomuonNormalizedChi2"); if (hCalomuChi2 && hCalomuChi2->getRootObject()) hCalomuChi2->Fill( siTrack.isNonnull() ? siTrack->chi2()/siTrack->ndof() : -999 ); - double d0 = siTrack.isNonnull() ? -1 * siTrack->dxy( beamSpot_) : -999; - hCalomuD0 = dbe_->get(DirName+"/"+"CalomuonD0"); if (hCalomuD0 && hCalomuD0->getRootObject()) hCalomuD0->Fill( d0 ); - } + //for( reco::MuonCollection::const_iterator muonit = muonHandle_->begin(); muonit != muonHandle_->end(); muonit++ ) { + // const reco::TrackRef siTrack = muonit->innerTrack(); + // hCalomuPt = map_of_MEs[DirName+"/"+"CalomuonPt"]; + // if (hCalomuPt && hCalomuPt->getRootObject()) hCalomuPt->Fill( muonit->p4().pt() ); + // hCalomuEta = map_of_MEs[DirName+"/"+"CalomuonEta"]; if (hCalomuEta && hCalomuEta->getRootObject()) hCalomuEta->Fill( muonit->p4().eta() ); + // hCalomuNhits = map_of_MEs[DirName+"/"+"CalomuonNhits"]; if (hCalomuNhits && hCalomuNhits->getRootObject()) hCalomuNhits->Fill( siTrack.isNonnull() ? siTrack->numberOfValidHits() : -999 ); + // hCalomuChi2 = map_of_MEs[DirName+"/"+"CalomuonNormalizedChi2"]; if (hCalomuChi2 && hCalomuChi2->getRootObject()) hCalomuChi2->Fill( siTrack.isNonnull() ? siTrack->chi2()/siTrack->ndof() : -999 ); + // double d0 = siTrack.isNonnull() ? -1 * siTrack->dxy( beamSpot_) : -999; + // hCalomuD0 = map_of_MEs[DirName+"/"+"CalomuonD0"]; if (hCalomuD0 && hCalomuD0->getRootObject()) hCalomuD0->Fill( d0 ); + //} - const unsigned int nMuons = muonHandle_->size(); - for( unsigned int mus = 0; mus < nMuons; mus++ ) { - reco::MuonRef muref( muonHandle_, mus); - reco::MuonMETCorrectionData muCorrData = (*tcMetValueMapHandle_)[muref]; - hCaloMExCorrection = dbe_->get(DirName+"/"+"CaloMExCorrection"); if (hCaloMExCorrection && hCaloMExCorrection->getRootObject()) hCaloMExCorrection-> Fill(muCorrData.corrY()); - hCaloMEyCorrection = dbe_->get(DirName+"/"+"CaloMEyCorrection"); if (hCaloMEyCorrection && hCaloMEyCorrection->getRootObject()) hCaloMEyCorrection-> Fill(muCorrData.corrX()); - hCaloMuonCorrectionFlag = dbe_->get(DirName+"/"+"CaloMuonCorrectionFlag"); if (hCaloMuonCorrectionFlag && hCaloMuonCorrectionFlag->getRootObject()) hCaloMuonCorrectionFlag-> Fill(muCorrData.type()); - } - } + //const unsigned int nMuons = muonHandle_->size(); + //for( unsigned int mus = 0; mus < nMuons; mus++ ) { + // reco::MuonRef muref( muonHandle_, mus); + // reco::MuonMETCorrectionData muCorrData = (*tcMetValueMapHandle_)[muref]; + // hCaloMExCorrection = map_of_MEs[DirName+"/"+"CaloMExCorrection"]; if (hCaloMExCorrection && hCaloMExCorrection->getRootObject()) hCaloMExCorrection-> Fill(muCorrData.corrY()); + // hCaloMEyCorrection = map_of_MEs[DirName+"/"+"CaloMEyCorrection"]; if (hCaloMEyCorrection && hCaloMEyCorrection->getRootObject()) hCaloMEyCorrection-> Fill(muCorrData.corrX()); + // hCaloMuonCorrectionFlag = map_of_MEs[DirName+"/"+"CaloMuonCorrectionFlag"]; if (hCaloMuonCorrectionFlag && hCaloMuonCorrectionFlag->getRootObject()) hCaloMuonCorrectionFlag-> Fill(muCorrData.type()); + //} + //} } if(isPFMet_){ @@ -1185,20 +1168,20 @@ void METAnalyzer::fillMonitorElement(const edm::Event& iEvent, std::string DirNa double pfHFEMEtFraction = pfmet.HFEMEtFraction(); double pfHFEMEt = pfmet.HFEMEt(); - mePhotonEtFraction = dbe_->get(DirName + "/PfPhotonEtFraction"); - mePhotonEt = dbe_->get(DirName + "/PfPhotonEt"); - meNeutralHadronEtFraction = dbe_->get(DirName + "/PfNeutralHadronEtFraction"); - meNeutralHadronEt = dbe_->get(DirName + "/PfNeutralHadronEt"); - meElectronEtFraction = dbe_->get(DirName + "/PfElectronEtFraction"); - meElectronEt = dbe_->get(DirName + "/PfElectronEt"); - meChargedHadronEtFraction = dbe_->get(DirName + "/PfChargedHadronEtFraction"); - meChargedHadronEt = dbe_->get(DirName + "/PfChargedHadronEt"); - meMuonEtFraction = dbe_->get(DirName + "/PfMuonEtFraction"); - meMuonEt = dbe_->get(DirName + "/PfMuonEt"); - meHFHadronEtFraction = dbe_->get(DirName + "/PfHFHadronEtFraction"); - meHFHadronEt = dbe_->get(DirName + "/PfHFHadronEt"); - meHFEMEtFraction = dbe_->get(DirName + "/PfHFEMEtFraction"); - meHFEMEt = dbe_->get(DirName + "/PfHFEMEt"); + mePhotonEtFraction = map_of_MEs[DirName + "/PfPhotonEtFraction"]; + mePhotonEt = map_of_MEs[DirName + "/PfPhotonEt"]; + meNeutralHadronEtFraction = map_of_MEs[DirName + "/PfNeutralHadronEtFraction"]; + meNeutralHadronEt = map_of_MEs[DirName + "/PfNeutralHadronEt"]; + meElectronEtFraction = map_of_MEs[DirName + "/PfElectronEtFraction"]; + meElectronEt = map_of_MEs[DirName + "/PfElectronEt"]; + meChargedHadronEtFraction = map_of_MEs[DirName + "/PfChargedHadronEtFraction"]; + meChargedHadronEt = map_of_MEs[DirName + "/PfChargedHadronEt"]; + meMuonEtFraction = map_of_MEs[DirName + "/PfMuonEtFraction"]; + meMuonEt = map_of_MEs[DirName + "/PfMuonEt"]; + meHFHadronEtFraction = map_of_MEs[DirName + "/PfHFHadronEtFraction"]; + meHFHadronEt = map_of_MEs[DirName + "/PfHFHadronEt"]; + meHFEMEtFraction = map_of_MEs[DirName + "/PfHFEMEtFraction"]; + meHFEMEt = map_of_MEs[DirName + "/PfHFEMEt"]; if (mePhotonEtFraction && mePhotonEtFraction ->getRootObject()) mePhotonEtFraction ->Fill(pfPhotonEtFraction); if (mePhotonEt && mePhotonEt ->getRootObject()) mePhotonEt ->Fill(pfPhotonEt); @@ -1217,20 +1200,20 @@ void METAnalyzer::fillMonitorElement(const edm::Event& iEvent, std::string DirNa //NPV profiles - mePhotonEtFraction_profile = dbe_->get(DirName + "/PfPhotonEtFraction_profile"); - mePhotonEt_profile = dbe_->get(DirName + "/PfPhotonEt_profile"); - meNeutralHadronEtFraction_profile = dbe_->get(DirName + "/PfNeutralHadronEtFraction_profile"); - meNeutralHadronEt_profile = dbe_->get(DirName + "/PfNeutralHadronEt_profile"); - meElectronEtFraction_profile = dbe_->get(DirName + "/PfElectronEtFraction_profile"); - meElectronEt_profile = dbe_->get(DirName + "/PfElectronEt_profile"); - meChargedHadronEtFraction_profile = dbe_->get(DirName + "/PfChargedHadronEtFraction_profile"); - meChargedHadronEt_profile = dbe_->get(DirName + "/PfChargedHadronEt_profile"); - meMuonEtFraction_profile = dbe_->get(DirName + "/PfMuonEtFraction_profile"); - meMuonEt_profile = dbe_->get(DirName + "/PfMuonEt_profile"); - meHFHadronEtFraction_profile = dbe_->get(DirName + "/PfHFHadronEtFraction_profile"); - meHFHadronEt_profile = dbe_->get(DirName + "/PfHFHadronEt_profile"); - meHFEMEtFraction_profile = dbe_->get(DirName + "/PfHFEMEtFraction_profile"); - meHFEMEt_profile = dbe_->get(DirName + "/PfHFEMEt_profile"); + mePhotonEtFraction_profile = map_of_MEs[DirName + "/PfPhotonEtFraction_profile"]; + mePhotonEt_profile = map_of_MEs[DirName + "/PfPhotonEt_profile"]; + meNeutralHadronEtFraction_profile = map_of_MEs[DirName + "/PfNeutralHadronEtFraction_profile"]; + meNeutralHadronEt_profile = map_of_MEs[DirName + "/PfNeutralHadronEt_profile"]; + meElectronEtFraction_profile = map_of_MEs[DirName + "/PfElectronEtFraction_profile"]; + meElectronEt_profile = map_of_MEs[DirName + "/PfElectronEt_profile"]; + meChargedHadronEtFraction_profile = map_of_MEs[DirName + "/PfChargedHadronEtFraction_profile"]; + meChargedHadronEt_profile = map_of_MEs[DirName + "/PfChargedHadronEt_profile"]; + meMuonEtFraction_profile = map_of_MEs[DirName + "/PfMuonEtFraction_profile"]; + meMuonEt_profile = map_of_MEs[DirName + "/PfMuonEt_profile"]; + meHFHadronEtFraction_profile = map_of_MEs[DirName + "/PfHFHadronEtFraction_profile"]; + meHFHadronEt_profile = map_of_MEs[DirName + "/PfHFHadronEt_profile"]; + meHFEMEtFraction_profile = map_of_MEs[DirName + "/PfHFEMEtFraction_profile"]; + meHFEMEt_profile = map_of_MEs[DirName + "/PfHFEMEt_profile"]; if (mePhotonEtFraction_profile && mePhotonEtFraction_profile ->getRootObject()) mePhotonEtFraction_profile ->Fill(numPV_, pfPhotonEtFraction); if (mePhotonEt_profile && mePhotonEt_profile ->getRootObject()) mePhotonEt_profile ->Fill(numPV_, pfPhotonEt); @@ -1249,61 +1232,60 @@ void METAnalyzer::fillMonitorElement(const edm::Event& iEvent, std::string DirNa } if (isCaloMet_){ - if (bLumiSecPlot){ - hMExLS = dbe_->get(DirName+"/"+"MExLS"); if (hMExLS && hMExLS->getRootObject()) hMExLS->Fill(MEx,myLuminosityBlock); - hMEyLS = dbe_->get(DirName+"/"+"MEyLS"); if (hMEyLS && hMEyLS->getRootObject()) hMEyLS->Fill(MEy,myLuminosityBlock); + //if (bLumiSecPlot){//get from config level + if (fill_met_high_level_histo){ + hMExLS = map_of_MEs[DirName+"/"+"MExLS"]; if (hMExLS && hMExLS->getRootObject()) hMExLS->Fill(MEx,myLuminosityBlock); + hMEyLS = map_of_MEs[DirName+"/"+"MEyLS"]; if (hMEyLS && hMEyLS->getRootObject()) hMEyLS->Fill(MEy,myLuminosityBlock); } - } + } //////////////////////////////////// - if (isTCMet_) { - - if(trackHandle_.isValid()) { - for( edm::View::const_iterator trkit = trackHandle_->begin(); trkit != trackHandle_->end(); trkit++ ) { - htrkPt = dbe_->get(DirName+"/"+"trackPt"); if (htrkPt && htrkPt->getRootObject()) htrkPt->Fill( trkit->pt() ); - htrkEta = dbe_->get(DirName+"/"+"trackEta"); if (htrkEta && htrkEta->getRootObject()) htrkEta->Fill( trkit->eta() ); - htrkNhits = dbe_->get(DirName+"/"+"trackNhits"); if (htrkNhits && htrkNhits->getRootObject()) htrkNhits->Fill( trkit->numberOfValidHits() ); - htrkChi2 = dbe_->get(DirName+"/"+"trackNormalizedChi2"); - if (htrkChi2 && htrkChi2->getRootObject()) htrkChi2->Fill( trkit->chi2() / trkit->ndof() ); - double d0 = -1 * trkit->dxy( beamSpot_ ); - htrkD0 = dbe_->get(DirName+"/"+"trackD0"); if (htrkD0 && htrkD0->getRootObject()) htrkD0->Fill( d0 ); - } - }else{if (verbose_) std::cout<<"tracks not valid"<::const_iterator eleit = electronHandle_->begin(); eleit != electronHandle_->end(); eleit++ ) { - helePt = dbe_->get(DirName+"/"+"electronPt"); if (helePt && helePt->getRootObject()) helePt->Fill( eleit->p4().pt() ); - heleEta = dbe_->get(DirName+"/"+"electronEta"); if (heleEta && heleEta->getRootObject()) heleEta->Fill( eleit->p4().eta() ); - heleHoE = dbe_->get(DirName+"/"+"electronHoverE"); if (heleHoE && heleHoE->getRootObject()) heleHoE->Fill( eleit->hadronicOverEm() ); - } - }else{ - if (verbose_) std::cout<<"electrons not valid"<begin(); muonit != muonHandle_->end(); muonit++ ) { - const reco::TrackRef siTrack = muonit->innerTrack(); - hmuPt = dbe_->get(DirName+"/"+"muonPt"); if (hmuPt && hmuPt->getRootObject()) hmuPt ->Fill( muonit->p4().pt() ); - hmuEta = dbe_->get(DirName+"/"+"muonEta"); if (hmuEta && hmuEta->getRootObject()) hmuEta ->Fill( muonit->p4().eta() ); - hmuNhits = dbe_->get(DirName+"/"+"muonNhits"); if (hmuNhits && hmuNhits->getRootObject()) hmuNhits->Fill( siTrack.isNonnull() ? siTrack->numberOfValidHits() : -999 ); - hmuChi2 = dbe_->get(DirName+"/"+"muonNormalizedChi2"); if (hmuChi2 && hmuChi2->getRootObject()) hmuChi2 ->Fill( siTrack.isNonnull() ? siTrack->chi2()/siTrack->ndof() : -999 ); - double d0 = siTrack.isNonnull() ? -1 * siTrack->dxy( beamSpot_) : -999; - hmuD0 = dbe_->get(DirName+"/"+"muonD0"); if (hmuD0 && hmuD0->getRootObject()) hmuD0->Fill( d0 ); - } - const unsigned int nMuons = muonHandle_->size(); - for( unsigned int mus = 0; mus < nMuons; mus++ ) { - reco::MuonRef muref( muonHandle_, mus); - reco::MuonMETCorrectionData muCorrData = (*tcMetValueMapHandle_)[muref]; - hMExCorrection = dbe_->get(DirName+"/"+"MExCorrection"); if (hMExCorrection && hMExCorrection->getRootObject()) hMExCorrection-> Fill(muCorrData.corrY()); - hMEyCorrection = dbe_->get(DirName+"/"+"MEyCorrection"); if (hMEyCorrection && hMEyCorrection->getRootObject()) hMEyCorrection-> Fill(muCorrData.corrX()); - hMuonCorrectionFlag = dbe_->get(DirName+"/"+"CorrectionFlag"); if (hMuonCorrectionFlag && hMuonCorrectionFlag->getRootObject()) hMuonCorrectionFlag-> Fill(muCorrData.type()); - } - }else{ - if (verbose_) std::cout<<"muons not valid"<::const_iterator trkit = trackHandle_->begin(); trkit != trackHandle_->end(); trkit++ ) { + // htrkPt = map_of_MEs[DirName+"/"+"trackPt"]; if (htrkPt && htrkPt->getRootObject()) htrkPt->Fill( trkit->pt() ); + // htrkEta = map_of_MEs[DirName+"/"+"trackEta"]; if (htrkEta && htrkEta->getRootObject()) htrkEta->Fill( trkit->eta() ); + // htrkNhits = map_of_MEs[DirName+"/"+"trackNhits"]; if (htrkNhits && htrkNhits->getRootObject()) htrkNhits->Fill( trkit->numberOfValidHits() ); + // htrkChi2 = map_of_MEs[DirName+"/"+"trackNormalizedChi2"]; + // if (htrkChi2 && htrkChi2->getRootObject()) htrkChi2->Fill( trkit->chi2() / trkit->ndof() ); + // double d0 = -1 * trkit->dxy( beamSpot_ ); + // htrkD0 = map_of_MEs[DirName+"/"+"trackD0"]; if (htrkD0 && htrkD0->getRootObject()) htrkD0->Fill( d0 ); + // } + //}else{if (verbose_) std::cout<<"tracks not valid"<::const_iterator eleit = electronHandle_->begin(); eleit != electronHandle_->end(); eleit++ ) { + // helePt = map_of_MEs[DirName+"/"+"electronPt"]; if (helePt && helePt->getRootObject()) helePt->Fill( eleit->p4().pt() ); + // heleEta = map_of_MEs[DirName+"/"+"electronEta"]; if (heleEta && heleEta->getRootObject()) heleEta->Fill( eleit->p4().eta() ); + // heleHoE = map_of_MEs[DirName+"/"+"electronHoverE"]; if (heleHoE && heleHoE->getRootObject()) heleHoE->Fill( eleit->hadronicOverEm() ); + // } + //}else{ + // if (verbose_) std::cout<<"electrons not valid"<begin(); muonit != muonHandle_->end(); muonit++ ) { + // const reco::TrackRef siTrack = muonit->innerTrack(); + // hmuPt = map_of_MEs[DirName+"/"+"muonPt"]; if (hmuPt && hmuPt->getRootObject()) hmuPt ->Fill( muonit->p4().pt() ); + // hmuEta = map_of_MEs[DirName+"/"+"muonEta"]; if (hmuEta && hmuEta->getRootObject()) hmuEta ->Fill( muonit->p4().eta() ); + // hmuNhits = map_of_MEs[DirName+"/"+"muonNhits"]; if (hmuNhits && hmuNhits->getRootObject()) hmuNhits->Fill( siTrack.isNonnull() ? siTrack->numberOfValidHits() : -999 ); + // hmuChi2 = map_of_MEs[DirName+"/"+"muonNormalizedChi2"]; if (hmuChi2 && hmuChi2->getRootObject()) hmuChi2 ->Fill( siTrack.isNonnull() ? siTrack->chi2()/siTrack->ndof() : -999 ); + // double d0 = siTrack.isNonnull() ? -1 * siTrack->dxy( beamSpot_) : -999; + // hmuD0 = map_of_MEs[DirName+"/"+"muonD0"]; if (hmuD0 && hmuD0->getRootObject()) hmuD0->Fill( d0 ); + // } + // const unsigned int nMuons = muonHandle_->size(); + // for( unsigned int mus = 0; mus < nMuons; mus++ ) { + // reco::MuonRef muref( muonHandle_, mus); + // reco::MuonMETCorrectionData muCorrData = (*tcMetValueMapHandle_)[muref]; + // hMExCorrection = map_of_MEs[DirName+"/"+"MExCorrection"]; if (hMExCorrection && hMExCorrection->getRootObject()) hMExCorrection-> Fill(muCorrData.corrY()); + // hMEyCorrection = map_of_MEs[DirName+"/"+"MEyCorrection"]; if (hMEyCorrection && hMEyCorrection->getRootObject()) hMEyCorrection-> Fill(muCorrData.corrX()); + //hMuonCorrectionFlag = map_of_MEs[DirName+"/"+"CorrectionFlag"]; if (hMuonCorrectionFlag && hMuonCorrectionFlag->getRootObject()) hMuonCorrectionFlag-> Fill(muCorrData.type()); + // } + // }else{ + //if (verbose_) std::cout<<"muons not valid"< jptJets; // iEvent.getByToken(jptJetsToken_, jptJets); @@ -1340,7 +1322,7 @@ void METAnalyzer::fillMonitorElement(const edm::Event& iEvent, std::string DirNa // return_value=true; // } // } -// } +// }*/ // if(isPFMet_){ // edm::Handle PFJets; // iEvent.getByToken(pfJetsToken_, PFJets); diff --git a/DQMOffline/JetMET/src/SUSYDQMAnalyzer.cc b/DQMOffline/JetMET/src/SUSYDQMAnalyzer.cc index 579fe9f63607a..176ac39b00876 100644 --- a/DQMOffline/JetMET/src/SUSYDQMAnalyzer.cc +++ b/DQMOffline/JetMET/src/SUSYDQMAnalyzer.cc @@ -29,8 +29,8 @@ #include "DataFormats/JetReco/interface/CaloJetCollection.h" #include "DataFormats/JetReco/interface/PFJet.h" #include "DataFormats/JetReco/interface/PFJetCollection.h" -#include "DataFormats/JetReco/interface/JPTJet.h" -#include "DataFormats/JetReco/interface/JPTJetCollection.h" +//#include "DataFormats/JetReco/interface/JPTJet.h" +//#include "DataFormats/JetReco/interface/JPTJetCollection.h" #include "DataFormats/METReco/interface/MET.h" #include "DataFormats/METReco/interface/METCollection.h" @@ -78,10 +78,12 @@ SUSYDQMAnalyzer::SUSYDQMAnalyzer( const edm::ParameterSet& pSet) // Load parameters thePFMETCollectionToken = consumes (iConfig.getParameter("PFMETCollectionLabel")); theCaloMETCollectionToken = consumes (iConfig.getParameter("CaloMETCollectionLabel")); - theTCMETCollectionToken = consumes (iConfig.getParameter("TCMETCollectionLabel")); + + //remove TCMET and JPT related variables due to anticipated changes in RECO + //theTCMETCollectionToken = consumes (iConfig.getParameter("TCMETCollectionLabel")); theCaloJetCollectionToken = consumes (iConfig.getParameter("CaloJetCollectionLabel")); - theJPTJetCollectionToken = consumes (iConfig.getParameter("JPTJetCollectionLabel")); + //theJPTJetCollectionToken = consumes (iConfig.getParameter("JPTJetCollectionLabel")); thePFJetCollectionToken = consumes > (iConfig.getParameter("PFJetCollectionLabel")); _ptThreshold = iConfig.getParameter("ptThreshold"); @@ -107,7 +109,7 @@ void SUSYDQMAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, ibooker.setCurrentFolder(dir); hCaloHT = ibooker.book1D("Calo_HT", "", 500, 0., 2000); hPFHT = ibooker.book1D("PF_HT" , "", 500, 0., 2000); - hJPTHT = ibooker.book1D("JPT_HT" , "", 500, 0., 2000); + //hJPTHT = ibooker.book1D("JPT_HT" , "", 500, 0., 2000); //=========================================================== // book MET histos. @@ -116,7 +118,7 @@ void SUSYDQMAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, ibooker.setCurrentFolder(dir); hCaloMET = ibooker.book1D("Calo_MET", "", 500, 0., 1000); hPFMET = ibooker.book1D("PF_MET" , "", 500, 0., 1000); - hTCMET = ibooker.book1D("TC_MET" , "", 500, 0., 1000); + //hTCMET = ibooker.book1D("TC_MET" , "", 500, 0., 1000); //=========================================================== // book MHT histos. @@ -126,7 +128,7 @@ void SUSYDQMAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, ibooker.setCurrentFolder(dir); hCaloMHT = ibooker.book1D("Calo_MHT", "", 500, 0., 1000); hPFMHT = ibooker.book1D("PF_MHT" , "", 500, 0., 1000); - hJPTMHT = ibooker.book1D("JPT_MHT" , "", 500, 0., 1000); + //hJPTMHT = ibooker.book1D("JPT_MHT" , "", 500, 0., 1000); //=========================================================== // book alpha_T histos. @@ -135,8 +137,8 @@ void SUSYDQMAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, dir+="Alpha_T"; ibooker.setCurrentFolder(dir); hCaloAlpha_T = ibooker.book1D("Calo_AlphaT", "", 100, 0., 1.); - hJPTAlpha_T = ibooker.book1D("PF_AlphaT" , "", 100, 0., 1.); - hPFAlpha_T = ibooker.book1D("JPT_AlphaT" , "", 100, 0., 1.); + //hJPTAlpha_T = ibooker.book1D("PF_AlphaT" , "", 100, 0., 1.); + hPFAlpha_T = ibooker.book1D("PF_AlphaT" , "", 100, 0., 1.); // } } @@ -201,28 +203,28 @@ void SUSYDQMAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i //=========================================================== // JPT HT, MHT and alpha_T - edm::Handle JPTjetcoll; + //edm::Handle JPTjetcoll; - iEvent.getByToken(theJPTJetCollectionToken, JPTjetcoll); + //iEvent.getByToken(theJPTJetCollectionToken, JPTjetcoll); - if(!JPTjetcoll.isValid()) return; + //if(!JPTjetcoll.isValid()) return; - Ps.clear(); - for (reco::JPTJetCollection::const_iterator jet = JPTjetcoll->begin(); jet!=JPTjetcoll->end(); ++jet){ - if ((jet->pt()>_ptThreshold) && (abs(jet->eta())<_maxAbsEta)){ - if(Ps.size()>_maxNJets) { - edm::LogInfo(messageLoggerCatregory)<<"NMax Jets exceded.."; - break; - } - Ps.push_back(jet->p4()); - } - } - hJPTAlpha_T->Fill( alpha_T()(Ps)); + //Ps.clear(); + //for (reco::JPTJetCollection::const_iterator jet = JPTjetcoll->begin(); jet!=JPTjetcoll->end(); ++jet){ + //if ((jet->pt()>_ptThreshold) && (abs(jet->eta())<_maxAbsEta)){ + // if(Ps.size()>_maxNJets) { + // edm::LogInfo(messageLoggerCatregory)<<"NMax Jets exceded.."; + // break; + // } + // Ps.push_back(jet->p4()); + //} + //} + //hJPTAlpha_T->Fill( alpha_T()(Ps)); - HT JPTHT(JPTjetcoll, _ptThreshold, _maxAbsEta); + //HT JPTHT(JPTjetcoll, _ptThreshold, _maxAbsEta); - hJPTHT->Fill(JPTHT.ScalarSum); - hJPTMHT->Fill(JPTHT.v.Mod()); + //hJPTHT->Fill(JPTHT.ScalarSum); + //hJPTMHT->Fill(JPTHT.v.Mod()); //########################################################### // MET @@ -258,16 +260,16 @@ void SUSYDQMAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i //=========================================================== // TC MET - edm::Handle tcmetcoll; - iEvent.getByToken(theTCMETCollectionToken, tcmetcoll); + //edm::Handle tcmetcoll; + //iEvent.getByToken(theTCMETCollectionToken, tcmetcoll); - if(!tcmetcoll.isValid()) return; + //if(!tcmetcoll.isValid()) return; - const METCollection *tcmetcol = tcmetcoll.product(); - const MET *tcmet; - tcmet = &(tcmetcol->front()); + //const METCollection *tcmetcol = tcmetcoll.product(); + //const MET *tcmet; + //tcmet = &(tcmetcol->front()); - hTCMET->Fill(tcmet->pt()); + //hTCMET->Fill(tcmet->pt()); } diff --git a/DQMOffline/JetMET/test/JetQualityTests.xml b/DQMOffline/JetMET/test/JetQualityTests.xml index d56e368b2429f..dd450b7744e4f 100644 --- a/DQMOffline/JetMET/test/JetQualityTests.xml +++ b/DQMOffline/JetMET/test/JetQualityTests.xml @@ -44,19 +44,6 @@ 0.70 - - MeanWithinExpected - 2 - 0 - 0 - 1 - 0 - 10 - 0.10 - 0.70 - - - KolmogorovTest @@ -80,10 +67,4 @@ meanEMFractionTest - - KolmogorovTest - meanNTracksTest - - - diff --git a/DQMOffline/JetMET/test/run_PromptAna.py b/DQMOffline/JetMET/test/run_PromptAna.py index 32a421fc74342..f745c6ea2bc40 100644 --- a/DQMOffline/JetMET/test/run_PromptAna.py +++ b/DQMOffline/JetMET/test/run_PromptAna.py @@ -55,12 +55,8 @@ inputfiles = os.environ.get('INPUTFILES', #'/store/relval/CMSSW_7_0_0_pre8/RelValQCD_FlatPt_15_3000/GEN-SIM-RECO/PU_START70_V2_eg-v1/00000/FEFD7ED7-D952-E311-962B-0025905A605E.root' ###'/store/relval/CMSSW_5_3_6-GR_R_53_V15_RelVal_jet2012B/JetHT/RECO/v2/00000/FEC61CBE-062A-E211-AA5D-0026189438E4.root').split(",") -'/store/relval/CMSSW_7_0_0_pre11/RelValQCD_FlatPt_15_3000HS_13/GEN-SIM-RECO/POSTLS162_V4-v1/00000/F0127B3E-8A6A-E311-9A07-002590593902.root' -#'/store/relval/CMSSW_5_3_6-GR_R_53_V15_RelVal_jet2012B/JetHT/RECO/v2/00000/FEC61CBE-062A-E211-AA5D-0026189438E4.root' -###'/store/relval/CMSSW_5_2_0_pre4/Jet/RECO/GR_R_52_V1_RelVal_jet2011B-v1/0034/7E4E91B0-C651-E111-9197-001A92971B36.root').split(",") -###'/store/hidata/HIRun2010/HIAllPhysics/RECO/PromptReco-v2/000/150/314/D28FA8E9-4EEA-DF11-9B2A-000423D987E0.root').split(",") -###'/store/data/Commissioning09/MinimumBias/RECO/v4/000/102/347/F85D1BC6-A06A-DE11-BDF8-0019B9F581C9.root').split(",") -###'/store/data/CRAFT09/Calo/RECO/v1/000/112/220/F0B768A4-5E93-DE11-B222-000423D94524.root').split(",") +#'/store/relval/CMSSW_7_0_0_pre11/RelValQCD_FlatPt_15_3000HS_13/GEN-SIM-RECO/POSTLS162_V4-v1/00000/F0127B3E-8A6A-E311-9A07-002590593902.root' +'/store/relval/CMSSW_7_1_0_pre2/RelValTTbar_13/GEN-SIM-RECO/PU50ns_POSTLS170_V4-v1/00000/FAA1E1EE-BE8F-E311-B633-0026189438BC.root' ) print 'List of input files' print inputfiles @@ -113,10 +109,10 @@ process.jetDQMAnalyzerAk5CaloUncleaned.OutputFileName = cms.string("jetMETMonitoring_%s.root" % jobname) process.jetDQMAnalyzerAk5CaloUncleaned.TriggerResultsLabel = cms.InputTag("TriggerResults","",trigger_set) process.jetDQMAnalyzerAk5CaloUncleaned.processname = cms.string(trigger_set) -process.tcMetDQMAnalyzer.OutputMEsInRootFile = cms.bool(True) -process.tcMetDQMAnalyzer.OutputFileName = cms.string("jetMETMonitoring_%s.root" % jobname) -process.tcMetDQMAnalyzer.TriggerResultsLabel = cms.InputTag("TriggerResults","",trigger_set) -process.tcMetDQMAnalyzer.processname = cms.string(trigger_set) +#process.tcMetDQMAnalyzer.OutputMEsInRootFile = cms.bool(True) +#process.tcMetDQMAnalyzer.OutputFileName = cms.string("jetMETMonitoring_%s.root" % jobname) +#process.tcMetDQMAnalyzer.TriggerResultsLabel = cms.InputTag("TriggerResults","",trigger_set) +#process.tcMetDQMAnalyzer.processname = cms.string(trigger_set) process.caloMetDQMAnalyzer.OutputMEsInRootFile = cms.bool(True) process.caloMetDQMAnalyzer.OutputFileName = cms.string("jetMETMonitoring_%s.root" % jobname) process.caloMetDQMAnalyzer.TriggerResultsLabel = cms.InputTag("TriggerResults","",trigger_set) diff --git a/DQMServices/Core/interface/DQMEDAnalyzer.h b/DQMServices/Core/interface/DQMEDAnalyzer.h index ef23352e0eb44..16509bdd2996c 100644 --- a/DQMServices/Core/interface/DQMEDAnalyzer.h +++ b/DQMServices/Core/interface/DQMEDAnalyzer.h @@ -59,9 +59,22 @@ class DQMEDAnalyzer //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> -#endif // CORE_DQMED_ANALYZER_H +//############################## ONLY NEEDED IN THE TRANSITION PERIOD ################################ +//here the thread_unsafe (simplified) carbon copy of the DQMEDAnalyzer + +#include "FWCore/Framework/interface/EDAnalyzer.h" + +namespace thread_unsafe { + class DQMEDAnalyzer: public edm::EDAnalyzer + { + public: + DQMEDAnalyzer(void); + virtual void beginRun(edm::Run const &, edm::EventSetup const&) final; + virtual void dqmBeginRun(edm::Run const&, edm::EventSetup const&) {} + virtual void bookHistograms(DQMStore::IBooker &i, edm::Run const&, edm::EventSetup const&) = 0; -// Local Variables: -// show-trailing-whitespace: t -// truncate-lines: t -// End: +private: + }; +} //thread_unsafe namespace + +#endif // CORE_DQMED_ANALYZER_H diff --git a/DQMServices/Core/src/DQMEDAnalyzer.cc b/DQMServices/Core/src/DQMEDAnalyzer.cc index 6d2a80ceeee84..17381bb3f719f 100644 --- a/DQMServices/Core/src/DQMEDAnalyzer.cc +++ b/DQMServices/Core/src/DQMEDAnalyzer.cc @@ -87,3 +87,22 @@ void DQMEDAnalyzer::globalEndLuminosityBlockSummary(edm::LuminosityBlock const&, dqmDetails::NoCache*) {} + + +//############################## ONLY NEEDED IN THE TRANSITION PERIOD ################################ +//here the thread_unsafe (simplified) carbon copy of the DQMEDAnalyzer + +thread_unsafe::DQMEDAnalyzer::DQMEDAnalyzer() {} + +void thread_unsafe::DQMEDAnalyzer::beginRun(edm::Run const &iRun, + edm::EventSetup const &iSetup) { + dqmBeginRun(iRun, iSetup); + DQMStore * store = edm::Service().operator->(); + store->bookTransaction([this, &iRun, &iSetup](DQMStore::IBooker &b) { + this->bookHistograms(b, iRun, iSetup); + }, + 0, + 0, + 0); +} + diff --git a/HLTriggerOffline/Common/python/HLTValidationHarvest_cff.py b/HLTriggerOffline/Common/python/HLTValidationHarvest_cff.py index 582ca1e1a7d7f..85bc4b0285763 100644 --- a/HLTriggerOffline/Common/python/HLTValidationHarvest_cff.py +++ b/HLTriggerOffline/Common/python/HLTValidationHarvest_cff.py @@ -8,8 +8,8 @@ #from HLTriggerOffline.special.hltAlCaPostVal_cff import * from HLTriggerOffline.SUSYBSM.SUSYBSM_postProcessor_cff import * from HLTriggerOffline.Higgs.HLTHiggsPostVal_cff import * +from HLTriggerOffline.Exotica.hltExoticaPostProcessors_cff import * from Validation.RecoTrack.HLTpostProcessorTracker_cfi import * - #from HLTriggerOffline.Common.PostProcessorExample_cfi import * from HLTriggerOffline.Common.HLTValidationQT_cff import * @@ -27,6 +27,7 @@ #+ExamplePostVal +hltvalidationqt +HLTHiggsPostVal + +hltExoticaPostProcessors ) hltpostvalidation_fastsim = cms.Sequence( diff --git a/HLTriggerOffline/Common/python/HLTValidation_cff.py b/HLTriggerOffline/Common/python/HLTValidation_cff.py index bdddde0beb0ba..7b1394aed9b80 100644 --- a/HLTriggerOffline/Common/python/HLTValidation_cff.py +++ b/HLTriggerOffline/Common/python/HLTValidation_cff.py @@ -8,7 +8,7 @@ from HLTriggerOffline.SUSYBSM.SusyExoValidation_cff import * from HLTriggerOffline.Higgs.HiggsValidation_cff import * from HLTriggerOffline.Top.topHLTValidation_cff import * - +from HLTriggerOffline.Exotica.ExoticaValidation_cff import * # offline dqm: # from DQMOffline.Trigger.DQMOffline_Trigger_cff.py import * @@ -21,7 +21,8 @@ # additional producer sequence prior to hltvalidation # to evacuate producers/filters from the EndPath -hltassociation = cms.Sequence( egammaSelectors ) +hltassociation = cms.Sequence( egammaSelectors + +ExoticaValidationProdSeq ) hltvalidation = cms.Sequence( @@ -35,6 +36,7 @@ +HLTJetMETValSeq +HLTSusyExoValSeq +HiggsValidationSequence + +ExoticaValidationSequence ) diff --git a/HLTriggerOffline/Exotica/BuildFile.xml b/HLTriggerOffline/Exotica/BuildFile.xml new file mode 100644 index 0000000000000..88a7d807e39b4 --- /dev/null +++ b/HLTriggerOffline/Exotica/BuildFile.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/HLTriggerOffline/Exotica/interface/HLTExoticaPlotter.h b/HLTriggerOffline/Exotica/interface/HLTExoticaPlotter.h new file mode 100644 index 0000000000000..e9bf79b4c6ec3 --- /dev/null +++ b/HLTriggerOffline/Exotica/interface/HLTExoticaPlotter.h @@ -0,0 +1,79 @@ +#ifndef HLTriggerOffline_Exotica_HLTExoticaPlotter_H +#define HLTriggerOffline_Exotica_HLTExoticaPlotter_H + +/** \class HLTExoticaPlotter + * Generate histograms for trigger efficiencies Exotica related + * Documentation available on the CMS TWiki: + * https://twiki.cern.ch/twiki/bin/view/CMS/EXOTICATriggerValidation + * + * \author Thiago R. Fernandez Perez Tomei + * Based and adapted from: + * J. Duarte Campderros code from HLTriggerOffline/Higgs + * J. Klukas, M. Vander Donckt and J. Alcaraz code + * from the HLTriggerOffline/Muon package. + */ + +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/Framework/interface/Event.h" +#include "DataFormats/Common/interface/Handle.h" + +#include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h" +#include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h" +#include "DataFormats/RecoCandidate/interface/RecoEcalCandidate.h" +#include "DataFormats/RecoCandidate/interface/RecoEcalCandidateFwd.h" +#include "CommonTools/Utils/interface/StringCutObjectSelector.h" +#include "DataFormats/Candidate/interface/Candidate.h" +#include "DataFormats/Candidate/interface/LeafCandidate.h" +#include "DataFormats/HepMCCandidate/interface/GenParticle.h" +#include "DataFormats/MuonReco/interface/Muon.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" +#include "DataFormats/EgammaCandidates/interface/Photon.h" + +#include "DQMServices/Core/interface/DQMStore.h" +#include "DQMServices/Core/interface/MonitorElement.h" + +#include +#include +#include +#include + +//const unsigned int kNull = (unsigned int) - 1; + +class EVTColContainer; + +class HLTExoticaPlotter { +public: + HLTExoticaPlotter(const edm::ParameterSet & pset, const std::string & hltPath, + const std::vector & objectsType); + ~HLTExoticaPlotter(); + void beginJob(); + void beginRun(const edm::Run &, const edm::EventSetup &); + void plotterBookHistos(DQMStore::IBooker & iBooker, const edm::Run & iRun, const edm::EventSetup & iSetup); + void analyze(const bool & isPassTrigger, const std::string & source, + const std::vector & matches); + + inline const std::string gethltpath() const + { + return _hltPath; + } + +private: + void bookHist(DQMStore::IBooker & iBooker, const std::string & source, const std::string & objType, const std::string & variable); + void fillHist(const bool & passTrigger, const std::string & source, + const std::string & objType, const std::string & var, + const float & value); + + std::string _hltPath; + std::string _hltProcessName; + + std::set _objectsType; + // Number of objects (elec,muons, ...) needed in the hlt path + unsigned int _nObjects; + + std::vector _parametersEta; + std::vector _parametersPhi; + std::vector _parametersTurnOn; + + std::map _elements; +}; +#endif diff --git a/HLTriggerOffline/Exotica/interface/HLTExoticaSubAnalysis.h b/HLTriggerOffline/Exotica/interface/HLTExoticaSubAnalysis.h new file mode 100644 index 0000000000000..90fa77807e1c7 --- /dev/null +++ b/HLTriggerOffline/Exotica/interface/HLTExoticaSubAnalysis.h @@ -0,0 +1,163 @@ +#ifndef HLTriggerOffline_Exotica_HLTExoticaSubAnalysis_H +#define HLTriggerOffline_Exotica_HLTExoticaSubAnalysis_H + +/** \class HLTExoticaSubAnalysis + * Generate histograms for trigger efficiencies Exotica related + * Documentation available on the CMS TWiki: + * https://twiki.cern.ch/twiki/bin/view/CMS/EXOTICATriggerValidation + * + * \author Thiago R. Fernandez Perez Tomei + * Based and adapted from: + * J. Duarte Campderros code from HLTriggerOffline/Higgs + * J. Klukas, M. Vander Donckt and J. Alcaraz code + * from the HLTriggerOffline/Muon package. + */ + +#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/Framework/interface/ConsumesCollector.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/Utilities/interface/InputTag.h" + +#include "DataFormats/Candidate/interface/LeafCandidate.h" +#include "DataFormats/MuonReco/interface/Muon.h" +#include "DataFormats/MuonReco/interface/MuonFwd.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" +#include "DataFormats/EgammaCandidates/interface/Photon.h" +#include "DataFormats/EgammaCandidates/interface/PhotonFwd.h" +#include "DataFormats/METReco/interface/PFMET.h" +#include "DataFormats/METReco/interface/PFMETCollection.h" +#include "DataFormats/TauReco/interface/PFTau.h" +#include "DataFormats/TauReco/interface/PFTauFwd.h" +#include "DataFormats/JetReco/interface/PFJet.h" +#include "DataFormats/JetReco/interface/PFJetCollection.h" +#include "DataFormats/HepMCCandidate/interface/GenParticle.h" +#include "CommonTools/Utils/interface/StringCutObjectSelector.h" + +#include "DQMServices/Core/interface/DQMStore.h" +#include "DQMServices/Core/interface/MonitorElement.h" + +#include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" + +#include "HLTriggerOffline/Exotica/interface/HLTExoticaPlotter.h" +#include +#include +#include +#include + +/// Class to manage all object collections from a centralized place. +class EVTColContainer; + +/// This class is the main workhorse of the package. +/// It makes the histograms for one given analysis, taking care +/// of all HLT paths related to that analysis. +class HLTExoticaSubAnalysis { +public: + enum class Level{ + GEN = 98, + RECO = 99 + }; + + HLTExoticaSubAnalysis(const edm::ParameterSet & pset, + const std::string & analysisname, + edm::ConsumesCollector && consCollector); + ~HLTExoticaSubAnalysis(); + void beginJob(); + void beginRun(const edm::Run & iRun, const edm::EventSetup & iEventSetup); + + /// Method to book all relevant histograms in the DQMStore. + /// Uses the IBooker interface for thread safety. + /// Intended to be called from master object. + void subAnalysisBookHistos(DQMStore::IBooker &iBooker, const edm::Run & iRun, const edm::EventSetup & iSetup); + + /// Method to fill all relevant histograms. + /// Notice that we update the EVTColContaner to point to the collections we want. + void analyze(const edm::Event & iEvent, const edm::EventSetup & iEventSetup, EVTColContainer * cols); + +private: + /// Return the objects (muons,electrons,photons,...) needed by a HLT path. + /// Will in general return: 0 for muon, 1 for electron, 2 for photon, + /// 3 for PFMET, 4 for PFTau, 5 for Jet. + /// Notice that this function is really based on a parsing of the name of + /// the path; any incongruences there may lead to problems. + const std::vector getObjectsType(const std::string & hltpath) const; + + /// Creates the maps that map which collection should come from which label + void getNamesOfObjects(const edm::ParameterSet & anpset); + /// Registers consumption of objects + void registerConsumes(edm::ConsumesCollector & consCollector); + /// Gets the collections themselves + void getHandlesToObjects(const edm::Event & iEvent, EVTColContainer * col); + /// Initializes the selectors of the objects based on which object it is + void initSelector(const unsigned int & objtype); + /// This function applies the selectors initialized previously to the objects, + /// and matches the passing objects to HLT objects. + void insertCandidates(const unsigned int & objtype, const EVTColContainer * col, + std::vector * matches); + + /// The internal functions to book and fill histograms + void bookHist(DQMStore::IBooker &iBooker, const std::string & source, const std::string & objType, + const std::string & variable); + void fillHist(const std::string & source, const std::string & objType, + const std::string & variable, const float & value); + + /// Internal, working copy of the PSet passed from above. + edm::ParameterSet _pset; + + /// The name of this sub-analysis + std::string _analysisname; + + /// The minimum number of reco/gen candidates needed by the analysis + unsigned int _minCandidates; + + /// The hlt paths to check for. + std::vector _hltPathsToCheck; + /// The hlt paths found in the hltConfig + std::set _hltPaths; + /// Relation between the short and long versions of the path + std::map _shortpath2long; + + /// The labels of the object collections to be used in this analysis. + std::string _hltProcessName; + edm::InputTag _genParticleLabel; + edm::InputTag _trigResultsLabel; + std::map _recLabels; + /// And also the tokens to get the object collections + edm::EDGetTokenT _genParticleToken; + edm::EDGetTokenT _trigResultsToken; + std::map _tokens; + + /// Some kinematical parameters + std::vector _parametersEta; + std::vector _parametersPhi; + std::vector _parametersTurnOn; + + /// gen/rec objects cuts + std::map _genCut; + std::map _recCut; + + /// The concrete String selectors (use the string cuts introduced + /// via the config python) + std::map *> _genSelectorMap; + StringCutObjectSelector * _recMuonSelector; + StringCutObjectSelector * _recElecSelector; + StringCutObjectSelector * _recPFMETSelector; + StringCutObjectSelector * _recPFTauSelector; + StringCutObjectSelector * _recPhotonSelector; + StringCutObjectSelector * _recJetSelector; + + /// The plotters: managers of each hlt path where the plots are done + std::vector _plotters; + + /// Interface to the HLT information + HLTConfigProvider _hltConfig; + + /// Structure of the MonitorElements + std::map _elements; +}; + + +#endif diff --git a/HLTriggerOffline/Exotica/interface/HLTExoticaValidator.h b/HLTriggerOffline/Exotica/interface/HLTExoticaValidator.h new file mode 100644 index 0000000000000..b3f292127fa09 --- /dev/null +++ b/HLTriggerOffline/Exotica/interface/HLTExoticaValidator.h @@ -0,0 +1,69 @@ +#ifndef HLTriggerOffline_Exotica_HLTExoticaValidator_H +#define HLTriggerOffline_Exotica_HLTExoticaValidator_H + +/** \class HLTExoticaValidator + * Generate histograms for trigger efficiencies Exotica related + * Documentation available on the CMS TWiki: + * https://twiki.cern.ch/twiki/bin/view/CMS/EXOTICATriggerValidation + * + * \author Thiago R. Fernandez Perez Tomei + * Based and adapted from: + * J. Duarte Campderros code from HLTriggerOffline/Higgs and + * J. Klukas, M. Vander Donckt and J. Alcaraz code + * from the HLTriggerOffline/Muon package. + */ + +#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" + +#include "DQMServices/Core/interface/DQMStore.h" +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" + +#include "HLTriggerOffline/Exotica/interface/HLTExoticaSubAnalysis.h" + +#include +#include + + +class EVTColContainer; + +/// The HLTExoticaValidator module is the main module of the +/// package. It books a vector of auxiliary classes +/// (HLTExoticaSubAnalysis), where each of those takes care +/// of one single analysis. Each of those, in turn, books a +/// vector if HLTExoticaPlotters to make plots for each +/// HLT path +class HLTExoticaValidator : public thread_unsafe::DQMEDAnalyzer { +public: + /// Constructor and destructor + HLTExoticaValidator(const edm::ParameterSet &); + ~HLTExoticaValidator(); + +protected: + /// Method called by the framework to book histograms. + void bookHistograms(DQMStore::IBooker &iBooker, const edm::Run &iRun, const edm::EventSetup &iSetup) override; + +private: + virtual void beginJob(); + /// Method called by the framework just before dqmBeginRun() + virtual void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup & iSetup); + /// Method called for each event. + virtual void analyze(const edm::Event & iEvent, const edm::EventSetup & iSetup); + virtual void endRun(const edm::Run & iRun, const edm::EventSetup & iSetup); + virtual void endJob(); + + /// Copy (to be modified) of the input ParameterSet from configuration file. + edm::ParameterSet _pset; + /// The names of the subanalyses + std::vector _analysisnames; + + /// The instances of the class which do the real work + std::vector _analyzers; + + /// Centralized point of access to all collections used + EVTColContainer * _collections; +}; + +#endif diff --git a/HLTriggerOffline/Exotica/python/ExoticaValidation_cff.py b/HLTriggerOffline/Exotica/python/ExoticaValidation_cff.py new file mode 100644 index 0000000000000..fc60060f0325c --- /dev/null +++ b/HLTriggerOffline/Exotica/python/ExoticaValidation_cff.py @@ -0,0 +1,30 @@ +### This file defines the ExoticaValidationSequence, to be put +### together with the other sequences in +### HLTriggerOffline/Common/python/HLTValidation_cff.py +### Also defines some Producers. + +import FWCore.ParameterSet.Config as cms + +from HLTriggerOffline.Exotica.hltExoticaValidator_cfi import * + +# We create a basic HT variable here +recoExoticaValidationHT = cms.EDProducer("PFMETProducer", + src = cms.InputTag("ak5PFJetsCHS"), + alias = cms.string('PFMHT'), + globalThreshold = cms.double(30.0), + calculateSignificance = cms.bool(False), + jets = cms.InputTag("ak5PFJetsCHS") # for significance calculation + ) + +ExoticaValidationProdSeq = cms.Sequence( + recoExoticaValidationHT + ) + +ExoticaValidationSequence = cms.Sequence( + hltExoticaValidator + ) + +#HLTExoticaVal_FastSim = cms.Sequence( +# recoExoticaValidationHLTFastSim_seq + +# hltExoticaValidator +# ) diff --git a/HLTriggerOffline/Exotica/python/HLTExoticaPostVal_cff.py b/HLTriggerOffline/Exotica/python/HLTExoticaPostVal_cff.py new file mode 100644 index 0000000000000..4a361f7c13052 --- /dev/null +++ b/HLTriggerOffline/Exotica/python/HLTExoticaPostVal_cff.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +from HLTriggerOffline.Exotica.hltExoticaPostProcessors_cff import * + +HLTExoticaPostVal = cms.Sequence( + hltExoticaPostProcessors + ) + diff --git a/HLTriggerOffline/Exotica/python/HLTExoticaQualityTester_cfi.py b/HLTriggerOffline/Exotica/python/HLTExoticaQualityTester_cfi.py new file mode 100644 index 0000000000000..5a4e2f7961ce0 --- /dev/null +++ b/HLTriggerOffline/Exotica/python/HLTExoticaQualityTester_cfi.py @@ -0,0 +1,14 @@ +import FWCore.ParameterSet.Config as cms + +hltExoticaQualityTester = cms.EDAnalyzer("QualityTester", + qtList = cms.untracked.FileInPath( + 'HLTriggerOffline/Exotica/data/HLTExoticaQualityTest.xml' + ), + #reportThreshold = cms.untracked.string('black'), + prescaleFactor = cms.untracked.int32(1), + getQualityTestsFromFile = cms.untracked.bool(True), + qtestOnEndJob = cms.untracked.bool(True), + qtestOnEndLumi = cms.untracked.bool(False), + testInEventloop = cms.untracked.bool(False), + verboseQT = cms.untracked.bool(False) +) diff --git a/HLTriggerOffline/Exotica/python/analyses/hltExoticaEleMu_cff.py b/HLTriggerOffline/Exotica/python/analyses/hltExoticaEleMu_cff.py new file mode 100644 index 0000000000000..61f1433c6c664 --- /dev/null +++ b/HLTriggerOffline/Exotica/python/analyses/hltExoticaEleMu_cff.py @@ -0,0 +1,23 @@ +import FWCore.ParameterSet.Config as cms + +EleMuPSet = cms.PSet( + hltPathsToCheck = cms.vstring( + "HLT_Mu17_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v", + "HLT_Mu8_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v" + ), + recElecLabel = cms.InputTag("gedGsfElectrons"), + recMuonLabel = cms.InputTag("muons"), + # -- Analysis specific cuts + minCandidates = cms.uint32(2), + # -- Analysis specific binnings + parametersTurnOn = cms.vdouble( 0, 5, 10, 15, 20, + 25, 30, 35, 40, + 45, 50, 55, 60, + 65, 70, 75, 80, + 85, 90, 95, 100, + 105, 110, 115, 120, + 125, 130, 135, 140, + 145, 150, 155, 160, + 165, 170, 175, 180, + 185, 190, 195, 200), + ) diff --git a/HLTriggerOffline/Exotica/python/analyses/hltExoticaHT_cff.py b/HLTriggerOffline/Exotica/python/analyses/hltExoticaHT_cff.py new file mode 100644 index 0000000000000..eaeb65c7113b3 --- /dev/null +++ b/HLTriggerOffline/Exotica/python/analyses/hltExoticaHT_cff.py @@ -0,0 +1,21 @@ +import FWCore.ParameterSet.Config as cms + +HTPSet = cms.PSet( + hltPathsToCheck = cms.vstring( + "HLT_PFNoPUHT350_v", + ), + recPFMETLabel = cms.InputTag("recoExoticaValidationHT"), + # -- Analysis specific cuts + MET_genCut = cms.string("sumEt > 75"), + MET_recCut = cms.string("sumEt > 75"), + minCandidates = cms.uint32(1), + # -- Analysis specific binnings + parametersTurnOn = cms.vdouble(0, 50, 100, 150, + 200, 220, 240, 260, 280, 300, + 320, 340, 360, 380, 400, + 420, 440, 460, 480, 500, + 520, 540, 560, 580, 600, + 620, 640, 660, 680, 700, + 750, 800, 850, 900, 950, 1000, + 1100, 1200, 1300, 1400, 1500) +) diff --git a/HLTriggerOffline/Exotica/python/analyses/hltExoticaHighPtDielectron_cff.py b/HLTriggerOffline/Exotica/python/analyses/hltExoticaHighPtDielectron_cff.py new file mode 100644 index 0000000000000..de83d7189ba24 --- /dev/null +++ b/HLTriggerOffline/Exotica/python/analyses/hltExoticaHighPtDielectron_cff.py @@ -0,0 +1,14 @@ +import FWCore.ParameterSet.Config as cms + +HighPtDielectronPSet = cms.PSet( + hltPathsToCheck = cms.vstring( + "HLT_DoubleEle33_CaloIdL_GsfTrkIdVL_v", + ), + recElecLabel = cms.InputTag("gedGsfElectrons"), + # -- Analysis specific cuts + minCandidates = cms.uint32(2), + # -- Analysis specific binnings + parametersTurnOn = cms.vdouble( 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, + 60, 70, 80, 100, 120, 140, 160, 180, 200 + ), + ) diff --git a/HLTriggerOffline/Exotica/python/analyses/hltExoticaHighPtDimuon_cff.py b/HLTriggerOffline/Exotica/python/analyses/hltExoticaHighPtDimuon_cff.py new file mode 100644 index 0000000000000..720555aabed54 --- /dev/null +++ b/HLTriggerOffline/Exotica/python/analyses/hltExoticaHighPtDimuon_cff.py @@ -0,0 +1,15 @@ +import FWCore.ParameterSet.Config as cms + +HighPtDimuonPSet = cms.PSet( + hltPathsToCheck = cms.vstring( + "HLT_Mu17_Mu8_v", + "HLT_Mu17_TkMu8_v", + ), + recMuonLabel = cms.InputTag("muons"), + # -- Analysis specific cuts + minCandidates = cms.uint32(2), + # -- Analysis specific binnings + parametersTurnOn = cms.vdouble( 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, + 60, 70, 80, 100, 120, 140, 160, 180, 200 + ), + ) diff --git a/HLTriggerOffline/Exotica/python/analyses/hltExoticaMonojet_cff.py b/HLTriggerOffline/Exotica/python/analyses/hltExoticaMonojet_cff.py new file mode 100644 index 0000000000000..bec8c7348ea45 --- /dev/null +++ b/HLTriggerOffline/Exotica/python/analyses/hltExoticaMonojet_cff.py @@ -0,0 +1,17 @@ +import FWCore.ParameterSet.Config as cms + +MonojetPSet = cms.PSet( + hltPathsToCheck = cms.vstring( + "HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v" + ), + recJetLabel = cms.InputTag("ak5PFJetsCHS"), + recPFMETLabel = cms.InputTag("pfMet"), + # -- Analysis specific cuts + minCandidates = cms.uint32(2), + # -- Analysis specific binnings + parametersTurnOn = cms.vdouble( 0, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, + 160, 170, 180, 190, 200, + 220, 240, 260, 280, 300, + 320, 340, 360, 380, 400, + 420, 440, 460, 480, 500), + ) diff --git a/HLTriggerOffline/Exotica/python/analyses/hltExoticaPureMET_cff.py b/HLTriggerOffline/Exotica/python/analyses/hltExoticaPureMET_cff.py new file mode 100644 index 0000000000000..4b2c7c1267621 --- /dev/null +++ b/HLTriggerOffline/Exotica/python/analyses/hltExoticaPureMET_cff.py @@ -0,0 +1,16 @@ +import FWCore.ParameterSet.Config as cms + +PureMETPSet = cms.PSet( + hltPathsToCheck = cms.vstring( + "HLT_MET120_HBHENoiseCleaned_v", + ), + recPFMETLabel = cms.InputTag("pfMet"), + # -- Analysis specific cuts + minCandidates = cms.uint32(1), + # -- Analysis specific binnings + parametersTurnOn = cms.vdouble( 0, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, + 160, 170, 180, 190, 200, + 220, 240, 260, 280, 300, + 320, 340, 360, 380, 400, + 420, 440, 460, 480, 500), + ) diff --git a/HLTriggerOffline/Exotica/python/hltExoticaPostProcessor_cfi.py b/HLTriggerOffline/Exotica/python/hltExoticaPostProcessor_cfi.py new file mode 100644 index 0000000000000..7f33c126fbdb0 --- /dev/null +++ b/HLTriggerOffline/Exotica/python/hltExoticaPostProcessor_cfi.py @@ -0,0 +1,11 @@ +import FWCore.ParameterSet.Config as cms + +hltExoticaPostProcessor = cms.EDAnalyzer("DQMGenericClient", + subDirs = cms.untracked.vstring('HLT/Exotica/*'), + verbose = cms.untracked.uint32(2), + outputFileName = cms.untracked.string(''), + resolution = cms.vstring(), + efficiency = cms.vstring(), + efficiencyProfile = cms.untracked.vstring(), +) + diff --git a/HLTriggerOffline/Exotica/python/hltExoticaPostProcessors_cff.py b/HLTriggerOffline/Exotica/python/hltExoticaPostProcessors_cff.py new file mode 100644 index 0000000000000..1f3ae2271e40f --- /dev/null +++ b/HLTriggerOffline/Exotica/python/hltExoticaPostProcessors_cff.py @@ -0,0 +1,126 @@ +import FWCore.ParameterSet.Config as cms + +from HLTriggerOffline.Exotica.hltExoticaPostProcessor_cfi import * + +# Build the standard strings to the DQM +def efficiency_string(objtype,plot_type,triggerpath): + # --- IMPORTANT: Add here a elif if you are introduce a new collection + # (see EVTColContainer::getTypeString) + if objtype == "Mu" : + objtypeLatex="#mu" + elif objtype == "Ele": + objtypeLatex="e" + elif objtype == "Photon": + objtypeLatex="#gamma" + elif objtype == "PFTau": + objtypeLatex="#tau" + elif objtype == "PFJet": + objtypeLatex="PFJet" + elif objtype == "MET" : + objtypeLatex="MET" + else: + objtypeLatex=objtype + + numer_description = "# gen %s passed the %s" % (objtypeLatex,triggerpath) + denom_description = "# gen %s " % (objtypeLatex) + + if plot_type == "TurnOn1": + title = "pT Turn-On" + xAxis = "p_{T} of Leading Generated %s (GeV/c)" % (objtype) + input_type = "gen%sMaxPt1" % (objtype) + if plot_type == "TurnOn2": + title = "Next-to-Leading pT Turn-On" + xAxis = "p_{T} of Next-to-Leading Generated %s (GeV/c)" % (objtype) + input_type = "gen%sMaxPt2" % (objtype) + if plot_type == "TurnOn3": + title = "HT Turn-On" + xAxis = "HT of Leading Generated %s (GeV/c)" % (objtype) + input_type = "gen%sSumEt" % (objtype) + if plot_type == "EffEta": + title = "#eta Efficiency" + xAxis = "#eta of Generated %s " % (objtype) + input_type = "gen%sEta" % (objtype) + if plot_type == "EffPhi": + title = "#phi Efficiency" + xAxis = "#phi of Generated %s " % (objtype) + input_type = "gen%sPhi" % (objtype) + + yAxis = "%s / %s" % (numer_description, denom_description) + all_titles = "%s for trigger %s; %s; %s" % (title, triggerpath, + xAxis, yAxis) + return "Eff_%s_%s '%s' %s_%s %s" % (input_type,triggerpath, + all_titles,input_type,triggerpath,input_type) + +# Adding the reco objects +def add_reco_strings(strings): + reco_strings = [] + for entry in strings: + reco_strings.append(entry + .replace("Generated", "Reconstructed") + .replace("Gen", "Reco") + .replace("gen", "rec")) + strings.extend(reco_strings) + + +plot_types = ["TurnOn1", "TurnOn2", "TurnOn3", "EffEta", "EffPhi"] +#--- IMPORTANT: Update this collection whenever you introduce a new object +# in the code (from EVTColContainer::getTypeString) +obj_types = ["Mu","Ele","Photon","PFTau","PFJet","MET"] +#--- IMPORTANT: Trigger are extracted from the hltExoticaValidator_cfi.py module +triggers = [ ] +efficiency_strings = [] + +# Extract the triggers used in the hltExoticaValidator, for each path +from HLTriggerOffline.Exotica.hltExoticaValidator_cfi import hltExoticaValidator as _config +triggers = set([]) +for an in _config.analysis: + s = _config.__getattribute__(an) + vstr = s.__getattribute__("hltPathsToCheck") + map(lambda x: triggers.add(x.replace("_v","")),vstr) +triggers = list(triggers) +print triggers +#------------------------------------------------------------ + +# Generating the list with all the efficiencies +for type in plot_types: + for obj in obj_types: + for trig in triggers: + efficiency_strings.append(efficiency_string(obj,type,trig)) +#for item in efficiency_strings: +# print item + +add_reco_strings(efficiency_strings) + +#--- IMPORTANT: Here you have to add the analyses one by one. +hltExoticaPostHighPtDimuon = hltExoticaPostProcessor.clone() +hltExoticaPostHighPtDimuon.subDirs = ['HLT/Exotica/HighPtDimuon'] +hltExoticaPostHighPtDimuon.efficiencyProfile = efficiency_strings + +hltExoticaPostHighPtDielectron = hltExoticaPostProcessor.clone() +hltExoticaPostHighPtDielectron.subDirs = ['HLT/Exotica/HighPtDielectron'] +hltExoticaPostHighPtDielectron.efficiencyProfile = efficiency_strings + +hltExoticaPostEleMu = hltExoticaPostProcessor.clone() +hltExoticaPostEleMu.subDirs = ['HLT/Exotica/EleMu'] +hltExoticaPostEleMu.efficiencyProfile = efficiency_strings + +hltExoticaPostMonojet = hltExoticaPostProcessor.clone() +hltExoticaPostMonojet.subDirs = ['HLT/Exotica/Monojet'] +hltExoticaPostMonojet.efficiencyProfile = efficiency_strings + +hltExoticaPostPureMET = hltExoticaPostProcessor.clone() +hltExoticaPostPureMET.subDirs = ['HLT/Exotica/PureMET'] +hltExoticaPostPureMET.efficiencyProfile = efficiency_strings + +hltExoticaPostHT = hltExoticaPostProcessor.clone() +hltExoticaPostHT.subDirs = ['HLT/Exotica/HT'] +hltExoticaPostHT.efficiencyProfile = efficiency_strings + +hltExoticaPostProcessors = cms.Sequence( + hltExoticaPostHighPtDimuon + + hltExoticaPostHighPtDielectron + + hltExoticaPostEleMu + + hltExoticaPostMonojet + + hltExoticaPostPureMET + + hltExoticaPostHT +) diff --git a/HLTriggerOffline/Exotica/python/hltExoticaValidator_cfi.py b/HLTriggerOffline/Exotica/python/hltExoticaValidator_cfi.py new file mode 100644 index 0000000000000..6b15f79ef50fa --- /dev/null +++ b/HLTriggerOffline/Exotica/python/hltExoticaValidator_cfi.py @@ -0,0 +1,110 @@ +### Configuration Fragment Include for HLTExoticaValidator module. +### In this file we instantiate the HLTExoticaValidator, with +### some default configurations. The specific analyses are loaded +### as cms.PSets, which are then added to this module with +### specific names. The canonical example is +# +# from HLTriggerOffline.Exotica.hltExoticaHighPtDimuon_cff import HighPtDimuonPSet +# +# which is then made known to the module by the line +# +# analysis = cms.vstring("HighPtDimuon"), +# + +import FWCore.ParameterSet.Config as cms + +# The specific analyses to be loaded +from HLTriggerOffline.Exotica.analyses.hltExoticaHighPtDimuon_cff import HighPtDimuonPSet +from HLTriggerOffline.Exotica.analyses.hltExoticaHighPtDielectron_cff import HighPtDielectronPSet +from HLTriggerOffline.Exotica.analyses.hltExoticaEleMu_cff import EleMuPSet +from HLTriggerOffline.Exotica.analyses.hltExoticaPureMET_cff import PureMETPSet +from HLTriggerOffline.Exotica.analyses.hltExoticaMonojet_cff import MonojetPSet +from HLTriggerOffline.Exotica.analyses.hltExoticaHT_cff import HTPSet + + +hltExoticaValidator = cms.EDAnalyzer("HLTExoticaValidator", + + hltProcessName = cms.string("HLT"), + + # -- The name of the analysis. This is the name that + # appears in Run summary/Exotica/ANALYSIS_NAME + analysis = cms.vstring("HighPtDimuon", + "HighPtDielectron"), +# "EleMu", +# "PureMET", +# "Monojet", +# "HT"), + + # -- The instance name of the reco::GenParticles collection + genParticleLabel = cms.string("genParticles"), + + # -- The binning of the Pt efficiency plots + # NOTICE: these DEFINITELY should be tuned for the different analyses. + # What we have there is a generic, 0-100 GeV uniform binning. + parametersTurnOn = cms.vdouble( 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, + 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, + 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, + 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, + 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, + ), + + # -- (NBins, minVal, maxValue) for the Eta and Phi efficiency plots + parametersEta = cms.vdouble(48, -2.400, 2.400), + parametersPhi = cms.vdouble(50, -3.142, 3.142), + + # Definition of generic cuts on generated and reconstructed objects (note that + # these cuts can be overloaded inside a particular analysis) + # Objects recognized: Mu Ele Photon PFTau Jet MET + # Syntax in the strings: valid syntax of the StringCutObjectSelector class + # --- Muons + Mu_genCut = cms.string("pt > 10 && abs(eta) < 2.4 && abs(pdgId) == 13 && status == 1"), + Mu_recCut = cms.string("pt > 10 && abs(eta) < 2.4 && isPFMuon && (isTrackerMuon || isGlobalMuon)"), # Loose Muon + + # --- Electrons + Ele_genCut = cms.string("pt > 10 && abs(eta) < 2.5 && abs(pdgId) == 11 && status == 1"), + Ele_recCut = cms.string("pt > 10 && abs(eta) < 2.5 && hadronicOverEm < 0.05 &&"+\ + "eSuperClusterOverP > 0.5 && eSuperClusterOverP < 2.5"), # Loose-like electron + + # --- Photons + Photon_genCut = cms.string("pt > 20 && abs(eta) < 2.4 && abs(pdgId) == 22 && status == 1"), + Photon_recCut = cms.string("pt > 20 && abs(eta) < 2.4"), # STILL MISSING THIS INFO + + # --- Taus: + PFTau_genCut = cms.string("pt > 20 && abs(eta) < 2.4 && abs(pdgId) == 15 && status == 3"), + PFTau_recCut = cms.string("pt > 20 && abs(eta) < 2.4"), # STILL MISSING THIS INFO + + # --- Jets: + Jet_genCut = cms.string("pt > 30 && abs(eta) < 2.4"), + Jet_recCut = cms.string("pt > 30 && abs(eta) < 2.4 &&"+\ + "(neutralHadronEnergy + HFHadronEnergy)/energy < 0.99 &&"+\ + "neutralEmEnergyFraction < 0.99 &&"+\ + "numberOfDaughters > 1 &&"+\ + "chargedHadronEnergyFraction > 0 &&"+\ + "chargedMultiplicity > 0 && "+\ + "chargedEmEnergyFraction < 0.99"), # Loose PFJet + + # --- MET (PF) + MET_genCut = cms.string("pt > 75"), + MET_recCut = cms.string("pt > 75"), + + # The specific parameters per analysis: the name of the parameter set has to be + # the same as the defined ones in the 'analysis' datamember. Each analysis is a PSet + # with the mandatory attributes: + # - hltPathsToCheck (cms.vstring) : a list of all the trigger pats to be checked + # in this analysis. Up to the version number _v, but not including + # the number in order to avoid this version dependence. Example: HLT_Mu18_v + # - recVarLabel (cms.string): where Var is Mu, Ele, Photon, MET, Jet, PFTau, MET. This + # attribute is the name of the INSTANCE LABEL for each RECO collection to + # be considered in the analysis. Note that the trigger paths rely on some + # objects which need to be defined here, otherwise the code will complain. + # - minCandidates (cms.uint32): the minimum number of GEN/RECO objects in the event + # Besides the mandatory attributes, you can redefine the generation and reconstruction cuts + # for any object you want. + # * Var_genCut, Var_recCut (cms.string): where Var=Mu, Ele, Photon, Jet, PFTau, MET (see above) + HighPtDimuon = HighPtDimuonPSet, + HighPtDielectron = HighPtDielectronPSet, + EleMu = EleMuPSet, + PureMET = PureMETPSet, + Monojet = MonojetPSet, + HT = HTPSet +) diff --git a/HLTriggerOffline/Exotica/src/EVTColContainer.cc b/HLTriggerOffline/Exotica/src/EVTColContainer.cc new file mode 100644 index 0000000000000..0f523dfd9e4a0 --- /dev/null +++ b/HLTriggerOffline/Exotica/src/EVTColContainer.cc @@ -0,0 +1,171 @@ +#ifndef HLTRIGGEROFFLINE_EXOTICA_EVTCOLCONTAINER_CC +#define HLTRIGGEROFFLINE_EXOTICA_EVTCOLCONTAINER_CC + +/** \class EVTColContainer + * + * Class to manage all the object collections in + * the Exotica Validation package. + * + * \author J. Duarte Campderros + * + */ + +#include "DataFormats/Common/interface/TriggerResults.h" +#include "DataFormats/MuonReco/interface/Muon.h" +#include "DataFormats/MuonReco/interface/MuonFwd.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" +#include "DataFormats/EgammaCandidates/interface/Photon.h" +#include "DataFormats/EgammaCandidates/interface/PhotonFwd.h" +#include "DataFormats/METReco/interface/PFMET.h" +#include "DataFormats/METReco/interface/PFMETFwd.h" +#include "DataFormats/JetReco/interface/PFJet.h" +#include "DataFormats/JetReco/interface/PFJetCollection.h" +#include "DataFormats/TauReco/interface/PFTau.h" +#include "DataFormats/TauReco/interface/PFTauFwd.h" +#include "DataFormats/HepMCCandidate/interface/GenParticle.h" + +#include +#include + +/// Container with all the objects needed +/// Notice that I have "more or less" followed +/// the pdgIds of the particles involved. +struct EVTColContainer { + enum { + ELEC = 11, + MUON = 13, + PFTAU = 15, + PHOTON = 22, + PFMET = 39, + JET = 211, + _nMAX + }; + + int nOfCollections; + int nInitialized; + const reco::GenParticleCollection * genParticles; + const std::vector * muons; + const std::vector * electrons; + const std::vector * photons; + const std::vector * pfMETs; + const std::vector * pfTaus; + const std::vector * jets; + const edm::TriggerResults * triggerResults ; + EVTColContainer(): + nOfCollections(6), + nInitialized(0), + genParticles(0), + muons(0), + electrons(0), + photons(0), + pfMETs(0), + pfTaus(0), + jets(0), + triggerResults(0) + { + } + /// + bool isAllInit() + { + return (nInitialized == nOfCollections); + } + + bool isCommonInit() + { + return false; + } + + /// Reset: clear all collections + void reset() + { + nInitialized = 0; + genParticles = 0; + muons = 0; + electrons = 0; + photons = 0; + pfMETs = 0; + pfTaus = 0; + jets = 0; + triggerResults = 0; + } + + /// Setter: multiple overloaded function + void set(const reco::MuonCollection * v) + { + muons = v; + ++nInitialized; + } + void set(const reco::GsfElectronCollection * v) + { + electrons = v; + ++nInitialized; + } + void set(const reco::PhotonCollection * v) + { + photons = v; + ++nInitialized; + } + void set(const reco::PFMETCollection * v) + { + pfMETs = v; + ++nInitialized; + } + void set(const reco::PFTauCollection * v) + { + pfTaus = v; + ++nInitialized; + } + void set(const reco::PFJetCollection * v) + { + jets = v; + ++nInitialized; + } + + /// Get size of collections + const unsigned int getSize(const unsigned int & objtype) const + { + unsigned int size = 0; + if (objtype == EVTColContainer::MUON && muons != 0) { + size = muons->size(); + } else if (objtype == EVTColContainer::ELEC && electrons != 0) { + size = electrons->size(); + } else if (objtype == EVTColContainer::PHOTON && photons != 0) { + size = photons->size(); + } else if (objtype == EVTColContainer::PFMET && pfMETs != 0) { + size = pfMETs->size(); + } else if (objtype == EVTColContainer::PFTAU && pfTaus != 0) { + size = pfTaus->size(); + } else if (objtype == EVTColContainer::JET && jets != 0) { + size = jets->size(); + } + + return size; + } + + /// Tranform types into strings + const static std::string getTypeString(const unsigned int & objtype) + { + std::string objTypestr; + + if (objtype == EVTColContainer::MUON) { + objTypestr = "Mu"; + } else if (objtype == EVTColContainer::ELEC) { + objTypestr = "Ele"; + } else if (objtype == EVTColContainer::PHOTON) { + objTypestr = "Photon"; + } else if (objtype == EVTColContainer::PFMET) { + objTypestr = "MET"; + } else if (objtype == EVTColContainer::PFTAU) { + objTypestr = "PFTau"; + } else if (objtype == EVTColContainer::JET) { + objTypestr = "Jet"; + } else { + edm::LogError("ExoticaValidations") << "EVTColContainer::getTypeString, " + << "NOT Implemented error (object type id='" << objtype << "')" << std::endl;; + } + + return objTypestr; + } +}; +#endif diff --git a/HLTriggerOffline/Exotica/src/HLTExoticaPlotter.cc b/HLTriggerOffline/Exotica/src/HLTExoticaPlotter.cc new file mode 100644 index 0000000000000..b7cc371c89e1f --- /dev/null +++ b/HLTriggerOffline/Exotica/src/HLTExoticaPlotter.cc @@ -0,0 +1,188 @@ +/** \file HLTExoticaPlotter.cc + */ + + +#include "FWCore/ServiceRegistry/interface/Service.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "DataFormats/Common/interface/Handle.h" + +#include "HLTriggerOffline/Exotica/interface/HLTExoticaPlotter.h" +#include "HLTriggerOffline/Exotica/interface/HLTExoticaSubAnalysis.h" +#include "HLTriggerOffline/Exotica/src/EVTColContainer.cc" + +#include "TPRegexp.h" + + +#include +#include + +HLTExoticaPlotter::HLTExoticaPlotter(const edm::ParameterSet & pset, + const std::string & hltPath, + const std::vector & objectsType) : + _hltPath(hltPath), + _hltProcessName(pset.getParameter("hltProcessName")), + _objectsType(std::set(objectsType.begin(), objectsType.end())), + _nObjects(objectsType.size()), + _parametersEta(pset.getParameter >("parametersEta")), + _parametersPhi(pset.getParameter >("parametersPhi")), + _parametersTurnOn(pset.getParameter >("parametersTurnOn")) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaPlotter::constructor()"; +} + +HLTExoticaPlotter::~HLTExoticaPlotter() +{ +} + + +void HLTExoticaPlotter::beginJob() +{ +} + + + +void HLTExoticaPlotter::plotterBookHistos(DQMStore::IBooker & iBooker, + const edm::Run & iRun, + const edm::EventSetup & iSetup) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaPlotter::plotterBookHistos()"; + for (std::set::iterator it = _objectsType.begin(); + it != _objectsType.end(); ++it) { + std::vector sources(2); + sources[0] = "gen"; + sources[1] = "rec"; + + const std::string objTypeStr = EVTColContainer::getTypeString(*it); + + for (size_t i = 0; i < sources.size(); i++) { + std::string source = sources[i]; + bookHist(iBooker, source, objTypeStr, "Eta"); + bookHist(iBooker, source, objTypeStr, "Phi"); + bookHist(iBooker, source, objTypeStr, "MaxPt1"); + bookHist(iBooker, source, objTypeStr, "MaxPt2"); + bookHist(iBooker, source, objTypeStr, "SumEt"); + } + } +} + +void HLTExoticaPlotter::analyze(const bool & isPassTrigger, + const std::string & source, + const std::vector & matches) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaPlotter::analyze()"; + if (!isPassTrigger) { + return; + } + + std::map countobjects; + // Initializing the count of the used object + for (std::set::iterator co = _objectsType.begin(); + co != _objectsType.end(); ++co) { + countobjects[*co] = 0; + } + + int counttotal = 0; + const int totalobjectssize2 = 2 * countobjects.size(); + // Fill the histos if pass the trigger (just the two with higher pt) + for (size_t j = 0; j < matches.size(); ++j) { + // Is this object owned by this trigger? If not we are not interested... + if (_objectsType.find(matches[j].pdgId()) == _objectsType.end()) { + continue; + } + + const unsigned int objType = matches[j].pdgId(); + const std::string objTypeStr = EVTColContainer::getTypeString(objType); + + float pt = matches[j].pt(); + float eta = matches[j].eta(); + float phi = matches[j].phi(); + float sumEt = 0;//matches[j].sumEt; + this->fillHist(isPassTrigger, source, objTypeStr, "Eta", eta); + this->fillHist(isPassTrigger, source, objTypeStr, "Phi", phi); + this->fillHist(isPassTrigger, source, objTypeStr, "SumEt", sumEt); + + if (countobjects[objType] == 0) { + this->fillHist(isPassTrigger, source, objTypeStr, "MaxPt1", pt); + // Filled the high pt ... + ++(countobjects[objType]); + ++counttotal; + } else if (countobjects[objType] == 1) { + this->fillHist(isPassTrigger, source, objTypeStr, "MaxPt2", pt); + // Filled the second high pt ... + ++(countobjects[objType]); + ++counttotal; + } else { + if (counttotal == totalobjectssize2) { + break; + } + } + } +} + + +void HLTExoticaPlotter::bookHist(DQMStore::IBooker & iBooker, + const std::string & source, + const std::string & objType, + const std::string & variable) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaPlotter::bookHist()"; + std::string sourceUpper = source; + sourceUpper[0] = std::toupper(sourceUpper[0]); + std::string name = source + objType + variable + "_" + _hltPath; + TH1F * h = 0; + + if (variable.find("SumEt") != std::string::npos) { + std::string title = "Sum ET of " + sourceUpper + " " + objType; + const size_t nBins = _parametersTurnOn.size() - 1; + float * edges = new float[nBins + 1]; + for (size_t i = 0; i < nBins + 1; i++) { + edges[i] = _parametersTurnOn[i]; + } + h = new TH1F(name.c_str(), title.c_str(), nBins, edges); + delete[] edges; + } + else if (variable.find("MaxPt") != std::string::npos) { + std::string desc = (variable == "MaxPt1") ? "Leading" : "Next-to-Leading"; + std::string title = "pT of " + desc + " " + sourceUpper + " " + objType + " " + "where event pass the " + _hltPath; + const size_t nBins = _parametersTurnOn.size() - 1; + float * edges = new float[nBins + 1]; + for (size_t i = 0; i < nBins + 1; i++) { + edges[i] = _parametersTurnOn[i]; + } + h = new TH1F(name.c_str(), title.c_str(), nBins, edges); + delete [] edges; + } else { + std::string symbol = (variable == "Eta") ? "#eta" : "#phi"; + std::string title = symbol + " of " + sourceUpper + " " + objType + " " + + "where event pass the " + _hltPath; + std::vector params = (variable == "Eta") ? _parametersEta : _parametersPhi; + + int nBins = (int)params[0]; + double min = params[1]; + double max = params[2]; + h = new TH1F(name.c_str(), title.c_str(), nBins, min, max); + } + h->Sumw2(); + _elements[name] = iBooker.book1D(name, h); + // LogDebug("ExoticaValidation") << " booked histo with name " << name << "\n" + // << " at location " << (unsigned long int)_elements[name]; + delete h; +} + +void HLTExoticaPlotter::fillHist(const bool & passTrigger, + const std::string & source, + const std::string & objType, + const std::string & variable, + const float & value) +{ + std::string sourceUpper = source; + sourceUpper[0] = toupper(sourceUpper[0]); + std::string name = source + objType + variable + "_" + _hltPath; + + LogDebug("ExoticaValidation") << "In HLTExoticaPlotter::fillHist()" << name << " " << value; + _elements[name]->Fill(value); + LogDebug("ExoticaValidation") << "In HLTExoticaPlotter::fillHist()" << name << " worked"; +} + + diff --git a/HLTriggerOffline/Exotica/src/HLTExoticaSubAnalysis.cc b/HLTriggerOffline/Exotica/src/HLTExoticaSubAnalysis.cc new file mode 100644 index 0000000000000..55317de172396 --- /dev/null +++ b/HLTriggerOffline/Exotica/src/HLTExoticaSubAnalysis.cc @@ -0,0 +1,883 @@ + +/** \file HLTExoticaSubAnalysis.cc + */ + +#include "FWCore/ServiceRegistry/interface/Service.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/Framework/interface/ConsumesCollector.h" +#include "FWCore/Utilities/interface/TypeID.h" +#include "DataFormats/Common/interface/Handle.h" + +#include "HLTriggerOffline/Exotica/interface/HLTExoticaSubAnalysis.h" +#include "DataFormats/Math/interface/LorentzVector.h" +#include "CommonTools/Utils/interface/PtComparator.h" +#include "HLTriggerOffline/Exotica/src/EVTColContainer.cc" + +#include "TPRegexp.h" +#include "TString.h" + +#include "DataFormats/Common/interface/TriggerResults.h" +#include "FWCore/Common/interface/TriggerNames.h" + +#include +#include + +/// Constructor +HLTExoticaSubAnalysis::HLTExoticaSubAnalysis(const edm::ParameterSet & pset, + const std::string & analysisname, + edm::ConsumesCollector && consCollector) : + _pset(pset), + _analysisname(analysisname), + _minCandidates(0), + _hltProcessName(pset.getParameter("hltProcessName")), + _genParticleLabel(pset.getParameter("genParticleLabel")), + _trigResultsLabel("TriggerResults", "", _hltProcessName), + _parametersEta(pset.getParameter >("parametersEta")), + _parametersPhi(pset.getParameter >("parametersPhi")), + _parametersTurnOn(pset.getParameter >("parametersTurnOn")), + _recMuonSelector(0), + _recElecSelector(0), + _recPFMETSelector(0), + _recPFTauSelector(0), + _recPhotonSelector(0), + _recJetSelector(0) +{ + + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::constructor()"; + + // Specific parameters for this analysis + edm::ParameterSet anpset = pset.getParameter(analysisname); + + // If this analysis has a particular set of binnings, use it. + // (Taken from the analysis-specific parameter set, of course) + // The "true" in the beginning of _pset.insert() means + // "overwrite the parameter if need be". + if (anpset.exists("parametersTurnOn")) { + _parametersTurnOn = anpset.getParameter >("parametersTurnOn"); + _pset.insert(true, "parametersTurnOn", anpset.retrieve("parametersTurnOn")); + } + if (anpset.exists("parametersEta")) { + _parametersEta = anpset.getParameter >("parametersEta"); + _pset.insert(true, "parametersEta", anpset.retrieve("parametersEta")); + } + if (anpset.exists("parametersPhi")) { + _parametersPhi = anpset.getParameter >("parametersPhi"); + _pset.insert(true, "parametersPhi", anpset.retrieve("parametersPhi")); + } + + // Get names of objects that we may want to get from the event. + // Notice that genParticles are dealt with separately. + this->getNamesOfObjects(anpset); + + // Since now we have the names, we should register the consumption + // of objects. + this->registerConsumes(consCollector); + + // Generic objects: Initialization of basic phase space cuts. + for (std::map::const_iterator it = _recLabels.begin(); + it != _recLabels.end(); ++it) { + const std::string objStr = EVTColContainer::getTypeString(it->first); + _genCut[it->first] = pset.getParameter(std::string(objStr + "_genCut").c_str()); + _recCut[it->first] = pset.getParameter(std::string(objStr + "_recCut").c_str()); + } + + //--- Updating parameters if has to be modified for this particular specific analysis + for (std::map::const_iterator it = _recLabels.begin(); + it != _recLabels.end(); ++it) { + const std::string objStr = EVTColContainer::getTypeString(it->first); + + try { + _genCut[it->first] = anpset.getUntrackedParameter(std::string(objStr + "_genCut").c_str()); + } catch (edm::Exception) {} + + try { + _recCut[it->first] = anpset.getUntrackedParameter(std::string(objStr + "_recCut").c_str()); + } catch (edm::Exception) {} + + } + + /// Get the vector of paths to check, for this particular analysis. + _hltPathsToCheck = anpset.getParameter >("hltPathsToCheck"); + /// Get the minimum candidates, for this particular analysis. + _minCandidates = anpset.getParameter("minCandidates"); + +} /// End Constructor + +HLTExoticaSubAnalysis::~HLTExoticaSubAnalysis() +{ + for (std::map* >::iterator it = _genSelectorMap.begin(); + it != _genSelectorMap.end(); ++it) { + delete it->second; + it->second = 0; + } + delete _recMuonSelector; + _recMuonSelector = 0; + delete _recElecSelector; + _recElecSelector = 0; + delete _recPhotonSelector; + _recPhotonSelector = 0; + delete _recPFMETSelector; + _recPFMETSelector = 0; + delete _recPFTauSelector; + _recPFTauSelector = 0; + delete _recJetSelector; + _recJetSelector = 0; +} + + +void HLTExoticaSubAnalysis::beginJob() +{ +} + + +// 2014-02-03 -- Thiago +// Due to the fact that the DQM has to be thread safe now, we have to do things differently: +// 1) Implement the bookHistograms() method in the container class +// 2) Make the iBooker from above be known to this class +// 3) Separate all booking histograms routines in this and any auxiliary classe to be called +// from bookHistograms() in the container class +void HLTExoticaSubAnalysis::subAnalysisBookHistos(DQMStore::IBooker &iBooker, + const edm::Run & iRun, + const edm::EventSetup & iSetup) +{ + + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::subAnalysisBookHistos()"; + + // Create the folder structure inside HLT/Exotica + std::string baseDir = "HLT/Exotica/" + _analysisname + "/"; + iBooker.setCurrentFolder(baseDir); + + // Book the gen/reco analysis-dependent histograms (denominators) + for (std::map::const_iterator it = _recLabels.begin(); + it != _recLabels.end(); ++it) { + const std::string objStr = EVTColContainer::getTypeString(it->first); + std::vector sources(2); + sources[0] = "gen"; + sources[1] = "rec"; + + for (size_t i = 0; i < sources.size(); i++) { + std::string source = sources[i]; + bookHist(iBooker, source, objStr, "Eta"); + bookHist(iBooker, source, objStr, "Phi"); + bookHist(iBooker, source, objStr, "MaxPt1"); + bookHist(iBooker, source, objStr, "MaxPt2"); + bookHist(iBooker, source, objStr, "SumEt"); + } + } // closes loop in _recLabels + + // Call the plotterBookHistos() (which books all the path dependent histograms) + LogDebug("ExoticaValidation") << " number of plotters = " << _plotters.size(); + for (std::vector::iterator it = _plotters.begin(); + it != _plotters.end(); ++it) { + it->plotterBookHistos(iBooker, iRun, iSetup); + } +} + +void HLTExoticaSubAnalysis::beginRun(const edm::Run & iRun, const edm::EventSetup & iSetup) +{ + + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::beginRun()"; + + /// Construct the plotters right here. + /// For that we need to create the _hltPaths vector. + + // Initialize the HLT config. + bool changedConfig(true); + if (!_hltConfig.init(iRun, iSetup, _hltProcessName, changedConfig)) { + edm::LogError("ExoticaValidation") << "HLTExoticaSubAnalysis::constructor(): " + << "Initialization of HLTConfigProvider failed!"; + } + + // Parse the input paths to get them if they are in the table and associate + // them to the last filter of the path (in order to extract the objects). + _hltPaths.clear(); + for (size_t i = 0; i < _hltPathsToCheck.size(); ++i) { + bool found = false; + TPRegexp pattern(_hltPathsToCheck[i]); + + // Loop over triggerNames from _hltConfig + for (size_t j = 0 ; j < _hltConfig.triggerNames().size(); ++j) { + std::string thetriggername = _hltConfig.triggerNames()[j]; + if (TString(thetriggername).Contains(pattern)) { + _hltPaths.insert(thetriggername); + found = true; + } + } + + // Oh dear, the path we wanted seems to not be available + if (! found) { + edm::LogWarning("ExoticaValidation") << "HLTExoticaSubAnalysis::constructor(): In " + << _analysisname << " subfolder NOT found the path: '" + << _hltPathsToCheck[i] << "*'" ; + } + } // Close loop over paths to check. + + // At this point, _hltpaths contains the names of the paths to check + // that were found. Let's log it at trace level. + LogTrace("ExoticaValidation") << "SubAnalysis: " << _analysisname + << "\nHLT Trigger Paths found >>>"; + for (std::set::const_iterator iter = _hltPaths.begin(); + iter != _hltPaths.end(); ++iter) { + LogTrace("ExoticaValidation") << (*iter) << "\n"; + } + + // Initialize the plotters (analysers for each trigger path) + _plotters.clear(); + for (std::set::iterator iPath = _hltPaths.begin(); + iPath != _hltPaths.end(); ++iPath) { + // Avoiding the dependence of the version number for the trigger paths + std::string path = * iPath; + std::string shortpath = path; + if (path.rfind("_v") < path.length()) { + shortpath = path.substr(0, path.rfind("_v")); + } + _shortpath2long[shortpath] = path; + + // Objects needed by the HLT path + // Thiago: instead of trying to decode the objects from the path, + // put the burden on the user to tell us which objects are needed. + //const std::vector objsNeedHLT = this->getObjectsType(shortpath); + std::vector objsNeedHLT; + for (std::map::iterator it = _recLabels.begin() ; + it != _recLabels.end(); ++it) { + objsNeedHLT.push_back(it->first); + } + + /*std::vector userInstantiate; + // Sanity check: the object needed by a trigger path should be + // introduced by the user via config python (_recLabels datamember) + for (std::map::iterator it = _recLabels.begin() ; + it != _recLabels.end(); ++it) { + userInstantiate.push_back(it->first); + } + for (std::vector::const_iterator it = objsNeedHLT.begin(); it != objsNeedHLT.end(); + ++it) { + if (std::find(userInstantiate.begin(), userInstantiate.end(), *it) == + userInstantiate.end()) { + edm::LogError("ExoticaValidation") << "In HLTExoticaSubAnalysis::beginRun, " + << "Incoherence found in the python configuration file!!\nThe SubAnalysis '" + << _analysisname << "' has been asked to evaluate the trigger path '" + << shortpath << "' (found it in 'hltPathsToCheck') BUT this path" + << " needs a '" << EVTColContainer::getTypeString(*it) + << "' which has not been instantiated ('recVariableLabels'" + << ")" ; + exit(-1); // This should probably throw an exception... + } + } + */ + LogTrace("ExoticaValidation") << " --- " << shortpath; + + // The hlt path, the objects (electrons, muons, photons, ...) + // needed to evaluate the path are the argumens of the plotter + HLTExoticaPlotter analyzer(_pset, shortpath, objsNeedHLT); + _plotters.push_back(analyzer); + }// Okay, at this point we have prepared all the plotters. + +} + + +void HLTExoticaSubAnalysis::analyze(const edm::Event & iEvent, const edm::EventSetup & iSetup, EVTColContainer * cols) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::analyze()"; + + // Loop over _recLabels to make sure everything is alright. + /* + std::cout << "Now printing the _recLabels" << std::endl; + for (std::map::iterator it = _recLabels.begin(); + it != _recLabels.end(); ++it) { + std::cout << "Number: " << it->first << "\t" << "Label: " << it->second.label() << std::endl; + } + */ + + // Initialize the collection (the ones which have not been initialiazed yet) + //std::cout << "Setting handles to objects..." << std::endl; + this->getHandlesToObjects(iEvent, cols); + + // Utility map, mapping kinds of objects (GEN, RECO) to strings ("gen","rec") + //std::map u2str; + //u2str[Level::GEN] = "gen"; + //u2str[Level::RECO] = "rec"; + + // Extract the match structure containing the gen/reco candidates (electron, muons,...). This part is common to all the SubAnalyses + + //std::map > sourceMatchMap; + //std::vector matchesGen; matchesGen.clear(); + std::vector matchesGen; matchesGen.clear(); + //std::vector matchesReco; matchesReco.clear(); + std::vector matchesReco; matchesReco.clear(); + //sourceMatchMap[98] = matchesGen; + //sourceMatchMap[99] = matchesReco; + + //std::cout << "In the beginning: matchesGen.size() = " << matchesGen.size() << std::endl; + //std::cout << "In the beginning: matchesReco.size() = " << matchesReco.size() << std::endl; + + // --- deal with GEN objects first. + // Make each good GEN object into the base cand for a MatchStruct + // Our definition of "good" is "passes the selector" defined in the config.py + // Save all the MatchStructs in the "matchesGen" vector. + + for (std::map::iterator it = _recLabels.begin(); + it != _recLabels.end(); ++it) { + // Here we are filling the vector of StringCutObjectSelector + // with objects constructed from the strings saved in _genCut. + // Initialize selectors when first event + + //std::cout << "Loop over the kinds of objects: objects of kind " << it->first << std::endl; + + if (!_genSelectorMap[it->first]) { + _genSelectorMap[it->first] = new StringCutObjectSelector(_genCut[it->first]); + } + + // Now loop over the genParticles, and apply the operator() over each of them. + // Fancy syntax: for objects X and Y, X.operator()(Y) is the same as X(Y). + for (size_t i = 0; i < cols->genParticles->size(); ++i) { + //std::cout << "Now matchesGen.size() is " << matchesGen.size() << std::endl; + if (_genSelectorMap[it->first]->operator()(cols->genParticles->at(i))) { + const reco::Candidate* cand = &(cols->genParticles->at(i)); + //std::cout << "Found good cand: cand->pt() = " << cand->pt() << std::endl; + //matchesGen.push_back(MatchStruct(cand, it->first)); + /// We are going to make a fake LeafCandidate, with our particleType as the pdgId. + /// This is an alternative to the older implementation with MatchStruct. + reco::LeafCandidate v(0,cand->p4(),cand->vertex(),it->first,0,true); + matchesGen.push_back(v); + } + } + } + + // Sort the matches by pT for later filling of turn-on curve + //std::cout << "Before sorting: matchesGen.size() = " << matchesGen.size() << std::endl; + GreaterByPt comparator; + std::sort(matchesGen.begin(), + matchesGen.end(), + comparator); + //std::cout << "After sorting: matchesGen.size() = " << matchesGen.size() << std::endl; + + //std::cout << "Before adding RECO: sourceMatchMap[98].size() = " << sourceMatchMap[98].size() << std::endl; + //std::cout << "Before adding RECO: matchesGen.size() = " << matchesGen.size() << std::endl; + + // --- same for RECO objects + // Extraction of the objects candidates + for (std::map::iterator it = _recLabels.begin(); + it != _recLabels.end(); ++it) { + //std::cout << "Filling RECO \"matchesReco\" vector for particle kind it->first = " + // << it->first << ", which means " << it->second.label() << std::endl; + // Reco selectors (the function takes into account if it was instantiated + // before or not) ### Thiago ---> Then why don't we put it in the beginRun??? + this->initSelector(it->first); + // -- Storing the matchesReco + this->insertCandidates(it->first, cols, &matchesReco); + } + + //std::cout << "After adding RECO: matchesGen.size() = " << matchesGen.size() << std::endl; + //std::cout << "After adding RECO: matchesReco.size() = " << matchesReco.size() << std::endl; + + std::sort(matchesReco.begin(), + matchesReco.end(), + comparator); + + // --- All the objects are in place + //std::cout << "DEBUG(0)" << std::endl; + + // -- Trigger Results + const edm::TriggerNames trigNames = iEvent.triggerNames(*(cols->triggerResults)); + + /// Filling the histograms if pass the minimum amount of candidates needed by the analysis: + /// First do the GEN case + + //for (std::map >::iterator it = sourceMatchMap.begin(); it != sourceMatchMap.end(); ++it) { + // it->first: gen/reco it->second: HLT matches (std::vector) + + //if (it->second.size() < _minCandidates) { // FIXME: A bug is potentially here: what about the mixed channels? + //continue; + //} + + //////////////// + /// GEN CASE /// + //////////////// + { + if(matchesGen.size() < _minCandidates) return; // FIXME: A bug is potentially here: what about the mixed channels? + + // Okay, there are enough candidates. Move on! + + // Filling the gen/reco objects (eff-denominators): + // Just the first two different ones, if there are more + // The countobjects maps uints (object types, really) --> integers. + // Example: + // | uint | int | + // | 0 | 1 | --> 1 muon used + // | 1 | 2 | --> 2 electrons used + // Initializing the count of the used objects. + std::map * countobjects = new std::map; + for (std::map::iterator co = _recLabels.begin(); + co != _recLabels.end(); ++co) { + countobjects->insert(std::pair(co->first, 0)); + } + + int counttotal = 0; + int totalobjectssize2 = 2 * countobjects->size(); + + for (size_t j = 0; j != matchesGen.size(); ++j) { + const unsigned int objType = matchesGen[j].pdgId(); + //std::cout << "(4) Gonna call with " << objType << std::endl; + const std::string objTypeStr = EVTColContainer::getTypeString(objType); + + float pt = matchesGen[j].pt(); + float eta = matchesGen[j].eta(); + float phi = matchesGen[j].phi(); + float sumEt = 0;//matchesGen[j].sumEt; + + this->fillHist("gen", objTypeStr, "Eta", eta); + this->fillHist("gen", objTypeStr, "Phi", phi); + this->fillHist("gen", objTypeStr, "SumEt", sumEt); + + if ((*countobjects)[objType] == 0) { + this->fillHist("gen", objTypeStr, "MaxPt1", pt); + // Filled the high pt ... + ++((*countobjects)[objType]); + ++counttotal; + } else if ((*countobjects)[objType] == 1) { + this->fillHist("gen", objTypeStr, "MaxPt2", pt); + // Filled the second high pt ... + ++((*countobjects)[objType]); + ++counttotal; + } else { + // Already the minimum two objects has been filled, get out... + if (counttotal == totalobjectssize2) { + break; + } + } + } // Closes loop in gen + + LogDebug("ExoticaValidation") << " deleting countobjects"; + //delete countobjects; + + // Calling to the plotters analysis (where the evaluation of the different trigger paths are done) + //const std::string source = "gen"; + for (std::vector::iterator an = _plotters.begin(); an != _plotters.end(); ++an) { + const std::string hltPath = _shortpath2long[an->gethltpath()]; + const bool ispassTrigger = cols->triggerResults->accept(trigNames.triggerIndex(hltPath)); + LogDebug("ExoticaValidation") << " preparing to call the plotters analysis"; + an->analyze(ispassTrigger, "gen", matchesGen); + LogDebug("ExoticaValidation") << " called the plotter"; + } + } /// Close GEN case + + + ///////////////// + /// RECO CASE /// + ///////////////// + { + if(matchesReco.size() < _minCandidates) return; // FIXME: A bug is potentially here: what about the mixed channels? + + // Okay, there are enough candidates. Move on! + + // Filling the gen/reco objects (eff-denominators): + // Just the first two different ones, if there are more + // The countobjects maps uints (object types, really) --> integers. + // Example: + // | uint | int | + // | 0 | 1 | --> 1 muon used + // | 1 | 2 | --> 2 electrons used + // Initializing the count of the used objects. + std::map * countobjects = new std::map; + for (std::map::iterator co = _recLabels.begin(); + co != _recLabels.end(); ++co) { + countobjects->insert(std::pair(co->first, 0)); + } + + int counttotal = 0; + int totalobjectssize2 = 2 * countobjects->size(); + + /// Debugging. + //std::cout << "Our RECO vector has matchesReco.size() = " << matchesReco.size() << std::endl; + + for (size_t j = 0; j != matchesReco.size(); ++j) { + const unsigned int objType = matchesReco[j].pdgId(); + //std::cout << "(4) Gonna call with " << objType << std::endl; + const std::string objTypeStr = EVTColContainer::getTypeString(objType); + + float pt = matchesReco[j].pt(); + float eta = matchesReco[j].eta(); + float phi = matchesReco[j].phi(); + float sumEt = 0;//matchesReco[j].sumEt; + + this->fillHist("rec", objTypeStr, "Eta", eta); + this->fillHist("rec", objTypeStr, "Phi", phi); + this->fillHist("rec", objTypeStr, "SumEt", sumEt); + + if ((*countobjects)[objType] == 0) { + this->fillHist("rec", objTypeStr, "MaxPt1", pt); + // Filled the high pt ... + ++((*countobjects)[objType]); + ++counttotal; + } else if ((*countobjects)[objType] == 1) { + this->fillHist("rec", objTypeStr, "MaxPt2", pt); + // Filled the second high pt ... + ++((*countobjects)[objType]); + ++counttotal; + } else { + // Already the minimum two objects has been filled, get out... + if (counttotal == totalobjectssize2) { + break; + } + } + } // Closes loop in reco + + LogDebug("ExoticaValidation") << " deleting countobjects"; + //delete countobjects; + + // Calling to the plotters analysis (where the evaluation of the different trigger paths are done) + //const std::string source = "reco"; + for (std::vector::iterator an = _plotters.begin(); an != _plotters.end(); ++an) { + const std::string hltPath = _shortpath2long[an->gethltpath()]; + const bool ispassTrigger = cols->triggerResults->accept(trigNames.triggerIndex(hltPath)); + LogDebug("ExoticaValidation") << " preparing to call the plotters analysis"; + an->analyze(ispassTrigger, "rec", matchesReco); + LogDebug("ExoticaValidation") << " called the plotter"; + } + } /// Close RECO case + +} /// closes analyze method + + +// Return the objects (muons,electrons,photons,...) needed by a hlt path. +const std::vector HLTExoticaSubAnalysis::getObjectsType(const std::string & hltPath) const +{ + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::getObjectsType()"; + + static const unsigned int objSize = 6; + static const unsigned int objtriggernames[] = { + EVTColContainer::MUON, + EVTColContainer::ELEC, + EVTColContainer::PHOTON, + EVTColContainer::PFMET, + EVTColContainer::PFTAU, + EVTColContainer::JET + }; + + std::set objsType; + // The object to deal has to be entered via the config .py + for (unsigned int i = 0; i < objSize; ++i) { + //std::cout << "(5) Gonna call with " << objtriggernames[i] << std::endl; + std::string objTypeStr = EVTColContainer::getTypeString(objtriggernames[i]); + // Check if it is needed this object for this trigger + if (! TString(hltPath).Contains(objTypeStr)) { + continue; + } + + objsType.insert(objtriggernames[i]); + } + + return std::vector(objsType.begin(), objsType.end()); +} + +// Booking the maps: recLabels and genParticle selectors +void HLTExoticaSubAnalysis::getNamesOfObjects(const edm::ParameterSet & anpset) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::getNamesOfObjects()"; + + if (anpset.exists("recMuonLabel")) { + _recLabels[EVTColContainer::MUON] = anpset.getParameter("recMuonLabel"); + _genSelectorMap[EVTColContainer::MUON] = 0 ; + } + if (anpset.exists("recElecLabel")) { + _recLabels[EVTColContainer::ELEC] = anpset.getParameter("recElecLabel"); + _genSelectorMap[EVTColContainer::ELEC] = 0 ; + } + if (anpset.exists("recPhotonLabel")) { + _recLabels[EVTColContainer::PHOTON] = anpset.getParameter("recPhotonLabel"); + _genSelectorMap[EVTColContainer::PHOTON] = 0 ; + } + if (anpset.exists("recPFMETLabel")) { + _recLabels[EVTColContainer::PFMET] = anpset.getParameter("recPFMETLabel"); + _genSelectorMap[EVTColContainer::PFMET] = 0 ; + } + if (anpset.exists("recPFTauLabel")) { + _recLabels[EVTColContainer::PFTAU] = anpset.getParameter("recPFTauLabel"); + _genSelectorMap[EVTColContainer::PFTAU] = 0 ; + } + if (anpset.exists("recJetLabel")) { + _recLabels[EVTColContainer::JET] = anpset.getParameter("recJetLabel"); + _genSelectorMap[EVTColContainer::JET] = 0 ; + } + + if (_recLabels.size() < 1) { + edm::LogError("ExoticaValidation") << "HLTExoticaSubAnalysis::getNamesOfObjects, " + << "Not included any object (recMuonLabel, recElecLabel, ...) " + << "in the analysis " << _analysisname; + return; + } +} + +// Register consumption of objects. +// I have chosen to centralize all consumes() calls here. +void HLTExoticaSubAnalysis::registerConsumes(edm::ConsumesCollector & iC) +{ + // Register that we are getting genParticles + _genParticleToken = iC.consumes(_genParticleLabel); + + // Register that we are getting the trigger results + _trigResultsToken = iC.consumes(_trigResultsLabel); + // Loop over _recLabels, see what we need, and register. + // Then save the registered token in _tokens. + // Remember: _recLabels is a map + // Remember: _tokens is a map + LogDebug("ExoticaValidation") << "We have got " << _recLabels.size() << "recLabels"; + for (std::map::iterator it = _recLabels.begin(); + it != _recLabels.end(); ++it) { + if (it->first == EVTColContainer::MUON) { + edm::EDGetTokenT particularToken = iC.consumes(it->second); + edm::EDGetToken token(particularToken); + _tokens[it->first] = token; + } + else if (it->first == EVTColContainer::ELEC) { + edm::EDGetTokenT particularToken = iC.consumes(it->second); + edm::EDGetToken token(particularToken); + _tokens[it->first] = token; + } + else if (it->first == EVTColContainer::PHOTON) { + edm::EDGetTokenT particularToken = iC.consumes(it->second); + edm::EDGetToken token(particularToken); + _tokens[it->first] = token; + } + else if (it->first == EVTColContainer::PFMET) { + edm::EDGetTokenT particularToken = iC.consumes(it->second); + edm::EDGetToken token(particularToken); + _tokens[it->first] = token; + } + else if (it->first == EVTColContainer::PFTAU) { + edm::EDGetTokenT particularToken = iC.consumes(it->second); + edm::EDGetToken token(particularToken); + _tokens[it->first] = token; + } + else if (it->first == EVTColContainer::JET) { + edm::EDGetTokenT particularToken = iC.consumes(it->second); + edm::EDGetToken token(particularToken); + _tokens[it->first] = token; + } + else { + edm::LogError("ExoticaValidation") << "HLTExoticaSubAnalysis::registerConsumes" + << " NOT IMPLEMENTED (yet) ERROR: '" << it->second.label() << "'"; + } + } + +} + +// Setting the collections of objects in EVTColContainer +void HLTExoticaSubAnalysis::getHandlesToObjects(const edm::Event & iEvent, EVTColContainer * col) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::getHandlesToObjects()"; + + if (! col->isCommonInit()) { + // Extract the trigger results (path info, pass,...) + edm::Handle trigResults; + iEvent.getByToken(_trigResultsToken, trigResults); + if (trigResults.isValid()) { + col->triggerResults = trigResults.product(); + LogDebug("ExoticaValidation") << "Added handle to triggerResults"; + } + + // Extract the genParticles + edm::Handle genPart; + iEvent.getByToken(_genParticleToken, genPart); + if (genPart.isValid()) { + col->genParticles = genPart.product(); + LogDebug("ExoticaValidation") << "Added handle to genParticles"; + } + } + + // Loop over the tokens and extract all other objects + LogDebug("ExoticaValidation") << "We have got " << _tokens.size() << "tokens"; + for (std::map::iterator it = _tokens.begin(); + it != _tokens.end(); ++it) { + if (it->first == EVTColContainer::MUON) { + edm::Handle theHandle; + iEvent.getByToken(it->second, theHandle); + col->set(theHandle.product()); + } + else if (it->first == EVTColContainer::ELEC) { + edm::Handle theHandle; + iEvent.getByToken(it->second, theHandle); + col->set(theHandle.product()); + } + else if (it->first == EVTColContainer::PHOTON) { + edm::Handle theHandle; + iEvent.getByToken(it->second, theHandle); + col->set(theHandle.product()); + } + else if (it->first == EVTColContainer::PFMET) { + edm::Handle theHandle; + iEvent.getByToken(it->second, theHandle); + col->set(theHandle.product()); + } + else if (it->first == EVTColContainer::PFTAU) { + edm::Handle theHandle; + iEvent.getByToken(it->second, theHandle); + col->set(theHandle.product()); + } + else if (it->first == EVTColContainer::JET) { + edm::Handle theHandle; + iEvent.getByToken(it->second, theHandle); + col->set(theHandle.product()); + } + else { + edm::LogError("ExoticaValidation") << "HLTExoticaSubAnalysis::getHandlesToObjects " + << " NOT IMPLEMENTED (yet) ERROR: '" << it->first << "'"; + } + } +} + +// Booking the histograms, and putting them in DQM +void HLTExoticaSubAnalysis::bookHist(DQMStore::IBooker & iBooker, + const std::string & source, + const std::string & objType, + const std::string & variable) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::bookHist()"; + std::string sourceUpper = source; + sourceUpper[0] = std::toupper(sourceUpper[0]); + std::string name = source + objType + variable ; + TH1F * h = 0; + + if (variable.find("SumEt") != std::string::npos) { + std::string title = "Sum ET of " + sourceUpper + " " + objType; + const size_t nBins = _parametersTurnOn.size() - 1; + float * edges = new float[nBins + 1]; + for (size_t i = 0; i < nBins + 1; i++) { + edges[i] = _parametersTurnOn[i]; + } + h = new TH1F(name.c_str(), title.c_str(), nBins, edges); + delete[] edges; + } + else if (variable.find("MaxPt") != std::string::npos) { + std::string desc = (variable == "MaxPt1") ? "Leading" : "Next-to-Leading"; + std::string title = "pT of " + desc + " " + sourceUpper + " " + objType; + const size_t nBins = _parametersTurnOn.size() - 1; + float * edges = new float[nBins + 1]; + for (size_t i = 0; i < nBins + 1; i++) { + edges[i] = _parametersTurnOn[i]; + } + h = new TH1F(name.c_str(), title.c_str(), nBins, edges); + delete[] edges; + } else { + std::string symbol = (variable == "Eta") ? "#eta" : "#phi"; + std::string title = symbol + " of " + sourceUpper + " " + objType; + std::vector params = (variable == "Eta") ? _parametersEta : _parametersPhi; + int nBins = (int)params[0]; + double min = params[1]; + double max = params[2]; + h = new TH1F(name.c_str(), title.c_str(), nBins, min, max); + } + + h->Sumw2(); + // This is the trick, that takes a normal TH1F and puts it in in the DQM + // machinery. Seems to be easy! + // Updated to use the new iBooker machinery. + _elements[name] = iBooker.book1D(name, h); + delete h; +} + +// Fill the histograms +void HLTExoticaSubAnalysis::fillHist(const std::string & source, + const std::string & objType, + const std::string & variable, + const float & value) +{ + std::string sourceUpper = source; + sourceUpper[0] = toupper(sourceUpper[0]); + std::string name = source + objType + variable ; + + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::fillHist() " << name << " " << value; + _elements[name]->Fill(value); + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::fillHist() " << name << " worked"; +} + +// Initialize the selectors +void HLTExoticaSubAnalysis::initSelector(const unsigned int & objtype) +{ + + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::initSelector()"; + + if (objtype == EVTColContainer::MUON && _recMuonSelector == 0) { + _recMuonSelector = new StringCutObjectSelector(_recCut[objtype]); + } else if (objtype == EVTColContainer::ELEC && _recElecSelector == 0) { + _recElecSelector = new StringCutObjectSelector(_recCut[objtype]); + } else if (objtype == EVTColContainer::PHOTON && _recPhotonSelector == 0) { + _recPhotonSelector = new StringCutObjectSelector(_recCut[objtype]); + } else if (objtype == EVTColContainer::PFMET && _recPFMETSelector == 0) { + _recPFMETSelector = new StringCutObjectSelector(_recCut[objtype]); + } else if (objtype == EVTColContainer::PFTAU && _recPFTauSelector == 0) { + _recPFTauSelector = new StringCutObjectSelector(_recCut[objtype]); + } else if (objtype == EVTColContainer::JET && _recJetSelector == 0) { + _recJetSelector = new StringCutObjectSelector(_recCut[objtype]); + } + /* else + { + FIXME: ERROR NOT IMPLEMENTED + }*/ +} + +// Insert the HLT candidates +void HLTExoticaSubAnalysis::insertCandidates(const unsigned int & objType, const EVTColContainer * cols, std::vector * matches) +{ + + LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::insertCandidates()"; + + if (objType == EVTColContainer::MUON) { + for (size_t i = 0; i < cols->muons->size(); i++) { + LogDebug("ExoticaValidation") << "Inserting muon " << i ; + if (_recMuonSelector->operator()(cols->muons->at(i))) { + reco::LeafCandidate m(0, cols->muons->at(i).p4(), cols->muons->at(i).vertex(), objType, 0, true); + matches->push_back(m); + } + } + } else if (objType == EVTColContainer::ELEC) { + for (size_t i = 0; i < cols->electrons->size(); i++) { + LogDebug("ExoticaValidation") << "Inserting electron " << i ; + if (_recElecSelector->operator()(cols->electrons->at(i))) { + reco::LeafCandidate m(0, cols->electrons->at(i).p4(), cols->electrons->at(i).vertex(), objType, 0, true); + matches->push_back(m); + } + } + } else if (objType == EVTColContainer::PHOTON) { + for (size_t i = 0; i < cols->photons->size(); i++) { + LogDebug("ExoticaValidation") << "Inserting photon " << i ; + if (_recPhotonSelector->operator()(cols->photons->at(i))) { + reco::LeafCandidate m(0, cols->photons->at(i).p4(), cols->photons->at(i).vertex(), objType, 0, true); + matches->push_back(m); + } + } + } else if (objType == EVTColContainer::PFMET) { + /// This is a special case. Passing a PFMET* to the constructor of + /// MatchStruct will trigger the usage of the special constructor which + /// also sets the sumEt member. + for (size_t i = 0; i < cols->pfMETs->size(); i++) { + LogDebug("ExoticaValidation") << "Inserting PFMET " << i ; + if (_recPFMETSelector->operator()(cols->pfMETs->at(i))) { + reco::LeafCandidate m(0, cols->pfMETs->at(i).p4(), cols->pfMETs->at(i).vertex(), objType, 0, true); + matches->push_back(m); + } + } + } else if (objType == EVTColContainer::PFTAU) { + for (size_t i = 0; i < cols->pfTaus->size(); i++) { + LogDebug("ExoticaValidation") << "Inserting PFtau " << i ; + if (_recPFTauSelector->operator()(cols->pfTaus->at(i))) { + reco::LeafCandidate m(0, cols->pfTaus->at(i).p4(), cols->pfTaus->at(i).vertex(), objType, 0, true); + matches->push_back(m); + } + } + } else if (objType == EVTColContainer::JET) { + for (size_t i = 0; i < cols->jets->size(); i++) { + LogDebug("ExoticaValidation") << "Inserting jet " << i ; + if (_recJetSelector->operator()(cols->jets->at(i))) { + reco::LeafCandidate m(0, cols->jets->at(i).p4(), cols->jets->at(i).vertex(), objType, 0, true); + matches->push_back(m); + } + } + } + + /* else + { + FIXME: ERROR NOT IMPLEMENTED + }*/ +} diff --git a/HLTriggerOffline/Exotica/src/HLTExoticaValidator.cc b/HLTriggerOffline/Exotica/src/HLTExoticaValidator.cc new file mode 100644 index 0000000000000..17846dc8456d7 --- /dev/null +++ b/HLTriggerOffline/Exotica/src/HLTExoticaValidator.cc @@ -0,0 +1,120 @@ +// -*- C++ -*- +// +// Package: HLTExoticaValidator +// Class: HLTExoticaValidator +// + +// +// Jordi Duarte Campderros (based on the Jason Slaunwhite +// and Jeff Klukas coded from the HLTriggerOffline/Muon package +// +// +// + +// system include files + +#include "HLTriggerOffline/Exotica/interface/HLTExoticaValidator.h" +#include "HLTriggerOffline/Exotica/src/EVTColContainer.cc" + +//////// Class Methods /////////////////////////////////////////////////////// + +// Constructor +HLTExoticaValidator::HLTExoticaValidator(const edm::ParameterSet& pset) : + _pset(pset), + _analysisnames(pset.getParameter >("analysis")), + _collections(0) +{ + + LogDebug("ExoticaValidation") << "In HLTExoticaValidator::constructor()"; + + // Prepare the event collections to be used. + _collections = new EVTColContainer; + + // Create a new subanalysis for each of the analysis names. + // Notice that the constructor takes the full parameter set, + // the analysis name and the consumesCollector() separately. + for (size_t i = 0; i < _analysisnames.size() ; ++i) { + HLTExoticaSubAnalysis analyzer(_pset, _analysisnames.at(i), consumesCollector()); + _analyzers.push_back(analyzer); + } + +} + +HLTExoticaValidator::~HLTExoticaValidator() +{ + if (_collections != 0) { + delete _collections; + _collections = 0; + } +} + + +// 2014-02-03 -- Thiago +// Due to the fact that the DQM has to be thread safe now, we have to do things differently: +// 1) Implement the bookHistograms method in this class +// 2) Split beginRun() into bookHistograms() and dqmBeginRun() +// 3) Call subAnalysisBookHistos() for each subAnalysis from inside bookHistograms() +// *** IMPORTANT *** notice that now dqmBeginRun() runs before bookHistograms()! +void HLTExoticaValidator::dqmBeginRun(const edm::Run & iRun, const edm::EventSetup & iSetup) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaValidator::dqmBeginRun()"; + + // Call the Plotter beginRun (which stores the triggers paths..:) + for (std::vector::iterator iter = _analyzers.begin(); + iter != _analyzers.end(); ++iter) { + iter->beginRun(iRun, iSetup); + } +} + +void HLTExoticaValidator::bookHistograms(DQMStore::IBooker &iBooker, const edm::Run & iRun, const edm::EventSetup & iSetup) +{ + + LogDebug("ExoticaValidation") << "In HLTExoticaValidator::bookHistograms()"; + + // Loop over all sub-analyses and book histograms for all of them. + // For this to work, I think we have to pass the iBooker to each of them. + // I don't think we have any guarantee that this loop is executed sequentially, + // but the booking with iBooker itself has such a guarantee. + for (std::vector::iterator iter = _analyzers.begin(); + iter != _analyzers.end(); ++iter) { + iter->subAnalysisBookHistos(iBooker, iRun, iSetup); + } +} + + +void HLTExoticaValidator::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) +{ + LogDebug("ExoticaValidation") << "In HLTExoticaValidator::analyze()"; + + //static int eventNumber = 0; + //eventNumber++; + //LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::analyze, " + // << "Event: " << eventNumber; + + // Initialize the event collections + this->_collections->reset(); + + for (std::vector::iterator iter = _analyzers.begin(); + iter != _analyzers.end(); ++iter) { + iter->analyze(iEvent, iSetup, this->_collections); + } +} + + + +void HLTExoticaValidator::beginJob() +{ + LogDebug("ExoticaValidation") << "In HLTExoticaValidator::beginJob()"; +} + +void HLTExoticaValidator::endRun(const edm::Run & iRun, const edm::EventSetup& iSetup) +{ +} + + +void HLTExoticaValidator::endJob() +{ +} + +//define this as a plug-in +//DEFINE_FWK_MODULE(HLTExoticaValidator); diff --git a/HLTriggerOffline/Exotica/src/SealModules.cc b/HLTriggerOffline/Exotica/src/SealModules.cc new file mode 100644 index 0000000000000..ba7e9c4d0c7e4 --- /dev/null +++ b/HLTriggerOffline/Exotica/src/SealModules.cc @@ -0,0 +1,7 @@ + +#include "FWCore/PluginManager/interface/ModuleDef.h" +#include "FWCore/Framework/interface/MakerMacros.h" + +#include "HLTriggerOffline/Exotica/interface/HLTExoticaValidator.h" + +DEFINE_FWK_MODULE(HLTExoticaValidator); diff --git a/HLTriggerOffline/Exotica/test/hltExoticaPostProcessor_cfg.py b/HLTriggerOffline/Exotica/test/hltExoticaPostProcessor_cfg.py new file mode 100644 index 0000000000000..eeb6a1a648cab --- /dev/null +++ b/HLTriggerOffline/Exotica/test/hltExoticaPostProcessor_cfg.py @@ -0,0 +1,34 @@ +import FWCore.ParameterSet.Config as cms + +process = cms.Process("EDMtoMEConvert") + +process.load("FWCore.MessageLogger.MessageLogger_cfi") +process.MessageLogger.cerr.FwkReport.reportEvery = 2000 + +process.load("Configuration.StandardSequences.EDMtoMEAtJobEnd_cff") +process.load("DQMServices.Components.DQMEnvironment_cfi") +process.load("HLTriggerOffline.Exotica.HLTExoticaPostVal_cff") +#process.load("HLTriggerOffline.Exotica.HLTExoticaQualityTester_cfi") + + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(-1) +) + +process.source = cms.Source("PoolSource", + fileNames = cms.untracked.vstring('file:hltExoticaValidator.root') +) + +process.postprocessor_path = cms.Path( + process.HLTExoticaPostVal + #* process.hltExoticaQualityTester +) + +process.edmtome_path = cms.Path(process.EDMtoME) +process.dqmsave_path = cms.Path(process.DQMSaver) + +process.schedule = cms.Schedule(process.edmtome_path, + process.postprocessor_path, + process.dqmsave_path) + +process.DQMStore.referenceFileName = '' diff --git a/HLTriggerOffline/Exotica/test/hltExoticaValidator_cfg.py b/HLTriggerOffline/Exotica/test/hltExoticaValidator_cfg.py new file mode 100644 index 0000000000000..94aa39a97cf1d --- /dev/null +++ b/HLTriggerOffline/Exotica/test/hltExoticaValidator_cfg.py @@ -0,0 +1,80 @@ +import FWCore.ParameterSet.Config as cms + +process = cms.Process("HLTExoticaOfflineAnalysis") + +process.load("HLTriggerOffline.Exotica.ExoticaValidation_cff") +process.load("DQMServices.Components.MEtoEDMConverter_cfi") + + +############################################################################## +##### Templates to change parameters in hltMuonValidator ##################### +# process.hltMuonValidator.hltPathsToCheck = ["HLT_IsoMu3"] +# process.hltMuonValidator.genMuonCut = "abs(mother.pdgId) == 24" +# process.hltMuonValidator.recMuonCut = "isGlobalMuon && eta < 1.2" +############################################################################## + +hltProcessName = "HLT" +process.hltExoticaValidator.hltProcessName = hltProcessName + +process.load("Configuration.StandardSequences.Reconstruction_cff") +process.load("Configuration.StandardSequences.MagneticField_cff") +process.load("Configuration.StandardSequences.Geometry_cff") +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.autoCond import autoCond +process.GlobalTag.globaltag = cms.string(autoCond['startup']) + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(-1) +) + +process.source = cms.Source("PoolSource", + fileNames = cms.untracked.vstring( + #'/store/relval/CMSSW_7_1_0_pre1/RelValZMM_13/GEN-SIM-RECO/POSTLS170_V1-v1/00000/98CCC248-5B86-E311-B20C-02163E00EB5A.root' + #'/store/relval/CMSSW_7_1_0_pre1/RelValADDMonoJet_d3MD3_13/GEN-SIM-RECO/POSTLS170_V1-v1/00000/2C2E143F-2386-E311-9DD8-02163E00E5B2.root' + #'/store/relval/CMSSW_7_1_0_pre1/RelValQCD_Pt_600_800_13/GEN-SIM-RECO/POSTLS170_V1-v1/00000/E6B796C9-3686-E311-B7CF-02163E00EB6E.root' + #'/store/relval/CMSSW_7_1_0_pre1/RelValZpTT_1500_13TeV_Tauola/GEN-SIM-RECO/POSTLS170_V1-v1/00000/0C7325DD-4986-E311-A342-02163E008F41.root' + '/store/relval/CMSSW_7_1_0_pre1/RelValTTbarLepton_13/GEN-SIM-RECO/POSTLS170_V1-v1/00000/6E99FADF-4386-E311-8AB5-02163E008CCC.root', + '/store/relval/CMSSW_7_1_0_pre1/RelValTTbarLepton_13/GEN-SIM-RECO/POSTLS170_V1-v1/00000/82E02E9D-3886-E311-A699-003048D2C0F2.root', + '/store/relval/CMSSW_7_1_0_pre1/RelValTTbarLepton_13/GEN-SIM-RECO/POSTLS170_V1-v1/00000/5CB7C5E7-4B86-E311-9394-02163E00EB64.root') +) + +process.DQMStore = cms.Service("DQMStore") + +process.load("FWCore.MessageLogger.MessageLogger_cfi") +process.MessageLogger.cerr.FwkReport.reportEvery = 1000 +process.MessageLogger.destinations += ['ExoticaValidationMessages'] +process.MessageLogger.categories += ['ExoticaValidation'] +#process.MessageLogger.debugModules += ['HLTExoticaValidator','HLTExoticaSubAnalysis','HLTExoticaPlotter'] +process.MessageLogger.debugModules += ['*'] +process.MessageLogger.ExoticaValidationMessages = cms.untracked.PSet( + threshold = cms.untracked.string('DEBUG'), + default = cms.untracked.PSet(limit = cms.untracked.int32(0)), + ExoticaValidation = cms.untracked.PSet(limit = cms.untracked.int32(1000)) + ) + +process.MessageLogger.categories.extend(["GetManyWithoutRegistration","GetByLabelWithoutRegistration"]) + +_messageSettings = cms.untracked.PSet( + reportEvery = cms.untracked.int32(1), + optionalPSet = cms.untracked.bool(True), + limit = cms.untracked.int32(10000000) + ) + +process.MessageLogger.cerr.GetManyWithoutRegistration = _messageSettings +process.MessageLogger.cerr.GetByLabelWithoutRegistration = _messageSettings + +process.out = cms.OutputModule("PoolOutputModule", + outputCommands = cms.untracked.vstring( + 'drop *', + 'keep *_MEtoEDMConverter_*_HLTExoticaOfflineAnalysis'), + fileName = cms.untracked.string('hltExoticaValidator.root') +) + + +process.analyzerpath = cms.Path( + process.ExoticaValidationSequence + + process.MEtoEDMConverter +) + + +process.outpath = cms.EndPath(process.out) diff --git a/HLTriggerOffline/Exotica/test/saveDQMHistograms.C b/HLTriggerOffline/Exotica/test/saveDQMHistograms.C new file mode 100644 index 0000000000000..b2748c4ee099d --- /dev/null +++ b/HLTriggerOffline/Exotica/test/saveDQMHistograms.C @@ -0,0 +1,162 @@ +/// saveDQMHistograms.C +/// This is a simple macro to make plots of the histograms +/// produced by the hltExoticaPostProcessor_cfg.py file +/// Author: Thiago R. F. P. Tomei + +#include "TFile.h" +#include "TH1.h" +#include "TString.h" +#include "TCanvas.h" +#include "TStyle.h" +#include "TKey.h" +#include "TList.h" +#include "TSystem.h" + +// ******************************************* +// Variables + +TString drawOptions1D(""); // Drawing options for + // 1D histograms. +TString drawOptions2D("box");// Drawing options for + // 2D histograms. + +int lineColor = 1; // 1 = Black, 2 = Red, 3 = Green, 4 = Blue +int lineWidth = 2; // Line width for 1D histograms. +int rebinFactor = 1; // Rebinning factor + +double histoxmin = 0.0; +double histoxmax = 1.2; +double titleSize = 0.03; +double titleOffset = 1.5; + +Bool_t displayStatsBox = 0; // 0 = false, 1 = true +Bool_t autoLogYaxis = 0; +Bool_t forceLogYaxis = 0; + +// End of Variables +// ******************************************* + +void saveDQMHistograms(const TString fileName="histos.root", + TString imageType="pdf", + double outputWidth=600, + double outputHeight=600) +{ + TString outputFolder = fileName; + TFile* fin = new TFile(fileName.Data()) ; + + TCanvas* canvasDefault; + TString outputType = "."+imageType; + TH1* h = 0; + + if (!fin->IsOpen()) { + printf(" Cannot open input file %s\n",fileName.Data()) ; + exit(1) ; + } + + outputFolder = fileName+"/"; // Blank to use current directory, + // or, for a specific dir type + // something like "images/" + outputFolder.ReplaceAll(".root",""); + outputFolder.ReplaceAll("__","_"); // Just a bit of cleanup here + gSystem->MakeDirectory(outputFolder); + + canvasDefault = new TCanvas("canvasDefault","testCanvas",outputWidth,outputHeight); + canvasDefault->SetGridx(); + canvasDefault->SetGridy(); + + // Change settings on plotting histograms + gStyle->SetOptStat(111111); // This will cause overflow and underflow to be shown + gStyle->SetHistLineWidth(lineWidth); + gStyle->SetHistLineColor(lineColor); + gStyle->SetTitleSize(titleSize,"X"); + gStyle->SetTitleSize(titleSize,"Y"); + gStyle->SetTitleXOffset(titleOffset); + gStyle->SetTitleYOffset(titleOffset); + + // FIXME - this should also be configurable... right? + fin->cd("DQMData/Run 1/HLT/Run summary/Exotica"); + TDirectory* baseDir = gDirectory; + TDirectory* subDir; + + TList* thelist = baseDir->GetListOfKeys() ; + if (!thelist) { printf(" No keys found in file\n") ; exit(1) ; } + + TIter next(thelist) ; + TKey* key ; + TObject* obj ; + + while ( (key = (TKey*)next()) ) { + obj = key->ReadObj() ; + printf("%s\n",obj->IsA()->GetName()); + + if (strcmp(obj->IsA()->GetName(),"TDirectoryFile")==0) { + + // Okay, it is a directory, let's make a subfolder + // and them loop over it + printf(" Found subdirectory %s\n",obj->GetName()) ; + TString path = outputFolder+"/"+obj->GetName(); + gSystem->MakeDirectory(outputFolder+"/"+obj->GetName()); + subDir = (TDirectory*)obj; + TList* thesublist = subDir->GetListOfKeys() ; + TIter subnext(thesublist) ; + + while ( (key = (TKey*)subnext()) ) { + obj = key->ReadObj(); + + if ( (strcmp(obj->IsA()->GetName(),"TProfile")==0) + || (!obj->InheritsFrom("TH2")) + || (!obj->InheritsFrom("TH1")) + ) { + + // Okay, it is a histogram, let's draw it + printf("Histo name:%s title:%s\n",obj->GetName(),obj->GetTitle()); + h = (TH1*)obj; + + // But only if it is an efficiency + TString histName = h->GetName(); + if(!histName.Contains("Eff")) continue; + + h->SetStats(displayStatsBox); + if(rebinFactor!=1) + h->Rebin(rebinFactor); + + //////////////////////////////////////////////////////// + // A trick to see if we want logscale in y-axis or not + if (autoLogYaxis) { + Double_t testYvalue = h->GetMaximum(); + //cout << testYvalue << endl; + + if (testYvalue > 1.0) { + Double_t maxy = log10(testYvalue); + Double_t miny = log10(h->GetMinimum(1.0)); + + // log scale if more than 2 powers of 10 between low and high bins + if ( (maxy-miny) > 2.0 ) { + canvasDefault->SetLogy(1); + } + } + } + + // or, alternatively, do it unconditionally. + if (forceLogYaxis) { + canvasDefault->SetLogy(1); + } + // End of log or no-log y axis decision + //////////////////////////////////////////////////////// + + h->Draw(drawOptions1D); + h->GetYaxis()->SetRangeUser(histoxmin, histoxmax); + canvasDefault->Modified(); + canvasDefault->Update(); + + canvasDefault->Print(path+"/"+histName+outputType); + canvasDefault->SetLogy(0); // reset to no-log - prevents errors + + } // Closes "if is a histogram" conditional + } // Closes loop in keys of subdir + + } // Closes "if is a subdir" conditional + } // Closes loop in base dir + + fin->Close(); +} diff --git a/Validation/RecoEgamma/plugins/TkConvValidator.h b/Validation/RecoEgamma/plugins/TkConvValidator.h index 7056729e051a0..36d88e88facd4 100644 --- a/Validation/RecoEgamma/plugins/TkConvValidator.h +++ b/Validation/RecoEgamma/plugins/TkConvValidator.h @@ -48,7 +48,7 @@ class SimTrack; ***/ -class TkConvValidator : public DQMEDAnalyzer +class TkConvValidator : public thread_unsafe::DQMEDAnalyzer { public: diff --git a/Validation/RecoTrack/interface/SiPixelTrackingRecHitsValid.h b/Validation/RecoTrack/interface/SiPixelTrackingRecHitsValid.h index 1d8f00e661fef..5999b3efa6877 100644 --- a/Validation/RecoTrack/interface/SiPixelTrackingRecHitsValid.h +++ b/Validation/RecoTrack/interface/SiPixelTrackingRecHitsValid.h @@ -13,6 +13,7 @@ #include "DQMServices/Core/interface/DQMStore.h" #include "DQMServices/Core/interface/MonitorElement.h" #include "FWCore/ServiceRegistry/interface/Service.h" +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" @@ -66,7 +67,7 @@ class TTree; class TFile; -class SiPixelTrackingRecHitsValid : public edm::EDAnalyzer +class SiPixelTrackingRecHitsValid : public DQMEDAnalyzer { public: @@ -75,6 +76,7 @@ class SiPixelTrackingRecHitsValid : public edm::EDAnalyzer virtual ~SiPixelTrackingRecHitsValid(); virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es); virtual void beginJob(); virtual void endJob(); @@ -86,6 +88,7 @@ class SiPixelTrackingRecHitsValid : public edm::EDAnalyzer edm::ParameterSet conf_; //TrackLocalAngle *anglefinder_; DQMStore* dbe_; + bool runStandalone; std::string outputFile_; std::string debugNtuple_; std::string builderName_; diff --git a/Validation/RecoTrack/interface/SiStripTrackingRecHitsValid.h b/Validation/RecoTrack/interface/SiStripTrackingRecHitsValid.h index bd2473b21f850..031727cb32426 100644 --- a/Validation/RecoTrack/interface/SiStripTrackingRecHitsValid.h +++ b/Validation/RecoTrack/interface/SiStripTrackingRecHitsValid.h @@ -5,7 +5,7 @@ #include "DQMServices/Core/interface/DQMStore.h" #include "DQMServices/Core/interface/MonitorElement.h" #include "FWCore/ServiceRegistry/interface/Service.h" - +#include #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" @@ -72,7 +72,7 @@ class SiStripDetCabling; class SiStripDCSStatus; -class SiStripTrackingRecHitsValid : public edm::EDAnalyzer +class SiStripTrackingRecHitsValid : public thread_unsafe::DQMEDAnalyzer { public: @@ -253,15 +253,18 @@ class SiStripTrackingRecHitsValid : public edm::EDAnalyzer protected: virtual void analyze(const edm::Event& e, const edm::EventSetup& c); - void beginJob(const edm::EventSetup& es); - virtual void beginRun(const edm::Run&, const edm::EventSetup&); + void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es); const MagneticField * magfield2_ ; + void beginJob(const edm::EventSetup& es); void endJob(); private: DQMStore* dbe_; - std::string outputFile_; + bool runStandalone; + bool outputMEsInRootFile; + std::string outputFileName; + std::string topFolderName_; @@ -403,13 +406,13 @@ class SiStripTrackingRecHitsValid : public edm::EDAnalyzer MonitorElement* Fit_SliceY(TH2F * Histo2D); - void createMEs(const edm::EventSetup& es); - void createSimpleHitsMEs(); - void createLayerMEs(std::string label); - void createStereoAndMatchedMEs(std::string label); + void createMEs(DQMStore::IBooker & ibooker,const edm::EventSetup& es); + void createSimpleHitsMEs(DQMStore::IBooker & ibooker); + void createLayerMEs(DQMStore::IBooker & ibooker,std::string label); + void createStereoAndMatchedMEs(DQMStore::IBooker & ibooker,std::string label); - MonitorElement* bookME1D(const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle); - MonitorElement* bookMEProfile(const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle); + MonitorElement* bookME1D(DQMStore::IBooker & ibooker,const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle); + MonitorElement* bookMEProfile(DQMStore::IBooker & ibooker,const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle); inline void fillME(MonitorElement* ME,float value1){if (ME!=0)ME->Fill(value1);} inline void fillME(MonitorElement* ME,float value1,float value2){if (ME!=0)ME->Fill(value1,value2);} diff --git a/Validation/RecoTrack/plugins/SiPixelTrackingRecHitsValid.cc b/Validation/RecoTrack/plugins/SiPixelTrackingRecHitsValid.cc index 194628a0f9cfe..485f54696b694 100644 --- a/Validation/RecoTrack/plugins/SiPixelTrackingRecHitsValid.cc +++ b/Validation/RecoTrack/plugins/SiPixelTrackingRecHitsValid.cc @@ -113,6 +113,7 @@ SiPixelTrackingRecHitsValid::SiPixelTrackingRecHitsValid(const edm::ParameterSet { //Read config file MTCCtrack_ = ps.getParameter("MTCCtrack"); + runStandalone = ps.getParameter("runStandalone"); outputFile_ = ps.getUntrackedParameter("outputFile", "pixeltrackingrechitshisto.root"); siPixelRecHitCollectionToken_ = consumes( edm::InputTag( "siPixelRecHits" ) ); recoTrackCollectionToken_ = consumes( edm::InputTag( ps.getUntrackedParameter( "src" ) ) ); @@ -120,7 +121,10 @@ SiPixelTrackingRecHitsValid::SiPixelTrackingRecHitsValid(const edm::ParameterSet checkType_ = ps.getParameter("checkType"); genType_ = ps.getParameter("genType"); debugNtuple_=ps.getUntrackedParameter("debugNtuple", "SiPixelTrackingRecHitsValid_Ntuple.root"); +} +void SiPixelTrackingRecHitsValid::bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es){ + // Book histograms dbe_ = edm::Service().operator->(); //dbe_->showDirStructure(); @@ -209,7 +213,7 @@ SiPixelTrackingRecHitsValid::SiPixelTrackingRecHitsValid(const edm::ParameterSet float forward_chargel = 0.0; float forward_chargeh = 100000.0; - dbe_->setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_per_ring-layer_or_disk-plaquette"); + ibooker.setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_per_ring-layer_or_disk-plaquette"); // Pixel barrel has 3 layers and 8 rings; book a histogram for each module given by the (layer, ring) pair for (int i=0; i<3 ; i++) // loop over layers @@ -217,95 +221,95 @@ SiPixelTrackingRecHitsValid::SiPixelTrackingRecHitsValid(const edm::ParameterSet Char_t chisto[100]; sprintf(chisto, "meResxBarrelLayer_%d", i+1); - meResxBarrelLayer[i] = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyBarrelLayer_%d", i+1); - meResyBarrelLayer[i] = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxBarrelLayer_%d", i+1); - mePullxBarrelLayer[i] = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyBarrelLayer_%d", i+1); - mePullyBarrelLayer[i] = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meResXvsAlphaBarrelFlippedLaddersLayer_%d", i+1); - meResXvsAlphaBarrelFlippedLaddersLayer[i] = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); + meResXvsAlphaBarrelFlippedLaddersLayer[i] = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaBarrelFlippedLaddersLayer_%d", i+1); - meResYvsAlphaBarrelFlippedLaddersLayer[i] = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); + meResYvsAlphaBarrelFlippedLaddersLayer[i] = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaBarrelFlippedLaddersLayer_%d", i+1); - meResXvsBetaBarrelFlippedLaddersLayer[i] = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); + meResXvsBetaBarrelFlippedLaddersLayer[i] = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaBarrelFlippedLaddersLayer_%d", i+1); - meResYvsBetaBarrelFlippedLaddersLayer[i] = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); + meResYvsBetaBarrelFlippedLaddersLayer[i] = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsAlphaBarrelNonFlippedLaddersLayer_%d", i+1); meResXvsAlphaBarrelNonFlippedLaddersLayer[i] - = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaBarrelNonFlippedLaddersLayer_%d", i+1); meResYvsAlphaBarrelNonFlippedLaddersLayer[i] - = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaBarrelNonFlippedLaddersLayer_%d", i+1); meResXvsBetaBarrelNonFlippedLaddersLayer[i] - = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaBarrelNonFlippedLaddersLayer_%d", i+1); meResYvsBetaBarrelNonFlippedLaddersLayer[i] - = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); for (int j=0; j<8; j++) // loop over rings { sprintf(chisto, "mePosxBarrelLayerModule_%d_%d", i+1, j+1); - mePosxBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyBarrelLayerModule_%d_%d", i+1, j+1); - mePosyBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxBarrelLayerModule_%d_%d", i+1, j+1); - meErrxBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryBarrelLayerModule_%d_%d", i+1, j+1); - meErryBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxBarrelLayerModule_%d_%d", i+1, j+1); - meResxBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyBarrelLayerModule_%d_%d", i+1, j+1); - meResyBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxBarrelLayerModule_%d_%d", i+1, j+1); - mePullxBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyBarrelLayerModule_%d_%d", i+1, j+1); - mePullyBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixBarrelLayerModule_%d_%d", i+1, j+1); - meNpixBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixBarrelLayerModule_%d_%d", i+1, j+1); - meNxpixBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixBarrelLayerModule_%d_%d", i+1, j+1); - meNypixBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeBarrelLayerModule_%d_%d", i+1, j+1); - meChargeBarrelLayerModule[i][j] = dbe_->book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh); + meChargeBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh); sprintf(chisto, "meResXvsAlphaBarrelLayerModule_%d_%d", i+1, j+1); - meResXvsAlphaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); + meResXvsAlphaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaBarrelLayerModule_%d_%d", i+1, j+1); - meResYvsAlphaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); + meResYvsAlphaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaBarrelLayerModule_%d_%d", i+1, j+1); - meResXvsBetaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); + meResXvsBetaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaBarrelLayerModule_%d_%d", i+1, j+1); - meResYvsBetaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); + meResYvsBetaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaBarrelLayerModule_%d_%d", i+1, j+1); - mePullXvsAlphaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, + mePullXvsAlphaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsAlphaBarrelLayerModule_%d_%d", i+1, j+1); - mePullYvsAlphaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, + mePullYvsAlphaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsBetaBarrelLayerModule_%d_%d", i+1, j+1); - mePullXvsBetaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, + mePullXvsBetaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsBetaBarrelLayerModule_%d_%d", i+1, j+1); - mePullYvsBetaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, + mePullYvsBetaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsPhiBarrelLayerModule_%d_%d", i+1, j+1); - mePullXvsPhiBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, + mePullXvsPhiBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsPhiBarrelLayerModule_%d_%d", i+1, j+1); - mePullYvsPhiBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, + mePullYvsPhiBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsEtaBarrelLayerModule_%d_%d", i+1, j+1); - mePullXvsEtaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, + mePullXvsEtaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsEtaBarrelLayerModule_%d_%d", i+1, j+1); - mePullYvsEtaBarrelLayerModule[i][j] = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, + mePullYvsEtaBarrelLayerModule[i][j] = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, ""); } // for (int j=0; j<8; j++) // loop over rings @@ -323,744 +327,745 @@ SiPixelTrackingRecHitsValid::SiPixelTrackingRecHitsValid(const edm::ParameterSet Char_t chisto[100]; sprintf(chisto, "mePosxZmPanel1DiskPlaq_%d_%d", i+1, j+1); - mePosxZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZmPanel1DiskPlaq_%d_%d", i+1, j+1); - mePosyZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxZmPanel1DiskPlaq_%d_%d", i+1, j+1); - meErrxZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryZmPanel1DiskPlaq_%d_%d", i+1, j+1); - meErryZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxZmPanel1DiskPlaq_%d_%d", i+1, j+1); - meResxZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyZmPanel1DiskPlaq_%d_%d", i+1, j+1); - meResyZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxZmPanel1DiskPlaq_%d_%d", i+1, j+1); - mePullxZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyZmPanel1DiskPlaq_%d_%d", i+1, j+1); - mePullyZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixZmPanel1DiskPlaq_%d_%d", i+1, j+1); - meNpixZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixZmPanel1DiskPlaq_%d_%d", i+1, j+1); - meNxpixZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixZmPanel1DiskPlaq_%d_%d", i+1, j+1); - meNypixZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeZmPanel1DiskPlaq_%d_%d", i+1, j+1); - meChargeZmPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); + meChargeZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); sprintf(chisto, "meResXvsAlphaZmPanel1DiskPlaq_%d_%d", i+1, j+1); meResXvsAlphaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaZmPanel1DiskPlaq_%d_%d", i+1, j+1); meResYvsAlphaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaZmPanel1DiskPlaq_%d_%d", i+1, j+1); meResXvsBetaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaZmPanel1DiskPlaq_%d_%d", i+1, j+1); meResYvsBetaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaZmPanel1DiskPlaq_%d_%d", i+1, j+1); mePullXvsAlphaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsAlphaZmPanel1DiskPlaq_%d_%d", i+1, j+1); mePullYvsAlphaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsBetaZmPanel1DiskPlaq_%d_%d", i+1, j+1); mePullXvsBetaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsBetaZmPanel1DiskPlaq_%d_%d", i+1, j+1); mePullYvsBetaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsPhiZmPanel1DiskPlaq_%d_%d", i+1, j+1); mePullXvsPhiZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsPhiZmPanel1DiskPlaq_%d_%d", i+1, j+1); mePullYvsPhiZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsEtaZmPanel1DiskPlaq_%d_%d", i+1, j+1); mePullXvsEtaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsEtaZmPanel1DiskPlaq_%d_%d", i+1, j+1); mePullYvsEtaZmPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl,pullyh, ""); sprintf(chisto, "mePosxZpPanel1DiskPlaq_%d_%d", i+1, j+1); - mePosxZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZpPanel1DiskPlaq_%d_%d", i+1, j+1); - mePosyZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxZpPanel1DiskPlaq_%d_%d", i+1, j+1); - meErrxZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryZpPanel1DiskPlaq_%d_%d", i+1, j+1); - meErryZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxZpPanel1DiskPlaq_%d_%d", i+1, j+1); - meResxZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyZpPanel1DiskPlaq_%d_%d", i+1, j+1); - meResyZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxZpPanel1DiskPlaq_%d_%d", i+1, j+1); - mePullxZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyZpPanel1DiskPlaq_%d_%d", i+1, j+1); - mePullyZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixZpPanel1DiskPlaq_%d_%d", i+1, j+1); - meNpixZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixZpPanel1DiskPlaq_%d_%d", i+1, j+1); - meNxpixZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixZpPanel1DiskPlaq_%d_%d", i+1, j+1); - meNypixZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeZpPanel1DiskPlaq_%d_%d", i+1, j+1); - meChargeZpPanel1DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); + meChargeZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); sprintf(chisto, "meResXvsAlphaZpPanel1DiskPlaq_%d_%d", i+1, j+1); meResXvsAlphaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaZpPanel1DiskPlaq_%d_%d", i+1, j+1); meResYvsAlphaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaZpPanel1DiskPlaq_%d_%d", i+1, j+1); meResXvsBetaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaZpPanel1DiskPlaq_%d_%d", i+1, j+1); meResYvsBetaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaZpPanel1DiskPlaq_%d_%d", i+1, j+1); mePullXvsAlphaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsAlphaZpPanel1DiskPlaq_%d_%d", i+1, j+1); mePullYvsAlphaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsBetaZpPanel1DiskPlaq_%d_%d", i+1, j+1); mePullXvsBetaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsBetaZpPanel1DiskPlaq_%d_%d", i+1, j+1); mePullYvsBetaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsPhiZpPanel1DiskPlaq_%d_%d", i+1, j+1); mePullXvsPhiZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsPhiZpPanel1DiskPlaq_%d_%d", i+1, j+1); mePullYvsPhiZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsEtaZpPanel1DiskPlaq_%d_%d", i+1, j+1); mePullXvsEtaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsEtaZpPanel1DiskPlaq_%d_%d", i+1, j+1); mePullYvsEtaZpPanel1DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl,pullyh, ""); if ( j>2 ) continue; // panel 2 has only 3 plaquettes sprintf(chisto, "mePosxZmPanel2DiskPlaq_%d_%d", i+1, j+1); - mePosxZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZmPanel2DiskPlaq_%d_%d", i+1, j+1); - mePosyZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxZmPanel2DiskPlaq_%d_%d", i+1, j+1); - meErrxZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryZmPanel2DiskPlaq_%d_%d", i+1, j+1); - meErryZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxZmPanel2DiskPlaq_%d_%d", i+1, j+1); - meResxZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyZmPanel2DiskPlaq_%d_%d", i+1, j+1); - meResyZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxZmPanel2DiskPlaq_%d_%d", i+1, j+1); - mePullxZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyZmPanel2DiskPlaq_%d_%d", i+1, j+1); - mePullyZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixZmPanel2DiskPlaq_%d_%d", i+1, j+1); - meNpixZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixZmPanel2DiskPlaq_%d_%d", i+1, j+1); - meNxpixZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixZmPanel2DiskPlaq_%d_%d", i+1, j+1); - meNypixZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeZmPanel2DiskPlaq_%d_%d", i+1, j+1); - meChargeZmPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); + meChargeZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); sprintf(chisto, "meResXvsAlphaZmPanel2DiskPlaq_%d_%d", i+1, j+1); meResXvsAlphaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaZmPanel2DiskPlaq_%d_%d", i+1, j+1); meResYvsAlphaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaZmPanel2DiskPlaq_%d_%d", i+1, j+1); meResXvsBetaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaZmPanel2DiskPlaq_%d_%d", i+1, j+1); meResYvsBetaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaZmPanel2DiskPlaq_%d_%d", i+1, j+1); mePullXvsAlphaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsAlphaZmPanel2DiskPlaq_%d_%d", i+1, j+1); mePullYvsAlphaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsBetaZmPanel2DiskPlaq_%d_%d", i+1, j+1); mePullXvsBetaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsBetaZmPanel2DiskPlaq_%d_%d", i+1, j+1); mePullYvsBetaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsPhiZmPanel2DiskPlaq_%d_%d", i+1, j+1); mePullXvsPhiZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsPhiZmPanel2DiskPlaq_%d_%d", i+1, j+1); mePullYvsPhiZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsEtaZmPanel2DiskPlaq_%d_%d", i+1, j+1); mePullXvsEtaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsEtaZmPanel2DiskPlaq_%d_%d", i+1, j+1); mePullYvsEtaZmPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePosxZpPanel2DiskPlaq_%d_%d", i+1, j+1); - mePosxZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZpPanel2DiskPlaq_%d_%d", i+1, j+1); - mePosyZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxZpPanel2DiskPlaq_%d_%d", i+1, j+1); - meErrxZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryZpPanel2DiskPlaq_%d_%d", i+1, j+1); - meErryZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxZpPanel2DiskPlaq_%d_%d", i+1, j+1); - meResxZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyZpPanel2DiskPlaq_%d_%d", i+1, j+1); - meResyZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxZpPanel2DiskPlaq_%d_%d", i+1, j+1); - mePullxZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyZpPanel2DiskPlaq_%d_%d", i+1, j+1); - mePullyZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixZpPanel2DiskPlaq_%d_%d", i+1, j+1); - meNpixZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixZpPanel2DiskPlaq_%d_%d", i+1, j+1); - meNxpixZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixZpPanel2DiskPlaq_%d_%d", i+1, j+1); - meNypixZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeZpPanel2DiskPlaq_%d_%d", i+1, j+1); - meChargeZpPanel2DiskPlaq[i][j] = dbe_->book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); + meChargeZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); sprintf(chisto, "meResXvsAlphaZpPanel2DiskPlaq_%d_%d", i+1, j+1); meResXvsAlphaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaZpPanel2DiskPlaq_%d_%d", i+1, j+1); meResYvsAlphaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaZpPanel2DiskPlaq_%d_%d", i+1, j+1); meResXvsBetaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaZpPanel2DiskPlaq_%d_%d", i+1, j+1); meResYvsBetaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaZpPanel2DiskPlaq_%d_%d", i+1, j+1); mePullXvsAlphaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsAlphaZpPanel2DiskPlaq_%d_%d", i+1, j+1); mePullYvsAlphaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsBetaZpPanel2DiskPlaq_%d_%d", i+1, j+1); mePullXvsBetaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsBetaZpPanel2DiskPlaq_%d_%d", i+1, j+1); mePullYvsBetaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsPhiZpPanel2DiskPlaq_%d_%d", i+1, j+1); mePullXvsPhiZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsPhiZpPanel2DiskPlaq_%d_%d", i+1, j+1); mePullYvsPhiZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl,pullyh, ""); sprintf(chisto, "mePullXvsEtaZpPanel2DiskPlaq_%d_%d", i+1, j+1); mePullXvsEtaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl,pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl,pullxh, ""); sprintf(chisto, "mePullYvsEtaZpPanel2DiskPlaq_%d_%d", i+1, j+1); mePullYvsEtaZpPanel2DiskPlaq[i][j] - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl,pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl,pullyh, ""); } // for (int j=0; j<4; j++) // loop over plaquettes - dbe_->setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_all"); + ibooker.setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_all"); Char_t chisto[100]; sprintf(chisto, "mePosxBarrel"); - mePosxBarrel = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxBarrel = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyBarrel"); - mePosyBarrel = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyBarrel = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxBarrel"); - meErrxBarrel = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxBarrel = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryBarrel"); - meErryBarrel = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryBarrel = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxBarrel"); - meResxBarrel = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxBarrel = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyBarrel"); - meResyBarrel = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyBarrel = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxBarrel"); - mePullxBarrel = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxBarrel = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyBarrel"); - mePullyBarrel = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyBarrel = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixBarrel"); - meNpixBarrel = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixBarrel = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixBarrel"); - meNxpixBarrel = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixBarrel = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixBarrel"); - meNypixBarrel = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixBarrel = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeBarrel"); - meChargeBarrel = dbe_->book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh); + meChargeBarrel = ibooker.book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh); sprintf(chisto, "meResXvsAlphaBarrel"); - meResXvsAlphaBarrel = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); + meResXvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaBarrel"); - meResYvsAlphaBarrel = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); + meResYvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaBarrel"); - meResXvsBetaBarrel = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); + meResXvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaBarrel"); - meResYvsBetaBarrel = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); + meResYvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaBarrel"); - mePullXvsAlphaBarrel = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); + mePullXvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsAlphaBarrel"); - mePullYvsAlphaBarrel = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); + mePullYvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsBetaBarrel"); - mePullXvsBetaBarrel = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); + mePullXvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsBetaBarrel"); - mePullYvsBetaBarrel = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); + mePullYvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsPhiBarrel"); - mePullXvsPhiBarrel = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, ""); + mePullXvsPhiBarrel = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsPhiBarrel"); - mePullYvsPhiBarrel = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, ""); + mePullYvsPhiBarrel = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsEtaBarrel"); - mePullXvsEtaBarrel = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, ""); + mePullXvsEtaBarrel = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsEtaBarrel"); - mePullYvsEtaBarrel = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, ""); + mePullYvsEtaBarrel = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePosxBarrelHalfModule"); - mePosxBarrelHalfModule = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxBarrelHalfModule = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosxBarrelFullModule"); - mePosxBarrelFullModule = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxBarrelFullModule = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosxBarrelFlippedLadders"); - mePosxBarrelFlippedLadders = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxBarrelFlippedLadders = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosxBarrelNonFlippedLadders"); - mePosxBarrelNonFlippedLadders = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxBarrelNonFlippedLadders = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyBarrelHalfModule"); - mePosyBarrelHalfModule = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyBarrelHalfModule = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "mePosyBarrelFullModule"); - mePosyBarrelFullModule = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyBarrelFullModule = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "mePosyBarrelFlippedLadders"); - mePosyBarrelFlippedLadders = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyBarrelFlippedLadders = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "mePosyBarrelNonFlippedLadders"); - mePosyBarrelNonFlippedLadders = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyBarrelNonFlippedLadders = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meResXvsAlphaBarrelFlippedLadders"); - meResXvsAlphaBarrelFlippedLadders = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); + meResXvsAlphaBarrelFlippedLadders = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaBarrelFlippedLadders"); - meResYvsAlphaBarrelFlippedLadders = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); + meResYvsAlphaBarrelFlippedLadders = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaBarrelFlippedLadders"); - meResXvsBetaBarrelFlippedLadders = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); + meResXvsBetaBarrelFlippedLadders = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaBarrelFlippedLadders"); - meResYvsBetaBarrelFlippedLadders = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); + meResYvsBetaBarrelFlippedLadders = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaBarrelFlippedLadders"); mePullXvsAlphaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsAlphaBarrelFlippedLadders"); mePullYvsAlphaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsBetaBarrelFlippedLadders"); mePullXvsBetaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsBetaBarrelFlippedLadders"); mePullYvsBetaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsPhiBarrelFlippedLadders"); mePullXvsPhiBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsPhiBarrelFlippedLadders"); mePullYvsPhiBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsEtaBarrelFlippedLadders"); mePullXvsEtaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsEtaBarrelFlippedLadders"); mePullYvsEtaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsAlphaBarrelFlippedLadders"); meWPullXvsAlphaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsAlphaBarrelFlippedLadders"); meWPullYvsAlphaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsBetaBarrelFlippedLadders"); meWPullXvsBetaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsBetaBarrelFlippedLadders"); meWPullYvsBetaBarrelFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "meResXvsAlphaBarrelNonFlippedLadders"); - meResXvsAlphaBarrelNonFlippedLadders = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); + meResXvsAlphaBarrelNonFlippedLadders = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaBarrelNonFlippedLadders"); - meResYvsAlphaBarrelNonFlippedLadders = dbe_->bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); + meResYvsAlphaBarrelNonFlippedLadders = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaBarrelNonFlippedLadders"); - meResXvsBetaBarrelNonFlippedLadders = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); + meResXvsBetaBarrelNonFlippedLadders = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaBarrelNonFlippedLadders"); - meResYvsBetaBarrelNonFlippedLadders = dbe_->bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); + meResYvsBetaBarrelNonFlippedLadders = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaBarrelNonFlippedLadders"); mePullXvsAlphaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsAlphaBarrelNonFlippedLadders"); mePullYvsAlphaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsBetaBarrelNonFlippedLadders"); mePullXvsBetaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsBetaBarrelNonFlippedLadders"); mePullYvsBetaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsPhiBarrelNonFlippedLadders"); mePullXvsPhiBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsPhiBarrelNonFlippedLadders"); mePullYvsPhiBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsEtaBarrelNonFlippedLadders"); mePullXvsEtaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsEtaBarrelNonFlippedLadders"); mePullYvsEtaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsAlphaBarrelNonFlippedLadders"); meWPullXvsAlphaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsAlphaBarrelNonFlippedLadders"); meWPullYvsAlphaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsBetaBarrelNonFlippedLadders"); meWPullXvsBetaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsBetaBarrelNonFlippedLadders"); meWPullYvsBetaBarrelNonFlippedLadders - = dbe_->bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePosxZmPanel1"); - mePosxZmPanel1 = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZmPanel1 = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZmPanel1"); - mePosyZmPanel1 = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZmPanel1 = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxZmPanel1"); - meErrxZmPanel1 = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxZmPanel1 = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryZmPanel1"); - meErryZmPanel1 = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryZmPanel1 = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxZmPanel1"); - meResxZmPanel1 = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxZmPanel1 = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyZmPanel1"); - meResyZmPanel1 = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyZmPanel1 = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxZmPanel1"); - mePullxZmPanel1 = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxZmPanel1 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyZmPanel1"); - mePullyZmPanel1 = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyZmPanel1 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixZmPanel1"); - meNpixZmPanel1 = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixZmPanel1 = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixZmPanel1"); - meNxpixZmPanel1 = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixZmPanel1 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixZmPanel1"); - meNypixZmPanel1 = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixZmPanel1 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeZmPanel1"); - meChargeZmPanel1 = dbe_->book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); + meChargeZmPanel1 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); sprintf(chisto, "meResXvsAlphaZmPanel1"); - meResXvsAlphaZmPanel1 = dbe_->bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, ""); + meResXvsAlphaZmPanel1 = ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaZmPanel1"); - meResYvsAlphaZmPanel1 = dbe_->bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, ""); + meResYvsAlphaZmPanel1 = ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaZmPanel1"); - meResXvsBetaZmPanel1 = dbe_->bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, ""); + meResXvsBetaZmPanel1 = ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaZmPanel1"); - meResYvsBetaZmPanel1 = dbe_->bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, ""); + meResYvsBetaZmPanel1 = ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaZmPanel1"); mePullXvsAlphaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsAlphaZmPanel1"); mePullYvsAlphaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsBetaZmPanel1"); mePullXvsBetaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsBetaZmPanel1"); mePullYvsBetaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsPhiZmPanel1"); mePullXvsPhiZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsPhiZmPanel1"); mePullYvsPhiZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsEtaZmPanel1"); mePullXvsEtaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsEtaZmPanel1"); mePullYvsEtaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsAlphaZmPanel1"); meWPullXvsAlphaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsAlphaZmPanel1"); meWPullYvsAlphaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsBetaZmPanel1"); meWPullXvsBetaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsBetaZmPanel1"); meWPullYvsBetaZmPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePosxZpPanel1"); - mePosxZpPanel1 = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZpPanel1 = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZpPanel1"); - mePosyZpPanel1 = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZpPanel1 = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxZpPanel1"); - meErrxZpPanel1 = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxZpPanel1 = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryZpPanel1"); - meErryZpPanel1 = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryZpPanel1 = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxZpPanel1"); - meResxZpPanel1 = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxZpPanel1 = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyZpPanel1"); - meResyZpPanel1 = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyZpPanel1 = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxZpPanel1"); - mePullxZpPanel1 = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxZpPanel1 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyZpPanel1"); - mePullyZpPanel1 = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyZpPanel1 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixZpPanel1"); - meNpixZpPanel1 = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixZpPanel1 = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixZpPanel1"); - meNxpixZpPanel1 = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixZpPanel1 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixZpPanel1"); - meNypixZpPanel1 = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixZpPanel1 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeZpPanel1"); - meChargeZpPanel1 = dbe_->book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); + meChargeZpPanel1 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); sprintf(chisto, "meResXvsAlphaZpPanel1"); - meResXvsAlphaZpPanel1 = dbe_->bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, ""); + meResXvsAlphaZpPanel1 = ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaZpPanel1"); - meResYvsAlphaZpPanel1 = dbe_->bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, ""); + meResYvsAlphaZpPanel1 = ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaZpPanel1"); - meResXvsBetaZpPanel1 = dbe_->bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, ""); + meResXvsBetaZpPanel1 = ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaZpPanel1"); - meResYvsBetaZpPanel1 = dbe_->bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, ""); + meResYvsBetaZpPanel1 = ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaZpPanel1"); mePullXvsAlphaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsAlphaZpPanel1"); mePullYvsAlphaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsBetaZpPanel1"); mePullXvsBetaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsBetaZpPanel1"); mePullYvsBetaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsPhiZpPanel1"); mePullXvsPhiZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsPhiZpPanel1"); mePullYvsPhiZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsEtaZpPanel1"); mePullXvsEtaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsEtaZpPanel1"); mePullYvsEtaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsAlphaZpPanel1"); meWPullXvsAlphaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsAlphaZpPanel1"); meWPullYvsAlphaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsBetaZpPanel1"); meWPullXvsBetaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsBetaZpPanel1"); meWPullYvsBetaZpPanel1 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePosxZmPanel2"); - mePosxZmPanel2 = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZmPanel2 = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZmPanel2"); - mePosyZmPanel2 = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZmPanel2 = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxZmPanel2"); - meErrxZmPanel2 = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxZmPanel2 = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryZmPanel2"); - meErryZmPanel2 = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryZmPanel2 = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxZmPanel2"); - meResxZmPanel2 = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxZmPanel2 = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyZmPanel2"); - meResyZmPanel2 = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyZmPanel2 = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxZmPanel2"); - mePullxZmPanel2 = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxZmPanel2 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyZmPanel2"); - mePullyZmPanel2 = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyZmPanel2 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixZmPanel2"); - meNpixZmPanel2 = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixZmPanel2 = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixZmPanel2"); - meNxpixZmPanel2 = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixZmPanel2 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixZmPanel2"); - meNypixZmPanel2 = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixZmPanel2 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeZmPanel2"); - meChargeZmPanel2 = dbe_->book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); + meChargeZmPanel2 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); sprintf(chisto, "meResXvsAlphaZmPanel2"); - meResXvsAlphaZmPanel2 = dbe_->bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, ""); + meResXvsAlphaZmPanel2 = ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaZmPanel2"); - meResYvsAlphaZmPanel2 = dbe_->bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, ""); + meResYvsAlphaZmPanel2 = ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaZmPanel2"); - meResXvsBetaZmPanel2 = dbe_->bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, ""); + meResXvsBetaZmPanel2 = ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaZmPanel2"); - meResYvsBetaZmPanel2 = dbe_->bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, ""); + meResYvsBetaZmPanel2 = ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaZmPanel2"); mePullXvsAlphaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsAlphaZmPanel2"); mePullYvsAlphaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsBetaZmPanel2"); mePullXvsBetaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsBetaZmPanel2"); mePullYvsBetaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsPhiZmPanel2"); mePullXvsPhiZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsPhiZmPanel2"); mePullYvsPhiZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsEtaZmPanel2"); mePullXvsEtaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsEtaZmPanel2"); mePullYvsEtaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsAlphaZmPanel2"); meWPullXvsAlphaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsAlphaZmPanel2"); meWPullYvsAlphaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsBetaZmPanel2"); meWPullXvsBetaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsBetaZmPanel2"); meWPullYvsBetaZmPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePosxZpPanel2"); - mePosxZpPanel2 = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZpPanel2 = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZpPanel2"); - mePosyZpPanel2 = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZpPanel2 = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "meErrxZpPanel2"); - meErrxZpPanel2 = dbe_->book1D(chisto, chisto, 100, errxl, errxh); + meErrxZpPanel2 = ibooker.book1D(chisto, chisto, 100, errxl, errxh); sprintf(chisto, "meErryZpPanel2"); - meErryZpPanel2 = dbe_->book1D(chisto, chisto, 100, erryl, erryh); + meErryZpPanel2 = ibooker.book1D(chisto, chisto, 100, erryl, erryh); sprintf(chisto, "meResxZpPanel2"); - meResxZpPanel2 = dbe_->book1D(chisto, chisto, 100, resxl, resxh); + meResxZpPanel2 = ibooker.book1D(chisto, chisto, 100, resxl, resxh); sprintf(chisto, "meResyZpPanel2"); - meResyZpPanel2 = dbe_->book1D(chisto, chisto, 100, resyl, resyh); + meResyZpPanel2 = ibooker.book1D(chisto, chisto, 100, resyl, resyh); sprintf(chisto, "mePullxZpPanel2"); - mePullxZpPanel2 = dbe_->book1D(chisto, chisto, 100, pullxl, pullxh); + mePullxZpPanel2 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh); sprintf(chisto, "mePullyZpPanel2"); - mePullyZpPanel2 = dbe_->book1D(chisto, chisto, 100, pullyl, pullyh); + mePullyZpPanel2 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh); sprintf(chisto, "meNpixZpPanel2"); - meNpixZpPanel2 = dbe_->book1D(chisto, chisto, 100, npixl, npixh); + meNpixZpPanel2 = ibooker.book1D(chisto, chisto, 100, npixl, npixh); sprintf(chisto, "meNxpixZpPanel2"); - meNxpixZpPanel2 = dbe_->book1D(chisto, chisto, 100, nxpixl, nxpixh); + meNxpixZpPanel2 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh); sprintf(chisto, "meNypixZpPanel2"); - meNypixZpPanel2 = dbe_->book1D(chisto, chisto, 100, nypixl, nypixh); + meNypixZpPanel2 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh); sprintf(chisto, "meChargeZpPanel2"); - meChargeZpPanel2 = dbe_->book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); + meChargeZpPanel2 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh); sprintf(chisto, "meResXvsAlphaZpPanel2"); - meResXvsAlphaZpPanel2 = dbe_->bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, ""); + meResXvsAlphaZpPanel2 = ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsAlphaZpPanel2"); - meResYvsAlphaZpPanel2 = dbe_->bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, ""); + meResYvsAlphaZpPanel2 = ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, ""); sprintf(chisto, "meResXvsBetaZpPanel2"); - meResXvsBetaZpPanel2 = dbe_->bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, ""); + meResXvsBetaZpPanel2 = ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, ""); sprintf(chisto, "meResYvsBetaZpPanel2"); - meResYvsBetaZpPanel2 = dbe_->bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, ""); + meResYvsBetaZpPanel2 = ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, ""); sprintf(chisto, "mePullXvsAlphaZpPanel2"); mePullXvsAlphaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsAlphaZpPanel2"); mePullYvsAlphaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsBetaZpPanel2"); mePullXvsBetaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsBetaZpPanel2"); mePullYvsBetaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsPhiZpPanel2"); mePullXvsPhiZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsPhiZpPanel2"); mePullYvsPhiZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, ""); sprintf(chisto, "mePullXvsEtaZpPanel2"); mePullXvsEtaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, ""); sprintf(chisto, "mePullYvsEtaZpPanel2"); mePullYvsEtaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsAlphaZpPanel2"); meWPullXvsAlphaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsAlphaZpPanel2"); meWPullYvsAlphaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, ""); sprintf(chisto, "meWPullXvsBetaZpPanel2"); meWPullXvsBetaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, ""); sprintf(chisto, "meWPullYvsBetaZpPanel2"); meWPullYvsBetaZpPanel2 - = dbe_->bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, ""); + = ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, ""); // all hits (not only from tracks) sprintf(chisto, "mePosxBarrel_all_hits"); - mePosxBarrel_all_hits = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxBarrel_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyBarrel_all_hits"); - mePosyBarrel_all_hits = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyBarrel_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "mePosxZmPanel1_all_hits"); - mePosxZmPanel1_all_hits = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZmPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZmPanel1_all_hits"); - mePosyZmPanel1_all_hits = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZmPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "mePosxZmPanel2_all_hits"); - mePosxZmPanel2_all_hits = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZmPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZmPanel2_all_hits"); - mePosyZmPanel2_all_hits = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZmPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "mePosxZpPanel1_all_hits"); - mePosxZpPanel1_all_hits = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZpPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZpPanel1_all_hits"); - mePosyZpPanel1_all_hits = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZpPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh); sprintf(chisto, "mePosxZpPanel2_all_hits"); - mePosxZpPanel2_all_hits = dbe_->book1D(chisto, chisto, 100, xl, xh); + mePosxZpPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh); sprintf(chisto, "mePosyZpPanel2_all_hits"); - mePosyZpPanel2_all_hits = dbe_->book1D(chisto, chisto, 100, yl, yh); + mePosyZpPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh); // control histograms - meTracksPerEvent = dbe_->book1D("meTracksPerEvent" , "meTracksPerEvent" , 200, 0.0, 200.0); - mePixRecHitsPerTrack = dbe_->book1D("mePixRecHitsPerTrack", "mePixRecHitsPerTrack", 6, 0.0, 6.0); + meTracksPerEvent = ibooker.book1D("meTracksPerEvent" , "meTracksPerEvent" , 200, 0.0, 200.0); + mePixRecHitsPerTrack = ibooker.book1D("mePixRecHitsPerTrack", "mePixRecHitsPerTrack", 6, 0.0, 6.0); } // Virtual destructor needed. SiPixelTrackingRecHitsValid::~SiPixelTrackingRecHitsValid() { - if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); + //save local root file only in standalone mode + if ( runStandalone && outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); } // Functions that gets called by framework every event diff --git a/Validation/RecoTrack/python/SiPixelTrackingRecHitsValid_cfi.py b/Validation/RecoTrack/python/SiPixelTrackingRecHitsValid_cfi.py index 9df0d93fee3a2..2c9ba75488635 100644 --- a/Validation/RecoTrack/python/SiPixelTrackingRecHitsValid_cfi.py +++ b/Validation/RecoTrack/python/SiPixelTrackingRecHitsValid_cfi.py @@ -2,6 +2,7 @@ PixelTrackingRecHitsValid = cms.EDAnalyzer("SiPixelTrackingRecHitsValid", src = cms.untracked.string('generalTracks'), + runStandalone = cms.bool(False), outputFile = cms.untracked.string(''), #debugNtuple = cms.untracked.string('SiPixelTrackingRecHitsValid_Ntuple.root'), debugNtuple = cms.untracked.string(''), diff --git a/Validation/RecoTrack/python/SiStripTrackingRecHitsValid_cfi.py b/Validation/RecoTrack/python/SiStripTrackingRecHitsValid_cfi.py index 8ca64bb6ab42e..4ddb64e29896f 100644 --- a/Validation/RecoTrack/python/SiStripTrackingRecHitsValid_cfi.py +++ b/Validation/RecoTrack/python/SiStripTrackingRecHitsValid_cfi.py @@ -2,6 +2,7 @@ StripTrackingRecHitsValid = cms.EDAnalyzer("SiStripTrackingRecHitsValid", outputFile = cms.string('striptrackingrechitshisto.root'), + runStandalone = cms.bool(False), OutputMEsInRootFile = cms.bool(False), TopFolderName = cms.string('SiStrip/RecHitsValidation/TrackingRecHits'), diff --git a/Validation/RecoTrack/src/SiStripTrackingRecHitsValid.cc b/Validation/RecoTrack/src/SiStripTrackingRecHitsValid.cc index baf49fdb0d1af..c45ad81ce6637 100644 --- a/Validation/RecoTrack/src/SiStripTrackingRecHitsValid.cc +++ b/Validation/RecoTrack/src/SiStripTrackingRecHitsValid.cc @@ -50,6 +50,12 @@ SiStripTrackingRecHitsValid::SiStripTrackingRecHitsValid(const edm::ParameterSet // trajectoryInput_( ps.getParameter("trajectoryInput") ) { topFolderName_ = conf_.getParameter("TopFolderName"); + + runStandalone = conf_.getParameter("runStandalone"); + + outputMEsInRootFile = conf_.getParameter("OutputMEsInRootFile"); + + outputFileName = conf_.getParameter("outputFile"); trajectoryInputToken_ = consumes >( conf_.getParameter("trajectoryInput") ); @@ -422,12 +428,10 @@ SiStripTrackingRecHitsValid::SiStripTrackingRecHitsValid(const edm::ParameterSet } //Destructor -SiStripTrackingRecHitsValid::~SiStripTrackingRecHitsValid() -{ - // if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); +SiStripTrackingRecHitsValid::~SiStripTrackingRecHitsValid(){ } //-------------------------------------------------------------------------------------------- -void SiStripTrackingRecHitsValid::beginRun(const edm::Run& run, const edm::EventSetup& es){ +void SiStripTrackingRecHitsValid::bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es){ unsigned long long cacheID = es.get().cacheIdentifier(); if (m_cacheID_ != cacheID) { @@ -435,7 +439,7 @@ void SiStripTrackingRecHitsValid::beginRun(const edm::Run& run, const edm::Event edm::LogInfo("SiStripRecHitsValid") <<"SiStripRecHitsValid::beginRun: " << " Creating MEs for new Cabling "; - createMEs(es); + createMEs(ibooker,es); } } @@ -446,11 +450,8 @@ void SiStripTrackingRecHitsValid::beginJob(const edm::EventSetup& es){ void SiStripTrackingRecHitsValid::endJob() { - bool outputMEsInRootFile = conf_.getParameter("OutputMEsInRootFile"); - std::string outputFileName = conf_.getParameter("outputFile"); - - // save histos in a file - if(outputMEsInRootFile) dbe_->save(outputFileName); + //Only in standalone mode save local root file + if(runStandalone && outputMEsInRootFile){dbe_->save(outputFileName);} } @@ -1272,7 +1273,7 @@ void SiStripTrackingRecHitsValid::rechitanalysis(TrajectoryStateOnSurface tsos, } //-------------------------------------------------------------------------------------------- -void SiStripTrackingRecHitsValid::createMEs(const edm::EventSetup& es){ +void SiStripTrackingRecHitsValid::createMEs(DQMStore::IBooker & ibooker,const edm::EventSetup& es){ //Retrieve tracker topology from geometry edm::ESHandle tTopoHandle; @@ -1296,7 +1297,7 @@ void SiStripTrackingRecHitsValid::createMEs(const edm::EventSetup& es){ // std::cout << "curfold " << curfold << std::endl; - createSimpleHitsMEs(); + createSimpleHitsMEs(ibooker); // loop over detectors and book MEs edm::LogInfo("SiStripTrackingRecHitsValid|SiStripTrackingRecHitsValid")<<"nr. of activeDets: "<::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label); @@ -1381,7 +1382,7 @@ void SiStripTrackingRecHitsValid::createMEs(const edm::EventSetup& es){ // folder_organizer.getLayerFolderName(ss1, detid, tTopo, true); // std::cout << "Folder Name stereo " << ss1.str().c_str() << std::endl; //Create the Monitor Elements only when we have a stereo module - createStereoAndMatchedMEs(label); + createStereoAndMatchedMEs(ibooker,label); } } @@ -1389,7 +1390,7 @@ void SiStripTrackingRecHitsValid::createMEs(const edm::EventSetup& es){ }//end of loop over detectors } //------------------------------------------------------------------------------------------ -void SiStripTrackingRecHitsValid::createSimpleHitsMEs() +void SiStripTrackingRecHitsValid::createSimpleHitsMEs(DQMStore::IBooker & ibooker) { simplehitsMEs.meCategory = 0; simplehitsMEs.meTrackwidth = 0; @@ -1426,142 +1427,142 @@ void SiStripTrackingRecHitsValid::createSimpleHitsMEs() if(layerswitchResolx_LF) { - simplehitsMEs.meResolxLF = bookME1D("TH1Resolx_LF", "TH1Resolx_LF" ,"RecHit resol(x) coord. (local frame)"); + simplehitsMEs.meResolxLF = bookME1D(ibooker,"TH1Resolx_LF", "TH1Resolx_LF" ,"RecHit resol(x) coord. (local frame)"); simplehitsMEs.meResolxLF->setAxisTitle("resol(x) RecHit coord. (local frame)"); } if(layerswitchResolx_MF) { - simplehitsMEs.meResolxMF = bookME1D("TH1Resolx_MF", "TH1Resolx_MF" ,"RecHit resol(x) coord. (measurement frame)"); + simplehitsMEs.meResolxMF = bookME1D(ibooker,"TH1Resolx_MF", "TH1Resolx_MF" ,"RecHit resol(x) coord. (measurement frame)"); simplehitsMEs.meResolxMF->setAxisTitle("resol(x) RecHit coord. (measurement frame)"); } if(layerswitchRes_LF) { - simplehitsMEs.meResLF = bookME1D("TH1Res_LF", "TH1Res_LF" ,"Residual of the hit x coordinate (local frame)"); + simplehitsMEs.meResLF = bookME1D(ibooker,"TH1Res_LF", "TH1Res_LF" ,"Residual of the hit x coordinate (local frame)"); simplehitsMEs.meResLF->setAxisTitle("Hit Res(x) (local frame)"); } if(layerswitchRes_MF) { - simplehitsMEs.meResMF = bookME1D("TH1Res_MF", "TH1Res_MF" ,"Residual of the hit x coordinate (measurement frame)"); + simplehitsMEs.meResMF = bookME1D(ibooker,"TH1Res_MF", "TH1Res_MF" ,"Residual of the hit x coordinate (measurement frame)"); simplehitsMEs.meResMF->setAxisTitle("Hit Res(x) (measurement frame)"); } if(layerswitchPull_LF) { - simplehitsMEs.mePullLF = bookME1D("TH1Pull_LF", "TH1Pull_LF" ,"Pull distribution (local frame)"); + simplehitsMEs.mePullLF = bookME1D(ibooker,"TH1Pull_LF", "TH1Pull_LF" ,"Pull distribution (local frame)"); simplehitsMEs.mePullLF->setAxisTitle("Pull distribution (local frame)"); } if(layerswitchPull_MF) { - simplehitsMEs.mePullMF = bookME1D("TH1Pull_MF", "TH1Pull_MF" ,"Pull distribution (measurement frame)"); + simplehitsMEs.mePullMF = bookME1D(ibooker,"TH1Pull_MF", "TH1Pull_MF" ,"Pull distribution (measurement frame)"); simplehitsMEs.mePullMF->setAxisTitle("Pull distribution (measurement frame)"); } if(layerswitchCategory) { - simplehitsMEs.meCategory = bookME1D("TH1Category", "TH1Category" ,"Category"); + simplehitsMEs.meCategory = bookME1D(ibooker,"TH1Category", "TH1Category" ,"Category"); simplehitsMEs.meCategory->setAxisTitle("Category"); } if(layerswitchTrackwidth) { - simplehitsMEs.meTrackwidth = bookME1D("TH1Trackwidth", "TH1Trackwidth" ,"Track width"); + simplehitsMEs.meTrackwidth = bookME1D(ibooker,"TH1Trackwidth", "TH1Trackwidth" ,"Track width"); simplehitsMEs.meTrackwidth->setAxisTitle("Track width"); } if(layerswitchExpectedwidth) { - simplehitsMEs.meExpectedwidth = bookME1D("TH1Expectedwidth", "TH1Expectedwidth" ,"Expected width"); + simplehitsMEs.meExpectedwidth = bookME1D(ibooker,"TH1Expectedwidth", "TH1Expectedwidth" ,"Expected width"); simplehitsMEs.meExpectedwidth->setAxisTitle("Expected width"); } if(layerswitchClusterwidth) { - simplehitsMEs.meClusterwidth = bookME1D("TH1Clusterwidth", "TH1Clusterwidth" ,"Cluster width"); + simplehitsMEs.meClusterwidth = bookME1D(ibooker,"TH1Clusterwidth", "TH1Clusterwidth" ,"Cluster width"); simplehitsMEs.meClusterwidth->setAxisTitle("Cluster width"); } if(layerswitchTrackanglealpha) { - simplehitsMEs.meTrackanglealpha = bookME1D("TH1Trackanglealpha", "TH1Trackanglealpha" ,"Track angle alpha"); + simplehitsMEs.meTrackanglealpha = bookME1D(ibooker,"TH1Trackanglealpha", "TH1Trackanglealpha" ,"Track angle alpha"); simplehitsMEs.meTrackanglealpha->setAxisTitle("Track angle alpha"); } if(layerswitchTrackanglebeta) { - simplehitsMEs.meTrackanglebeta = bookME1D("TH1Trackanglebeta", "TH1Trackanglebeta" ,"Track angle beta"); + simplehitsMEs.meTrackanglebeta = bookME1D(ibooker,"TH1Trackanglebeta", "TH1Trackanglebeta" ,"Track angle beta"); simplehitsMEs.meTrackanglebeta->setAxisTitle("Track angle beta"); } if(layerswitchResolxMFTrackwidthProfile_WClus1) { - simplehitsMEs.meResolxMFTrackwidthProfileWClus1 = bookMEProfile("TProfResolxMFTrackwidthProfile_WClus1","TProfResolxMFTrackwidthProfile_WClus1","Profile of Resolution in MF vs track width for w=1"); + simplehitsMEs.meResolxMFTrackwidthProfileWClus1 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus1","TProfResolxMFTrackwidthProfile_WClus1","Profile of Resolution in MF vs track width for w=1"); simplehitsMEs.meResolxMFTrackwidthProfileWClus1->setAxisTitle("Track width",1); simplehitsMEs.meResolxMFTrackwidthProfileWClus1->setAxisTitle("Resolution (measurement frame) w=1",2); } if(layerswitchResolxMFTrackwidthProfile_WClus2) { - simplehitsMEs.meResolxMFTrackwidthProfileWClus2 = bookMEProfile("TProfResolxMFTrackwidthProfile_WClus2","TProfResolxMFTrackwidthProfile_WClus2","Profile of Resolution in MF vs track width for w=2"); + simplehitsMEs.meResolxMFTrackwidthProfileWClus2 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus2","TProfResolxMFTrackwidthProfile_WClus2","Profile of Resolution in MF vs track width for w=2"); simplehitsMEs.meResolxMFTrackwidthProfileWClus2->setAxisTitle("Track width",1); simplehitsMEs.meResolxMFTrackwidthProfileWClus2->setAxisTitle("Resolution (measurement frame) w=2",2); } if(layerswitchResolxMFTrackwidthProfile_WClus3) { - simplehitsMEs.meResolxMFTrackwidthProfileWClus3 = bookMEProfile("TProfResolxMFTrackwidthProfile_WClus3","TProfResolxMFTrackwidthProfile_WClus3","Profile of Resolution in MF vs track width for w=3"); + simplehitsMEs.meResolxMFTrackwidthProfileWClus3 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus3","TProfResolxMFTrackwidthProfile_WClus3","Profile of Resolution in MF vs track width for w=3"); simplehitsMEs.meResolxMFTrackwidthProfileWClus3->setAxisTitle("Track width",1); simplehitsMEs.meResolxMFTrackwidthProfileWClus3->setAxisTitle("Resolution (measurement frame) w=3",2); } if(layerswitchResolxMFTrackwidthProfile_WClus4) { - simplehitsMEs.meResolxMFTrackwidthProfileWClus4 = bookMEProfile("TProfResolxMFTrackwidthProfile_WClus4","TProfResolxMFTrackwidthProfile_WClus4","Profile of Resolution in MF vs track width for w=4"); + simplehitsMEs.meResolxMFTrackwidthProfileWClus4 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus4","TProfResolxMFTrackwidthProfile_WClus4","Profile of Resolution in MF vs track width for w=4"); simplehitsMEs.meResolxMFTrackwidthProfileWClus4->setAxisTitle("Track width",1); simplehitsMEs.meResolxMFTrackwidthProfileWClus4->setAxisTitle("Resolution (measurement frame) w=3",2); } if(layerswitchResMFTrackwidthProfile_WClus1) { - simplehitsMEs.meResMFTrackwidthProfileWClus1 = bookMEProfile("TProfResMFTrackwidthProfile_WClus1","TProfResMFTrackwidthProfile_WClus1","Profile of Residuals(x) in MF vs track width for w=1"); + simplehitsMEs.meResMFTrackwidthProfileWClus1 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus1","TProfResMFTrackwidthProfile_WClus1","Profile of Residuals(x) in MF vs track width for w=1"); simplehitsMEs.meResMFTrackwidthProfileWClus1->setAxisTitle("Track width",1); simplehitsMEs.meResMFTrackwidthProfileWClus1->setAxisTitle("Residuals(x) (measurement frame) w=1",2); } if(layerswitchResMFTrackwidthProfile_WClus2) { - simplehitsMEs.meResMFTrackwidthProfileWClus2 = bookMEProfile("TProfResMFTrackwidthProfile_WClus2","TProfResMFTrackwidthProfile_WClus2","Profile of Residuals(x) in MF vs track width for w=2"); + simplehitsMEs.meResMFTrackwidthProfileWClus2 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus2","TProfResMFTrackwidthProfile_WClus2","Profile of Residuals(x) in MF vs track width for w=2"); simplehitsMEs.meResMFTrackwidthProfileWClus2->setAxisTitle("Track width",1); simplehitsMEs.meResMFTrackwidthProfileWClus2->setAxisTitle("Residuals(x) (measurement frame) w=2",2); } if(layerswitchResMFTrackwidthProfile_WClus21) { - simplehitsMEs.meResMFTrackwidthProfileWClus21 = bookMEProfile("TProfResMFTrackwidthProfile_WClus21","TProfResMFTrackwidthProfile_WClus21","Profile of Residuals(x) in MF vs track width for w=2"); + simplehitsMEs.meResMFTrackwidthProfileWClus21 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus21","TProfResMFTrackwidthProfile_WClus21","Profile of Residuals(x) in MF vs track width for w=2"); simplehitsMEs.meResMFTrackwidthProfileWClus21->setAxisTitle("Track width",1); simplehitsMEs.meResMFTrackwidthProfileWClus21->setAxisTitle("Residuals(x) (measurement frame) w=2",2); } if(layerswitchResMFTrackwidthProfile_WClus22) { - simplehitsMEs.meResMFTrackwidthProfileWClus22 = bookMEProfile("TProfResMFTrackwidthProfile_WClus22","TProfResMFTrackwidthProfile_WClus22","Profile of Residuals(x) in MF vs track width for w=2"); + simplehitsMEs.meResMFTrackwidthProfileWClus22 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus22","TProfResMFTrackwidthProfile_WClus22","Profile of Residuals(x) in MF vs track width for w=2"); simplehitsMEs.meResMFTrackwidthProfileWClus22->setAxisTitle("Track width",1); simplehitsMEs.meResMFTrackwidthProfileWClus22->setAxisTitle("Residuals(x) (measurement frame) w=2",2); } if(layerswitchResMFTrackwidthProfile_WClus23) { - simplehitsMEs.meResMFTrackwidthProfileWClus23 = bookMEProfile("TProfResMFTrackwidthProfile_WClus23","TProfResMFTrackwidthProfile_WClus23","Profile of Residuals(x) in MF vs track width for w=2"); + simplehitsMEs.meResMFTrackwidthProfileWClus23 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus23","TProfResMFTrackwidthProfile_WClus23","Profile of Residuals(x) in MF vs track width for w=2"); simplehitsMEs.meResMFTrackwidthProfileWClus23->setAxisTitle("Track width",1); simplehitsMEs.meResMFTrackwidthProfileWClus23->setAxisTitle("Residuals(x) (measurement frame) w=2",2); } if(layerswitchResMFTrackwidthProfile_WClus3) { - simplehitsMEs.meResMFTrackwidthProfileWClus3 = bookMEProfile("TProfResMFTrackwidthProfile_WClus3","TProfResMFTrackwidthProfile_WClus3","Profile of Residuals(x) in MF vs track width for w=3"); + simplehitsMEs.meResMFTrackwidthProfileWClus3 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus3","TProfResMFTrackwidthProfile_WClus3","Profile of Residuals(x) in MF vs track width for w=3"); simplehitsMEs.meResMFTrackwidthProfileWClus3->setAxisTitle("Track width",1); simplehitsMEs.meResMFTrackwidthProfileWClus3->setAxisTitle("Residuals(x) (measurement frame) w=3",2); } if(layerswitchResMFTrackwidthProfile_WClus4) { - simplehitsMEs.meResMFTrackwidthProfileWClus4 = bookMEProfile("TProfResMFTrackwidthProfile_WClus4","TProfResMFTrackwidthProfile_WClus4","Profile of Residuals(x) in MF vs track width for w=4"); + simplehitsMEs.meResMFTrackwidthProfileWClus4 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus4","TProfResMFTrackwidthProfile_WClus4","Profile of Residuals(x) in MF vs track width for w=4"); simplehitsMEs.meResMFTrackwidthProfileWClus4->setAxisTitle("Track width",1); simplehitsMEs.meResMFTrackwidthProfileWClus4->setAxisTitle("Residuals(x) (measurement frame) w=4",2); } if(layerswitchResolxMFTrackwidthProfile) { - simplehitsMEs.meResolxMFTrackwidthProfile = bookMEProfile("TProfResolxMFTrackwidthProfile","TProfResolxMFTrackwidthProfile","Profile of Resolution in MF vs track width"); + simplehitsMEs.meResolxMFTrackwidthProfile = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile","TProfResolxMFTrackwidthProfile","Profile of Resolution in MF vs track width"); simplehitsMEs.meResolxMFTrackwidthProfile->setAxisTitle("Track width",1); simplehitsMEs.meResolxMFTrackwidthProfile->setAxisTitle("Resolution (measurement frame)",2); } if(layerswitchResolxMFTrackwidthProfile_Category1) { - simplehitsMEs.meResolxMFTrackwidthProfileCategory1 = bookMEProfile("TProfResolxMFTrackwidthProfile_Category1","TProfResolxMFTrackwidthProfile_Category1","Profile of Resolution in MF vs track width (Category 1)"); + simplehitsMEs.meResolxMFTrackwidthProfileCategory1 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category1","TProfResolxMFTrackwidthProfile_Category1","Profile of Resolution in MF vs track width (Category 1)"); simplehitsMEs.meResolxMFTrackwidthProfileCategory1->setAxisTitle("Track width",1); simplehitsMEs.meResolxMFTrackwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1",2); } if(layerswitchResolxMFTrackwidthProfile_Category2) { - simplehitsMEs.meResolxMFTrackwidthProfileCategory2 = bookMEProfile("TProfResolxMFTrackwidthProfile_Category2","TProfResolxMFTrackwidthProfile_Category2","Profile of Resolution in MF vs track width (Category 2)"); + simplehitsMEs.meResolxMFTrackwidthProfileCategory2 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category2","TProfResolxMFTrackwidthProfile_Category2","Profile of Resolution in MF vs track width (Category 2)"); simplehitsMEs.meResolxMFTrackwidthProfileCategory2->setAxisTitle("Track width",1); simplehitsMEs.meResolxMFTrackwidthProfileCategory2->setAxisTitle("Resolution (measurement frame) Category 2",2); } if(layerswitchResolxMFTrackwidthProfile_Category3) { - simplehitsMEs.meResolxMFTrackwidthProfileCategory3 = bookMEProfile("TProfResolxMFTrackwidthProfile_Category3","TProfResolxMFTrackwidthProfile_Category3","Profile of Resolution in MF vs track width (Category 3)"); + simplehitsMEs.meResolxMFTrackwidthProfileCategory3 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category3","TProfResolxMFTrackwidthProfile_Category3","Profile of Resolution in MF vs track width (Category 3)"); simplehitsMEs.meResolxMFTrackwidthProfileCategory3->setAxisTitle("Track width",1); simplehitsMEs.meResolxMFTrackwidthProfileCategory3->setAxisTitle("Resolution (measurement frame) Category 3",2); } if(layerswitchResolxMFTrackwidthProfile_Category4) { - simplehitsMEs.meResolxMFTrackwidthProfileCategory4 = bookMEProfile("TProfResolxMFTrackwidthProfile_Category4","TProfResolxMFTrackwidthProfile_Category4","Profile of Resolution in MF vs track width (Category 4)"); + simplehitsMEs.meResolxMFTrackwidthProfileCategory4 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category4","TProfResolxMFTrackwidthProfile_Category4","Profile of Resolution in MF vs track width (Category 4)"); simplehitsMEs.meResolxMFTrackwidthProfileCategory4->setAxisTitle("Track width",1); simplehitsMEs.meResolxMFTrackwidthProfileCategory4->setAxisTitle("Resolution (measurement frame) Category 4",2); } if(layerswitchResolxMFClusterwidthProfile_Category1) { - simplehitsMEs.meResolxMFClusterwidthProfileCategory1 = bookMEProfile("TProfResolxMFClusterwidthProfile_Category1","TProfResolxMFClusterwidthProfile_Category1","Profile of Resolution in MF vs cluster width (Category 1)"); + simplehitsMEs.meResolxMFClusterwidthProfileCategory1 = bookMEProfile(ibooker,"TProfResolxMFClusterwidthProfile_Category1","TProfResolxMFClusterwidthProfile_Category1","Profile of Resolution in MF vs cluster width (Category 1)"); simplehitsMEs.meResolxMFClusterwidthProfileCategory1->setAxisTitle("Cluster width",1); simplehitsMEs.meResolxMFClusterwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1",2); } if(layerswitchResolxMFAngleProfile) { - simplehitsMEs.meResolxMFAngleProfile = bookMEProfile("TProfResolxMFAngleProfile","TProfResolxMFAngleProfile","Profile of Resolution in MF vs Track angle alpha"); + simplehitsMEs.meResolxMFAngleProfile = bookMEProfile(ibooker,"TProfResolxMFAngleProfile","TProfResolxMFAngleProfile","Profile of Resolution in MF vs Track angle alpha"); simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Track angle alpha",1); simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Resolution (measurement frame)",2); } @@ -1569,7 +1570,7 @@ void SiStripTrackingRecHitsValid::createSimpleHitsMEs() } //------------------------------------------------------------------------------------------ -void SiStripTrackingRecHitsValid::createLayerMEs(std::string label) +void SiStripTrackingRecHitsValid::createLayerMEs(DQMStore::IBooker & ibooker,std::string label) { SiStripHistoId hidmanager; LayerMEs layerMEs; @@ -1637,283 +1638,283 @@ void SiStripTrackingRecHitsValid::createLayerMEs(std::string label) //WclusRphi if(layerswitchWclusRphi) { - layerMEs.meWclusRphi = bookME1D("TH1WclusRphi", hidmanager.createHistoLayer("Wclus_rphi","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster"); + layerMEs.meWclusRphi = bookME1D(ibooker,"TH1WclusRphi", hidmanager.createHistoLayer("Wclus_rphi","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster"); layerMEs.meWclusRphi->setAxisTitle(("Cluster Width [nr strips] in "+ label).c_str()); } //AdcRphi if(layerswitchAdcRphi) { - layerMEs.meAdcRphi = bookME1D("TH1AdcRphi", hidmanager.createHistoLayer("Adc_rphi","layer",label,"").c_str() ,"RecHit Cluster Charge"); + layerMEs.meAdcRphi = bookME1D(ibooker,"TH1AdcRphi", hidmanager.createHistoLayer("Adc_rphi","layer",label,"").c_str() ,"RecHit Cluster Charge"); layerMEs.meAdcRphi->setAxisTitle(("cluster charge [ADC] in " + label).c_str()); } //ResolxLFRphi if(layerswitchResolxLFRphi) { - layerMEs.meResolxLFRphi = bookME1D("TH1ResolxLFRphi", hidmanager.createHistoLayer("Resolx_LF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //~20micron + layerMEs.meResolxLFRphi = bookME1D(ibooker,"TH1ResolxLFRphi", hidmanager.createHistoLayer("Resolx_LF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //~20micron layerMEs.meResolxLFRphi->setAxisTitle(("resol(x) RecHit coord. (local frame) in " + label).c_str()); } //ResolxMFRphi if(layerswitchResolxMFRphi) { - layerMEs.meResolxMFRphi = bookME1D("TH1ResolxMFRphi", hidmanager.createHistoLayer("Resolx_MF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //~20micron + layerMEs.meResolxMFRphi = bookME1D(ibooker,"TH1ResolxMFRphi", hidmanager.createHistoLayer("Resolx_MF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //~20micron layerMEs.meResolxMFRphi->setAxisTitle(("resol(x) RecHit coord. (measurement frame) in " + label).c_str()); } //ResolxMFRphiwclus1 if(layerswitchResolxMFRphiwclus1) { - layerMEs.meResolxMFRphiwclus1 = bookME1D("TH1ResolxMFRphiwclus1", hidmanager.createHistoLayer("Resolx_MF_wclus1_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=1 "); //~20micron + layerMEs.meResolxMFRphiwclus1 = bookME1D(ibooker,"TH1ResolxMFRphiwclus1", hidmanager.createHistoLayer("Resolx_MF_wclus1_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=1 "); //~20micron layerMEs.meResolxMFRphiwclus1->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=1 in " + label).c_str()); } //ResolxMFRphiwclus2 if(layerswitchResolxMFRphiwclus2) { - layerMEs.meResolxMFRphiwclus2 = bookME1D("TH1ResolxMFRphiwclus2", hidmanager.createHistoLayer("Resolx_MF_wclus2_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=2 "); //~20micron + layerMEs.meResolxMFRphiwclus2 = bookME1D(ibooker,"TH1ResolxMFRphiwclus2", hidmanager.createHistoLayer("Resolx_MF_wclus2_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=2 "); //~20micron layerMEs.meResolxMFRphiwclus2->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=2 in " + label).c_str()); } //ResolxMFRphiwclus3 if(layerswitchResolxMFRphiwclus3) { - layerMEs.meResolxMFRphiwclus3 = bookME1D("TH1ResolxMFRphiwclus3", hidmanager.createHistoLayer("Resolx_MF_wclus3_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=3 "); //~20micron + layerMEs.meResolxMFRphiwclus3 = bookME1D(ibooker,"TH1ResolxMFRphiwclus3", hidmanager.createHistoLayer("Resolx_MF_wclus3_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=3 "); //~20micron layerMEs.meResolxMFRphiwclus3->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=3 in " + label).c_str()); } //ResolxMFRphiwclus4 if(layerswitchResolxMFRphiwclus4) { - layerMEs.meResolxMFRphiwclus4 = bookME1D("TH1ResolxMFRphiwclus4", hidmanager.createHistoLayer("Resolx_MF_wclus4_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=4 "); //~20micron + layerMEs.meResolxMFRphiwclus4 = bookME1D(ibooker,"TH1ResolxMFRphiwclus4", hidmanager.createHistoLayer("Resolx_MF_wclus4_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=4 "); //~20micron layerMEs.meResolxMFRphiwclus4->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=4 in " + label).c_str()); } //ResLFRphi if(layerswitchResLFRphi) { - layerMEs.meResLFRphi = bookME1D("TH1ResLFRphi", hidmanager.createHistoLayer("Res_LF_rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate"); + layerMEs.meResLFRphi = bookME1D(ibooker,"TH1ResLFRphi", hidmanager.createHistoLayer("Res_LF_rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate"); layerMEs.meResLFRphi->setAxisTitle(("Hit Residuals(x) (local frame) in " + label).c_str()); } //ResMFRphi if(layerswitchResMFRphi) { - layerMEs.meResMFRphi = bookME1D("TH1ResMFRphi",hidmanager.createHistoLayer("Res_MF_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate"); + layerMEs.meResMFRphi = bookME1D(ibooker,"TH1ResMFRphi",hidmanager.createHistoLayer("Res_MF_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate"); layerMEs.meResMFRphi->setAxisTitle(("Hit Residuals(x) (measurement frame) in "+ label).c_str()); } //ResMFRphiwclus1 if(layerswitchResMFRphiwclus1) { - layerMEs.meResMFRphiwclus1 = bookME1D("TH1ResMFRphiwclus1",hidmanager.createHistoLayer("Res_MF_wclus1_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=1"); + layerMEs.meResMFRphiwclus1 = bookME1D(ibooker,"TH1ResMFRphiwclus1",hidmanager.createHistoLayer("Res_MF_wclus1_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=1"); layerMEs.meResMFRphiwclus1->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=1 in "+ label).c_str()); } //ResMFRphiwclus2 if(layerswitchResMFRphiwclus2) { - layerMEs.meResMFRphiwclus2 = bookME1D("TH1ResMFRphiwclus2",hidmanager.createHistoLayer("Res_MF_wclus2_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=2"); + layerMEs.meResMFRphiwclus2 = bookME1D(ibooker,"TH1ResMFRphiwclus2",hidmanager.createHistoLayer("Res_MF_wclus2_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=2"); layerMEs.meResMFRphiwclus2->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=2 in "+ label).c_str()); } //ResMFRphiwclus3 if(layerswitchResMFRphiwclus3) { - layerMEs.meResMFRphiwclus3 = bookME1D("TH1ResMFRphiwclus3",hidmanager.createHistoLayer("Res_MF_wclus3_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=3"); + layerMEs.meResMFRphiwclus3 = bookME1D(ibooker,"TH1ResMFRphiwclus3",hidmanager.createHistoLayer("Res_MF_wclus3_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=3"); layerMEs.meResMFRphiwclus3->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=3 in "+ label).c_str()); } //ResMFRphiwclus4 if(layerswitchResMFRphiwclus4) { - layerMEs.meResMFRphiwclus4 = bookME1D("TH1ResMFRphiwclus4",hidmanager.createHistoLayer("Res_MF_wclus4_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=4"); + layerMEs.meResMFRphiwclus4 = bookME1D(ibooker,"TH1ResMFRphiwclus4",hidmanager.createHistoLayer("Res_MF_wclus4_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=4"); layerMEs.meResMFRphiwclus4->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=4 in "+ label).c_str()); } //PullLFRphi if(layerswitchPullLFRphi) { - layerMEs.mePullLFRphi = bookME1D("TH1PullLFRphi", hidmanager.createHistoLayer("Pull_LF_rphi","layer",label,"").c_str() ,"Pull distribution"); + layerMEs.mePullLFRphi = bookME1D(ibooker,"TH1PullLFRphi", hidmanager.createHistoLayer("Pull_LF_rphi","layer",label,"").c_str() ,"Pull distribution"); layerMEs.mePullLFRphi->setAxisTitle(("Pull distribution (local frame) in " + label).c_str()); } //PullMFRphi if(layerswitchPullMFRphi) { - layerMEs.mePullMFRphi = bookME1D("TH1PullMFRphi", hidmanager.createHistoLayer("Pull_MF_rphi","layer",label,"").c_str() ,"Pull distribution"); + layerMEs.mePullMFRphi = bookME1D(ibooker,"TH1PullMFRphi", hidmanager.createHistoLayer("Pull_MF_rphi","layer",label,"").c_str() ,"Pull distribution"); layerMEs.mePullMFRphi->setAxisTitle(("Pull distribution (measurement frame) in " + label).c_str()); } //PullMFRphiwclus1 if(layerswitchPullMFRphiwclus1) { - layerMEs.mePullMFRphiwclus1 = bookME1D("TH1PullMFRphiwclus1", hidmanager.createHistoLayer("Pull_MF_wclus1_rphi","layer",label,"").c_str() ,"Pull distribution w=1"); + layerMEs.mePullMFRphiwclus1 = bookME1D(ibooker,"TH1PullMFRphiwclus1", hidmanager.createHistoLayer("Pull_MF_wclus1_rphi","layer",label,"").c_str() ,"Pull distribution w=1"); layerMEs.mePullMFRphiwclus1->setAxisTitle(("Pull distribution (measurement frame) for w=1 in " + label).c_str()); } //PullMFRphiwclus2 if(layerswitchPullMFRphiwclus2) { - layerMEs.mePullMFRphiwclus2 = bookME1D("TH1PullMFRphiwclus2", hidmanager.createHistoLayer("Pull_MF_wclus2_rphi","layer",label,"").c_str() ,"Pull distribution w=2"); + layerMEs.mePullMFRphiwclus2 = bookME1D(ibooker,"TH1PullMFRphiwclus2", hidmanager.createHistoLayer("Pull_MF_wclus2_rphi","layer",label,"").c_str() ,"Pull distribution w=2"); layerMEs.mePullMFRphiwclus2->setAxisTitle(("Pull distribution (measurement frame) for w=2 in " + label).c_str()); } //PullMFRphiwclus3 if(layerswitchPullMFRphiwclus3) { - layerMEs.mePullMFRphiwclus3 = bookME1D("TH1PullMFRphiwclus3", hidmanager.createHistoLayer("Pull_MF_wclus3_rphi","layer",label,"").c_str() ,"Pull distribution w=3"); + layerMEs.mePullMFRphiwclus3 = bookME1D(ibooker,"TH1PullMFRphiwclus3", hidmanager.createHistoLayer("Pull_MF_wclus3_rphi","layer",label,"").c_str() ,"Pull distribution w=3"); layerMEs.mePullMFRphiwclus3->setAxisTitle(("Pull distribution (measurement frame) for w=3 in " + label).c_str()); } //PullMFRphiwclus4 if(layerswitchPullMFRphiwclus4) { - layerMEs.mePullMFRphiwclus4 = bookME1D("TH1PullMFRphiwclus4", hidmanager.createHistoLayer("Pull_MF_wclus4_rphi","layer",label,"").c_str() ,"Pull distribution w=4"); + layerMEs.mePullMFRphiwclus4 = bookME1D(ibooker,"TH1PullMFRphiwclus4", hidmanager.createHistoLayer("Pull_MF_wclus4_rphi","layer",label,"").c_str() ,"Pull distribution w=4"); layerMEs.mePullMFRphiwclus4->setAxisTitle(("Pull distribution (measurement frame) for w=4 in " + label).c_str()); } if(layerswitchTrackangleRphi) { - layerMEs.meTrackangleRphi = bookME1D("TH1TrackangleRphi",hidmanager.createHistoLayer("Track_angle_Rphi","layer",label,"").c_str() ,"Track angle alpha"); + layerMEs.meTrackangleRphi = bookME1D(ibooker,"TH1TrackangleRphi",hidmanager.createHistoLayer("Track_angle_Rphi","layer",label,"").c_str() ,"Track angle alpha"); layerMEs.meTrackangleRphi->setAxisTitle(("Track angle in "+ label).c_str()); } if(layerswitchTrackanglebetaRphi) { - layerMEs.meTrackanglebetaRphi = bookME1D("TH1TrackanglebetaRphi",hidmanager.createHistoLayer("Track_angle_beta_Rphi","layer",label,"").c_str() ,"Track angle beta"); + layerMEs.meTrackanglebetaRphi = bookME1D(ibooker,"TH1TrackanglebetaRphi",hidmanager.createHistoLayer("Track_angle_beta_Rphi","layer",label,"").c_str() ,"Track angle beta"); layerMEs.meTrackanglebetaRphi->setAxisTitle((""+ label).c_str()); } if(layerswitchTrackangle2Rphi) { - layerMEs.meTrackangle2Rphi = bookME1D("TH1Trackangle2Rphi",hidmanager.createHistoLayer("Track_angle2_Rphi","layer",label,"").c_str() ,""); + layerMEs.meTrackangle2Rphi = bookME1D(ibooker,"TH1Trackangle2Rphi",hidmanager.createHistoLayer("Track_angle2_Rphi","layer",label,"").c_str() ,""); layerMEs.meTrackangle2Rphi->setAxisTitle((""+ label).c_str()); } if(layerswitchPullTrackangleProfileRphi) { - layerMEs.mePullTrackangleProfileRphi = bookMEProfile("TProfPullTrackangleProfileRphi",hidmanager.createHistoLayer("Pull_Trackangle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track angle alpha"); + layerMEs.mePullTrackangleProfileRphi = bookMEProfile(ibooker,"TProfPullTrackangleProfileRphi",hidmanager.createHistoLayer("Pull_Trackangle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track angle alpha"); layerMEs.mePullTrackangleProfileRphi->setAxisTitle(("Track angle alpha in "+ label).c_str(),1); layerMEs.mePullTrackangleProfileRphi->setAxisTitle(("Pull (MF) in "+ label).c_str(),2); } if(layerswitchPullTrackangle2DRphi) { - layerMEs.mePullTrackangle2DRphi = bookME1D("TH1PullTrackangle2DRphi",hidmanager.createHistoLayer("Pull_Trackangle_2D_Rphi","layer",label,"").c_str() ,""); + layerMEs.mePullTrackangle2DRphi = bookME1D(ibooker,"TH1PullTrackangle2DRphi",hidmanager.createHistoLayer("Pull_Trackangle_2D_Rphi","layer",label,"").c_str() ,""); layerMEs.mePullTrackangle2DRphi->setAxisTitle((""+ label).c_str()); } if(layerswitchTrackwidthRphi) { - layerMEs.meTrackwidthRphi = bookME1D("TH1TrackwidthRphi",hidmanager.createHistoLayer("Track_width_Rphi","layer",label,"").c_str() ,"Track width"); + layerMEs.meTrackwidthRphi = bookME1D(ibooker,"TH1TrackwidthRphi",hidmanager.createHistoLayer("Track_width_Rphi","layer",label,"").c_str() ,"Track width"); layerMEs.meTrackwidthRphi->setAxisTitle(("Track width in "+ label).c_str()); } if(layerswitchExpectedwidthRphi) { - layerMEs.meExpectedwidthRphi = bookME1D("TH1ExpectedwidthRphi",hidmanager.createHistoLayer("Expected_width_Rphi","layer",label,"").c_str() ,"Expected width"); + layerMEs.meExpectedwidthRphi = bookME1D(ibooker,"TH1ExpectedwidthRphi",hidmanager.createHistoLayer("Expected_width_Rphi","layer",label,"").c_str() ,"Expected width"); layerMEs.meExpectedwidthRphi->setAxisTitle(("Expected width in "+ label).c_str()); } if(layerswitchClusterwidthRphi) { - layerMEs.meClusterwidthRphi = bookME1D("TH1ClusterwidthRphi",hidmanager.createHistoLayer("Cluster_width_Rphi","layer",label,"").c_str() ,"Cluster width"); + layerMEs.meClusterwidthRphi = bookME1D(ibooker,"TH1ClusterwidthRphi",hidmanager.createHistoLayer("Cluster_width_Rphi","layer",label,"").c_str() ,"Cluster width"); layerMEs.meClusterwidthRphi->setAxisTitle(("Cluster width in "+ label).c_str()); } if(layerswitchCategoryRphi) { - layerMEs.meCategoryRphi = bookME1D("TH1CategoryRphi",hidmanager.createHistoLayer("Category_Rphi","layer",label,"").c_str() ,"Category"); + layerMEs.meCategoryRphi = bookME1D(ibooker,"TH1CategoryRphi",hidmanager.createHistoLayer("Category_Rphi","layer",label,"").c_str() ,"Category"); layerMEs.meCategoryRphi->setAxisTitle(("Category in "+ label).c_str()); } if(layerswitchPullTrackwidthProfileRphi) { - layerMEs.mePullTrackwidthProfileRphi = bookMEProfile("TProfPullTrackwidthProfileRphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width"); + layerMEs.mePullTrackwidthProfileRphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width"); layerMEs.mePullTrackwidthProfileRphi->setAxisTitle(("track width in "+ label).c_str(),1); layerMEs.mePullTrackwidthProfileRphi->setAxisTitle(("Pull (MF) in "+ label).c_str(),2); } if(layerswitchPullTrackwidthProfileRphiwclus1) { - layerMEs.mePullTrackwidthProfileRphiwclus1 = bookMEProfile("TProfPullTrackwidthProfileRphiwclus1",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus1","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=1"); + layerMEs.mePullTrackwidthProfileRphiwclus1 = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphiwclus1",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus1","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=1"); layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle(("track width for w=1 in "+ label).c_str(),1); layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle(("Pull (MF) for w=1 in "+ label).c_str(),2); } if(layerswitchPullTrackwidthProfileRphiwclus2) { - layerMEs.mePullTrackwidthProfileRphiwclus2 = bookMEProfile("TProfPullTrackwidthProfileRphiwclus2",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus2","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=2"); + layerMEs.mePullTrackwidthProfileRphiwclus2 = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphiwclus2",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus2","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=2"); layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle(("track width for w=2 in "+ label).c_str(),1); layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle(("Pull (MF) for w=2 in "+ label).c_str(),2); } if(layerswitchPullTrackwidthProfileRphiwclus3) { - layerMEs.mePullTrackwidthProfileRphiwclus3 = bookMEProfile("TProfPullTrackwidthProfileRphiwclus3",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus3","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=3"); + layerMEs.mePullTrackwidthProfileRphiwclus3 = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphiwclus3",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus3","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=3"); layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle(("track width for w=3 in "+ label).c_str(),1); layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle(("Pull (MF) for w=3 in "+ label).c_str(),2); } if(layerswitchPullTrackwidthProfileRphiwclus4) { - layerMEs.mePullTrackwidthProfileRphiwclus4 = bookMEProfile("TProfPullTrackwidthProfileRphiwclus4",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus4","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=4"); + layerMEs.mePullTrackwidthProfileRphiwclus4 = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphiwclus4",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus4","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=4"); layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle(("track width for w=4 in "+ label).c_str(),1); layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle(("Pull (MF) for w=4 in "+ label).c_str(),2); } if(layerswitchPullTrackwidthProfileCategory1Rphi) { - layerMEs.mePullTrackwidthProfileCategory1Rphi = bookMEProfile("TProfPullTrackwidthProfileCategory1Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 1"); + layerMEs.mePullTrackwidthProfileCategory1Rphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory1Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 1"); layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle(("track width for Category 1 in "+ label).c_str(),1); layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle(("Pull (MF) for Category 1 in "+ label).c_str(),2); } if(layerswitchPullTrackwidthProfileCategory2Rphi) { - layerMEs.mePullTrackwidthProfileCategory2Rphi = bookMEProfile("TProfPullTrackwidthProfileCategory2Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 2"); + layerMEs.mePullTrackwidthProfileCategory2Rphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory2Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 2"); layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle(("track width for Category 2 in "+ label).c_str(),1); layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle(("Pull (MF) for Category 2 in "+ label).c_str(),2); } if(layerswitchPullTrackwidthProfileCategory3Rphi) { - layerMEs.mePullTrackwidthProfileCategory3Rphi = bookMEProfile("TProfPullTrackwidthProfileCategory3Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 3"); + layerMEs.mePullTrackwidthProfileCategory3Rphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory3Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 3"); layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle(("track width for Category 3 in "+ label).c_str(),1); layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle(("Pull (MF) for Category 3 in "+ label).c_str(),2); } if(layerswitchPullTrackwidthProfileCategory4Rphi) { - layerMEs.mePullTrackwidthProfileCategory4Rphi = bookMEProfile("TProfPullTrackwidthProfileCategory4Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 4"); + layerMEs.mePullTrackwidthProfileCategory4Rphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory4Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 4"); layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle(("track width for Category 4 in "+ label).c_str(),1); layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle(("Pull (MF) for Category 4 in "+ label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileRphi) { - layerMEs.meResolxMFTrackwidthProfileRphi = bookMEProfile("TProfResolxMFTrackwidthProfileRphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width"); + layerMEs.meResolxMFTrackwidthProfileRphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileRphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width"); layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle(("track width in "+ label).c_str(),1); layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle(("Resolution in MF in "+ label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileWclus1Rphi) { - layerMEs.meResolxMFTrackwidthProfileWclus1Rphi = bookMEProfile("TProfResolxMFTrackwidthProfileWclus1Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus1_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=1"); + layerMEs.meResolxMFTrackwidthProfileWclus1Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileWclus1Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus1_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=1"); layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle(("track width for w=1 in "+ label).c_str(),1); layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle(("Resolution in MF for w=1 in "+ label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileWclus2Rphi) { - layerMEs.meResolxMFTrackwidthProfileWclus2Rphi = bookMEProfile("TProfResolxMFTrackwidthProfileWclus2Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus2_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=2"); + layerMEs.meResolxMFTrackwidthProfileWclus2Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileWclus2Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus2_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=2"); layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle(("track width for w=2 in "+ label).c_str(),1); layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle(("Resolution in MF for w=2 in "+ label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileWclus3Rphi) { - layerMEs.meResolxMFTrackwidthProfileWclus3Rphi = bookMEProfile("TProfResolxMFTrackwidthProfileWclus3Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus3_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=3"); + layerMEs.meResolxMFTrackwidthProfileWclus3Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileWclus3Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus3_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=3"); layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle(("track width for w=3 in "+ label).c_str(),1); layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle(("Resolution in MF for w=3 in "+ label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileWclus4Rphi) { - layerMEs.meResolxMFTrackwidthProfileWclus4Rphi = bookMEProfile("TProfResolxMFTrackwidthProfileWclus4Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus4_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=4"); + layerMEs.meResolxMFTrackwidthProfileWclus4Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileWclus4Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus4_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=4"); layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle(("track width for w=4 in "+ label).c_str(),1); layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle(("Resolution in MF for w=4 in "+ label).c_str(),2); } if(layerswitchResMFTrackwidthProfileWclus1Rphi) { - layerMEs.meResMFTrackwidthProfileWclus1Rphi = bookMEProfile("TProfResMFTrackwidthProfileWclus1Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus1_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=1"); + layerMEs.meResMFTrackwidthProfileWclus1Rphi = bookMEProfile(ibooker,"TProfResMFTrackwidthProfileWclus1Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus1_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=1"); layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle(("track width for w=1 in "+ label).c_str(),1); layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle(("Residuals(x) in MF for w=1 in "+ label).c_str(),2); } if(layerswitchResMFTrackwidthProfileWclus2Rphi) { - layerMEs.meResMFTrackwidthProfileWclus2Rphi = bookMEProfile("TProfResMFTrackwidthProfileWclus2Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus2_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=2"); + layerMEs.meResMFTrackwidthProfileWclus2Rphi = bookMEProfile(ibooker,"TProfResMFTrackwidthProfileWclus2Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus2_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=2"); layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle(("track width for w=2 in "+ label).c_str(),1); layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle(("Residuals(x) in MF for w=2 in "+ label).c_str(),2); } if(layerswitchResMFTrackwidthProfileWclus3Rphi) { - layerMEs.meResMFTrackwidthProfileWclus3Rphi = bookMEProfile("TProfResMFTrackwidthProfileWclus3Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus3_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=3"); + layerMEs.meResMFTrackwidthProfileWclus3Rphi = bookMEProfile(ibooker,"TProfResMFTrackwidthProfileWclus3Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus3_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=3"); layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle(("track width for w=3 in "+ label).c_str(),1); layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle(("Residuals(x) in MF for w=3 in "+ label).c_str(),2); } if(layerswitchResMFTrackwidthProfileWclus4Rphi) { - layerMEs.meResMFTrackwidthProfileWclus4Rphi = bookMEProfile("TProfResMFTrackwidthProfileWclus4Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus4_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=4"); + layerMEs.meResMFTrackwidthProfileWclus4Rphi = bookMEProfile(ibooker,"TProfResMFTrackwidthProfileWclus4Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus4_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=4"); layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle(("track width for w=4 in "+ label).c_str(),1); layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle(("Residuals(x) in MF for w=4 in "+ label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileCategory1Rphi) { - layerMEs.meResolxMFTrackwidthProfileCategory1Rphi = bookMEProfile("TProfResolxMFTrackwidthProfileCategory1Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 1"); + layerMEs.meResolxMFTrackwidthProfileCategory1Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory1Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 1"); layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle(("track width for Category 1 in "+ label).c_str(),1); layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle(("Resolution in MF for Category 1 in "+ label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileCategory2Rphi) { - layerMEs.meResolxMFTrackwidthProfileCategory2Rphi = bookMEProfile("TProfResolxMFTrackwidthProfileCategory2Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 2"); + layerMEs.meResolxMFTrackwidthProfileCategory2Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory2Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 2"); layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle(("track width for Category 2 in "+ label).c_str(),1); layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle(("Resolution in MF for Category 2 in "+ label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileCategory3Rphi) { - layerMEs.meResolxMFTrackwidthProfileCategory3Rphi = bookMEProfile("TProfResolxMFTrackwidthProfileCategory3Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 3"); + layerMEs.meResolxMFTrackwidthProfileCategory3Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory3Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 3"); layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("track width for Category 3 in "+ label).c_str(),1); layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("Resolution in MF for Category 3 in "+ label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileCategory4Rphi) { - layerMEs.meResolxMFTrackwidthProfileCategory4Rphi = bookMEProfile("TProfResolxMFTrackwidthProfileCategory4Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 4"); + layerMEs.meResolxMFTrackwidthProfileCategory4Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory4Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 4"); layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("track width for Category 4 in "+ label).c_str(),1); layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("Resolution in MF for Category 4 in "+ label).c_str(),2); } if(layerswitchResolxMFClusterwidthProfileCategory1Rphi) { - layerMEs.meResolxMFClusterwidthProfileCategory1Rphi = bookMEProfile("TProfResolxMFClusterwidthProfileCategory1Rphi",hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs cluster width for Category 1"); + layerMEs.meResolxMFClusterwidthProfileCategory1Rphi = bookMEProfile(ibooker,"TProfResolxMFClusterwidthProfileCategory1Rphi",hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs cluster width for Category 1"); layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle(("cluster width for Category 1 in "+ label).c_str(),1); layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle(("Resolution in MF for Category 1 in "+ label).c_str(),2); } if(layerswitchResolxMFAngleProfileRphi) { - layerMEs.meResolxMFAngleProfileRphi = bookMEProfile("TProfResolxMFAngleProfileRphi",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle alpha"); + layerMEs.meResolxMFAngleProfileRphi = bookMEProfile(ibooker,"TProfResolxMFAngleProfileRphi",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle alpha"); layerMEs.meResolxMFAngleProfileRphi->setAxisTitle(("track angle alpha in "+ label).c_str(),1); layerMEs.meResolxMFAngleProfileRphi->setAxisTitle(("Resolution in MF in "+ label).c_str(),2); } if(layerswitchrapidityResProfilewclus1) { - layerMEs.merapidityResProfilewclus1 = bookMEProfile("TProfrapidityResProfilewclus1",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus1","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=1"); + layerMEs.merapidityResProfilewclus1 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus1",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus1","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=1"); layerMEs.merapidityResProfilewclus1->setAxisTitle(("Res for w=1 in "+ label).c_str(),1); layerMEs.merapidityResProfilewclus1->setAxisTitle(("rapidity for w=1 in "+ label).c_str(),2); } if(layerswitchrapidityResProfilewclus2) { - layerMEs.merapidityResProfilewclus2 = bookMEProfile("TProfrapidityResProfilewclus2",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus2","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=2"); + layerMEs.merapidityResProfilewclus2 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus2",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus2","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=2"); layerMEs.merapidityResProfilewclus2->setAxisTitle(("Res for w=2 in "+ label).c_str(),1); layerMEs.merapidityResProfilewclus2->setAxisTitle(("rapidity for w=2 in "+ label).c_str(),2); } if(layerswitchrapidityResProfilewclus3) { - layerMEs.merapidityResProfilewclus3 = bookMEProfile("TProfrapidityResProfilewclus3",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus3","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=3"); + layerMEs.merapidityResProfilewclus3 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus3",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus3","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=3"); layerMEs.merapidityResProfilewclus3->setAxisTitle(("Res for w=3 in "+ label).c_str(),1); layerMEs.merapidityResProfilewclus3->setAxisTitle(("rapidity for w=3 in "+ label).c_str(),2); } if(layerswitchrapidityResProfilewclus4) { - layerMEs.merapidityResProfilewclus4 = bookMEProfile("TProfrapidityResProfilewclus4",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus4","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=4"); + layerMEs.merapidityResProfilewclus4 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus4",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus4","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=4"); layerMEs.merapidityResProfilewclus4->setAxisTitle(("Res for w=4 in "+ label).c_str(),1); layerMEs.merapidityResProfilewclus4->setAxisTitle(("rapidity for w=4 in "+ label).c_str(),2); } @@ -1923,7 +1924,7 @@ void SiStripTrackingRecHitsValid::createLayerMEs(std::string label) } //------------------------------------------------------------------------------------------ -void SiStripTrackingRecHitsValid::createStereoAndMatchedMEs(std::string label) +void SiStripTrackingRecHitsValid::createStereoAndMatchedMEs(DQMStore::IBooker & ibooker,std::string label) { SiStripHistoId hidmanager; StereoAndMatchedMEs stereoandmatchedMEs; @@ -1967,162 +1968,162 @@ void SiStripTrackingRecHitsValid::createStereoAndMatchedMEs(std::string label) //WclusSas if(layerswitchWclusSas) { - stereoandmatchedMEs.meWclusSas = bookME1D("TH1WclusSas", hidmanager.createHistoLayer("Wclus_sas","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster"); + stereoandmatchedMEs.meWclusSas = bookME1D(ibooker,"TH1WclusSas", hidmanager.createHistoLayer("Wclus_sas","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster"); stereoandmatchedMEs.meWclusSas->setAxisTitle(("Cluster Width [nr strips] (stereo) in "+ label).c_str()); } //AdcSas if(layerswitchAdcSas) { - stereoandmatchedMEs.meAdcSas = bookME1D("TH1AdcSas", hidmanager.createHistoLayer("Adc_sas","layer",label,"").c_str() ,"RecHit Cluster Charge"); + stereoandmatchedMEs.meAdcSas = bookME1D(ibooker,"TH1AdcSas", hidmanager.createHistoLayer("Adc_sas","layer",label,"").c_str() ,"RecHit Cluster Charge"); stereoandmatchedMEs.meAdcSas->setAxisTitle(("cluster charge [ADC] (stereo) in " + label).c_str()); } //ResolxLFSas if(layerswitchResolxLFSas) { - stereoandmatchedMEs.meResolxLFSas = bookME1D("TH1ResolxLFSas", hidmanager.createHistoLayer("Resolx_LF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord."); + stereoandmatchedMEs.meResolxLFSas = bookME1D(ibooker,"TH1ResolxLFSas", hidmanager.createHistoLayer("Resolx_LF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord."); stereoandmatchedMEs.meResolxLFSas->setAxisTitle(("resol(x) RecHit coord. (local frame) (stereo) in " + label).c_str()); } //ResolxMFSas if(layerswitchResolxMFSas) { - stereoandmatchedMEs.meResolxMFSas = bookME1D("TH1ResolxMFSas", hidmanager.createHistoLayer("Resolx_MF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord."); + stereoandmatchedMEs.meResolxMFSas = bookME1D(ibooker,"TH1ResolxMFSas", hidmanager.createHistoLayer("Resolx_MF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord."); stereoandmatchedMEs.meResolxMFSas->setAxisTitle(("resol(x) RecHit coord. (measurement frame) (stereo) in " + label).c_str()); } //ResLFSas if(layerswitchResLFSas) { - stereoandmatchedMEs.meResLFSas = bookME1D("TH1ResLFSas", hidmanager.createHistoLayer("Res_LF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate"); + stereoandmatchedMEs.meResLFSas = bookME1D(ibooker,"TH1ResLFSas", hidmanager.createHistoLayer("Res_LF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate"); stereoandmatchedMEs.meResLFSas->setAxisTitle(("Hit Residuals(x) (local frame) (stereo) in " + label).c_str()); } //ResMFSas if(layerswitchResMFSas) { - stereoandmatchedMEs.meResMFSas = bookME1D("TH1ResMFSas", hidmanager.createHistoLayer("Res_MF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate"); + stereoandmatchedMEs.meResMFSas = bookME1D(ibooker,"TH1ResMFSas", hidmanager.createHistoLayer("Res_MF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate"); stereoandmatchedMEs.meResMFSas->setAxisTitle(("Hit Residuals(x) (stereo) in " + label).c_str()); } //PullLFSas if(layerswitchPullLFSas) { - stereoandmatchedMEs.mePullLFSas = bookME1D("TH1PullLFSas", hidmanager.createHistoLayer("Pull_LF_sas","layer",label,"").c_str() ,"Pull distribution"); + stereoandmatchedMEs.mePullLFSas = bookME1D(ibooker,"TH1PullLFSas", hidmanager.createHistoLayer("Pull_LF_sas","layer",label,"").c_str() ,"Pull distribution"); stereoandmatchedMEs.mePullLFSas->setAxisTitle(("Pull distribution (local frame) (stereo) in " + label).c_str()); } //PullMFSas if(layerswitchPullMFSas) { - stereoandmatchedMEs.mePullMFSas = bookME1D("TH1PullMFSas", hidmanager.createHistoLayer("Pull_MF_sas","layer",label,"").c_str() ,"Pull distribution"); + stereoandmatchedMEs.mePullMFSas = bookME1D(ibooker,"TH1PullMFSas", hidmanager.createHistoLayer("Pull_MF_sas","layer",label,"").c_str() ,"Pull distribution"); stereoandmatchedMEs.mePullMFSas->setAxisTitle(("Pull distribution (measurement frame) (stereo) in " + label).c_str()); } if(layerswitchTrackangleSas) { - stereoandmatchedMEs.meTrackangleSas = bookME1D("TH1TrackangleSas",hidmanager.createHistoLayer("Track_angle_Sas","layer",label,"").c_str() ,"Track angle"); + stereoandmatchedMEs.meTrackangleSas = bookME1D(ibooker,"TH1TrackangleSas",hidmanager.createHistoLayer("Track_angle_Sas","layer",label,"").c_str() ,"Track angle"); stereoandmatchedMEs.meTrackangleSas->setAxisTitle(("Track angle (stereo) in " + label).c_str()); } if(layerswitchTrackanglebetaSas) { - stereoandmatchedMEs.meTrackanglebetaSas = bookME1D("TH1TrackanglebetaSas",hidmanager.createHistoLayer("Track_angle_beta_Sas","layer",label,"").c_str() ,"Track angle beta"); + stereoandmatchedMEs.meTrackanglebetaSas = bookME1D(ibooker,"TH1TrackanglebetaSas",hidmanager.createHistoLayer("Track_angle_beta_Sas","layer",label,"").c_str() ,"Track angle beta"); stereoandmatchedMEs.meTrackanglebetaSas->setAxisTitle(("Track angle beta (stereo) in " + label).c_str()); } if(layerswitchPullTrackangleProfileSas) { - stereoandmatchedMEs.mePullTrackangleProfileSas = bookMEProfile("TProfPullTrackangleProfileSas",hidmanager.createHistoLayer("Pull_Track_angle_Profile_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track angle (stereo)"); + stereoandmatchedMEs.mePullTrackangleProfileSas = bookMEProfile(ibooker,"TProfPullTrackangleProfileSas",hidmanager.createHistoLayer("Pull_Track_angle_Profile_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track angle (stereo)"); stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle(("track angle (stereo) in " + label).c_str(),1); stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle(("Pull in MF (stereo) in " + label).c_str(),2); } if(layerswitchTrackwidthSas) { - stereoandmatchedMEs.meTrackwidthSas = bookME1D("TH1TrackwidthSas",hidmanager.createHistoLayer("Track_width_Sas","layer",label,"").c_str() ,"Track width"); + stereoandmatchedMEs.meTrackwidthSas = bookME1D(ibooker,"TH1TrackwidthSas",hidmanager.createHistoLayer("Track_width_Sas","layer",label,"").c_str() ,"Track width"); stereoandmatchedMEs.meTrackwidthSas->setAxisTitle(("Track width (stereo) in " + label).c_str()); } if(layerswitchExpectedwidthSas) { - stereoandmatchedMEs.meExpectedwidthSas = bookME1D("TH1ExpectedwidthSas",hidmanager.createHistoLayer("Expected_width_Sas","layer",label,"").c_str() ,"Expected width"); + stereoandmatchedMEs.meExpectedwidthSas = bookME1D(ibooker,"TH1ExpectedwidthSas",hidmanager.createHistoLayer("Expected_width_Sas","layer",label,"").c_str() ,"Expected width"); stereoandmatchedMEs.meExpectedwidthSas->setAxisTitle(("Expected width (stereo) in " + label).c_str()); } if(layerswitchClusterwidthSas) { - stereoandmatchedMEs.meClusterwidthSas = bookME1D("TH1ClusterwidthSas",hidmanager.createHistoLayer("Cluster_width_Sas","layer",label,"").c_str() ,"Cluster width"); + stereoandmatchedMEs.meClusterwidthSas = bookME1D(ibooker,"TH1ClusterwidthSas",hidmanager.createHistoLayer("Cluster_width_Sas","layer",label,"").c_str() ,"Cluster width"); stereoandmatchedMEs.meClusterwidthSas->setAxisTitle(("Cluster width (stereo) in " + label).c_str()); } if(layerswitchCategorySas) { - stereoandmatchedMEs.meCategorySas = bookME1D("TH1CategorySas",hidmanager.createHistoLayer("Category_Sas","layer",label,"").c_str() ,"Category"); + stereoandmatchedMEs.meCategorySas = bookME1D(ibooker,"TH1CategorySas",hidmanager.createHistoLayer("Category_Sas","layer",label,"").c_str() ,"Category"); stereoandmatchedMEs.meCategorySas->setAxisTitle(("Category (stereo) in " + label).c_str()); } if(layerswitchPullTrackwidthProfileSas) { - stereoandmatchedMEs.mePullTrackwidthProfileSas = bookMEProfile("TProfPullTrackwidthProfileSas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (stereo)"); + stereoandmatchedMEs.mePullTrackwidthProfileSas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileSas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (stereo)"); stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle(("track width (stereo) in " + label).c_str(),1); stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle(("Pull in MF (stereo) in " + label).c_str(),2); } if(layerswitchPullTrackwidthProfileCategory1Sas) { - stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas = bookMEProfile("TProfPullTrackwidthProfileCategory1Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 1) (stereo)"); + stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory1Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 1) (stereo)"); stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas->setAxisTitle(("track width (Category 1) (stereo) in " + label).c_str(),1); stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas->setAxisTitle(("Pull in MF (Category 1) (stereo) in " + label).c_str(),2); } if(layerswitchPullTrackwidthProfileCategory2Sas) { - stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas = bookMEProfile("TProfPullTrackwidthProfileCategory2Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 2) (stereo)"); + stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory2Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 2) (stereo)"); stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas->setAxisTitle(("track width (Category 2) (stereo) in " + label).c_str(),1); stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas->setAxisTitle(("Pull in MF (Category 2) (stereo) in " + label).c_str(),2); } if(layerswitchPullTrackwidthProfileCategory3Sas) { - stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas = bookMEProfile("TProfPullTrackwidthProfileCategory3Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 3) (stereo)"); + stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory3Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 3) (stereo)"); stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas->setAxisTitle(("track width (Category 3) (stereo) in " + label).c_str(),1); stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas->setAxisTitle(("Pull in MF (Category 3) (stereo) in " + label).c_str(),2); } if(layerswitchPullTrackwidthProfileCategory4Sas) { - stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas = bookMEProfile("TProfPullTrackwidthProfileCategory4Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 4) (stereo)"); + stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory4Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 4) (stereo)"); stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas->setAxisTitle(("track width (Category 4) (stereo) in " + label).c_str(),1); stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas->setAxisTitle(("Pull in MF (Category 4) (stereo) in " + label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileSas) { - stereoandmatchedMEs.meResolxMFTrackwidthProfileSas = bookMEProfile("TProfResolxMFTrackwidthProfileSas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (stereo)"); + stereoandmatchedMEs.meResolxMFTrackwidthProfileSas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileSas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (stereo)"); stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle(("track width (stereo) in " + label).c_str(),1); stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle(("Resolution in MF (stereo) in " + label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileCategory1Sas) { - stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas = bookMEProfile("TProfResolxMFTrackwidthProfileCategory1Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 1) (stereo)"); + stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory1Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 1) (stereo)"); stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas->setAxisTitle((" track width (Category 1) (stereo) in " + label).c_str(),1); stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas->setAxisTitle((" Resolution in MF (Category 1) (stereo) in " + label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileCategory2Sas) { - stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas = bookMEProfile("TProfResolxMFTrackwidthProfileCategory2Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 2) (stereo)"); + stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory2Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 2) (stereo)"); stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas->setAxisTitle((" track width (Category 2) (stereo) in " + label).c_str(),1); stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas->setAxisTitle((" Resolution in MF (Category 2) (stereo) in " + label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileCategory3Sas) { - stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas = bookMEProfile("TProfResolxMFTrackwidthProfileCategory3Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 3) (stereo)"); + stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory3Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 3) (stereo)"); stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas->setAxisTitle((" track width (Category 3) (stereo) in " + label).c_str(),1); stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas->setAxisTitle((" Resolution in MF (Category 3) (stereo) in " + label).c_str(),2); } if(layerswitchResolxMFTrackwidthProfileCategory4Sas) { - stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas = bookMEProfile("TProfResolxMFTrackwidthProfileCategory4Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category4_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 4) (stereo)"); + stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory4Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category4_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 4) (stereo)"); stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas->setAxisTitle((" track width (Category 4) (stereo) in " + label).c_str(),1); stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas->setAxisTitle((" Resolution in MF (Category 4) (stereo) in " + label).c_str(),2); } if(layerswitchResolxMFClusterwidthProfileCategory1Sas) { - stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas = bookMEProfile("TProfResolxMFClusterwidthProfileCategory1Sas",hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs cluster width (Category 1) (stereo)"); + stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas = bookMEProfile(ibooker,"TProfResolxMFClusterwidthProfileCategory1Sas",hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs cluster width (Category 1) (stereo)"); stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas->setAxisTitle(("cluster width (Category 1) (stereo) in " + label).c_str(),1); stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas->setAxisTitle((" Resolution in MF (Category 1) (stereo) in " + label).c_str(),2); } if(layerswitchResolxMFAngleProfileSas) { - stereoandmatchedMEs.meResolxMFAngleProfileSas = bookMEProfile("TProfResolxMFAngleProfileSas",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle (stereo)"); + stereoandmatchedMEs.meResolxMFAngleProfileSas = bookMEProfile(ibooker,"TProfResolxMFAngleProfileSas",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle (stereo)"); stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle(("track angle (stereo) in " + label).c_str(),1); stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle(("Resolution in MF (stereo) in " + label).c_str(),2); } //PosxMatched if(layerswitchPosxMatched) { - stereoandmatchedMEs.mePosxMatched = bookME1D("TH1PosxMatched", hidmanager.createHistoLayer("Posx_matched","layer",label,"").c_str() ,"RecHit x coord."); + stereoandmatchedMEs.mePosxMatched = bookME1D(ibooker,"TH1PosxMatched", hidmanager.createHistoLayer("Posx_matched","layer",label,"").c_str() ,"RecHit x coord."); stereoandmatchedMEs.mePosxMatched->setAxisTitle(("x coord. matched RecHit (local frame) in " + label).c_str()); } //PosyMatched if(layerswitchPosyMatched) { - stereoandmatchedMEs.mePosyMatched = bookME1D("TH1PosyMatched", hidmanager.createHistoLayer("Posy_matched","layer",label,"").c_str() ,"RecHit y coord."); + stereoandmatchedMEs.mePosyMatched = bookME1D(ibooker,"TH1PosyMatched", hidmanager.createHistoLayer("Posy_matched","layer",label,"").c_str() ,"RecHit y coord."); stereoandmatchedMEs.mePosyMatched->setAxisTitle(("y coord. matched RecHit (local frame) in " + label).c_str()); } //ResolxMatched if(layerswitchResolxMatched) { - stereoandmatchedMEs.meResolxMatched = bookME1D("TH1ResolxMatched", hidmanager.createHistoLayer("Resolx_matched","layer",label,"").c_str() ,"RecHit resol(x) coord."); + stereoandmatchedMEs.meResolxMatched = bookME1D(ibooker,"TH1ResolxMatched", hidmanager.createHistoLayer("Resolx_matched","layer",label,"").c_str() ,"RecHit resol(x) coord."); stereoandmatchedMEs.meResolxMatched->setAxisTitle(("resol(x) coord. matched RecHit (local frame) in " + label).c_str()); } //ResolyMatched if(layerswitchResolyMatched) { - stereoandmatchedMEs.meResolyMatched = bookME1D("TH1ResolyMatched", hidmanager.createHistoLayer("Resoly_matched","layer",label,"").c_str() ,"RecHit resol(y) coord."); + stereoandmatchedMEs.meResolyMatched = bookME1D(ibooker,"TH1ResolyMatched", hidmanager.createHistoLayer("Resoly_matched","layer",label,"").c_str() ,"RecHit resol(y) coord."); stereoandmatchedMEs.meResolyMatched->setAxisTitle(("resol(y) coord. matched RecHit (local frame) in " + label).c_str()); } //ResxMatched if(layerswitchResxMatched) { - stereoandmatchedMEs.meResxMatched = bookME1D("TH1ResxMatched", hidmanager.createHistoLayer("Resx_matched","layer",label,"").c_str() ,"Residual of the hit x coord."); + stereoandmatchedMEs.meResxMatched = bookME1D(ibooker,"TH1ResxMatched", hidmanager.createHistoLayer("Resx_matched","layer",label,"").c_str() ,"Residual of the hit x coord."); stereoandmatchedMEs.meResxMatched->setAxisTitle(("Residuals(x) in matched RecHit in " + label).c_str()); } //ResyMatched if(layerswitchResyMatched) { - stereoandmatchedMEs.meResyMatched = bookME1D("TH1ResyMatched", hidmanager.createHistoLayer("Resy_matched","layer",label,"").c_str() ,"Residual of the hit x coord."); + stereoandmatchedMEs.meResyMatched = bookME1D(ibooker,"TH1ResyMatched", hidmanager.createHistoLayer("Resy_matched","layer",label,"").c_str() ,"Residual of the hit x coord."); stereoandmatchedMEs.meResyMatched->setAxisTitle(("Res(y) in matched RecHit in " + label).c_str()); } @@ -2130,21 +2131,21 @@ void SiStripTrackingRecHitsValid::createStereoAndMatchedMEs(std::string label) } //------------------------------------------------------------------------------------------ -MonitorElement* SiStripTrackingRecHitsValid::bookME1D(const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle) +MonitorElement* SiStripTrackingRecHitsValid::bookME1D(DQMStore::IBooker & ibooker,const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle) { Parameters = conf_.getParameter(ParameterSetLabel); - return dbe_->book1D(HistoName,HistoTitle, + return ibooker.book1D(HistoName,HistoTitle, Parameters.getParameter("Nbinx"), Parameters.getParameter("xmin"), Parameters.getParameter("xmax") ); } //------------------------------------------------------------------------------------------ -MonitorElement* SiStripTrackingRecHitsValid::bookMEProfile(const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle) +MonitorElement* SiStripTrackingRecHitsValid::bookMEProfile(DQMStore::IBooker & ibooker,const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle) { Parameters = conf_.getParameter(ParameterSetLabel); //The number of channels in Y is disregarded in a profile plot. - return dbe_->bookProfile(HistoName,HistoTitle, + return ibooker.bookProfile(HistoName,HistoTitle, Parameters.getParameter("Nbinx"), Parameters.getParameter("xmin"), Parameters.getParameter("xmax"), diff --git a/Validation/TrackerDigis/interface/SiPixelDigiValid.h b/Validation/TrackerDigis/interface/SiPixelDigiValid.h index 2cf80e4df8363..0aa28b70cb5ba 100644 --- a/Validation/TrackerDigis/interface/SiPixelDigiValid.h +++ b/Validation/TrackerDigis/interface/SiPixelDigiValid.h @@ -3,6 +3,7 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDAnalyzer.h" +#include #include @@ -13,7 +14,7 @@ class PixelDigi; class DQMStore; class MonitorElement; -class SiPixelDigiValid: public edm::EDAnalyzer { +class SiPixelDigiValid: public DQMEDAnalyzer { public: @@ -23,12 +24,13 @@ class SiPixelDigiValid: public edm::EDAnalyzer { protected: void analyze(const edm::Event& e, const edm::EventSetup& c); void beginJob(); - void beginRun(edm::Run const& r, edm::EventSetup const& es); + void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es); void endJob(void); private: std::string outputFile_; + bool runStandalone; //////Barrel Pixel /* 1st Layer */ diff --git a/Validation/TrackerDigis/interface/SiStripDigiValid.h b/Validation/TrackerDigis/interface/SiStripDigiValid.h index cc0a42a6ff738..8a4a68ea67ff9 100644 --- a/Validation/TrackerDigis/interface/SiStripDigiValid.h +++ b/Validation/TrackerDigis/interface/SiStripDigiValid.h @@ -3,6 +3,7 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDAnalyzer.h" +#include #include @@ -13,7 +14,7 @@ class SiStripDigi; class DQMStore; class MonitorElement; -class SiStripDigiValid: public edm::EDAnalyzer { +class SiStripDigiValid: public DQMEDAnalyzer { public: @@ -23,7 +24,7 @@ class SiStripDigiValid: public edm::EDAnalyzer { protected: void analyze(const edm::Event& e, const edm::EventSetup& c); void beginJob(); - void beginRun(edm::Run const& r, edm::EventSetup const& es); + void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es); void endJob(void); private: @@ -174,6 +175,7 @@ class SiStripDigiValid: public edm::EDAnalyzer { //Back-End Interface DQMStore* dbe_; + bool runStandalone; std::string outputFile_; edm::EDGetTokenT< edm::DetSetVector > edmDetSetVector_SiStripDigi_Token_; }; diff --git a/Validation/TrackerDigis/plugins/SiPixelDigiValid.cc b/Validation/TrackerDigis/plugins/SiPixelDigiValid.cc index 2fd09b5e4395c..1c21a127a9295 100644 --- a/Validation/TrackerDigis/plugins/SiPixelDigiValid.cc +++ b/Validation/TrackerDigis/plugins/SiPixelDigiValid.cc @@ -25,6 +25,7 @@ SiPixelDigiValid::SiPixelDigiValid(const edm::ParameterSet& ps) : outputFile_( ps.getUntrackedParameter( "outputFile", "pixeldigihisto.root" ) ) + , runStandalone ( ps.getParameter("runStandalone") ) , dbe_(0) , edmDetSetVector_PixelDigi_Token_( consumes< edm::DetSetVector >( ps.getParameter( "src" ) ) ) { @@ -32,251 +33,249 @@ SiPixelDigiValid::SiPixelDigiValid(const edm::ParameterSet& ps) } SiPixelDigiValid::~SiPixelDigiValid(){ - - // if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); } void SiPixelDigiValid::beginJob(){ - } -void SiPixelDigiValid::beginRun(edm::Run const& r, edm::EventSetup const& es) { +void SiPixelDigiValid::bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es){ dbe_ = edm::Service().operator->(); if ( dbe_ ) { - dbe_->setCurrentFolder("TrackerDigisV/TrackerDigis/Pixel"); - - meDigiMultiLayer1Ring1_ = dbe_->book1D("digimulti_layer1ring1","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer1Ring2_ = dbe_->book1D("digimulti_layer1ring2","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer1Ring3_ = dbe_->book1D("digimulti_layer1ring3","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer1Ring4_ = dbe_->book1D("digimulti_layer1ring4","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer1Ring5_ = dbe_->book1D("digimulti_layer1ring5","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer1Ring6_ = dbe_->book1D("digimulti_layer1ring6","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer1Ring7_ = dbe_->book1D("digimulti_layer1ring7","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer1Ring8_ = dbe_->book1D("digimulti_layer1ring8","Digi Multiplicity ",30, 0., 30.); - - meDigiMultiLayer2Ring1_ = dbe_->book1D("digimulti_layer2ring1","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer2Ring2_ = dbe_->book1D("digimulti_layer2ring2","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer2Ring3_ = dbe_->book1D("digimulti_layer2ring3","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer2Ring4_ = dbe_->book1D("digimulti_layer2ring4","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer2Ring5_ = dbe_->book1D("digimulti_layer2ring5","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer2Ring6_ = dbe_->book1D("digimulti_layer2ring6","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer2Ring7_ = dbe_->book1D("digimulti_layer2ring7","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer2Ring8_ = dbe_->book1D("digimulti_layer2ring8","Digi Multiplicity ",30, 0., 30.); - - meDigiMultiLayer3Ring1_ = dbe_->book1D("digimulti_layer3ring1","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer3Ring2_ = dbe_->book1D("digimulti_layer3ring2","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer3Ring3_ = dbe_->book1D("digimulti_layer3ring3","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer3Ring4_ = dbe_->book1D("digimulti_layer3ring4","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer3Ring5_ = dbe_->book1D("digimulti_layer3ring5","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer3Ring6_ = dbe_->book1D("digimulti_layer3ring6","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer3Ring7_ = dbe_->book1D("digimulti_layer3ring7","Digi Multiplicity ",30, 0., 30.); - meDigiMultiLayer3Ring8_ = dbe_->book1D("digimulti_layer3ring8","Digi Multiplicity ",30, 0., 30.); + ibooker.setCurrentFolder("TrackerDigisV/TrackerDigis/Pixel"); + + meDigiMultiLayer1Ring1_ = ibooker.book1D("digimulti_layer1ring1","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer1Ring2_ = ibooker.book1D("digimulti_layer1ring2","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer1Ring3_ = ibooker.book1D("digimulti_layer1ring3","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer1Ring4_ = ibooker.book1D("digimulti_layer1ring4","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer1Ring5_ = ibooker.book1D("digimulti_layer1ring5","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer1Ring6_ = ibooker.book1D("digimulti_layer1ring6","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer1Ring7_ = ibooker.book1D("digimulti_layer1ring7","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer1Ring8_ = ibooker.book1D("digimulti_layer1ring8","Digi Multiplicity ",30, 0., 30.); + + meDigiMultiLayer2Ring1_ = ibooker.book1D("digimulti_layer2ring1","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer2Ring2_ = ibooker.book1D("digimulti_layer2ring2","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer2Ring3_ = ibooker.book1D("digimulti_layer2ring3","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer2Ring4_ = ibooker.book1D("digimulti_layer2ring4","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer2Ring5_ = ibooker.book1D("digimulti_layer2ring5","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer2Ring6_ = ibooker.book1D("digimulti_layer2ring6","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer2Ring7_ = ibooker.book1D("digimulti_layer2ring7","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer2Ring8_ = ibooker.book1D("digimulti_layer2ring8","Digi Multiplicity ",30, 0., 30.); + + meDigiMultiLayer3Ring1_ = ibooker.book1D("digimulti_layer3ring1","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer3Ring2_ = ibooker.book1D("digimulti_layer3ring2","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer3Ring3_ = ibooker.book1D("digimulti_layer3ring3","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer3Ring4_ = ibooker.book1D("digimulti_layer3ring4","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer3Ring5_ = ibooker.book1D("digimulti_layer3ring5","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer3Ring6_ = ibooker.book1D("digimulti_layer3ring6","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer3Ring7_ = ibooker.book1D("digimulti_layer3ring7","Digi Multiplicity ",30, 0., 30.); + meDigiMultiLayer3Ring8_ = ibooker.book1D("digimulti_layer3ring8","Digi Multiplicity ",30, 0., 30.); /////Barrel - meAdcLayer1Ring1_ = dbe_->book1D("adc_layer1ring1","Digi charge",50, 0., 300.); - meAdcLayer1Ring2_ = dbe_->book1D("adc_layer1ring2","Digi charge",50, 0., 300.); - meAdcLayer1Ring3_ = dbe_->book1D("adc_layer1ring3","Digi charge",50, 0., 300.); - meAdcLayer1Ring4_ = dbe_->book1D("adc_layer1ring4","Digi charge",50, 0., 300.); - meAdcLayer1Ring5_ = dbe_->book1D("adc_layer1ring5","Digi charge",50, 0., 300.); - meAdcLayer1Ring6_ = dbe_->book1D("adc_layer1ring6","Digi charge",50, 0., 300.); - meAdcLayer1Ring7_ = dbe_->book1D("adc_layer1ring7","Digi charge",50, 0., 300.); - meAdcLayer1Ring8_ = dbe_->book1D("adc_layer1ring8","Digi charge",50, 0., 300.); - - meRowLayer1Ring1_ = dbe_->book1D("row_layer1ring1","Digi row",50, 0., 200.); - meRowLayer1Ring2_ = dbe_->book1D("row_layer1ring2","Digi row",50, 0., 200.); - meRowLayer1Ring3_ = dbe_->book1D("row_layer1ring3","Digi row",50, 0., 200.); - meRowLayer1Ring4_ = dbe_->book1D("row_layer1ring4","Digi row",50, 0., 200.); - meRowLayer1Ring5_ = dbe_->book1D("row_layer1ring5","Digi row",50, 0., 200.); - meRowLayer1Ring6_ = dbe_->book1D("row_layer1ring6","Digi row",50, 0., 200.); - meRowLayer1Ring7_ = dbe_->book1D("row_layer1ring7","Digi row",50, 0., 200.); - meRowLayer1Ring8_ = dbe_->book1D("row_layer1ring8","Digi row",50, 0., 200.); - - meColLayer1Ring1_ = dbe_->book1D("col_layer1ring1","Digi column",50, 0., 500.); - meColLayer1Ring2_ = dbe_->book1D("col_layer1ring2","Digi column",50, 0., 500.); - meColLayer1Ring3_ = dbe_->book1D("col_layer1ring3","Digi column",50, 0., 500.); - meColLayer1Ring4_ = dbe_->book1D("col_layer1ring4","Digi column",50, 0., 500.); - meColLayer1Ring5_ = dbe_->book1D("col_layer1ring5","Digi column",50, 0., 500.); - meColLayer1Ring6_ = dbe_->book1D("col_layer1ring6","Digi column",50, 0., 500.); - meColLayer1Ring7_ = dbe_->book1D("col_layer1ring7","Digi column",50, 0., 500.); - meColLayer1Ring8_ = dbe_->book1D("col_layer1ring8","Digi column",50, 0., 500.); - - - meAdcLayer2Ring1_ = dbe_->book1D("adc_layer2ring1","Digi charge",50, 0., 300.); - meAdcLayer2Ring2_ = dbe_->book1D("adc_layer2ring2","Digi charge",50, 0., 300.); - meAdcLayer2Ring3_ = dbe_->book1D("adc_layer2ring3","Digi charge",50, 0., 300.); - meAdcLayer2Ring4_ = dbe_->book1D("adc_layer2ring4","Digi charge",50, 0., 300.); - meAdcLayer2Ring5_ = dbe_->book1D("adc_layer2ring5","Digi charge",50, 0., 300.); - meAdcLayer2Ring6_ = dbe_->book1D("adc_layer2ring6","Digi charge",50, 0., 300.); - meAdcLayer2Ring7_ = dbe_->book1D("adc_layer2ring7","Digi charge",50, 0., 300.); - meAdcLayer2Ring8_ = dbe_->book1D("adc_layer2ring8","Digi charge",50, 0., 300.); - - meRowLayer2Ring1_ = dbe_->book1D("row_layer2ring1","Digi row",50, 0., 200.); - meRowLayer2Ring2_ = dbe_->book1D("row_layer2ring2","Digi row",50, 0., 200.); - meRowLayer2Ring3_ = dbe_->book1D("row_layer2ring3","Digi row",50, 0., 200.); - meRowLayer2Ring4_ = dbe_->book1D("row_layer2ring4","Digi row",50, 0., 200.); - meRowLayer2Ring5_ = dbe_->book1D("row_layer2ring5","Digi row",50, 0., 200.); - meRowLayer2Ring6_ = dbe_->book1D("row_layer2ring6","Digi row",50, 0., 200.); - meRowLayer2Ring7_ = dbe_->book1D("row_layer2ring7","Digi row",50, 0., 200.); - meRowLayer2Ring8_ = dbe_->book1D("row_layer2ring8","Digi row",50, 0., 200.); - - meColLayer2Ring1_ = dbe_->book1D("col_layer2ring1","Digi column",50, 0., 500.); - meColLayer2Ring2_ = dbe_->book1D("col_layer2ring2","Digi column",50, 0., 500.); - meColLayer2Ring3_ = dbe_->book1D("col_layer2ring3","Digi column",50, 0., 500.); - meColLayer2Ring4_ = dbe_->book1D("col_layer2ring4","Digi column",50, 0., 500.); - meColLayer2Ring5_ = dbe_->book1D("col_layer2ring5","Digi column",50, 0., 500.); - meColLayer2Ring6_ = dbe_->book1D("col_layer2ring6","Digi column",50, 0., 500.); - meColLayer2Ring7_ = dbe_->book1D("col_layer2ring7","Digi column",50, 0., 500.); - meColLayer2Ring8_ = dbe_->book1D("col_layer2ring8","Digi column",50, 0., 500.); - - - meAdcLayer3Ring1_ = dbe_->book1D("adc_layer3ring1","Digi charge",50, 0., 300.); - meAdcLayer3Ring2_ = dbe_->book1D("adc_layer3ring2","Digi charge",50, 0., 300.); - meAdcLayer3Ring3_ = dbe_->book1D("adc_layer3ring3","Digi charge",50, 0., 300.); - meAdcLayer3Ring4_ = dbe_->book1D("adc_layer3ring4","Digi charge",50, 0., 300.); - meAdcLayer3Ring5_ = dbe_->book1D("adc_layer3ring5","Digi charge",50, 0., 300.); - meAdcLayer3Ring6_ = dbe_->book1D("adc_layer3ring6","Digi charge",50, 0., 300.); - meAdcLayer3Ring7_ = dbe_->book1D("adc_layer3ring7","Digi charge",50, 0., 300.); - meAdcLayer3Ring8_ = dbe_->book1D("adc_layer3ring8","Digi charge",50, 0., 300.); - - meRowLayer3Ring1_ = dbe_->book1D("row_layer3ring1","Digi row",50, 0., 200.); - meRowLayer3Ring2_ = dbe_->book1D("row_layer3ring2","Digi row",50, 0., 200.); - meRowLayer3Ring3_ = dbe_->book1D("row_layer3ring3","Digi row",50, 0., 200.); - meRowLayer3Ring4_ = dbe_->book1D("row_layer3ring4","Digi row",50, 0., 200.); - meRowLayer3Ring5_ = dbe_->book1D("row_layer3ring5","Digi row",50, 0., 200.); - meRowLayer3Ring6_ = dbe_->book1D("row_layer3ring6","Digi row",50, 0., 200.); - meRowLayer3Ring7_ = dbe_->book1D("row_layer3ring7","Digi row",50, 0., 200.); - meRowLayer3Ring8_ = dbe_->book1D("row_layer3ring8","Digi row",50, 0., 200.); - - meColLayer3Ring1_ = dbe_->book1D("col_layer3ring1","Digi column",50, 0., 500.); - meColLayer3Ring2_ = dbe_->book1D("col_layer3ring2","Digi column",50, 0., 500.); - meColLayer3Ring3_ = dbe_->book1D("col_layer3ring3","Digi column",50, 0., 500.); - meColLayer3Ring4_ = dbe_->book1D("col_layer3ring4","Digi column",50, 0., 500.); - meColLayer3Ring5_ = dbe_->book1D("col_layer3ring5","Digi column",50, 0., 500.); - meColLayer3Ring6_ = dbe_->book1D("col_layer3ring6","Digi column",50, 0., 500.); - meColLayer3Ring7_ = dbe_->book1D("col_layer3ring7","Digi column",50, 0., 500.); - meColLayer3Ring8_ = dbe_->book1D("col_layer3ring8","Digi column",50, 0., 500.); - - meDigiMultiLayer1Ladders_ =dbe_->bookProfile("digi_layer1_ladders","Digi Num. per ladder",22,0.0,21.0, 100, 0.0, 100); - meDigiMultiLayer2Ladders_ =dbe_->bookProfile("digi_layer2_ladders","Digi Num. per ladder",34,0.0,32.0, 100, 0.0, 100); - meDigiMultiLayer3Ladders_ =dbe_->bookProfile("digi_layer3_ladders","Digi Num. per ladder",46,0.0,45.0, 100, 0.0, 100); + meAdcLayer1Ring1_ = ibooker.book1D("adc_layer1ring1","Digi charge",50, 0., 300.); + meAdcLayer1Ring2_ = ibooker.book1D("adc_layer1ring2","Digi charge",50, 0., 300.); + meAdcLayer1Ring3_ = ibooker.book1D("adc_layer1ring3","Digi charge",50, 0., 300.); + meAdcLayer1Ring4_ = ibooker.book1D("adc_layer1ring4","Digi charge",50, 0., 300.); + meAdcLayer1Ring5_ = ibooker.book1D("adc_layer1ring5","Digi charge",50, 0., 300.); + meAdcLayer1Ring6_ = ibooker.book1D("adc_layer1ring6","Digi charge",50, 0., 300.); + meAdcLayer1Ring7_ = ibooker.book1D("adc_layer1ring7","Digi charge",50, 0., 300.); + meAdcLayer1Ring8_ = ibooker.book1D("adc_layer1ring8","Digi charge",50, 0., 300.); + + meRowLayer1Ring1_ = ibooker.book1D("row_layer1ring1","Digi row",50, 0., 200.); + meRowLayer1Ring2_ = ibooker.book1D("row_layer1ring2","Digi row",50, 0., 200.); + meRowLayer1Ring3_ = ibooker.book1D("row_layer1ring3","Digi row",50, 0., 200.); + meRowLayer1Ring4_ = ibooker.book1D("row_layer1ring4","Digi row",50, 0., 200.); + meRowLayer1Ring5_ = ibooker.book1D("row_layer1ring5","Digi row",50, 0., 200.); + meRowLayer1Ring6_ = ibooker.book1D("row_layer1ring6","Digi row",50, 0., 200.); + meRowLayer1Ring7_ = ibooker.book1D("row_layer1ring7","Digi row",50, 0., 200.); + meRowLayer1Ring8_ = ibooker.book1D("row_layer1ring8","Digi row",50, 0., 200.); + + meColLayer1Ring1_ = ibooker.book1D("col_layer1ring1","Digi column",50, 0., 500.); + meColLayer1Ring2_ = ibooker.book1D("col_layer1ring2","Digi column",50, 0., 500.); + meColLayer1Ring3_ = ibooker.book1D("col_layer1ring3","Digi column",50, 0., 500.); + meColLayer1Ring4_ = ibooker.book1D("col_layer1ring4","Digi column",50, 0., 500.); + meColLayer1Ring5_ = ibooker.book1D("col_layer1ring5","Digi column",50, 0., 500.); + meColLayer1Ring6_ = ibooker.book1D("col_layer1ring6","Digi column",50, 0., 500.); + meColLayer1Ring7_ = ibooker.book1D("col_layer1ring7","Digi column",50, 0., 500.); + meColLayer1Ring8_ = ibooker.book1D("col_layer1ring8","Digi column",50, 0., 500.); + + + meAdcLayer2Ring1_ = ibooker.book1D("adc_layer2ring1","Digi charge",50, 0., 300.); + meAdcLayer2Ring2_ = ibooker.book1D("adc_layer2ring2","Digi charge",50, 0., 300.); + meAdcLayer2Ring3_ = ibooker.book1D("adc_layer2ring3","Digi charge",50, 0., 300.); + meAdcLayer2Ring4_ = ibooker.book1D("adc_layer2ring4","Digi charge",50, 0., 300.); + meAdcLayer2Ring5_ = ibooker.book1D("adc_layer2ring5","Digi charge",50, 0., 300.); + meAdcLayer2Ring6_ = ibooker.book1D("adc_layer2ring6","Digi charge",50, 0., 300.); + meAdcLayer2Ring7_ = ibooker.book1D("adc_layer2ring7","Digi charge",50, 0., 300.); + meAdcLayer2Ring8_ = ibooker.book1D("adc_layer2ring8","Digi charge",50, 0., 300.); + + meRowLayer2Ring1_ = ibooker.book1D("row_layer2ring1","Digi row",50, 0., 200.); + meRowLayer2Ring2_ = ibooker.book1D("row_layer2ring2","Digi row",50, 0., 200.); + meRowLayer2Ring3_ = ibooker.book1D("row_layer2ring3","Digi row",50, 0., 200.); + meRowLayer2Ring4_ = ibooker.book1D("row_layer2ring4","Digi row",50, 0., 200.); + meRowLayer2Ring5_ = ibooker.book1D("row_layer2ring5","Digi row",50, 0., 200.); + meRowLayer2Ring6_ = ibooker.book1D("row_layer2ring6","Digi row",50, 0., 200.); + meRowLayer2Ring7_ = ibooker.book1D("row_layer2ring7","Digi row",50, 0., 200.); + meRowLayer2Ring8_ = ibooker.book1D("row_layer2ring8","Digi row",50, 0., 200.); + + meColLayer2Ring1_ = ibooker.book1D("col_layer2ring1","Digi column",50, 0., 500.); + meColLayer2Ring2_ = ibooker.book1D("col_layer2ring2","Digi column",50, 0., 500.); + meColLayer2Ring3_ = ibooker.book1D("col_layer2ring3","Digi column",50, 0., 500.); + meColLayer2Ring4_ = ibooker.book1D("col_layer2ring4","Digi column",50, 0., 500.); + meColLayer2Ring5_ = ibooker.book1D("col_layer2ring5","Digi column",50, 0., 500.); + meColLayer2Ring6_ = ibooker.book1D("col_layer2ring6","Digi column",50, 0., 500.); + meColLayer2Ring7_ = ibooker.book1D("col_layer2ring7","Digi column",50, 0., 500.); + meColLayer2Ring8_ = ibooker.book1D("col_layer2ring8","Digi column",50, 0., 500.); + + + meAdcLayer3Ring1_ = ibooker.book1D("adc_layer3ring1","Digi charge",50, 0., 300.); + meAdcLayer3Ring2_ = ibooker.book1D("adc_layer3ring2","Digi charge",50, 0., 300.); + meAdcLayer3Ring3_ = ibooker.book1D("adc_layer3ring3","Digi charge",50, 0., 300.); + meAdcLayer3Ring4_ = ibooker.book1D("adc_layer3ring4","Digi charge",50, 0., 300.); + meAdcLayer3Ring5_ = ibooker.book1D("adc_layer3ring5","Digi charge",50, 0., 300.); + meAdcLayer3Ring6_ = ibooker.book1D("adc_layer3ring6","Digi charge",50, 0., 300.); + meAdcLayer3Ring7_ = ibooker.book1D("adc_layer3ring7","Digi charge",50, 0., 300.); + meAdcLayer3Ring8_ = ibooker.book1D("adc_layer3ring8","Digi charge",50, 0., 300.); + + meRowLayer3Ring1_ = ibooker.book1D("row_layer3ring1","Digi row",50, 0., 200.); + meRowLayer3Ring2_ = ibooker.book1D("row_layer3ring2","Digi row",50, 0., 200.); + meRowLayer3Ring3_ = ibooker.book1D("row_layer3ring3","Digi row",50, 0., 200.); + meRowLayer3Ring4_ = ibooker.book1D("row_layer3ring4","Digi row",50, 0., 200.); + meRowLayer3Ring5_ = ibooker.book1D("row_layer3ring5","Digi row",50, 0., 200.); + meRowLayer3Ring6_ = ibooker.book1D("row_layer3ring6","Digi row",50, 0., 200.); + meRowLayer3Ring7_ = ibooker.book1D("row_layer3ring7","Digi row",50, 0., 200.); + meRowLayer3Ring8_ = ibooker.book1D("row_layer3ring8","Digi row",50, 0., 200.); + + meColLayer3Ring1_ = ibooker.book1D("col_layer3ring1","Digi column",50, 0., 500.); + meColLayer3Ring2_ = ibooker.book1D("col_layer3ring2","Digi column",50, 0., 500.); + meColLayer3Ring3_ = ibooker.book1D("col_layer3ring3","Digi column",50, 0., 500.); + meColLayer3Ring4_ = ibooker.book1D("col_layer3ring4","Digi column",50, 0., 500.); + meColLayer3Ring5_ = ibooker.book1D("col_layer3ring5","Digi column",50, 0., 500.); + meColLayer3Ring6_ = ibooker.book1D("col_layer3ring6","Digi column",50, 0., 500.); + meColLayer3Ring7_ = ibooker.book1D("col_layer3ring7","Digi column",50, 0., 500.); + meColLayer3Ring8_ = ibooker.book1D("col_layer3ring8","Digi column",50, 0., 500.); + + meDigiMultiLayer1Ladders_ =ibooker.bookProfile("digi_layer1_ladders","Digi Num. per ladder",22,0.0,21.0, 100, 0.0, 100); + meDigiMultiLayer2Ladders_ =ibooker.bookProfile("digi_layer2_ladders","Digi Num. per ladder",34,0.0,32.0, 100, 0.0, 100); + meDigiMultiLayer3Ladders_ =ibooker.bookProfile("digi_layer3_ladders","Digi Num. per ladder",46,0.0,45.0, 100, 0.0, 100); //Forward Pixel /* ZMinus Side 1st Disk */ - meAdcZmDisk1Panel1Plaq1_ = dbe_->book1D("adc_zm_disk1_panel1_plaq1","Digi charge",50,0.,300.); - meAdcZmDisk1Panel1Plaq2_ = dbe_->book1D("adc_zm_disk1_panel1_plaq2","Digi charge",50,0.,300.); - meAdcZmDisk1Panel1Plaq3_ = dbe_->book1D("adc_zm_disk1_panel1_plaq3","Digi charge",50,0.,300.); - meAdcZmDisk1Panel1Plaq4_ = dbe_->book1D("adc_zm_disk1_panel1_plaq4","Digi charge",50,0.,300.); - meAdcZmDisk1Panel2Plaq1_ = dbe_->book1D("adc_zm_disk1_panel2_plaq1","Digi charge",50,0.,300.); - meAdcZmDisk1Panel2Plaq2_ = dbe_->book1D("adc_zm_disk1_panel2_plaq2","Digi charge",50,0.,300.); - meAdcZmDisk1Panel2Plaq3_ = dbe_->book1D("adc_zm_disk1_panel2_plaq3","Digi charge",50,0.,300.); - - meRowZmDisk1Panel1Plaq1_ = dbe_->book1D("row_zm_disk1_panel1_plaq1","Digi row",50,0.,100.); - meRowZmDisk1Panel1Plaq2_ = dbe_->book1D("row_zm_disk1_panel1_plaq2","Digi row",50,0.,200.); - meRowZmDisk1Panel1Plaq3_ = dbe_->book1D("row_zm_disk1_panel1_plaq3","Digi row",50,0.,200.); - meRowZmDisk1Panel1Plaq4_ = dbe_->book1D("row_zm_disk1_panel1_plaq4","Digi row",50,0.,100.); - meRowZmDisk1Panel2Plaq1_ = dbe_->book1D("row_zm_disk1_panel2_plaq1","Digi row",50,0.,200.); - meRowZmDisk1Panel2Plaq2_ = dbe_->book1D("row_zm_disk1_panel2_plaq2","Digi row",50,0.,200.); - meRowZmDisk1Panel2Plaq3_ = dbe_->book1D("row_zm_disk1_panel2_plaq3","Digi row",50,0.,200.); - - meColZmDisk1Panel1Plaq1_ = dbe_->book1D("col_zm_disk1_panel1_plaq1","Digi column",50,0.,150.); - meColZmDisk1Panel1Plaq2_ = dbe_->book1D("col_zm_disk1_panel1_plaq2","Digi column",50,0.,200.); - meColZmDisk1Panel1Plaq3_ = dbe_->book1D("col_zm_disk1_panel1_plaq3","Digi column",50,0.,250.); - meColZmDisk1Panel1Plaq4_ = dbe_->book1D("col_zm_disk1_panel1_plaq4","Digi column",50,0.,300.); - meColZmDisk1Panel2Plaq1_ = dbe_->book1D("col_zm_disk1_panel2_plaq1","Digi column",50,0.,200.); - meColZmDisk1Panel2Plaq2_ = dbe_->book1D("col_zm_disk1_panel2_plaq2","Digi column",50,0.,250.); - meColZmDisk1Panel2Plaq3_ = dbe_->book1D("col_zm_disk1_panel2_plaq3","Digi column",50,0.,300.); - meNdigiZmDisk1PerPanel1_ = dbe_->book1D("digi_zm_disk1_panel1","Digi Num. Panel1 Of 1st Disk In ZMinus Side ",30,0.,30.); - meNdigiZmDisk1PerPanel2_ = dbe_->book1D("digi_zm_disk1_panel2","Digi Num. Panel2 Of 1st Disk In ZMinus Side ",30,0.,30.); + meAdcZmDisk1Panel1Plaq1_ = ibooker.book1D("adc_zm_disk1_panel1_plaq1","Digi charge",50,0.,300.); + meAdcZmDisk1Panel1Plaq2_ = ibooker.book1D("adc_zm_disk1_panel1_plaq2","Digi charge",50,0.,300.); + meAdcZmDisk1Panel1Plaq3_ = ibooker.book1D("adc_zm_disk1_panel1_plaq3","Digi charge",50,0.,300.); + meAdcZmDisk1Panel1Plaq4_ = ibooker.book1D("adc_zm_disk1_panel1_plaq4","Digi charge",50,0.,300.); + meAdcZmDisk1Panel2Plaq1_ = ibooker.book1D("adc_zm_disk1_panel2_plaq1","Digi charge",50,0.,300.); + meAdcZmDisk1Panel2Plaq2_ = ibooker.book1D("adc_zm_disk1_panel2_plaq2","Digi charge",50,0.,300.); + meAdcZmDisk1Panel2Plaq3_ = ibooker.book1D("adc_zm_disk1_panel2_plaq3","Digi charge",50,0.,300.); + + meRowZmDisk1Panel1Plaq1_ = ibooker.book1D("row_zm_disk1_panel1_plaq1","Digi row",50,0.,100.); + meRowZmDisk1Panel1Plaq2_ = ibooker.book1D("row_zm_disk1_panel1_plaq2","Digi row",50,0.,200.); + meRowZmDisk1Panel1Plaq3_ = ibooker.book1D("row_zm_disk1_panel1_plaq3","Digi row",50,0.,200.); + meRowZmDisk1Panel1Plaq4_ = ibooker.book1D("row_zm_disk1_panel1_plaq4","Digi row",50,0.,100.); + meRowZmDisk1Panel2Plaq1_ = ibooker.book1D("row_zm_disk1_panel2_plaq1","Digi row",50,0.,200.); + meRowZmDisk1Panel2Plaq2_ = ibooker.book1D("row_zm_disk1_panel2_plaq2","Digi row",50,0.,200.); + meRowZmDisk1Panel2Plaq3_ = ibooker.book1D("row_zm_disk1_panel2_plaq3","Digi row",50,0.,200.); + + meColZmDisk1Panel1Plaq1_ = ibooker.book1D("col_zm_disk1_panel1_plaq1","Digi column",50,0.,150.); + meColZmDisk1Panel1Plaq2_ = ibooker.book1D("col_zm_disk1_panel1_plaq2","Digi column",50,0.,200.); + meColZmDisk1Panel1Plaq3_ = ibooker.book1D("col_zm_disk1_panel1_plaq3","Digi column",50,0.,250.); + meColZmDisk1Panel1Plaq4_ = ibooker.book1D("col_zm_disk1_panel1_plaq4","Digi column",50,0.,300.); + meColZmDisk1Panel2Plaq1_ = ibooker.book1D("col_zm_disk1_panel2_plaq1","Digi column",50,0.,200.); + meColZmDisk1Panel2Plaq2_ = ibooker.book1D("col_zm_disk1_panel2_plaq2","Digi column",50,0.,250.); + meColZmDisk1Panel2Plaq3_ = ibooker.book1D("col_zm_disk1_panel2_plaq3","Digi column",50,0.,300.); + meNdigiZmDisk1PerPanel1_ = ibooker.book1D("digi_zm_disk1_panel1","Digi Num. Panel1 Of 1st Disk In ZMinus Side ",30,0.,30.); + meNdigiZmDisk1PerPanel2_ = ibooker.book1D("digi_zm_disk1_panel2","Digi Num. Panel2 Of 1st Disk In ZMinus Side ",30,0.,30.); /* ZMius Side 2nd disk */ - meAdcZmDisk2Panel1Plaq1_ = dbe_->book1D("adc_zm_disk2_panel1_plaq1","Digi charge",50,0.,300.); - meAdcZmDisk2Panel1Plaq2_ = dbe_->book1D("adc_zm_disk2_panel1_plaq2","Digi charge",50,0.,300.); - meAdcZmDisk2Panel1Plaq3_ = dbe_->book1D("adc_zm_disk2_panel1_plaq3","Digi charge",50,0.,300.); - meAdcZmDisk2Panel1Plaq4_ = dbe_->book1D("adc_zm_disk2_panel1_plaq4","Digi charge",50,0.,300.); - meAdcZmDisk2Panel2Plaq1_ = dbe_->book1D("adc_zm_disk2_panel2_plaq1","Digi charge",50,0.,300.); - meAdcZmDisk2Panel2Plaq2_ = dbe_->book1D("adc_zm_disk2_panel2_plaq2","Digi charge",50,0.,300.); - meAdcZmDisk2Panel2Plaq3_ = dbe_->book1D("adc_zm_disk2_panel2_plaq3","Digi charge",50,0.,300.); - - meRowZmDisk2Panel1Plaq1_ = dbe_->book1D("row_zm_disk2_panel1_plaq1","Digi row",50,0.,100.); - meRowZmDisk2Panel1Plaq2_ = dbe_->book1D("row_zm_disk2_panel1_plaq2","Digi row",50,0.,200.); - meRowZmDisk2Panel1Plaq3_ = dbe_->book1D("row_zm_disk2_panel1_plaq3","Digi row",50,0.,200.); - meRowZmDisk2Panel1Plaq4_ = dbe_->book1D("row_zm_disk2_panel1_plaq4","Digi row",50,0.,100.); - meRowZmDisk2Panel2Plaq1_ = dbe_->book1D("row_zm_disk2_panel2_plaq1","Digi row",50,0.,200.); - meRowZmDisk2Panel2Plaq2_ = dbe_->book1D("row_zm_disk2_panel2_plaq2","Digi row",50,0.,200.); - meRowZmDisk2Panel2Plaq3_ = dbe_->book1D("row_zm_disk2_panel2_plaq3","Digi row",50,0.,200.); - - meColZmDisk2Panel1Plaq1_ = dbe_->book1D("col_zm_disk2_panel1_plaq1","Digi Column",50,0.,150.); - meColZmDisk2Panel1Plaq2_ = dbe_->book1D("col_zm_disk2_panel1_plaq2","Digi Column",50,0.,200.); - meColZmDisk2Panel1Plaq3_ = dbe_->book1D("col_zm_disk2_panel1_plaq3","Digi Column",50,0.,250.); - meColZmDisk2Panel1Plaq4_ = dbe_->book1D("col_zm_disk2_panel1_plaq4","Digi Column",50,0.,300.); - meColZmDisk2Panel2Plaq1_ = dbe_->book1D("col_zm_disk2_panel2_plaq1","Digi Column",50,0.,200.); - meColZmDisk2Panel2Plaq2_ = dbe_->book1D("col_zm_disk2_panel2_plaq2","Digi Column",50,0.,250.); - meColZmDisk2Panel2Plaq3_ = dbe_->book1D("col_zm_disk2_panel2_plaq3","Digi Column",50,0.,300.); - meNdigiZmDisk2PerPanel1_ = dbe_->book1D("digi_zm_disk2_panel1","Digi Num. Panel1 Of 2nd Disk In ZMinus Side ",30,0.,30.); - meNdigiZmDisk2PerPanel2_ = dbe_->book1D("digi_zm_disk2_panel2","Digi Num. Panel2 Of 2nd Disk In ZMinus Side ",30,0.,30.); + meAdcZmDisk2Panel1Plaq1_ = ibooker.book1D("adc_zm_disk2_panel1_plaq1","Digi charge",50,0.,300.); + meAdcZmDisk2Panel1Plaq2_ = ibooker.book1D("adc_zm_disk2_panel1_plaq2","Digi charge",50,0.,300.); + meAdcZmDisk2Panel1Plaq3_ = ibooker.book1D("adc_zm_disk2_panel1_plaq3","Digi charge",50,0.,300.); + meAdcZmDisk2Panel1Plaq4_ = ibooker.book1D("adc_zm_disk2_panel1_plaq4","Digi charge",50,0.,300.); + meAdcZmDisk2Panel2Plaq1_ = ibooker.book1D("adc_zm_disk2_panel2_plaq1","Digi charge",50,0.,300.); + meAdcZmDisk2Panel2Plaq2_ = ibooker.book1D("adc_zm_disk2_panel2_plaq2","Digi charge",50,0.,300.); + meAdcZmDisk2Panel2Plaq3_ = ibooker.book1D("adc_zm_disk2_panel2_plaq3","Digi charge",50,0.,300.); + + meRowZmDisk2Panel1Plaq1_ = ibooker.book1D("row_zm_disk2_panel1_plaq1","Digi row",50,0.,100.); + meRowZmDisk2Panel1Plaq2_ = ibooker.book1D("row_zm_disk2_panel1_plaq2","Digi row",50,0.,200.); + meRowZmDisk2Panel1Plaq3_ = ibooker.book1D("row_zm_disk2_panel1_plaq3","Digi row",50,0.,200.); + meRowZmDisk2Panel1Plaq4_ = ibooker.book1D("row_zm_disk2_panel1_plaq4","Digi row",50,0.,100.); + meRowZmDisk2Panel2Plaq1_ = ibooker.book1D("row_zm_disk2_panel2_plaq1","Digi row",50,0.,200.); + meRowZmDisk2Panel2Plaq2_ = ibooker.book1D("row_zm_disk2_panel2_plaq2","Digi row",50,0.,200.); + meRowZmDisk2Panel2Plaq3_ = ibooker.book1D("row_zm_disk2_panel2_plaq3","Digi row",50,0.,200.); + + meColZmDisk2Panel1Plaq1_ = ibooker.book1D("col_zm_disk2_panel1_plaq1","Digi Column",50,0.,150.); + meColZmDisk2Panel1Plaq2_ = ibooker.book1D("col_zm_disk2_panel1_plaq2","Digi Column",50,0.,200.); + meColZmDisk2Panel1Plaq3_ = ibooker.book1D("col_zm_disk2_panel1_plaq3","Digi Column",50,0.,250.); + meColZmDisk2Panel1Plaq4_ = ibooker.book1D("col_zm_disk2_panel1_plaq4","Digi Column",50,0.,300.); + meColZmDisk2Panel2Plaq1_ = ibooker.book1D("col_zm_disk2_panel2_plaq1","Digi Column",50,0.,200.); + meColZmDisk2Panel2Plaq2_ = ibooker.book1D("col_zm_disk2_panel2_plaq2","Digi Column",50,0.,250.); + meColZmDisk2Panel2Plaq3_ = ibooker.book1D("col_zm_disk2_panel2_plaq3","Digi Column",50,0.,300.); + meNdigiZmDisk2PerPanel1_ = ibooker.book1D("digi_zm_disk2_panel1","Digi Num. Panel1 Of 2nd Disk In ZMinus Side ",30,0.,30.); + meNdigiZmDisk2PerPanel2_ = ibooker.book1D("digi_zm_disk2_panel2","Digi Num. Panel2 Of 2nd Disk In ZMinus Side ",30,0.,30.); /* ZPlus Side 1st Disk */ - meAdcZpDisk1Panel1Plaq1_ = dbe_->book1D("adc_zp_disk1_panel1_plaq1","Digi charge",50,0.,300.); - meAdcZpDisk1Panel1Plaq2_ = dbe_->book1D("adc_zp_disk1_panel1_plaq2","Digi charge",50,0.,300.); - meAdcZpDisk1Panel1Plaq3_ = dbe_->book1D("adc_zp_disk1_panel1_plaq3","Digi charge",50,0.,300.); - meAdcZpDisk1Panel1Plaq4_ = dbe_->book1D("adc_zp_disk1_panel1_plaq4","Digi charge",50,0.,300.); - meAdcZpDisk1Panel2Plaq1_ = dbe_->book1D("adc_zp_disk1_panel2_plaq1","Digi charge",50,0.,300.); - meAdcZpDisk1Panel2Plaq2_ = dbe_->book1D("adc_zp_disk1_panel2_plaq2","Digi charge",50,0.,300.); - meAdcZpDisk1Panel2Plaq3_ = dbe_->book1D("adc_zp_disk1_panel2_plaq3","Digi charge",50,0.,300.); - - meRowZpDisk1Panel1Plaq1_ = dbe_->book1D("row_zp_disk1_panel1_plaq1","Digi row",50,0.,100.); - meRowZpDisk1Panel1Plaq2_ = dbe_->book1D("row_zp_disk1_panel1_plaq2","Digi row",50,0.,200.); - meRowZpDisk1Panel1Plaq3_ = dbe_->book1D("row_zp_disk1_panel1_plaq3","Digi row",50,0.,200.); - meRowZpDisk1Panel1Plaq4_ = dbe_->book1D("row_zp_disk1_panel1_plaq4","Digi row",50,0.,100.); - meRowZpDisk1Panel2Plaq1_ = dbe_->book1D("row_zp_disk1_panel2_plaq1","Digi row",50,0.,200.); - meRowZpDisk1Panel2Plaq2_ = dbe_->book1D("row_zp_disk1_panel2_plaq2","Digi row",50,0.,200.); - meRowZpDisk1Panel2Plaq3_ = dbe_->book1D("row_zp_disk1_panel2_plaq3","Digi row",50,0.,200.); - - meColZpDisk1Panel1Plaq1_ = dbe_->book1D("col_zp_disk1_panel1_plaq1","Digi Column",50,0.,150.); - meColZpDisk1Panel1Plaq2_ = dbe_->book1D("col_zp_disk1_panel1_plaq2","Digi column",50,0.,200.); - meColZpDisk1Panel1Plaq3_ = dbe_->book1D("col_zp_disk1_panel1_plaq3","Digi column",50,0.,250.); - meColZpDisk1Panel1Plaq4_ = dbe_->book1D("col_zp_disk1_panel1_plaq4","Digi column",50,0.,300.); - meColZpDisk1Panel2Plaq1_ = dbe_->book1D("col_zp_disk1_panel2_plaq1","Digi column",50,0.,200.); - meColZpDisk1Panel2Plaq2_ = dbe_->book1D("col_zp_disk1_panel2_plaq2","Digi column",50,0.,250.); - meColZpDisk1Panel2Plaq3_ = dbe_->book1D("col_zp_disk1_panel2_plaq3","Digi column",50,0.,300.); - meNdigiZpDisk1PerPanel1_ = dbe_->book1D("digi_zp_disk1_panel1","Digi Num. Panel1 Of 1st Disk In ZPlus Side ",30,0.,30.); - meNdigiZpDisk1PerPanel2_ = dbe_->book1D("digi_zp_disk1_panel2","Digi Num. Panel2 Of 1st Disk In ZPlus Side ",30,0.,30.); + meAdcZpDisk1Panel1Plaq1_ = ibooker.book1D("adc_zp_disk1_panel1_plaq1","Digi charge",50,0.,300.); + meAdcZpDisk1Panel1Plaq2_ = ibooker.book1D("adc_zp_disk1_panel1_plaq2","Digi charge",50,0.,300.); + meAdcZpDisk1Panel1Plaq3_ = ibooker.book1D("adc_zp_disk1_panel1_plaq3","Digi charge",50,0.,300.); + meAdcZpDisk1Panel1Plaq4_ = ibooker.book1D("adc_zp_disk1_panel1_plaq4","Digi charge",50,0.,300.); + meAdcZpDisk1Panel2Plaq1_ = ibooker.book1D("adc_zp_disk1_panel2_plaq1","Digi charge",50,0.,300.); + meAdcZpDisk1Panel2Plaq2_ = ibooker.book1D("adc_zp_disk1_panel2_plaq2","Digi charge",50,0.,300.); + meAdcZpDisk1Panel2Plaq3_ = ibooker.book1D("adc_zp_disk1_panel2_plaq3","Digi charge",50,0.,300.); + + meRowZpDisk1Panel1Plaq1_ = ibooker.book1D("row_zp_disk1_panel1_plaq1","Digi row",50,0.,100.); + meRowZpDisk1Panel1Plaq2_ = ibooker.book1D("row_zp_disk1_panel1_plaq2","Digi row",50,0.,200.); + meRowZpDisk1Panel1Plaq3_ = ibooker.book1D("row_zp_disk1_panel1_plaq3","Digi row",50,0.,200.); + meRowZpDisk1Panel1Plaq4_ = ibooker.book1D("row_zp_disk1_panel1_plaq4","Digi row",50,0.,100.); + meRowZpDisk1Panel2Plaq1_ = ibooker.book1D("row_zp_disk1_panel2_plaq1","Digi row",50,0.,200.); + meRowZpDisk1Panel2Plaq2_ = ibooker.book1D("row_zp_disk1_panel2_plaq2","Digi row",50,0.,200.); + meRowZpDisk1Panel2Plaq3_ = ibooker.book1D("row_zp_disk1_panel2_plaq3","Digi row",50,0.,200.); + + meColZpDisk1Panel1Plaq1_ = ibooker.book1D("col_zp_disk1_panel1_plaq1","Digi Column",50,0.,150.); + meColZpDisk1Panel1Plaq2_ = ibooker.book1D("col_zp_disk1_panel1_plaq2","Digi column",50,0.,200.); + meColZpDisk1Panel1Plaq3_ = ibooker.book1D("col_zp_disk1_panel1_plaq3","Digi column",50,0.,250.); + meColZpDisk1Panel1Plaq4_ = ibooker.book1D("col_zp_disk1_panel1_plaq4","Digi column",50,0.,300.); + meColZpDisk1Panel2Plaq1_ = ibooker.book1D("col_zp_disk1_panel2_plaq1","Digi column",50,0.,200.); + meColZpDisk1Panel2Plaq2_ = ibooker.book1D("col_zp_disk1_panel2_plaq2","Digi column",50,0.,250.); + meColZpDisk1Panel2Plaq3_ = ibooker.book1D("col_zp_disk1_panel2_plaq3","Digi column",50,0.,300.); + meNdigiZpDisk1PerPanel1_ = ibooker.book1D("digi_zp_disk1_panel1","Digi Num. Panel1 Of 1st Disk In ZPlus Side ",30,0.,30.); + meNdigiZpDisk1PerPanel2_ = ibooker.book1D("digi_zp_disk1_panel2","Digi Num. Panel2 Of 1st Disk In ZPlus Side ",30,0.,30.); /* ZPlus Side 2nd disk */ - meAdcZpDisk2Panel1Plaq1_ = dbe_->book1D("adc_zp_disk2_panel1_plaq1","Digi charge",50,0.,300.); - meAdcZpDisk2Panel1Plaq2_ = dbe_->book1D("adc_zp_disk2_panel1_plaq2","Digi charge",50,0.,300.); - meAdcZpDisk2Panel1Plaq3_ = dbe_->book1D("adc_zp_disk2_panel1_plaq3","Digi charge",50,0.,300.); - meAdcZpDisk2Panel1Plaq4_ = dbe_->book1D("adc_zp_disk2_panel1_plaq4","Digi charge",50,0.,300.); - meAdcZpDisk2Panel2Plaq1_ = dbe_->book1D("adc_zp_disk2_panel2_plaq1","Digi charge",50,0.,300.); - meAdcZpDisk2Panel2Plaq2_ = dbe_->book1D("adc_zp_disk2_panel2_plaq2","Digi charge",50,0.,300.); - meAdcZpDisk2Panel2Plaq3_ = dbe_->book1D("adc_zp_disk2_panel2_plaq3","Digi charge",50,0.,300.); - - meRowZpDisk2Panel1Plaq1_ = dbe_->book1D("row_zp_disk2_panel1_plaq1","Digi row",10,0.,100.); - meRowZpDisk2Panel1Plaq2_ = dbe_->book1D("row_zp_disk2_panel1_plaq2","Digi row",10,0.,200.); - meRowZpDisk2Panel1Plaq3_ = dbe_->book1D("row_zp_disk2_panel1_plaq3","Digi row",10,0.,200.); - meRowZpDisk2Panel1Plaq4_ = dbe_->book1D("row_zp_disk2_panel1_plaq4","Digi row",10,0.,100.); - meRowZpDisk2Panel2Plaq1_ = dbe_->book1D("row_zp_disk2_panel2_plaq1","Digi row",10,0.,200.); - meRowZpDisk2Panel2Plaq2_ = dbe_->book1D("row_zp_disk2_panel2_plaq2","Digi row",10,0.,200.); - meRowZpDisk2Panel2Plaq3_ = dbe_->book1D("row_zp_disk2_panel2_plaq3","Digi row",10,0.,200.); - - meColZpDisk2Panel1Plaq1_ = dbe_->book1D("col_zp_disk2_panel1_plaq1","Digi column",50,0.,150.); - meColZpDisk2Panel1Plaq2_ = dbe_->book1D("col_zp_disk2_panel1_plaq2","Digi column",50,0.,200.); - meColZpDisk2Panel1Plaq3_ = dbe_->book1D("col_zp_disk2_panel1_plaq3","Digi column",50,0.,250.); - meColZpDisk2Panel1Plaq4_ = dbe_->book1D("col_zp_disk2_panel1_plaq4","Digi column",50,0.,300.); - meColZpDisk2Panel2Plaq1_ = dbe_->book1D("col_zp_disk2_panel2_plaq1","Digi column",50,0.,200.); - meColZpDisk2Panel2Plaq2_ = dbe_->book1D("col_zp_disk2_panel2_plaq2","Digi column",50,0.,250.); - meColZpDisk2Panel2Plaq3_ = dbe_->book1D("col_zp_disk2_panel2_plaq3","Digi column",50,0.,300.); - meNdigiZpDisk2PerPanel1_ = dbe_->book1D("digi_zp_disk2_panel1","Digi Num. Panel1 Of 2nd Disk In ZPlus Side ",30,0.,30.); - meNdigiZpDisk2PerPanel2_ = dbe_->book1D("digi_zp_disk2_panel2","Digi Num. Panel2 Of 2nd Disk In ZPlus Side ",30,0.,30.); + meAdcZpDisk2Panel1Plaq1_ = ibooker.book1D("adc_zp_disk2_panel1_plaq1","Digi charge",50,0.,300.); + meAdcZpDisk2Panel1Plaq2_ = ibooker.book1D("adc_zp_disk2_panel1_plaq2","Digi charge",50,0.,300.); + meAdcZpDisk2Panel1Plaq3_ = ibooker.book1D("adc_zp_disk2_panel1_plaq3","Digi charge",50,0.,300.); + meAdcZpDisk2Panel1Plaq4_ = ibooker.book1D("adc_zp_disk2_panel1_plaq4","Digi charge",50,0.,300.); + meAdcZpDisk2Panel2Plaq1_ = ibooker.book1D("adc_zp_disk2_panel2_plaq1","Digi charge",50,0.,300.); + meAdcZpDisk2Panel2Plaq2_ = ibooker.book1D("adc_zp_disk2_panel2_plaq2","Digi charge",50,0.,300.); + meAdcZpDisk2Panel2Plaq3_ = ibooker.book1D("adc_zp_disk2_panel2_plaq3","Digi charge",50,0.,300.); + + meRowZpDisk2Panel1Plaq1_ = ibooker.book1D("row_zp_disk2_panel1_plaq1","Digi row",10,0.,100.); + meRowZpDisk2Panel1Plaq2_ = ibooker.book1D("row_zp_disk2_panel1_plaq2","Digi row",10,0.,200.); + meRowZpDisk2Panel1Plaq3_ = ibooker.book1D("row_zp_disk2_panel1_plaq3","Digi row",10,0.,200.); + meRowZpDisk2Panel1Plaq4_ = ibooker.book1D("row_zp_disk2_panel1_plaq4","Digi row",10,0.,100.); + meRowZpDisk2Panel2Plaq1_ = ibooker.book1D("row_zp_disk2_panel2_plaq1","Digi row",10,0.,200.); + meRowZpDisk2Panel2Plaq2_ = ibooker.book1D("row_zp_disk2_panel2_plaq2","Digi row",10,0.,200.); + meRowZpDisk2Panel2Plaq3_ = ibooker.book1D("row_zp_disk2_panel2_plaq3","Digi row",10,0.,200.); + + meColZpDisk2Panel1Plaq1_ = ibooker.book1D("col_zp_disk2_panel1_plaq1","Digi column",50,0.,150.); + meColZpDisk2Panel1Plaq2_ = ibooker.book1D("col_zp_disk2_panel1_plaq2","Digi column",50,0.,200.); + meColZpDisk2Panel1Plaq3_ = ibooker.book1D("col_zp_disk2_panel1_plaq3","Digi column",50,0.,250.); + meColZpDisk2Panel1Plaq4_ = ibooker.book1D("col_zp_disk2_panel1_plaq4","Digi column",50,0.,300.); + meColZpDisk2Panel2Plaq1_ = ibooker.book1D("col_zp_disk2_panel2_plaq1","Digi column",50,0.,200.); + meColZpDisk2Panel2Plaq2_ = ibooker.book1D("col_zp_disk2_panel2_plaq2","Digi column",50,0.,250.); + meColZpDisk2Panel2Plaq3_ = ibooker.book1D("col_zp_disk2_panel2_plaq3","Digi column",50,0.,300.); + meNdigiZpDisk2PerPanel1_ = ibooker.book1D("digi_zp_disk2_panel1","Digi Num. Panel1 Of 2nd Disk In ZPlus Side ",30,0.,30.); + meNdigiZpDisk2PerPanel2_ = ibooker.book1D("digi_zp_disk2_panel2","Digi Num. Panel2 Of 2nd Disk In ZPlus Side ",30,0.,30.); } } void SiPixelDigiValid::endJob() { - if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); + //Save histos in a file only in standalone mode + if ( runStandalone && outputFile_.size() != 0 && dbe_ ){dbe_->save(outputFile_);} } diff --git a/Validation/TrackerDigis/plugins/SiStripDigiValid.cc b/Validation/TrackerDigis/plugins/SiStripDigiValid.cc index 59bc936a989b9..c639f1eaf8af1 100644 --- a/Validation/TrackerDigis/plugins/SiStripDigiValid.cc +++ b/Validation/TrackerDigis/plugins/SiStripDigiValid.cc @@ -23,14 +23,13 @@ SiStripDigiValid::SiStripDigiValid(const edm::ParameterSet& ps) : dbe_(0) + , runStandalone ( ps.getParameter("runStandalone") ) , outputFile_( ps.getUntrackedParameter( "outputFile", "stripdigihisto.root" ) ) , edmDetSetVector_SiStripDigi_Token_( consumes< edm::DetSetVector >( ps.getParameter( "src" ) ) ) { } SiStripDigiValid::~SiStripDigiValid(){ - - //if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); } @@ -38,302 +37,302 @@ void SiStripDigiValid::beginJob(){ } -void SiStripDigiValid::beginRun(edm::Run const& r, edm::EventSetup const& es) { +void SiStripDigiValid::bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es){ dbe_ = edm::Service().operator->(); if ( dbe_ ) { - dbe_->setCurrentFolder("TrackerDigisV/TrackerDigis/Strip"); + ibooker.setCurrentFolder("TrackerDigisV/TrackerDigis/Strip"); for(int i = 0 ;i<3 ; i++) { Char_t histo[200]; // Z Plus Side sprintf(histo,"adc_tib_layer1_extmodule%d_zp",i+1); - meAdcTIBLayer1Extzp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer1Extzp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer1_intmodule%d_zp",i+1); - meAdcTIBLayer1Intzp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer1Intzp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer2_extmodule%d_zp",i+1); - meAdcTIBLayer2Extzp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer2Extzp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer2_intmodule%d_zp",i+1); - meAdcTIBLayer2Intzp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer2Intzp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer3_extmodule%d_zp",i+1); - meAdcTIBLayer3Extzp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer3Extzp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer3_intmodule%d_zp",i+1); - meAdcTIBLayer3Intzp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer3Intzp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer4_extmodule%d_zp",i+1); - meAdcTIBLayer4Extzp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer4Extzp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer4_intmodule%d_zp",i+1); - meAdcTIBLayer4Intzp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer4Intzp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tib_layer1_extmodule%d_zp",i+1); - meStripTIBLayer1Extzp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer1Extzp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer1_intmodule%d_zp",i+1); - meStripTIBLayer1Intzp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer1Intzp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer2_extmodule%d_zp",i+1); - meStripTIBLayer2Extzp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer2Extzp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer2_intmodule%d_zp",i+1); - meStripTIBLayer2Intzp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer2Intzp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer3_extmodule%d_zp",i+1); - meStripTIBLayer3Extzp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer3Extzp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer3_intmodule%d_zp",i+1); - meStripTIBLayer3Intzp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer3Intzp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer4_extmodule%d_zp",i+1); - meStripTIBLayer4Extzp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer4Extzp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer4_intmodule%d_zp",i+1); - meStripTIBLayer4Intzp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer4Intzp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); // Z Minus Side sprintf(histo,"adc_tib_layer1_extmodule%d_zm",i+1); - meAdcTIBLayer1Extzm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer1Extzm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer1_intmodule%d_zm",i+1); - meAdcTIBLayer1Intzm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer1Intzm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer2_extmodule%d_zm",i+1); - meAdcTIBLayer2Extzm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer2Extzm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer2_intmodule%d_zm",i+1); - meAdcTIBLayer2Intzm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer2Intzm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer3_extmodule%d_zm",i+1); - meAdcTIBLayer3Extzm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer3Extzm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer3_intmodule%d_zm",i+1); - meAdcTIBLayer3Intzm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer3Intzm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer4_extmodule%d_zm",i+1); - meAdcTIBLayer4Extzm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer4Extzm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tib_layer4_intmodule%d_zm",i+1); - meAdcTIBLayer4Intzm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIBLayer4Intzm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tib_layer1_extmodule%d_zm",i+1); - meStripTIBLayer1Extzm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer1Extzm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer1_intmodule%d_zm",i+1); - meStripTIBLayer1Intzm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer1Intzm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer2_extmodule%d_zm",i+1); - meStripTIBLayer2Extzm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer2Extzm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer2_intmodule%d_zm",i+1); - meStripTIBLayer2Intzm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer2Intzm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer3_extmodule%d_zm",i+1); - meStripTIBLayer3Extzm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer3Extzm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer3_intmodule%d_zm",i+1); - meStripTIBLayer3Intzm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer3Intzm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer4_extmodule%d_zm",i+1); - meStripTIBLayer4Extzm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer4Extzm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tib_layer4_intmodule%d_zm",i+1); - meStripTIBLayer4Intzm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIBLayer4Intzm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); } for(int i = 0 ;i<6 ; i++) { Char_t histo[200]; // Z Plus Side sprintf(histo,"adc_tob_layer1_module%d_zp",i+1); - meAdcTOBLayer1zp_[i] = dbe_->book1D(histo,"Digis ADC",10,0.,300.); + meAdcTOBLayer1zp_[i] = ibooker.book1D(histo,"Digis ADC",10,0.,300.); sprintf(histo,"strip_tob_layer1_module%d_zp",i+1); - meStripTOBLayer1zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer1zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer2_module%d_zp",i+1); - meAdcTOBLayer2zp_[i] = dbe_->book1D(histo,"Digis ADC",10,0.,300.); + meAdcTOBLayer2zp_[i] = ibooker.book1D(histo,"Digis ADC",10,0.,300.); sprintf(histo,"strip_tob_layer2_module%d_zp",i+1); - meStripTOBLayer2zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer2zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer3_module%d_zp",i+1); - meAdcTOBLayer3zp_[i] = dbe_->book1D(histo,"Digis ADC",10,0.,300.); + meAdcTOBLayer3zp_[i] = ibooker.book1D(histo,"Digis ADC",10,0.,300.); sprintf(histo,"strip_tob_layer3_module%d_zp",i+1); - meStripTOBLayer3zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer3zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer4_module%d_zp",i+1); - meAdcTOBLayer4zp_[i] = dbe_->book1D(histo,"Digis ADC",10,0.,300.); + meAdcTOBLayer4zp_[i] = ibooker.book1D(histo,"Digis ADC",10,0.,300.); sprintf(histo,"strip_tob_layer4_module%d_zp",i+1); - meStripTOBLayer4zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer4zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer5_module%d_zp",i+1); - meAdcTOBLayer5zp_[i] = dbe_->book1D(histo,"Digis ADC",10,0.,300.); + meAdcTOBLayer5zp_[i] = ibooker.book1D(histo,"Digis ADC",10,0.,300.); sprintf(histo,"strip_tob_layer5_module%d_zp",i+1); - meStripTOBLayer5zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer5zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer6_module%d_zp",i+1); - meAdcTOBLayer6zp_[i] = dbe_->book1D(histo,"Digis ADC",10,0.,300.); + meAdcTOBLayer6zp_[i] = ibooker.book1D(histo,"Digis ADC",10,0.,300.); sprintf(histo,"strip_tob_layer6_module%d_zp",i+1); - meStripTOBLayer6zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer6zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); // Z Minus Side sprintf(histo,"adc_tob_layer1_module%d_zm",i+1); - meAdcTOBLayer1zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTOBLayer1zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tob_layer1_module%d_zm",i+1); - meStripTOBLayer1zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer1zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer2_module%d_zm",i+1); - meAdcTOBLayer2zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTOBLayer2zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tob_layer2_module%d_zm",i+1); - meStripTOBLayer2zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer2zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer3_module%d_zm",i+1); - meAdcTOBLayer3zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTOBLayer3zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tob_layer3_module%d_zm",i+1); - meStripTOBLayer3zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer3zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer4_module%d_zm",i+1); - meAdcTOBLayer4zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTOBLayer4zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tob_layer4_module%d_zm",i+1); - meStripTOBLayer4zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer4zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer5_module%d_zm",i+1); - meAdcTOBLayer5zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTOBLayer5zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tob_layer5_module%d_zm",i+1); - meStripTOBLayer5zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer5zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"adc_tob_layer6_module%d_zm",i+1); - meAdcTOBLayer6zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTOBLayer6zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tob_layer6_module%d_zm",i+1); - meStripTOBLayer6zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTOBLayer6zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); } for(int i = 0 ;i<3 ; i++) { Char_t histo[200]; // Z Plus Side sprintf(histo,"adc_tid_wheel1_ring%d_zp",i+1); - meAdcTIDWheel1zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIDWheel1zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tid_wheel2_ring%d_zp",i+1); - meAdcTIDWheel2zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIDWheel2zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tid_wheel3_ring%d_zp",i+1); - meAdcTIDWheel3zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIDWheel3zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tid_wheel1_ring%d_zp",i+1); - meStripTIDWheel1zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIDWheel1zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tid_wheel2_ring%d_zp",i+1); - meStripTIDWheel2zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIDWheel2zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tid_wheel3_ring%d_zp",i+1); - meStripTIDWheel3zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIDWheel3zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); // Z minus Side sprintf(histo,"adc_tid_wheel1_ring%d_zm",i+1); - meAdcTIDWheel1zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIDWheel1zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tid_wheel2_ring%d_zm",i+1); - meAdcTIDWheel2zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIDWheel2zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tid_wheel3_ring%d_zm",i+1); - meAdcTIDWheel3zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTIDWheel3zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tid_wheel1_ring%d_zm",i+1); - meStripTIDWheel1zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIDWheel1zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tid_wheel2_ring%d_zm",i+1); - meStripTIDWheel2zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIDWheel2zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tid_wheel3_ring%d_zm",i+1); - meStripTIDWheel3zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTIDWheel3zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); } for(int i = 0 ;i<7 ; i++) { Char_t histo[200]; // Z Plus Side sprintf(histo,"adc_tec_wheel1_ring%d_zp",i+1); - meAdcTECWheel1zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel1zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel2_ring%d_zp",i+1); - meAdcTECWheel2zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel2zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel3_ring%d_zp",i+1); - meAdcTECWheel3zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel3zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tec_wheel1_ring%d_zp",i+1); - meStripTECWheel1zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel1zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel2_ring%d_zp",i+1); - meStripTECWheel2zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel2zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel3_ring%d_zp",i+1); - meStripTECWheel3zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel3zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); // Z Minus Side sprintf(histo,"adc_tec_wheel1_ring%d_zm",i+1); - meAdcTECWheel1zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel1zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel2_ring%d_zm",i+1); - meAdcTECWheel2zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel2zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel3_ring%d_zm",i+1); - meAdcTECWheel3zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel3zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tec_wheel1_ring%d_zm",i+1); - meStripTECWheel1zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel1zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel2_ring%d_zm",i+1); - meStripTECWheel2zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel2zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel3_ring%d_zm",i+1); - meStripTECWheel3zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel3zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); } for(int i = 0 ;i<6 ; i++) { Char_t histo[200]; // Z Plus Side sprintf(histo,"adc_tec_wheel4_ring%d_zp",i+1); - meAdcTECWheel4zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel4zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel5_ring%d_zp",i+1); - meAdcTECWheel5zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel5zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel6_ring%d_zp",i+1); - meAdcTECWheel6zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel6zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tec_wheel4_ring%d_zp",i+1); - meStripTECWheel4zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel4zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel5_ring%d_zp",i+1); - meStripTECWheel5zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel5zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel6_ring%d_zp",i+1); - meStripTECWheel6zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel6zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); // Z Minus Side sprintf(histo,"adc_tec_wheel4_ring%d_zm",i+1); - meAdcTECWheel4zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel4zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel5_ring%d_zm",i+1); - meAdcTECWheel5zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel5zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel6_ring%d_zm",i+1); - meAdcTECWheel6zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel6zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tec_wheel4_ring%d_zm",i+1); - meStripTECWheel4zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel4zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel5_ring%d_zm",i+1); - meStripTECWheel5zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel5zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel6_ring%d_zm",i+1); - meStripTECWheel6zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel6zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); } for(int i = 0 ;i<5 ; i++) { Char_t histo[200]; // Z Plus Side sprintf(histo,"adc_tec_wheel7_ring%d_zp",i+1); - meAdcTECWheel7zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel7zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel8_ring%d_zp",i+1); - meAdcTECWheel8zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel8zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tec_wheel7_ring%d_zp",i+1); - meStripTECWheel7zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel7zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel8_ring%d_zp",i+1); - meStripTECWheel8zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel8zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); // Z Minus Side sprintf(histo,"adc_tec_wheel7_ring%d_zm",i+1); - meAdcTECWheel7zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel7zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"adc_tec_wheel8_ring%d_zm",i+1); - meAdcTECWheel8zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel8zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tec_wheel7_ring%d_zm",i+1); - meStripTECWheel7zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel7zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); sprintf(histo,"strip_tec_wheel8_ring%d_zm",i+1); - meStripTECWheel8zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel8zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); } for(int i = 0 ;i<4 ; i++) { Char_t histo[200]; // Z Plus Side sprintf(histo,"adc_tec_wheel9_ring%d_zp",i+1); - meAdcTECWheel9zp_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel9zp_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tec_wheel9_ring%d_zp",i+1); - meStripTECWheel9zp_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel9zp_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); // Z Minus Side sprintf(histo,"adc_tec_wheel9_ring%d_zm",i+1); - meAdcTECWheel9zm_[i] = dbe_->book1D(histo,"Digis ADC",50,0.,300.); + meAdcTECWheel9zm_[i] = ibooker.book1D(histo,"Digis ADC",50,0.,300.); sprintf(histo,"strip_tec_wheel9_ring%d_zm",i+1); - meStripTECWheel9zm_[i] = dbe_->book1D(histo,"Digis Strip Num.",200,0.,800.); + meStripTECWheel9zm_[i] = ibooker.book1D(histo,"Digis Strip Num.",200,0.,800.); } for(int i = 0 ;i<4 ; i++) { Char_t histo[200]; sprintf(histo,"ndigi_tib_layer_%d_zm",i+1); - meNDigiTIBLayerzm_[i] = dbe_->book1D(histo, "Digi Multiplicity",100,0.,500.); + meNDigiTIBLayerzm_[i] = ibooker.book1D(histo, "Digi Multiplicity",100,0.,500.); sprintf(histo,"ndigi_tib_layer_%d_zp",i+1); - meNDigiTIBLayerzp_[i] = dbe_->book1D(histo, "Digi Multiplicity",100,0.,500.); + meNDigiTIBLayerzp_[i] = ibooker.book1D(histo, "Digi Multiplicity",100,0.,500.); } for(int i = 0 ;i<6 ; i++) { Char_t histo[200]; sprintf(histo,"ndigi_tob_layer_%d_zm",i+1); - meNDigiTOBLayerzm_[i] = dbe_->book1D(histo, "Digi Multiplicity",100,0.,500.); + meNDigiTOBLayerzm_[i] = ibooker.book1D(histo, "Digi Multiplicity",100,0.,500.); sprintf(histo,"ndigi_tob_layer_%d_zp",i+1); - meNDigiTOBLayerzp_[i] = dbe_->book1D(histo, "Digi Multiplicity",100,0.,500.); + meNDigiTOBLayerzp_[i] = ibooker.book1D(histo, "Digi Multiplicity",100,0.,500.); } for(int i = 0 ;i<3 ; i++) { Char_t histo[200]; sprintf(histo,"ndigi_tid_wheel_%d_zm",i+1); - meNDigiTIDWheelzm_[i] = dbe_->book1D(histo, "Digi Multiplicity",100,0.,500.); + meNDigiTIDWheelzm_[i] = ibooker.book1D(histo, "Digi Multiplicity",100,0.,500.); sprintf(histo,"ndigi_tid_wheel_%d_zp",i+1); - meNDigiTIDWheelzp_[i] = dbe_->book1D(histo, "Digi Multiplicity",100,0.,500.); + meNDigiTIDWheelzp_[i] = ibooker.book1D(histo, "Digi Multiplicity",100,0.,500.); } for(int i = 0 ;i<9 ; i++) { Char_t histo[200]; sprintf(histo,"ndigi_tec_wheel_%d_zm",i+1); - meNDigiTECWheelzm_[i] = dbe_->book1D(histo, "Digi Multiplicity",100,0.,500.); + meNDigiTECWheelzm_[i] = ibooker.book1D(histo, "Digi Multiplicity",100,0.,500.); sprintf(histo,"ndigi_tec_wheel_%d_zp",i+1); - meNDigiTECWheelzp_[i] = dbe_->book1D(histo, "Digi Multiplicity",100,0.,500.); + meNDigiTECWheelzp_[i] = ibooker.book1D(histo, "Digi Multiplicity",100,0.,500.); } } } void SiStripDigiValid::endJob() { - if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); + if ( runStandalone && outputFile_.size() != 0 && dbe_ ){ dbe_->save(outputFile_);} } diff --git a/Validation/TrackerDigis/python/pixelDigisValidation_cfi.py b/Validation/TrackerDigis/python/pixelDigisValidation_cfi.py index d50a349f03ef3..2661f3ab05a6f 100644 --- a/Validation/TrackerDigis/python/pixelDigisValidation_cfi.py +++ b/Validation/TrackerDigis/python/pixelDigisValidation_cfi.py @@ -2,7 +2,8 @@ pixelDigisValid = cms.EDAnalyzer("SiPixelDigiValid", src = cms.InputTag("simSiPixelDigis"), - outputFile = cms.untracked.string('') + outputFile = cms.untracked.string(''), + runStandalone = cms.bool(False) ) diff --git a/Validation/TrackerDigis/python/stripDigisValidation_cfi.py b/Validation/TrackerDigis/python/stripDigisValidation_cfi.py index d2408e4f9f70e..143afb9f3800c 100644 --- a/Validation/TrackerDigis/python/stripDigisValidation_cfi.py +++ b/Validation/TrackerDigis/python/stripDigisValidation_cfi.py @@ -2,6 +2,7 @@ stripDigisValid = cms.EDAnalyzer("SiStripDigiValid", src = cms.InputTag("simSiStripDigis","ZeroSuppressed"), + runStandalone = cms.bool(False), outputFile = cms.untracked.string(''), verbose = cms.untracked.bool(False) ) diff --git a/Validation/TrackerHits/interface/TrackerHitAnalyzer.h b/Validation/TrackerHits/interface/TrackerHitAnalyzer.h index 62cea69748e4f..266670903bc83 100644 --- a/Validation/TrackerHits/interface/TrackerHitAnalyzer.h +++ b/Validation/TrackerHits/interface/TrackerHitAnalyzer.h @@ -10,6 +10,8 @@ // framework & common header files #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include #include "SimDataFormats/Track/interface/SimTrackContainer.h" #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h" @@ -19,7 +21,7 @@ class DQMStore; class MonitorElement; -class TrackerHitAnalyzer: public edm::EDAnalyzer { +class TrackerHitAnalyzer: public DQMEDAnalyzer { public: @@ -31,8 +33,7 @@ TrackerHitAnalyzer(const edm::ParameterSet& ps); protected: -/// Begin Run -void beginRun( edm::Run const&, edm::EventSetup const&); + void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es); /// Analyze void analyze(const edm::Event& e, const edm::EventSetup& c); @@ -40,7 +41,7 @@ void analyze(const edm::Event& e, const edm::EventSetup& c); // EndJob -void endJob(void); +void endJob(); //void BookTestHistos(Char_t sname, int nbin, float *xmin, float *xmax); @@ -57,6 +58,7 @@ void endJob(void); edm::EDGetTokenT edmSimTrackContainerToken_; DQMStore* fDBE; + edm::ParameterSet conf_; MonitorElement* htofeta; MonitorElement* htofphi; @@ -108,7 +110,9 @@ void endJob(void); MonitorElement* h5ly[12]; MonitorElement* h6ly[12]; + bool runStandalone; std::string fOutputFile; + }; #endif diff --git a/Validation/TrackerHits/python/trackerHitsValidation_cfi.py b/Validation/TrackerHits/python/trackerHitsValidation_cfi.py index 6e28e8616f2bf..91048078a2745 100644 --- a/Validation/TrackerHits/python/trackerHitsValidation_cfi.py +++ b/Validation/TrackerHits/python/trackerHitsValidation_cfi.py @@ -7,6 +7,7 @@ PxlBrlLowSrc = cms.InputTag("g4SimHits","TrackerHitsPixelBarrelLowTof"), Name = cms.untracked.string('TrackerHitAnalyzer'), Verbosity = cms.untracked.bool(False), + runStandalone = cms.bool(False), outputFile =cms.untracked.string(''), PxlFwdLowSrc = cms.InputTag("g4SimHits","TrackerHitsPixelEndcapLowTof"), diff --git a/Validation/TrackerHits/src/TrackerHitAnalyzer.cc b/Validation/TrackerHits/src/TrackerHitAnalyzer.cc index d048f98048ad7..2ad4d88cbd10e 100644 --- a/Validation/TrackerHits/src/TrackerHitAnalyzer.cc +++ b/Validation/TrackerHits/src/TrackerHitAnalyzer.cc @@ -1,6 +1,5 @@ #include "Validation/TrackerHits/interface/TrackerHitAnalyzer.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/ESHandle.h" @@ -56,10 +55,12 @@ TrackerHitAnalyzer::TrackerHitAnalyzer(const edm::ParameterSet& ps) , edmPSimHitContainer_siTECHigh_Token_( consumes( ps.getParameter( "SiTECHighSrc" ) ) ) , edmSimTrackContainerToken_( consumes( ps.getParameter( "G4TrkSrc" ) ) ) , fDBE( NULL ) + , conf_(ps) + , runStandalone ( ps.getParameter("runStandalone") ) , fOutputFile( ps.getUntrackedParameter( "outputFile", "TrackerHitHisto.root" ) ) { } -void TrackerHitAnalyzer::beginRun( edm::Run const&, edm::EventSetup const& ) { +void TrackerHitAnalyzer::bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es){ ////// booking histograms fDBE = edm::Service().operator->(); @@ -89,11 +90,11 @@ void TrackerHitAnalyzer::beginRun( edm::Run const&, edm::EventSetup const& ) { // if so, it can be done once - via beginJob() int nbin = 5000; - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/"); - htofeta = fDBE->book2D ("tof_eta", "Time of flight vs eta", nbin , -3.0 , 3.0,200,-100,100); - htofphi = fDBE->book2D("tof_phi", "Time of flight vs phi", nbin,-180,180,200,-100,100); - htofr = fDBE->book2D("tof_r", "Time of flight vs r", nbin , 0 , 300, 200, -100,100); - htofz = fDBE->book2D("tof_z", "Time of flight vs z", nbin , -280 , 280, 200, -100,100); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/"); + htofeta = ibooker.book2D ("tof_eta", "Time of flight vs eta", nbin , -3.0 , 3.0,200,-100,100); + htofphi = ibooker.book2D("tof_phi", "Time of flight vs phi", nbin,-180,180,200,-100,100); + htofr = ibooker.book2D("tof_r", "Time of flight vs r", nbin , 0 , 300, 200, -100,100); + htofz = ibooker.book2D("tof_z", "Time of flight vs z", nbin , -280 , 280, 200, -100,100); const float E2NEL = 1.; @@ -119,18 +120,18 @@ void TrackerHitAnalyzer::beginRun( edm::Run const&, edm::EventSetup const& ) { sprintf (hname5,"Eloss_BPIX_%i",i+1); sprintf (hname6,"Eloss_FPIX_%i",i+1); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); - h1e[i] = fDBE->book1D (hname1, htitle1, nbin , 0.0 , 0.001*E2NEL); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); - h2e[i] = fDBE->book1D (hname2, htitle2, nbin , 0.0 , 0.001*E2NEL); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); - h3e[i] = fDBE->book1D (hname3, htitle3, nbin , 0.0 , 0.001*E2NEL); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); - h4e[i] = fDBE->book1D (hname4, htitle4, nbin , 0.0 , 0.001*E2NEL); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); - h5e[i] = fDBE->book1D (hname5, htitle5, nbin , 0.0 , 0.001*E2NEL); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); - h6e[i] = fDBE->book1D (hname6, htitle6, nbin , 0.0 , 0.001*E2NEL); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); + h1e[i] = ibooker.book1D (hname1, htitle1, nbin , 0.0 , 0.001*E2NEL); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); + h2e[i] = ibooker.book1D (hname2, htitle2, nbin , 0.0 , 0.001*E2NEL); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); + h3e[i] = ibooker.book1D (hname3, htitle3, nbin , 0.0 , 0.001*E2NEL); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); + h4e[i] = ibooker.book1D (hname4, htitle4, nbin , 0.0 , 0.001*E2NEL); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); + h5e[i] = ibooker.book1D (hname5, htitle5, nbin , 0.0 , 0.001*E2NEL); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); + h6e[i] = ibooker.book1D (hname6, htitle6, nbin , 0.0 , 0.001*E2NEL); } @@ -154,18 +155,18 @@ const float low[] = {-0.03, -0.03, -0.02, -0.03, -0.03, -0.03}; sprintf (hname5,"Entryx-Exitx_BPIX_%i",i+1); sprintf (hname6,"Entryx-Exitx_FPIX_%i",i+1); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); - h1ex[i] = fDBE->book1D (hname1, htitle1, nbin , low[0] , high[0]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); - h2ex[i] = fDBE->book1D (hname2, htitle2, nbin , low[1] , high[1]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); - h3ex[i] = fDBE->book1D (hname3, htitle3, nbin , low[2] , high[2]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); - h4ex[i] = fDBE->book1D (hname4, htitle4, nbin , low[3] , high[3]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); - h5ex[i] = fDBE->book1D (hname5, htitle5, nbin , low[4] , high[4]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); - h6ex[i] = fDBE->book1D (hname6, htitle6, nbin , low[5] , high[5]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); + h1ex[i] = ibooker.book1D (hname1, htitle1, nbin , low[0] , high[0]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); + h2ex[i] = ibooker.book1D (hname2, htitle2, nbin , low[1] , high[1]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); + h3ex[i] = ibooker.book1D (hname3, htitle3, nbin , low[2] , high[2]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); + h4ex[i] = ibooker.book1D (hname4, htitle4, nbin , low[3] , high[3]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); + h5ex[i] = ibooker.book1D (hname5, htitle5, nbin , low[4] , high[4]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); + h6ex[i] = ibooker.book1D (hname6, htitle6, nbin , low[5] , high[5]); } @@ -188,18 +189,18 @@ const float low0[] = {-0.05, -0.06, -0.03, -0.03, -0.03, -0.03}; sprintf (hname5,"Entryy-Exity_BPIX_%i",i+1); sprintf (hname6,"Entryy-Exity_FPIX_%i",i+1); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); - h1ey[i] = fDBE->book1D (hname1, htitle1, nbin , low0[0] , high0[0]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); - h2ey[i] = fDBE->book1D (hname2, htitle2, nbin , low0[1] , high0[1]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); - h3ey[i] = fDBE->book1D (hname3, htitle3, nbin , low0[2] , high0[2]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); - h4ey[i] = fDBE->book1D (hname4, htitle4, nbin , low0[3] , high0[3]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); - h5ey[i] = fDBE->book1D (hname5, htitle5, nbin , low0[4] , high0[4]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); - h6ey[i] = fDBE->book1D (hname6, htitle6, nbin , low0[5] , high0[5]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); + h1ey[i] = ibooker.book1D (hname1, htitle1, nbin , low0[0] , high0[0]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); + h2ey[i] = ibooker.book1D (hname2, htitle2, nbin , low0[1] , high0[1]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); + h3ey[i] = ibooker.book1D (hname3, htitle3, nbin , low0[2] , high0[2]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); + h4ey[i] = ibooker.book1D (hname4, htitle4, nbin , low0[3] , high0[3]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); + h5ey[i] = ibooker.book1D (hname5, htitle5, nbin , low0[4] , high0[4]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); + h6ey[i] = ibooker.book1D (hname6, htitle6, nbin , low0[5] , high0[5]); } @@ -222,18 +223,18 @@ const float low1[] = {0.,0.,0.,0.,0.,0.}; sprintf (hname5,"Entryz-Exitz_BPIX_%i",i+1); sprintf (hname6,"Entryz-Exitz_FPIX_%i",i+1); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); - h1ez[i] = fDBE->book1D (hname1, htitle1, nbin , low1[0] , high1[0]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); - h2ez[i] = fDBE->book1D (hname2, htitle2, nbin , low1[1] , high1[1]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); - h3ez[i] = fDBE->book1D (hname3, htitle3, nbin , low1[2] , high1[2]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); - h4ez[i] = fDBE->book1D (hname4, htitle4, nbin , low1[3] , high1[3]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); - h5ez[i] = fDBE->book1D (hname5, htitle5, nbin , low1[4] , high1[4]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); - h6ez[i] = fDBE->book1D (hname6, htitle6, nbin , low1[5] , high1[5]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); + h1ez[i] = ibooker.book1D (hname1, htitle1, nbin , low1[0] , high1[0]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); + h2ez[i] = ibooker.book1D (hname2, htitle2, nbin , low1[1] , high1[1]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); + h3ez[i] = ibooker.book1D (hname3, htitle3, nbin , low1[2] , high1[2]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); + h4ez[i] = ibooker.book1D (hname4, htitle4, nbin , low1[3] , high1[3]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); + h5ez[i] = ibooker.book1D (hname5, htitle5, nbin , low1[4] , high1[4]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); + h6ez[i] = ibooker.book1D (hname6, htitle6, nbin , low1[5] , high1[5]); } @@ -257,18 +258,18 @@ const float low2[] = {-3.2, -5.0, -5.5, -6.2, -0.85, -0.5}; sprintf (hname5,"Localx_BPIX_%i",i+1); sprintf (hname6,"Localx_FPIX_%i",i+1); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); - h1lx[i] = fDBE->book1D (hname1, htitle1, nbin , low2[0] , high2[0]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); - h2lx[i] = fDBE->book1D (hname2, htitle2, nbin , low2[1] , high2[1]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); - h3lx[i] = fDBE->book1D (hname3, htitle3, nbin , low2[2] , high2[2]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); - h4lx[i] = fDBE->book1D (hname4, htitle4, nbin , low2[3] , high2[3]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); - h5lx[i] = fDBE->book1D (hname5, htitle5, nbin , low2[4] , high2[4]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); - h6lx[i] = fDBE->book1D (hname6, htitle6, nbin , low2[5] , high2[5]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); + h1lx[i] = ibooker.book1D (hname1, htitle1, nbin , low2[0] , high2[0]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); + h2lx[i] = ibooker.book1D (hname2, htitle2, nbin , low2[1] , high2[1]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); + h3lx[i] = ibooker.book1D (hname3, htitle3, nbin , low2[2] , high2[2]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); + h4lx[i] = ibooker.book1D (hname4, htitle4, nbin , low2[3] , high2[3]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); + h5lx[i] = ibooker.book1D (hname5, htitle5, nbin , low2[4] , high2[4]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); + h6lx[i] = ibooker.book1D (hname6, htitle6, nbin , low2[5] , high2[5]); } @@ -292,22 +293,21 @@ const float low3[] = {-6.0, -10., -5.6, -10.5, -3.4, -0.52}; sprintf (hname5,"Localy_BPIX_%i",i+1); sprintf (hname6,"Localy_FPIX_%i",i+1); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); - h1ly[i] = fDBE->book1D (hname1, htitle1, nbin , low3[0] , high3[0]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); - h2ly[i] = fDBE->book1D (hname2, htitle2, nbin , low3[1] , high3[1]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); - h3ly[i] = fDBE->book1D (hname3, htitle3, nbin , low3[2] , high3[2]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); - h4ly[i] = fDBE->book1D (hname4, htitle4, nbin , low3[3] , high3[3]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); - h5ly[i] = fDBE->book1D (hname5, htitle5, nbin , low3[4] , high3[4]); - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); - h6ly[i] = fDBE->book1D (hname6, htitle6, nbin , low3[5] , high3[5]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIBHit"); + h1ly[i] = ibooker.book1D (hname1, htitle1, nbin , low3[0] , high3[0]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TOBHit"); + h2ly[i] = ibooker.book1D (hname2, htitle2, nbin , low3[1] , high3[1]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TIDHit"); + h3ly[i] = ibooker.book1D (hname3, htitle3, nbin , low3[2] , high3[2]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/TECHit"); + h4ly[i] = ibooker.book1D (hname4, htitle4, nbin , low3[3] , high3[3]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/BPIXHit"); + h5ly[i] = ibooker.book1D (hname5, htitle5, nbin , low3[4] , high3[4]); + ibooker.setCurrentFolder("TrackerHitsV/TrackerHit/FPIXHit"); + h6ly[i] = ibooker.book1D (hname6, htitle6, nbin , low3[5] , high3[5]); } - } } @@ -318,30 +318,15 @@ TrackerHitAnalyzer::~TrackerHitAnalyzer() -void TrackerHitAnalyzer::endJob() -{ - //before check that histos are there.... - - // check if ME still there (and not killed by MEtoEDM for memory saving) - if( fDBE ) - { - // check existence of first histo in the list - if (! fDBE->get("TrackerHitsV/TrackerHit/tof_eta")) return; - } - else - return; - - fDBE->setCurrentFolder("TrackerHitsV/TrackerHit/"); - htofeta_profile = fDBE->bookProfile ("tof_eta_profile",htofeta->getTH2F()->ProfileX()); - htofphi_profile = fDBE->bookProfile("tof_phi_profile", htofphi->getTH2F()->ProfileX()); - htofr_profile = fDBE->bookProfile("tof_r_profile",htofr->getTH2F()->ProfileX()); - htofz_profile = fDBE->bookProfile("tof_z_profile", htofz->getTH2F()->ProfileX()); - - - if ( fOutputFile.size() != 0 && fDBE ) fDBE->save(fOutputFile); - - return ; +void TrackerHitAnalyzer::endJob(){ + //According to the previous code some profile plots were created here + //However, these profile plots are not in the final root file + //For now we comment out these plots (since they are not created in any case) + //Then, if needed we will consider moving the booking of the profileplots to the bookHistograms function + //and here we will do the profile + //Save root file only in standalone mode + if ( runStandalone && fOutputFile.size() != 0 && fDBE ){ fDBE->save(fOutputFile);} } diff --git a/Validation/TrackerRecHits/interface/SiPixelRecHitsValid.h b/Validation/TrackerRecHits/interface/SiPixelRecHitsValid.h index e5c6b3d784f0a..baa8f70df99d3 100644 --- a/Validation/TrackerRecHits/interface/SiPixelRecHitsValid.h +++ b/Validation/TrackerRecHits/interface/SiPixelRecHitsValid.h @@ -12,6 +12,7 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Framework/interface/EDAnalyzer.h" +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" #include @@ -23,7 +24,7 @@ class PixelGeomDetUnit; class SiPixelRecHit; class TrackerTopology; -class SiPixelRecHitsValid : public edm::EDAnalyzer { +class SiPixelRecHitsValid : public DQMEDAnalyzer { public: //Constructor @@ -36,7 +37,7 @@ class SiPixelRecHitsValid : public edm::EDAnalyzer { virtual void analyze(const edm::Event& e, const edm::EventSetup& c); void beginJob(); - void beginRun( const edm::Run& r, const edm::EventSetup& c ); + void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es); void endJob(); private: @@ -46,6 +47,7 @@ class SiPixelRecHitsValid : public edm::EDAnalyzer { const TrackerTopology *tTopo); std::string outputFile_; + bool runStandalone; //Clusters BPIX MonitorElement* clustYSizeModule[8]; diff --git a/Validation/TrackerRecHits/interface/SiStripRecHitsValid.h b/Validation/TrackerRecHits/interface/SiStripRecHitsValid.h index 0591b96f06148..2ec3bb5062c50 100644 --- a/Validation/TrackerRecHits/interface/SiStripRecHitsValid.h +++ b/Validation/TrackerRecHits/interface/SiStripRecHitsValid.h @@ -37,6 +37,7 @@ #include #include "DQMServices/Core/interface/MonitorElement.h" +#include //For RecHit #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h" #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h" @@ -44,7 +45,7 @@ class SiStripDetCabling; class SiStripDCSStatus; -class SiStripRecHitsValid : public edm::EDAnalyzer { +class SiStripRecHitsValid : public DQMEDAnalyzer { public: @@ -114,14 +115,16 @@ class SiStripRecHitsValid : public edm::EDAnalyzer { protected: virtual void analyze(const edm::Event& e, const edm::EventSetup& c); + void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es); void beginJob(const edm::EventSetup& es); - virtual void beginRun(const edm::Run&, const edm::EventSetup&); void endJob(); - + private: //Back-End Interface DQMStore* dbe_; - std::string outputFile_; + bool outputMEsInRootFile; + bool runStandalone; + std::string outputFileName; TotalMEs totalMEs; @@ -173,13 +176,13 @@ class SiStripRecHitsValid : public edm::EDAnalyzer { std::pair projectHit( const PSimHit& hit, const StripGeomDetUnit* stripDet, const BoundPlane& plane); - void createMEs(const edm::EventSetup& es); - void createTotalMEs(); - void createLayerMEs(std::string label); - void createSubDetMEs(std::string label); - void createStereoAndMatchedMEs(std::string label); + void createMEs(DQMStore::IBooker & ibooker,const edm::EventSetup& es); + void createTotalMEs(DQMStore::IBooker & ibooker); + void createLayerMEs(DQMStore::IBooker & ibooker,std::string label); + void createSubDetMEs(DQMStore::IBooker & ibooker,std::string label); + void createStereoAndMatchedMEs(DQMStore::IBooker & ibooker,std::string label); - MonitorElement* bookME1D(const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle); + MonitorElement* bookME1D(DQMStore::IBooker & ibooker,const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle); inline void fillME(MonitorElement* ME,float value1){if (ME!=0)ME->Fill(value1);} inline void fillME(MonitorElement* ME,float value1,float value2){if (ME!=0)ME->Fill(value1,value2);} diff --git a/Validation/TrackerRecHits/python/SiPixelRecHitsValid_cfi.py b/Validation/TrackerRecHits/python/SiPixelRecHitsValid_cfi.py index 74e7c9522519a..641294822a39a 100644 --- a/Validation/TrackerRecHits/python/SiPixelRecHitsValid_cfi.py +++ b/Validation/TrackerRecHits/python/SiPixelRecHitsValid_cfi.py @@ -3,6 +3,7 @@ pixRecHitsValid = cms.EDAnalyzer("SiPixelRecHitsValid", src = cms.InputTag("siPixelRecHits"), outputFile = cms.untracked.string(''), + runStandalone = cms.bool(False), associatePixel = cms.bool(True), ROUList = cms.vstring('g4SimHitsTrackerHitsPixelBarrelLowTof', 'g4SimHitsTrackerHitsPixelBarrelHighTof', diff --git a/Validation/TrackerRecHits/python/SiStripRecHitsValid_cfi.py b/Validation/TrackerRecHits/python/SiStripRecHitsValid_cfi.py index e16fc5c2729a9..719f80d02ae67 100644 --- a/Validation/TrackerRecHits/python/SiStripRecHitsValid_cfi.py +++ b/Validation/TrackerRecHits/python/SiStripRecHitsValid_cfi.py @@ -3,6 +3,7 @@ stripRecHitsValid = cms.EDAnalyzer("SiStripRecHitsValid", # outputFile = cms.untracked.string('sistriprechitshisto.root'), outputFile = cms.string('striptrackingrechitshisto.root'), + runStandalone = cms.bool(False), OutputMEsInRootFile = cms.bool(False), TopFolderName = cms.string('SiStrip/RecHitsValidation/StiffTrackingRecHits'), diff --git a/Validation/TrackerRecHits/src/SiPixelRecHitsValid.cc b/Validation/TrackerRecHits/src/SiPixelRecHitsValid.cc index 747e8c6ad13b2..d344baed7c418 100644 --- a/Validation/TrackerRecHits/src/SiPixelRecHitsValid.cc +++ b/Validation/TrackerRecHits/src/SiPixelRecHitsValid.cc @@ -50,6 +50,7 @@ SiPixelRecHitsValid::SiPixelRecHitsValid(const edm::ParameterSet& ps) : outputFile_( ps.getUntrackedParameter( "outputFile", "pixelrechitshisto.root" ) ) + , runStandalone ( ps.getParameter("runStandalone") ) , dbe_(0) , conf_(ps) , siPixelRecHitCollectionToken_( consumes( ps.getParameter( "src" ) ) ) { @@ -60,13 +61,12 @@ SiPixelRecHitsValid::~SiPixelRecHitsValid() { } void SiPixelRecHitsValid::beginJob() { - } -void SiPixelRecHitsValid::beginRun( const edm::Run& r, const edm::EventSetup& c ) { +void SiPixelRecHitsValid::bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es){ dbe_ = edm::Service().operator->(); //dbe_->showDirStructure(); - dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/clustBPIX"); + ibooker.setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/clustBPIX"); Char_t histo[200]; @@ -79,193 +79,194 @@ void SiPixelRecHitsValid::beginRun( const edm::Run& r, const edm::EventSetup& c //Cluster y-size by module number for barrel for (int i=0; i<8; i++) { sprintf(histo, "Clust_y_size_Module%d", i+1); - clustYSizeModule[i] = dbe_->book1D(histo,"Cluster y-size by Module", 20, 0.5, 20.5); + clustYSizeModule[i] = ibooker.book1D(histo,"Cluster y-size by Module", 20, 0.5, 20.5); } // end for //Cluster x-size by layer for barrel for (int i=0; i<3; i++) { sprintf(histo, "Clust_x_size_Layer%d", i+1); - clustXSizeLayer[i] = dbe_->book1D(histo,"Cluster x-size by Layer", 20, 0.5, 20.5); + clustXSizeLayer[i] = ibooker.book1D(histo,"Cluster x-size by Layer", 20, 0.5, 20.5); } // end for //Cluster charge by module for 3 layers of barrel for (int i=0; i<8; i++) { //Cluster charge by module for Layer1 sprintf(histo, "Clust_charge_Layer1_Module%d", i+1); - clustChargeLayer1Modules[i] = dbe_->book1D(histo, "Cluster charge Layer 1 by Module", 50, 0., 200000.); + clustChargeLayer1Modules[i] = ibooker.book1D(histo, "Cluster charge Layer 1 by Module", 50, 0., 200000.); //Cluster charge by module for Layer2 sprintf(histo, "Clust_charge_Layer2_Module%d", i+1); - clustChargeLayer2Modules[i] = dbe_->book1D(histo, "Cluster charge Layer 2 by Module", 50, 0., 200000.); + clustChargeLayer2Modules[i] = ibooker.book1D(histo, "Cluster charge Layer 2 by Module", 50, 0., 200000.); //Cluster charge by module for Layer3 sprintf(histo, "Clust_charge_Layer3_Module%d", i+1); - clustChargeLayer3Modules[i] = dbe_->book1D(histo, "Cluster charge Layer 3 by Module",50, 0., 200000.); + clustChargeLayer3Modules[i] = ibooker.book1D(histo, "Cluster charge Layer 3 by Module",50, 0., 200000.); } // end for - dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/clustFPIX"); + ibooker.setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/clustFPIX"); //Cluster x-size, y-size, and charge by plaquette for Disks in Forward for (int i=0; i<7; i++) { //Cluster x-size for Disk1 by Plaquette sprintf(histo, "Clust_x_size_Disk1_Plaquette%d", i+1); - clustXSizeDisk1Plaquettes[i] = dbe_->book1D(histo, "Cluster X-size for Disk1 by Plaquette", 20, 0.5, 20.5); + clustXSizeDisk1Plaquettes[i] = ibooker.book1D(histo, "Cluster X-size for Disk1 by Plaquette", 20, 0.5, 20.5); //Cluster x-size for Disk2 by Plaquette sprintf(histo, "Clust_x_size_Disk2_Plaquette%d", i+1); - clustXSizeDisk2Plaquettes[i] = dbe_->book1D(histo, "Cluster X-size for Disk2 by Plaquette", 20, 0.5, 20.5); + clustXSizeDisk2Plaquettes[i] = ibooker.book1D(histo, "Cluster X-size for Disk2 by Plaquette", 20, 0.5, 20.5); //Cluster y-size for Disk1 by Plaquette sprintf(histo, "Clust_y_size_Disk1_Plaquette%d", i+1); - clustYSizeDisk1Plaquettes[i] = dbe_->book1D(histo, "Cluster Y-size for Disk1 by Plaquette", 20, 0.5, 20.5); + clustYSizeDisk1Plaquettes[i] = ibooker.book1D(histo, "Cluster Y-size for Disk1 by Plaquette", 20, 0.5, 20.5); //Cluster y-size for Disk2 by Plaquette sprintf(histo, "Clust_y_size_Disk2_Plaquette%d", i+1); - clustYSizeDisk2Plaquettes[i] = dbe_->book1D(histo, "Cluster Y-size for Disk2 by Plaquette", 20, 0.5, 20.5); + clustYSizeDisk2Plaquettes[i] = ibooker.book1D(histo, "Cluster Y-size for Disk2 by Plaquette", 20, 0.5, 20.5); //Cluster charge for Disk1 by Plaquette sprintf(histo, "Clust_charge_Disk1_Plaquette%d", i+1); - clustChargeDisk1Plaquettes[i] = dbe_->book1D(histo, "Cluster charge for Disk1 by Plaquette", 50, 0., 200000.); + clustChargeDisk1Plaquettes[i] = ibooker.book1D(histo, "Cluster charge for Disk1 by Plaquette", 50, 0., 200000.); //Cluster charge for Disk2 by Plaquette sprintf(histo, "Clust_charge_Disk2_Plaquette%d", i+1); - clustChargeDisk2Plaquettes[i] = dbe_->book1D(histo, "Cluster charge for Disk2 by Plaquette", 50, 0., 200000.); + clustChargeDisk2Plaquettes[i] = ibooker.book1D(histo, "Cluster charge for Disk2 by Plaquette", 50, 0., 200000.); } // end for - dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitBPIX"); + ibooker.setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitBPIX"); //RecHit X Resolution all barrel hits - recHitXResAllB = dbe_->book1D("RecHit_xres_b_All","RecHit X Res All Modules in Barrel", 100, -200., 200.); + recHitXResAllB = ibooker.book1D("RecHit_xres_b_All","RecHit X Res All Modules in Barrel", 100, -200., 200.); //RecHit Y Resolution all barrel hits - recHitYResAllB = dbe_->book1D("RecHit_yres_b_All","RecHit Y Res All Modules in Barrel", 100, -200., 200.); + recHitYResAllB = ibooker.book1D("RecHit_yres_b_All","RecHit Y Res All Modules in Barrel", 100, -200., 200.); //RecHit X distribution for full modules for barrel - recHitXFullModules = dbe_->book1D("RecHit_x_FullModules", "RecHit X distribution for full modules", 100,-2., 2.); + recHitXFullModules = ibooker.book1D("RecHit_x_FullModules", "RecHit X distribution for full modules", 100,-2., 2.); //RecHit X distribution for half modules for barrel - recHitXHalfModules = dbe_->book1D("RecHit_x_HalfModules", "RecHit X distribution for half modules", 100, -1., 1.); + recHitXHalfModules = ibooker.book1D("RecHit_x_HalfModules", "RecHit X distribution for half modules", 100, -1., 1.); //RecHit Y distribution all modules for barrel - recHitYAllModules = dbe_->book1D("RecHit_y_AllModules", "RecHit Y distribution for all modules", 100, -4., 4.); + recHitYAllModules = ibooker.book1D("RecHit_y_AllModules", "RecHit Y distribution for all modules", 100, -4., 4.); //RecHit X resolution for flipped and unflipped ladders by layer for barrel for (int i=0; i<3; i++) { //RecHit X resolution for flipped ladders by layer sprintf(histo, "RecHit_XRes_FlippedLadder_Layer%d", i+1); - recHitXResFlippedLadderLayers[i] = dbe_->book1D(histo, "RecHit XRes Flipped Ladders by Layer", 100, -200., 200.); + recHitXResFlippedLadderLayers[i] = ibooker.book1D(histo, "RecHit XRes Flipped Ladders by Layer", 100, -200., 200.); //RecHit X resolution for unflipped ladders by layer sprintf(histo, "RecHit_XRes_UnFlippedLadder_Layer%d", i+1); - recHitXResNonFlippedLadderLayers[i] = dbe_->book1D(histo, "RecHit XRes NonFlipped Ladders by Layer", 100, -200., 200.); + recHitXResNonFlippedLadderLayers[i] = ibooker.book1D(histo, "RecHit XRes NonFlipped Ladders by Layer", 100, -200., 200.); } // end for //RecHit Y resolutions for layers by module for barrel for (int i=0; i<8; i++) { //Rec Hit Y resolution by module for Layer1 sprintf(histo, "RecHit_YRes_Layer1_Module%d", i+1); - recHitYResLayer1Modules[i] = dbe_->book1D(histo, "RecHit YRes Layer1 by module", 100, -200., 200.); + recHitYResLayer1Modules[i] = ibooker.book1D(histo, "RecHit YRes Layer1 by module", 100, -200., 200.); //RecHit Y resolution by module for Layer2 sprintf(histo, "RecHit_YRes_Layer2_Module%d", i+1); - recHitYResLayer2Modules[i] = dbe_->book1D(histo, "RecHit YRes Layer2 by module", 100, -200., 200.); + recHitYResLayer2Modules[i] = ibooker.book1D(histo, "RecHit YRes Layer2 by module", 100, -200., 200.); //RecHit Y resolution by module for Layer3 sprintf(histo, "RecHit_YRes_Layer3_Module%d", i+1); - recHitYResLayer3Modules[i] = dbe_->book1D(histo, "RecHit YRes Layer3 by module", 100, -200., 200.); + recHitYResLayer3Modules[i] = ibooker.book1D(histo, "RecHit YRes Layer3 by module", 100, -200., 200.); } // end for - dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitFPIX"); + ibooker.setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitFPIX"); //RecHit X resolution all plaquettes - recHitXResAllF = dbe_->book1D("RecHit_xres_f_All", "RecHit X Res All in Forward", 100, -200., 200.); + recHitXResAllF = ibooker.book1D("RecHit_xres_f_All", "RecHit X Res All in Forward", 100, -200., 200.); //RecHit Y resolution all plaquettes - recHitYResAllF = dbe_->book1D("RecHit_yres_f_All", "RecHit Y Res All in Forward", 100, -200., 200.); + recHitYResAllF = ibooker.book1D("RecHit_yres_f_All", "RecHit Y Res All in Forward", 100, -200., 200.); //RecHit X distribution for plaquette with x-size 1 in forward - recHitXPlaquetteSize1 = dbe_->book1D("RecHit_x_Plaquette_xsize1", "RecHit X Distribution for plaquette x-size1", 100, -2., 2.); + recHitXPlaquetteSize1 = ibooker.book1D("RecHit_x_Plaquette_xsize1", "RecHit X Distribution for plaquette x-size1", 100, -2., 2.); //RecHit X distribution for plaquette with x-size 2 in forward - recHitXPlaquetteSize2 = dbe_->book1D("RecHit_x_Plaquette_xsize2", "RecHit X Distribution for plaquette x-size2", 100, -2., 2.); + recHitXPlaquetteSize2 = ibooker.book1D("RecHit_x_Plaquette_xsize2", "RecHit X Distribution for plaquette x-size2", 100, -2., 2.); //RecHit Y distribution for plaquette with y-size 2 in forward - recHitYPlaquetteSize2 = dbe_->book1D("RecHit_y_Plaquette_ysize2", "RecHit Y Distribution for plaquette y-size2", 100, -4., 4.); + recHitYPlaquetteSize2 = ibooker.book1D("RecHit_y_Plaquette_ysize2", "RecHit Y Distribution for plaquette y-size2", 100, -4., 4.); //RecHit Y distribution for plaquette with y-size 3 in forward - recHitYPlaquetteSize3 = dbe_->book1D("RecHit_y_Plaquette_ysize3", "RecHit Y Distribution for plaquette y-size3", 100, -4., 4.); + recHitYPlaquetteSize3 = ibooker.book1D("RecHit_y_Plaquette_ysize3", "RecHit Y Distribution for plaquette y-size3", 100, -4., 4.); //RecHit Y distribution for plaquette with y-size 4 in forward - recHitYPlaquetteSize4 = dbe_->book1D("RecHit_y_Plaquette_ysize4", "RecHit Y Distribution for plaquette y-size4", 100, -4., 4.); + recHitYPlaquetteSize4 = ibooker.book1D("RecHit_y_Plaquette_ysize4", "RecHit Y Distribution for plaquette y-size4", 100, -4., 4.); //RecHit Y distribution for plaquette with y-size 5 in forward - recHitYPlaquetteSize5 = dbe_->book1D("RecHit_y_Plaquette_ysize5", "RecHit Y Distribution for plaquette y-size5", 100, -4., 4.); + recHitYPlaquetteSize5 = ibooker.book1D("RecHit_y_Plaquette_ysize5", "RecHit Y Distribution for plaquette y-size5", 100, -4., 4.); //X and Y resolutions for both disks by plaquette in forward for (int i=0; i<7; i++) { //X resolution for Disk1 by plaquette sprintf(histo, "RecHit_XRes_Disk1_Plaquette%d", i+1); - recHitXResDisk1Plaquettes[i] = dbe_->book1D(histo, "RecHit XRes Disk1 by plaquette", 100, -200., 200.); + recHitXResDisk1Plaquettes[i] = ibooker.book1D(histo, "RecHit XRes Disk1 by plaquette", 100, -200., 200.); //X resolution for Disk2 by plaquette sprintf(histo, "RecHit_XRes_Disk2_Plaquette%d", i+1); - recHitXResDisk2Plaquettes[i] = dbe_->book1D(histo, "RecHit XRes Disk2 by plaquette", 100, -200., 200.); + recHitXResDisk2Plaquettes[i] = ibooker.book1D(histo, "RecHit XRes Disk2 by plaquette", 100, -200., 200.); //Y resolution for Disk1 by plaquette sprintf(histo, "RecHit_YRes_Disk1_Plaquette%d", i+1); - recHitYResDisk1Plaquettes[i] = dbe_->book1D(histo, "RecHit YRes Disk1 by plaquette", 100, -200., 200.); + recHitYResDisk1Plaquettes[i] = ibooker.book1D(histo, "RecHit YRes Disk1 by plaquette", 100, -200., 200.); //Y resolution for Disk2 by plaquette sprintf(histo, "RecHit_YRes_Disk2_Plaquette%d", i+1); - recHitYResDisk2Plaquettes[i] = dbe_->book1D(histo, "RecHit YRes Disk2 by plaquette", 100, -200., 200.); + recHitYResDisk2Plaquettes[i] = ibooker.book1D(histo, "RecHit YRes Disk2 by plaquette", 100, -200., 200.); } - dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitPullsBPIX"); - recHitXPullAllB = dbe_->book1D("RecHit_xres_b_All" , "RecHit X Pull All Modules in Barrel" , 100, -10.0, 10.0); - recHitYPullAllB = dbe_->book1D("RecHit_yres_b_All" , "RecHit Y Pull All Modules in Barrel" , 100, -10.0, 10.0); + ibooker.setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitPullsBPIX"); + recHitXPullAllB = ibooker.book1D("RecHit_xres_b_All" , "RecHit X Pull All Modules in Barrel" , 100, -10.0, 10.0); + recHitYPullAllB = ibooker.book1D("RecHit_yres_b_All" , "RecHit Y Pull All Modules in Barrel" , 100, -10.0, 10.0); for (int i=0; i<3; i++) { sprintf(histo, "RecHit_XPull_FlippedLadder_Layer%d", i+1); - recHitXPullFlippedLadderLayers[i] = dbe_->book1D(histo, "RecHit XPull Flipped Ladders by Layer", 100, -10.0, 10.0); + recHitXPullFlippedLadderLayers[i] = ibooker.book1D(histo, "RecHit XPull Flipped Ladders by Layer", 100, -10.0, 10.0); sprintf(histo, "RecHit_XPull_UnFlippedLadder_Layer%d", i+1); - recHitXPullNonFlippedLadderLayers[i] = dbe_->book1D(histo, "RecHit XPull NonFlipped Ladders by Layer", 100, -10.0, 10.0); + recHitXPullNonFlippedLadderLayers[i] = ibooker.book1D(histo, "RecHit XPull NonFlipped Ladders by Layer", 100, -10.0, 10.0); } for (int i=0; i<8; i++) { sprintf(histo, "RecHit_YPull_Layer1_Module%d", i+1); - recHitYPullLayer1Modules[i] = dbe_->book1D(histo, "RecHit YPull Layer1 by module", 100, -10.0, 10.0); + recHitYPullLayer1Modules[i] = ibooker.book1D(histo, "RecHit YPull Layer1 by module", 100, -10.0, 10.0); sprintf(histo, "RecHit_YPull_Layer2_Module%d", i+1); - recHitYPullLayer2Modules[i] = dbe_->book1D(histo, "RecHit YPull Layer2 by module", 100, -10.0, 10.0); + recHitYPullLayer2Modules[i] = ibooker.book1D(histo, "RecHit YPull Layer2 by module", 100, -10.0, 10.0); sprintf(histo, "RecHit_YPull_Layer3_Module%d", i+1); - recHitYPullLayer3Modules[i] = dbe_->book1D(histo, "RecHit YPull Layer3 by module", 100, -10.0, 10.0); + recHitYPullLayer3Modules[i] = ibooker.book1D(histo, "RecHit YPull Layer3 by module", 100, -10.0, 10.0); } - dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitPullsFPIX"); - recHitXPullAllF = dbe_->book1D("RecHit_XPull_f_All", "RecHit X Pull All in Forward", 100, -10.0, 10.0); + ibooker.setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitPullsFPIX"); + recHitXPullAllF = ibooker.book1D("RecHit_XPull_f_All", "RecHit X Pull All in Forward", 100, -10.0, 10.0); - recHitYPullAllF = dbe_->book1D("RecHit_YPull_f_All", "RecHit Y Pull All in Forward", 100, -10.0, 10.0); + recHitYPullAllF = ibooker.book1D("RecHit_YPull_f_All", "RecHit Y Pull All in Forward", 100, -10.0, 10.0); for (int i=0; i<7; i++) { sprintf(histo, "RecHit_XPull_Disk1_Plaquette%d", i+1); - recHitXPullDisk1Plaquettes[i] = dbe_->book1D(histo, "RecHit XPull Disk1 by plaquette", 100, -10.0, 10.0); + recHitXPullDisk1Plaquettes[i] = ibooker.book1D(histo, "RecHit XPull Disk1 by plaquette", 100, -10.0, 10.0); sprintf(histo, "RecHit_XPull_Disk2_Plaquette%d", i+1); - recHitXPullDisk2Plaquettes[i] = dbe_->book1D(histo, "RecHit XPull Disk2 by plaquette", 100, -10.0, 10.0); + recHitXPullDisk2Plaquettes[i] = ibooker.book1D(histo, "RecHit XPull Disk2 by plaquette", 100, -10.0, 10.0); sprintf(histo, "RecHit_YPull_Disk1_Plaquette%d", i+1); - recHitYPullDisk1Plaquettes[i] = dbe_->book1D(histo, "RecHit YPull Disk1 by plaquette", 100, -10.0, 10.0); + recHitYPullDisk1Plaquettes[i] = ibooker.book1D(histo, "RecHit YPull Disk1 by plaquette", 100, -10.0, 10.0); sprintf(histo, "RecHit_YPull_Disk2_Plaquette%d", i+1); - recHitYPullDisk2Plaquettes[i] = dbe_->book1D(histo, "RecHit YPull Disk2 by plaquette", 100, -10.0, 10.0); + recHitYPullDisk2Plaquettes[i] = ibooker.book1D(histo, "RecHit YPull Disk2 by plaquette", 100, -10.0, 10.0); } } void SiPixelRecHitsValid::endJob() { - if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); + //Save histos in local root file only in standalone mode + if ( runStandalone && outputFile_.size() != 0 && dbe_ ){ dbe_->save(outputFile_);} } void SiPixelRecHitsValid::analyze(const edm::Event& e, const edm::EventSetup& es) diff --git a/Validation/TrackerRecHits/src/SiStripRecHitsValid.cc b/Validation/TrackerRecHits/src/SiStripRecHitsValid.cc index 4fb34ed452114..358501c6bd657 100644 --- a/Validation/TrackerRecHits/src/SiStripRecHitsValid.cc +++ b/Validation/TrackerRecHits/src/SiStripRecHitsValid.cc @@ -49,7 +49,7 @@ namespace helper { //Constructor SiStripRecHitsValid::SiStripRecHitsValid(const ParameterSet& ps) : - dbe_(edm::Service().operator->()), + dbe_(edm::Service().operator->()), conf_(ps), m_cacheID_(0) // matchedRecHits_( ps.getParameter("matchedRecHits") ), @@ -65,6 +65,12 @@ SiStripRecHitsValid::SiStripRecHitsValid(const ParameterSet& ps) : topFolderName_ = conf_.getParameter("TopFolderName"); SubDetList_ = conf_.getParameter >("SubDetList"); + + outputMEsInRootFile = conf_.getParameter("OutputMEsInRootFile"); + + outputFileName = conf_.getParameter("outputFile"); + + runStandalone = conf_.getParameter("runStandalone"); edm::ParameterSet ParametersNumTotrphi = conf_.getParameter("TH1NumTotrphi"); switchNumTotrphi = ParametersNumTotrphi.getParameter("switchon"); @@ -156,11 +162,10 @@ SiStripRecHitsValid::SiStripRecHitsValid(const ParameterSet& ps) : } SiStripRecHitsValid::~SiStripRecHitsValid(){ - // if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); } //-------------------------------------------------------------------------------------------- -void SiStripRecHitsValid::beginRun(const edm::Run& run, const edm::EventSetup& es){ +void SiStripRecHitsValid::bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es){ unsigned long long cacheID = es.get().cacheIdentifier(); if (m_cacheID_ != cacheID) { @@ -168,23 +173,17 @@ void SiStripRecHitsValid::beginRun(const edm::Run& run, const edm::EventSetup& e edm::LogInfo("SiStripRecHitsValid") <<"SiStripRecHitsValid::beginRun: " << " Creating MEs for new Cabling "; - createMEs(es); + createMEs(ibooker,es); } } - void SiStripRecHitsValid::beginJob(const edm::EventSetup& es){ - } void SiStripRecHitsValid::endJob() { - - bool outputMEsInRootFile = conf_.getParameter("OutputMEsInRootFile"); - std::string outputFileName = conf_.getParameter("outputFile"); - - // save histos in a file - if(outputMEsInRootFile) dbe_->save(outputFileName); - + //Only in standalone mode save local root file + if(runStandalone && outputMEsInRootFile){dbe_->save(outputFileName);} + } @@ -573,7 +572,7 @@ void SiStripRecHitsValid::rechitanalysis_matched(SiStripMatchedRecHit2D const re } //-------------------------------------------------------------------------------------------- -void SiStripRecHitsValid::createMEs(const edm::EventSetup& es){ +void SiStripRecHitsValid::createMEs(DQMStore::IBooker & ibooker,const edm::EventSetup& es){ //Retrieve tracker topology from geometry edm::ESHandle tTopoHandle; @@ -597,7 +596,7 @@ void SiStripRecHitsValid::createMEs(const edm::EventSetup& es){ // std::cout << "curfold " << curfold << std::endl; - createTotalMEs(); + createTotalMEs(ibooker); // loop over detectors and book MEs edm::LogInfo("SiStripTkRecHits|SiStripRecHitsValid")<<"nr. of activeDets: "< sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo); // std::cout << "sdet_pair " << sdet_pair.first << " " << sdet_pair.second << std::endl; if (SubDetMEsMap.find(det_layer_pair.first) == SubDetMEsMap.end()){ - dbe_->setCurrentFolder(sdet_pair.first); - createSubDetMEs(det_layer_pair.first); + ibooker.setCurrentFolder(sdet_pair.first); + createSubDetMEs(ibooker,det_layer_pair.first); } //Create StereoAndMatchedMEs std::map::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label); @@ -688,7 +687,7 @@ void SiStripRecHitsValid::createMEs(const edm::EventSetup& es){ // folder_organizer.getLayerFolderName(ss1, detid, tTopo, true); // std::cout << "Folder Name stereo " << ss1.str().c_str() << std::endl; //Create the Monitor Elements only when we have a stereo module - createStereoAndMatchedMEs(label); + createStereoAndMatchedMEs(ibooker,label); } } @@ -696,7 +695,7 @@ void SiStripRecHitsValid::createMEs(const edm::EventSetup& es){ }//end of loop over detectors } //------------------------------------------------------------------------------------------ -void SiStripRecHitsValid::createTotalMEs() +void SiStripRecHitsValid::createTotalMEs(DQMStore::IBooker & ibooker) { totalMEs.meNumTotrphi = 0; totalMEs.meNumTotStereo = 0; @@ -704,23 +703,23 @@ void SiStripRecHitsValid::createTotalMEs() //NumTotrphi if(switchNumTotrphi) { - totalMEs.meNumTotrphi = bookME1D("TH1NumTotrphi", "TH1NumTotrphi" ,"Num of RecHits"); + totalMEs.meNumTotrphi = bookME1D(ibooker,"TH1NumTotrphi", "TH1NumTotrphi" ,"Num of RecHits"); totalMEs.meNumTotrphi->setAxisTitle("Total number of RecHits"); } //NumTotStereo if(switchNumTotStereo) { - totalMEs.meNumTotStereo = bookME1D("TH1NumTotStereo", "TH1NumTotStereo","Num of RecHits stereo"); + totalMEs.meNumTotStereo = bookME1D(ibooker,"TH1NumTotStereo", "TH1NumTotStereo","Num of RecHits stereo"); totalMEs.meNumTotStereo ->setAxisTitle("Total number of RecHits (stereo)"); } //NumTotMatched if(switchNumTotMatched) { - totalMEs.meNumTotMatched = bookME1D("TH1NumTotMatched","TH1NumTotMatched","Num of RecHits rmatched"); + totalMEs.meNumTotMatched = bookME1D(ibooker,"TH1NumTotMatched","TH1NumTotMatched","Num of RecHits rmatched"); totalMEs.meNumTotMatched->setAxisTitle("Total number of matched RecHits"); } } //------------------------------------------------------------------------------------------ -void SiStripRecHitsValid::createLayerMEs(std::string label) +void SiStripRecHitsValid::createLayerMEs(DQMStore::IBooker & ibooker,std::string label) { SiStripHistoId hidmanager; LayerMEs layerMEs; @@ -736,42 +735,42 @@ void SiStripRecHitsValid::createLayerMEs(std::string label) //Wclusrphi if(switchWclusrphi) { - layerMEs.meWclusrphi = bookME1D("TH1Wclusrphi", hidmanager.createHistoLayer("Wclus_rphi","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster"); + layerMEs.meWclusrphi = bookME1D(ibooker,"TH1Wclusrphi", hidmanager.createHistoLayer("Wclus_rphi","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster"); layerMEs.meWclusrphi->setAxisTitle(("Cluster Width [nr strips] in "+ label).c_str()); } //Adcrphi if(switchAdcrphi) { - layerMEs.meAdcrphi = bookME1D("TH1Adcrphi", hidmanager.createHistoLayer("Adc_rphi","layer",label,"").c_str() ,"RecHit Cluster Charge"); + layerMEs.meAdcrphi = bookME1D(ibooker,"TH1Adcrphi", hidmanager.createHistoLayer("Adc_rphi","layer",label,"").c_str() ,"RecHit Cluster Charge"); layerMEs.meAdcrphi->setAxisTitle(("cluster charge [ADC] in " + label).c_str()); } //Posxrphi if(switchPosxrphi) { - layerMEs.mePosxrphi = bookME1D("TH1Posxrphi", hidmanager.createHistoLayer("Posx_rphi","layer",label,"").c_str() ,"RecHit x coord."); + layerMEs.mePosxrphi = bookME1D(ibooker,"TH1Posxrphi", hidmanager.createHistoLayer("Posx_rphi","layer",label,"").c_str() ,"RecHit x coord."); layerMEs.mePosxrphi->setAxisTitle(("x RecHit coord. (local frame) in " + label).c_str()); } //Resolxrphi if(switchResolxrphi) { - layerMEs.meResolxrphi = bookME1D("TH1Resolxrphi", hidmanager.createHistoLayer("Resolx_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //~20micron + layerMEs.meResolxrphi = bookME1D(ibooker,"TH1Resolxrphi", hidmanager.createHistoLayer("Resolx_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //~20micron layerMEs.meResolxrphi->setAxisTitle(("resol(x) RecHit coord. (local frame) in " + label).c_str()); } //Resrphi if(switchResrphi) { - layerMEs.meResrphi = bookME1D("TH1Resrphi", hidmanager.createHistoLayer("Res_rphi","layer",label,"").c_str() ,"Residuals of the hit x coordinate"); + layerMEs.meResrphi = bookME1D(ibooker,"TH1Resrphi", hidmanager.createHistoLayer("Res_rphi","layer",label,"").c_str() ,"Residuals of the hit x coordinate"); layerMEs.meResrphi->setAxisTitle(("RecHit Res(x) in " + label).c_str()); } //PullLFrphi if(switchPullLFrphi) { - layerMEs.mePullLFrphi = bookME1D("TH1PullLFrphi", hidmanager.createHistoLayer("Pull_LF_rphi","layer",label,"").c_str() ,"Pull distribution"); + layerMEs.mePullLFrphi = bookME1D(ibooker,"TH1PullLFrphi", hidmanager.createHistoLayer("Pull_LF_rphi","layer",label,"").c_str() ,"Pull distribution"); layerMEs.mePullLFrphi->setAxisTitle(("Pull distribution (local frame) in " + label).c_str()); } //PullMFrphi if(switchPullMFrphi) { - layerMEs.mePullMFrphi = bookME1D("TH1PullMFrphi", hidmanager.createHistoLayer("Pull_MF_rphi","layer",label,"").c_str() ,"Pull distribution"); + layerMEs.mePullMFrphi = bookME1D(ibooker,"TH1PullMFrphi", hidmanager.createHistoLayer("Pull_MF_rphi","layer",label,"").c_str() ,"Pull distribution"); layerMEs.mePullMFrphi->setAxisTitle(("Pull distribution (measurement frame) in " + label).c_str()); } //Chi2rphi if(switchChi2rphi) { - layerMEs.meChi2rphi = bookME1D("TH1Chi2rphi", hidmanager.createHistoLayer("Chi2_rphi","layer",label,"").c_str() ,"RecHit Chi2 test"); + layerMEs.meChi2rphi = bookME1D(ibooker,"TH1Chi2rphi", hidmanager.createHistoLayer("Chi2_rphi","layer",label,"").c_str() ,"RecHit Chi2 test"); layerMEs.meChi2rphi->setAxisTitle(("RecHit Chi2 test in " + label).c_str()); } @@ -779,7 +778,7 @@ void SiStripRecHitsValid::createLayerMEs(std::string label) } //------------------------------------------------------------------------------------------ -void SiStripRecHitsValid::createStereoAndMatchedMEs(std::string label) +void SiStripRecHitsValid::createStereoAndMatchedMEs(DQMStore::IBooker & ibooker,std::string label) { SiStripHistoId hidmanager; StereoAndMatchedMEs stereoandmatchedMEs; @@ -802,77 +801,77 @@ void SiStripRecHitsValid::createStereoAndMatchedMEs(std::string label) //WclusStereo if(switchWclusStereo) { - stereoandmatchedMEs.meWclusStereo = bookME1D("TH1WclusStereo", hidmanager.createHistoLayer("Wclus_stereo","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster"); + stereoandmatchedMEs.meWclusStereo = bookME1D(ibooker,"TH1WclusStereo", hidmanager.createHistoLayer("Wclus_stereo","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster"); stereoandmatchedMEs.meWclusStereo->setAxisTitle(("Cluster Width [nr strips] in stereo modules in "+ label).c_str()); } //AdcStereo if(switchAdcStereo) { - stereoandmatchedMEs.meAdcStereo = bookME1D("TH1AdcStereo", hidmanager.createHistoLayer("Adc_stereo","layer",label,"").c_str() ,"RecHit Cluster Charge"); + stereoandmatchedMEs.meAdcStereo = bookME1D(ibooker,"TH1AdcStereo", hidmanager.createHistoLayer("Adc_stereo","layer",label,"").c_str() ,"RecHit Cluster Charge"); stereoandmatchedMEs.meAdcStereo->setAxisTitle(("cluster charge [ADC] in stereo modules in " + label).c_str()); } //PosxStereo if(switchPosxStereo) { - stereoandmatchedMEs.mePosxStereo = bookME1D("TH1PosxStereo", hidmanager.createHistoLayer("Posx_stereo","layer",label,"").c_str() ,"RecHit x coord."); + stereoandmatchedMEs.mePosxStereo = bookME1D(ibooker,"TH1PosxStereo", hidmanager.createHistoLayer("Posx_stereo","layer",label,"").c_str() ,"RecHit x coord."); stereoandmatchedMEs.mePosxStereo->setAxisTitle(("x RecHit coord. (local frame) in stereo modules in " + label).c_str()); } //ResolxStereo if(switchResolxStereo) { - stereoandmatchedMEs.meResolxStereo = bookME1D("TH1ResolxStereo", hidmanager.createHistoLayer("Resolx_stereo","layer",label,"").c_str() ,"RecHit resol(x) coord."); + stereoandmatchedMEs.meResolxStereo = bookME1D(ibooker,"TH1ResolxStereo", hidmanager.createHistoLayer("Resolx_stereo","layer",label,"").c_str() ,"RecHit resol(x) coord."); stereoandmatchedMEs.meResolxStereo->setAxisTitle(("resol(x) RecHit coord. (local frame) in stereo modules in " + label).c_str()); } //ResStereo if(switchResStereo) { - stereoandmatchedMEs.meResStereo = bookME1D("TH1ResStereo", hidmanager.createHistoLayer("Res_stereo","layer",label,"").c_str() ,"Residuals of the hit x coordinate"); + stereoandmatchedMEs.meResStereo = bookME1D(ibooker,"TH1ResStereo", hidmanager.createHistoLayer("Res_stereo","layer",label,"").c_str() ,"Residuals of the hit x coordinate"); stereoandmatchedMEs.meResStereo->setAxisTitle(("RecHit Res(x) in stereo modules in " + label).c_str()); } //PullLFStereo if(switchPullLFStereo) { - stereoandmatchedMEs.mePullLFStereo = bookME1D("TH1PullLFStereo", hidmanager.createHistoLayer("Pull_LF_stereo","layer",label,"").c_str() ,"Pull distribution"); + stereoandmatchedMEs.mePullLFStereo = bookME1D(ibooker,"TH1PullLFStereo", hidmanager.createHistoLayer("Pull_LF_stereo","layer",label,"").c_str() ,"Pull distribution"); stereoandmatchedMEs.mePullLFStereo->setAxisTitle(("Pull distribution (local frame) in stereo modules in " + label).c_str()); } //PullMFStereo if(switchPullMFStereo) { - stereoandmatchedMEs.mePullMFStereo = bookME1D("TH1PullMFStereo", hidmanager.createHistoLayer("Pull_MF_stereo","layer",label,"").c_str() ,"Pull distribution"); + stereoandmatchedMEs.mePullMFStereo = bookME1D(ibooker,"TH1PullMFStereo", hidmanager.createHistoLayer("Pull_MF_stereo","layer",label,"").c_str() ,"Pull distribution"); stereoandmatchedMEs.mePullMFStereo->setAxisTitle(("Pull distribution (measurement frame) in stereo modules in " + label).c_str()); } //Chi2Stereo if(switchChi2Stereo) { - stereoandmatchedMEs.meChi2Stereo = bookME1D("TH1Chi2Stereo", hidmanager.createHistoLayer("Chi2_stereo","layer",label,"").c_str() ,"RecHit Chi2 test"); + stereoandmatchedMEs.meChi2Stereo = bookME1D(ibooker,"TH1Chi2Stereo", hidmanager.createHistoLayer("Chi2_stereo","layer",label,"").c_str() ,"RecHit Chi2 test"); stereoandmatchedMEs.meChi2Stereo->setAxisTitle(("RecHit Chi2 test in stereo modules in " + label).c_str()); } //PosxMatched if(switchPosxMatched) { - stereoandmatchedMEs.mePosxMatched = bookME1D("TH1PosxMatched", hidmanager.createHistoLayer("Posx_matched","layer",label,"").c_str() ,"RecHit x coord."); + stereoandmatchedMEs.mePosxMatched = bookME1D(ibooker,"TH1PosxMatched", hidmanager.createHistoLayer("Posx_matched","layer",label,"").c_str() ,"RecHit x coord."); stereoandmatchedMEs.mePosxMatched->setAxisTitle(("x coord. matched RecHit (local frame) in " + label).c_str()); } //PosyMatched if(switchPosyMatched) { - stereoandmatchedMEs.mePosyMatched = bookME1D("TH1PosyMatched", hidmanager.createHistoLayer("Posy_matched","layer",label,"").c_str() ,"RecHit y coord."); + stereoandmatchedMEs.mePosyMatched = bookME1D(ibooker,"TH1PosyMatched", hidmanager.createHistoLayer("Posy_matched","layer",label,"").c_str() ,"RecHit y coord."); stereoandmatchedMEs.mePosyMatched->setAxisTitle(("y coord. matched RecHit (local frame) in " + label).c_str()); } //ResolxMatched if(switchResolxMatched) { - stereoandmatchedMEs.meResolxMatched = bookME1D("TH1ResolxMatched", hidmanager.createHistoLayer("Resolx_matched","layer",label,"").c_str() ,"RecHit resol(x) coord."); + stereoandmatchedMEs.meResolxMatched = bookME1D(ibooker,"TH1ResolxMatched", hidmanager.createHistoLayer("Resolx_matched","layer",label,"").c_str() ,"RecHit resol(x) coord."); stereoandmatchedMEs.meResolxMatched->setAxisTitle(("resol(x) coord. matched RecHit (local frame) in " + label).c_str()); } //ResolyMatched if(switchResolyMatched) { - stereoandmatchedMEs.meResolyMatched = bookME1D("TH1ResolyMatched", hidmanager.createHistoLayer("Resoly_matched","layer",label,"").c_str() ,"RecHit resol(y) coord."); + stereoandmatchedMEs.meResolyMatched = bookME1D(ibooker,"TH1ResolyMatched", hidmanager.createHistoLayer("Resoly_matched","layer",label,"").c_str() ,"RecHit resol(y) coord."); stereoandmatchedMEs.meResolyMatched->setAxisTitle(("resol(y) coord. matched RecHit (local frame) in " + label).c_str()); } //ResxMatched if(switchResxMatched) { - stereoandmatchedMEs.meResxMatched = bookME1D("TH1ResxMatched", hidmanager.createHistoLayer("Resx_matched","layer",label,"").c_str() ,"Residuals of the hit x coord."); + stereoandmatchedMEs.meResxMatched = bookME1D(ibooker,"TH1ResxMatched", hidmanager.createHistoLayer("Resx_matched","layer",label,"").c_str() ,"Residuals of the hit x coord."); stereoandmatchedMEs.meResxMatched->setAxisTitle(("Res(x) in matched RecHit in " + label).c_str()); } //ResyMatched if(switchResyMatched) { - stereoandmatchedMEs.meResyMatched = bookME1D("TH1ResyMatched", hidmanager.createHistoLayer("Resy_matched","layer",label,"").c_str() ,"Residuals of the hit y coord."); + stereoandmatchedMEs.meResyMatched = bookME1D(ibooker,"TH1ResyMatched", hidmanager.createHistoLayer("Resy_matched","layer",label,"").c_str() ,"Residuals of the hit y coord."); stereoandmatchedMEs.meResyMatched->setAxisTitle(("Res(y) in matched RecHit in " + label).c_str()); } //Chi2Matched if(switchChi2Matched) { - stereoandmatchedMEs.meChi2Matched = bookME1D("TH1Chi2Matched", hidmanager.createHistoLayer("Chi2_matched","layer",label,"").c_str() ,"RecHit Chi2 test"); + stereoandmatchedMEs.meChi2Matched = bookME1D(ibooker,"TH1Chi2Matched", hidmanager.createHistoLayer("Chi2_matched","layer",label,"").c_str() ,"RecHit Chi2 test"); stereoandmatchedMEs.meChi2Matched->setAxisTitle(("Matched RecHit Chi2 test in " + label).c_str()); } @@ -880,7 +879,7 @@ void SiStripRecHitsValid::createStereoAndMatchedMEs(std::string label) } //------------------------------------------------------------------------------------------ -void SiStripRecHitsValid::createSubDetMEs(std::string label) { +void SiStripRecHitsValid::createSubDetMEs(DQMStore::IBooker & ibooker,std::string label) { SubDetMEs subdetMEs; subdetMEs.meNumrphi = 0; @@ -891,29 +890,29 @@ void SiStripRecHitsValid::createSubDetMEs(std::string label) { //Numrphi if (switchNumrphi){ HistoName = "TH1Numrphi__" + label; - subdetMEs.meNumrphi = bookME1D("TH1Numrphi",HistoName.c_str(),"Num of RecHits"); + subdetMEs.meNumrphi = bookME1D(ibooker,"TH1Numrphi",HistoName.c_str(),"Num of RecHits"); subdetMEs.meNumrphi->setAxisTitle(("Total number of RecHits in "+ label).c_str()); } //NumStereo if (switchNumStereo){ HistoName = "TH1NumStereo__" + label; - subdetMEs.meNumStereo = bookME1D("TH1NumStereo",HistoName.c_str(),"Num of RecHits in stereo modules"); + subdetMEs.meNumStereo = bookME1D(ibooker,"TH1NumStereo",HistoName.c_str(),"Num of RecHits in stereo modules"); subdetMEs.meNumStereo->setAxisTitle(("Total number of RecHits in stereo modules in "+ label).c_str()); } //NumMatched if (switchNumMatched){ HistoName = "TH1NumMatched__" + label; - subdetMEs.meNumMatched = bookME1D("TH1NumMatched",HistoName.c_str(),"Num of matched RecHits" ); + subdetMEs.meNumMatched = bookME1D(ibooker,"TH1NumMatched",HistoName.c_str(),"Num of matched RecHits" ); subdetMEs.meNumMatched->setAxisTitle(("Total number of matched RecHits in "+ label).c_str()); } SubDetMEsMap[label]=subdetMEs; } //------------------------------------------------------------------------------------------ -MonitorElement* SiStripRecHitsValid::bookME1D(const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle) +MonitorElement* SiStripRecHitsValid::bookME1D(DQMStore::IBooker & ibooker, const char* ParameterSetLabel, const char* HistoName, const char* HistoTitle) { Parameters = conf_.getParameter(ParameterSetLabel); - return dbe_->book1D(HistoName,HistoTitle, + return ibooker.book1D(HistoName,HistoTitle, Parameters.getParameter("Nbinx"), Parameters.getParameter("xmin"), Parameters.getParameter("xmax") diff --git a/Validation/TrackingMCTruth/interface/TrackingTruthValid.h b/Validation/TrackingMCTruth/interface/TrackingTruthValid.h index 433725af35c1f..b337a6199f838 100755 --- a/Validation/TrackingMCTruth/interface/TrackingTruthValid.h +++ b/Validation/TrackingMCTruth/interface/TrackingTruthValid.h @@ -3,6 +3,8 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDAnalyzer.h" +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" #include @@ -10,7 +12,7 @@ class DQMStore; class MonitorElement; class TrackingParticle; -class TrackingTruthValid : public edm::EDAnalyzer { +class TrackingTruthValid : public DQMEDAnalyzer { public: typedef std::vector TrackingParticleCollection; //Constructor @@ -20,11 +22,12 @@ class TrackingTruthValid : public edm::EDAnalyzer { virtual void analyze(const edm::Event&, const edm::EventSetup& ); + void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es); void beginJob(const edm::ParameterSet& conf); - void beginRun( const edm::Run&, const edm::EventSetup& ); void endJob(); private: + bool runStandalone; std::string outputFile; DQMStore* dbe_; diff --git a/Validation/TrackingMCTruth/plugins/TrackingTruthValid.cc b/Validation/TrackingMCTruth/plugins/TrackingTruthValid.cc index f4a7834336009..ffa0a5bad32cb 100644 --- a/Validation/TrackingMCTruth/plugins/TrackingTruthValid.cc +++ b/Validation/TrackingMCTruth/plugins/TrackingTruthValid.cc @@ -7,7 +7,6 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/PluginManager/interface/ModuleDef.h" #include "FWCore/ServiceRegistry/interface/Service.h" @@ -33,29 +32,30 @@ typedef TrackingVertex::g4v_iterator g4v_iterator; void TrackingTruthValid::beginJob(const edm::ParameterSet& conf) {} TrackingTruthValid::TrackingTruthValid(const edm::ParameterSet& conf) - : outputFile( conf.getParameter( "outputFile" ) ) + : runStandalone( conf.getParameter("runStandalone") ) + , outputFile( conf.getParameter( "outputFile" ) ) , dbe_( NULL ) , vec_TrackingParticle_Token_( consumes( conf.getParameter( "src" ) ) ) {} -void TrackingTruthValid::beginRun( const edm::Run&, const edm::EventSetup& ) { +void TrackingTruthValid::bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es){ dbe_ = edm::Service().operator->(); - dbe_->setCurrentFolder("Tracking/TrackingMCTruth/TrackingParticle"); + ibooker.setCurrentFolder("Tracking/TrackingMCTruth/TrackingParticle"); - meTPMass = dbe_->book1D("TPMass","Tracking Particle Mass",100, -1,+5.); - meTPCharge = dbe_->book1D("TPCharge","Tracking Particle Charge",10, -5, 5); - meTPId = dbe_->book1D("TPId","Tracking Particle Id",500, -5000, 5000); - meTPProc = dbe_->book1D("TPProc","Tracking Particle Proc",20, -0.5, 19.5); - meTPAllHits = dbe_->book1D("TPAllHits", "Tracking Particle All Hits", 200, -0.5, 199.5); - meTPMatchedHits = dbe_->book1D("TPMatchedHits", "Tracking Particle Matched Hits", 100, -0.5, 99.5); - meTPPt = dbe_->book1D("TPPt", "Tracking Particle Pt",100, 0, 100.); - meTPEta = dbe_->book1D("TPEta", "Tracking Particle Eta",100, -7., 7.); - meTPPhi = dbe_->book1D("TPPhi", "Tracking Particle Phi",100, -4., 4); - meTPVtxX = dbe_->book1D("TPVtxX", "Tracking Particle VtxX",100, -100, 100.); - meTPVtxY = dbe_->book1D("TPVtxY", "Tracking Particle VtxY",100, -100, 100.); - meTPVtxZ = dbe_->book1D("TPVtxZ", "Tracking Particle VtxZ",100, -100, 100.); - meTPtip = dbe_->book1D("TPtip", "Tracking Particle tip",100, 0, 1000.); - meTPlip = dbe_->book1D("TPlip", "Tracking Particle lip",100, 0, 100.); + meTPMass = ibooker.book1D("TPMass","Tracking Particle Mass",100, -1,+5.); + meTPCharge = ibooker.book1D("TPCharge","Tracking Particle Charge",10, -5, 5); + meTPId = ibooker.book1D("TPId","Tracking Particle Id",500, -5000, 5000); + meTPProc = ibooker.book1D("TPProc","Tracking Particle Proc",20, -0.5, 19.5); + meTPAllHits = ibooker.book1D("TPAllHits", "Tracking Particle All Hits", 200, -0.5, 199.5); + meTPMatchedHits = ibooker.book1D("TPMatchedHits", "Tracking Particle Matched Hits", 100, -0.5, 99.5); + meTPPt = ibooker.book1D("TPPt", "Tracking Particle Pt",100, 0, 100.); + meTPEta = ibooker.book1D("TPEta", "Tracking Particle Eta",100, -7., 7.); + meTPPhi = ibooker.book1D("TPPhi", "Tracking Particle Phi",100, -4., 4); + meTPVtxX = ibooker.book1D("TPVtxX", "Tracking Particle VtxX",100, -100, 100.); + meTPVtxY = ibooker.book1D("TPVtxY", "Tracking Particle VtxY",100, -100, 100.); + meTPVtxZ = ibooker.book1D("TPVtxZ", "Tracking Particle VtxZ",100, -100, 100.); + meTPtip = ibooker.book1D("TPtip", "Tracking Particle tip",100, 0, 1000.); + meTPlip = ibooker.book1D("TPlip", "Tracking Particle lip",100, 0, 100.); // Prepare Axes Labels for Processes @@ -183,7 +183,7 @@ void TrackingTruthValid::analyze(const edm::Event& event, const edm::EventSetup& } void TrackingTruthValid::endJob(){ - - if ( outputFile.size() != 0 && dbe_ ) dbe_->save(outputFile); + //Only in standalone mode save local root file + if (runStandalone && outputFile.size() != 0 && dbe_ ){dbe_->save(outputFile);} } diff --git a/Validation/TrackingMCTruth/python/trackingTruthValidation_cfi.py b/Validation/TrackingMCTruth/python/trackingTruthValidation_cfi.py index 150b560d4f293..b622e266e7fdc 100644 --- a/Validation/TrackingMCTruth/python/trackingTruthValidation_cfi.py +++ b/Validation/TrackingMCTruth/python/trackingTruthValidation_cfi.py @@ -6,6 +6,7 @@ # string outputFile = "trackingtruthhisto.root" #to run on merged collection (default) src = cms.InputTag("mix","MergedTrackTruth"), + runStandalone = cms.bool(False), outputFile = cms.string('') )