13 folderName_ ( iConfig.getParameter<
std::
string>(
"FolderName") )
14 , muoInputTag_ ( iConfig.getParameter<
edm::InputTag>(
"muons") )
15 , bsInputTag_ ( iConfig.getParameter<
edm::InputTag>(
"beamSpot") )
16 , trInputTag_ ( iConfig.getParameter<
edm::InputTag>(
"tracks") )
17 , phInputTag_ ( iConfig.getParameter<
edm::InputTag>(
"photons") )
18 , vtxInputTag_ ( iConfig.getParameter<
edm::InputTag>(
"offlinePVs") )
20 , bsToken_ ( mayConsume<
reco::
BeamSpot> ( bsInputTag_ ) )
40 , muoSelection_ ( iConfig.getParameter<
std::
string>(
"muoSelection") )
41 , muoSelection_ref ( iConfig.getParameter<
std::
string>(
"muoSelection_ref") )
42 , muoSelection_tag ( iConfig.getParameter<
std::
string>(
"muoSelection_tag") )
43 , muoSelection_probe ( iConfig.getParameter<
std::
string>(
"muoSelection_probe") )
44 , nmuons_ ( iConfig.getParameter<
int>(
"nmuons" ) )
45 , tnp_ ( iConfig.getParameter<
bool>(
"tnp" ) )
46 , L3_ ( iConfig.getParameter<
int>(
"L3" ) )
47 , ptCut_ ( iConfig.getParameter<
int>(
"ptCut" ) )
48 , displaced_ ( iConfig.getParameter<
int>(
"displaced" ) )
49 , trOrMu_ ( iConfig.getParameter<
int>(
"trOrMu" ) )
50 , Jpsi_ ( iConfig.getParameter<
int>(
"Jpsi" ) )
51 , Upsilon_ ( iConfig.getParameter<
int>(
"Upsilon" ) )
52 , enum_ ( iConfig.getParameter<
int>(
"enum" ) )
53 , seagull_ ( iConfig.getParameter<
int>(
"seagull" ) )
54 , maxmass_ ( iConfig.getParameter<double>(
"maxmass" ) )
55 , minmass_ ( iConfig.getParameter<double>(
"minmass" ) )
56 , maxmassJpsi ( iConfig.getParameter<double>(
"maxmassJpsi" ) )
57 , minmassJpsi ( iConfig.getParameter<double>(
"minmassJpsi" ) )
58 , maxmassUpsilon ( iConfig.getParameter<double>(
"maxmassUpsilon" ) )
59 , minmassUpsilon ( iConfig.getParameter<double>(
"minmassUpsilon" ) )
60 , maxmassTkTk ( iConfig.getParameter<double>(
"maxmassTkTk" ) )
61 , minmassTkTk ( iConfig.getParameter<double>(
"minmassTkTk" ) )
62 , maxmassJpsiTk ( iConfig.getParameter<double>(
"maxmassJpsiTk" ) )
63 , minmassJpsiTk ( iConfig.getParameter<double>(
"minmassJpsiTk" ) )
64 , kaon_mass ( iConfig.getParameter<double>(
"kaon_mass" ) )
65 , mu_mass ( iConfig.getParameter<double>(
"mu_mass" ) )
66 , min_dR ( iConfig.getParameter<double>(
"min_dR" ) )
67 , max_dR ( iConfig.getParameter<double>(
"max_dR" ) )
68 , minprob ( iConfig.getParameter<double>(
"minprob" ) )
69 , mincos ( iConfig.getParameter<double>(
"mincos" ) )
70 , minDS ( iConfig.getParameter<double>(
"minDS" ) )
71 , hltInputTag_1 ( iConfig.getParameter<
edm::InputTag>(
"hltTriggerSummaryAOD"))
72 , hltInputTag_ (mayConsume<
trigger::TriggerEvent>( iConfig.getParameter<
edm::InputTag>(
"hltTriggerSummaryAOD")))
73 , hltpaths_num ( iConfig.getParameter<
edm::
ParameterSet>(
"numGenericTriggerEventPSet").getParameter<
std::vector<
std::
string>>(
"hltPaths"))
74 , hltpaths_den ( iConfig.getParameter<
edm::
ParameterSet>(
"denGenericTriggerEventPSet").getParameter<
std::vector<
std::
string>>(
"hltPaths"))
75 , trSelection_ ( iConfig.getParameter<
std::
string>(
"muoSelection") )
76 , trSelection_ref ( iConfig.getParameter<
std::
string>(
"trSelection_ref") )
77 , DMSelection_ref ( iConfig.getParameter<
std::
string>(
"DMSelection_ref") )
160 if (pset.
existsAs<std::vector<double>>(
"edges")) {
161 return MEbinning{pset.
getParameter<std::vector<double>>(
"edges")};
191 me.
numerator = ibooker.
book1D(histname+
"_numerator", histtitle+
" (numerator)", nbins, min, max);
192 me.
denominator = ibooker.
book1D(histname+
"_denominator", histtitle+
" (denominator)", nbins, min, max);
196 int nbins = binning.size()-1;
197 std::vector<float> fbinning(binning.begin(),binning.end());
198 float* arr = &fbinning[0];
199 me.
numerator = ibooker.
book1D(histname+
"_numerator", histtitle+
" (numerator)", nbins, arr);
200 me.
denominator = ibooker.
book1D(histname+
"_denominator", histtitle+
" (denominator)", nbins, arr);
204 me.
numerator = ibooker.
bookProfile(histname+
"_numerator", histtitle+
" (numerator)", nbinsX, xmin, xmax, ymin, ymax);
205 me.
denominator = ibooker.
bookProfile(histname+
"_denominator", histtitle+
" (denominator)", nbinsX, xmin, xmax, ymin, ymax);
209 me.
numerator = ibooker.
book2D(histname+
"_numerator", histtitle+
" (numerator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
210 me.
denominator = ibooker.
book2D(histname+
"_denominator", histtitle+
" (denominator)", nbinsX, xmin, xmax, nbinsY, ymin, ymax);
214 int nbinsX = binningX.size()-1;
215 std::vector<float> fbinningX(binningX.begin(),binningX.end());
216 float* arrX = &fbinningX[0];
217 int nbinsY = binningY.size()-1;
218 std::vector<float> fbinningY(binningY.begin(),binningY.end());
219 float* arrY = &fbinningY[0];
221 me.
numerator = ibooker.
book2D(histname+
"_numerator", histtitle+
" (numerator)", nbinsX, arrX, nbinsY, arrY);
222 me.
denominator = ibooker.
book2D(histname+
"_denominator", histtitle+
" (denominator)", nbinsX, arrX, nbinsY, arrY);
229 if (binning.edges.empty()) {
230 this->
bookME(ibooker, me, histname, histtitle, binning.nbins, binning.xmin, binning.xmax);
232 this->
bookME(ibooker, me, histname, histtitle, binning.edges);
242 bool Ph_ =
false;
if (
enum_ == 7) Ph_ =
true;
243 if (
tnp_) istnp =
"Tag_and_Probe/";
else istnp =
"";
246 if (
trOrMu_) trMuPh =
"tr";
else if (Ph_) trMuPh =
"ph";
else trMuPh =
"mu";
249 histname = trMuPh+
"Pt"; histtitle = trMuPh+
"_P_{t}";
253 histname = trMuPh+
"Phi"; histtitle = trMuPh+
"Phi";
257 histname = trMuPh+
"Eta"; histtitle = trMuPh+
"_Eta";
263 histname =
"BMass"; histtitle =
"BMass";
272 histname = trMuPh+
"1Pt"; histtitle = trMuPh+
"1_P_{t}";
276 histname = trMuPh+
"1Phi"; histtitle = trMuPh+
"1Phi";
280 histname = trMuPh+
"1Eta"; histtitle = trMuPh+
"1_Eta";
284 histname = trMuPh+
"2Pt"; histtitle = trMuPh+
"2_P_{t}";
288 histname = trMuPh+
"2Phi"; histtitle = trMuPh+
"2Phi";
292 histname = trMuPh+
"2Eta"; histtitle = trMuPh+
"2_Eta";
297 histname =
"BMass"; histtitle =
"BMass";
305 histname = trMuPh+
"3Eta"; histtitle = trMuPh+
"3Eta";
309 histname = trMuPh+
"3Pt"; histtitle = trMuPh+
"3_P_{t}";
313 histname = trMuPh+
"3Phi"; histtitle = trMuPh+
"3Phi";
319 histname =
"DiMuEta"; histtitle =
"DiMuEta";
323 histname =
"DiMuPt"; histtitle =
"DiMu_P_{t}";
327 histname =
"DiMuPhi"; histtitle =
"DiMuPhi";
332 histname =
"DiMudR"; histtitle =
"DiMudR";
337 histname =
"DiMuMass"; histtitle =
"DiMuMass";
342 }
else if (
enum_ == 8) {
343 histname =
"DiMuProb"; histtitle =
"DiMuProb";
347 histname =
"DiMuPVcos"; histtitle =
"DiMuPVcos";
351 histname =
"DiMuDS"; histtitle =
"DiMuDS";
355 histname =
"DiMuDCA"; histtitle =
"DiMuDCA";
416 double PrescaleWeight = 1.0;
427 std::vector<reco::Muon> tagMuons;
428 for (
auto const &
m : *muoHandle ) {
433 for (
int i = 0;
i<
int(tagMuons.size());
i++) {
434 for (
auto const &
m : *muoHandle ) {
436 if ((tagMuons[
i].
pt() ==
m.pt()))
continue;
458 for (
auto const &
m : *muoHandle ) {
462 for (
auto const & m1 : *muoHandle ) {
463 if ( !(m1.pt() >
m.pt()))
continue;
471 if (
m.charge()*m1.charge() > 0 )
continue;
477 std::vector<reco::TransientTrack> j_tks;
480 j_tks.push_back(mu1TT);
481 j_tks.push_back(mu2TT);
487 if ( (jpsivertex.
chi2() >= 0) && (jpsivertex.
ndof() > 0) )
488 dimuonCL = TMath::Prob(jpsivertex.
chi2(), jpsivertex.
ndof() );
494 GlobalPoint displacementFromBeamspotJpsi( -1*((vertexBeamSpot.
x0() - jVertex.x()) + (jVertex.z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dxdz()),
495 -1*((vertexBeamSpot.
y0() - jVertex.y()) + (jVertex.z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dydz()),
498 float jpsi_cos = vperpj.Dot(jpperp) / (vperpj.R()*jpperp.R());
505 double DiMuMass = (m1.p4()+
m.p4()).M();
517 if (dimuonCL <
minprob)
continue;
549 if (dimuonCL <
minprob)
continue;
573 if (dimuonCL<
minprob)
continue;
617 if (dimuonCL<
minprob)
continue;
652 if (dimuonCL<
minprob)
continue;
656 for (
auto const & m2 : *muoHandle) {
657 if ( m2.pt() ==
m.pt() )
continue;
658 if ( m2.pt() == m1.pt() )
continue;
693 if (!phHandle->empty())
for (
auto const &
p : *phHandle) {
737 if (dimuonCL<
minprob)
continue;
761 if (dimuonCL<
minprob)
continue;
762 if (fabs(jpsi_cos)<
mincos)
continue;
763 if ((displacementFromBeamspotJpsi.
perp()/
sqrt(jerr.
rerr(displacementFromBeamspotJpsi)))<
minDS)
continue;
765 if (trHandle.
isValid())
for (
auto const &
t : *trHandle) {
777 double e1 =
sqrt(
m.momentum().Mag2() + MuMass2 );
778 double e2 =
sqrt( m1.momentum().Mag2() + MuMass2 );
786 std::vector<reco::TransientTrack> t_tks;
787 t_tks.push_back(mu1TT);
788 t_tks.push_back(mu2TT);
789 t_tks.push_back(trTT);
795 if ( (vertex.
chi2()>=0.0) && (vertex.
ndof()>0) )
796 JpsiTkCL = TMath::Prob( vertex.
chi2(), vertex.
ndof() );
798 m.py() + m1.py() + itrk1.
py(),
802 GlobalPoint displacementFromBeamspot( -1*((vertexBeamSpot.
x0() - secondaryVertex.
x()) +
803 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dxdz()),
804 -1*((vertexBeamSpot.
y0() - secondaryVertex.
y()) +
805 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dydz()),
808 float jpsiKcos = vperp.Dot(pperp)/(vperp.R()*pperp.R());
809 if (JpsiTkCL<
minprob)
continue;
810 if (fabs(jpsiKcos)<
mincos)
continue;
811 if ((displacementFromBeamspot.
perp()/
sqrt(err.
rerr(displacementFromBeamspot)))<
minDS)
continue;
834 if (trHandle.isValid())
for (
auto const &
t : *trHandle) {
846 double e2 =
sqrt(m1.momentum().Mag2() + MuMass2 );
853 std::vector<reco::TransientTrack> t_tks;
854 t_tks.push_back(mu2TT);
855 t_tks.push_back(trTT);
861 if ( (vertex.
chi2()>=0.0) && (vertex.
ndof()>0) )
862 JpsiTkCL = TMath::Prob(vertex.
chi2(), vertex.
ndof() );
864 m1.py() + itrk1.
py(),
868 GlobalPoint displacementFromBeamspot( -1*((vertexBeamSpot.
x0() - secondaryVertex.
x()) +
869 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dxdz()),
870 -1*((vertexBeamSpot.
y0() - secondaryVertex.
y()) +
871 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dydz()),
874 if (JpsiTkCL<
minprob)
continue;
895 if (dimuonCL <
minprob)
continue;
896 if (fabs(jpsi_cos) <
mincos)
continue;
897 if (displacementFromBeamspotJpsi.
perp()/
sqrt(jerr.
rerr(displacementFromBeamspotJpsi))<
minDS)
continue;
899 if (trHandle.isValid())
for (
auto const &
t : *trHandle) {
905 for (
auto const & t1 : *trHandle) {
907 if (&
t - &(*trHandle)[0] >= &t1 - &(*trHandle)[0])
continue;
921 double e1 =
sqrt(
m.momentum().Mag2() + MuMass2 );
922 double e2 =
sqrt(m1.momentum().Mag2() + MuMass2 );
931 pB = p1 + p2 + p3 +
p4;
937 std::vector<reco::TransientTrack> t_tks;
938 t_tks.push_back(mu1TT);
939 t_tks.push_back(mu2TT);
940 t_tks.push_back(trTT);
941 t_tks.push_back(tr1TT);
947 if ((vertex.
chi2() >= 0.0) && (vertex.
ndof() > 0) )
948 JpsiTkCL = TMath::Prob(vertex.
chi2(), vertex.
ndof() );
950 m.py() + m1.py() + itrk1.
py() + itrk2.
py(),
954 GlobalPoint displacementFromBeamspot( -1*((vertexBeamSpot.
x0() - secondaryVertex.
x()) +
955 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dxdz()),
956 -1*((vertexBeamSpot.
y0() - secondaryVertex.
y()) +
957 (secondaryVertex.
z() - vertexBeamSpot.
z0()) * vertexBeamSpot.
dydz()),
960 float jpsiKcos = vperp.Dot(pperp) / (vperp.R()*pperp.R());
961 if (JpsiTkCL <
minprob)
continue;
962 if (fabs(jpsiKcos) <
mincos)
continue;
963 if ((displacementFromBeamspot.
perp() /
sqrt(err.
rerr(displacementFromBeamspot))) <
minDS)
continue;
1012 pset.
add<
int> (
"nbins", 2500);
1026 desc.
add<
std::string>(
"muoSelection_ref",
"isPFMuon & isGlobalMuon & innerTrack.hitPattern.trackerLayersWithMeasurement>5 & innerTrack.hitPattern.numberOfValidPixelHits> 0");
1027 desc.
add<
std::string>(
"muoSelection_tag",
"isGlobalMuon && isPFMuon && isTrackerMuon && abs(eta) < 2.4 && innerTrack.hitPattern.numberOfValidPixelHits > 0 && innerTrack.hitPattern.trackerLayersWithMeasurement > 5 && globalTrack.hitPattern.numberOfValidMuonHits > 0 && globalTrack.normalizedChi2 < 10");
1028 desc.
add<
std::string>(
"muoSelection_probe",
"isPFMuon & isGlobalMuon & innerTrack.hitPattern.trackerLayersWithMeasurement>5 & innerTrack.hitPattern.numberOfValidPixelHits> 0");
1032 desc.
add<
int>(
"nmuons", 1);
1034 desc.
add<
int>(
"L3", 0 );
1035 desc.
add<
int>(
"ptCut", 0 );
1036 desc.
add<
int>(
"displaced", 0 );
1037 desc.
add<
int>(
"trOrMu", 0 );
1038 desc.
add<
int>(
"Jpsi", 0 );
1039 desc.
add<
int>(
"Upsilon", 0 );
1040 desc.
add<
int>(
"enum", 1 );
1041 desc.
add<
int>(
"seagull", 1 );
1042 desc.
add<
double>(
"maxmass", 3.596 );
1043 desc.
add<
double>(
"minmass", 2.596 );
1044 desc.
add<
double>(
"maxmassJpsi", 3.2 );
1045 desc.
add<
double>(
"minmassJpsi", 3. );
1046 desc.
add<
double>(
"maxmassUpsilon", 10.0 );
1047 desc.
add<
double>(
"minmassUpsilon", 8.8 );
1048 desc.
add<
double>(
"maxmassTkTk", 10);
1049 desc.
add<
double>(
"minmassTkTk", 0);
1050 desc.
add<
double>(
"maxmassJpsiTk", 5.46 );
1051 desc.
add<
double>(
"minmassJpsiTk", 5.1 );
1052 desc.
add<
double>(
"kaon_mass", 0.493677 );
1053 desc.
add<
double>(
"mu_mass", 0.1056583745);
1054 desc.
add<
double>(
"min_dR", 0.001);
1055 desc.
add<
double>(
"max_dR", 1.4);
1056 desc.
add<
double>(
"minprob", 0.005 );
1057 desc.
add<
double>(
"mincos", 0.95 );
1058 desc.
add<
double>(
"minDS", 3. );
1061 genericTriggerEventPSet.
add<
bool>(
"andOr");
1064 genericTriggerEventPSet.add<std::vector<int> >(
"dcsPartitions",{});
1065 genericTriggerEventPSet.add<
bool>(
"andOrDcs",
false);
1066 genericTriggerEventPSet.add<
bool>(
"errorReplyDcs",
true);
1067 genericTriggerEventPSet.add<
std::string>(
"dbLabel",
"");
1068 genericTriggerEventPSet.add<
bool>(
"andOrHlt",
true);
1069 genericTriggerEventPSet.add<
bool>(
"andOrL1",
true);
1070 genericTriggerEventPSet.add<std::vector<std::string> >(
"hltPaths",{});
1071 genericTriggerEventPSet.add<std::vector<std::string> >(
"l1Algorithms",{});
1072 genericTriggerEventPSet.add<
std::string>(
"hltDBKey",
"");
1073 genericTriggerEventPSet.add<
bool>(
"errorReplyHlt",
false);
1074 genericTriggerEventPSet.add<
bool>(
"errorReplyL1",
true);
1075 genericTriggerEventPSet.add<
bool>(
"l1BeforeMask",
true);
1076 genericTriggerEventPSet.add<
unsigned int>(
"verbosityLevel",0);
1123 descriptions.
add(
"bphMonitoring", desc);
1128 const std::string trigger_name_tmp = partialName.substr(0,partialName.find(
"v*"));
1131 for (
unsigned int i=0;
i<Ntriggers;
i++) {
1133 if ( trigger_name.find(trigger_name_tmp) != std::string::npos )
break;
1136 return trigger_name;
1139 template <
typename T>
1154 unsigned int fIdx=0;
1155 for (
unsigned int i=0;
i<Nmodules;
i++)
1158 if ( tmp_fIdx< handleTriggerEvent->sizeFilters() )
1184 int PrescaleHLT_num = 1;
1185 int PrescaleHLT_den = 1;
1186 double Prescale_num = 1;
1187 double L1P=1, HLTP=1;
1189 std::vector<bool> theSame_den;
1190 std::vector<bool> theSame_num;
1194 if ( PrescaleHLT_den>0 && PrescaleHLT_num>0 ) HLTP =PrescaleHLT_num/std::__gcd(PrescaleHLT_num, PrescaleHLT_den);
1208 if (l1_denp<1)
continue;
1214 if ( l1_num==l1_den && l1_nump>=1 )
1220 theSame_den.push_back(flag);
1230 if (l1_nump<1)
continue;
1236 if ( l1_den==l1_num && l1_denp>=1 )
1242 theSame_num.push_back(flag);
1247 if (theSame_num.size() == theSame_den.size())
1249 for(
size_t i=0;
i<theSame_num.size() ; ++
i)
1251 if ((!theSame_num.at(
i)) || (!theSame_den.at(
i)))
1259 if (flag && (theSame_num.size() == theSame_den.size()))
1277 else Prescale_num *= 1 - (1.0/(l1));
1279 if (Prescale_num!=1 )Prescale_num = 1.0 / (1 - Prescale_num);
unsigned int size() const
number of trigger paths in trigger table
GlobalError positionError() const
MonitorElement * numerator
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
StringCutObjectSelector< reco::Candidate::LorentzVector, true > DMSelection_ref
trigger::size_type sizeFilters() const
const std::string & triggerName(unsigned int triggerIndex) const
HLTPrescaleProvider * hltPrescale_
MonitorElement * bookProfile(Args &&...args)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const FreeTrajectoryState & theState() const
#define DEFINE_FWK_MODULE(type)
edm::EDGetTokenT< reco::MuonCollection > muoToken_
void bookME(DQMStore::IBooker &, METME &me, std::string &histname, std::string &histtitle, int &nbins, double &xmin, double &xmax)
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)
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
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)
void setCurrentFolder(std::string const &fullpath)
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
GenericTriggerEventFlag * den_genTriggerEventFlag_
HLTConfigProvider hltConfig_
BPHMonitor(const edm::ParameterSet &)
MonitorElement * book1D(Args &&...args)
double chi2() const
chi-squares
MonitorElement * denominator
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
StringCutObjectSelector< reco::Muon, true > muoSelection_
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)
StringCutObjectSelector< reco::Muon, true > muoSelection_ref
MonitorElement * book2D(Args &&...args)
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)
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_
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_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
math::XYZTLorentzVector LorentzVector
Lorentz vector.
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
StringCutObjectSelector< reco::Track, true > trSelection_ref
double py() const
y coordinate of momentum vector
double x0() const
x coordinate