CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
JetMETHLTOfflineSource Class Reference

#include <JetMETHLTOfflineSource.h>

Inheritance diagram for JetMETHLTOfflineSource:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Classes

class  PathInfo
 
class  PathInfoCollection
 

Public Member Functions

 JetMETHLTOfflineSource (const edm::ParameterSet &)
 
 ~JetMETHLTOfflineSource () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &run, edm::EventSetup const &c) override
 
void dqmBeginRun (edm::Run const &run, edm::EventSetup const &c) override
 
virtual void fillMEforEffAllTrigger (const edm::Event &iEvent, const edm::EventSetup &)
 
virtual void fillMEforMonAllTrigger (const edm::Event &iEvent, const edm::EventSetup &)
 
virtual void fillMEforMonTriggerSummary (const edm::Event &iEvent, const edm::EventSetup &)
 
virtual void fillMEforTriggerNTfired ()
 
const std::string getL1ConditionModuleName (const std::string &pathname)
 
virtual bool isBarrel (double eta)
 
virtual bool isEndCap (double eta)
 
virtual bool isForward (double eta)
 
virtual bool isHLTPathAccepted (std::string pathName)
 
virtual bool isTriggerObjectFound (std::string objectName)
 
virtual double TriggerPosition (std::string trigName)
 
virtual bool validPathHLT (std::string path)
 

Private Attributes

double _fEMF
 
double _feta
 
double _fHPD
 
double _max_CEMF
 
double _max_CHEF
 
double _max_NEMF
 
double _max_NHEF
 
double _min_CEMF
 
double _min_CHEF
 
double _min_NEMF
 
double _min_NHEF
 
double _n90Hits
 
double _pfMHT
 
reco::CaloJetCollection calojet
 
edm::Handle
< reco::CaloJetCollection
calojetColl_
 
edm::EDGetTokenT
< reco::JetCorrector
CaloJetCorToken_
 
double CaloJetEMF [2]
 
double CaloJetEta [2]
 
double CaloJetfHPD [2]
 
double CaloJetn90 [2]
 
double CaloJetPhi [2]
 
double CaloJetPt [2]
 
double CaloJetPx [2]
 
double CaloJetPy [2]
 
edm::EDGetTokenT
< reco::CaloJetCollection
caloJetsToken
 
edm::Handle
< reco::CaloMETCollection
calometColl_
 
edm::EDGetTokenT
< reco::CaloMETCollection
caloMetToken
 
MonitorElementcorrelation_All
 
MonitorElementcorrelation_AllWrtMB
 
MonitorElementcorrelation_AllWrtMu
 
std::vector< std::pair
< std::string, std::string > > 
custompathnamepairs_
 
std::string dirname_
 
HLTConfigProvider hltConfig_
 
PathInfoCollection hltPathsAll_
 
PathInfoCollection hltPathsAllTriggerSummary_
 
PathInfoCollection hltPathsEff_
 
bool isSetup_
 
reco::helper::JetIDHelperjetID
 
std::vector< std::string > MBTrigPaths_
 
std::vector< std::string > MuonTrigPaths_
 
bool nameForEff_
 
MonitorElementNVertices
 
std::vector< std::string > pathFilter_
 
std::vector< std::string > pathRejectKeyword_
 
reco::PFJetCollection pfjet
 
double PFJetCEMF [2]
 
double PFJetCHEF [2]
 
edm::Handle
< reco::PFJetCollection
pfjetColl_
 
edm::EDGetTokenT
< reco::JetCorrector
PFJetCorToken_
 
double PFJetEta [2]
 
double PFJetNEMF [2]
 
double PFJetNHEF [2]
 
double PFJetPhi [2]
 
double PFJetPt [2]
 
double PFJetPx [2]
 
double PFJetPy [2]
 
edm::EDGetTokenT
< reco::PFJetCollection
pfJetsToken
 
edm::Handle
< reco::PFMETCollection
pfmetColl_
 
edm::EDGetTokenT
< reco::PFMETCollection
pfMetToken
 
double pfMHTx_All
 
double pfMHTy_All
 
bool plotAll_
 
bool plotEff_
 
std::vector< int > prescUsed_
 
std::string processname_
 
MonitorElementPVZ
 
MonitorElementrate_All
 
MonitorElementrate_AllWrtMB
 
MonitorElementrate_AllWrtMu
 
bool runStandalone_
 
edm::TriggerNames triggerNames_
 
edm::Handle
< trigger::TriggerEvent
triggerObj_
 
edm::Handle< edm::TriggerResultstriggerResults_
 
edm::EDGetTokenT
< edm::TriggerResults
triggerResultsFUToken
 
edm::InputTag triggerResultsLabel_
 
edm::EDGetTokenT
< edm::TriggerResults
triggerResultsToken
 
edm::EDGetTokenT
< trigger::TriggerEvent
triggerSummaryFUToken
 
edm::InputTag triggerSummaryLabel_
 
edm::EDGetTokenT
< trigger::TriggerEvent
triggerSummaryToken
 
bool verbose_
 
edm::EDGetTokenT
< reco::VertexCollection
vertexToken
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T...>
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T...>
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr
< DQMEDAnalyzerGlobalCache
initializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 69 of file JetMETHLTOfflineSource.h.

Constructor & Destructor Documentation

JetMETHLTOfflineSource::JetMETHLTOfflineSource ( const edm::ParameterSet iConfig)
explicit

Definition at line 41 of file JetMETHLTOfflineSource.cc.

References _fEMF, _feta, _fHPD, _max_CEMF, _max_CHEF, _max_NEMF, _max_NHEF, _min_CEMF, _min_CHEF, _min_NEMF, _min_NHEF, _n90Hits, CaloJetCorToken_, caloJetsToken, caloMetToken, custompathnamepairs_, dirname_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HLT_FULL_cff::InputTag, edm::InputTag::instance(), jetID, edm::InputTag::label(), LogDebug, MBTrigPaths_, MuonTrigPaths_, nameForEff_, fed_dqm_sourceclient-live_cfg::path, pathFilter_, pathRejectKeyword_, mergeAndRegister::paths, PFJetCorToken_, pfJetsToken, pfMetToken, plotAll_, plotEff_, processname_, runStandalone_, AlCaHLTBitMon_QueryRunRegistry::string, triggerResultsFUToken, triggerResultsLabel_, triggerResultsToken, triggerSummaryFUToken, triggerSummaryLabel_, triggerSummaryToken, verbose_, and vertexToken.

41  : isSetup_(false) {
42  LogDebug("JetMETHLTOfflineSource") << "constructor....";
43 
44  //
45  dirname_ = iConfig.getUntrackedParameter("dirname", std::string("HLT/JetMET/"));
46  processname_ = iConfig.getParameter<std::string>("processname");
47  triggerSummaryLabel_ = iConfig.getParameter<edm::InputTag>("triggerSummaryLabel");
48  triggerResultsLabel_ = iConfig.getParameter<edm::InputTag>("triggerResultsLabel");
49  triggerSummaryToken = consumes<trigger::TriggerEvent>(triggerSummaryLabel_);
50  triggerResultsToken = consumes<edm::TriggerResults>(triggerResultsLabel_);
51  triggerSummaryFUToken = consumes<trigger::TriggerEvent>(
52  edm::InputTag(triggerSummaryLabel_.label(), triggerSummaryLabel_.instance(), std::string("FU")));
53  triggerResultsFUToken = consumes<edm::TriggerResults>(
54  edm::InputTag(triggerResultsLabel_.label(), triggerResultsLabel_.instance(), std::string("FU")));
55  //
56  verbose_ = iConfig.getUntrackedParameter<bool>("verbose", false);
57  runStandalone_ = iConfig.getUntrackedParameter<bool>("runStandalone", false);
58  //
59  plotAll_ = iConfig.getUntrackedParameter<bool>("plotAll", true);
60  plotEff_ = iConfig.getUntrackedParameter<bool>("plotEff", true);
61  nameForEff_ = iConfig.getUntrackedParameter<bool>("nameForEff", true);
62  MuonTrigPaths_ = iConfig.getUntrackedParameter<vector<std::string> >("pathnameMuon");
63  MBTrigPaths_ = iConfig.getUntrackedParameter<vector<std::string> >("pathnameMB");
64  //CaloJet, CaloMET
65  caloJetsToken = consumes<reco::CaloJetCollection>(iConfig.getParameter<edm::InputTag>("CaloJetCollectionLabel"));
66  caloMetToken = consumes<reco::CaloMETCollection>(iConfig.getParameter<edm::InputTag>("CaloMETCollectionLabel"));
67  //PFJet, PFMET
68  pfJetsToken = consumes<reco::PFJetCollection>(iConfig.getParameter<edm::InputTag>("PFJetCollectionLabel"));
69  pfMetToken = consumes<reco::PFMETCollection>(iConfig.getParameter<edm::InputTag>("PFMETCollectionLabel"));
70  //pfmhtTag_ = iConfig.getParameter<edm::InputTag>("PFMHTCollectionLabel");
71  //Vertex info
72  vertexToken = consumes<reco::VertexCollection>(std::string("offlinePrimaryVertices"));
73  //
74  CaloJetCorToken_ = consumes<reco::JetCorrector>(iConfig.getParameter<edm::InputTag>("CaloJetCorLabel"));
75  PFJetCorToken_ = consumes<reco::JetCorrector>(iConfig.getParameter<edm::InputTag>("PFJetCorLabel"));
76  //JetID
77  jetID = new reco::helper::JetIDHelper(iConfig.getParameter<ParameterSet>("JetIDParams"), consumesCollector());
78  _fEMF = iConfig.getUntrackedParameter<double>("fEMF", 0.01);
79  _feta = iConfig.getUntrackedParameter<double>("feta", 2.60);
80  _fHPD = iConfig.getUntrackedParameter<double>("fHPD", 0.98);
81  _n90Hits = iConfig.getUntrackedParameter<double>("n90Hits", 1.0);
82  _min_NHEF = iConfig.getUntrackedParameter<double>("minNHEF", 0.);
83  _max_NHEF = iConfig.getUntrackedParameter<double>("maxNHEF", 0.99);
84  _min_CHEF = iConfig.getUntrackedParameter<double>("minCHEF", 0.);
85  _max_CHEF = iConfig.getUntrackedParameter<double>("maxCHEF", 1.);
86  _min_NEMF = iConfig.getUntrackedParameter<double>("minNEMF", 0.);
87  _max_NEMF = iConfig.getUntrackedParameter<double>("maxNEMF", 0.99);
88  _min_CEMF = iConfig.getUntrackedParameter<double>("minCEMF", 0.);
89  _max_CEMF = iConfig.getUntrackedParameter<double>("maxCEMF", 0.99);
90  //Paths
91  pathFilter_ = iConfig.getUntrackedParameter<vector<std::string> >("pathFilter");
92  pathRejectKeyword_ = iConfig.getUntrackedParameter<vector<std::string> >("pathRejectKeyword");
93  std::vector<edm::ParameterSet> paths = iConfig.getParameter<std::vector<edm::ParameterSet> >("pathPairs");
94  for (auto& path : paths) {
95  custompathnamepairs_.push_back(
96  make_pair(path.getParameter<std::string>("pathname"), path.getParameter<std::string>("denompathname")));
97  }
98 }
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::TriggerResults > triggerResultsFUToken
edm::EDGetTokenT< reco::VertexCollection > vertexToken
edm::EDGetTokenT< reco::PFJetCollection > pfJetsToken
std::vector< std::string > pathFilter_
edm::EDGetTokenT< reco::JetCorrector > CaloJetCorToken_
std::vector< std::string > MBTrigPaths_
std::vector< std::string > pathRejectKeyword_
edm::EDGetTokenT< reco::CaloMETCollection > caloMetToken
std::vector< std::string > MuonTrigPaths_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryFUToken
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
edm::EDGetTokenT< reco::PFMETCollection > pfMetToken
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
std::string const & label() const
Definition: InputTag.h:36
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
reco::helper::JetIDHelper * jetID
std::string const & instance() const
Definition: InputTag.h:37
edm::EDGetTokenT< reco::JetCorrector > PFJetCorToken_
#define LogDebug(id)
JetMETHLTOfflineSource::~JetMETHLTOfflineSource ( )
override

Definition at line 101 of file JetMETHLTOfflineSource.cc.

References jetID.

101  {
102  //
103  // do anything here that needs to be done at desctruction time
104  // (e.g. close files, deallocate resources etc.)
105  delete jetID;
106 }
reco::helper::JetIDHelper * jetID

Member Function Documentation

void JetMETHLTOfflineSource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 109 of file JetMETHLTOfflineSource.cc.

References reco::helper::JetIDHelper::calculate(), calojet, calojetColl_, CaloJetCorToken_, CaloJetEMF, CaloJetEta, CaloJetfHPD, CaloJetn90, CaloJetPhi, CaloJetPt, CaloJetPx, CaloJetPy, caloJetsToken, calometColl_, caloMetToken, gather_cfg::cout, edm::EventID::event(), reco::helper::JetIDHelper::fHPD(), fillMEforEffAllTrigger(), fillMEforMonAllTrigger(), fillMEforMonTriggerSummary(), fillMEforTriggerNTfired(), edm::Event::getByToken(), mps_fire::i, edm::EventBase::id(), edm::HandleBase::isValid(), jetID, edm::EventBase::luminosityBlock(), reco::helper::JetIDHelper::n90Hits(), pfjet, PFJetCEMF, PFJetCHEF, pfjetColl_, PFJetCorToken_, PFJetEta, PFJetNEMF, PFJetNHEF, PFJetPhi, PFJetPt, PFJetPx, PFJetPy, pfJetsToken, pfmetColl_, pfMetToken, pfMHTx_All, pfMHTy_All, plotAll_, plotEff_, edm::EventID::run(), runStandalone_, pileupReCalc_HLTpaths::scale, edm::Event::triggerNames(), triggerNames_, triggerObj_, triggerResults_, triggerResultsFUToken, triggerResultsToken, triggerSummaryFUToken, triggerSummaryToken, and verbose_.

109  {
110  if (verbose_) {
111  cout << endl;
112  cout << "============================================================" << endl;
113  cout << " New event" << endl << endl;
114  }
115 
116  //---------- triggerResults ----------
118  if (!triggerResults_.isValid()) {
120  if (!triggerResults_.isValid()) {
121  if (verbose_)
122  cout << " triggerResults not valid" << endl;
123  edm::LogInfo("JetMETHLTOfflineSource") << "TriggerResults not found, "
124  "skipping event";
125  return;
126  }
127  }
128  if (verbose_)
129  cout << " done triggerResults" << endl;
130 
131  //---------- triggerResults ----------
133 
134  //---------- triggerSummary ----------
136  if (!triggerObj_.isValid()) {
138  if (!triggerObj_.isValid()) {
139  edm::LogInfo("JetMETHLTOfflineSource") << "TriggerEvent not found, "
140  "skipping event";
141  return;
142  }
143  }
144  if (verbose_)
145  cout << " done triggerSummary" << endl;
146 
147  if (verbose_) {
148  cout << endl;
149  cout << "============================================================" << endl;
150  cout << " Reading in offline objects" << endl << endl;
151  }
152 
153  //------------ Offline Objects -------
155  if (!calojetColl_.isValid())
156  return;
158  //std::stable_sort( calojet.begin(), calojet.end(), PtSorter() );
159 
160  if (verbose_)
161  cout << " done calo" << endl;
162 
164  if (!pfjetColl_.isValid())
165  return;
166  pfjet = *pfjetColl_;
167  //std::stable_sort( pfjet.begin(), pfjet.end(), PtSorter() );
168 
169  if (verbose_)
170  cout << " done pf" << endl;
171 
173  if (!calometColl_.isValid())
174  return;
175 
177  if (!pfmetColl_.isValid())
178  return;
179 
180  if (verbose_) {
181  cout << endl;
182  cout << "============================================================" << endl;
183  cout << " Read in offline objects" << endl << endl;
184  }
185 
186  //---------- Event counting (DEBUG) ----------
187  if (verbose_ && iEvent.id().event() % 10000 == 0)
188  cout << "Run = " << iEvent.id().run() << ", LS = " << iEvent.luminosityBlock()
189  << ", Event = " << iEvent.id().event() << endl;
190 
191  //Define on-the-fly correction Jet
192  for (int i = 0; i < 2; i++) {
193  CaloJetPx[i] = 0.;
194  CaloJetPy[i] = 0.;
195  CaloJetPt[i] = 0.;
196  CaloJetEta[i] = 0.;
197  CaloJetPhi[i] = 0.;
198  CaloJetEMF[i] = 0.;
199  CaloJetfHPD[i] = 0.;
200  CaloJetn90[i] = 0.;
201  PFJetPx[i] = 0.;
202  PFJetPy[i] = 0.;
203  PFJetPt[i] = 0.;
204  PFJetEta[i] = 0.;
205  PFJetPhi[i] = 0.;
206  PFJetNHEF[i] = 0.;
207  PFJetCHEF[i] = 0.;
208  PFJetNEMF[i] = 0.;
209  PFJetCEMF[i] = 0.;
210  }
211 
212  //---------- CaloJet Correction (on-the-fly) ----------
213  edm::Handle<reco::JetCorrector> calocorrector;
214  iEvent.getByToken(CaloJetCorToken_, calocorrector);
215  auto calojet_ = calojet.begin();
216  for (; calojet_ != calojet.end(); ++calojet_) {
217  double scale = calocorrector->correction(*calojet_);
218  jetID->calculate(iEvent, iSetup, *calojet_);
219 
220  if (scale * calojet_->pt() > CaloJetPt[0]) {
221  CaloJetPt[1] = CaloJetPt[0];
222  CaloJetPx[1] = CaloJetPx[0];
223  CaloJetPy[1] = CaloJetPy[0];
224  CaloJetEta[1] = CaloJetEta[0];
225  CaloJetPhi[1] = CaloJetPhi[0];
226  CaloJetEMF[1] = CaloJetEMF[0];
227  CaloJetfHPD[1] = CaloJetfHPD[0];
228  CaloJetn90[1] = CaloJetn90[0];
229  //
230  CaloJetPt[0] = scale * calojet_->pt();
231  CaloJetPx[0] = scale * calojet_->px();
232  CaloJetPy[0] = scale * calojet_->py();
233  CaloJetEta[0] = calojet_->eta();
234  CaloJetPhi[0] = calojet_->phi();
235  CaloJetEMF[0] = calojet_->emEnergyFraction();
236  CaloJetfHPD[0] = jetID->fHPD();
237  CaloJetn90[0] = jetID->n90Hits();
238  } else if (scale * calojet_->pt() < CaloJetPt[0] && scale * calojet_->pt() > CaloJetPt[1]) {
239  CaloJetPt[1] = scale * calojet_->pt();
240  CaloJetPx[1] = scale * calojet_->px();
241  CaloJetPy[1] = scale * calojet_->py();
242  CaloJetEta[1] = calojet_->eta();
243  CaloJetPhi[1] = calojet_->phi();
244  CaloJetEMF[1] = calojet_->emEnergyFraction();
245  CaloJetfHPD[1] = jetID->fHPD();
246  CaloJetn90[1] = jetID->n90Hits();
247  } else {
248  }
249  }
250 
251  //---------- PFJet Correction (on-the-fly) ----------
252  pfMHTx_All = 0.;
253  pfMHTy_All = 0.;
255  iEvent.getByToken(PFJetCorToken_, pfcorrector);
256  auto pfjet_ = pfjet.begin();
257  for (; pfjet_ != pfjet.end(); ++pfjet_) {
258  double scale = pfcorrector->correction(*pfjet_);
259  pfMHTx_All = pfMHTx_All + scale * pfjet_->px();
260  pfMHTy_All = pfMHTy_All + scale * pfjet_->py();
261  if (scale * pfjet_->pt() > PFJetPt[0]) {
262  PFJetPt[1] = PFJetPt[0];
263  PFJetPx[1] = PFJetPx[0];
264  PFJetPy[1] = PFJetPy[0];
265  PFJetEta[1] = PFJetEta[0];
266  PFJetPhi[1] = PFJetPhi[0];
267  PFJetNHEF[1] = PFJetNHEF[0];
268  PFJetCHEF[1] = PFJetCHEF[0];
269  PFJetNEMF[1] = PFJetNEMF[0];
270  PFJetCEMF[1] = PFJetCEMF[0];
271  //
272  PFJetPt[0] = scale * pfjet_->pt();
273  PFJetPx[0] = scale * pfjet_->px();
274  PFJetPy[0] = scale * pfjet_->py();
275  PFJetEta[0] = pfjet_->eta();
276  PFJetPhi[0] = pfjet_->phi();
277  PFJetNHEF[0] = pfjet_->neutralHadronEnergyFraction();
278  PFJetCHEF[0] = pfjet_->chargedHadronEnergyFraction();
279  PFJetNEMF[0] = pfjet_->neutralEmEnergyFraction();
280  PFJetCEMF[0] = pfjet_->chargedEmEnergyFraction();
281  } else if (scale * pfjet_->pt() < PFJetPt[0] && scale * pfjet_->pt() > PFJetPt[1]) {
282  PFJetPt[1] = scale * pfjet_->pt();
283  PFJetPx[1] = scale * pfjet_->px();
284  PFJetPy[1] = scale * pfjet_->py();
285  PFJetEta[1] = pfjet_->eta();
286  PFJetPhi[1] = pfjet_->phi();
287  PFJetNHEF[1] = pfjet_->neutralHadronEnergyFraction();
288  PFJetCHEF[1] = pfjet_->chargedHadronEnergyFraction();
289  PFJetNEMF[1] = pfjet_->neutralEmEnergyFraction();
290  PFJetCEMF[1] = pfjet_->chargedEmEnergyFraction();
291  } else {
292  }
293  }
294 
295  if (verbose_) {
296  for (int i = 0; i < 2; i++) {
297  cout << "CaloJet-0: " << CaloJetPt[i] << ", Eta = " << CaloJetEta[i] << ", Phi = " << CaloJetPhi[i] << endl;
298  cout << "fHPD = " << CaloJetfHPD[0] << ", n90 = " << CaloJetn90[0] << endl;
299  }
300  for (int i = 0; i < 2; i++) {
301  cout << "PFJet-0: " << PFJetPt[i] << ", Eta = " << PFJetEta[i] << ", Phi = " << PFJetPhi[i] << endl;
302  }
303  }
304 
305  //---------- RUN ----------
306  fillMEforMonTriggerSummary(iEvent, iSetup);
307  if (plotAll_)
308  fillMEforMonAllTrigger(iEvent, iSetup);
309  if (plotEff_)
310  fillMEforEffAllTrigger(iEvent, iSetup);
311  if (runStandalone_)
313 }
RunNumber_t run() const
Definition: EventID.h:38
EventNumber_t event() const
Definition: EventID.h:40
edm::EDGetTokenT< edm::TriggerResults > triggerResultsFUToken
edm::EDGetTokenT< reco::PFJetCollection > pfJetsToken
edm::Handle< reco::PFJetCollection > pfjetColl_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
double fHPD() const
Definition: JetIDHelper.h:46
edm::Handle< edm::TriggerResults > triggerResults_
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:61
reco::PFJetCollection pfjet
edm::Handle< reco::PFMETCollection > pfmetColl_
void calculate(const edm::Event &event, const edm::EventSetup &setup, const reco::CaloJet &jet, const int iDbg=0)
Definition: JetIDHelper.cc:93
virtual void fillMEforMonAllTrigger(const edm::Event &iEvent, const edm::EventSetup &)
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
Definition: Event.cc:275
edm::EDGetTokenT< reco::JetCorrector > CaloJetCorToken_
edm::EDGetTokenT< reco::CaloMETCollection > caloMetToken
reco::CaloJetCollection calojet
bool isValid() const
Definition: HandleBase.h:70
edm::Handle< reco::CaloJetCollection > calojetColl_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryFUToken
Log< level::Info, false > LogInfo
virtual void fillMEforMonTriggerSummary(const edm::Event &iEvent, const edm::EventSetup &)
edm::EDGetTokenT< reco::PFMETCollection > pfMetToken
edm::Handle< trigger::TriggerEvent > triggerObj_
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
edm::EventID id() const
Definition: EventBase.h:59
edm::Handle< reco::CaloMETCollection > calometColl_
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
tuple cout
Definition: gather_cfg.py:144
virtual void fillMEforEffAllTrigger(const edm::Event &iEvent, const edm::EventSetup &)
reco::helper::JetIDHelper * jetID
edm::EDGetTokenT< reco::JetCorrector > PFJetCorToken_
void JetMETHLTOfflineSource::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  c 
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 1629 of file JetMETHLTOfflineSource.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookFloat(), correlation_All, correlation_AllWrtMB, correlation_AllWrtMu, TrackerOfflineValidation_Dqm_cff::dirName, dirname_, SingleJetValidation_cfi::foldernm, dqm::impl::MonitorElement::getTH1(), hltPathsAll_, hltPathsAllTriggerSummary_, hltPathsEff_, mps_fire::i, isSetup_, N, hlt_dqm_clientPB-live_cfg::nbins, NVertices, colinearityKinematic::Phi, plotAll_, plotEff_, PVZ, rate_All, rate_AllWrtMB, rate_AllWrtMu, HLTConfigProvider::removeVersion(), runStandalone_, dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, runGCPTkAlMap::title, trigger::TriggerJet, trigger::TriggerMET, trigger::TriggerTET, and findQualityFiles::v.

1629  {
1630  if (!isSetup_) {
1631  iBooker.setCurrentFolder(dirname_);
1632 
1633  //-----------------------------------------------------------------
1634  //---book trigger summary histos
1635  if (!isSetup_) {
1636  std::string foldernm = "/TriggerSummary/";
1637  iBooker.setCurrentFolder(dirname_ + foldernm);
1638 
1639  int TrigBins_ = hltPathsAllTriggerSummary_.size();
1640  double TrigMin_ = -0.5;
1641  double TrigMax_ = hltPathsAllTriggerSummary_.size() - 0.5;
1642 
1643  std::string histonm = "JetMET_TriggerRate";
1644  std::string histot = "JetMET TriggerRate Summary";
1645  rate_All = iBooker.book1D(histonm.c_str(), histot.c_str(), TrigBins_, TrigMin_, TrigMax_);
1646 
1647  histonm = "JetMET_TriggerRate_Correlation";
1648  histot = "JetMET TriggerRate Correlation Summary;y&&!x;x&&y";
1649  correlation_All =
1650  iBooker.book2D(histonm.c_str(), histot.c_str(), TrigBins_, TrigMin_, TrigMax_, TrigBins_, TrigMin_, TrigMax_);
1651 
1652  histonm = "JetMET_NVertices";
1653  histot = "No. of vertices";
1654  NVertices = iBooker.book1D(histonm.c_str(), histot.c_str(), 100, 0, 50);
1655 
1656  histonm = "JetMET_PVZ";
1657  histot = "Primary Vertex Z pos";
1658  PVZ = iBooker.book1D(histonm.c_str(), histot.c_str(), 100, -50., 50.);
1659 
1660  if (runStandalone_) {
1661  histonm = "JetMET_TriggerRate_WrtMuTrigger";
1662  histot = "JetMET TriggerRate Summary Wrt Muon Trigger ";
1663  rate_AllWrtMu = iBooker.book1D(histonm.c_str(), histot.c_str(), TrigBins_, TrigMin_, TrigMax_);
1664 
1665  histonm = "JetMET_TriggerRate_Correlation_WrtMuTrigger";
1666  histot = "JetMET TriggerRate Correlation Summary Wrt Muon Trigger;y&&!x;x&&y";
1667  correlation_AllWrtMu = iBooker.book2D(
1668  histonm.c_str(), histot.c_str(), TrigBins_, TrigMin_, TrigMax_, TrigBins_, TrigMin_, TrigMax_);
1669 
1670  histonm = "JetMET_TriggerRate_WrtMBTrigger";
1671  histot = "JetMET TriggerRate Summary Wrt MB Trigger";
1672  rate_AllWrtMB = iBooker.book1D(histonm.c_str(), histot.c_str(), TrigBins_, TrigMin_, TrigMax_);
1673 
1674  histonm = "JetMET_TriggerRate_Correlation_WrtMBTrigger";
1675  histot = "JetMET TriggerRate Correlation Wrt MB Trigger;y&&!x;x&&y";
1676  correlation_AllWrtMB = iBooker.book2D(
1677  histonm.c_str(), histot.c_str(), TrigBins_, TrigMin_, TrigMax_, TrigBins_, TrigMin_, TrigMax_);
1678  }
1679  isSetup_ = true;
1680  }
1681  //---Set bin label
1682 
1683  for (auto& v : hltPathsAllTriggerSummary_) {
1684  std::string labelnm("dummy");
1685  labelnm = v.getPath();
1686  int nbins = rate_All->getTH1()->GetNbinsX();
1687  for (int ibin = 1; ibin < nbins + 1; ibin++) {
1688  const char* binLabel = rate_All->getTH1()->GetXaxis()->GetBinLabel(ibin);
1689  std::string binLabel_str = string(binLabel);
1690  if (binLabel_str == labelnm)
1691  break;
1692  if (binLabel[0] == '\0') {
1693  rate_All->setBinLabel(ibin, labelnm);
1694  correlation_All->setBinLabel(ibin, labelnm, 1);
1695  correlation_All->setBinLabel(ibin, labelnm, 2);
1696  if (runStandalone_) {
1697  rate_AllWrtMu->setBinLabel(ibin, labelnm);
1698  rate_AllWrtMB->setBinLabel(ibin, labelnm);
1699  correlation_AllWrtMu->setBinLabel(ibin, labelnm, 1);
1700  correlation_AllWrtMB->setBinLabel(ibin, labelnm, 1);
1701  correlation_AllWrtMu->setBinLabel(ibin, labelnm, 2);
1702  correlation_AllWrtMB->setBinLabel(ibin, labelnm, 2);
1703  }
1704  break;
1705  }
1706  }
1707  }
1708 
1709  // Now define histos for All triggers
1710  if (plotAll_) {
1711  //
1712  int Nbins_ = 10;
1713  double Nmin_ = -0.5;
1714  double Nmax_ = 9.5;
1715  //
1716  int Ptbins_ = 100;
1717  if (runStandalone_)
1718  Ptbins_ = 1000;
1719  double PtMin_ = 0.;
1720  double PtMax_ = 1000.;
1721  //
1722  int Etabins_ = 50;
1723  if (runStandalone_)
1724  Etabins_ = 100;
1725  double EtaMin_ = -5.;
1726  double EtaMax_ = 5.;
1727  //
1728  int Phibins_ = 35;
1729  double PhiMin_ = -3.5;
1730  double PhiMax_ = 3.5;
1731 
1732  int Resbins_ = 30;
1733  double ResMin_ = -1.5;
1734  double ResMax_ = 1.5;
1735  //
1736  std::string dirName = dirname_ + "/MonitorAllTriggers/";
1737  for (auto& v : hltPathsAll_) {
1738  //
1739  std::string trgPathName = HLTConfigProvider::removeVersion(v.getPath());
1740  std::string subdirName = dirName + trgPathName;
1741  std::string trigPath = "(" + trgPathName + ")";
1742  iBooker.setCurrentFolder(subdirName);
1743 
1744  std::string labelname("ME");
1745  std::string histoname(labelname + "");
1746  std::string title(labelname + "");
1747 
1748  MonitorElement* dummy;
1749  dummy = iBooker.bookFloat("dummy");
1750 
1751  if (v.getObjectType() == trigger::TriggerJet && v.getTriggerType() == "SingleJet_Trigger") {
1752  histoname = labelname + "_recObjN";
1753  title = labelname + "_recObjN;Reco multiplicity()" + trigPath;
1754  MonitorElement* N = iBooker.book1D(histoname.c_str(), title.c_str(), Nbins_, Nmin_, Nmax_);
1755  N->getTH1();
1756 
1757  histoname = labelname + "_recObjPt";
1758  title = labelname + "_recObjPt; Reco Pt[GeV/c]" + trigPath;
1759  MonitorElement* Pt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1760  Pt->getTH1();
1761 
1762  histoname = labelname + "_recObjPtBarrel";
1763  title = labelname + "_recObjPtBarrel;Reco Pt[GeV/c]" + trigPath;
1764  MonitorElement* PtBarrel = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1765  PtBarrel->getTH1();
1766 
1767  histoname = labelname + "_recObjPtEndcap";
1768  title = labelname + "_recObjPtEndcap;Reco Pt[GeV/c]" + trigPath;
1769  MonitorElement* PtEndcap = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1770  PtEndcap->getTH1();
1771 
1772  histoname = labelname + "_recObjPtForward";
1773  title = labelname + "_recObjPtForward;Reco Pt[GeV/c]" + trigPath;
1774  MonitorElement* PtForward = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1775  PtForward->getTH1();
1776 
1777  histoname = labelname + "_recObjEta";
1778  title = labelname + "_recObjEta;Reco #eta" + trigPath;
1779  MonitorElement* Eta = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
1780  Eta->getTH1();
1781 
1782  histoname = labelname + "_recObjPhi";
1783  title = labelname + "_recObjPhi;Reco #Phi" + trigPath;
1784  MonitorElement* Phi = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
1785  Phi->getTH1();
1786 
1787  histoname = labelname + "_recObjEtaPhi";
1788  title = labelname + "_recObjEtaPhi;Reco #eta;Reco #Phi" + trigPath;
1789  MonitorElement* EtaPhi =
1790  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
1791  EtaPhi->getTH1();
1792 
1793  histoname = labelname + "_l1ObjPt";
1794  title = labelname + "_l1ObjPt;L1 Pt[GeV/c]" + trigPath;
1795  MonitorElement* Pt_L1 = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1796  Pt_L1->getTH1();
1797 
1798  histoname = labelname + "_l1ObjEta";
1799  title = labelname + "_l1ObjEta;L1 #eta" + trigPath;
1800  MonitorElement* Eta_L1 = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
1801  Eta_L1->getTH1();
1802 
1803  histoname = labelname + "_l1ObjPhi";
1804  title = labelname + "_l1ObjPhi;L1 #Phi" + trigPath;
1805  MonitorElement* Phi_L1 = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
1806  Phi_L1->getTH1();
1807 
1808  histoname = labelname + "_l1ObjEtaPhi";
1809  title = labelname + "_l1ObjEtaPhi;L1 #eta;L1 #Phi" + trigPath;
1810  MonitorElement* EtaPhi_L1 =
1811  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
1812  EtaPhi_L1->getTH1();
1813 
1814  histoname = labelname + "_l1ObjN";
1815  title = labelname + "_l1ObjN;L1 multiplicity" + trigPath;
1816  MonitorElement* N_L1 = iBooker.book1D(histoname.c_str(), title.c_str(), Nbins_, Nmin_, Nmax_);
1817  N_L1->getTH1();
1818 
1819  histoname = labelname + "_l1ObjPtBarrel";
1820  title = labelname + "_l1ObjPtBarrel;L1 Pt[GeV/c]" + trigPath;
1821  MonitorElement* PtBarrel_L1 = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1822  PtBarrel_L1->getTH1();
1823 
1824  histoname = labelname + "_l1ObjPtEndcap";
1825  title = labelname + "_l1ObjPtEndcap;L1 Pt[GeV/c]" + trigPath;
1826  MonitorElement* PtEndcap_L1 = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1827  PtEndcap_L1->getTH1();
1828 
1829  histoname = labelname + "_l1ObjPtForward";
1830  title = labelname + "_l1ObjPtForward;L1 Pt[GeV/c]" + trigPath;
1831  MonitorElement* PtForward_L1 = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1832  PtForward_L1->getTH1();
1833 
1834  histoname = labelname + "_hltObjN";
1835  title = labelname + "_hltObjN;HLT multiplicity" + trigPath;
1836  MonitorElement* N_HLT = iBooker.book1D(histoname.c_str(), title.c_str(), Nbins_, Nmin_, Nmax_);
1837  N_HLT->getTH1();
1838 
1839  histoname = labelname + "_hltObjPtBarrel";
1840  title = labelname + "_hltObjPtBarrel;HLT Pt[GeV/c]" + trigPath;
1841  MonitorElement* PtBarrel_HLT = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1842  PtBarrel_HLT->getTH1();
1843 
1844  histoname = labelname + "_hltObjPtEndcap";
1845  title = labelname + "_hltObjPtEndcap;HLT Pt[GeV/c]" + trigPath;
1846  MonitorElement* PtEndcap_HLT = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1847  PtEndcap_HLT->getTH1();
1848 
1849  histoname = labelname + "_hltObjPtForward";
1850  title = labelname + "_hltObjPtForward;HLT Pt[GeV/c]" + trigPath;
1851  MonitorElement* PtForward_HLT = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1852  PtForward_HLT->getTH1();
1853 
1854  histoname = labelname + "_hltObjPt";
1855  title = labelname + "_hltObjPt;HLT Pt[GeV/c]" + trigPath;
1856  MonitorElement* Pt_HLT = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1857  Pt_HLT->getTH1();
1858 
1859  histoname = labelname + "_hltObjEta";
1860  title = labelname + "_hltObjEta;HLT #eta" + trigPath;
1861  MonitorElement* Eta_HLT = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
1862  Eta_HLT->getTH1();
1863 
1864  histoname = labelname + "_hltObjPhi";
1865  title = labelname + "_hltObjPhi;HLT #Phi" + trigPath;
1866  MonitorElement* Phi_HLT = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
1867  Phi_HLT->getTH1();
1868 
1869  histoname = labelname + "_hltObjEtaPhi";
1870  title = labelname + "_hltObjEtaPhi;HLT #eta;HLT #Phi" + trigPath;
1871  MonitorElement* EtaPhi_HLT =
1872  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
1873  EtaPhi_HLT->getTH1();
1874 
1875  histoname = labelname + "_l1HLTPtResolution";
1876  title = labelname + "_l1HLTPtResolution;(Pt(L1)-Pt(HLT))/Pt(L1)" + trigPath;
1877  MonitorElement* PtResolution_L1HLT =
1878  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
1879  PtResolution_L1HLT->getTH1();
1880 
1881  histoname = labelname + "_l1HLTEtaResolution";
1882  title = labelname + "_l1HLTEtaResolution;#eta(L1)-#eta(HLT)" + trigPath;
1883  MonitorElement* EtaResolution_L1HLT =
1884  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
1885  EtaResolution_L1HLT->getTH1();
1886 
1887  histoname = labelname + "_l1HLTPhiResolution";
1888  title = labelname + "_l1HLTPhiResolution;#Phi(L1)-#Phi(HLT)" + trigPath;
1889  MonitorElement* PhiResolution_L1HLT =
1890  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
1891  PhiResolution_L1HLT->getTH1();
1892 
1893  histoname = labelname + "_l1HLTPtCorrelation";
1894  title = labelname + "_l1HLTPtCorrelation;Pt(L1)[GeV/c];Pt(HLT)[GeV/c]" + trigPath;
1895  MonitorElement* PtCorrelation_L1HLT =
1896  iBooker.book2D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_, Ptbins_, PtMin_, PtMax_);
1897  PtCorrelation_L1HLT->getTH1();
1898 
1899  histoname = labelname + "_l1HLTEtaCorrelation";
1900  title = labelname + "_l1HLTEtaCorrelation;#eta(L1);#eta(HLT)" + trigPath;
1901  MonitorElement* EtaCorrelation_L1HLT =
1902  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Etabins_, EtaMin_, EtaMax_);
1903  EtaCorrelation_L1HLT->getTH1();
1904 
1905  histoname = labelname + "_l1HLTPhiCorrelation";
1906  title = labelname + "_l1HLTPhiCorrelation;#Phi(L1);#Phi(HLT)" + trigPath;
1907  MonitorElement* PhiCorrelation_L1HLT =
1908  iBooker.book2D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_, Phibins_, PhiMin_, PhiMax_);
1909  PhiCorrelation_L1HLT->getTH1();
1910 
1911  histoname = labelname + "_hltRecObjPtResolution";
1912  title = labelname + "_hltRecObjPtResolution;(Pt(HLT)-Pt(Reco))/Pt(HLT)" + trigPath;
1913  MonitorElement* PtResolution_HLTRecObj =
1914  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
1915  PtResolution_HLTRecObj->getTH1();
1916 
1917  histoname = labelname + "_hltRecObjEtaResolution";
1918  title = labelname + "_hltRecObjEtaResolution;#eta(HLT)-#eta(Reco)" + trigPath;
1919  MonitorElement* EtaResolution_HLTRecObj =
1920  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
1921  EtaResolution_HLTRecObj->getTH1();
1922 
1923  histoname = labelname + "_hltRecObjPhiResolution";
1924  title = labelname + "_hltRecObjPhiResolution;#Phi(HLT)-#Phi(Reco)" + trigPath;
1925  MonitorElement* PhiResolution_HLTRecObj =
1926  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
1927  PhiResolution_HLTRecObj->getTH1();
1928 
1929  histoname = labelname + "_hltRecObjPtCorrelation";
1930  title = labelname + "_hltRecObjPtCorrelation;Pt(HLT)[GeV/c];Pt(Reco)[GeV/c]" + trigPath;
1931  MonitorElement* PtCorrelation_HLTRecObj =
1932  iBooker.book2D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_, Ptbins_, PtMin_, PtMax_);
1933  PtCorrelation_HLTRecObj->getTH1();
1934 
1935  histoname = labelname + "_hltRecObjEtaCorrelation";
1936  title = labelname + "_hltRecObjEtaCorrelation;#eta(HLT);#eta(Reco)" + trigPath;
1937  MonitorElement* EtaCorrelation_HLTRecObj =
1938  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Etabins_, EtaMin_, EtaMax_);
1939  EtaCorrelation_HLTRecObj->getTH1();
1940 
1941  histoname = labelname + "_hltRecObjPhiCorrelation";
1942  title = labelname + "_hltRecObjPhiCorrelation;#Phi(HLT);#Phi(Reco)" + trigPath;
1943  MonitorElement* PhiCorrelation_HLTRecObj =
1944  iBooker.book2D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_, Phibins_, PhiMin_, PhiMax_);
1945  PhiCorrelation_HLTRecObj->getTH1();
1946 
1947  v.setHistos(N,
1948  Pt,
1949  PtBarrel,
1950  PtEndcap,
1951  PtForward,
1952  Eta,
1953  Phi,
1954  EtaPhi,
1955  N_L1,
1956  Pt_L1,
1957  PtBarrel_L1,
1958  PtEndcap_L1,
1959  PtForward_L1,
1960  Eta_L1,
1961  Phi_L1,
1962  EtaPhi_L1,
1963  N_HLT,
1964  Pt_HLT,
1965  PtBarrel_HLT,
1966  PtEndcap_HLT,
1967  PtForward_HLT,
1968  Eta_HLT,
1969  Phi_HLT,
1970  EtaPhi_HLT,
1971  PtResolution_L1HLT,
1972  EtaResolution_L1HLT,
1973  PhiResolution_L1HLT,
1974  PtResolution_HLTRecObj,
1975  EtaResolution_HLTRecObj,
1976  PhiResolution_HLTRecObj,
1977  PtCorrelation_L1HLT,
1978  EtaCorrelation_L1HLT,
1979  PhiCorrelation_L1HLT,
1980  PtCorrelation_HLTRecObj,
1981  EtaCorrelation_HLTRecObj,
1982  PhiCorrelation_HLTRecObj,
1983  dummy,
1984  dummy,
1985  dummy,
1986  dummy,
1987  dummy,
1988  dummy,
1989  dummy,
1990  dummy,
1991  dummy);
1992  } // histos for SingleJet Triggers
1993 
1994  if (v.getObjectType() == trigger::TriggerJet && v.getTriggerType() == "DiJet_Trigger") {
1995  histoname = labelname + "_RecObjAveragePt";
1996  title = labelname + "_RecObjAveragePt;Reco Average Pt[GeV/c]" + trigPath;
1997  MonitorElement* jetAveragePt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
1998  jetAveragePt->getTH1();
1999 
2000  histoname = labelname + "_RecObjAverageEta";
2001  title = labelname + "_RecObjAverageEta;Reco Average #eta" + trigPath;
2002  MonitorElement* jetAverageEta = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2003  jetAverageEta->getTH1();
2004 
2005  histoname = labelname + "_RecObjPhiDifference";
2006  title = labelname + "_RecObjPhiDifference;Reco #Delta#Phi" + trigPath;
2007  MonitorElement* jetPhiDifference =
2008  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2009  jetPhiDifference->getTH1();
2010 
2011  histoname = labelname + "_hltObjAveragePt";
2012  title = labelname + "_hltObjAveragePt;HLT Average Pt[GeV/c]" + trigPath;
2013  MonitorElement* hltAveragePt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2014  hltAveragePt->getTH1();
2015 
2016  histoname = labelname + "_hltObjAverageEta";
2017  title = labelname + "_hltObjAverageEta;HLT Average #eta" + trigPath;
2018  MonitorElement* hltAverageEta = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2019  hltAverageEta->getTH1();
2020 
2021  histoname = labelname + "_hltObjPhiDifference";
2022  title = labelname + "_hltObjPhiDifference;Reco #Delta#Phi" + trigPath;
2023  MonitorElement* hltPhiDifference =
2024  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2025  hltPhiDifference->getTH1();
2026 
2027  v.setHistos(dummy,
2028  dummy,
2029  dummy,
2030  dummy,
2031  dummy,
2032  dummy,
2033  dummy,
2034  dummy,
2035  dummy,
2036  dummy,
2037  dummy,
2038  dummy,
2039  dummy,
2040  dummy,
2041  dummy,
2042  dummy,
2043  dummy,
2044  dummy,
2045  dummy,
2046  dummy,
2047  dummy,
2048  dummy,
2049  dummy,
2050  dummy,
2051  dummy,
2052  dummy,
2053  dummy,
2054  dummy,
2055  dummy,
2056  dummy,
2057  dummy,
2058  dummy,
2059  dummy,
2060  dummy,
2061  dummy,
2062  dummy,
2063  jetAveragePt,
2064  jetAverageEta,
2065  jetPhiDifference,
2066  hltAveragePt,
2067  hltAverageEta,
2068  hltPhiDifference,
2069  dummy,
2070  dummy,
2071  dummy);
2072  } // histos for DiJet Triggers
2073 
2074  if (v.getObjectType() == trigger::TriggerMET || (v.getObjectType() == trigger::TriggerTET)) {
2075  histoname = labelname + "_recObjPt";
2076  title = labelname + "_recObjPt;Reco Pt[GeV/c]" + trigPath;
2077  MonitorElement* Pt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2078  Pt->getTH1();
2079 
2080  histoname = labelname + "_recObjPhi";
2081  title = labelname + "_recObjPhi;Reco #Phi" + trigPath;
2082  MonitorElement* Phi = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2083  Phi->getTH1();
2084 
2085  histoname = labelname + "_l1ObjPt";
2086  title = labelname + "_l1ObjPt;L1 Pt[GeV/c]" + trigPath;
2087  MonitorElement* Pt_L1 = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2088  Pt_L1->getTH1();
2089 
2090  histoname = labelname + "_l1ObjPhi";
2091  title = labelname + "_l1ObjPhi;L1 #Phi" + trigPath;
2092  MonitorElement* Phi_L1 = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2093  Phi_L1->getTH1();
2094 
2095  histoname = labelname + "_hltObjPt";
2096  title = labelname + "_hltObjPt;HLT Pt[GeV/c]" + trigPath;
2097  MonitorElement* Pt_HLT = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2098  Pt_HLT->getTH1();
2099 
2100  histoname = labelname + "_hltObjPhi";
2101  title = labelname + "_hltObjPhi;HLT #Phi" + trigPath;
2102  MonitorElement* Phi_HLT = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2103  Phi_HLT->getTH1();
2104 
2105  histoname = labelname + "_l1HLTPtResolution";
2106  title = labelname + "_l1HLTPtResolution;(Pt(L1)-Pt(HLT))/Pt(L1)" + trigPath;
2107  MonitorElement* PtResolution_L1HLT =
2108  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
2109  PtResolution_L1HLT->getTH1();
2110 
2111  histoname = labelname + "_l1HLTPhiResolution";
2112  title = labelname + "_l1HLTPhiResolution;#Phi(L1)-#Phi(HLT)" + trigPath;
2113  MonitorElement* PhiResolution_L1HLT =
2114  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
2115  PhiResolution_L1HLT->getTH1();
2116 
2117  histoname = labelname + "_l1HLTPtCorrelation";
2118  title = labelname + "_l1HLTPtCorrelation;Pt(L1)[GeV/c];Pt(HLT)[GeV/c]" + trigPath;
2119  MonitorElement* PtCorrelation_L1HLT =
2120  iBooker.book2D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_, Ptbins_, PtMin_, PtMax_);
2121  PtCorrelation_L1HLT->getTH1();
2122 
2123  histoname = labelname + "_l1HLTPhiCorrelation";
2124  title = labelname + "_l1HLTPhiCorrelation;#Phi(L1);#Phi(HLT)" + trigPath;
2125  MonitorElement* PhiCorrelation_L1HLT =
2126  iBooker.book2D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_, Phibins_, PhiMin_, PhiMax_);
2127  PhiCorrelation_L1HLT->getTH1();
2128 
2129  histoname = labelname + "_hltRecObjPtResolution";
2130  title = labelname + "_hltRecObjPtResolution;(Pt(HLT)-Pt(Reco))/Pt(HLT)" + trigPath;
2131  MonitorElement* PtResolution_HLTRecObj =
2132  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
2133  PtResolution_HLTRecObj->getTH1();
2134 
2135  histoname = labelname + "_hltRecObjPhiResolution";
2136  title = labelname + "_hltRecObjPhiResolution;#Phi(HLT)-#Phi(Reco)" + trigPath;
2137  MonitorElement* PhiResolution_HLTRecObj =
2138  iBooker.book1D(histoname.c_str(), title.c_str(), Resbins_, ResMin_, ResMax_);
2139  PhiResolution_HLTRecObj->getTH1();
2140 
2141  histoname = labelname + "_hltRecObjPtCorrelation";
2142  title = labelname + "_hltRecObjPtCorrelation;Pt(HLT)[GeV/c];Pt(Reco)[GeV/c]" + trigPath;
2143  MonitorElement* PtCorrelation_HLTRecObj =
2144  iBooker.book2D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_, Ptbins_, PtMin_, PtMax_);
2145  PtCorrelation_HLTRecObj->getTH1();
2146 
2147  histoname = labelname + "_hltRecObjPhiCorrelation";
2148  title = labelname + "_hltRecObjPhiCorrelation;#Phi(HLT);#Phi(Reco)" + trigPath;
2149  MonitorElement* PhiCorrelation_HLTRecObj =
2150  iBooker.book2D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_, Phibins_, PhiMin_, PhiMax_);
2151  PhiCorrelation_HLTRecObj->getTH1();
2152 
2153  v.setHistos(dummy,
2154  Pt,
2155  dummy,
2156  dummy,
2157  dummy,
2158  dummy,
2159  Phi,
2160  dummy,
2161  dummy,
2162  Pt_L1,
2163  dummy,
2164  dummy,
2165  dummy,
2166  dummy,
2167  Phi_L1,
2168  dummy,
2169  dummy,
2170  Pt_HLT,
2171  dummy,
2172  dummy,
2173  dummy,
2174  dummy,
2175  Phi_HLT,
2176  dummy,
2177  PtResolution_L1HLT,
2178  dummy,
2179  PhiResolution_L1HLT,
2180  PtResolution_HLTRecObj,
2181  dummy,
2182  PhiResolution_HLTRecObj,
2183  PtCorrelation_L1HLT,
2184  dummy,
2185  PhiCorrelation_L1HLT,
2186  PtCorrelation_HLTRecObj,
2187  dummy,
2188  PhiCorrelation_HLTRecObj,
2189  dummy,
2190  dummy,
2191  dummy,
2192  dummy,
2193  dummy,
2194  dummy,
2195  dummy,
2196  dummy,
2197  dummy);
2198  } // histos for MET Triggers
2199  }
2200  } //plotAll_
2201 
2202  //-------Now Efficiency histos--------
2203  if (plotEff_) {
2204  int Ptbins_ = 100;
2205  if (runStandalone_)
2206  Ptbins_ = 1000;
2207  double PtMin_ = 0.;
2208  double PtMax_ = 1000.;
2209  //
2210  int Etabins_ = 50;
2211  double EtaMin_ = -5.;
2212  double EtaMax_ = 5.;
2213  //
2214  int Phibins_ = 35;
2215  double PhiMin_ = -3.5;
2216  double PhiMax_ = 3.5;
2217  // Now define histos wrt lower threshold trigger
2218  std::string dirName1 = dirname_ + "/RelativeTriggerEff/";
2219  for (auto& v : hltPathsEff_) {
2220  //
2221  std::string trgPathName = HLTConfigProvider::removeVersion(v.getPath());
2222  std::string trgPathNameD = HLTConfigProvider::removeVersion(v.getDenomPath());
2223  //
2224  std::string labelname("ME");
2225  std::string subdirName = dirName1 + trgPathName + "_wrt_" + trgPathNameD;
2226  iBooker.setCurrentFolder(subdirName);
2227  //
2228  std::string histoname(labelname + "");
2229  std::string title(labelname + "");
2230 
2231  MonitorElement* dummy;
2232  dummy = iBooker.bookFloat("dummy");
2233 
2234  if ((v.getObjectType() == trigger::TriggerJet) && (v.getTriggerType() == "SingleJet_Trigger")) {
2235  histoname = labelname + "_NumeratorPt";
2236  title = labelname + "NumeratorPt;Calo Pt[GeV/c]";
2237  MonitorElement* NumeratorPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2238  NumeratorPt->getTH1();
2239 
2240  histoname = labelname + "_NumeratorPtBarrel";
2241  title = labelname + "NumeratorPtBarrel;Calo Pt[GeV/c] ";
2242  MonitorElement* NumeratorPtBarrel = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2243  NumeratorPtBarrel->getTH1();
2244 
2245  histoname = labelname + "_NumeratorPtEndcap";
2246  title = labelname + "NumeratorPtEndcap;Calo Pt[GeV/c]";
2247  MonitorElement* NumeratorPtEndcap = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2248  NumeratorPtEndcap->getTH1();
2249 
2250  histoname = labelname + "_NumeratorPtForward";
2251  title = labelname + "NumeratorPtForward;Calo Pt[GeV/c]";
2252  MonitorElement* NumeratorPtForward =
2253  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2254  NumeratorPtForward->getTH1();
2255 
2256  histoname = labelname + "_NumeratorEta";
2257  title = labelname + "NumeratorEta;Calo #eta ";
2258  MonitorElement* NumeratorEta = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2259  NumeratorEta->getTH1();
2260 
2261  histoname = labelname + "_NumeratorPhi";
2262  title = labelname + "NumeratorPhi;Calo #Phi";
2263  MonitorElement* NumeratorPhi = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2264  NumeratorPhi->getTH1();
2265 
2266  histoname = labelname + "_NumeratorEtaPhi";
2267  title = labelname + "NumeratorEtaPhi;Calo #eta;Calo #Phi";
2268  MonitorElement* NumeratorEtaPhi =
2269  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2270  NumeratorEtaPhi->getTH1();
2271 
2272  histoname = labelname + "_NumeratorEtaBarrel";
2273  title = labelname + "NumeratorEtaBarrel;Calo #eta ";
2274  MonitorElement* NumeratorEtaBarrel =
2275  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2276  NumeratorEtaBarrel->getTH1();
2277 
2278  histoname = labelname + "_NumeratorPhiBarrel";
2279  title = labelname + "NumeratorPhiBarrel;Calo #Phi";
2280  MonitorElement* NumeratorPhiBarrel =
2281  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2282  NumeratorPhiBarrel->getTH1();
2283 
2284  histoname = labelname + "_NumeratorEtaEndcap";
2285  title = labelname + "NumeratorEtaEndcap;Calo #eta ";
2286  MonitorElement* NumeratorEtaEndcap =
2287  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2288  NumeratorEtaEndcap->getTH1();
2289 
2290  histoname = labelname + "_NumeratorPhiEndcap";
2291  title = labelname + "NumeratorPhiEndcap;Calo #Phi";
2292  MonitorElement* NumeratorPhiEndcap =
2293  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2294  NumeratorPhiEndcap->getTH1();
2295 
2296  histoname = labelname + "_NumeratorEtaForward";
2297  title = labelname + "NumeratorEtaForward;Calo #eta ";
2298  MonitorElement* NumeratorEtaForward =
2299  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2300  NumeratorEtaForward->getTH1();
2301 
2302  histoname = labelname + "_NumeratorPhiForward";
2303  title = labelname + "NumeratorPhiForward;Calo #Phi";
2304  MonitorElement* NumeratorPhiForward =
2305  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2306  NumeratorPhiForward->getTH1();
2307 
2308  histoname = labelname + "_NumeratorEta_LowpTcut";
2309  title = labelname + "NumeratorEta_LowpTcut;Calo #eta ";
2310  MonitorElement* NumeratorEta_LowpTcut =
2311  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2312  NumeratorEta_LowpTcut->getTH1();
2313 
2314  histoname = labelname + "_NumeratorPhi_LowpTcut";
2315  title = labelname + "NumeratorPhi_LowpTcut;Calo #Phi";
2316  MonitorElement* NumeratorPhi_LowpTcut =
2317  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2318  NumeratorPhi_LowpTcut->getTH1();
2319 
2320  histoname = labelname + "_NumeratorEtaPhi_LowpTcut";
2321  title = labelname + "NumeratorEtaPhi_LowpTcut;Calo #eta;Calo #Phi";
2322  MonitorElement* NumeratorEtaPhi_LowpTcut =
2323  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2324  NumeratorEtaPhi_LowpTcut->getTH1();
2325 
2326  histoname = labelname + "_NumeratorEta_MedpTcut";
2327  title = labelname + "NumeratorEta_MedpTcut;Calo #eta ";
2328  MonitorElement* NumeratorEta_MedpTcut =
2329  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2330  NumeratorEta_MedpTcut->getTH1();
2331 
2332  histoname = labelname + "_NumeratorPhi_MedpTcut";
2333  title = labelname + "NumeratorPhi_MedpTcut;Calo #Phi";
2334  MonitorElement* NumeratorPhi_MedpTcut =
2335  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2336  NumeratorPhi_MedpTcut->getTH1();
2337 
2338  histoname = labelname + "_NumeratorEtaPhi_MedpTcut";
2339  title = labelname + "NumeratorEtaPhi_MedpTcut;Calo #eta;Calo #Phi";
2340  MonitorElement* NumeratorEtaPhi_MedpTcut =
2341  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2342  NumeratorEtaPhi_MedpTcut->getTH1();
2343 
2344  histoname = labelname + "_NumeratorEta_HighpTcut";
2345  title = labelname + "NumeratorEta_HighpTcut;Calo #eta ";
2346  MonitorElement* NumeratorEta_HighpTcut =
2347  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2348  NumeratorEta_HighpTcut->getTH1();
2349 
2350  histoname = labelname + "_NumeratorPhi_HighpTcut";
2351  title = labelname + "NumeratorPhi_HighpTcut;Calo #Phi";
2352  MonitorElement* NumeratorPhi_HighpTcut =
2353  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2354  NumeratorPhi_HighpTcut->getTH1();
2355 
2356  histoname = labelname + "_NumeratorEtaPhi_HighpTcut";
2357  title = labelname + "NumeratorEtaPhi_HighpTcut;Calo #eta;Calo #Phi";
2358  MonitorElement* NumeratorEtaPhi_HighpTcut =
2359  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2360  NumeratorEtaPhi_HighpTcut->getTH1();
2361 
2362  histoname = labelname + "_DenominatorPt";
2363  title = labelname + "DenominatorPt;Calo Pt[GeV/c]";
2364  MonitorElement* DenominatorPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2365  DenominatorPt->getTH1();
2366 
2367  histoname = labelname + "_DenominatorPtBarrel";
2368  title = labelname + "DenominatorPtBarrel;Calo Pt[GeV/c]";
2369  MonitorElement* DenominatorPtBarrel =
2370  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2371  DenominatorPtBarrel->getTH1();
2372 
2373  histoname = labelname + "_DenominatorPtEndcap";
2374  title = labelname + "DenominatorPtEndcap;Calo Pt[GeV/c]";
2375  MonitorElement* DenominatorPtEndcap =
2376  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2377  DenominatorPtEndcap->getTH1();
2378 
2379  histoname = labelname + "_DenominatorPtForward";
2380  title = labelname + "DenominatorPtForward;Calo Pt[GeV/c] ";
2381  MonitorElement* DenominatorPtForward =
2382  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2383  DenominatorPtForward->getTH1();
2384 
2385  histoname = labelname + "_DenominatorEta";
2386  title = labelname + "DenominatorEta;Calo #eta ";
2387  MonitorElement* DenominatorEta = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2388  DenominatorEta->getTH1();
2389 
2390  histoname = labelname + "_DenominatorPhi";
2391  title = labelname + "DenominatorPhi;Calo #Phi";
2392  MonitorElement* DenominatorPhi = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2393  DenominatorPhi->getTH1();
2394 
2395  histoname = labelname + "_DenominatorEtaPhi";
2396  title = labelname + "DenominatorEtaPhi;Calo #eta; Calo #Phi";
2397  MonitorElement* DenominatorEtaPhi =
2398  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2399  DenominatorEtaPhi->getTH1();
2400 
2401  histoname = labelname + "_DenominatorEtaBarrel";
2402  title = labelname + "DenominatorEtaBarrel;Calo #eta ";
2403  MonitorElement* DenominatorEtaBarrel =
2404  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2405  DenominatorEtaBarrel->getTH1();
2406 
2407  histoname = labelname + "_DenominatorPhiBarrel";
2408  title = labelname + "DenominatorPhiBarrel;Calo #Phi";
2409  MonitorElement* DenominatorPhiBarrel =
2410  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2411  DenominatorPhiBarrel->getTH1();
2412 
2413  histoname = labelname + "_DenominatorEtaEndcap";
2414  title = labelname + "DenominatorEtaEndcap;Calo #eta ";
2415  MonitorElement* DenominatorEtaEndcap =
2416  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2417  DenominatorEtaEndcap->getTH1();
2418 
2419  histoname = labelname + "_DenominatorPhiEndcap";
2420  title = labelname + "DenominatorPhiEndcap;Calo #Phi";
2421  MonitorElement* DenominatorPhiEndcap =
2422  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2423  DenominatorPhiEndcap->getTH1();
2424 
2425  histoname = labelname + "_DenominatorEtaForward";
2426  title = labelname + "DenominatorEtaForward;Calo #eta ";
2427  MonitorElement* DenominatorEtaForward =
2428  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2429  DenominatorEtaForward->getTH1();
2430 
2431  histoname = labelname + "_DenominatorPhiForward";
2432  title = labelname + "DenominatorPhiForward;Calo #Phi";
2433  MonitorElement* DenominatorPhiForward =
2434  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2435  DenominatorPhiForward->getTH1();
2436 
2437  histoname = labelname + "_DenominatorEta_LowpTcut";
2438  title = labelname + "DenominatorEta_LowpTcut;Calo #eta ";
2439  MonitorElement* DenominatorEta_LowpTcut =
2440  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2441  DenominatorEta_LowpTcut->getTH1();
2442 
2443  histoname = labelname + "_DenominatorPhi_LowpTcut";
2444  title = labelname + "DenominatorPhi_LowpTcut;Calo #Phi";
2445  MonitorElement* DenominatorPhi_LowpTcut =
2446  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2447  DenominatorPhi_LowpTcut->getTH1();
2448 
2449  histoname = labelname + "_DenominatorEtaPhi_LowpTcut";
2450  title = labelname + "DenominatorEtaPhi_LowpTcut;Calo #eta;Calo #Phi";
2451  MonitorElement* DenominatorEtaPhi_LowpTcut =
2452  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2453  DenominatorEtaPhi_LowpTcut->getTH1();
2454 
2455  histoname = labelname + "_DenominatorEta_MedpTcut";
2456  title = labelname + "DenominatorEta_MedpTcut;Calo #eta ";
2457  MonitorElement* DenominatorEta_MedpTcut =
2458  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2459  DenominatorEta_MedpTcut->getTH1();
2460 
2461  histoname = labelname + "_DenominatorPhi_MedpTcut";
2462  title = labelname + "DenominatorPhi_MedpTcut;Calo #Phi";
2463  MonitorElement* DenominatorPhi_MedpTcut =
2464  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2465  DenominatorPhi_MedpTcut->getTH1();
2466 
2467  histoname = labelname + "_DenominatorEtaPhi_MedpTcut";
2468  title = labelname + "DenominatorEtaPhi_MedpTcut;Calo #eta;Calo #Phi";
2469  MonitorElement* DenominatorEtaPhi_MedpTcut =
2470  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2471  DenominatorEtaPhi_MedpTcut->getTH1();
2472 
2473  histoname = labelname + "_DenominatorEta_HighpTcut";
2474  title = labelname + "DenominatorEta_HighpTcut;Calo #eta ";
2475  MonitorElement* DenominatorEta_HighpTcut =
2476  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2477  DenominatorEta_HighpTcut->getTH1();
2478 
2479  histoname = labelname + "_DenominatorPhi_HighpTcut";
2480  title = labelname + "DenominatorPhi_HighpTcut;Calo #Phi";
2481  MonitorElement* DenominatorPhi_HighpTcut =
2482  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2483  DenominatorPhi_HighpTcut->getTH1();
2484 
2485  histoname = labelname + "_DenominatorEtaPhi_HighpTcut";
2486  title = labelname + "DenominatorEtaPhi_HighpTcut;Calo #eta;Calo #Phi";
2487  MonitorElement* DenominatorEtaPhi_HighpTcut =
2488  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2489  DenominatorEtaPhi_HighpTcut->getTH1();
2490 
2491  histoname = labelname + "_DeltaR";
2492  title = labelname + "DeltaR;";
2493  MonitorElement* DeltaR = iBooker.book1D(histoname.c_str(), title.c_str(), 100, 0., 1.5);
2494  DeltaR->getTH1();
2495 
2496  histoname = labelname + "_DeltaPhi";
2497  title = labelname + "DeltaPhi;";
2498  MonitorElement* DeltaPhi = iBooker.book1D(histoname.c_str(), title.c_str(), 500, -5.0, 5.0);
2499  DeltaPhi->getTH1();
2500 
2501  histoname = labelname + "_NumeratorPFMHT";
2502  title = labelname + "NumeratorPFMHT;PFMHT[GeV/c]";
2503  MonitorElement* NumeratorPFMHT = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2504  NumeratorPFMHT->getTH1();
2505 
2506  histoname = labelname + "_NumeratorPFPt";
2507  title = labelname + "NumeratorPFPt;PF Pt[GeV/c]";
2508  MonitorElement* NumeratorPFPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2509  NumeratorPFPt->getTH1();
2510 
2511  histoname = labelname + "_NumeratorPFPtBarrel";
2512  title = labelname + "NumeratorPFPtBarrel;PF Pt[GeV/c] ";
2513  MonitorElement* NumeratorPFPtBarrel =
2514  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2515  NumeratorPFPtBarrel->getTH1();
2516 
2517  histoname = labelname + "_NumeratorPFPtEndcap";
2518  title = labelname + "NumeratorPFPtEndcap;PF Pt[GeV/c]";
2519  MonitorElement* NumeratorPFPtEndcap =
2520  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2521  NumeratorPFPtEndcap->getTH1();
2522 
2523  histoname = labelname + "_NumeratorPFPtForward";
2524  title = labelname + "NumeratorPFPtForward;PF Pt[GeV/c]";
2525  MonitorElement* NumeratorPFPtForward =
2526  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2527  NumeratorPFPtForward->getTH1();
2528 
2529  histoname = labelname + "_NumeratorPFEta";
2530  title = labelname + "NumeratorPFEta;PF #eta ";
2531  MonitorElement* NumeratorPFEta = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2532  NumeratorPFEta->getTH1();
2533 
2534  histoname = labelname + "_NumeratorPFPhi";
2535  title = labelname + "NumeratorPFPhi;Calo #Phi";
2536  MonitorElement* NumeratorPFPhi = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2537  NumeratorPFPhi->getTH1();
2538 
2539  histoname = labelname + "_NumeratorPFEtaPhi";
2540  title = labelname + "NumeratorPFEtaPhi;PF #eta;Calo #Phi";
2541  MonitorElement* NumeratorPFEtaPhi =
2542  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2543  NumeratorPFEtaPhi->getTH1();
2544 
2545  histoname = labelname + "_NumeratorPFEtaBarrel";
2546  title = labelname + "NumeratorPFEtaBarrel;PF #eta ";
2547  MonitorElement* NumeratorPFEtaBarrel =
2548  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2549  NumeratorPFEtaBarrel->getTH1();
2550 
2551  histoname = labelname + "_NumeratorPFPhiBarrel";
2552  title = labelname + "NumeratorPFPhiBarrel;PF #Phi";
2553  MonitorElement* NumeratorPFPhiBarrel =
2554  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2555  NumeratorPFPhiBarrel->getTH1();
2556 
2557  histoname = labelname + "_NumeratorPFEtaEndcap";
2558  title = labelname + "NumeratorPFEtaEndcap;Calo #eta ";
2559  MonitorElement* NumeratorPFEtaEndcap =
2560  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2561  NumeratorPFEtaEndcap->getTH1();
2562 
2563  histoname = labelname + "_NumeratorPFPhiEndcap";
2564  title = labelname + "NumeratorPFPhiEndcap;PF #Phi";
2565  MonitorElement* NumeratorPFPhiEndcap =
2566  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2567  NumeratorPFPhiEndcap->getTH1();
2568 
2569  histoname = labelname + "_NumeratorPFEtaForward";
2570  title = labelname + "NumeratorPFEtaForward;Calo #eta ";
2571  MonitorElement* NumeratorPFEtaForward =
2572  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2573  NumeratorPFEtaForward->getTH1();
2574 
2575  histoname = labelname + "_NumeratorPFPhiForward";
2576  title = labelname + "NumeratorPFPhiForward;PF #Phi";
2577  MonitorElement* NumeratorPFPhiForward =
2578  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2579  NumeratorPFPhiForward->getTH1();
2580 
2581  histoname = labelname + "_NumeratorPFEta_LowpTcut";
2582  title = labelname + "NumeratorPFEta_LowpTcut;PF #eta ";
2583  MonitorElement* NumeratorPFEta_LowpTcut =
2584  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2585  NumeratorPFEta_LowpTcut->getTH1();
2586 
2587  histoname = labelname + "_NumeratorPFPhi_LowpTcut";
2588  title = labelname + "NumeratorPFPhi_LowpTcut;PF #Phi";
2589  MonitorElement* NumeratorPFPhi_LowpTcut =
2590  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2591  NumeratorPFPhi_LowpTcut->getTH1();
2592 
2593  histoname = labelname + "_NumeratorPFEtaPhi_LowpTcut";
2594  title = labelname + "NumeratorPFEtaPhi_LowpTcut;PF #eta;Calo #Phi";
2595  MonitorElement* NumeratorPFEtaPhi_LowpTcut =
2596  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2597  NumeratorPFEtaPhi_LowpTcut->getTH1();
2598 
2599  histoname = labelname + "_NumeratorPFEta_MedpTcut";
2600  title = labelname + "NumeratorPFEta_MedpTcut;PF #eta ";
2601  MonitorElement* NumeratorPFEta_MedpTcut =
2602  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2603  NumeratorPFEta_MedpTcut->getTH1();
2604 
2605  histoname = labelname + "_NumeratorPFPhi_MedpTcut";
2606  title = labelname + "NumeratorPFPhi_MedpTcut;PF #Phi";
2607  MonitorElement* NumeratorPFPhi_MedpTcut =
2608  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2609  NumeratorPFPhi_MedpTcut->getTH1();
2610 
2611  histoname = labelname + "_NumeratorPFEtaPhi_MedpTcut";
2612  title = labelname + "NumeratorPFEtaPhi_MedpTcut;PF #eta;PF #Phi";
2613  MonitorElement* NumeratorPFEtaPhi_MedpTcut =
2614  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2615  NumeratorPFEtaPhi_MedpTcut->getTH1();
2616 
2617  histoname = labelname + "_NumeratorPFEta_HighpTcut";
2618  title = labelname + "NumeratorPFEta_HighpTcut;Calo #eta ";
2619  MonitorElement* NumeratorPFEta_HighpTcut =
2620  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2621  NumeratorPFEta_HighpTcut->getTH1();
2622 
2623  histoname = labelname + "_NumeratorPFPhi_HighpTcut";
2624  title = labelname + "NumeratorPFPhi_HighpTcut;PF #Phi";
2625  MonitorElement* NumeratorPFPhi_HighpTcut =
2626  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2627  NumeratorPFPhi_HighpTcut->getTH1();
2628 
2629  histoname = labelname + "_NumeratorPFEtaPhi_HighpTcut";
2630  title = labelname + "NumeratorPFEtaPhi_HighpTcut;PF #eta;PF #Phi";
2631  MonitorElement* NumeratorPFEtaPhi_HighpTcut =
2632  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2633  NumeratorPFEtaPhi_HighpTcut->getTH1();
2634 
2635  histoname = labelname + "_DenominatorPFMHT";
2636  title = labelname + "DenominatorPFMHT;PF Pt[GeV/c]";
2637  MonitorElement* DenominatorPFMHT = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2638  DenominatorPFMHT->getTH1();
2639 
2640  histoname = labelname + "_DenominatorPFPt";
2641  title = labelname + "DenominatorPFPt;PF Pt[GeV/c]";
2642  MonitorElement* DenominatorPFPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2643  DenominatorPFPt->getTH1();
2644 
2645  histoname = labelname + "_DenominatorPFPtBarrel";
2646  title = labelname + "DenominatorPFPtBarrel;Calo Pt[GeV/c]";
2647  MonitorElement* DenominatorPFPtBarrel =
2648  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2649  DenominatorPFPtBarrel->getTH1();
2650 
2651  histoname = labelname + "_DenominatorPFPtEndcap";
2652  title = labelname + "DenominatorPFPtEndcap;PF Pt[GeV/c]";
2653  MonitorElement* DenominatorPFPtEndcap =
2654  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2655  DenominatorPFPtEndcap->getTH1();
2656 
2657  histoname = labelname + "_DenominatorPFPtForward";
2658  title = labelname + "DenominatorPFPtForward;PF Pt[GeV/c] ";
2659  MonitorElement* DenominatorPFPtForward =
2660  iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2661  DenominatorPFPtForward->getTH1();
2662 
2663  histoname = labelname + "_DenominatorPFEta";
2664  title = labelname + "DenominatorPFEta;PF #eta ";
2665  MonitorElement* DenominatorPFEta =
2666  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2667  DenominatorPFEta->getTH1();
2668 
2669  histoname = labelname + "_DenominatorPFPhi";
2670  title = labelname + "DenominatorPFPhi;PF #Phi";
2671  MonitorElement* DenominatorPFPhi =
2672  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2673  DenominatorPFPhi->getTH1();
2674 
2675  histoname = labelname + "_DenominatorPFEtaPhi";
2676  title = labelname + "DenominatorPFEtaPhi;PF #eta; Calo #Phi";
2677  MonitorElement* DenominatorPFEtaPhi =
2678  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2679  DenominatorPFEtaPhi->getTH1();
2680 
2681  histoname = labelname + "_DenominatorPFEtaBarrel";
2682  title = labelname + "DenominatorPFEtaBarrel;Calo #eta ";
2683  MonitorElement* DenominatorPFEtaBarrel =
2684  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2685  DenominatorPFEtaBarrel->getTH1();
2686 
2687  histoname = labelname + "_DenominatorPFPhiBarrel";
2688  title = labelname + "DenominatorPFPhiBarrel;PF #Phi";
2689  MonitorElement* DenominatorPFPhiBarrel =
2690  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2691  DenominatorPFPhiBarrel->getTH1();
2692 
2693  histoname = labelname + "_DenominatorPFEtaEndcap";
2694  title = labelname + "DenominatorPFEtaEndcap;PF #eta ";
2695  MonitorElement* DenominatorPFEtaEndcap =
2696  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2697  DenominatorPFEtaEndcap->getTH1();
2698 
2699  histoname = labelname + "_DenominatorPFPhiEndcap";
2700  title = labelname + "DenominatorPFPhiEndcap;Calo #Phi";
2701  MonitorElement* DenominatorPFPhiEndcap =
2702  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2703  DenominatorPFPhiEndcap->getTH1();
2704 
2705  histoname = labelname + "_DenominatorPFEtaForward";
2706  title = labelname + "DenominatorPFEtaForward;PF #eta ";
2707  MonitorElement* DenominatorPFEtaForward =
2708  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2709  DenominatorPFEtaForward->getTH1();
2710 
2711  histoname = labelname + "_DenominatorPFPhiForward";
2712  title = labelname + "DenominatorPFPhiForward;PF #Phi";
2713  MonitorElement* DenominatorPFPhiForward =
2714  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2715  DenominatorPFPhiForward->getTH1();
2716 
2717  histoname = labelname + "_DenominatorPFEta_LowpTcut";
2718  title = labelname + "DenominatorPFEta_LowpTcut;PF #eta ";
2719  MonitorElement* DenominatorPFEta_LowpTcut =
2720  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2721  DenominatorPFEta_LowpTcut->getTH1();
2722 
2723  histoname = labelname + "_DenominatorPFPhi_LowpTcut";
2724  title = labelname + "DenominatorPFPhi_LowpTcut;PF #Phi";
2725  MonitorElement* DenominatorPFPhi_LowpTcut =
2726  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2727  DenominatorPFPhi_LowpTcut->getTH1();
2728 
2729  histoname = labelname + "_DenominatorPFEtaPhi_LowpTcut";
2730  title = labelname + "DenominatorPFEtaPhi_LowpTcut;PF #eta;Calo #Phi";
2731  MonitorElement* DenominatorPFEtaPhi_LowpTcut =
2732  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2733  DenominatorPFEtaPhi_LowpTcut->getTH1();
2734 
2735  histoname = labelname + "_DenominatorPFEta_MedpTcut";
2736  title = labelname + "DenominatorPFEta_MedpTcut;PF #eta ";
2737  MonitorElement* DenominatorPFEta_MedpTcut =
2738  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2739  DenominatorPFEta_MedpTcut->getTH1();
2740 
2741  histoname = labelname + "_DenominatorPFPhi_MedpTcut";
2742  title = labelname + "DenominatorPFPhi_MedpTcut;PF #Phi";
2743  MonitorElement* DenominatorPFPhi_MedpTcut =
2744  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2745  DenominatorPFPhi_MedpTcut->getTH1();
2746 
2747  histoname = labelname + "_DenominatorPFEtaPhi_MedpTcut";
2748  title = labelname + "DenominatorPFEtaPhi_MedpTcut;PF #eta;Calo #Phi";
2749  MonitorElement* DenominatorPFEtaPhi_MedpTcut =
2750  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2751  DenominatorPFEtaPhi_MedpTcut->getTH1();
2752 
2753  histoname = labelname + "_DenominatorPFEta_HighpTcut";
2754  title = labelname + "DenominatorPFEta_HighpTcut;PF #eta ";
2755  MonitorElement* DenominatorPFEta_HighpTcut =
2756  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2757  DenominatorPFEta_HighpTcut->getTH1();
2758 
2759  histoname = labelname + "_DenominatorPFPhi_HighpTcut";
2760  title = labelname + "DenominatorPFPhi_HighpTcut;PF #Phi";
2761  MonitorElement* DenominatorPFPhi_HighpTcut =
2762  iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
2763  DenominatorPFPhi_HighpTcut->getTH1();
2764 
2765  histoname = labelname + "_DenominatorPFEtaPhi_HighpTcut";
2766  title = labelname + "DenominatorPFEtaPhi_HighpTcut;PF #eta;Calo #Phi";
2767  MonitorElement* DenominatorPFEtaPhi_HighpTcut =
2768  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Phibins_, PhiMin_, PhiMax_);
2769  DenominatorPFEtaPhi_HighpTcut->getTH1();
2770 
2771  histoname = labelname + "_PFDeltaR";
2772  title = labelname + "PFDeltaR;";
2773  MonitorElement* PFDeltaR = iBooker.book1D(histoname.c_str(), title.c_str(), 100, 0., 1.5);
2774  PFDeltaR->getTH1();
2775 
2776  histoname = labelname + "_PFDeltaPhi";
2777  title = labelname + "PFDeltaPhi;";
2778  MonitorElement* PFDeltaPhi = iBooker.book1D(histoname.c_str(), title.c_str(), 500, -5.0, 5.0);
2779  PFDeltaPhi->getTH1();
2780 
2781  v.setEffHistos(NumeratorPt,
2782  NumeratorPtBarrel,
2783  NumeratorPtEndcap,
2784  NumeratorPtForward,
2785  NumeratorEta,
2786  NumeratorPhi,
2787  NumeratorEtaPhi,
2788  //
2789  NumeratorEtaBarrel,
2790  NumeratorPhiBarrel,
2791  NumeratorEtaEndcap,
2792  NumeratorPhiEndcap,
2793  NumeratorEtaForward,
2794  NumeratorPhiForward,
2795  NumeratorEta_LowpTcut,
2796  NumeratorPhi_LowpTcut,
2797  NumeratorEtaPhi_LowpTcut,
2798  NumeratorEta_MedpTcut,
2799  NumeratorPhi_MedpTcut,
2800  NumeratorEtaPhi_MedpTcut,
2801  NumeratorEta_HighpTcut,
2802  NumeratorPhi_HighpTcut,
2803  NumeratorEtaPhi_HighpTcut,
2804  //
2805  DenominatorPt,
2806  DenominatorPtBarrel,
2807  DenominatorPtEndcap,
2808  DenominatorPtForward,
2809  DenominatorEta,
2810  DenominatorPhi,
2811  DenominatorEtaPhi,
2812  //
2813  DenominatorEtaBarrel,
2814  DenominatorPhiBarrel,
2815  DenominatorEtaEndcap,
2816  DenominatorPhiEndcap,
2817  DenominatorEtaForward,
2818  DenominatorPhiForward,
2819  DenominatorEta_LowpTcut,
2820  DenominatorPhi_LowpTcut,
2821  DenominatorEtaPhi_LowpTcut,
2822  DenominatorEta_MedpTcut,
2823  DenominatorPhi_MedpTcut,
2824  DenominatorEtaPhi_MedpTcut,
2825  DenominatorEta_HighpTcut,
2826  DenominatorPhi_HighpTcut,
2827  DenominatorEtaPhi_HighpTcut,
2828  DeltaR,
2829  DeltaPhi,
2830  //
2831  NumeratorPFPt,
2832  NumeratorPFMHT,
2833  NumeratorPFPtBarrel,
2834  NumeratorPFPtEndcap,
2835  NumeratorPFPtForward,
2836  NumeratorPFEta,
2837  NumeratorPFPhi,
2838  NumeratorPFEtaPhi,
2839  NumeratorPFEtaBarrel,
2840  NumeratorPFPhiBarrel,
2841  NumeratorPFEtaEndcap,
2842  NumeratorPFPhiEndcap,
2843  NumeratorPFEtaForward,
2844  NumeratorPFPhiForward,
2845  NumeratorPFEta_LowpTcut,
2846  NumeratorPFPhi_LowpTcut,
2847  NumeratorPFEtaPhi_LowpTcut,
2848  NumeratorPFEta_MedpTcut,
2849  NumeratorPFPhi_MedpTcut,
2850  NumeratorPFEtaPhi_MedpTcut,
2851  NumeratorPFEta_HighpTcut,
2852  NumeratorPFPhi_HighpTcut,
2853  NumeratorPFEtaPhi_HighpTcut,
2854  DenominatorPFPt,
2855  DenominatorPFMHT,
2856  DenominatorPFPtBarrel,
2857  DenominatorPFPtEndcap,
2858  DenominatorPFPtForward,
2859  DenominatorPFEta,
2860  DenominatorPFPhi,
2861  DenominatorPFEtaPhi,
2862  DenominatorPFEtaBarrel,
2863  DenominatorPFPhiBarrel,
2864  DenominatorPFEtaEndcap,
2865  DenominatorPFPhiEndcap,
2866  DenominatorPFEtaForward,
2867  DenominatorPFPhiForward,
2868  DenominatorPFEta_LowpTcut,
2869  DenominatorPFPhi_LowpTcut,
2870  DenominatorPFEtaPhi_LowpTcut,
2871  DenominatorPFEta_MedpTcut,
2872  DenominatorPFPhi_MedpTcut,
2873  DenominatorPFEtaPhi_MedpTcut,
2874  DenominatorPFEta_HighpTcut,
2875  DenominatorPFPhi_HighpTcut,
2876  DenominatorPFEtaPhi_HighpTcut,
2877  PFDeltaR,
2878  PFDeltaPhi);
2879 
2880  } // Loop over Jet Trigger
2881 
2882  if ((v.getObjectType() == trigger::TriggerJet) && (v.getTriggerType() == "DiJet_Trigger")) {
2883  histoname = labelname + "_NumeratorAvrgPt";
2884  title = labelname + "NumeratorAvrgPt;Calo Pt[GeV/c]";
2885  MonitorElement* NumeratorPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2886  NumeratorPt->getTH1();
2887 
2888  histoname = labelname + "_NumeratorAvrgEta";
2889  title = labelname + "NumeratorAvrgEta;Calo #eta";
2890  MonitorElement* NumeratorEta = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2891  NumeratorEta->getTH1();
2892 
2893  histoname = labelname + "_DenominatorAvrgPt";
2894  title = labelname + "DenominatorAvrgPt;Calo Pt[GeV/c] ";
2895  MonitorElement* DenominatorPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2896  DenominatorPt->getTH1();
2897 
2898  histoname = labelname + "_DenominatorAvrgEta";
2899  title = labelname + "DenominatorAvrgEta;Calo #eta";
2900  MonitorElement* DenominatorEta = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2901  DenominatorEta->getTH1();
2902 
2903  histoname = labelname + "_DeltaR";
2904  title = labelname + "DeltaR;";
2905  MonitorElement* DeltaR = iBooker.book1D(histoname.c_str(), title.c_str(), 100, 0., 1.5);
2906  DeltaR->getTH1();
2907 
2908  histoname = labelname + "_DeltaPhi";
2909  title = labelname + "DeltaPhi;";
2910  MonitorElement* DeltaPhi = iBooker.book1D(histoname.c_str(), title.c_str(), 500, -5., 5.);
2911  DeltaPhi->getTH1();
2912 
2913  //add PF histo: SJ
2914  histoname = labelname + "_NumeratorAvrgPFPt";
2915  title = labelname + "NumeratorAvrgPFPt;PF Pt[GeV/c]";
2916  MonitorElement* NumeratorPFPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2917  NumeratorPFPt->getTH1();
2918 
2919  histoname = labelname + "_NumeratorAvrgPFEta";
2920  title = labelname + "NumeratorAvrgPFEta;PF #eta";
2921  MonitorElement* NumeratorPFEta = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2922  NumeratorPFEta->getTH1();
2923 
2924  histoname = labelname + "_DenominatorAvrgPFPt";
2925  title = labelname + "DenominatorAvrgPFPt;PF Pt[GeV/c] ";
2926  MonitorElement* DenominatorPFPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
2927  DenominatorPFPt->getTH1();
2928 
2929  histoname = labelname + "_DenominatorAvrgPFEta";
2930  title = labelname + "DenominatorAvrgPFEta;PF #eta";
2931  MonitorElement* DenominatorPFEta =
2932  iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
2933  DenominatorPFEta->getTH1();
2934 
2935  histoname = labelname + "_PFDeltaR";
2936  title = labelname + "PFDeltaR;";
2937  MonitorElement* PFDeltaR = iBooker.book1D(histoname.c_str(), title.c_str(), 100, 0., 1.5);
2938  PFDeltaR->getTH1();
2939 
2940  histoname = labelname + "_PFDeltaPhi";
2941  title = labelname + "PFDeltaPhi;";
2942  MonitorElement* PFDeltaPhi = iBooker.book1D(histoname.c_str(), title.c_str(), 500, -5., 5.);
2943  PFDeltaPhi->getTH1();
2944 
2945  v.setEffHistos(dummy,
2946  dummy,
2947  dummy,
2948  dummy,
2949  dummy,
2950  dummy,
2951  dummy,
2952  dummy,
2953  dummy,
2954  dummy,
2955  dummy,
2956  dummy,
2957  dummy,
2958  dummy,
2959  dummy,
2960  dummy,
2961  dummy,
2962  dummy,
2963  dummy,
2964  dummy,
2965  dummy,
2966  dummy,
2967  dummy,
2968  dummy,
2969  dummy,
2970  dummy,
2971  dummy,
2972  dummy,
2973  dummy,
2974  dummy,
2975  dummy,
2976  dummy,
2977  dummy,
2978  dummy,
2979  dummy,
2980  dummy,
2981  dummy,
2982  dummy,
2983  dummy,
2984  dummy,
2985  dummy,
2986  dummy,
2987  dummy,
2988  dummy,
2989  dummy,
2990  dummy,
2991  dummy,
2992  dummy,
2993  dummy,
2994  dummy,
2995  dummy,
2996  dummy,
2997  dummy,
2998  dummy,
2999  dummy,
3000  dummy,
3001  dummy,
3002  dummy,
3003  dummy,
3004  dummy,
3005  dummy,
3006  dummy,
3007  dummy,
3008  dummy,
3009  dummy,
3010  dummy,
3011  dummy,
3012  dummy,
3013  dummy,
3014  dummy,
3015  dummy,
3016  dummy,
3017  dummy,
3018  dummy,
3019  dummy,
3020  dummy,
3021  dummy,
3022  dummy,
3023  dummy,
3024  dummy,
3025  dummy,
3026  dummy,
3027  dummy,
3028  dummy,
3029  dummy,
3030  dummy,
3031  dummy,
3032  dummy,
3033  dummy,
3034  dummy,
3035  dummy,
3036  dummy,
3037  dummy,
3038  dummy);
3039  }
3040 
3041  if (v.getObjectType() == trigger::TriggerMET || (v.getObjectType() == trigger::TriggerTET)) {
3042  histoname = labelname + "_NumeratorPt";
3043  if (v.getPath().find("HLT_PFMET") == std::string::npos)
3044  title = labelname + "NumeratorPt; CaloMET[GeV/c]";
3045  else
3046  title = labelname + "NumeratorPt; PFMET[GeV/c]";
3047  MonitorElement* NumeratorPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
3048  NumeratorPt->getTH1();
3049 
3050  histoname = labelname + "_NumeratorPhi";
3051  title = labelname + "NumeratorPhi; #Phi";
3052  MonitorElement* NumeratorPhi = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
3053  NumeratorPhi->getTH1();
3054 
3055  histoname = labelname + "_DenominatorPt";
3056  if (v.getPath().find("HLT_PFMET") == std::string::npos)
3057  title = labelname + "DenominatorPt; CaloMET[GeV/c]";
3058  else
3059  title = labelname + "DenominatorPt; PFMET[GeV/c]";
3060  MonitorElement* DenominatorPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
3061  DenominatorPt->getTH1();
3062 
3063  histoname = labelname + "_DenominatorPhi";
3064  title = labelname + "DenominatorPhi; #Phi";
3065  MonitorElement* DenominatorPhi = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
3066  DenominatorPhi->getTH1();
3067 
3068  v.setEffHistos(NumeratorPt,
3069  dummy,
3070  dummy,
3071  dummy,
3072  dummy,
3073  NumeratorPhi,
3074  dummy,
3075  dummy,
3076  dummy,
3077  dummy,
3078  dummy,
3079  dummy,
3080  dummy,
3081  dummy,
3082  dummy,
3083  dummy,
3084  dummy,
3085  dummy,
3086  dummy,
3087  dummy,
3088  dummy,
3089  dummy,
3090  DenominatorPt,
3091  dummy,
3092  dummy,
3093  dummy,
3094  dummy,
3095  DenominatorPhi,
3096  dummy,
3097  dummy,
3098  dummy,
3099  dummy,
3100  dummy,
3101  dummy,
3102  dummy,
3103  dummy,
3104  dummy,
3105  dummy,
3106  dummy,
3107  dummy,
3108  dummy,
3109  dummy,
3110  dummy,
3111  dummy,
3112  dummy,
3113  dummy,
3114  dummy,
3115  dummy,
3116  dummy,
3117  dummy,
3118  dummy,
3119  dummy,
3120  dummy,
3121  dummy,
3122  dummy,
3123  dummy,
3124  dummy,
3125  dummy,
3126  dummy,
3127  dummy,
3128  dummy,
3129  dummy,
3130  dummy,
3131  dummy,
3132  dummy,
3133  dummy,
3134  dummy,
3135  dummy,
3136  dummy,
3137  dummy,
3138  dummy,
3139  dummy,
3140  dummy,
3141  dummy,
3142  dummy,
3143  dummy,
3144  dummy,
3145  dummy,
3146  dummy,
3147  dummy,
3148  dummy,
3149  dummy,
3150  dummy,
3151  dummy,
3152  dummy,
3153  dummy,
3154  dummy,
3155  dummy,
3156  dummy,
3157  dummy,
3158  dummy,
3159  dummy,
3160  dummy,
3161  dummy);
3162  } // Loop over MET trigger
3163  }
3164  } //plotEff_
3165 
3166  if (runStandalone_) { //runStandalone
3167  //--------Histos to see WHY trigger is NOT fired----------
3168  int Nbins_ = 10;
3169  int Nmin_ = 0;
3170  int Nmax_ = 10;
3171  int Ptbins_ = 1000;
3172  int Etabins_ = 40;
3173  int Phibins_ = 35;
3174  double PtMin_ = 0.;
3175  double PtMax_ = 1000.;
3176  double EtaMin_ = -5.;
3177  double EtaMax_ = 5.;
3178  double PhiMin_ = -3.14159;
3179  double PhiMax_ = 3.14159;
3180 
3181  std::string dirName4_ = dirname_ + "/TriggerNotFired/";
3182  // iBooker.setCurrentFolder(dirName4);
3183 
3184  for (auto& v : hltPathsAll_) {
3185  MonitorElement* dummy;
3186  dummy = iBooker.bookFloat("dummy");
3187 
3188  std::string labelname("ME");
3189  std::string histoname(labelname + "");
3190  std::string title(labelname + "");
3191  iBooker.setCurrentFolder(dirName4_ + v.getPath());
3192 
3193  histoname = labelname + "_TriggerSummary";
3194  title = labelname + "Summary of trigger levels";
3195  MonitorElement* TriggerSummary = iBooker.book1D(histoname.c_str(), title.c_str(), 7, -0.5, 6.5);
3196 
3197  std::vector<std::string> trigger;
3198  trigger.emplace_back("Nevt");
3199  trigger.emplace_back("L1 failed");
3200  trigger.emplace_back("L1 & HLT failed");
3201  trigger.emplace_back("L1 failed but not HLT");
3202  trigger.emplace_back("L1 passed");
3203  trigger.emplace_back("L1 & HLT passed");
3204  trigger.emplace_back("L1 passed but not HLT");
3205 
3206  for (unsigned int i = 0; i < trigger.size(); i++)
3207  TriggerSummary->setBinLabel(i + 1, trigger[i]);
3208 
3209  if ((v.getTriggerType() == "SingleJet_Trigger")) {
3210  histoname = labelname + "_JetPt";
3211  title = labelname + "Leading jet pT;Pt[GeV/c]";
3212  MonitorElement* JetPt = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
3213  JetPt->getTH1();
3214 
3215  histoname = labelname + "_JetEtaVsPt";
3216  title = labelname + "Leading jet #eta vs pT;#eta;Pt[GeV/c]";
3217  MonitorElement* JetEtaVsPt =
3218  iBooker.book2D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_, Ptbins_, PtMin_, PtMax_);
3219  JetEtaVsPt->getTH1();
3220 
3221  histoname = labelname + "_JetPhiVsPt";
3222  title = labelname + "Leading jet #Phi vs pT;#Phi;Pt[GeV/c]";
3223  MonitorElement* JetPhiVsPt =
3224  iBooker.book2D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_, Ptbins_, PtMin_, PtMax_);
3225  JetPhiVsPt->getTH1();
3226 
3227  v.setDgnsHistos(
3228  TriggerSummary, dummy, JetPt, JetEtaVsPt, JetPhiVsPt, dummy, dummy, dummy, dummy, dummy, dummy);
3229  } // single Jet trigger
3230 
3231  if ((v.getTriggerType() == "DiJet_Trigger")) {
3232  histoname = labelname + "_JetSize";
3233  title = labelname + "Jet Size;multiplicity";
3234  MonitorElement* JetSize = iBooker.book1D(histoname.c_str(), title.c_str(), Nbins_, Nmin_, Nmax_);
3235  JetSize->getTH1();
3236 
3237  histoname = labelname + "_AvergPt";
3238  title = labelname + "Average Pt;Pt[GeV/c]";
3239  MonitorElement* Pt12 = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
3240  Pt12->getTH1();
3241 
3242  histoname = labelname + "_AvergEta";
3243  title = labelname + "Average Eta;#eta";
3244  MonitorElement* Eta12 = iBooker.book1D(histoname.c_str(), title.c_str(), Etabins_, EtaMin_, EtaMax_);
3245  Eta12->getTH1();
3246 
3247  histoname = labelname + "_PhiDifference";
3248  title = labelname + "#Delta#Phi;#Delta#Phi";
3249  MonitorElement* Phi12 = iBooker.book1D(histoname.c_str(), title.c_str(), Phibins_, PhiMin_, PhiMax_);
3250  Phi12->getTH1();
3251 
3252  histoname = labelname + "_Pt3Jet";
3253  title = labelname + "Pt of 3rd Jet;Pt[GeV/c]";
3254  MonitorElement* Pt3 = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
3255  Pt3->getTH1();
3256 
3257  histoname = labelname + "_Pt12VsPt3Jet";
3258  title = labelname + "Pt of 3rd Jet vs Average Pt of leading jets;Avergage Pt[GeV/c]; Pt of 3rd Jet [GeV/c]";
3259  MonitorElement* Pt12Pt3 =
3260  iBooker.book2D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_, Ptbins_, PtMin_, PtMax_);
3261  Pt12Pt3->getTH1();
3262 
3263  histoname = labelname + "_Pt12VsPhi12";
3264  title = labelname +
3265  "Average Pt of leading jets vs #Delta#Phi between leading jets;Avergage Pt[GeV/c]; #Delta#Phi";
3266  MonitorElement* Pt12Phi12 =
3267  iBooker.book2D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_, Phibins_, PhiMin_, PhiMax_);
3268  Pt12Phi12->getTH1();
3269 
3270  v.setDgnsHistos(TriggerSummary, JetSize, dummy, dummy, dummy, Pt12, Eta12, Phi12, Pt3, Pt12Pt3, Pt12Phi12);
3271  } // Dijet Jet trigger
3272 
3273  if ((v.getTriggerType() == "MET_Trigger")) {
3274  histoname = labelname + "_MET";
3275  title = labelname + "MET;Pt[GeV/c]";
3276  MonitorElement* MET = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
3277  MET->getTH1();
3278 
3279  v.setDgnsHistos(TriggerSummary, dummy, MET, dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy);
3280  } // MET trigger
3281 
3282  if ((v.getTriggerType() == "TET_Trigger")) {
3283  histoname = labelname + "_TET";
3284  title = labelname + "TET;Pt[GeV/c]";
3285  MonitorElement* TET = iBooker.book1D(histoname.c_str(), title.c_str(), Ptbins_, PtMin_, PtMax_);
3286  TET->getTH1();
3287 
3288  v.setDgnsHistos(TriggerSummary, dummy, TET, dummy, dummy, dummy, dummy, dummy, dummy, dummy, dummy);
3289  } // TET trigger
3290  }
3291  } //runStandalone
3292  }
3293 }
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
Definition: deltaR.h:58
PathInfoCollection hltPathsAllTriggerSummary_
static const std::string removeVersion(const std::string &trigger)
Definition: MET.h:41
MonitorElement * correlation_AllWrtMu
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
#define N
Definition: blowfish.cc:9
PathInfoCollection hltPathsAll_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
MonitorElement * correlation_AllWrtMB
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
virtual TH1 * getTH1() const
PathInfoCollection hltPathsEff_
void JetMETHLTOfflineSource::dqmBeginRun ( edm::Run const &  run,
edm::EventSetup const &  c 
)
overrideprivatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 1330 of file JetMETHLTOfflineSource.cc.

References config::checkPath, gather_cfg::cout, custompathnamepairs_, getL1ConditionModuleName(), hltConfig_, hltPathsAll_, hltPathsAllTriggerSummary_, hltPathsEff_, mps_fire::i, HLTConfigProvider::init(), isSetup_, LogDebug, objects.METAnalyzer::met, HLTConfigProvider::moduleLabels(), HLTConfigProvider::moduleType(), MuonTrigPaths_, dqmiodumpmetadata::n, nameForEff_, pathFilter_, timingPdfMaker::pathname, pathRejectKeyword_, processname_, HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, trigger::TriggerJet, trigger::TriggerMET, HLTConfigProvider::triggerName(), trigger::TriggerTET, HLT_FULL_cff::triggerType, and verbose_.

1330  {
1331  if (!isSetup_) {
1332  //--- htlConfig_
1333  bool changed(true);
1334  if (!hltConfig_.init(run, c, processname_, changed)) {
1335  LogDebug("HLTJetMETDQMSource") << "HLTConfigProvider failed to initialize.";
1336  }
1337 
1338  /*
1339  Here we select the Single Jet, DiJet, MET trigger. SingleJet and DiJet trigger are saved under same object type "TriggerJet".
1340  We can easily separate out single and di jet trigger later. For the first trigger in the list, denominator trigger is dummy
1341  (empty) whereas for other triggers denom is previous trigger of same type. e.g. SingleJet50 has singleJet30 as denominator.
1342  */
1343 
1344  const unsigned int n(hltConfig_.size());
1345  int singleJet = 0;
1346  int diJet = 0;
1347  int met = 0;
1348  int tet = 0;
1349  for (unsigned int i = 0; i != n; ++i) {
1350  bool denomFound = false;
1351  bool numFound = false;
1352  bool checkPath = false;
1353 
1354  //Look for paths if "path name fraction" is found in the pathname
1356  //Filter only paths JetMET triggers are interested in
1357  auto controlPathname = pathFilter_.begin();
1358  for (; controlPathname != pathFilter_.end(); ++controlPathname) {
1359  if (pathname.find((*controlPathname)) != std::string::npos) {
1360  checkPath = true;
1361  break;
1362  }
1363  }
1364  if (checkPath == false)
1365  continue;
1366 
1367  //Reject if keyword(s) is found in the pathname
1368  auto rejectPathname = pathRejectKeyword_.begin();
1369  for (; rejectPathname != pathRejectKeyword_.end(); ++rejectPathname) {
1370  if (pathname.find((*rejectPathname)) != std::string::npos) {
1371  checkPath = false;
1372  break;
1373  }
1374  }
1375  if (checkPath == false)
1376  continue;
1377 
1378  //
1379  if (verbose_)
1380  cout << "==pathname==" << pathname << endl;
1381  std::string dpathname = MuonTrigPaths_[0];
1382  std::string l1pathname = "dummy";
1383  std::string denompathname = "";
1384  unsigned int usedPrescale = 1;
1385  unsigned int objectType = 0;
1386  std::string triggerType = "";
1387  std::string filtername("dummy");
1388  std::string Denomfiltername("denomdummy");
1389 
1390  if (pathname.find("Jet") != std::string::npos && !(pathname.find("DoubleJet") != std::string::npos) &&
1391  !(pathname.find("DiJet") != std::string::npos) && !(pathname.find("DiPFJet") != std::string::npos) &&
1392  !(pathname.find("BTag") != std::string::npos) && !(pathname.find("Mu") != std::string::npos) &&
1393  !(pathname.find("Fwd") != std::string::npos)) {
1394  triggerType = "SingleJet_Trigger";
1395  objectType = trigger::TriggerJet;
1396  }
1397  if (pathname.find("DiJet") != std::string::npos || pathname.find("DiPFJet") != std::string::npos ||
1398  pathname.find("DoubleJet") != std::string::npos) {
1399  triggerType = "DiJet_Trigger";
1400  objectType = trigger::TriggerJet;
1401  }
1402  if (pathname.find("MET") != std::string::npos) {
1403  triggerType = "MET_Trigger";
1404  objectType = trigger::TriggerMET;
1405  }
1406  if (pathname.find("HT") != std::string::npos) {
1407  triggerType = "TET_Trigger";
1408  objectType = trigger::TriggerTET;
1409  }
1410 
1411  //
1412  if (objectType == trigger::TriggerJet && !(pathname.find("DiJet") != std::string::npos) &&
1413  !(pathname.find("DiPFJet") != std::string::npos) && !(pathname.find("DoubleJet") != std::string::npos)) {
1414  singleJet++;
1415  if (singleJet > 1)
1416  dpathname = dpathname = hltConfig_.triggerName(i - 1);
1417  if (singleJet == 1)
1418  dpathname = MuonTrigPaths_[0];
1419  }
1420  if (objectType == trigger::TriggerJet &&
1421  ((pathname.find("DiJet") != std::string::npos) || (pathname.find("DiPFJet") != std::string::npos))) {
1422  diJet++;
1423  if (diJet > 1)
1424  dpathname = dpathname = hltConfig_.triggerName(i - 1);
1425  if (diJet == 1)
1426  dpathname = MuonTrigPaths_[0];
1427  }
1428  if (objectType == trigger::TriggerMET) {
1429  met++;
1430  if (met > 1)
1431  dpathname = dpathname = hltConfig_.triggerName(i - 1);
1432  if (met == 1)
1433  dpathname = MuonTrigPaths_[0];
1434  }
1435  if (objectType == trigger::TriggerTET) {
1436  tet++;
1437  if (tet > 1)
1438  dpathname = dpathname = hltConfig_.triggerName(i - 1);
1439  if (tet == 1)
1440  dpathname = MuonTrigPaths_[0];
1441  }
1442 
1443  // find L1 condition for numpath with numpath objecttype
1444  // find PSet for L1 global seed for numpath,sss
1445  // list module labels for numpath
1446 
1447  // Checking if the trigger exist in HLT table or not
1448  for (unsigned int i = 0; i != n; ++i) {
1449  std::string HLTname = hltConfig_.triggerName(i);
1450  if (HLTname == pathname)
1451  numFound = true;
1452  if (HLTname == dpathname)
1453  denomFound = true;
1454  }
1455 
1456  if (numFound) { //make trigger exist in the menu
1457  //ml needs change l1pathname
1458  l1pathname = getL1ConditionModuleName(pathname); //ml added L1conditionmodulename
1459  //ml added
1460  std::vector<std::string> numpathmodules = hltConfig_.moduleLabels(pathname);
1461  for (auto& numpathmodule : numpathmodules) {
1462  edm::InputTag testTag(numpathmodule, "", processname_);
1463  if ((hltConfig_.moduleType(numpathmodule) == "HLT1CaloJet") ||
1464  (hltConfig_.moduleType(numpathmodule) == "HLT1PFJet") ||
1465  (hltConfig_.moduleType(numpathmodule) == "HLTDiJetAveFilter") ||
1466  (hltConfig_.moduleType(numpathmodule) == "HLTDiPFJetAveFilter") ||
1467  (hltConfig_.moduleType(numpathmodule) == "HLT1CaloMET") ||
1468  (hltConfig_.moduleType(numpathmodule) == "HLTMhtFilter") ||
1469  (hltConfig_.moduleType(numpathmodule) == "HLTPrescaler"))
1470  filtername = numpathmodule;
1471  }
1472  }
1473 
1474  if (objectType != 0 && denomFound) {
1475  std::vector<std::string> numpathmodules = hltConfig_.moduleLabels(dpathname);
1476  for (auto& numpathmodule : numpathmodules) {
1477  edm::InputTag testTag(numpathmodule, "", processname_);
1478  if ((hltConfig_.moduleType(numpathmodule) == "HLT1CaloJet") ||
1479  (hltConfig_.moduleType(numpathmodule) == "HLT1PFJet") ||
1480  (hltConfig_.moduleType(numpathmodule) == "HLTDiJetAveFilter") ||
1481  (hltConfig_.moduleType(numpathmodule) == "HLTDiPFJetAveFilter") ||
1482  (hltConfig_.moduleType(numpathmodule) == "HLT1CaloMET") ||
1483  (hltConfig_.moduleType(numpathmodule) == "HLTMhtFilter") ||
1484  (hltConfig_.moduleType(numpathmodule) == "HLTPrescaler"))
1485  Denomfiltername = numpathmodule;
1486  }
1487  }
1488 
1489  if (objectType != 0 && numFound) {
1490  if (verbose_)
1491  cout << "=Pathname= " << pathname << " | =Denompath= " << dpathname << " | =Filtername= " << filtername
1492  << " | =Denomfiltername= " << Denomfiltername << " | =L1pathname= " << l1pathname
1493  << " | =ObjectType= " << objectType << endl;
1494  if (!((pathname.find("HT") != std::string::npos) || (pathname.find("Quad") != std::string::npos))) {
1495  hltPathsAll_.push_back(PathInfo(usedPrescale,
1496  dpathname,
1497  pathname,
1498  l1pathname,
1499  filtername,
1500  Denomfiltername,
1501  processname_,
1502  objectType,
1503  triggerType));
1504  if (!nameForEff_ && denomFound)
1505  hltPathsEff_.push_back(PathInfo(usedPrescale,
1506  dpathname,
1507  pathname,
1508  l1pathname,
1509  filtername,
1510  Denomfiltername,
1511  processname_,
1512  objectType,
1513  triggerType));
1514  }
1515  hltPathsAllTriggerSummary_.push_back(PathInfo(usedPrescale,
1516  dpathname,
1517  pathname,
1518  l1pathname,
1519  filtername,
1520  Denomfiltername,
1521  processname_,
1522  objectType,
1523  triggerType));
1524  }
1525  } //Loop over paths
1526 
1527  if (verbose_)
1528  cout << "get names for efficicncy------------------" << endl;
1529  //---------bool to pick trigger names pair from config file-------------
1530  if (nameForEff_) {
1531  std::string l1pathname = "dummy";
1532  std::string denompathname = "";
1533  unsigned int usedPrescale = 1;
1534  unsigned int objectType = 0;
1535  std::string triggerType = "";
1536  std::string filtername("dummy");
1537  std::string Denomfiltername("denomdummy");
1538  for (auto& custompathnamepair : custompathnamepairs_) {
1539  std::string pathname = custompathnamepair.first;
1540  std::string dpathname = custompathnamepair.second;
1541  bool numFound = false;
1542  bool denomFound = false;
1543  // Checking if the trigger exist in HLT table or not
1544  for (unsigned int i = 0; i != n; ++i) {
1545  std::string HLTname = hltConfig_.triggerName(i);
1546  if (HLTname.find(pathname) != std::string::npos) {
1547  numFound = true;
1548  pathname = HLTname;
1549  } //changed to get versions
1550  if (HLTname.find(dpathname) != std::string::npos) {
1551  denomFound = true;
1552  dpathname = HLTname;
1553  }
1554  }
1555  if (numFound && denomFound) {
1556  if (pathname.find("Jet") != std::string::npos && !(pathname.find("DiJet") != std::string::npos) &&
1557  !(pathname.find("DiPFJet") != std::string::npos) && !(pathname.find("DoubleJet") != std::string::npos) &&
1558  !(pathname.find("BTag") != std::string::npos) && !(pathname.find("Mu") != std::string::npos) &&
1559  !(pathname.find("Fwd") != std::string::npos)) {
1560  triggerType = "SingleJet_Trigger";
1561  objectType = trigger::TriggerJet;
1562  }
1563  if (pathname.find("DiJet") != std::string::npos || pathname.find("DiPFJet") != std::string::npos ||
1564  pathname.find("DoubleJet") != std::string::npos) {
1565  triggerType = "DiJet_Trigger";
1566  objectType = trigger::TriggerJet;
1567  }
1568  if (pathname.find("MET") != std::string::npos) {
1569  triggerType = "MET_Trigger";
1570  objectType = trigger::TriggerMET;
1571  }
1572  if (pathname.find("TET") != std::string::npos) {
1573  triggerType = "TET_Trigger";
1574  objectType = trigger::TriggerTET;
1575  }
1576 
1577  l1pathname = getL1ConditionModuleName(pathname); //ml added L1conditionmodulename
1578  std::vector<std::string> numpathmodules = hltConfig_.moduleLabels(pathname);
1579  for (auto& numpathmodule : numpathmodules) {
1580  edm::InputTag testTag(numpathmodule, "", processname_);
1581  if ((hltConfig_.moduleType(numpathmodule) == "HLT1CaloJet") ||
1582  (hltConfig_.moduleType(numpathmodule) == "HLT1PFJet") ||
1583  (hltConfig_.moduleType(numpathmodule) == "HLTDiJetAveFilter") ||
1584  (hltConfig_.moduleType(numpathmodule) == "HLTDiPFJetAveFilter") ||
1585  (hltConfig_.moduleType(numpathmodule) == "HLT1CaloMET") ||
1586  (hltConfig_.moduleType(numpathmodule) == "HLTMhtFilter") ||
1587  (hltConfig_.moduleType(numpathmodule) == "HLTPrescaler"))
1588  filtername = numpathmodule;
1589  }
1590 
1591  if (objectType != 0) {
1592  std::vector<std::string> numpathmodules = hltConfig_.moduleLabels(dpathname);
1593  for (auto& numpathmodule : numpathmodules) {
1594  edm::InputTag testTag(numpathmodule, "", processname_);
1595  if ((hltConfig_.moduleType(numpathmodule) == "HLT1CaloJet") ||
1596  (hltConfig_.moduleType(numpathmodule) == "HLT1PFJet") ||
1597  (hltConfig_.moduleType(numpathmodule) == "HLTDiJetAveFilter") ||
1598  (hltConfig_.moduleType(numpathmodule) == "HLTDiPFJetAveFilter") ||
1599  (hltConfig_.moduleType(numpathmodule) == "HLT1CaloMET") ||
1600  (hltConfig_.moduleType(numpathmodule) == "HLTMhtFilter") ||
1601  (hltConfig_.moduleType(numpathmodule) == "HLTPrescaler"))
1602  Denomfiltername = numpathmodule;
1603  }
1604 
1605  if (verbose_)
1606  cout << "==pathname==" << pathname << "==denompath==" << dpathname << "==filtername==" << filtername
1607  << "==denomfiltername==" << Denomfiltername << "==l1pathname==" << l1pathname
1608  << "==objectType==" << objectType << endl;
1609  hltPathsEff_.push_back(PathInfo(usedPrescale,
1610  dpathname,
1611  pathname,
1612  l1pathname,
1613  filtername,
1614  Denomfiltername,
1615  processname_,
1616  objectType,
1617  triggerType));
1618  }
1619  }
1620  }
1621  }
1622 
1623  if (verbose_)
1624  cout << "== end hltPathsEff_.push_back ======" << endl;
1625  }
1626 }
unsigned int size() const
number of trigger paths in trigger table
const edm::EventSetup & c
const std::string moduleType(const std::string &module) const
C++ class name of module.
tuple checkPath
Definition: config.py:11
const std::string & triggerName(unsigned int triggerIndex) const
PathInfoCollection hltPathsAllTriggerSummary_
std::vector< std::string > pathFilter_
std::vector< std::string > pathRejectKeyword_
std::vector< std::string > MuonTrigPaths_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
PathInfoCollection hltPathsAll_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
const std::string getL1ConditionModuleName(const std::string &pathname)
tuple cout
Definition: gather_cfg.py:144
PathInfoCollection hltPathsEff_
#define LogDebug(id)
void JetMETHLTOfflineSource::fillMEforEffAllTrigger ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Definition at line 819 of file JetMETHLTOfflineSource.cc.

References _fEMF, _feta, _fHPD, _max_CEMF, _max_CHEF, _min_CEMF, _min_CHEF, _min_NEMF, _min_NHEF, _n90Hits, _pfMHT, funct::abs(), calojet, calojetColl_, CaloJetEMF, CaloJetEta, CaloJetfHPD, CaloJetn90, CaloJetPhi, CaloJetPt, calometColl_, gather_cfg::cout, srCondWrite_cfg::deltaPhi, HLT_FULL_cff::deltaR, makePileupJSON::denom, reco::LeafCandidate::et(), PVValHelper::eta, hltPathsEff_, isBarrel(), isEndCap(), isForward(), edm::HandleBase::isValid(), objects.METAnalyzer::met, pileupDistInMC::num, pfjet, PFJetCEMF, PFJetCHEF, pfjetColl_, PFJetEta, PFJetNEMF, PFJetNHEF, PFJetPhi, PFJetPt, pfmetColl_, pfMHTx_All, pfMHTy_All, phi, reco::LeafCandidate::phi(), processname_, edm::Handle< T >::product(), edm::TriggerNames::size(), mathSSE::sqrt(), edm::TriggerNames::triggerIndex(), trigger::TriggerJet, trigger::TriggerMET, triggerNames_, triggerObj_, triggerResults_, trigger::TriggerTET, findQualityFiles::v, and verbose_.

Referenced by analyze().

819  {
820  if (!triggerResults_.isValid())
821  return;
822 
823  int num = -1;
824  int denom = -1;
825  bool denompassed = false;
826  bool numpassed = false;
827  const trigger::TriggerObjectCollection& toc(triggerObj_->getObjects());
828 
829  for (auto& v : hltPathsEff_) {
830  num++;
831  denom++;
832  denompassed = false;
833  numpassed = false;
834 
835  unsigned indexNum = triggerNames_.triggerIndex(v.getPath());
836  unsigned indexDenom = triggerNames_.triggerIndex(v.getDenomPath());
837 
838  if (indexNum < triggerNames_.size() && triggerResults_->accept(indexNum))
839  numpassed = true;
840  if (indexDenom < triggerNames_.size() && triggerResults_->accept(indexDenom))
841  denompassed = true;
842 
843  if (denompassed == false)
844  continue;
845 
846  //if(numpassed==true){
847  edm::InputTag hltTag(v.getLabel(), "", processname_);
848  const int hltIndex = triggerObj_->filterIndex(hltTag);
849  edm::InputTag l1Tag(v.getl1Path(), "", processname_);
850  const int l1Index = triggerObj_->filterIndex(l1Tag);
851  //}
852 
853  //----------------------------------------------------------------------
854  //double pTcut = 0;
855  double trigLowpTcut = 0;
856  double trigMedpTcut = 0;
857  double trigHighpTcut = 0;
858  double trigLowpTcutFwd = 0;
859  double trigMedpTcutFwd = 0;
860  double trigHighpTcutFwd = 0;
861  //
862  //double pTPFcut = 0 ;
863  double trigLowpTPFcut = 0;
864  double trigMedpTPFcut = 0;
865  double trigHighpTPFcut = 0;
866  double trigLowpTPFcutFwd = 0;
867  double trigMedpTPFcutFwd = 0;
868  double trigHighpTPFcutFwd = 0;
869  //
870  //cout<<"pre-path" << v->getPath()<<endl;
871  size_t jetstrfound = v.getPath().find("Jet");
872  //size_t censtrfound = v->getPath().find("Central"); //shoouldn't be needed?
873  string tpath = v.getPath();
874  string jetTrigVal;
875  float jetVal = 0.;
876  //
877  if (jetstrfound != string::npos) { // && ustrfound != string::npos ){
878  //cout<<v->getPath()<<endl;
879  for (int trig = int(jetstrfound) + 3; trig < int(jetstrfound) + 7; trig++) { // int(ustrfound); trig++){
880  if (!isdigit(tpath[trig]))
881  break;
882  jetTrigVal += tpath[trig];
883  }
884  jetVal = atof(jetTrigVal.c_str());
885  //
886  if (jetVal > 0.) {
887  if (jetVal < 50.) {
888  //pTcut = jetVal / 2.;
889  trigMedpTcut = jetVal + 5.;
890  trigHighpTcut = jetVal + 10.;
891  //
892  trigLowpTcutFwd = jetVal + 9.;
893  trigMedpTcutFwd = jetVal + 15.;
894  trigHighpTcutFwd = jetVal + 21.;
895  } else {
896  //pTcut = jetVal - 20. ;
897  trigMedpTcut = jetVal + 2.;
898  trigHighpTcut = jetVal + 60.;
899  //
900  trigLowpTcutFwd = jetVal + 22.;
901  trigMedpTcutFwd = jetVal + 25.;
902  trigHighpTcutFwd = jetVal + 110.;
903  }
904  trigLowpTcut = jetVal;
905  }
906  //
907  if (jetVal > 0.) {
908  if (jetVal < 50.) {
909  //pTPFcut = jetVal ;
910  trigMedpTPFcut = jetVal + 20.;
911  trigHighpTPFcut = jetVal + 40.;
912  //
913  trigLowpTPFcutFwd = jetVal + 60.;
914  trigMedpTPFcutFwd = jetVal + 80.;
915  trigHighpTPFcutFwd = jetVal + 100.;
916  } else {
917  //pTPFcut = jetVal ;
918  trigMedpTPFcut = jetVal + 40.;
919  trigHighpTPFcut = jetVal + 140.;
920  //
921  trigLowpTPFcutFwd = jetVal + 110.;
922  trigMedpTPFcutFwd = jetVal + 130.;
923  trigHighpTPFcutFwd = jetVal + 190.;
924  }
925  trigLowpTPFcut = jetVal;
926  }
927  }
928  //----------------------------------------------------------------------
929 
930  //CaloJet paths
931  if (verbose_)
932  std::cout << "fillMEforEffAllTrigger: CaloJet -------------------" << std::endl;
933  if (calojetColl_.isValid() && (v.getObjectType() == trigger::TriggerJet)) {
934  //cout<<" - CaloJet "<<endl;
935  //&& (v->getPath().find("HLT_PFJet")==std::string::npos)
936  //&& (v->getPath().find("HLT_DiPFJet")==std::string::npos)){
937  bool jetIDbool = false;
938  double leadjpt = CaloJetPt[0];
939  double leadjeta = CaloJetEta[0];
940  double leadjphi = CaloJetPhi[0];
941  //double ljemf = CaloJetEMF[0];
942  double ljfhpd = CaloJetfHPD[0];
943  double ljn90 = CaloJetn90[0];
944  if ((v.getTriggerType() == "SingleJet_Trigger") && !calojet.empty()) { //this line stops the central jets
945  if ((ljfhpd < _fHPD) && (ljn90 > _n90Hits)) {
946  if (verbose_)
947  cout << "Passed CaloJet ID -------------------" << endl;
948  jetIDbool = true;
949  //Denominator fill
950  v.getMEhisto_DenominatorPt()->Fill(leadjpt);
951  if (isBarrel(leadjeta))
952  v.getMEhisto_DenominatorPtBarrel()->Fill(leadjpt);
953  if (isEndCap(leadjeta))
954  v.getMEhisto_DenominatorPtEndcap()->Fill(leadjpt);
955  if (isForward(leadjeta))
956  v.getMEhisto_DenominatorPtForward()->Fill(leadjpt);
957  v.getMEhisto_DenominatorEta()->Fill(leadjeta);
958  v.getMEhisto_DenominatorPhi()->Fill(leadjphi);
959  v.getMEhisto_DenominatorEtaPhi()->Fill(leadjeta, leadjphi);
960  if (isBarrel(leadjeta)) {
961  v.getMEhisto_DenominatorEtaBarrel()->Fill(leadjeta);
962  v.getMEhisto_DenominatorPhiBarrel()->Fill(leadjphi);
963  }
964  if (isEndCap(leadjeta)) {
965  v.getMEhisto_DenominatorEtaEndcap()->Fill(leadjeta);
966  v.getMEhisto_DenominatorPhiEndcap()->Fill(leadjphi);
967  }
968  if (isForward(leadjeta)) {
969  v.getMEhisto_DenominatorEtaForward()->Fill(leadjeta);
970  v.getMEhisto_DenominatorPhiForward()->Fill(leadjphi);
971  }
972  if ((leadjpt > trigLowpTcut && !isForward(leadjeta)) || (leadjpt > trigLowpTcutFwd && isForward(leadjeta))) {
973  v.getMEhisto_DenominatorEta_LowpTcut()->Fill(leadjeta);
974  v.getMEhisto_DenominatorPhi_LowpTcut()->Fill(leadjphi);
975  v.getMEhisto_DenominatorEtaPhi_LowpTcut()->Fill(leadjeta, leadjphi);
976  }
977  if ((leadjpt > trigMedpTcut && !isForward(leadjeta)) || (leadjpt > trigMedpTcutFwd && isForward(leadjeta))) {
978  v.getMEhisto_DenominatorEta_MedpTcut()->Fill(leadjeta);
979  v.getMEhisto_DenominatorPhi_MedpTcut()->Fill(leadjphi);
980  v.getMEhisto_DenominatorEtaPhi_MedpTcut()->Fill(leadjeta, leadjphi);
981  }
982  if ((leadjpt > trigHighpTcut && !isForward(leadjeta)) ||
983  (leadjpt > trigHighpTcutFwd && isForward(leadjeta))) {
984  v.getMEhisto_DenominatorEta_HighpTcut()->Fill(leadjeta);
985  v.getMEhisto_DenominatorPhi_HighpTcut()->Fill(leadjphi);
986  v.getMEhisto_DenominatorEtaPhi_HighpTcut()->Fill(leadjeta, leadjphi);
987  }
988 
989  //Numerator fill
990  if (numpassed) {
991  //
992  double dRmin = 99999.;
993  double dPhimin = 9999.;
994  if (v.getPath().find("L1") != std::string::npos) {
995  if (l1Index >= triggerObj_->sizeFilters()) {
996  edm::LogInfo("JetMETHLTOfflineSource") << "no index hlt" << hltIndex << " of that name ";
997  } else {
998  const trigger::Keys& kl1 = triggerObj_->filterKeys(l1Index);
999  for (unsigned short ki : kl1) {
1000  double dR = deltaR(toc[ki].eta(), toc[ki].phi(), leadjeta, leadjphi);
1001  if (dR < dRmin) {
1002  dRmin = dR;
1003  }
1004  }
1005  }
1006  } else {
1007  if (hltIndex >= triggerObj_->sizeFilters()) {
1008  edm::LogInfo("JetMETHLTOfflineSource") << "no index hlt" << hltIndex << " of that name ";
1009  } else {
1010  const trigger::Keys& khlt = triggerObj_->filterKeys(hltIndex);
1011  auto kj = khlt.begin();
1012  for (; kj != khlt.end(); ++kj) {
1013  double dR = deltaR(toc[*kj].eta(), toc[*kj].phi(), leadjeta, leadjphi);
1014  if (dR < dRmin) {
1015  dRmin = dR;
1016  }
1017  double dPhi = deltaPhi(toc[*kj].phi(), leadjphi);
1018  if (dPhi < dPhimin) {
1019  dPhimin = dPhi;
1020  }
1021  }
1022  //v->getMEhisto_DeltaPhi()->Fill(dPhimin);
1023  v.getMEhisto_DeltaPhi()->Fill(dPhimin);
1024  v.getMEhisto_DeltaR()->Fill(dRmin);
1025  }
1026  }
1027  if (dRmin < 0.1 || (v.getPath().find("L1") != std::string::npos && dRmin < 0.4)) {
1028  v.getMEhisto_NumeratorPt()->Fill(leadjpt);
1029  if (isBarrel(leadjeta))
1030  v.getMEhisto_NumeratorPtBarrel()->Fill(leadjpt);
1031  if (isEndCap(leadjeta))
1032  v.getMEhisto_NumeratorPtEndcap()->Fill(leadjpt);
1033  if (isForward(leadjeta))
1034  v.getMEhisto_NumeratorPtForward()->Fill(leadjpt);
1035  v.getMEhisto_NumeratorEta()->Fill(leadjeta);
1036  v.getMEhisto_NumeratorPhi()->Fill(leadjphi);
1037  v.getMEhisto_NumeratorEtaPhi()->Fill(leadjeta, leadjphi);
1038  if (isBarrel(leadjeta)) {
1039  v.getMEhisto_NumeratorEtaBarrel()->Fill(leadjeta);
1040  v.getMEhisto_NumeratorPhiBarrel()->Fill(leadjphi);
1041  }
1042  if (isEndCap(leadjeta)) {
1043  v.getMEhisto_NumeratorEtaEndcap()->Fill(leadjeta);
1044  v.getMEhisto_NumeratorPhiEndcap()->Fill(leadjphi);
1045  }
1046  if (isForward(leadjeta)) {
1047  v.getMEhisto_NumeratorEtaForward()->Fill(leadjeta);
1048  v.getMEhisto_NumeratorPhiForward()->Fill(leadjphi);
1049  }
1050  if ((leadjpt > trigLowpTcut && !isForward(leadjeta)) ||
1051  (leadjpt > trigLowpTcutFwd && isForward(leadjeta))) {
1052  v.getMEhisto_NumeratorEta_LowpTcut()->Fill(leadjeta);
1053  v.getMEhisto_NumeratorPhi_LowpTcut()->Fill(leadjphi);
1054  v.getMEhisto_NumeratorEtaPhi_LowpTcut()->Fill(leadjeta, leadjphi);
1055  }
1056  if ((leadjpt > trigMedpTcut && !isForward(leadjeta)) ||
1057  (leadjpt > trigMedpTcutFwd && isForward(leadjeta))) {
1058  v.getMEhisto_NumeratorEta_MedpTcut()->Fill(leadjeta);
1059  v.getMEhisto_NumeratorPhi_MedpTcut()->Fill(leadjphi);
1060  v.getMEhisto_NumeratorEtaPhi_MedpTcut()->Fill(leadjeta, leadjphi);
1061  }
1062  if ((leadjpt > trigHighpTcut && !isForward(leadjeta)) ||
1063  (leadjpt > trigHighpTcutFwd && isForward(leadjeta))) {
1064  v.getMEhisto_NumeratorEta_HighpTcut()->Fill(leadjeta);
1065  v.getMEhisto_NumeratorPhi_HighpTcut()->Fill(leadjphi);
1066  v.getMEhisto_NumeratorEtaPhi_HighpTcut()->Fill(leadjeta, leadjphi);
1067  }
1068  }
1069  } //numpassed
1070  } //CalojetID filter
1071  }
1072 
1073  if (jetIDbool == true && (v.getTriggerType() == "DiJet_Trigger") && calojet.size() > 1) {
1074  if (((CaloJetEMF[1] > _fEMF || std::abs(CaloJetEta[1]) > _feta) && CaloJetfHPD[0] < _fHPD &&
1075  CaloJetn90[0] > _n90Hits)) {
1076  v.getMEhisto_DenominatorPt()->Fill((CaloJetPt[0] + CaloJetPt[1]) / 2.);
1077  v.getMEhisto_DenominatorEta()->Fill((CaloJetEta[0] + CaloJetEta[1]) / 2.);
1078  if (numpassed == true) {
1079  v.getMEhisto_NumeratorPt()->Fill((CaloJetPt[0] + CaloJetPt[1]) / 2.);
1080  v.getMEhisto_NumeratorEta()->Fill((CaloJetEta[0] + CaloJetEta[1]) / 2.);
1081  }
1082  }
1083  }
1084  } // Jet trigger and valid jet collection
1085 
1086  //PFJet paths
1087  if (verbose_)
1088  std::cout << "fillMEforEffAllTrigger: PFJet -------------------" << std::endl;
1089  if (pfjetColl_.isValid() && (v.getObjectType() == trigger::TriggerJet)) {
1090  //cout<<" - PFJet "<<endl;
1091  //&& (v->getPath().find("HLT_PFJet")!=std::string::npos)
1092  //&& (v->getPath().find("HLT_DiPFJet")!=std::string::npos)){
1093  bool jetIDbool = false;
1094  double leadjpt = PFJetPt[0];
1095  double leadjeta = PFJetEta[0];
1096  double leadjphi = PFJetPhi[0];
1097  double ljNHEF = PFJetNHEF[0];
1098  double ljCHEF = PFJetCHEF[0];
1099  double ljNEMF = PFJetNEMF[0];
1100  double ljCEMF = PFJetCEMF[0];
1101  //double sleadjpt = PFJetPt[1];
1102  //double sleadjeta = PFJetEta[1];
1103  //double sleadjphi = PFJetPhi[1];
1104  double sljNHEF = PFJetNHEF[1];
1105  double sljCHEF = PFJetCHEF[1];
1106  double sljNEMF = PFJetNEMF[1];
1107  double sljCEMF = PFJetCEMF[1];
1108  //
1109  double pfMHTx = pfMHTx_All;
1110  double pfMHTy = pfMHTy_All;
1111  //
1112  if ((v.getTriggerType() == "SingleJet_Trigger") && !pfjet.empty()) { //this line stops the central jets
1113 
1114  //======get pfmht
1115  _pfMHT = sqrt(pfMHTx * pfMHTx + pfMHTy * pfMHTy);
1116  v.getMEhisto_DenominatorPFMHT()->Fill(_pfMHT);
1117 
1118  if (ljNHEF >= _min_NHEF && ljNHEF <= _max_NHEF && ljCHEF >= _min_CHEF && ljCHEF <= _max_CHEF &&
1119  ljNEMF >= _min_NEMF && ljNEMF <= _max_NEMF && ljCEMF >= _min_CEMF && ljCEMF <= _max_CEMF) {
1120  if (verbose_)
1121  cout << "Passed PFJet ID -------------------" << endl;
1122  jetIDbool = true;
1123  v.getMEhisto_DenominatorPFPt()->Fill(leadjpt);
1124  if (isBarrel(leadjeta))
1125  v.getMEhisto_DenominatorPFPtBarrel()->Fill(leadjpt);
1126  if (isEndCap(leadjeta))
1127  v.getMEhisto_DenominatorPFPtEndcap()->Fill(leadjpt);
1128  if (isForward(leadjeta))
1129  v.getMEhisto_DenominatorPFPtForward()->Fill(leadjpt);
1130  v.getMEhisto_DenominatorPFEta()->Fill(leadjeta);
1131  v.getMEhisto_DenominatorPFPhi()->Fill(leadjphi);
1132  v.getMEhisto_DenominatorPFEtaPhi()->Fill(leadjeta, leadjphi);
1133  if (isBarrel(leadjeta)) {
1134  v.getMEhisto_DenominatorPFEtaBarrel()->Fill(leadjeta);
1135  v.getMEhisto_DenominatorPFPhiBarrel()->Fill(leadjphi);
1136  }
1137  if (isEndCap(leadjeta)) {
1138  v.getMEhisto_DenominatorPFEtaEndcap()->Fill(leadjeta);
1139  v.getMEhisto_DenominatorPFPhiEndcap()->Fill(leadjphi);
1140  }
1141  if (isForward(leadjeta)) {
1142  v.getMEhisto_DenominatorPFEtaForward()->Fill(leadjeta);
1143  v.getMEhisto_DenominatorPFPhiForward()->Fill(leadjphi);
1144  }
1145  if ((leadjpt > trigLowpTPFcut && !isForward(leadjeta)) ||
1146  (leadjpt > trigLowpTPFcutFwd && isForward(leadjeta))) {
1147  v.getMEhisto_DenominatorPFEta_LowpTcut()->Fill(leadjeta);
1148  v.getMEhisto_DenominatorPFPhi_LowpTcut()->Fill(leadjphi);
1149  v.getMEhisto_DenominatorPFEtaPhi_LowpTcut()->Fill(leadjeta, leadjphi);
1150  }
1151  if ((leadjpt > trigMedpTPFcut && !isForward(leadjeta)) ||
1152  (leadjpt > trigMedpTPFcutFwd && isForward(leadjeta))) {
1153  v.getMEhisto_DenominatorPFEta_MedpTcut()->Fill(leadjeta);
1154  v.getMEhisto_DenominatorPFPhi_MedpTcut()->Fill(leadjphi);
1155  v.getMEhisto_DenominatorPFEtaPhi_MedpTcut()->Fill(leadjeta, leadjphi);
1156  }
1157  if ((leadjpt > trigHighpTPFcut && !isForward(leadjeta)) ||
1158  (leadjpt > trigHighpTPFcutFwd && isForward(leadjeta))) {
1159  v.getMEhisto_DenominatorPFEta_HighpTcut()->Fill(leadjeta);
1160  v.getMEhisto_DenominatorPFPhi_HighpTcut()->Fill(leadjphi);
1161  v.getMEhisto_DenominatorPFEtaPhi_HighpTcut()->Fill(leadjeta, leadjphi);
1162  }
1163 
1164  //Numerator fill
1165  if (numpassed) {
1166  double dRmin = 99999.;
1167  double dPhimin = 9999.;
1168  if (v.getPath().find("L1") != std::string::npos) {
1169  if (l1Index >= triggerObj_->sizeFilters()) {
1170  edm::LogInfo("JetMETHLTOfflineSource") << "no index hlt" << hltIndex << " of that name ";
1171  } else {
1172  const trigger::Keys& kl1 = triggerObj_->filterKeys(l1Index);
1173  for (unsigned short ki : kl1) {
1174  double dR = deltaR(toc[ki].eta(), toc[ki].phi(), leadjeta, leadjphi);
1175  if (dR < dRmin) {
1176  dRmin = dR;
1177  }
1178  }
1179  }
1180  } else {
1181  if (hltIndex >= triggerObj_->sizeFilters()) {
1182  edm::LogInfo("JetMETHLTOfflineSource") << "no index hlt" << hltIndex << " of that name ";
1183  } else {
1184  const trigger::Keys& khlt = triggerObj_->filterKeys(hltIndex);
1185  for (unsigned short kj : khlt) {
1186  double dR = deltaR(toc[kj].eta(), toc[kj].phi(), leadjeta, leadjphi);
1187  if (dR < dRmin) {
1188  dRmin = dR;
1189  }
1190  double dPhi = deltaPhi(toc[kj].phi(), leadjphi);
1191  if (dPhi < dPhimin) {
1192  dPhimin = dPhi;
1193  }
1194  }
1195  v.getMEhisto_PFDeltaPhi()->Fill(dPhimin);
1196  v.getMEhisto_PFDeltaR()->Fill(dRmin);
1197  }
1198  }
1199  if (dRmin < 0.1 || (v.getPath().find("L1") != std::string::npos && dRmin < 0.4)) {
1200  v.getMEhisto_NumeratorPFPt()->Fill(leadjpt);
1201  if (isBarrel(leadjeta))
1202  v.getMEhisto_NumeratorPFPtBarrel()->Fill(leadjpt);
1203  if (isEndCap(leadjeta))
1204  v.getMEhisto_NumeratorPFPtEndcap()->Fill(leadjpt);
1205  if (isForward(leadjeta))
1206  v.getMEhisto_NumeratorPFPtForward()->Fill(leadjpt);
1207  v.getMEhisto_NumeratorPFEta()->Fill(leadjeta);
1208  v.getMEhisto_NumeratorPFPhi()->Fill(leadjphi);
1209  v.getMEhisto_NumeratorPFEtaPhi()->Fill(leadjeta, leadjphi);
1210  if (isBarrel(leadjeta)) {
1211  v.getMEhisto_NumeratorPFEtaBarrel()->Fill(leadjeta);
1212  v.getMEhisto_NumeratorPFPhiBarrel()->Fill(leadjphi);
1213  }
1214  if (isEndCap(leadjeta)) {
1215  v.getMEhisto_NumeratorPFEtaEndcap()->Fill(leadjeta);
1216  v.getMEhisto_NumeratorPFPhiEndcap()->Fill(leadjphi);
1217  }
1218  if (isForward(leadjeta)) {
1219  v.getMEhisto_NumeratorPFEtaForward()->Fill(leadjeta);
1220  v.getMEhisto_NumeratorPFPhiForward()->Fill(leadjphi);
1221  }
1222  if ((leadjpt > trigLowpTPFcut && !isForward(leadjeta)) ||
1223  (leadjpt > trigLowpTPFcutFwd && isForward(leadjeta))) {
1224  v.getMEhisto_NumeratorPFEta_LowpTcut()->Fill(leadjeta);
1225  v.getMEhisto_NumeratorPFPhi_LowpTcut()->Fill(leadjphi);
1226  v.getMEhisto_NumeratorPFEtaPhi_LowpTcut()->Fill(leadjeta, leadjphi);
1227  }
1228  if ((leadjpt > trigMedpTPFcut && !isForward(leadjeta)) ||
1229  (leadjpt > trigMedpTPFcutFwd && isForward(leadjeta))) {
1230  v.getMEhisto_NumeratorPFEta_MedpTcut()->Fill(leadjeta);
1231  v.getMEhisto_NumeratorPFPhi_MedpTcut()->Fill(leadjphi);
1232  v.getMEhisto_NumeratorPFEtaPhi_MedpTcut()->Fill(leadjeta, leadjphi);
1233  }
1234  if ((leadjpt > trigHighpTPFcut && !isForward(leadjeta)) ||
1235  (leadjpt > trigHighpTPFcutFwd && isForward(leadjeta))) {
1236  v.getMEhisto_NumeratorPFEta_HighpTcut()->Fill(leadjeta);
1237  v.getMEhisto_NumeratorPFPhi_HighpTcut()->Fill(leadjphi);
1238  v.getMEhisto_NumeratorPFEtaPhi_HighpTcut()->Fill(leadjeta, leadjphi);
1239  }
1240  }
1241  }
1242  }
1243  }
1244  if (jetIDbool == true && (v.getTriggerType() == "DiJet_Trigger") && pfjet.size() > 1) {
1245  if (ljNHEF >= _min_NHEF && ljNHEF <= _max_NHEF && ljCHEF >= _min_CHEF && ljCHEF <= _max_CHEF &&
1246  ljNEMF >= _min_NEMF && ljNEMF <= _max_NEMF && ljCEMF >= _min_CEMF && ljCEMF <= _max_CEMF &&
1247  sljNHEF >= _min_NHEF && sljNHEF <= _max_NHEF && sljCHEF >= _min_CHEF && sljCHEF <= _max_CHEF &&
1248  sljNEMF >= _min_NEMF && sljNEMF <= _max_NEMF && sljCEMF >= _min_CEMF && sljCEMF <= _max_CEMF) {
1249  v.getMEhisto_DenominatorPFPt()->Fill((PFJetPt[0] + PFJetPt[1]) / 2.);
1250  v.getMEhisto_DenominatorPFEta()->Fill((PFJetEta[0] + PFJetEta[1]) / 2.);
1251  if (numpassed) {
1252  v.getMEhisto_NumeratorPFPt()->Fill((PFJetPt[0] + PFJetPt[1]) / 2.);
1253  v.getMEhisto_NumeratorPFEta()->Fill((PFJetEta[0] + PFJetEta[1]) / 2.);
1254  }
1255  }
1256  }
1257  } // PF Jet trigger and valid jet collection
1258 
1259  //CaloMET path
1260  if (verbose_)
1261  std::cout << "fillMEforEffAllTrigger: CaloMET -------------------" << std::endl;
1262  if (calometColl_.isValid() &&
1263  ((v.getObjectType() == trigger::TriggerMET) || (v.getObjectType() == trigger::TriggerTET)) &&
1264  (v.getPath().find("HLT_PFMET") == std::string::npos)) {
1265  const CaloMETCollection* calometcol = calometColl_.product();
1266  const CaloMET met = calometcol->front();
1267  v.getMEhisto_DenominatorPt()->Fill(met.et());
1268  v.getMEhisto_DenominatorPhi()->Fill(met.phi());
1269  if (numpassed) {
1270  v.getMEhisto_NumeratorPt()->Fill(met.et());
1271  v.getMEhisto_NumeratorPhi()->Fill(met.phi());
1272  if (hltIndex >= triggerObj_->sizeFilters()) {
1273  edm::LogInfo("JetMETHLTOfflineSource") << "no index hlt" << hltIndex << " of that name ";
1274  } else {
1275  double dPhimin = 9999.; //
1276  const trigger::Keys& khlt = triggerObj_->filterKeys(hltIndex);
1277  for (unsigned short kj : khlt) {
1278  double dPhi = deltaPhi(toc[kj].phi(), met.phi());
1279  if (dPhi < dPhimin) {
1280  dPhimin = dPhi;
1281  }
1282  }
1283  v.getMEhisto_DeltaPhi()->Fill(dPhimin);
1284  }
1285  }
1286  }
1287 
1288  //PFMET
1289  if (verbose_)
1290  std::cout << "fillMEforEffAllTrigger: PFMET -------------------" << std::endl;
1291  if (pfmetColl_.isValid() &&
1292  ((v.getObjectType() == trigger::TriggerMET) || (v.getObjectType() == trigger::TriggerTET)) &&
1293  (v.getPath().find("HLT_PFMET") != std::string::npos)) {
1294  const PFMETCollection* pfmetcol = pfmetColl_.product();
1295  const PFMET met = pfmetcol->front();
1296  v.getMEhisto_DenominatorPt()->Fill(met.et());
1297  v.getMEhisto_DenominatorPhi()->Fill(met.phi());
1298  if (numpassed) {
1299  v.getMEhisto_NumeratorPt()->Fill(met.et());
1300  v.getMEhisto_NumeratorPhi()->Fill(met.phi());
1301  if (hltIndex >= triggerObj_->sizeFilters()) {
1302  edm::LogInfo("JetMETHLTOfflineSource") << "no index hlt" << hltIndex << " of that name ";
1303  } else {
1304  double dPhimin = 9999.; //
1305  const trigger::Keys& khlt = triggerObj_->filterKeys(hltIndex);
1306  for (unsigned short kj : khlt) {
1307  double dPhi = deltaPhi(toc[kj].phi(), met.phi());
1308  if (dPhi < dPhimin) {
1309  dPhimin = dPhi;
1310  }
1311  }
1312  v.getMEhisto_DeltaPhi()->Fill(dPhimin);
1313  }
1314  }
1315  }
1316 
1317  /*
1318  if(pfmhtColl_.isValid() && ((v->getObjectType() == trigger::TriggerMET)|| (v->getObjectType() == trigger::TriggerTET))){
1319  const PFMHTCollection *pfmhtcol = pfmhtColl_.product();
1320  const PFMHT met = pfmhtcol->front();
1321  v->getMEhisto_DenominatorPFPt()->Fill(met.pt());
1322  v->getMEhisto_DenominatorPFPhi()->Fill(met.phi());
1323  }// PFMHT trigger and valid MET collection
1324  */
1325  } // trigger under study
1326 }
std::size_t size() const
Definition: TriggerNames.cc:59
virtual bool isEndCap(double eta)
edm::Handle< reco::PFJetCollection > pfjetColl_
unsigned int triggerIndex(std::string_view name) const
Definition: TriggerNames.cc:52
edm::Handle< edm::TriggerResults > triggerResults_
reco::PFJetCollection pfjet
edm::Handle< reco::PFMETCollection > pfmetColl_
Collection of Calo MET.
virtual bool isBarrel(double eta)
T sqrt(T t)
Definition: SSEVec.h:19
virtual bool isForward(double eta)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
reco::CaloJetCollection calojet
bool isValid() const
Definition: HandleBase.h:70
edm::Handle< reco::CaloJetCollection > calojetColl_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
Log< level::Info, false > LogInfo
T const * product() const
Definition: Handle.h:70
std::vector< size_type > Keys
edm::Handle< trigger::TriggerEvent > triggerObj_
double et() const final
transverse energy
edm::Handle< reco::CaloMETCollection > calometColl_
tuple cout
Definition: gather_cfg.py:144
double phi() const final
momentum azimuthal angle
PathInfoCollection hltPathsEff_
Collection of PF MET.
void JetMETHLTOfflineSource::fillMEforMonAllTrigger ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Definition at line 489 of file JetMETHLTOfflineSource.cc.

References calojetColl_, CaloJetEta, CaloJetPhi, CaloJetPt, CaloJetPx, CaloJetPy, calometColl_, gather_cfg::cout, srCondWrite_cfg::deltaPhi, HLT_FULL_cff::deltaR, reco::LeafCandidate::et(), PVValHelper::eta, hltPathsAll_, isBarrel(), isEndCap(), isForward(), isHLTPathAccepted(), edm::HandleBase::isValid(), objects.METAnalyzer::met, pfjetColl_, PFJetEta, PFJetPhi, PFJetPt, PFJetPx, PFJetPy, pfmetColl_, phi, reco::LeafCandidate::phi(), processname_, edm::Handle< T >::product(), DiDispStaMuonMonitor_cfi::pt, trigger::TriggerJet, trigger::TriggerMET, triggerObj_, triggerResults_, trigger::TriggerTET, findQualityFiles::v, and verbose_.

Referenced by analyze().

489  {
490  if (verbose_)
491  cout << ">> Inside fillMEforMonAllTrigger " << endl;
492  if (!triggerResults_.isValid())
493  return;
494  if (verbose_)
495  cout << " ... and triggerResults is valid" << endl;
496 
497  const trigger::TriggerObjectCollection& toc(triggerObj_->getObjects());
498  for (auto& v : hltPathsAll_) {
499  if (verbose_)
500  cout << " + Checking path " << v.getPath();
501  if (isHLTPathAccepted(v.getPath()) == false) {
502  if (verbose_)
503  cout << " - failed" << endl;
504  continue;
505  }
506  if (verbose_)
507  cout << " - PASSED! " << endl;
508 
509  //New jet collection (after apply JEC)
510  std::vector<double> jetPtVec;
511  std::vector<double> jetPhiVec;
512  std::vector<double> jetEtaVec;
513  std::vector<double> jetPxVec;
514  std::vector<double> jetPyVec;
515  std::vector<double> hltPtVec;
516  std::vector<double> hltPhiVec;
517  std::vector<double> hltEtaVec;
518  std::vector<double> hltPxVec;
519  std::vector<double> hltPyVec;
520 
521  //This will be used to find out punch through trigger
522  //bool fillL1HLT = false;
523 
524  //L1 and HLT indices
525  if (verbose_) {
526  cout << " - L1Path = " << v.getl1Path() << endl;
527  cout << " - Label = " << v.getLabel() << endl;
528  }
529 
530  //edm::InputTag l1Tag(v->getl1Path(),"",processname_);
531  edm::InputTag l1Tag(v.getLabel(), "", processname_);
532  const int l1Index = triggerObj_->filterIndex(l1Tag);
533  if (verbose_)
534  cout << " - l1Index = " << l1Index << " - l1Tag = [" << l1Tag << "]" << endl;
535 
536  edm::InputTag hltTag(v.getLabel(), "", processname_);
537  const int hltIndex = triggerObj_->filterIndex(hltTag);
538  if (verbose_)
539  cout << " - hltIndex = " << hltIndex << " - hltTag = [" << hltTag << "]" << endl;
540 
541  //bool l1TrigBool = false;
542  bool hltTrigBool = false;
543  bool diJetFire = false;
544  int jetsize = 0;
545 
546  if (l1Index >= triggerObj_->sizeFilters()) {
547  edm::LogInfo("JetMETHLTOfflineSource") << "no index " << l1Index << " of that name " << l1Tag;
548  if (verbose_)
549  cout << "[JetMETHLTOfflineSource::fillMEforMonAllTrigger] - No index l1Index=" << l1Index << " of that name \""
550  << l1Tag << "\"" << endl;
551  } else {
552  //l1TrigBool = true;
553  const trigger::Keys& kl1 = triggerObj_->filterKeys(l1Index);
554  //
555  if (v.getObjectType() == trigger::TriggerJet && v.getTriggerType() == "SingleJet_Trigger")
556  v.getMEhisto_N_L1()->Fill(kl1.size());
557  //
558  auto ki = kl1.begin();
559  for (; ki != kl1.end(); ++ki) {
560  double l1TrigEta = -100;
561  double l1TrigPhi = -100;
562  //
563  if (v.getObjectType() == trigger::TriggerJet) {
564  l1TrigEta = toc[*ki].eta();
565  l1TrigPhi = toc[*ki].phi();
566  if (v.getTriggerType() == "SingleJet_Trigger") {
567  v.getMEhisto_Pt_L1()->Fill(toc[*ki].pt());
568  if (isBarrel(toc[*ki].eta()))
569  v.getMEhisto_PtBarrel_L1()->Fill(toc[*ki].pt());
570  if (isEndCap(toc[*ki].eta()))
571  v.getMEhisto_PtEndcap_L1()->Fill(toc[*ki].pt());
572  if (isForward(toc[*ki].eta()))
573  v.getMEhisto_PtForward_L1()->Fill(toc[*ki].pt());
574  v.getMEhisto_Eta_L1()->Fill(toc[*ki].eta());
575  v.getMEhisto_Phi_L1()->Fill(toc[*ki].phi());
576  v.getMEhisto_EtaPhi_L1()->Fill(toc[*ki].eta(), toc[*ki].phi());
577  }
578  }
579  if (v.getObjectType() == trigger::TriggerMET || v.getObjectType() == trigger::TriggerTET) {
580  v.getMEhisto_Pt_L1()->Fill(toc[*ki].pt());
581  v.getMEhisto_Phi_L1()->Fill(toc[*ki].phi());
582  }
583 
584  //-----------------------------------------------
585  if (hltIndex >= triggerObj_->sizeFilters()) {
586  edm::LogInfo("JetMETHLTOfflineSource") << "no index hlt" << hltIndex << " of that name ";
587  if (verbose_)
588  cout << "[JetMETHLTOfflineSource::fillMEforMonAllTrigger] - No index hltIndex=" << hltIndex
589  << " of that name " << endl;
590  } else {
591  const trigger::Keys& khlt = triggerObj_->filterKeys(hltIndex);
592  if (v.getObjectType() == trigger::TriggerJet && ki == kl1.begin() &&
593  v.getTriggerType() == "SingleJet_Trigger")
594  v.getMEhisto_N_HLT()->Fill(khlt.size());
595  //
596  auto kj = khlt.begin();
597  //Define hltTrigBool
598  for (; kj != khlt.end(); ++kj) {
599  if (v.getObjectType() == trigger::TriggerJet) {
600  double hltTrigEta = -100;
601  double hltTrigPhi = -100;
602  hltTrigEta = toc[*kj].eta();
603  hltTrigPhi = toc[*kj].phi();
604  if ((deltaR(hltTrigEta, hltTrigPhi, l1TrigEta, l1TrigPhi)) < 0.4 &&
605  (v.getTriggerType() == "DiJet_Trigger"))
606  hltTrigBool = true;
607  }
608  }
609  //
610  kj = khlt.begin();
611  for (; kj != khlt.end(); ++kj) {
612  double hltTrigEta = -100.;
613  double hltTrigPhi = -100.;
614  //fillL1HLT = true;
615  //MET Triggers
616  if (verbose_)
617  cout << "+ MET Triggers plots" << endl;
618  if (v.getObjectType() == trigger::TriggerMET || (v.getObjectType() == trigger::TriggerTET)) {
619  v.getMEhisto_Pt_HLT()->Fill(toc[*kj].pt());
620  v.getMEhisto_Phi_HLT()->Fill(toc[*kj].phi());
621  v.getMEhisto_PtCorrelation_L1HLT()->Fill(toc[*ki].pt(), toc[*kj].pt());
622  v.getMEhisto_PhiCorrelation_L1HLT()->Fill(toc[*ki].phi(), toc[*kj].phi());
623  v.getMEhisto_PtResolution_L1HLT()->Fill((toc[*ki].pt() - toc[*kj].pt()) / (toc[*ki].pt()));
624  v.getMEhisto_PhiResolution_L1HLT()->Fill(toc[*ki].phi() - toc[*kj].phi());
625  }
626  //Jet Triggers
627  if (verbose_)
628  cout << "+ Jet Trigger plots" << endl;
629  if (v.getObjectType() == trigger::TriggerJet) {
630  if (verbose_)
631  cout << " - Going for those..." << endl;
632  hltTrigEta = toc[*kj].eta();
633  hltTrigPhi = toc[*kj].phi();
634  if ((deltaR(hltTrigEta, hltTrigPhi, l1TrigEta, l1TrigPhi)) < 0.4) {
635  if (v.getTriggerType() == "SingleJet_Trigger") {
636  v.getMEhisto_PtCorrelation_L1HLT()->Fill(toc[*ki].pt(), toc[*kj].pt());
637  v.getMEhisto_EtaCorrelation_L1HLT()->Fill(toc[*ki].eta(), toc[*kj].eta());
638  v.getMEhisto_PhiCorrelation_L1HLT()->Fill(toc[*ki].phi(), toc[*kj].phi());
639  v.getMEhisto_PtResolution_L1HLT()->Fill((toc[*ki].pt() - toc[*kj].pt()) / (toc[*ki].pt()));
640  v.getMEhisto_EtaResolution_L1HLT()->Fill(toc[*ki].eta() - toc[*kj].eta());
641  v.getMEhisto_PhiResolution_L1HLT()->Fill(toc[*ki].phi() - toc[*kj].phi());
642  }
643  }
644  if (((deltaR(hltTrigEta, hltTrigPhi, l1TrigEta, l1TrigPhi) < 0.4) ||
645  ((v.getTriggerType() == "DiJet_Trigger") && hltTrigBool)) &&
646  !diJetFire) {
647  if (v.getTriggerType() == "SingleJet_Trigger") {
648  v.getMEhisto_Pt_HLT()->Fill(toc[*kj].pt());
649  if (isBarrel(toc[*kj].eta()))
650  v.getMEhisto_PtBarrel_HLT()->Fill(toc[*kj].pt());
651  if (isEndCap(toc[*kj].eta()))
652  v.getMEhisto_PtEndcap_HLT()->Fill(toc[*kj].pt());
653  if (isForward(toc[*kj].eta()))
654  v.getMEhisto_PtForward_HLT()->Fill(toc[*kj].pt());
655  v.getMEhisto_Eta_HLT()->Fill(toc[*kj].eta());
656  v.getMEhisto_Phi_HLT()->Fill(toc[*kj].phi());
657  v.getMEhisto_EtaPhi_HLT()->Fill(toc[*kj].eta(), toc[*kj].phi());
658  }
659 
660  //Calojet
661  if (calojetColl_.isValid() && (v.getObjectType() == trigger::TriggerJet) && (v.getPath() == "PFJet")) {
662  //CaloJetCollection::const_iterator jet = calojet.begin();
663  //for(; jet != calojet.end(); ++jet) {
664  for (int iCalo = 0; iCalo < 2; iCalo++) {
665  if (deltaR(hltTrigEta, hltTrigPhi, CaloJetEta[iCalo], CaloJetPhi[iCalo]) < 0.4) {
666  jetsize++;
667  if (v.getTriggerType() == "SingleJet_Trigger") {
668  v.getMEhisto_Pt()->Fill(CaloJetPt[iCalo]);
669  if (isBarrel(CaloJetEta[iCalo]))
670  v.getMEhisto_PtBarrel()->Fill(CaloJetPt[iCalo]);
671  if (isEndCap(CaloJetEta[iCalo]))
672  v.getMEhisto_PtEndcap()->Fill(CaloJetPt[iCalo]);
673  if (isForward(CaloJetEta[iCalo]))
674  v.getMEhisto_PtForward()->Fill(CaloJetPt[iCalo]);
675  //
676  v.getMEhisto_Eta()->Fill(CaloJetEta[iCalo]);
677  v.getMEhisto_Phi()->Fill(CaloJetPhi[iCalo]);
678  v.getMEhisto_EtaPhi()->Fill(CaloJetEta[iCalo], CaloJetPhi[iCalo]);
679  //
680  v.getMEhisto_PtCorrelation_HLTRecObj()->Fill(toc[*kj].pt(), CaloJetPt[iCalo]);
681  v.getMEhisto_EtaCorrelation_HLTRecObj()->Fill(toc[*kj].eta(), CaloJetEta[iCalo]);
682  v.getMEhisto_PhiCorrelation_HLTRecObj()->Fill(toc[*kj].phi(), CaloJetPhi[iCalo]);
683  //
684  v.getMEhisto_PtResolution_HLTRecObj()->Fill((toc[*kj].pt() - CaloJetPt[iCalo]) /
685  (toc[*kj].pt()));
686  v.getMEhisto_EtaResolution_HLTRecObj()->Fill(toc[*kj].eta() - CaloJetEta[iCalo]);
687  v.getMEhisto_PhiResolution_HLTRecObj()->Fill(toc[*kj].phi() - CaloJetPhi[iCalo]);
688  }
689 
690  //-------------------------------------------------------
691  if ((v.getTriggerType() == "DiJet_Trigger")) {
692  jetPhiVec.push_back(CaloJetPhi[iCalo]);
693  jetPtVec.push_back(CaloJetPt[iCalo]);
694  jetEtaVec.push_back(CaloJetEta[iCalo]);
695  jetPxVec.push_back(CaloJetPx[iCalo]);
696  jetPyVec.push_back(CaloJetPy[iCalo]);
697  //
698  hltPhiVec.push_back(toc[*kj].phi());
699  hltPtVec.push_back(toc[*kj].pt());
700  hltEtaVec.push_back(toc[*kj].eta());
701  hltPxVec.push_back(toc[*kj].px());
702  hltPyVec.push_back(toc[*kj].py());
703  }
704  } // matching jet
705  } // Jet Loop
706  } // valid calojet collection, with calojet trigger
707 
708  //PFJet trigger
709  if (pfjetColl_.isValid() && (v.getObjectType() == trigger::TriggerJet) && (v.getPath() != "PFJet")) {
710  //PFJetCollection::const_iterator jet = pfjet.begin();
711  //for(; jet != pfjet.end(); ++jet){
712  for (int iPF = 0; iPF < 2; iPF++) {
713  if (deltaR(hltTrigEta, hltTrigPhi, PFJetEta[iPF], PFJetPhi[iPF]) < 0.4) {
714  jetsize++;
715  if (v.getTriggerType() == "SingleJet_Trigger") {
716  v.getMEhisto_Pt()->Fill(PFJetPt[iPF]);
717  if (isBarrel(PFJetEta[iPF]))
718  v.getMEhisto_PtBarrel()->Fill(PFJetPt[iPF]);
719  if (isEndCap(PFJetEta[iPF]))
720  v.getMEhisto_PtEndcap()->Fill(PFJetPt[iPF]);
721  if (isForward(PFJetEta[iPF]))
722  v.getMEhisto_PtForward()->Fill(PFJetPt[iPF]);
723  //
724  v.getMEhisto_Eta()->Fill(PFJetEta[iPF]);
725  v.getMEhisto_Phi()->Fill(PFJetPhi[iPF]);
726  v.getMEhisto_EtaPhi()->Fill(PFJetEta[iPF], PFJetPhi[iPF]);
727  //
728  v.getMEhisto_PtCorrelation_HLTRecObj()->Fill(toc[*kj].pt(), PFJetPt[iPF]);
729  v.getMEhisto_EtaCorrelation_HLTRecObj()->Fill(toc[*kj].eta(), PFJetEta[iPF]);
730  v.getMEhisto_PhiCorrelation_HLTRecObj()->Fill(toc[*kj].phi(), PFJetPhi[iPF]);
731  //
732  v.getMEhisto_PtResolution_HLTRecObj()->Fill((toc[*kj].pt() - PFJetPt[iPF]) / (toc[*kj].pt()));
733  v.getMEhisto_EtaResolution_HLTRecObj()->Fill(toc[*kj].eta() - PFJetEta[iPF]);
734  v.getMEhisto_PhiResolution_HLTRecObj()->Fill(toc[*kj].phi() - PFJetPhi[iPF]);
735  }
736 
737  //-------------------------------------------------------
738  if ((v.getTriggerType() == "DiJet_Trigger")) {
739  jetPhiVec.push_back(PFJetPhi[iPF]);
740  jetPtVec.push_back(PFJetPt[iPF]);
741  jetEtaVec.push_back(PFJetEta[iPF]);
742  jetPxVec.push_back(PFJetPx[iPF]);
743  jetPyVec.push_back(PFJetPy[iPF]);
744  //
745  hltPhiVec.push_back(toc[*kj].phi());
746  hltPtVec.push_back(toc[*kj].pt());
747  hltEtaVec.push_back(toc[*kj].eta());
748  hltPxVec.push_back(toc[*kj].px());
749  hltPyVec.push_back(toc[*kj].py());
750  }
751  } // matching jet
752  } //PFJet loop
753  } //valid pfjet collection, with pfjet trigger
754  //
755  } // hlt matching with l1
756  } // jet trigger
757 
758  //------------------------------------------------------
759  if (calometColl_.isValid() &&
760  ((v.getObjectType() == trigger::TriggerMET) || (v.getObjectType() == trigger::TriggerTET)) &&
761  (v.getPath().find("HLT_PFMET") == std::string::npos)) {
762  const CaloMETCollection* calometcol = calometColl_.product();
763  const CaloMET met = calometcol->front();
764  //
765  v.getMEhisto_Pt()->Fill(met.et());
766  v.getMEhisto_Phi()->Fill(met.phi());
767  //
768  v.getMEhisto_PtCorrelation_HLTRecObj()->Fill(toc[*kj].et(), met.et());
769  v.getMEhisto_PhiCorrelation_HLTRecObj()->Fill(toc[*kj].phi(), met.phi());
770  v.getMEhisto_PtResolution_HLTRecObj()->Fill((toc[*kj].et() - met.et()) / (toc[*kj].et()));
771  v.getMEhisto_PhiResolution_HLTRecObj()->Fill(toc[*kj].phi() - met.phi());
772  }
773 
774  //--------------------------------------------------------
775  if (pfmetColl_.isValid() &&
776  ((v.getObjectType() == trigger::TriggerMET) || (v.getObjectType() == trigger::TriggerTET)) &&
777  (v.getPath().find("HLT_PFMET") != std::string::npos)) {
778  const PFMETCollection* pfmetcol = pfmetColl_.product();
779  const PFMET pfmet = pfmetcol->front();
780  //
781  v.getMEhisto_Pt()->Fill(pfmet.et());
782  v.getMEhisto_Phi()->Fill(pfmet.phi());
783  //
784  v.getMEhisto_PtCorrelation_HLTRecObj()->Fill(toc[*kj].et(), pfmet.et());
785  v.getMEhisto_PhiCorrelation_HLTRecObj()->Fill(toc[*kj].phi(), pfmet.phi());
786  v.getMEhisto_PtResolution_HLTRecObj()->Fill((toc[*kj].et() - pfmet.et()) / (toc[*kj].et()));
787  v.getMEhisto_PhiResolution_HLTRecObj()->Fill(toc[*kj].phi() - pfmet.phi());
788  }
789  } //Loop over HLT trigger candidates
790  if ((v.getTriggerType() == "DiJet_Trigger"))
791  diJetFire = true;
792  } // Valid hlt trigger object
793  } // Loop over L1 objects
794  } // Valid L1 trigger object
795  v.getMEhisto_N()->Fill(jetsize);
796 
797  //--------------------------------------------------------
798  if ((v.getTriggerType() == "DiJet_Trigger") && jetPtVec.size() > 1) {
799  double AveJetPt = (jetPtVec[0] + jetPtVec[1]) / 2;
800  double AveJetEta = (jetEtaVec[0] + jetEtaVec[1]) / 2;
801  double JetDelPhi = deltaPhi(jetPhiVec[0], jetPhiVec[1]);
802  double AveHLTPt = (hltPtVec[0] + hltPtVec[1]) / 2;
803  double AveHLTEta = (hltEtaVec[0] + hltEtaVec[1]) / 2;
804  double HLTDelPhi = deltaPhi(hltPhiVec[0], hltPhiVec[1]);
805  v.getMEhisto_AveragePt_RecObj()->Fill(AveJetPt);
806  v.getMEhisto_AverageEta_RecObj()->Fill(AveJetEta);
807  v.getMEhisto_DeltaPhi_RecObj()->Fill(JetDelPhi);
808  //
809  v.getMEhisto_AveragePt_HLTObj()->Fill(AveHLTPt);
810  v.getMEhisto_AverageEta_HLTObj()->Fill(AveHLTEta);
811  v.getMEhisto_DeltaPhi_HLTObj()->Fill(HLTDelPhi);
812  }
813  }
814  if (verbose_)
815  cout << "<< Exiting fillMEforMonAllTrigger " << endl;
816 }
virtual bool isEndCap(double eta)
edm::Handle< reco::PFJetCollection > pfjetColl_
edm::Handle< edm::TriggerResults > triggerResults_
edm::Handle< reco::PFMETCollection > pfmetColl_
Collection of Calo MET.
virtual bool isBarrel(double eta)
virtual bool isForward(double eta)
bool isValid() const
Definition: HandleBase.h:70
virtual bool isHLTPathAccepted(std::string pathName)
edm::Handle< reco::CaloJetCollection > calojetColl_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
Log< level::Info, false > LogInfo
T const * product() const
Definition: Handle.h:70
std::vector< size_type > Keys
PathInfoCollection hltPathsAll_
edm::Handle< trigger::TriggerEvent > triggerObj_
double et() const final
transverse energy
edm::Handle< reco::CaloMETCollection > calometColl_
tuple cout
Definition: gather_cfg.py:144
double phi() const final
momentum azimuthal angle
Collection of PF MET.
void JetMETHLTOfflineSource::fillMEforMonTriggerSummary ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Definition at line 317 of file JetMETHLTOfflineSource.cc.

References correlation_All, correlation_AllWrtMB, correlation_AllWrtMu, gather_cfg::cout, dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), hltConfig_, hltPathsAll_, isHLTPathAccepted(), dqmiolumiharvest::j, MBTrigPaths_, MuonTrigPaths_, NVertices, timingPdfMaker::pathname, PVZ, rate_All, rate_AllWrtMB, rate_AllWrtMu, runStandalone_, HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, HLTConfigProvider::triggerName(), TriggerPosition(), findQualityFiles::v, verbose_, vertexToken, and w.

Referenced by analyze().

317  {
318  if (verbose_)
319  cout << ">> Inside fillMEforMonTriggerSummary " << endl;
320  bool muTrig = false;
321 
322  for (auto const& MuonTrigPath : MuonTrigPaths_) {
323  const unsigned int nPath(hltConfig_.size());
324  for (unsigned int j = 0; j != nPath; ++j) {
326  if (pathname.find(MuonTrigPath) != std::string::npos) {
327  if (isHLTPathAccepted(pathname)) {
328  muTrig = true;
329  if (verbose_)
330  cout << "fillMEforMonTriggerSummary: Muon Match" << endl;
331  }
332  }
333  if (muTrig)
334  break;
335  }
336  if (muTrig)
337  break;
338  }
339 
340  bool mbTrig = false;
341  for (auto const& MBTrigPath : MBTrigPaths_) {
342  const unsigned int nPath(hltConfig_.size());
343  for (unsigned int j = 0; j != nPath; ++j) {
344  std::string pathname = hltConfig_.triggerName(j);
345  if (pathname.find(MBTrigPath) != std::string::npos) {
346  if (isHLTPathAccepted(pathname)) {
347  mbTrig = true;
348  if (verbose_)
349  cout << "fillMEforMonTriggerSummary: MinBias Match" << endl;
350  }
351  }
352  if (mbTrig)
353  break;
354  }
355  if (mbTrig)
356  break;
357  }
358 
359  auto v = hltPathsAll_.begin();
360  for (; v != hltPathsAll_.end(); ++v) {
361  bool trigFirst = false;
362  double binV = TriggerPosition(v->getPath());
363  if (isHLTPathAccepted(v->getPath()))
364  trigFirst = true;
365  if (!trigFirst)
366  continue;
367  if (trigFirst) {
368  rate_All->Fill(binV);
369  correlation_All->Fill(binV, binV);
370  if (muTrig && runStandalone_) {
371  rate_AllWrtMu->Fill(binV);
372  correlation_AllWrtMu->Fill(binV, binV);
373  }
374  if (mbTrig && runStandalone_) {
375  rate_AllWrtMB->Fill(binV);
376  correlation_AllWrtMB->Fill(binV, binV);
377  }
378  }
379  for (auto w = v + 1; w != hltPathsAll_.end(); ++w) {
380  bool trigSec = false;
381  double binW = TriggerPosition(w->getPath());
382  if (isHLTPathAccepted(w->getPath()))
383  trigSec = true;
384  if (trigSec && trigFirst) {
385  correlation_All->Fill(binV, binW);
386  if (muTrig && runStandalone_)
387  correlation_AllWrtMu->Fill(binV, binW);
388  if (mbTrig && runStandalone_)
389  correlation_AllWrtMB->Fill(binV, binW);
390  }
391  if (!trigSec && trigFirst) {
392  correlation_All->Fill(binW, binV);
393  if (muTrig && runStandalone_)
394  correlation_AllWrtMu->Fill(binW, binV);
395  if (mbTrig && runStandalone_)
396  correlation_AllWrtMB->Fill(binW, binV);
397  }
398  }
399  }
400 
401  //Vertex
403  iEvent.getByToken(vertexToken, Vtx);
404  int vtxcnt = 0;
405  for (auto const& itv : *Vtx) {
406  //if(vtxcnt>=20) break;
407  PVZ->Fill(itv.z());
408  //chi2vtx[vtxcnt] = itv->chi2();
409  //ndofvtx[vtxcnt] = itv->ndof();
410  //ntrkvtx[vtxcnt] = itv->tracksSize();
411  vtxcnt++;
412  }
413  NVertices->Fill(vtxcnt);
414 }
unsigned int size() const
number of trigger paths in trigger table
edm::EDGetTokenT< reco::VertexCollection > vertexToken
const std::string & triggerName(unsigned int triggerIndex) const
const double w
Definition: UKUtility.cc:23
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
virtual double TriggerPosition(std::string trigName)
void Fill(long long x)
std::vector< std::string > MBTrigPaths_
MonitorElement * correlation_AllWrtMu
std::vector< std::string > MuonTrigPaths_
virtual bool isHLTPathAccepted(std::string pathName)
PathInfoCollection hltPathsAll_
MonitorElement * correlation_AllWrtMB
tuple cout
Definition: gather_cfg.py:144
void JetMETHLTOfflineSource::fillMEforTriggerNTfired ( )
privatevirtual

Definition at line 417 of file JetMETHLTOfflineSource.cc.

References calojet, calojetColl_, calometColl_, gather_cfg::cout, srCondWrite_cfg::deltaPhi, hltPathsAll_, edm::HandleBase::isValid(), metsig::jet, objects.METAnalyzer::met, processname_, edm::Handle< T >::product(), reco::LeafCandidate::pt(), edm::TriggerNames::size(), edm::TriggerNames::triggerIndex(), triggerNames_, triggerObj_, triggerResults_, findQualityFiles::v, and verbose_.

Referenced by analyze().

417  {
418  if (verbose_)
419  cout << ">> Inside fillMEforTriggerNTfired" << endl;
420  if (!triggerResults_.isValid())
421  return;
422  if (verbose_)
423  cout << " ... and triggerResults is valid" << endl;
424 
425  //
426  for (auto& v : hltPathsAll_) {
427  unsigned index = triggerNames_.triggerIndex(v.getPath());
428  if (index < triggerNames_.size()) {
429  v.getMEhisto_TriggerSummary()->Fill(0.);
430  edm::InputTag l1Tag(v.getl1Path(), "", processname_);
431  const int l1Index = triggerObj_->filterIndex(l1Tag);
432  bool l1found = false;
433  if (l1Index < triggerObj_->sizeFilters())
434  l1found = true;
435  if (!l1found)
436  v.getMEhisto_TriggerSummary()->Fill(1.);
437  if (!l1found && !(triggerResults_->accept(index)))
438  v.getMEhisto_TriggerSummary()->Fill(2.);
439  if (!l1found && (triggerResults_->accept(index)))
440  v.getMEhisto_TriggerSummary()->Fill(3.);
441  if (l1found)
442  v.getMEhisto_TriggerSummary()->Fill(4.);
443  if (l1found && (triggerResults_->accept(index)))
444  v.getMEhisto_TriggerSummary()->Fill(5.);
445  if (l1found && !(triggerResults_->accept(index)))
446  v.getMEhisto_TriggerSummary()->Fill(6.);
447  if (!(triggerResults_->accept(index)) && l1found) {
448  //cout<<v->getTriggerType()<<endl;
449  if ((v.getTriggerType() == "SingleJet_Trigger") && (calojetColl_.isValid()) && !calojet.empty()) {
450  auto jet = calojet.begin();
451  v.getMEhisto_JetPt()->Fill(jet->pt());
452  v.getMEhisto_EtavsPt()->Fill(jet->eta(), jet->pt());
453  v.getMEhisto_PhivsPt()->Fill(jet->phi(), jet->pt());
454  }
455  // single jet trigger is not fired
456 
457  if ((v.getTriggerType() == "DiJet_Trigger") && calojetColl_.isValid() && !calojet.empty()) {
458  v.getMEhisto_JetSize()->Fill(calojet.size());
459  if (calojet.size() >= 2) {
460  auto jet = calojet.begin();
461  auto jet2 = calojet.begin();
462  jet2++;
463  double jet3pt = 0.;
464  if (calojet.size() > 2) {
465  auto jet3 = jet2++;
466  jet3pt = jet3->pt();
467  }
468  v.getMEhisto_Pt12()->Fill((jet->pt() + jet2->pt()) / 2.);
469  v.getMEhisto_Eta12()->Fill((jet->eta() + jet2->eta()) / 2.);
470  v.getMEhisto_Phi12()->Fill(deltaPhi(jet->phi(), jet2->phi()));
471  v.getMEhisto_Pt3()->Fill(jet3pt);
472  v.getMEhisto_Pt12Pt3()->Fill((jet->pt() + jet2->pt()) / 2., jet3pt);
473  v.getMEhisto_Pt12Phi12()->Fill((jet->pt() + jet2->pt()) / 2., deltaPhi(jet->phi(), jet2->phi()));
474  }
475  } // di jet trigger is not fired
476 
477  if (((v.getTriggerType() == "MET_Trigger") || (v.getTriggerType() == "TET_Trigger")) &&
478  calometColl_.isValid()) {
479  const CaloMETCollection* calometcol = calometColl_.product();
480  const CaloMET met = calometcol->front();
481  v.getMEhisto_JetPt()->Fill(met.pt());
482  } //MET trigger is not fired
483  } // L1 is fired
484  } //
485  } // trigger not fired
486 }
std::size_t size() const
Definition: TriggerNames.cc:59
double pt() const final
transverse momentum
unsigned int triggerIndex(std::string_view name) const
Definition: TriggerNames.cc:52
edm::Handle< edm::TriggerResults > triggerResults_
Collection of Calo MET.
reco::CaloJetCollection calojet
bool isValid() const
Definition: HandleBase.h:70
edm::Handle< reco::CaloJetCollection > calojetColl_
T const * product() const
Definition: Handle.h:70
PathInfoCollection hltPathsAll_
edm::Handle< trigger::TriggerEvent > triggerObj_
edm::Handle< reco::CaloMETCollection > calometColl_
tuple cout
Definition: gather_cfg.py:144
const std::string JetMETHLTOfflineSource::getL1ConditionModuleName ( const std::string &  pathname)
private

Definition at line 3295 of file JetMETHLTOfflineSource.cc.

References hltConfig_, HLTConfigProvider::moduleLabels(), HLTConfigProvider::moduleType(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dqmBeginRun().

3295  {
3296  // find L1 condition for numpath with numpath objecttype
3297  // find PSet for L1 global seed for numpath,
3298  // list module labels for numpath
3299  std::string l1pathname = "dummy";
3300 
3301  std::vector<std::string> numpathmodules = hltConfig_.moduleLabels(pathname);
3302 
3303  for (auto& numpathmodule : numpathmodules) {
3304  if (hltConfig_.moduleType(numpathmodule) == "HLTLevel1GTSeed") {
3305  l1pathname = numpathmodule;
3306  break;
3307  }
3308  }
3309  return l1pathname;
3310 }
const std::string moduleType(const std::string &module) const
C++ class name of module.
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
bool JetMETHLTOfflineSource::isBarrel ( double  eta)
privatevirtual

Definition at line 3313 of file JetMETHLTOfflineSource.cc.

References convertSQLitetoXML_cfg::output.

Referenced by fillMEforEffAllTrigger(), and fillMEforMonAllTrigger().

3313  {
3314  bool output = false;
3315  if (fabs(eta) <= 1.3)
3316  output = true;
3317  return output;
3318 }
bool JetMETHLTOfflineSource::isEndCap ( double  eta)
privatevirtual

Definition at line 3321 of file JetMETHLTOfflineSource.cc.

References convertSQLitetoXML_cfg::output.

Referenced by fillMEforEffAllTrigger(), and fillMEforMonAllTrigger().

3321  {
3322  bool output = false;
3323  if (fabs(eta) <= 3.0 && fabs(eta) > 1.3)
3324  output = true;
3325  return output;
3326 }
bool JetMETHLTOfflineSource::isForward ( double  eta)
privatevirtual

Definition at line 3329 of file JetMETHLTOfflineSource.cc.

References convertSQLitetoXML_cfg::output.

Referenced by fillMEforEffAllTrigger(), and fillMEforMonAllTrigger().

3329  {
3330  bool output = false;
3331  if (fabs(eta) > 3.0)
3332  output = true;
3333  return output;
3334 }
bool JetMETHLTOfflineSource::isHLTPathAccepted ( std::string  pathName)
privatevirtual

Definition at line 3348 of file JetMETHLTOfflineSource.cc.

References edm::HandleBase::isValid(), convertSQLitetoXML_cfg::output, edm::TriggerNames::size(), edm::TriggerNames::triggerIndex(), triggerNames_, and triggerResults_.

Referenced by fillMEforMonAllTrigger(), and fillMEforMonTriggerSummary().

3348  {
3349  // triggerResults_, triggerNames_ has to be defined first before calling this method
3350  bool output = false;
3351  if (triggerResults_.isValid()) {
3353  if (index < triggerNames_.size() && triggerResults_->accept(index))
3354  output = true;
3355  }
3356  return output;
3357 }
std::size_t size() const
Definition: TriggerNames.cc:59
unsigned int triggerIndex(std::string_view name) const
Definition: TriggerNames.cc:52
edm::Handle< edm::TriggerResults > triggerResults_
bool isValid() const
Definition: HandleBase.h:70
bool JetMETHLTOfflineSource::isTriggerObjectFound ( std::string  objectName)
privatevirtual

Definition at line 3382 of file JetMETHLTOfflineSource.cc.

References isotrackApplyRegressor::k, convertSQLitetoXML_cfg::output, processname_, and triggerObj_.

3382  {
3383  // processname_, triggerObj_ has to be defined before calling this method
3384  bool output = false;
3385  edm::InputTag testTag(objectName, "", processname_);
3386  const int index = triggerObj_->filterIndex(testTag);
3387  if (index >= triggerObj_->sizeFilters()) {
3388  edm::LogInfo("JetMETHLTOfflineSource") << "no index " << index << " of that name ";
3389  } else {
3390  const trigger::Keys& k = triggerObj_->filterKeys(index);
3391  if (!k.empty())
3392  output = true;
3393  }
3394  return output;
3395 }
Log< level::Info, false > LogInfo
std::vector< size_type > Keys
edm::Handle< trigger::TriggerEvent > triggerObj_
double JetMETHLTOfflineSource::TriggerPosition ( std::string  trigName)
privatevirtual

Definition at line 3361 of file JetMETHLTOfflineSource.cc.

References dqm::impl::MonitorElement::getTH1(), hlt_dqm_clientPB-live_cfg::nbins, and rate_All.

Referenced by fillMEforMonTriggerSummary().

3361  {
3362  int nbins = rate_All->getTH1()->GetNbinsX();
3363  double binVal = -100;
3364  for (int ibin = 1; ibin < nbins + 1; ibin++) {
3365  const char* binLabel = rate_All->getTH1()->GetXaxis()->GetBinLabel(ibin);
3366  if (binLabel[0] == '\0')
3367  continue;
3368  // std::string binLabel_str = string(binLabel);
3369  // if(binLabel_str.compare(trigName)!=0)continue;
3370  if (trigName != binLabel)
3371  continue;
3372 
3373  if (trigName == binLabel) {
3374  binVal = rate_All->getTH1()->GetBinCenter(ibin);
3375  break;
3376  }
3377  }
3378  return binVal;
3379 }
bool JetMETHLTOfflineSource::validPathHLT ( std::string  path)
privatevirtual

Definition at line 3337 of file JetMETHLTOfflineSource.cc.

References hltConfig_, dqmiolumiharvest::j, convertSQLitetoXML_cfg::output, timingPdfMaker::pathname, HLTConfigProvider::size(), and HLTConfigProvider::triggerName().

3337  {
3338  // hltConfig_ has to be defined first before calling this method
3339  bool output = false;
3340  for (unsigned int j = 0; j != hltConfig_.size(); ++j) {
3341  if (hltConfig_.triggerName(j) == pathname)
3342  output = true;
3343  }
3344  return output;
3345 }
unsigned int size() const
number of trigger paths in trigger table
const std::string & triggerName(unsigned int triggerIndex) const

Member Data Documentation

double JetMETHLTOfflineSource::_fEMF
private

Definition at line 114 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_feta
private

Definition at line 115 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_fHPD
private

Definition at line 116 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_max_CEMF
private

Definition at line 126 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_max_CHEF
private

Definition at line 122 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_max_NEMF
private

Definition at line 124 of file JetMETHLTOfflineSource.h.

Referenced by JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_max_NHEF
private

Definition at line 120 of file JetMETHLTOfflineSource.h.

Referenced by JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_min_CEMF
private

Definition at line 125 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_min_CHEF
private

Definition at line 121 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_min_NEMF
private

Definition at line 123 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_min_NHEF
private

Definition at line 119 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_n90Hits
private

Definition at line 117 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::_pfMHT
private

Definition at line 118 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforEffAllTrigger().

reco::CaloJetCollection JetMETHLTOfflineSource::calojet
private
edm::Handle<reco::CaloJetCollection> JetMETHLTOfflineSource::calojetColl_
private
edm::EDGetTokenT<reco::JetCorrector> JetMETHLTOfflineSource::CaloJetCorToken_
private

Definition at line 145 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::CaloJetEMF[2]
private

Definition at line 164 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

double JetMETHLTOfflineSource::CaloJetEta[2]
private
double JetMETHLTOfflineSource::CaloJetfHPD[2]
private

Definition at line 165 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

double JetMETHLTOfflineSource::CaloJetn90[2]
private

Definition at line 166 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

double JetMETHLTOfflineSource::CaloJetPhi[2]
private
double JetMETHLTOfflineSource::CaloJetPt[2]
private
double JetMETHLTOfflineSource::CaloJetPx[2]
private

Definition at line 159 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforMonAllTrigger().

double JetMETHLTOfflineSource::CaloJetPy[2]
private

Definition at line 160 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforMonAllTrigger().

edm::EDGetTokenT<reco::CaloJetCollection> JetMETHLTOfflineSource::caloJetsToken
private

Definition at line 136 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

edm::Handle<reco::CaloMETCollection> JetMETHLTOfflineSource::calometColl_
private
edm::EDGetTokenT<reco::CaloMETCollection> JetMETHLTOfflineSource::caloMetToken
private

Definition at line 137 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

MonitorElement* JetMETHLTOfflineSource::correlation_All
private

Definition at line 950 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and fillMEforMonTriggerSummary().

MonitorElement* JetMETHLTOfflineSource::correlation_AllWrtMB
private

Definition at line 952 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and fillMEforMonTriggerSummary().

MonitorElement* JetMETHLTOfflineSource::correlation_AllWrtMu
private

Definition at line 951 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and fillMEforMonTriggerSummary().

std::vector<std::pair<std::string, std::string> > JetMETHLTOfflineSource::custompathnamepairs_
private

Definition at line 150 of file JetMETHLTOfflineSource.h.

Referenced by dqmBeginRun(), and JetMETHLTOfflineSource().

std::string JetMETHLTOfflineSource::dirname_
private

Definition at line 100 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and JetMETHLTOfflineSource().

HLTConfigProvider JetMETHLTOfflineSource::hltConfig_
private
PathInfoCollection JetMETHLTOfflineSource::hltPathsAll_
private
PathInfoCollection JetMETHLTOfflineSource::hltPathsAllTriggerSummary_
private

Definition at line 942 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and dqmBeginRun().

PathInfoCollection JetMETHLTOfflineSource::hltPathsEff_
private

Definition at line 944 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), dqmBeginRun(), and fillMEforEffAllTrigger().

bool JetMETHLTOfflineSource::isSetup_
private

Definition at line 111 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and dqmBeginRun().

reco::helper::JetIDHelper* JetMETHLTOfflineSource::jetID
private
std::vector<std::string> JetMETHLTOfflineSource::MBTrigPaths_
private

Definition at line 97 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforMonTriggerSummary(), and JetMETHLTOfflineSource().

std::vector<std::string> JetMETHLTOfflineSource::MuonTrigPaths_
private
bool JetMETHLTOfflineSource::nameForEff_
private

Definition at line 112 of file JetMETHLTOfflineSource.h.

Referenced by dqmBeginRun(), and JetMETHLTOfflineSource().

MonitorElement* JetMETHLTOfflineSource::NVertices
private

Definition at line 954 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and fillMEforMonTriggerSummary().

std::vector<std::string> JetMETHLTOfflineSource::pathFilter_
private

Definition at line 148 of file JetMETHLTOfflineSource.h.

Referenced by dqmBeginRun(), and JetMETHLTOfflineSource().

std::vector<std::string> JetMETHLTOfflineSource::pathRejectKeyword_
private

Definition at line 149 of file JetMETHLTOfflineSource.h.

Referenced by dqmBeginRun(), and JetMETHLTOfflineSource().

reco::PFJetCollection JetMETHLTOfflineSource::pfjet
private

Definition at line 153 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

double JetMETHLTOfflineSource::PFJetCEMF[2]
private

Definition at line 176 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

double JetMETHLTOfflineSource::PFJetCHEF[2]
private

Definition at line 174 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

edm::Handle<reco::PFJetCollection> JetMETHLTOfflineSource::pfjetColl_
private
edm::EDGetTokenT<reco::JetCorrector> JetMETHLTOfflineSource::PFJetCorToken_
private

Definition at line 146 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::PFJetEta[2]
private
double JetMETHLTOfflineSource::PFJetNEMF[2]
private

Definition at line 175 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

double JetMETHLTOfflineSource::PFJetNHEF[2]
private

Definition at line 173 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

double JetMETHLTOfflineSource::PFJetPhi[2]
private
double JetMETHLTOfflineSource::PFJetPt[2]
private
double JetMETHLTOfflineSource::PFJetPx[2]
private

Definition at line 168 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforMonAllTrigger().

double JetMETHLTOfflineSource::PFJetPy[2]
private

Definition at line 169 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforMonAllTrigger().

edm::EDGetTokenT<reco::PFJetCollection> JetMETHLTOfflineSource::pfJetsToken
private

Definition at line 134 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

edm::Handle<reco::PFMETCollection> JetMETHLTOfflineSource::pfmetColl_
private
edm::EDGetTokenT<reco::PFMETCollection> JetMETHLTOfflineSource::pfMetToken
private

Definition at line 135 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

double JetMETHLTOfflineSource::pfMHTx_All
private

Definition at line 178 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

double JetMETHLTOfflineSource::pfMHTy_All
private

Definition at line 179 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and fillMEforEffAllTrigger().

bool JetMETHLTOfflineSource::plotAll_
private

Definition at line 108 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), bookHistograms(), and JetMETHLTOfflineSource().

bool JetMETHLTOfflineSource::plotEff_
private

Definition at line 109 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), bookHistograms(), and JetMETHLTOfflineSource().

std::vector<int> JetMETHLTOfflineSource::prescUsed_
private

Definition at line 98 of file JetMETHLTOfflineSource.h.

std::string JetMETHLTOfflineSource::processname_
private
MonitorElement* JetMETHLTOfflineSource::PVZ
private

Definition at line 953 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and fillMEforMonTriggerSummary().

MonitorElement* JetMETHLTOfflineSource::rate_All
private
MonitorElement* JetMETHLTOfflineSource::rate_AllWrtMB
private

Definition at line 948 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and fillMEforMonTriggerSummary().

MonitorElement* JetMETHLTOfflineSource::rate_AllWrtMu
private

Definition at line 947 of file JetMETHLTOfflineSource.h.

Referenced by bookHistograms(), and fillMEforMonTriggerSummary().

bool JetMETHLTOfflineSource::runStandalone_
private
edm::TriggerNames JetMETHLTOfflineSource::triggerNames_
private
edm::Handle<trigger::TriggerEvent> JetMETHLTOfflineSource::triggerObj_
private
edm::Handle<edm::TriggerResults> JetMETHLTOfflineSource::triggerResults_
private
edm::EDGetTokenT<edm::TriggerResults> JetMETHLTOfflineSource::triggerResultsFUToken
private

Definition at line 131 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

edm::InputTag JetMETHLTOfflineSource::triggerResultsLabel_
private

Definition at line 129 of file JetMETHLTOfflineSource.h.

Referenced by JetMETHLTOfflineSource().

edm::EDGetTokenT<edm::TriggerResults> JetMETHLTOfflineSource::triggerResultsToken
private

Definition at line 130 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

edm::EDGetTokenT<trigger::TriggerEvent> JetMETHLTOfflineSource::triggerSummaryFUToken
private

Definition at line 133 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

edm::InputTag JetMETHLTOfflineSource::triggerSummaryLabel_
private

Definition at line 128 of file JetMETHLTOfflineSource.h.

Referenced by JetMETHLTOfflineSource().

edm::EDGetTokenT<trigger::TriggerEvent> JetMETHLTOfflineSource::triggerSummaryToken
private

Definition at line 132 of file JetMETHLTOfflineSource.h.

Referenced by analyze(), and JetMETHLTOfflineSource().

bool JetMETHLTOfflineSource::verbose_
private
edm::EDGetTokenT<reco::VertexCollection> JetMETHLTOfflineSource::vertexToken
private

Definition at line 138 of file JetMETHLTOfflineSource.h.

Referenced by fillMEforMonTriggerSummary(), and JetMETHLTOfflineSource().