Definition at line 34 of file ZMuMuPerformances.cc.
ZMuMuPerformances::ZMuMuPerformances | ( | const edm::ParameterSet & | pset | ) |
Definition at line 169 of file ZMuMuPerformances.cc.
References etamax_, etamaxPlus_, h_DEtaGlobalGenvsEtaGen, h_DEtaGlobalGenvsEtaGen_ZMuMuTagged, h_DEtaGlobalStaComponentGenvsEtaGen, h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged, h_DPtGlobalGenvsEtaGen_ZMuMuTagged, h_DPtGlobalGenvsPtGen, h_DPtGlobalGenvsPtGen_ZMuMuTagged, h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged, h_DPtGlobalStaComponentGenvsPtGen, h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged, h_DPtTrackGenvsEtaGen_ZMuMuTagged, h_DPtTrackGenvsPtGen_ZMuMuTagged, h_DRSta_wrongTrkCharge_ZMuMuTagged, h_DRSta_ZMuMuTagged, h_DRTrack_wrongStaCharge_ZMuMuTagged, h_DRTrack_wrongStaCharge_ZMuTrackTagged, h_DRTrack_ZMuMuTagged, h_DRTrack_ZMuTrackTagged, h_etaSta_wrongTrkCharge_ZMuMuTagged, h_etaSta_wrongTrkCharge_ZMuStaTagged, h_etaSta_ZMuMuTagged, h_etaSta_ZMuStaTagged, h_etaTrack_wrongStaCharge_ZMuMuTagged, h_etaTrack_wrongStaCharge_ZMuTrackTagged, h_etaTrack_ZMuMuTagged, h_etaTrack_ZMuTrackTagged, h_GlobalMuonChargeTimeGenCharge, h_GlobalMuonEtaMinusGenEta, h_GlobalMuonEtaMinusGenEta_ZMuMuTagged, h_GlobalMuonPtMinusGenPt, h_GlobalMuonPtMinusGenPt_ZMuMuTagged, h_GlobalMuonStaComponentEtaMinusGenEta, h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged, h_GlobalMuonStaComponentPtMinusGenPt, h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged, h_n_globalMuon_perEvent, h_n_globalMuon_perEvent_MCmatch, h_n_staOnlyMuon_perEvent, h_n_staOnlyMuon_perEvent_MCmatch, h_n_trackerOnlyMuon_perEvent, h_n_trackerOnlyMuon_perEvent_MCmatch, h_n_trackerStaOnlyMuon_perEvent, h_n_trackerStaOnlyMuon_perEvent_MCmatch, h_n_tracks_perEvent, h_n_zMuMu_perEvent, h_n_zMuSta_perEvent, h_n_zMuTrack_perEvent, h_phiSta_wrongTrkCharge_ZMuMuTagged, h_phiSta_wrongTrkCharge_ZMuStaTagged, h_phiSta_ZMuMuTagged, h_phiSta_ZMuStaTagged, h_phiTrack_wrongStaCharge_ZMuMuTagged, h_phiTrack_wrongStaCharge_ZMuTrackTagged, h_phiTrack_ZMuMuTagged, h_phiTrack_ZMuTrackTagged, h_ptSta_wrongTrkCharge_ZMuMuTagged, h_ptSta_wrongTrkCharge_ZMuStaTagged, h_ptSta_ZMuMuTagged, h_ptSta_ZMuStaTagged, h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged, h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged, h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged, h_ptTrack_wrongStaCharge_ZMuMuTagged, h_ptTrack_wrongStaCharge_ZMuTrackTagged, h_ptTrack_ZMuMuTagged, h_ptTrack_ZMuTrackTagged, h_TrackerMuonChargeTimeGenCharge, h_TrackerMuonEtaMinusGenEta, h_TrackerMuonPtMinusGenPt, h_zMuMuMassOppositeSign, h_zMuMuMassSameSign, h_zMuMuMassSameSign_MCmatch, h_zMuStaMass_correctStaCharge_ZMuMuTagged, h_zMuStaMass_wrongTrkCharge_ZMuMuTagged, h_zMuStaMass_wrongTrkCharge_ZMuStaTagged, h_zMuStaMass_ZMuMuTagged, h_zMuStaMass_ZMuStaTagged, h_zMuTrackMass_wrongStaCharge_ZMuMuTagged, h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged, h_zMuTrackMass_ZMuMuTagged, h_zMuTrackMass_ZMuTrackTagged, isomax_, isoMax_, massMax_, massMin_, n_correctStaCharge_ZMuMutagged, n_correctStaCharge_ZMuTracktagged, n_correctTrkCharge_ZMuMutagged, n_correctTrkCharge_ZMuStatagged, n_goodSta_ZMuMutagged, n_goodSta_ZMuStatagged, n_goodTrack_ZMuMutagged, n_goodTrack_ZMuTracktagged, n_MultipleGoodZMuTrack, n_OneGoodZMuTrack, n_StaNotFound_ZMuTracktagged, n_TrkNotFound_ZMuStatagged, n_wrongStaCharge_ZMuMutagged, n_wrongStaCharge_ZMuTracktagged, n_wrongTrkCharge_ZMuMutagged, n_wrongTrkCharge_ZMuStatagged, n_ZMuStaTaggedMatched, numberOfMatchedZMuSta_, nZMuMuSameSign, nZMuMuSameSign_mcMatched, ptmin_, ptminPlus_, totalNumberOfZfound, totalNumberOfZpassed, zMassMax_, and zMassMin_.
: zMuMu_(pset.getParameter<InputTag>("zMuMu")), zMuMuMatchMap_(pset.getParameter<InputTag>("zMuMuMatchMap")), zMuTrack_(pset.getParameter<InputTag>("zMuTrack")), zMuTrackMatchMap_(pset.getParameter<InputTag>("zMuTrackMatchMap")), zMuStandAlone_(pset.getParameter<InputTag>("zMuStandAlone")), zMuStandAloneMatchMap_(pset.getParameter<InputTag>("zMuStandAloneMatchMap")), muons_(pset.getParameter<InputTag>("muons")), muonMatchMap_(pset.getParameter<InputTag>("muonMatchMap")), muonIso_(pset.getParameter<InputTag>("muonIso")), tracks_(pset.getParameter<InputTag>("tracks")), trackIso_(pset.getParameter<InputTag>("trackIso")), genParticles_(pset.getParameter<InputTag>( "genParticles" ) ), noCut_(pset.getParameter<bool>("noCut")), zMassMin_(pset.getUntrackedParameter<double>("zMassMin")), zMassMax_(pset.getUntrackedParameter<double>("zMassMax")), ptminPlus_(pset.getUntrackedParameter<double>("ptminPlus")), ptmaxPlus_(pset.getUntrackedParameter<double>("ptmaxPlus")), etaminPlus_(pset.getUntrackedParameter<double>("etaminPlus")), etamaxPlus_(pset.getUntrackedParameter<double>("etamaxPlus")), ptminMinus_(pset.getUntrackedParameter<double>("ptminMinus")), ptmaxMinus_(pset.getUntrackedParameter<double>("ptmaxMinus")), etaminMinus_(pset.getUntrackedParameter<double>("etaminMinus")), etamaxMinus_(pset.getUntrackedParameter<double>("etamaxMinus")), isomax_(pset.getUntrackedParameter<double>("isomax")) { Service<TFileService> fs; // cut setting etamax_ = etamaxPlus_; ptmin_ = ptminPlus_; massMin_ = zMassMin_; massMax_ = zMassMax_; isoMax_ = isomax_; // general histograms h_n_globalMuon_perEvent = fs->make<TH1D>("n_globalMuon_perEvent","n.of globalMuons per Event",6,-.5,5.5); h_n_staOnlyMuon_perEvent = fs->make<TH1D>("n_staOnlyMuon_perEvent","n.of standAlone Only Muons per Event",6,-.5,5.5); h_n_trackerOnlyMuon_perEvent = fs->make<TH1D>("n_trackerOnlyMuon_perEvent","n.of tracker Only Muons per Event",6,-.5,5.5); h_n_trackerStaOnlyMuon_perEvent = fs->make<TH1D>("n_trackerStaOnlyMuon_perEvent","n.of tracker & StandAlone Only Muons per Event",6,-.5,5.5); h_n_globalMuon_perEvent_MCmatch = fs->make<TH1D>("n_globalMuon_perEvent_MCmatch","n.of globalMuons per Event (MCmatch)",6,-.5,5.5); h_n_staOnlyMuon_perEvent_MCmatch = fs->make<TH1D>("n_staOnlyMuon_perEvent_MCmatch","n.of standAlone Only Muons per Event (MCmatch)",6,-.5,5.5); h_n_trackerOnlyMuon_perEvent_MCmatch = fs->make<TH1D>("n_trackerOnlyMuon_perEvent_MCmatch","n.of tracker Only Muons per Event (MCmatch)",6,-.5,5.5); h_n_trackerStaOnlyMuon_perEvent_MCmatch = fs->make<TH1D>("n_trackerStaOnlyMuon_perEvent_MCmatch","n.of tracker & StandAlone Only Muons per Event (MCmatch)",6,-.5,5.5); h_n_tracks_perEvent = fs->make<TH1D>("n_tracks_perEvent","n.of tracks per Event",100,-.5,99.5); h_n_zMuMu_perEvent = fs->make<TH1D>("n_zMuMu_perEvent","n.of global-global muons per Event",6,-.5,5.5); h_n_zMuSta_perEvent = fs->make<TH1D>("n_zMuSta_perEvent","n.of global-sta muons per Event",6,-.5,5.5); h_n_zMuTrack_perEvent = fs->make<TH1D>("n_zMuTrack_perEvent","n.of global-track muons per Event",100,-.5,99.5); // zMuMu inv mass h_zMuMuMassSameSign = fs->make<TH1D>("zMuMuMassSameSign","inv Mass ZMuMu cand SameSign",100, 0., 200.); h_zMuMuMassOppositeSign = fs->make<TH1D>("zMuMuMassOppositeSign","inv Mass ZMuMu cand OppositeSign",100, 0., 200.); h_zMuMuMassSameSign_MCmatch = fs->make<TH1D>("zMuMuMassSameSign_MCmatch","inv Mass ZMuMu cand SameSign (MC match)",100, 0., 200.); // histograms for MC truth // charge truth h_GlobalMuonChargeTimeGenCharge = fs->make<TH1D>("GlobalMuonChargeTimeGenCharge","charge global mu times charge generated mu",3, -1.5, 1.5); h_TrackerMuonChargeTimeGenCharge = fs->make<TH1D>("TrackerMuonChargeTimeGenCharge","charge Tracker mu times charge generated mu",3, -1.5, 1.5); // resolution respect to gen particles h_GlobalMuonEtaMinusGenEta = fs->make<TH1D>("GlobalMuonEtaMinusGenEta","global mu Eta minus generated mu Eta",100, -.005, .005); h_GlobalMuonPtMinusGenPt = fs->make<TH1D>("GlobalMuonPtMinusGenPtoverPt","global mu Pt minus generated mu Pt over Pt",100, -.5, .5); h_GlobalMuonStaComponentEtaMinusGenEta = fs->make<TH1D>("GlobalMuonStaComponentEtaMinusGenEta","global mu Sta cmponent Eta minus generated mu Eta",100, -.5, .5); h_GlobalMuonStaComponentPtMinusGenPt = fs->make<TH1D>("GlobalMuonStaComponentPtMinusGenPtoerPt","global mu Sta component Pt minus generated mu Pt over Pt",100, -1., 1.); h_TrackerMuonEtaMinusGenEta = fs->make<TH1D>("TrackerMuonEtaMinusGenEta","Tracker mu Eta minus Eta generated mu",100, -.005, .005); h_TrackerMuonPtMinusGenPt = fs->make<TH1D>("TrackerMuonPtMinusenPtoverPt","Tracker mu Pt minus Pt generated mu over Pt",100, -.5, .5); h_DEtaGlobalGenvsEtaGen = fs->make<TH2D>("h_DEtaGlobalGenvsEtaGen","Eta global - Eta Gen vs Eta gen",50,-2.5,2.5,100,-.005,.005); h_DEtaGlobalStaComponentGenvsEtaGen = fs->make<TH2D>("h_DEtaGlobalStaComponentGenvsEtaGen","Eta Sta component of a Global - Eta Gen vs Eta gen",50,-2.5,2.5,100,-.5,.5); h_DPtGlobalGenvsPtGen = fs->make<TH2D>("h_DPtGlobalGenovePtvsPtGen","Pt global - Pt Gen over Pt vs Pt gen",50,0.,100.,100,-.5,.5); h_DPtGlobalStaComponentGenvsPtGen = fs->make<TH2D>("h_DPtGlobalStaComponentGenoverPtvsPtGen","Pt Sta component of a Global - Pt Gen over Pt vs Pt gen",50,0.,100.,100,-1.,1.); // resolution respect to gen particles for ZMuMuTagged events h_GlobalMuonEtaMinusGenEta_ZMuMuTagged = fs->make<TH1D>("GlobalMuonEtaMinusGenEta_ZMuMuTagged","global mu Eta minus generated mu Eta",100, -.005, .005); h_GlobalMuonPtMinusGenPt_ZMuMuTagged = fs->make<TH1D>("GlobalMuonPtMinusGenPtoverPt_ZMuMuTagged","global mu Pt minus generated mu Pt over Pt",100, -.5, .5); h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged = fs->make<TH1D>("GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged","global mu Sta cmponent Eta minus generated mu Eta",100, -.5, .5); h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged = fs->make<TH1D>("GlobalMuonStaComponentPtMinusGenPtoverPt_ZMuMuTagged","global mu Sta component Pt minus generated mu Pt over Pt",100, -1., 1.); h_DEtaGlobalGenvsEtaGen_ZMuMuTagged = fs->make<TH2D>("h_DEtaGlobalGenvsEtaGen_ZMuMuTagged","Eta global - Eta Gen vs Eta gen",50,-2.5,2.5,100,-.005,.005); h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged = fs->make<TH2D>("h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged","Eta Sta component of a Global - Eta Gen vs Eta gen",50,-2.5,2.5,100,-.5,.5); h_DPtGlobalGenvsPtGen_ZMuMuTagged = fs->make<TH2D>("h_DPtGlobalGenOverPtvsPtGen_ZMuMuTagged","Pt global - Pt Gen vs Pt gen over Pt",50,0.,100.,100,-.5,.5); h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged = fs->make<TH2D>("h_DPtGlobalStaComponentGenoverPtvsPtGen_ZMuMuTagged","Pt Sta component of a Global - Pt Gen over Pt vs Pt gen",50,0.,100.,100,-1.,1.); h_DPtGlobalGenvsEtaGen_ZMuMuTagged = fs->make<TH2D>("h_DPtGlobalGenOverPtvsEtaGen_ZMuMuTagged","Pt global - Pt Gen over Pt vs Eta gen",50,-2.5,2.5,100,-.5,.5); h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged = fs->make<TH2D>("h_DPtGlobalStaComponentGenoverPtvsEtaGen_ZMuMuTagged","Pt Sta component of a Global - Pt Gen over Pt vs Eta gen",50,-2.5,2.5,100,-1.,1.); h_DPtTrackGenvsPtGen_ZMuMuTagged = fs->make<TH2D>("h_DPtTrackGenOverPtvsPtGen_ZMuMuTagged","Pt track - Pt Gen vs Pt gen over Pt",50,0.,100.,100,-.5,.5); h_DPtTrackGenvsEtaGen_ZMuMuTagged = fs->make<TH2D>("h_DPtTrackGenOverPtvsEtaGen_ZMuMuTagged","Pt track - Pt Gen over Pt vs Eta gen",50,-2.5,2.5,100,-.5,.5); // histograms for cynematic of ZMuMutagged muons for Sta performances studies h_zMuTrackMass_ZMuMuTagged = fs->make<TH1D>("zMuTrackMass_ZMuMuTagged","inv Mass ZMuTrack cand (global-global)",100, 0., 200.); h_etaTrack_ZMuMuTagged = fs->make<TH1D>("etaTrack_ZMuMuTagged","eta of Track (global-global)",50, -2.5, 2.5); h_phiTrack_ZMuMuTagged = fs->make<TH1D>("phiTrack_ZMuMuTagged","phi of Track (global-global)",50, -3.1415, 3.1415); h_ptTrack_ZMuMuTagged = fs->make<TH1D>("ptTrack_ZMuMuTagged","pt of Track (global-global)",100, 0., 100.); h_DRTrack_ZMuMuTagged = fs->make<TH1D>("DRTrackSta_ZMuMuTagged","DR track-sta (global-global)",100, 0., 5.); // histograms for cynematic of ZMuMutagged muons when StandAlone has wrong charge h_zMuTrackMass_wrongStaCharge_ZMuMuTagged = fs->make<TH1D>("zMuTrackMass_wrongStaCharge_ZMuMuTagged","inv Mass ZMuTrack cand (global-global wrongStaCharge)",100, 0., 200.); h_etaTrack_wrongStaCharge_ZMuMuTagged = fs->make<TH1D>("etaTrack_wrongStaCharge_ZMuMuTagged","eta of Track (global-global wrongStaCharge)",50, -2.5, 2.5); h_phiTrack_wrongStaCharge_ZMuMuTagged = fs->make<TH1D>("phiTrack_wrongStaCharge_ZMuMuTagged","phi of Track (global-global wrongStaCharge)",50, -3.1415, 3.1415); h_ptTrack_wrongStaCharge_ZMuMuTagged = fs->make<TH1D>("ptTrack_wrongStaCharge_ZMuMuTagged","pt of Track (global-global wrongStaCharge)",100, 0., 100.); h_DRTrack_wrongStaCharge_ZMuMuTagged = fs->make<TH1D>("DRTrackSta_wrongStaCharge_ZMuMuTagged","DR track-sta (global-global wrongStaCharge)",100, 0., 5.); // hisograms for performances of StandAlone when StandAlone has correct charge h_zMuStaMass_correctStaCharge_ZMuMuTagged = fs->make<TH1D>("zMuStaMass_correctStaCharge_ZMuMuTagged","inv Mass ZMuSta cand (global-global correctStaCharge)",100, 0., 200.); h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged = fs->make<TH1D>("ptStaMinusptTrackoverPT_correctStaCharge_ZMuMuTagged","ptSta - ptTrack over Pt (global-global correctStaCharge)",100, -1., 1.); h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged = fs->make<TH2D>("ptStaMinusptTrackoverPt_vsPtTracker_correctStaCharge_ZMuMuTagged","ptSta - ptTrack over Pt vs ptTrack (global-global correctStaCharge)",100,0.,100.,100, -1., 1.); h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged = fs->make<TH2D>("ptStaMinusptTrackoverPt_vsEtaTracker_correctStaCharge_ZMuMuTagged","ptSta - ptTrack over Pt vs etaTrack (global-global correctStaCharge)",100,-2.5, 2.5, 100, -1., 1.); // histograms for cynematic of ZMuMutagged muons for TRK performances studies h_zMuStaMass_ZMuMuTagged = fs->make<TH1D>("zMuStaMass_ZMuMuTagged","inv Mass ZMuSta cand (global-global)",100, 0., 200.); h_etaSta_ZMuMuTagged = fs->make<TH1D>("etaSta_ZMuMuTagged","eta of Sta (global-global)",50, -2.5, 2.5); h_phiSta_ZMuMuTagged = fs->make<TH1D>("phiSta_ZMuMuTagged","phi of Sta (global-global)",50, -3.1415, 3.1415); h_ptSta_ZMuMuTagged = fs->make<TH1D>("ptSta_ZMuMuTagged","pt of Sta (global-global)",100, 0., 100.); h_DRSta_ZMuMuTagged = fs->make<TH1D>("DRTrackSta_ZMuMuTagged_staSelected","DR track-sta sta selected (global-global)",100, 0., 5.); // histograms for cynematic of ZMuMutagged muons when Track has wrong charge h_zMuStaMass_wrongTrkCharge_ZMuMuTagged = fs->make<TH1D>("zMuStaMass_wrongTrkCharge_ZMuMuTagged","inv Mass ZMuSta cand (global-global wrongTrkCharge)",100, 0., 200.); h_etaSta_wrongTrkCharge_ZMuMuTagged = fs->make<TH1D>("etaSta_wrongTrkCharge_ZMuMuTagged","eta of Sta (global-global wrongTrkCharge)",50, -2.5, 2.5); h_phiSta_wrongTrkCharge_ZMuMuTagged = fs->make<TH1D>("phiSta_wrongTrkCharge_ZMuMuTagged","phi of Sta (global-global wrongTrkCharge)",50, -3.1415, 3.1415); h_ptSta_wrongTrkCharge_ZMuMuTagged = fs->make<TH1D>("ptSta_wrongTrkCharge_ZMuMuTagged","pt of Sta (global-global wrongTrkCharge)",100, 0., 100.); h_DRSta_wrongTrkCharge_ZMuMuTagged = fs->make<TH1D>("DRTrackSta_wrongTrkCharge_ZMuMuTagged","DR track-sta (global-global wrongTrkCharge)",100, 0., 5.); // // **************************************************************************************************** // histograms for cynematic of ZMuTracktagged muons with unMatched StandAlone h_zMuTrackMass_ZMuTrackTagged = fs->make<TH1D>("zMuTrackMass_ZMuTrackTagged","inv Mass ZMuTrack cand (global-track)",100, 0., 200.); h_etaTrack_ZMuTrackTagged = fs->make<TH1D>("etaTrack_ZMuTrackTagged","eta of Track (global-track)",50, -2.5, 2.5); h_phiTrack_ZMuTrackTagged = fs->make<TH1D>("phiTrack_ZMuTrackTagged","phi of Track (global-track)",50, -3.1415, 3.1415); h_ptTrack_ZMuTrackTagged = fs->make<TH1D>("ptTrack_ZMuTrackTagged","pt of Track (global-track)",100, 0., 100.); h_DRTrack_ZMuTrackTagged = fs->make<TH1D>("DRTrackSta_ZMuTrackTagged","DR track-sta (global-track)",100, 0., 5.); // histograms for cynematic of ZMuTracktagged muons when unMatched StandAlone has wrong charge h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged = fs->make<TH1D>("zMuTrackMass_wrongStaCharge_ZMuTrackTagged","inv Mass ZMuTrack cand (global-track wrongUnMatcehdStaCharge)",100, 0., 200.); h_etaTrack_wrongStaCharge_ZMuTrackTagged = fs->make<TH1D>("etaTrack_wrongStaCharge_ZMuTrackTagged","eta of Track (global-track wrongUnMatchedStaCharge)",50, -2.5, 2.5); h_phiTrack_wrongStaCharge_ZMuTrackTagged = fs->make<TH1D>("phiTrack_wrongStaCharge_ZMuTrackTagged","phi of Track (global-track wrongUnMatchedStaCharge)",50, -3.1415, 3.1415); h_ptTrack_wrongStaCharge_ZMuTrackTagged = fs->make<TH1D>("ptTrack_wrongStaCharge_ZMuTrackTagged","pt of Track (global-track wrongUnMatchedStaCharge)",100, 0., 100.); h_DRTrack_wrongStaCharge_ZMuTrackTagged = fs->make<TH1D>("DRTrackSta_wrongStaCharge_ZMuTrackTagged","DR track-sta (global-track wrongUnMatchedStaCharge)",100, 0., 5.); // histograms for cynematic of ZMuStatagged muons with unMatched Track h_zMuStaMass_ZMuStaTagged = fs->make<TH1D>("zMuStaMass_ZMuStaTagged","inv Mass ZMuSta cand (global-sta)",100, 0., 200.); h_etaSta_ZMuStaTagged = fs->make<TH1D>("etaSta_ZMuStaTagged","eta of Sta (global-sta)",50, -2.5, 2.5); h_phiSta_ZMuStaTagged = fs->make<TH1D>("phiSta_ZMuStaTagged","phi of Sta (global-sta)",50, -3.1415, 3.1415); h_ptSta_ZMuStaTagged = fs->make<TH1D>("ptSta_ZMuStaTagged","pt of Sta (global-sta)",100, 0., 100.); // histograms for cynematic of ZMuStatagged muons when unMatched track has wrong charge h_zMuStaMass_wrongTrkCharge_ZMuStaTagged = fs->make<TH1D>("zMuStaMass_wrongTrkCharge_ZMuStaTagged","inv Mass ZMuSta cand (global-sta wrongUnMatcehdTrkCharge)",100, 0., 200.); h_etaSta_wrongTrkCharge_ZMuStaTagged = fs->make<TH1D>("etaSta_wrongTrkCharge_ZMuStaTagged","eta of Sta (global-sta wrongUnMatchedTrkCharge)",50, -2.5, 2.5); h_phiSta_wrongTrkCharge_ZMuStaTagged = fs->make<TH1D>("phiSta_wrongTrkCharge_ZMuStaTagged","phi of Sta (global-sta wrongUnMatchedTrkCharge)",50, -3.1415, 3.1415); h_ptSta_wrongTrkCharge_ZMuStaTagged = fs->make<TH1D>("ptSta_wrongTrkCharge_ZMuStaTagged","pt of Sta (global-sta wrongUnMatchedTrkCharge)",100, 0., 100.); // clear global counters totalNumberOfZfound=0; totalNumberOfZpassed=0; nZMuMuSameSign_mcMatched = 0; nZMuMuSameSign = 0; n_goodTrack_ZMuMutagged = 0; n_correctStaCharge_ZMuMutagged = 0; n_wrongStaCharge_ZMuMutagged = 0; n_goodSta_ZMuMutagged = 0; n_correctTrkCharge_ZMuMutagged = 0; n_wrongTrkCharge_ZMuMutagged = 0; n_goodTrack_ZMuTracktagged = 0; n_correctStaCharge_ZMuTracktagged = 0; n_wrongStaCharge_ZMuTracktagged = 0; n_StaNotFound_ZMuTracktagged=0; n_goodSta_ZMuStatagged = 0; n_correctTrkCharge_ZMuStatagged = 0; n_wrongTrkCharge_ZMuStatagged = 0; n_TrkNotFound_ZMuStatagged=0; n_OneGoodZMuTrack=0; n_MultipleGoodZMuTrack=0; numberOfMatchedZMuSta_=0; n_ZMuStaTaggedMatched=0; }
void ZMuMuPerformances::analyze | ( | const edm::Event & | event, |
const edm::EventSetup & | setup | ||
) | [private, virtual] |
Implements edm::EDAnalyzer.
Definition at line 344 of file ZMuMuPerformances.cc.
References abs, check_ifZmumu(), reco::Candidate::daughter(), deltaR(), etamax_, genParticleCandidates2GenParticles_cfi::genParticles, genParticles_, reco::Candidate::get(), getParticleEta(), getParticleP4(), getParticlePt(), h_DEtaGlobalGenvsEtaGen, h_DEtaGlobalGenvsEtaGen_ZMuMuTagged, h_DEtaGlobalStaComponentGenvsEtaGen, h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged, h_DPtGlobalGenvsEtaGen_ZMuMuTagged, h_DPtGlobalGenvsPtGen, h_DPtGlobalGenvsPtGen_ZMuMuTagged, h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged, h_DPtGlobalStaComponentGenvsPtGen, h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged, h_DPtTrackGenvsEtaGen_ZMuMuTagged, h_DPtTrackGenvsPtGen_ZMuMuTagged, h_DRSta_wrongTrkCharge_ZMuMuTagged, h_DRSta_ZMuMuTagged, h_DRTrack_wrongStaCharge_ZMuMuTagged, h_DRTrack_wrongStaCharge_ZMuTrackTagged, h_DRTrack_ZMuMuTagged, h_DRTrack_ZMuTrackTagged, h_etaSta_wrongTrkCharge_ZMuMuTagged, h_etaSta_wrongTrkCharge_ZMuStaTagged, h_etaSta_ZMuMuTagged, h_etaSta_ZMuStaTagged, h_etaTrack_wrongStaCharge_ZMuMuTagged, h_etaTrack_wrongStaCharge_ZMuTrackTagged, h_etaTrack_ZMuMuTagged, h_etaTrack_ZMuTrackTagged, h_GlobalMuonChargeTimeGenCharge, h_GlobalMuonEtaMinusGenEta, h_GlobalMuonEtaMinusGenEta_ZMuMuTagged, h_GlobalMuonPtMinusGenPt, h_GlobalMuonPtMinusGenPt_ZMuMuTagged, h_GlobalMuonStaComponentEtaMinusGenEta, h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged, h_GlobalMuonStaComponentPtMinusGenPt, h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged, h_n_globalMuon_perEvent, h_n_globalMuon_perEvent_MCmatch, h_n_staOnlyMuon_perEvent, h_n_staOnlyMuon_perEvent_MCmatch, h_n_trackerOnlyMuon_perEvent, h_n_trackerOnlyMuon_perEvent_MCmatch, h_n_trackerStaOnlyMuon_perEvent, h_n_trackerStaOnlyMuon_perEvent_MCmatch, h_n_tracks_perEvent, h_n_zMuMu_perEvent, h_n_zMuSta_perEvent, h_n_zMuTrack_perEvent, h_phiSta_wrongTrkCharge_ZMuMuTagged, h_phiSta_wrongTrkCharge_ZMuStaTagged, h_phiSta_ZMuMuTagged, h_phiSta_ZMuStaTagged, h_phiTrack_wrongStaCharge_ZMuMuTagged, h_phiTrack_wrongStaCharge_ZMuTrackTagged, h_phiTrack_ZMuMuTagged, h_phiTrack_ZMuTrackTagged, h_ptSta_wrongTrkCharge_ZMuMuTagged, h_ptSta_wrongTrkCharge_ZMuStaTagged, h_ptSta_ZMuMuTagged, h_ptSta_ZMuStaTagged, h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged, h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged, h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged, h_ptTrack_wrongStaCharge_ZMuMuTagged, h_ptTrack_wrongStaCharge_ZMuTrackTagged, h_ptTrack_ZMuMuTagged, h_ptTrack_ZMuTrackTagged, h_TrackerMuonChargeTimeGenCharge, h_TrackerMuonEtaMinusGenEta, h_TrackerMuonPtMinusGenPt, h_zMuMuMassOppositeSign, h_zMuMuMassSameSign, h_zMuMuMassSameSign_MCmatch, h_zMuStaMass_correctStaCharge_ZMuMuTagged, h_zMuStaMass_wrongTrkCharge_ZMuMuTagged, h_zMuStaMass_wrongTrkCharge_ZMuStaTagged, h_zMuStaMass_ZMuMuTagged, h_zMuStaMass_ZMuStaTagged, h_zMuTrackMass_wrongStaCharge_ZMuMuTagged, h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged, h_zMuTrackMass_ZMuMuTagged, h_zMuTrackMass_ZMuTrackTagged, i, edm::Ref< C, T, F >::isNonnull(), j, m, reco::Candidate::mass(), massMax_, massMin_, reco::Candidate::masterClone(), metsig::muon, muonIso_, muonMatch_cfi::muonMatch, muonMatchMap_, patZpeak::muons, muons_, n_correctStaCharge_ZMuMutagged, n_correctStaCharge_ZMuTracktagged, n_correctTrkCharge_ZMuMutagged, n_correctTrkCharge_ZMuStatagged, n_goodSta_ZMuMutagged, n_goodSta_ZMuStatagged, n_goodTrack_ZMuMutagged, n_goodTrack_ZMuTracktagged, n_StaNotFound_ZMuTracktagged, n_TrkNotFound_ZMuStatagged, n_wrongStaCharge_ZMuMutagged, n_wrongStaCharge_ZMuTracktagged, n_wrongTrkCharge_ZMuMutagged, n_wrongTrkCharge_ZMuStatagged, n_ZMuStaTaggedMatched, noCut_, numberOfMatchedZMuSta_, nZMuMuSameSign, nZMuMuSameSign_mcMatched, ptmin_, reco::Muon::standAloneMuon(), reco::Muon::track(), testEve_cfg::tracks, tracks_, ZMuMuAnalysisNtupler_cff::zMuMu, zMuMu_, zMuMuMatchMap_, zMuStandAlone_, zMuStandAloneMatchMap_, zMuTrack_, and zMuTrackMatchMap_.
{ Handle<CandidateView> zMuMu; Handle<GenParticleMatch> zMuMuMatchMap; //Map of Z made by Mu global + Mu global (can be used also for same sign Zmumu) Handle<CandidateView> zMuTrack; Handle<GenParticleMatch> zMuTrackMatchMap; //Map of Z made by Mu + Track Handle<CandidateView> zMuStandAlone; Handle<GenParticleMatch> zMuStandAloneMatchMap; //Map of Z made by Mu + StandAlone Handle<CandidateView> muons; //Collection of Muons Handle<GenParticleMatch> muonMatchMap; Handle<IsolationCollection> muonIso; Handle<CandidateView> tracks; //Collection of Tracks Handle<IsolationCollection> trackIso; Handle<GenParticleCollection> genParticles; // Collection of Generatd Particles event.getByLabel(zMuMu_, zMuMu); event.getByLabel(zMuTrack_, zMuTrack); event.getByLabel(zMuStandAlone_, zMuStandAlone); event.getByLabel(muons_, muons); event.getByLabel(muonMatchMap_, muonMatchMap); event.getByLabel(tracks_, tracks); event.getByLabel(genParticles_, genParticles); /* cout << "********* zMuMu size : " << zMuMu->size() << endl; cout << "********* zMuMuSameSign size : " << zMuMuSameSign->size() << endl; cout << "********* zMuStandAlone size : " << zMuStandAlone->size() << endl; cout << "********* zMuTrack size : " << zMuTrack->size() << endl; cout << "********* muons size : " << muons->size()<< endl; cout << "********* standAlone size : " << standAlone->size()<< endl; cout << "********* tracks size : " << tracks->size()<< endl; cout << "********* generated size : " << genParticles->size()<< endl; cout << "***************************************************" << endl; */ int n_globalMuon_perEvent=0; int n_staOnlyMuon_perEvent=0; int n_trackerOnlyMuon_perEvent=0; int n_trackerStaOnlyMuon_perEvent=0; int n_globalMuon_perEvent_MCmatch=0; int n_staOnlyMuon_perEvent_MCmatch=0; int n_trackerOnlyMuon_perEvent_MCmatch=0; int n_trackerStaOnlyMuon_perEvent_MCmatch=0; for(unsigned int j = 0; j < muons->size() ; ++j) { CandidateBaseRef muCandRef = muons->refAt(j); const Candidate & muCand = (*muons)[j]; //the candidate const reco::Muon & muon = dynamic_cast<const reco::Muon &>(muCand); reco::TrackRef innerTrackRef = muon.track(); reco::TrackRef outerTrackRef = muon.standAloneMuon(); TrackRef muStaComponentRef = muCand.get<TrackRef,reco::StandAloneMuonTag>(); // standalone part of muon TrackRef muTrkComponentRef = muCand.get<TrackRef>(); // track part of muon GenParticleRef muonMatch = (*muonMatchMap)[muCandRef]; if (muCandRef->isGlobalMuon()==1) n_globalMuon_perEvent++; if (muCandRef->isGlobalMuon()==0 && muCandRef->isTrackerMuon()==0 && muCandRef->isStandAloneMuon()==1) n_staOnlyMuon_perEvent++; if (muCandRef->isGlobalMuon()==0 && muCandRef->isTrackerMuon()==1 && muCandRef->isStandAloneMuon()==0) n_trackerOnlyMuon_perEvent++; if (muCandRef->isGlobalMuon()==0 && muCandRef->isTrackerMuon()==1 && muCandRef->isStandAloneMuon()==1) n_trackerStaOnlyMuon_perEvent++; if (muonMatch.isNonnull()) { if (muCandRef->isGlobalMuon()==1) n_globalMuon_perEvent_MCmatch++; if (muCandRef->isGlobalMuon()==0 && muCandRef->isTrackerMuon()==0 && muCandRef->isStandAloneMuon()==1) n_staOnlyMuon_perEvent_MCmatch++; if (muCandRef->isGlobalMuon()==0 && muCandRef->isTrackerMuon()==1 && muCandRef->isStandAloneMuon()==0) n_trackerOnlyMuon_perEvent_MCmatch++; if (muCandRef->isGlobalMuon()==0 && muCandRef->isTrackerMuon()==1 && muCandRef->isStandAloneMuon()==1) n_trackerStaOnlyMuon_perEvent_MCmatch++; double productCharge = muCandRef->charge() * muonMatch->charge(); if (muCandRef->isGlobalMuon()==1) { h_GlobalMuonChargeTimeGenCharge->Fill(productCharge); h_GlobalMuonEtaMinusGenEta->Fill(muCandRef->eta() - muonMatch->eta()); h_GlobalMuonPtMinusGenPt->Fill((muCandRef->pt() - muonMatch->pt())/muonMatch->pt()); h_GlobalMuonStaComponentEtaMinusGenEta->Fill(muStaComponentRef->eta() - muonMatch->eta()); h_GlobalMuonStaComponentPtMinusGenPt->Fill((muStaComponentRef->pt() - muonMatch->pt())/muonMatch->pt()); h_DEtaGlobalGenvsEtaGen->Fill(muonMatch->eta(),muCandRef->eta() - muonMatch->eta()); h_DPtGlobalGenvsPtGen->Fill(muonMatch->pt(),(muCandRef->pt() - muonMatch->pt())/muonMatch->pt()); h_DEtaGlobalStaComponentGenvsEtaGen->Fill(muonMatch->eta(),muStaComponentRef->eta() - muonMatch->eta()); h_DPtGlobalStaComponentGenvsPtGen->Fill(muonMatch->pt(),(muStaComponentRef->pt() - muonMatch->pt())/muonMatch->pt()); } if (muCandRef->isGlobalMuon()==0 && muCandRef->isTrackerMuon()==1) { h_TrackerMuonChargeTimeGenCharge->Fill(productCharge); h_TrackerMuonEtaMinusGenEta->Fill(muCandRef->eta() - muonMatch->eta()); h_TrackerMuonPtMinusGenPt->Fill((muCandRef->pt() - muonMatch->pt())/muonMatch->pt()); } } } h_n_globalMuon_perEvent->Fill(n_globalMuon_perEvent); h_n_staOnlyMuon_perEvent->Fill(n_staOnlyMuon_perEvent); h_n_trackerOnlyMuon_perEvent->Fill(n_trackerOnlyMuon_perEvent); h_n_trackerStaOnlyMuon_perEvent->Fill(n_trackerStaOnlyMuon_perEvent); h_n_globalMuon_perEvent_MCmatch->Fill(n_globalMuon_perEvent_MCmatch); h_n_staOnlyMuon_perEvent_MCmatch->Fill(n_staOnlyMuon_perEvent_MCmatch); h_n_trackerOnlyMuon_perEvent_MCmatch->Fill(n_trackerOnlyMuon_perEvent_MCmatch); h_n_trackerStaOnlyMuon_perEvent_MCmatch->Fill(n_trackerStaOnlyMuon_perEvent_MCmatch); h_n_tracks_perEvent->Fill(tracks->size()); h_n_zMuMu_perEvent->Fill(zMuMu->size()); h_n_zMuSta_perEvent->Fill(zMuStandAlone->size()); h_n_zMuTrack_perEvent->Fill(zMuTrack->size()); // std::cout<<"Run-> "<<event.id().run()<<std::endl; // std::cout<<"Event-> "<<event.id().event()<<std::endl; // loop on ZMuMu if (zMuMu->size() > 0 ) { event.getByLabel(zMuMuMatchMap_, zMuMuMatchMap); event.getByLabel(muonIso_, muonIso); event.getByLabel(muonMatchMap_, muonMatchMap); float muGenplus_pt = 0, muGenminus_pt = 0, muGenplus_eta = 100, muGenminus_eta = 100, dimuonMassGen = 0; for(unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates const Candidate & zMuMuCand = (*zMuMu)[i]; //the candidate CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i); GenParticleRef zMuMuMatch = (*zMuMuMatchMap)[zMuMuCandRef]; bool isMCMatched = false; if(zMuMuMatch.isNonnull()) { isMCMatched = true; // ZMuMu matched if(zMuMuMatch->pdgId() == 23 && zMuMuMatch->status()==3 && zMuMuMatch->numberOfDaughters() == 3) { // Z0 decays in mu+ mu-, the 3rd daughter is the same Z0 const Candidate * dauGen0 = zMuMuMatch->daughter(0); const Candidate * dauGen1 = zMuMuMatch->daughter(1); const Candidate * dauGen2 = zMuMuMatch->daughter(2); if (check_ifZmumu(dauGen0, dauGen1, dauGen2)) { // Z0 in mu+ mu- muGenplus_pt = getParticlePt(-13,dauGen0,dauGen1,dauGen2); muGenminus_pt = getParticlePt(13,dauGen0,dauGen1,dauGen2); muGenplus_eta = getParticleEta(-13,dauGen0,dauGen1,dauGen2); muGenminus_eta = getParticleEta(13,dauGen0,dauGen1,dauGen2); Particle::LorentzVector pZ(0, 0, 0, 0); Particle::LorentzVector muplusp4 = getParticleP4(-13,dauGen0,dauGen1,dauGen2); Particle::LorentzVector muminusp4 = getParticleP4(13,dauGen0,dauGen1,dauGen2); pZ = muplusp4 + muminusp4; dimuonMassGen = pZ.mass(); // dimuon invariant Mass at Generator Level } // en if is Z } // end if is Z->mumu } TrackRef as1 = zMuMuCand.daughter(0)->get<TrackRef,reco::StandAloneMuonTag>(); // standalone part of ZMuMu cand0 TrackRef as2 = zMuMuCand.daughter(1)->get<TrackRef,reco::StandAloneMuonTag>(); // standalone part of ZMuMu cand1 TrackRef a1 = zMuMuCand.daughter(0)->get<TrackRef,reco::CombinedMuonTag>(); // global part of ZMuMu cand0 TrackRef a2 = zMuMuCand.daughter(1)->get<TrackRef,reco::CombinedMuonTag>(); // global part of ZMuMu cand1 TrackRef at1 = zMuMuCand.daughter(0)->get<TrackRef>(); // tracker part of ZMuMu cand0 TrackRef at2 = zMuMuCand.daughter(1)->get<TrackRef>(); // tracker part of ZMuMu cand1 math::XYZTLorentzVector ps1(as1->px(),as1->py(),as1->pz(),as1->p()); math::XYZTLorentzVector ps2(as2->px(),as2->py(),as2->pz(),as2->p()); math::XYZTLorentzVector pg1(a1->px(),a1->py(),a1->pz(),a1->p()); math::XYZTLorentzVector pg2(a2->px(),a2->py(),a2->pz(),a2->p()); math::XYZTLorentzVector ptrk1(at1->px(),at1->py(),at1->pz(),at1->p()); math::XYZTLorentzVector ptrk2(at2->px(),at2->py(),at2->pz(),at2->p()); // double mass2global = (pg1+pg2).mass(); // inv. Mass done with the two global muons (is th same like m) double massGlobalSta = (pg1+ps2).mass(); // inv. mass done with the global daughter(0) and the Sta part of Daughter(1) double massStaGlobal = (ps1+pg2).mass(); // inv. mass done with the global daughter(1) and the Sta part of Daughter(0) // double mass2Tracker = (ptrk1+ptrk2).mass(); // inv. mass done with the two tracker compnents double massGlobalTracker = (pg1+ptrk2).mass(); // inv. mass done with the global daughter(0) and the tracker part of Daughter(1) double massTrackerGlobal = (ptrk1+pg2).mass(); // inv. mass done with the global daughter(1) and the tracker part of Daughter(0) double etaGlobal1 = a1->eta(); double etaGlobal2 = a2->eta(); double etaSta1 = as1->eta(); double etaSta2 = as2->eta(); double etaTracker1 = at1->eta(); double etaTracker2 = at2->eta(); // double phiGlobal1 = a1->phi(); // double phiGlobal2 = a2->phi(); double phiSta1 = as1->phi(); double phiSta2 = as2->phi(); double phiTracker1 = at1->phi(); double phiTracker2 = at2->phi(); double ptGlobal1 = a1->pt(); double ptGlobal2 = a2->pt(); double ptSta1 = as1->pt(); double ptSta2 = as2->pt(); double ptTracker1 = at1->pt(); double ptTracker2 = at2->pt(); double chargeGlobal1 = a1->charge(); double chargeGlobal2 = a2->charge(); double chargeSta1 = as1->charge(); double chargeSta2 = as2->charge(); double chargeTracker1 = at1->charge(); double chargeTracker2 = at2->charge(); double DR1 = deltaR(etaSta1, phiSta1, etaTracker1, phiTracker1); double DR2 = deltaR(etaSta2, phiSta2, etaTracker2, phiTracker2); if (chargeGlobal1 == chargeGlobal2) { nZMuMuSameSign++; h_zMuMuMassSameSign->Fill(zMuMuCand.mass()); if (isMCMatched) { nZMuMuSameSign_mcMatched++; h_zMuMuMassSameSign_MCmatch->Fill(zMuMuCand.mass()); } } else { h_zMuMuMassOppositeSign->Fill(zMuMuCand.mass()); } bool etaCut = false; bool ptCut = false; bool isoCut = false; bool massCut = false; // ****************************************************************************************************************************** // Start study for StandAlone charge mis-id: select global-global events according to global1+track2 (or global2+track1) // ******************************************************************************************************************************* // cynematical cuts for Zglobal1Track2 if (abs(etaGlobal1)<etamax_ && abs(etaTracker2)<etamax_) etaCut = true; if (ptGlobal1>ptmin_ && ptTracker2>ptmin_) ptCut = true; if (massGlobalTracker>massMin_ && massGlobalTracker<massMax_) massCut = true; if (noCut_) { etaCut = true; ptCut = true; massCut = true; } if (etaCut && ptCut && massCut) { // check first global1-track2 if they have opposite charge and if global1 has consistent charge between sta and track if (chargeSta1 == chargeTracker1 && chargeTracker1 != chargeTracker2) { // event tagged to study StandAlone2 charge n_goodTrack_ZMuMutagged++; h_zMuTrackMass_ZMuMuTagged->Fill(massGlobalTracker); // inv mass global+tracker part h_etaTrack_ZMuMuTagged->Fill(etaTracker2); // eta of tagged track h_phiTrack_ZMuMuTagged->Fill(phiTracker2); // phi of tagged track h_ptTrack_ZMuMuTagged->Fill(ptTracker2); // pt of tagged track h_DRTrack_ZMuMuTagged->Fill(DR2); // DR between sta2 and tracker2 for tagged track if (isMCMatched) { // if MC match .. resolution plots of global1 respect to gen particles double etaGen, ptGen; if (chargeGlobal1==1) { etaGen = muGenplus_eta; ptGen = muGenplus_pt; } else { etaGen = muGenminus_eta; ptGen = muGenminus_pt; } h_GlobalMuonEtaMinusGenEta_ZMuMuTagged->Fill(etaGlobal1 - etaGen); h_GlobalMuonPtMinusGenPt_ZMuMuTagged->Fill((ptGlobal1 - ptGen)/ptGen); h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged->Fill(etaSta1 - etaGen); h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged->Fill((ptSta1 - ptGen)/ptGen); h_DEtaGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen,etaGlobal1-etaGen); h_DPtGlobalGenvsPtGen_ZMuMuTagged->Fill(ptGen,(ptGlobal1-ptGen)/ptGen); h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen,etaSta1-etaGen); h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged->Fill(ptGen,(ptSta1-ptGen)/ptGen); h_DPtGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen,(ptGlobal1-ptGen)/ptGen); h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen,(ptSta1-ptGen)/ptGen); h_DPtTrackGenvsPtGen_ZMuMuTagged->Fill(ptGen,(ptTracker1-ptGen)/ptGen); h_DPtTrackGenvsEtaGen_ZMuMuTagged->Fill(etaGen,(ptTracker1-ptGen)/ptGen); } // end if MC Match if (chargeSta2 == chargeTracker2) { // StandAlone2 has correct charge n_correctStaCharge_ZMuMutagged++; h_zMuStaMass_correctStaCharge_ZMuMuTagged->Fill(massGlobalSta); // inv mass of global-Sta part for correct charge muons h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged->Fill((ptSta2-ptTracker2)/ptTracker2); h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged->Fill(etaTracker2,(ptSta2-ptTracker2)/ptTracker2); h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged->Fill(ptTracker2,(ptSta2-ptTracker2)/ptTracker2); // qui posso aggiungere plot col MC match } if (chargeSta2 != chargeTracker2) { // StandAlone2 has wrong charge n_wrongStaCharge_ZMuMutagged++; h_zMuTrackMass_wrongStaCharge_ZMuMuTagged->Fill(massGlobalTracker); // inv mass global+tracker part (wrong Sta charge) h_etaTrack_wrongStaCharge_ZMuMuTagged->Fill(etaTracker2); // eta of tagged track (wrong Sta charge) h_phiTrack_wrongStaCharge_ZMuMuTagged->Fill(phiTracker2); // phi of tagged track (wrong Sta charge) h_ptTrack_wrongStaCharge_ZMuMuTagged->Fill(ptTracker2); // pt of tagged track (wrong Sta charge) h_DRTrack_wrongStaCharge_ZMuMuTagged->Fill(DR2); // DR between sta2 and tracker2 for tagged track (wrong Sta charge) } } // end if check chrge global1-tracker2 } // end if cut selection // cynematical cuts for Zglobal2Track1 etaCut = false; ptCut = false; massCut = false; isoCut = false; if (abs(etaGlobal2)<etamax_ && abs(etaTracker1)<etamax_) etaCut = true; if (ptGlobal2>ptmin_ && ptTracker1>ptmin_) ptCut = true; if (massTrackerGlobal>massMin_ && massTrackerGlobal<massMax_) massCut = true; if (noCut_) { etaCut = true; ptCut = true; massCut = true; } if (etaCut && ptCut && massCut) { // check global2-track1 if they have opposite charge and if global2 has consistent charge between sta and track if (chargeSta2 == chargeTracker2 && chargeTracker1 != chargeTracker2) { // event tagged to study StandAlone2 charge n_goodTrack_ZMuMutagged++; h_zMuTrackMass_ZMuMuTagged->Fill(massTrackerGlobal); // inv mass global+tracker part h_etaTrack_ZMuMuTagged->Fill(etaTracker1); // eta of tagged track h_phiTrack_ZMuMuTagged->Fill(phiTracker1); // phi of tagged track h_ptTrack_ZMuMuTagged->Fill(ptTracker1); // pt of tagged track h_DRTrack_ZMuMuTagged->Fill(DR1); // DR between sta1 and tracker1 for tagged track // qui posso aggiungere plot col MC match if (isMCMatched) { // if MC match .. resolution plots of global2 respect to gen particles double etaGen, ptGen; if (chargeGlobal2==1) { etaGen = muGenplus_eta; ptGen = muGenplus_pt; } else { etaGen = muGenminus_eta; ptGen = muGenminus_pt; } h_GlobalMuonEtaMinusGenEta_ZMuMuTagged->Fill(etaGlobal2 - etaGen); h_GlobalMuonPtMinusGenPt_ZMuMuTagged->Fill((ptGlobal2 - ptGen)/ptGen); h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged->Fill(etaSta2 - etaGen); h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged->Fill((ptSta2 - ptGen)/ptGen); h_DEtaGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen,etaGlobal2-etaGen); h_DPtGlobalGenvsPtGen_ZMuMuTagged->Fill(ptGen,(ptGlobal2-ptGen)/ptGen); h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen,etaSta2-etaGen); h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged->Fill(ptGen,(ptSta2-ptGen)/ptGen); h_DPtGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen,(ptGlobal2-ptGen)/ptGen); h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen,(ptSta2-ptGen)/ptGen); h_DPtTrackGenvsPtGen_ZMuMuTagged->Fill(ptGen,(ptTracker2-ptGen)/ptGen); h_DPtTrackGenvsEtaGen_ZMuMuTagged->Fill(etaGen,(ptTracker2-ptGen)/ptGen); } // end if MC Match if (chargeSta1 == chargeTracker1) { // StandAlone1 has correct charge n_correctStaCharge_ZMuMutagged++; h_zMuStaMass_correctStaCharge_ZMuMuTagged->Fill(massStaGlobal); // inv mass of Sta-global part for correct charge muons h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged->Fill((ptSta1-ptTracker1)/ptTracker1); h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged->Fill(etaTracker1,(ptSta1-ptTracker1)/ptTracker1); h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged->Fill(ptTracker1,(ptSta1-ptTracker1)/ptTracker1); } if (chargeSta1 != chargeTracker1) { // StandAlone2 has wrong charge n_wrongStaCharge_ZMuMutagged++; h_zMuTrackMass_wrongStaCharge_ZMuMuTagged->Fill(massTrackerGlobal); // inv mass global+tracker part (wrong Sta charge) h_etaTrack_wrongStaCharge_ZMuMuTagged->Fill(etaTracker1); // eta of tagged track (wrong Sta charge) h_phiTrack_wrongStaCharge_ZMuMuTagged->Fill(phiTracker1); // phi of tagged track (wrong Sta charge) h_ptTrack_wrongStaCharge_ZMuMuTagged->Fill(ptTracker1); // pt of tagged track (wrong Sta charge) h_DRTrack_wrongStaCharge_ZMuMuTagged->Fill(DR1); // DR between sta1 and tracker1 for tagged track (wrong Sta charge) } } // end if check charge global1-tracker2 } // end if cuts // ****************************************************************************************************************************** // Start study for tracker charge mis-id: select global-global events according to global1+staComponent2 (or global2+staComponent1) // ******************************************************************************************************************************* etaCut = false; ptCut = false; isoCut = false; massCut = false; // cynematical cuts for Zglobal1Sta2 if (abs(etaGlobal1)<etamax_ && abs(etaSta2)<etamax_) etaCut = true; if (ptGlobal1>ptmin_ && ptSta2>ptmin_) ptCut = true; if (massGlobalSta>massMin_ && massGlobalSta<massMax_) massCut = true; if (noCut_) { etaCut = true; ptCut = true; massCut = true; } if (etaCut && ptCut && massCut) { // check first global1-sta2 if they have opposite charge and if global1 has consistent charge between sta and track if (chargeSta1 == chargeTracker1 && chargeTracker1 != chargeSta2) { // event tagged to study track2 charge n_goodSta_ZMuMutagged++; h_zMuStaMass_ZMuMuTagged->Fill(massGlobalSta); // inv mass global+sta part h_etaSta_ZMuMuTagged->Fill(etaSta2); // eta of tagged sta h_phiSta_ZMuMuTagged->Fill(phiSta2); // phi of tagged sta h_ptSta_ZMuMuTagged->Fill(ptSta2); // pt of tagged sta h_DRSta_ZMuMuTagged->Fill(DR2); // DR between sta2 and tracker2 for tagged sta if (chargeSta2 == chargeTracker2) { // track2 has correct charge n_correctTrkCharge_ZMuMutagged++; // qui posso aggiungere plot col MC match } if (chargeSta2 != chargeTracker2) { // track2 has wrong charge n_wrongTrkCharge_ZMuMutagged++; h_zMuStaMass_wrongTrkCharge_ZMuMuTagged->Fill(massGlobalSta); // inv mass global+sta part (wrong Trk charge) h_etaSta_wrongTrkCharge_ZMuMuTagged->Fill(etaSta2); // eta of tagged sta (wrong trk charge) h_phiSta_wrongTrkCharge_ZMuMuTagged->Fill(phiSta2); // phi of tagged sta (wrong Trk charge) h_ptSta_wrongTrkCharge_ZMuMuTagged->Fill(ptSta2); // pt of tagged sta (wrong Trk charge) h_DRSta_wrongTrkCharge_ZMuMuTagged->Fill(DR2); // DR between sta2 and tracker2 for tagged sta (wrong trk charge) } } // end if check chrge global1-sta2 } // end if cut selection etaCut = false; ptCut = false; isoCut = false; massCut = false; // cynematical cuts for Zglobal2Sta1 if (abs(etaGlobal2)<etamax_ && abs(etaSta1)<etamax_) etaCut = true; if (ptGlobal2>ptmin_ && ptSta1>ptmin_) ptCut = true; if (massStaGlobal>massMin_ && massStaGlobal<massMax_) massCut = true; if (noCut_) { etaCut = true; ptCut = true; massCut = true; } if (etaCut && ptCut && massCut) { // check first global2-sta1 if they have opposite charge and if global2 has consistent charge between sta and track if (chargeSta2 == chargeTracker2 && chargeTracker2 != chargeSta1) { // event tagged to study track1 charge n_goodSta_ZMuMutagged++; h_zMuStaMass_ZMuMuTagged->Fill(massStaGlobal); // inv mass global+sta part h_etaSta_ZMuMuTagged->Fill(etaSta1); // eta of tagged sta h_phiSta_ZMuMuTagged->Fill(phiSta1); // phi of tagged sta h_ptSta_ZMuMuTagged->Fill(ptSta1); // pt of tagged sta h_DRSta_ZMuMuTagged->Fill(DR1); // DR between sta1 and tracker1 for tagged sta if (chargeSta1 == chargeTracker1) { // track1 has correct charge n_correctTrkCharge_ZMuMutagged++; // qui posso aggiungere plot col MC match } if (chargeSta1 != chargeTracker1) { // track1 has wrong charge n_wrongTrkCharge_ZMuMutagged++; h_zMuStaMass_wrongTrkCharge_ZMuMuTagged->Fill(massStaGlobal); // inv mass global+sta part (wrong Trk charge) h_etaSta_wrongTrkCharge_ZMuMuTagged->Fill(etaSta1); // eta of tagged sta (wrong trk charge) h_phiSta_wrongTrkCharge_ZMuMuTagged->Fill(phiSta1); // phi of tagged sta (wrong Trk charge) h_ptSta_wrongTrkCharge_ZMuMuTagged->Fill(ptSta1); // pt of tagged sta (wrong Trk charge) h_DRSta_wrongTrkCharge_ZMuMuTagged->Fill(DR1); // DR between sta2 and tracker2 for tagged sta (wrong trk charge) } } // end if check chrge global2-sta1 } // end if cut selection } // end loop on ZMuMu cand } // end if ZMuMu size > 0 // loop on ZMuTrack in order to recover some unMatched StandAlone double LargerDRCut=2.; // larger DR cut to recover unMatched Sta int taggedZ_index = -1; // index of Z with minimum DR respect to unMatched Sta int taggedMuon_index = -1; // index of Sta muon with minimum DR respect to unMatched track int n_ZMuTrackTagged_inEvent = 0; // number of tagged Z in the event if (zMuTrack->size() > 0 && zMuMu->size()==0) { // check ZMuTrack just if no ZMuMu has been found in the event event.getByLabel(zMuTrackMatchMap_, zMuTrackMatchMap); for(unsigned int i = 0; i < zMuTrack->size(); ++i) { //loop on candidates const Candidate & zMuTrackCand = (*zMuTrack)[i]; //the candidate CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(i); GenParticleRef zMuTrackMatch = (*zMuTrackMatchMap)[zMuTrackCandRef]; bool isMCMatched = false; if(zMuTrackMatch.isNonnull()) isMCMatched = true; // ZMuTrack matched // forzo isMCMatched // isMCMatched = true; double m = zMuTrackCand.mass(); CandidateBaseRef zglobalDaughter = zMuTrackCand.daughter(0)->masterClone(); CandidateBaseRef ztrackerDaughter = zMuTrackCand.daughter(1)->masterClone(); TrackRef zglobalDaughter_StaComponentRef = zMuTrackCand.daughter(0)->get<TrackRef,reco::StandAloneMuonTag>(); // standalone part of global component of ZMuMu TrackRef zglobalDaughter_TrackComponentRef = zMuTrackCand.daughter(0)->get<TrackRef>(); // track part Of the global component of ZMuMu double ZtrackerDaughterCharge = ztrackerDaughter->charge(); double ZtrackerDaughterPt = ztrackerDaughter->pt(); double ZtrackerDaughterEta = ztrackerDaughter->eta(); double ZtrackerDaughterPhi = ztrackerDaughter->phi(); double ZglobalDaughterPt = zglobalDaughter->pt(); double ZglobalDaughterEta = zglobalDaughter->eta(); double ZglobalDaughter_StaComponentCharge = zglobalDaughter_StaComponentRef->charge(); double ZglobalDaughter_TrackComponentCharge = zglobalDaughter_TrackComponentRef->charge(); //********************************************************************************************************************* // study of standAlone charge mis-id and efficiency selecting ZMuTrack events (tag the index of Z and of muon) // for Sta charge mis-id just use unMatched standAlone muons trackerMuons that are standAlone Muons but no globalMuons // ******************************************************************************************************************** // cynematical cuts for ZMuTrack bool etaCut = false; bool ptCut = false; // bool isoCut = false; bool massCut = false; if (abs(ZglobalDaughterEta)<etamax_ && abs(ZtrackerDaughterEta)<etamax_) etaCut = true; if (ZglobalDaughterPt>ptmin_ && ZtrackerDaughterPt>ptmin_) ptCut = true; if (m>massMin_ && m<massMax_) massCut = true; if (noCut_) { etaCut = true; ptCut = true; massCut = true; } if (etaCut && ptCut && massCut && ZglobalDaughter_StaComponentCharge == ZglobalDaughter_TrackComponentCharge && ZglobalDaughter_TrackComponentCharge != ZtrackerDaughterCharge) { // cynematic cuts and global charge consistent and opposite tracker charge n_ZMuTrackTagged_inEvent++; // posso inserire istogrammi eta e pt track per studio Sta efficiency // ... for(unsigned int j = 0; j < muons->size() ; ++j) { CandidateBaseRef muCandRef = muons->refAt(j); const Candidate & muCand = (*muons)[j]; //the candidate TrackRef muStaComponentRef = muCand.get<TrackRef,reco::StandAloneMuonTag>(); // standalone part of muon TrackRef muTrkComponentRef = muCand.get<TrackRef>(); // track part of muon if (muCandRef->isStandAloneMuon()==1 && muCandRef->isGlobalMuon()==0 && muCandRef->isTrackerMuon()==1) { double muEta = muCandRef->eta(); double muPhi = muCandRef->phi(); // check DeltaR between Sta muon and tracks of ZMuTrack double DRmuSta_trackOfZ = deltaR(muEta, muPhi, ZtrackerDaughterEta, ZtrackerDaughterPhi); if (DRmuSta_trackOfZ == 0) { // match track track ... standalone-muTracker taggedZ_index = i; taggedMuon_index = j; } // end check minimum DR } // end if isStandAlone } // end loop on muon candidates } // end cynematic cuts } // end loop on zMuTrack size } // end if zMuTrack size > 0 // analyze the tagged ZMuTRack and the Sta muons with minimal DR if (n_ZMuTrackTagged_inEvent>0) { // at Least one ZMuTRack tagged if (taggedZ_index==-1) { // StandAlone inefficient n_StaNotFound_ZMuTracktagged++; // h_etaTrack_StaNotFound_ZMuTrackTagged->Fill(ztrackerDaughter->eta()); } else { const Candidate & zMuTrackCand = (*zMuTrack)[taggedZ_index]; //the candidate tagged CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(taggedZ_index); double m = zMuTrackCand.mass(); CandidateBaseRef zglobalDaughter = zMuTrackCand.daughter(0)->masterClone(); CandidateBaseRef ztrackerDaughter = zMuTrackCand.daughter(1)->masterClone(); TrackRef zglobalDaughter_StaComponentRef = zMuTrackCand.daughter(0)->get<TrackRef,reco::StandAloneMuonTag>(); // standalone part of global component of ZMuMu TrackRef zglobalDaughter_TrackComponentRef = zMuTrackCand.daughter(0)->get<TrackRef>(); // track part Of the global component of ZMuMu double ZtrackerDaughterCharge = ztrackerDaughter->charge(); double ZtrackerDaughterPt = ztrackerDaughter->pt(); double ZtrackerDaughterEta = ztrackerDaughter->eta(); double ZtrackerDaughterPhi = ztrackerDaughter->phi(); CandidateBaseRef muCandRef = muons->refAt(taggedMuon_index); // the tagged muon const Candidate & muCand = (*muons)[taggedMuon_index]; //the candidate TrackRef muStaComponentRef = muCand.get<TrackRef,reco::StandAloneMuonTag>(); // standalone part of muon TrackRef muTrkComponentRef = muCand.get<TrackRef>(); // track part of muon double muEta = muStaComponentRef->eta(); double muPhi = muStaComponentRef->phi(); double muCharge = muStaComponentRef->charge(); // check DeltaR between Sta muon and tracks of ZMuTrack double DRmuSta_trackOfZ = deltaR(muEta, muPhi, ZtrackerDaughterEta, ZtrackerDaughterPhi); n_goodTrack_ZMuTracktagged++; h_zMuTrackMass_ZMuTrackTagged->Fill(m); // inv mass ZMuTrack for tagged events h_etaTrack_ZMuTrackTagged->Fill(ZtrackerDaughterEta); // eta of tagged track h_phiTrack_ZMuTrackTagged->Fill(ZtrackerDaughterPhi); // phi of tagged track h_ptTrack_ZMuTrackTagged->Fill(ZtrackerDaughterPt); // pt of tagged track h_DRTrack_ZMuTrackTagged->Fill(DRmuSta_trackOfZ); // DR between sta1 and tracker1 for tagged track // check StandAlone charge if (muCharge != ZtrackerDaughterCharge) { // wrong Sta charge n_wrongStaCharge_ZMuTracktagged++; // number of events wrong charge for unMatched Sta h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged->Fill(m); // inv mass ZMuTrack for tagged events wrong unMatched Sta charge h_etaTrack_wrongStaCharge_ZMuTrackTagged->Fill(ZtrackerDaughterEta); // eta of tagged track wrong unMatched Sta charge h_phiTrack_wrongStaCharge_ZMuTrackTagged->Fill(ZtrackerDaughterPhi); // phi of tagged track wrong unMatched Sta charge h_ptTrack_wrongStaCharge_ZMuTrackTagged->Fill(ZtrackerDaughterPt); // pt of tagged track wrong unMatched Sta charge h_DRTrack_wrongStaCharge_ZMuTrackTagged->Fill(DRmuSta_trackOfZ); // DR between unMatched Sta and tracker for wrong sta charge } else { // correct Sta charge n_correctStaCharge_ZMuTracktagged++; // number of events correct charge for unMatched Sta } // end if Sta charge check } // end if StandAlone is present } // end if zMuTrack tagged //********************************************************************************************************************* // study of track charge mis-id and efficiency selecting ZMuSta events // for Track charge mis-id just use unMatched standAlone muons trackerMuons that are standAlone Muons but no globalMuons // ******************************************************************************************************************** // loop on ZMuSta in order to recover some unMatched StandAlone bool isZMuStaMatched=false; LargerDRCut=2.; // larger DR cut to recover unMatched Sta taggedZ_index = -1; // index of Z with minimum DR respect to unMatched Sta taggedMuon_index = -1; // index of Sta muon with minimum DR respect to unMatched track int n_ZMuStaTagged_inEvent = 0; // number of tagged Z in the event if (zMuStandAlone->size() > 0) { // check ZMuSta just if no ZMuMu has been found in the event event.getByLabel(zMuStandAloneMatchMap_, zMuStandAloneMatchMap); for(unsigned int i = 0; i < zMuStandAlone->size(); ++i) { //loop on candidates const Candidate & zMuStaCand = (*zMuStandAlone)[i]; //the candidate CandidateBaseRef zMuStaCandRef = zMuStandAlone->refAt(i); GenParticleRef zMuStaMatch = (*zMuStandAloneMatchMap)[zMuStaCandRef]; if(zMuStaMatch.isNonnull()) { // ZMuSta Macthed numberOfMatchedZMuSta_++; isZMuStaMatched = true; } double m = zMuStaCand.mass(); CandidateBaseRef zglobalDaughter = zMuStaCand.daughter(0)->masterClone(); CandidateBaseRef zstandaloneDaughter = zMuStaCand.daughter(1)->masterClone(); int iglb = 0; int ista = 1; if (zglobalDaughter->isGlobalMuon()==0 && zstandaloneDaughter->isGlobalMuon()==1) { // invert definition CandidateBaseRef buffer = zglobalDaughter; zglobalDaughter = zstandaloneDaughter; zstandaloneDaughter = buffer; iglb = 1; ista = 0; } TrackRef zglobalDaughter_StaComponentRef = zMuStaCand.daughter(iglb)->get<TrackRef,reco::StandAloneMuonTag>(); // standalone part of global component of ZMuMu TrackRef zglobalDaughter_TrackComponentRef = zMuStaCand.daughter(iglb)->get<TrackRef>(); // track part Of the global component of ZMuMu TrackRef zstaDaughter_StaComponentRef = zMuStaCand.daughter(ista)->get<TrackRef,reco::StandAloneMuonTag>(); // standalone part of global component of ZMuMu TrackRef zstaDaughter_TrackComponentRef = zMuStaCand.daughter(ista)->get<TrackRef>(); // track part Of the global component of ZMuMu double ZglobalDaughterPt = zglobalDaughter->pt(); double ZglobalDaughterEta = zglobalDaughter->eta(); double ZstaDaughter_StaComponentCharge = zstaDaughter_StaComponentRef->charge(); double ZstaDaughter_StaComponentPt = zstaDaughter_StaComponentRef->pt(); double ZstaDaughter_StaComponentEta = zstaDaughter_StaComponentRef->eta(); double ZstaDaughter_StaComponentPhi = zstaDaughter_StaComponentRef->phi(); double ZstaDaughter_TrackComponentCharge = zstaDaughter_TrackComponentRef->charge(); double ZglobalDaughter_StaComponentCharge = zglobalDaughter_StaComponentRef->charge(); double ZglobalDaughter_TrackComponentCharge = zglobalDaughter_TrackComponentRef->charge(); // cynematical cuts for ZMuSta bool etaCut = false; bool ptCut = false; // bool isoCut = false; bool massCut = false; if (abs(ZglobalDaughterEta)<etamax_ && abs(ZstaDaughter_StaComponentEta)<etamax_) etaCut = true; if (ZglobalDaughterPt>ptmin_ && ZstaDaughter_StaComponentPt>ptmin_) ptCut = true; if (m>massMin_ && m<massMax_) massCut = true; // dovrei usare la massa fatta con la sola parte sta // (Se è anche trackerMu non è cosi') if (noCut_) { etaCut = true; ptCut = true; massCut = true; } if (etaCut && ptCut && massCut && ZglobalDaughter_StaComponentCharge == ZglobalDaughter_TrackComponentCharge && ZglobalDaughter_StaComponentCharge != ZstaDaughter_StaComponentCharge) { // cynematic cuts and global charge consistent and opposite sta charge n_ZMuStaTagged_inEvent++; if (isZMuStaMatched) n_ZMuStaTaggedMatched++; // posso inserire istogrammi eta e pt track per studio Sta efficiency // ... if (zstandaloneDaughter->isStandAloneMuon()==1 && zstandaloneDaughter->isTrackerMuon()==1) { // track matched n_goodSta_ZMuStatagged++; h_zMuStaMass_ZMuStaTagged->Fill(m); // inv mass ZMuSta for tagged events h_etaSta_ZMuStaTagged->Fill(ZstaDaughter_StaComponentEta); // eta of tagged sta h_phiSta_ZMuStaTagged->Fill(ZstaDaughter_StaComponentPhi); // phi of tagged sta h_ptSta_ZMuStaTagged->Fill(ZstaDaughter_StaComponentPt); // pt of tagged sta // check Track charge if (ZstaDaughter_StaComponentCharge != ZstaDaughter_TrackComponentCharge) { // wrong Trk charge n_wrongTrkCharge_ZMuStatagged++; // number of events wrong track charge for unMatched track h_zMuStaMass_wrongTrkCharge_ZMuStaTagged->Fill(m); // inv mass ZMuSta for tagged evts wrong unMatched track charge h_etaSta_wrongTrkCharge_ZMuStaTagged->Fill(ZstaDaughter_StaComponentEta); // eta of tagged sta wrong unMatched track charge h_phiSta_wrongTrkCharge_ZMuStaTagged->Fill(ZstaDaughter_StaComponentPhi); // phi of tagged sta wrong unMatched track charge h_ptSta_wrongTrkCharge_ZMuStaTagged->Fill(ZstaDaughter_StaComponentPt); // pt of tagged sta wrong unMatched track charge } else { // correct Sta charge n_correctTrkCharge_ZMuStatagged++; // number of events correct charge for unMatched Sta } // end if Sta charge check } else { // tracker inefficient n_TrkNotFound_ZMuStatagged++; } } // end cynematic cuts if (n_ZMuStaTagged_inEvent==0) { } } // end loop on zMuSta candidates } // end check ZMuSta size } // end analyze
bool ZMuMuPerformances::check_ifZmumu | ( | const Candidate * | dauGen0, |
const Candidate * | dauGen1, | ||
const Candidate * | dauGen2 | ||
) | [private] |
Definition at line 1007 of file ZMuMuPerformances.cc.
References reco::Candidate::pdgId().
Referenced by analyze().
{ int partId0 = dauGen0->pdgId(); int partId1 = dauGen1->pdgId(); int partId2 = dauGen2->pdgId(); bool muplusFound=false; bool muminusFound=false; bool ZFound=false; if (partId0==13 || partId1==13 || partId2==13) muminusFound=true; if (partId0==-13 || partId1==-13 || partId2==-13) muplusFound=true; if (partId0==23 || partId1==23 || partId2==23) ZFound=true; return muplusFound*muminusFound*ZFound; }
void ZMuMuPerformances::endJob | ( | void | ) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 1155 of file ZMuMuPerformances.cc.
References gather_cfg::cout, n_correctStaCharge_ZMuMutagged, n_correctStaCharge_ZMuTracktagged, n_correctTrkCharge_ZMuMutagged, n_correctTrkCharge_ZMuStatagged, n_goodSta_ZMuMutagged, n_goodSta_ZMuStatagged, n_goodTrack_ZMuMutagged, n_goodTrack_ZMuTracktagged, n_StaNotFound_ZMuTracktagged, n_TrkNotFound_ZMuStatagged, n_wrongStaCharge_ZMuMutagged, n_wrongStaCharge_ZMuTracktagged, n_wrongTrkCharge_ZMuMutagged, n_wrongTrkCharge_ZMuStatagged, n_ZMuStaTaggedMatched, numberOfMatchedZMuSta_, nZMuMuSameSign, nZMuMuSameSign_mcMatched, totalNumberOfZfound, and totalNumberOfZpassed.
{ cout << "------------------------------------ Counters --------------------------------" << endl; cout << "totalNumberOfZfound = " << totalNumberOfZfound << endl; cout << "totalNumberOfZpassed = " << totalNumberOfZpassed << endl; cout << "Number Of ZMuMu Same Sign (no cuts) " << nZMuMuSameSign << endl; cout << "Number Of ZMuMu Same Sign (no cuts) MC matched " << nZMuMuSameSign_mcMatched << endl; cout << "------------------------------------ Counters for standAlone charge mis-id studies --------------------------------" << endl; cout << " number of goodTracks tagged for ZMuMu collection = " << n_goodTrack_ZMuMutagged << endl; cout << " number of goodTracks tagged for ZMuMu collection (correct Sta charge) = " << n_correctStaCharge_ZMuMutagged << endl; cout << " number of goodTracks tagged for ZMuMu collection (wrong Sta charge) = " << n_wrongStaCharge_ZMuMutagged << endl<<endl; cout << " number of goodTracks tagged for ZMuTrack collection unMatchedSTA = " << n_goodTrack_ZMuTracktagged << endl; cout << " number of goodTracks tagged for ZMuTrack collection unMatchedSTA (correct Sta charge) = " << n_correctStaCharge_ZMuTracktagged << endl; cout << " number of goodTracks tagged for ZMuTrack collection unMatchedSTA (wrong Sta charge) = " << n_wrongStaCharge_ZMuTracktagged << endl<<endl; cout << " number of goodTracks tagged for ZMuTrack collection (No STA found) = " << n_StaNotFound_ZMuTracktagged << endl; cout << "------------------------------------ Counters for Track charge mis-id studies --------------------------------" << endl; cout << " number of goodStandAlone tagged for ZMuMu collection = " << n_goodSta_ZMuMutagged << endl; cout << " number of goodStandAlone tagged for ZMuMu collection (correct Trk charge) = " << n_correctTrkCharge_ZMuMutagged << endl; cout << " number of goodStandAlone tagged for ZMuMu collection (wrong Trk charge) = " << n_wrongTrkCharge_ZMuMutagged << endl<<endl; cout << " number of goodSta tagged for ZMuSta collection unMatchedTrk = " << n_goodSta_ZMuStatagged << endl; cout << " number of goodSta tagged for ZMuSta collection unMatchedTrk (correct Trk charge) = " << n_correctTrkCharge_ZMuStatagged << endl; cout << " number of goodSta tagged for ZMuSta collection unMatchedTrk (wrong Trk charge) = " << n_wrongTrkCharge_ZMuStatagged << endl<<endl; cout << " number of goodSta tagged for ZMuSta collection (No Trk found) = " << n_TrkNotFound_ZMuStatagged << endl; cout << " number of ZMuSta mactched = " << numberOfMatchedZMuSta_ << endl; cout << " number of ZMuSta Tagged matched = " << n_ZMuStaTaggedMatched << endl; }
float ZMuMuPerformances::getParticleEta | ( | const int | ipart, |
const Candidate * | dauGen0, | ||
const Candidate * | dauGen1, | ||
const Candidate * | dauGen2 | ||
) | [private] |
Definition at line 1054 of file ZMuMuPerformances.cc.
References abs, reco::Candidate::daughter(), reco::Candidate::eta(), gen::k, reco::Candidate::numberOfDaughters(), reco::Candidate::pdgId(), and reco::Candidate::status().
Referenced by analyze().
{ int partId0 = dauGen0->pdgId(); int partId1 = dauGen1->pdgId(); int partId2 = dauGen2->pdgId(); float etapart=0.; if (partId0 == ipart) { for(unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen0->daughter(k); if(dauMuGen->pdgId() == ipart && dauMuGen->status() ==1) { etapart = dauMuGen->eta(); } } } if (partId1 == ipart) { for(unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen1->daughter(k); if(dauMuGen->pdgId() == ipart && dauMuGen->status() ==1) { etapart = dauMuGen->eta(); } } } if (partId2 == ipart) { for(unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen2->daughter(k); if(abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() ==1) { etapart = dauMuGen->eta(); } } } return etapart; }
Particle::LorentzVector ZMuMuPerformances::getParticleP4 | ( | const int | ipart, |
const Candidate * | dauGen0, | ||
const Candidate * | dauGen1, | ||
const Candidate * | dauGen2 | ||
) | [private] |
Definition at line 1120 of file ZMuMuPerformances.cc.
References abs, reco::Candidate::daughter(), gen::k, reco::Candidate::numberOfDaughters(), reco::Candidate::p4(), reco::Candidate::pdgId(), and reco::Candidate::status().
Referenced by analyze().
{ int partId0 = dauGen0->pdgId(); int partId1 = dauGen1->pdgId(); int partId2 = dauGen2->pdgId(); Particle::LorentzVector p4part(0.,0.,0.,0.); if (partId0 == ipart) { for(unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen0->daughter(k); if(dauMuGen->pdgId() == ipart && dauMuGen->status() ==1) { p4part = dauMuGen->p4(); } } } if (partId1 == ipart) { for(unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen1->daughter(k); if(dauMuGen->pdgId() == ipart && dauMuGen->status() ==1) { p4part = dauMuGen->p4(); } } } if (partId2 == ipart) { for(unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen2->daughter(k); if(abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() ==1) { p4part = dauMuGen->p4(); } } } return p4part; }
float ZMuMuPerformances::getParticlePhi | ( | const int | ipart, |
const Candidate * | dauGen0, | ||
const Candidate * | dauGen1, | ||
const Candidate * | dauGen2 | ||
) | [private] |
Definition at line 1087 of file ZMuMuPerformances.cc.
References abs, reco::Candidate::daughter(), gen::k, reco::Candidate::numberOfDaughters(), reco::Candidate::pdgId(), reco::Candidate::phi(), and reco::Candidate::status().
{ int partId0 = dauGen0->pdgId(); int partId1 = dauGen1->pdgId(); int partId2 = dauGen2->pdgId(); float phipart=0.; if (partId0 == ipart) { for(unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen0->daughter(k); if(dauMuGen->pdgId() == ipart && dauMuGen->status() ==1) { phipart = dauMuGen->phi(); } } } if (partId1 == ipart) { for(unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen1->daughter(k); if(dauMuGen->pdgId() == ipart && dauMuGen->status() ==1) { phipart = dauMuGen->phi(); } } } if (partId2 == ipart) { for(unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen2->daughter(k); if(abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() ==1) { phipart = dauMuGen->phi(); } } } return phipart; }
float ZMuMuPerformances::getParticlePt | ( | const int | ipart, |
const Candidate * | dauGen0, | ||
const Candidate * | dauGen1, | ||
const Candidate * | dauGen2 | ||
) | [private] |
Definition at line 1021 of file ZMuMuPerformances.cc.
References abs, reco::Candidate::daughter(), gen::k, reco::Candidate::numberOfDaughters(), reco::Candidate::pdgId(), reco::Candidate::pt(), and reco::Candidate::status().
Referenced by analyze().
{ int partId0 = dauGen0->pdgId(); int partId1 = dauGen1->pdgId(); int partId2 = dauGen2->pdgId(); float ptpart=0.; if (partId0 == ipart) { for(unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen0->daughter(k); if(dauMuGen->pdgId() == ipart && dauMuGen->status() ==1) { ptpart = dauMuGen->pt(); } } } if (partId1 == ipart) { for(unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen1->daughter(k); if(dauMuGen->pdgId() == ipart && dauMuGen->status() ==1) { ptpart = dauMuGen->pt(); } } } if (partId2 == ipart) { for(unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { const Candidate * dauMuGen = dauGen2->daughter(k); if(abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() ==1) { ptpart = dauMuGen->pt(); } } } return ptpart; }
double ZMuMuPerformances::etamax_ [private] |
Definition at line 58 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
double ZMuMuPerformances::etamaxMinus_ [private] |
Definition at line 56 of file ZMuMuPerformances.cc.
double ZMuMuPerformances::etamaxPlus_ [private] |
Definition at line 55 of file ZMuMuPerformances.cc.
Referenced by ZMuMuPerformances().
double ZMuMuPerformances::etaminMinus_ [private] |
Definition at line 56 of file ZMuMuPerformances.cc.
double ZMuMuPerformances::etaminPlus_ [private] |
Definition at line 55 of file ZMuMuPerformances.cc.
Definition at line 51 of file ZMuMuPerformances.cc.
Referenced by analyze().
Definition at line 60 of file ZMuMuPerformances.cc.
TH2D* ZMuMuPerformances::h_DEtaGlobalGenvsEtaGen [private] |
Definition at line 77 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D* ZMuMuPerformances::h_DEtaGlobalGenvsEtaGen_ZMuMuTagged [private] |
Definition at line 83 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D * ZMuMuPerformances::h_DEtaGlobalStaComponentGenvsEtaGen [private] |
Definition at line 77 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
Definition at line 84 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D* ZMuMuPerformances::h_DPtGlobalGenvsEtaGen [private] |
Definition at line 78 of file ZMuMuPerformances.cc.
TH2D* ZMuMuPerformances::h_DPtGlobalGenvsEtaGen_ZMuMuTagged [private] |
Definition at line 85 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D * ZMuMuPerformances::h_DPtGlobalGenvsPtGen [private] |
Definition at line 77 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D * ZMuMuPerformances::h_DPtGlobalGenvsPtGen_ZMuMuTagged [private] |
Definition at line 83 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D * ZMuMuPerformances::h_DPtGlobalStaComponentGenvsEtaGen [private] |
Definition at line 78 of file ZMuMuPerformances.cc.
TH2D * ZMuMuPerformances::h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged [private] |
Definition at line 85 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D * ZMuMuPerformances::h_DPtGlobalStaComponentGenvsPtGen [private] |
Definition at line 77 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D * ZMuMuPerformances::h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged [private] |
Definition at line 84 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D * ZMuMuPerformances::h_DPtTrackGenvsEtaGen_ZMuMuTagged [private] |
Definition at line 86 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH2D* ZMuMuPerformances::h_DPtTrackGenvsPtGen_ZMuMuTagged [private] |
Definition at line 86 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_DRSta_wrongTrkCharge_ZMuMuTagged [private] |
Definition at line 103 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_DRSta_ZMuMuTagged [private] |
Definition at line 100 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_DRTrack_wrongStaCharge_ZMuMuTagged [private] |
Definition at line 92 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_DRTrack_wrongStaCharge_ZMuTrackTagged [private] |
Definition at line 109 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_DRTrack_ZMuMuTagged [private] |
Definition at line 89 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_DRTrack_ZMuTrackTagged [private] |
Definition at line 106 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_etaSta_wrongTrkCharge_ZMuMuTagged [private] |
Definition at line 102 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_etaSta_wrongTrkCharge_ZMuStaTagged [private] |
Definition at line 114 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_etaSta_ZMuMuTagged [private] |
Definition at line 100 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_etaSta_ZMuStaTagged [private] |
Definition at line 112 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_etaTrack_wrongStaCharge_ZMuMuTagged [private] |
Definition at line 91 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_etaTrack_wrongStaCharge_ZMuTrackTagged [private] |
Definition at line 108 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_etaTrack_ZMuMuTagged [private] |
Definition at line 89 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_etaTrack_ZMuTrackTagged [private] |
Definition at line 106 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_GlobalMuonChargeTimeGenCharge [private] |
Definition at line 73 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_GlobalMuonEtaMinusGenEta [private] |
Definition at line 75 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_GlobalMuonEtaMinusGenEta_ZMuMuTagged [private] |
Definition at line 80 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_GlobalMuonPtMinusGenPt [private] |
Definition at line 75 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_GlobalMuonPtMinusGenPt_ZMuMuTagged [private] |
Definition at line 81 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_GlobalMuonStaComponentEtaMinusGenEta [private] |
Definition at line 76 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
Definition at line 82 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_GlobalMuonStaComponentPtMinusGenPt [private] |
Definition at line 76 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged [private] |
Definition at line 82 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_n_globalMuon_perEvent [private] |
Definition at line 64 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_n_globalMuon_perEvent_MCmatch [private] |
Definition at line 65 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_n_staOnlyMuon_perEvent [private] |
Definition at line 64 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_n_staOnlyMuon_perEvent_MCmatch [private] |
Definition at line 65 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_n_trackerOnlyMuon_perEvent [private] |
Definition at line 64 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_n_trackerOnlyMuon_perEvent_MCmatch [private] |
Definition at line 65 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_n_trackerStaOnlyMuon_perEvent [private] |
Definition at line 64 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_n_trackerStaOnlyMuon_perEvent_MCmatch [private] |
Definition at line 66 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_n_tracks_perEvent [private] |
Definition at line 66 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_n_zMuMu_perEvent [private] |
Definition at line 67 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_n_zMuSta_perEvent [private] |
Definition at line 67 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_n_zMuTrack_perEvent [private] |
Definition at line 67 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_phiSta_wrongTrkCharge_ZMuMuTagged [private] |
Definition at line 103 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_phiSta_wrongTrkCharge_ZMuStaTagged [private] |
Definition at line 115 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_phiSta_ZMuMuTagged [private] |
Definition at line 100 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_phiSta_ZMuStaTagged [private] |
Definition at line 112 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_phiTrack_wrongStaCharge_ZMuMuTagged [private] |
Definition at line 92 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_phiTrack_wrongStaCharge_ZMuTrackTagged [private] |
Definition at line 109 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_phiTrack_ZMuMuTagged [private] |
Definition at line 89 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_phiTrack_ZMuTrackTagged [private] |
Definition at line 106 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_ptSta_wrongTrkCharge_ZMuMuTagged [private] |
Definition at line 103 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_ptSta_wrongTrkCharge_ZMuStaTagged [private] |
Definition at line 115 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_ptSta_ZMuMuTagged [private] |
Definition at line 100 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_ptSta_ZMuStaTagged [private] |
Definition at line 112 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged [private] |
Definition at line 95 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
Definition at line 96 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
Definition at line 97 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_ptTrack_wrongStaCharge_ZMuMuTagged [private] |
Definition at line 92 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_ptTrack_wrongStaCharge_ZMuTrackTagged [private] |
Definition at line 109 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_ptTrack_ZMuMuTagged [private] |
Definition at line 89 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_ptTrack_ZMuTrackTagged [private] |
Definition at line 106 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_TrackerMuonChargeTimeGenCharge [private] |
Definition at line 73 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_TrackerMuonEtaMinusGenEta [private] |
Definition at line 75 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_TrackerMuonPtMinusGenPt [private] |
Definition at line 75 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_zMuMuMassOppositeSign [private] |
Definition at line 70 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuMuMassSameSign [private] |
Definition at line 70 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D * ZMuMuPerformances::h_zMuMuMassSameSign_MCmatch [private] |
Definition at line 70 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuStaMass_correctStaCharge_ZMuMuTagged [private] |
Definition at line 95 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuStaMass_wrongTrkCharge_ZMuMuTagged [private] |
Definition at line 102 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuStaMass_wrongTrkCharge_ZMuStaTagged [private] |
Definition at line 114 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuStaMass_ZMuMuTagged [private] |
Definition at line 100 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuStaMass_ZMuStaTagged [private] |
Definition at line 112 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuTrackMass_wrongStaCharge_ZMuMuTagged [private] |
Definition at line 91 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged [private] |
Definition at line 108 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuTrackMass_ZMuMuTagged [private] |
Definition at line 89 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
TH1D* ZMuMuPerformances::h_zMuTrackMass_ZMuTrackTagged [private] |
Definition at line 106 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
double ZMuMuPerformances::isomax_ [private] |
Definition at line 56 of file ZMuMuPerformances.cc.
Referenced by ZMuMuPerformances().
double ZMuMuPerformances::isoMax_ [private] |
Definition at line 58 of file ZMuMuPerformances.cc.
Referenced by ZMuMuPerformances().
double ZMuMuPerformances::massMax_ [private] |
Definition at line 58 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
double ZMuMuPerformances::massMin_ [private] |
Definition at line 58 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
edm::InputTag ZMuMuPerformances::muonIso_ [private] |
Definition at line 49 of file ZMuMuPerformances.cc.
Referenced by analyze().
Definition at line 49 of file ZMuMuPerformances.cc.
Referenced by analyze().
edm::InputTag ZMuMuPerformances::muons_ [private] |
Definition at line 49 of file ZMuMuPerformances.cc.
Referenced by analyze().
int ZMuMuPerformances::n_correctStaCharge_ZMuMutagged [private] |
Definition at line 126 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_correctStaCharge_ZMuTracktagged [private] |
Definition at line 134 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_correctTrkCharge_ZMuMutagged [private] |
Definition at line 130 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_correctTrkCharge_ZMuStatagged [private] |
Definition at line 139 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_goodSta_ZMuMutagged [private] |
Definition at line 129 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_goodSta_ZMuStatagged [private] |
Definition at line 138 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_goodTrack_ZMuMutagged [private] |
Definition at line 125 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_goodTrack_ZMuTracktagged [private] |
Definition at line 133 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_MultipleGoodZMuTrack [private] |
Definition at line 144 of file ZMuMuPerformances.cc.
Referenced by ZMuMuPerformances().
int ZMuMuPerformances::n_OneGoodZMuTrack [private] |
Definition at line 143 of file ZMuMuPerformances.cc.
Referenced by ZMuMuPerformances().
int ZMuMuPerformances::n_StaNotFound_ZMuTracktagged [private] |
Definition at line 136 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_TrkNotFound_ZMuStatagged [private] |
Definition at line 141 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_wrongStaCharge_ZMuMutagged [private] |
Definition at line 127 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_wrongStaCharge_ZMuTracktagged [private] |
Definition at line 135 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_wrongTrkCharge_ZMuMutagged [private] |
Definition at line 131 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_wrongTrkCharge_ZMuStatagged [private] |
Definition at line 140 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::n_ZMuStaTaggedMatched [private] |
Definition at line 146 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
bool ZMuMuPerformances::noCut_ [private] |
Definition at line 53 of file ZMuMuPerformances.cc.
Referenced by analyze().
int ZMuMuPerformances::numberOfMatchedZMuSta_ [private] |
Definition at line 145 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::nZMuMuSameSign [private] |
Definition at line 122 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::nZMuMuSameSign_mcMatched [private] |
Definition at line 123 of file ZMuMuPerformances.cc.
Referenced by analyze(), endJob(), and ZMuMuPerformances().
OverlapChecker ZMuMuPerformances::overlap_ [private] |
Definition at line 61 of file ZMuMuPerformances.cc.
double ZMuMuPerformances::ptmaxMinus_ [private] |
Definition at line 56 of file ZMuMuPerformances.cc.
double ZMuMuPerformances::ptmaxPlus_ [private] |
Definition at line 55 of file ZMuMuPerformances.cc.
double ZMuMuPerformances::ptmin_ [private] |
Definition at line 58 of file ZMuMuPerformances.cc.
Referenced by analyze(), and ZMuMuPerformances().
double ZMuMuPerformances::ptminMinus_ [private] |
Definition at line 56 of file ZMuMuPerformances.cc.
double ZMuMuPerformances::ptminPlus_ [private] |
Definition at line 55 of file ZMuMuPerformances.cc.
Referenced by ZMuMuPerformances().
Definition at line 60 of file ZMuMuPerformances.cc.
int ZMuMuPerformances::totalNumberOfZfound [private] |
Definition at line 119 of file ZMuMuPerformances.cc.
Referenced by endJob(), and ZMuMuPerformances().
int ZMuMuPerformances::totalNumberOfZpassed [private] |
Definition at line 120 of file ZMuMuPerformances.cc.
Referenced by endJob(), and ZMuMuPerformances().
edm::InputTag ZMuMuPerformances::trackIso_ [private] |
Definition at line 50 of file ZMuMuPerformances.cc.
Definition at line 60 of file ZMuMuPerformances.cc.
edm::InputTag ZMuMuPerformances::tracks_ [private] |
Definition at line 50 of file ZMuMuPerformances.cc.
Referenced by analyze().
double ZMuMuPerformances::zMassMax_ [private] |
Definition at line 54 of file ZMuMuPerformances.cc.
Referenced by ZMuMuPerformances().
double ZMuMuPerformances::zMassMin_ [private] |
Definition at line 54 of file ZMuMuPerformances.cc.
Referenced by ZMuMuPerformances().
edm::InputTag ZMuMuPerformances::zMuMu_ [private] |
Definition at line 46 of file ZMuMuPerformances.cc.
Referenced by analyze().
Definition at line 46 of file ZMuMuPerformances.cc.
Referenced by analyze().
Definition at line 48 of file ZMuMuPerformances.cc.
Referenced by analyze().
Definition at line 48 of file ZMuMuPerformances.cc.
Referenced by analyze().
edm::InputTag ZMuMuPerformances::zMuTrack_ [private] |
Definition at line 47 of file ZMuMuPerformances.cc.
Referenced by analyze().
Definition at line 47 of file ZMuMuPerformances.cc.
Referenced by analyze().