162 const int N_TriggerPaths =
hltPaths_.size();
166 bool Fired_Signal_Trigger[100] = {
false};
167 bool Fired_Control_Trigger[100] = {
false};
169 int N_run = (evt.
id()).
run();
170 int N_event = (evt.
id()).
event();
178 double DilepMass = 0.;
180 double vertex_X = 100.;
181 double vertex_Y = 100.;
182 double vertex_Z = 100.;
203 int numberTracks = primaryVertex.
tracksSize();
205 bool fake = primaryVertex.
isFake();
209 if( !fake && numberTracks > 3 ) {
211 vertex_X = primaryVertex.
x();
212 vertex_Y = primaryVertex.
y();
213 vertex_Z = primaryVertex.
z();
236 int N_Triggers = trigResults->size();
240 for(
int i_Trig = 0; i_Trig < N_Triggers; ++i_Trig ) {
242 if (trigResults.
product()->accept(i_Trig)) {
246 for(
int i = 0;
i < N_TriggerPaths;
i++ ) {
259 for(
int j = 0;
j < N_SignalPaths; ++
j ) {
265 for(
int k = 0;
k < N_ControlPaths; ++
k ) {
284 reco::MuonCollection::const_iterator
muon;
298 N_leptons = N_leptons + muons->size();
300 for(muon = muons->begin(); muon!= muons->end(); ++
muon) {
302 float N_muons = muons->size();
303 float Q_muon = muon->charge();
307 double track_X = 100.;
308 double track_Y = 100.;
309 double track_Z = 100.;
311 if( muon->isGlobalMuon() ) {
315 track_X = track->vx();
316 track_Y = track->vy();
317 track_Z = track->vz();
334 double muonCombRelIso = 1.;
336 if ( muon->pt() != 0. )
337 muonCombRelIso = ( muIso03.
emEt + muIso03.
hadEt + muIso03.
hoEt + muIso03.
sumPt ) / muon->pt();
363 reco::GsfElectronCollection::const_iterator elec;
377 N_leptons = N_leptons + elecs->size();
379 for(elec = elecs->begin(); elec!= elecs->end(); ++elec) {
381 float N_elecs = elecs->size();
382 float Q_elec = elec->charge();
383 float HoverE = elec->hcalOverEcal();
389 double track_X = 100.;
390 double track_Y = 100.;
391 double track_Z = 100.;
395 track_X = track->vx();
396 track_Y = track->vy();
397 track_Z = track->vz();
410 double elecCombRelIso = 1.;
412 if ( elec->et() != 0. )
428 N_iso_lep = N_iso_el + N_iso_mu;
445 reco::MuonCollection::const_reference mu1 = muons->at(0);
446 reco::MuonCollection::const_reference mu2 = muons->at(1);
448 DilepMass =
sqrt( (mu1.energy()+mu2.energy())*(mu1.energy()+mu2.energy())
449 - (mu1.px()+mu2.px())*(mu1.px()+mu2.px())
450 - (mu1.py()+mu2.py())*(mu1.py()+mu2.py())
451 - (mu1.pz()+mu2.pz())*(mu1.pz()+mu2.pz())
456 if( mu1.charge()*mu2.charge() < 0. ) {
464 for(muon = muons->begin(); muon!= muons->end(); ++
muon) {
477 if( mu1.isGlobalMuon() && mu2.isGlobalMuon() ) {
479 outfile <<
"--------------------" <<
"\n";
480 outfile <<
" Run : " << N_run <<
"\n";
481 outfile <<
" Event : " << N_event <<
"\n";
482 outfile <<
"LumiBlock : " << N_lumi <<
"\n";
483 outfile <<
" Type : mu mu" <<
"\n";
484 outfile <<
"--------------------" <<
"\n";
485 outfile <<
"DilepMass : " << DilepMass <<
"\n";
486 outfile <<
"Mu1 Pt : " << mu1.pt() <<
"\n";
487 outfile <<
"Mu1 Eta : " << mu1.eta() <<
"\n";
488 outfile <<
"Mu1 Phi : " << mu1.phi() <<
"\n";
489 outfile <<
"Mu2 Pt : " << mu2.pt() <<
"\n";
490 outfile <<
"Mu2 Eta : " << mu2.eta() <<
"\n";
491 outfile <<
"Mu2 Phi : " << mu2.phi() <<
"\n";
492 outfile <<
"--------------------" <<
"\n";
500 for(
int k = 0;
k < N_SignalPaths; ++
k ) {
502 if( Fired_Signal_Trigger[
k] && Fired_Control_Trigger[
k] ) ++
N_sig[
k];
504 if( Fired_Control_Trigger[k] ) ++
N_trig[
k];
519 if( mu1.charge()*mu2.charge() > 0. ) {
527 if( mu1.isGlobalMuon() && mu2.isGlobalMuon() ) {
529 outfile <<
"---------------------" <<
"\n";
530 outfile <<
" Run : " << N_run <<
"\n";
531 outfile <<
" Event : " << N_event <<
"\n";
532 outfile <<
"LumiBlock : " << N_lumi <<
"\n";
533 outfile <<
" Type : WC mu mu" <<
"\n";
534 outfile <<
"---------------------" <<
"\n";
535 outfile <<
"DilepMass : " << DilepMass <<
"\n";
536 outfile <<
"Mu1 Pt : " << mu1.pt() <<
"\n";
537 outfile <<
"Mu1 Eta : " << mu1.eta() <<
"\n";
538 outfile <<
"Mu1 Phi : " << mu1.phi() <<
"\n";
539 outfile <<
"Mu2 Pt : " << mu2.pt() <<
"\n";
540 outfile <<
"Mu2 Eta : " << mu2.eta() <<
"\n";
541 outfile <<
"Mu2 Phi : " << mu2.phi() <<
"\n";
542 outfile <<
"---------------------" <<
"\n";
559 if( N_iso_el > 0 && N_iso_mu > 0 ) {
569 reco::MuonCollection::const_reference mu1 = muons->at(0);
570 reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
572 DilepMass =
sqrt( (mu1.energy()+el1.energy())*(mu1.energy()+el1.energy())
573 - (mu1.px()+el1.px())*(mu1.px()+el1.px())
574 - (mu1.py()+el1.py())*(mu1.py()+el1.py())
575 - (mu1.pz()+el1.pz())*(mu1.pz()+el1.pz())
580 if( mu1.charge()*el1.charge() < 0. ) {
588 for(muon = muons->begin(); muon!= muons->end(); ++
muon) {
596 for(elec = elecs->begin(); elec!= elecs->end(); ++elec) {
609 if( mu1.isGlobalMuon() && el1.isElectron() ) {
611 outfile <<
"--------------------" <<
"\n";
612 outfile <<
" Run : " << N_run <<
"\n";
613 outfile <<
" Event : " << N_event <<
"\n";
614 outfile <<
"LumiBlock : " << N_lumi <<
"\n";
615 outfile <<
" Type : mu el" <<
"\n";
616 outfile <<
"--------------------" <<
"\n";
617 outfile <<
"DilepMass : " << DilepMass <<
"\n";
618 outfile <<
"Mu1 Pt : " << mu1.pt() <<
"\n";
619 outfile <<
"Mu1 Eta : " << mu1.eta() <<
"\n";
620 outfile <<
"Mu1 Phi : " << mu1.phi() <<
"\n";
621 outfile <<
"El1 Pt : " << el1.pt() <<
"\n";
622 outfile <<
"El1 Eta : " << el1.eta() <<
"\n";
623 outfile <<
"El1 Phi : " << el1.phi() <<
"\n";
624 outfile <<
"--------------------" <<
"\n";
632 for(
int k = 0; k < N_SignalPaths; ++
k ) {
634 if( Fired_Signal_Trigger[k] && Fired_Control_Trigger[k] ) ++
N_sig[
k];
636 if( Fired_Control_Trigger[k] ) ++
N_trig[
k];
651 if( mu1.charge()*el1.charge() > 0. ) {
678 reco::GsfElectronCollection::const_reference el1 = elecs->at(0);
679 reco::GsfElectronCollection::const_reference el2 = elecs->at(1);
681 DilepMass =
sqrt( (el1.energy()+el2.energy())*(el1.energy()+el2.energy())
682 - (el1.px()+el2.px())*(el1.px()+el2.px())
683 - (el1.py()+el2.py())*(el1.py()+el2.py())
684 - (el1.pz()+el2.pz())*(el1.pz()+el2.pz())
689 if( el1.charge()*el2.charge() < 0. ) {
697 for(elec = elecs->begin(); elec!= elecs->end(); ++elec) {
710 if( el1.isElectron() && el2.isElectron() ) {
712 outfile <<
"--------------------" <<
"\n";
713 outfile <<
" Run : " << N_run <<
"\n";
714 outfile <<
" Event : " << N_event <<
"\n";
715 outfile <<
"LumiBlock : " << N_lumi <<
"\n";
716 outfile <<
" Type : el el" <<
"\n";
717 outfile <<
"--------------------" <<
"\n";
718 outfile <<
"DilepMass : " << DilepMass <<
"\n";
719 outfile <<
"El1 Pt : " << el1.pt() <<
"\n";
720 outfile <<
"El1 Eta : " << el1.eta() <<
"\n";
721 outfile <<
"El1 Phi : " << el1.phi() <<
"\n";
722 outfile <<
"El2 Pt : " << el2.pt() <<
"\n";
723 outfile <<
"El2 Eta : " << el2.eta() <<
"\n";
724 outfile <<
"El2 Phi : " << el2.phi() <<
"\n";
725 outfile <<
"--------------------" <<
"\n";
733 for(
int k = 0; k < N_SignalPaths; ++
k ) {
735 if( Fired_Signal_Trigger[k] && Fired_Control_Trigger[k] ) ++
N_sig[
k];
737 if( Fired_Control_Trigger[k] ) ++
N_trig[
k];
752 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_
std::vector< std::string > hltPaths_trig_
double y() const
y coordinate
MonitorElement * phi_elecs_
MonitorElement * Nmuons_charge_
MonitorElement * MuIso_sumPt03_
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)
edm::LuminosityBlockNumber_t luminosityBlock() const
MonitorElement * ElecIso_cal_
MonitorElement * MuIso_nTracks03_
MonitorElement * eta_elecs_
float hcalDepth1TowerSumEt
MonitorElement * dimassRC_LOGX_
MonitorElement * D_eta_elecs_
MonitorElement * TriggerEff_
MonitorElement * MuIso_hoEt03_
MonitorElement * Ntracks_
MonitorElement * phi_muons_
int nJets
number of jets in the cone
double z() const
y coordinate
MonitorElement * D_eta_lepts_
MonitorElement * Nmuons_iso_
MonitorElement * VxVy_muons_
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
MonitorElement * ElecIso_trk_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
int nTracks
number of tracks in the cone (excluding veto region)
MonitorElement * pT_elecs_
double x() const
x coordinate
MonitorElement * Vz_muons_
std::string const & triggerName(unsigned int index) const
MonitorElement * ElecIso_CombRelIso_
T const * product() const
std::vector< std::string > hltPaths_
MonitorElement * dimassWC_
MonitorElement * dimassWC_LOGX_
edm::InputTag 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_