198 const int N_TriggerPaths =
hltPaths_.size();
202 bool Fired_Signal_Trigger[100] = {
false};
203 bool Fired_Control_Trigger[100] = {
false};
209 double DilepMass = 0.;
211 double vertex_X = 100.;
212 double vertex_Y = 100.;
213 double vertex_Z = 100.;
225 int numberTracks = primaryVertex.
tracksSize();
227 bool fake = primaryVertex.
isFake();
231 if (!fake && numberTracks > 3) {
232 vertex_X = primaryVertex.
x();
233 vertex_Y = primaryVertex.
y();
234 vertex_Z = primaryVertex.
z();
246 int N_Triggers = trigResults->
size();
250 for (
int i_Trig = 0; i_Trig < N_Triggers; ++i_Trig) {
254 for (
int i = 0;
i < N_TriggerPaths;
i++) {
263 for (
int j = 0;
j < N_SignalPaths; ++
j) {
265 Fired_Signal_Trigger[
j] =
true;
268 for (
int k = 0;
k < N_ControlPaths; ++
k) {
270 Fired_Control_Trigger[
k] =
true;
283 reco::MuonCollection::const_iterator
muon;
288 N_leptons = N_leptons + muons->size();
290 for (muon = muons->begin(); muon != muons->end(); ++
muon) {
291 float N_muons = muons->size();
292 float Q_muon = muon->charge();
296 double track_X = 100.;
297 double track_Y = 100.;
298 double track_Z = 100.;
300 if (muon->isGlobalMuon()) {
303 track_X = track->vx();
304 track_Y = track->vy();
305 track_Z = track->vz();
321 double muonCombRelIso = 1.;
323 if (muon->pt() != 0.)
350 reco::GsfElectronCollection::const_iterator elec;
355 N_leptons = N_leptons + elecs->size();
357 for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
358 float N_elecs = elecs->size();
359 float Q_elec = elec->charge();
360 float HoverE = elec->hcalOverEcal();
366 double track_X = 100.;
367 double track_Y = 100.;
368 double track_Z = 100.;
372 track_X = track->vx();
373 track_Y = track->vy();
374 track_Z = track->vz();
386 elec->dr03IsolationVariables();
388 double elecCombRelIso = 1.;
390 if (elec->et() != 0.)
419 reco::MuonCollection::const_reference mu1 = muons->at(0);
420 reco::MuonCollection::const_reference mu2 = muons->at(1);
423 sqrt((mu1.energy() + mu2.energy()) * (mu1.energy() + mu2.energy()) -
424 (mu1.px() + mu2.px()) * (mu1.px() + mu2.px()) -
425 (mu1.py() + mu2.py()) * (mu1.py() + mu2.py()) -
426 (mu1.pz() + mu2.pz()) * (mu1.pz() + mu2.pz()));
430 if (mu1.charge() * mu2.charge() < 0.) {
436 for (muon = muons->begin(); muon != muons->end(); ++
muon) {
447 for (
int k = 0;
k < N_SignalPaths; ++
k) {
448 if (Fired_Signal_Trigger[
k] && Fired_Control_Trigger[
k]) ++
N_sig[
k];
450 if (Fired_Control_Trigger[k]) ++
N_trig[
k];
466 if (mu1.charge() * mu2.charge() > 0.) {
478 if (N_iso_el > 0 && N_iso_mu > 0) {
487 reco::MuonCollection::const_reference mu1 = muons->at(0);
488 reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
491 sqrt((mu1.energy() + el1.energy()) * (mu1.energy() + el1.energy()) -
492 (mu1.px() + el1.px()) * (mu1.px() + el1.px()) -
493 (mu1.py() + el1.py()) * (mu1.py() + el1.py()) -
494 (mu1.pz() + el1.pz()) * (mu1.pz() + el1.pz()));
498 if (mu1.charge() * el1.charge() < 0.) {
504 for (muon = muons->begin(); muon != muons->end(); ++
muon) {
510 for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
521 for (
int k = 0; k < N_SignalPaths; ++
k) {
522 if (Fired_Signal_Trigger[k] && Fired_Control_Trigger[k]) ++
N_sig[
k];
524 if (Fired_Control_Trigger[k]) ++
N_trig[
k];
540 if (mu1.charge() * el1.charge() > 0.) {
561 reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
562 reco::GsfElectronCollection::const_reference el2 = elecs->at(1);
565 sqrt((el1.energy() + el2.energy()) * (el1.energy() + el2.energy()) -
566 (el1.px() + el2.px()) * (el1.px() + el2.px()) -
567 (el1.py() + el2.py()) * (el1.py() + el2.py()) -
568 (el1.pz() + el2.pz()) * (el1.pz() + el2.pz()));
572 if (el1.charge() * el2.charge() < 0.) {
578 for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
589 for (
int k = 0; k < N_SignalPaths; ++
k) {
590 if (Fired_Signal_Trigger[k] && Fired_Control_Trigger[k]) ++
N_sig[
k];
592 if (Fired_Control_Trigger[k]) ++
N_trig[
k];
608 if (el1.charge() * el2.charge() > 0.) {
MonitorElement * Nelecs_charge_
MonitorElement * dimassRC_
MonitorElement * D_phi_muons_
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
void setBinContent(int binx, double content)
set content of bin (1-D)
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_
bool accept() const
Has at least one path accepted the event?
MonitorElement * eta_muons_
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_cal_
MonitorElement * MuIso_nTracks03_
MonitorElement * eta_elecs_
edm::EDGetTokenT< reco::MuonCollection > muons_
float hcalDepth1TowerSumEt
MonitorElement * dimassRC_LOGX_
MonitorElement * D_eta_elecs_
MonitorElement * TriggerEff_
MonitorElement * MuIso_hoEt03_
MonitorElement * Ntracks_
unsigned int size() const
Get number of paths stored.
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_
MonitorElement * ElecIso_trk_
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_
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_
size_t tracksSize() const
number of tracks
MonitorElement * Nelecs_iso_
MonitorElement * MuIso_hadEt03_
MonitorElement * MuIso_CombRelIso03_