CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
ZMuMuPerformances Class Reference
Inheritance diagram for ZMuMuPerformances:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 ZMuMuPerformances (const edm::ParameterSet &pset)
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &setup) override
 
bool check_ifZmumu (const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 
void endJob () override
 
float getParticleEta (const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 
Particle::LorentzVector getParticleP4 (const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 
float getParticlePhi (const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 
float getParticlePt (const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 

Private Attributes

double etamax_
 
double etamaxMinus_
 
double etamaxPlus_
 
double etaminMinus_
 
double etaminPlus_
 
EDGetTokenT< GenParticleCollectiongenParticlesToken_
 
reco::CandidateBaseRef globalMuonCandRef_
 
TH2D * h_DEtaGlobalGenvsEtaGen
 
TH2D * h_DEtaGlobalGenvsEtaGen_ZMuMuTagged
 
TH2D * h_DEtaGlobalStaComponentGenvsEtaGen
 
TH2D * h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged
 
TH2D * h_DPtGlobalGenvsEtaGen
 
TH2D * h_DPtGlobalGenvsEtaGen_ZMuMuTagged
 
TH2D * h_DPtGlobalGenvsPtGen
 
TH2D * h_DPtGlobalGenvsPtGen_ZMuMuTagged
 
TH2D * h_DPtGlobalStaComponentGenvsEtaGen
 
TH2D * h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged
 
TH2D * h_DPtGlobalStaComponentGenvsPtGen
 
TH2D * h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged
 
TH2D * h_DPtTrackGenvsEtaGen_ZMuMuTagged
 
TH2D * h_DPtTrackGenvsPtGen_ZMuMuTagged
 
TH1D * h_DRSta_wrongTrkCharge_ZMuMuTagged
 
TH1D * h_DRSta_ZMuMuTagged
 
TH1D * h_DRTrack_wrongStaCharge_ZMuMuTagged
 
TH1D * h_DRTrack_wrongStaCharge_ZMuTrackTagged
 
TH1D * h_DRTrack_ZMuMuTagged
 
TH1D * h_DRTrack_ZMuTrackTagged
 
TH1D * h_etaSta_wrongTrkCharge_ZMuMuTagged
 
TH1D * h_etaSta_wrongTrkCharge_ZMuStaTagged
 
TH1D * h_etaSta_ZMuMuTagged
 
TH1D * h_etaSta_ZMuStaTagged
 
TH1D * h_etaTrack_wrongStaCharge_ZMuMuTagged
 
TH1D * h_etaTrack_wrongStaCharge_ZMuTrackTagged
 
TH1D * h_etaTrack_ZMuMuTagged
 
TH1D * h_etaTrack_ZMuTrackTagged
 
TH1D * h_GlobalMuonChargeTimeGenCharge
 
TH1D * h_GlobalMuonEtaMinusGenEta
 
TH1D * h_GlobalMuonEtaMinusGenEta_ZMuMuTagged
 
TH1D * h_GlobalMuonPtMinusGenPt
 
TH1D * h_GlobalMuonPtMinusGenPt_ZMuMuTagged
 
TH1D * h_GlobalMuonStaComponentEtaMinusGenEta
 
TH1D * h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged
 
TH1D * h_GlobalMuonStaComponentPtMinusGenPt
 
TH1D * h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged
 
TH1D * h_n_globalMuon_perEvent
 
TH1D * h_n_globalMuon_perEvent_MCmatch
 
TH1D * h_n_staOnlyMuon_perEvent
 
TH1D * h_n_staOnlyMuon_perEvent_MCmatch
 
TH1D * h_n_trackerOnlyMuon_perEvent
 
TH1D * h_n_trackerOnlyMuon_perEvent_MCmatch
 
TH1D * h_n_trackerStaOnlyMuon_perEvent
 
TH1D * h_n_trackerStaOnlyMuon_perEvent_MCmatch
 
TH1D * h_n_tracks_perEvent
 
TH1D * h_n_zMuMu_perEvent
 
TH1D * h_n_zMuSta_perEvent
 
TH1D * h_n_zMuTrack_perEvent
 
TH1D * h_phiSta_wrongTrkCharge_ZMuMuTagged
 
TH1D * h_phiSta_wrongTrkCharge_ZMuStaTagged
 
TH1D * h_phiSta_ZMuMuTagged
 
TH1D * h_phiSta_ZMuStaTagged
 
TH1D * h_phiTrack_wrongStaCharge_ZMuMuTagged
 
TH1D * h_phiTrack_wrongStaCharge_ZMuTrackTagged
 
TH1D * h_phiTrack_ZMuMuTagged
 
TH1D * h_phiTrack_ZMuTrackTagged
 
TH1D * h_ptSta_wrongTrkCharge_ZMuMuTagged
 
TH1D * h_ptSta_wrongTrkCharge_ZMuStaTagged
 
TH1D * h_ptSta_ZMuMuTagged
 
TH1D * h_ptSta_ZMuStaTagged
 
TH1D * h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged
 
TH2D * h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged
 
TH2D * h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged
 
TH1D * h_ptTrack_wrongStaCharge_ZMuMuTagged
 
TH1D * h_ptTrack_wrongStaCharge_ZMuTrackTagged
 
TH1D * h_ptTrack_ZMuMuTagged
 
TH1D * h_ptTrack_ZMuTrackTagged
 
TH1D * h_TrackerMuonChargeTimeGenCharge
 
TH1D * h_TrackerMuonEtaMinusGenEta
 
TH1D * h_TrackerMuonPtMinusGenPt
 
TH1D * h_zMuMuMassOppositeSign
 
TH1D * h_zMuMuMassSameSign
 
TH1D * h_zMuMuMassSameSign_MCmatch
 
TH1D * h_zMuStaMass_correctStaCharge_ZMuMuTagged
 
TH1D * h_zMuStaMass_wrongTrkCharge_ZMuMuTagged
 
TH1D * h_zMuStaMass_wrongTrkCharge_ZMuStaTagged
 
TH1D * h_zMuStaMass_ZMuMuTagged
 
TH1D * h_zMuStaMass_ZMuStaTagged
 
TH1D * h_zMuTrackMass_wrongStaCharge_ZMuMuTagged
 
TH1D * h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged
 
TH1D * h_zMuTrackMass_ZMuMuTagged
 
TH1D * h_zMuTrackMass_ZMuTrackTagged
 
double isomax_
 
double isoMax_
 
double massMax_
 
double massMin_
 
EDGetTokenT< IsolationCollectionmuonIsoToken_
 
EDGetTokenT< GenParticleMatchmuonMatchMapToken_
 
EDGetTokenT< CandidateViewmuonsToken_
 
int n_correctStaCharge_ZMuMutagged
 
int n_correctStaCharge_ZMuTracktagged
 
int n_correctTrkCharge_ZMuMutagged
 
int n_correctTrkCharge_ZMuStatagged
 
int n_goodSta_ZMuMutagged
 
int n_goodSta_ZMuStatagged
 
int n_goodTrack_ZMuMutagged
 
int n_goodTrack_ZMuTracktagged
 
int n_MultipleGoodZMuTrack
 
int n_OneGoodZMuTrack
 
int n_StaNotFound_ZMuTracktagged
 
int n_TrkNotFound_ZMuStatagged
 
int n_wrongStaCharge_ZMuMutagged
 
int n_wrongStaCharge_ZMuTracktagged
 
int n_wrongTrkCharge_ZMuMutagged
 
int n_wrongTrkCharge_ZMuStatagged
 
int n_ZMuStaTaggedMatched
 
bool noCut_
 
int numberOfMatchedZMuSta_
 
int nZMuMuSameSign
 
int nZMuMuSameSign_mcMatched
 
OverlapChecker overlap_
 
double ptmaxMinus_
 
double ptmaxPlus_
 
double ptmin_
 
double ptminMinus_
 
double ptminPlus_
 
reco::CandidateBaseRef standAloneMuonCandRef_
 
int totalNumberOfZfound
 
int totalNumberOfZpassed
 
EDGetTokenT< IsolationCollectiontrackIsoToken_
 
reco::CandidateBaseRef trackMuonCandRef_
 
EDGetTokenT< CandidateViewtracksToken_
 
double zMassMax_
 
double zMassMin_
 
EDGetTokenT< GenParticleMatchzMuMuMatchMapToken_
 
EDGetTokenT< CandidateViewzMuMuToken_
 
EDGetTokenT< GenParticleMatchzMuStandAloneMatchMapToken_
 
EDGetTokenT< CandidateViewzMuStandAloneToken_
 
EDGetTokenT< GenParticleMatchzMuTrackMatchMapToken_
 
EDGetTokenT< CandidateViewzMuTrackToken_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 42 of file ZMuMuPerformances.cc.

Constructor & Destructor Documentation

◆ ZMuMuPerformances()

ZMuMuPerformances::ZMuMuPerformances ( const edm::ParameterSet pset)

Definition at line 182 of file ZMuMuPerformances.cc.

183  : zMuMuToken_(consumes<CandidateView>(pset.getParameter<InputTag>("zMuMu"))),
184  zMuMuMatchMapToken_(mayConsume<GenParticleMatch>(pset.getParameter<InputTag>("zMuMuMatchMap"))),
185  zMuTrackToken_(consumes<CandidateView>(pset.getParameter<InputTag>("zMuTrack"))),
186  zMuTrackMatchMapToken_(mayConsume<GenParticleMatch>(pset.getParameter<InputTag>("zMuTrackMatchMap"))),
187  zMuStandAloneToken_(consumes<CandidateView>(pset.getParameter<InputTag>("zMuStandAlone"))),
188  zMuStandAloneMatchMapToken_(mayConsume<GenParticleMatch>(pset.getParameter<InputTag>("zMuStandAloneMatchMap"))),
189  muonsToken_(consumes<CandidateView>(pset.getParameter<InputTag>("muons"))),
190  muonMatchMapToken_(mayConsume<GenParticleMatch>(pset.getParameter<InputTag>("muonMatchMap"))),
191  muonIsoToken_(mayConsume<IsolationCollection>(pset.getParameter<InputTag>("muonIso"))),
192  tracksToken_(consumes<CandidateView>(pset.getParameter<InputTag>("tracks"))),
193  trackIsoToken_(mayConsume<IsolationCollection>(pset.getParameter<InputTag>("trackIso"))),
194  genParticlesToken_(consumes<GenParticleCollection>(pset.getParameter<InputTag>("genParticles"))),
195 
196  noCut_(pset.getParameter<bool>("noCut")),
197 
198  zMassMin_(pset.getUntrackedParameter<double>("zMassMin")),
199  zMassMax_(pset.getUntrackedParameter<double>("zMassMax")),
200  ptminPlus_(pset.getUntrackedParameter<double>("ptminPlus")),
201  ptmaxPlus_(pset.getUntrackedParameter<double>("ptmaxPlus")),
202  etaminPlus_(pset.getUntrackedParameter<double>("etaminPlus")),
203  etamaxPlus_(pset.getUntrackedParameter<double>("etamaxPlus")),
204  ptminMinus_(pset.getUntrackedParameter<double>("ptminMinus")),
205  ptmaxMinus_(pset.getUntrackedParameter<double>("ptmaxMinus")),
206  etaminMinus_(pset.getUntrackedParameter<double>("etaminMinus")),
207  etamaxMinus_(pset.getUntrackedParameter<double>("etamaxMinus")),
208  isomax_(pset.getUntrackedParameter<double>("isomax")) {
210 
211  // cut setting
213  ptmin_ = ptminPlus_;
216  isoMax_ = isomax_;
217 
218  // general histograms
219  h_n_globalMuon_perEvent = fs->make<TH1D>("n_globalMuon_perEvent", "n.of globalMuons per Event", 6, -.5, 5.5);
221  fs->make<TH1D>("n_staOnlyMuon_perEvent", "n.of standAlone Only Muons per Event", 6, -.5, 5.5);
223  fs->make<TH1D>("n_trackerOnlyMuon_perEvent", "n.of tracker Only Muons per Event", 6, -.5, 5.5);
225  fs->make<TH1D>("n_trackerStaOnlyMuon_perEvent", "n.of tracker & StandAlone Only Muons per Event", 6, -.5, 5.5);
227  fs->make<TH1D>("n_globalMuon_perEvent_MCmatch", "n.of globalMuons per Event (MCmatch)", 6, -.5, 5.5);
229  fs->make<TH1D>("n_staOnlyMuon_perEvent_MCmatch", "n.of standAlone Only Muons per Event (MCmatch)", 6, -.5, 5.5);
231  fs->make<TH1D>("n_trackerOnlyMuon_perEvent_MCmatch", "n.of tracker Only Muons per Event (MCmatch)", 6, -.5, 5.5);
233  "n_trackerStaOnlyMuon_perEvent_MCmatch", "n.of tracker & StandAlone Only Muons per Event (MCmatch)", 6, -.5, 5.5);
234  h_n_tracks_perEvent = fs->make<TH1D>("n_tracks_perEvent", "n.of tracks per Event", 100, -.5, 99.5);
235  h_n_zMuMu_perEvent = fs->make<TH1D>("n_zMuMu_perEvent", "n.of global-global muons per Event", 6, -.5, 5.5);
236  h_n_zMuSta_perEvent = fs->make<TH1D>("n_zMuSta_perEvent", "n.of global-sta muons per Event", 6, -.5, 5.5);
237  h_n_zMuTrack_perEvent = fs->make<TH1D>("n_zMuTrack_perEvent", "n.of global-track muons per Event", 100, -.5, 99.5);
238 
239  // zMuMu inv mass
240  h_zMuMuMassSameSign = fs->make<TH1D>("zMuMuMassSameSign", "inv Mass ZMuMu cand SameSign", 100, 0., 200.);
241  h_zMuMuMassOppositeSign = fs->make<TH1D>("zMuMuMassOppositeSign", "inv Mass ZMuMu cand OppositeSign", 100, 0., 200.);
243  fs->make<TH1D>("zMuMuMassSameSign_MCmatch", "inv Mass ZMuMu cand SameSign (MC match)", 100, 0., 200.);
244 
245  // histograms for MC truth
246  // charge truth
248  fs->make<TH1D>("GlobalMuonChargeTimeGenCharge", "charge global mu times charge generated mu", 3, -1.5, 1.5);
250  fs->make<TH1D>("TrackerMuonChargeTimeGenCharge", "charge Tracker mu times charge generated mu", 3, -1.5, 1.5);
251  // resolution respect to gen particles
253  fs->make<TH1D>("GlobalMuonEtaMinusGenEta", "global mu Eta minus generated mu Eta", 100, -.005, .005);
255  fs->make<TH1D>("GlobalMuonPtMinusGenPtoverPt", "global mu Pt minus generated mu Pt over Pt", 100, -.5, .5);
257  "GlobalMuonStaComponentEtaMinusGenEta", "global mu Sta cmponent Eta minus generated mu Eta", 100, -.5, .5);
258  h_GlobalMuonStaComponentPtMinusGenPt = fs->make<TH1D>("GlobalMuonStaComponentPtMinusGenPtoerPt",
259  "global mu Sta component Pt minus generated mu Pt over Pt",
260  100,
261  -1.,
262  1.);
264  fs->make<TH1D>("TrackerMuonEtaMinusGenEta", "Tracker mu Eta minus Eta generated mu", 100, -.005, .005);
266  fs->make<TH1D>("TrackerMuonPtMinusenPtoverPt", "Tracker mu Pt minus Pt generated mu over Pt", 100, -.5, .5);
267 
269  fs->make<TH2D>("h_DEtaGlobalGenvsEtaGen", "Eta global - Eta Gen vs Eta gen", 50, -2.5, 2.5, 100, -.005, .005);
270  h_DEtaGlobalStaComponentGenvsEtaGen = fs->make<TH2D>("h_DEtaGlobalStaComponentGenvsEtaGen",
271  "Eta Sta component of a Global - Eta Gen vs Eta gen",
272  50,
273  -2.5,
274  2.5,
275  100,
276  -.5,
277  .5);
279  fs->make<TH2D>("h_DPtGlobalGenovePtvsPtGen", "Pt global - Pt Gen over Pt vs Pt gen", 50, 0., 100., 100, -.5, .5);
280  h_DPtGlobalStaComponentGenvsPtGen = fs->make<TH2D>("h_DPtGlobalStaComponentGenoverPtvsPtGen",
281  "Pt Sta component of a Global - Pt Gen over Pt vs Pt gen",
282  50,
283  0.,
284  100.,
285  100,
286  -1.,
287  1.);
288 
289  // resolution respect to gen particles for ZMuMuTagged events
291  fs->make<TH1D>("GlobalMuonEtaMinusGenEta_ZMuMuTagged", "global mu Eta minus generated mu Eta", 100, -.005, .005);
292  h_GlobalMuonPtMinusGenPt_ZMuMuTagged = fs->make<TH1D>(
293  "GlobalMuonPtMinusGenPtoverPt_ZMuMuTagged", "global mu Pt minus generated mu Pt over Pt", 100, -.5, .5);
295  fs->make<TH1D>("GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged",
296  "global mu Sta cmponent Eta minus generated mu Eta",
297  100,
298  -.5,
299  .5);
301  fs->make<TH1D>("GlobalMuonStaComponentPtMinusGenPtoverPt_ZMuMuTagged",
302  "global mu Sta component Pt minus generated mu Pt over Pt",
303  100,
304  -1.,
305  1.);
306  h_DEtaGlobalGenvsEtaGen_ZMuMuTagged = fs->make<TH2D>(
307  "h_DEtaGlobalGenvsEtaGen_ZMuMuTagged", "Eta global - Eta Gen vs Eta gen", 50, -2.5, 2.5, 100, -.005, .005);
308  h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged = fs->make<TH2D>("h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged",
309  "Eta Sta component of a Global - Eta Gen vs Eta gen",
310  50,
311  -2.5,
312  2.5,
313  100,
314  -.5,
315  .5);
316  h_DPtGlobalGenvsPtGen_ZMuMuTagged = fs->make<TH2D>(
317  "h_DPtGlobalGenOverPtvsPtGen_ZMuMuTagged", "Pt global - Pt Gen vs Pt gen over Pt", 50, 0., 100., 100, -.5, .5);
319  fs->make<TH2D>("h_DPtGlobalStaComponentGenoverPtvsPtGen_ZMuMuTagged",
320  "Pt Sta component of a Global - Pt Gen over Pt vs Pt gen",
321  50,
322  0.,
323  100.,
324  100,
325  -1.,
326  1.);
327  h_DPtGlobalGenvsEtaGen_ZMuMuTagged = fs->make<TH2D>(
328  "h_DPtGlobalGenOverPtvsEtaGen_ZMuMuTagged", "Pt global - Pt Gen over Pt vs Eta gen", 50, -2.5, 2.5, 100, -.5, .5);
330  fs->make<TH2D>("h_DPtGlobalStaComponentGenoverPtvsEtaGen_ZMuMuTagged",
331  "Pt Sta component of a Global - Pt Gen over Pt vs Eta gen",
332  50,
333  -2.5,
334  2.5,
335  100,
336  -1.,
337  1.);
338  h_DPtTrackGenvsPtGen_ZMuMuTagged = fs->make<TH2D>(
339  "h_DPtTrackGenOverPtvsPtGen_ZMuMuTagged", "Pt track - Pt Gen vs Pt gen over Pt", 50, 0., 100., 100, -.5, .5);
340  h_DPtTrackGenvsEtaGen_ZMuMuTagged = fs->make<TH2D>(
341  "h_DPtTrackGenOverPtvsEtaGen_ZMuMuTagged", "Pt track - Pt Gen over Pt vs Eta gen", 50, -2.5, 2.5, 100, -.5, .5);
342 
343  // histograms for cynematic of ZMuMutagged muons for Sta performances studies
345  fs->make<TH1D>("zMuTrackMass_ZMuMuTagged", "inv Mass ZMuTrack cand (global-global)", 100, 0., 200.);
346  h_etaTrack_ZMuMuTagged = fs->make<TH1D>("etaTrack_ZMuMuTagged", "eta of Track (global-global)", 50, -2.5, 2.5);
347  h_phiTrack_ZMuMuTagged = fs->make<TH1D>("phiTrack_ZMuMuTagged", "phi of Track (global-global)", 50, -3.1415, 3.1415);
348  h_ptTrack_ZMuMuTagged = fs->make<TH1D>("ptTrack_ZMuMuTagged", "pt of Track (global-global)", 100, 0., 100.);
349  h_DRTrack_ZMuMuTagged = fs->make<TH1D>("DRTrackSta_ZMuMuTagged", "DR track-sta (global-global)", 100, 0., 5.);
350 
351  // histograms for cynematic of ZMuMutagged muons when StandAlone has wrong charge
353  "zMuTrackMass_wrongStaCharge_ZMuMuTagged", "inv Mass ZMuTrack cand (global-global wrongStaCharge)", 100, 0., 200.);
354  h_etaTrack_wrongStaCharge_ZMuMuTagged = fs->make<TH1D>(
355  "etaTrack_wrongStaCharge_ZMuMuTagged", "eta of Track (global-global wrongStaCharge)", 50, -2.5, 2.5);
356  h_phiTrack_wrongStaCharge_ZMuMuTagged = fs->make<TH1D>(
357  "phiTrack_wrongStaCharge_ZMuMuTagged", "phi of Track (global-global wrongStaCharge)", 50, -3.1415, 3.1415);
359  fs->make<TH1D>("ptTrack_wrongStaCharge_ZMuMuTagged", "pt of Track (global-global wrongStaCharge)", 100, 0., 100.);
360  h_DRTrack_wrongStaCharge_ZMuMuTagged = fs->make<TH1D>(
361  "DRTrackSta_wrongStaCharge_ZMuMuTagged", "DR track-sta (global-global wrongStaCharge)", 100, 0., 5.);
362 
363  // hisograms for performances of StandAlone when StandAlone has correct charge
365  "zMuStaMass_correctStaCharge_ZMuMuTagged", "inv Mass ZMuSta cand (global-global correctStaCharge)", 100, 0., 200.);
367  fs->make<TH1D>("ptStaMinusptTrackoverPT_correctStaCharge_ZMuMuTagged",
368  "ptSta - ptTrack over Pt (global-global correctStaCharge)",
369  100,
370  -1.,
371  1.);
373  fs->make<TH2D>("ptStaMinusptTrackoverPt_vsPtTracker_correctStaCharge_ZMuMuTagged",
374  "ptSta - ptTrack over Pt vs ptTrack (global-global correctStaCharge)",
375  100,
376  0.,
377  100.,
378  100,
379  -1.,
380  1.);
382  fs->make<TH2D>("ptStaMinusptTrackoverPt_vsEtaTracker_correctStaCharge_ZMuMuTagged",
383  "ptSta - ptTrack over Pt vs etaTrack (global-global correctStaCharge)",
384  100,
385  -2.5,
386  2.5,
387  100,
388  -1.,
389  1.);
390 
391  // histograms for cynematic of ZMuMutagged muons for TRK performances studies
393  fs->make<TH1D>("zMuStaMass_ZMuMuTagged", "inv Mass ZMuSta cand (global-global)", 100, 0., 200.);
394  h_etaSta_ZMuMuTagged = fs->make<TH1D>("etaSta_ZMuMuTagged", "eta of Sta (global-global)", 50, -2.5, 2.5);
395  h_phiSta_ZMuMuTagged = fs->make<TH1D>("phiSta_ZMuMuTagged", "phi of Sta (global-global)", 50, -3.1415, 3.1415);
396  h_ptSta_ZMuMuTagged = fs->make<TH1D>("ptSta_ZMuMuTagged", "pt of Sta (global-global)", 100, 0., 100.);
398  fs->make<TH1D>("DRTrackSta_ZMuMuTagged_staSelected", "DR track-sta sta selected (global-global)", 100, 0., 5.);
399 
400  // histograms for cynematic of ZMuMutagged muons when Track has wrong charge
402  "zMuStaMass_wrongTrkCharge_ZMuMuTagged", "inv Mass ZMuSta cand (global-global wrongTrkCharge)", 100, 0., 200.);
404  fs->make<TH1D>("etaSta_wrongTrkCharge_ZMuMuTagged", "eta of Sta (global-global wrongTrkCharge)", 50, -2.5, 2.5);
405  h_phiSta_wrongTrkCharge_ZMuMuTagged = fs->make<TH1D>(
406  "phiSta_wrongTrkCharge_ZMuMuTagged", "phi of Sta (global-global wrongTrkCharge)", 50, -3.1415, 3.1415);
408  fs->make<TH1D>("ptSta_wrongTrkCharge_ZMuMuTagged", "pt of Sta (global-global wrongTrkCharge)", 100, 0., 100.);
409  h_DRSta_wrongTrkCharge_ZMuMuTagged = fs->make<TH1D>(
410  "DRTrackSta_wrongTrkCharge_ZMuMuTagged", "DR track-sta (global-global wrongTrkCharge)", 100, 0., 5.);
411 
412  //
413  // ****************************************************************************************************
414  // histograms for cynematic of ZMuTracktagged muons with unMatched StandAlone
416  fs->make<TH1D>("zMuTrackMass_ZMuTrackTagged", "inv Mass ZMuTrack cand (global-track)", 100, 0., 200.);
417  h_etaTrack_ZMuTrackTagged = fs->make<TH1D>("etaTrack_ZMuTrackTagged", "eta of Track (global-track)", 50, -2.5, 2.5);
419  fs->make<TH1D>("phiTrack_ZMuTrackTagged", "phi of Track (global-track)", 50, -3.1415, 3.1415);
420  h_ptTrack_ZMuTrackTagged = fs->make<TH1D>("ptTrack_ZMuTrackTagged", "pt of Track (global-track)", 100, 0., 100.);
421  h_DRTrack_ZMuTrackTagged = fs->make<TH1D>("DRTrackSta_ZMuTrackTagged", "DR track-sta (global-track)", 100, 0., 5.);
422 
423  // histograms for cynematic of ZMuTracktagged muons when unMatched StandAlone has wrong charge
425  fs->make<TH1D>("zMuTrackMass_wrongStaCharge_ZMuTrackTagged",
426  "inv Mass ZMuTrack cand (global-track wrongUnMatcehdStaCharge)",
427  100,
428  0.,
429  200.);
431  "etaTrack_wrongStaCharge_ZMuTrackTagged", "eta of Track (global-track wrongUnMatchedStaCharge)", 50, -2.5, 2.5);
432  h_phiTrack_wrongStaCharge_ZMuTrackTagged = fs->make<TH1D>("phiTrack_wrongStaCharge_ZMuTrackTagged",
433  "phi of Track (global-track wrongUnMatchedStaCharge)",
434  50,
435  -3.1415,
436  3.1415);
438  "ptTrack_wrongStaCharge_ZMuTrackTagged", "pt of Track (global-track wrongUnMatchedStaCharge)", 100, 0., 100.);
440  "DRTrackSta_wrongStaCharge_ZMuTrackTagged", "DR track-sta (global-track wrongUnMatchedStaCharge)", 100, 0., 5.);
441 
442  // histograms for cynematic of ZMuStatagged muons with unMatched Track
444  fs->make<TH1D>("zMuStaMass_ZMuStaTagged", "inv Mass ZMuSta cand (global-sta)", 100, 0., 200.);
445  h_etaSta_ZMuStaTagged = fs->make<TH1D>("etaSta_ZMuStaTagged", "eta of Sta (global-sta)", 50, -2.5, 2.5);
446  h_phiSta_ZMuStaTagged = fs->make<TH1D>("phiSta_ZMuStaTagged", "phi of Sta (global-sta)", 50, -3.1415, 3.1415);
447  h_ptSta_ZMuStaTagged = fs->make<TH1D>("ptSta_ZMuStaTagged", "pt of Sta (global-sta)", 100, 0., 100.);
448 
449  // histograms for cynematic of ZMuStatagged muons when unMatched track has wrong charge
450  h_zMuStaMass_wrongTrkCharge_ZMuStaTagged = fs->make<TH1D>("zMuStaMass_wrongTrkCharge_ZMuStaTagged",
451  "inv Mass ZMuSta cand (global-sta wrongUnMatcehdTrkCharge)",
452  100,
453  0.,
454  200.);
455  h_etaSta_wrongTrkCharge_ZMuStaTagged = fs->make<TH1D>(
456  "etaSta_wrongTrkCharge_ZMuStaTagged", "eta of Sta (global-sta wrongUnMatchedTrkCharge)", 50, -2.5, 2.5);
457  h_phiSta_wrongTrkCharge_ZMuStaTagged = fs->make<TH1D>(
458  "phiSta_wrongTrkCharge_ZMuStaTagged", "phi of Sta (global-sta wrongUnMatchedTrkCharge)", 50, -3.1415, 3.1415);
459  h_ptSta_wrongTrkCharge_ZMuStaTagged = fs->make<TH1D>(
460  "ptSta_wrongTrkCharge_ZMuStaTagged", "pt of Sta (global-sta wrongUnMatchedTrkCharge)", 100, 0., 100.);
461 
462  // clear global counters
466  nZMuMuSameSign = 0;
477 
482 
483  n_OneGoodZMuTrack = 0;
487 }

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_, TFileService::make(), 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_.

Member Function Documentation

◆ analyze()

void ZMuMuPerformances::analyze ( const edm::Event event,
const edm::EventSetup setup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 489 of file ZMuMuPerformances.cc.

489  {
491  Handle<GenParticleMatch> zMuMuMatchMap; //Map of Z made by Mu global + Mu global (can be used also for same sign Zmumu)
492  Handle<CandidateView> zMuTrack;
493  Handle<GenParticleMatch> zMuTrackMatchMap; //Map of Z made by Mu + Track
494  Handle<CandidateView> zMuStandAlone;
495  Handle<GenParticleMatch> zMuStandAloneMatchMap; //Map of Z made by Mu + StandAlone
496  Handle<CandidateView> muons; //Collection of Muons
497  Handle<GenParticleMatch> muonMatchMap;
499  Handle<CandidateView> tracks; //Collection of Tracks
501  Handle<GenParticleCollection> genParticles; // Collection of Generatd Particles
502 
503  event.getByToken(zMuMuToken_, zMuMu);
504  event.getByToken(zMuTrackToken_, zMuTrack);
505  event.getByToken(zMuStandAloneToken_, zMuStandAlone);
506  event.getByToken(muonsToken_, muons);
507  event.getByToken(tracksToken_, tracks);
508  event.getByToken(genParticlesToken_, genParticles);
509 
510  /*
511  cout << "********* zMuMu size : " << zMuMu->size() << endl;
512  cout << "********* zMuMuSameSign size : " << zMuMuSameSign->size() << endl;
513  cout << "********* zMuStandAlone size : " << zMuStandAlone->size() << endl;
514  cout << "********* zMuTrack size : " << zMuTrack->size() << endl;
515  cout << "********* muons size : " << muons->size()<< endl;
516  cout << "********* standAlone size : " << standAlone->size()<< endl;
517  cout << "********* tracks size : " << tracks->size()<< endl;
518  cout << "********* generated size : " << genParticles->size()<< endl;
519  cout << "***************************************************" << endl;
520  */
521 
522  int n_globalMuon_perEvent = 0;
523  int n_staOnlyMuon_perEvent = 0;
524  int n_trackerOnlyMuon_perEvent = 0;
525  int n_trackerStaOnlyMuon_perEvent = 0;
526  int n_globalMuon_perEvent_MCmatch = 0;
527  int n_staOnlyMuon_perEvent_MCmatch = 0;
528  int n_trackerOnlyMuon_perEvent_MCmatch = 0;
529  int n_trackerStaOnlyMuon_perEvent_MCmatch = 0;
530 
531  for (unsigned int j = 0; j < muons->size(); ++j) {
532  CandidateBaseRef muCandRef = muons->refAt(j);
533  const Candidate &muCand = (*muons)[j]; //the candidate
534  const reco::Muon &muon = dynamic_cast<const reco::Muon &>(muCand);
535  reco::TrackRef innerTrackRef = muon.track();
536  reco::TrackRef outerTrackRef = muon.standAloneMuon();
537  TrackRef muStaComponentRef = muCand.get<TrackRef, reco::StandAloneMuonTag>(); // standalone part of muon
538  TrackRef muTrkComponentRef = muCand.get<TrackRef>(); // track part of muon
539  GenParticleRef muonMatch = (*muonMatchMap)[muCandRef];
540  if (muCandRef->isGlobalMuon() == 1)
541  n_globalMuon_perEvent++;
542  if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 0 && muCandRef->isStandAloneMuon() == 1)
543  n_staOnlyMuon_perEvent++;
544  if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1 && muCandRef->isStandAloneMuon() == 0)
545  n_trackerOnlyMuon_perEvent++;
546  if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1 && muCandRef->isStandAloneMuon() == 1)
547  n_trackerStaOnlyMuon_perEvent++;
548 
549  if (muonMatch.isNonnull()) {
550  if (muCandRef->isGlobalMuon() == 1)
551  n_globalMuon_perEvent_MCmatch++;
552  if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 0 && muCandRef->isStandAloneMuon() == 1)
553  n_staOnlyMuon_perEvent_MCmatch++;
554  if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1 && muCandRef->isStandAloneMuon() == 0)
555  n_trackerOnlyMuon_perEvent_MCmatch++;
556  if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1 && muCandRef->isStandAloneMuon() == 1)
557  n_trackerStaOnlyMuon_perEvent_MCmatch++;
558  double productCharge = muCandRef->charge() * muonMatch->charge();
559  if (muCandRef->isGlobalMuon() == 1) {
560  h_GlobalMuonChargeTimeGenCharge->Fill(productCharge);
561  h_GlobalMuonEtaMinusGenEta->Fill(muCandRef->eta() - muonMatch->eta());
562  h_GlobalMuonPtMinusGenPt->Fill((muCandRef->pt() - muonMatch->pt()) / muonMatch->pt());
563  h_GlobalMuonStaComponentEtaMinusGenEta->Fill(muStaComponentRef->eta() - muonMatch->eta());
564  h_GlobalMuonStaComponentPtMinusGenPt->Fill((muStaComponentRef->pt() - muonMatch->pt()) / muonMatch->pt());
565  h_DEtaGlobalGenvsEtaGen->Fill(muonMatch->eta(), muCandRef->eta() - muonMatch->eta());
566  h_DPtGlobalGenvsPtGen->Fill(muonMatch->pt(), (muCandRef->pt() - muonMatch->pt()) / muonMatch->pt());
567  h_DEtaGlobalStaComponentGenvsEtaGen->Fill(muonMatch->eta(), muStaComponentRef->eta() - muonMatch->eta());
569  (muStaComponentRef->pt() - muonMatch->pt()) / muonMatch->pt());
570  }
571  if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1) {
572  h_TrackerMuonChargeTimeGenCharge->Fill(productCharge);
573  h_TrackerMuonEtaMinusGenEta->Fill(muCandRef->eta() - muonMatch->eta());
574  h_TrackerMuonPtMinusGenPt->Fill((muCandRef->pt() - muonMatch->pt()) / muonMatch->pt());
575  }
576  }
577  }
578  h_n_globalMuon_perEvent->Fill(n_globalMuon_perEvent);
579  h_n_staOnlyMuon_perEvent->Fill(n_staOnlyMuon_perEvent);
580  h_n_trackerOnlyMuon_perEvent->Fill(n_trackerOnlyMuon_perEvent);
581  h_n_trackerStaOnlyMuon_perEvent->Fill(n_trackerStaOnlyMuon_perEvent);
582  h_n_globalMuon_perEvent_MCmatch->Fill(n_globalMuon_perEvent_MCmatch);
583  h_n_staOnlyMuon_perEvent_MCmatch->Fill(n_staOnlyMuon_perEvent_MCmatch);
584  h_n_trackerOnlyMuon_perEvent_MCmatch->Fill(n_trackerOnlyMuon_perEvent_MCmatch);
585  h_n_trackerStaOnlyMuon_perEvent_MCmatch->Fill(n_trackerStaOnlyMuon_perEvent_MCmatch);
586  h_n_tracks_perEvent->Fill(tracks->size());
587 
588  h_n_zMuMu_perEvent->Fill(zMuMu->size());
589  h_n_zMuSta_perEvent->Fill(zMuStandAlone->size());
590  h_n_zMuTrack_perEvent->Fill(zMuTrack->size());
591 
592  // std::cout<<"Run-> "<<event.id().run()<<std::endl;
593  // std::cout<<"Event-> "<<event.id().event()<<std::endl;
594 
595  // loop on ZMuMu
596  if (!zMuMu->empty()) {
597  event.getByToken(zMuMuMatchMapToken_, zMuMuMatchMap);
598  event.getByToken(muonIsoToken_, muonIso);
599  event.getByToken(muonMatchMapToken_, muonMatchMap);
600  float muGenplus_pt = 0, muGenminus_pt = 0, muGenplus_eta = 100, muGenminus_eta = 100;
601  for (unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates
602  const Candidate &zMuMuCand = (*zMuMu)[i]; //the candidate
603  CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i);
604  GenParticleRef zMuMuMatch = (*zMuMuMatchMap)[zMuMuCandRef];
605  bool isMCMatched = false;
606  if (zMuMuMatch.isNonnull()) {
607  isMCMatched = true; // ZMuMu matched
608  if (zMuMuMatch->pdgId() == 23 && zMuMuMatch->status() == 3 && zMuMuMatch->numberOfDaughters() == 3) {
609  // Z0 decays in mu+ mu-, the 3rd daughter is the same Z0
610  const Candidate *dauGen0 = zMuMuMatch->daughter(0);
611  const Candidate *dauGen1 = zMuMuMatch->daughter(1);
612  const Candidate *dauGen2 = zMuMuMatch->daughter(2);
613  if (check_ifZmumu(dauGen0, dauGen1, dauGen2)) { // Z0 in mu+ mu-
614  muGenplus_pt = getParticlePt(-13, dauGen0, dauGen1, dauGen2);
615  muGenminus_pt = getParticlePt(13, dauGen0, dauGen1, dauGen2);
616  muGenplus_eta = getParticleEta(-13, dauGen0, dauGen1, dauGen2);
617  muGenminus_eta = getParticleEta(13, dauGen0, dauGen1, dauGen2);
618  Particle::LorentzVector pZ(0, 0, 0, 0);
619  Particle::LorentzVector muplusp4 = getParticleP4(-13, dauGen0, dauGen1, dauGen2);
620  Particle::LorentzVector muminusp4 = getParticleP4(13, dauGen0, dauGen1, dauGen2);
621  pZ = muplusp4 + muminusp4;
622  } // en if is Z
623  } // end if is Z->mumu
624  }
625 
626  TrackRef as1 = zMuMuCand.daughter(0)->get<TrackRef, reco::StandAloneMuonTag>(); // standalone part of ZMuMu cand0
627  TrackRef as2 = zMuMuCand.daughter(1)->get<TrackRef, reco::StandAloneMuonTag>(); // standalone part of ZMuMu cand1
628  TrackRef a1 = zMuMuCand.daughter(0)->get<TrackRef, reco::CombinedMuonTag>(); // global part of ZMuMu cand0
629  TrackRef a2 = zMuMuCand.daughter(1)->get<TrackRef, reco::CombinedMuonTag>(); // global part of ZMuMu cand1
630  TrackRef at1 = zMuMuCand.daughter(0)->get<TrackRef>(); // tracker part of ZMuMu cand0
631  TrackRef at2 = zMuMuCand.daughter(1)->get<TrackRef>(); // tracker part of ZMuMu cand1
632 
633  math::XYZTLorentzVector ps1(as1->px(), as1->py(), as1->pz(), as1->p());
634  math::XYZTLorentzVector ps2(as2->px(), as2->py(), as2->pz(), as2->p());
635  math::XYZTLorentzVector pg1(a1->px(), a1->py(), a1->pz(), a1->p());
636  math::XYZTLorentzVector pg2(a2->px(), a2->py(), a2->pz(), a2->p());
637  math::XYZTLorentzVector ptrk1(at1->px(), at1->py(), at1->pz(), at1->p());
638  math::XYZTLorentzVector ptrk2(at2->px(), at2->py(), at2->pz(), at2->p());
639 
640  // double mass2global = (pg1+pg2).mass(); // inv. Mass done with the two global muons (is th same like m)
641  double massGlobalSta =
642  (pg1 + ps2).mass(); // inv. mass done with the global daughter(0) and the Sta part of Daughter(1)
643  double massStaGlobal =
644  (ps1 + pg2).mass(); // inv. mass done with the global daughter(1) and the Sta part of Daughter(0)
645  // double mass2Tracker = (ptrk1+ptrk2).mass(); // inv. mass done with the two tracker compnents
646  double massGlobalTracker =
647  (pg1 + ptrk2).mass(); // inv. mass done with the global daughter(0) and the tracker part of Daughter(1)
648  double massTrackerGlobal =
649  (ptrk1 + pg2).mass(); // inv. mass done with the global daughter(1) and the tracker part of Daughter(0)
650  double etaGlobal1 = a1->eta();
651  double etaGlobal2 = a2->eta();
652  double etaSta1 = as1->eta();
653  double etaSta2 = as2->eta();
654  double etaTracker1 = at1->eta();
655  double etaTracker2 = at2->eta();
656  // double phiGlobal1 = a1->phi();
657  // double phiGlobal2 = a2->phi();
658  double phiSta1 = as1->phi();
659  double phiSta2 = as2->phi();
660  double phiTracker1 = at1->phi();
661  double phiTracker2 = at2->phi();
662  double ptGlobal1 = a1->pt();
663  double ptGlobal2 = a2->pt();
664  double ptSta1 = as1->pt();
665  double ptSta2 = as2->pt();
666  double ptTracker1 = at1->pt();
667  double ptTracker2 = at2->pt();
668  double chargeGlobal1 = a1->charge();
669  double chargeGlobal2 = a2->charge();
670  double chargeSta1 = as1->charge();
671  double chargeSta2 = as2->charge();
672  double chargeTracker1 = at1->charge();
673  double chargeTracker2 = at2->charge();
674  double DR1 = deltaR(etaSta1, phiSta1, etaTracker1, phiTracker1);
675  double DR2 = deltaR(etaSta2, phiSta2, etaTracker2, phiTracker2);
676 
677  if (chargeGlobal1 == chargeGlobal2) {
678  nZMuMuSameSign++;
679  h_zMuMuMassSameSign->Fill(zMuMuCand.mass());
680  if (isMCMatched) {
682  h_zMuMuMassSameSign_MCmatch->Fill(zMuMuCand.mass());
683  }
684  } else {
685  h_zMuMuMassOppositeSign->Fill(zMuMuCand.mass());
686  }
687 
688  bool etaCut = false;
689  bool ptCut = false;
690  //bool isoCut = false;
691  bool massCut = false;
692 
693  // ******************************************************************************************************************************
694  // Start study for StandAlone charge mis-id: select global-global events according to global1+track2 (or global2+track1)
695  // *******************************************************************************************************************************
696 
697  // cynematical cuts for Zglobal1Track2
698  if (abs(etaGlobal1) < etamax_ && abs(etaTracker2) < etamax_)
699  etaCut = true;
700  if (ptGlobal1 > ptmin_ && ptTracker2 > ptmin_)
701  ptCut = true;
702  if (massGlobalTracker > massMin_ && massGlobalTracker < massMax_)
703  massCut = true;
704 
705  if (noCut_) {
706  etaCut = true;
707  ptCut = true;
708  massCut = true;
709  }
710 
711  if (etaCut && ptCut && massCut) {
712  // check first global1-track2 if they have opposite charge and if global1 has consistent charge between sta and track
713  if (chargeSta1 == chargeTracker1 &&
714  chargeTracker1 != chargeTracker2) { // event tagged to study StandAlone2 charge
716  h_zMuTrackMass_ZMuMuTagged->Fill(massGlobalTracker); // inv mass global+tracker part
717  h_etaTrack_ZMuMuTagged->Fill(etaTracker2); // eta of tagged track
718  h_phiTrack_ZMuMuTagged->Fill(phiTracker2); // phi of tagged track
719  h_ptTrack_ZMuMuTagged->Fill(ptTracker2); // pt of tagged track
720  h_DRTrack_ZMuMuTagged->Fill(DR2); // DR between sta2 and tracker2 for tagged track
721 
722  if (isMCMatched) { // if MC match .. resolution plots of global1 respect to gen particles
723  double etaGen, ptGen;
724  if (chargeGlobal1 == 1) {
725  etaGen = muGenplus_eta;
726  ptGen = muGenplus_pt;
727  } else {
728  etaGen = muGenminus_eta;
729  ptGen = muGenminus_pt;
730  }
731  h_GlobalMuonEtaMinusGenEta_ZMuMuTagged->Fill(etaGlobal1 - etaGen);
732  h_GlobalMuonPtMinusGenPt_ZMuMuTagged->Fill((ptGlobal1 - ptGen) / ptGen);
734  h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged->Fill((ptSta1 - ptGen) / ptGen);
735  h_DEtaGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen, etaGlobal1 - etaGen);
736  h_DPtGlobalGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptGlobal1 - ptGen) / ptGen);
737  h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen, etaSta1 - etaGen);
738  h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptSta1 - ptGen) / ptGen);
739  h_DPtGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptGlobal1 - ptGen) / ptGen);
740  h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptSta1 - ptGen) / ptGen);
741  h_DPtTrackGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptTracker1 - ptGen) / ptGen);
742  h_DPtTrackGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptTracker1 - ptGen) / ptGen);
743 
744  } // end if MC Match
745 
746  if (chargeSta2 == chargeTracker2) { // StandAlone2 has correct charge
749  massGlobalSta); // inv mass of global-Sta part for correct charge muons
750  h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged->Fill((ptSta2 - ptTracker2) / ptTracker2);
752  (ptSta2 - ptTracker2) / ptTracker2);
754  (ptSta2 - ptTracker2) / ptTracker2);
755  // qui posso aggiungere plot col MC match
756  }
757  if (chargeSta2 != chargeTracker2) { // StandAlone2 has wrong charge
760  massGlobalTracker); // inv mass global+tracker part (wrong Sta charge)
761  h_etaTrack_wrongStaCharge_ZMuMuTagged->Fill(etaTracker2); // eta of tagged track (wrong Sta charge)
762  h_phiTrack_wrongStaCharge_ZMuMuTagged->Fill(phiTracker2); // phi of tagged track (wrong Sta charge)
763  h_ptTrack_wrongStaCharge_ZMuMuTagged->Fill(ptTracker2); // pt of tagged track (wrong Sta charge)
765  DR2); // DR between sta2 and tracker2 for tagged track (wrong Sta charge)
766  }
767  } // end if check chrge global1-tracker2
768  } // end if cut selection
769 
770  // cynematical cuts for Zglobal2Track1
771  etaCut = false;
772  ptCut = false;
773  massCut = false;
774  //isoCut = false;
775  if (abs(etaGlobal2) < etamax_ && abs(etaTracker1) < etamax_)
776  etaCut = true;
777  if (ptGlobal2 > ptmin_ && ptTracker1 > ptmin_)
778  ptCut = true;
779  if (massTrackerGlobal > massMin_ && massTrackerGlobal < massMax_)
780  massCut = true;
781 
782  if (noCut_) {
783  etaCut = true;
784  ptCut = true;
785  massCut = true;
786  }
787 
788  if (etaCut && ptCut && massCut) {
789  // check global2-track1 if they have opposite charge and if global2 has consistent charge between sta and track
790  if (chargeSta2 == chargeTracker2 &&
791  chargeTracker1 != chargeTracker2) { // event tagged to study StandAlone2 charge
793  h_zMuTrackMass_ZMuMuTagged->Fill(massTrackerGlobal); // inv mass global+tracker part
794  h_etaTrack_ZMuMuTagged->Fill(etaTracker1); // eta of tagged track
795  h_phiTrack_ZMuMuTagged->Fill(phiTracker1); // phi of tagged track
796  h_ptTrack_ZMuMuTagged->Fill(ptTracker1); // pt of tagged track
797  h_DRTrack_ZMuMuTagged->Fill(DR1); // DR between sta1 and tracker1 for tagged track
798 
799  // qui posso aggiungere plot col MC match
800  if (isMCMatched) { // if MC match .. resolution plots of global2 respect to gen particles
801  double etaGen, ptGen;
802  if (chargeGlobal2 == 1) {
803  etaGen = muGenplus_eta;
804  ptGen = muGenplus_pt;
805  } else {
806  etaGen = muGenminus_eta;
807  ptGen = muGenminus_pt;
808  }
809  h_GlobalMuonEtaMinusGenEta_ZMuMuTagged->Fill(etaGlobal2 - etaGen);
810  h_GlobalMuonPtMinusGenPt_ZMuMuTagged->Fill((ptGlobal2 - ptGen) / ptGen);
812  h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged->Fill((ptSta2 - ptGen) / ptGen);
813  h_DEtaGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen, etaGlobal2 - etaGen);
814  h_DPtGlobalGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptGlobal2 - ptGen) / ptGen);
815  h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen, etaSta2 - etaGen);
816  h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptSta2 - ptGen) / ptGen);
817  h_DPtGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptGlobal2 - ptGen) / ptGen);
818  h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptSta2 - ptGen) / ptGen);
819  h_DPtTrackGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptTracker2 - ptGen) / ptGen);
820  h_DPtTrackGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptTracker2 - ptGen) / ptGen);
821  } // end if MC Match
822 
823  if (chargeSta1 == chargeTracker1) { // StandAlone1 has correct charge
826  massStaGlobal); // inv mass of Sta-global part for correct charge muons
827  h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged->Fill((ptSta1 - ptTracker1) / ptTracker1);
829  (ptSta1 - ptTracker1) / ptTracker1);
831  (ptSta1 - ptTracker1) / ptTracker1);
832  }
833  if (chargeSta1 != chargeTracker1) { // StandAlone2 has wrong charge
836  massTrackerGlobal); // inv mass global+tracker part (wrong Sta charge)
837  h_etaTrack_wrongStaCharge_ZMuMuTagged->Fill(etaTracker1); // eta of tagged track (wrong Sta charge)
838  h_phiTrack_wrongStaCharge_ZMuMuTagged->Fill(phiTracker1); // phi of tagged track (wrong Sta charge)
839  h_ptTrack_wrongStaCharge_ZMuMuTagged->Fill(ptTracker1); // pt of tagged track (wrong Sta charge)
841  DR1); // DR between sta1 and tracker1 for tagged track (wrong Sta charge)
842  }
843  } // end if check charge global1-tracker2
844  } // end if cuts
845 
846  // ******************************************************************************************************************************
847  // Start study for tracker charge mis-id: select global-global events according to global1+staComponent2 (or global2+staComponent1)
848  // *******************************************************************************************************************************
849 
850  etaCut = false;
851  ptCut = false;
852  //isoCut = false;
853  massCut = false;
854 
855  // cynematical cuts for Zglobal1Sta2
856  if (abs(etaGlobal1) < etamax_ && abs(etaSta2) < etamax_)
857  etaCut = true;
858  if (ptGlobal1 > ptmin_ && ptSta2 > ptmin_)
859  ptCut = true;
860  if (massGlobalSta > massMin_ && massGlobalSta < massMax_)
861  massCut = true;
862 
863  if (noCut_) {
864  etaCut = true;
865  ptCut = true;
866  massCut = true;
867  }
868 
869  if (etaCut && ptCut && massCut) {
870  // check first global1-sta2 if they have opposite charge and if global1 has consistent charge between sta and track
871  if (chargeSta1 == chargeTracker1 && chargeTracker1 != chargeSta2) { // event tagged to study track2 charge
873  h_zMuStaMass_ZMuMuTagged->Fill(massGlobalSta); // inv mass global+sta part
874  h_etaSta_ZMuMuTagged->Fill(etaSta2); // eta of tagged sta
875  h_phiSta_ZMuMuTagged->Fill(phiSta2); // phi of tagged sta
876  h_ptSta_ZMuMuTagged->Fill(ptSta2); // pt of tagged sta
877  h_DRSta_ZMuMuTagged->Fill(DR2); // DR between sta2 and tracker2 for tagged sta
878 
879  if (chargeSta2 == chargeTracker2) { // track2 has correct charge
881  // qui posso aggiungere plot col MC match
882  }
883  if (chargeSta2 != chargeTracker2) { // track2 has wrong charge
886  massGlobalSta); // inv mass global+sta part (wrong Trk charge)
887  h_etaSta_wrongTrkCharge_ZMuMuTagged->Fill(etaSta2); // eta of tagged sta (wrong trk charge)
888  h_phiSta_wrongTrkCharge_ZMuMuTagged->Fill(phiSta2); // phi of tagged sta (wrong Trk charge)
889  h_ptSta_wrongTrkCharge_ZMuMuTagged->Fill(ptSta2); // pt of tagged sta (wrong Trk charge)
891  DR2); // DR between sta2 and tracker2 for tagged sta (wrong trk charge)
892  }
893  } // end if check chrge global1-sta2
894  } // end if cut selection
895 
896  etaCut = false;
897  ptCut = false;
898  //isoCut = false;
899  massCut = false;
900 
901  // cynematical cuts for Zglobal2Sta1
902  if (abs(etaGlobal2) < etamax_ && abs(etaSta1) < etamax_)
903  etaCut = true;
904  if (ptGlobal2 > ptmin_ && ptSta1 > ptmin_)
905  ptCut = true;
906  if (massStaGlobal > massMin_ && massStaGlobal < massMax_)
907  massCut = true;
908 
909  if (noCut_) {
910  etaCut = true;
911  ptCut = true;
912  massCut = true;
913  }
914 
915  if (etaCut && ptCut && massCut) {
916  // check first global2-sta1 if they have opposite charge and if global2 has consistent charge between sta and track
917  if (chargeSta2 == chargeTracker2 && chargeTracker2 != chargeSta1) { // event tagged to study track1 charge
919  h_zMuStaMass_ZMuMuTagged->Fill(massStaGlobal); // inv mass global+sta part
920  h_etaSta_ZMuMuTagged->Fill(etaSta1); // eta of tagged sta
921  h_phiSta_ZMuMuTagged->Fill(phiSta1); // phi of tagged sta
922  h_ptSta_ZMuMuTagged->Fill(ptSta1); // pt of tagged sta
923  h_DRSta_ZMuMuTagged->Fill(DR1); // DR between sta1 and tracker1 for tagged sta
924 
925  if (chargeSta1 == chargeTracker1) { // track1 has correct charge
927  // qui posso aggiungere plot col MC match
928  }
929  if (chargeSta1 != chargeTracker1) { // track1 has wrong charge
932  massStaGlobal); // inv mass global+sta part (wrong Trk charge)
933  h_etaSta_wrongTrkCharge_ZMuMuTagged->Fill(etaSta1); // eta of tagged sta (wrong trk charge)
934  h_phiSta_wrongTrkCharge_ZMuMuTagged->Fill(phiSta1); // phi of tagged sta (wrong Trk charge)
935  h_ptSta_wrongTrkCharge_ZMuMuTagged->Fill(ptSta1); // pt of tagged sta (wrong Trk charge)
937  DR1); // DR between sta2 and tracker2 for tagged sta (wrong trk charge)
938  }
939  } // end if check chrge global2-sta1
940  } // end if cut selection
941 
942  } // end loop on ZMuMu cand
943  } // end if ZMuMu size > 0
944 
945  // loop on ZMuTrack in order to recover some unMatched StandAlone
946 
947  //double LargerDRCut=2.; // larger DR cut to recover unMatched Sta
948  int taggedZ_index = -1; // index of Z with minimum DR respect to unMatched Sta
949  int taggedMuon_index = -1; // index of Sta muon with minimum DR respect to unMatched track
950  int n_ZMuTrackTagged_inEvent = 0; // number of tagged Z in the event
951  if (!zMuTrack->empty() && zMuMu->empty()) { // check ZMuTrack just if no ZMuMu has been found in the event
952  event.getByToken(zMuTrackMatchMapToken_, zMuTrackMatchMap);
953  for (unsigned int i = 0; i < zMuTrack->size(); ++i) { //loop on candidates
954  const Candidate &zMuTrackCand = (*zMuTrack)[i]; //the candidate
955  CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(i);
956  GenParticleRef zMuTrackMatch = (*zMuTrackMatchMap)[zMuTrackCandRef];
957  //bool isMCMatched = false;
958  //if(zMuTrackMatch.isNonnull()) isMCMatched = true; // ZMuTrack matched
959  // forzo isMCMatched
960  // isMCMatched = true;
961 
962  double m = zMuTrackCand.mass();
963  CandidateBaseRef zglobalDaughter = zMuTrackCand.daughter(0)->masterClone();
964  CandidateBaseRef ztrackerDaughter = zMuTrackCand.daughter(1)->masterClone();
965  TrackRef zglobalDaughter_StaComponentRef = zMuTrackCand.daughter(0)->get<TrackRef, reco::StandAloneMuonTag>();
966  // standalone part of global component of ZMuMu
967  TrackRef zglobalDaughter_TrackComponentRef = zMuTrackCand.daughter(0)->get<TrackRef>();
968  // track part Of the global component of ZMuMu
969  double ZtrackerDaughterCharge = ztrackerDaughter->charge();
970  double ZtrackerDaughterPt = ztrackerDaughter->pt();
971  double ZtrackerDaughterEta = ztrackerDaughter->eta();
972  double ZtrackerDaughterPhi = ztrackerDaughter->phi();
973  double ZglobalDaughterPt = zglobalDaughter->pt();
974  double ZglobalDaughterEta = zglobalDaughter->eta();
975  double ZglobalDaughter_StaComponentCharge = zglobalDaughter_StaComponentRef->charge();
976  double ZglobalDaughter_TrackComponentCharge = zglobalDaughter_TrackComponentRef->charge();
977 
978  //*********************************************************************************************************************
979  // study of standAlone charge mis-id and efficiency selecting ZMuTrack events (tag the index of Z and of muon)
980  // for Sta charge mis-id just use unMatched standAlone muons trackerMuons that are standAlone Muons but no globalMuons
981  // ********************************************************************************************************************
982  // cynematical cuts for ZMuTrack
983  bool etaCut = false;
984  bool ptCut = false;
985  // bool isoCut = false;
986  bool massCut = false;
987  if (abs(ZglobalDaughterEta) < etamax_ && abs(ZtrackerDaughterEta) < etamax_)
988  etaCut = true;
989  if (ZglobalDaughterPt > ptmin_ && ZtrackerDaughterPt > ptmin_)
990  ptCut = true;
991  if (m > massMin_ && m < massMax_)
992  massCut = true;
993 
994  if (noCut_) {
995  etaCut = true;
996  ptCut = true;
997  massCut = true;
998  }
999  if (etaCut && ptCut && massCut && ZglobalDaughter_StaComponentCharge == ZglobalDaughter_TrackComponentCharge &&
1000  ZglobalDaughter_TrackComponentCharge !=
1001  ZtrackerDaughterCharge) { // cynematic cuts and global charge consistent and opposite tracker charge
1002  n_ZMuTrackTagged_inEvent++;
1003 
1004  // posso inserire istogrammi eta e pt track per studio Sta efficiency
1005  // ...
1006 
1007  for (unsigned int j = 0; j < muons->size(); ++j) {
1008  CandidateBaseRef muCandRef = muons->refAt(j);
1009  const Candidate &muCand = (*muons)[j]; //the candidate
1010  TrackRef muStaComponentRef = muCand.get<TrackRef, reco::StandAloneMuonTag>(); // standalone part of muon
1011  TrackRef muTrkComponentRef = muCand.get<TrackRef>(); // track part of muon
1012 
1013  if (muCandRef->isStandAloneMuon() == 1 && muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1) {
1014  double muEta = muCandRef->eta();
1015  double muPhi = muCandRef->phi();
1016  // check DeltaR between Sta muon and tracks of ZMuTrack
1017  double DRmuSta_trackOfZ = deltaR(muEta, muPhi, ZtrackerDaughterEta, ZtrackerDaughterPhi);
1018  if (DRmuSta_trackOfZ == 0) { // match track track ... standalone-muTracker
1019  taggedZ_index = i;
1020  taggedMuon_index = j;
1021  } // end check minimum DR
1022  } // end if isStandAlone
1023  } // end loop on muon candidates
1024  } // end cynematic cuts
1025 
1026  } // end loop on zMuTrack size
1027  } // end if zMuTrack size > 0
1028 
1029  // analyze the tagged ZMuTRack and the Sta muons with minimal DR
1030  if (n_ZMuTrackTagged_inEvent > 0) { // at Least one ZMuTRack tagged
1031 
1032  if (taggedZ_index == -1) { // StandAlone inefficient
1034  // h_etaTrack_StaNotFound_ZMuTrackTagged->Fill(ztrackerDaughter->eta());
1035  } else {
1036  const Candidate &zMuTrackCand = (*zMuTrack)[taggedZ_index]; //the candidate tagged
1037  CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(taggedZ_index);
1038  double m = zMuTrackCand.mass();
1039  CandidateBaseRef zglobalDaughter = zMuTrackCand.daughter(0)->masterClone();
1040  CandidateBaseRef ztrackerDaughter = zMuTrackCand.daughter(1)->masterClone();
1041  TrackRef zglobalDaughter_StaComponentRef = zMuTrackCand.daughter(0)->get<TrackRef, reco::StandAloneMuonTag>();
1042  // standalone part of global component of ZMuMu
1043  TrackRef zglobalDaughter_TrackComponentRef = zMuTrackCand.daughter(0)->get<TrackRef>();
1044  // track part Of the global component of ZMuMu
1045  double ZtrackerDaughterCharge = ztrackerDaughter->charge();
1046  double ZtrackerDaughterPt = ztrackerDaughter->pt();
1047  double ZtrackerDaughterEta = ztrackerDaughter->eta();
1048  double ZtrackerDaughterPhi = ztrackerDaughter->phi();
1049 
1050  CandidateBaseRef muCandRef = muons->refAt(taggedMuon_index); // the tagged muon
1051  const Candidate &muCand = (*muons)[taggedMuon_index]; //the candidate
1052  TrackRef muStaComponentRef = muCand.get<TrackRef, reco::StandAloneMuonTag>(); // standalone part of muon
1053  TrackRef muTrkComponentRef = muCand.get<TrackRef>(); // track part of muon
1054 
1055  double muEta = muStaComponentRef->eta();
1056  double muPhi = muStaComponentRef->phi();
1057  double muCharge = muStaComponentRef->charge();
1058  // check DeltaR between Sta muon and tracks of ZMuTrack
1059  double DRmuSta_trackOfZ = deltaR(muEta, muPhi, ZtrackerDaughterEta, ZtrackerDaughterPhi);
1060 
1062  h_zMuTrackMass_ZMuTrackTagged->Fill(m); // inv mass ZMuTrack for tagged events
1063  h_etaTrack_ZMuTrackTagged->Fill(ZtrackerDaughterEta); // eta of tagged track
1064  h_phiTrack_ZMuTrackTagged->Fill(ZtrackerDaughterPhi); // phi of tagged track
1065  h_ptTrack_ZMuTrackTagged->Fill(ZtrackerDaughterPt); // pt of tagged track
1066  h_DRTrack_ZMuTrackTagged->Fill(DRmuSta_trackOfZ); // DR between sta1 and tracker1 for tagged track
1067 
1068  // check StandAlone charge
1069  if (muCharge != ZtrackerDaughterCharge) { // wrong Sta charge
1070  n_wrongStaCharge_ZMuTracktagged++; // number of events wrong charge for unMatched Sta
1072  m); // inv mass ZMuTrack for tagged events wrong unMatched Sta charge
1074  ZtrackerDaughterEta); // eta of tagged track wrong unMatched Sta charge
1076  ZtrackerDaughterPhi); // phi of tagged track wrong unMatched Sta charge
1078  ZtrackerDaughterPt); // pt of tagged track wrong unMatched Sta charge
1080  DRmuSta_trackOfZ); // DR between unMatched Sta and tracker for wrong sta charge
1081  } else { // correct Sta charge
1082  n_correctStaCharge_ZMuTracktagged++; // number of events correct charge for unMatched Sta
1083  } // end if Sta charge check
1084  } // end if StandAlone is present
1085  } // end if zMuTrack tagged
1086 
1087  //*********************************************************************************************************************
1088  // study of track charge mis-id and efficiency selecting ZMuSta events
1089  // for Track charge mis-id just use unMatched standAlone muons trackerMuons that are standAlone Muons but no globalMuons
1090  // ********************************************************************************************************************
1091 
1092  // loop on ZMuSta in order to recover some unMatched StandAlone
1093  bool isZMuStaMatched = false;
1094  //LargerDRCut=2.; // larger DR cut to recover unMatched Sta
1095  taggedZ_index = -1; // index of Z with minimum DR respect to unMatched Sta
1096  taggedMuon_index = -1; // index of Sta muon with minimum DR respect to unMatched track
1097  int n_ZMuStaTagged_inEvent = 0; // number of tagged Z in the event
1098  if (!zMuStandAlone->empty()) { // check ZMuSta just if no ZMuMu has been found in the event
1099  event.getByToken(zMuStandAloneMatchMapToken_, zMuStandAloneMatchMap);
1100  for (unsigned int i = 0; i < zMuStandAlone->size(); ++i) { //loop on candidates
1101  const Candidate &zMuStaCand = (*zMuStandAlone)[i]; //the candidate
1102  CandidateBaseRef zMuStaCandRef = zMuStandAlone->refAt(i);
1103 
1104  GenParticleRef zMuStaMatch = (*zMuStandAloneMatchMap)[zMuStaCandRef];
1105  if (zMuStaMatch.isNonnull()) { // ZMuSta Macthed
1107  isZMuStaMatched = true;
1108  }
1109 
1110  double m = zMuStaCand.mass();
1111  CandidateBaseRef zglobalDaughter = zMuStaCand.daughter(0)->masterClone();
1112  CandidateBaseRef zstandaloneDaughter = zMuStaCand.daughter(1)->masterClone();
1113  int iglb = 0;
1114  int ista = 1;
1115  if (zglobalDaughter->isGlobalMuon() == 0 && zstandaloneDaughter->isGlobalMuon() == 1) { // invert definition
1116  CandidateBaseRef buffer = zglobalDaughter;
1117  zglobalDaughter = zstandaloneDaughter;
1118  zstandaloneDaughter = buffer;
1119  iglb = 1;
1120  ista = 0;
1121  }
1122  TrackRef zglobalDaughter_StaComponentRef = zMuStaCand.daughter(iglb)->get<TrackRef, reco::StandAloneMuonTag>();
1123  // standalone part of global component of ZMuMu
1124  TrackRef zglobalDaughter_TrackComponentRef = zMuStaCand.daughter(iglb)->get<TrackRef>();
1125  // track part Of the global component of ZMuMu
1126  TrackRef zstaDaughter_StaComponentRef = zMuStaCand.daughter(ista)->get<TrackRef, reco::StandAloneMuonTag>();
1127  // standalone part of global component of ZMuMu
1128  TrackRef zstaDaughter_TrackComponentRef = zMuStaCand.daughter(ista)->get<TrackRef>();
1129  // track part Of the global component of ZMuMu
1130  double ZglobalDaughterPt = zglobalDaughter->pt();
1131  double ZglobalDaughterEta = zglobalDaughter->eta();
1132 
1133  double ZstaDaughter_StaComponentCharge = zstaDaughter_StaComponentRef->charge();
1134  double ZstaDaughter_StaComponentPt = zstaDaughter_StaComponentRef->pt();
1135  double ZstaDaughter_StaComponentEta = zstaDaughter_StaComponentRef->eta();
1136  double ZstaDaughter_StaComponentPhi = zstaDaughter_StaComponentRef->phi();
1137  double ZstaDaughter_TrackComponentCharge = zstaDaughter_TrackComponentRef->charge();
1138 
1139  double ZglobalDaughter_StaComponentCharge = zglobalDaughter_StaComponentRef->charge();
1140  double ZglobalDaughter_TrackComponentCharge = zglobalDaughter_TrackComponentRef->charge();
1141 
1142  // cynematical cuts for ZMuSta
1143  bool etaCut = false;
1144  bool ptCut = false;
1145  // bool isoCut = false;
1146  bool massCut = false;
1147  if (abs(ZglobalDaughterEta) < etamax_ && abs(ZstaDaughter_StaComponentEta) < etamax_)
1148  etaCut = true;
1149  if (ZglobalDaughterPt > ptmin_ && ZstaDaughter_StaComponentPt > ptmin_)
1150  ptCut = true;
1151  if (m > massMin_ && m < massMax_)
1152  massCut = true; // dovrei usare la massa fatta con la sola parte sta
1153  // (Se è anche trackerMu non è cosi')
1154  if (noCut_) {
1155  etaCut = true;
1156  ptCut = true;
1157  massCut = true;
1158  }
1159  if (etaCut && ptCut && massCut && ZglobalDaughter_StaComponentCharge == ZglobalDaughter_TrackComponentCharge &&
1160  ZglobalDaughter_StaComponentCharge !=
1161  ZstaDaughter_StaComponentCharge) { // cynematic cuts and global charge consistent and opposite sta charge
1162  n_ZMuStaTagged_inEvent++;
1163  if (isZMuStaMatched)
1165  // posso inserire istogrammi eta e pt track per studio Sta efficiency
1166  // ...
1167  if (zstandaloneDaughter->isStandAloneMuon() == 1 &&
1168  zstandaloneDaughter->isTrackerMuon() == 1) { // track matched
1170  h_zMuStaMass_ZMuStaTagged->Fill(m); // inv mass ZMuSta for tagged events
1171  h_etaSta_ZMuStaTagged->Fill(ZstaDaughter_StaComponentEta); // eta of tagged sta
1172  h_phiSta_ZMuStaTagged->Fill(ZstaDaughter_StaComponentPhi); // phi of tagged sta
1173  h_ptSta_ZMuStaTagged->Fill(ZstaDaughter_StaComponentPt); // pt of tagged sta
1174 
1175  // check Track charge
1176  if (ZstaDaughter_StaComponentCharge != ZstaDaughter_TrackComponentCharge) { // wrong Trk charge
1177  n_wrongTrkCharge_ZMuStatagged++; // number of events wrong track charge for unMatched track
1179  m); // inv mass ZMuSta for tagged evts wrong unMatched track charge
1181  ZstaDaughter_StaComponentEta); // eta of tagged sta wrong unMatched track charge
1183  ZstaDaughter_StaComponentPhi); // phi of tagged sta wrong unMatched track charge
1185  ZstaDaughter_StaComponentPt); // pt of tagged sta wrong unMatched track charge
1186  } else { // correct Sta charge
1187  n_correctTrkCharge_ZMuStatagged++; // number of events correct charge for unMatched Sta
1188  } // end if Sta charge check
1189 
1190  } else { // tracker inefficient
1192  }
1193  } // end cynematic cuts
1194  if (n_ZMuStaTagged_inEvent == 0) {
1195  }
1196 
1197  } // end loop on zMuSta candidates
1198  } // end check ZMuSta size
1199 
1200 } // end analyze

References testProducerWithPsetDescEmpty_cfi::a2, funct::abs(), edmScanValgrind::buffer, reco::Candidate::charge(), check_ifZmumu(), reco::Candidate::daughter(), PbPb_ZMuSkimMuonDPG_cff::deltaR, edm::View< T >::empty(), reco::Candidate::eta(), fftjetproducer_cfi::etaCut, etamax_, genParticles2HepMC_cfi::genParticles, genParticlesToken_, 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, mps_fire::i, reco::Candidate::isGlobalMuon(), edm::Ref< C, T, F >::isNonnull(), reco::Candidate::isStandAloneMuon(), reco::Candidate::isTrackerMuon(), dqmiolumiharvest::j, visualization-live-secondInstance_cfg::m, EgHLTOffHistBins_cfi::mass, reco::Candidate::mass(), massMax_, massMin_, reco::Candidate::masterClone(), muonIsoToken_, muonMatch_cfi::muonMatch, muonMatchMapToken_, PDWG_BPHSkim_cff::muons, muonsToken_, 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, reco::Candidate::phi(), reco::Candidate::pt(), jetfilter_cfi::ptCut, ptmin_, edm::View< T >::refAt(), edm::View< T >::size(), PDWG_EXOHSCP_cff::tracks, tracksToken_, ZMuMuAnalysisNtupler_cff::zMuMu, zMuMuMatchMapToken_, zMuMuToken_, zMuStandAloneMatchMapToken_, zMuStandAloneToken_, zMuTrackMatchMapToken_, and zMuTrackToken_.

◆ check_ifZmumu()

bool ZMuMuPerformances::check_ifZmumu ( const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 1202 of file ZMuMuPerformances.cc.

1202  {
1203  int partId0 = dauGen0->pdgId();
1204  int partId1 = dauGen1->pdgId();
1205  int partId2 = dauGen2->pdgId();
1206  bool muplusFound = false;
1207  bool muminusFound = false;
1208  bool ZFound = false;
1209  if (partId0 == 13 || partId1 == 13 || partId2 == 13)
1210  muminusFound = true;
1211  if (partId0 == -13 || partId1 == -13 || partId2 == -13)
1212  muplusFound = true;
1213  if (partId0 == 23 || partId1 == 23 || partId2 == 23)
1214  ZFound = true;
1215  return (muplusFound && muminusFound && ZFound);
1216 }

References reco::Candidate::pdgId().

Referenced by analyze().

◆ endJob()

void ZMuMuPerformances::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 1358 of file ZMuMuPerformances.cc.

1358  {
1359  cout << "------------------------------------ Counters --------------------------------" << endl;
1360  cout << "totalNumberOfZfound = " << totalNumberOfZfound << endl;
1361  cout << "totalNumberOfZpassed = " << totalNumberOfZpassed << endl;
1362  cout << "Number Of ZMuMu Same Sign (no cuts) " << nZMuMuSameSign << endl;
1363  cout << "Number Of ZMuMu Same Sign (no cuts) MC matched " << nZMuMuSameSign_mcMatched << endl;
1364 
1365  cout << "------------------------------------ Counters for standAlone charge mis-id studies "
1366  "--------------------------------"
1367  << endl;
1368  cout << " number of goodTracks tagged for ZMuMu collection = " << n_goodTrack_ZMuMutagged << endl;
1369  cout << " number of goodTracks tagged for ZMuMu collection (correct Sta charge) = " << n_correctStaCharge_ZMuMutagged
1370  << endl;
1371  cout << " number of goodTracks tagged for ZMuMu collection (wrong Sta charge) = " << n_wrongStaCharge_ZMuMutagged
1372  << endl
1373  << endl;
1374  cout << " number of goodTracks tagged for ZMuTrack collection unMatchedSTA = " << n_goodTrack_ZMuTracktagged << endl;
1375  cout << " number of goodTracks tagged for ZMuTrack collection unMatchedSTA (correct Sta charge) = "
1377  cout << " number of goodTracks tagged for ZMuTrack collection unMatchedSTA (wrong Sta charge) = "
1379  << endl;
1380  cout << " number of goodTracks tagged for ZMuTrack collection (No STA found) = " << n_StaNotFound_ZMuTracktagged
1381  << endl;
1382 
1383  cout << "------------------------------------ Counters for Track charge mis-id studies "
1384  "--------------------------------"
1385  << endl;
1386  cout << " number of goodStandAlone tagged for ZMuMu collection = " << n_goodSta_ZMuMutagged << endl;
1387  cout << " number of goodStandAlone tagged for ZMuMu collection (correct Trk charge) = "
1388  << n_correctTrkCharge_ZMuMutagged << endl;
1389  cout << " number of goodStandAlone tagged for ZMuMu collection (wrong Trk charge) = " << n_wrongTrkCharge_ZMuMutagged
1390  << endl
1391  << endl;
1392  cout << " number of goodSta tagged for ZMuSta collection unMatchedTrk = " << n_goodSta_ZMuStatagged << endl;
1393  cout << " number of goodSta tagged for ZMuSta collection unMatchedTrk (correct Trk charge) = "
1395  cout << " number of goodSta tagged for ZMuSta collection unMatchedTrk (wrong Trk charge) = "
1397  << endl;
1398  cout << " number of goodSta tagged for ZMuSta collection (No Trk found) = " << n_TrkNotFound_ZMuStatagged << endl;
1399  cout << " number of ZMuSta mactched = " << numberOfMatchedZMuSta_ << endl;
1400  cout << " number of ZMuSta Tagged matched = " << n_ZMuStaTaggedMatched << endl;
1401 }

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.

◆ getParticleEta()

float ZMuMuPerformances::getParticleEta ( const int  ipart,
const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 1253 of file ZMuMuPerformances.cc.

1256  {
1257  int partId0 = dauGen0->pdgId();
1258  int partId1 = dauGen1->pdgId();
1259  int partId2 = dauGen2->pdgId();
1260  float etapart = 0.;
1261  if (partId0 == ipart) {
1262  for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) {
1263  const Candidate *dauMuGen = dauGen0->daughter(k);
1264  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
1265  etapart = dauMuGen->eta();
1266  }
1267  }
1268  }
1269  if (partId1 == ipart) {
1270  for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) {
1271  const Candidate *dauMuGen = dauGen1->daughter(k);
1272  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
1273  etapart = dauMuGen->eta();
1274  }
1275  }
1276  }
1277  if (partId2 == ipart) {
1278  for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) {
1279  const Candidate *dauMuGen = dauGen2->daughter(k);
1280  if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) {
1281  etapart = dauMuGen->eta();
1282  }
1283  }
1284  }
1285  return etapart;
1286 }

References funct::abs(), reco::Candidate::daughter(), reco::Candidate::eta(), dqmdumpme::k, reco::Candidate::numberOfDaughters(), reco::Candidate::pdgId(), and reco::Candidate::status().

Referenced by analyze().

◆ getParticleP4()

Particle::LorentzVector ZMuMuPerformances::getParticleP4 ( const int  ipart,
const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 1323 of file ZMuMuPerformances.cc.

1326  {
1327  int partId0 = dauGen0->pdgId();
1328  int partId1 = dauGen1->pdgId();
1329  int partId2 = dauGen2->pdgId();
1330  Particle::LorentzVector p4part(0., 0., 0., 0.);
1331  if (partId0 == ipart) {
1332  for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) {
1333  const Candidate *dauMuGen = dauGen0->daughter(k);
1334  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
1335  p4part = dauMuGen->p4();
1336  }
1337  }
1338  }
1339  if (partId1 == ipart) {
1340  for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) {
1341  const Candidate *dauMuGen = dauGen1->daughter(k);
1342  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
1343  p4part = dauMuGen->p4();
1344  }
1345  }
1346  }
1347  if (partId2 == ipart) {
1348  for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) {
1349  const Candidate *dauMuGen = dauGen2->daughter(k);
1350  if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) {
1351  p4part = dauMuGen->p4();
1352  }
1353  }
1354  }
1355  return p4part;
1356 }

References funct::abs(), reco::Candidate::daughter(), dqmdumpme::k, reco::Candidate::numberOfDaughters(), reco::Candidate::p4(), reco::Candidate::pdgId(), and reco::Candidate::status().

Referenced by analyze().

◆ getParticlePhi()

float ZMuMuPerformances::getParticlePhi ( const int  ipart,
const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 1288 of file ZMuMuPerformances.cc.

1291  {
1292  int partId0 = dauGen0->pdgId();
1293  int partId1 = dauGen1->pdgId();
1294  int partId2 = dauGen2->pdgId();
1295  float phipart = 0.;
1296  if (partId0 == ipart) {
1297  for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) {
1298  const Candidate *dauMuGen = dauGen0->daughter(k);
1299  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
1300  phipart = dauMuGen->phi();
1301  }
1302  }
1303  }
1304  if (partId1 == ipart) {
1305  for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) {
1306  const Candidate *dauMuGen = dauGen1->daughter(k);
1307  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
1308  phipart = dauMuGen->phi();
1309  }
1310  }
1311  }
1312  if (partId2 == ipart) {
1313  for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) {
1314  const Candidate *dauMuGen = dauGen2->daughter(k);
1315  if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) {
1316  phipart = dauMuGen->phi();
1317  }
1318  }
1319  }
1320  return phipart;
1321 }

References funct::abs(), reco::Candidate::daughter(), dqmdumpme::k, reco::Candidate::numberOfDaughters(), reco::Candidate::pdgId(), reco::Candidate::phi(), and reco::Candidate::status().

◆ getParticlePt()

float ZMuMuPerformances::getParticlePt ( const int  ipart,
const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 1218 of file ZMuMuPerformances.cc.

1221  {
1222  int partId0 = dauGen0->pdgId();
1223  int partId1 = dauGen1->pdgId();
1224  int partId2 = dauGen2->pdgId();
1225  float ptpart = 0.;
1226  if (partId0 == ipart) {
1227  for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) {
1228  const Candidate *dauMuGen = dauGen0->daughter(k);
1229  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
1230  ptpart = dauMuGen->pt();
1231  }
1232  }
1233  }
1234  if (partId1 == ipart) {
1235  for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) {
1236  const Candidate *dauMuGen = dauGen1->daughter(k);
1237  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
1238  ptpart = dauMuGen->pt();
1239  }
1240  }
1241  }
1242  if (partId2 == ipart) {
1243  for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) {
1244  const Candidate *dauMuGen = dauGen2->daughter(k);
1245  if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) {
1246  ptpart = dauMuGen->pt();
1247  }
1248  }
1249  }
1250  return ptpart;
1251 }

References funct::abs(), reco::Candidate::daughter(), dqmdumpme::k, reco::Candidate::numberOfDaughters(), reco::Candidate::pdgId(), reco::Candidate::pt(), and reco::Candidate::status().

Referenced by analyze().

Member Data Documentation

◆ etamax_

double ZMuMuPerformances::etamax_
private

Definition at line 76 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ etamaxMinus_

double ZMuMuPerformances::etamaxMinus_
private

Definition at line 74 of file ZMuMuPerformances.cc.

◆ etamaxPlus_

double ZMuMuPerformances::etamaxPlus_
private

Definition at line 73 of file ZMuMuPerformances.cc.

Referenced by ZMuMuPerformances().

◆ etaminMinus_

double ZMuMuPerformances::etaminMinus_
private

Definition at line 74 of file ZMuMuPerformances.cc.

◆ etaminPlus_

double ZMuMuPerformances::etaminPlus_
private

Definition at line 73 of file ZMuMuPerformances.cc.

◆ genParticlesToken_

EDGetTokenT<GenParticleCollection> ZMuMuPerformances::genParticlesToken_
private

Definition at line 69 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ globalMuonCandRef_

reco::CandidateBaseRef ZMuMuPerformances::globalMuonCandRef_
private

Definition at line 78 of file ZMuMuPerformances.cc.

◆ h_DEtaGlobalGenvsEtaGen

TH2D* ZMuMuPerformances::h_DEtaGlobalGenvsEtaGen
private

Definition at line 96 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DEtaGlobalGenvsEtaGen_ZMuMuTagged

TH2D* ZMuMuPerformances::h_DEtaGlobalGenvsEtaGen_ZMuMuTagged
private

Definition at line 103 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DEtaGlobalStaComponentGenvsEtaGen

TH2D * ZMuMuPerformances::h_DEtaGlobalStaComponentGenvsEtaGen
private

Definition at line 96 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged

TH2D* ZMuMuPerformances::h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged
private

Definition at line 104 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DPtGlobalGenvsEtaGen

TH2D* ZMuMuPerformances::h_DPtGlobalGenvsEtaGen
private

Definition at line 98 of file ZMuMuPerformances.cc.

◆ h_DPtGlobalGenvsEtaGen_ZMuMuTagged

TH2D* ZMuMuPerformances::h_DPtGlobalGenvsEtaGen_ZMuMuTagged
private

Definition at line 105 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DPtGlobalGenvsPtGen

TH2D * ZMuMuPerformances::h_DPtGlobalGenvsPtGen
private

Definition at line 96 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DPtGlobalGenvsPtGen_ZMuMuTagged

TH2D * ZMuMuPerformances::h_DPtGlobalGenvsPtGen_ZMuMuTagged
private

Definition at line 103 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DPtGlobalStaComponentGenvsEtaGen

TH2D * ZMuMuPerformances::h_DPtGlobalStaComponentGenvsEtaGen
private

Definition at line 98 of file ZMuMuPerformances.cc.

◆ h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged

TH2D * ZMuMuPerformances::h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged
private

Definition at line 105 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DPtGlobalStaComponentGenvsPtGen

TH2D * ZMuMuPerformances::h_DPtGlobalStaComponentGenvsPtGen
private

Definition at line 96 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged

TH2D * ZMuMuPerformances::h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged
private

Definition at line 104 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DPtTrackGenvsEtaGen_ZMuMuTagged

TH2D * ZMuMuPerformances::h_DPtTrackGenvsEtaGen_ZMuMuTagged
private

Definition at line 106 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DPtTrackGenvsPtGen_ZMuMuTagged

TH2D* ZMuMuPerformances::h_DPtTrackGenvsPtGen_ZMuMuTagged
private

Definition at line 106 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DRSta_wrongTrkCharge_ZMuMuTagged

TH1D * ZMuMuPerformances::h_DRSta_wrongTrkCharge_ZMuMuTagged
private

Definition at line 126 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DRSta_ZMuMuTagged

TH1D * ZMuMuPerformances::h_DRSta_ZMuMuTagged
private

Definition at line 122 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DRTrack_wrongStaCharge_ZMuMuTagged

TH1D * ZMuMuPerformances::h_DRTrack_wrongStaCharge_ZMuMuTagged
private

Definition at line 113 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DRTrack_wrongStaCharge_ZMuTrackTagged

TH1D * ZMuMuPerformances::h_DRTrack_wrongStaCharge_ZMuTrackTagged
private

Definition at line 133 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DRTrack_ZMuMuTagged

TH1D * ZMuMuPerformances::h_DRTrack_ZMuMuTagged
private

Definition at line 109 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_DRTrack_ZMuTrackTagged

TH1D * ZMuMuPerformances::h_DRTrack_ZMuTrackTagged
private

Definition at line 129 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_etaSta_wrongTrkCharge_ZMuMuTagged

TH1D * ZMuMuPerformances::h_etaSta_wrongTrkCharge_ZMuMuTagged
private

Definition at line 125 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_etaSta_wrongTrkCharge_ZMuStaTagged

TH1D * ZMuMuPerformances::h_etaSta_wrongTrkCharge_ZMuStaTagged
private

Definition at line 139 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_etaSta_ZMuMuTagged

TH1D * ZMuMuPerformances::h_etaSta_ZMuMuTagged
private

Definition at line 122 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_etaSta_ZMuStaTagged

TH1D * ZMuMuPerformances::h_etaSta_ZMuStaTagged
private

Definition at line 137 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_etaTrack_wrongStaCharge_ZMuMuTagged

TH1D * ZMuMuPerformances::h_etaTrack_wrongStaCharge_ZMuMuTagged
private

Definition at line 112 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_etaTrack_wrongStaCharge_ZMuTrackTagged

TH1D * ZMuMuPerformances::h_etaTrack_wrongStaCharge_ZMuTrackTagged
private

Definition at line 132 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_etaTrack_ZMuMuTagged

TH1D * ZMuMuPerformances::h_etaTrack_ZMuMuTagged
private

Definition at line 109 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_etaTrack_ZMuTrackTagged

TH1D * ZMuMuPerformances::h_etaTrack_ZMuTrackTagged
private

Definition at line 129 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_GlobalMuonChargeTimeGenCharge

TH1D* ZMuMuPerformances::h_GlobalMuonChargeTimeGenCharge
private

Definition at line 92 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_GlobalMuonEtaMinusGenEta

TH1D* ZMuMuPerformances::h_GlobalMuonEtaMinusGenEta
private

Definition at line 94 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_GlobalMuonEtaMinusGenEta_ZMuMuTagged

TH1D* ZMuMuPerformances::h_GlobalMuonEtaMinusGenEta_ZMuMuTagged
private

Definition at line 100 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_GlobalMuonPtMinusGenPt

TH1D * ZMuMuPerformances::h_GlobalMuonPtMinusGenPt
private

Definition at line 94 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_GlobalMuonPtMinusGenPt_ZMuMuTagged

TH1D* ZMuMuPerformances::h_GlobalMuonPtMinusGenPt_ZMuMuTagged
private

Definition at line 101 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_GlobalMuonStaComponentEtaMinusGenEta

TH1D* ZMuMuPerformances::h_GlobalMuonStaComponentEtaMinusGenEta
private

Definition at line 95 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged

TH1D* ZMuMuPerformances::h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged
private

Definition at line 102 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_GlobalMuonStaComponentPtMinusGenPt

TH1D * ZMuMuPerformances::h_GlobalMuonStaComponentPtMinusGenPt
private

Definition at line 95 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged

TH1D * ZMuMuPerformances::h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged
private

Definition at line 102 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_globalMuon_perEvent

TH1D* ZMuMuPerformances::h_n_globalMuon_perEvent
private

Definition at line 82 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_globalMuon_perEvent_MCmatch

TH1D* ZMuMuPerformances::h_n_globalMuon_perEvent_MCmatch
private

Definition at line 84 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_staOnlyMuon_perEvent

TH1D * ZMuMuPerformances::h_n_staOnlyMuon_perEvent
private

Definition at line 82 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_staOnlyMuon_perEvent_MCmatch

TH1D * ZMuMuPerformances::h_n_staOnlyMuon_perEvent_MCmatch
private

Definition at line 84 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_trackerOnlyMuon_perEvent

TH1D * ZMuMuPerformances::h_n_trackerOnlyMuon_perEvent
private

Definition at line 82 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_trackerOnlyMuon_perEvent_MCmatch

TH1D * ZMuMuPerformances::h_n_trackerOnlyMuon_perEvent_MCmatch
private

Definition at line 84 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_trackerStaOnlyMuon_perEvent

TH1D * ZMuMuPerformances::h_n_trackerStaOnlyMuon_perEvent
private

Definition at line 82 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_trackerStaOnlyMuon_perEvent_MCmatch

TH1D* ZMuMuPerformances::h_n_trackerStaOnlyMuon_perEvent_MCmatch
private

Definition at line 85 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_tracks_perEvent

TH1D * ZMuMuPerformances::h_n_tracks_perEvent
private

Definition at line 85 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_zMuMu_perEvent

TH1D* ZMuMuPerformances::h_n_zMuMu_perEvent
private

Definition at line 86 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_zMuSta_perEvent

TH1D * ZMuMuPerformances::h_n_zMuSta_perEvent
private

Definition at line 86 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_n_zMuTrack_perEvent

TH1D * ZMuMuPerformances::h_n_zMuTrack_perEvent
private

Definition at line 86 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_phiSta_wrongTrkCharge_ZMuMuTagged

TH1D* ZMuMuPerformances::h_phiSta_wrongTrkCharge_ZMuMuTagged
private

Definition at line 126 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_phiSta_wrongTrkCharge_ZMuStaTagged

TH1D* ZMuMuPerformances::h_phiSta_wrongTrkCharge_ZMuStaTagged
private

Definition at line 140 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_phiSta_ZMuMuTagged

TH1D * ZMuMuPerformances::h_phiSta_ZMuMuTagged
private

Definition at line 122 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_phiSta_ZMuStaTagged

TH1D * ZMuMuPerformances::h_phiSta_ZMuStaTagged
private

Definition at line 137 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_phiTrack_wrongStaCharge_ZMuMuTagged

TH1D* ZMuMuPerformances::h_phiTrack_wrongStaCharge_ZMuMuTagged
private

Definition at line 113 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_phiTrack_wrongStaCharge_ZMuTrackTagged

TH1D* ZMuMuPerformances::h_phiTrack_wrongStaCharge_ZMuTrackTagged
private

Definition at line 133 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_phiTrack_ZMuMuTagged

TH1D * ZMuMuPerformances::h_phiTrack_ZMuMuTagged
private

Definition at line 109 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_phiTrack_ZMuTrackTagged

TH1D * ZMuMuPerformances::h_phiTrack_ZMuTrackTagged
private

Definition at line 129 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptSta_wrongTrkCharge_ZMuMuTagged

TH1D * ZMuMuPerformances::h_ptSta_wrongTrkCharge_ZMuMuTagged
private

Definition at line 126 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptSta_wrongTrkCharge_ZMuStaTagged

TH1D * ZMuMuPerformances::h_ptSta_wrongTrkCharge_ZMuStaTagged
private

Definition at line 140 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptSta_ZMuMuTagged

TH1D * ZMuMuPerformances::h_ptSta_ZMuMuTagged
private

Definition at line 122 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptSta_ZMuStaTagged

TH1D * ZMuMuPerformances::h_ptSta_ZMuStaTagged
private

Definition at line 137 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged

TH1D * ZMuMuPerformances::h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged
private

Definition at line 117 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged

TH2D* ZMuMuPerformances::h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged
private

Definition at line 118 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged

TH2D* ZMuMuPerformances::h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged
private

Definition at line 119 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptTrack_wrongStaCharge_ZMuMuTagged

TH1D * ZMuMuPerformances::h_ptTrack_wrongStaCharge_ZMuMuTagged
private

Definition at line 113 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptTrack_wrongStaCharge_ZMuTrackTagged

TH1D * ZMuMuPerformances::h_ptTrack_wrongStaCharge_ZMuTrackTagged
private

Definition at line 133 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptTrack_ZMuMuTagged

TH1D * ZMuMuPerformances::h_ptTrack_ZMuMuTagged
private

Definition at line 109 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_ptTrack_ZMuTrackTagged

TH1D * ZMuMuPerformances::h_ptTrack_ZMuTrackTagged
private

Definition at line 129 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_TrackerMuonChargeTimeGenCharge

TH1D * ZMuMuPerformances::h_TrackerMuonChargeTimeGenCharge
private

Definition at line 92 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_TrackerMuonEtaMinusGenEta

TH1D * ZMuMuPerformances::h_TrackerMuonEtaMinusGenEta
private

Definition at line 94 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_TrackerMuonPtMinusGenPt

TH1D * ZMuMuPerformances::h_TrackerMuonPtMinusGenPt
private

Definition at line 94 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuMuMassOppositeSign

TH1D * ZMuMuPerformances::h_zMuMuMassOppositeSign
private

Definition at line 89 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuMuMassSameSign

TH1D* ZMuMuPerformances::h_zMuMuMassSameSign
private

Definition at line 89 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuMuMassSameSign_MCmatch

TH1D * ZMuMuPerformances::h_zMuMuMassSameSign_MCmatch
private

Definition at line 89 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuStaMass_correctStaCharge_ZMuMuTagged

TH1D* ZMuMuPerformances::h_zMuStaMass_correctStaCharge_ZMuMuTagged
private

Definition at line 117 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuStaMass_wrongTrkCharge_ZMuMuTagged

TH1D* ZMuMuPerformances::h_zMuStaMass_wrongTrkCharge_ZMuMuTagged
private

Definition at line 125 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuStaMass_wrongTrkCharge_ZMuStaTagged

TH1D* ZMuMuPerformances::h_zMuStaMass_wrongTrkCharge_ZMuStaTagged
private

Definition at line 139 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuStaMass_ZMuMuTagged

TH1D* ZMuMuPerformances::h_zMuStaMass_ZMuMuTagged
private

Definition at line 122 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuStaMass_ZMuStaTagged

TH1D* ZMuMuPerformances::h_zMuStaMass_ZMuStaTagged
private

Definition at line 137 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuTrackMass_wrongStaCharge_ZMuMuTagged

TH1D* ZMuMuPerformances::h_zMuTrackMass_wrongStaCharge_ZMuMuTagged
private

Definition at line 112 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged

TH1D* ZMuMuPerformances::h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged
private

Definition at line 132 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuTrackMass_ZMuMuTagged

TH1D* ZMuMuPerformances::h_zMuTrackMass_ZMuMuTagged
private

Definition at line 109 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ h_zMuTrackMass_ZMuTrackTagged

TH1D* ZMuMuPerformances::h_zMuTrackMass_ZMuTrackTagged
private

Definition at line 129 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ isomax_

double ZMuMuPerformances::isomax_
private

Definition at line 74 of file ZMuMuPerformances.cc.

Referenced by ZMuMuPerformances().

◆ isoMax_

double ZMuMuPerformances::isoMax_
private

Definition at line 76 of file ZMuMuPerformances.cc.

Referenced by ZMuMuPerformances().

◆ massMax_

double ZMuMuPerformances::massMax_
private

Definition at line 76 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ massMin_

double ZMuMuPerformances::massMin_
private

Definition at line 76 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ muonIsoToken_

EDGetTokenT<IsolationCollection> ZMuMuPerformances::muonIsoToken_
private

Definition at line 66 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ muonMatchMapToken_

EDGetTokenT<GenParticleMatch> ZMuMuPerformances::muonMatchMapToken_
private

Definition at line 65 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ muonsToken_

EDGetTokenT<CandidateView> ZMuMuPerformances::muonsToken_
private

Definition at line 64 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ n_correctStaCharge_ZMuMutagged

int ZMuMuPerformances::n_correctStaCharge_ZMuMutagged
private

Definition at line 150 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_correctStaCharge_ZMuTracktagged

int ZMuMuPerformances::n_correctStaCharge_ZMuTracktagged
private

Definition at line 158 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_correctTrkCharge_ZMuMutagged

int ZMuMuPerformances::n_correctTrkCharge_ZMuMutagged
private

Definition at line 154 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_correctTrkCharge_ZMuStatagged

int ZMuMuPerformances::n_correctTrkCharge_ZMuStatagged
private

Definition at line 163 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_goodSta_ZMuMutagged

int ZMuMuPerformances::n_goodSta_ZMuMutagged
private

Definition at line 153 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_goodSta_ZMuStatagged

int ZMuMuPerformances::n_goodSta_ZMuStatagged
private

Definition at line 162 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_goodTrack_ZMuMutagged

int ZMuMuPerformances::n_goodTrack_ZMuMutagged
private

Definition at line 149 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_goodTrack_ZMuTracktagged

int ZMuMuPerformances::n_goodTrack_ZMuTracktagged
private

Definition at line 157 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_MultipleGoodZMuTrack

int ZMuMuPerformances::n_MultipleGoodZMuTrack
private

Definition at line 168 of file ZMuMuPerformances.cc.

Referenced by ZMuMuPerformances().

◆ n_OneGoodZMuTrack

int ZMuMuPerformances::n_OneGoodZMuTrack
private

Definition at line 167 of file ZMuMuPerformances.cc.

Referenced by ZMuMuPerformances().

◆ n_StaNotFound_ZMuTracktagged

int ZMuMuPerformances::n_StaNotFound_ZMuTracktagged
private

Definition at line 160 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_TrkNotFound_ZMuStatagged

int ZMuMuPerformances::n_TrkNotFound_ZMuStatagged
private

Definition at line 165 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_wrongStaCharge_ZMuMutagged

int ZMuMuPerformances::n_wrongStaCharge_ZMuMutagged
private

Definition at line 151 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_wrongStaCharge_ZMuTracktagged

int ZMuMuPerformances::n_wrongStaCharge_ZMuTracktagged
private

Definition at line 159 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_wrongTrkCharge_ZMuMutagged

int ZMuMuPerformances::n_wrongTrkCharge_ZMuMutagged
private

Definition at line 155 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_wrongTrkCharge_ZMuStatagged

int ZMuMuPerformances::n_wrongTrkCharge_ZMuStatagged
private

Definition at line 164 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ n_ZMuStaTaggedMatched

int ZMuMuPerformances::n_ZMuStaTaggedMatched
private

Definition at line 170 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ noCut_

bool ZMuMuPerformances::noCut_
private

Definition at line 71 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ numberOfMatchedZMuSta_

int ZMuMuPerformances::numberOfMatchedZMuSta_
private

Definition at line 169 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ nZMuMuSameSign

int ZMuMuPerformances::nZMuMuSameSign
private

Definition at line 146 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ nZMuMuSameSign_mcMatched

int ZMuMuPerformances::nZMuMuSameSign_mcMatched
private

Definition at line 147 of file ZMuMuPerformances.cc.

Referenced by analyze(), endJob(), and ZMuMuPerformances().

◆ overlap_

OverlapChecker ZMuMuPerformances::overlap_
private

Definition at line 79 of file ZMuMuPerformances.cc.

◆ ptmaxMinus_

double ZMuMuPerformances::ptmaxMinus_
private

Definition at line 74 of file ZMuMuPerformances.cc.

◆ ptmaxPlus_

double ZMuMuPerformances::ptmaxPlus_
private

Definition at line 73 of file ZMuMuPerformances.cc.

◆ ptmin_

double ZMuMuPerformances::ptmin_
private

Definition at line 76 of file ZMuMuPerformances.cc.

Referenced by analyze(), and ZMuMuPerformances().

◆ ptminMinus_

double ZMuMuPerformances::ptminMinus_
private

Definition at line 74 of file ZMuMuPerformances.cc.

◆ ptminPlus_

double ZMuMuPerformances::ptminPlus_
private

Definition at line 73 of file ZMuMuPerformances.cc.

Referenced by ZMuMuPerformances().

◆ standAloneMuonCandRef_

reco::CandidateBaseRef ZMuMuPerformances::standAloneMuonCandRef_
private

Definition at line 78 of file ZMuMuPerformances.cc.

◆ totalNumberOfZfound

int ZMuMuPerformances::totalNumberOfZfound
private

Definition at line 143 of file ZMuMuPerformances.cc.

Referenced by endJob(), and ZMuMuPerformances().

◆ totalNumberOfZpassed

int ZMuMuPerformances::totalNumberOfZpassed
private

Definition at line 144 of file ZMuMuPerformances.cc.

Referenced by endJob(), and ZMuMuPerformances().

◆ trackIsoToken_

EDGetTokenT<IsolationCollection> ZMuMuPerformances::trackIsoToken_
private

Definition at line 68 of file ZMuMuPerformances.cc.

◆ trackMuonCandRef_

reco::CandidateBaseRef ZMuMuPerformances::trackMuonCandRef_
private

Definition at line 78 of file ZMuMuPerformances.cc.

◆ tracksToken_

EDGetTokenT<CandidateView> ZMuMuPerformances::tracksToken_
private

Definition at line 67 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ zMassMax_

double ZMuMuPerformances::zMassMax_
private

Definition at line 72 of file ZMuMuPerformances.cc.

Referenced by ZMuMuPerformances().

◆ zMassMin_

double ZMuMuPerformances::zMassMin_
private

Definition at line 72 of file ZMuMuPerformances.cc.

Referenced by ZMuMuPerformances().

◆ zMuMuMatchMapToken_

EDGetTokenT<GenParticleMatch> ZMuMuPerformances::zMuMuMatchMapToken_
private

Definition at line 59 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ zMuMuToken_

EDGetTokenT<CandidateView> ZMuMuPerformances::zMuMuToken_
private

Definition at line 58 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ zMuStandAloneMatchMapToken_

EDGetTokenT<GenParticleMatch> ZMuMuPerformances::zMuStandAloneMatchMapToken_
private

Definition at line 63 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ zMuStandAloneToken_

EDGetTokenT<CandidateView> ZMuMuPerformances::zMuStandAloneToken_
private

Definition at line 62 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ zMuTrackMatchMapToken_

EDGetTokenT<GenParticleMatch> ZMuMuPerformances::zMuTrackMatchMapToken_
private

Definition at line 61 of file ZMuMuPerformances.cc.

Referenced by analyze().

◆ zMuTrackToken_

EDGetTokenT<CandidateView> ZMuMuPerformances::zMuTrackToken_
private

Definition at line 60 of file ZMuMuPerformances.cc.

Referenced by analyze().

ZMuMuPerformances::h_DRTrack_ZMuTrackTagged
TH1D * h_DRTrack_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:129
ZMuMuPerformances::h_zMuMuMassSameSign_MCmatch
TH1D * h_zMuMuMassSameSign_MCmatch
Definition: ZMuMuPerformances.cc:89
ZMuMuPerformances::h_phiSta_ZMuMuTagged
TH1D * h_phiSta_ZMuMuTagged
Definition: ZMuMuPerformances.cc:122
ZMuMuPerformances::h_GlobalMuonStaComponentPtMinusGenPt
TH1D * h_GlobalMuonStaComponentPtMinusGenPt
Definition: ZMuMuPerformances.cc:95
ZMuMuPerformances::isomax_
double isomax_
Definition: ZMuMuPerformances.cc:74
reco::Candidate::daughter
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode)
ZMuMuPerformances::n_wrongTrkCharge_ZMuStatagged
int n_wrongTrkCharge_ZMuStatagged
Definition: ZMuMuPerformances.cc:164
ZMuMuPerformances::n_correctStaCharge_ZMuTracktagged
int n_correctStaCharge_ZMuTracktagged
Definition: ZMuMuPerformances.cc:158
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
ZMuMuPerformances::h_zMuTrackMass_ZMuMuTagged
TH1D * h_zMuTrackMass_ZMuMuTagged
Definition: ZMuMuPerformances.cc:109
ZMuMuPerformances::getParticleP4
Particle::LorentzVector getParticleP4(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
Definition: ZMuMuPerformances.cc:1323
ZMuMuPerformances::h_DEtaGlobalGenvsEtaGen_ZMuMuTagged
TH2D * h_DEtaGlobalGenvsEtaGen_ZMuMuTagged
Definition: ZMuMuPerformances.cc:103
ZMuMuPerformances::h_ptTrack_ZMuMuTagged
TH1D * h_ptTrack_ZMuMuTagged
Definition: ZMuMuPerformances.cc:109
reco::CombinedMuonTag
conbined muon component tag
Definition: RecoCandidate.h:79
ZMuMuPerformances::h_phiTrack_wrongStaCharge_ZMuTrackTagged
TH1D * h_phiTrack_wrongStaCharge_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:133
ZMuMuPerformances::h_DEtaGlobalStaComponentGenvsEtaGen
TH2D * h_DEtaGlobalStaComponentGenvsEtaGen
Definition: ZMuMuPerformances.cc:96
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
ZMuMuPerformances::h_phiTrack_wrongStaCharge_ZMuMuTagged
TH1D * h_phiTrack_wrongStaCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:113
mps_fire.i
i
Definition: mps_fire.py:428
ZMuMuPerformances::etamaxMinus_
double etamaxMinus_
Definition: ZMuMuPerformances.cc:74
ZMuMuPerformances::n_goodTrack_ZMuTracktagged
int n_goodTrack_ZMuTracktagged
Definition: ZMuMuPerformances.cc:157
genParticles2HepMC_cfi.genParticles
genParticles
Definition: genParticles2HepMC_cfi.py:4
ZMuMuAnalysisNtupler_cff.zMuMu
zMuMu
zMuMu vector of PSet is common to all categories except zMuTrk category
Definition: ZMuMuAnalysisNtupler_cff.py:340
edm::View::empty
bool empty() const
ZMuMuPerformances::h_ptSta_ZMuMuTagged
TH1D * h_ptSta_ZMuMuTagged
Definition: ZMuMuPerformances.cc:122
ZMuMuPerformances::h_zMuStaMass_ZMuStaTagged
TH1D * h_zMuStaMass_ZMuStaTagged
Definition: ZMuMuPerformances.cc:137
ZMuMuPerformances::h_n_staOnlyMuon_perEvent
TH1D * h_n_staOnlyMuon_perEvent
Definition: ZMuMuPerformances.cc:82
muon
Definition: MuonCocktails.h:17
ZMuMuPerformances::h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged
TH2D * h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:118
ZMuMuPerformances::muonsToken_
EDGetTokenT< CandidateView > muonsToken_
Definition: ZMuMuPerformances.cc:64
ZMuMuPerformances::genParticlesToken_
EDGetTokenT< GenParticleCollection > genParticlesToken_
Definition: ZMuMuPerformances.cc:69
reco::Candidate::mass
virtual double mass() const =0
mass
edm::View::refAt
RefToBase< value_type > refAt(size_type i) const
ZMuMuPerformances::n_wrongTrkCharge_ZMuMutagged
int n_wrongTrkCharge_ZMuMutagged
Definition: ZMuMuPerformances.cc:155
ZMuMuPerformances::n_OneGoodZMuTrack
int n_OneGoodZMuTrack
Definition: ZMuMuPerformances.cc:167
reco::Candidate::eta
virtual double eta() const =0
momentum pseudorapidity
ZMuMuPerformances::h_TrackerMuonEtaMinusGenEta
TH1D * h_TrackerMuonEtaMinusGenEta
Definition: ZMuMuPerformances.cc:94
gather_cfg.cout
cout
Definition: gather_cfg.py:144
ZMuMuPerformances::h_etaTrack_ZMuTrackTagged
TH1D * h_etaTrack_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:129
ZMuMuPerformances::h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged
TH1D * h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged
Definition: ZMuMuPerformances.cc:102
ZMuMuPerformances::ptminMinus_
double ptminMinus_
Definition: ZMuMuPerformances.cc:74
ZMuMuPerformances::getParticleEta
float getParticleEta(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
Definition: ZMuMuPerformances.cc:1253
ZMuMuPerformances::h_etaSta_ZMuMuTagged
TH1D * h_etaSta_ZMuMuTagged
Definition: ZMuMuPerformances.cc:122
ZMuMuPerformances::ptmaxMinus_
double ptmaxMinus_
Definition: ZMuMuPerformances.cc:74
ZMuMuPerformances::h_DPtTrackGenvsPtGen_ZMuMuTagged
TH2D * h_DPtTrackGenvsPtGen_ZMuMuTagged
Definition: ZMuMuPerformances.cc:106
reco::Candidate::pt
virtual double pt() const =0
transverse momentum
ZMuMuPerformances::h_DPtGlobalStaComponentGenvsPtGen
TH2D * h_DPtGlobalStaComponentGenvsPtGen
Definition: ZMuMuPerformances.cc:96
ZMuMuPerformances::h_ptSta_ZMuStaTagged
TH1D * h_ptSta_ZMuStaTagged
Definition: ZMuMuPerformances.cc:137
reco::Candidate::get
T get() const
get a component
Definition: Candidate.h:221
ZMuMuPerformances::h_ptTrack_wrongStaCharge_ZMuMuTagged
TH1D * h_ptTrack_wrongStaCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:113
reco::Candidate::status
virtual int status() const =0
status word
ZMuMuPerformances::ptmin_
double ptmin_
Definition: ZMuMuPerformances.cc:76
ZMuMuPerformances::h_n_trackerStaOnlyMuon_perEvent_MCmatch
TH1D * h_n_trackerStaOnlyMuon_perEvent_MCmatch
Definition: ZMuMuPerformances.cc:85
ZMuMuPerformances::h_zMuMuMassSameSign
TH1D * h_zMuMuMassSameSign
Definition: ZMuMuPerformances.cc:89
ZMuMuPerformances::h_n_tracks_perEvent
TH1D * h_n_tracks_perEvent
Definition: ZMuMuPerformances.cc:85
ZMuMuPerformances::h_phiSta_wrongTrkCharge_ZMuMuTagged
TH1D * h_phiSta_wrongTrkCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:126
ZMuMuPerformances::etamax_
double etamax_
Definition: ZMuMuPerformances.cc:76
edm::Handle
Definition: AssociativeIterator.h:50
ZMuMuPerformances::n_goodSta_ZMuMutagged
int n_goodSta_ZMuMutagged
Definition: ZMuMuPerformances.cc:153
ZMuMuPerformances::zMassMax_
double zMassMax_
Definition: ZMuMuPerformances.cc:72
reco::Muon
Definition: Muon.h:27
edm::Ref< TrackCollection >
ZMuMuPerformances::h_DPtGlobalGenvsEtaGen_ZMuMuTagged
TH2D * h_DPtGlobalGenvsEtaGen_ZMuMuTagged
Definition: ZMuMuPerformances.cc:105
muonMatch_cfi.muonMatch
muonMatch
Definition: muonMatch_cfi.py:8
testProducerWithPsetDescEmpty_cfi.a2
a2
Definition: testProducerWithPsetDescEmpty_cfi.py:35
edmScanValgrind.buffer
buffer
Definition: edmScanValgrind.py:171
ZMuMuPerformances::massMin_
double massMin_
Definition: ZMuMuPerformances.cc:76
ZMuMuPerformances::h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged
TH1D * h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:117
ZMuMuPerformances::zMuTrackToken_
EDGetTokenT< CandidateView > zMuTrackToken_
Definition: ZMuMuPerformances.cc:60
ZMuMuPerformances::n_StaNotFound_ZMuTracktagged
int n_StaNotFound_ZMuTracktagged
Definition: ZMuMuPerformances.cc:160
ZMuMuPerformances::h_etaTrack_wrongStaCharge_ZMuMuTagged
TH1D * h_etaTrack_wrongStaCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:112
ZMuMuPerformances::check_ifZmumu
bool check_ifZmumu(const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
Definition: ZMuMuPerformances.cc:1202
ZMuMuPerformances::h_n_trackerOnlyMuon_perEvent
TH1D * h_n_trackerOnlyMuon_perEvent
Definition: ZMuMuPerformances.cc:82
ZMuMuPerformances::h_zMuStaMass_wrongTrkCharge_ZMuStaTagged
TH1D * h_zMuStaMass_wrongTrkCharge_ZMuStaTagged
Definition: ZMuMuPerformances.cc:139
reco::StandAloneMuonTag
stand alone muon component tag
Definition: RecoCandidate.h:77
ZMuMuPerformances::h_DRSta_wrongTrkCharge_ZMuMuTagged
TH1D * h_DRSta_wrongTrkCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:126
ZMuMuPerformances::h_DRTrack_wrongStaCharge_ZMuTrackTagged
TH1D * h_DRTrack_wrongStaCharge_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:133
ZMuMuPerformances::h_zMuTrackMass_ZMuTrackTagged
TH1D * h_zMuTrackMass_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:129
reco::Candidate::charge
virtual int charge() const =0
electric charge
ZMuMuPerformances::h_zMuMuMassOppositeSign
TH1D * h_zMuMuMassOppositeSign
Definition: ZMuMuPerformances.cc:89
ZMuMuPerformances::n_MultipleGoodZMuTrack
int n_MultipleGoodZMuTrack
Definition: ZMuMuPerformances.cc:168
ZMuMuPerformances::getParticlePt
float getParticlePt(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
Definition: ZMuMuPerformances.cc:1218
ZMuMuPerformances::h_DPtTrackGenvsEtaGen_ZMuMuTagged
TH2D * h_DPtTrackGenvsEtaGen_ZMuMuTagged
Definition: ZMuMuPerformances.cc:106
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
ZMuMuPerformances::nZMuMuSameSign
int nZMuMuSameSign
Definition: ZMuMuPerformances.cc:146
ZMuMuPerformances::etamaxPlus_
double etamaxPlus_
Definition: ZMuMuPerformances.cc:73
reco::Candidate::isStandAloneMuon
virtual bool isStandAloneMuon() const =0
ZMuMuPerformances::h_GlobalMuonStaComponentEtaMinusGenEta
TH1D * h_GlobalMuonStaComponentEtaMinusGenEta
Definition: ZMuMuPerformances.cc:95
ZMuMuPerformances::numberOfMatchedZMuSta_
int numberOfMatchedZMuSta_
Definition: ZMuMuPerformances.cc:169
ZMuMuPerformances::zMuStandAloneMatchMapToken_
EDGetTokenT< GenParticleMatch > zMuStandAloneMatchMapToken_
Definition: ZMuMuPerformances.cc:63
reco::Candidate::numberOfDaughters
virtual size_type numberOfDaughters() const =0
number of daughters
ZMuMuPerformances::noCut_
bool noCut_
Definition: ZMuMuPerformances.cc:71
ZMuMuPerformances::zMuTrackMatchMapToken_
EDGetTokenT< GenParticleMatch > zMuTrackMatchMapToken_
Definition: ZMuMuPerformances.cc:61
dqmdumpme.k
k
Definition: dqmdumpme.py:60
ZMuMuPerformances::h_n_globalMuon_perEvent_MCmatch
TH1D * h_n_globalMuon_perEvent_MCmatch
Definition: ZMuMuPerformances.cc:84
ZMuMuPerformances::h_zMuStaMass_correctStaCharge_ZMuMuTagged
TH1D * h_zMuStaMass_correctStaCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:117
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
reco::TrackRef
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
ZMuMuPerformances::n_ZMuStaTaggedMatched
int n_ZMuStaTaggedMatched
Definition: ZMuMuPerformances.cc:170
edm::View::size
size_type size() const
ZMuMuPerformances::h_zMuStaMass_wrongTrkCharge_ZMuMuTagged
TH1D * h_zMuStaMass_wrongTrkCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:125
ZMuMuPerformances::n_goodSta_ZMuStatagged
int n_goodSta_ZMuStatagged
Definition: ZMuMuPerformances.cc:162
ZMuMuPerformances::h_phiSta_ZMuStaTagged
TH1D * h_phiSta_ZMuStaTagged
Definition: ZMuMuPerformances.cc:137
ZMuMuPerformances::zMassMin_
double zMassMin_
Definition: ZMuMuPerformances.cc:72
ZMuMuPerformances::muonMatchMapToken_
EDGetTokenT< GenParticleMatch > muonMatchMapToken_
Definition: ZMuMuPerformances.cc:65
ZMuMuPerformances::h_GlobalMuonEtaMinusGenEta_ZMuMuTagged
TH1D * h_GlobalMuonEtaMinusGenEta_ZMuMuTagged
Definition: ZMuMuPerformances.cc:100
ZMuMuPerformances::h_DPtGlobalGenvsPtGen
TH2D * h_DPtGlobalGenvsPtGen
Definition: ZMuMuPerformances.cc:96
jetfilter_cfi.ptCut
ptCut
Definition: jetfilter_cfi.py:6
fftjetproducer_cfi.etaCut
etaCut
Definition: fftjetproducer_cfi.py:168
ZMuMuPerformances::h_DRTrack_wrongStaCharge_ZMuMuTagged
TH1D * h_DRTrack_wrongStaCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:113
ZMuMuPerformances::h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged
TH2D * h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:119
ZMuMuPerformances::h_n_trackerStaOnlyMuon_perEvent
TH1D * h_n_trackerStaOnlyMuon_perEvent
Definition: ZMuMuPerformances.cc:82
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
ZMuMuPerformances::h_GlobalMuonPtMinusGenPt_ZMuMuTagged
TH1D * h_GlobalMuonPtMinusGenPt_ZMuMuTagged
Definition: ZMuMuPerformances.cc:101
edm::Service< TFileService >
ZMuMuPerformances::h_n_staOnlyMuon_perEvent_MCmatch
TH1D * h_n_staOnlyMuon_perEvent_MCmatch
Definition: ZMuMuPerformances.cc:84
ZMuMuPerformances::n_wrongStaCharge_ZMuMutagged
int n_wrongStaCharge_ZMuMutagged
Definition: ZMuMuPerformances.cc:151
ZMuMuPerformances::muonIsoToken_
EDGetTokenT< IsolationCollection > muonIsoToken_
Definition: ZMuMuPerformances.cc:66
ZMuMuPerformances::tracksToken_
EDGetTokenT< CandidateView > tracksToken_
Definition: ZMuMuPerformances.cc:67
ZMuMuPerformances::h_GlobalMuonPtMinusGenPt
TH1D * h_GlobalMuonPtMinusGenPt
Definition: ZMuMuPerformances.cc:94
ZMuMuPerformances::h_n_zMuSta_perEvent
TH1D * h_n_zMuSta_perEvent
Definition: ZMuMuPerformances.cc:86
ZMuMuPerformances::zMuStandAloneToken_
EDGetTokenT< CandidateView > zMuStandAloneToken_
Definition: ZMuMuPerformances.cc:62
ZMuMuPerformances::zMuMuMatchMapToken_
EDGetTokenT< GenParticleMatch > zMuMuMatchMapToken_
Definition: ZMuMuPerformances.cc:59
ZMuMuPerformances::h_DEtaGlobalGenvsEtaGen
TH2D * h_DEtaGlobalGenvsEtaGen
Definition: ZMuMuPerformances.cc:96
ZMuMuPerformances::h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged
TH2D * h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged
Definition: ZMuMuPerformances.cc:105
ZMuMuPerformances::h_ptTrack_ZMuTrackTagged
TH1D * h_ptTrack_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:129
reco::Candidate::pdgId
virtual int pdgId() const =0
PDG identifier.
ZMuMuPerformances::h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged
TH2D * h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged
Definition: ZMuMuPerformances.cc:104
ZMuMuPerformances::totalNumberOfZfound
int totalNumberOfZfound
Definition: ZMuMuPerformances.cc:143
ZMuMuPerformances::h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged
TH1D * h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:132
ZMuMuPerformances::n_correctTrkCharge_ZMuStatagged
int n_correctTrkCharge_ZMuStatagged
Definition: ZMuMuPerformances.cc:163
ZMuMuPerformances::h_DPtGlobalGenvsPtGen_ZMuMuTagged
TH2D * h_DPtGlobalGenvsPtGen_ZMuMuTagged
Definition: ZMuMuPerformances.cc:103
ZMuMuPerformances::isoMax_
double isoMax_
Definition: ZMuMuPerformances.cc:76
reco::Candidate
Definition: Candidate.h:27
ZMuMuPerformances::h_zMuTrackMass_wrongStaCharge_ZMuMuTagged
TH1D * h_zMuTrackMass_wrongStaCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:112
reco::JetExtendedAssociation::LorentzVector
math::PtEtaPhiELorentzVectorF LorentzVector
Definition: JetExtendedAssociation.h:25
ZMuMuPerformances::massMax_
double massMax_
Definition: ZMuMuPerformances.cc:76
ZMuMuPerformances::h_n_globalMuon_perEvent
TH1D * h_n_globalMuon_perEvent
Definition: ZMuMuPerformances.cc:82
ZMuMuPerformances::n_correctStaCharge_ZMuMutagged
int n_correctStaCharge_ZMuMutagged
Definition: ZMuMuPerformances.cc:150
ZMuMuPerformances::h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged
TH1D * h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged
Definition: ZMuMuPerformances.cc:102
ZMuMuPerformances::h_DRTrack_ZMuMuTagged
TH1D * h_DRTrack_ZMuMuTagged
Definition: ZMuMuPerformances.cc:109
ZMuMuPerformances::h_etaSta_ZMuStaTagged
TH1D * h_etaSta_ZMuStaTagged
Definition: ZMuMuPerformances.cc:137
ZMuMuPerformances::totalNumberOfZpassed
int totalNumberOfZpassed
Definition: ZMuMuPerformances.cc:144
ZMuMuPerformances::n_goodTrack_ZMuMutagged
int n_goodTrack_ZMuMutagged
Definition: ZMuMuPerformances.cc:149
ZMuMuPerformances::h_phiSta_wrongTrkCharge_ZMuStaTagged
TH1D * h_phiSta_wrongTrkCharge_ZMuStaTagged
Definition: ZMuMuPerformances.cc:140
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
ZMuMuPerformances::h_phiTrack_ZMuTrackTagged
TH1D * h_phiTrack_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:129
ZMuMuPerformances::h_etaTrack_ZMuMuTagged
TH1D * h_etaTrack_ZMuMuTagged
Definition: ZMuMuPerformances.cc:109
EgHLTOffHistBins_cfi.mass
mass
Definition: EgHLTOffHistBins_cfi.py:34
ZMuMuPerformances::etaminPlus_
double etaminPlus_
Definition: ZMuMuPerformances.cc:73
ZMuMuPerformances::n_correctTrkCharge_ZMuMutagged
int n_correctTrkCharge_ZMuMutagged
Definition: ZMuMuPerformances.cc:154
ZMuMuPerformances::ptmaxPlus_
double ptmaxPlus_
Definition: ZMuMuPerformances.cc:73
ZMuMuPerformances::h_TrackerMuonChargeTimeGenCharge
TH1D * h_TrackerMuonChargeTimeGenCharge
Definition: ZMuMuPerformances.cc:92
ZMuMuPerformances::nZMuMuSameSign_mcMatched
int nZMuMuSameSign_mcMatched
Definition: ZMuMuPerformances.cc:147
edm::RefToBase< Candidate >
ZMuMuPerformances::zMuMuToken_
EDGetTokenT< CandidateView > zMuMuToken_
Definition: ZMuMuPerformances.cc:58
reco::Candidate::masterClone
virtual const CandidateBaseRef & masterClone() const =0
reco::Candidate::p4
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
ZMuMuPerformances::h_n_trackerOnlyMuon_perEvent_MCmatch
TH1D * h_n_trackerOnlyMuon_perEvent_MCmatch
Definition: ZMuMuPerformances.cc:84
ZMuMuPerformances::h_DRSta_ZMuMuTagged
TH1D * h_DRSta_ZMuMuTagged
Definition: ZMuMuPerformances.cc:122
reco::Candidate::isTrackerMuon
virtual bool isTrackerMuon() const =0
ZMuMuPerformances::h_GlobalMuonEtaMinusGenEta
TH1D * h_GlobalMuonEtaMinusGenEta
Definition: ZMuMuPerformances.cc:94
ZMuMuPerformances::h_GlobalMuonChargeTimeGenCharge
TH1D * h_GlobalMuonChargeTimeGenCharge
Definition: ZMuMuPerformances.cc:92
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
ZMuMuPerformances::h_zMuStaMass_ZMuMuTagged
TH1D * h_zMuStaMass_ZMuMuTagged
Definition: ZMuMuPerformances.cc:122
ZMuMuPerformances::n_TrkNotFound_ZMuStatagged
int n_TrkNotFound_ZMuStatagged
Definition: ZMuMuPerformances.cc:165
ZMuMuPerformances::h_n_zMuMu_perEvent
TH1D * h_n_zMuMu_perEvent
Definition: ZMuMuPerformances.cc:86
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
ZMuMuPerformances::h_etaSta_wrongTrkCharge_ZMuMuTagged
TH1D * h_etaSta_wrongTrkCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:125
ZMuMuPerformances::etaminMinus_
double etaminMinus_
Definition: ZMuMuPerformances.cc:74
ZMuMuPerformances::h_etaTrack_wrongStaCharge_ZMuTrackTagged
TH1D * h_etaTrack_wrongStaCharge_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:132
ZMuMuPerformances::h_ptTrack_wrongStaCharge_ZMuTrackTagged
TH1D * h_ptTrack_wrongStaCharge_ZMuTrackTagged
Definition: ZMuMuPerformances.cc:133
reco::Candidate::phi
virtual double phi() const =0
momentum azimuthal angle
ZMuMuPerformances::n_wrongStaCharge_ZMuTracktagged
int n_wrongStaCharge_ZMuTracktagged
Definition: ZMuMuPerformances.cc:159
ZMuMuPerformances::h_ptSta_wrongTrkCharge_ZMuMuTagged
TH1D * h_ptSta_wrongTrkCharge_ZMuMuTagged
Definition: ZMuMuPerformances.cc:126
ZMuMuPerformances::h_etaSta_wrongTrkCharge_ZMuStaTagged
TH1D * h_etaSta_wrongTrkCharge_ZMuStaTagged
Definition: ZMuMuPerformances.cc:139
ZMuMuPerformances::h_ptSta_wrongTrkCharge_ZMuStaTagged
TH1D * h_ptSta_wrongTrkCharge_ZMuStaTagged
Definition: ZMuMuPerformances.cc:140
ZMuMuPerformances::h_TrackerMuonPtMinusGenPt
TH1D * h_TrackerMuonPtMinusGenPt
Definition: ZMuMuPerformances.cc:94
ZMuMuPerformances::h_n_zMuTrack_perEvent
TH1D * h_n_zMuTrack_perEvent
Definition: ZMuMuPerformances.cc:86
reco::Candidate::isGlobalMuon
virtual bool isGlobalMuon() const =0
edm::InputTag
Definition: InputTag.h:15
ZMuMuPerformances::trackIsoToken_
EDGetTokenT< IsolationCollection > trackIsoToken_
Definition: ZMuMuPerformances.cc:68
ZMuMuPerformances::h_phiTrack_ZMuMuTagged
TH1D * h_phiTrack_ZMuMuTagged
Definition: ZMuMuPerformances.cc:109
ZMuMuPerformances::ptminPlus_
double ptminPlus_
Definition: ZMuMuPerformances.cc:73
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
ZMuMuPerformances::h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged
TH2D * h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged
Definition: ZMuMuPerformances.cc:104