CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
BPHMonitor Class Reference
Inheritance diagram for BPHMonitor:
DQMEDAnalyzer TriggerDQMBase edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- 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 >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from TriggerDQMBase
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

 BPHMonitor (const edm::ParameterSet &)
 
 ~BPHMonitor () override throw ()
 
- 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
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 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
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
- Public Member Functions inherited from TriggerDQMBase
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const std::vector< double > &binningY, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const uint nbinsY, const double ymin, const double ymax, const bool bookDen=true)
 
void setMETitle (ObjME &me, const std::string &titleX, const std::string &titleY)
 
 TriggerDQMBase ()=default
 
virtual ~TriggerDQMBase ()=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- 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< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Static Public Member Functions inherited from TriggerDQMBase
static void fillHistoLSPSetDescription (edm::ParameterSetDescription &pset)
 
static void fillHistoPSetDescription (edm::ParameterSetDescription &pset)
 
static MEbinning getHistoLSPSet (const edm::ParameterSet &pset)
 
static MEbinning getHistoPSet (const edm::ParameterSet &pset)
 

Protected Member Functions

void analyze (edm::Event const &iEvent, edm::EventSetup const &iSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
template<typename T >
bool matchToTrigger (const std::string &theTriggerName, T t)
 
double Prescale (const std::string num, const std::string den, edm::Event const &iEvent, edm::EventSetup const &iSetup, HLTPrescaleProvider *hltPrescale_)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Member Functions

std::string getTriggerName (std::string partialName)
 

Private Attributes

ObjME BMass_
 
MEbinning Bmass_binning_
 
edm::InputTag bsInputTag_
 
edm::EDGetTokenT< reco::BeamSpotbsToken_
 
MEbinning cos_binning_
 
MEbinning d0_binning_
 
MEbinning dca_binning_
 
std::unique_ptr< GenericTriggerEventFlagden_genTriggerEventFlag_
 
ObjME DiMuDCA_
 
ObjME DiMudR_
 
ObjME DiMuDS_
 
ObjME DiMuEta_
 
ObjME DiMuMass_
 
ObjME DiMuPhi_
 
ObjME DiMuProb_
 
ObjME DiMuPt_
 
ObjME DiMuPVcos_
 
int displaced_
 
StringCutObjectSelector< reco::Candidate::LorentzVector, true > DMSelection_ref
 
std::vector< double > dMu_pt_variable_binning_
 
MEbinning dR_binning_
 
MEbinning ds_binning_
 
int enum_
 
MEbinning eta_binning_
 
const std::string folderName_
 
edm::Handle< trigger::TriggerEventhandleTriggerEvent
 
HLTConfigProvider hltConfig_
 
edm::EDGetTokenT< trigger::TriggerEventhltInputTag_
 
edm::InputTag hltInputTag_1
 
std::vector< std::string > hltpaths_den
 
std::vector< std::string > hltpaths_num
 
bool hltPathsAreValid_
 
HLTPrescaleProviderhltPrescale_
 
edm::Handle< edm::TriggerResultsHLTR
 
edm::EDGetTokenT< edm::TriggerResultshltTrigResTag_
 
int Jpsi_
 
double kaon_mass
 
int L3_
 
edm::ESGetToken< MagneticField, IdealMagneticFieldRecordmagneticFieldToken_
 
MEbinning mass_binning_
 
double max_dR
 
double maxmass_
 
double maxmassJpsi
 
double maxmassJpsiTk
 
double maxmassTkTk
 
double maxmassUpsilon
 
double min_dR
 
double mincos
 
double minDS
 
double minmass_
 
double minmassJpsi
 
double minmassJpsiTk
 
double minmassTkTk
 
double minmassUpsilon
 
double minprob
 
ObjME mu1d0_
 
ObjME mu1Eta_
 
ObjME mu1Phi_
 
ObjME mu1Pt_
 
ObjME mu1z0_
 
ObjME mu2d0_
 
ObjME mu2Eta_
 
ObjME mu2Phi_
 
ObjME mu2Pt_
 
ObjME mu2z0_
 
ObjME mu3d0_
 
ObjME mu3Eta_
 
ObjME mu3Phi_
 
ObjME mu3Pt_
 
ObjME mu3z0_
 
double mu_mass
 
ObjME mud0_
 
ObjME muEta_
 
edm::InputTag muoInputTag_
 
StringCutObjectSelector< reco::Muon, true > muoSelection_
 
StringCutObjectSelector< reco::Muon, true > muoSelection_probe
 
StringCutObjectSelector< reco::Muon, true > muoSelection_ref
 
StringCutObjectSelector< reco::Muon, true > muoSelection_tag
 
edm::EDGetTokenT< reco::MuonCollectionmuoToken_
 
ObjME muPhi_
 
ObjME muPt_
 
ObjME muz0_
 
int nmuons_
 
std::unique_ptr< GenericTriggerEventFlagnum_genTriggerEventFlag_
 
ObjME phEta_
 
MEbinning phi_binning_
 
edm::InputTag phInputTag_
 
ObjME phPhi_
 
ObjME phPt_
 
edm::EDGetTokenT< reco::PhotonCollectionphToken_
 
std::vector< double > prob_variable_binning_
 
std::vector< double > pt_variable_binning_
 
int ptCut_
 
const bool requireValidHLTPaths_
 
int seagull_
 
bool tnp_
 
edm::InputTag trInputTag_
 
int trOrMu_
 
StringCutObjectSelector< reco::Track, true > trSelection_
 
StringCutObjectSelector< reco::Track, true > trSelection_ref
 
edm::EDGetTokenT< reco::TrackCollectiontrToken_
 
int Upsilon_
 
edm::InputTag vtxInputTag_
 
edm::EDGetTokenT< reco::VertexCollectionvtxToken_
 
MEbinning z0_binning_
 

Additional Inherited Members

- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 47 of file BPHMonitor.cc.

Member Typedef Documentation

◆ DQMStore

Definition at line 50 of file BPHMonitor.cc.

◆ MonitorElement

Definition at line 49 of file BPHMonitor.cc.

Constructor & Destructor Documentation

◆ BPHMonitor()

BPHMonitor::BPHMonitor ( const edm::ParameterSet iConfig)

Definition at line 193 of file BPHMonitor.cc.

194  : folderName_(iConfig.getParameter<std::string>("FolderName")),
195  requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
196  hltPathsAreValid_(false),
197  muoInputTag_(iConfig.getParameter<edm::InputTag>("muons")),
198  bsInputTag_(iConfig.getParameter<edm::InputTag>("beamSpot")),
199  trInputTag_(iConfig.getParameter<edm::InputTag>("tracks")),
200  phInputTag_(iConfig.getParameter<edm::InputTag>("photons")),
201  vtxInputTag_(iConfig.getParameter<edm::InputTag>("offlinePVs")),
202  muoToken_(mayConsume<reco::MuonCollection>(muoInputTag_)),
203  bsToken_(mayConsume<reco::BeamSpot>(bsInputTag_)),
204  trToken_(mayConsume<reco::TrackCollection>(trInputTag_)),
205  phToken_(mayConsume<reco::PhotonCollection>(phInputTag_)),
206  vtxToken_(mayConsume<reco::VertexCollection>(vtxInputTag_)),
208  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double>>("ptBinning")),
210  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double>>("dMuPtBinning")),
212  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double>>("probBinning")),
214  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("phiPSet"))),
216  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("etaPSet"))),
217  d0_binning_(
218  getHistoPSet(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("d0PSet"))),
219  z0_binning_(
220  getHistoPSet(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("z0PSet"))),
221  dR_binning_(
222  getHistoPSet(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("dRPSet"))),
224  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("massPSet"))),
226  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("BmassPSet"))),
228  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("dcaPSet"))),
229  ds_binning_(
230  getHistoPSet(iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("dsPSet"))),
232  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("cosPSet"))),
234  iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"), consumesCollector(), *this)),
236  iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"), consumesCollector(), *this)),
237  hltPrescale_(new HLTPrescaleProvider(iConfig, consumesCollector(), *this)),
238  muoSelection_(iConfig.getParameter<std::string>("muoSelection")),
239  muoSelection_ref(iConfig.getParameter<std::string>("muoSelection_ref")),
240  muoSelection_tag(iConfig.getParameter<std::string>("muoSelection_tag")),
241  muoSelection_probe(iConfig.getParameter<std::string>("muoSelection_probe")),
242  nmuons_(iConfig.getParameter<int>("nmuons")),
243  tnp_(iConfig.getParameter<bool>("tnp")),
244  L3_(iConfig.getParameter<int>("L3")),
245  ptCut_(iConfig.getParameter<int>("ptCut")),
246  displaced_(iConfig.getParameter<int>("displaced")),
247  trOrMu_(iConfig.getParameter<int>("trOrMu")),
248  Jpsi_(iConfig.getParameter<int>("Jpsi")),
249  Upsilon_(iConfig.getParameter<int>("Upsilon")) // if ==1 path with Upsilon constraint
250  ,
251  enum_(iConfig.getParameter<int>("enum")),
252  seagull_(iConfig.getParameter<int>("seagull")),
253  maxmass_(iConfig.getParameter<double>("maxmass")),
254  minmass_(iConfig.getParameter<double>("minmass")),
255  maxmassJpsi(iConfig.getParameter<double>("maxmassJpsi")),
256  minmassJpsi(iConfig.getParameter<double>("minmassJpsi")),
257  maxmassUpsilon(iConfig.getParameter<double>("maxmassUpsilon")),
258  minmassUpsilon(iConfig.getParameter<double>("minmassUpsilon")),
259  maxmassTkTk(iConfig.getParameter<double>("maxmassTkTk")),
260  minmassTkTk(iConfig.getParameter<double>("minmassTkTk")),
261  maxmassJpsiTk(iConfig.getParameter<double>("maxmassJpsiTk")),
262  minmassJpsiTk(iConfig.getParameter<double>("minmassJpsiTk")),
263  kaon_mass(iConfig.getParameter<double>("kaon_mass")),
264  mu_mass(iConfig.getParameter<double>("mu_mass")),
265  min_dR(iConfig.getParameter<double>("min_dR")),
266  max_dR(iConfig.getParameter<double>("max_dR")),
267  minprob(iConfig.getParameter<double>("minprob")),
268  mincos(iConfig.getParameter<double>("mincos")),
269  minDS(iConfig.getParameter<double>("minDS")),
270  hltInputTag_1(iConfig.getParameter<edm::InputTag>("hltTriggerSummaryAOD")),
271  hltInputTag_(mayConsume<trigger::TriggerEvent>(iConfig.getParameter<edm::InputTag>("hltTriggerSummaryAOD"))),
272  hltpaths_num(iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet")
273  .getParameter<std::vector<std::string>>("hltPaths")),
274  hltpaths_den(iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet")
275  .getParameter<std::vector<std::string>>("hltPaths")),
276  trSelection_(iConfig.getParameter<std::string>("muoSelection")),
277  trSelection_ref(iConfig.getParameter<std::string>("trSelection_ref")),
278  DMSelection_ref(iConfig.getParameter<std::string>("DMSelection_ref")) {
279  if (!tnp_) {
280  magneticFieldToken_ = esConsumes<MagneticField, IdealMagneticFieldRecord>();
281  }
282 }

References magneticFieldToken_, and tnp_.

◆ ~BPHMonitor()

BPHMonitor::~BPHMonitor ( )
throw (
)
override

Definition at line 284 of file BPHMonitor.cc.

284  {
286  num_genTriggerEventFlag_.reset();
287  }
289  den_genTriggerEventFlag_.reset();
290  }
291 
292  delete hltPrescale_;
293 }

References den_genTriggerEventFlag_, hltPrescale_, and num_genTriggerEventFlag_.

Member Function Documentation

◆ analyze()

void BPHMonitor::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 469 of file BPHMonitor.cc.

469  {
470  // if valid HLT paths are required,
471  // analyze event only if all paths are valid
473  return;
474  }
475 
477  iEvent.getByToken(bsToken_, beamSpot);
478  if (!beamSpot.isValid()) {
479  return;
480  }
481 
483  iEvent.getByToken(muoToken_, muoHandle);
484  if (!muoHandle.isValid()) {
485  return;
486  }
487 
489  iEvent.getByToken(trToken_, trHandle);
490  if (!trHandle.isValid()) {
491  return;
492  }
493 
495  iEvent.getByToken(phToken_, phHandle);
496 
497  edm::Handle<edm::TriggerResults> handleTriggerTrigRes;
498 
499  const std::string& hltpath = getTriggerName(hltpaths_den[0]);
500  const std::string& hltpath1 = getTriggerName(hltpaths_num[0]);
501 
502  double PrescaleWeight = 1.0;
503  if (den_genTriggerEventFlag_->on() && den_genTriggerEventFlag_->accept(iEvent, iSetup) &&
504  num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup))
505  PrescaleWeight = Prescale(hltpath1, hltpath, iEvent, iSetup, hltPrescale_);
506 
507  if (tnp_ > 0) { //TnP method
508 
509  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup))
510  return;
512  if (handleTriggerEvent->sizeFilters() == 0)
513  return;
514 
515  std::vector<reco::Muon> tagMuons;
516  for (auto const& m : *muoHandle) { // applying tag selection
517  if (!matchToTrigger(hltpath, m))
518  continue;
519  if (muoSelection_ref(m))
520  tagMuons.push_back(m);
521  }
522 
523  for (int i = 0; i < int(tagMuons.size()); i++) {
524  for (auto const& m : *muoHandle) {
525  if (!matchToTrigger(hltpath, m))
526  continue;
527  if ((tagMuons[i].pt() == m.pt()))
528  continue; //not the same
529  if ((tagMuons[i].p4() + m.p4()).M() > minmass_ &&
530  (tagMuons[i].p4() + m.p4()).M() < maxmass_) { //near to J/psi mass
531  muPhi_.denominator->Fill(m.phi());
532  muEta_.denominator->Fill(m.eta());
533  muPt_.denominator->Fill(m.pt());
534  if (muoSelection_(m) && num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
535  muPhi_.numerator->Fill(m.phi(), PrescaleWeight);
536  muEta_.numerator->Fill(m.eta(), PrescaleWeight);
537  muPt_.numerator->Fill(m.pt(), PrescaleWeight);
538  }
539  }
540  }
541  }
542 
543  } else { // reference method
544 
545  if (den_genTriggerEventFlag_->on() && (!den_genTriggerEventFlag_->accept(iEvent, iSetup)))
546  return;
547 
549  if (handleTriggerEvent->sizeFilters() == 0)
550  return;
551 
552  for (auto const& m : *muoHandle) {
553  if (!muoSelection_ref(m))
554  continue;
555  if (!matchToTrigger(hltpath, m))
556  continue;
557 
558  for (auto const& m1 : *muoHandle) {
559  if (!(m1.pt() > m.pt()))
560  continue;
561  if (ptCut_) {
562  if (!muoSelection_(m1))
563  continue;
564  } else if (!muoSelection_ref(m1))
565  continue;
566  if (!matchToTrigger(hltpath, m1))
567  continue;
568 
569  if (enum_ != 10) {
570  if (!DMSelection_ref(m1.p4() + m.p4()))
571  continue;
572  if (m.charge() * m1.charge() > 0)
573  continue;
574  }
575 
576  // dimuon vertex reconstruction
577  MagneticField const& magneticField = iSetup.getData(magneticFieldToken_);
578  const reco::BeamSpot& vertexBeamSpot = *beamSpot;
579  std::vector<reco::TransientTrack> j_tks;
580  reco::TransientTrack mu1TT(m.track(), &magneticField);
581  reco::TransientTrack mu2TT(m1.track(), &magneticField);
582  j_tks.push_back(mu1TT);
583  j_tks.push_back(mu2TT);
584  KalmanVertexFitter jkvf;
585  TransientVertex jtv = jkvf.vertex(j_tks);
586  if (!jtv.isValid())
587  continue;
588  reco::Vertex jpsivertex = jtv;
589  float dimuonCL = 0;
590  if ((jpsivertex.chi2() >= 0) && (jpsivertex.ndof() > 0))
591  dimuonCL = TMath::Prob(jpsivertex.chi2(), jpsivertex.ndof());
592  math::XYZVector jpperp(m.px() + m1.px(), m.py() + m1.py(), 0.);
593  GlobalPoint jVertex = jtv.position();
594  GlobalError jerr = jtv.positionError();
595  GlobalPoint displacementFromBeamspotJpsi(
596  -1 * ((vertexBeamSpot.x0() - jVertex.x()) + (jVertex.z() - vertexBeamSpot.z0()) * vertexBeamSpot.dxdz()),
597  -1 * ((vertexBeamSpot.y0() - jVertex.y()) + (jVertex.z() - vertexBeamSpot.z0()) * vertexBeamSpot.dydz()),
598  0);
599  reco::Vertex::Point vperpj(displacementFromBeamspotJpsi.x(), displacementFromBeamspotJpsi.y(), 0.);
600  float jpsi_cos = vperpj.Dot(jpperp) / (vperpj.R() * jpperp.R());
601  TrajectoryStateClosestToPoint mu1TS = mu1TT.impactPointTSCP();
602  TrajectoryStateClosestToPoint mu2TS = mu2TT.impactPointTSCP();
604  if (mu1TS.isValid() && mu2TS.isValid()) {
605  if (!cApp.calculate(mu1TS.theState(), mu2TS.theState()))
606  continue;
607  } else
608  continue;
609  double DiMuMass = (m1.p4() + m.p4()).M();
610 
611  switch (
612  enum_) { // enum_ = 1...9, represents different sets of variables for different paths, we want to have different hists for different paths
613 
614  case 1:
615 
616  tnp_ = true; // already filled hists for tnp method
617  [[fallthrough]];
618  case 2:
619 
620  if ((Jpsi_) && (!Upsilon_))
621  if (DiMuMass > maxmassJpsi || DiMuMass < minmassJpsi)
622  continue;
623  if ((!Jpsi_) && (Upsilon_))
624  if (DiMuMass > maxmassUpsilon || DiMuMass < minmassUpsilon)
625  continue;
626  if (dimuonCL < minprob)
627  continue;
628 
629  mu1Phi_.denominator->Fill(m.phi());
630  mu1Eta_.denominator->Fill(m.eta());
631  mu1Pt_.denominator->Fill(m.pt());
632  mu2Phi_.denominator->Fill(m1.phi());
633  mu2Eta_.denominator->Fill(m1.eta());
634  mu2Pt_.denominator->Fill(m1.pt());
635  DiMuPt_.denominator->Fill((m1.p4() + m.p4()).Pt());
636  DiMuEta_.denominator->Fill((m1.p4() + m.p4()).Eta());
637  DiMuPhi_.denominator->Fill((m1.p4() + m.p4()).Phi());
638 
639  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
640  if (!matchToTrigger(hltpath1, m1))
641  continue;
642  if (!matchToTrigger(hltpath1, m))
643  continue;
644  mu1Phi_.numerator->Fill(m.phi(), PrescaleWeight);
645  mu1Eta_.numerator->Fill(m.eta(), PrescaleWeight);
646  mu1Pt_.numerator->Fill(m.pt(), PrescaleWeight);
647  mu2Phi_.numerator->Fill(m1.phi(), PrescaleWeight);
648  mu2Eta_.numerator->Fill(m1.eta(), PrescaleWeight);
649  mu2Pt_.numerator->Fill(m1.pt(), PrescaleWeight);
650  DiMuPt_.numerator->Fill((m1.p4() + m.p4()).Pt(), PrescaleWeight);
651  DiMuEta_.numerator->Fill((m1.p4() + m.p4()).Eta(), PrescaleWeight);
652  DiMuPhi_.numerator->Fill((m1.p4() + m.p4()).Phi(), PrescaleWeight);
653  }
654 
655  break;
656 
657  case 3:
658 
659  if ((Jpsi_) && (!Upsilon_))
660  if (DiMuMass > maxmassJpsi || DiMuMass < minmassJpsi)
661  continue;
662  if ((!Jpsi_) && (Upsilon_))
663  if (DiMuMass > maxmassUpsilon || DiMuMass < minmassUpsilon)
664  continue;
665  if (dimuonCL < minprob)
666  continue;
667 
668  mu1Phi_.denominator->Fill(m.phi());
669  mu1Eta_.denominator->Fill(m.eta());
670  mu1Pt_.denominator->Fill(m.pt());
671  mu2Phi_.denominator->Fill(m1.phi());
672  mu2Eta_.denominator->Fill(m1.eta());
673  mu2Pt_.denominator->Fill(m1.pt());
674 
675  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
676  if (!matchToTrigger(hltpath1, m1))
677  continue;
678  if (!matchToTrigger(hltpath1, m))
679  continue;
680  mu1Phi_.numerator->Fill(m.phi(), PrescaleWeight);
681  mu1Eta_.numerator->Fill(m.eta(), PrescaleWeight);
682  mu1Pt_.numerator->Fill(m.pt(), PrescaleWeight);
683  mu2Phi_.numerator->Fill(m1.phi(), PrescaleWeight);
684  mu2Eta_.numerator->Fill(m1.eta(), PrescaleWeight);
685  mu2Pt_.numerator->Fill(m1.pt(), PrescaleWeight);
686  }
687 
688  break;
689 
690  case 4:
691 
692  if (dimuonCL < minprob)
693  continue;
694 
695  // fill mass plots without selecting mass region
696  DiMuMass_.denominator->Fill(DiMuMass);
697  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup) &&
698  !(seagull_ && m.charge() * deltaPhi(m.phi(), m1.phi()) > 0) && matchToTrigger(hltpath1, m1) &&
699  matchToTrigger(hltpath1, m))
700  DiMuMass_.numerator->Fill(DiMuMass, PrescaleWeight);
701 
702  if ((Jpsi_) && (!Upsilon_))
703  if (DiMuMass > maxmassJpsi || DiMuMass < minmassJpsi)
704  continue;
705  if ((!Jpsi_) && (Upsilon_))
706  if (DiMuMass > maxmassUpsilon || DiMuMass < minmassUpsilon)
707  continue;
708 
709  mu1Phi_.denominator->Fill(m.phi());
710  mu1Eta_.denominator->Fill(m.eta());
711  mu1Pt_.denominator->Fill(m.pt());
712  mu2Phi_.denominator->Fill(m1.phi());
713  mu2Eta_.denominator->Fill(m1.eta());
714  mu2Pt_.denominator->Fill(m1.pt());
715  DiMuPt_.denominator->Fill((m1.p4() + m.p4()).Pt());
716  DiMuEta_.denominator->Fill((m1.p4() + m.p4()).Eta());
717  DiMuPhi_.denominator->Fill((m1.p4() + m.p4()).Phi());
719 
720  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
721  if (seagull_ && m.charge() * deltaPhi(m.phi(), m1.phi()) > 0)
722  continue;
723  if (!matchToTrigger(hltpath1, m1))
724  continue;
725  if (!matchToTrigger(hltpath1, m))
726  continue;
727  mu1Phi_.numerator->Fill(m.phi(), PrescaleWeight);
728  mu1Eta_.numerator->Fill(m.eta(), PrescaleWeight);
729  mu1Pt_.numerator->Fill(m.pt(), PrescaleWeight);
730  mu2Phi_.numerator->Fill(m1.phi(), PrescaleWeight);
731  mu2Eta_.numerator->Fill(m1.eta(), PrescaleWeight);
732  mu2Pt_.numerator->Fill(m1.pt(), PrescaleWeight);
733  DiMuPt_.numerator->Fill((m1.p4() + m.p4()).Pt(), PrescaleWeight);
734  DiMuEta_.numerator->Fill((m1.p4() + m.p4()).Eta(), PrescaleWeight);
735  DiMuPhi_.numerator->Fill((m1.p4() + m.p4()).Phi(), PrescaleWeight);
736  DiMudR_.numerator->Fill(reco::deltaR(m, m1), PrescaleWeight);
737  }
738 
739  break;
740 
741  case 5:
742 
743  if (dimuonCL < minprob)
744  continue;
745  if ((Jpsi_) && (!Upsilon_))
746  if (DiMuMass > maxmassJpsi || DiMuMass < minmassJpsi)
747  continue;
748  if ((!Jpsi_) && (Upsilon_))
749  if (DiMuMass > maxmassUpsilon || DiMuMass < minmassUpsilon)
750  continue;
751 
752  mu1Phi_.denominator->Fill(m.phi());
753  mu1Eta_.denominator->Fill(m.eta());
754  mu1Pt_.denominator->Fill(m.pt());
755  mu2Phi_.denominator->Fill(m1.phi());
756  mu2Eta_.denominator->Fill(m1.eta());
757  mu2Pt_.denominator->Fill(m1.pt());
758  DiMuPt_.denominator->Fill((m1.p4() + m.p4()).Pt());
759  DiMuEta_.denominator->Fill((m1.p4() + m.p4()).Eta());
760  DiMuPhi_.denominator->Fill((m1.p4() + m.p4()).Phi());
762 
763  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
764  if (seagull_ && m.charge() * deltaPhi(m.phi(), m1.phi()) > 0)
765  continue;
766  if (!matchToTrigger(hltpath1, m1))
767  continue;
768  if (!matchToTrigger(hltpath1, m))
769  continue;
770  mu1Phi_.numerator->Fill(m.phi(), PrescaleWeight);
771  mu1Eta_.numerator->Fill(m.eta(), PrescaleWeight);
772  mu1Pt_.numerator->Fill(m.pt(), PrescaleWeight);
773  mu2Phi_.numerator->Fill(m1.phi(), PrescaleWeight);
774  mu2Eta_.numerator->Fill(m1.eta(), PrescaleWeight);
775  mu2Pt_.numerator->Fill(m1.pt(), PrescaleWeight);
776  DiMuPt_.numerator->Fill((m1.p4() + m.p4()).Pt(), PrescaleWeight);
777  DiMuEta_.numerator->Fill((m1.p4() + m.p4()).Eta(), PrescaleWeight);
778  DiMuPhi_.numerator->Fill((m1.p4() + m.p4()).Phi(), PrescaleWeight);
779  DiMudR_.numerator->Fill(reco::deltaR(m, m1), PrescaleWeight);
780  }
781 
782  break;
783 
784  case 6:
785 
786  if (dimuonCL < minprob)
787  continue;
788  if ((Jpsi_) && (!Upsilon_))
789  if (DiMuMass > maxmassJpsi || DiMuMass < minmassJpsi)
790  continue;
791  if ((!Jpsi_) && (Upsilon_))
792  if (DiMuMass > maxmassUpsilon || DiMuMass < minmassUpsilon)
793  continue;
794 
795  for (auto const& m2 : *muoHandle) {
796  if (m2.pt() == m.pt())
797  continue; // remove duplicates but do not introduce ordering
798  if (m2.pt() == m1.pt())
799  continue; // -> m2 will be the non-resonant and non-vertexing muon in the triplet
800  if (!matchToTrigger(hltpath, m2))
801  continue;
802 
803  mu1Phi_.denominator->Fill(m.phi());
804  mu1Eta_.denominator->Fill(m.eta());
805  mu1Pt_.denominator->Fill(m.pt());
806  mu2Phi_.denominator->Fill(m1.phi());
807  mu2Eta_.denominator->Fill(m1.eta());
808  mu2Pt_.denominator->Fill(m1.pt());
809  mu3Phi_.denominator->Fill(m2.phi());
810  mu3Eta_.denominator->Fill(m2.eta());
811  mu3Pt_.denominator->Fill(m2.pt());
812 
813  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
814  if (!matchToTrigger(hltpath1, m1))
815  continue;
816  if (!matchToTrigger(hltpath1, m))
817  continue;
818  if (!matchToTrigger(hltpath1, m2))
819  continue;
820  mu1Phi_.numerator->Fill(m.phi(), PrescaleWeight);
821  mu1Eta_.numerator->Fill(m.eta(), PrescaleWeight);
822  mu1Pt_.numerator->Fill(m.pt(), PrescaleWeight);
823  mu2Phi_.numerator->Fill(m1.phi(), PrescaleWeight);
824  mu2Eta_.numerator->Fill(m1.eta(), PrescaleWeight);
825  mu2Pt_.numerator->Fill(m1.pt(), PrescaleWeight);
826  mu3Phi_.numerator->Fill(m2.phi(), PrescaleWeight);
827  mu3Eta_.numerator->Fill(m2.eta(), PrescaleWeight);
828  mu3Pt_.numerator->Fill(m2.pt(), PrescaleWeight);
829  }
830  }
831 
832  break;
833 
834  case 7:
835 
836  if (phHandle.isValid()) {
837  if (!phHandle->empty())
838  for (auto const& p : *phHandle) {
839  if (!matchToTrigger(hltpath, p))
840  continue;
841 
842  phPhi_.denominator->Fill(p.phi());
843  phEta_.denominator->Fill(p.eta());
844  phPt_.denominator->Fill(p.pt());
845 
846  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
847  if (!matchToTrigger(hltpath1, p))
848  continue;
849  if (!matchToTrigger(hltpath1, m))
850  continue;
851  if (!matchToTrigger(hltpath1, m1))
852  continue;
853  phPhi_.numerator->Fill(p.phi(), PrescaleWeight);
854  phEta_.numerator->Fill(p.eta(), PrescaleWeight);
855  phPt_.numerator->Fill(p.pt(), PrescaleWeight);
856  }
857  }
858  } else {
859  // if Handle is not valid, because the InputTag has been mis-configured, then skip the event
860  if (!phInputTag_.label().empty())
861  return;
862  }
863 
864  break;
865 
866  case 8: //vtx monitoring, filling probability, DS, DCA, cos of pointing angle to the PV, eta, pT of dimuon
867 
868  if (displaced_)
869  if ((displacementFromBeamspotJpsi.perp() / sqrt(jerr.rerr(displacementFromBeamspotJpsi))) < minDS)
870  continue;
871  if ((Jpsi_) && (!Upsilon_))
872  if (DiMuMass > maxmassJpsi || DiMuMass < minmassJpsi)
873  continue;
874  if ((!Jpsi_) && (Upsilon_))
875  if (DiMuMass > maxmassUpsilon || DiMuMass < minmassUpsilon)
876  continue;
877 
878  // fill vtx-prob plots before selecting on this variable
879  DiMuProb_.denominator->Fill(dimuonCL);
880  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup) &&
881  matchToTrigger(hltpath1, m1) && matchToTrigger(hltpath1, m))
882  DiMuProb_.numerator->Fill(dimuonCL, PrescaleWeight);
883 
884  if (dimuonCL < minprob)
885  continue;
886 
887  DiMuDS_.denominator->Fill(displacementFromBeamspotJpsi.perp() /
888  sqrt(jerr.rerr(displacementFromBeamspotJpsi)));
889  DiMuPVcos_.denominator->Fill(jpsi_cos);
890  DiMuPt_.denominator->Fill((m1.p4() + m.p4()).Pt());
891  DiMuEta_.denominator->Fill((m1.p4() + m.p4()).Eta());
892  DiMuPhi_.denominator->Fill((m1.p4() + m.p4()).Phi());
894 
895  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
896  if (!matchToTrigger(hltpath1, m1))
897  continue;
898  if (!matchToTrigger(hltpath1, m))
899  continue;
901  displacementFromBeamspotJpsi.perp() / sqrt(jerr.rerr(displacementFromBeamspotJpsi)), PrescaleWeight);
902  DiMuPVcos_.numerator->Fill(jpsi_cos, PrescaleWeight);
903  DiMuPt_.numerator->Fill((m1.p4() + m.p4()).Pt(), PrescaleWeight);
904  DiMuEta_.numerator->Fill((m1.p4() + m.p4()).Eta(), PrescaleWeight);
905  DiMuPhi_.numerator->Fill((m1.p4() + m.p4()).Phi(), PrescaleWeight);
906  DiMuDCA_.numerator->Fill(cApp.distance(), PrescaleWeight);
907  }
908 
909  break;
910 
911  case 9:
912 
913  if (dimuonCL < minprob)
914  continue;
915  if (fabs(jpsi_cos) < mincos)
916  continue;
917  if ((displacementFromBeamspotJpsi.perp() / sqrt(jerr.rerr(displacementFromBeamspotJpsi))) < minDS)
918  continue;
919 
920  if (trHandle.isValid())
921  for (auto const& t : *trHandle) {
922  if (!trSelection_ref(t))
923  continue;
924  const reco::Track& itrk1 = t;
925  if (reco::deltaR(t, m1) <= min_dR)
926  continue;
927  if (reco::deltaR(t, m) <= min_dR)
928  continue;
930  continue;
931 
932  // reconstruct B+ hadron
934  double trackMass2 = kaon_mass * kaon_mass;
935  double MuMass2 = mu_mass * mu_mass;
936  double e1 = sqrt(m.momentum().Mag2() + MuMass2);
937  double e2 = sqrt(m1.momentum().Mag2() + MuMass2);
938  double e3 = sqrt(itrk1.momentum().Mag2() + trackMass2);
939  p1 = reco::Particle::LorentzVector(m.px(), m.py(), m.pz(), e1);
940  p2 = reco::Particle::LorentzVector(m1.px(), m1.py(), m1.pz(), e2);
941  p3 = reco::Particle::LorentzVector(itrk1.px(), itrk1.py(), itrk1.pz(), e3);
942  pB = p1 + p2 + p3;
943  if (pB.mass() > maxmassJpsiTk || pB.mass() < minmassJpsiTk)
944  continue;
945  reco::TransientTrack trTT(itrk1, &magneticField);
946  std::vector<reco::TransientTrack> t_tks;
947  t_tks.push_back(mu1TT);
948  t_tks.push_back(mu2TT);
949  t_tks.push_back(trTT);
950  KalmanVertexFitter kvf;
951  TransientVertex tv = kvf.vertex(t_tks);
952  reco::Vertex vertex = tv;
953  if (!tv.isValid())
954  continue;
955  float JpsiTkCL = 0;
956  if ((vertex.chi2() >= 0.0) && (vertex.ndof() > 0))
957  JpsiTkCL = TMath::Prob(vertex.chi2(), vertex.ndof());
958  math::XYZVector pperp(m.px() + m1.px() + itrk1.px(), m.py() + m1.py() + itrk1.py(), 0.);
961  GlobalPoint displacementFromBeamspot(
962  -1 * ((vertexBeamSpot.x0() - secondaryVertex.x()) +
963  (secondaryVertex.z() - vertexBeamSpot.z0()) * vertexBeamSpot.dxdz()),
964  -1 * ((vertexBeamSpot.y0() - secondaryVertex.y()) +
965  (secondaryVertex.z() - vertexBeamSpot.z0()) * vertexBeamSpot.dydz()),
966  0);
967  reco::Vertex::Point vperp(displacementFromBeamspot.x(), displacementFromBeamspot.y(), 0.);
968  float jpsiKcos = vperp.Dot(pperp) / (vperp.R() * pperp.R());
969  if (JpsiTkCL < minprob)
970  continue;
971  if (fabs(jpsiKcos) < mincos)
972  continue;
973  if ((displacementFromBeamspot.perp() / sqrt(err.rerr(displacementFromBeamspot))) < minDS)
974  continue;
975 
976  muPhi_.denominator->Fill(t.phi());
977  muEta_.denominator->Fill(t.eta());
978  muPt_.denominator->Fill(t.pt());
979  BMass_.denominator->Fill(pB.mass());
980 
981  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
982  if (!matchToTrigger(hltpath1, m1))
983  continue;
984  if (!matchToTrigger(hltpath1, m))
985  continue;
986  if (!matchToTrigger(hltpath1, t))
987  continue;
988  muPhi_.numerator->Fill(t.phi(), PrescaleWeight);
989  muEta_.numerator->Fill(t.eta(), PrescaleWeight);
990  muPt_.numerator->Fill(t.pt(), PrescaleWeight);
991  BMass_.numerator->Fill(pB.mass(), PrescaleWeight);
992  }
993  }
994 
995  break;
996 
997  case 10:
998 
999  if (trHandle.isValid())
1000  for (auto const& t : *trHandle) {
1001  if (!trSelection_ref(t))
1002  continue;
1003  const reco::Track& itrk1 = t;
1004  if (reco::deltaR(t, m1) <= min_dR)
1005  continue;
1006  if (reco::deltaR(t, m) <= min_dR)
1007  continue;
1009  continue;
1010 
1011  // reconstruct Mu+TkMu structure
1013  double trackMass2 = kaon_mass * kaon_mass;
1014  double MuMass2 = mu_mass * mu_mass;
1015  double e2 = sqrt(m1.momentum().Mag2() + MuMass2);
1016  double e3 = sqrt(itrk1.momentum().Mag2() + trackMass2);
1017  p2 = reco::Particle::LorentzVector(m1.px(), m1.py(), m1.pz(), e2);
1018  p3 = reco::Particle::LorentzVector(itrk1.px(), itrk1.py(), itrk1.pz(), e3);
1019  pB = p2 + p3;
1020  if (pB.mass() > maxmassJpsiTk || pB.mass() < minmassJpsiTk)
1021  continue;
1022  reco::TransientTrack trTT(itrk1, &magneticField);
1023  std::vector<reco::TransientTrack> t_tks;
1024  t_tks.push_back(mu2TT);
1025  t_tks.push_back(trTT);
1026  KalmanVertexFitter kvf;
1027  TransientVertex tv = kvf.vertex(t_tks);
1028  reco::Vertex vertex = tv;
1029  if (!tv.isValid())
1030  continue;
1031  float JpsiTkCL = 0;
1032  if ((vertex.chi2() >= 0.0) && (vertex.ndof() > 0))
1033  JpsiTkCL = TMath::Prob(vertex.chi2(), vertex.ndof());
1034  math::XYZVector pperp(m1.px() + itrk1.px(), m1.py() + itrk1.py(), 0.);
1036  GlobalError err = tv.positionError();
1037  GlobalPoint displacementFromBeamspot(
1038  -1 * ((vertexBeamSpot.x0() - secondaryVertex.x()) +
1039  (secondaryVertex.z() - vertexBeamSpot.z0()) * vertexBeamSpot.dxdz()),
1040  -1 * ((vertexBeamSpot.y0() - secondaryVertex.y()) +
1041  (secondaryVertex.z() - vertexBeamSpot.z0()) * vertexBeamSpot.dydz()),
1042  0);
1043  reco::Vertex::Point vperp(displacementFromBeamspot.x(), displacementFromBeamspot.y(), 0.);
1044  if (JpsiTkCL < minprob)
1045  continue;
1046 
1047  muPhi_.denominator->Fill(m1.phi());
1048  muEta_.denominator->Fill(m1.eta());
1049  muPt_.denominator->Fill(m1.pt());
1050 
1051  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
1052  if (!matchToTrigger(hltpath1, m1))
1053  continue;
1054  if (!matchToTrigger(hltpath1, m))
1055  continue;
1056  if (!matchToTrigger(hltpath1, t))
1057  continue;
1058  muPhi_.numerator->Fill(m1.phi(), PrescaleWeight);
1059  muEta_.numerator->Fill(m1.eta(), PrescaleWeight);
1060  muPt_.numerator->Fill(m1.pt(), PrescaleWeight);
1061  }
1062  }
1063 
1064  break;
1065 
1066  case 11:
1067 
1068  if (dimuonCL < minprob)
1069  continue;
1070  if (fabs(jpsi_cos) < mincos)
1071  continue;
1072  if (displacementFromBeamspotJpsi.perp() / sqrt(jerr.rerr(displacementFromBeamspotJpsi)) < minDS)
1073  continue;
1074 
1075  if (trHandle.isValid())
1076  for (auto const& t : *trHandle) {
1077  if (!trSelection_ref(t))
1078  continue;
1079  if ((reco::deltaR(t, m) <= min_dR))
1080  continue;
1081  if ((reco::deltaR(t, m1) <= min_dR))
1082  continue;
1083 
1084  for (auto const& t1 : *trHandle) {
1085  if (&t - &(*trHandle)[0] >= &t1 - &(*trHandle)[0])
1086  continue; // not enough, need the following DeltaR checks
1087  if (!trSelection_ref(t1))
1088  continue;
1089  if ((reco::deltaR(t1, m) <= min_dR))
1090  continue;
1091  if ((reco::deltaR(t1, m1) <= min_dR))
1092  continue;
1093  if ((reco::deltaR(t, t1) <= min_dR))
1094  continue;
1095  const reco::Track& itrk1 = t;
1096  const reco::Track& itrk2 = t1;
1098  continue;
1100  continue;
1101 
1102  // reconstruct Bs candidate
1103  reco::Particle::LorentzVector pB, pTkTk, p1, p2, p3, p4;
1104  double trackMass2 = kaon_mass * kaon_mass;
1105  double MuMass2 = mu_mass * mu_mass;
1106  double e1 = sqrt(m.momentum().Mag2() + MuMass2);
1107  double e2 = sqrt(m1.momentum().Mag2() + MuMass2);
1108  double e3 = sqrt(itrk1.momentum().Mag2() + trackMass2);
1109  double e4 = sqrt(itrk2.momentum().Mag2() + trackMass2);
1110  p1 = reco::Particle::LorentzVector(m.px(), m.py(), m.pz(), e1);
1111  p2 = reco::Particle::LorentzVector(m1.px(), m1.py(), m1.pz(), e2);
1112  p3 = reco::Particle::LorentzVector(itrk1.px(), itrk1.py(), itrk1.pz(), e3);
1113  p4 = reco::Particle::LorentzVector(itrk2.px(), itrk2.py(), itrk2.pz(), e4);
1114  pTkTk = p3 + p4;
1115  if (pTkTk.mass() > maxmassTkTk || pTkTk.mass() < minmassTkTk)
1116  continue;
1117  pB = p1 + p2 + p3 + p4;
1118  if (pB.mass() > maxmassJpsiTk || pB.mass() < minmassJpsiTk)
1119  continue;
1120  reco::TransientTrack mu1TT(m.track(), &magneticField);
1121  reco::TransientTrack mu2TT(m1.track(), &magneticField);
1122  reco::TransientTrack trTT(itrk1, &magneticField);
1123  reco::TransientTrack tr1TT(itrk2, &magneticField);
1124  std::vector<reco::TransientTrack> t_tks;
1125  t_tks.push_back(mu1TT);
1126  t_tks.push_back(mu2TT);
1127  t_tks.push_back(trTT);
1128  t_tks.push_back(tr1TT);
1129  KalmanVertexFitter kvf;
1130  TransientVertex tv = kvf.vertex(t_tks); // this will compare the tracks
1131  reco::Vertex vertex = tv;
1132  if (!tv.isValid())
1133  continue;
1134  float JpsiTkCL = 0;
1135  if ((vertex.chi2() >= 0.0) && (vertex.ndof() > 0))
1136  JpsiTkCL = TMath::Prob(vertex.chi2(), vertex.ndof());
1137  math::XYZVector pperp(
1138  m.px() + m1.px() + itrk1.px() + itrk2.px(), m.py() + m1.py() + itrk1.py() + itrk2.py(), 0.);
1140  GlobalError err = tv.positionError();
1141  GlobalPoint displacementFromBeamspot(
1142  -1 * ((vertexBeamSpot.x0() - secondaryVertex.x()) +
1143  (secondaryVertex.z() - vertexBeamSpot.z0()) * vertexBeamSpot.dxdz()),
1144  -1 * ((vertexBeamSpot.y0() - secondaryVertex.y()) +
1145  (secondaryVertex.z() - vertexBeamSpot.z0()) * vertexBeamSpot.dydz()),
1146  0);
1147  reco::Vertex::Point vperp(displacementFromBeamspot.x(), displacementFromBeamspot.y(), 0.);
1148  float jpsiKcos = vperp.Dot(pperp) / (vperp.R() * pperp.R());
1149  if (JpsiTkCL < minprob)
1150  continue;
1151  if (fabs(jpsiKcos) < mincos)
1152  continue;
1153  if ((displacementFromBeamspot.perp() / sqrt(err.rerr(displacementFromBeamspot))) < minDS)
1154  continue;
1155 
1156  mu1Phi_.denominator->Fill(t.phi());
1157  mu1Eta_.denominator->Fill(t.eta());
1158  mu1Pt_.denominator->Fill(t.pt());
1159  mu2Phi_.denominator->Fill(t1.phi());
1160  mu2Eta_.denominator->Fill(t1.eta());
1161  mu2Pt_.denominator->Fill(t1.pt());
1162  BMass_.denominator->Fill(pB.mass());
1163 
1164  if (num_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->accept(iEvent, iSetup)) {
1165  if (!matchToTrigger(hltpath1, m))
1166  continue;
1167  if (!matchToTrigger(hltpath1, m1))
1168  continue;
1169  if (!matchToTrigger(hltpath1, t))
1170  continue;
1171  if (!matchToTrigger(hltpath1, t1))
1172  continue;
1173  mu1Phi_.numerator->Fill(t.phi(), PrescaleWeight);
1174  mu1Eta_.numerator->Fill(t.eta(), PrescaleWeight);
1175  mu1Pt_.numerator->Fill(t.pt(), PrescaleWeight);
1176  mu2Phi_.numerator->Fill(t1.phi(), PrescaleWeight);
1177  mu2Eta_.numerator->Fill(t1.eta(), PrescaleWeight);
1178  mu2Pt_.numerator->Fill(t1.pt(), PrescaleWeight);
1179  BMass_.numerator->Fill(pB.mass(), PrescaleWeight);
1180  }
1181 
1182  } // for (auto const & t1 : *trHandle)
1183  } // for (auto const & t : *trHandle)
1184 
1185  break;
1186  }
1187  }
1188  }
1189  }
1190 }

References pwdgSkimBPark_cfi::beamSpot, BMass_, bsToken_, ClosestApproachInRPhi::calculate(), reco::Vertex::chi2(), SiPixelRawToDigiRegional_cfi::deltaPhi, reco::deltaR(), den_genTriggerEventFlag_, TriggerDQMBase::ObjME::denominator, DiMuDCA_, DiMudR_, DiMuDS_, DiMuEta_, DiMuMass_, DiMuPhi_, DiMuProb_, DiMuPt_, DiMuPVcos_, displaced_, ClosestApproachInRPhi::distance(), DMSelection_ref, reco::BeamSpot::dxdz(), reco::BeamSpot::dydz(), StorageManager_cfg::e1, SiPixelPhase1Clusters_cfi::e3, vertexPlots::e4, enum_, runTheMatrix::err, dqm::impl::MonitorElement::Fill(), edm::EventSetup::getData(), getTriggerName(), handleTriggerEvent, reco::TrackBase::highPurity, hltInputTag_, hltpaths_den, hltpaths_num, hltPathsAreValid_, hltPrescale_, mps_fire::i, iEvent, createfilelist::int, edm::HandleBase::isValid(), TrajectoryStateClosestToPoint::isValid(), TransientVertex::isValid(), Jpsi_, kaon_mass, edm::InputTag::label(), visualization-live-secondInstance_cfg::m, HLT_2018_cff::magneticField, magneticFieldToken_, matchToTrigger(), maxmass_, maxmassJpsi, maxmassJpsiTk, maxmassTkTk, maxmassUpsilon, min_dR, mincos, minDS, minmass_, minmassJpsi, minmassJpsiTk, minmassTkTk, minmassUpsilon, minprob, reco::TrackBase::momentum(), mu1Eta_, mu1Phi_, mu1Pt_, mu2Eta_, mu2Phi_, mu2Pt_, mu3Eta_, mu3Phi_, mu3Pt_, mu_mass, muEta_, muoSelection_, muoSelection_ref, muoToken_, muPhi_, muPt_, reco::Vertex::ndof(), num_genTriggerEventFlag_, TriggerDQMBase::ObjME::numerator, AlCaHLTBitMon_ParallelJobs::p, p1, p2, p3, p4, PV3DBase< T, PVType, FrameType >::perp(), phEta_, VtxSmearedParameters_cfi::Phi, phInputTag_, phPhi_, phPt_, phToken_, TransientVertex::position(), TransientVertex::positionError(), Prescale(), DiDispStaMuonMonitor_cfi::pt, ptCut_, reco::TrackBase::px(), reco::TrackBase::py(), reco::TrackBase::pz(), reco::TrackBase::quality(), requireValidHLTPaths_, GlobalErrorBase< T, ErrorWeightType >::rerr(), seagull_, singleTopDQM_miniAOD_cfi::secondaryVertex, trigger::TriggerEvent::sizeFilters(), mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, OrderedSet::t, RandomServiceHelper::t1, TrajectoryStateClosestToPoint::theState(), tnp_, trSelection_ref, trToken_, Upsilon_, bphysicsOniaDQM_cfi::vertex, KalmanVertexFitter::vertex(), PV3DBase< T, PVType, FrameType >::x(), reco::BeamSpot::x0(), PV3DBase< T, PVType, FrameType >::y(), reco::BeamSpot::y0(), PV3DBase< T, PVType, FrameType >::z(), and reco::BeamSpot::z0().

◆ bookHistograms()

void BPHMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 295 of file BPHMonitor.cc.

295  {
296  // Initialize the GenericTriggerEventFlag
298  num_genTriggerEventFlag_->initRun(iRun, iSetup);
299  }
301  den_genTriggerEventFlag_->initRun(iRun, iSetup);
302  }
303 
304  // check if every HLT path specified in numerator and denominator has a valid match in the HLT Menu
306  den_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->allHLTPathsAreValid() &&
307  den_genTriggerEventFlag_->allHLTPathsAreValid());
308 
309  // if valid HLT paths are required,
310  // create DQM outputs only if all paths are valid
312  return;
313  }
314 
315  std::string histname, histtitle, istnp, trMuPh;
316 
317  bool Ph_ = false;
318  if (enum_ == 7)
319  Ph_ = true;
320  if (tnp_)
321  istnp = "Tag_and_Probe/";
322  else
323  istnp = "";
324 
325  std::string currentFolder = folderName_ + istnp;
326  ibooker.setCurrentFolder(currentFolder);
327 
328  if (trOrMu_)
329  trMuPh = "tr";
330  else if (Ph_)
331  trMuPh = "ph";
332  else
333  trMuPh = "mu";
334 
335  if (enum_ == 7 || enum_ == 1 || enum_ == 9 || enum_ == 10) {
336  histname = trMuPh + "Pt";
337  histtitle = trMuPh + "_P_{t}";
338  bookME(ibooker, muPt_, histname, histtitle, pt_variable_binning_);
339  setMETitle(muPt_, trMuPh + "_Pt[GeV]", "events / 1 GeV");
340 
341  histname = trMuPh + "Phi";
342  histtitle = trMuPh + "Phi";
343  bookME(ibooker, muPhi_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
344  setMETitle(muPhi_, trMuPh + "_#phi", "events / 0.1 rad");
345 
346  histname = trMuPh + "Eta";
347  histtitle = trMuPh + "_Eta";
348  bookME(ibooker, muEta_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax);
349  setMETitle(muEta_, trMuPh + "_#eta", "events / 0.2");
350 
351  if (enum_ == 9) {
352  histname = "BMass";
353  histtitle = "BMass";
354  bookME(ibooker, BMass_, histname, histtitle, Bmass_binning_.nbins, mass_binning_.xmin, mass_binning_.xmax);
355  setMETitle(BMass_, "B_#mass", "events /");
356  }
357  } else {
358  if (enum_ != 8) {
359  histname = trMuPh + "1Pt";
360  histtitle = trMuPh + "1_P_{t}";
361  bookME(ibooker, mu1Pt_, histname, histtitle, pt_variable_binning_);
362  setMETitle(mu1Pt_, trMuPh + "_Pt[GeV]", "events / 1 GeV");
363 
364  histname = trMuPh + "1Phi";
365  histtitle = trMuPh + "1Phi";
366  bookME(ibooker, mu1Phi_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
367  setMETitle(mu1Phi_, trMuPh + "_#phi", "events / 0.1 rad");
368 
369  histname = trMuPh + "1Eta";
370  histtitle = trMuPh + "1_Eta";
371  bookME(ibooker, mu1Eta_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax);
372  setMETitle(mu1Eta_, trMuPh + "_#eta", "events / 0.2");
373 
374  histname = trMuPh + "2Pt";
375  histtitle = trMuPh + "2_P_{t}";
376  bookME(ibooker, mu2Pt_, histname, histtitle, pt_variable_binning_);
377  setMETitle(mu2Pt_, trMuPh + "_Pt[GeV]", "events / 1 GeV");
378 
379  histname = trMuPh + "2Phi";
380  histtitle = trMuPh + "2Phi";
381  bookME(ibooker, mu2Phi_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
382  setMETitle(mu2Phi_, trMuPh + "_#phi", "events / 0.1 rad");
383 
384  histname = trMuPh + "2Eta";
385  histtitle = trMuPh + "2_Eta";
386  bookME(ibooker, mu2Eta_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax);
387  setMETitle(mu2Eta_, trMuPh + "_#eta", "events / 0.2");
388  if (enum_ == 11) {
389  histname = "BMass";
390  histtitle = "BMass";
391  bookME(ibooker, BMass_, histname, histtitle, Bmass_binning_.nbins, mass_binning_.xmin, mass_binning_.xmax);
392  setMETitle(BMass_, "B_#mass", "events /");
393  }
394  }
395  if (enum_ == 6) {
396  histname = trMuPh + "3Eta";
397  histtitle = trMuPh + "3Eta";
398  bookME(ibooker, mu3Eta_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax);
399  setMETitle(mu3Eta_, trMuPh + "3#eta", "events / 0.2");
400 
401  histname = trMuPh + "3Pt";
402  histtitle = trMuPh + "3_P_{t}";
403  bookME(ibooker, mu3Pt_, histname, histtitle, pt_variable_binning_);
404  setMETitle(mu3Pt_, trMuPh + "3_Pt[GeV]", "events / 1 GeV");
405 
406  histname = trMuPh + "3Phi";
407  histtitle = trMuPh + "3Phi";
408  bookME(ibooker, mu3Phi_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
409  setMETitle(mu3Phi_, trMuPh + "3_#phi", "events / 0.1 rad");
410 
411  } else if (enum_ == 2 || enum_ == 4 || enum_ == 5 || enum_ == 8) {
412  histname = "DiMuEta";
413  histtitle = "DiMuEta";
414  bookME(ibooker, DiMuEta_, histname, histtitle, eta_binning_.nbins, eta_binning_.xmin, eta_binning_.xmax);
415  setMETitle(DiMuEta_, "DiMu#eta", "events / 0.2");
416 
417  histname = "DiMuPt";
418  histtitle = "DiMu_P_{t}";
419  bookME(ibooker, DiMuPt_, histname, histtitle, dMu_pt_variable_binning_);
420  setMETitle(DiMuPt_, "DiMu_Pt[GeV]", "events / 1 GeV");
421 
422  histname = "DiMuPhi";
423  histtitle = "DiMuPhi";
424  bookME(ibooker, DiMuPhi_, histname, histtitle, phi_binning_.nbins, phi_binning_.xmin, phi_binning_.xmax);
425  setMETitle(DiMuPhi_, "DiMu_#phi", "events / 0.1 rad");
426 
427  if (enum_ == 4 || enum_ == 5) {
428  histname = "DiMudR";
429  histtitle = "DiMudR";
430  bookME(ibooker, DiMudR_, histname, histtitle, dR_binning_.nbins, dR_binning_.xmin, dR_binning_.xmax);
431  setMETitle(DiMudR_, "DiMu_#dR", "events /");
432 
433  if (enum_ == 4) {
434  histname = "DiMuMass";
435  histtitle = "DiMuMass";
436  bookME(ibooker, DiMuMass_, histname, histtitle, mass_binning_.nbins, mass_binning_.xmin, mass_binning_.xmax);
437  setMETitle(DiMuMass_, "DiMu_#mass", "events /");
438  }
439  } else if (enum_ == 8) {
440  histname = "DiMuProb";
441  histtitle = "DiMuProb";
442  bookME(ibooker, DiMuProb_, histname, histtitle, prob_variable_binning_);
443  setMETitle(DiMuProb_, "DiMu_#prob", "events /");
444 
445  histname = "DiMuPVcos";
446  histtitle = "DiMuPVcos";
447  bookME(ibooker, DiMuPVcos_, histname, histtitle, cos_binning_.nbins, cos_binning_.xmin, cos_binning_.xmax);
448  setMETitle(DiMuPVcos_, "DiMu_#cosPV", "events /");
449 
450  histname = "DiMuDS";
451  histtitle = "DiMuDS";
452  bookME(ibooker, DiMuDS_, histname, histtitle, ds_binning_.nbins, ds_binning_.xmin, ds_binning_.xmax);
453  setMETitle(DiMuDS_, "DiMu_#ds", "events /");
454 
455  histname = "DiMuDCA";
456  histtitle = "DiMuDCA";
457  bookME(ibooker, DiMuDCA_, histname, histtitle, dca_binning_.nbins, dca_binning_.xmin, dca_binning_.xmax);
458  setMETitle(DiMuDCA_, "DiMu_#dca", "events /");
459  }
460  } // if (enum_ == 2 || enum_ == 4 || enum_ == 5 || enum_ == 8)
461  }
462 
463  bool changed = true;
464 
465  hltPrescale_->init(iRun, iSetup, "HLT", changed);
467 }

References BMass_, Bmass_binning_, TriggerDQMBase::bookME(), cos_binning_, dca_binning_, den_genTriggerEventFlag_, DiMuDCA_, DiMudR_, DiMuDS_, DiMuEta_, DiMuMass_, DiMuPhi_, DiMuProb_, DiMuPt_, DiMuPVcos_, dMu_pt_variable_binning_, dR_binning_, ds_binning_, enum_, eta_binning_, folderName_, hltConfig_, HLTPrescaleProvider::hltConfigProvider(), hltPathsAreValid_, hltPrescale_, HLTPrescaleProvider::init(), mass_binning_, mu1Eta_, mu1Phi_, mu1Pt_, mu2Eta_, mu2Phi_, mu2Pt_, mu3Eta_, mu3Phi_, mu3Pt_, muEta_, muPhi_, muPt_, TriggerDQMBase::MEbinning::nbins, num_genTriggerEventFlag_, phi_binning_, prob_variable_binning_, pt_variable_binning_, requireValidHLTPaths_, dqm::implementation::NavigatorBase::setCurrentFolder(), TriggerDQMBase::setMETitle(), AlCaHLTBitMon_QueryRunRegistry::string, tnp_, trOrMu_, TriggerDQMBase::MEbinning::xmax, and TriggerDQMBase::MEbinning::xmin.

◆ fillDescriptions()

void BPHMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 1192 of file BPHMonitor.cc.

1192  {
1194  desc.add<std::string>("FolderName", "HLT/BPH/");
1195  desc.add<bool>("requireValidHLTPaths", true);
1196 
1197  desc.add<edm::InputTag>("tracks", edm::InputTag("generalTracks"));
1198  desc.add<edm::InputTag>("photons", edm::InputTag("photons"));
1199  desc.add<edm::InputTag>("offlinePVs", edm::InputTag("offlinePrimaryVertices"));
1200  desc.add<edm::InputTag>("beamSpot", edm::InputTag("offlineBeamSpot"));
1201  desc.add<edm::InputTag>("muons", edm::InputTag("muons"));
1202  desc.add<edm::InputTag>("hltTriggerSummaryAOD", edm::InputTag("hltTriggerSummaryAOD", "", "HLT"));
1203  desc.add<std::string>("muoSelection", "");
1204  desc.add<std::string>("muoSelection_ref",
1205  "isPFMuon & isGlobalMuon & innerTrack.hitPattern.trackerLayersWithMeasurement>5 & "
1206  "innerTrack.hitPattern.numberOfValidPixelHits> 0");
1207  desc.add<std::string>(
1208  "muoSelection_tag",
1209  "isGlobalMuon && isPFMuon && isTrackerMuon && abs(eta) < 2.4 && innerTrack.hitPattern.numberOfValidPixelHits > 0 "
1210  "&& innerTrack.hitPattern.trackerLayersWithMeasurement > 5 && globalTrack.hitPattern.numberOfValidMuonHits > 0 "
1211  "&& globalTrack.normalizedChi2 < 10"); // tight selection for tag muon
1212  desc.add<std::string>("muoSelection_probe",
1213  "isPFMuon & isGlobalMuon & innerTrack.hitPattern.trackerLayersWithMeasurement>5 & "
1214  "innerTrack.hitPattern.numberOfValidPixelHits> 0");
1215  desc.add<std::string>("trSelection_ref", "");
1216  desc.add<std::string>("DMSelection_ref", "Pt>4 & abs(eta)");
1217 
1218  desc.add<int>("nmuons", 1);
1219  desc.add<bool>("tnp", false);
1220  desc.add<int>("L3", 0);
1221  desc.add<int>("ptCut", 0);
1222  desc.add<int>("displaced", 0);
1223  desc.add<int>("trOrMu", 0); // if =0, track param monitoring
1224  desc.add<int>("Jpsi", 0);
1225  desc.add<int>("Upsilon", 0);
1226  desc.add<int>("enum", 1); // 1...9, 9 sets of variables to be filled, depends on the hlt path
1227  desc.add<int>("seagull", 1);
1228  desc.add<double>("maxmass", 3.596);
1229  desc.add<double>("minmass", 2.596);
1230  desc.add<double>("maxmassJpsi", 3.2);
1231  desc.add<double>("minmassJpsi", 3.);
1232  desc.add<double>("maxmassUpsilon", 10.0);
1233  desc.add<double>("minmassUpsilon", 8.8);
1234  desc.add<double>("maxmassTkTk", 10);
1235  desc.add<double>("minmassTkTk", 0);
1236  desc.add<double>("maxmassJpsiTk", 5.46);
1237  desc.add<double>("minmassJpsiTk", 5.1);
1238  desc.add<double>("kaon_mass", 0.493677);
1239  desc.add<double>("mu_mass", 0.1056583745);
1240  desc.add<double>("min_dR", 0.001);
1241  desc.add<double>("max_dR", 1.4);
1242  desc.add<double>("minprob", 0.005);
1243  desc.add<double>("mincos", 0.95);
1244  desc.add<double>("minDS", 3.);
1245  desc.add<unsigned int>("stageL1Trigger", 1);
1246 
1248  genericTriggerEventPSet.add<bool>("andOr");
1249  genericTriggerEventPSet.add<edm::InputTag>("dcsInputTag", edm::InputTag("scalersRawToDigi"));
1250  genericTriggerEventPSet.add<edm::InputTag>("hltInputTag", edm::InputTag("TriggerResults::HLT"));
1251  genericTriggerEventPSet.add<std::vector<int>>("dcsPartitions", {});
1252  genericTriggerEventPSet.add<bool>("andOrDcs", false);
1253  genericTriggerEventPSet.add<bool>("errorReplyDcs", true);
1254  genericTriggerEventPSet.add<std::string>("dbLabel", "");
1255  genericTriggerEventPSet.add<bool>("andOrHlt", true);
1256  genericTriggerEventPSet.add<bool>("andOrL1", true);
1257  genericTriggerEventPSet.add<std::vector<std::string>>("hltPaths", {});
1258  genericTriggerEventPSet.add<std::vector<std::string>>("l1Algorithms", {});
1259  genericTriggerEventPSet.add<std::string>("hltDBKey", "");
1260  genericTriggerEventPSet.add<bool>("errorReplyHlt", false);
1261  genericTriggerEventPSet.add<bool>("errorReplyL1", true);
1262  genericTriggerEventPSet.add<bool>("l1BeforeMask", true);
1263  genericTriggerEventPSet.add<unsigned int>("verbosityLevel", 0);
1264  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
1265  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
1266 
1271  edm::ParameterSetDescription dMu_ptPSet;
1285  fillHistoPSetDescription(dMu_ptPSet);
1295  fillHistoPSetDescription(probPSet);
1296  histoPSet.add<std::vector<double>>("ptBinning", {-0.5, 0, 2, 4, 8, 10, 12, 16, 20, 25, 30, 35, 40, 50});
1297  histoPSet.add<std::vector<double>>("dMuPtBinning", {6, 8, 12, 16, 20, 25, 30, 35, 40, 50, 70});
1298  histoPSet.add<std::vector<double>>("probBinning",
1299  {0.01, 0.02, 0.04, 0.06, 0.08, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0});
1310  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
1311 
1312  descriptions.add("bphMonitoring", desc);
1313 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), BPHMonitor_cfi::BmassPSet, BPHMonitor_cfi::cosPSet, BPHMonitor_cfi::d0PSet, BPHMonitor_cfi::dcaPSet, BPHMonitor_cff::dRPSet, BPHMonitor_cfi::dsPSet, V0Monitor_cfi::etaPSet, TriggerDQMBase::fillHistoPSetDescription(), SiStripSourceConfigTier0_cff::genericTriggerEventPSet, LumiMonitor_cff::histoPSet, HLT_2018_cff::InputTag, V0Monitor_cff::massPSet, BPHMonitor_cff::phiPSet, V0Monitor_cfi::ptPSet, AlCaHLTBitMon_QueryRunRegistry::string, and BPHMonitor_cfi::z0PSet.

◆ getTriggerName()

std::string BPHMonitor::getTriggerName ( std::string  partialName)
private

Definition at line 1315 of file BPHMonitor.cc.

1315  {
1316  const std::string trigger_name_tmp = partialName.substr(0, partialName.find("v*"));
1317  const unsigned int Ntriggers(hltConfig_.size());
1318  std::string trigger_name = "";
1319  for (unsigned int i = 0; i < Ntriggers; i++) {
1320  trigger_name = hltConfig_.triggerName(i);
1321  if (trigger_name.find(trigger_name_tmp) != std::string::npos)
1322  break;
1323  }
1324 
1325  return trigger_name;
1326 }

References hltConfig_, mps_fire::i, HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, and HLTConfigProvider::triggerName().

Referenced by analyze(), and matchToTrigger().

◆ matchToTrigger()

template<typename T >
bool BPHMonitor::matchToTrigger ( const std::string &  theTriggerName,
T  t 
)
protected

Definition at line 1329 of file BPHMonitor.cc.

1329  {
1330  bool matched = false;
1331  //validity check
1332  if (!hltConfig_.inited())
1333  return false;
1334 
1335  //Find the precise trigger name
1336  std::string trigger_name = getTriggerName(theTriggerName);
1337  const unsigned int trigger_index = hltConfig_.triggerIndex(trigger_name);
1338 
1339  //loop over all the modules for this trigger
1340  //by default use the last one
1341  unsigned int Nmodules = hltConfig_.size(trigger_index);
1342  const vector<string>& moduleLabels(hltConfig_.moduleLabels(trigger_index));
1343  unsigned int fIdx = 0;
1344  for (unsigned int i = 0; i < Nmodules; i++) {
1345  const unsigned int tmp_fIdx =
1347  if (tmp_fIdx < handleTriggerEvent->sizeFilters()) //index of not used filters are set to sizeFilters()
1348  {
1349  fIdx = tmp_fIdx;
1350  } //good index
1351  }
1352 
1353  //loop over all the objects in the filter of choice
1354  const trigger::Keys& KEYS(handleTriggerEvent->filterKeys(fIdx));
1355  const trigger::size_type nK(KEYS.size());
1357  for (trigger::size_type i = 0; i != nK; ++i) {
1358  const trigger::TriggerObject& TO(TOC[KEYS[i]]);
1359  //perform matching: deltaR and pt check
1360  if ((reco::deltaR(t.eta(), t.phi(), TO.eta(), TO.phi()) <= 0.2) && (TMath::Abs(t.pt() - TO.pt()) < 0.12)) {
1361  matched = true;
1362  }
1363  }
1364 
1365  return matched;
1366 }

References Abs(), reco::deltaR(), trigger::TriggerObject::eta(), trigger::TriggerEvent::filterIndex(), trigger::TriggerEvent::filterKeys(), trigger::TriggerEvent::getObjects(), getTriggerName(), handleTriggerEvent, hltConfig_, hltInputTag_1, mps_fire::i, HLTConfigProvider::inited(), muonTagProbeFilters_cff::matched, HLTConfigProvider::moduleLabels(), trigger::TriggerObject::phi(), edm::InputTag::process(), trigger::TriggerObject::pt(), HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, OrderedSet::t, and HLTConfigProvider::triggerIndex().

Referenced by analyze().

◆ Prescale()

double BPHMonitor::Prescale ( const std::string  num,
const std::string  den,
edm::Event const &  iEvent,
edm::EventSetup const &  iSetup,
HLTPrescaleProvider hltPrescale_ 
)
protected

Definition at line 1368 of file BPHMonitor.cc.

1372  {
1373  int PrescaleHLT_num = 1;
1374  int PrescaleHLT_den = 1;
1375  double Prescale_num = 1;
1376  double L1P = 1, HLTP = 1;
1377  bool flag = true;
1378  std::vector<bool> theSame_den;
1379  std::vector<bool> theSame_num;
1380  //retrieving HLT prescale
1381  PrescaleHLT_den = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath)).second;
1382  PrescaleHLT_num = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).second;
1383  if (PrescaleHLT_den > 0 && PrescaleHLT_num > 0)
1384  HLTP = PrescaleHLT_num / std::__gcd(PrescaleHLT_num, PrescaleHLT_den);
1385 
1386  //retrieving L1 prescale
1387  //Checking if we have the same l1 seeds in den and num
1388  //taking into account that they can be written in different order in num and den
1389  //and some of them can be also switched off
1390 
1391  //check if for each den l1 there is the same l1 seed in num
1392  if (!(hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath)).first.empty()) {
1393  for (size_t iSeed = 0; iSeed < (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath)).first.size();
1394  ++iSeed) {
1395  std::string l1_den = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath)).first.at(iSeed).first;
1396  int l1_denp = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath)).first.at(iSeed).second;
1397  if (l1_denp < 1)
1398  continue;
1399  flag = false;
1400  for (size_t iSeed1 = 0; iSeed1 < (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.size();
1401  ++iSeed1) {
1402  std::string l1_num = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.at(iSeed1).first;
1403  int l1_nump = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.at(iSeed1).second;
1404  if (l1_num == l1_den && l1_nump >= 1) //the same seed
1405  {
1406  flag = true;
1407  break;
1408  }
1409  }
1410  theSame_den.push_back(flag);
1411  }
1412  }
1413  //check if for each num l1 there is the same l1 seed in den
1414  if (!(hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.empty()) {
1415  for (size_t iSeed = 0; iSeed < (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.size();
1416  ++iSeed) {
1417  std::string l1_num = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.at(iSeed).first;
1418  int l1_nump = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.at(iSeed).second;
1419  if (l1_nump < 1)
1420  continue;
1421  flag = false;
1422  for (size_t iSeed1 = 0; iSeed1 < (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath)).first.size();
1423  ++iSeed1) {
1424  std::string l1_den = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath)).first.at(iSeed1).first;
1425  int l1_denp = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath)).first.at(iSeed1).second;
1426  if (l1_den == l1_num && l1_denp >= 1) //the same seed
1427  {
1428  flag = true;
1429  break;
1430  }
1431  }
1432  theSame_num.push_back(flag);
1433  }
1434  }
1435  flag = true;
1436 
1437  if (theSame_num.size() == theSame_den.size()) {
1438  for (size_t i = 0; i < theSame_num.size(); ++i) {
1439  if ((!theSame_num.at(i)) || (!theSame_den.at(i))) {
1440  flag = false;
1441  break;
1442  }
1443  }
1444  }
1445 
1446  if (flag && (theSame_num.size() == theSame_den.size())) {
1447  L1P = 1; //den and num have the same set of l1 seeds
1448  } else {
1449  if (!(hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.empty()) {
1450  Prescale_num = 1;
1451  for (size_t iSeed = 0; iSeed < (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.size();
1452  ++iSeed) {
1453  int l1 = (hltPrescale_->prescaleValuesInDetail(iEvent, iSetup, hltpath1)).first.at(iSeed).second;
1454  if (l1 < 1)
1455  continue;
1456  if (l1 == 1) {
1457  Prescale_num = 1;
1458  break;
1459  } else
1460  Prescale_num *= 1 - (1.0 / (l1));
1461  }
1462  if (Prescale_num != 1)
1463  Prescale_num = 1.0 / (1 - Prescale_num);
1464  }
1465  L1P = Prescale_num;
1466  }
1467 
1468  return L1P * HLTP;
1469 }

References dqmdumpme::first, RemoveAddSevLevel::flag, hltPrescale_, mps_fire::i, iEvent, HLTPrescaleProvider::prescaleValuesInDetail(), edm::second(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by analyze().

Member Data Documentation

◆ BMass_

ObjME BPHMonitor::BMass_
private

Definition at line 136 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ Bmass_binning_

MEbinning BPHMonitor::Bmass_binning_
private

Definition at line 98 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ bsInputTag_

edm::InputTag BPHMonitor::bsInputTag_
private

Definition at line 76 of file BPHMonitor.cc.

◆ bsToken_

edm::EDGetTokenT<reco::BeamSpot> BPHMonitor::bsToken_
private

Definition at line 82 of file BPHMonitor.cc.

Referenced by analyze().

◆ cos_binning_

MEbinning BPHMonitor::cos_binning_
private

Definition at line 101 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ d0_binning_

MEbinning BPHMonitor::d0_binning_
private

Definition at line 94 of file BPHMonitor.cc.

◆ dca_binning_

MEbinning BPHMonitor::dca_binning_
private

Definition at line 99 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ den_genTriggerEventFlag_

std::unique_ptr<GenericTriggerEventFlag> BPHMonitor::den_genTriggerEventFlag_
private

Definition at line 140 of file BPHMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~BPHMonitor().

◆ DiMuDCA_

ObjME BPHMonitor::DiMuDCA_
private

Definition at line 134 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ DiMudR_

ObjME BPHMonitor::DiMudR_
private

Definition at line 137 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ DiMuDS_

ObjME BPHMonitor::DiMuDS_
private

Definition at line 133 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ DiMuEta_

ObjME BPHMonitor::DiMuEta_
private

Definition at line 129 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ DiMuMass_

ObjME BPHMonitor::DiMuMass_
private

Definition at line 135 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ DiMuPhi_

ObjME BPHMonitor::DiMuPhi_
private

Definition at line 128 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ DiMuProb_

ObjME BPHMonitor::DiMuProb_
private

Definition at line 132 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ DiMuPt_

ObjME BPHMonitor::DiMuPt_
private

Definition at line 130 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ DiMuPVcos_

ObjME BPHMonitor::DiMuPVcos_
private

Definition at line 131 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ displaced_

int BPHMonitor::displaced_
private

Definition at line 153 of file BPHMonitor.cc.

Referenced by analyze().

◆ DMSelection_ref

StringCutObjectSelector<reco::Candidate::LorentzVector, true> BPHMonitor::DMSelection_ref
private

Definition at line 184 of file BPHMonitor.cc.

Referenced by analyze().

◆ dMu_pt_variable_binning_

std::vector<double> BPHMonitor::dMu_pt_variable_binning_
private

Definition at line 90 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ dR_binning_

MEbinning BPHMonitor::dR_binning_
private

Definition at line 96 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ ds_binning_

MEbinning BPHMonitor::ds_binning_
private

Definition at line 100 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ enum_

int BPHMonitor::enum_
private

Definition at line 157 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ eta_binning_

MEbinning BPHMonitor::eta_binning_
private

Definition at line 93 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ folderName_

const std::string BPHMonitor::folderName_
private

Definition at line 70 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ handleTriggerEvent

edm::Handle<trigger::TriggerEvent> BPHMonitor::handleTriggerEvent
private

Definition at line 186 of file BPHMonitor.cc.

Referenced by analyze(), and matchToTrigger().

◆ hltConfig_

HLTConfigProvider BPHMonitor::hltConfig_
private

Definition at line 188 of file BPHMonitor.cc.

Referenced by bookHistograms(), getTriggerName(), and matchToTrigger().

◆ hltInputTag_

edm::EDGetTokenT<trigger::TriggerEvent> BPHMonitor::hltInputTag_
private

Definition at line 179 of file BPHMonitor.cc.

Referenced by analyze().

◆ hltInputTag_1

edm::InputTag BPHMonitor::hltInputTag_1
private

Definition at line 178 of file BPHMonitor.cc.

Referenced by matchToTrigger().

◆ hltpaths_den

std::vector<std::string> BPHMonitor::hltpaths_den
private

Definition at line 181 of file BPHMonitor.cc.

Referenced by analyze().

◆ hltpaths_num

std::vector<std::string> BPHMonitor::hltpaths_num
private

Definition at line 180 of file BPHMonitor.cc.

Referenced by analyze().

◆ hltPathsAreValid_

bool BPHMonitor::hltPathsAreValid_
private

Definition at line 73 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ hltPrescale_

HLTPrescaleProvider* BPHMonitor::hltPrescale_
private

Definition at line 142 of file BPHMonitor.cc.

Referenced by analyze(), bookHistograms(), Prescale(), and ~BPHMonitor().

◆ HLTR

edm::Handle<edm::TriggerResults> BPHMonitor::HLTR
private

Definition at line 189 of file BPHMonitor.cc.

◆ hltTrigResTag_

edm::EDGetTokenT<edm::TriggerResults> BPHMonitor::hltTrigResTag_
private

Definition at line 177 of file BPHMonitor.cc.

◆ Jpsi_

int BPHMonitor::Jpsi_
private

Definition at line 155 of file BPHMonitor.cc.

Referenced by analyze().

◆ kaon_mass

double BPHMonitor::kaon_mass
private

Definition at line 169 of file BPHMonitor.cc.

Referenced by analyze().

◆ L3_

int BPHMonitor::L3_
private

Definition at line 151 of file BPHMonitor.cc.

◆ magneticFieldToken_

edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> BPHMonitor::magneticFieldToken_
private

Definition at line 87 of file BPHMonitor.cc.

Referenced by analyze(), and BPHMonitor().

◆ mass_binning_

MEbinning BPHMonitor::mass_binning_
private

Definition at line 97 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ max_dR

double BPHMonitor::max_dR
private

Definition at line 172 of file BPHMonitor.cc.

◆ maxmass_

double BPHMonitor::maxmass_
private

Definition at line 159 of file BPHMonitor.cc.

Referenced by analyze().

◆ maxmassJpsi

double BPHMonitor::maxmassJpsi
private

Definition at line 161 of file BPHMonitor.cc.

Referenced by analyze().

◆ maxmassJpsiTk

double BPHMonitor::maxmassJpsiTk
private

Definition at line 167 of file BPHMonitor.cc.

Referenced by analyze().

◆ maxmassTkTk

double BPHMonitor::maxmassTkTk
private

Definition at line 165 of file BPHMonitor.cc.

Referenced by analyze().

◆ maxmassUpsilon

double BPHMonitor::maxmassUpsilon
private

Definition at line 163 of file BPHMonitor.cc.

Referenced by analyze().

◆ min_dR

double BPHMonitor::min_dR
private

Definition at line 171 of file BPHMonitor.cc.

Referenced by analyze().

◆ mincos

double BPHMonitor::mincos
private

Definition at line 175 of file BPHMonitor.cc.

Referenced by analyze().

◆ minDS

double BPHMonitor::minDS
private

Definition at line 176 of file BPHMonitor.cc.

Referenced by analyze().

◆ minmass_

double BPHMonitor::minmass_
private

Definition at line 160 of file BPHMonitor.cc.

Referenced by analyze().

◆ minmassJpsi

double BPHMonitor::minmassJpsi
private

Definition at line 162 of file BPHMonitor.cc.

Referenced by analyze().

◆ minmassJpsiTk

double BPHMonitor::minmassJpsiTk
private

Definition at line 168 of file BPHMonitor.cc.

Referenced by analyze().

◆ minmassTkTk

double BPHMonitor::minmassTkTk
private

Definition at line 166 of file BPHMonitor.cc.

Referenced by analyze().

◆ minmassUpsilon

double BPHMonitor::minmassUpsilon
private

Definition at line 164 of file BPHMonitor.cc.

Referenced by analyze().

◆ minprob

double BPHMonitor::minprob
private

Definition at line 174 of file BPHMonitor.cc.

Referenced by analyze().

◆ mu1d0_

ObjME BPHMonitor::mu1d0_
private

Definition at line 112 of file BPHMonitor.cc.

◆ mu1Eta_

ObjME BPHMonitor::mu1Eta_
private

Definition at line 110 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ mu1Phi_

ObjME BPHMonitor::mu1Phi_
private

Definition at line 109 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ mu1Pt_

ObjME BPHMonitor::mu1Pt_
private

Definition at line 111 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ mu1z0_

ObjME BPHMonitor::mu1z0_
private

Definition at line 113 of file BPHMonitor.cc.

◆ mu2d0_

ObjME BPHMonitor::mu2d0_
private

Definition at line 117 of file BPHMonitor.cc.

◆ mu2Eta_

ObjME BPHMonitor::mu2Eta_
private

Definition at line 115 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ mu2Phi_

ObjME BPHMonitor::mu2Phi_
private

Definition at line 114 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ mu2Pt_

ObjME BPHMonitor::mu2Pt_
private

Definition at line 116 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ mu2z0_

ObjME BPHMonitor::mu2z0_
private

Definition at line 118 of file BPHMonitor.cc.

◆ mu3d0_

ObjME BPHMonitor::mu3d0_
private

Definition at line 122 of file BPHMonitor.cc.

◆ mu3Eta_

ObjME BPHMonitor::mu3Eta_
private

Definition at line 120 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ mu3Phi_

ObjME BPHMonitor::mu3Phi_
private

Definition at line 119 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ mu3Pt_

ObjME BPHMonitor::mu3Pt_
private

Definition at line 121 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ mu3z0_

ObjME BPHMonitor::mu3z0_
private

Definition at line 123 of file BPHMonitor.cc.

◆ mu_mass

double BPHMonitor::mu_mass
private

Definition at line 170 of file BPHMonitor.cc.

Referenced by analyze().

◆ mud0_

ObjME BPHMonitor::mud0_
private

Definition at line 106 of file BPHMonitor.cc.

◆ muEta_

ObjME BPHMonitor::muEta_
private

Definition at line 104 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muoInputTag_

edm::InputTag BPHMonitor::muoInputTag_
private

Definition at line 75 of file BPHMonitor.cc.

◆ muoSelection_

StringCutObjectSelector<reco::Muon, true> BPHMonitor::muoSelection_
private

Definition at line 144 of file BPHMonitor.cc.

Referenced by analyze().

◆ muoSelection_probe

StringCutObjectSelector<reco::Muon, true> BPHMonitor::muoSelection_probe
private

Definition at line 147 of file BPHMonitor.cc.

◆ muoSelection_ref

StringCutObjectSelector<reco::Muon, true> BPHMonitor::muoSelection_ref
private

Definition at line 145 of file BPHMonitor.cc.

Referenced by analyze().

◆ muoSelection_tag

StringCutObjectSelector<reco::Muon, true> BPHMonitor::muoSelection_tag
private

Definition at line 146 of file BPHMonitor.cc.

◆ muoToken_

edm::EDGetTokenT<reco::MuonCollection> BPHMonitor::muoToken_
private

Definition at line 81 of file BPHMonitor.cc.

Referenced by analyze().

◆ muPhi_

ObjME BPHMonitor::muPhi_
private

Definition at line 103 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muPt_

ObjME BPHMonitor::muPt_
private

Definition at line 105 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muz0_

ObjME BPHMonitor::muz0_
private

Definition at line 107 of file BPHMonitor.cc.

◆ nmuons_

int BPHMonitor::nmuons_
private

Definition at line 149 of file BPHMonitor.cc.

◆ num_genTriggerEventFlag_

std::unique_ptr<GenericTriggerEventFlag> BPHMonitor::num_genTriggerEventFlag_
private

Definition at line 139 of file BPHMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~BPHMonitor().

◆ phEta_

ObjME BPHMonitor::phEta_
private

Definition at line 126 of file BPHMonitor.cc.

Referenced by analyze().

◆ phi_binning_

MEbinning BPHMonitor::phi_binning_
private

Definition at line 92 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ phInputTag_

edm::InputTag BPHMonitor::phInputTag_
private

Definition at line 78 of file BPHMonitor.cc.

Referenced by analyze().

◆ phPhi_

ObjME BPHMonitor::phPhi_
private

Definition at line 125 of file BPHMonitor.cc.

Referenced by analyze().

◆ phPt_

ObjME BPHMonitor::phPt_
private

Definition at line 127 of file BPHMonitor.cc.

Referenced by analyze().

◆ phToken_

edm::EDGetTokenT<reco::PhotonCollection> BPHMonitor::phToken_
private

Definition at line 84 of file BPHMonitor.cc.

Referenced by analyze().

◆ prob_variable_binning_

std::vector<double> BPHMonitor::prob_variable_binning_
private

Definition at line 91 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ pt_variable_binning_

std::vector<double> BPHMonitor::pt_variable_binning_
private

Definition at line 89 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ ptCut_

int BPHMonitor::ptCut_
private

◆ requireValidHLTPaths_

const bool BPHMonitor::requireValidHLTPaths_
private

Definition at line 72 of file BPHMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ seagull_

int BPHMonitor::seagull_
private

Definition at line 158 of file BPHMonitor.cc.

Referenced by analyze().

◆ tnp_

bool BPHMonitor::tnp_
private

Definition at line 150 of file BPHMonitor.cc.

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

◆ trInputTag_

edm::InputTag BPHMonitor::trInputTag_
private

Definition at line 77 of file BPHMonitor.cc.

◆ trOrMu_

int BPHMonitor::trOrMu_
private

Definition at line 154 of file BPHMonitor.cc.

Referenced by bookHistograms().

◆ trSelection_

StringCutObjectSelector<reco::Track, true> BPHMonitor::trSelection_
private

Definition at line 182 of file BPHMonitor.cc.

◆ trSelection_ref

StringCutObjectSelector<reco::Track, true> BPHMonitor::trSelection_ref
private

Definition at line 183 of file BPHMonitor.cc.

Referenced by analyze().

◆ trToken_

edm::EDGetTokenT<reco::TrackCollection> BPHMonitor::trToken_
private

Definition at line 83 of file BPHMonitor.cc.

Referenced by analyze().

◆ Upsilon_

int BPHMonitor::Upsilon_
private

Definition at line 156 of file BPHMonitor.cc.

Referenced by analyze().

◆ vtxInputTag_

edm::InputTag BPHMonitor::vtxInputTag_
private

Definition at line 79 of file BPHMonitor.cc.

◆ vtxToken_

edm::EDGetTokenT<reco::VertexCollection> BPHMonitor::vtxToken_
private

Definition at line 85 of file BPHMonitor.cc.

◆ z0_binning_

MEbinning BPHMonitor::z0_binning_
private

Definition at line 95 of file BPHMonitor.cc.

muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
BPHMonitor::mu1Eta_
ObjME mu1Eta_
Definition: BPHMonitor.cc:110
BPHMonitor::hltpaths_num
std::vector< std::string > hltpaths_num
Definition: BPHMonitor.cc:180
BPHMonitor::magneticFieldToken_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldToken_
Definition: BPHMonitor.cc:87
BPHMonitor::maxmassTkTk
double maxmassTkTk
Definition: BPHMonitor.cc:165
BPHMonitor::vtxInputTag_
edm::InputTag vtxInputTag_
Definition: BPHMonitor.cc:79
BPHMonitor::BMass_
ObjME BMass_
Definition: BPHMonitor.cc:136
KalmanVertexFitter::vertex
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &tracks) const override
Definition: KalmanVertexFitter.h:49
trigger::TriggerEvent::sizeFilters
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
BPHMonitor::minmassJpsi
double minmassJpsi
Definition: BPHMonitor.cc:162
V0Monitor_cfi.ptPSet
ptPSet
Definition: V0Monitor_cfi.py:25
BPHMonitor::mu1Phi_
ObjME mu1Phi_
Definition: BPHMonitor.cc:109
BPHMonitor::displaced_
int displaced_
Definition: BPHMonitor.cc:153
BPHMonitor::muEta_
ObjME muEta_
Definition: BPHMonitor.cc:104
mps_fire.i
i
Definition: mps_fire.py:355
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
trigger::TriggerEvent::filterKeys
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:118
BPHMonitor::mu2Pt_
ObjME mu2Pt_
Definition: BPHMonitor.cc:116
BPHMonitor::pt_variable_binning_
std::vector< double > pt_variable_binning_
Definition: BPHMonitor.cc:89
BPHMonitor_cff.dRPSet
dRPSet
Definition: BPHMonitor_cff.py:109
BPHMonitor::phToken_
edm::EDGetTokenT< reco::PhotonCollection > phToken_
Definition: BPHMonitor.cc:84
BPHMonitor::dMu_pt_variable_binning_
std::vector< double > dMu_pt_variable_binning_
Definition: BPHMonitor.cc:90
BPHMonitor_cfi.z0PSet
z0PSet
Definition: BPHMonitor_cfi.py:43
TransientVertex::isValid
bool isValid() const
Definition: TransientVertex.h:195
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
BPHMonitor::ds_binning_
MEbinning ds_binning_
Definition: BPHMonitor.cc:100
HLT_2018_cff.magneticField
magneticField
Definition: HLT_2018_cff.py:348
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
V0Monitor_cfi.etaPSet
etaPSet
Definition: V0Monitor_cfi.py:30
reco::BeamSpot::z0
double z0() const
z coordinate
Definition: BeamSpot.h:65
BPHMonitor::trSelection_ref
StringCutObjectSelector< reco::Track, true > trSelection_ref
Definition: BPHMonitor.cc:183
HLTPrescaleProvider::hltConfigProvider
HLTConfigProvider const & hltConfigProvider() const
Definition: HLTPrescaleProvider.h:51
BPHMonitor::mu2Phi_
ObjME mu2Phi_
Definition: BPHMonitor.cc:114
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
BPHMonitor::mu3Phi_
ObjME mu3Phi_
Definition: BPHMonitor.cc:119
BPHMonitor::z0_binning_
MEbinning z0_binning_
Definition: BPHMonitor.cc:95
BPHMonitor::mincos
double mincos
Definition: BPHMonitor.cc:175
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
BPHMonitor::muoSelection_probe
StringCutObjectSelector< reco::Muon, true > muoSelection_probe
Definition: BPHMonitor.cc:147
BPHMonitor::minmassJpsiTk
double minmassJpsiTk
Definition: BPHMonitor.cc:168
BPHMonitor::muoInputTag_
edm::InputTag muoInputTag_
Definition: BPHMonitor.cc:75
TransientVertex::position
GlobalPoint position() const
Definition: TransientVertex.h:169
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:215
edm::InputTag::process
std::string const & process() const
Definition: InputTag.h:40
SiStripSourceConfigTier0_cff.genericTriggerEventPSet
genericTriggerEventPSet
Definition: SiStripSourceConfigTier0_cff.py:96
reco::TrackBase::px
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:611
BPHMonitor::vtxToken_
edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Definition: BPHMonitor.cc:85
BPHMonitor::matchToTrigger
bool matchToTrigger(const std::string &theTriggerName, T t)
Definition: BPHMonitor.cc:1329
BPHMonitor_cfi.BmassPSet
BmassPSet
Definition: BPHMonitor_cfi.py:60
BPHMonitor::phPt_
ObjME phPt_
Definition: BPHMonitor.cc:127
BPHMonitor::DiMuDS_
ObjME DiMuDS_
Definition: BPHMonitor.cc:133
reco::BeamSpot::dxdz
double dxdz() const
dxdz slope
Definition: BeamSpot.h:78
BPHMonitor::minmassUpsilon
double minmassUpsilon
Definition: BPHMonitor.cc:164
BPHMonitor::muoSelection_tag
StringCutObjectSelector< reco::Muon, true > muoSelection_tag
Definition: BPHMonitor.cc:146
BPHMonitor::requireValidHLTPaths_
const bool requireValidHLTPaths_
Definition: BPHMonitor.cc:72
BPHMonitor::mu2Eta_
ObjME mu2Eta_
Definition: BPHMonitor.cc:115
edm::Handle< reco::BeamSpot >
dqmdumpme.first
first
Definition: dqmdumpme.py:55
BPHMonitor::muoSelection_
StringCutObjectSelector< reco::Muon, true > muoSelection_
Definition: BPHMonitor.cc:144
HLTConfigProvider::inited
bool inited() const
Accessors (const methods)
Definition: HLTConfigProvider.h:48
reco::Particle::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Particle.h:21
BPHMonitor_cfi.dcaPSet
dcaPSet
Definition: BPHMonitor_cfi.py:66
TriggerDQMBase::ObjME::numerator
MonitorElement * numerator
Definition: TriggerDQMBase.h:27
BPHMonitor::DiMuPVcos_
ObjME DiMuPVcos_
Definition: BPHMonitor.cc:131
BPHMonitor::L3_
int L3_
Definition: BPHMonitor.cc:151
BPHMonitor::dR_binning_
MEbinning dR_binning_
Definition: BPHMonitor.cc:96
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
BPHMonitor::phInputTag_
edm::InputTag phInputTag_
Definition: BPHMonitor.cc:78
HLTConfigProvider::moduleLabels
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
Definition: HLTConfigProvider.h:75
BPHMonitor::cos_binning_
MEbinning cos_binning_
Definition: BPHMonitor.cc:101
BPHMonitor::enum_
int enum_
Definition: BPHMonitor.cc:157
BPHMonitor::d0_binning_
MEbinning d0_binning_
Definition: BPHMonitor.cc:94
RandomServiceHelper.t1
t1
Definition: RandomServiceHelper.py:256
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
BPHMonitor::mass_binning_
MEbinning mass_binning_
Definition: BPHMonitor.cc:97
BPHMonitor::seagull_
int seagull_
Definition: BPHMonitor.cc:158
BPHMonitor::Prescale
double Prescale(const std::string num, const std::string den, edm::Event const &iEvent, edm::EventSetup const &iSetup, HLTPrescaleProvider *hltPrescale_)
Definition: BPHMonitor.cc:1368
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
Abs
T Abs(T a)
Definition: MathUtil.h:49
reco::TrackBase::py
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:614
ClosestApproachInRPhi::calculate
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
Definition: ClosestApproachInRPhi.cc:8
BPHMonitor::maxmassUpsilon
double maxmassUpsilon
Definition: BPHMonitor.cc:163
BPHMonitor::ptCut_
int ptCut_
Definition: BPHMonitor.cc:152
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
BPHMonitor::DiMuPhi_
ObjME DiMuPhi_
Definition: BPHMonitor.cc:128
BPHMonitor::Upsilon_
int Upsilon_
Definition: BPHMonitor.cc:156
TriggerDQMBase::setMETitle
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
Definition: TriggerDQMBase.cc:3
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
BPHMonitor::minDS
double minDS
Definition: BPHMonitor.cc:176
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
TriggerDQMBase::MEbinning::xmax
double xmax
Definition: TriggerDQMBase.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
BPHMonitor::minmassTkTk
double minmassTkTk
Definition: BPHMonitor.cc:166
reco::BeamSpot
Definition: BeamSpot.h:21
reco::Track
Definition: Track.h:27
p2
double p2[4]
Definition: TauolaWrapper.h:90
BPHMonitor::maxmass_
double maxmass_
Definition: BPHMonitor.cc:159
ClosestApproachInRPhi
Definition: ClosestApproachInRPhi.h:26
TriggerDQMBase::bookME
void bookME(DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)
Definition: TriggerDQMBase.cc:15
VtxSmearedParameters_cfi.Phi
Phi
Definition: VtxSmearedParameters_cfi.py:112
BPHMonitor::muPhi_
ObjME muPhi_
Definition: BPHMonitor.cc:103
Point3DBase< float, GlobalTag >
OrderedSet.t
t
Definition: OrderedSet.py:90
trigger::TriggerObject
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLTConfigProvider::size
unsigned int size() const
number of trigger paths in trigger table
Definition: HLTConfigProvider.h:62
GlobalErrorBase::rerr
T rerr(const GlobalPoint &aPoint) const
Definition: GlobalErrorBase.h:138
TriggerDQMBase::fillHistoPSetDescription
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
Definition: TriggerDQMBase.cc:108
BPHMonitor::muPt_
ObjME muPt_
Definition: BPHMonitor.cc:105
BPHMonitor::den_genTriggerEventFlag_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
Definition: BPHMonitor.cc:140
bphysicsOniaDQM_cfi.vertex
vertex
Definition: bphysicsOniaDQM_cfi.py:7
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
edm::ParameterSet
Definition: ParameterSet.h:36
BPHMonitor::trInputTag_
edm::InputTag trInputTag_
Definition: BPHMonitor.cc:77
GenericTriggerEventFlag
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
Definition: GenericTriggerEventFlag.h:42
runTheMatrix.err
err
Definition: runTheMatrix.py:288
BPHMonitor::phPhi_
ObjME phPhi_
Definition: BPHMonitor.cc:125
BPHMonitor::trSelection_
StringCutObjectSelector< reco::Track, true > trSelection_
Definition: BPHMonitor.cc:182
BPHMonitor::tnp_
bool tnp_
Definition: BPHMonitor.cc:150
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
V0Monitor_cff.massPSet
massPSet
Definition: V0Monitor_cff.py:8
HLTPrescaleProvider::prescaleValuesInDetail
std::pair< std::vector< std::pair< std::string, int > >, int > prescaleValuesInDetail(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger)
Definition: HLTPrescaleProvider.cc:224
BPHMonitor::mu3Eta_
ObjME mu3Eta_
Definition: BPHMonitor.cc:120
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
BPHMonitor::Jpsi_
int Jpsi_
Definition: BPHMonitor.cc:155
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
trigger::TriggerEvent::filterIndex
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
Definition: TriggerEvent.h:132
LumiMonitor_cff.histoPSet
histoPSet
Definition: LumiMonitor_cff.py:12
p4
double p4[4]
Definition: TauolaWrapper.h:92
BPHMonitor_cfi.cosPSet
cosPSet
Definition: BPHMonitor_cfi.py:78
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
BPHMonitor::hltInputTag_
edm::EDGetTokenT< trigger::TriggerEvent > hltInputTag_
Definition: BPHMonitor.cc:179
BPHMonitor::bsInputTag_
edm::InputTag bsInputTag_
Definition: BPHMonitor.cc:76
BPHMonitor::mu3Pt_
ObjME mu3Pt_
Definition: BPHMonitor.cc:121
BPHMonitor::DiMuPt_
ObjME DiMuPt_
Definition: BPHMonitor.cc:130
HLTPrescaleProvider
Definition: HLTPrescaleProvider.h:37
BPHMonitor::prob_variable_binning_
std::vector< double > prob_variable_binning_
Definition: BPHMonitor.cc:91
p1
double p1[4]
Definition: TauolaWrapper.h:89
GlobalErrorBase< double, ErrorMatrixTag >
TransientVertex
Definition: TransientVertex.h:18
TrajectoryStateClosestToPoint
Definition: TrajectoryStateClosestToPoint.h:18
BPHMonitor_cfi.d0PSet
d0PSet
Definition: BPHMonitor_cfi.py:38
BPHMonitor::hltPrescale_
HLTPrescaleProvider * hltPrescale_
Definition: BPHMonitor.cc:142
trigger::TriggerEvent::getObjects
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
HLTPrescaleProvider::init
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
Definition: HLTPrescaleProvider.cc:21
TriggerDQMBase::getHistoPSet
static MEbinning getHistoPSet(const edm::ParameterSet &pset)
Definition: TriggerDQMBase.cc:120
BPHMonitor::trOrMu_
int trOrMu_
Definition: BPHMonitor.cc:154
BPHMonitor::Bmass_binning_
MEbinning Bmass_binning_
Definition: BPHMonitor.cc:98
reco::Vertex::chi2
double chi2() const
chi-squares
Definition: Vertex.h:103
HLTConfigProvider::triggerIndex
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
Definition: HLTConfigProvider.h:72
BPHMonitor::phi_binning_
MEbinning phi_binning_
Definition: BPHMonitor.cc:92
BPHMonitor::DiMuEta_
ObjME DiMuEta_
Definition: BPHMonitor.cc:129
reco::BeamSpot::dydz
double dydz() const
dydz slope
Definition: BeamSpot.h:80
SiPixelPhase1Clusters_cfi.e3
e3
Definition: SiPixelPhase1Clusters_cfi.py:9
BPHMonitor::DMSelection_ref
StringCutObjectSelector< reco::Candidate::LorentzVector, true > DMSelection_ref
Definition: BPHMonitor.cc:184
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
reco::BeamSpot::x0
double x0() const
x coordinate
Definition: BeamSpot.h:61
BPHMonitor::maxmassJpsiTk
double maxmassJpsiTk
Definition: BPHMonitor.cc:167
reco::Vertex::Point
math::XYZPoint Point
point in the space
Definition: Vertex.h:40
reco::TransientTrack
Definition: TransientTrack.h:19
BPHMonitor::folderName_
const std::string folderName_
Definition: BPHMonitor.cc:70
BPHMonitor::hltConfig_
HLTConfigProvider hltConfig_
Definition: BPHMonitor.cc:188
BPHMonitor::mu1Pt_
ObjME mu1Pt_
Definition: BPHMonitor.cc:111
BPHMonitor::DiMuProb_
ObjME DiMuProb_
Definition: BPHMonitor.cc:132
BPHMonitor::minprob
double minprob
Definition: BPHMonitor.cc:174
BPHMonitor::muoSelection_ref
StringCutObjectSelector< reco::Muon, true > muoSelection_ref
Definition: BPHMonitor.cc:145
BPHMonitor::max_dR
double max_dR
Definition: BPHMonitor.cc:172
TriggerDQMBase::ObjME::denominator
MonitorElement * denominator
Definition: TriggerDQMBase.h:28
BPHMonitor_cff.phiPSet
phiPSet
Definition: BPHMonitor_cff.py:631
TriggerDQMBase::MEbinning::nbins
uint nbins
Definition: TriggerDQMBase.h:17
BPHMonitor::DiMudR_
ObjME DiMudR_
Definition: BPHMonitor.cc:137
TriggerDQMBase::MEbinning::xmin
double xmin
Definition: TriggerDQMBase.h:18
BPHMonitor::bsToken_
edm::EDGetTokenT< reco::BeamSpot > bsToken_
Definition: BPHMonitor.cc:82
reco::deltaR
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
BPHMonitor::min_dR
double min_dR
Definition: BPHMonitor.cc:171
p3
double p3[4]
Definition: TauolaWrapper.h:91
BPHMonitor::dca_binning_
MEbinning dca_binning_
Definition: BPHMonitor.cc:99
TrajectoryStateClosestToPoint::isValid
bool isValid() const
Definition: TrajectoryStateClosestToPoint.h:111
BPHMonitor::DiMuMass_
ObjME DiMuMass_
Definition: BPHMonitor.cc:135
HLTConfigProvider::triggerName
const std::string & triggerName(unsigned int triggerIndex) const
Definition: HLTConfigProvider.h:69
BPHMonitor::hltpaths_den
std::vector< std::string > hltpaths_den
Definition: BPHMonitor.cc:181
reco::TrackBase::pz
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:617
BPHMonitor::handleTriggerEvent
edm::Handle< trigger::TriggerEvent > handleTriggerEvent
Definition: BPHMonitor.cc:186
BPHMonitor::phEta_
ObjME phEta_
Definition: BPHMonitor.cc:126
BPHMonitor::eta_binning_
MEbinning eta_binning_
Definition: BPHMonitor.cc:93
reco::TrackBase::momentum
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:635
BPHMonitor::DiMuDCA_
ObjME DiMuDCA_
Definition: BPHMonitor.cc:134
TrajectoryStateClosestToPoint::theState
const FreeTrajectoryState & theState() const
Definition: TrajectoryStateClosestToPoint.h:96
BPHMonitor::muoToken_
edm::EDGetTokenT< reco::MuonCollection > muoToken_
Definition: BPHMonitor.cc:81
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
reco::BeamSpot::y0
double y0() const
y coordinate
Definition: BeamSpot.h:63
BPHMonitor::hltPathsAreValid_
bool hltPathsAreValid_
Definition: BPHMonitor.cc:73
MagneticField
Definition: MagneticField.h:19
BPHMonitor::kaon_mass
double kaon_mass
Definition: BPHMonitor.cc:169
ClosestApproachInRPhi::distance
float distance() const override
Definition: ClosestApproachInRPhi.cc:54
BPHMonitor::mu_mass
double mu_mass
Definition: BPHMonitor.cc:170
reco::Vertex::ndof
double ndof() const
Definition: Vertex.h:110
reco::TrackBase::quality
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:537
edm::InputTag
Definition: InputTag.h:15
BPHMonitor::minmass_
double minmass_
Definition: BPHMonitor.cc:160
reco::Vertex
Definition: Vertex.h:35
BPHMonitor::trToken_
edm::EDGetTokenT< reco::TrackCollection > trToken_
Definition: BPHMonitor.cc:83
vertexPlots.e4
e4
Definition: vertexPlots.py:64
BPHMonitor::num_genTriggerEventFlag_
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
Definition: BPHMonitor.cc:139
TransientVertex::positionError
GlobalError positionError() const
Definition: TransientVertex.h:170
BPHMonitor_cfi.dsPSet
dsPSet
Definition: BPHMonitor_cfi.py:72
RemoveAddSevLevel.flag
flag
Definition: RemoveAddSevLevel.py:116
BPHMonitor::getTriggerName
std::string getTriggerName(std::string partialName)
Definition: BPHMonitor.cc:1315
KalmanVertexFitter
Definition: KalmanVertexFitter.h:22
BPHMonitor::hltInputTag_1
edm::InputTag hltInputTag_1
Definition: BPHMonitor.cc:178
BPHMonitor::maxmassJpsi
double maxmassJpsi
Definition: BPHMonitor.cc:161
reco::TrackBase::highPurity
Definition: TrackBase.h:154
BPHMonitor::nmuons_
int nmuons_
Definition: BPHMonitor.cc:149
singleTopDQM_miniAOD_cfi.secondaryVertex
secondaryVertex
Definition: singleTopDQM_miniAOD_cfi.py:66