201 : splitTracks_(iConfig.getParameter<
edm::
InputTag>(
"splitTracks")),
202 splitGlobalMuons_(iConfig.getParameter<
edm::
InputTag>(
"splitGlobalMuons")),
203 originalTracks_(iConfig.getParameter<
edm::
InputTag>(
"originalTracks")),
204 originalGlobalMuons_(iConfig.getParameter<
edm::
InputTag>(
"originalGlobalMuons")),
205 checkIfGolden_(iConfig.getParameter<
bool>(
"checkIfGolden")),
206 splitMuons_(iConfig.getParameter<
bool>(
"ifSplitMuons")),
207 totalTracksToAnalyzer_(0),
210 goldenPlusTwoTracksCtr(0),
211 _passesTracksPlusMuonsCuts(0),
212 splitterTree_(nullptr),
437 bool isGolden =
true;
465 bool topGlobalMuonFlag =
false;
466 bool bottomGlobalMuonFlag =
false;
467 int topGlobalMuon = -1;
468 int bottomGlobalMuon = -1;
469 double topGlobalMuonNorchi2 = 1e10;
470 double bottomGlobalMuonNorchi2 = 1e10;
474 for (std::vector<reco::Muon>::const_iterator gmI =
globalMuons->begin(); gmI !=
globalMuons->end(); gmI++) {
475 if (gmI->isTrackerMuon() && gmI->isStandAloneMuon() && gmI->isGlobalMuon()) {
479 if (gmI->innerTrack() == trackerTrackRef1) {
480 if (gmI->globalTrack()->normalizedChi2() < topGlobalMuonNorchi2) {
481 topGlobalMuonFlag =
true;
482 topGlobalMuonNorchi2 = gmI->globalTrack()->normalizedChi2();
483 topGlobalMuon = gmCtr;
486 if (gmI->innerTrack() == trackerTrackRef2) {
487 if (gmI->globalTrack()->normalizedChi2() < bottomGlobalMuonNorchi2) {
488 bottomGlobalMuonFlag =
true;
489 bottomGlobalMuonNorchi2 = gmI->globalTrack()->normalizedChi2();
490 bottomGlobalMuon = gmCtr;
517 if (
hit->isValid()) {
520 int type =
hit->geographicalId().subdetId();
559 if (
hit->isValid()) {
562 int type =
hit->geographicalId().subdetId();
592 double ddxy_Val = track1.
d0() - track2.
d0();
593 double ddz_Val = track1.
dz() - track2.
dz();
594 double dtheta_Val = track1.
theta() - track2.
theta();
595 double deta_Val = track1.
eta() - track2.
eta();
596 double dphi_Val = track1.
phi() - track2.
phi();
597 double dpt_Val = track1.
pt() - track2.
pt();
598 double dp_Val = track1.
p() - track2.
p();
599 double dqoverpt_Val = track1.
charge() / track1.
pt() - track2.
charge() / track2.
pt();
607 int nhitinTIBorg = 0;
608 int nhitinTOBorg = 0;
609 int nhitinTIDorg = 0;
610 int nhitinTECorg = 0;
611 int nhitinBPIXorg = 0;
612 int nhitinFPIXorg = 0;
614 if (
hit->isValid()) {
617 int type =
hit->geographicalId().subdetId();
756 dp_sta_ = sta1->p() - sta2->p();
802 dp_glb_ = glb1->p() - glb2->p();
1048 if (2 !=
muons.size())
1051 double mudd0 = 0., mudphi = 0., muddsz = 0., mudeta = 0.;
1052 for (
unsigned int bindex = 0; bindex <
muons.size(); ++bindex) {
1059 mudd0 += mutrack->
d0();
1060 mudphi += mutrack->
phi();
1061 muddsz += mutrack->
dsz();
1062 mudeta += mymuon.
eta();
1065 mudd0 -= mutrack->
d0();
1066 mudphi -= mutrack->
phi();
1067 muddsz -= mutrack->
dsz();
1068 mudeta -= mymuon.
eta();
1071 if ((fabs(mudd0) < 15.0) && (fabs(mudphi) < 0.045) && (fabs(muddsz) < 20.0) && (fabs(mudeta) < 0.060))