173 const int N_TriggerPaths =
hltPaths_.size();
177 bool Fired_Signal_Trigger[100] = {
false};
178 bool Fired_Control_Trigger[100] = {
false};
184 double DilepMass = 0.;
186 double vertex_X = 100.;
187 double vertex_Y = 100.;
188 double vertex_Z = 100.;
200 int numberTracks = primaryVertex.
tracksSize();
202 bool fake = primaryVertex.
isFake();
206 if (!fake && numberTracks > 3) {
207 vertex_X = primaryVertex.
x();
208 vertex_Y = primaryVertex.
y();
209 vertex_Z = primaryVertex.
z();
221 int N_Triggers = trigResults->size();
225 for (
int i_Trig = 0; i_Trig < N_Triggers; ++i_Trig) {
226 if (trigResults.
product()->accept(i_Trig)) {
229 for (
int i = 0;
i < N_TriggerPaths;
i++) {
238 for (
int j = 0;
j < N_SignalPaths; ++
j) {
240 Fired_Signal_Trigger[
j] =
true;
243 for (
int k = 0;
k < N_ControlPaths; ++
k) {
245 Fired_Control_Trigger[
k] =
true;
258 reco::MuonCollection::const_iterator
muon;
263 N_leptons = N_leptons + muons->size();
265 for (muon = muons->begin(); muon != muons->end(); ++
muon) {
266 float N_muons = muons->size();
267 float Q_muon = muon->charge();
271 double track_X = 100.;
272 double track_Y = 100.;
273 double track_Z = 100.;
275 if (muon->isGlobalMuon()) {
278 track_X = track->vx();
279 track_Y = track->vy();
280 track_Z = track->vz();
301 double muonCombRelIso = 1.;
303 if (muon->pt() != 0.)
304 muonCombRelIso = (muIso03.
emEt + muIso03.
hadEt + muIso03.
hoEt + muIso03.
sumPt) / muon->pt();
329 reco::GsfElectronCollection::const_iterator elec;
334 N_leptons = N_leptons + elecs->size();
336 for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
337 float N_elecs = elecs->size();
338 float Q_elec = elec->charge();
339 float HoverE = elec->hcalOverEcal();
345 double track_X = 100.;
346 double track_Y = 100.;
347 double track_Z = 100.;
351 track_X = track->vx();
352 track_Y = track->vy();
353 track_Z = track->vz();
372 double elecCombRelIso = 1.;
374 if (elec->et() != 0.)
401 reco::MuonCollection::const_reference mu1 = muons->at(0);
402 reco::MuonCollection::const_reference mu2 = muons->at(1);
404 DilepMass =
sqrt((mu1.energy() + mu2.energy()) * (mu1.energy() + mu2.energy()) -
405 (mu1.px() + mu2.px()) * (mu1.px() + mu2.px()) - (mu1.py() + mu2.py()) * (mu1.py() + mu2.py()) -
406 (mu1.pz() + mu2.pz()) * (mu1.pz() + mu2.pz()));
410 if (mu1.charge() * mu2.charge() < 0.) {
416 for (muon = muons->begin(); muon != muons->end(); ++
muon) {
427 for (
int k = 0;
k < N_SignalPaths; ++
k) {
428 if (Fired_Signal_Trigger[
k] && Fired_Control_Trigger[
k])
431 if (Fired_Control_Trigger[k])
445 if (mu1.charge() * mu2.charge() > 0.) {
457 if (N_iso_el > 0 && N_iso_mu > 0) {
465 reco::MuonCollection::const_reference mu1 = muons->at(0);
466 reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
468 DilepMass =
sqrt((mu1.energy() + el1.energy()) * (mu1.energy() + el1.energy()) -
469 (mu1.px() + el1.px()) * (mu1.px() + el1.px()) - (mu1.py() + el1.py()) * (mu1.py() + el1.py()) -
470 (mu1.pz() + el1.pz()) * (mu1.pz() + el1.pz()));
474 if (mu1.charge() * el1.charge() < 0.) {
480 for (muon = muons->begin(); muon != muons->end(); ++
muon) {
486 for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
497 for (
int k = 0; k < N_SignalPaths; ++
k) {
498 if (Fired_Signal_Trigger[k] && Fired_Control_Trigger[k])
501 if (Fired_Control_Trigger[k])
515 if (mu1.charge() * el1.charge() > 0.) {
535 reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
536 reco::GsfElectronCollection::const_reference el2 = elecs->at(1);
538 DilepMass =
sqrt((el1.energy() + el2.energy()) * (el1.energy() + el2.energy()) -
539 (el1.px() + el2.px()) * (el1.px() + el2.px()) - (el1.py() + el2.py()) * (el1.py() + el2.py()) -
540 (el1.pz() + el2.pz()) * (el1.pz() + el2.pz()));
544 if (el1.charge() * el2.charge() < 0.) {
550 for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
561 for (
int k = 0; k < N_SignalPaths; ++
k) {
562 if (Fired_Signal_Trigger[k] && Fired_Control_Trigger[k])
565 if (Fired_Control_Trigger[k])
579 if (el1.charge() * el2.charge() > 0.) {
MonitorElement * Nelecs_charge_
std::array< float, 7 > hcalRecHitSumEt
MonitorElement * dimassRC_
MonitorElement * D_phi_muons_
MonitorElement * D_phi_lepts_
MonitorElement * dimassWC_LOG10_
float sumPt
sum-pt of tracks
MonitorElement * HoverE_elecs_
MonitorElement * D_eta_muons_
MonitorElement * D_phi_elecs_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< std::string > hltPaths_trig_
edm::EDGetTokenT< reco::GsfElectronCollection > elecs_
double y() const
y coordinate
MonitorElement * phi_elecs_
MonitorElement * Nmuons_charge_
edm::EDGetTokenT< reco::VertexCollection > vertex_
MonitorElement * MuIso_sumPt03_
MonitorElement * eta_muons_
MonitorElement * ElecIso_cal_
MonitorElement * MuIso_nTracks03_
MonitorElement * eta_elecs_
edm::EDGetTokenT< reco::MuonCollection > muons_
MonitorElement * dimassRC_LOGX_
MonitorElement * D_eta_elecs_
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
MonitorElement * TriggerEff_
MonitorElement * MuIso_hoEt03_
MonitorElement * Ntracks_
MonitorElement * phi_muons_
int nJets
number of jets in the cone
Abs< T >::type abs(const T &t)
double z() const
z coordinate
MonitorElement * D_eta_lepts_
MonitorElement * Nmuons_iso_
MonitorElement * VxVy_muons_
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * ElecIso_trk_
size_t tracksSize() const
number of tracks
int nTracks
number of tracks in the cone (excluding veto region)
MonitorElement * pT_elecs_
double x() const
x coordinate
T const * product() const
MonitorElement * Vz_muons_
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
std::string const & triggerName(unsigned int index) const
MonitorElement * ElecIso_CombRelIso_
std::vector< std::string > hltPaths_
MonitorElement * dimassWC_
MonitorElement * dimassWC_LOGX_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
MonitorElement * MuIso_nJets03_
std::vector< std::string > hltPaths_sig_
MonitorElement * dimassRC_LOG10_
MonitorElement * MuIso_emEt03_
MonitorElement * pT_muons_
MonitorElement * Nelecs_iso_
MonitorElement * MuIso_hadEt03_
MonitorElement * MuIso_CombRelIso03_