12 : folderName_(iConfig.getParameter<
std::
string>(
"FolderName")),
13 muoInputTag_(iConfig.getParameter<
edm::
InputTag>(
"muons")),
14 bsInputTag_(iConfig.getParameter<
edm::
InputTag>(
"beamSpot")),
15 trInputTag_(iConfig.getParameter<
edm::
InputTag>(
"tracks")),
16 phInputTag_(iConfig.getParameter<
edm::
InputTag>(
"photons")),
17 vtxInputTag_(iConfig.getParameter<
edm::
InputTag>(
"offlinePVs")),
23 phi_binning_(getHistoPSet(
27 dMu_pt_binning_(getHistoPSet(
29 eta_binning_(getHistoPSet(
37 mass_binning_(getHistoPSet(
39 Bmass_binning_(getHistoPSet(
41 dca_binning_(getHistoPSet(
45 cos_binning_(getHistoPSet(
47 prob_binning_(getHistoPSet(
50 iConfig.getParameter<
edm::
ParameterSet>(
"numGenericTriggerEventPSet"), consumesCollector(), *this)),
52 iConfig.getParameter<
edm::
ParameterSet>(
"denGenericTriggerEventPSet"), consumesCollector(), *this)),
54 muoSelection_(iConfig.getParameter<
std::
string>(
"muoSelection")),
56 muoSelection_tag(iConfig.getParameter<
std::
string>(
"muoSelection_tag")),
57 muoSelection_probe(iConfig.getParameter<
std::
string>(
"muoSelection_probe")),
58 nmuons_(iConfig.getParameter<
int>(
"nmuons")),
59 tnp_(iConfig.getParameter<
bool>(
"tnp")),
60 L3_(iConfig.getParameter<
int>(
"L3")),
61 ptCut_(iConfig.getParameter<
int>(
"ptCut")),
62 displaced_(iConfig.getParameter<
int>(
"displaced")),
63 trOrMu_(iConfig.getParameter<
int>(
"trOrMu")),
64 Jpsi_(iConfig.getParameter<
int>(
"Jpsi")),
65 Upsilon_(iConfig.getParameter<
int>(
"Upsilon"))
67 enum_(iConfig.getParameter<
int>(
"enum")),
68 seagull_(iConfig.getParameter<
int>(
"seagull")),
69 maxmass_(iConfig.getParameter<double>(
"maxmass")),
70 minmass_(iConfig.getParameter<double>(
"minmass")),
71 maxmassJpsi(iConfig.getParameter<double>(
"maxmassJpsi")),
72 minmassJpsi(iConfig.getParameter<double>(
"minmassJpsi")),
73 maxmassUpsilon(iConfig.getParameter<double>(
"maxmassUpsilon")),
74 minmassUpsilon(iConfig.getParameter<double>(
"minmassUpsilon")),
75 maxmassTkTk(iConfig.getParameter<double>(
"maxmassTkTk")),
76 minmassTkTk(iConfig.getParameter<double>(
"minmassTkTk")),
79 kaon_mass(iConfig.getParameter<double>(
"kaon_mass")),
80 mu_mass(iConfig.getParameter<double>(
"mu_mass")),
81 min_dR(iConfig.getParameter<double>(
"min_dR")),
82 max_dR(iConfig.getParameter<double>(
"max_dR")),
83 minprob(iConfig.getParameter<double>(
"minprob")),
84 mincos(iConfig.getParameter<double>(
"mincos")),
85 minDS(iConfig.getParameter<double>(
"minDS")),
86 hltInputTag_1(iConfig.getParameter<
edm::
InputTag>(
"hltTriggerSummaryAOD")),
88 hltpaths_num(iConfig.getParameter<
edm::
ParameterSet>(
"numGenericTriggerEventPSet")
90 hltpaths_den(iConfig.getParameter<
edm::
ParameterSet>(
"denGenericTriggerEventPSet")
92 trSelection_(iConfig.getParameter<
std::
string>(
"muoSelection")),
174 if (pset.
existsAs<std::vector<double>>(
"edges")) {
175 return MEbinning{pset.
getParameter<std::vector<double>>(
"edges")};
208 me.
numerator = ibooker.
book1D(histname +
"_numerator", histtitle +
" (numerator)", nbins, min, max);
209 me.
denominator = ibooker.
book1D(histname +
"_denominator", histtitle +
" (denominator)", nbins, min, max);
213 int nbins = binning.size() - 1;
214 std::vector<float> fbinning(binning.begin(), binning.end());
215 float* arr = &fbinning[0];
216 me.
numerator = ibooker.
book1D(histname +
"_numerator", histtitle +
" (numerator)", nbins, arr);
217 me.
denominator = ibooker.
book1D(histname +
"_denominator", histtitle +
" (denominator)", nbins, arr);
229 ibooker.
bookProfile(histname +
"_numerator", histtitle +
" (numerator)", nbinsX, xmin, xmax, ymin, ymax);
231 ibooker.
bookProfile(histname +
"_denominator", histtitle +
" (denominator)", nbinsX, xmin, xmax, ymin, ymax);
244 ibooker.
book2D(histname +
"_numerator", histtitle +
" (numerator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
246 ibooker.
book2D(histname +
"_denominator", histtitle +
" (denominator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
252 std::vector<double> binningX,
253 std::vector<double> binningY) {
254 int nbinsX = binningX.size() - 1;
255 std::vector<float> fbinningX(binningX.begin(), binningX.end());
256 float* arrX = &fbinningX[0];
257 int nbinsY = binningY.size() - 1;
258 std::vector<float> fbinningY(binningY.begin(), binningY.end());
259 float* arrY = &fbinningY[0];
261 me.
numerator = ibooker.
book2D(histname +
"_numerator", histtitle +
" (numerator)", nbinsX, arrX, nbinsY, arrY);
262 me.
denominator = ibooker.
book2D(histname +
"_denominator", histtitle +
" (denominator)", nbinsX, arrX, nbinsY, arrY);
272 if (binning.edges.empty()) {
273 this->
bookME(ibooker, me, histname, histtitle, binning.nbins, binning.xmin, binning.xmax);
275 this->
bookME(ibooker, me, histname, histtitle, binning.edges);
285 istnp =
"Tag_and_Probe/";
298 histname = trMuPh +
"Pt";
299 histtitle = trMuPh +
"_P_{t}";
303 histname = trMuPh +
"Phi";
304 histtitle = trMuPh +
"Phi";
308 histname = trMuPh +
"Eta";
309 histtitle = trMuPh +
"_Eta";
321 histname = trMuPh +
"1Pt";
322 histtitle = trMuPh +
"1_P_{t}";
326 histname = trMuPh +
"1Phi";
327 histtitle = trMuPh +
"1Phi";
331 histname = trMuPh +
"1Eta";
332 histtitle = trMuPh +
"1_Eta";
336 histname = trMuPh +
"2Pt";
337 histtitle = trMuPh +
"2_P_{t}";
341 histname = trMuPh +
"2Phi";
342 histtitle = trMuPh +
"2Phi";
346 histname = trMuPh +
"2Eta";
347 histtitle = trMuPh +
"2_Eta";
358 histname = trMuPh +
"3Eta";
359 histtitle = trMuPh +
"3Eta";
363 histname = trMuPh +
"3Pt";
364 histtitle = trMuPh +
"3_P_{t}";
368 histname = trMuPh +
"3Phi";
369 histtitle = trMuPh +
"3Phi";
374 histname =
"DiMuEta";
375 histtitle =
"DiMuEta";
380 histtitle =
"DiMu_P_{t}";
384 histname =
"DiMuPhi";
385 histtitle =
"DiMuPhi";
391 histtitle =
"DiMudR";
396 histname =
"DiMuMass";
397 histtitle =
"DiMuMass";
401 }
else if (
enum_ == 8) {
402 histname =
"DiMuProb";
403 histtitle =
"DiMuProb";
407 histname =
"DiMuPVcos";
408 histtitle =
"DiMuPVcos";
413 histtitle =
"DiMuDS";
417 histname =
"DiMuDCA";
418 histtitle =
"DiMuDCA";
443 <<
" is not available";
454 <<
" is not available";
465 <<
" is not available";
480 double PrescaleWeight = 1.0;
493 std::vector<reco::Muon> tagMuons;
494 for (
auto const&
m : *muoHandle) {
498 tagMuons.push_back(
m);
501 for (
int i = 0;
i <
int(tagMuons.size());
i++) {
502 for (
auto const&
m : *muoHandle) {
505 if ((tagMuons[
i].
pt() ==
m.pt()))
530 for (
auto const&
m : *muoHandle) {
536 for (
auto const& m1 : *muoHandle) {
537 if (!(m1.pt() >
m.pt()))
550 if (
m.charge() * m1.charge() > 0)
557 std::vector<reco::TransientTrack> j_tks;
560 j_tks.push_back(mu1TT);
561 j_tks.push_back(mu2TT);
568 if ((jpsivertex.
chi2() >= 0) && (jpsivertex.
ndof() > 0))
569 dimuonCL = TMath::Prob(jpsivertex.
chi2(), jpsivertex.
ndof());
574 -1 * ((vertexBeamSpot.
x0() - jVertex.
x()) + (jVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dxdz()),
575 -1 * ((vertexBeamSpot.
y0() - jVertex.
y()) + (jVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dydz()),
578 float jpsi_cos = vperpj.Dot(jpperp) / (vperpj.R() * jpperp.R());
587 double DiMuMass = (m1.p4() +
m.p4()).M();
773 for (
auto const& m2 : *muoHandle) {
774 if (m2.pt() ==
m.pt())
776 if (m2.pt() == m1.pt())
815 if (!phHandle->empty())
816 for (
auto const&
p : *phHandle) {
842 edm::LogWarning(
"BPHMonitor") <<
"skipping events because the collection " 855 if ((displacementFromBeamspotJpsi.
perp() /
sqrt(jerr.
rerr(displacementFromBeamspotJpsi))) <
minDS)
874 sqrt(jerr.
rerr(displacementFromBeamspotJpsi)));
887 displacementFromBeamspotJpsi.
perp() /
sqrt(jerr.
rerr(displacementFromBeamspotJpsi)), PrescaleWeight);
901 if (fabs(jpsi_cos) <
mincos)
903 if ((displacementFromBeamspotJpsi.
perp() /
sqrt(jerr.
rerr(displacementFromBeamspotJpsi))) <
minDS)
907 for (
auto const&
t : *trHandle) {
922 double e1 =
sqrt(
m.momentum().Mag2() + MuMass2);
923 double e2 =
sqrt(m1.momentum().Mag2() + MuMass2);
932 std::vector<reco::TransientTrack> t_tks;
933 t_tks.push_back(mu1TT);
934 t_tks.push_back(mu2TT);
935 t_tks.push_back(trTT);
942 if ((vertex.
chi2() >= 0.0) && (vertex.
ndof() > 0))
943 JpsiTkCL = TMath::Prob(vertex.
chi2(), vertex.
ndof());
948 -1 * ((vertexBeamSpot.
x0() - secondaryVertex.
x()) +
949 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dxdz()),
950 -1 * ((vertexBeamSpot.
y0() - secondaryVertex.
y()) +
951 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dydz()),
954 float jpsiKcos = vperp.Dot(pperp) / (vperp.R() * pperp.R());
957 if (fabs(jpsiKcos) <
mincos)
959 if ((displacementFromBeamspot.
perp() /
sqrt(err.
rerr(displacementFromBeamspot))) <
minDS)
985 if (trHandle.isValid())
986 for (
auto const&
t : *trHandle) {
1001 double e2 =
sqrt(m1.momentum().Mag2() + MuMass2);
1009 std::vector<reco::TransientTrack> t_tks;
1010 t_tks.push_back(mu2TT);
1011 t_tks.push_back(trTT);
1018 if ((vertex.
chi2() >= 0.0) && (vertex.
ndof() > 0))
1019 JpsiTkCL = TMath::Prob(vertex.
chi2(), vertex.
ndof());
1024 -1 * ((vertexBeamSpot.
x0() - secondaryVertex.
x()) +
1025 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dxdz()),
1026 -1 * ((vertexBeamSpot.
y0() - secondaryVertex.
y()) +
1027 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dydz()),
1056 if (fabs(jpsi_cos) <
mincos)
1058 if (displacementFromBeamspotJpsi.
perp() /
sqrt(jerr.
rerr(displacementFromBeamspotJpsi)) <
minDS)
1061 if (trHandle.isValid())
1062 for (
auto const&
t : *trHandle) {
1070 for (
auto const&
t1 : *trHandle) {
1071 if (&
t - &(*trHandle)[0] >= &
t1 - &(*trHandle)[0])
1092 double e1 =
sqrt(
m.momentum().Mag2() + MuMass2);
1093 double e2 =
sqrt(m1.momentum().Mag2() + MuMass2);
1103 pB = p1 + p2 + p3 +
p4;
1110 std::vector<reco::TransientTrack> t_tks;
1111 t_tks.push_back(mu1TT);
1112 t_tks.push_back(mu2TT);
1113 t_tks.push_back(trTT);
1114 t_tks.push_back(tr1TT);
1121 if ((vertex.
chi2() >= 0.0) && (vertex.
ndof() > 0))
1122 JpsiTkCL = TMath::Prob(vertex.
chi2(), vertex.
ndof());
1124 m.px() + m1.px() + itrk1.
px() + itrk2.
px(),
m.py() + m1.py() + itrk1.
py() + itrk2.
py(), 0.);
1128 -1 * ((vertexBeamSpot.
x0() - secondaryVertex.
x()) +
1129 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dxdz()),
1130 -1 * ((vertexBeamSpot.
y0() - secondaryVertex.
y()) +
1131 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dydz()),
1134 float jpsiKcos = vperp.Dot(pperp) / (vperp.R() * pperp.R());
1137 if (fabs(jpsiKcos) <
mincos)
1139 if ((displacementFromBeamspot.
perp() /
sqrt(err.
rerr(displacementFromBeamspot))) <
minDS)
1197 "isPFMuon & isGlobalMuon & innerTrack.hitPattern.trackerLayersWithMeasurement>5 & " 1198 "innerTrack.hitPattern.numberOfValidPixelHits> 0");
1201 "isGlobalMuon && isPFMuon && isTrackerMuon && abs(eta) < 2.4 && innerTrack.hitPattern.numberOfValidPixelHits > 0 " 1202 "&& innerTrack.hitPattern.trackerLayersWithMeasurement > 5 && globalTrack.hitPattern.numberOfValidMuonHits > 0 " 1203 "&& globalTrack.normalizedChi2 < 10");
1205 "isPFMuon & isGlobalMuon & innerTrack.hitPattern.trackerLayersWithMeasurement>5 & " 1206 "innerTrack.hitPattern.numberOfValidPixelHits> 0");
1210 desc.
add<
int>(
"nmuons", 1);
1211 desc.
add<
bool>(
"tnp",
false);
1212 desc.
add<
int>(
"L3", 0);
1213 desc.
add<
int>(
"ptCut", 0);
1214 desc.
add<
int>(
"displaced", 0);
1215 desc.
add<
int>(
"trOrMu", 0);
1216 desc.
add<
int>(
"Jpsi", 0);
1217 desc.
add<
int>(
"Upsilon", 0);
1218 desc.
add<
int>(
"enum", 1);
1219 desc.
add<
int>(
"seagull", 1);
1220 desc.
add<
double>(
"maxmass", 3.596);
1221 desc.
add<
double>(
"minmass", 2.596);
1222 desc.
add<
double>(
"maxmassJpsi", 3.2);
1223 desc.
add<
double>(
"minmassJpsi", 3.);
1224 desc.
add<
double>(
"maxmassUpsilon", 10.0);
1225 desc.
add<
double>(
"minmassUpsilon", 8.8);
1226 desc.
add<
double>(
"maxmassTkTk", 10);
1227 desc.
add<
double>(
"minmassTkTk", 0);
1228 desc.
add<
double>(
"maxmassJpsiTk", 5.46);
1229 desc.
add<
double>(
"minmassJpsiTk", 5.1);
1230 desc.
add<
double>(
"kaon_mass", 0.493677);
1231 desc.
add<
double>(
"mu_mass", 0.1056583745);
1232 desc.
add<
double>(
"min_dR", 0.001);
1233 desc.
add<
double>(
"max_dR", 1.4);
1234 desc.
add<
double>(
"minprob", 0.005);
1235 desc.
add<
double>(
"mincos", 0.95);
1236 desc.
add<
double>(
"minDS", 3.);
1239 genericTriggerEventPSet.
add<
bool>(
"andOr");
1242 genericTriggerEventPSet.
add<std::vector<int>>(
"dcsPartitions", {});
1243 genericTriggerEventPSet.
add<
bool>(
"andOrDcs",
false);
1244 genericTriggerEventPSet.
add<
bool>(
"errorReplyDcs",
true);
1246 genericTriggerEventPSet.
add<
bool>(
"andOrHlt",
true);
1247 genericTriggerEventPSet.
add<
bool>(
"andOrL1",
true);
1248 genericTriggerEventPSet.
add<std::vector<std::string>>(
"hltPaths", {});
1249 genericTriggerEventPSet.
add<std::vector<std::string>>(
"l1Algorithms", {});
1251 genericTriggerEventPSet.
add<
bool>(
"errorReplyHlt",
false);
1252 genericTriggerEventPSet.
add<
bool>(
"errorReplyL1",
true);
1253 genericTriggerEventPSet.
add<
bool>(
"l1BeforeMask",
true);
1254 genericTriggerEventPSet.
add<
unsigned int>(
"verbosityLevel", 0);
1301 descriptions.
add(
"bphMonitoring", desc);
1305 const std::string trigger_name_tmp = partialName.substr(0, partialName.find(
"v*"));
1308 for (
unsigned int i = 0;
i < Ntriggers;
i++) {
1310 if (trigger_name.find(trigger_name_tmp) != std::string::npos)
1314 return trigger_name;
1317 template <
typename T>
1332 unsigned int fIdx = 0;
1333 for (
unsigned int i = 0;
i < Nmodules;
i++) {
1334 const unsigned int tmp_fIdx =
1336 if (tmp_fIdx < handleTriggerEvent->sizeFilters())
1362 int PrescaleHLT_num = 1;
1363 int PrescaleHLT_den = 1;
1364 double Prescale_num = 1;
1365 double L1P = 1, HLTP = 1;
1367 std::vector<bool> theSame_den;
1368 std::vector<bool> theSame_num;
1372 if (PrescaleHLT_den > 0 && PrescaleHLT_num > 0)
1373 HLTP = PrescaleHLT_num / std::__gcd(PrescaleHLT_num, PrescaleHLT_den);
1393 if (l1_num == l1_den && l1_nump >= 1)
1399 theSame_den.push_back(flag);
1415 if (l1_den == l1_num && l1_denp >= 1)
1421 theSame_num.push_back(flag);
1426 if (theSame_num.size() == theSame_den.size()) {
1427 for (
size_t i = 0;
i < theSame_num.size(); ++
i) {
1428 if ((!theSame_num.at(
i)) || (!theSame_den.at(
i))) {
1435 if (flag && (theSame_num.size() == theSame_den.size())) {
1449 Prescale_num *= 1 - (1.0 / (l1));
1451 if (Prescale_num != 1)
1452 Prescale_num = 1.0 / (1 - Prescale_num);
unsigned int size() const
number of trigger paths in trigger table
GlobalError positionError() const
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
T getParameter(std::string const &) const
double z0() const
z coordinate
std::pair< std::vector< std::pair< std::string, int > >, int > prescaleValuesInDetail(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger)
float distance() const override
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
trigger::size_type sizeFilters() const
const std::string & triggerName(unsigned int triggerIndex) const
HLTPrescaleProvider * hltPrescale_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const FreeTrajectoryState & theState() const
void setCurrentFolder(std::string const &fullpath)
StringCutObjectSelector< reco::Candidate::LorentzVector, true > DMSelection_ref
edm::EDGetTokenT< reco::MuonCollection > muoToken_
void bookME(DQMStore::IBooker &, METME &me, std::string &histname, std::string &histtitle, int &nbins, double &xmin, double &xmax)
dqm::reco::MonitorElement * denominator
edm::InputTag bsInputTag_
const Keys & filterKeys(trigger::size_type index) const
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
std::vector< Track > TrackCollection
collection of Tracks
double Prescale(const std::string num, const std::string den, edm::Event const &iEvent, edm::EventSetup const &iSetup, HLTPrescaleProvider *hltPrescale_)
static void fillHistoLSPSetDescription(edm::ParameterSetDescription &pset)
dqm::reco::MonitorElement * numerator
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
StringCutObjectSelector< reco::Muon, true > muoSelection_ref
std::vector< Vertex > VertexCollection
collection of Vertex objects
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
double px() const
x coordinate of momentum vector
const Vector & momentum() const
track momentum vector
edm::EDGetTokenT< trigger::TriggerEvent > hltInputTag_
edm::EDGetTokenT< reco::TrackCollection > trToken_
std::vector< Muon > MuonCollection
collection of Muon objects
bool inited() const
Accessors (const methods)
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
Single trigger physics object (e.g., an isolated muon)
U second(std::pair< T, U > const &p)
double dydz() const
dydz slope
void setMETitle(METME &me, std::string titleX, std::string titleY)
#define DEFINE_FWK_MODULE(type)
std::vector< bool > warningPrinted4token_
const TriggerObjectCollection & getObjects() const
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
edm::InputTag muoInputTag_
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
GlobalPoint position() const
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, char const *option="s")
StringCutObjectSelector< reco::Track, true > trSelection_ref
GenericTriggerEventFlag * den_genTriggerEventFlag_
HLTConfigProvider hltConfig_
BPHMonitor(const edm::ParameterSet &)
double chi2() const
chi-squares
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &tracks) const override
math::XYZPoint Point
point in the space
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void analyze(edm::Event const &iEvent, edm::EventSetup const &iSetup) override
double dxdz() const
dxdz slope
std::vector< std::string > hltpaths_den
double pz() const
z coordinate of momentum vector
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
edm::EDGetTokenT< reco::PhotonCollection > phToken_
edm::EDGetTokenT< reco::BeamSpot > bsToken_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
std::vector< size_type > Keys
T rerr(const GlobalPoint &aPoint) const
std::vector< Photon > PhotonCollection
collectin of Photon objects
static MEbinning getHistoPSet(edm::ParameterSet pset)
std::string getTriggerName(std::string partialName)
edm::Handle< trigger::TriggerEvent > handleTriggerEvent
void add(std::string const &label, ParameterSetDescription const &psetDescription)
StringCutObjectSelector< reco::Muon, true > muoSelection_
MEbinning dMu_pt_binning_
edm::InputTag hltInputTag_1
bool quality(const TrackQuality) const
Track quality.
HLTConfigProvider const & hltConfigProvider() const
bool matchToTrigger(const std::string &theTriggerName, T t)
edm::InputTag trInputTag_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
double y0() const
y coordinate
std::vector< std::string > hltpaths_num
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
edm::InputTag phInputTag_
GenericTriggerEventFlag * num_genTriggerEventFlag_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
double py() const
y coordinate of momentum vector
double x0() const
x coordinate
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)